全志根
(中國石化上海石油化工股份有限公司,200540)
中國石化上海石油化工股份有限公司(以下簡稱上海石化)作為化工生產(chǎn)類企業(yè),生產(chǎn)過程具有易燃、易爆、高溫、高壓和腐蝕性強等高危險性,如何加強安全防范,構(gòu)造穩(wěn)定可靠的通訊渠道一直是一個十分重要的課題。
上海石化設計與實施了將企信通平臺與移動代理服務器(MAS)平臺的有機結(jié)合,通過對原MAS設備接入方案進行升級與優(yōu)化,對上海石化應用通信能力進行插件化封裝,提供短信平臺回復和統(tǒng)計功能,提高了通信吞吐能力。短信平臺支持大批量短信收發(fā)服務,提供全平臺的數(shù)據(jù)分析和安全管理方案,實現(xiàn)了多通道并行發(fā)送、短信群發(fā)、短信回復、回復確認及統(tǒng)計,對加強安全生產(chǎn)、提高生產(chǎn)過程中的信息發(fā)布、重大事件通報以及應急預案啟動的及時性具有重要作用。
結(jié)合上海石化實際需求,短信平臺開發(fā)要求其具備如下功能:
(1)支持短信回復能力,為發(fā)送者及時提供短信送達及接收信息,便于確定是否需要重新發(fā)送,可為不同應用提供擴展,并可根據(jù)擴展進行相應的數(shù)據(jù)統(tǒng)計,支持按時間發(fā)布明細賬單、提供查詢短信及回復清單;
(2)支持系統(tǒng)日志與數(shù)據(jù)備份方案;
(3)全國手機用戶的短信下行及中國移動短信通道上行短信與狀態(tài)報告的獲取,支持三網(wǎng)的統(tǒng)一管理;
(4)提供問卷調(diào)查等標準應用功能,利用該平臺在短信用戶群中進行各種問卷調(diào)查、統(tǒng)計及匯總;
(5)支持全平臺短信額度管理,可實現(xiàn)按部門和具體用戶進行額度分配與管理,有效進行通信費用控制和管理;
(6)支持全平臺短信通信審核機制,可根據(jù)實際需要設置不同的審核流程,確保短信平臺安全運行。
短信平臺的主要結(jié)構(gòu)包括:
(1)標準應用,即可靈活擴展和變更,以插件形式接入,與底層框架解耦;
(2)系統(tǒng)管理,即負責整個平臺的用戶數(shù)據(jù)管理、平臺數(shù)據(jù)備份與操作日志記錄;
(3)運維管理,即負責平臺所有通訊數(shù)據(jù)的管理與維護;系統(tǒng)管理和運維管理組成本平臺的底層核心框架。
(4)通訊能力,即可以以驅(qū)動方式自由加載所需短信信息接入能力,支持靈活裝配和線性擴展。
短信平臺可設立不同的子賬號,分配給各個部門使用,實現(xiàn)短信的發(fā)送、回復、統(tǒng)計和分析,主要功能為:(1)發(fā)送會議通知、日常事務提醒;(2)發(fā)送生產(chǎn)數(shù)據(jù)通報、生產(chǎn)統(tǒng)計報表;(3)發(fā)送突發(fā)性重大事故的緊急通知,啟動應急預案等。
根據(jù)以上功能要求設計的短信平臺系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 短信平臺系統(tǒng)整體結(jié)構(gòu)
中國移動點對點協(xié)議(CMPP)規(guī)定了以下三方面的內(nèi)容:(1)業(yè)務提供商與互聯(lián)網(wǎng)短信網(wǎng)關(guān)之間的接口協(xié)議;(2)互聯(lián)網(wǎng)短信網(wǎng)關(guān)之間的接口協(xié)議;(3)互聯(lián)網(wǎng)短信網(wǎng)關(guān)與匯接網(wǎng)關(guān)之間的接口協(xié)議。
互聯(lián)網(wǎng)短信網(wǎng)關(guān)(ISMG)是業(yè)務提供商(SP)與移動網(wǎng)內(nèi)短信中心之間的中介實體,互聯(lián)網(wǎng)短信網(wǎng)關(guān)一方面負責接收SP發(fā)送給移動用戶的信息和提交給短信中心,另一方面,移動用戶點播SP業(yè)務的信息將由短信中心通過互聯(lián)網(wǎng)短信網(wǎng)關(guān)發(fā)給SP?;ヂ?lián)網(wǎng)短信網(wǎng)關(guān)通過向匯接網(wǎng)關(guān)(GNS)查詢的方式獲得網(wǎng)關(guān)間的轉(zhuǎn)發(fā)路由信息。另外,ISMG還必須與數(shù)據(jù)業(yè)務管理平臺DSMP進行連接,在業(yè)務流程中對用戶、業(yè)務以及定購關(guān)系等進行鑒權(quán)并對業(yè)務進行批價。
2.1.1 CMPP協(xié)議的通訊方式
各網(wǎng)元之間有長連接和短連接兩種連接方式。長連接是在一個TCP連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包,在TCP連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測包以維持此連接;短連接是通信雙方有數(shù)據(jù)交互時就建立的TCP連接,數(shù)據(jù)發(fā)送完成后,便斷開連接,即每次TCP連接只完成一對CMPP消息的發(fā)送。由于ISMG之間必須采用長連接的通信方式,SP與ISMG之間采用長連接的通信方式。
在SP與ISMG之間、SMSC與ISMG之間及ISMG之間的交互過程中均采用異步方式,即任一個網(wǎng)元在收到請求消息后應立即回送響應消息。
2.1.2 企業(yè)級短信網(wǎng)關(guān)設計
企業(yè)短信網(wǎng)關(guān)API必須實施CMPP3.0中SP與ISMG間的消息定義所規(guī)定的以下操作。
(1)SP請求連接到ISMG(CMPP_CONNECT)操作。CMPP_CONNECT操作的目的是SP向ISMG注冊一個合法的身份,注冊成功后即建立了應用層的連接,此后SP可以通過此ISMG接收和發(fā)送短信,ISMG以CMPP_CONNECT_RESP消息響應SP的請求。
(2)SP或ISMG請求拆除連接(CMPP_TERMINATE)操作。CMPP_TERMINATE操作的目的是SP或ISMG基于某些原因決定拆除當前的應用層連接而發(fā)起的操作。此操作完成后SP與ISMG之間的應用層連接被釋放,此后SP若再要與ISMG通信則應發(fā)起CMPP_CONNECT操作,ISMG或SP以CMPP_TERMINATE_RESP消息響應請求。
(3)SP向ISMG提交短信(CMPP_SUBMIT)操作。CMPP_SUBMIT操作的目的是SP在與ISMG建立應用層連接后向ISMG提交短信。ISMG以CMPP_SUBMIT_RESP消息響應。
(4)SP向ISMG查詢發(fā)送短信狀態(tài)(CMPP_QUERY)操作。CMPP_QUERY操作的目的是SP向ISMG查詢某時間的業(yè)務統(tǒng)計情況,可以按總數(shù)或按業(yè)務代碼查詢,ISMG以CMPP_QUERY_RESP應答。
(5)ISMG向SP送交短信(CMPP_DELIVER)操作。CMPP_DELIVER操作的目的是ISMG把從短信中心或其他ISMG轉(zhuǎn)發(fā)來的短信送交SP,SP以CMPP_DELIVER_RESP消息回應。
(6)SP向ISMG發(fā)起刪除短信(CMPP_CANCEL)操作。CMPP_CANCEL操作的目的是SP通過此操作可以將已經(jīng)提交給ISMG的短信刪除,ISMG將以CMPP_CANCEL_RESP回應刪除操作的結(jié)果。
(7)鏈路檢測(CMPP_ACTIVE_TEST)操作。CMPP3.0協(xié)議的結(jié)構(gòu)和底層通訊方式,能夠?qū)崿F(xiàn)CMPP3.0的企業(yè)短信網(wǎng)關(guān)API,為SP接入移動短信業(yè)務提供實現(xiàn)方法。
移動信息服務中心(MSIC)平臺目前是移動夢網(wǎng)的核心業(yè)務平臺,其主要功能是對用戶信息統(tǒng)一進行管理和認證,遵循J2EE規(guī)范,是SP接入的基礎。
2.2.1 MISC平臺WEB Service接口設計和開發(fā)準則
DSMP規(guī)范中的所有WEB Service接口依據(jù)W3C組織頒布的WEB Services Description Language (WSDL) 1.1(2001/03/15)規(guī)范設計和定義,并與WSDL標準后續(xù)版本中的相關(guān)規(guī)定的保持一致性。所有采用DSMP規(guī)范的產(chǎn)品的接口設計和開發(fā)應遵守以下原則:
(1)接口中的所有消息及相關(guān)數(shù)據(jù)類型的XML模式定義均應采用由本規(guī)范提供的XML模式定義。
DSMP規(guī)范定義了所有被引用到的類型和元素的命名空間及XML模式,此命名空間作用范圍涵蓋所有WSDL接口消息。
(2)接口的WSDL定義均應采用本規(guī)范提供的WSDL定義。
(3)SOAP綁定原則。規(guī)范定義的WEB Service接口與SOAP1.1協(xié)議格式相綁定,所有請求和響應消息均應采用SOAP格式的消息封裝,包含SOAP封套(Envelope),SOAP包頭(Header)和SOAP包體(Body)三部分。對任何技術(shù)實現(xiàn)的調(diào)用者而言,發(fā)出的調(diào)用請求消息均須帶有以上三部分內(nèi)容,包頭和包體消息結(jié)構(gòu)中引用的類型均來自dsmp.xsd中的定義。
2.2.2 SP與MISC的訂購通知接口
MISC平臺與SP之間的接口,由MISC平臺通過該接口進行訂購關(guān)系同步和在用戶自助服務時設置與訂購服務相關(guān)的屬性。此接口同時適用于WAP SP、短信SP和彩信SP。
2.2.3 取消服務訂購接口
反向取消是從SP發(fā)起的取消流程,MISC在處理來自SP的取消消息的時候,其處理流程與來自其他網(wǎng)元的消息作相同處理。取消服務訂購接口用于用戶通過SP取消已訂購的數(shù)據(jù)業(yè)務的時候,SP通過該接口向MISC響應用戶取消服務訂購的請求。MISC進行取消服務訂購成功后,SP才取消用戶對應的業(yè)務訂購關(guān)系。
2.3.1 網(wǎng)關(guān)代理接口
代理類網(wǎng)關(guān)接口負責與短信網(wǎng)關(guān)直接聯(lián)系,因此代理類的質(zhì)量將直接影響到系統(tǒng)的穩(wěn)定性,最終影響系統(tǒng)與網(wǎng)關(guān)的通信。根據(jù)規(guī)范,這種接口應該有以下特性:
(1)具有2個隊列,分別為短信隊列和狀態(tài)報告隊列;
(2)自動管理隊列??蛻糁回撠煆拇眍愂杖《绦藕蜖顟B(tài)報告,并不管理隊列。系統(tǒng)對隊列進行自動管理,比如當客戶收取短信時,系統(tǒng)應該從隊列中將已收取的短信移掉;
(3)負責保持與短信網(wǎng)關(guān)的連接??蛻粽{(diào)用login方法和logout期間,應一直保持與短信網(wǎng)關(guān)連接,哪怕期間網(wǎng)絡斷開都應該時刻保持與網(wǎng)關(guān)的連接。
2.3.2 短信引擎管理器
(1)管理模塊結(jié)構(gòu)
管理模塊結(jié)構(gòu)見圖2。
引擎管理器讀取各有效路由配置信息,根據(jù)路由配置信息裝配給引擎。如果引擎安裝完備(隊列初始完備,成功連接數(shù)據(jù)庫,網(wǎng)關(guān)成功登陸)就啟動引擎,否則按一定策略,用電子郵件或手機號碼向系統(tǒng)管理員發(fā)出信息。
(2)引擎設計
引擎的設計要求是:
①當狀態(tài)改變時,視情況向系統(tǒng)理員發(fā)短信或電子郵件,并在庫表中寫記;
②優(yōu)先級高的短信將優(yōu)先被發(fā)送;
③根據(jù)隊列的狀態(tài),決定是否讀取短信數(shù)量;
④短信先進先4出;
⑤當網(wǎng)關(guān)登陸不上或數(shù)據(jù)連不上,能采取相應策略,采取合適的行動。
圖2 管理模塊結(jié)構(gòu)
短信的收發(fā)與狀態(tài)報告內(nèi)容的獲取,設計MessageTools類通過調(diào)用Agent接口來完成,上層對短信收發(fā)及回復的各種操作。它是各個模塊收發(fā)短信的唯一接口,可以實現(xiàn)取消短信提交、發(fā)送短信(單發(fā)和群發(fā))、統(tǒng)計短信數(shù)量等操作。
正確登陸短信平臺后,點擊“標準應用”標簽的“信息發(fā)布”菜單,選擇“短信通知”即可進入短信發(fā)布界面,發(fā)送短信的步驟如下:
(1)輸入信息主題(可選)
信息主題的作用是幫助用戶快速查找短信歷史記錄。
(2)選取短信接收目標對象
①點擊“通訊錄”彈出通訊錄樹狀結(jié)構(gòu),可在通訊錄中選取對應的部門或人員;
②點擊“輸入號碼”按鈕,出現(xiàn)號碼輸入框,支持手工輸入目標號碼;
③點擊“號碼導入”按鈕,彈出導入號碼對話框按提示下載模版后編輯,通過“瀏覽”按鈕上傳至平臺,點擊確定即完成導入。
(3)輸入短信內(nèi)容
平臺默認自帶“回復僅支持移動號碼的提示”,用戶可直接在該字符前方輸入自行編輯內(nèi)容,下發(fā)的短信會是“自編內(nèi)容+(回復僅支持移動號碼)”;如果用戶沒有這項需要,也可以直接刪除此段內(nèi)容。
系統(tǒng)中可以選擇“攜帶簽名”選項,選中后,平臺在下發(fā)短信的內(nèi)容中會自帶該部門的簽名(簽名的設置由平臺管理員在分配帳號的時候直接設定,默認為空)。
平臺默認勾選“需要回復”選項,如果不勾選此項功能,平臺將無法為本條下發(fā)的短信匹配其對應的回復內(nèi)容。
如果用戶需要定時下發(fā)短信,則需要設置指定發(fā)送時間。平臺提供無回復重發(fā)機制,如果下發(fā)的短信沒有收到對應的回復,系統(tǒng)會自動根據(jù)本機制定時重發(fā)短信。目前系統(tǒng)默認為沒收到回復時會自動重發(fā)2次,每次間隔20 min。如果有其他需求,也可手工自行編輯。
(4)確定發(fā)送
點擊“發(fā)送”按鈕,系統(tǒng)將編輯完成的短信提交到平臺,由平臺發(fā)送給中國移動短信網(wǎng)關(guān)和中國移動企信通平臺。目前僅支持移動號碼下發(fā)和回復、聯(lián)通、電信的下發(fā),暫不支持聯(lián)通和電信號碼的上行回復。
系統(tǒng)中點擊進入發(fā)件箱,即可查看本用戶所有已發(fā)短信歷史記錄。
由于一個批次可能一次性發(fā)送幾百甚至上千條短信,為了查詢方便,每次點擊發(fā)送按鈕產(chǎn)生的一組短信,短信平臺系統(tǒng)會將其合并為一次短信發(fā)送任務。在短信歷史任務列表中可以看見短信發(fā)送狀態(tài),將鼠標箭頭移到短信內(nèi)容上可查看短信內(nèi)容全文,也可查看該批次任務的發(fā)起時間。
點擊“接受”按鈕,即可查看對該次發(fā)送任務的所有上行回復的短信內(nèi)容,而點擊“詳細”按鈕,則可以查看本次發(fā)送任務的所有下發(fā)短信明細。對于沒有收到回復的短信記錄,系統(tǒng)用戶可以直接手工重發(fā)該條短信。短信重發(fā)后會在列表自動產(chǎn)生一條短信發(fā)送記錄,原記錄上的“重發(fā)”按鈕會自動消失,所有短信自動重發(fā)記錄也會在明細中顯現(xiàn)。
短信平臺系統(tǒng)支持時段、發(fā)送內(nèi)容、主題以及目標對象號碼等多種關(guān)鍵字查詢方式。
在“運維管理”標簽下選擇短信統(tǒng)計可見本單位短信回復數(shù)據(jù)統(tǒng)計情況。系統(tǒng)還支持日報和月報統(tǒng)計查詢,平臺默認選擇“日報”,系統(tǒng)用戶可查看當日短信每小時實際發(fā)送數(shù)量與上行回復短信數(shù)量對比柱狀圖。點擊發(fā)送時間,可選擇其他日期和月份,查看統(tǒng)計情況,平臺支持按用戶、按通道、按已設定的下屬部門進行統(tǒng)計,用戶可手動點擊“月報”,查看當月每天實際發(fā)送數(shù)量與上行回復短信數(shù)量對比柱狀圖。此項查詢同樣支持按用戶、通道、已設定的下屬部門進行分類統(tǒng)計。
上海石化將原有的企信通平臺與MAS平臺進行了整合,具備多通道并行發(fā)送、短信群發(fā)、短信回復、回復確認、統(tǒng)計等多項功能。上海石化生產(chǎn)調(diào)度系統(tǒng)利用短信平臺進行生產(chǎn)管理取得了很好的應用效果。作為上海石化日常生產(chǎn)信息發(fā)布、應急演練以及突發(fā)事件處理的主要通信手段之一,實現(xiàn)了“一鍵推送一批接收”,大大提高了企業(yè)信息發(fā)布的效率以及處理突發(fā)事件的能力。