新聞中心
PRESS CENTER2 系統(tǒng)關(guān)鍵技術(shù)
2.1 封裝多種通信協(xié)議的透明代理
通信協(xié)議代理過程是針對內(nèi)網(wǎng)各業(yè)務(wù)系統(tǒng)數(shù) 據(jù)訪問的協(xié)議封裝,包含數(shù)據(jù)庫傳輸代理、文件傳 輸協(xié)議(file transfer protocol,F(xiàn)TP),數(shù)據(jù)采集及轉(zhuǎn) 發(fā)代理(104/101 規(guī)約)等。對于使用關(guān)系數(shù)據(jù)庫的業(yè) 務(wù)系統(tǒng),采用 Java 數(shù)據(jù)庫連接(Java database connectivity,JDBC)標準或開放數(shù)據(jù)庫互聯(lián)(opendatabase connectivity,ODBC)進行接口訪問;對于 使用文件傳輸協(xié)議傳輸?shù)臉I(yè)務(wù)系統(tǒng),按照 FTP 標準 訪問其中的文件類數(shù)據(jù);對于基于實時數(shù)據(jù)的業(yè)務(wù) 系統(tǒng),根據(jù) IEC60870-5 系列規(guī)約接收實時系統(tǒng)轉(zhuǎn) 發(fā)的數(shù)據(jù)。通信協(xié)議代理的核心特點是為不同數(shù)據(jù) 源提供訪問接口,并將接收的數(shù)據(jù)根據(jù)數(shù)據(jù)統(tǒng)一平 臺制訂的統(tǒng)一數(shù)據(jù)格式,轉(zhuǎn)換為標準 XML 文件。
2.2 基于 XML 的數(shù)據(jù)統(tǒng)一平臺
數(shù)據(jù)統(tǒng)一平臺針對各業(yè)務(wù)系統(tǒng)數(shù)據(jù)的異構(gòu)性、 松散性,制訂了統(tǒng)一的基于 XML 的存儲和展現(xiàn)方 式。首先,XML 文件是基于全文本的解釋型數(shù)據(jù)文 件,天然滿足了對于隔離裝置的數(shù)據(jù)傳輸規(guī)定;第 二,XML 文件不僅利于數(shù)據(jù)展示,更可以封裝業(yè)務(wù) 邏輯結(jié)構(gòu),對于各業(yè)務(wù)系統(tǒng)的實際數(shù)據(jù)源來說,是 良構(gòu)的,可進行良好的數(shù)據(jù)映射;第三,XML 與其 他數(shù)據(jù)表現(xiàn)形式最大的不同是,它極其簡單,對于 數(shù)據(jù)的外部共享,具有易讀性和可擴展性。
數(shù)據(jù)統(tǒng)一平臺制訂了自己的數(shù)據(jù)字典和數(shù) 據(jù)描述,構(gòu)建了基于 XML 的數(shù)據(jù)庫。實際應(yīng)用 中,針對不同業(yè)務(wù),先進行字典映射,保證關(guān)鍵字 與數(shù)據(jù)唯一性。字典類數(shù)據(jù)表多采用整表存儲,而 各類生熟數(shù)據(jù)表多采用增量存儲,即每次存儲上次 數(shù)據(jù)存儲后新增或變化的數(shù)據(jù)。數(shù)據(jù)存儲包含多種 存儲模式:存儲字典(即表結(jié)構(gòu))和數(shù)據(jù)、僅存儲數(shù) 據(jù)、僅存為本地文件、僅存入本地數(shù)據(jù)庫和傳輸規(guī) 則表等[6]。然后通過數(shù)據(jù)通信代理發(fā)起與外網(wǎng)數(shù)據(jù) 庫的連接并進行單向數(shù)據(jù)傳輸;外網(wǎng)平臺接收數(shù)據(jù) 并校驗成功后,解析數(shù)據(jù)并入外網(wǎng)數(shù)據(jù)庫,即外網(wǎng) 數(shù)據(jù)共享庫。
2.3 隔離裝置穿越
對物理隔離裝置而言,其內(nèi)網(wǎng)端口和外網(wǎng)端口 之間的數(shù)據(jù)交換是基于虛擬地址映射的串口協(xié)議數(shù) 據(jù)傳輸。對隔離裝置的明確規(guī)定是:對正向傳輸(內(nèi) 網(wǎng)到外網(wǎng)),禁止應(yīng)答信息攜帶應(yīng)用層數(shù)據(jù);對反向 傳輸(外網(wǎng)到內(nèi)網(wǎng)),嚴格禁止采用通用的網(wǎng)絡(luò)服務(wù)。
在內(nèi)網(wǎng)數(shù)據(jù)向外網(wǎng)傳輸過程中,外網(wǎng)無法采用 傳輸控制協(xié)議(transmission control protocol,TCP) 方式對數(shù)據(jù)傳輸請求進行應(yīng)答并建立連接,所以在 正向數(shù)據(jù)傳輸時,必須在正向隔離裝置上映射內(nèi)網(wǎng) 數(shù)據(jù)代理平臺物理地址和外網(wǎng)數(shù)據(jù)代理平臺物理 地址及目標端口,采用用戶數(shù)據(jù)報(user datagram protocol,UDP)協(xié)議,將內(nèi)網(wǎng)數(shù)據(jù)以報文形式通過 正向隔離裝置傳輸?shù)酵饩W(wǎng)[7]。
具體的實現(xiàn)是:利用 Socket(4BDS UNIX 的進 程通信機制,套接字)通信方式,在內(nèi)網(wǎng)數(shù)據(jù)代理平 臺建立 Socket 客戶端,在外網(wǎng)數(shù)據(jù)代理平臺建立 Socket 服務(wù)端。正向數(shù)據(jù)傳輸時,內(nèi)網(wǎng) Socket 客戶 端將傳輸數(shù)據(jù)打包壓縮,以數(shù)據(jù)報文形式向外網(wǎng) Socket 服務(wù)端進行 UDP 發(fā)送;外網(wǎng) Socket 服務(wù)端 無需與內(nèi)網(wǎng) Socket 客戶端握手,只需接收廣播的數(shù) 據(jù)報文,進行解碼,即可提取數(shù)據(jù)[8]
在外網(wǎng)數(shù)據(jù)向內(nèi)網(wǎng)傳輸時,反向隔離裝置屏 蔽了通用網(wǎng)絡(luò)服務(wù),從根本上屏蔽了 TCP/IP 協(xié)議 棧。因此在反向數(shù)據(jù)傳輸過程中,除了在反向隔離 裝置上映射內(nèi)網(wǎng)數(shù)據(jù)代理平臺物理地址和目標端 口及外網(wǎng)數(shù)據(jù)代理平臺物理地址外,還需要使用反 向隔離裝置本身的數(shù)據(jù)傳輸工具,將外網(wǎng)數(shù)據(jù)以文 本文件形式傳輸?shù)絻?nèi)網(wǎng)。
2.4 數(shù)據(jù)管理 數(shù)據(jù)管理主要包括任務(wù)調(diào)度、數(shù)據(jù)維護管理、 數(shù)據(jù)監(jiān)視等。任務(wù)調(diào)度負責(zé)對內(nèi)網(wǎng)各業(yè)務(wù)系統(tǒng)數(shù)據(jù) 的訪問頻率、存儲間隔、任務(wù)執(zhí)行與停止等功能; 數(shù)據(jù)維護管理主要負責(zé)對于入庫數(shù)據(jù)的維護,包括 數(shù)據(jù)備份、數(shù)據(jù)增減、訪問接口啟停、數(shù)據(jù)代理協(xié) 議增減;數(shù)據(jù)監(jiān)視提供對數(shù)據(jù)斷面監(jiān)視、內(nèi)外網(wǎng)交 互數(shù)據(jù)情況、通信監(jiān)視和日志記錄等功能。
3 應(yīng)用案例 3.1 連云港負荷預(yù)測系統(tǒng)部署結(jié)構(gòu) 在連云港供電公司網(wǎng)絡(luò)安全III區(qū)構(gòu)建地縣一體 化負荷預(yù)測系統(tǒng)[9]過程中,利用跨區(qū)數(shù)據(jù)共享平臺承 擔(dān)了絕大部分數(shù)據(jù)傳輸任務(wù),該系統(tǒng)是使用跨區(qū)數(shù) 據(jù)共享的典型案例。負荷預(yù)測系統(tǒng)是調(diào)度運行方式 專職人員的日常業(yè)務(wù)系統(tǒng),從 SCADA 系統(tǒng)獲得當 日網(wǎng)供負荷數(shù)據(jù),通過聚類尋優(yōu)[10]算法,進行預(yù)測 計算后,將預(yù)測曲線發(fā)回到 SCADA 系統(tǒng),以供 SCADA 系統(tǒng)曲線監(jiān)視模塊顯示。系統(tǒng)示意圖見圖 4。 3.2 實時數(shù)據(jù)傳輸 負荷預(yù)測系統(tǒng)需要由 SCADA 系統(tǒng)提供連云港 本地及下屬 4 縣的網(wǎng)供負荷實時數(shù)據(jù),作為超短期 和短期負荷預(yù)測的基礎(chǔ)數(shù)據(jù)。系統(tǒng)設(shè)計從 SCADA 系統(tǒng)通過服務(wù)器將按 104 規(guī)約發(fā)送的網(wǎng)供實時數(shù)據(jù) 傳輸?shù)絻?nèi)網(wǎng)數(shù)據(jù)統(tǒng)一平臺,并更新至實時庫。再通 過正向隔離裝置跨區(qū)傳輸數(shù)據(jù)到外網(wǎng)數(shù)據(jù)統(tǒng)一平 臺的實時共享庫[11]。負荷預(yù)測系統(tǒng)服務(wù)器會訪問外 網(wǎng)實時共享庫,獲得網(wǎng)供負荷的實時數(shù)據(jù),進行在線負荷監(jiān)視和超短期負荷預(yù)測工作。 3.3 外網(wǎng)歷史數(shù)據(jù)存儲 負荷預(yù)測系統(tǒng)服務(wù)器每隔 1min 會將外網(wǎng)實時 庫的實時數(shù)據(jù)轉(zhuǎn)存為負荷歷史曲線,對負荷歷史曲 線中的異常數(shù)據(jù)進行去刺或濾波后[12],存入負荷預(yù) 測歷史數(shù)據(jù)庫,以供系統(tǒng)進行日負荷預(yù)測計算用, 并提供用戶負荷歷史曲線查詢和各種報表的生成 和查詢。 3.4 內(nèi)網(wǎng)預(yù)測文件上傳 用戶在使用負荷預(yù)測系統(tǒng)進行預(yù)測計算后,需 要將生成的負荷預(yù)測曲線發(fā)回到 SCADA 系統(tǒng),以 便在 SCADA 系統(tǒng)內(nèi)顯示。此時負荷預(yù)測服務(wù)器將 預(yù)測曲線通過外網(wǎng)文件代理穿越反向隔離裝置發(fā) 送到內(nèi)網(wǎng)的非實時庫。數(shù)據(jù)通信代理會按任務(wù)調(diào)度 計劃,定時將非實時庫的預(yù)測曲線取出通過通信代 理中 FTP 代理發(fā)送回 SCADA 系統(tǒng)服務(wù)器。