[發(fā)明專利]消息的處理方法、裝置和電子設(shè)備在審
| 申請?zhí)枺?/td> | 201710071742.7 | 申請日: | 2017-02-09 |
| 公開(公告)號: | CN108415759A | 公開(公告)日: | 2018-08-17 |
| 發(fā)明(設(shè)計)人: | 周新宇;王小瑞;馮嘉 | 申請(專利權(quán))人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京市惠誠律師事務(wù)所 11353 | 代理人: | 逯博 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 定時消息 投遞 預(yù)設(shè) 定時隊列 索引信息 電子設(shè)備 延時級別 接收定時 目標隊列 數(shù)據(jù)文件 延時誤差 堆積 寫入 監(jiān)控 | ||
本發(fā)明實施例提供了一種消息的處理方法、裝置和電子設(shè)備,設(shè)置有多個定時隊列,所述多個定時隊列分別與多個預(yù)設(shè)的延時級別對應(yīng),所述方法包括:接收定時消息,并將所述定時消息寫入數(shù)據(jù)文件;根據(jù)所述定時消息的延時級別,將所述定時消息的索引信息存入對應(yīng)的定時隊列中;分別監(jiān)控所述多個定時隊列,以判斷是否存在滿足預(yù)設(shè)投遞條件的定時消息;如果存在滿足預(yù)設(shè)投遞條件的定時消息,則將滿足預(yù)設(shè)投遞條件的定時消息的索引信息投遞到所述目標隊列,以供使用者通過所述索引信息獲取滿足預(yù)設(shè)投遞條件的定時消息。本發(fā)明提升了定時消息堆積能力,且當定時消息數(shù)量較大時,可以降低定時消息延時誤差,更大程度上保障定時消息被準時投遞。
技術(shù)領(lǐng)域
本發(fā)明實施例計算機技術(shù)領(lǐng)域,尤其涉及一種消息的處理方法、裝置和設(shè)備。
背景技術(shù)
大多數(shù)消息中間件,例如阿里云MQ(Message Queue)和MetaQ(Metamorphosis)都可以支持定時消息或者延時消息。目前,定時消息或者延時消息已應(yīng)用到許多業(yè)務(wù)場景中,舉個簡單的例子:當在購物平臺(例如,天貓)創(chuàng)建訂單,假設(shè)設(shè)置該訂單在45分鐘內(nèi)未支付即被關(guān)閉,這就生成一條延時消息(或者定時消息)。在咱們的實際生活中,尤其是網(wǎng)絡(luò)交互過程中,定時消息或者延時消息隨處可見。
在相關(guān)技術(shù)中定時消息(或者延時消息)的實現(xiàn)主要采用如下方式:存儲引擎接收到客戶端發(fā)送的定時消息后,首先將定時消息存入等待隊列(定時隊列)中,再由單獨的線程時刻輪詢等待隊列,當滿足投遞條件(例如,到達延時時間)時,將定時消息投遞到目標隊列,由消費者消費該定時消息。
發(fā)明人的實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在如下缺陷:定時消息堆積能力弱,當定時消息數(shù)量較大時,服務(wù)器端調(diào)度壓力大、調(diào)度能力不足,導(dǎo)致定時消息大量堆積,出現(xiàn)嚴重的延誤投遞現(xiàn)象。
發(fā)明內(nèi)容
本發(fā)明實施例提供的消息的處理方法、裝置和電子設(shè)備,提升定時消息堆積能力,且當定時消息數(shù)量較大時,可以降低定時消息延時誤差,更大程度上保障定時消息被準時投遞。
本發(fā)明的一方面,提供一種消息的處理方法,設(shè)置有多個定時隊列,所述多個定時隊列分別與多個預(yù)設(shè)的延時級別對應(yīng),所述方法包括:接收定時消息,并將所述定時消息寫入數(shù)據(jù)文件;根據(jù)所述定時消息的延時級別,將所述定時消息的索引信息存入對應(yīng)的定時隊列中;分別監(jiān)控所述多個定時隊列,以判斷是否存在滿足預(yù)設(shè)投遞條件的定時消息;如果存在滿足預(yù)設(shè)投遞條件的定時消息,則將滿足預(yù)設(shè)投遞條件的定時消息的索引信息投遞到所述目標隊列,以供使用者通過所述索引信息獲取滿足預(yù)設(shè)投遞條件的定時消息。
本發(fā)明的第二方面,提供一種消息的處理裝置,設(shè)置有多個定時隊列,所述多個定時隊列分別與多個預(yù)設(shè)的延時級別對應(yīng),所述裝置包括:第一接收模塊,用于接收定時消息,并將所述定時消息寫入數(shù)據(jù)文件;第一存儲模塊,用于根據(jù)所述定時消息的延時級別,將所述定時消息的索引信息存入對應(yīng)的定時隊列中;隊列監(jiān)控模塊,用于分別監(jiān)控所述多個定時隊列,以判斷是否存在滿足預(yù)設(shè)投遞條件的定時消息;消息重投模塊,用于當存在滿足預(yù)設(shè)投遞條件的定時消息時,將滿足預(yù)設(shè)投遞條件的定時消息的索引信息投遞到所述目標隊列,以供使用者通過所述索引信息獲取滿足預(yù)設(shè)投遞條件的定時消息。
本發(fā)明的第三方面,提供一種電子設(shè)備,包括:存儲器,用于存儲程序;處理器,耦合至所述存儲器,用于執(zhí)行所述程序,且設(shè)置有多個定時隊列,所述多個定時隊列分別與多個預(yù)設(shè)的延時級別對應(yīng),以用于:接收定時消息,并將所述定時消息寫入數(shù)據(jù)文件;根據(jù)所述定時消息的延時級別,將所述定時消息的索引信息存入對應(yīng)的定時隊列中;分別監(jiān)控所述多個定時隊列,以判斷是否存在滿足預(yù)設(shè)投遞條件的定時消息;如果存在滿足預(yù)設(shè)投遞條件的定時消息,則將滿足預(yù)設(shè)投遞條件的定時消息的索引信息投遞到所述目標隊列,以供使用者通過所述索引信息獲取滿足預(yù)設(shè)投遞條件的定時消息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710071742.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





