日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種分布式消息處理系統(tǒng)及其中的設備和方法

文檔序號:9217082閱讀:522來源:國知局
一種分布式消息處理系統(tǒng)及其中的設備和方法
【技術領域】
[0001] 本發(fā)明涉及消息處理領域,具體涉及一種分布式消息處理系統(tǒng)及其中的設備和方 法。
【背景技術】
[0002] 目前用于消息(如日志)處理的消息系統(tǒng)有很多,比較流行的是分布式消息系統(tǒng)。 分布式消息系統(tǒng)的具體形式有很多,如Spread、Kafka等。
[0003] 下面僅以常用的一種分布式消息系統(tǒng)Kafka為例進行說明。
[0004] Kafka是用于日志處理的分布式消息系統(tǒng),主要針對日志數(shù)據(jù)容量大,但對可靠性 要求不是很高的業(yè)務。這些系統(tǒng)中的日志數(shù)據(jù)主要包括用戶行為,例如,登錄、瀏覽、點擊、 分享以及喜歡等,還包括系統(tǒng)運行日志,例如,CPU(Central Processing Unit,中央處理 器)、內(nèi)存、磁盤、網(wǎng)絡、系統(tǒng)及進程等的運行狀態(tài)。
[0005] 圖1為相關技術中Kafka系統(tǒng)架構示意圖。該Kafka系統(tǒng)包括以下四個角色: Producer(消息產(chǎn)生者,簡稱TO) 11、Broker(簡稱BK) 12、Consumer(消息處理者,簡稱 CS) 13以及Zooke印er(管理者,簡稱ZK) 14,每個角色都可以是多個。Consumer13在Kafka 系統(tǒng)中負責處理消息;Producer11在Kafka系統(tǒng)中負責產(chǎn)生消息;Broker12是Kafka系 統(tǒng)中用來存放消息的地方,負責接收Producer11發(fā)來的消息,當Consumer13有請求時, 將這些消息返回給Consumer13;ZooKeeper14是一個開放源碼的分布式應用程序協(xié)調(diào)服 務,包含一個簡單的原語集,是Hadoop和Hbase的重要組件,分布式應用可以使用它來實現(xiàn) 諸如:統(tǒng)一命名服務、配置管理、分布式鎖服務、集群管理等功能。Producerll發(fā)送消息到 Broker12,消息持久化存儲在Broker12上,Consumer13再從Broker12取得消息進行 處理。Zookeeper14 用來存儲Producer11,Consumer13,與Broker12 的一些狀態(tài)信息。
[0006] Kafka系統(tǒng)對消息的處理是采用pull(拉)的方式,每次由Consumer 13從Broker 12上獲取要處理的消息。成功處理的消息的位置Offset由Consumer 13來保存。
[0007] 在上述消息處理方式中,Consumer13需要自己對成功處理的消息的位置Offset 進行管理、保存,Offset-般保存在Consumer13所屬的消息處理設備的內(nèi)存或者本地磁 盤上,當消息處理設備意外終止或者機器磁盤壞掉后,之前保存的Offset就丟失了。當重 新啟動消息處理設備后,將從最近一次保存的Offset、或者從頭開始消費,Consumer13無 法緊接上次成功處理的消息的位置繼續(xù)對消息進行處理。

【發(fā)明內(nèi)容】

