Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Επεξεργασία και δρομολόγηση XML ερωτήσεων σε συστήματα ομότιμων κόμβων Μαρίνα Δρόσου Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Αύγουστος 2006.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Επεξεργασία και δρομολόγηση XML ερωτήσεων σε συστήματα ομότιμων κόμβων Μαρίνα Δρόσου Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Αύγουστος 2006."— Μεταγράφημα παρουσίασης:

1 Επεξεργασία και δρομολόγηση XML ερωτήσεων σε συστήματα ομότιμων κόμβων Μαρίνα Δρόσου Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Αύγουστος 2006

2 2 Αντικείμενο (1/2) Πλέον τα συστήματα ομότιμων κόμβων (p2p) χρησιμοποιούνται ευρέως. Επίσης η γλώσσα XML τείνει να επικρατήσει ως μέσο ανταλλαγής πληροφορίας. Δημιουργία p2p συστημάτων που διαμοιράζουν έγγραφα XML. Λόγω του μεγάλου όγκου δεδομένων η αναζήτηση πληροφορίας απευθείας σε αυτά δεν είναι αποδοτική. Στρεφόμαστε σε τεχνικές περίληψης των δεδομένων.

3 3 Αντικείμενο (2/2) Για την περίληψη, χρησιμοποιούμε μια νέα δομή, το Ιστόγραμμα Bloom  Ιστόγραμμα Bloom: ομαδοποίηση δεδομένων με βάση τη συχνότητα. Σκοπός μας η περιγραφή, μελέτη και εφαρμογές του ιστογράμματος bloom στην επεξεργασία και δρομολόγηση XML ερωτήσεων σε συστήματα ομότιμων κόμβων.

4 4 Διάρθρωση  XML δεδομένα  Ιστογράμματα Bloom  Πειραματική μελέτη των Ιστογραμμάτων Bloom  Χρήση Ιστογραμμάτων Bloom στη δρομολόγηση ερωτήσεων σε συστήματα p2p  Ανακεφαλαίωση και Μελλοντική εργασία

5 5 Διάρθρωση  XML δεδομένα  Μορφή  Ερωτήσεις – μονοπάτια  Ιστογράμματα Bloom  Πειραματική μελέτη  Χρήση ιστογραμμάτων Bloom στη δρομολόγηση ερωτήσεων σε συστήματα p2p  Ανακεφαλαίωση και Μελλοντική εργασία

6 6 XML δεδομένα Χρειάζεται κάποιος τρόπος περιγραφής της πληροφορίας ο οποίος να μπορεί να κατανοηθεί και να χρησιμοποιηθεί από όλους. H XML είναι μία περιγραφική γλώσσα. Χρησιμοποιεί ετικέτες για να περιγράψει την πληροφορία. Παράδειγμα: Fundamentals of Database Systems R. Elmasri S. B. Navathe Addison-Wesley 2000

7 7 Ερωτήσεις - μονοπάτια Η αναζήτηση πληροφορίας σε XML δεδομένα γίνεται συχνά μέσω ερωτήσεων - μονοπατιών. Πρόκειται για ερωτήσεις της μορφής /p 1 /p 2 /…/p n όπου p i ετικέτες XML. Παράδειγμα: Ερώτημα: /book/publisher Αποτέλεσμα: Addison-Wesley Συχνότητα: Αριθμός εμφάνισης μονοπατιού στα δεδομένα. Fundamentals of Database Systems R. Elmasri S. B. Navathe Addison-Wesley 2000

8 8 Διάρθρωση  XML δεδομένα  Ιστογράμματα Bloom  Φίλτρα Bloom  Περιγραφή δομής  Εκτίμηση συχνότητας μονοπατιού  Σφάλμα  Κατασκευή  Μέγεθος  Πειραματική μελέτη  Χρήση ιστογραμμάτων Bloom στη δρομολόγηση ερωτήσεων σε συστήματα p2p  Ανακεφαλαίωση και Μελλοντική εργασία

