萬 翔 施齊林
(中國電子科技集團公司第二十八研究所 南京 210007)
?
分布式數據傳輸系統關鍵技術設計*
萬 翔 施齊林
(中國電子科技集團公司第二十八研究所 南京 210007)
數據傳輸系統作為信息系統軟件核心構件,是各信息系統中心實現信息交互的前提與基礎。論文在基于現有單節點數據傳輸系統的基礎上,提出了分布式數據傳輸系統的關鍵技術設計,包括:集群動態組建、心跳守護、服務器注冊、服務器發現和集群負載均衡管理。同時通過使用LoadRunner并發性能測試工具,對該分布式數據傳輸系統在不同集群規模和不同負載壓力情況下的數據傳輸效率進行測試。
分布式數據傳輸; 集群動態組建; 負載均衡; 并發測試
Class Number TP391
數據傳輸系統是組建各區域中心和全局信息系統的前提與基礎。各信息中心通過數據傳輸系統實現信息交互、信息共享等操作,將物理上分散的部門通過網絡聯系起來,實現信息共享與管控。
傳統單節點數據傳輸系統部署模式中,各局域中心部署多傳輸客戶端和單臺數據傳輸服務器,數據傳輸系統對上層應用提供統一的開發接口,上層應用通過開發接口將數據傳輸任務提交至傳輸服務器,由數據傳輸服務器提供端到端的數據傳輸服務。單節點數據傳輸系統部署模式如圖1所示。
在該部署模式中,各局域保障中心部署單一數據傳輸服務器,區域中各客戶端的數據傳輸均依賴于本區域唯一的一臺數據傳輸服務器,當數據傳輸任務量增加時,其傳輸時延性能將會成為瓶頸;同時,由于采取單節點部署,在節點服務器出現軟件或硬件故障時,會導致整個區域數據傳輸功能失效,系統可靠性較低[1]。

圖1 單節點數據傳輸系統部署模式
為了改善單節點數據傳輸系統可靠性低、傳輸時延大的缺陷,本文設計了分布式數據傳輸系統。分布式數據傳輸系統由數據傳輸客戶端、數據傳輸服務器和數據傳輸調度服務器組成。分布式數據傳輸系統部署模式如圖2所示。

圖2 分布式數據傳輸系統部署模式
在分布式數據傳輸系統中,各局域保障中心部署多臺數據傳輸服務器,各服務器節點之間具有物理分離、功能一致、相互獨立的特點。數據傳輸服務集群由多臺數據傳輸服務器節點組成,共同為用戶提供傳輸服務。為實現對傳輸集群實現狀態管理和任務調度,達到資源負載的最優化分配,各區域保障中心內部署一臺數據傳輸調度服務器,數據傳輸調度服務器實現數據傳輸服務器的動態擴展支持、資源負載調度、服務心跳守護等功能[2]。
分布式數據傳輸系統主要由數據傳輸調度服務器和數據傳輸服務器集群組成。分布式數據傳輸系統設計的關鍵技術包括:集群動態組建[3]、服務器注冊、服務心跳守護、服務器發現和負載均衡管理。
2.1 集群動態組建
分布式數據傳輸系統集群規模必須支持可動態增減,最小集群規模由一臺數據傳輸服務器組成[4]。用戶根據需要可動態增加數據傳輸服務器集群數目,實現數據傳輸能力的動態擴展。
當動態數據傳輸集群能力擴展時,新增的數據傳輸服務器會自動向數據傳輸調度服務器發起注冊,并定時向調度服務發送心跳數據包上報傳輸服務器運行狀態和負載狀態。
當集群內部某臺數據傳輸服務器出現故障無法正常工作時,傳輸調度服務器要能夠在設定的時間內監測到該傳輸服務器失效事件,并將故障服務器從傳輸集群中刪除,不再對其進行任務分發操作[5]。
分布式數據傳輸集群的動態組建功能具有非常大的環境適應性,便于用戶根據需要搭建規模適度的傳輸系統。
2.2 服務器注冊
分布式數據傳輸系統中包含多個數據傳輸服務器,并支持數據傳輸服務器的動態擴展。數據傳輸服務器通過向數據傳輸調度服務器發送注冊報文,完成服務器注冊。數據傳輸服務器注冊與注冊數據格式如圖3所示。

