Επισκόπηση του ελεγκτή ρουτινών

Το πλαίσιο συλλογής δεδομένων TPTP (TPTP Data Collection Framework) παρέχει μια δομή στην οποία μια εφαρμογή εργαλείων (πελάτης) μπορεί να αλληλεπιδρά με ομοιόμορφο τρόπο με μία ή περισσότερες εφαρμογές παροχής δεδομένων (ρουτίνες) ανεξάρτητα από τη θέση τους. Αυτό το πλαίσιο αποτελείται από ένα περιβάλλον διεπαφής πελάτη, μια διεργασία διαχείρισης ρουτινών, ένα περιβάλλον διεπαφής ρουτινών και ορισμένες χρήσιμες γενικές ρουτίνες. Η διεργασία διαχείρισης ρουτινών ονομάζεται ελεγκτής ρουτινών.  Ο ελεγκτής ρουτινών επιτρέπει το διαχωρισμό μιας εφαρμογής πελάτη από τις λεπτομέρειες εύρεσης και εκκίνησης διαφόρων παροχέων δεδομένων στον τοπικό υπολογιστή ή σε απομακρυσμένους υπολογιστές που χρησιμοποιούν το ίδιο ή διαφορετικό είδος πλατφόρμας (αρχιτεκτονική CPU και ΛΣ) ή γλώσσας (C/C++, Java).

Η εφαρμογή πελάτης χρησιμοποιεί το API περιβάλλοντος διεπαφής πελάτη του πλαισίου για την αίτηση των υπηρεσιών μιας ρουτίνας σε ένα συγκεκριμένο σύστημα. Στη συνέχεια, ο ελεγκτής ρουτινών λαμβάνει μια χρήση αυτής της ρουτίνας (ή μοιράζεται μια χρήση που εκτελείται ήδη) που εκτελείται σύμφωνα με τις ρυθμίσεις της ρουτίνας και τις παραμέτρους αίτησης που παρέχονται από τον πελάτη.  Οι λεπτομέρειες για την ενεργοποίηση της επικοινωνίας και την εκκίνηση της διεργασίας της ρουτίνας καθορίζονται από το πλαίσιο. Ο πελάτης χρησιμοποιεί στη συνέχεια το API για τη δημιουργία και την αποστολή αιτήσεων στη ρουτίνα χρησιμοποιώντας ένα σύνολο εντολών (σε μορφή XML) που ορίζεται από τη ρουτίνα.

Η ρουτίνα (εφαρμογή παροχής δεδομένων) δεν χρειάζεται να γνωρίζει οποιαδήποτε πληροφορία σχετικά με τον πελάτη που αιτείται τα δεδομένα της.  Ο προγραμματιστής της ρουτίνας ορίζει ένα σύνολο εντολών (σε μορφή XML) για την απόκριση σε οποιαδήποτε αίτηση ανάλογα με τις υπηρεσίες που παρέχει η ρουτίνα.  Οι παρεχόμενες υπηρεσίες δεν είναι απαραίτητο να σχετίζονται με τη συλλογή δεδομένων.  Μπορούν απλά να εκτελούν μια ενέργεια για λογαριασμό του πελάτη.  

Για να λειτουργεί μια εφαρμογή ως ρουτίνα σε αυτό το πλαίσιο, πρέπει να εγγραφεί στον ελεγκτή ρουτινών και να εκτελεί ακρόαση για τις αιτήσεις που αποστέλλονται μέσω του ελεγκτή ρουτινών.  Το πλαίσιο καλύπτει τις γενικές ανάγκες της ρουτίνας ώστε να μην απαιτείται η εμπλοκή της στη ρύθμιση και την ενεργοποίηση της επικοινωνίας.  Η ρουτίνα πρέπει απλά να αποδεχτεί τις καθορισμένες εντολές και να τις εκτελέσει.  Ο πελάτης και η ρουτίνα μπορούν επίσης να χρησιμοποιήσουν το πλαίσιο για να ορίσουν μια διαδρομή στην οποία θα είναι δυνατή η ροή των δεδομένων μεταξύ τους.  Δεν υπάρχει περιορισμός στη μορφή των δεδομένων.

Ο ελεγκτής ρουτινών έχει σχεδιαστεί για να είναι ευέλικτος και διαθέτει ένα αρχείο ρυθμίσεων που επιτρέπει στους διαχειριστές να ελέγχουν τον τρόπο εκτέλεσης ορισμένων λειτουργιών.  Ανατρέξτε στην επισκόπηση του αρχείου ρυθμίσεων για περισσότερες πληροφορίες.

