文/王會(huì)東
保密宣教短信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
文/王會(huì)東
針對通過群發(fā)手機(jī)短信開展保密宣傳教育工作的業(yè)務(wù)需求,設(shè)計(jì)、搭建了一個(gè)適合公司內(nèi)部使用的輕量級短信群發(fā)管理平臺(tái)。本文從選題背景、研究的主要問題、需求分析、開發(fā)技術(shù)、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)等方面對短信平臺(tái)進(jìn)行了闡述,對開發(fā)過程中使用的關(guān)鍵技術(shù)和方法進(jìn)行了詳細(xì)分析,重點(diǎn)研究了短信群發(fā)系統(tǒng)及接口設(shè)計(jì)方法,通過通信接口設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用軟件開發(fā)。保密宣教短信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),創(chuàng)新了保密宣教工作方法,提升了保密管理信息化水平。
保密管理 短信平臺(tái) 串口通信 PDU編碼
保密工作歷來是黨和國家的一項(xiàng)重要工作,企事業(yè)單位有保守國家秘密的義務(wù),不但關(guān)系著國家安全,也關(guān)系著企業(yè)的發(fā)展和個(gè)人的幸福。在當(dāng)前國際形勢下,做好保密工作面臨著新的挑戰(zhàn)。加強(qiáng)保密宣傳培訓(xùn),不斷強(qiáng)化涉密人員的保密意識(shí)、提高保密技能,是做好保密工作的一項(xiàng)重要內(nèi)容。手機(jī)短信作為大家互相交流的工具,越來越受到人們青睞。利用短信作為媒介,定時(shí)、定量地向廣大涉密人員發(fā)送保密基礎(chǔ)知識(shí)、保密提醒等保密宣教信息,隨身存儲(chǔ)在手機(jī)中,更容易被人們記憶、被接受,可以起到事半功倍的宣傳效果。
根據(jù)當(dāng)前嚴(yán)峻的保密形勢,以及日益提升的精益管理工作要求,通過保密宣教短信平臺(tái)的開和利用,隨時(shí)隨地向公司員工傳遞保密宣傳信息,輔助保密宣傳教育工作,形式易于接受,方法易于操作,對提高涉密人員保密意識(shí)和保密技能,促進(jìn)信息化發(fā)展,提升保密管理,具有重要意義。
短信平臺(tái)及接口設(shè)計(jì)工作主要研究內(nèi)容如下:
(1)串口通信設(shè)計(jì),封裝標(biāo)準(zhǔn)AT指令,實(shí)現(xiàn)計(jì)算機(jī)控制短信貓自動(dòng)收發(fā)短信、群發(fā)短信等通訊功能。
(2)短信編碼、解碼設(shè)計(jì),實(shí)現(xiàn)PDU模式的編解碼接口,實(shí)現(xiàn)中英文短信的正常發(fā)送與接收。
(3)短信平臺(tái)設(shè)計(jì),實(shí)現(xiàn)權(quán)限管理、系統(tǒng)管理、用戶管理、通訊錄管理、群發(fā)短信、短信維護(hù)等基本短信平臺(tái)功能。
保密宣教短信平臺(tái)用于企業(yè)內(nèi)部,主要實(shí)現(xiàn)對各部門涉密人員發(fā)送保密宣教短信,使保密宣傳教育工作常規(guī)化、全覆蓋、更容易被員工接受。該系統(tǒng)的核心需求是短信的發(fā)送與管理;此外,還需要對平臺(tái)操作使用人員進(jìn)行管理和授權(quán),對短信接收人員信息進(jìn)行維護(hù),對系統(tǒng)平臺(tái)進(jìn)行日常維護(hù)等操作。因此,軟件需要開發(fā)設(shè)計(jì)系統(tǒng)管理、用戶管理、通信錄管理、群發(fā)短信、查詢管理等功能模塊。系統(tǒng)功能框架見圖1。
平臺(tái)工作時(shí)需要連接控制GSM Modem完成短信收發(fā)操作。GSM Modem通過串口與計(jì)算機(jī)連接,需要開發(fā)串口接口程序,實(shí)現(xiàn)計(jì)算機(jī)對短信貓的硬件控制。同時(shí),短信平臺(tái)要實(shí)現(xiàn)群發(fā)模塊,將待發(fā)短信和接收號(hào)碼發(fā)送到短信貓。短信平臺(tái)硬件構(gòu)成見圖2。
為了防止操作人員隨意修改人員、短信信息,需要對不同操作用戶進(jìn)行權(quán)限設(shè)置,因此需要開發(fā)用戶管理模塊,對不同用戶進(jìn)行權(quán)限控制。用戶權(quán)限包括系統(tǒng)設(shè)置、用戶管理、通信錄管理、手機(jī)設(shè)置、短信發(fā)送、全面發(fā)送、部門發(fā)送、短息查詢等8項(xiàng)系統(tǒng)權(quán)限。用戶登錄后,根據(jù)設(shè)置的不同權(quán)限完成平臺(tái)管理的相關(guān)操作。
系統(tǒng)采用Visual Studio 2008(C#)進(jìn)行開發(fā)。C#是微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\(yùn)行于.NET Framework之上的程序設(shè)計(jì)語言,是一種安全、穩(wěn)定、簡潔,由C和C++衍生出來的面向?qū)ο蟮母呒壘幊陶Z言。
數(shù)據(jù)庫采用SQL Server 2005。SQL Server 2005功能強(qiáng)大,安全可靠,可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫及電子商務(wù)等應(yīng)用。
GSM Modem可用作收發(fā)短信設(shè)備,和手機(jī)一樣,需要手SIM 卡支持,通過(USB 或串口)數(shù)據(jù)線和計(jì)算機(jī)連接,配合計(jì)算機(jī)短信管理軟件實(shí)現(xiàn)短信收發(fā)功能。本系統(tǒng)所用的GSM Modem 模塊如圖3。

圖1:系統(tǒng)功能框架圖
按照短信規(guī)范,短信控制模式有:基于AT指令的PDU模式、基于AT指令的Text模式和Block模式。其中,PDU Mode被所有手機(jī)支持,可以使用任何字符集,是手機(jī)默認(rèn)的編碼方式。PDU Mode又分7bit-160、8bit-140、16bit-70等3種類方式,處理中文用16bit70方式。PDU相當(dāng)于一個(gè)數(shù)據(jù)包,由構(gòu)成消息(SMS)的信息組成。作為一種數(shù)據(jù)單元,它必須包含源/目的地址、保護(hù)(有效)時(shí)間、數(shù)據(jù)格式、協(xié)議類型和正文,正文長度可達(dá)140字節(jié),都以十六進(jìn)制表示。
GSM MODEM通過接收和識(shí)別AT指令實(shí)現(xiàn)短信的收發(fā)控制以及其他工作。
利用計(jì)算機(jī)控GSM MODEM收發(fā)短信,就是向串口發(fā)送AT指令,接收返回消息,來完成短信發(fā)送與接收工作。計(jì)算機(jī)發(fā)送短信處理流程見圖3。
本次開發(fā),編制封裝了PhoneDp類,通過程序連接串口,發(fā)送AT指令,接收返回GSM MODEM的工作狀態(tài)與應(yīng)答信息,實(shí)現(xiàn)短信收發(fā)的底層操作。在短信平臺(tái)應(yīng)用中,直接調(diào)用PhoneDp.DLL接口程序,來完成短信收發(fā)操作。
主窗體SecretSmsPlat:Form實(shí)例化過程啟動(dòng)登錄對話框Form_Login,首先開始用戶登錄驗(yàn)證,登錄界面設(shè)計(jì)及運(yùn)行。
用戶登錄啟動(dòng)UserDp類中的SysLogin函數(shù)開始登錄驗(yàn)證。在登錄代碼中,RightEntity是自定義類型,具有8項(xiàng)bool 類型的屬性,用于存儲(chǔ)用戶權(quán)限信息。用戶登錄成功后,權(quán)限一并獲取成功,用于后續(xù)運(yùn)行中相關(guān)窗體、控件的Enable屬性的設(shè)置,從而保證登錄用戶不能操作無權(quán)限的功能。
登錄成功后,主窗體啟動(dòng),相關(guān)功能通過CheckRight()自定義函數(shù)進(jìn)行設(shè)置。通過驗(yàn)證,實(shí)現(xiàn)用戶只能使用授權(quán)功能。
系統(tǒng)設(shè)置模塊通過設(shè)計(jì)了設(shè)置系統(tǒng)名稱、背景圖片、是否權(quán)限驗(yàn)證等功能。設(shè)置不需要驗(yàn)證權(quán)限后,系統(tǒng)將不再對任何登錄用戶驗(yàn)證權(quán)限。完成設(shè)置后,系統(tǒng)參數(shù)加密存儲(chǔ)到SystemInfo中。
用戶管理模塊包括新建用戶、修改用戶、權(quán)限設(shè)置、口令初始化等4項(xiàng)主要功能,
為用戶設(shè)置權(quán)限信息后,各項(xiàng)權(quán)限構(gòu)造成一個(gè)權(quán)限字符串,通過Des加密后存儲(chǔ)于UserInfo表的SRight字段。
通信錄管理模塊實(shí)現(xiàn)了對聯(lián)系人的添加、修改和刪除操作。Form_PhoneBookModify窗體作為多文檔父窗體SecretSmsPlat的子窗體運(yùn)行。
}
聯(lián)系人列表信息呈現(xiàn)到ListView對象后,通過ListView的DoubleClick事件,將選中記錄送到左邊相關(guān)控件中進(jìn)行編輯修改。
自定義類ContactEntity定義了一個(gè)屬性IsNew,實(shí)例化初始值為False,該屬性不參與數(shù)據(jù)庫更新。當(dāng)Form窗體中的新建Button的Click事件發(fā)生時(shí),給IsNew屬性賦值True,當(dāng)調(diào)用ContactEntity的Save()方法時(shí),根據(jù)該值判斷對數(shù)據(jù)庫進(jìn)行插入或更新操作。
群發(fā)短信模塊是保密宣教短信平臺(tái)的核心模塊,通過窗體Form_SmsSinding窗體實(shí)現(xiàn),設(shè)計(jì)了待發(fā)短信設(shè)置,短信發(fā)送和“常用短語維護(hù)”等功能。
窗體左側(cè)是(ListView) list_All,窗體加載時(shí)加載并顯示數(shù)據(jù)庫中的所有聯(lián)系人記錄。list_All的FullRowSelect屬性賦值為true,用于實(shí)現(xiàn)正行選擇功能。通過list_All的MouseDoubleClick事件實(shí)現(xiàn)雙擊選擇加入到待發(fā)列表功能,將待發(fā)記錄保存到(ListView)list_Selected中。
因?yàn)殡娦挪块T對垃圾短信的控制,對短信發(fā)送有平日每小時(shí)不大于200條,節(jié)假日每小時(shí)不大于400條,每天不大于2000條的數(shù)量限制,這里對發(fā)送速度進(jìn)行了設(shè)置,即啟動(dòng)200條/小時(shí)或400條/小時(shí)發(fā)送模式。不同模式下,發(fā)送線程中休眠不同的等待時(shí)間。
在群發(fā)短信模塊中,點(diǎn)擊“短信維護(hù)”按鈕,打開Form_SmsModify窗口進(jìn)行常用短信維護(hù),以對話框形式進(jìn)行呈現(xiàn)。在對話框中,通過“確認(rèn)”按鈕將新短信插入到數(shù)據(jù)庫MessageNote表中。

