李鑫
(鄂州市中心醫院,湖北,鄂州 436000)
智能醫療利用無線網絡實現患者與醫生、醫院以及醫療設備之間的互動,通過采用無線傳感網絡技術、條碼識別技術,實現特殊患者、醫療器械以及廢棄藥品的識別與管理。我國政府非常重視智能醫療體系的發展,盡管如今我國的健康體檢中心的數量快速上升,規模較大的專業體檢機構主要有美年大健康、愛康國賓、瑞慈體檢、九華體檢等,但是針對整個市場的格局來說,國內智能醫療健康產業基本停留在體檢階段[1]。目前看來,國內一些機構開始打造感知健康工程項目,構建智能醫療信息平臺,使智能醫療體系更富有智慧[2];國外也在智能醫療分布式數據提取方面將數據融合技術與路由技術相結合,構造了智能醫療分布式數據融合樹,從而提高了智能醫療分布式數據的融合效率,彰顯了智能醫療分布式數據提取算法的地位[3]。
基于用戶影響力的數據提取算法首先利用模擬技術獲取用戶之間的關系,在這種關系基礎上,構建用戶影響力網絡,根據用戶影響力計算方法,計算出用戶影響力,并建立與智能醫療分布式數據特征相符的影響力模型,挖掘出最具傳播力的智能醫療分布式數據節點,實現醫療數據的提取,實驗證明了該算法可以提高智能醫療分布式數據的獲取質量[4];基于Tribon模型的數據提取算法采用Tribon模型框架,將智能醫療分布式數據進行系統化的處理,利用分段分析方法,測試智能醫療分布式數據的質量和性能,保證智能醫療體系始終處于最佳狀態,仿真結果顯示該算法可以擴大數據提取范圍[5]。
基于以上背景,本研究將MongoDB數據庫應用到了智能醫療分布式數據提取算法中,解決了智能醫療分布式數據的提取難度。
智能醫療分布式數據的預處理工作主要由2部分組成,一是通過智能醫療詞庫和MongoDB數據庫構建智能醫療分布式數據自定義詞庫,二是讀取智能醫療分布式數據集并進行子句的切分,提取分布式數據的標本名和中文分詞,最后輸出智能醫療分布式數據集<標本名,標本描述>[6]。具體預處理過程如圖1所示。

圖1 智能醫療分布式數據預處理過程
在數據預處理過程中可以明確,構建自定義詞庫是預處理的第一步。進行中文分詞的智能醫療分布式數據就是智能醫療分布式文本,具有醫學概念上的層次結構,不能使用高通用性的工具來建立分布式數據庫自定義詞庫,為了解決分詞效果不理想的現狀,將MongoDB數據庫集群結構引入到了自定義詞庫中[7]。
在引入MongoDB數據庫集群結構的基礎上,從智能醫療網絡中搜索出分布式數據的相關詞匯,將智能醫療標準詞庫和相關詞匯合并,共同構成分布式數據的自定義詞庫。
智能醫療分布式數據預處理的第二步是提取分布式數據的標本名。首先根據智能醫療體系文本,書寫分布式數據的結構特點,獲取到分布式數據的切分規則,其次是利用MongoDB數據庫集群結構分詞數據庫,并進行去噪處理,最后根據標本名提取規則,從數據庫分詞序列中獲取分布式數據的標本名[8]。提取到的分布式數據標本如圖2所示。

