前言:尋找寫作靈感?中文期刊網用心挑選的高效通信服務系統設計與實現,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:介紹了面向實時數據流的高效通信服務系統的系統組成框架,分析了通信服務端的實現基礎和工作流程,介紹了通信客戶端的設計,在原型系統中對相應技術實現進行了測試和驗證。結果表明,該系統能夠滿足實時、高效的數據交換要求,可為信息系統通信服務的設計實現提供借鑒。
關鍵詞:通信服務;數據交換;IOCP;訂閱
1引言
隨著信息系統規模的不斷擴大,信息系統間實時數據共享的數據量也在不斷上升,繼而對支撐信息系統運行的通信服務性能也提出了更高的要求。本文提出了面向實時數據流的高效通信服務系統,作為信息交換的底層系統軟件,支持大型復雜信息系統網絡層的數據交互,能在高并發網絡環境下提供實時、高效的數據轉發服務,能夠有效解決通信服務系統面臨的并發訪問鏈接數量大、數據交換信息流量大等實時處理的關鍵問題,對相關信息系統的開發具有一定的參考意義。
2設計與實現
2.1系統框架
面向實時數據流的高效通信服務系統,在其實現形式上,是一個典型的CS軟件系統體系結構,由通信服務客戶端、通信服務端和管理端三部分組成,圖1給出了高效通信服務系統的主要組成。通信服務客戶端部署于各應用系統,為其提供網絡通信能力。管理端是監控通信服務運行情況的管理程序。通信服務端的主要組成包括:(1)邏輯管理層:由監控管理、主題管理和鏈接管理三個子模塊組成。監控管理模塊按照約定協議向管理端上報服務端狀態信息;主題管理負責域內客戶端的通信主題維護和通信主題匹配;鏈接管理用于維護服務端與客戶端之間的通信鏈接。(2)數據管理層包括:由數據隊列管理、線程池管理和內存管理三個子模塊組成。數據管理層為邏輯管理層提供數據管理支撐。(3)通信子層包括:將底層網絡通信接口進行封裝,對數據管理層提供高效的網絡數據傳輸支撐。
2.2通信服務端設計
為保證通信服務端的實現性能,在Windows系統平臺下選擇完成端口(CompletionPort)SocketI/O模型,以提升高速CPU和慢速I/O設備(網絡適配器)間的高效協調。采用IOCP模型編寫服務程序主要包括兩種類型的線程:主線程和工作線程。主線程負責創建并監聽套接字,創建工作線程,等待并接受客戶端的連接,并將其關聯到IOCP等,而工作線程則負責等待并處理在IOCP對象上完成的事件?;贗OCP模型編寫的服務端工作流程如圖2所示。(1)對網絡進行初始化,并設置Socket版本號;(2)創建一個I/O完成端口,為完成端口分配套接字句柄,并對端口進行標識;(3)準備好一個監聽套接字,并創建監聽線程,開始監聽網絡上客戶端的連接請求;(4)創建工作線程池,當有客戶端請求連接時,主線程建立新的連接,為新連接的客戶端建立上下文信息,并將該客戶端套接字句柄關聯到完成端口,然后投遞一個異步的收發調用;(5)工作線程循環獲取消息隊列狀態,從客戶上下文信息中獲取與Socket相關的上下文信息,判斷消息狀態,取得要操作的數據內容;(6)主程序繼續下一個循環,等待新的客戶端連接;(7)Windows操作系統內核完成收發操作,并將結果發送到完成端口;工作線程對數據進行處理,然后提交下一個操作請求,繼續下一次循環并阻塞獲取消息隊列狀態;(8)重復步驟(5)至(7),直至服務端程序退出。
2.3通信客戶端設計
通信客戶端是為各應用系統提供通信服務訪問的標準動態庫,主要涉及的接口類型包括:公共接口類和數據接口類。通信客戶端的類圖結構如圖3所示。公共接口類的主要接口包括:客戶端類和主題類??蛻舳祟愔饕涌趦热轂榭蛻舳顺跏蓟?、客戶端退出、與服務端建立連接、向通信服務發送數據和檢查客戶端狀態等。主題類主要接口內容為主題、取消主題、訂閱主題和取消訂閱主題。數據接口類主要接口內容為:設置接收對象、設置重連間隔、設置客戶端緩沖區大小、綁定客戶端地址和接收數據等。
3應用評估
3.1應用模式
面向實時數據流的高效通信服務系統,實現了數據發送端與數據接收端的松耦合關系,支持點對點傳輸和訂閱傳輸兩種傳輸模式,傳輸應用流程如圖4所示。在點對點傳輸模式下,數據發送端發送的數據僅可被一個數據接收端處理。在訂閱傳輸模式下,一個客戶端應用數據,一個或多個客戶端應用訂閱數據;的數據副本會被與訂閱主題匹配的一個或多個訂閱應用收到,服務端基于主題將數據轉發至訂閱該主題的客戶端。
3.2實驗與結果
實驗環境包括1臺運行通信服務端的服務器、5臺運行通信客戶端的計算機和1臺48口千兆交換機。其中服務器的配置為:處理器Intel(R)Core(TM)i7-4790CPU@3.6GHZ*8,內存8G,雙千兆網卡,Window7專業版。實驗從客戶端接入數量、主題申請數量兩個維度,對數據吞吐量、數據轉發延遲和傳輸丟包率3項指標進行了分析測試,測試結果如表1和表2所示。
4結束語
本文介紹了面向實時數據流的高效通信服務系統的設計和實現,能夠滿足高并發、大流量的實時數據通信,通過系統實現,簡化了應用客戶端通信實現和管理的難度,為信息系統間互聯提供了具備靈活性和擴展性特點的通信手段。經實驗驗證,系統運行高效、穩定,可為信息系統通信服務的設計實現提供借鑒。
參考文獻
[1]梁金晶,姚宏.淺談Windows下高性能服務器程序模型IOCP[J].電腦知識與技術,2016,12(03):257-258.
[2]李騰,孫志剛,賈峰.實時/訂閱數據分發服務的模型分析[J].無線電工程,2016,46(02):6-9,18.
作者:周麗麗 秦賀偉 趙時輪 單位:中國電子科技集團公司第五十四研究所