中文字幕无码日韩视频无码三区

一種基于分發思想的消息服務中間件系統的制作方法

文檔序號(hao):7816083閱(yue)讀:280來(lai)源:國知局
一種基于分發思想的消息服務中間件系統的制作方法
【專利摘要】本發明提供一種基于分發思想的消息服務中間件系統,用于各類消息的分發、轉發服務,旨在滿足應用服務的基礎上降低服務端接收消息請求任務的壓力以及提高處理多個請求方不同請求任務的效率問題。系統包括:(1)消息服務訂閱模塊;(2)消息服務分發模塊;(3)消息服務發布模塊。采用該系統可以解決訂閱方頻繁查找不同服務的提供方地址的甚至找不到服務提供方地址的問題;可以有效降低服務端接收請求任務的次數,減小重復數據發布的概率,有效的提高數據發布效率;能夠解決服務端大批量請求任務處理的瓶頸問題。
【專利說明】—種基于分發思想的消息服務中間件系統

【技術領域】
[0001]本發明涉及通信【技術領域】,在各類消息服務中,當一方向另一方請求數據或服務時,對于任務處理效率以及數據發布效率有較高的要求,該發明旨在減少服務端接收相同請求任務的概率以及減少處理相同請求的負擔,提高請求任務的處理效率以及解決大批量請求任務處理在數量以及效率上的瓶頸問題。具體地說是一種基于分發思想的消息服務中間件系統。

【背景技術】
[0002]在各類消息服務中,請求任務處理的效率、數據發布的效率以及大批量請求任務的可靠穩定處理都要較高的要求,而計算機的CPU、內存等各種資源以及網絡帶寬資源都是有限的,為滿足大批量請求任務應用的需求,消息服務必須高效、穩定。
[0003]目前各類消息服務都采用請求方向數據或服務提供方直接發送請求的方式進行,這類處理方法使得服務方頻繁接收相同請求任務以及頻繁發送相同的數據或提供重復的服務,在服務方有限的服務提供能力下,導致服務提供效率的降低。而且,當服務提供方在某一時刻崩潰重啟后,當前消息服務處理方法無法使得數據或服務請求方及時獲取數據或服務,且請求方必須重新提交請求任務后,才能重新獲取數據或服務,增加了請求方以及服務提供方的負擔。
[0004]當請求方需要服務提供方周期性提供服務時,當前各類消息服務處理方法要求請求方周期性的向服務提供方發送服務請求,導致網絡負載隨請求方數量以及請求周期成幾何倍數增長,當前各類消息服務處理方法不可避免的會產生批量請求任務處理以及服務提供效率的瓶頸問題,因此,減少不必要的請求任務,將有利于整體服務效率的提升。


【發明內容】