9 9 Φίλτρα Bloom (1/2) Αναπαριστούν ένα σύνολο στοιχείων. Πίνακας bit μήκους m και k συναρτήσεις κατακερματισμού. Εισαγωγή στοιχείου p : Εφαρμόζουμε τις k συναρτήσεις κατακερματισμού στο p Τα bit στις θέσεις h i (p) παίρνουν την τιμή 1, 1 ≤ i ≤ k Το στοιχείο p ταιριάζει στο φίλτρο αν: Όταν εφαρμόσουμε τις k συναρτήσεις κατακερματισμού στο p, όλα τα bit στις θέσεις h i (p) έχουν την τιμή 1, 1 ≤ i ≤ k Ένα στοιχείο p που δεν ταιριάζει στο φίλτρο bloom δεν μπορεί να ανήκει στο αρχικό σύνολο στοιχείων. Ένα στοιχείο p μπορεί να ταιριάζει στο φίλτρο bloom αλλά να μην ανήκει στο σύνολο στοιχείων από το οποίο δημιουργήθηκε το φίλτρο.

10 10 Φίλτρα Bloom (2/2) Παράδειγμα: Έστω k = 4, m = 8 και τα μονοπάτια p, q, r με Αρχικά: Εισαγωγή p: Έλεγχος για q: Δεν ταιριάζει  Δεν ανήκειΣωστό  Εισαγωγή r: Έλεγχος για q: Ταιριάζει  ΑνήκειΛάθος  Πιθανότητα σφάλματος:Βέλτιστη: Συνάρτηση   Μονοπάτι h1h1 h2h2 h3h3 h4h4 p1347 q2368 r1268 00000000 10110010 11110111

11 11 Ιστόγραμμα bloom (1/3) Δισδιάστατος πίνακας H της μορφής H(paths, v) όπου paths υποσύνολα μονοπατιών και v αντιπροσωπευτική τιμή για τις συχνότητες των μονοπατιών του υποσυνόλου. Κάθε υποσύνολο μονοπατιών αναφέρεται και ως «κάδος». Αν το μονοπάτι p ανήκει σε κάποιον κάδο του H θεωρούμε την αντίστοιχη τιμή v ως συχνότητα του p.

12 12 Ιστόγραμμα bloom (2/3) Πώς θα διαμοιραστούν τα μονοπάτια στους κάδους; Τα μονοπάτια ταξινομούνται κατά αύξουσα σειρά συχνότητας και στη συνέχεια χωρίζονται σε ομάδες έτσι ώστε μονοπάτια που ανήκουν στην ίδια ομάδα να έχουν παρόμοιες συχνότητες. Πώς θα αναπαρασταθούν οι ομάδες αυτές με αποδοτικό τρόπο; Κάθε ομάδα θα αναπαρασταθεί με ένα φίλτρο bloom έτσι ώστε να μπορούμε εύκολα να διαπιστώσουμε αν ένα μονοπάτι ανήκει ή όχι σε κάποια συγκεκριμένη ομάδα.

13 13 Ιστόγραμμα bloom (3/3) ΜονοπάτιΣυχνότητα /a10 /a/b10 /a/f/c99 /a/e101 /a/z999 /a/s1001 /a/i1499 /a/o1501 Φίλτρο bloomΣυχνότητα BF(/a, /a/b)10 BF(/a/f/c, /a/e)100 BF(/a/z, /a/s)1000 BF(/a/i, /a/o)1500

14 14 Εκτίμηση συχνότητας μονοπατιού Αλγόριθμος 1: QueryBloomHistogram(BH, p) 1: count = 0; k = 0; 2: for i = 1 to b do 3: if IsMember(p, BH.BF[i]) then 4: count += BH.count[i]; 5: k++; 6: end if 7: end for 8: if k > 0 then 9: return count/k; 10: else 11: return 0; 12: end if Θεωρούμε ως συχνότητα το μέσο όρο των συχνοτήτων των κάδων στους οποίους ταιριάζει το μονοπάτι p.