圖2 標本名提取流程
在智能醫療分布式數據的預處理階段,以上引入了MongoDB數據庫集群結構,構建了分布式數據的自定義詞庫,同時提取出分布式數據的標本名,完成了智能醫療分布式數據的預處理[9];接下來通過建立分布式數據的動態簇,獲取完整的分布式數據。
建立分布式數據動態簇的過程中,采用多跳方式集成分布式數據到簇頭之間的傳輸,分布式數據動態簇的建立步驟做如下描述。
Step1:配置智能醫療網絡,通過智能醫療網絡基站使分布式數據節點可以獲取到醫療數據的信息,利用信息交換獲得分布式數據相鄰節點的信息。
Step2:將智能醫療網絡中所有分布式數據節點的狀態都設置為休眠狀態,等待數據提取驅動器被喚醒[10]。
Step3:當智能醫療網絡出現突發事件時,休眠的分布式數據節點就會被喚醒,其狀態變成數據收發模式,該數據節點將成為簇頭,并播報成簇信息,采用全新的監測數據MD來更新原有的NHT數據,將分布式數據節點成簇信息廣播的跳數記作K,計算式如下:
K=ε|MD-NHT|
(1)
式中,ε表示傳播系數,通常作為一個常數使用。
Step4:休眠節點接收到簇頭的廣播信息后,分布式數據節點的狀態就會變成活躍狀態,當接收廣播包的AETT值和ID值與前一次相同,表示接收到的分布式數據信息是重復的,可以將該廣播包丟棄。
Step5:當智能醫療網絡出現突發事件時,在突發事件區域就會立即形成相應的動態簇,這一動態簇是以首個接收的分布式數據節點為中心,當已經成簇的分布式數據節點再次遇到網絡故障時,休眠的分布式數據節點不會進入活躍狀態,已經成簇的節點也不會再次出現冗余成簇現象[11]。
Step6:釋放分布式數據的動態簇。
當分布式數據簇頭的活躍時間結束后,就會將該動態簇釋放,并將簇頭與簇內分布式數據節點轉變成休眠狀態,等待下一次事件響應,重新參與動態簇頭的競選。
上述分布式數據動態簇的建立過程,可以減少智能醫療網絡中的冗余數據,提高分布式數據準確性的同時還可以平衡智能醫療網絡的能耗[12]。分布式數據動態簇的形成過程如圖3所示。

圖3 分布式數據的成簇過程
以上利用分布式數據動態簇的建立步驟,設計了分布式數據的成簇過程,完成分布式數據動態簇的建立,接下來通過智能醫療分布式數據提取算法程序設計,來實現分布式數據的提取。
DB波是智能醫療分布式數據波形變化最強烈的部分,DB波的斜率與其他波形之間的差距較大,DB波反映了分布式數據的極化過程[13]。在智能醫療分布式數據提取算法程序中,首先采用單位時程的方式,每3 s分割一次分布式數據,并讀取單位時程內的分布式數據,將該數據保存在RG數組中,另外建立RG-diff和RG-all 2個數組,將分布式數據的初值設置為0[14]。利用數據差分算法掃描分布式數據,用式(2)計算數據的差分值[15]。
Δyi=yi-yi-1
(2)
式中,yi表示i時刻的分布式數據。將Δyi保存在RG-diff數組中,判斷Δyi的正負值,如果相鄰分布式數據Δyj到Δyj之間所有數據都為正值,可以令
(3)
如果相鄰分布式數據Δyj到Δyj之間所有數據都為負值,則令
(4)
式中,ak、aj都是RG-all數組中的分布式數據,RG-all數組中元素保存的是分布式數據連續正差值之和以及負差值之和。
智能醫療分布式數據提取算法程序如圖4所示。

