時(shí)鎮(zhèn)軍
中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司
使用手機(jī)的人常常會(huì)被手機(jī)短信“廣而告之”。短信廣告的泛濫在一定程度上影響了手機(jī)持有者的工作效率和日常生活,而且這些廣告的內(nèi)容大多沒(méi)有經(jīng)過(guò)審查,可信度極低,更暗藏詐騙陷阱。“優(yōu)惠倒計(jì)時(shí)”、“折扣活動(dòng)中”、“限量?jī)?yōu)惠券”……每逢“雙11”“618”等購(gòu)物節(jié),垃圾短信便向潮水一般涌來(lái),令用戶(hù)不堪其憂(yōu)。利用行業(yè)端口發(fā)送如:驗(yàn)證碼、繳費(fèi)提醒、會(huì)員通知、物流跟蹤、票務(wù)信息等,已成為互聯(lián)網(wǎng)+體系中必不可少的一部分,但與此同時(shí)也帶來(lái)了很多行業(yè)端口類(lèi)的問(wèn)題和風(fēng)險(xiǎn),如肆意發(fā)送營(yíng)銷(xiāo)推廣類(lèi)短信、超范圍發(fā)送情況等等,給用戶(hù)造成極大困擾。
工信部于2015年發(fā)布的《通信短信息服務(wù)管理規(guī)定》中明確要求“短信息服務(wù)提供者、短信息內(nèi)容提供者未經(jīng)用戶(hù)同意或者請(qǐng)求,不得向其發(fā)送商業(yè)性短信息”,并對(duì)商業(yè)性短消息作出定義,“是指用于介紹、推銷(xiāo)商品、服務(wù)或者商業(yè)投資機(jī)會(huì)的短消息”。為了更好地規(guī)范行業(yè)端口,除了在行政法規(guī)方面加強(qiáng)對(duì)信息的管理,還應(yīng)通過(guò)技術(shù)手段對(duì)垃圾短信進(jìn)行有效的監(jiān)控和過(guò)濾。
本文針對(duì)行業(yè)端口短信的實(shí)際情況,設(shè)計(jì)了一套完整的行業(yè)短信管控系統(tǒng),通過(guò)行為管控、內(nèi)容管控等多種手段,保證行業(yè)端口類(lèi)短信被實(shí)時(shí)高效監(jiān)控、分類(lèi)和處理,并實(shí)現(xiàn)對(duì)垃圾短信的實(shí)時(shí)攔截。
平臺(tái)首先對(duì)接行業(yè)網(wǎng)關(guān),接入行業(yè)消息,針對(duì)行業(yè)消息進(jìn)行精細(xì)化管控,如名單管控、行為管控、內(nèi)容管控、時(shí)間區(qū)域管控;經(jīng)過(guò)層層監(jiān)控管控后,過(guò)濾掉各類(lèi)不良行業(yè)端口消息,確保正常的消息下發(fā)至用戶(hù)手機(jī)中。同時(shí)各類(lèi)過(guò)濾消息經(jīng)過(guò)畫(huà)像展示、指標(biāo)分析、異常預(yù)警的方式給予管理人員警示及策略建議。系統(tǒng)架構(gòu)圖如圖1所示。
各模塊功能如下:
(1)數(shù)據(jù)采集模塊:提供數(shù)據(jù)采集能力,通過(guò)和外部系統(tǒng)對(duì)接,獲取基礎(chǔ)數(shù)據(jù)。支持的數(shù)據(jù)獲取方式包括:數(shù)據(jù)文件、實(shí)時(shí)消息方式。消息通信模塊以并發(fā)形式部署,文件模塊主備部署。
(2)數(shù)據(jù)ETL(Extract-Transform-Load,抽取-轉(zhuǎn)換-加載)模塊:提供數(shù)據(jù)整合能力,負(fù)責(zé)完成數(shù)據(jù)從數(shù)據(jù)源向數(shù)據(jù)倉(cāng)庫(kù)轉(zhuǎn)換的過(guò)程。ETL模塊內(nèi)置規(guī)則引擎,可以按照系統(tǒng)需要完成數(shù)據(jù)的清洗、抽取、轉(zhuǎn)換、加載、刷新。
(3)數(shù)據(jù)倉(cāng)庫(kù):提供數(shù)據(jù)存儲(chǔ)查詢(xún)能力,可以根據(jù)業(yè)務(wù)量進(jìn)行橫向擴(kuò)展。數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)部分基礎(chǔ)數(shù)據(jù)、存儲(chǔ)經(jīng)過(guò)ETL整合的數(shù)據(jù)、存儲(chǔ)分析引擎分析后的高質(zhì)量數(shù)據(jù)。
(4)分析引擎:提供數(shù)據(jù)分析和特征分析能力。數(shù)據(jù)分析部分包括數(shù)據(jù)整合、數(shù)據(jù)計(jì)算、數(shù)據(jù)建模、模型驗(yàn)證等能力。特征分析部分針對(duì)于實(shí)時(shí)消息進(jìn)行基礎(chǔ)特征分析、內(nèi)容特征分析、行為特征分析、信息監(jiān)控等。
(5)數(shù)據(jù)引擎:提供對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)進(jìn)行業(yè)務(wù)層的整合、分析能力。包括數(shù)據(jù)權(quán)限管理,指標(biāo)分析、多維圖表、端口健康分析等。
(6)數(shù)據(jù)展示:提供數(shù)據(jù)可視化能力,根據(jù)業(yè)務(wù)提供直觀便捷的分析頁(yè)面,模塊采用BS架構(gòu),可分布式部署,滿(mǎn)足大量用戶(hù)同時(shí)使用需要。數(shù)據(jù)展現(xiàn)模塊具備數(shù)據(jù)權(quán)限管理能力,可以根據(jù)使用系統(tǒng)的角色不同展現(xiàn)不同的工作內(nèi)容,保證易用性和安全性。

