[發明專利]實現分布式消息隊列的方法及系統有效
| 申請號: | 201210121974.6 | 申請日: | 2012-04-24 |
| 公開(公告)號: | CN103379021B | 公開(公告)日: | 2017-02-15 |
| 發明(設計)人: | 韓銀俊;高洪;丁巖 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L12/58 | 分類號: | H04L12/58 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所44287 | 代理人: | 胡海國 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 分布式 消息 隊列 方法 系統 | ||
1.一種實現分布式消息隊列的方法,其特征在于,包括以下步驟:
消息隊列客戶端向消息隊列服務端發送消息發送請求;
消息隊列服務端根據所述消息發送請求生成消息ID;
消息隊列客戶端將所有的消息按照所述消息ID進行哈希運算,根據得到的哈希值將消息存儲到消息隊列服務端的不同節點中;
消息隊列服務端接收并存儲所述消息,根據預置的消息訂閱規則將消息發送至消息接收端;或者判斷是否有消息接收端關注消息,如果有,則提示消息接收端接收消息,并根據消息接收端的請求向消息接收端發送消息。
2.如權利要求1所述的方法,其特征在于,所述根據得到的哈希值將消息存儲到消息隊列服務端的不同節點中進一步包括:
將消息的索引存放在消息隊列服務端節點的內存中,消息的內容存放在消息隊列服務端節點的磁盤中。
3.如權利要求1或2所述的方法,其特征在于,所述節點包括輔節點及協同器,所述協同器用于與消息隊列客戶端及輔節點進行數據交互;所述消息隊列服務端根據消息發送請求生成消息ID包括:
協同器接收到消息隊列客戶端發送的N個消息發送請求的頭指針后,從本地讀消息隊列所在的摘要/內容K/V對,并發送讀請求至輔節點;
輔節點收到所述讀請求后,從本地讀消息隊列并將結果反饋給協同器;
協同器接收到輔節點返回的足夠的消息隊列后,從中選取最新的K/V;
協同器將最新的K/V中的消息屬性轉換為消息ID,并對其中的頭指針+N后將結果轉換回新的消息屬性;
協同器本地保存K/V對并發送寫請求至輔節點,以更新數據;
輔節點更新數據后將結果反饋給協同器;
協同器收到足夠的回應后合并結果并發送給消息隊列客戶端。
4.如權利要求3所述的方法,其特征在于,所述根據消息接收端的請求
向消息接收端發送消息包括:
協同器接收到消息隊列客戶端發送的N個消息發送請求的尾指針后,先從本地讀消息隊列所在K/V對,并發送讀請求至輔節點;
輔節點收到讀請求后從本地讀消息隊列并將結果返回協同器;
協同器接收到輔節點返回的足夠的消息隊列后,從中選取最新的K/V;
協同器將最新的K/V中的消息屬性轉換為消息ID,并對其中的頭指針+N后將結果轉換回新的消息屬性;
協同器本地保存K/V對,并發送寫請求至輔節點,以更新數據;
輔節點更新數據后將結果返回協同器;
協同器收到足夠的回應后合并結果返回消息隊列客戶端。
5.如權利要求1所述的方法,其特征在于,在所述提示消息接收端接收消息之后還包括:消息接收端根據接收到的消息ID,請求從消息隊列服務端接收消息。
6.一種實現分布式消息隊列的系統,其特征在于,包括消息隊列服務端和消息隊列客戶端,其中,所述消息隊列客戶端包括:
發送模塊,用于向消息隊列服務端發送消息發送請求;
消息處理模塊,用于將所有的消息按照消息隊列服務端所生成的消息ID進行哈希運算,根據得到的哈希值將消息存儲到消息隊列服務端的不同節點中;
所述消息隊列服務端接收并存儲所述消息,根據預置的消息訂閱規則將消息發送至消息接收端;或者在有消息接收端關注消息時,提示消息接收端接收消息,并根據消息接收端的請求向消息接收端發送消息。
7.如權利要求6所述的系統,其特征在于,所述消息處理模塊進一步用于將消息的索引存放在消息隊列服務端節點的內存中,消息的內容存放在消息隊列服務端節點的磁盤中。
8.如權利要求6或7所述的系統,其特征在于,所述消息隊列服務端包括輔節點及協同器,所述協同器具體用于接收到消息隊列客戶端發送的N個消息發送請求的頭指針后,從本地讀消息隊列所在的摘要/內容K/V對,并發送讀請求至輔節點;
所述輔節點具體用于收到所述讀請求后,從本地讀消息隊列并將結果反饋給協同器;
所述協同器還用于接收到輔節點返回的足夠的消息隊列后,從中選取最新的K/V,并將最新的K/V中的消息屬性轉換為消息ID,并對其中的頭指針+N后將結果轉換回新的消息屬性,保存K/V對并發送寫請求至輔節點,以更新數據;
所述輔節點還用于更新數據后將結果反饋給協同器;
所述協同器還用于收到足夠的回應后合并結果并發送給消息隊列客戶端。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210121974.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:新型OLED模組、OLED模組產品及OLED顯示器
- 下一篇:跨坐型車輛





