Eszközkezelő. A MIB meghosszabbítása az eszközökhöz

Eszközkezelő. A MIB meghosszabbítása az eszközökhöz
Az automatizált orvosi központban számos különféle eszközt használnak, amelyek működését orvosi információs rendszer (OIR) irányítja, valamint olyan berendezéseket, amelyek nem fogadnak parancsokat, de el kell juttatniuk a munkájuk eredményeit az OIR-hez. Azonban minden eszköz különböző csatlakozási lehetőségekkel rendelkezik (USB, RS-232, Ethernet stb.) és eltérő kommunikációs módokkal. Mindezek támogatása az OIR-ben szinte lehetetlen, ezért kifejlesztették a DeviceManager (DM) szoftverréteget, amely egy egységes felületet biztosít az OIR számára az eszközök feladatokkal való ellátására és az eredmények lekérdezésére.

Eszközkezelő. A MIB meghosszabbítása az eszközökhöz
A rendszer DM hibátűrésének növelése érdekében a DM-t egy sor programra osztották, amelyeket az orvosi központ gépein helyeztek el. A DM egy főprogramra és egy sor pluginra oszlik, amelyek az egyes eszközökkel való kapcsolattartást végzik, és az adatokat továbbítják az OIR-hez. Az alábbi ábrán a DeviceManager, az OIR és a berendezések közötti kapcsolattartás összefoglaló struktúrája látható.

Eszközkezelő. A MIB meghosszabbítása az eszközökhöz
Az OIR és a DeviceManager közötti kapcsolattartás struktúráján három plugin működési mód látható:

  1. A plugin nem kap adatokat az OIR-től, és a berendezéstől kapott adatokat átkonvertálva küldi el számára egy érthető formátumban (ez a fenti ábrán a 3. típusú berendezésnek felel meg).
  2. A plugin rövid (végrehajtási idő szempontjából) feladatot kap az OIR-től, például nyomtatást vagy kép szkennelést, végrehajtja azt, majd az eredményt visszaküldi a kérésre (ez a fenti ábrán az 1. típusú berendezésnek felel meg).
  3. A plugin hosszú távú feladatot kap az OIR-től, például vizsgálat elvégzése vagy mérések végzése, a válaszban visszaküldi a feladat elfogadásának állapotát (a feladat feladását elutasíthatják, ha a kérésben hiba van). A feladat elvégzése után az eredmények átkonvertálódnak az OIR számára érthető formátumban, és a megfelelő típusú interfészekbe kerülnek (ez a fenti ábrán a 2. típusú berendezésnek felel meg).

A DM főprogramja elindít minden plugint, inicializálja őket, újraindítja az előre nem látott leállás (összeomlás) esetén, és befejezi a munkájukat, amikor az befejeződik. A pluginek összetétele minden gépen eltérő, csak a beállításokban megadott szükségesek indítódnak el.

Minden plugin önálló program, amely kapcsolatba lép a fő programmal. Ez a definíció lehetővé teszi a stabilabb működést, mivel a pluginok és a fő program függetlenek a hibák kezelésében (ha egy kritikus hiba lép fel, amely miatt a plugin leáll, az nem érinti a többi plugint és a fő programot). Egy plugin lehetővé teszi az azonos típusú eszközökkel való munkát (gyakran ugyanazzal a modellel), miközben egyes pluginok csak egy eszközzel működnek, míg mások több eszközt is kezelhetnek. Az azonos típusú eszközök egy DM-hez való csatlakoztatásához több példányt kell futtatni egy pluginból.

Eszközkezelő. A MIB meghosszabbítása az eszközökhöz
A DM fejlesztéséhez a Qt eszközkészletet használták, mert ez a legtöbb esetben lehetővé teszi az absztrakciót a konkrét operációs rendszertől. Ez lehetővé tette a Windows, Linux és MacOS alapú számítógépekkel, valamint a Raspberry egylapos számítógépekkel való kompatibilitás fenntartását. Az egyetlen korlátozás az operációs rendszer választásában a pluginek fejlesztésekor a konkrét eszközhöz szükséges illesztőprogramok és/vagy speciális szoftverek megléte.

A pluginok és a fő program közötti interakció egy folyamatosan aktív QLocalSocket-en keresztül történik, amely a konkrét plugin példányának nevét viseli, a mi általunk létrehozott protokoll szerint. A kommunikációs protokoll megvalósítása mindkét oldalon dinamikus könyvtár formájában történt, ami lehetővé tette, hogy más cégek is fejlesszenek bizonyos plugineket anélkül, hogy teljesen feltárnák a fő programmal való interakciót. A helyi socket működési logikája lehetővé teszi a fő program számára, hogy azonnal értesüljön a csatlakozási hiba jelzésével. Ilyen jelzés esetén a problémás plugin újraindul, ami fájdalommentesebbé teszi a kritikus helyzetek kezelését.

A MCS és a DM közötti interakciót az HTTP protokoll alapjain építettük fel, mivel a MCS ezen az alapon működik Webszerverek, amelyen egyszerűbb küldeni és fogadni a kéréseket ezen a protokollon. Továbbá lehetőség van a problémák megkülönböztetésére, amelyek felmerülhettek a berendezések felállítása vagy feladatainak végrehajtása során a válaszkódok alapján.

A következő cikkekben néhány diagnosztikai központ kabinet példáján keresztül fogjuk bemutatni a DM és néhány plugin működését.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster