[發明專利]一種基于Redis的分布式隊列調度方法及裝置在審
| 申請號: | 201410034919.2 | 申請日: | 2014-01-24 |
| 公開(公告)號: | CN103793273A | 公開(公告)日: | 2014-05-14 |
| 發明(設計)人: | 戴晨 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F17/30 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 胡彬 |
| 地址: | 100080 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 redis 分布式 隊列 調度 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種基于Redis的分布式隊列調度方法及裝置。
背景技術
當具有多個待處理的分布式任務,并且具有多個異步任務處理程序(worker)能夠響應所述分布式任務時,如何實現分布式任務的調度是影響分布式任務執行效率的重要因素。
現有的分布式隊列調度方法中,調度設備采用Redis存儲任務隊列數據,利用Redis支持鏈表(list)數據類型的特點,將任務隊列數據存入Redis隊列交由異步任務處理程序(worker)處理。異步任務處理程序(worker)根據需要從所述任務數據隊列中獲取任務數據,然后根據獲取的任務數據執行任務。
但是,各個異步任務處理程序(worker)從Redis中讀取任務隊列數據時,由于worker間爭奪數據可能導致死鎖。
發明內容
本發明提供一種基于Redis的分布式隊列調度方法及裝置,避免了異步任務處理程序間爭奪數據導致死鎖。
一方面,本發明提出一種基于Redis的分布式隊列調度的方法,包括:
獲得當前時刻所述Redis中所有待處理的任務數據隊列的名稱;
獲得與所述Redis連接的異步任務處理程序的信息;
根據所述任務數據隊列的名稱及所述異步任務處理程序的信息,為所述任務數據隊列分配異步任務處理程序。
另一方面,本發明還提出一種基于Redis的分布式隊列調度的裝置,包括:
名稱獲取單元,用于獲得當前時刻所述Redis中所有待處理的任務數據隊列的名稱;
程序獲取單元,用于獲得與所述Redis連接的異步任務處理程序的信息;
程序分配單元,用于根據所述任務數據隊列的名稱及所述異步任務處理程序的信息,為所述任務數據隊列分配異步任務處理程序。
本發明提出的基于Redis的分布式隊列調度的方法及裝置,實現了對Redis中任務數據隊列的分布式調度,減少了分布式隊列調度中對關系型數據庫的依賴,避免了異步任務處理程序間爭奪數據導致死鎖。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,并不構成對本發明的限定。在附圖中:
圖1是本發明實施例中提供的一種基于Redis的分布式隊列調度的方法的實現流程圖;
圖2是本發明實施例中提供的任務數據隊列的調度結果的示意圖;
圖3是本發明實施例中提供一種基于Redis的分布式隊列調度的方法的實現流程圖;
圖4是本發明實施例中提供的一種基于Redis的分布式隊列調度的裝置的結構示意圖。
具體實施方式
下面結合附圖及具體實施例對本發明進行更加詳細與完整的說明。可以理解的是,此處所描述的具體實施例僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部內容。
圖1是本發明實施例中提供的一種基于Redis的分布式隊列調度的方法的實現流程圖。本發明實施例提供的方法可以由本發明實施例提供的基于Redis的分布式隊列調度的裝置來執行,該裝置可以由軟件和/或硬件來實現。如圖1所示,本發明實施例提供的方法包括:
步驟101、獲得當前時刻所述Redis中所有待處理的任務數據隊列的名稱。
Redis是一個基于內存和鍵值對(key–value)的存儲數據庫。由于具有輕量級特性,Redis為備受關注的鍵值對存儲數據庫。Redis中值(Value)支持存儲多種數據類型,例如字符串(String),哈希(Map),鏈表(list),集合(sets)和有序集合(sorted?sets)等類型。Redis中提供的鏈表可以作為輕量級的任務數據隊列。Redis中任務數據隊列的名稱由任務名稱和隊列編號組成,使得在Redis中能夠通過關鍵字模糊查詢命令獲得所有待處理的任務數據隊列。優選的,任務名稱具有統一前綴,例如,任務名稱均具有前綴“Queue-”則可以通過“keysQueue-*”命令模糊匹配,動態獲得Redis中當前時刻所有待處理的任務數據隊列的名稱。
步驟102、獲得與所述Redis連接的異步任務處理程序的信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410034919.2/2.html,轉載請聲明來源鉆瓜專利網。





