?

統一通信應用服務器軟件架構研究

2018-03-21 12:29羅有平周炳然
計算機與網絡 2018年1期
關鍵詞:應用服務內核網關

羅有平,周炳然

(1.中國電子科技集團公司第五十四研究所,河北石家莊050081;2.河北省教育考試院,河北石家莊050091)

0 引言

統一通信系統代替傳統通信網絡中各自獨立的應用業務系統,通過使用SIP協議[1]和移動解決方案,實現網絡業務層的融合[2]。為用戶提供多媒體電話、多媒體會議、即時消息及狀態呈現等富媒體業務,并提供通信業務開放接口,支持第三方應用系統進行二次開發。統一通信可降低用戶通信成本,提高溝通效率,為用戶帶來全新的協作體驗,真正實現各類通信的統一,不受位置、時間或設備的影響[3]。

統一通信應用服務器軟件從需求、設計、開發、測試到交付是一個漫長的過程,為適應用戶需求的不斷變更與新增,需要構建一個分層、可擴展、組件化的應用服務器軟件架構,以減少開發和交付應用服務軟件的時間。

1 應用服務技術研究

統一通信應用服務位于通信業務控制服務之上,應用服務業務的提供方式如圖1所示,通過業務觸發來完成用戶的接入、第三方注冊、業務提供及路由選擇等功能。應用服務器(Application Server,AS)為多種有線無線接入網絡提供統一的業務功能,實現用戶平面、控制平面和業務平面的分離[4]。AS與CSCF之間采用標準的ISC接口[4],與HSS之間采用標準的Sh接口。

圖1應用服務業務提供方式

應用服務獨立于控制服務,通信業務控制服務不需要處理業務邏輯,為統一通信系統提供基礎能力支持,包括用戶注冊、用戶管理、地址解析和路由及業務觸發等。通信業務控制根據用戶的初始過濾規則進行業務觸發,AS接受通信業務控制服務觸發的業務,各個AS分別實現業務的具體邏輯,完成業務邏輯處理,并返回處理結果。這種分離使得業務的開發、提供和部署獨立于承載網絡層,業務邏輯不受制于承載網絡,從而具有更大的靈活性,促進富媒體業務的發展與融合。

2 可擴展的應用服務軟件架構設計

統一通信應用服務器軟件采用松耦合、模塊化的軟件架構,其中應用服務開發基礎平臺是統一通信應用服務器軟件架構的核心,是應用邏輯的基礎構建,軟件架構如圖2所示。通過業務開放網關實現第三方應用系統的二次開發[5],應用服務器為用戶提供B/S和C/S模式的客戶端[6]。

圖2應用服務器軟件體系架構

2.1 操作系統

操作系統軟件是應用服務器內部連接硬件資源和應用軟件的系統軟件[7],基于開放源碼的Linux操作系統具有良好的開放性,Linux操作系統主要由4部分組成:

①應用程序:與用戶的關系最密切,用戶應用程序處在操作系統的最高層,作為操作系統的一個進程來運行。

②系統調用庫:系統調用的集合即應用編程接口(API),是應用程序與系統之間的接口,是連接用戶進程與內核中服務函數的紐帶,通過執行系統調用庫,便可進入到內核空間,運行內核中對應的服務函數。

③內核:內核是操作系統的核心程序,它向外部提供對設備的管理和調用,包括內核抽象、對硬件資源的訪問、內存和磁盤上的文件管理及網絡上收發數據包等。

④硬件:整個計算機系統中的物理設備,包括CPU、硬盤、內存及網口等。

2.2 應用服務開發基礎平臺

應用服務開發基礎平臺包括零操作系統(ZOS)、網絡層套接字接口(SELECT/EPOLL)、XML編解碼器、協議棧、事務層、Shell、定時器及高可用性等構件,具體如下:

① ZOS:基于操作系統之上的服務平臺,提供了支持多種操作系統環境下的統一抽象接口操作,使得應用服務能夠獨立于特定的處理機、編譯器和操作系統等應用環境,降低操作系統對應用開發和維護的影響,使開發人員把更多的精力放在對應用的設計實現上。

②套接字:套接字屏蔽底層網絡的一些復雜的協議,使開發人員可以方便地訪問TCP/UDP/IP,從而開發出各種網絡應用服務。

③ XML編解碼器:XML已成為互聯網數據交換的標準[8],不僅用于數據交換,也經常用于定義各種配置文件,因此,XML編解碼器在基礎平臺的構建過程中也十分重要。