15 15 Σφάλμα εκτίμησης συχνότητας (1/2) Για τη μέτρηση της απόδοσης χρησιμοποιούμε το απόλυτο σφάλμα. Το σφάλμα προέρχεται από δύο παράγοντες: Το μονοπάτι p ταιριάζει σε πολλά φίλτρα bloom Η συχνότητα που επιστρέφεται είναι η μέση συχνότητα των αντίστοιχων κάδων και όχι η πραγματική Διαχωρισμός ερωτήσεων σε θετικές (πραγματική συχνότητα διάφορη του μηδενός) και αρνητικές. Τις αρνητικές ερωτήσεις επηρεάζει μόνο ο πρώτος παράγοντας.

16 16 Σφάλμα εκτίμησης συχνότητας (2/2) Αν η ερώτηση ταιριάζει σε k κάδους, τότε: Και επειδή μπορεί να ταιριάζει σε οποιουσδήποτε i από τους b κάδους, συνολικά έχουμε: (όπου ε το σφάλμα των φίλτρων bloom) Για τις θετικές ερωτήσεις έχουμε αντίστοιχα:

17 17 Βέλτιστο ιστόγραμμα bloom (1/4) Για την κατασκευή του ιστογράμματος πρέπει να καθοριστούν: Τα όρια των κάδων Η τιμή συχνότητας που ανατίθεται σε κάθε κάδο Η τιμή της συχνότητας σε κάθε κάδο είναι ίση με τη μέση τιμή των συχνοτήτων των μονοπατιών του κάδου. Εάν θέλουμε b κάδους στο ιστόγραμμά μας, πρέπει να υπολογίσουμε πως θα μοιράσουμε τα μονοπάτια σε αυτούς. Θεωρούμε τα μονοπάτια ταξινομημένα κατά αύξουσα σειρά συχνότητας.

18 18 Βέλτιστο ιστόγραμμα bloom (2/4) Ορίζουμε ως OPT[x, b] το βέλτιστο σφάλμα όταν μοιράζουμε τα πρώτα x μονοπάτια σε b κάδους. Επίσης ορίζουμε ως f(x, y) το σφάλμα ενός μόνου κάδου που περιέχει να μονοπάτια από το x-οστό ως το y-οστό. Παρατηρούμε πως:

19 19 Βέλτιστο ιστόγραμμα bloom (3/4) ΜονοπάτιΣυχνότητα /a10 /a/b10 /a/f/c99 /a/e101 /a/z999 /a/s1001 /a/i1499 /a/o1501 Αν PSUM ο αθροιστικός πίνακας συχνοτήτων τότε μπορεί να αποδειχθεί ότι: t ο αριθμός του μέσου μονοπατιού του κάδου PSUM 10 20 119 220 1219 2220 3719 5220

20 20 Βέλτιστο ιστόγραμμα bloom (4/4) Αλγόριθμος 2: BuildHistogram(x[], n, b) 1: PSUM[1] = x[1] 2: for i = 2 to n do 3: PSUM[i] = PSUM[i - 1] + x[i] 4: end for 5: for i = 1 to n do 6: OPT[i,1] = f(1,i) 7: end for 8: for k = 2 to b do 9: for j = 1 to n do 10: OPT[j,k] = +∞ 11: for i = k – 1 to j – 1 do 12: OPT[j,k] = min(OPT[j,k], OPT[i,k-1]+f(i+1,j)) 13: end for 14: end for 15: end for 16: return OPT[n,b]

21 21 Μέγεθος ιστογράμματος Bloom Τα ιστογράμματα bloom δεν έχουν μεγάλες απαιτήσεις σε χώρο. Αν χρησιμοποιήσουμε φίλτρα bloom μήκους m bits, b κάδους και το μέγεθος ενός ακέραιου αριθμού είναι α bits απαιτείται χώρος (σε bit) ίσος με: (m + α) ∙ b Αν χρησιμοποιήσουμε φίλτρα bloom μεταβλητού μεγέθους τότε απαιτείται χώρος ίσος με: (m 1 +…+m b ) + α∙b = (l∙n 1 +…+l∙n b ) + α∙b = l∙n + α∙b

