亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于redis實(shí)現(xiàn)多worker協(xié)同的系統(tǒng)的制作方法

文檔序號(hào):12271035閱讀:1728來源:國知局
一種基于redis實(shí)現(xiàn)多worker協(xié)同的系統(tǒng)的制作方法與工藝

本發(fā)明屬于軟件系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種基于redis實(shí)現(xiàn)多worker協(xié)同的系統(tǒng)。



背景技術(shù):

隨著互聯(lián)網(wǎng)大數(shù)據(jù)時(shí)代的到來,越來越多的計(jì)算任務(wù)task需要交多個(gè)計(jì)算機(jī)(worker)組成的集群來并發(fā)處理,由于計(jì)算任務(wù)中的task對(duì)資源(cpu/io/disk)的消耗差別很大,這個(gè)時(shí)候特別需要合理的安排任務(wù),以防止某類任務(wù)占用過多資源造成系統(tǒng)過載,進(jìn)而影響系統(tǒng)的穩(wěn)定行和可靠性,因此特別需要一個(gè)高效穩(wěn)定的解決方案來應(yīng)對(duì)此問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所解決的技術(shù)問題采用以下技術(shù)方案來實(shí)現(xiàn):提供一種基于redis實(shí)現(xiàn)多worker協(xié)同的系統(tǒng),是分布式計(jì)算的集群中對(duì)計(jì)算任務(wù)task協(xié)同控制速度的通用解決技術(shù)方案。

一種基于redis實(shí)現(xiàn)多worker協(xié)同的系統(tǒng),開始重新獲取一批待處理的任務(wù),以任務(wù)類名稱為key進(jìn)行匯總數(shù)量,其中redis計(jì)數(shù)器根據(jù)以task的任務(wù)名為key建立生存周期為1分鐘的key-value值,其中key值是任務(wù)名稱,value值為累加數(shù)值,發(fā)送key的任務(wù)匯總數(shù)量到redis請(qǐng)求對(duì)key的value進(jìn)行累加,其中由于集群中的worker并行請(qǐng)求,所以匯總到redis里面后會(huì)進(jìn)行排隊(duì),然后串行處理worker的key的累加請(qǐng)求,對(duì)請(qǐng)求的數(shù)量進(jìn)行value累加,返給worker累加后的數(shù)值,累加后value值和系統(tǒng)中的每分鐘的限量值進(jìn)行比較,如果沒有超過限額,則執(zhí)行這批key名稱任務(wù)的task,如果部分超額則拒絕超額部分并且執(zhí)行未超額部分,如果全部超額,則全部拒絕執(zhí)行任務(wù)task。

本發(fā)明的有益效果為:本系統(tǒng)用redis來實(shí)現(xiàn)計(jì)數(shù)器功能,因?yàn)檎麄€(gè)系統(tǒng)采用的是星型結(jié)構(gòu),所以各類任務(wù)task的計(jì)數(shù)以key-value形式,集中存儲(chǔ)在redis中,key為任務(wù)task的名稱,value為對(duì)應(yīng)的計(jì)數(shù);本系統(tǒng)是分布式計(jì)算的集群中對(duì)計(jì)算任務(wù)task協(xié)同控制速度的通用解決技術(shù)方案。

附圖說明

圖1是本發(fā)明的程序流程圖

圖2是本發(fā)明worker和redis計(jì)數(shù)器時(shí)序圖樣例

圖3是本發(fā)明系統(tǒng)結(jié)構(gòu)圖

具體實(shí)施方式

參照附圖,一種基于redis實(shí)現(xiàn)多worker協(xié)同的系統(tǒng),其中計(jì)算機(jī)集群中的各計(jì)算節(jié)點(diǎn)統(tǒng)稱為worker,計(jì)算任務(wù)統(tǒng)稱為task,task的計(jì)數(shù)以key-value形式,集中存儲(chǔ)在redis中,key為任務(wù)task的名稱,value為對(duì)應(yīng)的計(jì)數(shù),首先開始重新獲取一批待處理的任務(wù),以任務(wù)類名稱為key進(jìn)行匯總數(shù)量,其中redis計(jì)數(shù)器根據(jù)以task的任務(wù)名為key建立生存周期為1分鐘的key-value值,其中key值是任務(wù)名稱,value值為累加數(shù)值,發(fā)送key的任務(wù)匯總數(shù)量到redis請(qǐng)求對(duì)key的value進(jìn)行累加,其中由于集群中的worker并行請(qǐng)求,所以匯總到redis里面后會(huì)進(jìn)行排隊(duì),然后串行處理worker的key的累加請(qǐng)求,對(duì)請(qǐng)求的數(shù)量進(jìn)行value累加,返給worker累加后的數(shù)值,累加后value值和系統(tǒng)中的每分鐘的限量值進(jìn)行比較,如果沒有超過限額,則執(zhí)行這批key名稱任務(wù)的task,如果部分超額則拒絕超額部分并且執(zhí)行未超額部分,如果全部超額,則全部拒絕執(zhí)行任務(wù)task。

worker先取一批計(jì)算任務(wù)task,然后對(duì)這批task按照名稱為key進(jìn)行分類匯總,匯總后,按照名稱和數(shù)量申請(qǐng)redis里面的對(duì)應(yīng)任務(wù)名稱作為key的計(jì)數(shù)器進(jìn)行累加,如果redis里面沒有此任務(wù)名稱key的計(jì)數(shù)器,則生成一個(gè)新的進(jìn)行累加,并且設(shè)置好失效時(shí)間,如果有此名key對(duì)應(yīng)的計(jì)數(shù)器,則進(jìn)行對(duì)value進(jìn)行累加,并且把累加結(jié)果返回給worker,由于在redis里面的key支持生命周期,我們給key值設(shè)置為1分鐘,則1分鐘后,無論key值對(duì)應(yīng)的value值變成多大,key都會(huì)消失,進(jìn)而很簡(jiǎn)單高效的實(shí)現(xiàn)1分鐘限速。

本系統(tǒng)用redis來實(shí)現(xiàn)計(jì)數(shù)器功能,因?yàn)檎麄€(gè)系統(tǒng)采用的是星型結(jié)構(gòu),所以各類任務(wù)task的計(jì)數(shù)以key-value形式,集中存儲(chǔ)在redis中,key為任務(wù)task的名稱,value為對(duì)應(yīng)的計(jì)數(shù);本系統(tǒng)是分布式計(jì)算的集群中對(duì)計(jì)算任務(wù)task協(xié)同控制速度的通用解決技術(shù)方案。

利用本發(fā)明所述的技術(shù)方案,或本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案的啟發(fā)下,設(shè)計(jì)出類似的技術(shù)方案,而達(dá)到上述技術(shù)效果的,均是落入本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1