Jms服務(wù)跨正向隔離裝置方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)JMS服務(wù)跨正向隔離裝置的方法,包括步驟:生產(chǎn)控制區(qū)的JMS發(fā)送端發(fā)送JMS報(bào)文到生產(chǎn)控制區(qū)的JMS服務(wù)器上,生產(chǎn)控制區(qū)的JMS代理從所述生產(chǎn)控制區(qū)的JMS服務(wù)器上收到所述JMS報(bào)文,進(jìn)行轉(zhuǎn)換后,通過(guò)生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件,跨正向隔離裝置傳輸?shù)叫畔⒐芾韰^(qū)的網(wǎng)絡(luò)中間件,再傳給信息管理區(qū)的JMS代理,所述信息管理區(qū)的JMS代理將收到的報(bào)文轉(zhuǎn)化為JMS報(bào)文后再發(fā)送到信息管理區(qū)的JMS服務(wù)器上,最后由所述信息管理區(qū)的JMS服務(wù)器轉(zhuǎn)發(fā)給信息管理區(qū)的JMS接收端。
【專利說(shuō)明】
JMS服務(wù)跨正向隔離裝置方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及電力電子領(lǐng)域,具體涉及一種JMS服務(wù)跨正向隔離裝置方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著電力自動(dòng)化水平的提高,以及JMS (Java Message Service, Java消息服務(wù))的發(fā)展,在電力自動(dòng)化系統(tǒng)中,JMS服務(wù)在各個(gè)安全區(qū)的應(yīng)用越來(lái)越多,其中安全區(qū)可以分為安全I(xiàn)區(qū),安全I(xiàn)I區(qū)和安全I(xiàn)II區(qū),根據(jù)《全國(guó)電力二次系統(tǒng)安全防護(hù)總體方案》的要求,安全I(xiàn)區(qū)和安全I(xiàn)I區(qū)稱為生產(chǎn)控制區(qū),安全I(xiàn)II區(qū)為管理信息區(qū),且在生產(chǎn)控制區(qū)與管理信息區(qū)之間有正向隔離裝置和反向隔離裝置,隨之出現(xiàn)從生產(chǎn)控制區(qū)到管理信息區(qū)的JMS報(bào)文傳輸需要跨正向隔離裝置的需求,本文基于該需求進(jìn)行以下的研究工作。
[0003]JMS服務(wù)是一種接口規(guī)范和標(biāo)準(zhǔn),在電力自動(dòng)化系統(tǒng)應(yīng)用中,主要包括JMS服務(wù)器,JMS發(fā)送端,JMS接收端。其中,JMS發(fā)送端和接收端都屬于客戶端,JMS服務(wù)器屬于服務(wù)端,交互流程如圖1 ;首先,JMS發(fā)送端和JMS接收端都需要與JMS服務(wù)器建立鏈接,再由JMS發(fā)送端發(fā)送報(bào)文到JMS服務(wù)器,然后,JMS服務(wù)器把報(bào)文轉(zhuǎn)發(fā)到JMS接收端,這樣可以實(shí)現(xiàn)消息傳輸?shù)目绮僮飨到y(tǒng),跨語(yǔ)言,跨不同廠家電力自動(dòng)化系統(tǒng)平臺(tái)以及異步傳輸。
[0004]在現(xiàn)有技術(shù)方案中,電力系統(tǒng)跨安全區(qū)(此處指從安全I(xiàn)/II區(qū)到安全I(xiàn)II區(qū),也可引申為從高安全區(qū)到低安全區(qū),下同)進(jìn)行正向通信的方法有很多,但基本不適合JMS報(bào)文的跨安全區(qū)傳輸,原因如下:
[0005]當(dāng)前跨安全區(qū)通訊,都是把高安全區(qū)某個(gè)節(jié)點(diǎn)發(fā)送的報(bào)文傳輸?shù)降桶踩珔^(qū)某個(gè)節(jié)點(diǎn)或者某幾個(gè)節(jié)點(diǎn)上,但JMS報(bào)文的傳輸是包括三部分,JMS發(fā)送端,JMS服務(wù)器和JMS接收端,JMS發(fā)送端只能把報(bào)文發(fā)送到JMS服務(wù)器,JMS接收端只能從JMS服務(wù)器接收?qǐng)?bào)文,由于JMS報(bào)文的這種特性,導(dǎo)致當(dāng)前傳統(tǒng)的跨安全區(qū)通訊不能很好的解決JMS報(bào)文跨安全區(qū)傳輸。
[0006]目前在現(xiàn)實(shí)應(yīng)用中,需要把生產(chǎn)控制區(qū)的JMS報(bào)文發(fā)送到信息管理區(qū)的JMS接收端,在這種情況下,JMS報(bào)文需要通過(guò)正向隔離裝置,但當(dāng)前普通報(bào)文跨正向隔離裝置的方法不適合JMS報(bào)文,對(duì)發(fā)送和接收J(rèn)MS報(bào)文的客戶端程序要求復(fù)雜,因此,需要專門(mén)為JMS服務(wù)跨正向隔離裝置的傳輸提供一套方法。
【發(fā)明內(nèi)容】
[0007]針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明目的在于:屏蔽正向隔離裝置,使得JMS發(fā)送端和JMS接收端都能按照常規(guī)的JMS流程進(jìn)行消息發(fā)送和接收,且對(duì)發(fā)送端和接收端的程序而言,跨安全區(qū)傳輸和同區(qū)傳輸是一樣的。
[0008]本發(fā)明提供一種JMS服務(wù)跨正向隔離裝置的方法,其特征在于,包括步驟:生產(chǎn)控制區(qū)的JMS發(fā)送端發(fā)送JMS報(bào)文到生產(chǎn)控制區(qū)的JMS服務(wù)器上,生產(chǎn)控制區(qū)的JMS代理從所述生產(chǎn)控制區(qū)的JMS服務(wù)器上收到所述JMS報(bào)文,進(jìn)行轉(zhuǎn)換后,通過(guò)生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件,跨正向隔離裝置傳輸?shù)叫畔⒐芾韰^(qū)的網(wǎng)絡(luò)中間件,再傳給信息管理區(qū)的JMS代理,所述信息管理區(qū)的JMS代理將收到的報(bào)文轉(zhuǎn)化為JMS報(bào)文后再發(fā)送到信息管理區(qū)的JMS服務(wù)器上,最后由所述信息管理區(qū)的JMS服務(wù)器轉(zhuǎn)發(fā)給信息管理區(qū)的JMS接收端。
[0009]上述方案中,生產(chǎn)控制區(qū)的JMS代理與生產(chǎn)控制區(qū)的JMS服務(wù)器之間創(chuàng)建N個(gè)第一類型和M個(gè)第二類型的通道,且每個(gè)所述通道上建立一個(gè)隊(duì)列,用于存儲(chǔ)接收到的所述JMS服務(wù)器發(fā)送到所述通道上的JMS報(bào)文,所述JMS報(bào)文上標(biāo)記通道名稱和通道類型;對(duì)應(yīng)的,在信息控制區(qū)的JMS代理與信息控制區(qū)的JMS服務(wù)器之間創(chuàng)建N個(gè)第一類型和M個(gè)第二類型的通道,且所述信息控制區(qū)的通道與所述生產(chǎn)控制區(qū)的通道一一對(duì)應(yīng);所述生產(chǎn)控制區(qū)的JMS代理監(jiān)聽(tīng)所述各通道,從而獲得所述JMS報(bào)文并存儲(chǔ)到相應(yīng)的隊(duì)列中;所述信息控制區(qū)的JMS代理將需要轉(zhuǎn)發(fā)的JMS報(bào)文,根據(jù)所述JMS報(bào)文中標(biāo)記的通道名稱和通道類型,發(fā)送到對(duì)應(yīng)的通道中,從而發(fā)送到所述信息控制區(qū)的JMS服務(wù)器。
[0010]上述方案中,所述生產(chǎn)控制區(qū)的JMS代理與所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件之間建立K個(gè)管道;所述生產(chǎn)控制區(qū)的JMS代理通過(guò)所述K個(gè)管道,將轉(zhuǎn)化后的JMS報(bào)文發(fā)送到所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件;所述信息管理區(qū)的JMS代理與所述信息管理區(qū)的網(wǎng)絡(luò)中間件之間建立K個(gè)管道與所述生產(chǎn)控制區(qū)的K個(gè)管道一一對(duì)應(yīng),且每個(gè)管道上建立多個(gè)隊(duì)列,用于存儲(chǔ)已跨安全區(qū)的報(bào)文;所述信息管理區(qū)的JMS代理監(jiān)聽(tīng)所述管道,從而獲得所述已跨安全區(qū)的報(bào)文并存儲(chǔ)在相應(yīng)的隊(duì)列中。
[0011]另外本發(fā)明還提供一種JMS服務(wù)跨正向隔離裝置的系統(tǒng),包括生產(chǎn)控制區(qū)的JMS發(fā)送端、生產(chǎn)控制區(qū)的JMS服務(wù)器、生產(chǎn)控制區(qū)的JMS代理、生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件、正向隔離裝置、信息管理區(qū)的網(wǎng)絡(luò)中間件、信息管理區(qū)的JMS代理、信息管理區(qū)的JMS服務(wù)器以及信息管理區(qū)的JMS接收端,且順序連接;其中所述生產(chǎn)控制區(qū)的JMS代理用于監(jiān)聽(tīng)所述生產(chǎn)控制區(qū)的JMS服務(wù)器,并接收需要轉(zhuǎn)發(fā)的JMS報(bào)文,進(jìn)行轉(zhuǎn)換后發(fā)送至所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件;所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件用于將收到的轉(zhuǎn)化后的報(bào)文,跨正向隔離裝置傳輸?shù)叫畔⒐芾韰^(qū)的網(wǎng)絡(luò)中間件;所述信息管理區(qū)的JMS代理用于監(jiān)聽(tīng)所述信息管理區(qū)的網(wǎng)絡(luò)中間件,并獲取已跨安全區(qū)的報(bào)文,并將該報(bào)文轉(zhuǎn)化為JMS報(bào)文,再發(fā)送到信息管理區(qū)的JMS服務(wù)器上。
[0012]本發(fā)明的有益效果在于:提供了一種JMS服務(wù)跨安全區(qū)傳輸?shù)姆椒跋到y(tǒng),解決傳統(tǒng)跨安全區(qū)傳輸數(shù)據(jù)方式對(duì)JMS的不適用。采用JMS代理模塊,對(duì)JMS服務(wù)屏蔽了正向隔離裝置,實(shí)現(xiàn)JMS服務(wù)跨安全區(qū)的透明傳輸,使JMS服務(wù)在跨安全區(qū)傳輸與同安全區(qū)傳輸?shù)腏MS流程都是相同的。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1為JMS數(shù)據(jù)交互示意圖;
[0014]圖2為JMS服務(wù)跨安全區(qū)的基本框架圖;
[0015]圖3為JMS代理模塊的報(bào)文接收流程圖;
[0016]圖4為JMS代理模塊的報(bào)文發(fā)送流程圖。
【具體實(shí)施方式】
[0017]本發(fā)明的技術(shù)方案為:一種JMS服務(wù)跨正向隔離裝置的方法,用于解決電力調(diào)度自動(dòng)化系統(tǒng)中JMS服務(wù)從安全I(xiàn)區(qū)或安全I(xiàn)I區(qū)到安全I(xiàn)II區(qū)的數(shù)據(jù)傳輸,主要包括了 JMS代理模塊和網(wǎng)絡(luò)中間件模塊。
[0018]具體的流程如圖2,包括生產(chǎn)控制區(qū)的JMS發(fā)送端、生產(chǎn)控制區(qū)的JMS服務(wù)器、生產(chǎn)控制區(qū)的JMS代理、生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件、正向隔離裝置、信息管理區(qū)的網(wǎng)絡(luò)中間件、信息管理區(qū)的JMS代理、信息管理區(qū)的JMS服務(wù)器以及信息管理區(qū)的JMS接收端,且順序連接;其中所述生產(chǎn)控制區(qū)的JMS代理用于監(jiān)聽(tīng)所述生產(chǎn)控制區(qū)的JMS服務(wù)器,并接收需要轉(zhuǎn)發(fā)的JMS報(bào)文,進(jìn)行轉(zhuǎn)換后發(fā)送至所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件;所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件用于將收到的轉(zhuǎn)化后的報(bào)文,跨正向隔離裝置傳輸?shù)叫畔⒐芾韰^(qū)的網(wǎng)絡(luò)中間件;所述信息管理區(qū)的JMS代理用于監(jiān)聽(tīng)所述信息管理區(qū)的網(wǎng)絡(luò)中間件,并獲取已跨安全區(qū)的報(bào)文,并將該報(bào)文轉(zhuǎn)化為JMS報(bào)文,再發(fā)送到信息管理區(qū)的JMS服務(wù)器上。
[0019]JMS代理模塊:主要包括報(bào)文接收和報(bào)文轉(zhuǎn)發(fā)兩個(gè)功能:
[0020]報(bào)文接收:具體流程如圖3,安全I(xiàn)區(qū)的JMS代理模塊與JMS服務(wù)器創(chuàng)建N個(gè)queue類型和M個(gè)topic類型的接收通道并在上面進(jìn)行監(jiān)聽(tīng),且每個(gè)通道上建立一個(gè)隊(duì)列,用于存儲(chǔ)JMS服務(wù)器發(fā)送到通道上的JMS報(bào)文,JMS報(bào)文上會(huì)標(biāo)記JMS通道名稱和JMS通道類型;安全I(xiàn)II區(qū)的JMS代理模塊與安全I(xiàn)II區(qū)的網(wǎng)絡(luò)中間件模塊之間建立K個(gè)管道,且每個(gè)管道上建立多個(gè)隊(duì)列,用于存儲(chǔ)已跨安全區(qū)的報(bào)文。
[0021]報(bào)文轉(zhuǎn)發(fā):具體流程如圖4,安全I(xiàn)區(qū)的JMS代理模塊創(chuàng)建J個(gè)線程且和安全I(xiàn)區(qū)網(wǎng)絡(luò)中間件建立K個(gè)發(fā)送管道,每個(gè)線程都循環(huán)遍歷N+M個(gè)通道隊(duì)列,如果有JMS報(bào)文則取出,再根據(jù)配置把其發(fā)送到K個(gè)發(fā)送管道中的一個(gè);安全I(xiàn)II區(qū)的JMS代理模塊創(chuàng)建J個(gè)線程且和安全I(xiàn)II區(qū)的JMS服務(wù)器創(chuàng)建N個(gè)queue類型,M個(gè)topic類型的發(fā)送通道,每個(gè)線程循環(huán)遍歷K個(gè)管道隊(duì)列,如果有JMS報(bào)文則取出,再根據(jù)JMS報(bào)文上標(biāo)記的JMS通道名稱和JMS通道類型,發(fā)送到III區(qū)的JMS服務(wù)器,然后,III區(qū)的JMS服務(wù)器會(huì)把該JMS報(bào)文自動(dòng)轉(zhuǎn)發(fā)給監(jiān)聽(tīng)該通道安全I(xiàn)II區(qū)的JMS接收端。
[0022]網(wǎng)絡(luò)中間件模塊:主要也包括報(bào)文接收和報(bào)文轉(zhuǎn)發(fā)兩個(gè)功能,該模塊運(yùn)用電力自動(dòng)化系統(tǒng)中已經(jīng)很成熟的跨安全區(qū)通訊技術(shù)實(shí)現(xiàn)。
[0023]報(bào)文接收:網(wǎng)絡(luò)中間件即接收同區(qū)內(nèi)傳輸?shù)膱?bào)文,也接收跨安全區(qū)傳輸?shù)膱?bào)文,并把接收的報(bào)文均存放到轉(zhuǎn)發(fā)報(bào)文隊(duì)列中。
[0024]報(bào)文轉(zhuǎn)發(fā):遍歷轉(zhuǎn)發(fā)報(bào)文隊(duì)列,取出報(bào)文,判斷是否為跨安全區(qū)轉(zhuǎn)發(fā)的報(bào)文,如果不是,則根據(jù)報(bào)文頭中的事件號(hào)或者節(jié)點(diǎn)名,將報(bào)文轉(zhuǎn)發(fā)到該區(qū)相應(yīng)訂閱該事件號(hào)的程序或者節(jié)點(diǎn);如果是,則將其存放到跨安全區(qū)轉(zhuǎn)發(fā)報(bào)文隊(duì)列中,然后報(bào)文轉(zhuǎn)發(fā)流程開(kāi)始;首先從跨安全區(qū)轉(zhuǎn)發(fā)報(bào)文隊(duì)列中取出報(bào)文并放到待轉(zhuǎn)發(fā)報(bào)文緩沖區(qū),根據(jù)設(shè)定的時(shí)間和緩沖區(qū)的大小緩沖報(bào)文,當(dāng)緩沖區(qū)達(dá)到設(shè)定時(shí)間或者緩沖區(qū)已經(jīng)填滿,則建立TCP鏈路將緩沖區(qū)中的報(bào)文轉(zhuǎn)發(fā)到安全I(xiàn)II區(qū)的網(wǎng)絡(luò)中間件模塊,中間會(huì)經(jīng)過(guò)正向隔離裝置,安全I(xiàn)II區(qū)網(wǎng)絡(luò)中間件模塊的報(bào)文接收程序接收到報(bào)文后,將報(bào)文解包為單個(gè)獨(dú)立的報(bào)文,并依次轉(zhuǎn)發(fā)到目的節(jié)點(diǎn),對(duì)報(bào)文轉(zhuǎn)發(fā)失敗或者報(bào)文解包失敗的,則按照失敗應(yīng)答報(bào)文中所含的錯(cuò)誤信息,進(jìn)行報(bào)文重發(fā)。
【權(quán)利要求】
1.JMS服務(wù)跨正向隔離裝置的方法,其特征在于,包括步驟:生產(chǎn)控制區(qū)的JMS發(fā)送端發(fā)送JMS報(bào)文到生產(chǎn)控制區(qū)的JMS服務(wù)器上,生產(chǎn)控制區(qū)的JMS代理從所述生產(chǎn)控制區(qū)的JMS服務(wù)器上收到所述JMS報(bào)文,進(jìn)行轉(zhuǎn)換后,通過(guò)生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件,跨正向隔離裝置傳輸?shù)叫畔⒐芾韰^(qū)的網(wǎng)絡(luò)中間件,再傳給信息管理區(qū)的JMS代理,所述信息管理區(qū)的JMS代理將收到的報(bào)文轉(zhuǎn)化為JMS報(bào)文后再發(fā)送到信息管理區(qū)的JMS服務(wù)器上,最后由所述信息管理區(qū)的JMS服務(wù)器轉(zhuǎn)發(fā)給信息管理區(qū)的JMS接收端。
2.根據(jù)權(quán)利要求1所述的JMS服務(wù)跨正向隔離裝置的方法,其特征在于,生產(chǎn)控制區(qū)的JMS代理與生產(chǎn)控制區(qū)的JMS服務(wù)器之間創(chuàng)建N個(gè)第一類型和M個(gè)第二類型的通道,且每個(gè)所述通道上建立一個(gè)隊(duì)列,用于存儲(chǔ)接收到的所述JMS服務(wù)器發(fā)送到所述通道上的JMS報(bào)文,所述JMS報(bào)文上標(biāo)記通道名稱和通道類型;對(duì)應(yīng)的,在信息控制區(qū)的JMS代理與信息控制區(qū)的JMS服務(wù)器之間創(chuàng)建N個(gè)第一類型和M個(gè)第二類型的通道,且所述信息控制區(qū)的通道與所述生產(chǎn)控制區(qū)的通道一一對(duì)應(yīng);所述生產(chǎn)控制區(qū)的JMS代理監(jiān)聽(tīng)所述各通道,從而獲得所述JMS報(bào)文并存儲(chǔ)到相應(yīng)的隊(duì)列中;所述信息控制區(qū)的JMS代理將需要轉(zhuǎn)發(fā)的JMS報(bào)文,根據(jù)所述JMS報(bào)文中標(biāo)記的通道名稱和通道類型,發(fā)送到對(duì)應(yīng)的通道中,從而發(fā)送到所述信息控制區(qū)的JMS服務(wù)器。
3.根據(jù)權(quán)利要求1所述的JMS服務(wù)跨正向隔離裝置的方法,其特征在于,所述生產(chǎn)控制區(qū)的JMS代理與所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件之間建立K個(gè)管道;所述生產(chǎn)控制區(qū)的JMS代理通過(guò)所述K個(gè)管道,將轉(zhuǎn)化后的JMS報(bào)文發(fā)送到所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件;所述信息管理區(qū)的JMS代理與所述信息管理區(qū)的網(wǎng)絡(luò)中間件之間建立K個(gè)管道與所述生產(chǎn)控制區(qū)的K個(gè)管道一一對(duì)應(yīng),且每個(gè)管道上建立多個(gè)隊(duì)列,用于存儲(chǔ)已跨安全區(qū)的報(bào)文;所述信息管理區(qū)的JMS代理監(jiān)聽(tīng)所述管道,從而獲得所述已跨安全區(qū)的報(bào)文并存儲(chǔ)在相應(yīng)的隊(duì)列中。
4.一種JMS服務(wù)跨正向隔離裝置的系統(tǒng),其特征在于,包括生產(chǎn)控制區(qū)的JMS發(fā)送端、生產(chǎn)控制區(qū)的JMS服務(wù)器、生產(chǎn)控制區(qū)的JMS代理、生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件、正向隔離裝置、信息管理區(qū)的網(wǎng)絡(luò)中間件、信息管理區(qū)的JMS代理、信息管理區(qū)的JMS服務(wù)器以及信息管理區(qū)的JMS接收端,且順序連接;其中所述生產(chǎn)控制區(qū)的JMS代理用于監(jiān)聽(tīng)所述生產(chǎn)控制區(qū)的JMS服務(wù)器,并接收需要轉(zhuǎn)發(fā)的JMS報(bào)文,進(jìn)行轉(zhuǎn)換后發(fā)送至所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件;所述生產(chǎn)控制區(qū)的網(wǎng)絡(luò)中間件用于將收到的轉(zhuǎn)化后的報(bào)文,跨正向隔離裝置傳輸?shù)叫畔⒐芾韰^(qū)的網(wǎng)絡(luò)中間件;所述信息管理區(qū)的JMS代理用于監(jiān)聽(tīng)所述信息管理區(qū)的網(wǎng)絡(luò)中間件,并獲取已跨安全區(qū)的報(bào)文,并將該報(bào)文轉(zhuǎn)化為JMS報(bào)文,再發(fā)送到信息管理區(qū)的JMS服務(wù)器上。
【文檔編號(hào)】H04L29/06GK104270374SQ201410535017
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2014年10月11日 優(yōu)先權(quán)日:2014年10月11日
【發(fā)明者】方文崇, 周鵬, 孫超, 艾文凱, 陸俊, 趙化時(shí), 吳金宇 申請(qǐng)人:中國(guó)南方電網(wǎng)有限責(zé)任公司, 南京南瑞繼保電氣有限公司