22 22 Διάρθρωση  XML δεδομένα  Ιστογράμματα Bloom  Πειραματική μελέτη  Σύνολα δεδομένων  Πειράματα  Χρήση ιστογραμμάτων Bloom στη δρομολόγηση ερωτήσεων σε συστήματα p2p  Ανακεφαλαίωση και Μελλοντική εργασία

23 23 Υλοποίηση Κατασκευή ιστογράμματος bloom:  Για ένα σύνολο XML δεδομένων  Parsing δεδομένων και απομόνωση όλων των μονοπατιών  Μέτρηση αριθμού εμφανίσεων κάθε μονοπατιού  Ταξινόμηση μονοπατιών κατά αύξουσα σειρά συχνότητας  Μετά την εφαρμογή του Αλγορίθμου 2 στην ταξινομημένη λίστα των μονοπατιών, το ιστόγραμμα bloom είναι πλέον έτοιμο.

24 24 Σύνολα δεδομένων Σύνολα δεδομένων που χρησιμοποιήσαμε:  «SIGMOD record»(επαναληπτική δομή)  «SwissProt»(μεγάλες διαφορές συχνοτήτων)  «XMark»(μεγάλος αριθμός μονοπατιών) Χαρακτηριστικό   Σύνολο Δεδομένων Μέγεθος # μονοπατιών Μέγιστη διαφορά συχνοτήτων Ελάχιστη συχνότητα Μέγιστη συχνότητα SIGMOD record483 KB313670673737 SwissProt112130 ΚB3355663071566308 XMark75501 KB174740924140925

25 25 Σφάλμα φίλτρων bloom Ως σφάλμα θεωρούμε το μέσο απόλυτο σφάλμα Καθώς το σφάλμα των φίλτρων bloom ελαττώνεται (μέσω της αύξησης του μήκους τους), το σφάλμα του ιστογράμματος bloom μειώνεται. Το ίδιο συμβαίνει και για θετικές και για αρνητικές ερωτήσεις. SIGMOD record/5 κάδοι SwissProt/70 κάδοι XMark/250 κάδοι

26 26 Καθώς ο αριθμός των κάδων αυξάνεται, το σφάλμα που οφείλεται σε αυτούς μειώνεται. Η μείωση σταματά όταν ο αριθμός αυτός γίνεται μεγαλύτερος από το πλήθος διακριτών συχνοτήτων του αρχικού συνόλου δεδομένων. Αριθμός κάδων SwissProt XMark

27 27 Συνολικό σφάλμα (1/2) Το σφάλμα μειώνεται όταν Αυξάνουμε το μήκος των φίλτρων bloom Αυξάνουμε τον αριθμό των κάδων Όταν διαθέτουμε περιορισμένο χώρο πρέπει να επιλέξουμε τι θα αυξήσουμε περισσότερο. Περισσότεροι κάδοι → μεγαλύτερη ακρίβεια αλλά και Περισσότερα φίλτρα bloom → αύξηση σφάλματος

28 28 Συνολικό σφάλμα (2/2)  Στην πράξη εξαρτάται από το σύνολο δεδομένων αν και γενικά το μεγαλύτερο ποσοστό του σφάλματος οφείλεται στα φίλτρα bloom. SwissProt XMark Για κάθε σύνολο δεδομένων υπάρχει ένας βέλτιστος συνδυασμός, συνήθως κοντά στο σημείο που μηδενίζεται το σφάλμα των κάδων.

29 29 Διάρθρωση  XML δεδομένα  Ιστογράμματα Bloom  Πειραματική μελέτη  Χρήση ιστογραμμάτων Bloom στη δρομολόγηση ερωτήσεων σε συστήματα p2p  Ευρετήρια δρομολόγησης  Συγχώνευση ιστογραμμάτων Bloom  Ομαδοποίηση κόμβων  Ομοιότητα ιστογραμμάτων Bloom  Ανακεφαλαίωση και Μελλοντική εργασία

