龐志成
(西安交通大學城市學院計算機科學與信息管理系,西安 710018)
自組織網絡與現在大部分網絡不一樣,由于現階段網絡是一種基于客戶端-服務器模式下的網絡,通過客戶端發送請求,利用服務端接收反饋需求,其中各種網絡設備在網絡中具有特定角色,而自組織網絡中的各種設備是對等的。在信息交互時,自組織網絡既可以作為客戶端,也可做服務端。無線自組織網絡中的多跳跳值表示信息傳遞次數,無線傳感器網絡就是由部署在監測區域內大量傳感器節點組成的,通過無線通信方式形成一個多跳自組織網絡。可靠有效遠距離多跳無線自組織網絡數據分發機制是諸如城市交通信息采集、出行時間查詢等多種傳統網絡數據傳輸系統應用的關鍵[1]。傳統系統中的這種數據可通過無線網絡之間的多跳無線通信來實現,雖然該系統操作起來較為簡單,但在實際應用中會受到無線通信鏈路間斷影響,導致數據傳輸延遲或丟包現象發生,從而嚴重影響數據分發質量。為了改善傳統系統存在分發效果差的問題,提出了遠距離多跳無線自組織網絡數據分發控制系統。該系統能適應網絡動態變化,實現數據可靠有效分發。
遠距離多跳無線自組織網絡數據分發系統是以分鐘級數據的增長方式來保證系統實時性。系統數據傳輸采用的是消息隊列機制,這種異步傳輸方式可通過重新傳輸、連續傳輸等方式,使數據傳送過程具有魯棒性。系統采用分層設計方法,使功能模塊能夠更好應對系統以外故障,進而增加系統運行穩定性[2]。
針對遠距離多跳無線自組織網絡數據分發控制系統總體結構的設計,提出了一個四層結構系統框架,如圖1所示。
圖1 系統總體框架
由圖1可知:該系統是由數據層、處理層、傳輸層和應用層組成的。其中數據層可存儲底層信息,利用數據庫管理系統維護數據庫的日常工作;處理層可完成底層數據與傳輸層數據之間的交換,采用java語言對數據處理層進行開發,從數據庫中直接抽取數據,并對其進行集成、清洗等操作,將全部數據按照標準格式文件進行發布處理,系統實時工作特性是由這層定時任務工作機制來實現的;傳輸層可控制傳輸策略,管理傳輸過程;應用層可完成相應人機交互功能,開發數據客戶端腳本,利用該腳本依據既定協議完成數據的傳輸[3]。
遠距離多跳無線自組織網絡數據分發控制系統架構主要是由數據管理平臺、數據客戶端組成的。其中數據管理平臺可分為數據分發共享平臺網站、云存儲、種子資源服務器和跟蹤服務器等組件[4]。具體硬件結構設計如圖 2所示。
圖2 數據分發控制硬件結構
由圖2可知:數據分發控制平臺主要負責管理用戶數據信息和處理數據資源,以網絡服務來提供數據資源信息查詢和種子文件下載;種子資源服務器主要負責解析自動做種,為遠距離多跳無線自組織網絡數據分發控制系統提供數據資源;跟蹤服務器可跟蹤系統中所有參與的節點和數據狀態,以便節點與節點之間能相互發現,并隨時交換文件[5]。
1.1.1 數據分發控制平臺
根據實際需要對源文件進行數據處理,使節點轉變成新的文件存儲到另一個指定位置當中。該平臺的設計實現了數據的拷貝、復制、分流和過濾等功能。具體結構設計如圖3所示。
圖3 數據分發控制平臺設計
由圖3可知:數據分發控制平臺是由后臺任務流程調度管理實現的,創建全局資源數據庫,在用戶創建一個流程后會有數據庫與目標文件,而每個目標文件會有不同字段個數與類型,全局資源類型創建為了方便建立了流程圖服務機制[6]。
1.1.2 種子資源服務器
種子 (BT)是一種非常流行的下載方式,與以往HTTP和FTP下載不同,經過BT下載的文件,使用戶和用戶之間的傳輸速度更快、更方便,大大節省了服務器資源,適用于大文件,如電影、音樂傳輸等。一般在BT種子資源服務器中找到的是一個記錄文件的信息[7]。
為了保障系統服務器設備的安全,需單獨組網,與遠距離多跳無線自組織網絡隔離,通過防火墻等設備與遠距離多跳無線自組織網絡中的服務器進行部分數據交換,進而實現數據的分發。
1.1.3 跟蹤服務器
采用FusionServer 2288H V5型號跟蹤服務器,可廣泛適用于網絡虛擬化、大型數據庫、大數據等負載。2288H V5型號服務器可配置2路英特爾擴展處理器、24條DDR4內存擴展插槽、31*2.5本地存儲資源以及4/8/12/24/28個NVMe SSD硬盤,為管理軟件降低運營成本、提升投資回報。針對跟蹤服務器具體跟蹤內容進行設計,如圖4所示。
當網絡管理員想要了解網絡通行情況時,利用跟蹤服務器的追蹤功能,通過查詢目標地之間所經常的網絡節點,可計算通過各個節點所花費的時間,根據該時間有效控制數據分發情況[8]。
硬件結構中的跟蹤服務器是系統控制數據分發的主要元件,針對該元件進行軟件部分的設計。
1.2.1 軟件設計流程
采用java語言進行開發,從數據庫中隨機抽取數據,對數據進行集成和清洗等預處理操作,并將數據轉換為xml格式進行發布[9]。整個軟件部分的工作特性是由定時任務工作機制來實現的,具體設計流程如圖5所示。
圖4 具體內容跟蹤
圖5 軟件設計流程
遠距離多跳無線自組織網絡數據擁有者先啟動任務,登錄上述硬件結構中的數據分發控制平臺,添加數據描述信息,并上傳分發數據;利用云存儲保存原始數據,并生成相應種子文件,發送做種命令到種子服務器;當種子資源服務器完成初始化做種行為后,為數據分發控制系統提供可下載數據資源。
1.2.2 基于連通度的數據分發控制
根據無線自組織網絡采集的數據建立各個節點長度變化模型。當時間為t1時,節點以周期z相鄰節點長度變化來預測[t1,t1+z]時間段內節點密度,以此獲取連通度實時變化。根據節點密度預計網絡連通度結果。估計數據沿著當前網絡傳輸產生的延遲,依據當前路口到達目的地時,途徑各個路段的傳輸延遲,計算數據分發最短路徑,達到有效控制的目的。其中V為距離真實傳輸目的地最近的節點,具體計算過程如下所示:
1)無線自組織網絡數據使用者應先注冊用戶名,登錄數據管理平臺系統。根據用戶搜索的關鍵字、數據種類和數據信息,下載相應種子文件;
2)客戶端打開種子文件,通過超文本傳輸協議連接追蹤服務器,客戶端向服務器發送標準get請求,由此獲取peer列表;
3)客戶端依次連接peer列表,通過節點之間信息的傳遞來實現數據分片的傳送;
4)數據使用者向追蹤服務器發送已經存在的分片信息,追蹤者更新peer列表,完善各個peer列表分片信息。
如果數據客戶端下載完數據后,馬上離開對等計算機網絡,那么會造成系統下載功能衰竭,利用數據分發控制系統進行嘗試性疏通節點傳輸,種子服務器將平臺長期運行的數據采取了強制分發機制,以此鼓勵下載節點做種,可有效阻止系統功能衰竭。
在跟蹤服務器中添加強制分發模塊,根據用戶萬能鑰匙值來統計用戶數據傳輸總量、下載總量和被分發的數量。分發數據量較多的用戶被賦予較高權限,而分發數據量較少的用戶被賦予較低的權限,對于只享用而不分發的用戶則直接踢出種子服務器。數據分發控制系統的設計不但提高了種子在系統的停留時間,還保證了數據分發控制系統的公平性。
遠距離多跳無線自組織網絡通過優先選取距離較遠的節點作為數據包,可大大網絡傳輸過程中出現的跳數,進而降低數據包分發時延,并減少網絡中出現的冗余信息,有效提高數據分發控制效率。通過計算數據包傳輸距離,可獲取接受節點信號強弱以及節點傳送的位置信息。為此,使用距離設置轉發時延協議,使接收節點分發時延與發送節點距離成反比。節點分發時延計算公式為:
公式 (1)中:MDT為節點最長等待時間;S為節點信號傳輸范圍;X為數據發送節點與接收節點之間的距離,e為常數。在該協議下,隨著節點密度增加,真正分發的節點數量也會隨之增加,為了解決節點持續增加的問題,添加一個和節點密度成反比的轉發概率,使分發節點數量保持恒定,由此實現無時延遠距離多跳無線自組織網絡數據分發控制系統的設計。
根據遠距離多跳無線自組織網絡數據分發控制系統總體結構,分別對系統硬件和軟件部分進行設計。依據數據分發控制硬件結構,對數據分發控制平臺、種子資源服務器和跟蹤服務器進行分析。其中數據分發控制平臺的設計為系統提供數據拷貝、復制、分流和過濾等功能;種子資源服務器使數據傳輸速度變快,減少了資源浪費現象的出現;跟蹤服務器可查詢目標地之間的網絡節點,通過計算數據通過各個節點所花費的時間,實現數據分發的有效控制。對跟蹤服務器軟件部分展開研究,采用java語言進行開發,設計軟件流程,采用連通度數據分發控制方案,保證了數據分發控制系統的公平性。為了降低數據包分發時延出現的次數,并減少網絡中出現的冗余信息,使用距離設置轉發時延協議,使接收節點分發時延與發送節點距離成反比。通過上述設計的系統,可實現無時延遠距離多跳無線自組織網絡數據分發控制。
采用Java語言實現遠距離多跳無線自組織網絡數據分發控制系統的設計,通過實驗驗證該系統的分發性能。實驗環境設置包括6臺相同配置的工作平臺,具體參數設置如表1所示。
表1 實驗參數設置
全千兆交換機在1臺工作站上配置數據管理平臺,包括共享分發控制平臺、種子資源服務器和追蹤服務器。在其余5臺工作站上配置4臺虛擬機,總共20臺虛擬機作為下載節點,與種子資源服務器一起構成數據分發網絡。
為了驗證遠距離多跳無線自組織網絡數據分發控制系統設計的合理性,設計了3種情況。分別是1個種子、1 G分發數據,下載節點呈倍數增長;1個種子、40個下載節點;1個種子、1 G分發數據,下載節點增長緩慢。
2.2.1 情況1
1個種子、1G分發數據,下載節點呈倍數增長,分別采用傳統系統與自組織網絡控制系統分發的數據數量進行對比如圖6所示。
圖6 兩種系統分發數據數量對比結果
由圖6可知:當下載節點數量為2時,傳統系統比自組織網絡控制系統分發的數據多2 GB;當下載節點數量為4時,傳統系統比自組織網絡控制系統分發的數據多5 GB;當下載節點數量為6時,傳統系統比自組織網絡控制系統分發的數據多6 GB;當下載節點數量為8時,傳統系統比自組織網絡控制系統分發的數據多7 GB;當下載節點數量為8時,傳統系統比自組織網絡控制系統分發的數據多8 GB;當下載節點數量為10時,傳統系統比自組織網絡控制系統分發的數據多9 GB;當下載節點數量為12時,傳統系統比自組織網絡控制系統分發的數據多12 GB;當下載節點數量為14時,傳統系統比自組織網絡控制系統分發的數據多14 GB;當下載節點數量為16時,傳統系統比自組織網絡控制系統分發的數據多15 GB;當下載節點數量為18時,傳統系統比自組織網絡控制系統分發的數據多17 GB;當下載節點數量為20時,傳統系統比自組織網絡控制系統分發的數據多19 GB。由此可知,傳統系統分發的數據隨著下載節點數量的增加而增加,自組織網絡系統分發的數據穩定在1~2 GB之間,大大緩解了數據傳輸壓力。
2.2.2 情況2
1個種子、40個下載節點,分別采用傳統系統與自組織網絡控制系統分發的數據數量進行對比如圖7所示。
圖7 兩種系統分發數據數量對比結果
由圖7可知,傳統系統受到長時延影響,導致分發控制效果較差,當下載節點數在4~40之間時,傳統系統數據分發數量為31個,遠遠超過系統所能承受的范圍,無法緩解數據傳輸壓力;而自組織網絡控制系統不會受到長時延的影響,當下載節點數在0~4之間時,自組織網絡控制系統數據分發數量為9個,有效緩解數據傳輸壓力。
2.2.3 情況3
1個種子、1 G分發數據,下載節點增長緩慢。分別采用傳統系統與自組織網絡控制系統分發的數據數量進行對比如圖8所示。
圖8 兩種系統分發數據數量對比結果
由圖8可知:當下載節點數量為1時,傳統系統比自組織網絡控制系統分發的數據基本一致;當下載節點數量為2時,傳統系統比自組織網絡控制系統分發的數據多1 GB;當下載節點數量為3時,傳統系統比自組織網絡控制系統分發的數據多2 GB;當下載節點數量為4時,傳統系統比自組織網絡控制系統分發的數據多5 GB;當下載節點數量為5時,傳統系統比自組織網絡控制系統分發的數據多5 GB;當下載節點數量為6時,傳統系統比自組織網絡控制系統分發的數據多8 GB;當下載節點數量為7時,傳統系統比自組織網絡控制系統分發的數據多9 GB;當下載節點數量為8時,傳統系統比自組織網絡控制系統分發的數據多11 GB;當下載節點數量為9時,傳統系統比自組織網絡控制系統分發的數據多12 GB;當下載節點數量為10時,傳統系統比自組織網絡控制系統分發的數據多13 GB。與情況1對比結果一致,自組織網絡控制系統可緩解數據傳輸壓力。
在情況1中,傳統系統比自組織網絡控制系統分發的數據最多為19 GB;在情況2中,傳統系統比自組織網絡控制系統分發的數據最多為22 GB;在情況3中,傳統系統比自組織網絡控制系統分發的數據最多為13 GB。自組織網絡控制系統不會受到長時延的影響,可緩解數據傳輸壓力。
自組織網絡控制系統使用距離設置轉發時延協議,使接收節點分發時延與發送節點距離成反比,有效減少了長時延問題出現的次數,能夠緩解數據傳輸壓力,達到高效數據分發控制的目的。該系統能夠上傳數據并自動做種,可支持對用戶的直接訪問與控制,通過實驗驗證了自組織網絡控制系統具有良好分發性能,能夠滿足遠距離多跳無線自組織網絡數據分發控制需求。在未來研究工作中,采用自組織網絡數據分發控制系統能夠為海量網絡數據分發提供良好支持,并可作為主要分發機制,應用到電力集團所負責的某種信息系統中,進一步提高控制大規模網絡數據分發控制系統的性能,為我國航天系統、軍艦系統提供有效幫助。