文/王會(huì)東
保密宣教短信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
文/王會(huì)東
針對(duì)通過(guò)群發(fā)手機(jī)短信開(kāi)展保密宣傳教育工作的業(yè)務(wù)需求,設(shè)計(jì)、搭建了一個(gè)適合公司內(nèi)部使用的輕量級(jí)短信群發(fā)管理平臺(tái)。本文從選題背景、研究的主要問(wèn)題、需求分析、開(kāi)發(fā)技術(shù)、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)等方面對(duì)短信平臺(tái)進(jìn)行了闡述,對(duì)開(kāi)發(fā)過(guò)程中使用的關(guān)鍵技術(shù)和方法進(jìn)行了詳細(xì)分析,重點(diǎn)研究了短信群發(fā)系統(tǒng)及接口設(shè)計(jì)方法,通過(guò)通信接口設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和應(yīng)用軟件開(kāi)發(fā)。保密宣教短信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),創(chuàng)新了保密宣教工作方法,提升了保密管理信息化水平。
保密管理 短信平臺(tái) 串口通信 PDU編碼
保密工作歷來(lái)是黨和國(guó)家的一項(xiàng)重要工作,企事業(yè)單位有保守國(guó)家秘密的義務(wù),不但關(guān)系著國(guó)家安全,也關(guān)系著企業(yè)的發(fā)展和個(gè)人的幸福。在當(dāng)前國(guó)際形勢(shì)下,做好保密工作面臨著新的挑戰(zhàn)。加強(qiáng)保密宣傳培訓(xùn),不斷強(qiáng)化涉密人員的保密意識(shí)、提高保密技能,是做好保密工作的一項(xiàng)重要內(nèi)容。手機(jī)短信作為大家互相交流的工具,越來(lái)越受到人們青睞。利用短信作為媒介,定時(shí)、定量地向廣大涉密人員發(fā)送保密基礎(chǔ)知識(shí)、保密提醒等保密宣教信息,隨身存儲(chǔ)在手機(jī)中,更容易被人們記憶、被接受,可以起到事半功倍的宣傳效果。
根據(jù)當(dāng)前嚴(yán)峻的保密形勢(shì),以及日益提升的精益管理工作要求,通過(guò)保密宣教短信平臺(tái)的開(kāi)和利用,隨時(shí)隨地向公司員工傳遞保密宣傳信息,輔助保密宣傳教育工作,形式易于接受,方法易于操作,對(duì)提高涉密人員保密意識(shí)和保密技能,促進(jìn)信息化發(fā)展,提升保密管理,具有重要意義。
短信平臺(tái)及接口設(shè)計(jì)工作主要研究?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)管理、用戶(hù)管理、通訊錄管理、群發(fā)短信、短信維護(hù)等基本短信平臺(tái)功能。
保密宣教短信平臺(tái)用于企業(yè)內(nèi)部,主要實(shí)現(xiàn)對(duì)各部門(mén)涉密人員發(fā)送保密宣教短信,使保密宣傳教育工作常規(guī)化、全覆蓋、更容易被員工接受。該系統(tǒng)的核心需求是短信的發(fā)送與管理;此外,還需要對(duì)平臺(tái)操作使用人員進(jìn)行管理和授權(quán),對(duì)短信接收人員信息進(jìn)行維護(hù),對(duì)系統(tǒng)平臺(tái)進(jìn)行日常維護(hù)等操作。因此,軟件需要開(kāi)發(fā)設(shè)計(jì)系統(tǒng)管理、用戶(hù)管理、通信錄管理、群發(fā)短信、查詢(xún)管理等功能模塊。系統(tǒng)功能框架見(jiàn)圖1。
平臺(tái)工作時(shí)需要連接控制GSM Modem完成短信收發(fā)操作。GSM Modem通過(guò)串口與計(jì)算機(jī)連接,需要開(kāi)發(fā)串口接口程序,實(shí)現(xiàn)計(jì)算機(jī)對(duì)短信貓的硬件控制。同時(shí),短信平臺(tái)要實(shí)現(xiàn)群發(fā)模塊,將待發(fā)短信和接收號(hào)碼發(fā)送到短信貓。短信平臺(tái)硬件構(gòu)成見(jiàn)圖2。
為了防止操作人員隨意修改人員、短信信息,需要對(duì)不同操作用戶(hù)進(jìn)行權(quán)限設(shè)置,因此需要開(kāi)發(fā)用戶(hù)管理模塊,對(duì)不同用戶(hù)進(jìn)行權(quán)限控制。用戶(hù)權(quán)限包括系統(tǒng)設(shè)置、用戶(hù)管理、通信錄管理、手機(jī)設(shè)置、短信發(fā)送、全面發(fā)送、部門(mén)發(fā)送、短息查詢(xún)等8項(xiàng)系統(tǒng)權(quán)限。用戶(hù)登錄后,根據(jù)設(shè)置的不同權(quán)限完成平臺(tái)管理的相關(guān)操作。
系統(tǒng)采用Visual Studio 2008(C#)進(jìn)行開(kāi)發(fā)。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的程序設(shè)計(jì)語(yǔ)言,是一種安全、穩(wěn)定、簡(jiǎn)潔,由C和C++衍生出來(lái)的面向?qū)ο蟮母呒?jí)編程語(yǔ)言。
數(shù)據(jù)庫(kù)采用SQL Server 2005。SQL Server 2005功能強(qiáng)大,安全可靠,可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉(cāng)庫(kù)及電子商務(wù)等應(yīng)用。
GSM Modem可用作收發(fā)短信設(shè)備,和手機(jī)一樣,需要手SIM 卡支持,通過(guò)(USB 或串口)數(shù)據(jù)線(xiàn)和計(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種類(lèi)方式,處理中文用16bit70方式。PDU相當(dāng)于一個(gè)數(shù)據(jù)包,由構(gòu)成消息(SMS)的信息組成。作為一種數(shù)據(jù)單元,它必須包含源/目的地址、保護(hù)(有效)時(shí)間、數(shù)據(jù)格式、協(xié)議類(lèi)型和正文,正文長(zhǎng)度可達(dá)140字節(jié),都以十六進(jìn)制表示。
GSM MODEM通過(guò)接收和識(shí)別AT指令實(shí)現(xiàn)短信的收發(fā)控制以及其他工作。
利用計(jì)算機(jī)控GSM MODEM收發(fā)短信,就是向串口發(fā)送AT指令,接收返回消息,來(lái)完成短信發(fā)送與接收工作。計(jì)算機(jī)發(fā)送短信處理流程見(jiàn)圖3。
本次開(kāi)發(fā),編制封裝了PhoneDp類(lèi),通過(guò)程序連接串口,發(fā)送AT指令,接收返回GSM MODEM的工作狀態(tài)與應(yīng)答信息,實(shí)現(xiàn)短信收發(fā)的底層操作。在短信平臺(tái)應(yīng)用中,直接調(diào)用PhoneDp.DLL接口程序,來(lái)完成短信收發(fā)操作。
主窗體SecretSmsPlat:Form實(shí)例化過(guò)程啟動(dòng)登錄對(duì)話(huà)框Form_Login,首先開(kāi)始用戶(hù)登錄驗(yàn)證,登錄界面設(shè)計(jì)及運(yùn)行。
用戶(hù)登錄啟動(dòng)UserDp類(lèi)中的SysLogin函數(shù)開(kāi)始登錄驗(yàn)證。在登錄代碼中,RightEntity是自定義類(lèi)型,具有8項(xiàng)bool 類(lèi)型的屬性,用于存儲(chǔ)用戶(hù)權(quán)限信息。用戶(hù)登錄成功后,權(quán)限一并獲取成功,用于后續(xù)運(yùn)行中相關(guān)窗體、控件的Enable屬性的設(shè)置,從而保證登錄用戶(hù)不能操作無(wú)權(quán)限的功能。
登錄成功后,主窗體啟動(dòng),相關(guān)功能通過(guò)CheckRight()自定義函數(shù)進(jìn)行設(shè)置。通過(guò)驗(yàn)證,實(shí)現(xiàn)用戶(hù)只能使用授權(quán)功能。
系統(tǒng)設(shè)置模塊通過(guò)設(shè)計(jì)了設(shè)置系統(tǒng)名稱(chēng)、背景圖片、是否權(quán)限驗(yàn)證等功能。設(shè)置不需要驗(yàn)證權(quán)限后,系統(tǒng)將不再對(duì)任何登錄用戶(hù)驗(yàn)證權(quán)限。完成設(shè)置后,系統(tǒng)參數(shù)加密存儲(chǔ)到SystemInfo中。
用戶(hù)管理模塊包括新建用戶(hù)、修改用戶(hù)、權(quán)限設(shè)置、口令初始化等4項(xiàng)主要功能,
為用戶(hù)設(shè)置權(quán)限信息后,各項(xiàng)權(quán)限構(gòu)造成一個(gè)權(quán)限字符串,通過(guò)Des加密后存儲(chǔ)于UserInfo表的SRight字段。
通信錄管理模塊實(shí)現(xiàn)了對(duì)聯(lián)系人的添加、修改和刪除操作。Form_PhoneBookModify窗體作為多文檔父窗體SecretSmsPlat的子窗體運(yùn)行。
}
聯(lián)系人列表信息呈現(xiàn)到ListView對(duì)象后,通過(guò)ListView的DoubleClick事件,將選中記錄送到左邊相關(guān)控件中進(jìn)行編輯修改。
自定義類(lèi)ContactEntity定義了一個(gè)屬性IsNew,實(shí)例化初始值為False,該屬性不參與數(shù)據(jù)庫(kù)更新。當(dāng)Form窗體中的新建Button的Click事件發(fā)生時(shí),給IsNew屬性賦值True,當(dāng)調(diào)用ContactEntity的Save()方法時(shí),根據(jù)該值判斷對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入或更新操作。
群發(fā)短信模塊是保密宣教短信平臺(tái)的核心模塊,通過(guò)窗體Form_SmsSinding窗體實(shí)現(xiàn),設(shè)計(jì)了待發(fā)短信設(shè)置,短信發(fā)送和“常用短語(yǔ)維護(hù)”等功能。
窗體左側(cè)是(ListView) list_All,窗體加載時(shí)加載并顯示數(shù)據(jù)庫(kù)中的所有聯(lián)系人記錄。list_All的FullRowSelect屬性賦值為true,用于實(shí)現(xiàn)正行選擇功能。通過(guò)list_All的MouseDoubleClick事件實(shí)現(xiàn)雙擊選擇加入到待發(fā)列表功能,將待發(fā)記錄保存到(ListView)list_Selected中。
因?yàn)殡娦挪块T(mén)對(duì)垃圾短信的控制,對(duì)短信發(fā)送有平日每小時(shí)不大于200條,節(jié)假日每小時(shí)不大于400條,每天不大于2000條的數(shù)量限制,這里對(duì)發(fā)送速度進(jìn)行了設(shè)置,即啟動(dòng)200條/小時(shí)或400條/小時(shí)發(fā)送模式。不同模式下,發(fā)送線(xiàn)程中休眠不同的等待時(shí)間。
在群發(fā)短信模塊中,點(diǎn)擊“短信維護(hù)”按鈕,打開(kāi)Form_SmsModify窗口進(jìn)行常用短信維護(hù),以對(duì)話(huà)框形式進(jìn)行呈現(xiàn)。在對(duì)話(huà)框中,通過(guò)“確認(rèn)”按鈕將新短信插入到數(shù)據(jù)庫(kù)MessageNote表中。
圖2:短信平臺(tái)硬件構(gòu)成
圖3:短信發(fā)送處理流程
根據(jù)當(dāng)前保密管理工作需求,創(chuàng)新保密宣教方法。開(kāi)發(fā)過(guò)程運(yùn)用了串口通信技術(shù)、C#高級(jí)語(yǔ)言程序設(shè)計(jì)技術(shù)、SQL數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù),實(shí)現(xiàn)了數(shù)據(jù)加密、用戶(hù)權(quán)限控制、用戶(hù)管理、通信錄管理、短信貓串口通信等基本功能,較好滿(mǎn)足了通過(guò)手機(jī)短信創(chuàng)新保密宣教工作的需求。通過(guò)一年多的試用和修改,各項(xiàng)功能趨于完善,保密管理部門(mén)和短信接收人員反饋良好,實(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