30 30 Ευρετήρια δρομολόγησης (1/2) Σύμφωνα με αυτή τη μέθοδο δρομολόγησης κάθε κόμβος ενός συστήματος p2p διαθέτει δύο ευρετήρια:  Ένα τοπικό ευρετήριο μέσω του οποίου διαθέτει μία περίληψη των τοπικών του δεδομένων.  Και ένα ευρετήριο δρομολόγησης το οποίο περιέχει μία περίληψη των δεδομένων που είναι προσβάσιμα μέσω των γειτόνων του.  Μπορούμε να χρησιμοποιήσουμε (συγχωνευμένα) ιστογράμματα bloom ως ευρετήρια δρομολόγησης.  Δημιουργία και συντήρηση με ανταλλαγές ιστογραμμάτων και συγχωνεύεις στους διάφορους κόμβους του συστήματος.

31 31 Ευρετήρια δρομολόγησης (2/2) Παράδειγμα: Συγχωνευμένο ιστόγραμμα bloom [Α] Φίλτρο bloomΣυχνότηταΓείτονες BF(/a, /a/b)50B, E BF(/a/f/c, /a/e)400B, G BF(/a/z, /a/s)900B, E, G BF(/a/i, /a/o)3000B Τοπικό ιστόγραμμα bloom [Α] Φίλτρο bloomΣυχνότητα BF(/a, /a/b)10 BF(/a/f/c, /a/e)100 BF(/c/d)1000 BF(/a/i, /a/o)1500  Ερώτηση στον Α: «/a/b»  Έλεγχος τοπικού ευρετηρίου: επιστροφή 10 αποτελεσμάτων  Έλεγχος ευρετηρίου δρομολόγησης: προώθηση ερώτησης στους B και E

32 32 Συγχώνευση ιστογραμμάτων bloom  Κίνητρο: Χρήση σε συστήματα p2p. Άντληση πληροφορίας από ένα ιστόγραμμα αντί από πολλά.  Έστω δύο ιστογράμματα bloom ΒΗ 1 (paths 1,v 1 ), ΒΗ 2 (paths 2,v 2 ) για τα σύνολα δεδομένων D 1 και D 2 αντίστοιχα και έστω ότι τα ιστογράμματα αυτά καταλαμβάνουν χώρο s 1 και s 2 αντίστοιχα (και επιπλέον m 1 = m 2 ).  Στόχος μας είναι η κατασκευή ενός νέου ιστογράμματος ΒΗ (paths,v) το οποίο θα αντιπροσωπεύει το σύνολο δεδομένων D 1  D2 καταλαμβάνοντας χώρο όχι μεγαλύτερο από s max = max{s 1, s 2 }.

33 33 Συγχώνευση με βάση τις τιμές των κάδων Αλγόριθμος 3: MergeBloomHistograms_buckets(BH1, BH2) 1: int min, target 2: for i = 1 to b2 do 3: min = +∞, target = 0 4: for j = 1 to b1 do 5: if BH2.value[i] – BH1.value[j] < min then 6: min = BH2.value[i] – BH1.value[j]; 7: target = j; 8: end if 9: end for 10: MergeBuckets(i, target); 11: end for Συγχώνευση κάδων που έχουν παρόμοιες αντιπροσωπευτικές τιμές συχνότητας.

34 34 Συγχώνευση με βάση τα φίλτρα bloom Αλγόριθμος 4: MergeBloomHistograms_filters(BH1, BH2) 1: int max, target 2: for i = 1 to b2 do 3: max = -∞, target = 0 4: for j = 1 to b1 do 5: if similarity(BH2.BF[i], BH1.BF[j]) > max then 6: max = similarity(BH2.BF[i], BH1.BF[j]); 7: target = j; 8: end if 9: end for 10: MergeBuckets(i, target); 11: end for Συγχώνευση κάδων που έχουν παρόμοια φίλτρα bloom.

