屈軍鎖, 左佳麗
(西安郵電大學 通信與信息工程學院, 陜西 西安 710121)
一種可靠數據傳輸技術的設計與實現
屈軍鎖, 左佳麗
(西安郵電大學 通信與信息工程學院, 陜西 西安 710121)
摘要:提出一種提高數據傳輸可靠性的機制。該機制根據業務的實時性與可靠性要求,在互聯網、不同傳輸速率移動數據網絡和短信三者之間自動選擇,并將通信時延和服務器最大承載連接數作為協議切換的條件。在JAVA開發環境下對該機制進行設計開發,并搭建測試環境,使用sockettool工具對其功能進行驗證。測試結果顯示,該機制考慮采集端的網絡狀況,并克服了TCP和UDP傳輸協議本身的固有實時性和可靠性之間的矛盾,實現了靜態、動態多路徑結合的冗余數據的可靠傳輸。
關鍵詞:物聯網;可靠傳輸;模式切換;自適應
物聯網是通過傳感設備,按照約定協議,把各種網絡連接起來,進行信息交換和通信,以實現智能化識別、定位、跟蹤、監控和管理的一種網絡[1-3]。其目的是實現所有物品與網絡的連接,方便識別、管理和控制。保證采集數據高可靠傳輸是物聯網應用中最核心的問題之一[4-5],物聯網業務中數據的采集和可靠傳輸具有突發性、緊急性和多樣性的特點。突發性是指事件通常具有隨機突發的特點,當某事件發生,短時間之內部分節點會出現數據量過大的情況;緊急性是指需要在最短的時間內通知用戶發生緊急事件,在盡可能短的時間內響應并采取相應措施;多樣性是指應用越來越多樣化,應對不同數據流給予不同劃分,以保障轉輸可靠性需求。研究、設計數據可靠傳輸機制[6-8],對提高物聯網業務數據可靠傳輸具有重要的實用價值。
人們從多個方面對數據的可靠傳輸進行了研究,并提出了不同的可靠性保障機制。冗余數據傳輸[9]的基本思想是通過增加傳輸數據冗余量來換取可靠性的提高,冗余量是指將同一數據包傳輸多次或者多份,來保障數據能夠被成功傳送到目的地。冗余數據傳輸方法將所有數據流量集中在同一條路徑上,若傳輸節點失效會對可靠性產生非常大的影響。如果鏈路傳輸質量較差,節點之間過多的數據重傳易導致網絡擁塞,使整體網絡傳輸效率急劇下降。多路徑傳輸[10]通過在源節點和目的節點之間構建多條傳輸路徑,并使數據沿著多條路徑向目的節點傳輸來增加傳輸的成功率。多路徑傳輸有利于網絡的負載均衡,避免了單條路徑失效對網絡傳輸的不利影響,與基于重傳的單路徑相比具有更高的可靠性和更強的容錯能力。
本文擬設計一種靜態、動態多路徑結合的冗余數據可靠傳輸機制,通過自動切換傳輸模式、自動重發糾錯、自動選擇移動數據網絡和網絡負載均衡等來實現數據的可靠傳輸。
1數據可靠傳輸機制的設計
1.1物聯網業務網絡拓撲結構
按照技術特征區分,物聯網的業務分為4類:身份相關業務、信息匯聚型業務、協同感知類業務和泛在服務[11]。
物聯網業務采集并匯聚數據,通過網絡進行資源調度分配,并選擇恰當模式進行傳輸。傳輸網絡按照技術可大致分為兩大類:基于互聯網和基于移動通信網絡。移動通信網絡可以細分為移動數據網絡和傳送文本數據的短信兩種模式。目前公用移動通信網絡包括基于時分的全球移動通信系統(GlobalSystemofMobilecommunication,GSM)和基于碼分多址接入(CodeDivisionMultipleAccess,CDMA)網絡[12],按照傳輸速率可細分為:2G網絡、2.5G網絡、3G網絡、4G網絡和4G-LTE網絡等。
物聯網業務數據傳輸的網絡拓撲結構如圖1所示。傳輸資源調度模塊和傳輸模式選擇模塊共同協作,根據物聯網業務性質和QoS(QualityofService,網絡服務質量)要求,選擇與業務對應的傳輸模式將數據傳輸給數據預處理模塊,最后保存到服務器數據庫。設計的數據傳輸網絡結構涵蓋了互聯網和移動通信網絡模式之間的切換,并且具體到某一模式下,根據數據傳輸過程中的具體需求,調整該模式下的通信協議和傳輸速率等。

