本發明涉及無線傳感器網絡應用技術領域,特別涉及一種基于正交溯源的無線傳感器網絡異常節點發現方法及系統。
背景技術:
無線傳感器網絡(wirelesssensornetworks,wsn)是由部署在監測區域內,具有數據采集、通信、存儲和處理能力的傳感器節點構成的自組織通信系統,其中,每一個傳感器為網絡的一個節點,用于環境感知,并將感知的數據以多跳方式傳輸到基站。在無線傳感器網絡中,由于工作位置、性能配置、布局設計以及其它人為或者自然等因素,各傳感器節點的工作狀態差異較大,因而無線傳感器網絡中通常存在很多異常節點,這些異常節點主要包括:(1)離散節點,即:與其他節點之間無數據傳輸的非連通節點;(2)閑置節點,即:低負載或空負載節點;(3)過載節點,即:負載過重的繁忙節點;(4)失效節點,即:因能量耗盡或中途故障等原因導致不能承擔通信任務的節點。由于大量廉價的傳感器節點部署在不可控的環境中,無線傳感器網絡中上述節點的出現概率很高,而這些節點的存在極大地降低了無線傳感器網絡的服務質量,成為影響wsn連通性、穩定性和可用性的主要原因,因此,及時有效的發現和處置這些異常傳感器節點,對wsn的整體運行性能至關重要。
針對上述問題,本發明從數據溯源角度提出一種識別wsn中上述四類異常節點的新方法。無線傳感器網絡的數據溯源是指對基站接收的數據進行追溯,還原出該數據在傳輸過程中的傳輸路徑。通過對大量數據傳輸路徑的收集和擬合,可得到單位時間周期內由wsn節點和通信鏈路形成的傳輸拓撲,以及各傳感器節點的活躍(繁忙)情況。根據傳輸拓撲,可直觀地區分wsn的離散節點;通過對節點活躍性的定量分析,可發現wsn的閑置節點和過載節點;由于wsn的傳輸拓撲具有隨時間演變的動態性,因而從不同時段獲得的傳輸拓撲中,可以跟蹤各節點的活躍度,發現失效節點。
從上述分析可知,數據溯源是發現上述四類異常節點的關鍵步驟。
為實現wsn的數據溯源,需對wsn數據傳輸過程的相關信息進行標記,以便在基站根據這些信息還原出數據的傳輸路徑,這些信息被稱為wsn的數據溯源信息。目前,wsn數據溯源技術存在溯源信息量無上限的問題,即:溯源信息量正比于轉發節點的數量。由于傳感器節點的計算能力和存儲能力均有限,如何控制溯源信息量便成為wsn數據溯源技術的關鍵問題。為解決這一問題,發明人在基于偽隨機序列的無線傳感器網絡數據溯源方法.中國發明專利,申請號:201510646810.9中提出一種基于偽隨機序列的無線傳感器網絡數據溯源方法,此方法為每個節點分配一個唯一且互為正交的標識序列,利用向量的正交特性實現路由節點標識序列的疊加復用,即:各路由節點在轉發數據之前,將自己的標識序列與數據包中的溯源數據進行疊加,而基站則利用標識序列的正交性,從數據包的疊加編碼中分離出參與數據包轉發的各路由節點的標識信息。此方法可有效解決溯源信息無上限問題,但該方法的溯源數據中不含轉發順序信息,因而從溯源數據中僅能得知哪些節點參與了轉發,無法得知這些節點的實際轉發順序,為此,基于偽隨機序列的無線傳感器網絡數據溯源方法.中國發明專利,申請號:201510646810.9采用icmp協議來重構傳輸路徑,但icmp協議給出的是一種近似溯源結果,其所重構的傳輸路徑與實際傳輸路徑之間存在一定概率的誤差。
技術實現要素:
本發明提供一種基于正交溯源的wsn異常節點發現方法及系統。本發明所述無線傳感器網絡異常節點,是指wsn中的離散節點、閑置節點、過載節點和失效節點;所述離散節點是指與其他節點之間無數據傳輸的非連通節點;所述閑置節點是指wsn中低負載或空負載節點;所述過載節點指wsn中負載過重的繁忙節點;所述失效節點是指因能量耗盡或中途故障等原因導致不能承擔通信任務的節點。所述正交溯源,指基站采用基于正交標識的wsn數據溯源方法對所接收的數據包進行追溯,還原出該數據包的實際傳輸路徑。
為了提供精確的數據傳輸路徑,本發明對基于偽隨機序列的無線傳感器網絡數據溯源方法.中國發明專利,申請號:201510646810.9提出的數據溯源方法進行改進和延伸:將節點轉發順序信息添加到溯源信息中,使溯源信息內含路由節點的轉發順序信息;在基站端,不再使用icmp協議,而是繼續利用節點標識序列的正交特性,通過計算溯源數據與各節點標識序列的規格化內積,來分離當前數據包傳輸過程中各路由節點的標識信息和轉發順序,從而還原出數據包的精確傳輸路徑。
本發明所述基于正交溯源的wsn異常節點發現方法,包含數據溯源、傳輸拓撲發現和異常節點發現三個關鍵步驟:首先,通過數據溯源獲得數據的實際傳輸路徑;然后,利用正交溯源所得到的數據傳輸路徑,來擬合wsn的傳輸拓撲;最后,根據傳輸拓撲的連通性發現離散節點,根據傳輸拓撲中節點的活躍性來發現wsn的閑置節點和過載節點,通過監測節點的活躍度變化情況來發現失效節點。本發明所述傳輸拓撲,是指由基站所轄區域內各傳感器節點及其通信鏈路形成的反映數據實際通信過程的邏輯拓撲。
為了實現上述目的,本發明采用如下技術方案:
基于正交溯源的wsn異常節點發現方法,包括:數據溯源、傳輸拓撲發現和異常節點發現三個階段;
所述數據溯源階段:對基站收到的數據包進行追溯,還原出該數據包的實際傳輸路徑,此階段包含三部分內容:(1.1):正交溯源配置:給無線傳感器網絡中所有傳感器節點分配正交標識,以及確定溯源信息的載體協議;(1.2):溯源信息標記:各傳感器節點對數據包中的溯源數據字段內容進行疊加復用;(1.3)傳輸路徑重構:基站通過將數據包的溯源數據字段內容與所轄區域內各個傳感器節點的正交標識分別進行規格化內積計算,得到參與當前數據包傳輸的傳感器節點標識及其轉發順序,據此還原出數據包的實際傳輸路徑;
所述傳輸拓撲發現階段:按照(1.3)所述方法對接收的數據包進行溯源,獲得數據包的實際傳輸路徑,根據所得到的傳輸路徑來擬合無線傳感器網絡的傳輸拓撲,并累計傳輸路徑中節點出現的頻次,所述頻次即為wsn傳輸拓撲中節點的活躍性度量;
所述異常節點發現階段:根據傳輸拓撲發現階段所得到的傳輸拓撲的連通性發現離散節點,根據節點的活躍度發現閑置節點和過載節點,通過監測節點的活躍度變化情況發現失效節點。
所述(1.1):正交溯源配置,包括以下兩個子步驟:
步驟(1.1.1):分配正交標識;
無線傳感器網絡中的每一個傳感器節點noder均分配有一個唯一且與其他傳感器節點互為正交的正交標識vr=(vr,1,vr,2,…,vr,n),vr,k=1或-1,k=1,2,…,n,n表示正交標識的維數;r=1,2,…,r,r表示傳感器節點的個數;noder表示第r個傳感器節點;vr表示第r個傳感器節點的正交標識;vr,n表示第r個傳感器節點的正交標識的第n項;
步驟(1.1.2):確定載體協議;
選取溯源信息的載體協議,根據載體協議的語法規則,在數據包的首部或數據包間隔等位置設置溯源數據字段,用于攜帶溯源信息。
所述步驟(1.1.1):
所述互為正交是指任意兩個傳感器節點nodep和nodeq的正交標識vp=(vp,1,vp,2,…,vp,n)與vq=(vq,1,vq,2,…,vq,n)相互正交,即:
所述傳感器節點正交標識的生成,可采用現有的正交向量生成方法。
無線傳感器網絡中每個基站都記錄其所轄區域內各傳感器節點的正交標識。
由于通常無線傳感器網絡含大量傳感器節點,為減少正交標識的長度,可根據無線傳感器網絡的規模設定僅在同一個基站的所轄區域內各傳感器節點的正交標識具有唯一性,或對無線傳感器網絡進行分區,設定在一個區域內各傳感器節點的正交標識具有唯一性。
所述步驟(1.1.2)中:
所述載體協議是指作用于傳感器節點與基站之間,可攜帶溯源信息的wsn數據通信協議。
所述(1.2):標記溯源信息;
發送數據包的傳感器節點,在發送數據之前,將自己的正交標識寫入當前溯源數據字段;數據包在傳輸過程中,每經過一個路由節點,在轉發數據之前,該路由節點執行以下步驟:
(1.2.1)讀取數據包的當前跳數k和數據包的溯源數據字段值wk=(wk,1,wk,2,…,wk,n);
(1.2.2)將溯源數據字段值wk與自己的正交標識v=(v1,v2,…,vn)按公式1進行疊加運算;
wk+1=wk+k·v(公式1)
其中:wk+1=(wk+1,1,wk+1,2,…,wk+1,n);wk+1,i=wk,i+k·vi,i=1,2,…,n
(1.2.3)運算后的疊加編碼wk+1寫入數據包的溯源數據字段;
所述(1.3):傳輸路徑重構:
設w=(w1,w2,…,wn)為基站所讀取的溯源數據字段內容,vt=(vt,1,vt,2,…,vt,n)為基站所轄區域內任意節點nodet的正交標識,則所述規格化內積計算公式如公式2;
其中,若內積值τ≠0,則τ即為節點nodet在當前數據包傳輸中的轉發次序;若τ=0,則節點nodet未參與當前數據包的轉發。
所述傳輸拓撲發現階段,分為以下步驟:
步驟(2.1):對基站的傳輸拓撲進行初始化;
設tp(b)為當前基站b所轄區域的傳輸拓撲,記tp(b)=(nb,eb),
其中,nb={n1,n2,…,nm}為基站b所轄區域傳感器節點的集合,m為節點數量;
eb={<ni,nj>|ni,nj∈nb}為通信鏈路的集合,<ni,nj>為鏈路邊,表示自節點ni到nj是一條數據傳輸鏈路,
對任意nj∈nb,記x(nj)為節點nj的活躍度權值;
將基站b的傳輸拓撲tp(b)中鏈路集合eb初始化為空集,所轄區域各節點的活躍度權值初始化為零,即:對任意nj∈nb,x(nj)←0;
步驟(2.2):基站每收到一個數據包,均執行以下子步驟:
步驟(2.2.1):對接收的數據包進行溯源;
設d為基站接收的當前數據包,通過數據溯源,得到該數據包在傳輸過程中所經過的實際傳輸路徑p(d)={<nd,1,nd,2,…,nd,t>},其中,nd,k∈nb,k=1,2,…,t,t為路徑長度,nd,1為d的源發送節點,nd,k表示數據包d的傳輸路徑上的第k個節點。
步驟(2.2.2):根據溯源結果對傳輸拓撲進行擬合;
將傳輸路徑p(d)中所有鏈路邊均加入鏈路集合eb,并累計各節點的活躍度權值。即:
eb←(eb∪{<nd,1,nd,2>,<nd,2,nd,3>,…,<nd,t-1,nd,t>});
并且,節點的活躍度權值:x(nd,k)←(x(nd,k)+1),k=1,2,…,t;
其中,x(nd,k)表示節點nd,k的活躍度權值;
步驟(2.3):輸出傳輸拓撲;
設置拓撲發現時間點,重復執行步驟(2.2)直到拓撲發現時間點,輸出得到的傳輸拓撲(nb,eb),并且,
對任意nk∈nb,輸出節點nk的活躍度權值x(nk);
所述異常節點發現階段;
設置傳感器節點活躍度低臨界閾值α、高臨界閾值β,設置監測周期t、離散節點監測頻度ω1、閑置節點監測頻度ω2、過載節點監測頻度ω3、失效節點監測頻度ω4;
基站對所轄區域的所有傳感器節點進行監測,在每個監測周期內,基站對所接收的各數據包按照傳輸拓撲發現階段所述方法得到當前監測周期的傳輸拓撲,則:
在距離當前時間最近的連續ω1個監測周期內,若存在節點nk∈nb,nk與其他任何節點之間沒有鏈路邊,則節點nk為離散節點;
在距離當前時間最近的連續ω2個監測周期內,若存在節點nk∈nb,其活躍度權值x(nk)均小于α,則節點nk為閑置節點;
在距離當前時間最近的連續ω3個監測周期內,若存在節點nk∈nb,其活躍度權值x(nk)均大于β的節點,則節點nk為過載節點;
在距離當前時間最近的連續ω4個監測周期內,若存在時間點t′,在t′之前某節點nk∈nb的活躍度權值x(nk)均不為零,而在t′之后x(nk)不發生變化,則節點nk為失效節點。
基于正交溯源的wsn異常節點發現系統,包括:數據溯源、傳輸拓撲發現和異常節點發現三個模塊;
所述數據溯源模塊:用于實現對數據包傳輸路徑的溯源,還原數據包的實際傳輸路徑;
所述傳輸拓撲發現模塊:此模塊在基站中運行,其作用是:根據所述數據溯源模塊得到的數據包傳輸路徑來擬合無線傳感器網絡的傳輸拓撲,并累計傳輸路徑中各節點的活躍度權值,在設定的時間點輸出傳輸拓撲。
異常節點發現模塊:此模塊在基站中運行,其作用是:設置拓撲監測周期和監測頻度,對所述傳輸拓撲發現模塊所得到連續時段的傳輸拓撲進行監測,根據傳輸拓撲的連通性發現離散節點,根據傳輸拓撲中節點的活躍度權值來發現wsn的閑置節點和過載節點,通過監測節點的活躍度變化情況來發現失效節點。
所述數據溯源模塊由三部分組成:
正交標識分配單元:此單元在基站或其他wsn管控站點中運行,其作用是:生成正交標識集,給wsn中各傳感器節點分配正交標識;
溯源信息標記單元:此單元在各傳感器節點中運行,其作用是:當需要發送數據包時(當前節點為源發送節點),將當前節點的正交標識寫入數據包的溯源數據字段;當需要轉發數據包時(當前節點為路由節點),讀取該數據包的溯源數據字段和跳數字段,將所讀取的字段內容與當前節點的正交標識進行疊加運算,并將運算結果寫入數據包的溯源數據字段中。
傳輸路徑重構單元:此單元在基站中運行,其作用是:當收到數據包時,讀取該數據包的溯源數據字段內容,通過將溯源數據與基站所轄區域內各個傳感器節點的正交標識分別進行規格化內積計算,獲得參與當前數據包轉發的各路由節點標識及其轉發次序,并依此還原數據包的傳輸路徑。
本發明的創新性
1本發明提供一種根據數據溯源結果發現wsn異常節點的新方法,通過數據溯源獲得數據包的實際傳輸路徑,利用傳輸路徑來擬合wsn的傳輸拓撲,根據傳輸拓撲的連通性和各節點的活躍度來發現異常節點。
2本發明將無線傳感器網絡中數據包的路由順序信息融入基于正交疊加的溯源信息中,使wsn的溯源信息同時具有可正交復用和內含路由順序兩種關鍵特征,其中,可正交復用特性解決了溯源信息量規模問題,內含路由順序則實現了數據傳輸路徑的精確溯源,即:以有限的開銷實現了wsn數據傳輸路徑的精確溯源。
3本發明提供一種發現離散節點、閑置節點、過載節點和失效節點的綜合解決方案。
本發明的有益效果
1本發明提供一種發現wsn離散節點、閑置節點、過載節點和失效節點的簡單有效的新方法,為無線傳感器網絡的穩定性監控與服務質量分析提供了重要依據。
2本發明提供了一種以有限的開銷實現無線傳感器網絡數據傳輸路徑精確溯源的新方法,解決了現有無線傳感器網絡數據溯源技術中存在的溯源數據量不可控與傳輸路徑不能精確還原的問題。
3本發明所述方法設計巧妙,方法簡單,且對傳感器節點資源占用小,具有良好的可實現性。
附圖說明
圖1是本發明溯源數據標記流程圖;
圖2是本發明傳輸路徑重構流程圖;
圖3是本發明傳輸拓撲擬合流程圖;
圖4是本發明異常節點發現示意圖;
圖5(a)-5(d)是本發明所述傳輸拓撲發現及其演變示意圖。
具體實施方式
下面結合附圖與實施例對本發明作進一步說明。
如圖1所示,路由節點在轉發數據包之前,讀取數據包的溯源數據字段值,將該溯源數據字段值與自己的正交標識及轉發順序進行疊加運算,將所得疊加編碼寫入中數據包的溯源數據字段中。
如圖2所示,數據包攜帶溯源數據傳至基站時,基站讀取該數據包的溯源數據字段,通過規格化內積運算,提取參與該數據包傳輸的所有節點標識及其路由次序信息,并以此還原出數據包的傳輸路徑。
如圖3所示,基站收到數據包d后,首先對數據包d進行溯源,獲得d的實際傳輸路徑<nd,1,nd,2,…,nd,t>,然后將該路徑中各鏈路邊均加入鏈路集合eb中,并對傳輸路徑中節點出現的頻次進行累計,該累計頻次即為wsn傳輸拓撲中節點的活躍性度量。
如圖4所示,數據溯源階段得到數據包的實際傳輸路徑,拓撲發現階段利用數據傳輸路徑來擬合wsn的傳輸拓撲,異常節點發現階段根據傳輸拓撲的連通性和各節點的活躍度來發現四類異常節點。
表1和圖5(a)-5(d)為本發明所述方法的示例:設某基站所轄區域傳感器節點集合為{n1,n2,n3,n4,n5,n6,n7,n8},設置拓撲發現時間點為:t1、t2、t3和t4,基站在各時間點數據溯源統計結果如表1所示,其中,t3至t4時段內存在時間點t’,自t’到t4時間段內,測得節點n3的活躍度權值未發生變化。
表1某基站在不同時間點數據溯源統計結果示例表
基于上述描述,在每個時間點,基站對所得到的數據包的溯源結果按照圖3所示的擬合步驟,生成傳輸拓撲,圖5(a)為t1時刻的傳輸拓撲圖;圖5(b)為t2時刻的傳輸拓撲圖;圖5(c)為t3時刻的傳輸拓撲圖;圖5(d)為t4時刻的傳輸拓撲圖(虛線鏈路邊表示自t’到t4時間段內,節點n3與其他節點無鏈路邊)。圖5(a)-5(d)中節點旁邊的數字表示節點的活躍度權值。從圖5(a)-5(d)中可以看出:節點n8與其他節點之間沒有鏈路邊,因此節點n8為離散節點同時也是閑置節點,節點n3為過載節點,在t3至t4時段,節點n3變為失效節點。
上述雖然結合附圖對本發明的具體實施方式進行了描述,但并非對本發明保護范圍的限制,所屬領域技術人員應該明白,在本發明的技術方案的基礎上,本領域技術人員不需要付出創造性勞動即可做出的各種修改或變形仍在本發明的保護范圍以內。