圖1 系統(tǒng)架構(gòu)圖
(1)模板短信配置方式
端口消息的內(nèi)容大多具有模式化,可以通過(guò)配置模板的方式來(lái)管理端口,當(dāng)端口發(fā)送內(nèi)容和配置的模板不相符時(shí),會(huì)阻止其下發(fā)。模板短信匹配包括完全匹配和通配符匹配。
完全匹配:短信內(nèi)容需與注冊(cè)模板內(nèi)容完全一致。
通配符匹配:短信內(nèi)容明文處與模板內(nèi)容明文處完全一致,短信內(nèi)容其他部分需要滿(mǎn)足模板對(duì)應(yīng)位置設(shè)置的通配符規(guī)則,?號(hào)代表任意字符包括漢字、數(shù)字和英文字符,!號(hào)代表英文字符和數(shù)字,#號(hào)代表漢字,規(guī)則以[]號(hào)括起來(lái)。
線(xiàn)性滑動(dòng)抽取算法:
在進(jìn)行主要的匹配任務(wù)前,先將每個(gè)模板的最長(zhǎng)漢字串提取存儲(chǔ),并與它們各自的模板建立索引關(guān)系。此算法用于對(duì)每個(gè)端口配置的所有模板進(jìn)行最長(zhǎng)漢字串的抽取。
步驟1:若right指針指向的字符為漢字,則left指針保持原位置,right指針向右滑動(dòng);
步驟2:若right指針指向的字符不是漢字字符,則計(jì)算right-left并與max比較,若left-right>max,則將right-left賦給max,并將left賦值給pos,最后將right賦值給left;
步驟3:當(dāng)right滑動(dòng)到模板串的最后一個(gè)字符時(shí),整個(gè)算法過(guò)程結(jié)束。
此時(shí),max已經(jīng)保存了最長(zhǎng)漢字串的長(zhǎng)度,而pos則保存了最長(zhǎng)漢字串的開(kāi)始位置,即只需做一次拷貝便可以提取出最長(zhǎng)漢字串。
分析整個(gè)算法過(guò)程(如圖2所示)可知,在整個(gè)抽取過(guò)程中,left和right指針永遠(yuǎn)不回退,當(dāng)right指針指向模板串的末尾時(shí),抽取過(guò)程結(jié)束。故該算法的時(shí)間復(fù)雜度為O(M),其中,M為模板串長(zhǎng)度,是一個(gè)線(xiàn)性時(shí)間的復(fù)雜度,且不需要任何輔助數(shù)據(jù)結(jié)構(gòu)。即此算法只需對(duì)模板串遍歷一次便可抽取出該模板的特征信息,與傳統(tǒng)的提取算法相比,此線(xiàn)性滑動(dòng)抽取算法速度提升了一個(gè)量級(jí)。