圖1 數據傳輸的網絡結構
1.2傳輸幀格式設計
為了驗證整個通信過程是否穩定可靠,擬設計一套通信的數據幀格式,并在JAVA環境下,針對該傳輸機制中的切換條件與方式,進行測試驗證。
數據幀格式是指在信息傳輸時,信息發送方與接收方所遵循的規則和約定。雖然,數據的傳輸基于多種模式,數據獲取的方式不一,但在服務器中,數據都是統一為上層服務的。為屏蔽底層獲取數據方式的不同,讓每一種模式遵守統一的數據傳輸格式,實現服務器對數據進行統一操作。采用的數據格式(十六進制)具體順序如下:
(1)幀頭:FE; 1個字節。
(2)幀類型:01-UDP(UserDatagramProtocol,用戶數據報協議),02-TCP(TransmissionControlProtocol, 傳輸控制協議),03-GSM; 1個字節。
(3)設備編號:默認為該采集儀的IP地址或電話號碼; 4個字節。
(4)長度個數:命令碼字節數+數據域字節數+校驗和字節數+幀尾字節數; 1個字節。
(5)命令碼:上位機的控制命令用,缺省為00。比如切換模式、復位等等; 1個字節。
(6)數據域:w-水分值,t-溫度值,s-狀態等;N字節。
(7)校驗和:前面所有數據的累加和; 1個字節。
(8)幀尾:FF; 1個字節。
根據以上格式,形成一條完整的信息,再進行數據傳輸等操作。這樣可根據格式判定數據的具體位置,準確的找到所需的數據。
1.3傳輸模式自動切換機制
當物聯網終端處于多個無線接入網絡重疊覆蓋的區域內,通常會存在多個可用且穩定的無線網絡連接。根據物聯網業務不同QoS需求,可以選擇不同的無線接入網絡,并可根據無線網絡、無線鏈路的實時動態變化,有針對性地選擇接入不同的無線網絡。
采集器包含網關以及移動通信模塊,網關一直處于工作狀態,隨時監測周邊是否有合適的互聯網環境,一旦條件符合則啟用互聯網模式。反之,一旦互聯網失效,則啟用移動通信模式。或者互聯網模式下,在規定的時間內得不到采集器的響應,則認為通過互聯網模式失效,通過模式設置切換為移動通信模式,完成數據傳輸。具體過程如圖2所示。

圖2 互聯網與移動通信模式切換流程
采集器與服務器一直保持著雙向通信。服務器能隨時了解采集器的狀態,從而根據實際情況控制采集器的通信模式的切換,實現動態多路徑結合的冗余數據可靠傳輸。
1.4傳輸協議自適應選擇
在同一模式下,根據采集數據業務的不同需求及具體狀況,區分為UDP和TCP傳輸協議,UDP協議傳輸速度較快,但難以滿足對數據穩定性要求較高的業務。TCP協議傳輸過程比較穩定,但傳輸時間長,增加了數據開銷,滿足不了即時業務。
采集器會定時給服務器發送采集到的信息,如果初始狀態基于UDP協議,服務器每次收到采集器的信息時,會同時存儲數據、采集器IP以及接收時間等信息。通過比較當前時間與從某采集器接收到的最后一條信息的時間,如超出預定的發送時間間隔次數,則通過服務器主動發起查詢指令,等待其響應;若依然沒有響應時,則認為該協議失效,服務器再嘗試向采集器發送指令,使其切換到TCP協議。具體流程如圖3所示。

圖3 UDP切換至TCP協議的流程
如果互聯網模式下初始為TCP協議,服務器會始終計算同一時段處理的連接數,若所需處理的并發數將要超出服務器同時能處理線程數,則由服務器向采集器發送切換指令。TCP協議切換至UDP協議的具體流程如圖4所示。
若某個時間點的采集器發起的連接數驟然增大,嚴重影響到業務的實時性時,可將現有的通信協議切換到UDP;若某一段時間內,數據包的丟包率大于預設的閾值,嚴重影響到數據的準確性時,可將其切換到TCP,實現靜態多路徑結合的冗余數據可靠傳輸。

