(北京郵電大學(xué) 信息與通信工程學(xué)院, 北京 100876)
摘要:隨著短信業(yè)務(wù)飛速發(fā)展,垃圾短信問題也日趨嚴重,目前還沒有有效的方式解決這一問題。提出一種新的方案,該方案利用面向方面思想,通過修改短信業(yè)務(wù)的相關(guān)流程,將移動地址本業(yè)務(wù)與短信業(yè)務(wù)結(jié)合從而有效控制垃圾短信。
關(guān)鍵詞:短信業(yè)務(wù);面向方面;移動地址本
中圖分類號:TN92; TP393文獻標志碼:A
文章編號:1001-3695(2008)11-3437-03
Screening junk messages based on AO
SHAN Hua-li,WANG Yu-mei
(School of Information Communication Engineering, Beijing University of Posts Telecommunications, Beijing 100876, China)
Abstract:With the development of SMS, issues on junk messages are becoming more and more serious. Nowadays, there are still no effective measures to solve the chronic problem. This paper proposed a novel scheme. Based on AO, this scheme combining PIM with SMS could screen junk messages effectively by modifying the relevant flow of SMS.
Key words:SMS(short message service); AO(aspect-oriented); PIM(personal information management)
0引言
近年來短信業(yè)務(wù)發(fā)展迅速,成為運營商重要的業(yè)務(wù)類型和利潤來源。以中國移動為例,2006年短信業(yè)務(wù)繼續(xù)保持快速增長,短信業(yè)務(wù)收入達到人民幣322.01億元,短信普及率(短信業(yè)務(wù)使用用戶數(shù)占用戶總數(shù)的比例)達到89.8%,短信業(yè)務(wù)使用量達到3 533.8億條,日均近10億條。近年來中國移動短信業(yè)務(wù)使用量的變化如圖1[1]所示。
從圖1可以看出,短信業(yè)務(wù)越來越成為拉動營運收入增長的重要因素。然而,短信業(yè)務(wù)在取得巨大成功的同時也暴露出一些問題[2],突出表現(xiàn)在每天數(shù)億條的短信流量中,極少數(shù)人通過短信進行違規(guī)活動。他們利用相關(guān)法規(guī)的不完善,利用短信的存儲轉(zhuǎn)發(fā)、可靠的特點發(fā)送商業(yè)推廣信息,推廣業(yè)務(wù);也有人發(fā)送騷擾信息;甚至不法之徒發(fā)送詐騙短信,誘導(dǎo)人們上當。以上短信統(tǒng)稱為垃圾短信。垃圾短信侵犯用戶權(quán)益,擾亂正常的商業(yè)環(huán)境,受到廣大消費者和運營商的一致反對。但是到目前為止,還沒有有效的方式來解決這一問題。在垃圾短信管理方面,需要通過綜合治理等多種手段進行控制,在政府提供法律法規(guī)支持的同時更需要運行商在技術(shù)層面對相關(guān)業(yè)務(wù)流程
進行完善和管理。本文提出一種新的方案,該方案利用AO[3]思想,通過修改短信業(yè)務(wù)的業(yè)務(wù)流程,將移動地址本業(yè)務(wù)[4]與短信業(yè)務(wù)結(jié)合從而有效控制垃圾短信。本文首先介紹AO思想并對AO優(yōu)勢進行描述,隨后詳細介紹短信業(yè)務(wù)的業(yè)務(wù)流程和信令流程,在此基礎(chǔ)上提出改進方案,并對該方案的前景及實際應(yīng)用進行總結(jié)。
1面向方面的編程思想
11AO簡介
OO(object-oriented)是當前主流的程序設(shè)計規(guī)范,當對公共行為進行建模時展示了強大的功能,但是當對跨越多個模塊的行為進行建模時,卻陷入困境。AO正好可以解決這一問題。它允許開發(fā)者動態(tài)地修改靜態(tài)的OO模型,構(gòu)造出一個能夠不斷增長以滿足新增需求的系統(tǒng)。AO利用一種稱為橫切(crosscut)的技術(shù),解開封裝的對象內(nèi)部,將那些影響了多個類的行為封裝到一個可重用模塊,并將其取名為aspect,即方面。方面是AO的核心概念,是基本的模塊化單元,是應(yīng)用程序關(guān)注點(concern)的具體化。
一個關(guān)注點可以是一個特定的目的、一塊感興趣的區(qū)域或一段需要的邏輯行為。從技術(shù)的角度講,一個典型的軟件系統(tǒng)包含一些核心的關(guān)注點和系統(tǒng)級的關(guān)注點。例如,一個信用卡處理系統(tǒng)的核心關(guān)注點是借貸/存入處理,而系統(tǒng)級的關(guān)注點是授權(quán)、安全等問題。系統(tǒng)級的關(guān)注點會在多個模塊中出現(xiàn),稱之為橫切關(guān)注點(crosscutting concerns)。一個復(fù)雜的系統(tǒng)由許多關(guān)注點組合實現(xiàn)。
AO思想就是通過橫切技術(shù)把橫切關(guān)注點從主邏輯中分離出來,從而獨立地對aspect編程。利用AO技術(shù)可以對相關(guān)的橫切關(guān)注點進行封裝,形成單獨的aspect,從而保證橫切關(guān)注點的復(fù)用。由于橫切關(guān)注點的分離,主邏輯無法調(diào)用橫切關(guān)注點,需要利用編織(weave)技術(shù)將aspect織入到函數(shù)或相關(guān)邏輯中。這里的編織是將橫切關(guān)注點代碼和主應(yīng)用程序集成在一起工作。
12AO思想對智能網(wǎng)業(yè)務(wù)改造的好處
移動智能網(wǎng)[5]是為了更靈活、方便、經(jīng)濟、有效地提供增值業(yè)務(wù)而在傳統(tǒng)移動交換網(wǎng)中引入的一種疊加網(wǎng)絡(luò)。整個移動網(wǎng)絡(luò)便形成了由原有的交換層和疊加的智能層構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu),交換層完成基本業(yè)務(wù)呼叫連接功能,而復(fù)雜的增值業(yè)務(wù)由智能層進行控制實現(xiàn)。智能網(wǎng)的增值業(yè)務(wù)是區(qū)別于基本業(yè)務(wù)而言的。傳統(tǒng)的交換機主要完成主叫和被叫連接起來進行通話的業(yè)務(wù)功能,稱之為智能網(wǎng)的基本業(yè)務(wù)。隨著移動通信需求的不斷增長以及新技術(shù)在移動通信網(wǎng)中的廣泛應(yīng)用,促使移動網(wǎng)絡(luò)得到了迅速發(fā)展,移動網(wǎng)絡(luò)由單純傳遞和交換信息,逐步向存儲和處理信息的智能化方向發(fā)展。人們不再滿足于簡單的基本業(yè)務(wù)功能,提出了更加復(fù)雜、更加智能化的業(yè)務(wù)需求,稱之為通信網(wǎng)的增值業(yè)務(wù)。
移動智能網(wǎng)應(yīng)用及改造的目的是能夠快速、方便、靈活、經(jīng)濟、有效地生成和實現(xiàn)各種增值業(yè)務(wù)及相關(guān)業(yè)務(wù)支持,而AO可以起到很好的推動作用,主要體現(xiàn)在:
a)AO可以支持快速的業(yè)務(wù)改造。利用AO思想,業(yè)務(wù)提供商可以在無須重新開發(fā)業(yè)務(wù)的情況下,對現(xiàn)有的業(yè)務(wù)流程和業(yè)務(wù)邏輯進行小的修改,從而在充分利用原有業(yè)務(wù)的情況下改造增值業(yè)務(wù)。
b)AO可以方便靈活地支持業(yè)務(wù)改造。利用AO思想,可以根據(jù)業(yè)務(wù)需要及用戶的需求,在流程中增加或刪除所需的附加功能和業(yè)務(wù)特性,而無須關(guān)注業(yè)務(wù)底層的細節(jié);可以將新的業(yè)務(wù)特性或額外功能作為一個方面編織到原有的業(yè)務(wù)流程中,并可以充分利用已有業(yè)務(wù)實現(xiàn)多業(yè)務(wù)的合成等功能。
c)AO可以經(jīng)濟有效地支持業(yè)務(wù)改造。由a)b)可知,利用AO思想并沒有徹底改變原有業(yè)務(wù)流程,也沒有改變底層的硬件支持,只是對軟件進行必要調(diào)整。因此可以在最大程度實現(xiàn)運營商及用戶的需求同時控制成本,有效地支持智能網(wǎng)增值業(yè)務(wù)。
d)AO可以明顯降低對原有業(yè)務(wù)開發(fā)者的依賴程度。利用AO思想,開發(fā)者只需找到原有業(yè)務(wù)中的切入點(通常是某個請求或方法),將需要添加的新特性插入到原有流程中,從而實現(xiàn)新的功能。而后續(xù)開發(fā)者無須完全了解原有開發(fā)者的意圖和程序代碼,因此會大大降低對原有業(yè)務(wù)開發(fā)者的依賴程度。
正是由于AO的上述優(yōu)點,本文提出基于AO思想的屏蔽垃圾短信方案,在充分利用現(xiàn)有短信平臺的基礎(chǔ)上,結(jié)合移動地址本業(yè)務(wù)有效屏蔽垃圾短信。
2方案介紹
現(xiàn)存短信業(yè)務(wù)平臺主要基于GSM網(wǎng)或CDMA網(wǎng)絡(luò)向用戶提供短消息業(yè)務(wù)。為了便于分析,本文忽略不同網(wǎng)絡(luò)平臺之間的技術(shù)差異性,僅從業(yè)務(wù)的角度對傳統(tǒng)短信業(yè)務(wù)的業(yè)務(wù)流程和信令流程進行分析。在此基礎(chǔ)上結(jié)合AO思想提出改進,從而有效地屏蔽垃圾短信。
21傳統(tǒng)短信業(yè)務(wù)方案[6]
按照短信業(yè)務(wù)的實現(xiàn)可以將業(yè)務(wù)分成業(yè)務(wù)流程和信令流程。按照短信業(yè)務(wù)的生命周期可以將業(yè)務(wù)分為消息提交過程、消息處理過程和消息投送過程。這三個階段貫穿于短信業(yè)務(wù)的業(yè)務(wù)流程和信令流程。
211短信業(yè)務(wù)的業(yè)務(wù)流程
短信業(yè)務(wù)模塊包括短信提交子模塊、短信分發(fā)子模塊、資源管理子模塊和命令處理子模塊等主要模塊。本文所提方案需要對短信分發(fā)流程進行修改,因此本文著重分析短信分發(fā)流程。當短信中心接收到短消息后,將短消息保存到短信中心的數(shù)據(jù)庫中并插入等待隊列準備發(fā)送。
對于處于等待隊列中的短信,系統(tǒng)定時檢查資源狀況(包括進程數(shù)據(jù)區(qū)資源等)。當檢測到空閑資源時,系統(tǒng)從等待隊列中取出該消息,發(fā)送給短信信令網(wǎng)關(guān),由短信信令網(wǎng)關(guān)向接收方移動臺投遞。短信業(yè)務(wù)的分發(fā)流程如圖2所示。
212短信業(yè)務(wù)的信令流程
結(jié)合圖2的投遞流程分析并參考CDMA(code division multiple access)網(wǎng)絡(luò)中的相關(guān)實體,短信業(yè)務(wù)的投遞信令流程如圖3所示。為了簡化說明,本文只對主要流程進行介紹。
與短信提交流程不同,移動臺接收短信的信令流程需要HLR(home location register)的參與。具體流程如下:
a)短信業(yè)務(wù)處理模塊SC(short message center)向信令網(wǎng)關(guān)投遞短信,消息來源于某一移動用戶提交的短信,在等待隊列里準備發(fā)送;
b)短信中心信令網(wǎng)關(guān)MC(message center)與HLR信令交互(圖中虛線框):信令網(wǎng)關(guān)向HLR查詢被叫用戶的位置信息,HLR返回查詢結(jié)果;
c)MC向被叫所在MSC(mobile switching center)投遞短信,并等待MSC返回響應(yīng);
d)MSC向A口發(fā)出對被叫用戶的投遞短信請求;
e)A口與BSS(base station subsystem)進行信令交互:A口向用戶尋呼并投遞短信,投遞結(jié)果通過A口返回給MSC。
22改進后的業(yè)務(wù)方案
為了屏蔽垃圾短信,需要對短信業(yè)務(wù)的業(yè)務(wù)流程和信令流程進行修改。本方案基于面向方面的思想,利用現(xiàn)有的移動地址本業(yè)務(wù)對短信業(yè)務(wù)流程進行改進,從而有效地屏蔽垃圾短信。移動地址本(PIM)[7]是北京移動推出的一種提供網(wǎng)絡(luò)存儲用戶通信錄的新業(yè)務(wù),目前該類業(yè)務(wù)已在全國推廣。
基于面向方面的思想,本文將移動地址本作為一個方面編織到短信業(yè)務(wù)流程中,從而在不改變短信業(yè)務(wù)整體流程的前提下有效屏蔽垃圾短信。修改后的業(yè)務(wù)流程為:當短信中心收到短信發(fā)送方的信息后,首先向HLR查詢短信接收方是否訂閱移動地址本業(yè)務(wù)。如果訂閱,則查詢接收方是否存儲發(fā)送方的號碼;如果沒有訂閱,則按照正常流程操作。如果訂閱并存儲該號碼則按照正常流程將信息轉(zhuǎn)發(fā)給接收方;否則屏蔽該短信并反饋發(fā)送方。根據(jù)上述分析,只需對短信業(yè)務(wù)的分發(fā)流程進行修改而短信提交流程不變。改進后的短信業(yè)務(wù)流程如圖4所示。
與圖2相比,圖4中增加的虛線框表示添加的方面。這里需要強調(diào)的是:該方法在屏蔽垃圾短信的同時也存在屏蔽有用短信的可能。例如,對于那些更換號碼而沒有及時通知好友的用戶,發(fā)送的短信可能會被屏蔽掉。因此本文所提方法成功的一個重要前提是:訂閱移動地址本業(yè)務(wù)的用戶及時更新自己存儲在網(wǎng)絡(luò)中的好友列表。
依據(jù)改進后的業(yè)務(wù)流程,需要對短信業(yè)務(wù)的信令流程進行調(diào)整。根據(jù)前述分析,短信中心在向接收方投遞短信前需要訪問移動地址本的業(yè)務(wù)數(shù)據(jù)庫進行查詢,而用戶是否訂閱移動地址本業(yè)務(wù)的相關(guān)信息存儲在HLR中。因此對信令流程的改進應(yīng)該發(fā)生在短信中心訪問HLR時。改進后的短信業(yè)務(wù)信令流程如圖5所示。
與圖3相比,圖5中主要變化體現(xiàn)在新增地址本業(yè)務(wù)查詢功能(圖中實線方框)。具體業(yè)務(wù)流程如下:
a)SC與HLR信令交互(大虛線圈)。業(yè)務(wù)處理模塊通過信令網(wǎng)關(guān)向HLR查詢接收方是否訂閱移動地址本業(yè)務(wù),并將查詢結(jié)果返回給SC。
b)SC與PIM信令交互(小虛線圈,該處需要新增SC與PIM之間的信令接口)。如果訂閱,則SC向PIM查詢發(fā)送方是否在接收方的存儲名單中,并將信息返回給SC。如果PIM中存有發(fā)送方的號碼,則按照正常的短信投遞流程進行;否則短信中心刪除該條信息。
c)SC與MC信令交互。如果沒有訂閱,則SC按一般流程向MC投遞存儲在消息隊列中的短信。
d)~g)同圖3。
上述流程中a)~c)為新增流程,其中a)和b)表示新增方面中需要添加的信令。利用AOP(aspect-oriented programming)技術(shù),可以將新增地址本查詢的信令流程(對應(yīng)圖5中的實線框)看做一個方面用代碼表示。為了簡化,新增方面采用偽碼表達,如下所示:
通過分析新方案的信令流程,新增的PIM查詢信令應(yīng)該位于checkSystemResource()方法之后。由于該方法在短信業(yè)務(wù)的投遞過程中只調(diào)用一次,對照方面QueryPIM,其切入點應(yīng)為checkSystemResource()方法。當調(diào)用該方法結(jié)束后,系統(tǒng)轉(zhuǎn)入PIM查詢,如上述代碼中斜體所示。
利用上面生成的aspect QueryPIM,結(jié)合AO思想,可以很方便地將地址本查詢信令插入到原有信令流程中。將新增方面編織到原有流程,如下所示(其中虛線圈代表前文新增生成的方面):
其中deliverMessage()函數(shù)是SC模塊中處理短信分發(fā)的函數(shù)。當未添加PIM查詢時,代碼中沒有虛線圈表示的方面;當添加PIM查詢時,根據(jù)上述分析,執(zhí)行完checkSystemResource()方法后執(zhí)行虛線圈中的內(nèi)容。需要強調(diào)的是,利用AOP技術(shù),當執(zhí)行完checkSystemResource()方法后,程序跳出轉(zhuǎn)而執(zhí)行添加的方面;執(zhí)行結(jié)束后返回原跳出點,順序執(zhí)行原有程序代碼。因此采用AO思想無須對原有程序代碼作任何修改,開發(fā)者只需將用戶需求轉(zhuǎn)換為方面插入到原有程序中,從而完成新的功能。結(jié)合兩段代碼可以發(fā)現(xiàn):將查詢移動地址本業(yè)務(wù)數(shù)據(jù)庫作為方面編織到短信息流程中,可以有效屏蔽垃圾短信并且不改變業(yè)務(wù)的整體流程,同時采用AOP思想還可以節(jié)省新業(yè)務(wù)開發(fā)所耗時間及成本等,與本文第1章所提優(yōu)勢相一致。
3結(jié)束語
垃圾短信是電信運營環(huán)境中的一大問題,需要運營商、政府和個人從監(jiān)管、技術(shù)和法律等多方面綜合整治。本文從短信業(yè)務(wù)背景入手,在分析短信業(yè)務(wù)的提交和投遞流程的基礎(chǔ)上,借助AO思想并利用現(xiàn)有的移動地址本業(yè)務(wù)從技術(shù)層面提供一種屏蔽垃圾短信的新方法,希望為垃圾短信的處理提供一種新的思路。當然本方法在過濾垃圾短信方面還存在不完善的地方,有待進一步改進。
參考文獻:
[1]
艾瑞咨詢集團. 2006年中國移動財務(wù)研究報告[EB/OL]. (2007-05) [2007-11-23]. http://www.iresearchgroup.com.cn/Report/Graph.asp?id=9255.
[2]中國行業(yè)研究網(wǎng).短信業(yè)務(wù)發(fā)展中的思考[EB/OL].(2006-11)[2007-11-05].http://www.chinairn.com/doc/70270/52940.html.
[3]卞惠.AOP技術(shù)簡介[EB/OL].(2005-11)[2007-10-06].http://dev2dev.bea.com.cn/bbs.
[4]北京移動通信有限責(zé)任公司.移動地址本業(yè)務(wù)[EB/OL]. (2005-08).http://addr.bjmcc.net/index.php.
[5]華為通信設(shè)備公司.GSM智能網(wǎng)原理[EB/OL].(2007-01)[2007-08].http://bbs.itgoal.com.
[6]3GPP.3GPP TS 29.002,Mobile application part(MAP) specification v8.3.0[S].France:3GPP,2007:682-774.
[7]中國移動通信研究院. 中國移動綜合號簿管家業(yè)務(wù)介紹[EB/OL].(2005-09)[2006-12]. http://bbs.itgoal.com.