圖2 線(xiàn)性滑動(dòng)抽取算法
(2)日發(fā)送量異常管控
由于每個(gè)端口的發(fā)送行為和發(fā)送特征都不同,加上龐大的端口數(shù)量和發(fā)送量,管理員很難甄別,對(duì)于發(fā)送量較小的端口,又很難識(shí)別出被盜的可能,為了從根本上解決管理員的難題,采用智能手段管理,即使用態(tài)勢(shì)分析方式,進(jìn)行端口日發(fā)送量的閾值預(yù)測(cè),從而使端口未來(lái)發(fā)送閾值的判斷智能化。
根據(jù)對(duì)日發(fā)送量進(jìn)行策略配置的業(yè)務(wù)需求特性,使用“多元線(xiàn)性回歸算法+浮動(dòng)修正”的方式對(duì)日發(fā)送量策略進(jìn)行自適應(yīng)調(diào)整,根據(jù)歷史數(shù)據(jù)進(jìn)行建模,得出未來(lái)數(shù)據(jù)的估算值和上浮度,用端口的預(yù)測(cè)值加上浮動(dòng)值作為日發(fā)送量的閥值,并且系統(tǒng)每天自動(dòng)按照不同端口構(gòu)建不同模型,為每個(gè)端口生成新一天的監(jiān)控策略,從而得到更實(shí)際的預(yù)測(cè)數(shù)據(jù),實(shí)現(xiàn)自動(dòng)化管理。這樣既能更準(zhǔn)確地分析出端口是否存在被盜的可能性,又能更有效的管理端口。數(shù)據(jù)越多,估算準(zhǔn)確率越高,建議3個(gè)月以上。
此外,為了防止被盜端口的數(shù)據(jù)樣本對(duì)模型的訓(xùn)練造成干擾,我們還設(shè)計(jì)了剔除無(wú)用數(shù)據(jù)的方法,即:當(dāng)某個(gè)端口判定為有被盜嫌疑時(shí),及時(shí)下發(fā)短信通知管理員,待管理員回復(fù)后,一旦該端口被管理員確定為被盜,則將該端口的日發(fā)送量數(shù)據(jù)從算法的訓(xùn)練集中剔除。如圖3所示。

圖3 日發(fā)送量異常管控過(guò)程
(3)相似內(nèi)容管控方式
對(duì)行業(yè)端口發(fā)送的短信內(nèi)容進(jìn)行智能語(yǔ)義分析,將發(fā)送內(nèi)容進(jìn)行分類(lèi),如貸款類(lèi)、驗(yàn)證碼類(lèi)、廣告類(lèi)等類(lèi)別,對(duì)于投訴率高的類(lèi)別,進(jìn)行策略提取或直接管控。主要步驟(如圖4所示)如下:

