無(wú)線通信系統(tǒng)間信息共享方法
【專利摘要】本發(fā)明提供了一種無(wú)線通信系統(tǒng)間信息共享方法,讀入初始化配置文件后啟動(dòng)jms服務(wù)端,并為每一種通信系統(tǒng)都啟動(dòng)客戶端,通過(guò)XML的應(yīng)用將異構(gòu)通信網(wǎng)絡(luò)的不同格式消息統(tǒng)一成一種數(shù)據(jù)格式,采用JMS技術(shù)進(jìn)行數(shù)據(jù)交互。本發(fā)明提使得各通信系統(tǒng)之間能夠共享信息,設(shè)計(jì)了消息的轉(zhuǎn)發(fā)機(jī)制,使得各系統(tǒng)的信息能夠得到統(tǒng)一管理,使得各通信系統(tǒng)形成統(tǒng)一網(wǎng)絡(luò),從而大大擴(kuò)展了各通信系統(tǒng)的感知范圍和應(yīng)用范圍。
【專利說(shuō)明】無(wú)線通信系統(tǒng)間信息共享方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無(wú)線通信中不同通信系統(tǒng)間信息的分發(fā)和處理方法。
【背景技術(shù)】
[0002] 縱觀各國(guó)無(wú)線通信系統(tǒng)的建設(shè),都是依據(jù)任務(wù)從首先解決有無(wú)鏈路的思想出發(fā)開 始工作的。由于通信系統(tǒng)的逐年建設(shè),使得目前的狀況是各種不同的無(wú)線通信系統(tǒng)并存。各 通信系統(tǒng)具有不同的系統(tǒng)結(jié)構(gòu),系統(tǒng)之間相互獨(dú)立,數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)接口相異,各系統(tǒng)互操 作困難,數(shù)據(jù)得不到高效共享,大大降低了系統(tǒng)的效能,對(duì)信息資源造成浪費(fèi)。
[0003] 目前美國(guó)主要是通過(guò)各種各樣的網(wǎng)關(guān)和數(shù)據(jù)轉(zhuǎn)發(fā)系統(tǒng)來(lái)實(shí)現(xiàn)各種通信系統(tǒng)之間 的互聯(lián)互通以及信息共享功能的。對(duì)于我國(guó)這樣的發(fā)展中國(guó)家,尚不具備建設(shè)美國(guó)那樣 復(fù)雜數(shù)據(jù)鏈的能力,并且雖然當(dāng)今電子技術(shù)的發(fā)展為研制開發(fā)高性能數(shù)據(jù)鏈終端提供了條 件,但通常研制開發(fā)的周期相對(duì)較長(zhǎng)。因此,改造現(xiàn)有通信裝備,使其具有數(shù)據(jù)通信能力,能 夠在現(xiàn)有的基礎(chǔ)上實(shí)現(xiàn)各無(wú)線通信系統(tǒng)的互聯(lián)互通和信息共享,不失為一種我國(guó)信息系統(tǒng) 建設(shè)的近期方案。
[0004] 傳統(tǒng)的數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)關(guān)隨著通信網(wǎng)絡(luò)的增加,網(wǎng)關(guān)的數(shù)量將成平方倍的增長(zhǎng),不僅 實(shí)現(xiàn)方式復(fù)雜,而且網(wǎng)關(guān)的增加對(duì)原有的系統(tǒng)影響較大,因此需要一種新的網(wǎng)關(guān)實(shí)現(xiàn)方式, 能夠屏蔽不同通信系統(tǒng)的消息格式對(duì)于消息共享的影響,實(shí)現(xiàn)通用的數(shù)據(jù)訪問(wèn)接口。
【發(fā)明內(nèi)容】
[0005] 為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種無(wú)線通信系統(tǒng)間的信息共享方法,設(shè) 計(jì)了一種異構(gòu)消息的處理方式,使得各通信系統(tǒng)之間能夠共享信息,設(shè)計(jì)了消息的轉(zhuǎn)發(fā)機(jī) 制,使得各系統(tǒng)的信息能夠得到統(tǒng)一管理,使得各通信系統(tǒng)形成統(tǒng)一網(wǎng)絡(luò),從而大大擴(kuò)展了 各通信系統(tǒng)的感知范圍和應(yīng)用范圍。
[0006] 本方法涉及的無(wú)線通信系統(tǒng)間信息共享系統(tǒng)由若干個(gè)JMS客戶端,JMS服務(wù)器,消 息解析模塊以及消息格式轉(zhuǎn)換模塊構(gòu)成。
[0007] Java消息服務(wù)(Java Message Service,簡(jiǎn)稱JMS)是用于訪問(wèn)企業(yè)消息系統(tǒng)的開 發(fā)商中立的API。使用JMS的應(yīng)用程序被稱為JMS客戶端,處理消息路由與傳遞的消息系統(tǒng) 被稱為JMS Provider,而JMS應(yīng)用則是由多個(gè)JMS客戶端和一個(gè)JMS Provider構(gòu)成的業(yè)務(wù) 系統(tǒng)。JMS支持2個(gè)標(biāo)準(zhǔn)異步消息傳遞方式:點(diǎn)對(duì)點(diǎn)(P2P)和發(fā)布/訂閱(Pub/Sub)。
[0008] 其中發(fā)布/訂閱通信模式是基于主題(Topic)概念的。主題是消息的發(fā)布目標(biāo) (受控對(duì)象),發(fā)布/訂閱模式可以有多個(gè)發(fā)送消息和接收消息的客戶機(jī),每個(gè)主題可以有 多個(gè)發(fā)布者和多個(gè)訂閱者。jms客戶端的發(fā)布流程和接收流程的前半部分過(guò)程是一樣的,均 為創(chuàng)建一個(gè)連接工廠(客戶用來(lái)創(chuàng)建連接的對(duì)象),通過(guò)連接工廠建立和jms服務(wù)的連接, 創(chuàng)建一個(gè)主題topic,通過(guò)連接創(chuàng)建會(huì)話。在后半部分,消息發(fā)布端根據(jù)會(huì)話和主題創(chuàng)建一 個(gè)生產(chǎn)者發(fā)布消息,消息接收端根據(jù)會(huì)話和主題注冊(cè)消費(fèi)者,然后在這個(gè)主題上同步的接 收消息或者異步的監(jiān)聽消息。其中的連接工廠和主題在jms服務(wù)器的JNDI (java命名和目 錄標(biāo)準(zhǔn)接口)中進(jìn)行注冊(cè)。
[0009] 本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案包括以下步驟:
[0010] 1)讀入初始化配置文件;初始化配置文件中包含每種通信系統(tǒng)需要發(fā)布的消息 類型信息、通信系統(tǒng)與主題的對(duì)應(yīng)關(guān)系信息、通信系統(tǒng)與連接工廠的對(duì)應(yīng)關(guān)系信息、每種通 信系統(tǒng)訂閱的主題信息;
[0011] 2)啟動(dòng)jms服務(wù)端,根據(jù)初始化文件中的參數(shù)配置好JNDI中的連接工廠和主題;
[0012] 3)為每一種通信系統(tǒng)都啟動(dòng)客戶端,根據(jù)初始化配置文件中的參數(shù)建立信息發(fā)布 進(jìn)程和信息接收進(jìn)程,實(shí)現(xiàn)與服務(wù)器的通信;
[0013] 4)客戶端信息發(fā)布流程:
[0014] a.源通信系統(tǒng)客戶端對(duì)源通信系統(tǒng)進(jìn)行監(jiān)聽;
[0015] b.判斷是否有消息到達(dá),如有則進(jìn)入步驟c,否則返回步驟a ;
[0016] c.源通信系統(tǒng)客戶端根據(jù)初始化文件判斷該消息是否為需要共享的消息類型,如 果是則進(jìn)入步驟d,否則返回步驟a ;
[0017] d.源通信系統(tǒng)客戶端將消息轉(zhuǎn)換成XML文件并連同它的消息類型一起存放在一 個(gè)文件緩沖區(qū)中,進(jìn)入步驟e;
[0018] e.源通信系統(tǒng)客戶端的生產(chǎn)者對(duì)象將XML文件和消息類型打包發(fā)布到服務(wù)器源 通信系統(tǒng)對(duì)應(yīng)的發(fā)布主題上,返回步驟a ;
[0019] 5)客戶端信息接收流程:
[0020] a.目的通信系統(tǒng)客戶端對(duì)服務(wù)器進(jìn)行監(jiān)聽;
[0021] b.判斷是否有信息到達(dá),如有則進(jìn)入步驟c,否則返回步驟a ;
[0022] c.目的通信系統(tǒng)客戶端根據(jù)初始化文件判斷該信息是否為自己訂閱的主題,如果 是則進(jìn)入步驟d,否則返回步驟a ;
[0023] d.目的通信系統(tǒng)客戶端從服務(wù)器上獲取XML文檔,將XML文檔轉(zhuǎn)換為一個(gè)或多個(gè) 目標(biāo)XML文檔,進(jìn)入步驟e ;
[0024] e.目的通信系統(tǒng)客戶端將目標(biāo)消息XML文檔還原成目的通信系統(tǒng)的消息格式在 目的通信系統(tǒng)進(jìn)行發(fā)送,進(jìn)入步驟a。
[0025] 本發(fā)明的有益效果是:
[0026] 在現(xiàn)有裝備,標(biāo)準(zhǔn)未升級(jí)或更換的情況下,通過(guò)XML的應(yīng)用將異構(gòu)通信網(wǎng)絡(luò)的不 同格式消息統(tǒng)一成一種數(shù)據(jù)格式,使得各通信系統(tǒng)之間能夠進(jìn)行信息的交互和共享。使用 統(tǒng)一的XML在各通信系統(tǒng)間進(jìn)行傳遞降低了傳統(tǒng)網(wǎng)關(guān)中不同通信系統(tǒng)之間的耦合程度,減 小了通信系統(tǒng)的增加對(duì)網(wǎng)關(guān)的影響,減輕了網(wǎng)關(guān)的修改和增加對(duì)整個(gè)系統(tǒng)的影響。
[0027] 在數(shù)據(jù)的交互方式上,采用JMS技術(shù),將消息采用發(fā)布/訂閱的方式進(jìn)行共享,一 個(gè)通信系統(tǒng)發(fā)布的信息可以有多個(gè)通信系統(tǒng)收到,減少了消息的轉(zhuǎn)發(fā)次數(shù),節(jié)約了網(wǎng)絡(luò)帶 寬資源,使得需要共享到多個(gè)通信系統(tǒng)中的消息具有更高的傳播效率。
【專利附圖】
【附圖說(shuō)明】
[0028] 圖1是本發(fā)明系統(tǒng)構(gòu)造示意圖;
[0029] 圖2是本發(fā)明處理方法流程圖。
【具體實(shí)施方式】
[0030] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明,本發(fā)明包括但不僅限于下述實(shí)施 例。
[0031] 本發(fā)明所設(shè)計(jì)實(shí)現(xiàn)的異構(gòu)通信網(wǎng)絡(luò)間共享信息的方法,通過(guò)JMS規(guī)范將各個(gè)不同 的戰(zhàn)術(shù)無(wú)線通信系統(tǒng)進(jìn)行相連。對(duì)于需要在不同通信系統(tǒng)間共享的消息,利用XML技術(shù)將 源通信系統(tǒng)中需要進(jìn)行共享的消息轉(zhuǎn)換成XML文件,該XML文件通過(guò)JMS服務(wù)器進(jìn)行發(fā)布, 對(duì)于訂閱了此類消息的目的通信系統(tǒng),可以從JMS服務(wù)器上獲得此消息的XML文檔。通過(guò) 消息格式轉(zhuǎn)換模塊,目的通信系統(tǒng)將該XML文檔轉(zhuǎn)換成一個(gè)或多個(gè)對(duì)應(yīng)的的XML文檔。經(jīng) 過(guò)解析,這些轉(zhuǎn)換后的XML文檔變成目的通信系統(tǒng)內(nèi)部格式的消息在目的通信系統(tǒng)中進(jìn)行 發(fā)送。
[0032] 本發(fā)明包括以下步驟:
[0033] 1)讀入初始化配置文件。初始化配置文件中包含每種通信系統(tǒng)需要發(fā)布的消息類 型信息、通信系統(tǒng)與主題的對(duì)應(yīng)關(guān)系信息(一種通信系統(tǒng)對(duì)應(yīng)一個(gè)主題)、通信系統(tǒng)與連接 工廠的對(duì)應(yīng)關(guān)系信息(一種通信系統(tǒng)對(duì)應(yīng)一個(gè)連接工廠),每種通信系統(tǒng)訂閱的主題信息 (一個(gè)通信系統(tǒng)可以訂閱多個(gè)主題)。
[0034] 2)啟動(dòng)jms服務(wù)端,配置好JNDI中的連接工廠和主題。方法是采用開源消息系統(tǒng) ActiveMQ。下載并安裝ActiveMQ,將相應(yīng)軟件拷入tomcat (開源的servlet容器,JNDI提 供者)實(shí)現(xiàn)與tomcat的整合,實(shí)現(xiàn)對(duì)JNDI中連接工廠和主題的配置。
[0035] 3)為每一種通信系統(tǒng)都啟動(dòng)客戶端,根據(jù)初始化配置文件中的參數(shù)建立信息發(fā)布 進(jìn)程和信息接收進(jìn)程,實(shí)現(xiàn)與服務(wù)器的通信。
[0036] 信息發(fā)布進(jìn)程建立:
[0037] 讀入初始化配置文件,根據(jù)自己的通信系統(tǒng)號(hào)獲取自身對(duì)應(yīng)的發(fā)布主題和連接工 廠的JNDI名。根據(jù)獲取的連接工廠JNDI名字向JNDI服務(wù)器查詢對(duì)應(yīng)的連接工廠對(duì)象。 用找到的連接工廠對(duì)象來(lái)創(chuàng)建與JMS服務(wù)器的連接并建立會(huì)話。根據(jù)獲取到的發(fā)布主題的 JNDI名字向JNDI服務(wù)器查找對(duì)應(yīng)的發(fā)布主題對(duì)象,為找到的發(fā)布主題對(duì)象創(chuàng)建生產(chǎn)者。生 產(chǎn)者向發(fā)布主題對(duì)象發(fā)布信息。
[0038] 信息接收進(jìn)程建立:
[0039] 讀入初始化配置文件,根據(jù)自己的通信系統(tǒng)號(hào)獲取自己訂閱的主題和連接工廠的 JNDI名。根據(jù)獲取的連接工廠JNDI名字向JNDI服務(wù)器查詢對(duì)應(yīng)的連接工廠對(duì)象。用找到 的連接工廠對(duì)象來(lái)創(chuàng)建與JMS服務(wù)器的連接并建立會(huì)話。根據(jù)獲取到的訂閱主題的JNDI名 查找到訂閱主題對(duì)象,為找到的訂閱主題對(duì)象創(chuàng)建消費(fèi)者,然后為消費(fèi)者設(shè)立一個(gè)監(jiān)聽器。 監(jiān)聽器在監(jiān)聽到服務(wù)器上有自己訂閱的主題的內(nèi)容后進(jìn)入相應(yīng)程序OnMessage ()。
[0040] 4)客戶端信息發(fā)布流程:
[0041] a.源通信系統(tǒng)客戶端對(duì)源通信系統(tǒng)進(jìn)行監(jiān)聽;
[0042] b.判斷是否有消息到達(dá),如有則進(jìn)入步驟c,否則返回步驟a ;
[0043] c.源通信系統(tǒng)客戶端根據(jù)初始化文件判斷該消息是否為需要共享的消息類型,如 果是則進(jìn)入步驟d,否則返回步驟a ;
[0044] d.源通信系統(tǒng)客戶端調(diào)用消息解析模塊對(duì)此消息進(jìn)行處理,消息解析模塊采用 D0M作為解析器,將該業(yè)務(wù)消息在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成一個(gè)XML文檔并連同它的消息 類型一起存放在一個(gè)文件緩沖區(qū)中,進(jìn)入步驟e ;
[0045] e.源通信系統(tǒng)客戶端的生產(chǎn)者對(duì)象調(diào)用publish函數(shù)將XML文件和消息類型打 包為一個(gè)TextMessage (簡(jiǎn)單文本)發(fā)布到服務(wù)器源通信系統(tǒng)對(duì)應(yīng)的發(fā)布主題上,返回步驟 & 〇
[0046] 5)客戶端信息接收流程:
[0047] a.目的通信系統(tǒng)客戶端對(duì)服務(wù)器進(jìn)行監(jiān)聽;
[0048] b.判斷是否有信息到達(dá),如有則進(jìn)入步驟c,否則返回步驟a ;
[0049] c.目的通信系統(tǒng)客戶端根據(jù)初始化文件判斷該信息是否為自己訂閱的主題,如果 是則進(jìn)入步驟d,否則返回步驟a ;
[0050] d.目的通信系統(tǒng)客戶端從服務(wù)器上獲取XML文檔,然后進(jìn)入響應(yīng)函數(shù)OnMessage 進(jìn)行處理。在響應(yīng)函數(shù)OnMessage中將XML文檔傳給消息格式轉(zhuǎn)換模塊。消息格式轉(zhuǎn)換模 塊是根據(jù)不同通信系統(tǒng)消息之間的對(duì)應(yīng)關(guān)系采用XPath(可擴(kuò)展標(biāo)記語(yǔ)言路徑語(yǔ)言)進(jìn)行 編寫的軟件,一個(gè)通信系統(tǒng)的一條消息可以對(duì)應(yīng)到另一個(gè)通信系統(tǒng)的一條或幾條消息。消 息格式轉(zhuǎn)換模塊將接收到的XML文檔按照消息格式轉(zhuǎn)換規(guī)則生成了一個(gè)或幾個(gè)目標(biāo)XML文 檔。進(jìn)入步驟e ;
[0051] e.目的通信系統(tǒng)客戶端將目標(biāo)消息XML文檔發(fā)送到消息解析模塊,仍然采用DOM 作為解析器將XML文檔還原成目的通信系統(tǒng)的消息格式在目的通信系統(tǒng)進(jìn)行發(fā)送,進(jìn)入步 驟a。
[0052] 下面結(jié)合實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。
[0053] 異構(gòu)通信網(wǎng)絡(luò)間共享信息的方法,下面將對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。
[0054] 其中源消息格式如下,消息sysl. al :
【權(quán)利要求】
1. 一種無(wú)線通信系統(tǒng)間信息共享方法,其特征在于包括下述步驟: 1) 讀入初始化配置文件;初始化配置文件中包含每種通信系統(tǒng)需要發(fā)布的消息類型 信息、通信系統(tǒng)與主題的對(duì)應(yīng)關(guān)系信息、通信系統(tǒng)與連接工廠的對(duì)應(yīng)關(guān)系信息、每種通信系 統(tǒng)訂閱的主題信息; 2) 啟動(dòng)jms服務(wù)端,根據(jù)初始化文件中的參數(shù)配置好JNDI中的連接工廠和主題; 3) 為每一種通信系統(tǒng)都啟動(dòng)客戶端,根據(jù)初始化配置文件中的參數(shù)建立信息發(fā)布進(jìn)程 和信息接收進(jìn)程,實(shí)現(xiàn)與服務(wù)器的通信; 4) 客戶端信息發(fā)布流程: a. 源通信系統(tǒng)客戶端對(duì)源通信系統(tǒng)進(jìn)行監(jiān)聽; b. 判斷是否有消息到達(dá),如有則進(jìn)入步驟c,否則返回步驟a ; c. 源通信系統(tǒng)客戶端根據(jù)初始化文件判斷該消息是否為需要共享的消息類型,如果是 則進(jìn)入步驟d,否則返回步驟a ; d. 源通信系統(tǒng)客戶端將消息轉(zhuǎn)換成XML文件并連同它的消息類型一起存放在一個(gè)文 件緩沖區(qū)中,進(jìn)入步驟e; e. 源通信系統(tǒng)客戶端的生產(chǎn)者對(duì)象將XML文件和消息類型打包發(fā)布到服務(wù)器源通信 系統(tǒng)對(duì)應(yīng)的發(fā)布主題上,返回步驟a ; 5) 客戶端信息接收流程: a. 目的通信系統(tǒng)客戶端對(duì)服務(wù)器進(jìn)行監(jiān)聽; b. 判斷是否有信息到達(dá),如有則進(jìn)入步驟c,否則返回步驟a ; c. 目的通信系統(tǒng)客戶端根據(jù)初始化文件判斷該信息是否為自己訂閱的主題,如果是則 進(jìn)入步驟d,否則返回步驟a; d. 目的通信系統(tǒng)客戶端從服務(wù)器上獲取XML文檔,將XML文檔轉(zhuǎn)換為一個(gè)或多個(gè)目標(biāo) XML文檔,進(jìn)入步驟e ; e. 目的通信系統(tǒng)客戶端將目標(biāo)消息XML文檔還原成目的通信系統(tǒng)的消息格式在目的 通信系統(tǒng)進(jìn)行發(fā)送,進(jìn)入步驟a。
【文檔編號(hào)】H04L29/08GK104320441SQ201410527673
【公開日】2015年1月28日 申請(qǐng)日期:2014年10月9日 優(yōu)先權(quán)日:2014年10月9日
【發(fā)明者】韓媛萍, 孫茜雅, 陳燕 申請(qǐng)人:中國(guó)電子科技集團(tuán)公司第二十研究所