圖4 智能醫療分布式數據提取算法流程
綜上所述,將MongoDB數據庫集群結構應用到了分布式數據的預處理中,建立了分布式數據的動態簇,通過智能醫療分布式數據提取算法設計,實現了智能醫療分布式數據的提取。
本實驗的數據提取算法源代碼來自中國生物醫學文獻服務系統(http://www.sinomed.ac.cn//index.jsp),實驗參數設置如表1所示。

表1 實驗參數
可在10 000 m2的區域內隨機分布120個分布式數據節點,在此區域內模擬智能醫療網絡如圖5所示。

圖5 智能醫療網絡模擬圖
在智能醫療網絡模擬圖中,圓圈代表一個智能醫療網絡基站,坐標是(50,50),星點代表一個分布式數據節點,用10個動態簇來演示實驗場景。智能醫療網絡模擬圖中,群組劃分用實體黑線表示,每個網格區域用群組表示。假定智能醫療網絡中分布式數據節點的位置信息是確定的,那么每個分布式數據節點都加入一個動態簇。簇頭選擇是以動態簇內能量最慢的分布式數據節點為基礎,以每個簇內最慢節點為選舉規則。假定網絡中所有節點都與智能醫療網絡基站相連,分布式數據節點的初始能量為100 J,感應半徑為20 m。
2.3.1 網絡生存期對比分析
在2.1和2.2的基礎上,分別采用基于用戶影響力的數據提取算法、基于Tribon模型的數據提取算法以及基于MongoDB數據庫的數據提取算法,對比分析了3種算法的網絡生存期。實驗結果如圖6所示。

圖6 網絡生存期對比結果
從圖6的實驗結果可以看出,基于Tribon模型的數據提取算法和基于MongoDB數據庫的數據提取算法的網絡生存期,都是隨著智能醫療分布式數據節點數目的增加而增大,但是基于Tribon模型的數據提取算法的網絡生存期還遠遠低于本研究算法,而基于用戶影響力的數據提取算法隨著分布式數據節點數目的增多,網絡生存期越來越短,由此可以看出基于MongoDB數據庫的數據提取算法具有較好的網絡生存期。
2.3.2 算法能耗對比分析
在2.1和2.2的基礎上,分別采用基于用戶影響力的數據提取算法、基于Tribon模型的數據提取算法以及基于MongoDB數據庫的數據提取算法,對比分析了3種算法的能耗。實驗結果如圖7所示。

圖7 算法能耗對比結果
從圖7的實驗結果可以看出,基于用戶影響力的數據提取算法的能耗最高,其次是基于Tribon模型的數據提取算法,基于MongoDB數據庫的數據提取算法的能耗最小,在分布式數據節點數目固定的情況下,基于MongoDB數據庫的數據提取算法明顯比基于Tribon模型的數據提取算法更節省能耗,原因可以從兩方面分析,一是基于MongoDB數據庫的數據提取算法對分布式數據節點路徑不進行重復查詢,而其他2個算法會在增強路徑之前,查詢整個智能醫療網絡的情況,二是基于MongoDB數據庫的數據提取算法會隨著能耗的變化,找到最優路徑。
基于用戶影響力的數據提取算法的動態簇格式是固定的,當智能醫療網絡中分布式數據節點數目增加時,更多的分布式數據節點在監測到智能醫療體系的突發事件時,就會向動態簇頭節點傳輸分布式數據,因此造成了該算法在數據節點比較密集的智能醫療網絡中會消耗大量的能量。
2.3.3提取延時對比分析
分布式數據提取算法在減少算法能耗的同時,也會產生一定的延時,采用基于用戶影響力的數據提取算法、基于Tribon模型的數據提取算法以及基于MongoDB數據庫的數據提取算法,對比分析了3種算法的數據提取延時。實驗結果如圖8所示。

圖8 提取延時對比結果
從圖8的實驗結果可以看出,3種提取算法中基于用戶影響力的數據提取算法的數據提取延時最小,這是由于基于用戶影響力的數據提取算法中所有分布式數據節點都是以單跳模式來向動態簇頭傳輸分布式數據的,動態簇頭再按照數據提取周期進行處理,并發送給匯聚節點,該算法的延遲時間主要是在動態簇頭發生,但是對于智能醫療體系中出現的突發事件,基于用戶影響力的數據提取算法并不適用;基于MongoDB數據庫的數據提取算法的延時就遠遠小于其他2種算法,從整體上分析,基于MongoDB數據庫的數據提取算法是一個可以平衡能耗和延時的算法,具有非常高的應用價值。
綜合以上實驗結果,無論是在網絡生存期、算法能耗還是提取延時方面,基于MongoDB數據庫的數據提取算法的性能遠高于其他2種算法。
本研究提出了基于MongoDB數據庫的智能醫療分布式數據提取算法。在MongoDB數據庫集群結構的基礎上,對智能醫療分布式數據進行了預處理;利用分布式數據動態簇的建立步驟,設計了分布式數據的成簇過程,并建立了分布式數據動態簇,最后設計智能醫療分布式數據提取算法,實現了智能醫療分布式數據的提取。實驗結果顯示,基于MongoDB數據庫的智能醫療分布式數據提取算法在網絡生存期、算法能耗還是提取延時方面的性能更好。但如果運算數據過大的話,本算法可能會產生一定偏差,為此在以后的研究中,將會加強對該方面的改進。