體域網中緊急數據優先傳輸調度方法與流程
2023-06-01 19:08:06
本發明涉及基於無線通信傳感器的體域網絡,具體是體域網中緊急數據優先傳輸調度方法。
背景技術:
體域網(BodyAreaNetworks)是基於無線傳感器網絡的一種具有特殊應用的網絡,它主要是由體積小而集成度高的穿戴在人身體上或植入到人體內的傳感器節點,匯集器節點,簇頭節點,基站等共同形成的一個無線網絡。傳感器節點負責監控人體的生命體徵,連續不斷地檢測人體的生理參數並提供實時反饋。簇頭節點負責匯聚匯集器節點的數據進行初步分析並轉發,是體域網和外部公共網絡之間執行數據調度、發送的器件。體域網不僅在解決醫療監護上有著重要作用而且在解決人口老齡化以及緩解醫療資源相對不足的情況有著重大的作用。目前社會上普遍存在著看病難、看病貴,難以進行實時性監控以及偏遠地區的醫療資源匱乏等問題。體域網作為一種新興技術,能夠有效地改善、緩解上述問題。通過體域網的構建可以有效地對病人進行監護,及時檢測出病人的異常情況,為病人診斷爭取寶貴時間,同時,還可以降低病人後續康復檢查成本。隨著體域網在一些關鍵技術以及服務開發方面的突破,它的應用前景將會更加廣闊。由於無線網絡具有時延的特性導致體域網也面臨著數據傳輸具有時延危害。隨著信息化和傳感器技術的發展,如何解決病人突發狀況時產生的緊急信號傳輸的時延問題是電子醫療發展過程當中亟待解決的問題。網絡的時延使得電子醫療等相關對數據實時監控的領域面臨巨大挑戰,其主要是由傳輸時延(發送時延),傳播時延,處理時延和排隊時延所組成的。由於體域網在我國研究時間還比較短,傳感器等技術尚處於發展階段,在針對解決排隊時延的調度算法上處理尚不完善,且容易被人們忽略。將無線網絡的調度算法直接應用與體域網中會存在著許多問題:(1)傳統的網絡條件下一般採用單隊列的先來先服務(FCFS)策略。但是,這種策略在實時性、公平性等方面存在明顯的不足,沒有對緊急數據進行區分,可能導致高危信號長時間排隊等待,從而造成難以預料的後果。(2)目前在考慮優先級因素時常採用的策略是嚴格優先級調度算法,它主要是通過劃分多個優先級隊列來對數據進行分組,並且只有當更高優先級的所有隊列為空時才服務低優先級的隊列。當系統每服務完一個隊列時,都要先進行優先級的比較,對更高優先級的所有隊列進行掃描,判斷其是否為空,只有在更高優先級隊列都為空的狀態下才能服務下一個隊列。這樣就增大了系統的輪詢時間,同時使得低優先級隊列長期處於飢餓狀態。假設系統在服務低優先級隊列時有更高優先級的緊急信號傳輸過來,也需要等待系統將服務的隊列全部發送完成之後才能檢測到,沒有很好的實時性。且在目前的技術中,如何對隊列優先級進行合適的劃分,還沒有明確的界定,有些優先級高的隊列可能常常為空,但是系統仍然每次輪詢時都要對其進行檢測,既浪費了時間,還造成了系統資源的浪費。
技術實現要素:
本發明針對醫療服務系統中體域網的數據傳輸及調度過程僅需在現有的體域網體系中對一些節點系統進行改動,就可以減小緊急數據在網絡傳輸過程中的時延,安全可靠且易於實現。本發明是基於無線網絡的特性和體域網用戶數據的特殊性,用可靠的數據調度策略提供了一種部署在醫療環境中能夠保證用戶的緊急數據優先傳輸的傳輸方案。在現有的體域網體系結構中易於實現,利用對調度算法的改進以及對緊急信號的標識,使得緊急信號的時延降低,從而使用戶的緊急信號能夠儘快傳達到基站,保障了用戶的生命安全。本發明採用的技術方案如下:即一種體域網中緊急數據優先傳輸調度方法,包括緊急數據的緊急欄位標記和數據調度處理步驟。其中緊急數據的緊急欄位標記階段:部署體域網中各層節點,包括採集器節點、匯集器節點、簇頭節點和基站,採集器節點將採集到的數據與存儲於該採集器節點的基準數據進行比較,當採集到的數據處於正常範圍時,採集器節點不對數據的緊急欄位進行操作,作為正常數據轉發給匯集器節點;否則,採集器節點在數據的緊急欄位內賦優先級,並作為緊急數據傳遞給匯集器節點;匯集器節點接收到各採集器節點發送來的數據,處理後計算緊急程度等級,並將該緊急程度等級存儲到匯集器節點即將發送的數據包的緊急欄位中;數據調度處理階段:簇頭節點接收到匯集器節點發送來的數據包後進行調度,改變包數據的發送順序,使緊急數據先傳送到基站。部署體域網中採集器節點、匯集器節點(穿戴在人身體上或植入到人體內的傳感器)和簇頭節點,其中各採集器節點中預置有人體相應部位的正常生理參數值(即基準數據),用於對採集到的數據進行緊急性判斷。本發明在簇頭節點處使用了先來先服務(FCFS)策略和改進的折半插入排序算法,按照隊列的不同而採用相應的算法。部署按照層次式結構,採集器節點和匯集器為第一層網絡,網絡中的簇頭節點為第二層網絡。這樣的層次便於應用於實際生活中,也便於對其進行再次擴充。部署完成後,首先由檢測人體生理參數的傳感器節點採集數據,然後與該節點內置的正常生理參數值進行比較,判斷是否為危急信號,並將病情嚴重度用數值表示,放置在傳感器節點將發送的數據中,匯集器節點在接收到該病人身體各部位傳感器發送的數據後,再按照特定算法計算出該病人病情的嚴重性作為該條數據的優先級,添加在數據報中。簇頭節點在接收到匯集器節點發送的數據後,首先檢測數據,判斷其是否為緊急數據,然後將其放入與之對應的隊列中,不同的隊列按照各自的調度算法對數據進行排隊發送。最後高危病人的緊急數據就會優先發送到基站等待處理,降低了高危信號的排隊時延,使得病人的突發異常狀況能夠儘早的檢測出來,從而實現了對病人的實時監護。本發明利用緊急數據標識和分隊列調度發送時高危信號可以優先發送的特徵,提供了一種有效的數據標識、調度方案。首先,該方法在第一層網絡中就進行了數據的判斷和優先級的計算,確定了匯集器發送的數據是否是緊急數據,避免了在終端進行大量的數據篩選和判斷工作。其次,該方法將隊列合理劃分緊急和非緊急,相對於其他優先級劃分的方法,大大減少了系統的輪詢時間,同時也避免了多隊列造成的系統資源浪費。最後,通過對數據的標識,使得緊急數據在體域網中能夠儘快地發送,有效地減少了緊急數據在傳輸過程中的時延,更便於對病人進行實時監護,滿足了醫療領域數據的及時可靠性,符合體域網的實際使用需求。附圖說明圖1為本發明的系統結構圖;圖2為本發明的層次模型;圖3為本發明所採用的數據報幀格式意圖;圖4為本發明的數據傳輸流程圖。具體實施方式下面結合附圖對本發明的具體實施作進一步的詳細闡明。如圖1所示為本發明的系統結構圖。其中包括:體域網採集器節點(傳感器)及匯集器,負責對數據的採集和判斷,例如腦電圖、心電圖、脈搏、血壓等;簇頭節點,包括數據處理模塊和數據傳輸模塊,負責對接收的數據進行處理和調度傳輸;基站終端,具有接收、處理等功能及多種業務接口。如圖2所示為基本的體域網的層次模型,結合圖1,共分三層:匯集器層、簇頭層、基站。其中匯集器層包含了具有採集和判斷功能的採集器節點以及匯集傳輸數據的匯集器節點,並且在人身體各個部位的採集器節點內都存有相應部位的基準數據(即人體生理參數正常範圍)和該部位的權值。由於環境等因素對測量的結果影響較大(如當人處於不同環境溫度下,測量的體表溫度差異較大),因此受外界影響越小的採集器節點的被賦予的權值越大(如腦電圖的權值>脈搏的權值)。採集器節點存儲數據的作用是使部署在人體各個部位的傳感器在採集到數據後,首先和該節點的內置基準數據進行比較,判斷採集到的數據是否超過正常範圍,然後由配置在人身體上或身體附近的匯集器統一對數據進行處理和傳輸,以此來區分該信號的緊急程度等級。簇頭層的簇頭節點在接收到匯集器發送的數據後進行處理,然後按數據的緊急程度等級進行分類轉發,從而減小緊急信號的排隊時延。基站即接收數據的終端,主要是對接收到的數據進行解密、存儲等一系列處理操作。如圖3所示為本發明所採用的數據報幀格式,根據網絡協議規範以及草案對幀格式的定義,如原草案圖中的幀格式中有4位保留欄位沒有使用,使用其中一位保留欄位作為緊急欄位,即圖中所示的。部署在人體各個部位的傳感器通過將採集到的數據與自身的基準數據進行比較,通過比較的結果來確定的數值。當的數值不為時,簇頭節點的系統獲知此報文段是緊急數據,應儘快傳送(此時的數據根據大小來確定數據的優先級),將此數據放入緊急隊列中排隊發送;當檢測到的值為時,表明傳感器採集到的數據在正常範圍內,則簇節點系統按照正常隊列進行排隊發送。如圖4所示為本發明的數據傳輸流程圖,數據從採集到終端處理需要執行以下步驟:步驟1,本發明中使用的是採用系統的傳感器節點,首先向傳感器節點的存儲器中植入人體該部位的基準數據以及該節點的權值;步驟2,當傳感器節點採集數據後,將採集到的數據和該節點中內置的基準數據進行比較,並進行相應的數據處理;步驟3,匯集器將各個傳感器節點發送的數據統一進行加密,並將數據包傳輸到簇頭層;步驟4,簇頭負責接收數據包,通過判斷緊急欄位是否為,來確定其是否為緊急數據,正常數據進入步驟5,緊急數據則直接進入步驟6;步驟5,將正常數據放入正常隊列中,發送的時間為時刻(其中,為消息進入匯集器的時刻;表示等待異常隊列中緊急數據所發送的時間;表示等待正常隊列中前面數據所發送的時間)後發送該數據;步驟6,將緊急數據放入緊急隊列進行排序,確保高優先級的數據將最先被發送,緊急數據則在時刻(其中,為消息進入匯集器的時刻;表示等待異常數據前面數據所發送的時間)被發送;步驟7,基站接收數據,並對其進行相應的處理。本發明的運行分為緊急數據的緊急欄位標記和數據調度處理兩個階段,下面分別對這兩個階段進行闡述。1.緊急數據的緊急欄位標記過程,具體步驟為:部署在人體各個部位的體域網採集器在收集人體數據時,將採集到的數據和存儲在相應採集器節點的基準數據進行比對,當採集到的數據不在正常範圍內時(即),計算優先級即(相應位置的權值),將優先級的值賦值給數據的緊急欄位,即使得後,傳輸給匯集器節點,匯集器節點在接收到各採集器節點傳出的數據後,將各採集器在身體各部位採集的數據的緊急欄位相加得到該數據包的緊急程度等級,並將緊急程度等級的值賦給該簇頭節點的緊急欄位,即,然後發送到簇頭節點。採集器節點中異常數據的格式為;正常數據的格式為(表示發送採集到的所有數據,i為用戶身體的採集器編號)。2.數據調度處理過程,具體步驟為:當數據包進入簇頭層系統中,簇頭節點檢測數據包中的緊急欄位,並判斷其是否為,如果為,表明該數據中的數據正常,由作業系統進行調度,將其放入正常隊列中,採用先來先服務的調度策略,讓隊列中的數據按序發送。如果緊急欄位不為,則其放入緊急數據隊列中,按照以下調度策略,對所有數據根據優先級排序進行發送:在簇頭節點每次只發送一條數據的情況下,將簇頭節點下一個要發送數據的隊列設為臨界區域,從而實現資源的互斥和共享。在緊急數據隊列進行調度時分以下兩種情況進行討論。(1)當緊急數據隊列不為空時,此時剛接收到的異常數據採用下列策略進行排序,即新數據進入緊急數據隊列時,首先與排在緊急數據隊列隊首(即下一個將要發送的數據)的數據進行權值的比較(即比較數據的欄位值大小),若新數據的值大於隊首數據的值,則直接將該數據插入隊首數據前,等待發送。若新數據的值小於等於隊首數據的值,取緊急數據隊列第個數據(為隊列數據的總個數),即與進行比較,如果大於的值,即,則表明落在緊急數據隊列的前半區,否則落在緊急數據隊列的後半區。然後再按照半區間的隊首到隊尾的順序依次比較數據的值直至(為半區間隊列中數據的下標值)時,將數據插入到數據隊列位置前等待發送。(2)當緊急數據隊列中沒有數據時,首先鎖住臨界資源,使得正常數據隊列被阻塞,並優先發送緊急數據,直到緊急數據隊列為空時,解鎖,再繼續發送正常數據。