劉金全,鄒 聯(lián)
(國(guó)電大渡河流域梯級(jí)電站集控中心,四川 成都 610041)
SMS[1]短信作為一種靈活傳播信息的媒體,目前在各個(gè)行業(yè)中得到廣泛應(yīng)用。為適應(yīng)企業(yè)對(duì)短信業(yè)務(wù)發(fā)展的需求,中國(guó)移動(dòng)目前為企業(yè)提供了MAS(Mobile Agent Server)服務(wù)器,協(xié)助企業(yè)原有業(yè)務(wù)系統(tǒng)實(shí)現(xiàn)短信應(yīng)用的接入工具,實(shí)現(xiàn)MAS接入后企業(yè)原有的業(yè)務(wù)系統(tǒng)可以方便的實(shí)現(xiàn)短信業(yè)務(wù)應(yīng)用。國(guó)電大渡河流域梯級(jí)電站集控中心[2]作為四川電網(wǎng)第一家正式投運(yùn)的大型流域電站集控中心,主要負(fù)責(zé)大渡河流域梯級(jí)電站電力調(diào)度、水庫(kù)調(diào)度、防洪調(diào)度以及電力市場(chǎng)日常工作,通過(guò)實(shí)施流域水電聯(lián)合優(yōu)化調(diào)度,提高水資源的綜合利用率,創(chuàng)造更多的社會(huì)效益和經(jīng)濟(jì)效益。國(guó)電大渡河流域梯級(jí)電站集控中心已有的計(jì)算機(jī)監(jiān)控系統(tǒng)、機(jī)房環(huán)境監(jiān)控系統(tǒng)、水調(diào)自動(dòng)化等系統(tǒng)均獨(dú)立開(kāi)發(fā)建設(shè)短信服務(wù)。由于各系統(tǒng)建設(shè)的短信服務(wù)缺乏統(tǒng)一規(guī)劃、統(tǒng)一標(biāo)準(zhǔn),造成了重復(fù)投資,資源浪費(fèi);并且數(shù)據(jù)庫(kù)數(shù)據(jù)不能共享,短信服務(wù)管理混亂,不能綜合利用服務(wù)資源。集控中心辦公OA系統(tǒng),通信監(jiān)控系統(tǒng)、綜合數(shù)據(jù)平臺(tái)等新建系統(tǒng)原無(wú)短信服務(wù),為了適應(yīng)電力生產(chǎn)的需要,需新增部分特殊要求的短信服務(wù)。因此,集控中心迫切需要建立一套多業(yè)務(wù)綜合短信平臺(tái)[3],便于集控中心原有各系統(tǒng)統(tǒng)一接入,規(guī)范整個(gè)集控中心的短信服務(wù)。
集控中心計(jì)算機(jī)監(jiān)控系統(tǒng)、機(jī)房環(huán)境監(jiān)控系統(tǒng)、水調(diào)自動(dòng)化系統(tǒng)已有短信服務(wù),采用AT命令集,通過(guò)外接的GSM短信模塊對(duì)外提供短信服務(wù)。GSM短信模塊長(zhǎng)期工作容易死機(jī),造成短信服務(wù)不穩(wěn)定。新建的短信平臺(tái)系統(tǒng)將替代原各系統(tǒng)GSM短信模塊功能,通過(guò)軟件模擬為GSM短信模塊,采用AT命令與原系統(tǒng)進(jìn)行通信,無(wú)需原系統(tǒng)做任何修改。辦公OA系統(tǒng),通信監(jiān)控系統(tǒng)、綜合數(shù)據(jù)平臺(tái)等系統(tǒng)需新增部分特殊的短信業(yè)務(wù),例如每日早上9點(diǎn)從綜合數(shù)據(jù)平臺(tái)系統(tǒng)中提取昨日發(fā)電量、大壩水位、入庫(kù)流量等各類生產(chǎn)數(shù)據(jù),生成電力市場(chǎng)短信向企業(yè)電力生產(chǎn)相關(guān)人員發(fā)布。并且為保障電力市場(chǎng)信息的準(zhǔn)確性,短信平臺(tái)還應(yīng)具有審核功能,即先將生成的電力市場(chǎng)短信發(fā)送給特定的審核人員對(duì)進(jìn)行審核,如果信息正確則審核人員無(wú)需做任何操作,如果信息有誤則審核人員可以通過(guò)手機(jī)直接修改信息內(nèi)容或命令取消發(fā)送。審核人員直接修改信息內(nèi)容后發(fā)送給短信平臺(tái),短信平臺(tái)收到審核人員發(fā)送的修正短信再統(tǒng)一發(fā)送給電力生產(chǎn)相關(guān)人員。短信平臺(tái)與各系統(tǒng)通信結(jié)構(gòu)圖如圖1所示。
圖1 多業(yè)務(wù)綜合短信平臺(tái)與各系統(tǒng)通信結(jié)構(gòu)圖Fig.1 The multi service integrated platform communication structure diagram
JAVA[4]是一種完全的面向?qū)ο笳Z(yǔ)言,它衍生于C++語(yǔ)言,又剔除了C++的復(fù)雜性、易錯(cuò)的語(yǔ)言元素,功能強(qiáng)大又極易于使用。它突出的優(yōu)點(diǎn)是跨平臺(tái)型,由于這種特殊性,它適用于internet方面。JDBC[5]實(shí)際是JAVA定制的數(shù)據(jù)庫(kù)訪問(wèn)操縱規(guī)范,此規(guī)范為JAVA程序員提供了一套與數(shù)據(jù)庫(kù)無(wú)關(guān)的JDBCAPI[6]編程接口,這些API編程接口其實(shí)就是位于java.sql包的一些接口和類,利用它們可以十分方便地對(duì)不同的數(shù)據(jù)庫(kù)進(jìn)行操作。因此本次短信平臺(tái)采用本身JAVA語(yǔ)言設(shè)計(jì),數(shù)據(jù)庫(kù)為Oracle10g數(shù)據(jù)庫(kù),使用JDBC與移動(dòng)Mas服務(wù)器Mysql數(shù)據(jù)庫(kù)及集控中心其它各系統(tǒng)Oracle數(shù)據(jù)庫(kù)通信。
短信平臺(tái)主要功能有:實(shí)現(xiàn)多用戶,多級(jí)別的信息發(fā)送功能,對(duì)操作用戶進(jìn)行管理,創(chuàng)建權(quán)限角色,實(shí)現(xiàn)用戶組權(quán)限管理;可對(duì)用戶群組進(jìn)行管理;可對(duì)群組發(fā)送信息;實(shí)現(xiàn)多種信息發(fā)送的方式,包括群組信息發(fā)送、自定義信息發(fā)送及定制信息發(fā)送功能。可以對(duì)短信進(jìn)行預(yù)配置,例如短信內(nèi)容字典。提供方便多種統(tǒng)計(jì)功能。主要功能如圖2所示。
圖2 功能模塊詳細(xì)結(jié)構(gòu)圖Fig.2 Detailed function module structure diagram
集控中心計(jì)算機(jī)監(jiān)控系統(tǒng)、機(jī)房環(huán)境監(jiān)控系統(tǒng)原采用GSM短信模塊,短信平臺(tái)使用串口服務(wù)器接收并轉(zhuǎn)發(fā)由各系統(tǒng)發(fā)出的短信,由短信平臺(tái)統(tǒng)一發(fā)送。做相應(yīng)的記錄,數(shù)據(jù)接收成功后并對(duì)原有系統(tǒng)做出相應(yīng)的響應(yīng)。短信發(fā)送流程如圖3所示。
圖3 計(jì)算機(jī)監(jiān)控等系統(tǒng)短信發(fā)送流程Fig.3 The computer monitoring system of short message sending process diagram
通信監(jiān)控系統(tǒng)、辦公OA系統(tǒng)原來(lái)無(wú)GSM短信服務(wù),短信平臺(tái)提供Socket接口與通信監(jiān)控系統(tǒng)通信,實(shí)時(shí)接收待發(fā)送短信內(nèi)容,按相應(yīng)的格式進(jìn)行報(bào)文解析,由短信平臺(tái)統(tǒng)一發(fā)送并做相應(yīng)的記錄。短信平臺(tái)采用輪詢的方式實(shí)時(shí)讀取OA數(shù)據(jù)庫(kù)中待發(fā)送短信數(shù)據(jù),由短信平臺(tái)統(tǒng)一發(fā)送并做相應(yīng)的記錄,發(fā)送成功后對(duì)原業(yè)務(wù)系統(tǒng)進(jìn)行相應(yīng)的數(shù)據(jù)操作。短信發(fā)送流程如圖4所示。
圖4 通信監(jiān)控等系統(tǒng)短信發(fā)送流程Fig.4 Communication monitoring system message sending process diagram
綜合數(shù)據(jù)平臺(tái)系統(tǒng)需新增特殊短信服務(wù),短信平臺(tái)定制開(kāi)發(fā)子流程,對(duì)綜合數(shù)據(jù)平臺(tái)中超閾值的業(yè)務(wù)數(shù)據(jù)進(jìn)行判斷,根據(jù)預(yù)先定義的規(guī)則進(jìn)行短信發(fā)送。系統(tǒng)接收待審批的短信內(nèi)容,根據(jù)預(yù)先定義的規(guī)則進(jìn)行短信發(fā)送。綜合數(shù)據(jù)平臺(tái)有兩種短信發(fā)送方式:審核短信,段次短信。添加審核短信規(guī)則的時(shí)候設(shè)置審核時(shí)間段,在該時(shí)間段平臺(tái)向?qū)徍私M成員發(fā)送一次短信,期間審核組成員可以向平臺(tái)回復(fù)短信或取消命令(“qx”)。當(dāng)審核時(shí)間結(jié)束后,如果審核組成員未回復(fù)任何內(nèi)容,平臺(tái)直接向此規(guī)則短信的接收成員重發(fā)向?qū)徍私M成員發(fā)送的短信;如果回復(fù)內(nèi)容是取消命令,那么時(shí)間結(jié)束也不發(fā)送任何內(nèi)容;否則發(fā)送審核組成員回復(fù)內(nèi)容的最后一條短信。當(dāng)審核期間平臺(tái)接受到審核人的取消命令,審核時(shí)間結(jié)束后又收到立即發(fā)送命令(“fs”開(kāi)頭的短信內(nèi)容),那么平臺(tái)立即發(fā)送此短信去除“fs”后的內(nèi)容。段次短信是當(dāng)數(shù)據(jù)滿足指定的規(guī)則后,此規(guī)則對(duì)應(yīng)的短信內(nèi)容采取段次發(fā)送。取得數(shù)據(jù)后立即發(fā)送第一次短信,然后根據(jù)系統(tǒng)預(yù)先設(shè)置開(kāi)始時(shí)間開(kāi)始段次發(fā)送。短信發(fā)送流程如圖5所示。
圖5 綜合數(shù)據(jù)平臺(tái)系統(tǒng)短信發(fā)送流程Fig.5 Integrated dataplatformof shortmessagesendingprocessdiagram
短信平臺(tái)采用Oracle10g數(shù)據(jù)庫(kù),新建用戶名為DXPT,共有16張數(shù)據(jù)表,實(shí)現(xiàn)所有功能。16張數(shù)據(jù)表名及功能如表1所示:其中綜數(shù)平臺(tái)規(guī)則表DXPT_ROOLS與綜數(shù)平臺(tái)條件內(nèi)容表DXPT_ROOL的表結(jié)構(gòu)如表1、表2所示,這個(gè)兩個(gè)表相互配合,實(shí)現(xiàn)特殊短信的審核功能。
表1 綜數(shù)平臺(tái)規(guī)則表DXPT_ROOLS表結(jié)構(gòu)Tab.1 Integrated data platform rule table DXPT_ROOLS structure
DXPT_ROOLS表中字段PRETIME記錄審核短信發(fā)送時(shí)間的標(biāo)識(shí),DXPT_ROOL表中APPLETIME為關(guān)鍵時(shí)間點(diǎn),它記錄該條輪詢規(guī)則生成時(shí)間或上一次發(fā)送成功的時(shí)間。具體邏輯判斷流程圖如圖6所示。
表2 綜數(shù)平臺(tái)條件DXPT_ROOL表結(jié)構(gòu)Tab.2 Integrated data platform conditions table DXPT_ROOL structure
圖6 輪詢規(guī)則邏輯判斷流程圖Fig.6 Polling rule logic flow chart
各生產(chǎn)系統(tǒng)的普通短信直接接入短信平臺(tái),用戶無(wú)需進(jìn)行額外的配置。而審核短信、段次短信等靈活度很高的短信則需要用戶根據(jù)需要進(jìn)行配置,如圖7所示。
在審核短信需要定義規(guī)則名、審核組、定義發(fā)送時(shí)間段、接收組、短信代碼、判定條件、發(fā)送內(nèi)容以及發(fā)送方式等?!皩徍私M”是具有審核權(quán)利的短信管理人員,“接收組”是此條短信的所有接收人員?!鞍l(fā)送時(shí)間段”的開(kāi)始時(shí)間為審核短信的發(fā)送時(shí)間,系統(tǒng)會(huì)將此條規(guī)則的短信先發(fā)送給審核組人員進(jìn)行審核?!鞍l(fā)送時(shí)間段”的結(jié)束時(shí)間為此條規(guī)則短信的正式發(fā)送時(shí)間,系統(tǒng)會(huì)將經(jīng)過(guò)審核的短信正式發(fā)送給 “接收組”人員。“短信代碼”是此條規(guī)則短信的編號(hào),在審核組審核時(shí)需要使用的編號(hào)?!鞍l(fā)送方式”可以選擇彩信或短信發(fā)送?!芭卸l件”中,可以提取綜數(shù)平臺(tái)數(shù)據(jù)庫(kù)中任意表、任意字段的數(shù)據(jù)進(jìn)行處理,并可以定義多個(gè)條件進(jìn)行“與”和“或”操作。在“發(fā)送內(nèi)容”中,同樣可以提取綜數(shù)平臺(tái)數(shù)據(jù)庫(kù)中任意表、任意字段的數(shù)據(jù)進(jìn)行處理,并自定短信發(fā)送的內(nèi)容,非常靈活。
圖7 綜數(shù)平臺(tái)審核短信配置圖Fig.7 The number of SMSplatform in the audit configuration diagram
另外整個(gè)短信平臺(tái)的所有系統(tǒng)參數(shù)均在config.txt文件中定義,用戶可以根據(jù)需要進(jìn)行修改,config.txt文件中重要的系統(tǒng)配置參數(shù)如下:
>sms.fromReadyT=60000(輪詢待發(fā)送表的時(shí)間間隔,單位毫秒)
>sms.fromReady.Speed=3000(由待發(fā)送表往mas數(shù)據(jù)庫(kù)sms_outbox插入一條短信的時(shí)間間隔)
>sms.fromMysqlMt=60000(讀取mas數(shù)據(jù)庫(kù)短信歷史數(shù)據(jù)更新短信平臺(tái)發(fā)送狀態(tài)的時(shí)間間隔)
>sms.fromMysqlAccept=60000(讀取mas數(shù)據(jù)庫(kù)接收表的時(shí)間間隔)
>oa.lxsj=120000(OA系統(tǒng)的輪詢時(shí)間,單位毫秒)
>scgl.lxsj=120000(生產(chǎn)管理系統(tǒng)輪詢時(shí)間)
>com.port18=8002(18樓環(huán)境監(jiān)控短信貓端口號(hào))
>com.port5=8001(5樓環(huán)境監(jiān)控短信貓端口號(hào))
>socket.port=963(通訊監(jiān)控socket數(shù)據(jù)串口端口號(hào))
>zspt.lxsj=60000(綜數(shù)平臺(tái)規(guī)則表dxpt_rools輪訓(xùn)時(shí)間)
>zspt.cancle=qx(綜數(shù)平臺(tái)審核短信取消命令前綴)
>zspt.msfs=fs(綜數(shù)平臺(tái)審核短信立即發(fā)送命令前綴)
>zspt.cancle.Lasttime=20:00:00(綜數(shù)平臺(tái)審核短信取消最遲截止時(shí)間)
>zspt.times.startTime=08:30:00(綜數(shù)平臺(tái)段次短信起始時(shí)間)
>outbox.lxsj=300000(輪詢檢查是否有短信堆積的時(shí)間間隔)
國(guó)電大渡河流域梯級(jí)電站集控中心短信平臺(tái)的成功實(shí)施,將原有各生產(chǎn)系統(tǒng)的短信服務(wù)統(tǒng)一納入到短信平臺(tái)中管理,降低了運(yùn)行維護(hù)成本,提高了工作效率,規(guī)范了整個(gè)企業(yè)的短信服務(wù),為整個(gè)大渡河流域電力生產(chǎn)、防洪調(diào)度做出了突出貢獻(xiàn)。該系統(tǒng)以其靈活性和通用性等特點(diǎn),適應(yīng)了電力行業(yè)對(duì)特殊生產(chǎn)短信服務(wù)的需求。
[1]Lombera I M,Moser L E,Melliar-Smith P M.Mobile Decentralized Search and Retrieval Using SMSand HTTP[J].Mobile Networks and Applications,2013,18(1):22-41.
[2]李天洋,郭劍虹.集控中心告警數(shù)據(jù)處理技術(shù)和方法[J].電力系統(tǒng)自動(dòng)化,2010,34(22):113-116.LI Tian-yang,GUO Jian-hong.Technologies and methods of alarm data processing in centralized supervisory control center[J].Automation of Electric Power Systems,2010,34(22):113-116.
[3]謝春祥,張虹,聶余滿.基于GSM/GPRS的終端式短信平臺(tái)開(kāi)發(fā)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(7):1680-1682.XIE Chun-xiang,ZHANG Hong,NIE Yu-man.Development of SMS terminal based on GSM/GPRS[J].Computer Engineering and Design,2007,28(7):1680-1682.
[4]陳文宇,陳福,余盛季,等.Java同步線程模型分析與改進(jìn)[J].電子科技大學(xué)學(xué)報(bào),2010,39(3):430-434.CHEN Wen-yu,CHEN Fu,YU Sheng-ji,et al.Analysis and improvement for synchronous thread model based on java[J].Journal of University of Electronic Science and Technology of China,2010,39(3):430-434.
[5]張俐,張維璽.改進(jìn)的JDBC框架在數(shù)據(jù)持久層的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(8) :1746-1749.ZHANG Li,ZHANG Wei-xi.Application of improved JDBC framework in date persistent[J].Computer Engineering and Design,2010,31(8):1746-1749.
[6]Robillard M P,Bodden E,Kawrykow D.Automated API Property Inference Techniques[J].IEEE Transactions on Software Engineering,2013,39(5):613-637.