李 娜
(南京高達軟件有限公司,南京 210012)
與普通移動通信系統(tǒng)相比,集群通信主要用于專用移動通信領域,如大型企業(yè)、港口、軌道交通、出租車行業(yè)、應急通信等;通過功能整合,提供了多種功能選擇和創(chuàng)新融合,為生產和指揮提供專業(yè)的指揮和協(xié)調。集群通信系統(tǒng)中,行業(yè)應用作為重要發(fā)展方向,受到了越來越多的關注。集群應用服務給用戶提供了方便靈活和專業(yè)化的服務,充分發(fā)揮了集群通信系統(tǒng)快捷、高效的特點。但是,眾多的功能應用服務直接作用于調度系統(tǒng),造成了集群調度系統(tǒng)的龐大和繁雜,也帶來的部署和選擇的不靈活,因此應用服務的實現(xiàn)需要得到改進。
集群通信的應用,除基本的通話外,還包括地圖定位、視頻功能、門禁業(yè)務、警務綜合業(yè)務、加密服務等等,業(yè)務類別的不斷增加,系體積日益龐大。為了降低系統(tǒng)內多功能的耦合度,首先需要分治的獨立應用服務程序,每個業(yè)務程序實現(xiàn)一種功能,如劃分為短信服務,定位服務,門禁、視頻業(yè)務服務等,分別獨立的和集群通信系統(tǒng)協(xié)同工作完成其主要的業(yè)務流程和功能。以多個獨立應用服務為基礎,提供可裁剪和定制的應用服務的合集。通過選配應用服務程序,為集群用戶提供定制化服務和特色功能。
在獨立的應用服務的基礎上,第二階段考慮將獨立的應用組裝起來滿足各有不同的行業(yè)應用,即增加透明通道化的接入中轉服務。
接入中轉服務一個必須具備的基礎能力是完成在各個具體應用服務間的轉發(fā)需要。如果對這個轉發(fā)基礎的能力進行細分,那么消息會需要處理請求和與請求相對應的響應對或與某條請求消息對應通知、上報消息,這么幾大類的消息。集群通信系統(tǒng)中,不同的業(yè)務邏輯目前是以消息驅動的方式觸發(fā)流程進行,因此接入中轉服務,保持對外統(tǒng)一的接口消息定義方式;通過制定不同的消息處理策略,應對不同的中轉流程。接入中轉服務的接口轉發(fā)策略,目前有以下幾種:一是端點處理策略。比如心跳消息,比如認證消息,由接入服務進行管理和維護接入服務作為端點不需要進行下級轉發(fā),自身處理完畢后返回結果。二是固定端點轉發(fā)策略。比如按照消息中指定的端點標志,往既定的端點應用轉發(fā),不需要校驗業(yè)務處理單元和消息匹配。比如接收短信發(fā)給目標方的消息等。異步的通知類消息,我們可以將其看作特殊的響應類消息,是由于前期流程的請求消息的最終響應。三是請求響應匹配策略。此種策略是最常用策略,在處理需要同步或者異步等待結果的消息時使用,比如定位請求。同時也在處理一次業(yè)務邏輯結束時和業(yè)務處理單元匹配時使用通道化的應用接入服務為多定制化的行業(yè)應用提供了便捷、靈活、可擴展的方式接入集群服務,為其在多行業(yè)中的應用提供了基礎。
應用服務的日漸增加,服務之間的交互的增加對集群應用服務提出了新的要求,比如按照內容路由、數(shù)據(jù)可靠性支持、以及基本的安全驗證和流量控制等功能。第三階段在透明接入服務的基礎上提供服務總線的框架。
服務總線按照邏輯劃分為如下幾個分層:
端點服務接入層:端點服務可以通過配置文件新增或者修改,注冊在接入服務器中。各活動端點應用信息,通過心跳信息和配置文件得知。接入服務保持和其他應用的心跳,并且將其他端點應用的服務狀態(tài)通知到所有其他端點。
路由轉發(fā)層:消息中含有端點標志。消息中的端點標志代表了消息的來源和去向,通過節(jié)點標志找到下游處理單元。動態(tài)模塊化模型,提供了不同的行業(yè)應用的組合和分離。作為一個通用的行業(yè)應用業(yè)務通道,不能因為有新的行業(yè)應用就頻繁修改接口,同時新接口的應用也需要兼容舊接口。盡量做到可擴展和兼容性,實現(xiàn)統(tǒng)一管理,統(tǒng)一驗證,靈活配置。
安全保護層:作為對外的接入服務器,對于消息的安全性和完整性需要進行校驗。安全驗證信息不需要在各端點服務見互相配置,而在端點服務和接入服務中互配。消息中含有安全驗證碼,提供消息的有效性驗證,可以通過通用的MD5算法對原始消息進行加密,接入服務器校驗有效性后才進行轉發(fā)。同時接入層提供服務中節(jié)本元素,如集群用戶、群組的鑒權,提供初級的數(shù)據(jù)安全驗證。
業(yè)務處理層:消息中含有唯一消息索引和業(yè)務單元索引。消息唯一索引ID標志一條消息,而業(yè)務處理單元索引作為一次業(yè)務邏輯的處理單位將多次交互組織和整合起來,并且區(qū)分與其他的業(yè)務處理單元。這種異步消息處理機制,可以實現(xiàn)業(yè)務系統(tǒng)之間真正的松耦合的結構。
監(jiān)控和流量控制層:統(tǒng)一服務接入總線可以監(jiān)控所有應用服務的消息流通和業(yè)務頻度可以形成流量控制和告警等統(tǒng)計類業(yè)務。
以一個圈選攝像頭發(fā)起視頻功能為例進行說明:集群客戶端首先通過服務總線發(fā)起定位圈選業(yè)務,定位服務器處理該業(yè)務并將圈選的結果返回給服務總線,回送客戶端。集群客戶端再次通過結果中的位置信息和攝像頭信息發(fā)起視頻上拉,結果通過服務總線返回客戶端,即完成一次交互。
不同行業(yè)通過選配應用服務,統(tǒng)一接入服務總線,配合完成行業(yè)特色應用。
集群應用服務在集群系統(tǒng)中提供了多功能的整合使用,將應用服務獨立劃分并通過服務總線接入集群系統(tǒng)中,為集群系統(tǒng)中的多種特色行業(yè)應用提供了靈活的框架,在實際應用特別是行業(yè)應用中得到了好評。