Διαχειριστή της συσκευής. Επέκταση του MIS σε συσκευές

Διαχειριστή της συσκευής. Επέκταση του MIS σε συσκευές
Ένα αυτοματοποιημένο ιατρικό κέντρο χρησιμοποιεί πολλές διαφορετικές συσκευές, η λειτουργία των οποίων πρέπει να ελέγχεται από ένα σύστημα ιατρικών πληροφοριών (MIS), καθώς και συσκευές που δεν δέχονται εντολές, αλλά πρέπει να μεταδίδουν τα αποτελέσματα της εργασίας τους στο MIS. Ωστόσο, όλες οι συσκευές έχουν διαφορετικές επιλογές σύνδεσης (USB, RS-232, Ethernet κ.λπ.) και τρόπους αλληλεπίδρασης μαζί τους. Είναι σχεδόν αδύνατο να υποστηριχθούν όλα στο MIS, επομένως αναπτύχθηκε το επίπεδο λογισμικού DeviceManager (DM), το οποίο παρέχει μια ενιαία διεπαφή για το MIS για την ανάθεση εργασιών σε συσκευές και τη λήψη αποτελεσμάτων.

Διαχειριστή της συσκευής. Επέκταση του MIS σε συσκευές
Για να αυξηθεί η ανοχή σφαλμάτων του συστήματος, το DM χωρίστηκε σε ένα σύνολο προγραμμάτων που βρίσκονται σε υπολογιστές στο ιατρικό κέντρο. Το DM χωρίζεται σε ένα κύριο πρόγραμμα και σε ένα σύνολο πρόσθετων που αλληλεπιδρούν με μια συγκεκριμένη συσκευή και στέλνουν δεδομένα στο MIS. Το παρακάτω σχήμα δείχνει μια γενικευμένη δομή αλληλεπίδρασης με το DeviceManager, το MIS και τις συσκευές.

Διαχειριστή της συσκευής. Επέκταση του MIS σε συσκευές
Η δομή της αλληλεπίδρασης μεταξύ MIS και DeviceManager εμφανίζει 3 επιλογές για πρόσθετα:

  1. Το πρόσθετο δεν λαμβάνει δεδομένα από το MIS και στέλνει δεδομένα που μετατρέπονται σε μορφή κατανοητή σε αυτό από τη συσκευή (αντιστοιχεί στον τύπο συσκευής 3 στο παραπάνω σχήμα).
  2. Το πρόσθετο λαμβάνει μια σύντομη (από άποψη χρόνου εκτέλεσης) εργασία από το MIS, για παράδειγμα, εκτύπωση σε εκτυπωτή ή σάρωση εικόνας, την εκτελεί και στέλνει το αποτέλεσμα ως απάντηση στο αίτημα (αντιστοιχεί στον τύπο συσκευής 1 στο παραπάνω σχήμα ).
  3. Το πρόσθετο λαμβάνει μια μακροπρόθεσμη εργασία από το MIS, για παράδειγμα, για τη διεξαγωγή μιας έρευνας ή τη μέτρηση δεικτών, και ως απάντηση στέλνει την κατάσταση αποδοχής εργασίας (η εργασία μπορεί να απορριφθεί εάν υπάρχει σφάλμα στο αίτημα). Μετά την ολοκλήρωση της εργασίας, τα αποτελέσματα μετατρέπονται σε μορφή κατανοητή για το MIS και μεταφορτώνονται στις διεπαφές που αντιστοιχούν στον τύπο τους (αντιστοιχεί στον τύπο συσκευής 2 στο παραπάνω σχήμα).

Το κύριο πρόγραμμα DM ξεκινά, αρχικοποιείται, επανεκκινείται σε περίπτωση απροσδόκητης διακοπής (crash) και τερματίζει όλα τα πρόσθετα κατά τον τερματισμό λειτουργίας. Η σύνθεση των προσθηκών σε κάθε υπολογιστή είναι διαφορετική.

Κάθε πρόσθετο είναι ένα ανεξάρτητο πρόγραμμα που αλληλεπιδρά με το κύριο πρόγραμμα. Αυτός ο ορισμός μιας προσθήκης επιτρέπει πιο σταθερή λειτουργία λόγω της ανεξαρτησίας όλων των περιπτώσεων προσθήκης και της κεφαλής όσον αφορά τον χειρισμό σφαλμάτων (εάν παρουσιαστεί ένα κρίσιμο σφάλμα που προκαλεί τη διακοπή λειτουργίας της προσθήκης, τότε αυτό δεν θα επηρεάσει άλλες προσθήκες και την κεφαλή) . Ένα πρόσθετο σάς επιτρέπει να εργάζεστε με συσκευές ενός τύπου (συχνά του ίδιου μοντέλου), ενώ ορισμένες προσθήκες μπορούν να αλληλεπιδράσουν μόνο με μία συσκευή, ενώ άλλες μπορούν να αλληλεπιδράσουν με πολλές. Για να συνδέσετε πολλές συσκευές του ίδιου τύπου σε ένα DM, εκκινήστε πολλές παρουσίες της ίδιας προσθήκης.

Διαχειριστή της συσκευής. Επέκταση του MIS σε συσκευές
Το κιτ εργαλείων Qt χρησιμοποιήθηκε για την ανάπτυξη του DM επειδή μας επιτρέπει να απομακρυνόμαστε από ένα συγκεκριμένο λειτουργικό σύστημα στις περισσότερες περιπτώσεις. Αυτό κατέστησε δυνατή την υποστήριξη της εργασίας με υπολογιστές που βασίζονται σε Windows, Linux και MacOS, καθώς και με συσκευές μίας πλακέτας Raspberry. Ο μόνος περιορισμός στην επιλογή ενός λειτουργικού συστήματος κατά την ανάπτυξη προσθηκών είναι η διαθεσιμότητα προγραμμάτων οδήγησης ή/και ειδικού λογισμικού για μια συγκεκριμένη συσκευή.

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

Αποφασίστηκε να οικοδομηθεί η αλληλεπίδραση μεταξύ MIS και DM με βάση το πρωτόκολλο HTTP, καθώς το MIS λειτουργεί σε διακομιστή Web, γεγονός που διευκολύνει την αποστολή και λήψη αιτημάτων χρησιμοποιώντας αυτό το πρωτόκολλο. Είναι επίσης δυνατό να διακρίνετε προβλήματα που θα μπορούσαν να προκύψουν κατά τη ρύθμιση ή την εκτέλεση εργασιών με συσκευές με βάση κωδικούς απόκρισης.

Στα επόμενα άρθρα, χρησιμοποιώντας το παράδειγμα αρκετών αιθουσών διαγνωστικού κέντρου, θα εξεταστεί η λειτουργία του DM και ορισμένων προσθηκών.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο