[發明專利]用于向多個訂戶提供消息的系統和方法在審
| 申請號: | 201780072371.2 | 申請日: | 2017-05-04 |
| 公開(公告)號: | CN110121863A | 公開(公告)日: | 2019-08-13 |
| 發明(設計)人: | I·米爾雅可夫 | 申請(專利權)人: | 薩托里環球有限責任公司 |
| 主分類號: | H04L12/58 | 分類號: | H04L12/58 |
| 代理公司: | 北京林達劉知識產權代理事務所(普通合伙) 11277 | 代理人: | 劉新宇 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 傳遞緩沖器 存儲緩沖器 數據塊 訂戶 存活 存儲 計算機存儲裝置 計算機程序 系統和設備 檢索消息 消息存儲 消息分配 消息提供 檢索 發布 | ||
本發明提供了包括編碼在計算機存儲裝置上的計算機程序的方法、系統和設備,用于:從多個發布者接收多個消息;將所述消息中的各消息分配給多個通道其中之一,其中各通道包括有順序的多個消息;根據所述順序將所述通道中的各通道的消息存儲在相應存儲緩沖器中,其中各存儲緩沖器具有第一持續時間的相應存活時間;對于特定通道,從相應存儲緩沖器檢索所述特定通道的消息;將所述特定通道的檢索消息存儲在傳遞緩沖器中,所述傳遞緩沖器包括數據塊,其中各數據塊包括第二持續時間的相應存活時間;以及將所述傳遞緩沖器中所存儲的消息提供給所述特定通道的多個訂戶。
相關申請的交叉引用
本申請要求2016年9月23日提交的美國專利申請15/274,281的優先權,其全部內容通過引用而并入于此。
背景技術
本說明書涉及數據通信系統,特別地涉及用于實現實時、可擴展的發布-訂閱消息傳送的系統。
發布-訂閱模式(或者“PubSub”)是利用軟件系統實現的數據通信消息傳送布置,其中,所謂的發布者將消息發布到主題,并且所謂的訂戶接收與他們所訂閱的特定主題有關的消息。每個主題可以存在一個或多個發布者,并且發布者一般不知道什么樣的訂戶(如果有的話)將接收到所發布的消息。一些PubSub系統不緩存消息或者具有小的緩存,這意味著訂戶可能不會接收到在訂閱特定主題之前所發布的消息。在消息發布激增期間、或者隨著特定主題的訂戶的數量增加,PubSub系統可能易受到性能不穩定性的影響。
發明內容
在各種實現中,這里所描述的系統和方法利用共享結構(即,“快速緩沖器”)來存儲多個訂戶可以同時讀取的消息數據。為了避免與鎖定相關聯的問題,所述系統和方法利用“無鎖”或非阻塞方法。訂戶能夠在沒有阻塞或者斷定出從何處讀取數據以及直到快速緩沖器中的哪個點的情況下抓取許多數據。
所述系統和方法與現有方法相比提供了許多益處。例如,發布者不受訂戶或相關訂閱邏輯的限制,并且與存在多少訂戶(如果有的話)無關地具有穩定的發布速度。系統的這種屬性可以例如通過使發布和訂閱組件和/或進程彼此無關來實現。在一些情況下,發布和訂閱組件可以通過無鎖存儲器寫入和讀取(例如,使用這里所描述的快速緩沖器方法)來共享信息。可選地或另外,發布和訂閱組件和/或進程可被配置為利用不同的物理核,使得例如發布和訂閱組件僅通過存儲器控制器和總線來進行交互,這通常很快以及/或者不存在瓶頸。
可選地或另外,系統靈活性允許發布者在需要時優先(不優先)于訂戶。在優選示例中,快速緩沖器具有或利用松耦合的發布和訂閱循環。這允許發布速度在需要時與訂閱速度不同,以及/或者允許例如根據系統負載來選擇或優先各速度。例如,在發布活動多、以及/或者優選不限制發布活動的情況下,發布循環可以優先于訂閱循環。為了實現這種優先,發布循環可以自旋,就好像不存在訂戶一樣(例如,可以比處理訂閱循環更快地處理發布循環)。換句話說,可能期望通過允許系統即使在訂戶不能跟上或接收所有消息數據的情況下也傳遞盡可能多的發布消息數據,來使發布者不受到阻塞或限制。可選地或另外,在訂閱活動多的情況下,可能期望使訂戶不受到阻塞或限制、以及/或者對發布者施加自動背壓以使得發布活動減少。例如,可以通過創建兩個工作體池(例如,一個用于發布者的池和一個用于訂戶的池)并且使用操作系統內核調度器優先機制為兩個池中的線程設置不同的優先級,來實現這種優先。設想了用于使發布者和訂戶優先或不優先的其它方法。
所述系統和方法的另一優點是,訂戶可以利用數據聚合,并且可以定義聚合多少數據。一般來說,數據聚合的使用和/或聚合大小優化可以有助于實現更好的性能特征以及/或者減少存儲器使用。例如,在傳遞消息時,消息可被分組為塊或批(例如,快速緩沖器中的以逗號分隔的消息列表)。在準備要發送的消息數據時,所述系統和方法可以決定對于下一塊要聚合多少消息。在連接中交換的分組的大小可以取決于連接屬性(例如,帶寬和/或延時)和/或TCP連接的狀態。在一些情況下,這允許用于收集連接消息以將更多消息聚合在塊中的進程產生較大的分組,從而更好地利用網絡容量并且以較少的開銷提供較高的吞吐量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于薩托里環球有限責任公司,未經薩托里環球有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201780072371.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:交換裝置和通信控制方法
- 下一篇:不同網絡通信協議之間的網絡橋接的方法和設備





