国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種跨安全區(qū)查看前置報文的方法

      文檔序號:7438188閱讀:196來源:國知局
      專利名稱:一種跨安全區(qū)查看前置報文的方法
      技術(shù)領(lǐng)域
      本發(fā)明用于電力調(diào)度自動化系統(tǒng),涉及在調(diào)度自動化系統(tǒng)中,通過電力二次系統(tǒng) 安全三區(qū)訂閱查看安全一區(qū)通道的準(zhǔn)實時報文的方法,為一種跨安全區(qū)查看前置報文的方 法。
      背景技術(shù)
      電力二次系統(tǒng)的通道接入調(diào)試和通道運(yùn)行狀況診斷一直是調(diào)度自動化建設(shè)和運(yùn) 行過程中非常重要的工作環(huán)節(jié)。通過查看通道報文來調(diào)試和診斷通道運(yùn)行狀況則是遠(yuǎn)動運(yùn) 行維護(hù)中頻繁使用的一項手段。根據(jù)《全國電力二次系統(tǒng)安全防護(hù)總體方案》的要求,電力調(diào)度自動化系統(tǒng)分為 4個安全區(qū) ,分別為安全一區(qū),實時控制區(qū);安全二區(qū),非控制生產(chǎn)區(qū);安全三區(qū),生產(chǎn)管理 區(qū);安全四區(qū),管理信息區(qū)。目前在通道調(diào)試時,通常通過電話詢問、或者下載拷貝等人工方 式獲取本端和對端報文內(nèi)容,這些一般都需要運(yùn)行維護(hù)人員進(jìn)入遠(yuǎn)動機(jī)房,登錄到安全一 區(qū)的服務(wù)器上才能獲取。這些方式常常具有以下缺點第一、獲取報文內(nèi)容困難。前置報文通常使用指定的格式存放在指定的路徑下,不 同的調(diào)度前置系統(tǒng),其格式和位置各不相同。在查看時,需要使用專用工具才能瀏覽閱讀。第二、效率不高。電話詢問或人工下載都需要專人配合,處理周期長。尤其在查詢 對端報文時,如果對端無人配合,則工作將無法繼續(xù)開展。第三、安全性差。電話詢問和下載拷貝都需要登錄到安全一區(qū)服務(wù)器,下載拷貝更 是增加了非安全介質(zhì)或機(jī)器接入整個系統(tǒng)的可能性。登錄或下載過程中的一旦發(fā)生錯誤的 人工操作,都將對系統(tǒng)運(yùn)行產(chǎn)生一定影響。第四、可靠性低。語言很難精確的將大量的報文完整地描述出來,而在發(fā)生問題 時,錯誤的報文往往只有短短幾個字節(jié),甚至只有幾位。第五、實時性不夠。報文具有很強(qiáng)的實時性和突發(fā)性,一些報文是隨著系統(tǒng)中一些 操作產(chǎn)生,比如開關(guān)變位、遙控命令下發(fā)等。而一些錯誤的報文往往在系統(tǒng)運(yùn)行在某些邊界 狀態(tài)下產(chǎn)生,錯誤現(xiàn)象不易復(fù)現(xiàn)。如果實時性不強(qiáng),在系統(tǒng)狀態(tài)發(fā)生改變后,將很難判斷出 報文產(chǎn)生的原因。隨著經(jīng)濟(jì)的發(fā)展,對電力調(diào)度系統(tǒng)維護(hù)的要求越來越多,無論是新增廠站還是改 造老站,往往都涉及到相應(yīng)通道配置的修改維護(hù)。能方便快捷的查看通道報文內(nèi)容,將大大 提高電力調(diào)度遠(yuǎn)動維護(hù)的效率。

      發(fā)明內(nèi)容
      本發(fā)明要解決的問題是目前電力調(diào)度自動化系統(tǒng)在通道調(diào)試時,采用的調(diào)試方 式存在獲取報文內(nèi)容困難,效率不高,安全性差,可靠性低,實時性不夠的問題。本發(fā)明的技術(shù)方案為一種跨安全區(qū)查看前置報文的方法,用于電力調(diào)度自動化系統(tǒng),電力調(diào)度自動化系統(tǒng)分為4個安全區(qū),其中包括安全一區(qū),實時控制區(qū);安全三區(qū),生產(chǎn)管理區(qū);建立與安全三區(qū)WEB服務(wù)器連接的瀏覽器客戶端,通過網(wǎng)頁瀏覽器訪問安全三 區(qū)的WEB服務(wù)器,在安全三區(qū)的數(shù)據(jù)平臺上建立高速緩存,存儲前置數(shù)據(jù)、通道信息和通道 報文,瀏覽器客戶端登錄到安全三區(qū)的WEB服務(wù)器后,安全三區(qū)TOB服務(wù)進(jìn)程將當(dāng)前所有通 道信息發(fā)送給瀏覽器客戶端,瀏覽器客戶端獲取通道的實時信息,并選擇要查看的通道,將 該通道關(guān)鍵字發(fā)送給安全三區(qū)的WEB服務(wù)進(jìn)程,所述TOB服務(wù)進(jìn)程將通道關(guān)鍵字發(fā)送給安 全三區(qū)報文服務(wù)進(jìn)程,安全三區(qū)報文服務(wù)進(jìn)程將通道關(guān)鍵字整理合并后,通過正反向數(shù)據(jù) 傳輸發(fā)送到安全一區(qū)前置報文服務(wù)進(jìn)程;安全一區(qū)前置報文服務(wù)進(jìn)程根據(jù)收到的通道關(guān)鍵 字,向安全一區(qū)前置通道進(jìn)程訂閱相應(yīng)的報文,安全一區(qū)前置通道進(jìn)程再將訂閱得到的原 始通道報文發(fā)給安全一區(qū)前置報文服務(wù)進(jìn)程,安全一區(qū)前置報文服務(wù)進(jìn)程將所述原始通道 報文通過正反向數(shù)據(jù)傳輸發(fā)送給安全三區(qū)前置報文服務(wù)進(jìn)程,當(dāng)安全三區(qū)前置報文服務(wù)進(jìn) 程在確認(rèn)收到的報文有效后,將原始通道報文寫入安全三區(qū)高速緩存,安全三區(qū)WEB服務(wù) 進(jìn)程定時讀取高速緩存內(nèi)的通道報文,并將讀取到的報文發(fā)送給瀏覽器客戶端,實現(xiàn)瀏覽 器客戶端查看通道準(zhǔn)實時報文;其中正反向數(shù)據(jù)傳輸是指,在對安全一區(qū)和安全三區(qū)之間進(jìn)行跨安全區(qū)的數(shù)據(jù)傳 輸時采用正反向通訊結(jié)合的通訊機(jī)制,形成一個完整地通訊環(huán)路,包含報文截獲和報文轉(zhuǎn) 發(fā)報文截獲電力調(diào)度自動化系統(tǒng)的網(wǎng)絡(luò)通訊由網(wǎng)絡(luò)中間件完成,它包含區(qū)內(nèi)通訊 程序和跨區(qū)轉(zhuǎn)發(fā)程序,跨區(qū)轉(zhuǎn)發(fā)程序部署在一區(qū)和三區(qū),跨區(qū)傳輸?shù)膱笪慕孬@過程如下需 要跨區(qū)傳輸?shù)膱笪暮蛥^(qū)內(nèi)傳輸?shù)膱笪木娣旁谵D(zhuǎn)發(fā)報文隊列中,報文發(fā)送區(qū)根據(jù)接收區(qū)的 應(yīng)用發(fā)出的跨安全區(qū)報文訂閱列表分析轉(zhuǎn)發(fā)報文頭中的訂閱報文事件號或節(jié)點名,自動截 獲需要發(fā)往安全一區(qū)或安全三區(qū)的報文,即跨區(qū)傳輸?shù)膱笪?,并將其存放到跨安全區(qū)轉(zhuǎn)發(fā) 報文隊列中;報文轉(zhuǎn)發(fā)當(dāng)截獲的跨區(qū)傳輸報文存放到跨安全區(qū)轉(zhuǎn)發(fā)報文隊列中后,轉(zhuǎn)發(fā)流程 啟動,報文轉(zhuǎn)發(fā)包括報文轉(zhuǎn)發(fā)準(zhǔn)備,報文轉(zhuǎn)發(fā)和轉(zhuǎn)發(fā)報文的接收與應(yīng)答三個階段;(1)報文轉(zhuǎn)發(fā)準(zhǔn)備階段如果是報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū),則跨區(qū)轉(zhuǎn)發(fā)程序執(zhí)行緩 沖邏輯,設(shè)置跨安全區(qū)待轉(zhuǎn)發(fā)報文緩存,按照設(shè)定的時間和緩存區(qū)大小閥值緩沖報文,當(dāng)達(dá) 到緩沖時間或者緩沖區(qū)已經(jīng)填滿則進(jìn)入報文轉(zhuǎn)發(fā)階段;如果是報文從三區(qū)轉(zhuǎn)發(fā)到一區(qū),則 跨區(qū)轉(zhuǎn)發(fā)程序執(zhí)行報文格式轉(zhuǎn)換邏輯,將報文由二進(jìn)制編碼轉(zhuǎn)換成符合國家電網(wǎng)公司《電 力系統(tǒng)數(shù)據(jù)標(biāo)記語言一E語言規(guī)范》要求的文檔并加密,再進(jìn)入反向隔離裝置程序準(zhǔn)備轉(zhuǎn)發(fā) 格式化報文文檔;(2)報文轉(zhuǎn)發(fā)階段如果是報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū),則通過建立的TCP鏈路將緩存 后的報文轉(zhuǎn)發(fā)到對端節(jié)點,中間經(jīng)過正向隔離裝置,對端的跨區(qū)轉(zhuǎn)發(fā)程序收到報文后將報 文解包,分成多個小報文,并依次轉(zhuǎn)發(fā)這些小報文到目的節(jié)點;如果是報文從三區(qū)轉(zhuǎn)發(fā)到一 區(qū)三區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序會將格式化報文文檔通過FTP程序和反向隔離裝置傳輸?shù)揭粎^(qū), 一區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序接收到格式化報文文檔后將其轉(zhuǎn)換成二進(jìn)制報文編碼,并將報文轉(zhuǎn)發(fā) 到目的節(jié)點;(3)轉(zhuǎn)發(fā)報文的接收與應(yīng)答階段接收區(qū)跨區(qū)轉(zhuǎn)發(fā)程序接收到報文,若數(shù)據(jù)完整 且序號連續(xù),則按照設(shè)定的時間閥值定期發(fā)送成功應(yīng)答報文,通過接收區(qū)的報文發(fā)送路徑傳輸?shù)桨l(fā)送區(qū),確認(rèn)一段時間內(nèi)的所有報文都接收成功,若接收區(qū)判斷報文轉(zhuǎn)發(fā)失敗或者 報文解包失敗,則立即通過接收區(qū)的報文發(fā)送路徑發(fā)送失敗應(yīng)答報文,并包含需要重發(fā)的 報文編號,以便發(fā)送區(qū)的轉(zhuǎn)發(fā)程序及時重發(fā)。本發(fā)明具體包括以下步驟 1)、安全三區(qū)通道信息和前置數(shù)據(jù)自動維護(hù)在安全三區(qū)數(shù)據(jù)平臺上建立高速緩 存,映射安全一區(qū)前置數(shù)據(jù)和通道信息表,通過正反向數(shù)據(jù)傳輸,由安全三區(qū)數(shù)據(jù)平臺接收 安全一區(qū)傳遞過來的信息,并實時更新到安全三區(qū)的高速緩存;2)、安全三區(qū)查看請求轉(zhuǎn)發(fā)瀏覽器客戶端將要查看的通道關(guān)鍵字和查看方式發(fā) 送給安全三區(qū)WEB服務(wù)進(jìn)程,WEB服務(wù)進(jìn)程再轉(zhuǎn)發(fā)給安全三區(qū)的前置報文服務(wù)進(jìn)程,由前 置報文服務(wù)進(jìn)程合并相同請求后,通過正反向數(shù)據(jù)傳輸,發(fā)送到安全一區(qū)前置報文服務(wù)進(jìn) 程;3)、安全一區(qū)報文訂閱轉(zhuǎn)發(fā)安全一區(qū)前置報文服務(wù)進(jìn)程收到通道報文查看請求 后,向前置節(jié)點上的前置通道訂閱原始通道報文,通過網(wǎng)絡(luò)平臺接口獲取到原始通道報文 后,使用正反向數(shù)據(jù)傳輸,傳輸?shù)桨踩齾^(qū),由安全三區(qū)前置報文服務(wù)進(jìn)程接收;4)、安全三區(qū)前置報文的接收和頁面展示安全三區(qū)的高速緩存存放安全三區(qū)前 置報文服務(wù)進(jìn)程收到的前置報文內(nèi)容,安全三區(qū)WEB服務(wù)進(jìn)程定時讀取高速緩存中的所有 報文,利用Ajax技術(shù)將報文內(nèi)容發(fā)送到發(fā)出查看要求的瀏覽器客戶端頁面。安全三區(qū)前置數(shù)據(jù)和通道信息自動維護(hù)步驟中,安全三區(qū)自動實時獲取完整的安 全一區(qū)的通道信息和前置數(shù)據(jù),安全一區(qū)通道屬性的修改、通道運(yùn)行狀態(tài)的變化和所有前 置原始數(shù)據(jù)的變化都自動映射到三區(qū);瀏覽器客戶端頁面動態(tài)展示所有通道運(yùn)行情況,包 括通道的通斷情況、主備值班情況和工作節(jié)點情況信息,當(dāng)安全一區(qū)信息變化時,頁面顯示 相應(yīng)變化。安全三區(qū)查看請求轉(zhuǎn)發(fā)步驟中,瀏覽器客戶端頁面將通道請求關(guān)鍵字發(fā)給安全三 區(qū)WEB服務(wù)進(jìn)程后,WEB服務(wù)進(jìn)程在該頁面連接的有效期內(nèi)定期向安全三區(qū)報文服務(wù)進(jìn)程 發(fā)送關(guān)鍵字,安全三區(qū)報文服務(wù)進(jìn)程維護(hù)關(guān)鍵字存根列表,清除在設(shè)定的時間內(nèi)未被更新 時標(biāo)的關(guān)鍵字存根;不同瀏覽器客戶端頁面發(fā)送的相同關(guān)鍵字,在安全三區(qū)報文服務(wù)進(jìn)程 關(guān)鍵字存根列表中只保留一份,減少安全三區(qū)向安全一區(qū)發(fā)送的信息量。安全一區(qū)報文訂閱轉(zhuǎn)發(fā)步驟中,安全一區(qū)報文服務(wù)進(jìn)程收到安全三區(qū)的查看請求 后,發(fā)送訂閱請求,安全一區(qū)的前置通道線程收到訂閱信息后,維護(hù)一份訂閱發(fā)起進(jìn)程列 表,并根據(jù)訂閱信息中的關(guān)鍵字,將相應(yīng)規(guī)約插件接收到的報文副本發(fā)送到訂閱發(fā)起進(jìn)程 列表中的每個進(jìn)程。安全三區(qū)前置報文的接收和頁面展示步驟中,包括以下處理內(nèi)容安全三區(qū)報文服務(wù)進(jìn)程在存根列表中查詢安全一區(qū)發(fā)送過來的通道報文關(guān)鍵字, 將在存根列表中有對應(yīng)關(guān)鍵字的通道報文存入安全三區(qū)高速緩存,將沒有對應(yīng)關(guān)鍵字的報 文丟棄;安全三區(qū)高速緩存中的通道報文存儲采用循環(huán)表的數(shù)據(jù)結(jié)構(gòu),在滿足并發(fā)查看數(shù) 量的條件下,設(shè)定適當(dāng)緩存大?。话踩齾^(qū)TOB服務(wù)進(jìn)程根據(jù)每個瀏覽器客戶端頁面session對應(yīng)的通道關(guān)鍵字, 定時檢索高速緩存中的最新通道報文,并將最新通道報文發(fā)送到所有請求該通道報文的瀏覽器客戶端頁面;瀏覽器客戶端頁面請求中如果包含解釋命令,安全三區(qū)WEB服務(wù)進(jìn)程調(diào)用規(guī)約插件對通道報文進(jìn)行解釋后再發(fā)送給瀏覽器客戶端頁面,頁面顯示同一通道中不同規(guī)約插件 對相同報文內(nèi)容的不同解釋結(jié)果;瀏覽器客戶端頁面收到新的通道報文后,自動滾屏,加入最新通道報文,并對通道 報文原始碼使用顏色決策,即按規(guī)約定義,對不同含義的通道報文使用不同的顏色顯示來 加以區(qū)分;多個瀏覽器客戶端頁面同時獨(dú)立瀏覽相同或不同通道,互不沖突,每個瀏覽器客 戶端頁面分別對自己查看的通道報文進(jìn)行暫停、清除和解釋操作,所有操作只對當(dāng)前查看 頁面產(chǎn)生作用;報文信息和報文請求在安全一區(qū)和安全三區(qū)間傳輸,在網(wǎng)絡(luò)非雪崩狀態(tài)下,安全 一區(qū)和安全三區(qū)之間信息傳送延時在1秒以內(nèi)。本發(fā)明通過使用TOB瀏覽器訪問設(shè)立在三區(qū)的服務(wù)器,查看一區(qū)前置通道的信息 及報文,其有益效果是本發(fā)明通過瀏覽器客戶端查看前置報文內(nèi)容,操作簡單明確,報文 展現(xiàn)形式切合實際需要,并且具有較高的準(zhǔn)實時查看速度,實現(xiàn)遠(yuǎn)程查看,是一項提高運(yùn)行 效率的實用技術(shù)。使用本發(fā)明后,用戶在查看前置報文時,不需要關(guān)心報文的來源、存放位 置和獲取方式,電力自動化調(diào)度系統(tǒng)的后臺服務(wù)程序根據(jù)本發(fā)明方法自動完成從不同節(jié) 點、不同通道收集報文的工作。同時,通過正反向數(shù)據(jù)傳輸由安全三區(qū)獲取報文的方式,減 少了進(jìn)入一區(qū)的次數(shù),增強(qiáng)了整個系統(tǒng)的安全性。在通道對點時,可以在本端操作的同時, 通過三區(qū)的廣域網(wǎng)查看對端收到的報文和結(jié)果,原本需要多人配合的工作只需要一個人就 能完成,提高了用戶的工作效率,也減少了多人配合產(chǎn)生失誤的可能性。WEB瀏覽器上的報 文展示人性化,除了基本的報文原始碼,還提供解釋、按規(guī)約分層、顏色決策、自動滾屏、清 除和暫停等功能,方便用戶迅速理解報文含義,做出判斷。本發(fā)明具有很高的實時性,再配 合快捷方便的報文獲取方式,一旦系統(tǒng)發(fā)生異常,用戶可以快速的查看到通道的狀態(tài)以及 報文內(nèi)容,在第一時間內(nèi)定位解決故障。


      圖1為本發(fā)明的應(yīng)用的電力網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)流向圖。圖2為本發(fā)明整體流程圖。圖3為本發(fā)明三區(qū)通道報文查看請求轉(zhuǎn)發(fā)流程圖。圖4為本發(fā)明一區(qū)通道報文訂閱轉(zhuǎn)發(fā)流程圖。圖5為本發(fā)明三區(qū)通道報文的接收和頁面展示流程圖。
      具體實施例方式本發(fā)明在電力調(diào)度自動化系統(tǒng)中的應(yīng)用如圖1所示建立與安全三區(qū)WEB服務(wù)器 連接的瀏覽器客戶端,通過網(wǎng)頁瀏覽器訪問安全三區(qū)的WEB服務(wù)器,在安全三區(qū)的數(shù)據(jù)平 臺上建立高速緩存,存儲前置數(shù)據(jù)、通道信息和通道報文,通道信息和前置數(shù)據(jù)通過正向物 理隔離裝置,實時的由安全一區(qū)的前置服務(wù)器同步到安全三區(qū)的WEB服務(wù)器。當(dāng)用戶在遠(yuǎn) 離安全一區(qū)的辦公室,或者在遠(yuǎn)方變電站內(nèi),使用普通電腦或工作站上的網(wǎng)頁瀏覽器打開前置報文查看頁面時,WEB服務(wù)器上的TOB服務(wù)進(jìn)程將包含通道實時狀態(tài)的樹形列表頁面 發(fā)送到客戶端瀏覽器,并由客戶端定時刷新。用戶選擇好要查看報文的通道后,將該通道的 關(guān)鍵字發(fā)送給WEB服務(wù)進(jìn)程,WEB服務(wù)進(jìn)程再轉(zhuǎn)發(fā)給三區(qū)報文服務(wù)進(jìn)程,整理合并后,經(jīng)過 反向隔離裝置,發(fā)到一區(qū)報文服務(wù)進(jìn)程。一區(qū)報文服務(wù)進(jìn)程根據(jù)關(guān)鍵字將訂閱收到的報文 再發(fā)往三區(qū)的報文服務(wù)進(jìn)程。三區(qū)報文服務(wù)進(jìn)程將收到的報文存入高速緩存,WEB服務(wù)進(jìn) 程將從高速緩存內(nèi)讀取到的報文發(fā)送到客戶端頁面。 本發(fā)明的流程如圖2所示,一區(qū)的網(wǎng)絡(luò)平臺、數(shù)據(jù)平臺通過正反向數(shù)據(jù)傳輸?shù)臉?biāo) 準(zhǔn)報文接口,將通道信息和前置數(shù)據(jù)發(fā)往三區(qū)。三區(qū)網(wǎng)絡(luò)平臺和數(shù)據(jù)平臺接收后,將通道信 息寫入通道信息高速緩存,將前置數(shù)據(jù)寫入前置數(shù)據(jù)高速緩存。其中正反向數(shù)據(jù)傳輸是指,在對安全一區(qū)和安全三區(qū)之間進(jìn)行跨安全區(qū)的數(shù)據(jù)傳 輸時采用正反向通訊結(jié)合的通訊機(jī)制,形成一個完整地通訊環(huán)路,包含報文截獲和報文轉(zhuǎn) 發(fā)安全一區(qū)進(jìn)行實時數(shù)據(jù)采集,通過一區(qū)的調(diào)度員工作站、維護(hù)工作站、五防工作站可以 查看實時數(shù)據(jù),如果三區(qū)的WEB服務(wù)進(jìn)程也需要實時數(shù)據(jù),則一區(qū)通過正向隔離裝置將實 時數(shù)據(jù)傳輸?shù)饺齾^(qū)。其過程如下三區(qū)的WEB服務(wù)進(jìn)程訂閱一區(qū)實時數(shù)據(jù),訂閱報文通過反 向隔離裝置發(fā)送到一區(qū),由一區(qū)跨區(qū)轉(zhuǎn)發(fā)程序接收,并形成訂閱列表,跨區(qū)轉(zhuǎn)發(fā)程序根據(jù)訂 閱列表截獲對應(yīng)的一區(qū)發(fā)送的事件報文,并將三區(qū)訂閱的數(shù)據(jù)轉(zhuǎn)發(fā)到三區(qū),三區(qū)定期的確 認(rèn)成功接收的報文,如果報文丟失及時發(fā)送NACK報文,即失敗應(yīng)答報文,要求一區(qū)重發(fā)相 關(guān)報文。下面具體說明實施方式。一、報文截獲現(xiàn)有的電力調(diào)度自動化系統(tǒng)中,安全區(qū)的應(yīng)用采用統(tǒng)一的接口向同一安全區(qū)和跨 安全區(qū)的應(yīng)用發(fā)送和接收報文,屏蔽了跨安全區(qū)邏輯;電力調(diào)度自動化系統(tǒng)的網(wǎng)絡(luò)通訊由 網(wǎng)絡(luò)中間件完成,它包含區(qū)內(nèi)通訊程序和跨區(qū)轉(zhuǎn)發(fā)程序,跨區(qū)轉(zhuǎn)發(fā)程序部署在一區(qū)和三區(qū), 針對屏蔽的跨安全區(qū)邏輯,本發(fā)明正反向數(shù)據(jù)傳輸?shù)目鐓^(qū)傳輸?shù)膱笪慕孬@過程如下安全 一區(qū)和三區(qū)需要跨區(qū)傳輸?shù)膱笪暮蛥^(qū)內(nèi)傳輸?shù)膱笪木娣旁谵D(zhuǎn)發(fā)報文隊列中,跨區(qū)轉(zhuǎn)發(fā)程 序在報文傳輸過程中,報文發(fā)送區(qū)根據(jù)接收區(qū)的應(yīng)用發(fā)出的跨安全區(qū)報文訂閱列表分析轉(zhuǎn) 發(fā)報文頭中的訂閱報文事件號或節(jié)點名,自動截獲需要跨區(qū)傳輸?shù)膱笪?,并將其存放到?安全區(qū)轉(zhuǎn)發(fā)報文隊列中。一區(qū)與三區(qū)之間的應(yīng)用報文為點對點報文,傳輸方式為TCP,因此 跨區(qū)轉(zhuǎn)發(fā)程序監(jiān)聽TCP傳輸端口的所有報文??绨踩珔^(qū)訂閱列表信息由兩部分組成跨區(qū) 通訊的節(jié)點名和跨區(qū)轉(zhuǎn)發(fā)的事件號,由跨安全區(qū)轉(zhuǎn)發(fā)程序通過隔離裝置轉(zhuǎn)發(fā)到對端,并由 對端跨安全區(qū)轉(zhuǎn)發(fā)程序保存并組織成報文訂閱列表。對轉(zhuǎn)發(fā)報文隊列的報文,參考跨安全區(qū)訂閱列表中的目的節(jié)點名和跨安全區(qū)事件 信息,先判斷其目的節(jié)點是否為跨安全區(qū)對端節(jié)點,如果是將該報文放入跨安全區(qū)轉(zhuǎn)發(fā)報 文隊列;如果不是判斷事件號是否為跨安全區(qū)訂閱事件號,是則放入跨安全區(qū)轉(zhuǎn)發(fā)報文隊 列,不是則返回轉(zhuǎn)發(fā)報文隊列;循環(huán)執(zhí)行上列步驟,完成轉(zhuǎn)發(fā)隊列中報文的截獲。二、報文轉(zhuǎn)發(fā)當(dāng)截獲的報文存放到跨安全區(qū)轉(zhuǎn)發(fā)隊列中后,轉(zhuǎn)發(fā)流程啟動,報文轉(zhuǎn)發(fā)包括報文 轉(zhuǎn)發(fā)準(zhǔn)備,報文轉(zhuǎn)發(fā)和接收與應(yīng)答三個階段。1、轉(zhuǎn)發(fā)準(zhǔn)備階段(1)報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū)的流程判斷轉(zhuǎn)發(fā)隊列緩存是否已滿,如果已滿,將緩存報文打包并進(jìn)入發(fā)送報文階段,然后清空緩存,將發(fā)送后的報文轉(zhuǎn)存到已發(fā)送隊列,再將 新報文加入到轉(zhuǎn)發(fā)隊列緩存中;如果緩存未滿,則判緩存時間是否達(dá)到設(shè)定的時間,也就是 限值,如果已達(dá)到限值,則將現(xiàn)有緩存打包進(jìn)入發(fā)送報文階段,如果沒有達(dá)到限值,則將新 報文加入到轉(zhuǎn)發(fā)隊列緩存中;重復(fù)執(zhí)行以上步驟。
      跨區(qū)轉(zhuǎn)發(fā)程序執(zhí)行緩沖邏輯,即按照設(shè)定的時間和緩存區(qū)大小閥值緩沖報文,當(dāng) 達(dá)到緩沖時間或者緩存區(qū)已經(jīng)填滿則進(jìn)入報文轉(zhuǎn)發(fā)階段。設(shè)置緩存的目的是減少小報文對 正向隔離裝置的傳輸壓力,提高運(yùn)行效率。每次報文跨安全區(qū)轉(zhuǎn)發(fā),正向隔離裝置都會實 現(xiàn)一次物理上的網(wǎng)絡(luò)鏈路通斷,如果報文較小且數(shù)量非常多會造成正向隔離裝置的頻繁通 斷,從而影響運(yùn)行效率。采用緩存策略,設(shè)置時間閥值可以保證報文傳輸?shù)募皶r性,設(shè)置緩 存區(qū)大小閥值可以限制報文的大小到一個合適的值,將小報文拼成大報文后再轉(zhuǎn)發(fā),減少 轉(zhuǎn)發(fā)次數(shù),提高轉(zhuǎn)發(fā)效率。(2)報文從三區(qū)轉(zhuǎn)發(fā)到一區(qū)的流程跨區(qū)轉(zhuǎn)發(fā)程序執(zhí)行報文格式轉(zhuǎn)換邏輯,將報 文由二進(jìn)制編碼轉(zhuǎn)換成符合國家規(guī)范要求《電力系統(tǒng)數(shù)據(jù)標(biāo)記語言一E語言規(guī)范》的XML 文檔格式,并生成經(jīng)過加密的XML文檔,即格式化報文文檔,進(jìn)入反向隔離裝置程序轉(zhuǎn)發(fā)格 式化報文文檔,反向隔離裝置程序為三區(qū)向一區(qū)通信的反向隔離裝置自身的程序,由隔離 裝置廠商提供;如果轉(zhuǎn)發(fā)成功,刪除格式化報文文檔,否則判斷是否超出重發(fā)次數(shù),如果超 出重發(fā)次數(shù)則報文發(fā)送失敗寫入日志,否則重新進(jìn)入反向隔離裝置程序轉(zhuǎn)發(fā)格式化報文文 檔。2、轉(zhuǎn)發(fā)階段(1)報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū)的流程通過建立的TCP鏈路將緩存后的報文轉(zhuǎn)發(fā)到 對端節(jié)點,中間經(jīng)過正向隔離裝置,對端轉(zhuǎn)發(fā)程序收到報文后將報文解包,分成多個小報 文,并依次轉(zhuǎn)發(fā)這些小報文到目的節(jié)點。(2)報文從三區(qū)轉(zhuǎn)發(fā)到一區(qū)的流程三區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序會將格式化報文文檔通 過FTP程序和反向隔離裝置傳輸?shù)揭粎^(qū),一區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序接收到格式化報文文檔后將 其轉(zhuǎn)換成二進(jìn)制報文編碼,并將報文轉(zhuǎn)發(fā)到目的節(jié)點。3、轉(zhuǎn)發(fā)報文的接收與應(yīng)答階段接收區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序接收到報文,若數(shù)據(jù)完整且序號連續(xù),則按照設(shè)定的時間 閥值定期發(fā)送成功應(yīng)答報文,通過接收區(qū)的報文發(fā)送路徑傳輸?shù)桨l(fā)送區(qū),確認(rèn)一段時間內(nèi) 的所有報文都接收成功,若接收區(qū)判斷報文轉(zhuǎn)發(fā)失敗或者報文解包失敗,則立即通過接收 區(qū)的報文發(fā)送路徑發(fā)送失敗應(yīng)答報文,并包含需要重發(fā)的報文編號,以便發(fā)送區(qū)的轉(zhuǎn)發(fā)程 序及時重發(fā)。(1)報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū)的流程如果到三區(qū)的報文轉(zhuǎn)發(fā)成功,則三區(qū)經(jīng)過設(shè) 定的發(fā)送應(yīng)答報文時間間隔,向一區(qū)發(fā)送成功應(yīng)答報文;如果到三區(qū)的報文轉(zhuǎn)發(fā)失敗或者 報文解包失敗,則三區(qū)通過反向隔離裝置立即向一區(qū)發(fā)送失敗應(yīng)答報文,并包含需要重發(fā) 的報文編號,以便一區(qū)的轉(zhuǎn)發(fā)程序及時重發(fā)。當(dāng)一區(qū)接收到來自三區(qū)的成功的應(yīng)答報文后會清理相應(yīng)的已轉(zhuǎn)發(fā)報文隊列;當(dāng)一 區(qū)接收到來自三區(qū)的失敗應(yīng)答報文或者應(yīng)答報文出現(xiàn)報文跳號現(xiàn)象,則立即按照失敗應(yīng)答 報文中所含的報文編號重發(fā)報文,對于跳號現(xiàn)象,分析跳號應(yīng)答報文表示的轉(zhuǎn)發(fā)報文段,并 在不超過轉(zhuǎn)發(fā)次數(shù)閥值的前提下將此段報文重發(fā),詳見圖5。
      (2)報文從三區(qū)轉(zhuǎn)發(fā)到一區(qū)的流程采用成功應(yīng)答報文定期發(fā)送,失敗應(yīng)答報文 立即發(fā)送的策略,與報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū)的流程類似,詳見圖6。正反向數(shù)據(jù)傳輸將安全一區(qū)和安全三區(qū)的報文傳輸路徑結(jié)合為一個有機(jī)的整體, 形成一個完整地通訊環(huán)路,用一區(qū)和三區(qū)各自的報文發(fā)送路徑發(fā)送所有報文,包括應(yīng)答報 文,提供了一種透明、雙向、安全、穩(wěn)定和高效的傳輸方式,利于瀏覽器客戶端通過安全三區(qū) 實時查看安全一區(qū)的前置報文。反向隔離裝置以往的應(yīng)用場景為從三區(qū)到一區(qū)傳輸文件,一般使用方式都是批處 理方式,每天定時傳輸本區(qū)的應(yīng)用生成的XML數(shù)據(jù)文件,如果通過原有方式由三區(qū)向一區(qū) 發(fā)送XML數(shù)據(jù)文件,則需要在三區(qū)的各發(fā)送節(jié)點和一區(qū)的各目的節(jié)點部署隔離裝置的轉(zhuǎn)發(fā) 程序,或者將文件通過FTP方式發(fā)送到部署了隔離裝置轉(zhuǎn)發(fā)程序的節(jié)點。本發(fā)明采用的正 反向數(shù)據(jù)傳輸方式截獲需要跨區(qū)傳輸?shù)膱笪?,利用每個節(jié)點本身都有網(wǎng)絡(luò)中間件程序,轉(zhuǎn) 發(fā)到三區(qū)中部署了隔離裝置轉(zhuǎn)發(fā)程序的節(jié)點,并由該節(jié)點上的跨區(qū)轉(zhuǎn)發(fā)程序?qū)笪霓D(zhuǎn)換成 XML數(shù)據(jù)文檔,通過反向轉(zhuǎn)發(fā)裝置發(fā)送,在接收端也有跨區(qū)轉(zhuǎn)發(fā)程序及時轉(zhuǎn)換成二進(jìn)制報 文,再在區(qū)內(nèi)轉(zhuǎn)發(fā),保證了數(shù)據(jù)傳輸更加可靠和及時。以往的處理方式多為安全區(qū)的應(yīng)用自行處理跨安全區(qū)轉(zhuǎn)發(fā),由于跨安全區(qū)轉(zhuǎn)發(fā)牽 扯的節(jié)點比較多,特別是三區(qū)向一區(qū)傳輸時,反向隔離裝置從數(shù)據(jù)源節(jié)點到目的節(jié)點很可 能牽扯到四類節(jié)點三區(qū)數(shù)據(jù)源節(jié)點、隔離裝置轉(zhuǎn)發(fā)程序部署節(jié)點;一區(qū) 隔離裝置轉(zhuǎn)發(fā) 程序部署節(jié)點、目的節(jié)點;一區(qū)向三區(qū)傳輸時正向隔離裝置也牽扯到兩個節(jié)點一區(qū)數(shù)據(jù) 源節(jié)點;三區(qū)目的節(jié)點,如果將雙向通訊打通,需要在四個或者更多節(jié)點上部署跨區(qū)轉(zhuǎn)發(fā) 程序,邏輯復(fù)雜度較高,一般安全區(qū)的應(yīng)用無法編寫如此復(fù)雜的邏輯,且反向隔離裝置大量 文件傳輸會產(chǎn)生擁塞,實時性較差,所以每個報文都通過反向隔離裝置傳輸應(yīng)答報文不太 現(xiàn)實。本發(fā)明的正反向數(shù)據(jù)傳輸方式采用了定時成功應(yīng)答和即時失敗應(yīng)答的方式減少應(yīng)答 報文量,減少反向傳輸壓力,提高可靠性和及時性;而且使用較為通用的網(wǎng)絡(luò)中間件,其原 來就具有區(qū)內(nèi)各個節(jié)點轉(zhuǎn)發(fā)邏輯,部署在系統(tǒng)內(nèi)所有節(jié)點上,通過加入跨區(qū)轉(zhuǎn)發(fā)邏輯,截獲 跨區(qū)傳輸報文,專門負(fù)責(zé)跨區(qū)轉(zhuǎn)發(fā),并且自動進(jìn)行相應(yīng)的轉(zhuǎn)發(fā)報文截獲,可以為多個應(yīng)用轉(zhuǎn) 發(fā)不同類型的報文,包括事件報文,點對點報文等。區(qū)內(nèi)轉(zhuǎn)發(fā)仍然借用原有邏輯,一定程度 上減少了程序負(fù)責(zé)度。本發(fā)明實施時,瀏覽器客戶端登錄到三區(qū)的WEB服務(wù)后,三區(qū)TOB服務(wù)進(jìn)程將所 有通道信息發(fā)送給瀏覽器客戶端??蛻舳诉x擇一個要查看的通道后,將該通道關(guān)鍵字發(fā)送 給WEB服務(wù)進(jìn)程。WEB服務(wù)進(jìn)程將通道關(guān)鍵字發(fā)送給三區(qū)報文服務(wù)進(jìn)程。三區(qū)報文服務(wù)進(jìn) 程將通道關(guān)鍵字整理合并后,通過正方向傳輸?shù)臉?biāo)準(zhǔn)報文接口發(fā)送到一區(qū)前置報文服務(wù)進(jìn) 程。一區(qū)報文服務(wù)進(jìn)程根據(jù)收到的通道關(guān)鍵字,向前置通道進(jìn)程訂閱相應(yīng)的報文。前置通 道進(jìn)程將原始通道報文發(fā)給一區(qū)前置報文服務(wù)進(jìn)程。一區(qū)前置報文服務(wù)進(jìn)程將原始通道報 文通過正反向傳輸接口發(fā)送給三區(qū)前置報文服務(wù)進(jìn)程。三區(qū)前置報文服務(wù)進(jìn)程在確認(rèn)收到 的報文有效后,將通道原始報文寫入三區(qū)通道報文高速緩存。三區(qū)WEB服務(wù)進(jìn)程定時讀取通道報文高速緩存,并將讀取到的報文發(fā)送給客戶端 瀏覽器。下面先介紹一些出現(xiàn)在實施方式中的術(shù)語網(wǎng)絡(luò)平臺技術(shù)即PCS9000分布式網(wǎng)絡(luò)管理技術(shù)。網(wǎng)絡(luò)平臺屏蔽不同硬件平臺和操作系統(tǒng)的差異,管理整個系統(tǒng)中的進(jìn)程,提供統(tǒng)一的報文通訊接口,使系統(tǒng)內(nèi)所有進(jìn)程能 夠互相可靠、方便、快速的通訊。Tomcat 是一種技術(shù)先進(jìn)、性能穩(wěn)定的免費(fèi)WEB服務(wù)系統(tǒng),由ApaChe、Sun和其他一 些公司及個人共同開發(fā),適合中小型系統(tǒng)或并發(fā)訪問用戶不是特別多的情況下使用。支持 JAVA開發(fā)語言。JNI 類型接 口 JNI 即 Java Native Interface (JAVA 本地調(diào)用),它允許 Java 代 碼和其他語言寫的代碼進(jìn)行交互。在本文中主要指對已有的C++代碼進(jìn)行封裝,供Tomcat 調(diào)用。Json文件即JavaScript Object Notation,相對于XML,是一種輕量級數(shù)據(jù)交互 格式。其文件格式是基于 JavaScript (Standard ECMA-2623rd Edition-December 1999)的
      一個子集。 Extjs 是一個用JavaScript寫的、主要用于創(chuàng)建Web客戶端界面、與后臺(服務(wù) 端)技術(shù)無關(guān)的Ajax框架。屏蔽了主流瀏覽器之間的差異,提供大量功能豐富的可視化組 件。Session信息=Session —般指用戶瀏覽某個網(wǎng)站時,從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉或 瀏覽超時,所經(jīng)過的一段時間。Session信息在TOB服務(wù)端保存用戶的狀態(tài)信息,以便用戶 可以進(jìn)行一系列相關(guān)的操作。插件式規(guī)約技術(shù)將電力通訊規(guī)約用一個或多個插件動態(tài)庫實現(xiàn),所有插件使用 統(tǒng)一的接口進(jìn)行調(diào)用。當(dāng)增加新的規(guī)約時,只要增加相應(yīng)的動態(tài)庫即可,不需要修改編譯其 它代碼。最常見的是將通訊的鏈路層和應(yīng)用層分成2個插件,鏈路層規(guī)約插件常??梢灾?復(fù)利用。下面具體說明本發(fā)明的實施步驟—、三區(qū)通道信息和前置數(shù)據(jù)自動維護(hù)通道信息主要包含通道配置狀況、規(guī)約的各項參數(shù)和通道的運(yùn)行情況、主備通道 的值班狀態(tài)、運(yùn)行率統(tǒng)計、誤碼率統(tǒng)計、通斷統(tǒng)計和切換記錄等信息。前置數(shù)據(jù)指一區(qū)收到 的RTU信息、遙測、遙信、遙脈、遙控、遙調(diào)和升降等數(shù)據(jù)信息。通過在三區(qū)建立高速緩存,映 射一區(qū)的這些數(shù)據(jù),利用正反向數(shù)據(jù)傳輸技術(shù)和網(wǎng)絡(luò)平臺技術(shù),由三區(qū)數(shù)據(jù)服務(wù)進(jìn)程調(diào)用 網(wǎng)絡(luò)平臺接口訂閱相應(yīng)數(shù)據(jù)在一區(qū)的增刪修改等操作信息,并根據(jù)這些信息在三區(qū)進(jìn)行相 同的操作,實現(xiàn)三區(qū)前置數(shù)據(jù)和通道信息的自動維護(hù)。如圖3所示,WEB服務(wù)器的Web服務(wù)使用Tomcat,通過Java語言的jni類型接口 調(diào)用由C++實現(xiàn)的數(shù)據(jù)平臺接口,定時訪問三區(qū)通道信息和前置數(shù)據(jù)高速緩存。根據(jù)每次 訪問得到的通道信息,生成符合實際情況的json(—種JavaScript支持的數(shù)據(jù)格式)文 件,使用Ajax技術(shù)將json文件發(fā)送到客戶端頁面,由Extjs以樹狀列表形式展示出來。使 用類似的方法,可以在客戶端查看RTU信息、遙測、遙信、遙脈、遙控、遙調(diào)和升降等數(shù)據(jù)。前置數(shù)據(jù)和通道信息的自動維護(hù),使三區(qū)能方便的獲取到一區(qū)的通道及數(shù)據(jù)信 息,免去手工維護(hù)的過程,同時也能準(zhǔn)實時的查看到一區(qū)前置從報文中解析出來的數(shù)據(jù)。二、三區(qū)通道報文查看請求轉(zhuǎn)發(fā)如圖1所示的瀏覽器客戶端打開前置報文查看頁面后,通過樹形列表中使用的 json文件,獲取各個通道的信息,在頁面上進(jìn)行鼠標(biāo)操作,將要查詢的通道報文的關(guān)鍵字發(fā)送給安全三區(qū)的WEB服務(wù)進(jìn)程。TOB服務(wù)進(jìn)程記錄下標(biāo)識每一個客戶端頁面的session信息(在Tomcat中就是字符串JSESSIONID),并將關(guān)鍵字通過網(wǎng)絡(luò)中間件傳遞給三區(qū)前置報 文服務(wù)進(jìn)程。在客戶端頁面瀏覽該通道報文期間,即session有效且通道關(guān)鍵字變化前, WEB服務(wù)以10秒一次的頻率向三區(qū)前置報文服務(wù)進(jìn)程發(fā)送該通道的報文查看請求,以保持 該請求的激活狀態(tài)。三區(qū)前置報文服務(wù)進(jìn)程維護(hù)一個請求存根隊列,記錄被請求通道報文的通道關(guān)鍵 字和請求的最新時標(biāo)。當(dāng)收到一個WEB服務(wù)轉(zhuǎn)發(fā)的請求后,首先在存根隊列里面根據(jù)通道 關(guān)鍵字查找是否已經(jīng)存在相同請求的存根。如果已存在,則更新該存根的時標(biāo),否則添加一 個新的存根。這樣,對來自不同客戶端頁面的相同通道報文請求,只需要保留一個存根即 可,后續(xù)的通道報文高速緩存也只需要建立一份就可滿足多客戶端同時查看的需求。三區(qū)前置報文服務(wù)進(jìn)程開啟一個線程,每秒遍歷一次存根隊列,當(dāng)存根的更新時 標(biāo)早于當(dāng)前時間10秒(即前面TOB服務(wù)的激活頻率)時,認(rèn)為沒有客戶端在查詢改存根對 應(yīng)的通道報文,則將該存根從隊列中刪除。存根刪除后,不再向一區(qū)發(fā)送請求,也不再將一 區(qū)發(fā)送過來的報文寫入緩存。三、一區(qū)通道報文訂閱和轉(zhuǎn)發(fā)一區(qū)前置使用了插件式規(guī)約技術(shù),在每個通道線程內(nèi),通過流水線對規(guī)約插件進(jìn) 行裝配。每個規(guī)約插件都繼承自符合流水線要求的基類,抽象出了如向上層規(guī)約或下層規(guī) 約插件發(fā)送數(shù)據(jù)等接口。使用插件式規(guī)約技術(shù)能降低規(guī)約插件的復(fù)雜性,每個規(guī)約插件只 需要考慮一部分范圍內(nèi)的邏輯關(guān)系,同時也提高了代碼的重用性。通??梢詫⒁?guī)約分成下 層的鏈路層規(guī)約插件和上層的應(yīng)用層規(guī)約插件,對復(fù)雜的規(guī)約,可以使用更多層次的規(guī)約 插件來實現(xiàn)。通過查看不同層次的規(guī)約報文,能更準(zhǔn)確的定位故障的源頭。如圖4所示,一區(qū)報文服務(wù)進(jìn)程發(fā)出包含通道關(guān)鍵字的訂閱請求后,網(wǎng)絡(luò)平臺將 訂閱請求多播發(fā)送,也就是進(jìn)行實時數(shù)據(jù)采集,每個前置節(jié)點的通道進(jìn)程收到訂閱請求后, 根據(jù)關(guān)鍵字判斷訂閱的通道規(guī)約對象是否存在于本通道內(nèi)。如果處于本通道內(nèi),再判斷一 區(qū)報文服務(wù)進(jìn)程是否在本通道規(guī)約的訂閱接收列表內(nèi)。如果不在,則將一區(qū)報文服務(wù)進(jìn)程 的節(jié)點信息和進(jìn)程信息作為關(guān)鍵字放到訂閱列表內(nèi)。當(dāng)通道內(nèi)收到或發(fā)出新報文時,通道 遍歷訂閱列表,向列表內(nèi)每個進(jìn)程發(fā)送一份報文副本。一區(qū)報文服務(wù)進(jìn)程收到所訂閱的報 文后,調(diào)用正反向傳輸接口向三區(qū)報文服務(wù)進(jìn)程發(fā)送。四、三區(qū)前置報文的接收和頁面展示三區(qū)通過數(shù)據(jù)平臺建立高速緩存存儲通道報文,通道報文使用循環(huán)表方式進(jìn)行管 理,循環(huán)表容量由設(shè)計同時瀏覽的客戶端最大數(shù)量決定,兼顧并發(fā)操作和對存儲資源的消 耗。三區(qū)前置報文服務(wù)進(jìn)程收到前置報文后,首先在請求存根隊列中查找。如果找到存根, 則將報文寫入高速緩存,否則直接丟棄。TOB服務(wù)進(jìn)程根據(jù)每個瀏覽器客戶端頁面session對應(yīng)的通道關(guān)鍵字,定時到通 道報文高速緩存中進(jìn)行檢索。如果瀏覽器客戶端對報文的查看請求需要解釋報文,即用描 述性語言展示收到的報文含義,則WEB服務(wù)進(jìn)程調(diào)用相應(yīng)的規(guī)約插件的靜態(tài)解釋接口對緩 存中取出的報文源碼進(jìn)行解釋。頁面使用Ext js,實現(xiàn)報文的格式化輸出、滾屏、暫停和清除等功能。如圖5所示,三區(qū)報文服務(wù)進(jìn)程收到通道報文后,在存根列表中查找報文對應(yīng)的通道關(guān)鍵字是否存在。如果不存在,則丟棄該報文。如果存在,則將報文寫入三區(qū)數(shù)據(jù)平臺 建立的報文高速緩存中去 。 在每個客戶端頁面session對應(yīng)的TOB服務(wù)線程中,定時檢索該頁面關(guān)心的最新 報文高速緩存,檢索時間段即為定時檢索間隔。如果檢索結(jié)果為空,則繼續(xù)等待。當(dāng)有檢索 結(jié)果時,則根據(jù)頁面請求參數(shù)判斷是否需要解釋報文,如果不需要解釋,則直接發(fā)往客戶端 頁面;如果需要解釋,則調(diào)用規(guī)約插件對報文進(jìn)行解釋后再發(fā)往客戶端頁面。
      權(quán)利要求
      一種跨安全區(qū)查看前置報文的方法,用于電力調(diào)度自動化系統(tǒng),電力調(diào)度自動化系統(tǒng)分為4個安全區(qū),其中包括安全一區(qū),實時控制區(qū);安全三區(qū),生產(chǎn)管理區(qū);其特征是建立與安全三區(qū)WEB服務(wù)器連接的瀏覽器客戶端,通過網(wǎng)頁瀏覽器訪問安全三區(qū)的WEB服務(wù)器,在安全三區(qū)的數(shù)據(jù)平臺上建立高速緩存,存儲前置數(shù)據(jù)、通道信息和通道報文,瀏覽器客戶端登錄到安全三區(qū)的WEB服務(wù)器后,安全三區(qū)WEB服務(wù)進(jìn)程將當(dāng)前所有通道信息發(fā)送給瀏覽器客戶端,瀏覽器客戶端獲取通道的實時信息,并選擇要查看的通道,將該通道關(guān)鍵字發(fā)送給安全三區(qū)的WEB服務(wù)進(jìn)程,所述WEB服務(wù)進(jìn)程將通道關(guān)鍵字發(fā)送給安全三區(qū)報文服務(wù)進(jìn)程,安全三區(qū)報文服務(wù)進(jìn)程將通道關(guān)鍵字整理合并后,通過正反向數(shù)據(jù)傳輸發(fā)送到安全一區(qū)前置報文服務(wù)進(jìn)程;安全一區(qū)前置報文服務(wù)進(jìn)程根據(jù)收到的通道關(guān)鍵字,向安全一區(qū)前置通道進(jìn)程訂閱相應(yīng)的報文,安全一區(qū)前置通道進(jìn)程再將訂閱得到的原始通道報文發(fā)給安全一區(qū)前置報文服務(wù)進(jìn)程,安全一區(qū)前置報文服務(wù)進(jìn)程將所述原始通道報文通過正反向數(shù)據(jù)傳輸發(fā)送給安全三區(qū)前置報文服務(wù)進(jìn)程,當(dāng)安全三區(qū)前置報文服務(wù)進(jìn)程在確認(rèn)收到的報文有效后,將原始通道報文寫入安全三區(qū)高速緩存,安全三區(qū)WEB服務(wù)進(jìn)程定時讀取高速緩存內(nèi)的通道報文,并將讀取到的報文發(fā)送給瀏覽器客戶端,實現(xiàn)瀏覽器客戶端查看通道準(zhǔn)實時報文;其中正反向數(shù)據(jù)傳輸是指,在對安全一區(qū)和安全三區(qū)之間進(jìn)行跨安全區(qū)的數(shù)據(jù)傳輸時采用正反向通訊結(jié)合的通訊機(jī)制,形成一個完整地通訊環(huán)路,包含報文截獲和報文轉(zhuǎn)發(fā)報文截獲電力調(diào)度自動化系統(tǒng)的網(wǎng)絡(luò)通訊由網(wǎng)絡(luò)中間件完成,它包含區(qū)內(nèi)通訊程序和跨區(qū)轉(zhuǎn)發(fā)程序,跨區(qū)轉(zhuǎn)發(fā)程序部署在一區(qū)和三區(qū),跨區(qū)傳輸?shù)膱笪慕孬@過程如下需要跨區(qū)傳輸?shù)膱笪暮蛥^(qū)內(nèi)傳輸?shù)膱笪木娣旁谵D(zhuǎn)發(fā)報文隊列中,報文發(fā)送區(qū)根據(jù)接收區(qū)的應(yīng)用發(fā)出的跨安全區(qū)報文訂閱列表分析轉(zhuǎn)發(fā)報文頭中的訂閱報文事件號或節(jié)點名,自動截獲需要發(fā)往安全一區(qū)或安全三區(qū)的報文,即跨區(qū)傳輸?shù)膱笪模⑵浯娣诺娇绨踩珔^(qū)轉(zhuǎn)發(fā)報文隊列中;報文轉(zhuǎn)發(fā)當(dāng)截獲的跨區(qū)傳輸報文存放到跨安全區(qū)轉(zhuǎn)發(fā)報文隊列中后,轉(zhuǎn)發(fā)流程啟動,報文轉(zhuǎn)發(fā)包括報文轉(zhuǎn)發(fā)準(zhǔn)備,報文轉(zhuǎn)發(fā)和轉(zhuǎn)發(fā)報文的接收與應(yīng)答三個階段;(1)報文轉(zhuǎn)發(fā)準(zhǔn)備階段如果是報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū),則跨區(qū)轉(zhuǎn)發(fā)程序執(zhí)行緩沖邏輯,設(shè)置跨安全區(qū)待轉(zhuǎn)發(fā)報文緩存,按照設(shè)定的時間和緩存區(qū)大小閥值緩沖報文,當(dāng)達(dá)到緩沖時間或者緩沖區(qū)已經(jīng)填滿則進(jìn)入報文轉(zhuǎn)發(fā)階段;如果是報文從三區(qū)轉(zhuǎn)發(fā)到一區(qū),則跨區(qū)轉(zhuǎn)發(fā)程序執(zhí)行報文格式轉(zhuǎn)換邏輯,將報文由二進(jìn)制編碼轉(zhuǎn)換成符合國家電網(wǎng)公司《電力系統(tǒng)數(shù)據(jù)標(biāo)記語言--E語言規(guī)范》要求的文檔并加密,再進(jìn)入反向隔離裝置程序準(zhǔn)備轉(zhuǎn)發(fā)格式化報文文檔;(2)報文轉(zhuǎn)發(fā)階段如果是報文從一區(qū)轉(zhuǎn)發(fā)到三區(qū),則通過建立的TCP鏈路將緩存后的報文轉(zhuǎn)發(fā)到對端節(jié)點,中間經(jīng)過正向隔離裝置,對端的跨區(qū)轉(zhuǎn)發(fā)程序收到報文后將報文解包,分成多個小報文,并依次轉(zhuǎn)發(fā)這些小報文到目的節(jié)點;如果是報文從三區(qū)轉(zhuǎn)發(fā)到一區(qū)三區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序會將格式化報文文檔通過FTP程序和反向隔離裝置傳輸?shù)揭粎^(qū),一區(qū)的跨區(qū)轉(zhuǎn)發(fā)程序接收到格式化報文文檔后將其轉(zhuǎn)換成二進(jìn)制報文編碼,并將報文轉(zhuǎn)發(fā)到目的節(jié)點;(3)轉(zhuǎn)發(fā)報文的接收與應(yīng)答階段接收區(qū)跨區(qū)轉(zhuǎn)發(fā)程序接收到報文,若數(shù)據(jù)完整且序號連續(xù),則按照設(shè)定的時間閥值定期發(fā)送成功應(yīng)答報文,通過接收區(qū)的報文發(fā)送路徑傳輸?shù)桨l(fā)送區(qū),確認(rèn)一段時間內(nèi)的所有報文都接收成功,若接收區(qū)判斷報文轉(zhuǎn)發(fā)失敗或者報文解包失敗,則立即通過接收區(qū)的報文發(fā)送路徑發(fā)送失敗應(yīng)答報文,并包含需要重發(fā)的報文編號,以便發(fā)送區(qū)的轉(zhuǎn)發(fā)程序及時重發(fā)。
      2.根據(jù)權(quán)利要求1所述的一種跨安全區(qū)查看前置報文的方法,其特征是具體包括以下 步驟1)、安全三區(qū)通道信息和前置數(shù)據(jù)自動維護(hù)在安全三區(qū)數(shù)據(jù)平臺上建立高速緩存,映 射安全一區(qū)前置數(shù)據(jù)和通道信息表,通過正反向數(shù)據(jù)傳輸,由安全三區(qū)數(shù)據(jù)平臺接收安全 一區(qū)傳遞過來的信息,并實時更新到安全三區(qū)的高速緩存;2)、安全三區(qū)查看請求轉(zhuǎn)發(fā)瀏覽器客戶端將要查看的通道關(guān)鍵字和查看方式發(fā)送給 安全三區(qū)WEB服務(wù)進(jìn)程,TOB服務(wù)進(jìn)程再轉(zhuǎn)發(fā)給安全三區(qū)的前置報文服務(wù)進(jìn)程,由前置報文 服務(wù)進(jìn)程合并相同請求后,通過正反向數(shù)據(jù)傳輸,發(fā)送到安全一區(qū)前置報文服務(wù)進(jìn)程;3)、安全一區(qū)報文訂閱轉(zhuǎn)發(fā)安全一區(qū)前置報文服務(wù)進(jìn)程收到通道報文查看請求后,向 前置節(jié)點上的前置通道訂閱原始通道報文,通過網(wǎng)絡(luò)平臺接口獲取到原始通道報文后,使 用正反向數(shù)據(jù)傳輸,傳輸?shù)桨踩齾^(qū),由安全三區(qū)前置報文服務(wù)進(jìn)程接收;4)、安全三區(qū)前置報文的接收和頁面展示安全三區(qū)的高速緩存存放安全三區(qū)前置報 文服務(wù)進(jìn)程收到的前置報文內(nèi)容,安全三區(qū)WEB服務(wù)進(jìn)程定時讀取高速緩存中的所有報 文,利用Ajax技術(shù)將報文內(nèi)容發(fā)送到發(fā)出查看要求的瀏覽器客戶端頁面。
      3.根據(jù)權(quán)利要求2所述的一種跨安全區(qū)查看前置報文的方法,其特征是安全三區(qū)前置 數(shù)據(jù)和通道信息自動維護(hù)步驟中,安全三區(qū)自動實時獲取完整的安全一區(qū)的通道信息和前 置數(shù)據(jù),安全一區(qū)通道屬性的修改、通道運(yùn)行狀態(tài)的變化和所有前置原始數(shù)據(jù)的變化都自 動映射到三區(qū);瀏覽器客戶端頁面動態(tài)展示所有通道運(yùn)行情況,包括通道的通斷情況、主備 值班情況和工作節(jié)點情況信息,當(dāng)安全一區(qū)信息變化時,頁面顯示相應(yīng)變化。
      4.根據(jù)權(quán)利要求2所述的一種跨安全區(qū)查看前置報文的方法,其特征是安全三區(qū)查看 請求轉(zhuǎn)發(fā)步驟中,瀏覽器客戶端頁面將通道請求關(guān)鍵字發(fā)給安全三區(qū)WEB服務(wù)進(jìn)程后,WEB 服務(wù)進(jìn)程在該頁面連接的有效期內(nèi)定期向安全三區(qū)報文服務(wù)進(jìn)程發(fā)送關(guān)鍵字,安全三區(qū)報 文服務(wù)進(jìn)程維護(hù)關(guān)鍵字存根列表,清除在設(shè)定的時間內(nèi)未被更新時標(biāo)的關(guān)鍵字存根;不同 瀏覽器客戶端頁面發(fā)送的相同關(guān)鍵字,在安全三區(qū)報文服務(wù)進(jìn)程關(guān)鍵字存根列表中只保留 一份,減少安全三區(qū)向安全一區(qū)發(fā)送的信息量。
      5.根據(jù)權(quán)利要求2所述的一種跨安全區(qū)查看前置報文的方法,其特征是安全一區(qū)報文 訂閱轉(zhuǎn)發(fā)步驟中,安全一區(qū)報文服務(wù)進(jìn)程收到安全三區(qū)的查看請求后,發(fā)送訂閱請求,安全 一區(qū)的前置通道線程收到訂閱信息后,維護(hù)一份訂閱發(fā)起進(jìn)程列表,并根據(jù)訂閱信息中的 關(guān)鍵字,將相應(yīng)規(guī)約插件接收到的報文副本發(fā)送到訂閱發(fā)起進(jìn)程列表中的每個進(jìn)程。
      6.根據(jù)權(quán)利要求2所述的一種跨安全區(qū)查看前置報文的方法,其特征是安全三區(qū)前置 報文的接收和頁面展示步驟中,包括以下處理內(nèi)容安全三區(qū)報文服務(wù)進(jìn)程在存根列表中查詢安全一區(qū)發(fā)送過來的通道報文關(guān)鍵字,將在 存根列表中有對應(yīng)關(guān)鍵字的通道報文存入安全三區(qū)高速緩存,將沒有對應(yīng)關(guān)鍵字的報文丟 棄;安全三區(qū)高速緩存中的通道報文存儲采用循環(huán)表的數(shù)據(jù)結(jié)構(gòu),在滿足并發(fā)查看數(shù)量的 條件下,設(shè)定適當(dāng)緩存大小;安全三區(qū)WEB服務(wù)進(jìn)程根據(jù)每個瀏覽器客戶端頁面session對應(yīng)的通道關(guān)鍵字,定時 檢索高速緩存中的最新通道報文,并將最新通道報文發(fā)送到所有請求該通道報文的瀏覽器 客戶端頁面; 瀏覽器客戶端頁面請求中如果包含解釋命令,安全三區(qū)WEB服務(wù)進(jìn)程調(diào)用規(guī)約插件對 通道報文進(jìn)行解釋后再發(fā)送給瀏覽器客戶端頁面,頁面顯示同一通道中不同規(guī)約插件對相 同報文內(nèi)容的不同解釋結(jié)果;瀏覽器客戶端頁面收到新的通道報文后,自動滾屏,加入最新通道報文,并對通道報文 原始碼使用顏色決策,即按規(guī)約定義,對不同含義的通道報文使用不同的顏色顯示來加以 區(qū)分;多個瀏覽器客戶端頁面同時獨(dú)立瀏覽相同或不同通道,互不沖突,每個瀏覽器客戶端 頁面分別對自己查看的通道報文進(jìn)行暫停、清除和解釋操作,所有操作只對當(dāng)前查看頁面 產(chǎn)生作用;報文信息和報文請求在安全一區(qū)和安全三區(qū)間傳輸,在網(wǎng)絡(luò)非雪崩狀態(tài)下,安全一區(qū) 和安全三區(qū)之間信息傳送延時在1秒以內(nèi)。
      全文摘要
      一種跨安全區(qū)查看前置報文的方法,用于電力調(diào)度自動化系統(tǒng),通過網(wǎng)頁瀏覽器訪問安全三區(qū)WEB服務(wù)器,在安全三區(qū)的數(shù)據(jù)平臺上建立高速緩存,存儲前置數(shù)據(jù)、通道信息和通道報文,瀏覽器客戶端登錄到安全三區(qū)的WEB服務(wù)器后,獲取通道的實時信息,并選擇要查看的通道,將該通道關(guān)鍵字發(fā)送給安全三區(qū),由安全三區(qū)通過正反向數(shù)據(jù)傳輸發(fā)送到安全一區(qū);安全一區(qū)采集實時數(shù)據(jù),將所需原始通道報文通過正反向數(shù)據(jù)傳輸發(fā)送給安全三區(qū),安全三區(qū)將報文發(fā)送給瀏覽器客戶端,實現(xiàn)瀏覽器客戶端查看通道準(zhǔn)實時報文。本發(fā)明通過訪問安全三區(qū)的服務(wù)器,查看一區(qū)前置通道的信息及報文,操作簡單明確,報文展現(xiàn)形式切合實際需要,并且具有較高的準(zhǔn)實時查看速度。
      文檔編號H02J13/00GK101867620SQ20101021608
      公開日2010年10月20日 申請日期2010年7月2日 優(yōu)先權(quán)日2010年7月2日
      發(fā)明者劉杰, 劉群越, 盧建剛, 孫超, 施志良, 曾堅永, 楊驥, 溫柏堅, 潘玉春 申請人:南京南瑞繼保電氣有限公司;廣東省電力調(diào)度中心
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1