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

圖1 智能醫(yī)療分布式數(shù)據(jù)預(yù)處理過(guò)程
在數(shù)據(jù)預(yù)處理過(guò)程中可以明確,構(gòu)建自定義詞庫(kù)是預(yù)處理的第一步。進(jìn)行中文分詞的智能醫(yī)療分布式數(shù)據(jù)就是智能醫(yī)療分布式文本,具有醫(yī)學(xué)概念上的層次結(jié)構(gòu),不能使用高通用性的工具來(lái)建立分布式數(shù)據(jù)庫(kù)自定義詞庫(kù),為了解決分詞效果不理想的現(xiàn)狀,將MongoDB數(shù)據(jù)庫(kù)集群結(jié)構(gòu)引入到了自定義詞庫(kù)中[7]。
在引入MongoDB數(shù)據(jù)庫(kù)集群結(jié)構(gòu)的基礎(chǔ)上,從智能醫(yī)療網(wǎng)絡(luò)中搜索出分布式數(shù)據(jù)的相關(guān)詞匯,將智能醫(yī)療標(biāo)準(zhǔn)詞庫(kù)和相關(guān)詞匯合并,共同構(gòu)成分布式數(shù)據(jù)的自定義詞庫(kù)。
智能醫(yī)療分布式數(shù)據(jù)預(yù)處理的第二步是提取分布式數(shù)據(jù)的標(biāo)本名。首先根據(jù)智能醫(yī)療體系文本,書(shū)寫(xiě)分布式數(shù)據(jù)的結(jié)構(gòu)特點(diǎn),獲取到分布式數(shù)據(jù)的切分規(guī)則,其次是利用MongoDB數(shù)據(jù)庫(kù)集群結(jié)構(gòu)分詞數(shù)據(jù)庫(kù),并進(jìn)行去噪處理,最后根據(jù)標(biāo)本名提取規(guī)則,從數(shù)據(jù)庫(kù)分詞序列中獲取分布式數(shù)據(jù)的標(biāo)本名[8]。提取到的分布式數(shù)據(jù)標(biāo)本如圖2所示。

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

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