圖4 TCP切換至UDP協議的流程
1.5移動數據網絡逐級選擇
在沒有互聯網環境時,模式切換到移動通信模式,優先選擇4G網絡,在這一信號覆蓋不足的情況下,逐步往下從3G、2G中選擇一個可使用的網絡。在最不理想的情況下,也可使用短信發送信息,保持數據的持續可靠傳輸。具體過程如圖5所示。
模塊首先檢測出來當前可用的移動通信網絡,若是4G網絡,則適用于大部分數據業務;若是3G網絡,考慮將數據量較大的視頻數據調整為一些圖片的傳輸,降低傳輸圖片的頻率,保證數據能夠及時可靠地傳輸;如果是2G網絡,則將數據壓縮調整為一些字節信息,傳達一些文本類型的數據,保障數據的傳輸,例如,使用短信來傳遞一些簡短的文本信息。

圖5 移動通信網絡逐級選擇流程
2系統測試及分析
為了對系統整體的性能有所把握,并檢測整個機制的具體運行情況,對系統進行測試并對結果進行分析。搭建相應的環境,在該環境下進行設計與開發,并運行測試。整體的程序都是在JAVA的開發環境下,運用JAVA的開發工具myeclipse測試。測試采用的架構見圖6。

圖6系統測試架構
2.1模式切換測試
若互聯網模式下的服務器長期得不到采集器的響應,則模式切換到了移動通信模式,即使用移動通信網絡發送數據,如圖7所示。

圖7 服務器切換到移動通信模式
可以看出,互聯網模式和移動通信模式間的切換滿足預期的要求。至此,遂將這兩種模式結合起來,二者相互切換,滿足采集數據業務的多種環境需求。實現兩種模式之中任一種網絡環境有效情況下都能有效地傳輸數據,使數據傳輸過程的可靠性增加。
2.2傳輸協議切換測試
首先測試互聯網模式下初始狀態為UDP協議。由于測試環境的限制,在近距離范圍,通信本身很難有超過預設時延的可能,所以測試時采用人工定時向服務器發送數據,以人工控制在某些時段不發送數據,以此來讓服務器檢測時延的長短。
測試時設置每次的通信間隔為10s,通信時延的閾值為3個通信間隔,即30s。使用6臺PC機,利用sockettool工具,模擬采集器,在向服務器發送數據的過程中,讓某一臺PC超過30s不發數據。如圖8所示,該采集器收到一個查詢的指令check。

圖8某一采集器的數據發送與接收情況
此時仍不予反應,再過30s,如圖9所示,通信模式由UDP切換到了TCP。此時,給予服務器回應,開始了TCP模式。

圖9 某采集器的協議切換效果
接著測試初始狀態為TCP協議。1臺服務器能夠同時建立的TCP連接數受到其物理內存的限制,一般為內存的1/4,即1GB內存的機器,大約可以處理5萬個連接。由于測試條件有限,此處設置連接數超過5時,便發送指令使其轉換成UDP協議。
在測試時,使6臺PC通過sockettool工具同時連接服務,從圖10可以看出,由于6個超出了預設的最大連接數5,所以在TCP下無法連接上服務器。

圖10某一采集器TCP連接情況顯示
緊接著協議由TCP切換到了UDP,開始了數據傳輸,同圖9。
測試結果顯示,TCP/UDP協議間切換達到了預期目標,實現了業務正常運營中可能出現的傳輸量大,時延大問題的處理,傳輸過程更加可靠。
2.3逐級選擇機制測試
以2G數據網絡切換到短信模塊為例。從圖11可以看到,檢測到2G網絡,成功傳輸數據。

圖11 2G網絡的數據傳輸形式
此后,將2G數據網絡屏蔽掉,從圖12中可以看出,此時切換到短信傳輸,并且短信內容更加簡潔。

