Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Comparing two images from different sources

Îåêßíçóå áðü ôï ìÝëïò bull. Τελευταία δημοσίευση από το μέλος bull στις 10-10-2012, 12:35. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-10-2012, 16:13 71371

    Comparing two images from different sources

    Γεια σας :)

    Είναι μια εφαρμογή γραμμένη σε .NET που δείχνει τα προϊόντα και την εικόνα τους με διάφορες πληροφορίες κλπ. Η εφαρμογή αυτή διαβάζει τα στοιχεία από το εταιρικό ERP καθώς και τις εικόνες από BLOB πεδίο και τα αποθηκεύει τοπικά σε .jpg αρχεία. Η βασική της χρήση γίνεται από χρήστες που βρίσκονται εκτός εταιρείας και ενημερώνουν την τοπική βάση της εφαρμογής μέσω 3G connection (USB stick).

    Το ζητούμενο είναι το εξής: κατά την ενημέρωση, πώς να συγκρίνω τις 2 πηγές (BLOB vs. JPG) αν έχουν την ίδια εικόνα ώστε να ξέρω αν θα την αντικαταστήσω ή απλά θα προχωρήσω στην επόμενη σύγκριση, ώστε να αποφύγω το extra traffic? Κάποιο header comparison ή κάτι παρόμοιο... έχει κάνεις κάτι κατά νου;


    Ευχαριστώ εκ των προτέρων..
    VI
    Δημοσίευση στην κατηγορία:
  •  10-10-2012, 10:18 71379 σε απάντηση της 71371

    Απ: Comparing two images from different sources

    Πάααααλι το Navision Stick out tongueStick out tongueStick out tongue? Τί γίνεται με αυτόν τον pardner ρε παιδί? Ποιός κάνει τη δουλειά ποιού? Stick out tongueStick out tongueStick out tongueDevilDevilDevil

    Υποθέτω ότι οι εικόνες που θέλεις να συγκρίνεις προέρχονται πάντα από το ERP και απλά θέλεις να δεις αν μία νέα εικόνα που εμφανίστηκε στο server υπάρχει και στον client. Διαφορετικά, τα πράγματα είναι κομματάκι δύσκολα γιατί τα binaries θα είναι διαφορετικά ακόμα και αν δείχνουν το ίδιο προϊόν.

    Αν λοιπόν μιλάμε για περίπτωση synchronization, έχεις διάφορες επιλογές.

    Καταρχήν, μπορείς να χρησιμοποιήσεις κάποια λύση του στυλ BranchCache ή DFS-R, ή ακόμα και offline caching κάποιων shared folders για να αφήσεις τα ίδια τα λειτουργικά να κάνουν το synchronization και να μεταφέρουν μόνο τα δεδομένα που έχουν αλλάξει. Σε περιπτώσεις κειμένων ή PDF μάλιστα, θα γλυτώσεις bandwidth και από το differential sync που χρησιμοποιούν τα Windows. Εσύ ως IT ξέρεις προφανώς καλύτερα πως να το κάνεις αυτό Stick out tongue αλλά δεν ξέρω πόσο "φλύαρες" είναι αυτές οι τεχνολογίες και τί μπορεί να σου κοστίσουν πάνω από 3G.

    Μία άλλη λύση είναι να κρατάς κάπου το hash κάθε εικόνας και ο κάθε client να συγκρίνει τα hashes των εικόνων του με τα hashes που θα κατεβάζει από το server. Αν τα hashes διαφέρουν, κατεβάζεις τις αντίστοιχες εικόνες. Αυτή είναι η τεχνική που ακολουθούν χονδρικά όλα τα προγράμματα sync με πολλά optimization προφανώς (Dropbox, προφανώς Πίθος, Cyberduck, άπειρα άλλα) . Στην περίπτωση σου αρκεί να κρατάς όλα τα hashes και ονόματα αρχείων σε ένα αρχείο, κατά προτίμηση zipped, το οποίο θα κατεβάζουν και θα διαβάζουν οι clients.

    Μπορείς να πας ένα βήμα παραπέρα σε αυτή τη λύση και να ανεβάσεις τα αρχεία σε κάποιο cloud storage το οποίο θα παρέχει αυτόματα τα hashes, όπως το S3, Azure ή CloudFiles. Το Cyberduck ελέγχει αυτόματα τα MD5 hashes που παρέχουν αυτές οι υπηρεσίες και κατεβάζει μόνο τα αρχεία που άλλαξαν. Εναλλακτικά, μπορείς εύκολα να φτιάξεις μία εφαρμογή που θα χρησιμοποιεί το αντίστοιχο API για να κάνει το sync με αυτές τις υπηρεσίες. 

    Το σημαντικό σε αυτή την περίπτωση είναι ότι γλυτώνεις θέματα bandwidth, connectivity και availability του server. 

    Τέλος, μπορείς να πας ένα βήμα παραπέρα και να χρησιμοποιήσεις απευθείας μία υπηρεσία όπως το Dropbox ή το Live Sync για να ανεβάσεις τα αρχεία στην υπηρεσία και να αφήσεις το αντίστοιχο client να κάνει το synchronization όποτε υπάρχει σύνδεση.  Το DropBox μάλιστα έχει και HTTP API με το οποίο μπορείς να διαχειριστείς τις εικόνες και να τις μοιράσεις στα client accounts εύκολα. Ο O'Reilly χρησιμοποιεί ήδη αυτό τον τρόπο για να σου στείλει τα ebook που αγοράζεις στο Dropbox account σου.

    Φυσικά υπάρχει και ο Πίθος, αλλά δεν νομίζω ότι μπορείς να τους πείσεις ότι είσαι ακόμα φοιτητής ...... Stick out tongue

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-10-2012, 12:35 71382 σε απάντηση της 71379

    Wink [;)] Απ: Comparing two images from different sources

    Φίλε μου Παναγιώτη, για άλλη μια φορά έγραψες! ;-)

    Για να "παίξω" λίγο (γιατί βαριέμαι κιόλας αν δεν γράφω λίγο κώδικα) θα πάω με τα hashes :-)

    Το σχόλιο σου περί δεν μπορώ να περάσω για φοιτητής το αντιπαρέρχομαι :-P Thx mate!
    VI
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems