胡 靜,蔣亞林*
(亳州市人民醫(yī)院信息中心,安徽 亳州)
智慧醫(yī)療系統(tǒng)能夠全天候的采集用戶的血壓、心率、血氧等多種生命體征,這些數(shù)據(jù)快速傳遞到微處理器進(jìn)行處理后,以圖像形式直觀呈現(xiàn),方便醫(yī)護(hù)人員或用戶隨時掌握生命體征,從而在體質(zhì)監(jiān)測、疾病預(yù)防和診斷等方面發(fā)揮了重要作用。在系統(tǒng)開發(fā)過程中,如何實(shí)現(xiàn)數(shù)據(jù)同步傳輸和結(jié)果動態(tài)呈現(xiàn)成為系統(tǒng)設(shè)計與研究的關(guān)鍵點(diǎn)。
前端設(shè)備采集患者的生命體征后,利用5G 網(wǎng)絡(luò)將數(shù)據(jù)傳輸至流數(shù)據(jù)中心,再經(jīng)過局域網(wǎng)傳輸至基于便捷終端的智慧醫(yī)療系統(tǒng)。為了使智慧醫(yī)療系統(tǒng)可以實(shí)現(xiàn)對生命體征的連續(xù)采集、動態(tài)存儲、實(shí)時傳輸,對設(shè)備之間的網(wǎng)絡(luò)通信提出了較高的要求。目前常用的網(wǎng)絡(luò)編程技術(shù)有Socket 編程、HTTP 編程、FTP 編程等若干種。其中,Socket 編程采用套接字技術(shù),主要應(yīng)用于創(chuàng)建客戶端、服務(wù)器應(yīng)用程序,具有操作簡便、功能豐富、支持雙端通信等特點(diǎn),因此本文選用Socket 網(wǎng)絡(luò)編程技術(shù)進(jìn)行智慧醫(yī)療數(shù)據(jù)傳輸設(shè)計[1]。
基于便捷終端的智慧醫(yī)療系統(tǒng),既要在生命體征采集設(shè)備與流數(shù)據(jù)存儲中心、流數(shù)據(jù)存儲中心和便捷終端之間建立通信。使用Socket 編程技術(shù)可以構(gòu)建一條完整的網(wǎng)絡(luò)通信鏈路,提高了智慧醫(yī)療系統(tǒng)內(nèi)不同設(shè)備之間的通信效率。另外,Socket 根據(jù)通信協(xié)議的不同提供了多種通信模式,例如面向TCP 通信協(xié)議的Socket_Stream 模 式, 面 向 UDP 通 信 協(xié) 議 的Socket_Dgram 模式等。本文選擇Socket_Stream 模式完成無線通信,在便捷終端上運(yùn)行Socket 后,分別向生命體征采集設(shè)備、流數(shù)據(jù)中心發(fā)出請求,在響應(yīng)請求后建立起通信鏈路,并上傳智慧醫(yī)療系統(tǒng)所需的數(shù)據(jù),通信實(shí)現(xiàn)流程見圖1。
圖1 便捷終端與數(shù)據(jù)中心之間的Socket 通信
由于智慧醫(yī)療系統(tǒng)在運(yùn)行過程中需要不間斷的采集生理數(shù)據(jù),數(shù)據(jù)體量龐大;同時,智慧醫(yī)療系統(tǒng)還需要實(shí)時調(diào)用數(shù)據(jù)并展開智能分析,實(shí)現(xiàn)對患者身體狀況的監(jiān)測?;谏鲜鎏攸c(diǎn),對系統(tǒng)數(shù)據(jù)庫的存儲容量、響應(yīng)速度等均提出了嚴(yán)格要求,選擇合適的數(shù)據(jù)庫對智慧醫(yī)療系統(tǒng)的可靠和高效運(yùn)行有積極幫助。本文選擇了主流的MySQL 數(shù)據(jù)庫,作為一種關(guān)系數(shù)據(jù)庫,采用關(guān)系數(shù)據(jù)模型建立數(shù)據(jù)表,能夠?qū)η岸嗽O(shè)備采集到的生命體征進(jìn)行自動分類,并填入對應(yīng)的數(shù)據(jù)表中,這就為數(shù)據(jù)的存儲和調(diào)用提供了便利[2]。除此之外,MySQL 數(shù)據(jù)庫還具有源代碼公開、操作方便、易于開發(fā)等特點(diǎn),能夠較好地適配智慧醫(yī)療系統(tǒng)的數(shù)據(jù)存儲需求。
當(dāng)數(shù)據(jù)庫內(nèi)的數(shù)據(jù)接近或達(dá)到存儲上限后,新存入的數(shù)據(jù)會自動覆蓋最早存入的數(shù)據(jù),從而造成部分?jǐn)?shù)據(jù)的丟失?;诒銛y終端的智慧醫(yī)療系統(tǒng)用于慢性病的預(yù)防和預(yù)測時,需要進(jìn)行長期不間斷的監(jiān)測,獲取大量的生理信息數(shù)據(jù),因此對于數(shù)據(jù)的保存時限、對數(shù)據(jù)庫的存儲容量均提出了較高的要求。本文采用了基于Innodb 共享表的空間存儲方式,將生理數(shù)據(jù)按照來源或時間進(jìn)行分類后,保存在一個單獨(dú)的表空間,每個表空間包含若干個壓縮文件,從而減少了對存儲空間的占用。當(dāng)智慧醫(yī)療系統(tǒng)需要調(diào)用生理數(shù)據(jù)時,再進(jìn)行解壓以滿足數(shù)據(jù)使用要求。
另外,為了保證MySQL 數(shù)據(jù)庫內(nèi)存儲數(shù)據(jù)的完整性和可用性,本文提出了一種基于用戶ID 結(jié)合采集最小間隔時間作為唯一標(biāo)識的生命體征存儲方式。數(shù)據(jù)庫內(nèi)的所有行數(shù)據(jù)被添加唯一標(biāo)識,在智慧醫(yī)療系統(tǒng)檢索數(shù)據(jù)時,可以根據(jù)標(biāo)識快速鎖定目標(biāo)數(shù)據(jù),從而提高了數(shù)據(jù)庫的響應(yīng)速度[3]。同樣的,該標(biāo)識還能起到約束作用,保證存儲到MySQL 數(shù)據(jù)庫中的數(shù)據(jù)都是真實(shí)、有效的,提高了數(shù)據(jù)的利用價值。
基于便攜終端的智慧醫(yī)療系統(tǒng)采用“前端設(shè)備→流數(shù)據(jù)中心→智慧醫(yī)療終端”二級通信方式,數(shù)據(jù)上傳和數(shù)據(jù)處理都會花費(fèi)一定時間,因此從采集數(shù)據(jù)到數(shù)據(jù)顯示會存在時間間隔。為了優(yōu)化智慧醫(yī)療系統(tǒng)的使用體驗(yàn),必須最大程度上降低延時,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時顯示。本系統(tǒng)采用多線程技術(shù)達(dá)到實(shí)時信號顯示的效果,其原理是采用“繪圖滾動”方法,將采集到的數(shù)據(jù)在繪圖區(qū)域進(jìn)行多次滾動刷新顯示,讓用戶能夠一目了然的觀察到生命體征的動態(tài)與實(shí)時變化[4]。在多線程技術(shù)下,智慧醫(yī)療系統(tǒng)中的生命體征可以看作指令的有序集合,在程序運(yùn)行時對數(shù)據(jù)執(zhí)行的動態(tài)操作可以看作進(jìn)程(Process)。每個進(jìn)程表示對于一組數(shù)據(jù)的一個動態(tài)操作,通過創(chuàng)建多個進(jìn)程實(shí)現(xiàn)了對生理數(shù)據(jù)動態(tài)采集和實(shí)時呈現(xiàn)。為了避免多個進(jìn)程之間出現(xiàn)通信沖突的情況,本系統(tǒng)采用互斥邏輯關(guān)系優(yōu)化了多個進(jìn)程對資源的占用關(guān)系。當(dāng)智慧醫(yī)療系統(tǒng)同時運(yùn)行2 個及以上的進(jìn)程時,按照時間的先后順序或者是進(jìn)程的重要程度進(jìn)行排序,當(dāng)前一個進(jìn)程結(jié)束、釋放資源后,其他互斥進(jìn)程才能按照順序使用該資源[5]。
4.1.1 測試目的與測試環(huán)境
基于用戶的生命安全考慮,智慧醫(yī)療系統(tǒng)從采集用戶生理信息,到完成數(shù)據(jù)存儲,再到數(shù)據(jù)直觀呈現(xiàn),整個過程中必須要盡量減少時間的占用,降低系統(tǒng)的延遲。從這一點(diǎn)出發(fā),對智慧醫(yī)療系統(tǒng)的數(shù)據(jù)傳輸性能進(jìn)行了測試。測試環(huán)境如下:
(1) CPU:Intel CPU 芯片CoreTM2Quad。
(2) 主頻:2.68 GHz。
(3) 內(nèi)存:4 G。
(4) 網(wǎng)絡(luò):中國聯(lián)通5G 網(wǎng)絡(luò)。
測試環(huán)境布局見圖2。
圖2 數(shù)據(jù)通信測試環(huán)境布局
4.1.2 測試結(jié)果
系統(tǒng)數(shù)據(jù)傳輸測試結(jié)果見表1。
表1 數(shù)據(jù)傳輸測試結(jié)果
由表1 數(shù)據(jù)可知,無論是在5G 網(wǎng)絡(luò)環(huán)境下還是局域網(wǎng)環(huán)境下,便捷終端的發(fā)包數(shù)、監(jiān)聽程序的收包數(shù)與數(shù)據(jù)庫接收包數(shù)始終相等,說明在數(shù)據(jù)傳輸過程中不存在丟包情況,前端采集到的數(shù)據(jù)可以完整的傳輸?shù)浇K端,保證了智慧醫(yī)療系統(tǒng)準(zhǔn)確無誤地監(jiān)測和反映用戶的各項生理數(shù)據(jù),達(dá)到了將采集數(shù)據(jù)準(zhǔn)確寫入數(shù)據(jù)庫的目的。橫向?qū)Ρ葋砜?,通過5G 網(wǎng)絡(luò)發(fā)送840個數(shù)據(jù)包用時為90 秒,但是將這些數(shù)據(jù)寫入數(shù)據(jù)庫用時為1 分48 秒,兩者之間存在18 秒的時間差,存在延遲情況。分析認(rèn)為,與生理數(shù)據(jù)寫入數(shù)據(jù)庫時的網(wǎng)絡(luò)延遲有關(guān)。通過局域網(wǎng)發(fā)送925 個數(shù)據(jù)包用時為88 秒,將數(shù)據(jù)寫入數(shù)據(jù)庫用時為1 分30 秒,兩者之間存在2 秒的時間差,延遲明顯降低。分析認(rèn)為,與發(fā)送端與接收端的連接方式有關(guān)。為了驗(yàn)證這一猜想,設(shè)置了對照試驗(yàn),分別采取網(wǎng)絡(luò)直接連接和連接后數(shù)據(jù)傳遞2 種方式,對比局域網(wǎng)內(nèi)數(shù)據(jù)發(fā)送與接收的延遲情況,測試結(jié)果見表2。
表2 局域網(wǎng)內(nèi)數(shù)據(jù)發(fā)送與接收延遲測試
由表2 數(shù)據(jù)可知,當(dāng)發(fā)送端首次與接收端連接并進(jìn)行數(shù)據(jù)傳遞時,可能存在2 秒左右的延遲;當(dāng)連接建立后再次傳輸數(shù)據(jù),可以將延遲控制在1 秒內(nèi),此時智慧醫(yī)療系統(tǒng)基本上能夠做到數(shù)據(jù)的同步傳輸和實(shí)時顯示。
基于便攜終端對智慧醫(yī)療系統(tǒng),除了保證數(shù)據(jù)傳輸?shù)臅r效性,還要做到數(shù)據(jù)的直觀呈現(xiàn),把繁雜的數(shù)據(jù)轉(zhuǎn)化為直觀的圖像,從而提高系統(tǒng)的人機(jī)交互體驗(yàn)?;诖?,本文使用與上文相同的測試環(huán)境開展智慧醫(yī)療系統(tǒng)顯示效果的測試,測試對象分別為心電信號和呼吸信號,結(jié)果見圖3。
圖3 心電圖實(shí)時動態(tài)顯示結(jié)果
在采集用戶的心電信號時,將智慧醫(yī)療系統(tǒng)讀取數(shù)據(jù)庫的頻率設(shè)定為1 秒/次,用于判斷是否有新的數(shù)據(jù)寫入數(shù)據(jù)庫。當(dāng)數(shù)據(jù)庫更新心電數(shù)據(jù)后,智慧醫(yī)療系統(tǒng)會自動將數(shù)據(jù)添加到顯示屏上,從而保證心電圖曲線的連續(xù)性。按照同樣的處理方法,該系統(tǒng)也能對用戶的呼吸信號進(jìn)行直觀顯示,見圖4。
圖4 呼吸信號實(shí)時動態(tài)顯示結(jié)果
智慧醫(yī)療系統(tǒng)也能用于用戶體溫的監(jiān)測,考慮到體溫信號不需要采取動態(tài)波形的方式顯示,將其設(shè)計成數(shù)字顯示模式。從測試結(jié)果來看也能準(zhǔn)確顯示用戶的實(shí)時體溫,并且只有當(dāng)體溫發(fā)生變化時才會更新顯示結(jié)果。綜上,數(shù)據(jù)顯示測試結(jié)果表明基于便攜終端的智慧醫(yī)療系統(tǒng)的用戶界面簡潔、人機(jī)交互體驗(yàn)良好。
隨著大數(shù)據(jù)、互聯(lián)網(wǎng)、人工智能等技術(shù)在醫(yī)療領(lǐng)域的成熟應(yīng)用,為智慧醫(yī)療系統(tǒng)的推廣應(yīng)用提供了良好基礎(chǔ)?;诒銛y終端的智慧醫(yī)療系統(tǒng),不僅實(shí)現(xiàn)了對用戶心跳頻率、呼吸頻率、體溫等生命體征的不間斷監(jiān)測,而且還能進(jìn)行長時間存儲和直觀化呈現(xiàn),在慢性病的長期觀測和預(yù)防預(yù)測等方面表現(xiàn)出獨(dú)特優(yōu)勢。融合了Socket 通信和多線程技術(shù)的智慧醫(yī)療系統(tǒng),降低了通信延遲,提高了系統(tǒng)響應(yīng)速率,實(shí)現(xiàn)了監(jiān)測數(shù)據(jù)的實(shí)時顯示,可靠性和實(shí)用性較好,具有廣泛的應(yīng)用前景。