張瑩 康志杰 牛清正 蔣國(guó)華
摘要:針對(duì)隧道施工場(chǎng)景中需實(shí)時(shí)傳輸用戶狀態(tài)、位置和短數(shù)據(jù)這一需求,基于TD-LTE寬帶集群技術(shù),設(shè)計(jì)了一款支持高并發(fā)、高可用的集群消息服務(wù)軟件。介紹了寬帶無(wú)線集群通信系統(tǒng)的總體架構(gòu),詳細(xì)描述了集群消息服務(wù)軟件整體架構(gòu)及軟件實(shí)現(xiàn)的關(guān)鍵技術(shù)并進(jìn)行了實(shí)驗(yàn)驗(yàn)證。測(cè)試結(jié)果表明,設(shè)計(jì)的集群消息服務(wù)軟件可有效滿足上述集群消息通信需求。
關(guān)鍵詞:集群通信;消息服務(wù);高并發(fā)
中圖分類號(hào):TN929.52文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2023)02-52-5
近年來(lái),隨著國(guó)內(nèi)交通行業(yè)的快速發(fā)展,全國(guó)隧道建設(shè)規(guī)??涨?,取得了舉世矚目的成果。但與此同時(shí),隧道建設(shè)期間頻繁發(fā)生的安全生產(chǎn)事故,對(duì)人民生命財(cái)產(chǎn)安全造成了重大威脅。TD-LTE寬帶無(wú)線集群通信系統(tǒng)以其高速率、高頻譜效率和低時(shí)延等諸多優(yōu)點(diǎn),在政務(wù)、應(yīng)急、公安和軌道交通等行業(yè)應(yīng)用越來(lái)越廣泛[1-2]。集群消息服務(wù)作為集群通信系統(tǒng)基礎(chǔ)功能的重要組成部分,在集群通信系統(tǒng)中,發(fā)揮著重要作用。除基本的短消息功能外,終端位置上報(bào)、狀態(tài)上報(bào)和多媒體短消息等功能均需依托集群消息服務(wù)完成?;谝陨险撌觯疚奶岢鲆环N高可用、高效的集群消息服務(wù)軟件實(shí)現(xiàn)方案。通過(guò)搭建TD-LTE無(wú)線集群通信系統(tǒng)測(cè)試環(huán)境,對(duì)本文設(shè)計(jì)的集群消息服務(wù)軟件的功能和性能進(jìn)行了驗(yàn)證。
1.1寬帶集群核心網(wǎng)
TD-LTE寬帶集群核心網(wǎng)為寬帶集群系統(tǒng)提供終端接入、呼叫控制、消息服務(wù)和資源管理等功能,主要由eMME,eHSS,eSGW,ePGW,TCF五部分組成[3]。系統(tǒng)架構(gòu)如圖1所示。
各部分功能如下:
①eMME:終端接入控制管理實(shí)體,負(fù)責(zé)終端接入控制和承載管理;
②eSGW/ePGW:終端數(shù)據(jù)接入網(wǎng)關(guān);
③eHSS:系統(tǒng)用戶簽約數(shù)據(jù)中心,負(fù)責(zé)用戶簽約數(shù)據(jù)管理和用戶鑒權(quán);
④TCF:集群功能控制管理實(shí)體,負(fù)責(zé)呼叫/短消息等集群功能邏輯控制。
本文提出的集群消息服務(wù)為TCF的重要組成部分,為集群通信系統(tǒng)提供短消息轉(zhuǎn)發(fā)服務(wù)。
1.2消息服務(wù)功能實(shí)體軟件架構(gòu)設(shè)計(jì)
集群消息服務(wù)作為集群功能的重要組成部分,主要功能包括文本/多媒體短消息轉(zhuǎn)發(fā)、終端位置上報(bào)和狀態(tài)上報(bào)等。以上功能除文本短消息和多媒體短消息外,均對(duì)系統(tǒng)實(shí)時(shí)性具有一定要求,因此該集群消息服務(wù)需具備高效的處理能力。根據(jù)上述內(nèi)容,設(shè)計(jì)集群消息服務(wù)軟件架構(gòu)如圖2所示。
本軟件由不同功能模塊組成,通過(guò)各功能模塊協(xié)調(diào)配合完成消息轉(zhuǎn)發(fā)功能。具體功能模塊介紹如下:
①配置管理模塊:連接外部網(wǎng)管設(shè)備,負(fù)責(zé)軟件配置、告警等消息處理等;
②信令收發(fā)模塊:與外部通信,負(fù)責(zé)信令收、發(fā)及傳輸鏈路管理;
③消息預(yù)處理模塊:對(duì)接收到的消息進(jìn)行分類預(yù)處理,完成后交由相應(yīng)轉(zhuǎn)發(fā)處理模塊處理;
④消息鑒權(quán)、處理、轉(zhuǎn)發(fā)模塊:負(fù)責(zé)對(duì)消息收發(fā)用戶進(jìn)行鑒權(quán)、狀態(tài)查詢和轉(zhuǎn)發(fā)等處理;
⑤服務(wù)高可用模塊:配合外部HAF高可用設(shè)備提供數(shù)據(jù)冗余、角色切換等高可用服務(wù);
⑥D(zhuǎn)B數(shù)據(jù)模塊:負(fù)責(zé)處理轉(zhuǎn)發(fā)失敗的消息存儲(chǔ)、維護(hù)工作。
本軟件采用單進(jìn)程、多線程模式。其中配置管理模塊、高可用模塊、信令收發(fā)模塊和消息預(yù)處理模塊位于主線程;消息鑒權(quán)轉(zhuǎn)發(fā)模塊位于工作線程;DB數(shù)據(jù)模塊位于數(shù)據(jù)處理線程。
1.3關(guān)鍵點(diǎn)設(shè)計(jì)
1.3.1高并發(fā)處理
當(dāng)系統(tǒng)大量終端用戶同時(shí)在線時(shí),系統(tǒng)需準(zhǔn)確、實(shí)時(shí)獲取終端位置等信息,進(jìn)行位置、狀態(tài)顯示。在系統(tǒng)處于高負(fù)荷運(yùn)行狀態(tài)時(shí),多終端同時(shí)周期性地進(jìn)行位置、狀態(tài)等信息上報(bào),對(duì)集群消息服務(wù)軟件的并發(fā)處理能力有較高要求。
針對(duì)上述需求,軟件設(shè)計(jì)采用高并發(fā)處理架構(gòu)。
①多線程處理工作模式
本軟件采用多線程處理工作模式,對(duì)系統(tǒng)并發(fā)消息進(jìn)行負(fù)載均衡處理,如圖3所示。短消息在轉(zhuǎn)發(fā)過(guò)程中,系統(tǒng)內(nèi)采用統(tǒng)一Event_id對(duì)其進(jìn)行標(biāo)識(shí)。因此,可以通過(guò)對(duì)Event_id進(jìn)行處理,將不同Event_id標(biāo)識(shí)的短消息映射到不同的工作線程進(jìn)行消息的轉(zhuǎn)發(fā)處理,達(dá)到負(fù)載均衡效果[4]。
②負(fù)載均衡策略
在系統(tǒng)內(nèi),Event_id取值為32位整形數(shù)據(jù),消息服務(wù)軟件配置工作線程個(gè)數(shù)為。由于Event_id采用遞增的分配方式,用工作線程個(gè)數(shù)除Event_id,取余數(shù)作為工作線程編號(hào)CEI,即可有效實(shí)現(xiàn)負(fù)載均衡處理。CEI與工作線程的對(duì)應(yīng)關(guān)系如表1所示。