一種基于消息的無線通信網關的實現方法
【專利摘要】本發明公開了一種無線通信網關及方法,該網關包括:數據解析模塊、消息分揀模塊、分別對應于不同類別的一或多個消息轉換模塊、接口適配模塊、分別對應于不同類別的一或多個通信網絡接口模塊;數據解析模塊,用于將接收到的第一數據解析生成第一消息;消息分揀模塊,用于將接收第一消息分揀為不同類別的第一消息;各消息轉換模塊分別用于將所對應類別的第一消息轉換為統一無線通信接口格式的相應類別的第一轉換數據;接口適配模塊,用于為各類別的第一轉換數據分別選擇對應的通信網絡接口模塊;各通信網絡接口模塊分別用于將所對應類別的第一轉換數據發送給無線通信網絡。本發明的網關有利于固有系統和固有通信網絡的融合,且支持異步的通信方式。
【專利說明】
一種基于消息的無線通信網關的實現方法
【技術領域】
[0001]本發明涉及無線通信領域,具體而言,尤其一種基于消息的無線通信網關的實現方法。
【背景技術】
[0002]無線通信網關是外部系統接入無線通信網絡的通道。
[0003]現有技術中,傳統的無線通信網關與外部系統之間的接口具有以下特點:
[0004]1、接口上,一般采用基于 (0611101:6 ^1-006(1111-0 0,0,11 9^01:0(301,遠程過程調用)的方式提供接口,固有系統必須確切知道要接入網關的特性和它的仙I函數;
[0005]2、支持同步、異步通信上,一般只支持同步通信的方式。
[0006]3、多網絡接入,一般只支持一種專用網絡的接入;
[0007]4、通用性,一般針對一種產品。
[0008]即,傳統的無線通信網關與外部系統之間的接口多采用基于遠程過程調用的方式實現,這種方式導致無線通信網關同外部系統之間的耦合程度非常嚴重,通常不支持異步通信方式,而且為了實現這種接口在外部系統和網關上都需要進行復雜而且易于出錯的編碼工作。這種方式的網關設計方式不利于固有系統與固有通信網絡之間的融合。
【發明內容】
[0009]本發明所要解決的技術問題在于,提供一種基于消息的無線通信網關的實現方法,從而解決現有技術中無線通信網關同外部系統之間的耦合嚴重的技術問題。
[0010]為了解決上述問題,本發明提供一種基于消息的無線通信網關,其特征在于,該網關包括:
[0011]數據解析模塊、消息分揀模塊、分別對應于不同類別的一個或多個消息轉換模塊、接口適配模塊、分別對應于不同類別的一個或多個通信網絡接口模塊;
[0012]所述數據解析模塊,用于將從外部系統接收到的第一數據解析生成第一消息;
[0013]所述消息分揀模塊,用于將接收所述第一消息分揀為不同類別的第一消息;
[0014]各所述消息轉換模塊分別用于將所對應類別的第一消息轉換為統一無線通信接口格式的相應類別的第一轉換數據;
[0015]所述接口適配模塊,用于為各類別的第一轉換數據分別選擇對應的通信網絡接口模塊;
[0016]各所述通信網絡接口模塊分別用于將所對應類別的第一轉換數據發送給無線通信網絡。
[0017]優選地,所述網關還包括:
[0018]所述網關還包括消息校驗模塊、異常消息處理模塊;
[0019]所述消息校驗模塊,用于將所述數據解析模塊解析得到的所述第一消息進行校驗,并將校驗為合法的第一合法消息發送給消息分揀模塊;將校驗為非法的第一非法消息發送給所述異常消息處理模塊;
[0020]所述異常消息處理模塊,用于對所述第一非法消息進行處理。
[0021]優選地,所述網關還包括:
[0022]所述網關還包括數據擴充模塊、消息生成模塊、消息路由模塊、消息聚合模塊;
[0023]各所述通信網絡接口模塊,還分別用于將從無線通信網絡接收的第二數據發送給所述接口適配模塊;
[0024]所述接口適配模塊,還用于將所述第二數據發送給所述數據擴充模塊;
[0025]所述數據擴充模塊,用于在所述第二數據添加附加信息為第二附加數據后,將所述第二附加數據發送給消息生成模塊;
[0026]所述消息生成模塊,用于在所述第二附加數據進行拆解生成為消息中間件所接受的第二消息后,將所述第二消息發給所述消息路由模塊;
[0027]所述消息路由模塊,用于在所述第二消息分為不同類別的第二消息后,分別將各類別的第二消息放入該類別對應的消息隊列;
[0028]所述消息聚合模塊,用于分別從各類別對應的消息隊列中獲得第二消息;當所獲得的第二消息滿足預定條件時,將滿足預定條件的第二消息聚合生成外部系統所識別的數據格式的數據發送給所述外部系統。
[0029]優選地,所述網關還包括:
[0030]所述異常消息處理模塊,還用于在按照異常消息提示所要求的格式對該第一消息進行重組為第一重組消息后,將所述第一重組消息發送給所述消息路由模塊;
[0031〕 所述消息路由模塊,還用于將所述第一重組消息投遞到消息中間件上。
[0032]優選地,所述網關還包括:
[0033]所述異常消息處理模塊,還用于對消息中間件所不接受的第二消息進行重組為第二重組消息;將所述第二重消息發送給所述消息分揀模塊;
[0034]所述消息分揀模塊,還用于將所述第二重組消息發送給所述無線通信網絡。
[0035]6、如權利要求3所述的網關,其特征在于,
[0036]所述預定條件為:所述第二消息能夠使用聚合功能。
[0037]為了解決上述問題,本發明還提供一種無線通信網關的實現方法,其特征在于,該方法包括:
[0038]將從外部系統接收到的第一數據解析生成第一消息;
[0039]將接收所述第一消息分揀為不同類別的第一消息;
[0040]分別將各類別的第一消息轉換為統一無線通信接口格式的相應類別的第一轉換數據;
[0041]將各類別的第一轉換數據分別發給對應的通信網絡接口 ;
[0042]各通信網絡接口分別將對應類別的第一轉換數據發送給無線通信網絡。
[0043]優選地,所述方法還包括:
[0044]對所述第一消息進行校驗并對校驗為非法的第一非法消息進行處理。
[0045]優選地,所述方法還包括:
[0046]將從無線通信網絡的接收的第二數據中添加附加信息為第二附加數據;
[0047]對所述第二附加數據進行拆解生成為消息中間件所接受的第二消息;
[0048]將所述第二消息分為不同類別的第二消息;
[0049]當分別從各類別對應的消息隊列中獲得的第二消息滿足預定條件時,將滿足預定條件的第二消息聚合生成外部系統所識別的數據格式的數據,并發送給所述外部系統。
[0050]優選地,所述方法還包括:
[0051]按照異常消息提示所要求的格式將所述第一消息重組為第一重組消息。
[0052]優選地,所述方法還包括:
[0053]對消息中間件所不接受的第二消息進行重組為第二重組消息,并將所述第二重組消息發送給所述無線通信網絡。
[0054]優選地,所述方法還包括:
[0055]所述預定條件為:所述第二消息能夠使用聚合功能。
[0056]綜上,采用本發明所述網關和方法,具有如下有益效果:
[0057]1、使得固有系統更容易接入到無線通信網絡中,并且易于固有系統獨立修改和升級維護;
[0058]2、為固有系統接入無線通信網絡提供了更豐富、更全面的方式,且一步通信可以減少通信過程中等待時間,提高網絡通信的效率;
[0059]3、對多網絡接入方式的支持,減少了固有系統上針對不同網絡的重復開發,簡化了系統結構。為固有系統的能力擴展提供了支持;
[0060]4、高通用性使得該方法擁有很好的可伸縮性和普適性,可以被廣泛使用在各種系統中。
【專利附圖】
【附圖說明】
[0061]圖1所示為本發明實施例無線通信網關的結構圖;
[0062]圖2所示為本發明實施例無線通信網關的示意圖;
[0063]圖3所示為本發明實施例從外部系統向移動終端發送數據的流程圖;
[0064]圖4所示為本發明實施例從移動終端向外部系統發送數據的流程圖。
【具體實施方式】
[0065]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖及具體實施例對本發明作進一步的詳細描述。
[0066]圖1為本發明實施例無線通信網關的結構圖。如圖1所示網關實施例包括:
[0067]數據解析模塊、消息分揀模塊、分別對應于不同類別的一個或多個消息轉換模塊、接口適配模塊、分別對應于不同類別的一個或多個通信網絡接口模塊;
[0068]步驟3101:所述數據解析模塊,用于將從外部系統接收到的第一數據解析生成第一消息;
[0069]步驟3102:所述消息分揀模塊,用于將接收所述第一消息分揀為不同類別的第一消息;
[0070]步驟3103:各所述消息轉換模塊分別用于將所對應類別的第一消息轉換為統一無線通信接口格式的相應類別的第一轉換數據;
[0071]步驟3104:所述接口適配模塊,用于為各類別的第一轉換數據分別選擇對應的通信網絡接口模塊;
[0072]步驟3105:各所述通信網絡接口模塊分別用于將所對應類別的第一轉換數據發送給無線通信網絡。
[0073]圖2為本發明實施例無線通信網關的示意圖。如圖2所示網關實施例包括:
[0074]可選地,所述網關還可以包括但不限于消息校驗模塊、異常消息處理模塊;
[0075]所述消息校驗模塊,可以但不限于用于將所述數據解析模塊解析得到的所述第一消息進行校驗,并將校驗為合法的第一合法消息發送給消息分揀模塊;將校驗為非法的第一非法消息發送給所述異常消息處理模塊;
[0076]所述異常消息處理模塊,可以但不限于用于對所述第一非法消息進行處理。
[0077]可選地,所述網關還可以包括但不限于數據擴充模塊、消息生成模塊、消息路由模塊、消息聚合模塊;
[0078]各所述通信網絡接口模塊,還分別用于將從無線通信網絡接收的第二數據發送給所述接口適配模塊;
[0079]所述接口適配模塊,還用于將所述第二數據發送給所述數據擴充模塊;
[0080]所述數據擴充模塊,用于在所述第二數據添加附加信息為第二附加數據后,將所述第二附加數據發送給消息生成模塊;
[0081]所述消息生成模塊,用于在所述第二附加數據進行拆解生成為消息中間件所接受的第二消息后,將所述第二消息發給所述消息路由模塊;
[0082]所述消息路由模塊,用于在所述第二消息分為不同類別的第二消息后,分別將各類別的第二消息放入該類別對應的消息隊列;
[0083]所述消息聚合模塊,用于分別從各類別對應的消息隊列中獲得第二消息;當所獲得的第二消息滿足預定條件時,將滿足預定條件的第二消息聚合生成外部系統所識別的數據格式的數據發送給所述外部系統。
[0084]可選地,所述異常消息處理模塊,還可以但不限于用于在按照異常消息提示所要求的格式對該第一消息進行重組為第一重組消息后,將所述第一重組消息發送給所述消息路由模塊;
[0085]所述消息路由模塊,還用于將所述第一重組消息投遞到消息中間件上。
[0086]可選地,所述異常消息處理模塊,還可以但不限于用于對消息中間件所不接受的第二消息進行重組為第二重組消息;將所述第二重消息發送給所述消息分揀模塊;
[0087]所述消息分揀模塊,還可以但不限于用于將所述第二重組消息發送給所述無線通信網絡。
[0088]可選地,所述預定條件可以但不限于為:所述第二消息能夠使用聚合功能。
[0089]下面對本發明提供的技術方案做進一步描述:
[0090]外部系統向無線通信網絡發送數據的過程,如圖3所示。流程如下:
[0091]步驟3301:外部系統通過調用數據接口將要發送的數據交給數據解析模塊。
[0092]步驟3302:數據解析模塊進行數據解析為消息中間件可以識別的消息,并將該消息投遞到消息中間件上。
[0093]步驟3303:消息中間件接收消息并放入消息隊列中;
[0094]步驟3304:消息校驗模塊接收消息隊列中的該消息并進行校驗,可選地,校驗消息結構的完整性和消息的合法性等;如果消息合法,則執行步驟3305,如果消息非法,則執行步驟3310。
[0095]步驟3305:消息分揀模塊對來自于消息中間件上的消息,按照消息的類別進行分揀,并將其交給對應的消息轉換模塊將原始的消息格式轉換為可以被無線通信網絡接口模塊使用的數據格式。
[0096]其中,所述按照消息的類別進行分揀,可以但不限于是依據要投遞的外部無線通信網絡進行。為了便于理解,舉例說明:比如在地鐵綜合監控軟件的應用背景下,對外的通信可以通過專用的集群通信網絡、普通移動通信網絡或11?1網絡進行。在不同的時段可能需要使用不同的網絡,比如在上班時間,專用的集群通信網絡是首選;而下班后或者節假日普通移動通信是首選;而消息的最終消費對象是不同系統的情況下,使用網絡將更方便。有多少個網絡類型就可以分成多少個類別。系統會給每個類別在消息上附加一個特征碼。用戶使用該軟件提供的八?I (八卯11(^1:1011 ?1~0取'咖“叩應用程序編程接口)進行開發。軟件支持對消息進行多層分類的目的是增加普適性。步驟3306:消息轉換模塊接收來自消息中間件上的消息,并進行格式轉換,使其符合統一無線通信接口的格式要求。
[0097]通過消息轉換模塊,來自消息中間件上的消息在通過該消息轉換模塊前附加有各種只能由本軟件才能識別的特征碼;通過消息轉換模塊后,所剩的內容為符合同一通信網絡通信協議的格式。此時該消息可以通過不同外部無線通信網絡的通信接口發送給自己的網絡。
[0098]步驟3307:接口適配模塊根據發送的消息對要使用的通信網絡的要求以及網關的配置,將數據發送的請求交給對應的通信網絡接口處理。
[0099]步驟3308:通信網絡接口模塊根據發送的消息對要使用的通信網絡的要求以及網關的配置,將數據發送的請求交給對應的通信網絡接口處理。
[0100]步驟3309:通信網絡接口處理接收數據,并將數據轉發給移動終端用戶。
[0101]步驟3310:異常消息處理模塊對非法的消息進行處理。
[0102]步驟3311:通過消息路由投遞給消息中間件。
[0103]步驟3312:消息中間件接收消息并放入消息隊列中。
[0104]步驟3313:接收消息并重組。
[0105]步驟3314:調用數據接口接收數據,以供外部系統獲得消息發送失敗的提示。
[0106]移動終端用戶通過無線通信網絡將數據發送給外部系統的過程如圖4所示。流程如下:
[0107]步驟3401:移動終端向無線通信服務器發送數據。無線通信服務器通過無線通信網絡接口將數據發送給無線通信網關。
[0108]步驟3402:通過接口適配模塊獲取數據,并發送給數據擴充模塊。
[0109]步驟3403:數據擴充模塊對數據進行必要的擴充,可選地,添加數據源、類型等附加信息。
[0110]步驟3404:附加信息后的數據通過消息生成模塊將原始的數據按照消息中間件可以識別的格式生成消息;并進行合法性判斷,如果消息合法,則執行步驟3405,如果消息非法,則執行步驟3409。
[0111]步驟3405:消息路由模塊選擇消息發送的目的地,并投遞到消息中間件上。
[0112]其中,外部系統中可能有多個組件需要消費通信網絡中傳遞來的消息,它們可以在不同消息隊列中等待自己的消息;消費消息的外部系統也可能有多個,每個系統可以有自己獨立的消息隊列或隊列組。這樣做外部系統對消息的消費可以是并發的過程,同時也避免了讓消息最終消費者(外部系統)來實施消息過濾。當消息需要經過消息聚合器的處理時,消息聚合器才發揮作用(比如,一條短信最多60漢字,那么發送70漢字的短信就需要兩條消息承載,交給最終用戶前需要經過消息聚合器合并)。
[0113]為了便于理解,還是以地鐵綜合監控系統為例,有些消息可能是工作人員發送的設備維修申請、有些消息可能是負責人員對保修的批準、有些消息可能是維修結果。這些不同消息需要投遞到不同隊列,以保證外部系統可以同步接受消息。該分類在應用層面,由該軟件提供的八?I (八卯應用程序編程接口 )指定。
[0114]步驟3406:消息中間件接收消息并放入消息隊列中。
[0115]步驟3407:消息聚合模塊從消息中間件上獲取足夠的消息后將這些消息組合成外部系統所能夠接收的數據。
[0116]其中,所述聚合功能指的是:比如,一條短信最多60漢字,那么發送70漢字的短信就需要兩條消息承載,等到最終發送用戶前需要經過消息聚合合并兩條消息為一條消息。
[0117]另外,通過在不同的系統間傳遞的系統狀態消息合并在一起,可以斷定某一事件發生時可以使用聚合功能。
[0118]步驟5408:通過調用外部數據接收接口將移動終端上發送過來的數據發送給外部系統。
[0119]步驟3409:異常消息處理模塊對非法的消息進行處理。
[0120]步驟3410:消息分揀模塊對來自于消息中間件上的消息,按照消息的類別進行,分揀,并將其交給對應的消息轉換模塊將原始的消息格式轉換為可以被無線通信網絡接口模塊使用的數據格式。
[0121]步驟3411:消息轉換模塊接收來自消息中間件上的消息,并進行格式轉換,使其符合統一無線通信接口的格式要求。
[0122]步驟3412:接口適配模塊根據發送的消息對要使用的通信網絡的要求以及網關的配置,將數據發送的請求交給對應的通信網絡接口處理。
[0123]步驟3413:調用數據接口接收數據。
[0124]通過上述實施例,可知通過本發明方法和網關,可以得到如下有益效果:
[0125]1、接口:
[0126]基于“消息”的“松耦合”接口不采用傳統的提供八?I的方式向外部系統提供接口,而是采取一種基于消息的方式傳遞需要在固有系統和無線網絡之間傳遞的信息,這樣固有系統不需要知道網關的存在,達到了與外部系統“松耦合”的目的;使得固有系統更容易接入到無線通信網絡中,并且易于固有系統獨立修改和升級維護。
[0127]2、支持同步、異步通信:
[0128]同時支持同步、異步通信方式的軟件結構在消息通信的基礎上實現了固有系統與要接入無線網絡之間的異步通信,并支持常規的同步通信;為固有系統接入無線通信網絡提供了更豐富、更全面的方式,且一步通信可以減少通信過程中等待時間,提高網絡通信的效率;
[0129]3、多網絡接入:
[0130]支持對于多種異構通信網絡的同步接入采用適配器等技術,實現了對固有系統同時接入多種異構無線、有線通信網絡的支持;對多網絡接入方式的支持,減少了固有系統上針對不同網絡的重復開發,簡化了系統結構,并且為固有系統的能力擴展提供了支持。
[0131]4、高通用性:
[0132]廣泛支持各種通信網絡和固有系統的融合采取一種通用的軟件結構,使得各種固有系統和通信網絡之間都可以通過該網關進行融合;高通用性使得該方法擁有很好的可伸縮性和普適性,可以被廣泛使用在各種系統中。
[0133]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。另外,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0134]雖然本發明所揭露的實施方式如上,但所述的內容只是為了便于理解本發明而采用的實施方式,并非用以限定本發明。任何本發明所屬【技術領域】內的技術人員,在不脫離本發明所揭露的精神和范圍的前提下,可以在實施的形式上及細節上作任何的修改與變化,但本發明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
【權利要求】
1.一種無線通信網關,其特征在于,包括:數據解析模塊、消息分揀模塊、分別對應于不同類別的一個或多個消息轉換模塊、接口適配模塊、分別對應于不同類別的一個或多個通信網絡接口模塊; 所述數據解析模塊,用于將從外部系統接收到的第一數據解析生成第一消息; 所述消息分揀模塊,用于將接收所述第一消息分揀為不同類別的第一消息; 各所述消息轉換模塊分別用于將所對應類別的第一消息轉換為統一無線通信接口格式的相應類別的第一轉換數據; 所述接口適配模塊,用于為各類別的第一轉換數據分別選擇對應的通信網絡接口模塊; 各所述通信網絡接口模塊分別用于將所對應類別的第一轉換數據發送給無線通信網絡。
2.如權利要求1所述的網關,其特征在于,所述網關還包括消息校驗模塊、異常消息處理模塊; 所述消息校驗模塊,用于將所述數據解析模塊解析得到的所述第一消息進行校驗,并將校驗為合法的第一合法消息發送給消息分揀模塊;將校驗為非法的第一非法消息發送給所述異常消息處理模塊; 所述異常消息處理模塊,用于對所述第一非法消息進行處理。
3.如權利要求2所述的網關,其特征在于,所述網關還包括數據擴充模塊、消息生成模塊、消息路由模塊、消息聚合模塊; 各所述通信網絡接口模塊,還分別用于將從無線通信網絡接收的第二數據發送給所述接口適配模塊; 所述接口適配模塊,還用于將所述第二數據發送給所述數據擴充模塊; 所述數據擴充模塊,用于在所述第二數據添加附加信息為第二附加數據后,將所述第二附加數據發送給消息生成模塊; 所述消息生成模塊,用于在所述第二附加數據進行拆解生成為消息中間件所接受的第二消息后,將所述第二消息發給所述消息路由模塊; 所述消息路由模塊,用于在所述第二消息分為不同類別的第二消息后,分別將各類別的第二消息放入該類別對應的消息隊列; 所述消息聚合模塊,用于分別從各類別對應的消息隊列中獲得第二消息;當所獲得的第二消息滿足預定條件時,將滿足預定條件的第二消息聚合生成外部系統所識別的數據格式的數據發送給所述外部系統。
4.如權利要求3所述的網關,其特征在于, 所述異常消息處理模塊,還用于在按照異常消息提示所要求的格式對該第一消息進行重組為第一重組消息后,將所述第一重組消息發送給所述消息路由模塊; 所述消息路由模塊,還用于將所述第一重組消息投遞到消息中間件上。
5.如權利要求3所述的網關,其特征在于, 所述異常消息處理模塊,還用于對消息中間件所不接受的第二消息進行重組為第二重組消息;將所述第二重消息發送給所述消息分揀模塊; 所述消息分揀模塊,還用于將所述第二重組消息發送給所述無線通信網絡。
6.如權利要求3所述的網關,其特征在于, 所述預定條件為:所述第二消息能夠使用聚合功能。
7.一種基于消息的無線通信網關的實現方法,其特征在于, 將從外部系統接收到的第一數據解析生成第一消息; 將接收所述第一消息分揀為不同類別的第一消息; 分別將各類別的第一消息轉換為統一無線通信接口格式的相應類別的第一轉換數據; 將各類別的第一轉換數據分別發給對應的通信網絡接口; 各通信網絡接口分別將對應類別的第一轉換數據發送給無線通信網絡。
8.如權利要求7所述的方法,其特征在于,所述方法還包括: 對所述第一消息進行校驗并對校驗為非法的第一非法消息進行處理。
9.如權利要求7所述的方法,其特征在于,所述方法還包括: 將從無線通信網絡的接收的第二數據中添加附加信息為第二附加數據; 對所述第二附加數據進行拆解生成為消息中間件所接受的第二消息; 將所述第二消息分為不同類別的第二消息; 當分別從各類別對應的消息隊列中獲得的第二消息滿足預定條件時,將滿足預定條件的第二消息聚合生成外部系統所識別的數據格式的數據,并發送給所述外部系統。
10.如權利要求9所述的方法,其特征在于, 按照異常消息提示所要求的格式將所述第一消息重組為第一重組消息。
11.如權利要求9所述的方法,其特征在于, 對消息中間件所不接受的第二消息進行重組為第二重組消息,并將所述第二重組消息發送給所述無線通信網絡。
12.如權利要求9所述的方法,其特征在于, 所述預定條件為:所述第二消息能夠使用聚合功能。
【文檔編號】H04W88/16GK104394606SQ201410737969
【公開日】2015年3月4日 申請日期:2014年12月4日 優先權日:2014年12月4日
【發明者】任凱 申請人:北京和利時系統工程有限公司