新四季網

發布-訂閱消息傳遞的方法和系統的製作方法

2023-05-29 06:24:56

專利名稱:發布-訂閱消息傳遞的方法和系統的製作方法
技術領域:
本發明涉及消息傳遞模式,特別涉及發布-訂閱(Pub-Sub)消息傳遞模式。
背景技術:
雲計算是一種基於網際網路的計算新方式,通過網際網路上異構、自治的服務為個人和企業用戶提供按需即取的計算。雲計算通常認為包括以下幾個層次的服務基礎設施即服務(IaaS),平臺即服務(PaaS)和軟體即服務(SaaS)。發布-訂閱模型(Pub-Sub)是目前應用比較廣泛的消息傳遞模式,由於具有異步、 鬆散耦合、多對多通信等特點,因此能夠適應目前動態多變的大規模分布式雲計算環境的需求。在雲計算環境中,隨著應用服務實例數目的增加,Pub-Sub的流量也迅速增加,通常 Pub-Sub業務流負責承載相對於數據消息具有更高優先級的管理控制消息,由於管理控制消息通常具有數據包小、發送頻率高、周期性發送的特點,傳統的pub-sub業務當系統規模增加並且通信需求強烈時會佔用了比較大的帶寬,導致Pub-Sub客戶端與遠程Pub-Sub管理器通信效率降低。因此需要提高pub-sub業務流的傳輸效率,減少佔用的帶寬。

發明內容
基於上述問題,本發明提供一種發布-訂閱(Pub-Sub)傳輸方法和系統。根據本發明的第一方面,提供一種發布-訂閱傳輸方法,該方法包括接收多個發布-訂閱消息;判斷所述多個發布-訂閱消息的相似性;聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;發送所述聚合的發布-訂閱消息。根據本發明的第二方面,提供一種發布-訂閱傳輸方法,該方法包括接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的;解聚合所述聚合的發布-訂閱消息並恢復所述多個發布-訂閱消息;發送所述多個發布-訂閱消息。根據本發明的第三方面,提供一種發布-訂閱傳輸系統,該系統包括消息接收模塊,被配置為接收多個發布-訂閱消息;判斷模塊,被配置為判斷所述多個發布-訂閱消息的相似性;聚合模塊,被配置為聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;聚合消息發送模塊,被配置為發送所述聚合的發布-訂閱消息。根據本發明的第四方面,提供一種發布-訂閱傳輸系統,該系統包括聚合消息接收模塊,接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的;解聚合模塊,被配置為解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息;消息發送模塊,被配置為發送所述多個發布-訂閱消息。根據本發明的發布-訂閱傳輸方法和系統對發布-訂閱消息進行聚合和解聚合, 聚合消息不僅可以減少消息體中的欄位冗餘,而且可以減少網絡中發布-訂閱客戶端和發布訂閱管理器之間建立連接的開銷,從而減小了網絡傳輸的數據量和佔用的帶寬。


