段凱凱 崔覺瑞 梁志 李繼文
摘? 要:新型冠狀病毒疫情來勢(shì)兇猛,如何更好地助力全國疫情防控工作,是通信行業(yè)的不可或缺的責(zé)任,而短信通信觸達(dá)則是較為親民且直觀的方式。在行業(yè)發(fā)展和用戶規(guī)模持續(xù)增長(zhǎng)下,應(yīng)允國家、政府和公益事業(yè)的等特殊性的通信要求,山西公司基于公司級(jí)的“公益短信群發(fā)系統(tǒng)”,輕量化承載,同時(shí)從安全、網(wǎng)絡(luò)、運(yùn)維、生產(chǎn)于一體,順應(yīng)接入5G大區(qū)標(biāo)準(zhǔn),滿足了國家公益、疫情、以及各種自然災(zāi)害或突發(fā)情況下專屬短信送達(dá)。
關(guān)鍵詞:短信群發(fā)系統(tǒng);通信觸達(dá);5G
中圖分類號(hào):TN929.5? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)16-0134-05
Construction and Application of Public Welfare Short Message Group Sending System
DUAN Kaikai, CUI Juerui, LIANG Zhi, LI Jiwen
(China Mobile Shanxi Co., Ltd., Taiyuan? 030032, China)
Abstract: The outbreak of COVID-19 epidemic is fierce. How to assist the national epidemic prevention and control work better is an indispensable responsibility of the communication industry, while short message communication is more close to the people and intuitive. Under the development of the industry and the continuous growth of the user scale, Shanxi company responds to the special communication requirements of the state, the government and public welfare undertakings. Based on the company-level “Public Welfare Short Message Group Sending System”, which is lightweight, Shanxi Company complies with the access to 5G regional standards from the aspects of security, network, operation, maintenance and production to meet the national public welfare, epidemic, as well as a variety of natural disasters or emergencies under the exclusive SMS service.
Keywords: short message group sending system; communication touch; 5G
0? 引? 言
面對(duì)提速降費(fèi)和互聯(lián)網(wǎng)+的雙重挑戰(zhàn),以及國內(nèi)科學(xué)技術(shù)的迅猛發(fā)展,在眾多通信的“紅海市場(chǎng)”中,短信通信仍是國人最直接的即時(shí)交互方式。自2014年4G技術(shù)的革新,到現(xiàn)今5G技術(shù)的迅猛發(fā)展,短信從未淡出視線,并逐步成為國家、政府以及運(yùn)營商之間特殊時(shí)期的有效憑證。隨著5G技術(shù)的多元化和成果化,短信作為5G發(fā)展下的節(jié)點(diǎn),在順應(yīng)國家發(fā)展和政府要求的同時(shí),承接接入5G技術(shù)并支撐5G等新模式的突破。
隨著庚子鼠年新春的到來,突如其來的新型冠狀病毒感染肺炎疫情來勢(shì)兇猛,如何更好地助力全國疫情防控工作,是通信行業(yè)的不可缺少的責(zé)任[1,2],而短信通信則是較為親民、柔和且直觀的方式。以往只承接業(yè)務(wù)推廣,交互,通知提醒的短信系統(tǒng),疫情期間則需發(fā)展其具有社會(huì)效益和公益服務(wù),類如山西移動(dòng)自疫情暴發(fā)伊始僅十天便已為工信部、衛(wèi)建委、防疫指揮部、各地市政府機(jī)構(gòu)累積發(fā)送疫情相關(guān)短信5.1億次,受到各行業(yè)和用戶好評(píng)。
現(xiàn)傳統(tǒng)短信包含業(yè)務(wù)受理、營銷推廣,訂購提醒,話費(fèi)等一系列的用戶提醒,其系統(tǒng)下發(fā)方式有大文件傳輸、掃表、接口、固定消息模式、文本模式等。而在行業(yè)發(fā)展和用戶規(guī)模不斷增長(zhǎng)的情況下,應(yīng)允國家、政府和公益事業(yè)的等特殊性的通信要求,需構(gòu)建基于公司級(jí)的“短信群發(fā)系統(tǒng)”,能輕量化承載,從安全、網(wǎng)絡(luò)、運(yùn)維、生產(chǎn)于一體的規(guī)范化流程,順應(yīng)接入5G大區(qū)標(biāo)準(zhǔn),滿足國家公益、疫情、以及各種自然災(zāi)害或突發(fā)情況下專屬定制短信的及時(shí)送達(dá)。
1? 公益短信群發(fā)系統(tǒng)建設(shè)
1.1? 公益短信群發(fā)系統(tǒng)應(yīng)用架構(gòu)
公益短信群發(fā)系統(tǒng)的建設(shè)架構(gòu)分為觸點(diǎn)域、業(yè)務(wù)支撐域和外部渠道,其中業(yè)務(wù)支撐域提供了群發(fā)處理、配額控制、短信網(wǎng)關(guān)、消息管理、監(jiān)控管理、運(yùn)維管理和系統(tǒng)管理等最關(guān)鍵應(yīng)用場(chǎng)景;觸點(diǎn)域則為系統(tǒng)通過短信方式與終端用戶進(jìn)行接觸;外部渠道為群發(fā)使用的用戶文件,可以采用離線文件的方式傳輸提供,進(jìn)行后續(xù)短信群發(fā)任務(wù)的創(chuàng)建。
業(yè)務(wù)支撐域:包含能力支撐域、運(yùn)營管理域,能力支撐域納管群發(fā)處理引擎、短信發(fā)送模塊、短信網(wǎng)關(guān)核心模塊及運(yùn)營管理的基礎(chǔ)條件和運(yùn)行算法,運(yùn)營管理域提供了消息管理、監(jiān)控管理、運(yùn)維管理、系統(tǒng)管理等相關(guān)運(yùn)營信息。支撐域分布式多任務(wù)部署,多進(jìn)程處理,網(wǎng)關(guān)負(fù)載集群利用,整體應(yīng)用服務(wù)系統(tǒng)部署靈活,提供了業(yè)務(wù)處理和監(jiān)控、系統(tǒng)運(yùn)維、任務(wù)記錄、長(zhǎng)短信拆分、雙協(xié)議轉(zhuǎn)換等多種能力;除包含的核心代碼算法運(yùn)行外,業(yè)務(wù)系統(tǒng)擁有智能化運(yùn)維接入、靈活化個(gè)性告警發(fā)出的機(jī)制,實(shí)現(xiàn)了運(yùn)維告警一體化。
數(shù)據(jù)管理及有效機(jī)制:有效及敏感數(shù)據(jù)利用多層迭代要因數(shù)據(jù)模糊化的安全組件傳輸,以底層SSM微服務(wù)+密塊加密算法為基礎(chǔ)構(gòu)建的安全組件,通用能力包括提供數(shù)據(jù)接入能力、算法管理、模型沉淀,通過算法和框架中“微+密”的特性,實(shí)現(xiàn)了敏捷交互、安全存儲(chǔ)和傳輸,定制化的數(shù)據(jù)落表,沉淀用戶樣本數(shù)據(jù)。
數(shù)據(jù)層:對(duì)群發(fā)任務(wù)數(shù)據(jù)源kafka消息模式、文本模式、大數(shù)據(jù)hbase信息模式、redis緩存消息等進(jìn)行傳輸配置,去除高風(fēng)險(xiǎn)萬能模板傳輸介質(zhì),配置動(dòng)態(tài)參數(shù)變量縮減安全風(fēng)險(xiǎn)同時(shí)便于傳輸和使用,處理機(jī)制動(dòng)態(tài)調(diào)配待發(fā)送鏈路到待發(fā)送文件,cmpp和smpp固定協(xié)議傳輸,內(nèi)外部使用集成接口服務(wù)。
傳輸時(shí)管理界面對(duì)群發(fā)任務(wù)進(jìn)行創(chuàng)建和編輯操作,最終落地任務(wù)信息保存到數(shù)據(jù)庫;當(dāng)任務(wù)創(chuàng)建時(shí),任務(wù)分配會(huì)選擇動(dòng)態(tài)調(diào)配算法選擇一個(gè)當(dāng)前下發(fā)量最小的任務(wù)進(jìn)行處理,并設(shè)置任務(wù)號(hào)和任務(wù)訂單一同保存到數(shù)據(jù)庫中;特定文件路由到相關(guān)鏈路,分出機(jī)制及處理機(jī)制程序會(huì)通過文件分發(fā)程序分發(fā),利用鏈路保持原則,一臺(tái)為任務(wù)的處理主機(jī),其他兩個(gè)為文件備份,當(dāng)主機(jī)宕機(jī)時(shí)是可以切換到其他引擎處理;分發(fā)程序根據(jù)配置的主機(jī)個(gè)數(shù)和路徑,如果系統(tǒng)主機(jī)需要擴(kuò)容可修改該參數(shù),在下次任務(wù)創(chuàng)建時(shí)就可以將新的主機(jī)添加上,達(dá)到動(dòng)態(tài)系統(tǒng)擴(kuò)容的目的。群發(fā)處理主機(jī)上的處理程序讀取屬于獨(dú)自的任務(wù)進(jìn)行處理,并最終推送給網(wǎng)關(guān);網(wǎng)關(guān)通過F5配置,做到雙機(jī)雙活部署提供短信發(fā)送能力。應(yīng)用架構(gòu)如圖1所示。
1.2? 公益短信群發(fā)系統(tǒng)運(yùn)行架構(gòu)
公益短信系統(tǒng)實(shí)現(xiàn)業(yè)務(wù)內(nèi)部服務(wù)中心化與可管理性、系統(tǒng)建設(shè)高可用性和均衡性、系統(tǒng)建設(shè)高性能和可擴(kuò)展性、運(yùn)維告警一體化的架構(gòu)特點(diǎn),每個(gè)環(huán)節(jié)都扮演著重要作用。業(yè)務(wù)內(nèi)部服務(wù)中心化與可管理性:業(yè)務(wù)按功能域?qū)Ψ?wù)能力進(jìn)行聚合,實(shí)現(xiàn)服務(wù)標(biāo)準(zhǔn)化提供,支持服務(wù)能力復(fù)用。界面邏輯與業(yè)務(wù)服務(wù)能力分離,應(yīng)用與數(shù)據(jù)分離,實(shí)現(xiàn)應(yīng)用的分層解耦,實(shí)現(xiàn)了全界面的應(yīng)用配置、參數(shù)配置和運(yùn)行管理,如:提供WEB界面配置流程、啟停流程;通過WEB界面監(jiān)控系統(tǒng)運(yùn)行參數(shù)及服務(wù)調(diào)用情況,系統(tǒng)運(yùn)行架構(gòu)圖如圖2所示。
系統(tǒng)建設(shè)高可用性和均衡性:系統(tǒng)主備部署最小化利用資源,且滿足高可用基本條件;群發(fā)處理引擎分布式多任務(wù)處理,下發(fā)模板分布式多進(jìn)程,網(wǎng)關(guān)負(fù)載集群利用,整體應(yīng)用服務(wù)系統(tǒng)部署靈活,多采用分布式部署,充分利用系統(tǒng)硬件資源,保障了業(yè)務(wù)連續(xù)性。同時(shí),系統(tǒng)根據(jù)設(shè)備能力配置負(fù)荷能力,實(shí)現(xiàn)相關(guān)的負(fù)載均衡,包括提供主機(jī)負(fù)載平衡性動(dòng)態(tài)調(diào)整,提供任務(wù)平衡性動(dòng)態(tài)調(diào)整。
系統(tǒng)建設(shè)高性能和可擴(kuò)展性:系統(tǒng)功能要滿足群發(fā)處理,采用分了階段的分布式事件驅(qū)動(dòng)架構(gòu),增加服務(wù)調(diào)用的吞吐量,滿足大規(guī)模并發(fā)業(yè)務(wù)處理要求,分布式部署在各中心,增強(qiáng)中心服務(wù)的處理能力,其應(yīng)用組件支持處理能力彈性擴(kuò)展。
1.3? 公益短信群發(fā)系統(tǒng)處理流程
運(yùn)營人員在管理界面創(chuàng)建群發(fā)任務(wù),多種形式進(jìn)行傳輸,例以發(fā)送號(hào)碼作為下發(fā)文件的方式進(jìn)行導(dǎo)入,配置的群發(fā)任務(wù)經(jīng)過bpm工作流審批,下發(fā)用戶號(hào)碼文件根據(jù)配置的主機(jī)列表路由群發(fā)處理引擎;處理機(jī)制對(duì)傳輸特定文件進(jìn)行解析驗(yàn)證,根據(jù)配置的任務(wù)類型選擇該程序需要下發(fā)的號(hào)碼短信,生成待發(fā)送短信文件;短信下發(fā)處理模塊讀取待發(fā)送短信文件調(diào)用短信網(wǎng)關(guān)接口,利用雙協(xié)議發(fā)送傳輸,最終通過5G消息中心發(fā)送短信;本系統(tǒng)配置數(shù)據(jù)等多種數(shù)據(jù)均以數(shù)據(jù)庫形式和個(gè)性化沉淀樣本,任務(wù)數(shù)據(jù)包含下發(fā)號(hào)碼文件、處理號(hào)碼文件、待發(fā)送短信內(nèi)容都使用文件方式進(jìn)行轉(zhuǎn)存,公益短信系統(tǒng)關(guān)鍵處理流程如圖3所示。
2? 公益短信群發(fā)系統(tǒng)核心技術(shù)
2.1? 指標(biāo)工作流處理
BPM審批工作流是公益短信系統(tǒng)關(guān)鍵的一環(huán),方便使用人員的可視化操作和審批。整個(gè)流程可控,單一流程開發(fā)周期較短;使用變量參數(shù)時(shí),一般無松散持久層,與業(yè)務(wù)服務(wù)沒有密切的關(guān)聯(lián)。審批工作流能夠?qū)⒏餍袆?dòng)節(jié)點(diǎn)串接,人員接口內(nèi)嵌于流程,系統(tǒng)接口調(diào)用應(yīng)用程序,靈活跳轉(zhuǎn),松散耦合。
在實(shí)際使用中,公益短信BPM審批支持自定義業(yè)務(wù)流程設(shè)置,可以訓(xùn)練、調(diào)試等流程,讓業(yè)務(wù)流程臻于完善。BPM足夠的靈活性,使系統(tǒng)建設(shè)對(duì)流程研究,并剔除存在的無效步驟和低效率流程。通過流程再造,節(jié)省了成本、加速了流程以及減少錯(cuò)誤,提高ROI,也讓群發(fā)系統(tǒng)管理變得更為規(guī)范。
數(shù)據(jù)流使用中利用多模板數(shù)據(jù)從各子系統(tǒng)推送智能分析,動(dòng)態(tài)分流,通過流數(shù)據(jù)任務(wù)實(shí)時(shí)處理,經(jīng)過同時(shí)將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫,作為數(shù)據(jù)集,并提供給任務(wù)模型推理服務(wù),實(shí)時(shí)將指標(biāo)數(shù)據(jù)通過模型服務(wù)推理出是否為異常。
2.2? 運(yùn)維告警一體化
短信群發(fā)系統(tǒng)智能化運(yùn)維接入、靈活化個(gè)性告警發(fā)出實(shí)現(xiàn)運(yùn)維告警一體化。智能化快速接入:自動(dòng)化運(yùn)維預(yù)案制作+一鍵式發(fā)布+智能化跟蹤+業(yè)務(wù)個(gè)性化告警工程。對(duì)接自動(dòng)化運(yùn)維平臺(tái),批量調(diào)測(cè)聯(lián)通,由人工處理到系統(tǒng)監(jiān)測(cè),節(jié)省了前期運(yùn)維人力和后期調(diào)測(cè)耗時(shí)。業(yè)務(wù)專屬預(yù)案制作,滿足個(gè)性化業(yè)務(wù)發(fā)展需求,一鍵式發(fā)布后,智能化跟蹤撥測(cè)??蛻舳烁婢こ梯敵?,成快速接入變量參數(shù)。以上進(jìn)行模板化,制成“電渠告警一體化”的接入條件。靈活化個(gè)性告警發(fā)出:告警agent快速讀取+簡(jiǎn)單賦權(quán)。利用平臺(tái)的快速接入,讀取上階段的個(gè)性化告警,對(duì)告警agent進(jìn)行簡(jiǎn)單賦權(quán),匯成“告警一體化”的輸出條件。
多個(gè)預(yù)案制作后進(jìn)行預(yù)案之間的判斷關(guān)系,關(guān)系屬于預(yù)案,預(yù)案關(guān)系分為無條件執(zhí)行、結(jié)果選擇、條件選擇,各預(yù)案關(guān)系完成后預(yù)案發(fā)布,完成多預(yù)案一鍵式發(fā)布。本案例采用條件選擇,條件選擇的變量值是一個(gè)整數(shù),是由上一個(gè)任務(wù)輸出的,格式為“@{result=整數(shù)}@”。當(dāng)子任務(wù)的輸出中有多個(gè)這種格式的字符串時(shí),會(huì)將最后一次出現(xiàn)的值作為條件選擇值。一鍵式發(fā)布后程序會(huì)在任務(wù)的最后一行輸出中提取上下文變量,過程存在包含、不包含的判斷邏輯,都是提取任務(wù)輸出的最后一行是否包含指定關(guān)鍵字。待成功后執(zhí)行一鍵式發(fā)布獲取狀態(tài),任務(wù)狀態(tài)有:成功、失敗、超時(shí)、系統(tǒng)錯(cuò)誤等。
2.3? 微服務(wù)+密塊安全
為保證使用的安全性,構(gòu)建應(yīng)用具體的框架時(shí),經(jīng)過專屬業(yè)務(wù)的Mybatis、Spring進(jìn)行多層次的整合框架,SpringMVC作為相關(guān)請(qǐng)求的交互,Spring來創(chuàng)建映射器接口和相關(guān)事物管理以及Mybatis數(shù)據(jù)源配置等工作。不同的層次體系分別負(fù)責(zé)不同的工作內(nèi)容,通過數(shù)據(jù)業(yè)務(wù)層來獲取映射器接口以及Sql會(huì)話等內(nèi)容,采用Spring注入方式,省去mybatis-config.xml的事務(wù)配置以及數(shù)據(jù)源等內(nèi)容,如圖4所示。
安全在系統(tǒng)中扮演著重要的角色[3],數(shù)據(jù)存儲(chǔ)同樣有多種加密方案[4,5],本文公益短信群發(fā)系統(tǒng)采用的安全密塊算法為一種分組密碼算法,64比特為它的分組長(zhǎng)度,56比特為密鑰長(zhǎng)度。加密時(shí)首先進(jìn)行初始置換,再進(jìn)行相同功能的16輪變換,每輪變換包含置換和代換運(yùn)算,在最后一輪時(shí)輸出左右兩部分并交換次序;最后進(jìn)行逆初始變化。在進(jìn)行16輪變換的時(shí)候,左右分別為32比特。再把輸入的右半部分?jǐn)U展成48比特,和密鑰進(jìn)行異或,通過8個(gè)s盒同數(shù)輸出32比特,s盒輸入長(zhǎng)度為6比特,輸出長(zhǎng)度為4比特。在整個(gè)過程中,s盒是唯一的非線性元件。
整個(gè)安全環(huán)節(jié)通過SSM微服務(wù)的輕量性與智能快速模糊算法進(jìn)行融合嵌套,作為用戶敏感信息存儲(chǔ)或傳輸一個(gè)整體組件。
3? 應(yīng)用效果
突如其來的疫情使全國陷入恐慌,為更好助力疫情防控工作,山西移動(dòng)公益短信群發(fā)系統(tǒng)開啟特殊通道,發(fā)展其社會(huì)效益和公益服務(wù),僅十天便已為工信部、衛(wèi)建委、防疫指揮部、各地市政府機(jī)構(gòu)累積發(fā)送疫情相關(guān)短信5.1億次,下發(fā)成功率高于99.95%,圓滿完成政府和衛(wèi)生健康委等任務(wù),受到各行業(yè)和用戶好評(píng)。此次支撐任務(wù)中,公益短信群發(fā)系統(tǒng)為擔(dān)負(fù)好國企重任、做好通信事業(yè)發(fā)展寫下了濃濃的一筆,圖5為系統(tǒng)應(yīng)用的具體過程。
4? 結(jié)? 論
山西移動(dòng)輕量化承載的公益短信群發(fā)系統(tǒng)建設(shè),從安全、網(wǎng)絡(luò)、運(yùn)維、生產(chǎn)于一體的規(guī)范化流程。界面邏輯與業(yè)務(wù)服務(wù)能力分離,應(yīng)用與數(shù)據(jù)分離,實(shí)現(xiàn)應(yīng)用的分層解耦;以微服務(wù)和加密為基,實(shí)現(xiàn)敏捷交互、安全存儲(chǔ),同步擁有運(yùn)維告警一體化。使得移動(dòng)在行業(yè)發(fā)展和用戶規(guī)模不斷增長(zhǎng)的情況下,能夠應(yīng)允國家、政府等機(jī)構(gòu)特殊性的通信要求,滿足了國家公益類、應(yīng)急類及自然災(zāi)害或突發(fā)情況下專屬短信的及時(shí)送達(dá)。
參考文獻(xiàn):
[1] 張雷,劉珊.黑龍江通信業(yè)持續(xù)加強(qiáng)疫情防控工作 [J].通信管理與技術(shù),2020(1):4.
[2] 王柯懿,周文杰,劉耀,等.疫情對(duì)中國信息通信業(yè)發(fā)展的影響 [J].中國電信業(yè),2020(4):30-32.
[3] 張玉磊,駱廣萍,張永潔,等.基于格式保留的敏感信息加密方案 [J].計(jì)算機(jī)工程與科學(xué),2020,42(2):236-240.
[4] 蔡雙進(jìn).數(shù)據(jù)加密技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)通信安全中的應(yīng)用分析 [J].電腦迷,2018(7):19.
[5] 葉聰聰,李國強(qiáng),蔡鴻明,等.區(qū)塊鏈的安全檢測(cè)模型 [J].軟件學(xué)報(bào),2018,29(5):1348-1359.
作者簡(jiǎn)介:段凱凱(1993—),男,漢族,山西太原人,中級(jí)工程師,碩士研究生,研究方向:系統(tǒng)開發(fā)。