圖4 智能醫(yī)療分布式數(shù)據(jù)提取算法流程
綜上所述,將MongoDB數(shù)據(jù)庫(kù)集群結(jié)構(gòu)應(yīng)用到了分布式數(shù)據(jù)的預(yù)處理中,建立了分布式數(shù)據(jù)的動(dòng)態(tài)簇,通過(guò)智能醫(yī)療分布式數(shù)據(jù)提取算法設(shè)計(jì),實(shí)現(xiàn)了智能醫(yī)療分布式數(shù)據(jù)的提取。
本實(shí)驗(yàn)的數(shù)據(jù)提取算法源代碼來(lái)自中國(guó)生物醫(yī)學(xué)文獻(xiàn)服務(wù)系統(tǒng)(http://www.sinomed.ac.cn//index.jsp),實(shí)驗(yàn)參數(shù)設(shè)置如表1所示。

表1 實(shí)驗(yàn)參數(shù)
可在10 000 m2的區(qū)域內(nèi)隨機(jī)分布120個(gè)分布式數(shù)據(jù)節(jié)點(diǎn),在此區(qū)域內(nèi)模擬智能醫(yī)療網(wǎng)絡(luò)如圖5所示。

圖5 智能醫(yī)療網(wǎng)絡(luò)模擬圖
在智能醫(yī)療網(wǎng)絡(luò)模擬圖中,圓圈代表一個(gè)智能醫(yī)療網(wǎng)絡(luò)基站,坐標(biāo)是(50,50),星點(diǎn)代表一個(gè)分布式數(shù)據(jù)節(jié)點(diǎn),用10個(gè)動(dòng)態(tài)簇來(lái)演示實(shí)驗(yàn)場(chǎng)景。智能醫(yī)療網(wǎng)絡(luò)模擬圖中,群組劃分用實(shí)體黑線表示,每個(gè)網(wǎng)格區(qū)域用群組表示。假定智能醫(yī)療網(wǎng)絡(luò)中分布式數(shù)據(jù)節(jié)點(diǎn)的位置信息是確定的,那么每個(gè)分布式數(shù)據(jù)節(jié)點(diǎn)都加入一個(gè)動(dòng)態(tài)簇。簇頭選擇是以動(dòng)態(tài)簇內(nèi)能量最慢的分布式數(shù)據(jù)節(jié)點(diǎn)為基礎(chǔ),以每個(gè)簇內(nèi)最慢節(jié)點(diǎn)為選舉規(guī)則。假定網(wǎng)絡(luò)中所有節(jié)點(diǎn)都與智能醫(yī)療網(wǎng)絡(luò)基站相連,分布式數(shù)據(jù)節(jié)點(diǎn)的初始能量為100 J,感應(yīng)半徑為20 m。
2.3.1 網(wǎng)絡(luò)生存期對(duì)比分析
在2.1和2.2的基礎(chǔ)上,分別采用基于用戶(hù)影響力的數(shù)據(jù)提取算法、基于Tribon模型的數(shù)據(jù)提取算法以及基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法,對(duì)比分析了3種算法的網(wǎng)絡(luò)生存期。實(shí)驗(yàn)結(jié)果如圖6所示。

圖6 網(wǎng)絡(luò)生存期對(duì)比結(jié)果
從圖6的實(shí)驗(yàn)結(jié)果可以看出,基于Tribon模型的數(shù)據(jù)提取算法和基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法的網(wǎng)絡(luò)生存期,都是隨著智能醫(yī)療分布式數(shù)據(jù)節(jié)點(diǎn)數(shù)目的增加而增大,但是基于Tribon模型的數(shù)據(jù)提取算法的網(wǎng)絡(luò)生存期還遠(yuǎn)遠(yuǎn)低于本研究算法,而基于用戶(hù)影響力的數(shù)據(jù)提取算法隨著分布式數(shù)據(jù)節(jié)點(diǎn)數(shù)目的增多,網(wǎng)絡(luò)生存期越來(lái)越短,由此可以看出基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法具有較好的網(wǎng)絡(luò)生存期。
2.3.2 算法能耗對(duì)比分析
在2.1和2.2的基礎(chǔ)上,分別采用基于用戶(hù)影響力的數(shù)據(jù)提取算法、基于Tribon模型的數(shù)據(jù)提取算法以及基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法,對(duì)比分析了3種算法的能耗。實(shí)驗(yàn)結(jié)果如圖7所示。

圖7 算法能耗對(duì)比結(jié)果
從圖7的實(shí)驗(yàn)結(jié)果可以看出,基于用戶(hù)影響力的數(shù)據(jù)提取算法的能耗最高,其次是基于Tribon模型的數(shù)據(jù)提取算法,基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法的能耗最小,在分布式數(shù)據(jù)節(jié)點(diǎn)數(shù)目固定的情況下,基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法明顯比基于Tribon模型的數(shù)據(jù)提取算法更節(jié)省能耗,原因可以從兩方面分析,一是基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法對(duì)分布式數(shù)據(jù)節(jié)點(diǎn)路徑不進(jìn)行重復(fù)查詢(xún),而其他2個(gè)算法會(huì)在增強(qiáng)路徑之前,查詢(xún)整個(gè)智能醫(yī)療網(wǎng)絡(luò)的情況,二是基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法會(huì)隨著能耗的變化,找到最優(yōu)路徑。
基于用戶(hù)影響力的數(shù)據(jù)提取算法的動(dòng)態(tài)簇格式是固定的,當(dāng)智能醫(yī)療網(wǎng)絡(luò)中分布式數(shù)據(jù)節(jié)點(diǎn)數(shù)目增加時(shí),更多的分布式數(shù)據(jù)節(jié)點(diǎn)在監(jiān)測(cè)到智能醫(yī)療體系的突發(fā)事件時(shí),就會(huì)向動(dòng)態(tài)簇頭節(jié)點(diǎn)傳輸分布式數(shù)據(jù),因此造成了該算法在數(shù)據(jù)節(jié)點(diǎn)比較密集的智能醫(yī)療網(wǎng)絡(luò)中會(huì)消耗大量的能量。
2.3.3提取延時(shí)對(duì)比分析
分布式數(shù)據(jù)提取算法在減少算法能耗的同時(shí),也會(huì)產(chǎn)生一定的延時(shí),采用基于用戶(hù)影響力的數(shù)據(jù)提取算法、基于Tribon模型的數(shù)據(jù)提取算法以及基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)提取算法,對(duì)比分析了3種算法的數(shù)據(jù)提取延時(shí)。實(shí)驗(yàn)結(jié)果如圖8所示。

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