圖3 數據傳輸服務器注冊與注冊數據格式示意圖
2.3 心跳守護
數據傳輸調度服務器負責管理集群內各傳輸服務器的運行狀態,實時監聽來自集群內數據傳輸服務器的心跳信息,并通過心跳判定服務器活動狀態[6]。當數據傳輸調度服務器超過一定時間未接收到某臺數據傳輸服務器心跳報文時,判定該傳輸服務器處于僵死狀態(可能是網絡不連通、宕機等),數據傳輸調度服務器從服務器管理隊列中刪除對應的數據傳輸服務器信息,且不會繼續分發傳輸任務至該服務器[7]。
服務之間的心跳守護示意圖和心跳報文格式如圖4所示。

圖4 心跳守護示意圖與報文格式
2.4 服務器發現
分布式傳輸系統中,數據傳輸服務器與數據傳輸調度服務器之間物理相連,但位置獨立。對各服務器的啟動順序不應進行假設[8]。當數據傳輸服務器在進行注冊時,數據傳輸調度服務器可能未啟動,導致注冊信息丟失。數據傳輸調度服務器在啟動過程中創建服務器心跳監聽線程,監聽來自集群內傳輸服務器的心跳信息。通過心跳信息,數據傳輸調度服務可發現已啟動的數據傳輸服務器。
2.5 負載均衡管理
數據傳輸調度服務器維護集群內數據傳輸服務器負載狀態,負載由當前傳輸任務數、服務器CPU利用率和服務器內存利用率三個因素決定[9]。在本文所設計的分布式傳輸系統中,數據傳輸服務器負載采用如下經驗公式進行計算:
服務器負載= 當前任務數*0.6+CPU利用率*0.2
+內存利用率*0.2
集群內傳輸服務器將服務器狀態屬性以心跳報文形式定時上傳至數據傳輸調度服務器。數據傳輸調度服務器在接收到傳輸任務時,通過計算各服務器負載選擇負載最低的傳輸服務器并將傳輸任務分發至該傳輸服務器[10]。傳輸服務器在執行完傳輸任務后,向傳輸調度服務器發送任務完成通知。數據傳輸任務分發示意圖如圖5所示。

圖5 數據傳輸任務分發示意圖
本文根據闡述的分布式數據傳輸系統設計完成了軟件原型設計,為驗證分布式數據傳輸系統與單節點數據傳輸部署模式在性能上的優劣,本文采用惠普公司研發的并發性能測試軟件LoadRunner對數據傳輸系統在不同部署模式、不同集群規模、不同任務并發數和不同傳輸數據量的情況下分別進行性能測試。并發性能測試環境如圖6所示。
實驗中,數據傳輸時延為并發模擬器產生的模擬數據通過傳輸集群發送至數據傳輸時延統計工具的傳輸時延。通過LoadRunner模擬指定數量的數據傳輸并發用戶。LoadRunner并發模擬器與數據傳輸接收統計工具事先通過網絡對時服務進行對時,在模擬報文中獲取本機時間戳,當數據傳輸接收統計工具接收到模擬報文時,再次獲取本機時間戳并計算時間差值,統計數據傳輸時延。

圖6 LoadRunner并發性能測試環境組成
數據傳輸系統在不同部署模式下,傳輸數據長度為300字節隨機數據的傳輸時延統計如圖7所示。

圖7 傳輸數據長度300字節時延統計
數據傳輸系統在不同部署模式下,發送長度為1K字節隨機數據的傳輸時延統計如圖8所示。

圖8 傳輸數據長度1K字節時延統計
分布式數據傳輸系統在不同部署模式下,發送長度為10K字節隨機數據的傳輸時延統計如圖9所示。

