[發(fā)明專利]分布式消息處理方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202010401681.8 | 申請日: | 2020-05-13 |
| 公開(公告)號: | CN111611090B | 公開(公告)日: | 2021-12-28 |
| 發(fā)明(設(shè)計)人: | 張晨 | 申請(專利權(quán))人: | 浙江創(chuàng)鄰科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F16/182;G06F16/16 |
| 代理公司: | 杭州裕陽聯(lián)合專利代理有限公司 33289 | 代理人: | 姚宇吉 |
| 地址: | 310012 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 分布式 消息 處理 方法 系統(tǒng) | ||
1.一種分布式消息處理方法,其特征在于,包括以下步驟:
接收客戶端發(fā)送的消息發(fā)送請求,根據(jù)所述消息發(fā)送請求生成包含發(fā)送時間戳的消息,將所述消息加入相應(yīng)的消息隊列,所述發(fā)送時間戳在所述消息隊列中具有唯一性,基于所述發(fā)送時間戳對消息隊列中的消息進行排列;
接收客戶端發(fā)送的消息接收請求,所述消息接收請求包括最近接收時間戳;基于所述消息接收請求獲取當(dāng)前接收時間戳并反饋,使客戶端根據(jù)所述當(dāng)前接收時間戳更新其最近接收時間戳;基于最近接收時間戳計算待掃描時間,基于待掃描時間判斷是否需要掃描超時消息,當(dāng)判定不需要掃描超時消息時,基于最近接收時間戳掃描消息隊列的消息,否則基于最近接收時間戳掃描消息隊列和分布式文件系統(tǒng)中的消息,獲得第二待傳遞消息;從第二待傳遞消息中提取第一待傳遞消息;基于發(fā)送時間戳按序為第一待傳遞消息添加送達時間戳,并標(biāo)記所述第一待傳遞消息為已傳遞后將其發(fā)送至客戶端;
判斷消息是否超時,根據(jù)判斷結(jié)果標(biāo)記超時消息并將所述超時消息備份至分布式文件系統(tǒng);
按照預(yù)設(shè)的清除時間,周期性的刪除消息隊列中的超時消息。
2.根據(jù)權(quán)利要求1所述的分布式消息處理方法,其特征在于:
當(dāng)最近接收時間戳為空時,對消息隊列和分布式文件系統(tǒng)中的所有消息進行掃描。
3.根據(jù)權(quán)利要求1所述的分布式消息處理方法,其特征在于:
消息發(fā)送請求包括傳遞保證,所述傳遞保證用于指定相應(yīng)消息的傳遞次數(shù);
獲取第二待傳遞消息的傳遞保證,并檢測所述第二待傳遞消息是否被標(biāo)記為已傳遞,獲得檢測結(jié)果;
基于所述傳遞保證和所述檢測結(jié)果從第二待傳遞消息中提取第一待傳遞消息。
4.根據(jù)權(quán)利要求1至3任一所述的分布式消息處理方法,其特征在于:
發(fā)送時間戳包括時間、隨機數(shù)和對應(yīng)時間戳管理節(jié)點的ID。
5.根據(jù)權(quán)利要求1至3任一所述的分布式消息處理方法,其特征在于:
消息隊列中的消息分布式存儲在嵌入式數(shù)據(jù)庫中。
6.一種分布式消息處理系統(tǒng),與分布式文件系統(tǒng)相連,其特征在于,包括消息管理節(jié)點、時間戳管理節(jié)點和客戶端;
所述消息管理節(jié)點包括:
消息發(fā)布模塊,用于接收客戶端發(fā)送的消息發(fā)送請求,根據(jù)所述消息發(fā)送請求生成包含發(fā)送時間戳的消息,將所述消息加入相應(yīng)的消息隊列,所述發(fā)送時間戳由對應(yīng)的時間戳管理節(jié)點發(fā)放,所述發(fā)送時間戳在所述消息隊列中具有唯一性;所述消息發(fā)布模塊還用于基于所述發(fā)送時間戳對消息隊列中的消息進行排列;
消息傳遞模塊,包括接收單元、時間戳更新單元、掃描單元、提取單元和傳遞單元;
所述接收單元,用于接收客戶端發(fā)送的消息接收請求,所述消息接收請求包括最近接收時間戳;
所述時間戳更新單元,用于基于所述消息接收請求從相應(yīng)的時間戳管理節(jié)點處獲取當(dāng)前接收時間戳并反饋,使客戶端根據(jù)所述當(dāng)前接收時間戳更新其最近接收時間戳;
所述掃描單元,用于基于最近接收時間戳計算待掃描時間,基于待掃描時間判斷是否需要掃描超時消息,當(dāng)判定不需要掃描超時消息時,基于最近接收時間戳掃描消息隊列的消息,否則基于最近接收時間戳掃描消息隊列和分布式文件系統(tǒng)中的消息,獲得第二待傳遞消息;
所述提取單元,用于從第二待傳遞消息中提取第一待傳遞消息;
所述傳遞單元,用于基于發(fā)送時間戳按序為第一待傳遞消息添加送達時間戳,并標(biāo)記所述第一待傳遞消息為已傳遞后將其發(fā)送至客戶端;
超時判斷模塊,用于判斷消息是否超時,根據(jù)判斷結(jié)果標(biāo)記超時消息并將所述超時消息備份至分布式文件系統(tǒng);
超時清除模塊,用于按照預(yù)設(shè)的清除時間,周期性的刪除消息隊列中的超時消息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江創(chuàng)鄰科技有限公司,未經(jīng)浙江創(chuàng)鄰科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010401681.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