④協議棧:以一個事務周期為其工作周期,協議棧模塊啟動后,首先打開傳輸層監聽,對消息進行解析,并將解析出的數據送入存儲區,應用服務處理后,再通過傳輸層發送出去。協議棧中的狀態機在每個事務周期完成后改變自身的狀態,下個周期開始后根據接收到的消息類型確定采用的數據處理方法和文本生成方式,并在特定的狀態下開啟多媒體會話進程,使整個會話能夠正常進行。

⑤定時器:統一通信系統離不開通信協議,而定時器是保證通信協議正常運行的基本要素之一。通常通信協議用到的定時器定時精度要求不高,但數量比較大,而硬件提供的定時器個數很少,操作系統提供的定時器要么數量有限,要么太多的定時器會降低系統性能,不能滿足要求,所以采用軟件實現大量定時器的方法。

⑥ Shell:對于Linux來說,圖形桌面只是Linux的一個應用程序,應該說Linux對于用戶的真正的界面就是Shell,通過Shell來調試和測試程序,極大地方便測試和定位問題。

⑦高可用:因為數據是冗余備份的基礎,所以高可用模塊以數據庫為基礎。主備應用服務器間通過心跳相互檢測,主應用服務器工作時,在檢查點將關鍵數據存入數據庫,一旦主應用服務器故障,備應用服務器可通過心跳異常檢測到,備應用服務器由待機態轉為工作態,從數據庫提取故障發生前最近一次檢查點的關鍵數據,按照此數據將軟件恢復到主應用服務器故障前的狀態,并將自身轉為主應用服務器。

2.3 業務開放網關

業務開放網關是統一通信應用服務器中的重要組成部分,主要功能是將應用服務以Web服務接口的形式開放給第三方,使其能夠更加簡單方便地開發應用。業務開放網關提供Web服務發布的渠道,將描述Parlay X API能力的WSDL文件轉換為Web服務接口代碼,并提供SOAP消息的編解碼功能,以實現對具體Parlay X API的調用,并且業務開放網關具有將Parlay X API與SIP進行映射轉換功能,它需要將Web Service方式的接口調用經過邏輯處理轉換為相應的SIP信令發給相應的應用服務單元。

3 應用服務開發及實踐

應用服務與客戶端進行協議交互,協作完成統一通信系統各項功能,主要功能包括視頻對講、多媒體會議、即時消息、用戶狀態呈現、群組管理、通訊錄管理、文件傳輸及寄出通訊錄管理等?;谏鲜龅膽密浖_發基礎平臺,進行統一通信應用服務開發,如圖3所示。

圖3統一通信應用服務開發

4 結束語

統一通信應用軟件架構采用分層模塊化的設計思想,用AS技術實現多媒體電話業務、多媒體會議業務和融合通信業務等功能。分別采用SIP協議實現多媒體會話控制,采用MSRP協議實現圖片、視頻及文件等內容的可靠傳輸,采用Parlay X Web Service技術實現業務能力封裝與提供。

提出的多因子按需加權分群算法中,按需的含義在于通過綜合分析各種網絡環境參數對網絡分群結構穩定性的影響,并對各種決定性參數變量賦予不同的對應權值,實現一種優化的分群算法,提高大規模動態變化網絡管理的實時性和可靠性。

[1]Rosenberg J,Schulzrinne H,Camarillo G,etc.RFC3261,SIP:Session Initiation Protocol[S].Internet Engineering Task Force,2002:6.

[2]陳立水,王俊芳,趙進平,等.統一通信技術研究及展望[J].無線電通信技術,2014,40(2):1-3,11.

[3]張海,SIP模式下統一通信端系統的設計與實現[J].信息通信,2016,167(11):194-195.

[4]3GPP TS 23.228 V13.2.0,IP Multimedia Subsystem(IMS);stage 2[S].3rd Generation Partnership Project,2015.

[5]鄭侃.IMS點擊撥號業務平臺的設計與實現[D].北京:北京郵電大學,2011.

[6]史黎黎,牛賓.基于Linux系統的即時通信軟件開發[J].無線電工程,2015,45(8):94-96.

[7]杜金祥,杜宇軒.基于Linux的局域網聊天系統設計[J].山西電子技術,2014(1):67-69.

[8]孫婧,劉瑩,孟景濤,等.基于XML的軟件通用程序框架[J].無線電工程,2015,45(6):25-27.

猜你喜歡
應用服務內核網關
多內核操作系統綜述①
全球衛星互聯網應用服務及我國的發展策略
強化『高新』內核 打造農業『硅谷』
活化非遺文化 承啟設計內核
微軟發布新Edge瀏覽器預覽版下載換裝Chrome內核
國家不動產統一登記信息平臺構建與應用服務
信號系統網關設備的優化
基于ETC在線支付網關的停車場收費系統設計
全國征集衛星應用服務解決方案
應對氣候變化需要打通“網關”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合