• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    分布式消息系統及其設備和協調方法技術方案

    技術編號:8562896 閱讀:198 留言:0更新日期:2013-04-11 04:31
    本發明專利技術公開了一種分布式消息系統及其設備和協調方法,其中協調方法包括監聽在所述消息管理設備處登記的消息管理設備的相關信息;在所監聽的信息發生變化時,根據相關信息發生變化的消息存儲設備涉及的一個或者多個消息主題,從所述消息管理設備獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的消息處理設備的信息以及與所涉及的一個或者多個消息主題中的每個消息主題相關的存儲分區的信息;基于所獲取的消息處理設備和存儲分區的信息,重新計算為所獲取的每個消息處理設備分配進行消息處理的存儲分區的分配結果;將所述分配結果發送給所述消息管理設備,以便更新每個消息處理設備的目標存儲分區信息。

    【技術實現步驟摘要】

    本專利技術涉及消息處理領域,具體涉及一種。
    技術介紹
    目前用于消息(如日志)處理的消息系統有很多,比較流行的是分布式消息系統。分布式消息系統的具體形式有很多,如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,消息持久化存儲在Brokerl2上,Consumerl3再從Brokerl2取得消息進行處理。Zookeeperl4 用來存儲 Producerll, Consumer 13,與 Brokerl2 的一些狀態信息。分布式消息系統基于消息的主題(Topic)來進行消息管理。在消息存儲設備中也是基于Topic來進行存儲的。每個Topic的消息可以存儲在Brokel2的一個或多個存儲分區(Partition)中。所有的Consumerl3以及每個Brokerl2中存有哪些Topic,以及該Topic有多少個Partition都保存在Zookeeper上。在進行消息處理時,一般由多個Consumerl3相互協作處理某個主題的消息,在Zookeeperl4還存儲有涉及該主題的每個Consumerl3所分配的進行消息處理的存儲分區信息,每個存儲分區只分配給一個ConSumerl3進行消息處理。當有Brokerl2或者涉及同一主題的Consumerl3加入或者離開時,涉及同一主題的的Consumerl3會得到通知,然后每個Consumerl3所屬的消息處理設備都會執行一個平衡策略(Rebalancing Algorithm),這樣讓涉及同一主題的所有消息處理設備達成一致一哪個消息處理設備處理哪些存儲分區的消息。在上述的方法中,平衡策略的執行發生在BrokerU發生變動、以及涉及同一主題的Consumer 13有變動時,這會導致Consumer 13所屬的消息處理設備遭受驚群效應,因為消息處理設備在進行處理消息時時需要監聽兩個事件(I)所處理Topic涉及的存儲分區數(BrokerU增加或者減少時會導致存儲分區數變動);(2)涉及同一主題的消息處理設備。因此,這兩個事件中任何一個發生改變,都會引起所有的消息處理設備分別重新計算其應該處理的分區,而這是一個比較費時的操作。
    技術實現思路
    鑒于上述問題,提出了本專利技術以便提供一種克服上述問題或者至少部分地解決上述問題的。依據本專利技術的一個方面,提供了一種用于分布式消息系統的協調設備,分布式消息系統還包括一個或者多個存儲消息的消息存儲設備、一個或者多個對消息進行處理的消息處理設備和消息管理設備,其中每條消息具有相應的主題,消息存儲設備為相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;消息管理設備中存儲有與消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區相關的信息;協調設備包括監聽器,被配置為監聽在消息管理設備處登記的消息管理設備的相關信息;第一獲取器,被配置為從消息管理設備獲取適于處理特定主題消息的消息處理設備的信息;第二獲取器,被配置為從消息管理設備獲取存儲特定主題消息的消息存儲設備中的存儲分區的信息;分配器,被配置為在監聽器所監聽的信息發生變化時,根據相關信息發生變化的消息存儲設備涉及的一個或者多個消息主題,從第一獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的消息處理設備的信息以及從第二獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的存儲分區的信息,并基于所獲取的消息處理設備和存儲分區的信息,重新計算為所獲取的每個消息處理設備分配進行消息處理的存儲分區的分配結果;以及結果輸出器,被配置為將分配器的分配結果輸出到消息管理設備,以便更新每個消息處理設備的目標存儲分區信息。根據本專利技術的又一個方面,還提供了一種分布式消息系統,包括如上的協調設備;一個或多個存儲消息的消息存儲設備;一個或多個對消息進行處理的消息處理設備;以及消息管理設備;其中,每條消息具有相應的主題,所述消息存儲設備為每個相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述協調設備適于提供為所述消息處理設備分配進行消息處理的存儲分區的分配結果;所述消息管理設備包括信息存儲器,被配置為至少存儲向其登記的消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區的信息;檢測器,被配置為在檢測所述消息存儲設備、消息處理設備的信息是否發生變化,并根據檢測結果更新所述信息存儲器中存儲的消息存儲設備、消息處理設備的信息;以及分配結果判斷器,被配置為接收所述協調設備發送的分配結果,其中所述分配結果包括在所述信息存儲器登記的某些消息處理設備所分配的處理消息的存儲分區信息,判斷所述分配結果中每個消息處理設備所分配的處理消息的存儲分區信息與所述信息存儲器中存儲的該消息處理設備處理消息的目標存儲分區的信息是否一致,若不一致,則對所述信息存儲器中存儲的該消息處理設備處理消息的目標存儲分區的信息進行更新,并將更新后的信息發送通知給該消息處理設備。根據本專利技術的再一個方面,還提供了一種協調方法,適于在用于分布式消息系統的協調設備上執行,分布式消息系統還包括一個或者多個存儲消息的消息存儲設備、一個或者多個對消息進行處理的消息處理設備和消息管理設備,其中每條消息具有相應的主題,消息存儲設備為相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;消息管理設備中存儲有與消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區相關的信息;協調方法包括監聽在消息管理設備處登記的消息管理設備的相關信息;在所監聽的信息發生變化時,根據相關信息發本文檔來自技高網
    ...

    【技術保護點】
    一種用于分布式消息系統的協調設備,所述分布式消息系統還包括一個或者多個存儲消息的消息存儲設備、一個或者多個對消息進行處理的消息處理設備和消息管理設備,其中每條消息具有相應的主題,所述消息存儲設備為相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述消息管理設備中存儲有與所述消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區相關的信息;所述協調設備包括:監聽器,被配置為監聽在所述消息管理設備處登記的消息管理設備的相關信息;第一獲取器,被配置為從所述消息管理設備獲取適于處理特定主題消息的消息處理設備的信息;第二獲取器,被配置為從所述消息管理設備獲取存儲特定主題消息的消息存儲設備中的存儲分區的信息;分配器,被配置為在所述監聽器所監聽的信息發生變化時,根據相關信息發生變化的消息存儲設備涉及的一個或者多個消息主題,從所述第一獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的消息處理設備的信息以及從所述第二獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的存儲分區的信息,并基于所獲取的消息處理設備和存儲分區的信息,重新計算為所獲取的每個消息處理設備分配進行消息處理的存儲分區的分配結果;以及結果輸出器,被配置為將所述分配器的分配結果輸出到所述消息管理設備,以便更新每個消息處理設備的目標存儲分區信息。...

    【技術特征摘要】
    1.一種用于分布式消息系統的協調設備,所述分布式消息系統還包括一個或者多個存儲消息的消息存儲設備、一個或者多個對消息進行處理的消息處理設備和消息管理設備, 其中每條消息具有相應的主題,所述消息存儲設備為相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述消息管理設備中存儲有與所述消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區相關的信息;所述協調設備包括監聽器,被配置為監聽在所述消息管理設備處登記的消息管理設備的相關信息;第一獲取器,被配置為從所述消息管理設備獲取適于處理特定主題消息的消息處理設備的信息;第二獲取器,被配置為從所述消息管理設備獲取存儲特定主題消息的消息存儲設備中的存儲分區的信息;分配器,被配置為在所述監聽器所監聽的信息發生變化時,根據相關信息發生變化的消息存儲設備涉及的一個或者多個消息主題,從所述第一獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的消息處理設備的信息以及從所述第二獲取器獲取與所涉及的一個或者多個消息主題中的每個消息主題相關的存儲分區的信息,并基于所獲取的消息處理設備和存儲分區的信息,重新計算為所獲取的每個消息處理設備分配進行消息處理的存儲分區的分配結果;以及結果輸出器,被配置為將所述分配器的分配結果輸出到所述消息管理設備,以便更新每個消息處理設備的目標存儲分區信息。2.如權利要求1所述的協調設備,其中第一獲取器獲取的消息處理設備的信息包括消息處理設備的物理位置標識,以及第二獲取器獲取的存儲分區的信息包括存儲分區所在的消息存儲設備的物理位置標識,以及所述分配器適于根據所獲取的涉及同一消息主題的消息處理設備的物理位置標識和消息存儲設備的物理位置標識的比較結果來將涉及該消息主題的消息存儲設備的存儲分區分配給涉及該消息主題的消息處理設備進行消息處理。3.如權利要求2所述的協調設備,所述分配器適于優先將消息存儲設備的存儲分區分配給物理位置接近的消息處理設備來進行處理。4.如權利要求1至3中任一項所述的協調設備,所述分配器適于優先將一個消息存儲設備上涉及同一消息主題的多個存儲分區分配給同一個消息處理設備進行消息處理。5.如權利要求1至4中任一項所述的協調設備,所述分配器適于根據涉及同一消息主題的消息處理設備處理的消息處理量來為涉及該消息主題的所有消息處理設備分配進行消息處理的存儲分區。6.—種分布式消息系統,包括如權利要求1-5中任一項所述的協調設備;一個或多個存儲消息的消息存儲設備;一個或多個對消息進行處理的消息處理設備;以及消息管理設備;其中,每條消息具有相應的主題,所述消息存儲設備為每個相應的主題建立一個或者多個存儲分區,并且根據消息的主題將消息存儲在相應主題的存儲分區之一中;所述消息處理設備適于處理在某主題下的一個或者多個存儲分區中的消息;所述協調設備適于提供為所述消息處理設備分配進行消息處理的存儲分區的分配結果;所述消息管理設備包括信息存儲器,被配置為至少存儲向其登記的消息存儲設備、消息處理設備、以及消息處理設備處理消息的目標存儲分區的信息;檢測器,被配置為在檢測所述消息存儲設備、消息處理設備的信息是否發生變化,并根...

    【專利技術屬性】
    技術研發人員:代兵,陳超,桂勇哲朱超王超,
    申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码日韩精品一区二区免费暖暖| 在线看片无码永久免费aⅴ| 无码色偷偷亚洲国内自拍| 国产精品无码制服丝袜| 国产在线无码不卡影视影院 | 亚洲AV无码专区国产乱码电影 | 无码专区HEYZO色欲AV| 中文字幕丰满乱孑伦无码专区| 亚洲Av综合色区无码专区桃色 | 久久国产精品成人无码网站| 日韩人妻无码一区二区三区综合部| 未满小14洗澡无码视频网站| 97在线视频人妻无码| 精品成在人线AV无码免费看| 国产精品无码专区在线观看| 在线观看无码AV网站永久免费| 亚洲av永久无码精品国产精品| 亚洲AV无码之日韩精品| 无码精品A∨在线观看无广告| 少妇人妻无码精品视频| 中文有无人妻vs无码人妻激烈| 毛片亚洲AV无码精品国产午夜| 67194成l人在线观看线路无码| 日韩精品专区AV无码| 亚洲AV无码精品色午夜在线观看| 国产精品无码翘臀在线观看| 亚洲AV成人片无码网站| 91精品国产综合久久四虎久久无码一级| 亚洲日韩VA无码中文字幕| 成人免费无码大片a毛片| 青青爽无码视频在线观看| 亚洲AV无码专区在线亚| 无码国内精品久久综合88| 精品无码久久久久国产动漫3d| 亚洲∧v久久久无码精品 | 色综合AV综合无码综合网站| 中文字幕乱码人妻无码久久| 亚洲自偷自偷偷色无码中文| a级毛片无码免费真人久久| 国产精品无码专区| 日韩精品无码免费一区二区三区|