圖4 相似內(nèi)容管控方式分類(lèi)流程
步驟1:使用添加動(dòng)態(tài)詞頻權(quán)重和添加動(dòng)態(tài)詞組頻率權(quán)重方法為全部訓(xùn)練文本數(shù)據(jù)進(jìn)行分詞。
步驟2:分詞結(jié)果轉(zhuǎn)換成特征向量。將步驟1中文本分出的全部單詞進(jìn)行去重操作,得到的分詞數(shù)量作為文本的特征維度,并且按照讀入先后順序把去重后的各個(gè)單詞保存到分詞數(shù)組中,將每個(gè)訓(xùn)練文本分出的單詞在分詞數(shù)組中進(jìn)行匹配,匹配成功后該單詞在數(shù)組中序號(hào)對(duì)應(yīng)的向量值設(shè)為1。
步驟3:將特征向量帶入回歸算法。使用softmax回歸模型,將步驟2中獲取的訓(xùn)練文本的特征向量和指定的類(lèi)型,求出最小代價(jià)函數(shù)表示的權(quán)重矩陣。
步驟4:保存數(shù)據(jù)模型。將步驟2訓(xùn)練后的文本分詞數(shù)組保存到文件,作為分類(lèi)操作中文本轉(zhuǎn)換成特征向量的依據(jù),以保證和訓(xùn)練時(shí)特征向量轉(zhuǎn)換的一致性。保存步驟3求出的權(quán)重矩陣。
步驟5:短信文本分類(lèi)。短信分類(lèi)前,首先從數(shù)學(xué)模型中讀入分詞數(shù)組和權(quán)重矩陣。使用步驟1和步驟2中的分詞方法和文本向量轉(zhuǎn)換方式將待分類(lèi)的文本轉(zhuǎn)換成特征向量。將文本特征向量帶入步驟3中的權(quán)重矩陣。用特征向量中每個(gè)值為1的分量的序號(hào),找到權(quán)重矩陣中對(duì)應(yīng)的行。將對(duì)應(yīng)行中的權(quán)重值分別帶入模型,求出文本分別屬于一種類(lèi)型的概率。將概率值最大的類(lèi)型作為本次文本分類(lèi)的結(jié)果。
平臺(tái)基于行業(yè)端口消息,針對(duì)名單類(lèi)管控手段、內(nèi)容類(lèi)管控手段、行為類(lèi)管控手段等能力進(jìn)行說(shuō)明,具體功能如圖5,上文中針對(duì)內(nèi)容管控中的模板短信匹配管控和相似內(nèi)容管控、發(fā)送行為管控中的日常發(fā)送量異常管控做了主要技術(shù)功能描述。
(1)行業(yè)消息接入
系統(tǒng)與行業(yè)網(wǎng)關(guān)建立連接,進(jìn)行消息交互,接收行業(yè)網(wǎng)關(guān)傳輸?shù)膶?shí)時(shí)消息,行業(yè)網(wǎng)關(guān)等待系統(tǒng)反饋消息處理結(jié)果。
(2)消息內(nèi)容預(yù)處理
在核心處理子系統(tǒng)上優(yōu)先進(jìn)行消息內(nèi)容的預(yù)處理,包括消息內(nèi)容繁轉(zhuǎn)簡(jiǎn)、消息內(nèi)容去除特殊字符、消息內(nèi)容編碼轉(zhuǎn)換,保證消息內(nèi)容能夠正常應(yīng)用管控。
(3)端口基礎(chǔ)特征分析
針對(duì)發(fā)送端口的基礎(chǔ)特征屬性,如行業(yè)類(lèi)型、客戶(hù)級(jí)別、接入時(shí)間、黑白名單模型、歷史發(fā)送量情況、歷史投訴量情況、歷史監(jiān)控違規(guī)量情況等進(jìn)行分析,獲取各項(xiàng)屬性值,作為模型識(shí)別輸入,對(duì)垃圾短信進(jìn)行識(shí)別。
(4)名單管控
通過(guò)人工設(shè)置黑名單端口、舉報(bào)關(guān)系策略、敏感用戶(hù)和對(duì)應(yīng)過(guò)濾條件、白名單策略對(duì)行業(yè)消息進(jìn)行名單類(lèi)管控。
(5)發(fā)送行為管控
通過(guò)人工設(shè)置日發(fā)送量管控閥值、設(shè)置端口發(fā)送頻次、端口月累計(jì)舉報(bào)率閥值、持續(xù)騷擾管控策略,對(duì)行業(yè)端口消息直接攔截或送人工審核。
(6)內(nèi)容管控
模板短信匹配管控:針對(duì)經(jīng)常發(fā)送大量嫌疑消息的端口,建立高風(fēng)險(xiǎn)端口配置,針對(duì)高風(fēng)險(xiǎn)端口配置模板,此類(lèi)端口需要按照注冊(cè)的模板進(jìn)行校驗(yàn)后下發(fā)短信。注冊(cè)模板同時(shí)支持模板驗(yàn)證功能。
相似內(nèi)容管控:判定端口發(fā)送短信內(nèi)容是否與要求管控短信內(nèi)容相同或者相似,識(shí)別判定確認(rèn)后,消息采取管控手段:攔截或人工線(xiàn)下審核。
通過(guò)人工設(shè)置敏感垃圾詞策略、常用短語(yǔ)策略、特殊端口和關(guān)鍵詞策略對(duì)端口發(fā)送行業(yè)消息進(jìn)行管控。
支持嫌疑消息人工線(xiàn)下判定審核功能、舉報(bào)內(nèi)容監(jiān)控、端口簽名合法性功能。
(7)其他管控
通過(guò)時(shí)間管控、應(yīng)急管控、區(qū)域屏蔽管控,對(duì)行業(yè)端口短信直接攔截或線(xiàn)下人工審核;支持PUSH、閃信等特殊格式消息管控功能,能夠設(shè)置具備發(fā)送特殊格式消息端口列表,對(duì)違規(guī)發(fā)送特殊格式消息端口進(jìn)行管控。
(8)數(shù)據(jù)存儲(chǔ)
系統(tǒng)滿(mǎn)足數(shù)據(jù)存儲(chǔ)功能,存儲(chǔ)原始數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)、分析結(jié)果數(shù)據(jù),在保留長(zhǎng)期數(shù)據(jù)的前提下保證查詢(xún)效率。
(9)業(yè)務(wù)發(fā)展支撐
通過(guò)指標(biāo)跟蹤分析、畫(huà)像展示、異常違規(guī)預(yù)警、端口健康度評(píng)估、業(yè)務(wù)監(jiān)管輔助對(duì)數(shù)據(jù)進(jìn)行分析和展示,更直觀展示平臺(tái)數(shù)據(jù)信息。
(10)外部接口
與行業(yè)網(wǎng)關(guān)、經(jīng)分系統(tǒng)、投訴平臺(tái)進(jìn)行消息和文件通信。