結合附圖,通過參考下列詳細的示例性實施例的描述,將會更好地理解本發明本身、優選的實施方式以及本發明的目的和優點,其中圖1示出現有技術中發布-訂閱消息傳遞系統的工作原理圖;圖2示出根據本發明一個實施例的發布-訂閱消息傳遞方法;圖3a示出根據本發明一個實施例的原始發布-訂閱消息的結構;圖北示出根據本發明一個實施例產生的聚合的消息結構;圖3c示出根據本發明另一個實施例產生的聚合的消息結構圖4示出根據本發明一個實施例的發布-訂閱消息傳遞方法;圖5示出虛擬化環境中的發布-訂閱客戶端架構示意圖;圖6示出根據本發明的一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法;圖7示出根據本發明的一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法具體實施方式
;圖8示出根據本發明的另一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法;圖9示出根據本發明的另一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法;圖10示出根據本發明一個實施例的發布-訂閱消息傳遞系統100 ;圖11示出根據本發明一個實施例的發布-訂閱消息傳遞系統200 ;以及圖12示出根據本發明的一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的系統。
具體實施例方式以下結合附圖描述根據本發明實施例的方法,將會更好地理解本發明的目的和優
點ο圖1示出現有技術中發布-訂閱消息傳遞系統的工作原理圖,發布-訂閱消息傳遞系統包括三個組件發布客戶端、訂閱客戶端和發布-訂閱管理器。訂閱方負責訂閱消息和接收通知,發布客戶端負責發布消息。發布-訂閱消息傳遞流程包括1)訂閱一個或多個訂閱客戶端向發布-訂閱管理器訂閱特定的事件E ;2)發布當發布客戶端滿足發布事件E的條件,向發布-訂閱管理器發布相應的消息E ;3)通知訂閱了事件E的訂閱客戶端接收到發布-訂閱管理器發來的消息E。通常一次訂閱對應著後續多次發布(publish)和通知(notification),直到訂閱 (subscription)被取消。本發明的核心思想是在發布-訂閱消息傳遞模式,通常發生由發布-訂閱管理器向N個訂閱相同事件的訂閱客戶端發送相同或相似的通知消息,以及N個發布客戶端通常向發布-訂閱管理器發布相似的一類消息,例如,對於同一個事件響應的通知消息除了目標地址不同以外其他欄位都相同,而相同類型的發布消息具有很多相同的欄位。本發明在發送端(發布客戶端或發布-訂閱管理器)將相同或相似的多條消息構造為聚合的消息並發送出去,在接收端(發布-訂閱管理器或訂閱客戶端)再實現解聚合,將聚合的消息分解為多條消息並傳送給接收端(發布-訂閱管理器或訂閱客戶端),從而節省了傳輸的帶寬。圖2示出根據本發明一個實施例的發布-訂閱消息傳遞方法,該方法包括以下步驟在步驟S201,接收多個發布-訂閱消息;在步驟S202,判斷所述多個發布-訂閱消息的相似性;在步驟S203,聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;在步驟S204,發送所述聚合的發布-訂閱消息。在步驟S201,接收多個發布-訂閱消息,是通過TCP/IP等網絡協議進行傳輸的。根據本發明的一個實施例,所述多個發布-訂閱消息是來自發布-訂閱客戶端的發布消息,在發布-訂閱客戶端側將發布-訂閱客戶端向發布-訂閱管理器發送的發布消息接收下來。 根據本發明的另一實施例,所述多個發布-訂閱消息是來自接收發布-訂閱管理器的通知消息,即,將發布-訂閱管理器向發布-訂閱客戶端發送的通知消息攔截下來。在步驟S202,判斷多個發布-訂閱消息的相似性,具體地,可以根據下列中的至少一個來判斷消息的相似性根據發布-訂閱消息的名字來判斷消息的相似性,通常名字相同的發布-訂閱消息是相似的;根據發布-訂閱消息的長度判斷消息的相似性;根據多個發布-訂閱消息的響應事件標識來判斷消息的相似性;通過對所述多個發布-訂閱消息的欄位的內容進行比較,即對被比較發布-訂閱消息的欄位做字符串比較,求出多個發布-訂閱消息的相似性。在步驟S203,聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息。具體地,提取所述多個發布-訂閱消息所包含的相同內容欄位的和不同內容欄位; 去除所述相同內容欄位的冗餘和組合不同內容欄位;生成標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位;利用去除冗餘的所述相同內容欄位、不同內容欄位和聚合控制欄位構造聚合的發布-訂閱消息。其中聚合控制欄位標識相同內容欄位和不同內容欄位的位置以及不同內容欄位分別對應於哪個發布-訂閱消息。根據本發明的一個實施例,根據上述方法確定出發布-訂閱客戶端發布的多個發布消息A,B, C具有相似性,則提取多個發布消息A,B, C中所包含的相同內容欄位和不同內容欄位;將相同內容欄位和不同內容欄位重新構造,產生聚合的消息,圖3a示出根據本發明一個實施例的原始發布-訂閱消息的結構,以TCP/IP網絡傳輸為例,其中發布-訂閱消息的結構由TCP/IP頭、發布-訂閱協議頭和消息體構成。圖北示出根據本發明一個實施例產生的聚合的消息結構,其中按照發布-訂閱消息的結構,將發布消息A,B,C的消息體進行聚合,去除所述相同內容欄位的冗餘,保留一份相同內容欄位,在保留了發布-訂閱協議頭中相同欄位的內容的同時,在發布-訂閱協議頭中增加了發布方地址列表的欄位。組合不同內容欄位,產生聚合的發布消息體欄位,並且在TCP/IP頭和發布-訂閱協議頭之間生成標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位。根據本發明的一個實施例,還可以對聚合的發布消息體欄位進行壓縮,產生壓縮的發布消息體欄位,同時在聚合控制欄位中增加壓縮參數。根據本發明的另一個實施例,根據上述方法確定出發布-訂閱管理器發布的多個通知消息A,B,C相同,圖3c示出根據本發明另一個實施例產生的聚合的消息結構,其中仍然按照發布-訂閱消息的結構,保留了相同內容的通知消息體欄位,在保留了發布-訂閱協議頭相同欄位的內容的同時在發布-訂閱協議頭中增加了訂閱方地址列表的欄位,以及在 TCP/IP頭和發布-訂閱協議頭之間生成標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位。在步驟S204,發送所述聚合的發布-訂閱消息。用聚合的發布-訂閱消息替代了多個發布-訂閱消息,減小了網絡傳輸的數據量和佔用的帶寬。與圖2的實施例所示的發布-訂閱消息傳遞方法相對應,圖4示出根據本發明一個實施例的發布-訂閱消息傳遞方法,包括以下步驟在步驟S401,接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的; 在步驟S402,解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息;在步驟 S403,發送所述多個發布-訂閱消息。在步驟S401,接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的,其中發布-訂閱消息聚合的方法可以參照圖 3b-c的實施例描述的方法。在步驟S402,解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息, 其中解聚合是聚合的逆過程,即拆分聚合的發布-訂閱消息。根據本發明的一個實施例,接續上述發布-訂閱客戶端發布具有相似性的多個發布消息A,B, C的實例,在發布-訂閱管理器側接收到圖北所示的聚合的發布消息,從聚合的發布-訂閱消息中提取聚合控制欄位,其中所述聚合控制欄位用於標識所述多個發布-訂閱消息的聚合映射關係,根據所述聚合控制欄位解聚合所述聚合的發布-訂閱消息並恢復所述多個發布-訂閱消息,即將聚合的發布消息按照原始發布-訂閱消息的格式恢復為原始的多個發布消息A,B和C,接著按照步驟S403,將多個發布消息A,B和C發送到發布-訂閱管理器。根據本發明的另一個實施例,接續發布-訂閱管理器發布多個相同的通知消息A,B,C的實例,在發布-訂閱客戶端側接收到圖3c所示的聚合的通知消息,從聚合的發布-訂閱消息中提取標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位,根據所述聚合控制欄位解聚合所述聚合的發布-訂閱消息並恢復所述多個發布-訂閱消息,進一步將聚合的通知消息按照原始通知消息的格式恢復為原始的多個通知消息,接著按照步驟S403,將多個通知消息發送到發布-訂閱客戶端。根據本發明的一個實施例,在虛擬化環境中實現發布-訂閱消息傳遞。圖5示出虛擬化環境中的發布-訂閱客戶端的架構示意圖,虛擬化環境包括物理機、虛擬機管理器 (Hypervisor)和多個虛擬機,其中虛擬機是一種嚴密隔離的軟體容器,它包括多個客戶機作業系統(guest OS)以及運行在每個客戶機作業系統上的多個應用程式,可具有不同作業系統的多個虛擬機在同一物理機上獨立並行運行,從而在多臺虛擬機之間實現單臺物理機的資源共享。虛擬機管理器(hypervisor)是提供底層機器虛擬化的軟體層,其運行在物理硬體之上,在底層上實現對虛擬機的管理和支持,以動態和透明方式向虛擬機分配硬體資源。本發明的實施例可以運行在Xen,VMWare, LPAR等虛擬機運行環境內,也可以是任何類型的獨立於平臺的虛擬機。具體地,圖6示出根據本發明的一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法,該方法包括以下步驟在步驟S601,通過虛擬機管理器的系統調用hypercall從發布客戶端接收多個發布消息,其中發布客戶端是部署在虛擬機的應用程式,雖然也可以通過TCP/IP協議進行消息傳輸,然而通過系統調用hypercall進行消息傳輸的時延更小,並且能夠節省網絡流量的開銷;在步驟S602,判斷所述多個發布消息的相似性;在步驟 S603,聚合具有相似性的所述多個發布消息以產生聚合的消息;在步驟S604,將所述聚合的發布消息發送出去,其中步驟S602、步驟S603和步驟S604在虛擬機管理器中實現。與此相對應,圖7示出根據本發明的一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法,在步驟S701,接收聚合的發布消息;在步驟S702,解聚合所述聚合的發布消息以恢復所述多個發布消息;在步驟S703,將所述多個發布消息發送至發布-訂閱管理器。圖8示出根據本發明的另一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法,包括在步驟S801,從發布-訂閱管理器接收多個通知消息;在步驟S802,判斷所述多個通知消息的相似性;在步驟S803,聚合具有相似性的所述多個通知消息以產生聚合的通知消息;在步驟S804,將所述聚合的通知消息發送出去。與此相對應,圖9示出根據本發明的另一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的方法,包括在步驟S901,接收多個聚合的通知消息;在步驟S902,解聚合所述聚合的通知消息以恢復所述多個通知消息;在步驟S903,通過虛擬機管理器的系統調用hypercall將所述多個通知消息發送至訂閱客戶端。基於同一發明構思,本發明提出根據本發明實施例的發布-訂閱消息傳遞系統, 圖10示出根據本發明一個實施例的發布-訂閱消息傳遞系統100,包括消息接收模塊 101,被配置為接收多個發布-訂閱消息;判斷模塊102,被配置為判斷所述多個發布-訂閱消息的相似性;聚合模塊103,被配置為聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;聚合消息發送模塊104,被配置為發送所述聚合的發布-訂閱消息。根據本發明的一個實施例,其中所述多個發布-訂閱消息是來自發布-訂閱客戶端的多個發布消息,進一步根據本發明在虛擬化環境中實現本發明的一個實施例,所述消息接收模塊通過虛擬機管理器的系統調用hypercall接收所述多個發布消息。根據本發明的另一個實施例,其中所述多個發布-訂閱消息是來自發布-訂閱管理器的通知消息。其中聚合模塊103進一步包括提取模塊,被配置為提取所述多個發布-訂閱消息所包含的相同內容欄位的和不同內容欄位;組合模塊,被配置為去除所述相同內容欄位的冗餘和組合不同內容欄位;控制欄位生成模塊,被配置為生成標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位;聚合消息構造模塊,被配置為利用去除冗餘的所述相同內容欄位、不同內容欄位和聚合控制欄位構造聚合的發布-訂閱消息。其中判斷模塊102根據下列中的至少一個來判斷所述多個發布-訂閱消息的相似性所述多個發布-訂閱消息的名字、所述多個發布-訂閱消息的響應事件標識、所述多個發布-訂閱消息的長度、通過對所述多個發布-訂閱消息的欄位的內容進行比較。與圖10的系統對應,圖11示出根據本發明一個實施例的發布-訂閱消息傳遞系統110,包括聚合消息接收模塊111,接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的;解聚合模塊112,被配置為解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息;消息發送模塊113, 被配置為發送所述多個發布-訂閱消息。其中解聚合模塊112進一步被配置為提取所述聚合的發布-訂閱消息中的聚合控制欄位,其中所述聚合控制欄位用於標識所述多個發布-訂閱消息的聚合映射關係;根據所述聚合控制欄位解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息。 根據本發明的一個實施例,所述具有相似性的多個發布-訂閱消息是來自發布-訂閱客戶端的多個發布消息。根據本發明的另一個實施例,其中所述具有相似性的多個發布-訂閱消息是來自發布-訂閱管理器的多個通知消息,根據本發明在虛擬化環境中的一個實施例,所述消息發送模塊通過虛擬機管理器的系統調用hypercall發送所述多個通知消息。圖12示出根據本發明的一個實施例在虛擬化環境中實現發布-訂閱消息傳遞的系統300,根據本發明的一個實施例,系統300實現從發布-訂閱客戶端向發布-訂閱管理器發送發布消息,其中包括信息接收模塊301,被配置為通過虛擬機管理器的系統調用hypercall從發布客戶端接收多個發布消息,其中發布客戶端是部署在虛擬機的應用程式;判斷模塊302,被配置為判斷所述多個發布消息的相似性;發布消息聚合模塊303,被配置為聚合具有相似性的所述多個發布消息以產生聚合的消息;聚合的發布消息發送模塊 305,被配置為將所述聚合的發布消息發送出去;聚合的發布消息接收模塊308,被配置為接收聚合的發布消息;發布消息解聚合模塊309,被配置為解聚合所述聚合的發布消息以恢復所述多個發布消息;通知消息發送模塊310,被配置為將所述多個發布消息發送至發布-訂閱管理器。根據本發明的一個實施例,系統300實現從發布-訂閱管理器向發布-訂閱客戶端發送通知消息,其中包括通知消息接收模塊314,被配置為從發布-訂閱管理器接收多個通知消息;判斷模塊313,被配置為判斷所述多個通知消息的相似性;通知消息聚合模塊 312,被配置為聚合具有相似性的所述多個通知消息以產生聚合的通知消息;聚合的通知消息發送模塊311,被配置為將所述聚合的通知消息發送出去;聚合的通知消息接收模塊 307,被配置為接收多個聚合的通知消息;通知消息解聚合模塊306,被配置為解聚合所述聚合的通知消息以恢復所述多個通知消息;通知消息發送模塊304,被配置為通過虛擬機管理器的系統調用hypercall將所述多個通知消息發送至訂閱客戶端。應當理解,本發明的至少某些方面可以可替代地以程序產品實現。定義有關本發明的功能的程序可以通過各種信號承載介質被傳送到數據存儲系統或計算機系統,所述信號承載介質包括但不限於,不可寫存儲介質(例如,CD-ROM)、可寫存儲介質(例如,軟盤、硬碟驅動器、讀/寫CD ROM、光介質)以及諸如包括乙太網的計算機和電話網絡之類的通信介質。因此應當理解,在此類信號承載介質中,當攜帶或編碼有管理本發明中的方法功能的計算機可讀指令時,代表本發明的可替代實施例。本發明可以硬體、軟體、固件或其組合的方式實現。本發明可以集中的方式在一個計算機系統中實現,或以分布方式實現,在這種分布方式中,不同的部件分布在若干互連的計算機系統中。適於執行本文中描述的方法的任何計算機系統或其它裝置都是合適的。優選地,本發明以計算機軟體和通用計算機硬體的組合的方式實現,在這種實現方式中,當該電腦程式被加載和執行時,控制該計算機系統而使其執行本發明的方法,或構成本發明的系統。上面出於舉例說明的目的,給出了本發明的優選實施例的說明。優選實施例的上述說明不是窮盡的,也不打算把本發明局限於公開的明確形式,顯然鑑於上述教導,許多修改和變化是可能的。對本領域的技術人員來說顯而易見的這種修改和變化包括在由附加的權利要求限定的本發明的範圍內。
權利要求
1.一種發布-訂閱消息傳遞方法,該方法包括 接收多個發布-訂閱消息;判斷所述多個發布-訂閱消息的相似性;聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;以及發送所述聚合的發布-訂閱消息。
2.根據權利要求1所述的方法,其中聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息進一步包括提取所述多個發布-訂閱消息所包含的相同內容欄位和不同內容欄位; 去除所述相同內容欄位的冗餘和組合不同內容欄位; 生成標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位; 利用去除冗餘的所述相同內容欄位、組合的不同內容欄位和聚合控制欄位構造聚合的發布-訂閱消息。
3.根據權利要求2所述的方法,其中根據下列中的至少一個來判斷所述多個發布-訂閱消息的相似性所述多個發布-訂閱消息的名字、所述多個發布-訂閱消息的響應事件標識、所述多個發布-訂閱消息的長度、通過對所述多個發布-訂閱消息的欄位的內容進行比較。
4.根據權利要求1-3中任一項權利要求所述的方法,其中所述多個消息是來自發布-訂閱客戶端的多個發布消息。
5.根據權利要求4所述的方法,其中通過虛擬機管理器的系統調用hypercall接收多個發布-訂閱消息。
6.根據權利要求1-3中任一項權利要求所述的方法,其中所述多個消息是來自發布-訂閱管理器的多個通知消息。
7.一種發布-訂閱消息傳遞方法,該方法包括接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的;解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息;發送所述多個發布-訂閱消息。
8.根據權利要求7所述的方法,其中解聚合所述聚合的發布-訂閱消息並恢復所述多個發布-訂閱消息進一步包括提取所述聚合的發布-訂閱消息中的聚合控制欄位,其中所述聚合控制欄位用於標識所述多個發布-訂閱消息的聚合映射關係;根據所述聚合控制欄位解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息。
9.根據權利要求7-8中任一項權利要求所述的方法,其中具有相似性的所述多個發布-訂閱消息是來自發布-訂閱客戶端的多個發布消息。
10.根據權利要求7-8中任一項權利要求所述的方法,其中具有相似性的所述多個發布-訂閱消息是來自發布-訂閱管理器的多個通知消息。
11.根據權利要求10所述的方法,其中通過虛擬機管理器的系統調用hypercall發送所述多個發布消息。
12.—種發布-訂閱消息傳遞系統,該系統包括消息接收模塊,被配置為接收多個發布-訂閱消息;判斷模塊,被配置為判斷所述多個發布-訂閱消息的相似性;聚合模塊,被配置為聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;以及聚合消息發送模塊,被配置為發送所述聚合的發布-訂閱消息。
13.根據權利要求12所述的系統,其中聚合模塊進一步包括提取模塊,被配置為提取所述多個發布-訂閱消息所包含的相同內容欄位的和不同內容欄位;組合模塊,被配置為去除所述相同內容欄位的冗餘和組合不同內容欄位;控制欄位生成模塊,被配置為生成標識所述多個發布-訂閱消息的聚合映射關係的聚合控制欄位;聚合消息構造模塊,被配置為利用去除冗餘的所述相同內容欄位、組合的不同內容欄位和聚合控制欄位構造聚合的發布-訂閱消息。
14.根據權利要求13所述的系統,其中判段模塊根據下列中的至少一個來判斷所述多個發布-訂閱消息的相似性所述多個發布-訂閱消息的名字、所述多個發布-訂閱消息的響應事件標識、所述多個發布-訂閱消息的長度、通過對所述多個發布-訂閱消息的欄位的內容進行比較。
15.根據權利要求12-14中任一項權利要求所述的系統,其中所述多個發布-訂閱消息是來自發布-訂閱客戶端的多個發布消息。
16.根據權利要求14所述的系統,其中所述消息接收模塊通過虛擬機管理器的系統調用hypercall接收所述多個發布消息。
17.根據權利要求12-14中任一項權利要求所述的系統,其中所述多個發布-訂閱消息是來自發布-訂閱管理器的通知消息。
18.一種發布-訂閱消息傳遞系統,該系統包括聚合消息接收模塊,被配置為接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的;解聚合模塊,被配置為解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息;消息發送模塊,被配置為將所述多個發布-訂閱消息發送出去。
19.根據權利要求17所述的系統,其中解聚合模塊進一步被配置為提取所述聚合的發布-訂閱消息中的聚合控制欄位,其中所述聚合控制欄位用於標識所述多個發布-訂閱消息的聚合映射關係;根據所述聚合控制欄位解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息。
20.根據權利要求17-18中任一項權利要求所述的系統,其中所述具有相似性的多個發布-訂閱消息是來自發布-訂閱客戶端的多個發布消息。
21.根據權利要求17-18中任一項權利要求所述的系統,其中所述具有相似性的多個發布-訂閱消息是來自發布-訂閱管理器的多個通知消息。
22.根據權利要求21所述的系統,其中所述消息發送模塊通過虛擬機管理器的系統調用hypercall發送所述多個通知消息。
全文摘要
本發明提供一種發布-訂閱消息傳遞方法和系統,其中該方法包括接收多個發布-訂閱消息;判斷所述多個發布-訂閱消息的相似性;聚合具有相似性的所述多個發布-訂閱消息以產生聚合的發布-訂閱消息;發送所述聚合的發布-訂閱消息。與此相對應的解聚合消息的方法包括接收聚合的發布-訂閱消息,其中所述聚合的發布-訂閱消息是將具有相似性的多個發布-訂閱消息聚合產生的;解聚合所述聚合的發布-訂閱消息以恢復所述多個發布-訂閱消息;將所述多個發布-訂閱消息發送出去。
文檔編號H04L12/58GK102469032SQ201010532070
公開日2012年5月23日 申請日期2010年10月29日 優先權日2010年10月29日
發明者史巨偉, 李立, 田瑞雄, 趙邑新 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