圖2:短信平臺(tái)硬件構(gòu)成

圖3:短信發(fā)送處理流程
根據(jù)當(dāng)前保密管理工作需求,創(chuàng)新保密宣教方法。開發(fā)過程運(yùn)用了串口通信技術(shù)、C#高級語言程序設(shè)計(jì)技術(shù)、SQL數(shù)據(jù)庫開發(fā)技術(shù),實(shí)現(xiàn)了數(shù)據(jù)加密、用戶權(quán)限控制、用戶管理、通信錄管理、短信貓串口通信等基本功能,較好滿足了通過手機(jī)短信創(chuàng)新保密宣教工作的需求。通過一年多的試用和修改,各項(xiàng)功能趨于完善,保密管理部門和短信接收人員反饋良好,實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)目標(biāo)。
[1]崔莉莉,魏淑桃.基于短信平臺(tái)教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].安徽理工大學(xué)學(xué)報(bào),2008(01):70-73.
[2]王曄,牛小龍,王郁武.C#實(shí)現(xiàn)短信 息 的PDU模 式 編 碼[J].福 建 電腦,2011(12):37-38.
[3]呂延崗.基于C#的GSM短信平臺(tái)系統(tǒng)設(shè)計(jì)[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報(bào),2013(06):35-37.
作者單位 中核北方核燃料元件有限公司保密辦公室 內(nèi)蒙古自治區(qū)包頭市 014035