圖5 平臺(tái)功能
(1)組網(wǎng)方案
行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)基于行業(yè)端口基礎(chǔ)信息、發(fā)送短信樣本、用戶(hù)舉報(bào)樣本三方面數(shù)據(jù),針對(duì)“基礎(chǔ)屬性+行為特征+內(nèi)容特征”相結(jié)合的大數(shù)據(jù)分析平臺(tái),按投訴風(fēng)險(xiǎn)對(duì)行業(yè)短信分級(jí),建立行業(yè)端口垃圾短信科學(xué)封堵策略管理模式。
(2)接口方案
①行業(yè)消息實(shí)時(shí)接口
行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)接收行業(yè)網(wǎng)關(guān)實(shí)時(shí)消息,為行業(yè)網(wǎng)關(guān)返回消息鑒權(quán)結(jié)果,以SMPP協(xié)議為基礎(chǔ),實(shí)現(xiàn)ISMG與SMMC的互聯(lián),達(dá)到對(duì)經(jīng)ISMG短信息的實(shí)時(shí)監(jiān)控。
②預(yù)警短信下發(fā)接口
行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)支持與行業(yè)網(wǎng)關(guān)交互通信,通過(guò)行業(yè)網(wǎng)關(guān)下發(fā)預(yù)警短信提醒,接收網(wǎng)關(guān)返回消息應(yīng)答和狀態(tài)報(bào)告。
③端口基礎(chǔ)信息同步接口
行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)與經(jīng)分系統(tǒng)交互通信,接收經(jīng)分系統(tǒng)定時(shí)同步行業(yè)端口基礎(chǔ)信息增量文件和全量文件,并自動(dòng)進(jìn)行解析、入庫(kù)、同步等業(yè)務(wù)處理。
平臺(tái)與經(jīng)分系統(tǒng)間通過(guò)FTP通信,由經(jīng)分系統(tǒng)提供基礎(chǔ)信息文件到指定的FTP服務(wù)器上,由平臺(tái)定期獲取文件。
④舉報(bào)數(shù)據(jù)同步接口
行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)與舉報(bào)平臺(tái)交互通信,接收舉報(bào)平臺(tái)每天定時(shí)同步行業(yè)端口用戶(hù)舉報(bào)數(shù)據(jù)增量文件,并自動(dòng)進(jìn)行解析、入庫(kù)、同步等業(yè)務(wù)處理。
平臺(tái)與舉報(bào)平臺(tái)間通過(guò)FTP通信,由舉報(bào)平臺(tái)提供基礎(chǔ)信息文件到指定的FTP服務(wù)器上,由平臺(tái)定期獲取文件。如圖6所示。

圖6 行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)系統(tǒng)組網(wǎng)圖
行業(yè)端口短信運(yùn)營(yíng)與管控平臺(tái)自上線(xiàn)以來(lái),強(qiáng)化日常運(yùn)營(yíng),累計(jì)更新部署關(guān)鍵字策略789條,月均人工審核量144萬(wàn)條,攔截商業(yè)性營(yíng)銷(xiāo)短信17.4萬(wàn)條,送審攔截比12.07%。2020年行業(yè)端口百萬(wàn)短彩信被舉報(bào)率同比下降21.88%。
本文針對(duì)行業(yè)端口垃圾短信的現(xiàn)狀,研究了行業(yè)端口短信運(yùn)營(yíng)與管控系統(tǒng)在內(nèi)容類(lèi)監(jiān)控和發(fā)送行為策略方面的技術(shù)方案。通過(guò)采用線(xiàn)性滑動(dòng)掃描算法、日發(fā)送量監(jiān)控、相似內(nèi)容管控等主要技術(shù)的應(yīng)用,結(jié)合行業(yè)端口短信的實(shí)際情況進(jìn)行全方位、多維度分析,尋找業(yè)務(wù)規(guī)律,形成一套完整的行業(yè)數(shù)據(jù)分析視圖,制定一套精細(xì)化管控機(jī)制,輔助管理人員全面掌控行業(yè)端口發(fā)展情況,提升業(yè)務(wù)健康度,降低垃圾短信舉報(bào)量。