One embodiment of the present invention provides a system that uses a
shared library to facilitate sharing objects containing metadata. During
operation, the system receives identifiers for a set of objects to be
included in the shared library. Next, the system generates a shared
library containing the set of objects. In doing so, the system configures
a symbol table within the shared library to include an identifier for each
object. The system then installs the shared library in a file system, and
configures the file system so that the shared library file can be accessed
through a set of symbolic names, wherein each object is associated with a
different symbolic name. This allows each object in the shared library to
be referenced through its own symbolic name. Note that the present
invention uses the shared library mechanism in a manner which differs from
its typical use (sharing compiled, executable code). In order to avoid
generating a shared library for each metadata object, the present
invention places many such items together in one shared library. The names
of these metadata objects are subsequently used as symbolic names of the
file containing the shared library.
Μια ενσωμάτωση της παρούσας εφεύρεσης παρέχει ένα σύστημα που χρησιμοποιεί μια κοινή βιβλιοθήκη για να διευκολύνει τη διανομή αντιτίθεται τα μεταδεδομένα. Κατά τη διάρκεια της λειτουργίας, το σύστημα λαμβάνει τα προσδιοριστικά για ένα σύνολο αντικειμένων που περιλαμβάνονται στην κοινή βιβλιοθήκη. Έπειτα, το σύστημα παράγει μια κοινή βιβλιοθήκη που περιέχει το σύνολο αντικειμένων. Με αυτό τον τρόπο, το σύστημα διαμορφώνει έναν πίνακα συμβόλων μέσα στην κοινή βιβλιοθήκη για να περιλάβει ένα προσδιοριστικό για κάθε αντικείμενο. Το σύστημα εγκαθιστά έπειτα την κοινή βιβλιοθήκη σε ένα σύστημα αρχείων, και διαμορφώνει το σύστημα αρχείων έτσι ώστε το κοινό αρχείο βιβλιοθηκών μπορεί να προσεγγιστεί μέσω ενός συνόλου συμβολικών ονομάτων, όπου κάθε αντικείμενο συνδέεται με ένα διαφορετικό συμβολικό όνομα. Αυτό επιτρέπει σε κάθε αντικείμενο στην κοινή βιβλιοθήκη για να παραπεμφθεί μέσω του συμβολικού ονόματός του. Σημειώστε ότι η παρούσα εφεύρεση χρησιμοποιεί τον κοινό μηχανισμό βιβλιοθηκών με έναν τρόπο που διαφέρει από τη χαρακτηριστική χρήση του (που μοιράζεται το συνταγμένο, εκτελέσιμο κώδικα). Προκειμένου να αποφύγει μια κοινή βιβλιοθήκη για κάθε αντικείμενο μεταδεδομένων, η παρούσα εφεύρεση τοποθετεί πολλά τέτοια στοιχεία μαζί σε μια κοινή βιβλιοθήκη. Τα ονόματα αυτών των αντικειμένων μεταδεδομένων χρησιμοποιούνται στη συνέχεια ως συμβολικά ονόματα του αρχείου που περιέχει την κοινή βιβλιοθήκη.