圖9 傳輸數據長度10K字節傳輸時延統計
通過上述并發性能測試數據,可以得出如下結論:
1) 與現有單節點數據傳輸系統相比,分布式數據傳輸系統能夠有效降低多并發任務下的傳輸時延,提高數據傳輸實時性;
2) 在用戶傳輸數據長度達到一定臨界值時,擴展集群傳輸能力可以有效地降低數據傳輸時延。
本文提出了分布式數據傳輸系統設計的關鍵技術,并通過并發性能測試工具驗證了在不同部署模式、不同集群規模、不同并發任務數和不同傳輸數據量情況下的數據傳輸性能。與單節點數據傳輸系統相比,本文提出的分布式數據傳輸系統具有以下優勢:
1) 分布式數據傳輸系統能夠有效降低多并發用戶數據傳輸時的時延,提高數據傳輸的實時性;
2) 分布式數據傳輸系統支持集群內數據傳輸服務器的動態增加和減少,便于用戶根據具體環境,部署合適規模的系統;
3) 分布式數據傳輸系統通過部署多臺數據傳輸服務器,提高了系統的可靠性。
同時,本文所提出的分布式數據傳輸系統仍然需要改進并進行以下方面的研究:
1) 通過數據傳輸性能測試,證明了傳輸集群部署模式的優勢,但并未就傳輸時延與集群規模、傳輸任務并發數和傳輸數據量大小得出定量關系結論;
2) 該分布式傳輸系統中包含有傳輸調度服務器,本文對傳輸調度服務器的可靠性未做出詳盡分析,在后續的系統優化中,應考慮傳輸調度服務器的冗余備份和故障恢復。
[1] 湯扣林,徐大勇.指揮信息系統軟件可靠性設計[J].指揮信息系統與技術,2014.
[2] 靳雪梅.基于協同運行的進離港排序系統的設計[J].指揮信息系統與技術,2010,1(4):1-4.
[3] N. Srinivas, Kalyanmoy Deb. Multi-objective Optimization Using Nondominated Sorting in Genetic Algorithms. Evolutionary Computation,1994,2(3):221-248.
[4] Rajkumar Buyya. High Performance Cluster Computing: Architectures and Systems Vol[M]. Ⅰ. Prentice-Hall,1999:2-30.
[5] S. Jamin, C. Jin, Y. Jin, et al. On the placement of Internet instrumentation[C]//Proc. IEEE INFOCOM,2000:295-304.
[6] Mohyud-Din, S. T., M. A. Noor. Some Relatively New Techniques for Nonlinear Problems. Mathematical Problems in Engineering,2009.
[7] Konak, A., D. W. Coit. Multi-objective Optimization Using Genetic Algorithms: A Tutorial. Reliability Engineering & System Safety,2006,91(9):992-1007.
[8] S Deering, R Hinden. Internet protocol version 6(IPv6) specification. RFC 2460, Dec. 1998.
[9] Morrison, R.S.: Cluster Computing - Architectures, Operating Systems, Parallel Processing & Programming Languages,2003.
[10] Jeffrey Horn, Nicholas Nafpliotis, David E. Goldberg. A Niched Pareto Genetic Algorithm for Multi-objective Optimization[C]//Proceedings of the First IEEE Conference on Evolutionary Computation, IEEE World Congress on Computational Intelligence. Piscataway, New Jersey: IEEE Service Center,1994,1:82-87.
Key Design of Distributed Data Transmission System
WAN Xiang SHI Qilin
(The 28thResearch Institute of China Electronics Technology Group Corporation, Nanjing 210007)
As the core component of information system, data transmission system is the premise and foundation of information exchanging between different systems. This paper is based on the existing single node pattern, puts forward the key design of distributed data transmission system, including dynamic cluster formation, heartbeat daemon, server registration, load balancing and so on. At the same time, through the use of concurrent LoadRunner performance testing tool, the efficiency of distributed data transmission system in different cluster sizes and load pressure is tested.
distributed data transmission, dynamic cluster formation, load balancing, concurrency testing
2014年10月20日,
2014年11月29日
萬翔,男,助理工程師,研究方向:分布式處理技術。施齊林,男,助理工程師,研究方向:分布式處理技術。
TP391
10.3969/j.issn1672-9730.2015.04.026