劉金全,鄒 聯
(國電大渡河流域梯級電站集控中心,四川 成都 610041)
SMS[1]短信作為一種靈活傳播信息的媒體,目前在各個行業中得到廣泛應用。為適應企業對短信業務發展的需求,中國移動目前為企業提供了MAS(Mobile Agent Server)服務器,協助企業原有業務系統實現短信應用的接入工具,實現MAS接入后企業原有的業務系統可以方便的實現短信業務應用。國電大渡河流域梯級電站集控中心[2]作為四川電網第一家正式投運的大型流域電站集控中心,主要負責大渡河流域梯級電站電力調度、水庫調度、防洪調度以及電力市場日常工作,通過實施流域水電聯合優化調度,提高水資源的綜合利用率,創造更多的社會效益和經濟效益。國電大渡河流域梯級電站集控中心已有的計算機監控系統、機房環境監控系統、水調自動化等系統均獨立開發建設短信服務。由于各系統建設的短信服務缺乏統一規劃、統一標準,造成了重復投資,資源浪費;并且數據庫數據不能共享,短信服務管理混亂,不能綜合利用服務資源。集控中心辦公OA系統,通信監控系統、綜合數據平臺等新建系統原無短信服務,為了適應電力生產的需要,需新增部分特殊要求的短信服務。因此,集控中心迫切需要建立一套多業務綜合短信平臺[3],便于集控中心原有各系統統一接入,規范整個集控中心的短信服務。
集控中心計算機監控系統、機房環境監控系統、水調自動化系統已有短信服務,采用AT命令集,通過外接的GSM短信模塊對外提供短信服務。GSM短信模塊長期工作容易死機,造成短信服務不穩定。新建的短信平臺系統將替代原各系統GSM短信模塊功能,通過軟件模擬為GSM短信模塊,采用AT命令與原系統進行通信,無需原系統做任何修改。辦公OA系統,通信監控系統、綜合數據平臺等系統需新增部分特殊的短信業務,例如每日早上9點從綜合數據平臺系統中提取昨日發電量、大壩水位、入庫流量等各類生產數據,生成電力市場短信向企業電力生產相關人員發布。并且為保障電力市場信息的準確性,短信平臺還應具有審核功能,即先將生成的電力市場短信發送給特定的審核人員對進行審核,如果信息正確則審核人員無需做任何操作,如果信息有誤則審核人員可以通過手機直接修改信息內容或命令取消發送。審核人員直接修改信息內容后發送給短信平臺,短信平臺收到審核人員發送的修正短信再統一發送給電力生產相關人員。短信平臺與各系統通信結構圖如圖1所示。

圖1 多業務綜合短信平臺與各系統通信結構圖Fig.1 The multi service integrated platform communication structure diagram
JAVA[4]是一種完全的面向對象語言,它衍生于C++語言,又剔除了C++的復雜性、易錯的語言元素,功能強大又極易于使用。它突出的優點是跨平臺型,由于這種特殊性,它適用于internet方面。JDBC[5]實際是JAVA定制的數據庫訪問操縱規范,此規范為JAVA程序員提供了一套與數據庫無關的JDBCAPI[6]編程接口,這些API編程接口其實就是位于java.sql包的一些接口和類,利用它們可以十分方便地對不同的數據庫進行操作。因此本次短信平臺采用本身JAVA語言設計,數據庫為Oracle10g數據庫,使用JDBC與移動Mas服務器Mysql數據庫及集控中心其它各系統Oracle數據庫通信。
短信平臺主要功能有:實現多用戶,多級別的信息發送功能,對操作用戶進行管理,創建權限角色,實現用戶組權限管理;可對用戶群組進行管理;可對群組發送信息;實現多種信息發送的方式,包括群組信息發送、自定義信息發送及定制信息發送功能。可以對短信進行預配置,例如短信內容字典。提供方便多種統計功能。主要功能如圖2所示。

圖2 功能模塊詳細結構圖Fig.2 Detailed function module structure diagram
集控中心計算機監控系統、機房環境監控系統原采用GSM短信模塊,短信平臺使用串口服務器接收并轉發由各系統發出的短信,由短信平臺統一發送。做相應的記錄,數據接收成功后并對原有系統做出相應的響應。短信發送流程如圖3所示。

圖3 計算機監控等系統短信發送流程Fig.3 The computer monitoring system of short message sending process diagram
通信監控系統、辦公OA系統原來無GSM短信服務,短信平臺提供Socket接口與通信監控系統通信,實時接收待發送短信內容,按相應的格式進行報文解析,由短信平臺統一發送并做相應的記錄。短信平臺采用輪詢的方式實時讀取OA數據庫中待發送短信數據,由短信平臺統一發送并做相應的記錄,發送成功后對原業務系統進行相應的數據操作。短信發送流程如圖4所示。