Ακολουθεί μια πιο αναλυτική περιγραφή των συστατικών στοιχείων του πλαισίου συλλογής δεδομένων:

Ρουτίνα
Μια ρουτίνα είναι μια εφαρμογή που διαθέτει τις υπηρεσίες της μέσω του ελεγκτή ρουτινών. Οποιαδήποτε εφαρμογή εγγράφεται στον ελεγκτή ρουτινών και μπορεί να επικοινωνεί με αυτόν μέσω μηνυμάτων ελέγχου είναι ρουτίνα. Οι πελάτες μπορεί να έχουν πρόσβαση σε συγκεκριμένες υπηρεσίες μιας ρουτίνας μέσω ενός τεκμηριωμένου συνόλου μηνυμάτων ελέγχου που ορίζεται από τη ρουτίνα.  Ο ελεγκτής ρουτινών μεταφέρει τα μηνύματα ελέγχου μεταξύ του πελάτη και της ρουτίνας χωρίς να έχει γνώση του περιεχομένου τους.  Η ρουτίνα καθορίζει αν μπορεί να εξυπηρετεί πολλούς πελάτες ταυτόχρονα καθώς και αν είναι δυνατή η ταυτόχρονη εκτέλεση πολλαπλών χρήσεών της.  Μια ρουτίνα πρέπει να εγγράφεται μόνο σε έναν ελεγκτή ρουτινών.  Μια ρουτίνα συλλέγει συνήθως δεδομένα σχετικά με το σύστημα στο οποίο εκτελείται ή σχετικά με μια εφαρμογή την οποία παρακολουθεί. Μπορεί επίσης να χρησιμοποιηθεί για την εκτέλεση υπηρεσιών όπως η εκκίνηση μιας εφαρμογής ή η αντιγραφή αρχείων.
Πελάτης
Ένας πελάτης είναι μια εφαρμογή (π.χ. πάγκος εργασίας Eclipse*) που επιτρέπει στο χρήστη μιας υπηρεσίας να αλληλεπιδρά με τον παροχέα της υπηρεσίας (ρουτίνα). Ένας πελάτης μπορεί να συνδεθεί ταυτόχρονα σε περισσότερους από έναν ελεγκτές ρουτινών.  Ως εκ τούτου, ο πελάτης μπορεί να χρησιμοποιεί ταυτόχρονα τις υπηρεσίες πολλών ρουτινών.  Ο πελάτης ζητά πρόσβαση σε μια ρουτίνα μέσω του ελεγκτή ρουτινών.  Αν η ρουτίνα την οποία ζητά να χρησιμοποιήσει ο πελάτης δεν λειτουργεί, ο ελεγκτής ρουτινών την εκκινεί.  Ο πελάτης μπορεί να ζητήσει αποκλειστική πρόσβαση σε μια ρουτίνα. Σε αυτή την περίπτωση, ο ελεγκτής ρουτινών θα δημιουργεί μια νέα χρήση της ρουτίνας κάθε φορά που κάποιος άλλος πελάτης θα ζητά να χρησιμοποιήσει τις υπηρεσίες αυτής της ρουτίνας. Για την υποβολή αιτήσεων για τη χρήση των υπηρεσιών μιας ρουτίνας, ο πελάτης χρησιμοποιεί ένα σύνολο βασικών εντολών μαζί με όποιες βελτιώσεις ορίζει η ρουτίνα.
Ελεγκτής ρουτινών 
Ένας ελεγκτής ρουτινών είναι μια διεργασία που εκτελείται σε ένα σύστημα προορισμού όπου βρίσκεται μια ρουτίνα την οποία θέλουν να χρησιμοποιήσουν οι πελάτες.  Η ρουτίνα και ο ελεγκτής ρουτινών πρέπει να βρίσκονται στο ίδιο σύστημα.  Οι πελάτες και ο ελεγκτής ρουτινών δεν είναι απαραίτητο να βρίσκονται στο ίδιο σύστημα.  Ο ελεγκτής ρουτινών διαχειρίζεται όλες τις λεπτομέρειες για την εκκίνηση των ρουτινών και την επικοινωνία με αυτές. Ένας ελεγκτής ρουτινών μπορεί να αλληλεπιδρά με μία ή περισσότερες ρουτίνες ταυτόχρονα. Οι πελάτες δεν σχετίζονται με καμία ρουτίνα μέχρι να λάβουν ένα στοιχείο χειρισμού για μια ρουτίνα από τον ελεγκτή ρουτινών.

Σχετικές εργασίες
Εννοιολογικό μοντέλο συλλογής δεδομένων
Διαχείριση του ελεγκτή ρουτινών
 

Copyright (C) 2005, 2006 Intel Corporation.