35 35 Βελτιώσεις  Καλύτερη προσέγγιση τιμών κάδων  Σε κάθε κάδο έχουμε και τον αριθμό k των μονοπατιών που έχουν εισαχθεί σε αυτόν. Η τιμή v του νέου κάδου θα είναι:  Άθροισμα τιμών κάδων  Αν τα φίλτρα bloom των κάδων που συγχωνεύονται είναι ίδια, η τιμή του νέου κάδου είναι ίση με το άθροισμα των δύο αρχικών.  Επαναληπτική κατασκευή ιστογράμματος

36 36 Απόδοση συγχωνευμένων ιστογραμμάτων SwissProt XMark Η συγχώνευση με βάση τις τιμές των κάδων φαίνεται πιο αποδοτική όσο το σφάλμα των φίλτρων bloom του τελικού ιστογράμματος δεν είναι πολύ μεγάλο. Οι βελτιώσεις βελτιώνουν την απόδοση περίπου κατά 10% (με μικρό επιπλέον κόστος - μία επιπλέον «στήλη» στα ιστογράμματα).

37 37 Ομαδοποίηση κόμβων Η ομαδοποίηση με βάση το περιεχόμενο στοχεύει στον περιορισμό των κόμβων που συμμετέχουν στη δρομολόγηση μιας ερώτησης (λιγότερες ανταλλαγές μηνυμάτων). Ιεραρχική οργάνωση: Οι νέοι κόμβοι συνδέονται στο υποδένδρο στο οποίο οι κόμβοι διαθέτουν παρόμοια ευρετήρια με αυτούς.

38 38 Ομοιότητα ιστογραμμάτων bloom (1/4) Τι σημαίνει «παρόμοια» όμως στην περίπτωση των ιστογραμμάτων bloom;  Διαισθητικά: Παρόμοια φίλτρα και συχνότητες.  Λόγω του τρόπου κατασκευής όμως τέτοιες συγκρίσεις δεν είναι εύκολες.  Δεν μπορούμε να εξάγουμε τα αρχικά δεδομένα.  Δύο ιστογράμματα από το ίδιο σύνολο δεδομένων με άλλα όμως χαρακτηριστικά μπορεί να διαφέρουν αισθητά.  Θα βασιστούμε στην ομοιότητα των φίλτρων bloom των ιστογραμμάτων.  Εντοπισμός παρόμοιων φίλτρων στα δύο ιστογράμματα.

39 39 Ομοιότητα ιστογραμμάτων bloom (2/4) 1 ος τρόπος: Για κάθε κάδο του ΒΗ 1 βρίσκουμε τον κάδο του ΒΗ 2 που απέχει το λιγότερο από αυτόν. Πολυπλοκότητα Ο(b 2 ).  Απλός στην υλοποίηση  Εξυπηρετεί την ομαδοποίηση  Μη συμμετρικές αποστάσεις Αλγόριθμος 5: BloomHistogram_dist_1(BH1, BH2) 1: total_dist = 0; 2: for i = 1 to b2 do 3: BH2.used[i] = false; 4: end for 5: for i = 1 to b1 do 6: dist = +∞ 7: for j = 1 to b2 do 8: if dist(BH1.BF[i], BH2.BF[j]) < dist and BH2.used[j] = false then 9: dist = dist(BH1.BF[i], BH2.BF[j]); 10: BH2.used[j] = true; 11: end if 12: end for 13: total_dist = total_dist + dist; 14: end for 15: return total_dist;