[0005]本發明的目的是提供一種消息服務中間件系統。
[0006]本發明的目的是按以下方式實現的,系統包括I)消息服務訂閱模塊;2)消息服務分發模塊;3)消息服務發布模塊,其中:
O消息服務訂閱模塊
消息服務訂閱模塊,主要實現訂閱請求的注冊、發送以及訂閱數據的正確回返,消息服務訂閱模塊數據流向為:實例化訂閱請求任務后,消息服務訂閱模塊將服務請求任務進行注冊登記,并將帶有服務碼以及過濾條件的請求信息發送給消息服務分發模塊;消息服務訂閱模塊接收到回返數據后,根據服務碼以及注冊信息,將回返數據返回給相應的請求者,消息服務訂閱模塊的各類功能如下:
(1)CMsgSubscribeListMgr類:初始化運行環境并啟動接收線程,管理注冊信息,并分發回返數據;
(2)CMsgSubscribe類:定義消息訂閱接口,其子類需要實現該類定義的方法;
(3)NewClass類及NewClass2類:消息訂閱實例類,繼承CMsgSubscribe類,根據具體業務需求實現CMsgSubscribe類定義的接口 ;
消息服務中間件系統,采用服務碼的形式或者稱為消息號區分不同的服務,服務方對每一個服務提供一個特定的服務碼,訂閱方以提供服務碼的方式獲取服務,服務碼可根據具體業務需要進行自定義,消息服務訂閱模塊采用過濾條件的方式處理需特殊處理的訂閱請求;
消息服務訂閱模塊支持兩個訂閱方互相訂閱的業務;
2)消息服務分發模塊
消息服務分發模塊,是消息服務中間件系統的主體模塊,該模塊需要實現的功能包括:獲取服務配置信息、消息解析、消息分發,包括訂閱請求的轉發和訂閱數據的轉發、相同請求處理、特殊訂閱處理或過濾處理以及訂閱信息注冊及取消訂閱;
消息服務分發模塊具體實現流程為:
(1)初始化運行環境,獲取服務配置信息,包括服務類型、服務提供方地址、采用的通信方式以及服務自動探測周期,配置信息記錄到服務轉發表中;
(2)消息服務分發模塊接收消息;
(3)消息服務分發模塊對消息進行解析,獲取消息類型以及消息服務碼;
(4)消息服務分發模塊根據消息類型及服務碼進行相應的處理,基本消息類型包括:請求消息、響應消息、取消訂閱消息以及探測消息,消息類型可根據業務需要進行擴展;如果接收到的消息類型是請求消息,并且注冊列表中沒有該類型的請求或者請求參數不相同,則根據服務轉發表將消息轉發給相應的服務提供方,并將該訂閱信息寫入注冊列表;另外,如果已有該類型的請求,但超過某個時間閥值未收到響應,消息服務分發夠將將重發該訂閱請求,如果是響應消息,則根據服務碼以及注冊列表將消息返回給相應的訂閱者;數據回返時根據注冊列表中的過濾條件選擇回返方式,回返方式可自定義;如果是取消訂閱消息,則將該訂閱者從注冊列表中刪除,當注冊列表為空時,消息服務分發模塊將向該類型的消息服務提供方發送取消訂閱消息;如果是探測消息,則提示服務提供方正常運行,并根據業務需求進行相關處理;
消息服務分發模塊包含服務探測機制,當某個類型的請求超過某個閥值未收到響應時,消息服務分發模塊將自動向服務端發送該類型的訂閱請求,超時閥值可根據不同的服務需求進行獨立設置;
消息服務分發模塊各類功能如下:
(1)CMsgDispatchMgr類:初始化運行環境,提供服務總接口 ;
(2)CMsgParser類:消息解析,獲取消息服務碼等必要信息
(3)SMsgHead類:定義消息解析結構,可根據業務擴展;
(4)CMsgSubscribeMgr類:訂閱請求注冊及轉發、響應消息分發以及其他各類型消息處理;
(5)CSubscribe類:定義訂閱者注冊信息格式,包括訂閱者地址、過濾參數等必要信息;
(6)CMsgReqSendFactory類:訂閱請求信息發送方式管理;
(7)CMsgSubResponseHandler類:定義訂閱請求信息發送接口,便于自定義訂閱請求消息發送方式; (8)CMsgSendHandlerO類及CMsgSendHandlerl類:實例化的訂閱請求信息發送方式;
(9)CMsgReqSendFactory類:響應數據回返方式管理;
(10)CMsgSendHandle類:訂閱響應消息回返方式接口,便于自定義響應信息回返方式;
(11)CDetailMsgHandlerO類及CDetailMsgHandlerl類:實例化的響應數據回返方式類;
3)消息服務發布模塊
消息服務發布模塊主要實現訂閱請求的接收、解析以及訂閱數據的回返,消息服務發布模塊工作流程如下:
(O消息服務發布模塊接收消息;
(2)消息服務發布模塊對消息進行解析,獲取該請求的服務碼及消息類型;
(3)如果是訂閱請求消息,消息服務發布模塊根據該服務碼查找本服務的訂閱請求注冊列表,如果已經存在該類型的請求,則不進行處理,否則將該訂閱請求注冊登記到訂閱請求注冊列表中,并將訂閱請求提供給服務提供方;
(4)如果接收到探測消息,則根據消息服務碼查找本服務的訂閱請求注冊列表,如果已經存在該類型的請求,則返回探測響應消息;否則,解析探測消息,獲取訂閱請求信息,并將該訂閱請求注冊登記到本服務的訂閱請求注冊列表中,并將訂閱請求提供給服務提供方;
消息服務發布模塊的類功能是=CPubSubServer類:實現消息接收、解析以及響應數據回返。
[0007]所述的系統,設置消息訂閱接口,按照規定格式發送訂閱請求,訂閱請求格式規定如下:
報文頭+服務碼+過濾參數+消息標記
報文頭為協議報文頭,長度根據采用的協議進行規定;服務碼可根據實際業務需求進行定義,長度根據需要設置;過濾參數用于區分同類型請求不同請求參數的訂閱請求,其格式可根據實際業務進行自定義;消息標記用于區別各類消息類型及業務所需的消息標記。
[0008]所述的系統,將服務進行分類,不同請求者同一類型、相同請求參數的訂閱請求條件性向服務提供方發送,默認發送條件為:
(1)沒有該類型的訂閱請求;
(2)有該類型的訂閱請求,但請求參數不同;
(3)有該類型的同請求參數的請求,但超過預定時間閥值未收到響應消息;
發送條件可根據實際業務需要進行擴展,預定時間閥值不同服務可獨立設置。
[0009]所述的系統,消息服務分發模塊采用超時自動探測機制,對超過預定時間閥值未收到響應消息的服務進行探測。
[0010]所述的系統,消息服務分發模塊轉發、分發訂閱請求及響應消息時,可采用自定義方式進行發送消息。
[0011]本發明的目的有益效果是:通過消息服務訂閱模塊、消息服務分發模塊以及消息服務發布模塊的配合工作,降低頻繁訂閱對訂閱方以及服務提供方帶來的負擔以及網絡負載壓力,規范服務提供方式,提高大批量任務處理的穩定性及服務提供效率。

【專利附圖】

【附圖說明】
[0012]圖1是消息服務中間件系統結構圖;
圖2是消息服務訂閱模塊功能結構示意圖;
圖3是消息服務訂閱模塊流程圖;
圖4是消息服務分發模塊功能結構示意圖圖5是消息服務發布模塊功能結構示意圖。

【具體實施方式】
[0013]參照說明書附圖對本發明的一種消息服務中間件系統作以下詳細地說明。
[0014]本發明所要解決的技術問題是提供一種基于分發思想的消息服務中間件系統,該系統分類訂閱各類請求任務,相同類型的請求任務在一定時間內只請求一次,以減少服務提供方對請求任務處理的壓力;對服務方提供的數據或服務采用注冊分發技術,使得每個數據或服務請求方都能及時獲取所需數據或服務。
[0015]消息服務中間件系統結構如圖1所示,其具體實現方案如下:
系統設置I)消息服務訂閱模塊;2)消息服務分發模塊;3)消息服務發布模塊,其中: O消息服務訂閱模塊
消息服務訂閱模塊主要實現訂閱請求的注冊、發送以及訂閱數據的正確回返。消息服務訂閱模塊數據流向為:實例化訂閱請求任務后,訂閱模塊將服務請求任務進行注冊登記,并將帶有服務碼以及過濾條件的請求信息發送給消息服務分發模塊;消息服務訂閱模塊接收到回返數據后,根據服務碼以及注冊信息,將回返數據返回給相應的請求者。
[0016]消息服務訂閱模塊類圖如圖2所示,各類的功能如下:
(1)CMsgSubscribeListMgr類:初始化運行環境并啟動接收線程,管理注冊信息,并分發回返數據;
(2)CMSgSUbScribe類:定義消息訂閱接口,其子類需要實現該類定義的方法;
(3)NewClass類及NewClass2類:消息訂閱實例類,繼承CMsgSubscribe類,根據具體業務需求實現CMsgSubscribe類定義的接口。
[0017]消息服務中間件采用服務碼的形式或者稱為消息號區分不同的服務,服務方對每一個服務提供一個特定的服務碼,訂閱方以提供服務碼的方式獲取服務,服務碼可根據具體業務需要進行自定義。消息服務訂閱模塊采用過濾條件的方式處理需特殊處理的訂閱請求,比如A請求2013年濟南市的雨水情況,B請求青島市2014年的雨水情況,A和B將采用相同的服務碼進行請求,但兩者的請求參數將在過濾條件中進行區別。
[0018]消息服務訂閱模塊流程圖如圖3所示。
[0019]消息服務訂閱模塊支持兩個訂閱方互相訂閱的業務。例如,A可提供雨水類的服務信息,B可提供糧食產量類的信息,則A可向B訂閱請求糧食類的信息服務,B可向A訂閱請求雨水類的信息服務。
[0020]2)消息服務分發模塊
消息服務分發模塊是消息服務中間件的主體模塊,該模塊需要實現的功能包括:獲取服務配置信息、消息解析、消息分發(包括訂閱請求的轉發和訂閱數據的轉發)、相同請求處理、特殊訂閱處理(過濾處理)以及訂閱信息注冊及取消訂閱。
[0021]消息服務分發模塊具體實現流程為:
(1)初始化運行環境,獲取服務配置信息,包括服務類型、服務提供方地址、采用的通信方式以及服務自動探測周期,配置信息記錄到服務轉發表中;
(2)消息服務分發模塊接收消息;
(3)消息服務分發模塊對消息進行解析,獲取消息類型以及消息服務碼;
(4)消息服務分發模塊根據消息類型及服務碼進行相應的處理。基本消息類型包括:請求消息、響應消息、取消訂閱消息以及探測消息,消息類型可根據業務需要進行擴展。如果接收到的消息類型是請求消息,并且注冊列表中沒有該類型的請求,或者請求參數不相同,則根據服務轉發表將消息轉發給相應的服務提供方,并將該訂閱信息寫入注冊列表,另夕卜,如果已有該類型的請求,但超過某個時間閥值未收到響應,消息服務分發夠將將重發該訂閱請求。如果是響應消息,則根據服務碼以及注冊列表將消息返回給相應的訂閱者;數據回返時根據注冊列表中的過濾條件選擇回返方式,回返方式可自定義。如果是取消訂閱消息,則將該訂閱者從注冊列表中刪除,當注冊列表為空時,消息服務分發模塊將向該類型的消息服務提供方發送取消訂閱消息。如果是探測消息,則提示服務提供方正常運行,并根據業務需求進行相關處理。
[0022]消息服務分發模塊包含服務探測機制,當某個類型的請求超過某個閥值未收到響應時,消息服務分發模塊將自動向服務端發送該類型的訂閱請求。超時閥值可根據不同的服務需求進行獨立設置。
[0023]消息服務分發模塊類圖如圖4所示,各類功能如下:
(1)CMsgDispatchMgr類:初始化運行環境,提供服務總接口 ;
(2)CMsgParser類:消息解析,獲取消息服務碼等必要信息
(3)SMsgHead類:定義消息解析結構,可根據業務擴展;
(4)CMsgSubscribeMgr類:訂閱請求注冊及轉發、響應消息分發以及其他各類型消息處理;
(5)CSubscribe類:定義訂閱者注冊信息格式,包括訂閱者地址、過濾參數等必要信息
(6)CMsgReqSendFactory類:訂閱請求信息發送方式管理
(7)CMsgSubResponseHandler類:定義訂閱請求信息發送接口,便于自定義訂閱請求消息發送方式
(8)CMsgSendHandlerO類及CMsgSendHandlerl類:實例化的訂閱請求信息發送方式
(9)CMsgReqSendFactory類:響應數據回返方式管理;
(10)CMsgSendHandle類:訂閱響應消息回返方式接口,便于自定義響應信息回返方式
(11)CDetailMsgHandlerO類及CDetailMsgHandlerl類:實例化的響應數據回返方式類
3)消息服務發布模塊
消息服務發布模塊主要實現訂閱請求的接收、解析以及訂閱數據的回返。消息服務發布模塊流程如下:
(O消息服務發布模塊接收消息;
(2)消息服務發布模塊對消息進行解析,獲取該請求的服務碼及消息類型;
(3)如果是訂閱請求消息,消息服務發布模塊根據該服務碼查找本服務的訂閱請求注冊列表,如果已經存在該類型的請求,則不進行處理,否則將該訂閱請求注冊登記到訂閱請求注冊列表中,并將訂閱請求提供給服務提供方;
(4)如果接收到探測消息,則根據消息服務碼查找本服務的訂閱請求注冊列表,如果已經存在該類型的請求,則返回探測響應消息;否則,解析探測消息,獲取訂閱請求信息,并將該訂閱請求注冊登記到本服務的訂閱請求注冊列表中,并將訂閱請求提供給服務提供方。
[0024]消息服務發布模塊類圖如圖5所示,各類功能如下所示:
(I)CPubSubServer類:實現消息接收、解析以及響應數據回返。
【權利要求】
1.一種基于分發思想的消息服務中間件系統,其特征在于,系統包括I)消息服務訂閱模塊;2)消息服務分發模塊;3)消息服務發布模塊,其中: O消息服務訂閱模塊 消息服務訂閱模塊,主要實現訂閱請求的注冊、發送以及訂閱數據的正確回返,消息服務訂閱模塊數據流向為:實例化訂閱請求任務后,消息服務訂閱模塊將服務請求任務進行注冊登記,并將帶有服務碼以及過濾條件的請求信息發送給消息服務分發模塊;消息服務訂閱模塊接收到回返數據后,根據服務碼以及注冊信息,將回返數據返回給相應的請求者,消息服務訂閱模塊的各類功能如下: (1)CMsgSubscribeListMgr類:初始化運行環境并啟動接收線程,管理注冊信息,并分發回返數據; (2)CMSgSUbScribe類:定義消息訂閱接口,其子類需要實現該類定義的方法; (3)NewClass類及NewClass2類:消息訂閱實例類,繼承CMsgSubscribe類,根據具體業務需求實現CMsgSubscribe類定義的接口 ; 消息服務中間件系統,采用服務碼的形式或者稱為消息號區分不同的服務,服務方對每一個服務提供一個特定的服務碼,訂閱方以提供服務碼的方式獲取服務,服務碼可根據具體業務需要進行自定義,消息服務訂閱模塊采用過濾條件的方式處理需特殊處理的訂閱請求; 消息服務訂閱模塊支持兩個訂閱方互相訂閱的業務; 2)消息服務分發模塊 消息服務分發模塊,是消息服務中間件系統的主體模塊,該模塊需要實現的功能包括:獲取服務配置信息、消息解析、消息分發,包括訂閱請求的轉發和訂閱數據的轉發、相同請求處理、特殊訂閱處理或過濾處理以及訂閱信息注冊及取消訂閱; 消息服務分發模塊具體實現流程為: (1)初始化運行環境,獲取服務配置信息,包括服務類型、服務提供方地址、采用的通信方式以及服務自動探測周期,配置信息記錄到服務轉發表中; (2)消息服務分發模塊接收消息; (3)消息服務分發模塊對消息進行解析,獲取消息類型以及消息服務碼; (4)消息服務分發模塊根據消息類型及服務碼進行相應的處理,基本消息類型包括:請求消息、響應消息、取消訂閱消息以及探測消息,消息類型可根據業務需要進行擴展;如果接收到的消息類型是請求消息,并且注冊列表中沒有該類型的請求或者請求參數不相同,則根據服務轉發表將消息轉發給相應的服務提供方,并將該訂閱信息寫入注冊列表;另外,如果已有該類型的請求,但超過某個時間閥值未收到響應,消息服務分發夠將將重發該訂閱請求,如果是響應消息,則根據服務碼以及注冊列表將消息返回給相應的訂閱者;數據回返時根據注冊列表中的過濾條件選擇回返方式,回返方式可自定義;如果是取消訂閱消息,則將該訂閱者從注冊列表中刪除,當注冊列表為空時,消息服務分發模塊將向該類型的消息服務提供方發送取消訂閱消息;如果是探測消息,則提示服務提供方正常運行,并根據業務需求進行相關處理; 消息服務分發模塊包含服務探測機制,當某個類型的請求超過某個閥值未收到響應時,消息服務分發模塊將自動向服務端發送該類型的訂閱請求,超時閥值可根據不同的服務需求進行獨立設置; 消息服務分發模塊各類功能如下: (1)CMsgDispatchMgr類:初始化運行環境,提供服務總接口 ; (2)CMsgParser類:消息解析,獲取消息服務碼等必要信息 (3)SMsgHead類:定義消息解析結構,可根據業務擴展; (4)CMsgSubscribeMgr類:訂閱請求注冊及轉發、響應消息分發以及其他各類型消息處理; (5)CSubscribe類:定義訂閱者注冊信息格式,包括訂閱者地址、過濾參數等必要信息; (6)CMsgReqSendFactory類:訂閱請求信息發送方式管理; (7)CMsgSubResponseHandler類:定義訂閱請求信息發送接口,便于自定義訂閱請求消息發送方式; (8)CMsgSendHandlerO類及CMsgSendHandlerl類:實例化的訂閱請求信息發送方式; (9)CMsgReqSendFactory類:響應數據回返方式管理; (10)CMsgSendHandle類:訂閱響應消息回返方式接口,便于自定義響應信息回返方式; (11)CDetailMsgHandlerO類及CDetailMsgHandlerl類:實例化的響應數據回返方式類; 3)消息服務發布模塊 消息服務發布模塊主要實現訂閱請求的接收、解析以及訂閱數據的回返,消息服務發布模塊工作流程如下: (O消息服務發布模塊接收消息; (2)消息服務發布模塊對消息進行解析,獲取該請求的服務碼及消息類型; (3)如果是訂閱請求消息,消息服務發布模塊根據該服務碼查找本服務的訂閱請求注冊列表,如果已經存在該類型的請求,則不進行處理,否則將該訂閱請求注冊登記到訂閱請求注冊列表中,并將訂閱請求提供給服務提供方; (4)如果接收到探測消息,則根據消息服務碼查找本服務的訂閱請求注冊列表,如果已經存在該類型的請求,則返回探測響應消息;否則,解析探測消息,獲取訂閱請求信息,并將該訂閱請求注冊登記到本服務的訂閱請求注冊列表中,并將訂閱請求提供給服務提供方; 消息服務發布模塊的類功能是CPubSubServer類:實現消息接收、解析以及響應數據回返。
2.根據權利要求1所述的系統,其特征是:設置消息訂閱接口,按照規定格式發送訂閱請求,訂閱請求格式規定如下: 報文頭+服務碼+過濾參數+消息標記 報文頭為協議報文頭,長度根據采用的協議進行規定;服務碼可根據實際業務需求進行定義,長度根據需要設置;過濾參數用于區分同類型請求不同請求參數的訂閱請求,其格式可根據實際業務進行自定義;消息標記用于區別各類消息類型及業務所需的消息標記。
3.根據權利要求1所述的系統,其特征是:將服務進行分類,不同請求者同一類型、相同請求參數的訂閱請求條件性向服務提供方發送,默認發送條件為: (1)沒有該類型的訂閱請求; (2)有該類型的訂閱請求,但請求參數不同; (3)有該類型的同請求參數的請求,但超過預定時間閥值未收到響應消息; 發送條件可根據實際業務需要進行擴展,預定時間閥值不同服務可獨立設置。
4.根據權利要求1所述的系統,其特征是:消息服務分發模塊采用超時自動探測機制,對超過預定時間閥值未收到響應消息的服務進行探測。
5.根據權利要求1所述的系統,其特征是:消息服務分發模塊轉發、分發訂閱請求及響應消息時,可采用自定義方式進行發送消息。
【文檔編號】H04L29/08GK104243611SQ201410516976
【公開日】2014年12月24日 申請日期:2014年9月30日 優先權日:2014年9月30日
【發明者】馬駿, 邵兵, 喬富龍 申請人:浪潮軟件股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1