圖12 短信的傳輸數據形式
從以上測試可見,移動通信網絡的逐級選擇達到了預期效果,實現了根據具體的移動通信的網絡類型,調整數據傳輸具體內容,達到了充分利用現有資源,及時可靠傳輸數據的目的。
3結語
設計與實現了一種數據可靠傳輸機制,其可根據業務需求進行分配管理。利用通信時延、連接數以及業務運營的環境和數據量來衡量業務狀態,并以此作為切換條件,通過服務器發送指令進行模式切換。此外,在互聯網的信號不穩定時,立即啟用移動通信模式,并根據條件,逐級選擇通信網絡來傳輸數據,保證信息采集的持續性,使整個傳輸過程更加穩定可靠。
實驗結果表明,設計的數據傳輸機制能夠在不同的突發狀態下,完成模式間以及模式內部協議和網絡類型的切換,進行持續平穩的通信,達到可靠傳輸的目的。
參考文獻
[1]屈軍鎖. 物聯網通信技術[M].北京:中國鐵道出版社,2011:7-14.
[2]邢曉江,王建立,李明棟.物聯網的業務及關鍵技術[J].中興通訊技術,2010,16(2):27-30.DOI: 10.3969/j.issn.1009-6868.2010.02.007.
[3]LuigiA,AntonioI,GiacomoM.TheInternetofThings:Asurvey[J].ComputerNetworks, 2010,54(15): 2787-2805.DOI:10.1016/j.comnet.2010.05.010.
[4]唐珂,馬柯.一種挑戰環境下中基于點到點的可靠傳輸確認機制[J].數據通信.2010(4):32-34.DOI:10.3969/j.issn.1002-5057.2010.04.009.
[5]夏盛明,尹寶林.一種可靠的消息傳輸機制[J].計算機技術與發展.2009,19(10):30-32.DOI:10.3969/j.issn.1673-629X.2009.10.008.
[6]潘慧芳,周興社,楊剛.基于混合通信模式的消息中間件設計與實現[J].計算機工程.2006,32(03):116-118.DOI:10.3969/j.issn.1000-3428.2006.03.042.
[7]劉君強,彭智勇.信息集成系統中的模式融合問題研究[J].計算機工程.2007,33(16):1-3.DOI:10.3969/j.issn.1000-3428.2007.16.001.
[8]黃伯平,趙蔚,余延冬.自適應學習系統參考模型比較分析研究[J].中國電化教育, 2009(8):97-101.DOI:10.3969/j.issn.1006-9860.2009.08.023.
[9]于波,于東,孫建偉.馬爾科夫決策過程在多路徑冗余傳輸調度算法中的應用[J].小型微型計算機系統.2012,33(04):847-851.DOI:10.3969/j.issn.1000-1220.2012.04.035.
[10] 薛淼,高德云,張思東,等.面向下一代網絡的端到端多路徑傳輸層架構[J].通信學報.2010,31(10):26-35.DOI:10.3969/j.issn.1000-436X.2010.10.004.
[11] 東輝,唐景然,于東興.物聯網通信技術的發展現狀及趨勢綜述[J].通信技術.2014,47(11):1233-1239.DOI:10. 3969 /j.issn. 1002-0802.2014.11.001.
[12] 吉多杰加.移動通信網絡優化現狀及發展趨勢[J].價值工程.2012(4):125.DOI: 10. 14018/j.cnki.cn13 -1085/n. 2012. 04. 176.
[責任編輯:楊洵]
Designandimplementationofareliabletechnologyaboutdatatransmission
QUJunsuo,ZUOJiali
(SchoolofCommunicationandInformationEngineering,Xi’anUniversityofPostsandTelecommunications,Xi’an710121,China)
Abstract:A mechanism to improve transmission reliability is proposed for current data transmission in the Things business. In this mechanism, selection is automatically carried out among the Internet, mobile data transmission network of different rates and the message according to the requirements of real-time and reliability, while, the communication delay and the largest connections number of server are regarded as the condition of agreements switch, thus, it can implement a data reliable transmission mechanism combining static, dynamic, multipath and redundancy. The mechanism is then designed in the JAVA environment and its function is verified by sockettool. Results show that, the mechanism considers fully about the network conditions of collector, and overcomes the inherent contradictions between timeliness and reliability of TCP and UDP transport protocol.
Keywords:Internet of Things, reliable transmission, mode switching, adaptive
doi:10.13682/j.issn.2095-6533.2016.02.008
收稿日期:2015-12-05
基金項目:陜西省科技廳科學研究計劃資助項目(2012K06-50)
作者簡介:屈軍鎖 (1968-),男,教授,從事寬帶通信與信息化研究。E-mail:qujunsuo@xupt.edu.cn 左佳麗 (1989-),女,碩士研究生,研究方向:物聯網技術及應用。E-mail: 154818394@qq.com
中圖分類號:TP393
文獻標識碼:A
文章編號:2095-6533(2016)02-0040-06