一種多跳無線傳感網絡數據傳輸方法及系統的製作方法
2023-10-05 21:02:04
專利名稱:一種多跳無線傳感網絡數據傳輸方法及系統的製作方法
技術領域:
本發明涉及一種網絡數據傳輸方法及系統,尤其涉及一種多跳無線傳感網絡數據傳輸方法及系統。
現有技術目前針對無線傳感網絡(WSN)的可靠傳輸機制主要有基於數據校驗的機制、基於傳輸控制協議(TCP)改進的可靠傳輸機制、基於路徑修復的可靠性傳輸機制和基於多路策略的傳輸機制等類型。慢存快取傳輸協議(PSFQ)是基於單跳數據校驗機制的代表,它進行每跳數據錯誤檢查與恢復,避免數據錯誤的積累導致通信質量下降,具有很好的容錯性和可擴展性,但同時也增加了複雜度,加重了網絡節點的負擔。基於TCP改進的可靠傳輸協議主要有事件到中心節點的傳輸協議(ESRT),它考慮事件發生時節點產生大量數據所導致的網絡擁塞狀況,力求使用最少能量達到可靠傳輸數據的目的,但它假設基站能夠和節點直接通信,因此只適用於小範圍覆蓋的網絡。基於路徑修復的傳輸方法主要有SWR,SWR採用路徑修復和單路傳輸確認方法保證數據可靠傳輸,但當信道錯誤率較高時增加了確認和修復開銷。基於位置的可靠區分服務機制是多路策略的數據傳輸機制的代表。基於位置的可靠性區分服務機制藉助GPS定位,並只對處於一定矢量距離之內的節點進行可靠數據傳輸,使得能夠在減少能量消耗的前提下,提供可靠數據傳輸,但它只考慮使用區分的路由機制,未考慮區分網絡數據。由於WSN的網絡環境和網絡特點,傳統端到端的確認重傳機制由於採用當信道錯誤時快速減少數據發送速率的方法解決數據可靠傳輸,將導致WSN的數據傳輸由於惡劣的無線信道帶來傳輸性能的急劇下降,所以傳統的傳輸機制不能適用於WSN。且這些傳輸方法沒有考慮各種不同特性的數據流的區別。在申請號為「201010592229.0」發明名稱為「基於無線傳感網絡的數據傳輸方法」的專利申請中公開了一種數據傳輸方法簇頭節點對其簇內各節點的同類型數據進行融合併設置相應的優先級,在根據數據的不同優先級分別進行轉發。該方法中數據在簇頭融合時,由於只經過簇內單跳傳輸,因此數據的初始優先級都為最低優先級,簇頭只需計算數據的個數,不事先讀取數據優先級值,且無需考慮數據的路由和判斷數據源節點的異同,保證了方法的簡單性和實用性。該方法在簇頭節點提高了具有高優先級的重要數據的轉發機會,保證了網絡中重要數據的優先傳輸。在上述基於分簇無線傳感網絡的數據傳輸方法中,僅在簇頭節點對其簇內節點進行數據融合和區分傳輸,在分簇數量較少的小型無線網絡具有較好的效果,但對節點大範圍部署的大型多跳網絡來說,由於數據的多跳轉發佔用更多傳輸時間,數據傳輸協議更複雜,同時多跳網絡中存在多重路由等特點,使得簡單的簇頭數據傳輸方法不能在多跳網絡中獲得很好的效果
發明內容
本發明所要解決的技術問題提供一種多跳無線傳感網絡數據傳輸方法及系統,保證數據優先級的正確性,以提高多跳無線傳感網絡數據傳輸可靠性。為了解決上述技術問題本發明採用了如下的技術手段一種多跳無線傳感網絡數據傳輸方法,包括如下步驟步驟1、源節點生成數據包,該數據包的包頭中含有三個欄位,分別代表數據類型、優先級、源節點ID ;步驟2、中間節點收到兩個源節點發送的數據後,讀取各數據包的包頭,先判斷數據類型,對不同數據類型不進行數據融合,保持數據優先級不變;對同類型數據再判斷源節點ID並進行數據融合,根據源節點ID的個數修改數據的優先級;步驟3、根據融合後的數據優先級由高到低的順序進行轉發。進一步地,步驟3中對於具有相同優先級的數據,則隨機選擇傳輸順序。進一步地,步驟1中源節點生成數據包時先對三個欄位進行初始化,其中優先級欄位初始化為最低優先級,源節點ID初始化成該源節點的ID。進一步地,源節點及中間節點自己生成的數據優先級最低。進一步地,步驟2具體包括如下步驟步驟21、首先讀取兩個數據的包頭,判斷是否屬於同一數據類型;步驟22、如果不同,則不進行數據融合,繼續讀取其他數據,若相同,則繼續判斷源節點ID ;步驟23、如果源節點ID沒有重複,則直接對兩個數據的進行融合,並根據源節點ID的個數計算融合後數據的優先級;步驟M、如果源節點ID重複,則對重複的源節點ID只保留一個,再對兩個數據進行融合,並根據源節點ID的個數計算融合後數據的優先極。一種多跳無線傳感網絡數據傳輸系統,包括數據生成模塊、用於生成數據包,該數據包的包頭中含有三個欄位,分別代表數據類型、優先級、源節點ID ;數據融合模塊、用於當中間節點收到兩個源節點發送的數據後,讀取各數據包的包頭,先判斷數據類型,對不同數據類型不進行數據融合,保持數據優先級不變;對同類型數據再判斷源節點ID並進行數據融合,根據源節點ID的個數修改數據的優先級;數據轉發模塊、根據融合後的數據優先級由高到低的順序進行轉發,對於具有相同優先級的數據,則隨機選擇傳輸順序。進一步地,所述數據融合模塊包括第一判斷模塊、用於讀取兩個數據的包頭,判斷是否屬於同一數據類型,如果不同,則不進行數據融合,繼續讀取其他數據;第二判斷模塊、用於當屬於同一數據類型時判斷源節點ID ;第一數據融合模塊、如果源節點ID沒有重複,則直接對兩個數據的進行融合,並根據源節點ID的個數計算融合後數據的優先級;第二數據融合模塊、如果源節點ID重複,則對重複的源節點ID只保留一個,再對兩個數據進行融合,並根據源節點ID的個數計算融合後數據的優先極。本發明由於專門針對多跳無線傳感網絡,可能存在數據在多條路由同時傳輸的現象,故在數據傳輸過程中,除保存優先級外,還保存數據的源節點ID,在進行數據融合時,通過判斷數據的源節點ID,使得通過多路傳輸的同一數據的優先級不被重複計算,保證數據優先級的正確性。本發明對同類型數據進行融合,對更多節點生成的數據融合後進行優先轉發,減少網絡數據傳輸量,並保證更多節點生成的數據優先可靠傳輸,保證網絡中大範圍發生的事件及時可靠發現。
圖1是本發明的數據的包頭欄位示意圖。圖2是中間節點對數據的融合流程圖。圖3是多跳網絡數據傳輸示意圖。圖4是數據融合中欄位的變化過程示意圖。
具體實施例方式為了更好地理解本發明的技術方案,下面結合具體實施例對本發明進行詳細的闡述,本發明的方法包括如下步驟步驟1、源節點生成數據包,每個數據包的包頭中有三個欄位A、B和C,如圖1所示。其中欄位A為數字代表數據類型,欄位B為數字代表優先級,欄位C包括產生該數據包的源節點ID。欄位A和B的長度皆為4位,欄位C長度為源節點ID長度的16倍。源節點生成數據時,對其欄位A、B和C進行初始化,欄位A根據數據類型初始化,欄位B初始化為最低優先級,欄位C包括該源節點ID。數據傳輸過程中,轉發該數據的中間節點可對該三個欄位進行修改。步驟2、中間節點收到兩個源節點發送的數據後,讀取各數據包的包頭,先判斷欄位A,對欄位A不同則不進行數據融合,保持數據優先級不變;對欄位A相同的再判斷欄位C並進行數據融合,根據欄位C中源節點ID的個數修改數據的優先級;對同一類型的數據進行融合後,其優先級會被新優先級取代,若數據未被融合,其優先級保持不變。優先級數字越大,表示優先級越高,代表該數據越重要,將被優先傳輸。這樣被越多節點發送過來的同類型數據優先級越高,在網絡中有相應的更高傳輸機會。對於具有相同優先級的數據,則隨機選擇傳輸順序。所有節點(包括中間節點)自己的數據優先級最低。步驟3、根據融合後的數據優先級由高到低的順序進行轉發。其中,步驟2中中間節點對兩個數據的融合過程如圖2所示。首先讀取兩個數據的包頭,判斷欄位A,若不同表示不同數據類型,則不進行數據融合,繼續讀取其他數據,若相同,表示相同數據類型,則繼續判斷欄位C,若欄位C的源節點ID中沒有重複,則直接對兩個數據的欄位C進行合併,若欄位C的源節點ID中有重複,則對重複的源節點ID只保留其中一個,再對兩個數據的欄位C進行合併。合併好欄位C後根據源節點ID的個數計算融合後數據的優先級。至此,完成兩個數據的融合過程。中間節點對所有收到的所有數據完成融合後,根據融合後數據的優先級進行轉發。下面結合如圖3所示以一個具體的傳輸實施來說明數據融合過程一個多跳無線
5傳感網絡包含傳感節點(sensor node)和匯聚節點(sink)兩種節點,所有傳感節點的數據都要傳輸至匯聚節點。所有節點生成的數據優先級初始化為1。節點m的緩存有數據的情況下,收到節點N2的數據後,進行數據融合時需按要求對數據包頭中的欄位B和C進行修改,具體過程如圖4所示。當節點m緩存中本來有兩種類型數據DATAl和DATA2 (這裡用DATAl表示其為第一種類型的數據),優先級皆為2,DATAl的源節點為IDl和ID2,DATA2的源節點為ID3和ID5。節點B緩存中有兩種類型數據DATA2和DATA3,優先級分別為2和1。DATA2的源節點為ID3和ID7,DATA3的源節點為ID9。當節點m收到節點N2的數據後,節點m發現可以對數據進行融合。融合過程中判斷m原有緩存中的DATA2的源節點ID3與收到的DATA2的源節點ID3相同,故融合後的DATA2的源節點為ID3、ID5和ID7,優先級為3。最終融合為三種類型數據DATA1、DATA2和DATA3,優先級分別為2、3和1,DATAl的源節點為IDl和ID2,DATA2的源節點為ID3、ID5和ID7,DATA3的源節點為ID9。表示節點附傳輸三種類型的數據順序為DATA2、DATA3和DATAl。數據優先級變化過程如表1所示。表 權利要求
1.一種多跳無線傳感網絡數據傳輸方法,其特徵在於,包括如下步驟步驟1、源節點生成數據包,該數據包的包頭中含有三個欄位,分別代表數據類型、優先級、源節點ID ;步驟2、中間節點收到兩個源節點發送的數據後,讀取各數據包的包頭,先判斷數據類型,對不同數據類型不進行數據融合,保持數據優先級不變;對同類型數據再判斷源節點ID並進行數據融合,根據源節點ID的個數修改數據的優先級;步驟3、根據融合後的數據優先級由高到低的順序進行轉發。
2.根據權利要求1所述的多跳無線傳感網絡數據傳輸方法,其特徵在於,步驟3中對於具有相同優先級的數據,則隨機選擇傳輸順序。
3.根據權利要求2所述的多跳無線傳感網絡數據傳輸方法,其特徵在於,步驟1中源節點生成數據包時先對三個欄位進行初始化,其中優先級欄位初始化為最低優先級,源節點ID初始化成該源節點的ID。
4.根據權利要求3所述的多跳無線傳感網絡數據傳輸方法,其特徵在於,源節點及中間節點自己生成的數據優先級最低。
5.根據權利要求1所述的多跳無線傳感網絡數據傳輸方法,其特徵在於,步驟2具體包括如下步驟步驟21、首先讀取兩個數據的包頭,判斷是否屬於同一數據類型步驟22、如果不同,則不進行數據融合,繼續讀取其他數據,若相同,則繼續判斷源節點ID ;步驟23、如果源節點ID沒有重複,則直接對兩個數據的進行融合,並根據源節點ID的個數計算融合後數據的優先級;步驟M、如果源節點ID重複,則對重複的源節點ID只保留一個,再對兩個數據進行融合,並根據源節點ID的個數計算融合後數據的優先極。
6.一種多跳無線傳感網絡數據傳輸系統,其特徵在於,包括數據生成模塊、用於生成數據包,該數據包的包頭中含有三個欄位,分別代表數據類型、優先級、源節點ID ;數據融合模塊、用於當中間節點收到兩個源節點發送的數據後,讀取各數據包的包頭,先判斷數據類型,對不同數據類型不進行數據融合,保持數據優先級不變;對同類型數據再判斷源節點ID並進行數據融合,根據源節點ID的個數修改數據的優先級;數據轉發模塊、根據融合後的數據優先級由高到低的順序進行轉發。
7.根據權利要求6所述的多跳無線傳感網絡數據傳輸系統,其特徵在於,所述數據融合模塊包括第一判斷模塊、用於讀取兩個數據的包頭,判斷是否屬於同一數據類型,如果不同,則不進行數據融合,繼續讀取其他數據;第二判斷模塊、用於當屬於同一數據類型時判斷源節點ID ;第一數據融合模塊、如果源節點ID沒有重複,則直接對兩個數據的進行融合,並根據源節點ID的個數計算融合後數據的優先級;第二數據融合模塊、如果源節點ID重複,則對重複的源節點ID只保留一個,再對兩個數據進行融合,並根據源節點ID的個數計算融合後數據的優先極。
全文摘要
本發明提供一種多跳無線傳感網絡數據傳輸方法及系統,其中所述的方法包括如下步驟步驟1、源節點生成數據包,該數據包的包頭中含有三個欄位,分別代表數據類型、優先級、源節點ID;步驟2、中間節點收到兩個源節點發送的數據後,讀取各數據包的包頭,先判斷數據類型,對不同數據類型不進行數據融合,保持數據優先級不變;對同類型數據再判斷源節點ID並進行數據融合,根據源節點ID的個數修改數據的優先級;步驟3、根據融合後的數據優先級由高到低的順序進行轉發。本發明的方案保證數據優先級的正確性,以提高多跳無線傳感網絡數據傳輸可靠性。
文檔編號H04W28/16GK102395162SQ20111034222
公開日2012年3月28日 申請日期2011年11月2日 優先權日2011年11月2日
發明者楊宇, 王貴蘭, 範光宇 申請人:上海電機學院