[0008] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的分布式消息處理系統(tǒng)及其中的設備和方法。
[0009] 依據(jù)本發(fā)明的一個方面,提供了一種在分布式消息處理系統(tǒng)中的消息管理設備, 該分布式消息處理系統(tǒng)還包括一個或多個消息存儲設備和一個或多個消息處理設備,其中 每條消息具有相應的主題,消息存儲設備為相應主題建立一個或者多個存儲分區(qū),并且根 據(jù)消息的主題將消息存儲在相應主題的存儲分區(qū)之一中,消息管理設備包括:消息分布狀 態(tài)存儲器,被配置為至少存儲每個消息存儲設備中有關存儲分區(qū)的信息、以及每個存儲分 區(qū)中有關消息處理設備當前要處理的消息的位置信息;傳輸接口,被配置為接收消息處理 設備發(fā)送的消息處理請求,消息處理請求至少包括所請求處理消息的主題;分區(qū)狀態(tài)查詢 器,被配置為在消息分布狀態(tài)存儲器中查詢與消息處理請求中的主題相對應的存儲分區(qū)信 息,并經(jīng)由傳輸接口將所查詢到的存儲分區(qū)信息發(fā)送給相應消息處理設備;以及消息位置 管理器,被配置為處理通過傳輸接口接收的、來自消息處理設備的消息位置查詢請求,從消 息分布狀態(tài)存儲器中獲取與該消息位置查詢請求中的存儲分區(qū)相對應的存儲分區(qū)的當前 要處理消息的位置信息、并經(jīng)由傳輸接口發(fā)送給相應消息處理設備;以及被配置為處理通 過傳輸接口接收的、來自消息處理設備的消息位置更新請求,基于消息位置更新請求中的 消息大小,更新消息分布狀態(tài)存儲器中、與消息位置更新請求中的存儲分區(qū)相對應的存儲 分區(qū)的當前要處理消息的位置信息。
[0010] 可選的,消息分布狀態(tài)存儲器中還存儲有消息處理設備每次所要處理的消息的大 ??;分區(qū)狀態(tài)查詢器還被配置為在消息分布狀態(tài)存儲器中查詢相應消息處理設備所要處理 的消息的大小,并通過傳輸接口發(fā)送給相應消息處理設備。
[0011] 根據(jù)本發(fā)明的另一個方面,還提供了一種在分布式消息處理系統(tǒng)中的消息處理設 備,該分布式消息處理系統(tǒng)還包括一個或多個消息存儲設備和消息管理設備,其中每條消 息具有相應的主題,消息存儲設備為相應主題建立一個或者多個存儲分區(qū),并且根據(jù)消息 的主題將消息存儲在相應主題的存儲分區(qū)之一中,消息管理設備中存儲有每個消息存儲設 備中有關存儲分區(qū)的信息以及每個存儲分區(qū)中當前要處理的消息的位置信息,該消息處理 設備包括:存儲信息獲取器,被配置為生成消息處理請求,消息處理請求至少包括所請求處 理消息的主題;傳輸接口,被配置為將消息處理請求發(fā)送給消息管理設備,并接收消息管理 設備發(fā)送的與消息處理請求中的主題相對應的一個或者多個存儲分區(qū)信息;消息位置管理 器,被配置為選擇存儲分區(qū)信息之一,從消息管理設備中獲取所選擇的存儲分區(qū)的當前要 處理消息的位置信息;以及消息獲取器,被配置為生成消息獲取請求,消息獲取請求包括所 請求處理消息的主題、所選擇的存儲分區(qū)、該存儲分區(qū)的當前要處理消息的位置信息和所 要處理的消息大??;傳輸接口還被配置為將消息獲取器生成的消息獲取請求發(fā)送給該存儲 分區(qū)所在的消息存儲設備,以及接收該存儲分區(qū)所在的消息存儲設備發(fā)送的對應于消息獲 取請求的消息。
[0012] 根據(jù)本發(fā)明的又一個方面,還提供了一種分布式消息處理系統(tǒng),包括:如上的消息 管理設備;一個或者多個如上的消息處理設備;以及一個或多個消息存儲設備。
[0013] 根據(jù)本發(fā)明的再一個方面,還提供了一種消息管理方法,該方法適于在分布式消 息處理系統(tǒng)中的消息管理設備上執(zhí)行,該分布式消息處理系統(tǒng)還包括一個或多個消息存儲 設備和一個或多個消息處理設備,其中每條消息具有相應的主題,消息存儲設備為相應主 題建立一個或者多個存儲分區(qū),并且根據(jù)消息的主題將消息存儲在相應主題的存儲分區(qū)之 一中,消息管理方法包括:接收消息處理設備發(fā)送的消息處理請求,消息處理請求至少包括 所請求處理消息的主題;查詢與消息處理請求中的主題相對應的存儲分區(qū)信息,并將所查 詢到的存儲分區(qū)信息發(fā)送給相應消息處理設備,其中,消息管理設備中至少存儲每個消息 存儲設備中有關存儲分區(qū)的信息、以及每個存儲分區(qū)中有關消息處理設備當前要處理的消 息的位置信息;以及處理來自消息處理設備的消息位置查詢請求,查詢與該消息位置查詢 請求中的存儲分區(qū)相對應的存儲分區(qū)的當前要處理消息的位置信息、并發(fā)送給相應消息處 理設備;以及處理來自消息處理設備的消息位置更新請求,基于消息位置更新請求中的消 息大小,更新與消息位置更新請求中的存儲分區(qū)相對應的存儲分區(qū)的當前要處理消息的位 置信息。
[0014] 可選的,上述消息管理方法還包括:查詢相應消息處理設備所要處理的消息的大 小、并發(fā)送給相應消息處理設備,其中消息管理設備中還存儲有消息處理設備每次所要處 理的消息的大小。
[0015] 根據(jù)本發(fā)明的又一個方面,還提供了一種消息處理方法,該方法適于在分布式消 息處理系統(tǒng)中的一個或者多個消息處理設備上執(zhí)行,該分布式消息處理系統(tǒng)還包括一個或 多個消息存儲設備和消息管理設備,其中每條消息具有相應的主題,消息存儲設備為相應 主題建立一個或者多個存儲分區(qū),并且根據(jù)消息的主題將消息存儲在相應主題的存儲分區(qū) 之一中,消息管理設備中存儲有每個消息存儲設備中有關存儲分區(qū)的信息以及每個存儲分 區(qū)中當前要處理的消息的位置信息,該消息處理方法包括:生成消息處理請求,消息處理請 求至少包括所請求處理消息的主題;將消息處理請求發(fā)送給消息管理設備,并接收消息管 理設備發(fā)送的與消息處理請求中的主題相對應的一個或者多個存儲分區(qū)信息;選擇一個或 者多個存儲分區(qū)信息之一,從消息管理設備中獲取所選擇的存儲分區(qū)對應的當前要處理消 息的位置信息;生成消息獲取請求,消息獲取請求包括所請求處理消息的主題、所選擇的存 儲分區(qū)、該存儲分區(qū)的當前要處理消息的位置信息和所要處理的消息大??;以及將消息獲 取請求發(fā)送給該存儲分區(qū)所在的消息存儲設備,以及接收該存儲分區(qū)所在的消息存儲設備 發(fā)送的對應于消息獲取請求的消息。
[0016] 本發(fā)明的技術方案在消息管理設備上存儲有每個消息存儲設備中有關存儲分區(qū) 的信息、以及每個存儲分區(qū)中有關消息處理設備當前要處理的消息的位置信息,當消息處 理設備獲取要處理的消息時,只需從消息管理設備查詢消息處理設備處理的主題下的消息 在消息存儲設備上的存儲分區(qū)信息,以及消息處理設備在相應的存儲分區(qū)的當前要處理的 消息的位置信息,即可發(fā)送請求消息從消息存儲設備獲取消息進行處理,這樣,即使消息處 理設備發(fā)生故障,在消息處理設備恢復正常后,仍然可以緊接上次成功處理消息的位置獲 取消息進行處理,避免了消息的重復處理或遺漏。
[0017] 上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段, 而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠 更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0018] 通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通 技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0019] 圖1示出了一種Kafka系統(tǒng)架構示意圖;
[0020] 圖2示出了根據(jù)本發(fā)明一個實施例的分布式消息處理系統(tǒng)的示意圖;
[0021] 圖3示出了根據(jù)本發(fā)明一個實施例的消息存儲設備內(nèi)部存儲結構的示意圖;
[0022] 圖4示出了根據(jù)本發(fā)明一個實施例的消息管理方法的流程圖;以及 [0023] 圖5示出了根據(jù)本發(fā)明一個實施例的消息處理方法的流程圖。
【具體實施方式】
[0024] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1