圖4 通信監控等系統短信發送流程Fig.4 Communication monitoring system message sending process diagram
綜合數據平臺系統需新增特殊短信服務,短信平臺定制開發子流程,對綜合數據平臺中超閾值的業務數據進行判斷,根據預先定義的規則進行短信發送。系統接收待審批的短信內容,根據預先定義的規則進行短信發送。綜合數據平臺有兩種短信發送方式:審核短信,段次短信。添加審核短信規則的時候設置審核時間段,在該時間段平臺向審核組成員發送一次短信,期間審核組成員可以向平臺回復短信或取消命令(“qx”)。當審核時間結束后,如果審核組成員未回復任何內容,平臺直接向此規則短信的接收成員重發向審核組成員發送的短信;如果回復內容是取消命令,那么時間結束也不發送任何內容;否則發送審核組成員回復內容的最后一條短信。當審核期間平臺接受到審核人的取消命令,審核時間結束后又收到立即發送命令(“fs”開頭的短信內容),那么平臺立即發送此短信去除“fs”后的內容。段次短信是當數據滿足指定的規則后,此規則對應的短信內容采取段次發送。取得數據后立即發送第一次短信,然后根據系統預先設置開始時間開始段次發送。短信發送流程如圖5所示。

圖5 綜合數據平臺系統短信發送流程Fig.5 Integrated dataplatformof shortmessagesendingprocessdiagram
短信平臺采用Oracle10g數據庫,新建用戶名為DXPT,共有16張數據表,實現所有功能。16張數據表名及功能如表1所示:其中綜數平臺規則表DXPT_ROOLS與綜數平臺條件內容表DXPT_ROOL的表結構如表1、表2所示,這個兩個表相互配合,實現特殊短信的審核功能。

表1 綜數平臺規則表DXPT_ROOLS表結構Tab.1 Integrated data platform rule table DXPT_ROOLS structure
DXPT_ROOLS表中字段PRETIME記錄審核短信發送時間的標識,DXPT_ROOL表中APPLETIME為關鍵時間點,它記錄該條輪詢規則生成時間或上一次發送成功的時間。具體邏輯判斷流程圖如圖6所示。

表2 綜數平臺條件DXPT_ROOL表結構Tab.2 Integrated data platform conditions table DXPT_ROOL structure

圖6 輪詢規則邏輯判斷流程圖Fig.6 Polling rule logic flow chart
各生產系統的普通短信直接接入短信平臺,用戶無需進行額外的配置。而審核短信、段次短信等靈活度很高的短信則需要用戶根據需要進行配置,如圖7所示。
在審核短信需要定義規則名、審核組、定義發送時間段、接收組、短信代碼、判定條件、發送內容以及發送方式等。“審核組”是具有審核權利的短信管理人員,“接收組”是此條短信的所有接收人員。“發送時間段”的開始時間為審核短信的發送時間,系統會將此條規則的短信先發送給審核組人員進行審核。“發送時間段”的結束時間為此條規則短信的正式發送時間,系統會將經過審核的短信正式發送給 “接收組”人員。“短信代碼”是此條規則短信的編號,在審核組審核時需要使用的編號。“發送方式”可以選擇彩信或短信發送。“判定條件”中,可以提取綜數平臺數據庫中任意表、任意字段的數據進行處理,并可以定義多個條件進行“與”和“或”操作。在“發送內容”中,同樣可以提取綜數平臺數據庫中任意表、任意字段的數據進行處理,并自定短信發送的內容,非常靈活。

圖7 綜數平臺審核短信配置圖Fig.7 The number of SMSplatform in the audit configuration diagram
另外整個短信平臺的所有系統參數均在config.txt文件中定義,用戶可以根據需要進行修改,config.txt文件中重要的系統配置參數如下:
>sms.fromReadyT=60000(輪詢待發送表的時間間隔,單位毫秒)
>sms.fromReady.Speed=3000(由待發送表往mas數據庫sms_outbox插入一條短信的時間間隔)
>sms.fromMysqlMt=60000(讀取mas數據庫短信歷史數據更新短信平臺發送狀態的時間間隔)
>sms.fromMysqlAccept=60000(讀取mas數據庫接收表的時間間隔)
>oa.lxsj=120000(OA系統的輪詢時間,單位毫秒)
>scgl.lxsj=120000(生產管理系統輪詢時間)
>com.port18=8002(18樓環境監控短信貓端口號)
>com.port5=8001(5樓環境監控短信貓端口號)
>socket.port=963(通訊監控socket數據串口端口號)
>zspt.lxsj=60000(綜數平臺規則表dxpt_rools輪訓時間)
>zspt.cancle=qx(綜數平臺審核短信取消命令前綴)
>zspt.msfs=fs(綜數平臺審核短信立即發送命令前綴)
>zspt.cancle.Lasttime=20:00:00(綜數平臺審核短信取消最遲截止時間)
>zspt.times.startTime=08:30:00(綜數平臺段次短信起始時間)
>outbox.lxsj=300000(輪詢檢查是否有短信堆積的時間間隔)
國電大渡河流域梯級電站集控中心短信平臺的成功實施,將原有各生產系統的短信服務統一納入到短信平臺中管理,降低了運行維護成本,提高了工作效率,規范了整個企業的短信服務,為整個大渡河流域電力生產、防洪調度做出了突出貢獻。該系統以其靈活性和通用性等特點,適應了電力行業對特殊生產短信服務的需求。
[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]李天洋,郭劍虹.集控中心告警數據處理技術和方法[J].電力系統自動化,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的終端式短信平臺開發[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].電子科技大學學報,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]張俐,張維璽.改進的JDBC框架在數據持久層的應用[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.