[發明專利]分布式消息處理方法及系統有效
| 申請號: | 202010401681.8 | 申請日: | 2020-05-13 |
| 公開(公告)號: | CN111611090B | 公開(公告)日: | 2021-12-28 |
| 發明(設計)人: | 張晨 | 申請(專利權)人: | 浙江創鄰科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F16/182;G06F16/16 |
| 代理公司: | 杭州裕陽聯合專利代理有限公司 33289 | 代理人: | 姚宇吉 |
| 地址: | 310012 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 消息 處理 方法 系統 | ||
本發明公開一種分布式消息處理方法及系統,其中方法包括以下步驟:接收客戶端發送的消息發送請求,根據所述消息發送請求生成包含發送時間戳的消息,將所述消息加入相應的消息隊列,所述發送時間戳在所述消息隊列中具有唯一性,基于所述發送時間戳對消息隊列中的消息進行排列;判斷消息是否超時,根據判斷結果標記超時消息并將所述超時消息備份至分布式文件系統;按照預設的清除時間,周期性的刪除消息隊列中的超時消息。本發明通過對發送時間戳的設計保證消息傳遞的順序;通過對超時消息進行判斷和清除步驟的設計,能夠令分布式文件系統和消息隊列相互配合,便于客戶端查詢消息的同時減輕消息隊列帶來的數據存儲壓力。
技術領域
本發明涉及計算機軟件技術領域,尤其涉及一種分布式消息處理方法及系統。
背景技術
Hadoop平臺是著名的大數據平臺,現今大數據處理技術棧都基于Hadoop構建,而基于大數據平臺的大多應用程序都需要處理分布式的消息;
然而現有消息處理系統過于專業化/復雜化或過于簡單,如微軟的MSMQ為具有強大功能和硬交付保證的工業級消息處理系統,但其部署需要微軟的專有系統,成本高昂;如亞馬遜提供了一種低成本的簡單隊列服務(Simple Queue Service,SQS),它僅具有基本的消息傳遞操作(發送/接收),無法保證消息傳遞的順序。
故現今為Hadoop用戶提供保證消息傳遞順序的消息隊列功能時,往往需要額外部署現今過于專業化/復雜化的消息處理系統,成本過高且將提高對應應用程序的復雜性。
發明內容
本發明針對現有技術中的缺點,提供了能夠按序傳遞消息且部署成本低的一種分布式消息處理方法及系統。
為了解決上述技術問題,本發明通過下述技術方案得以解決:
一種分布式消息處理方法,包括以下步驟:
接收客戶端發送的消息發送請求,根據所述消息發送請求生成包含發送時間戳的消息,將所述消息加入相應的消息隊列,所述發送時間戳在所述消息隊列中具有唯一性,基于所述發送時間戳對消息隊列中的消息進行排列;
判斷消息是否超時,根據判斷結果標記超時消息并將所述超時消息備份至分布式文件系統;
按照預設的清除時間,周期性的刪除消息隊列中的超時消息。
作為一種可實施方式,將所述消息加入相應的消息隊列后,還包括消息傳遞步驟,具體步驟為:
接收客戶端發送的消息接收請求,基于消息接收請求掃描消息隊列和/或分布式文件系統中的消息,獲得第一待傳遞消息;
基于發送時間戳按序為第一待傳遞消息添加送達時間戳,并標記所述第一待傳遞消息為已傳遞后將其發送至客戶端。
作為一種可實施方式:
接收客戶端發送的消息接收請求,所述消息接收請求包括最近接收時間戳;
基于所述消息接收請求獲取當前接收時間戳并反饋,使客戶端根據所述當前接收時間戳更新其最近接收時間戳;
基于最近接收時間戳計算待掃描時間,基于待掃描時間判斷是否需要掃描超時消息,當判定不需要掃描超時消息時,基于最近接收時間戳掃描消息隊列的消息,否則基于最近接收時間戳掃描消息隊列和分布式文件系統中的消息,獲得第二待傳遞消息;
從第二待傳遞消息中提取第一待傳遞消息。
作為一種可實施方式:
當最近接收時間戳為空時,對消息隊列和分布式文件系統中的所有消息進行掃描。
作為一種可實施方式:
消息發送請求包括傳遞保證;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江創鄰科技有限公司,未經浙江創鄰科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010401681.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:多功能疼痛評估模具
- 下一篇:用于塑料制品生產的智能搬運設備





