【技術實現步驟摘要】
本專利技術涉及消息處理領域,具體涉及一種。
技術介紹
目前用于消息(如日志)處理的消息系統有很多,比較流行的是分布式消息系統。分布式消息系統的具體形式有很多,如Spread、Kafka等。下面僅以常用的一種分布式消息系統Kafka為例進行說明。Kafka是用于日志處理的分布式消息系統,主要針對日志數據容量大,但對可靠性要求不是很高的業務。這些系統中的日志數據主要包括用戶行為,例如,登錄、瀏覽、點擊、分享以及喜歡等,還包括系統運行日志,例如,CPU (Central Processing Unit,中央處理器)、內存、磁盤、網絡、系統及進程等的運行狀態。圖1為相關技術中Kafka系統架構示意圖。該Kafka系統包括以下四個角色Producer (消息產生者,簡稱PD) 11、Broker (簡稱BK) 12、Consumer (消息處理者,簡稱CS) 13以及Zooke印er(管理者,簡稱ZK) 14,每個角色都可以是多個。Consumer 13在Kafka系統中負責處理消息;Producerll在Kafka系統中負責產生消息;Brokerl2是Kafka系統中用來存放消息的地方,負責接收Producerll發來的消息,當Consumerl3有請求時,將這些消息返回給Consumerl3 ;ZooKeeperl4是一個開放源碼的分布式應用程序協調服務,包含一個簡單的原語集,是Hadoop和Hbase的重要組件,分布式應用可以使用它來實現諸如統一命名服務、配置管理、分布式鎖服務、集群管理等功能。Producerll發送消息到Broker 12,消息持久化存儲 ...
【技術保護點】
一種用于分布式消息系統的協調設備,所述分布式消息系統還包括一個或者多個存儲消息的消息存儲設備、一個或者多個對消息進行處理的消息處理設備和消息管理設備,其中每條消息具有相應的主題,所述消息存儲設備為相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述消息管理設備中存儲有與所述消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區相關的信息;所述協調設備包括:監聽器,被配置為監聽在所述消息管理設備處登記的消息管理設備的相關信息;第一獲取器,被配置為從所述消息管理設備獲取適于處理特定主題消息的消息處理設備的信息;第二獲取器,被配置為從所述消息管理設備獲取存儲特定主題消息的消息存儲設備中的存儲分區的信息;分配器,被配置為在所述監聽器所監聽的信息發生變化時,根據相關信息發生變化的消息存儲設備涉及的一個或者多個消息主題,從所述第一獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的消息處理設備的信息以及從所述第二獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題 ...
【技術特征摘要】
1.一種用于分布式消息系統的協調設備,所述分布式消息系統還包括一個或者多個存儲消息的消息存儲設備、一個或者多個對消息進行處理的消息處理設備和消息管理設備, 其中每條消息具有相應的主題,所述消息存儲設備為相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述消息管理設備中存儲有與所述消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區相關的信息;所述協調設備包括監聽器,被配置為監聽在所述消息管理設備處登記的消息管理設備的相關信息;第一獲取器,被配置為從所述消息管理設備獲取適于處理特定主題消息的消息處理設備的信息;第二獲取器,被配置為從所述消息管理設備獲取存儲特定主題消息的消息存儲設備中的存儲分區的信息;分配器,被配置為在所述監聽器所監聽的信息發生變化時,根據相關信息發生變化的消息存儲設備涉及的一個或者多個消息主題,從所述第一獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的消息處理設備的信息以及從所述第二獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的存儲分區的信息,并基于所獲取的消息處理設備和存儲分區的信息,重新計算為所獲取的每個消息處理設備分配進行消息處理的存儲分區的分配結果;以及結果輸出器,被配置為將所述分配器的分配結果輸出到所述消息管理設備,以便更新每個消息處理設備的目標存儲分區信息。2.如權利要求1所述的協調設備,其中第一獲取器獲取的消息處理設備的信息包括消息處理設備的物理位置標識,以及第二獲取器獲取的存儲分區的信息包括存儲分區所在的消息存儲設備的物理位置標識,以及所述分配器適于根據所獲取的涉及同一消息主題的消息處理設備的物理位置標識和消息存儲設備的物理位置標識的比較結果來將涉及該消息主題的消息存儲設備的存儲分區分配給涉及該消息主題的消息處理設備進行消息處理。3.如權利要求2所述的協調設備,所述分配器適于優先將消息存儲設備的存儲分區分配給物理位置接近的消息處理設備來進行處理。4.如權利要求1至3中任一項所述的協調設備,所述分配器適于優先將一個消息存儲設備上涉及同一消息主題的多個存儲分區分配給同一個消息處理設備進行消息處理。5.如權利要求1至4中任一項所述的協調設備,所述分配器適于根據涉及同一消息主題的消息處理設備處理的消息處理量來為涉及該消息主題的所有消息處理設備分配進行消息處理的存儲分區。6.—種分布式消息系統,包括如權利要求1-5中任一項所述的協調設備;一個或多個存儲消息的消息存儲設備;一個或多個對消息進行處理的消息處理設備;以及消息管理設備;其中,每條消息具有相應的主題,所述消息存儲設備為每個相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述協調設備適于提供為所述消息處理設備分配進行消息處理的存儲分區的分配結果;所述消息管理設備包括信息存儲器,被配置為至少存儲向其登記的消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區的信息;檢測器,被配置為在檢測所述消息存儲設備、消息處理設備的信息是否發生變化,并根...
【專利技術屬性】
技術研發人員:代兵,陳超,桂勇哲,朱超,王超,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。