[發明專利]一種處理異步任務的方法和系統有效
| 申請號: | 201310276883.4 | 申請日: | 2013-07-03 |
| 公開(公告)號: | CN103345423A | 公開(公告)日: | 2013-10-09 |
| 發明(設計)人: | 李鵬濤 | 申請(專利權)人: | 北京京東尚科信息技術有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 劉光明;陸錦華 |
| 地址: | 100080 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理 異步 任務 方法 系統 | ||
1.一種處理異步任務的方法,其特征在于,包括:
網關將接收到的任務數據插入Redis中的任務數據隊列;
異步任務處理程序從所述任務數據隊列中獲取任務數據,然后根據獲取的任務數據執行任務。
2.根據權利要求1所述的方法,其特征在于,
所述將接收到的任務數據插入Redis中的任務數據隊列的步驟包括:
對任務數據字符串取一致性哈希值,對該哈希值按照任務數據隊列的數目取模,將任務數據插入序號為該模的任務數據隊列;
所述從所述任務數據隊列中獲取任務數據,然后根據獲取的任務數據執行任務的步驟包括:
從Reids中的任務數據隊列中取出預設數目條任務數據并進行去重處理,根據剩余的任務數據執行任務,在執行各件任務時,先將任務數據字符串的一致性哈希值作為鍵名保存到所述Redis中,在保存成功的情況下執行該任務然后刪除作為鍵名的該一致性哈希值,在保存不成功的情況下放棄執行該任務。
3.根據權利要求2所述的方法,其特征在于,在所述保存成功的情況下,還包括:所述異步任務處理程序向Redis提供過期時間,從所述保存完成時起經過該過期時間后,Redis刪除作為鍵名的所述一致性哈希值。
4.根據權利要求1、2或3所述的方法,其特征在于,所述異步任務處理程序從所述Redis中的任務數據隊列中獲取任務數據之前,還包括:所述異步任務處理程序判斷該任務數據隊列中任務的數目是否超出預設閾值;若是,則進行所述根據獲取的任務數據執行任務的步驟,否則不進行該步驟,而是將獲取任務數據保存到數據庫內,然后啟動基于該數據庫的處理程序。
5.一種處理異步任務的系統,其特征在于,包括:
網關裝置,用于將接收到的任務數據插入Redis中的任務數據隊列;
異步任務處理裝置,用于從所述任務數據隊列中獲取任務數據,然后根據獲取的任務數據執行任務。
6.根據權利要求5所述的系統,其特征在于,
所述網關裝置還用于:對任務數據字符串取一致性哈希值,對該哈希值按照任務數據隊列的數目取模,將任務數據插入序號為該模的任務數據隊列;
所述異步任務處理裝置還用于:從Reids中的任務數據隊列中取出預設數目條任務數據并進行去重處理,根據剩余的任務數據執行任務,在執行各件任務時,先將任務數據字符串的一致性哈希值作為鍵名保存到所述Redis中,在保存成功的情況下執行該任務然后刪除作為鍵名的該一致性哈希值,在保存不成功的情況下放棄執行該任務。
7.根據權利要求6所述的系統,其特征在于,所述異步任務處理裝置還用于:向Redis提供過期時間,以供所述Redis從所述保存完成時起經過該過期時間后,刪除作為鍵名的所述一致性哈希值。
8.根據權利要求5、6或7所述的系統,其特征在于,所述異步任務處理裝置還用于從所述Redis中的任務數據隊列中獲取任務數據之前,判斷該任務數據隊列中任務的數目是否超出預設閾值;若是,則根據獲取的任務數據執行任務,否則將獲取任務數據保存到數據庫內,然后啟動基于該數據庫的處理程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司,未經北京京東尚科信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310276883.4/1.html,轉載請聲明來源鉆瓜專利網。