40 40 Ομοιότητα ιστογραμμάτων bloom (3/4) 2 ος τρόπος: Βρίσκουμε επαναληπτικά το ζεύγος που απέχει τη μικρότερη απόσταση. Πολυπλοκότητα Ο(b 3 ).  Συμμετρικές αποστάσεις  Καλύτερος ορισμός  Αυξημένη πολυπλοκότητα  Δυναμικός προγραμματισμός;  Απαιτείται ίδιο πλήθος κάδων Αλγόριθμος 6: BloomHistogram_dist_2(BH1, BH2) 1: total_dist = 0; 2: for i = 1 to b do 3: BH1.used[i] = false; 4: BH2.used[i] = false; 5: end for 6: for i = 1 to b do 7: dist = +∞ 8: for j = 1 to b do 9: for k = 1 to b do 10: if dist(BH1.BF[j], BH2.BF[k]) < dist 11: and BH1.used[j] = false 12: and BH2.used[k] = false then 13: dist = dist(BH1.BF[j], BH2.BF[k]); 14: BH1.used[j] = true; 15: BH2.used[k] = true; 16: end if 17: end for 18: end for 19: total_dist = total_dist + dist; 20: end for 21: return total_dist;

41 41 Ομοιότητα ιστογραμμάτων bloom (4/4) 3 ος τρόπος: Σύγκριση των φίλτρων του ΒΗ 1 με το φίλτρο BF που δημιουργείται από το δυαδικό OR των φίλτρων του BH 2. Πολυπλοκότητα Ο(b).  Χαμηλή πολυπλοκότητα  Μη συμμετρικές αποστάσεις  Μη αποδοτικός όταν το BF περιέχει πολλά bit με την τιμή 1 Αλγόριθμος 7: BloomHistogram_dist_3(BH1, BH2) 1: total_dist = 0; 2: BF = 0; 3: for i = 1 to b2 do 4: BF = BF BOR BH2.BF[i]; 5: end for 6: for i = 1 to b1 do 7: total_dist = total_dist + dist(BH1.BF[i], BF); 8: end for 9: return total_dist;

42 42 Διάρθρωση  XML δεδομένα  Ιστογράμματα Bloom  Πειραματική μελέτη  Χρήση ιστογραμμάτων Bloom στη δρομολόγηση ερωτήσεων σε συστήματα p2p  Ανακεφαλαίωση και Μελλοντική εργασία

43 43 Ανακεφαλαίωση Σε αυτήν την εργασία:  Μελετήσαμε τη μορφή και τις ιδιότητες του Ιστογράμματος Bloom  Μελετήσαμε το σφάλμα του πειραματικά  Σφάλμα φίλτρων bloom  Αριθμός κάδων  Προτείναμε και μελετήσαμε πειραματικά μεθόδους συγχώνευσης Ιστογραμμάτων Bloom  Προτείναμε τεχνικές για την εύρεση ομοιότητας μεταξύ των Ιστογραμμάτων Bloom

44 44 Μελλοντική εργασία Τα Ιστογράμματα Bloom προτάθηκαν για τον υπολογισμό της συχνότητας μονοπατιών XML δεδομένων. Όπως φαίνεται μπορούν να βρουν και άλλες εφαρμογές. Κάποια θέματα παρουσιάζουν ενδιαφέρον και αξίζει να μελετηθούν περισσότερο:  Η απόδοση των αλγορίθμων συγχώνευσης. Εύρεση κανόνων για το πότε είναι πιο αποτελεσματικός ο κάθε αλγόριθμος.  Ορισμός της απόστασης (ομοιότητας) μεταξύ δύο Ιστογραμμάτων Bloom. Ένας καλός ορισμός που να λαμβάνει υπόψη και τις συχνότητες θα μπορούσε να βρει εφαρμογή και πέρα από την ομαδοποίηση κόμβων με βάση το περιεχόμενο (ομοιότητα συνόλων δεδομένων κτλ).  Σύγκριση Ιστογραμμάτων Bloom με Πολυεπίπεδα Φίλτρα Bloom (Multi-Level Bloom Filters).


Κατέβασμα ppt "Επεξεργασία και δρομολόγηση XML ερωτήσεων σε συστήματα ομότιμων κόμβων Μαρίνα Δρόσου Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Αύγουστος 2006."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google