[發(fā)明專利]一種并行計數(shù)器、服務(wù)器和一種計數(shù)方法有效
| 申請?zhí)枺?/td> | 201610974314.0 | 申請日: | 2016-10-28 |
| 公開(公告)號: | CN108021597B | 公開(公告)日: | 2022-02-08 |
| 發(fā)明(設(shè)計)人: | 程正君;高超;丁宇 | 申請(專利權(quán))人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/958 | 分類號: | G06F16/958 |
| 代理公司: | 北京三友知識產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 李輝 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 并行 計數(shù)器 服務(wù)器 計數(shù) 方法 | ||
本發(fā)明實施例公開了一種并行計數(shù)器、服務(wù)器和一種計數(shù)方法,用于業(yè)務(wù)服務(wù)進行計數(shù)的并行計數(shù)器設(shè)置于服務(wù)器中,并行計數(shù)器的每一個計數(shù)模塊都有一個對應(yīng)的存儲位置,用于存儲該計數(shù)模塊的原計數(shù)值,若第一計數(shù)模塊接收到第一線程,第一計數(shù)模塊可以從對應(yīng)存儲位置中獲取第一計數(shù)模塊的原計數(shù)值,并根據(jù)第一線程攜帶的計數(shù)需求更改原計數(shù)值。該并行計數(shù)器只需通過求和模塊對各個計數(shù)模塊的原計數(shù)值進行求和統(tǒng)計便可以得到針對業(yè)務(wù)服務(wù)的計數(shù)值。可見,該并行計數(shù)器中各個計數(shù)模塊均可以獨立完成針對接收到線程中計數(shù)需求的計數(shù)值更改,使得該并行計數(shù)器可以通過至少兩個計數(shù)模塊實現(xiàn)對多個線程的并行計數(shù),提高了計數(shù)效率。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種并行計數(shù)器、服務(wù)器和一種計數(shù)方法。
背景技術(shù)
計算機可以提供各類業(yè)務(wù)服務(wù)。為了便于統(tǒng)計等原因,會對業(yè)務(wù)服務(wù)具有計數(shù)需求,例如一臺計算機為網(wǎng)頁內(nèi)容提供了訪問服務(wù),相應(yīng)的,可以統(tǒng)計這臺計算機對該網(wǎng)頁內(nèi)容所獲取的訪問量;一臺計算機提供了接收消息的服務(wù),相應(yīng)的,可以統(tǒng)計這臺計算機所接收的消息數(shù)量等。
傳統(tǒng)的方式是使用數(shù)據(jù)庫實現(xiàn)計數(shù)。當(dāng)對一項業(yè)務(wù)服務(wù)具有計數(shù)需求時,通過一個線程(或者說進程)訪問數(shù)據(jù)庫,從數(shù)據(jù)庫中提取出對應(yīng)的原計數(shù)值,根據(jù)該線程所攜帶的計數(shù)需求改變該原計數(shù)值(例如計數(shù)值的增減),以得到改變后的計數(shù)值,再將數(shù)據(jù)庫中的該原計數(shù)值更新為改變后的計數(shù)值,從而完成一次計數(shù)。
然而隨著技術(shù)發(fā)展,針對一項業(yè)務(wù)服務(wù)會有大量的計數(shù)需求,導(dǎo)致數(shù)據(jù)庫會同時接收到多個用于對一項業(yè)務(wù)服務(wù)的進行計數(shù)的線程,形成了高并發(fā)的計數(shù)場景。為了保證數(shù)據(jù)安全性,以及計數(shù)值的準(zhǔn)確性,不能允許多個線程同時更新計數(shù)值,只能一個一個線程依次調(diào)取數(shù)據(jù)庫中的計數(shù)值進行計數(shù)修改、更新數(shù)據(jù)庫。導(dǎo)致計數(shù)效率低,不能適用于上述高并發(fā)的計數(shù)場景。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提供了一種并行計數(shù)器、服務(wù)器和一種計數(shù)方法,并行計數(shù)器可以通過至少兩個計數(shù)模塊實現(xiàn)對多個線程的并行計數(shù),提高了計數(shù)效率。
本發(fā)明實施例公開了如下技術(shù)方案:
第一方面,本發(fā)明提供了一種并行計數(shù)器,所述并行計數(shù)器設(shè)置于服務(wù)器中,所述并行計數(shù)器用于針對所述服務(wù)器的業(yè)務(wù)服務(wù)進行計數(shù),所述并行計數(shù)器包括分發(fā)模塊、求和模塊和至少兩個計數(shù)模塊:
所述分發(fā)模塊用于將接收到的線程向所述至少兩個計數(shù)模塊分發(fā),所述線程攜帶有所述業(yè)務(wù)服務(wù)的計數(shù)需求;
第一計數(shù)模塊為所述至少兩個計數(shù)模塊中的一個計數(shù)模塊,用于接收所述分發(fā)模塊分發(fā)的第一線程,所述第一線程為所述分發(fā)模塊接收到的線程中的一個線程;還用于從所述第一計數(shù)模塊對應(yīng)的存儲位置中取出第一計數(shù)模塊的原計數(shù)值,根據(jù)所述第一線程攜帶的計數(shù)需求更改所述第一計數(shù)模塊的原計數(shù)值,將更改后的計數(shù)值作為所述第一計數(shù)模塊的原計數(shù)值更新到所述第一計數(shù)模塊對應(yīng)的存儲位置中;
所述求和模塊用于將所述至少兩個計數(shù)模塊的原計數(shù)值進行求和得到計數(shù)總值,所述計數(shù)總值為針對所述業(yè)務(wù)服務(wù)的計數(shù)值。
可選的,所述并行計數(shù)器的第二計數(shù)模塊為所述至少兩個計數(shù)模塊中的一個計數(shù)模塊,用于接收所述分發(fā)模塊分發(fā)的第二線程,所述第二線程為所述分發(fā)模塊接收到的線程中的一個線程;還用于從所述第二計數(shù)模塊對應(yīng)的存儲位置中取出第二計數(shù)模塊的原計數(shù)值,根據(jù)所述第二線程攜帶的計數(shù)需求更改所述第二計數(shù)模塊的原計數(shù)值,將更改后的計數(shù)值作為所述第二計數(shù)模塊的原計數(shù)值更新到所述第二計數(shù)模塊對應(yīng)的存儲位置中。
可選的,所述第一計數(shù)模塊用于根據(jù)所述第一線程攜帶的計數(shù)需求更改所述第一計數(shù)模塊的原計數(shù)值,將更改后的計數(shù)值作為所述第一計數(shù)模塊的原計數(shù)值更新到所述第一計數(shù)模塊對應(yīng)的存儲位置中,包括:
所述第一計數(shù)模塊在根據(jù)所述第一線程的計數(shù)需求更改所述第一計數(shù)模塊的原計數(shù)值之后,用于從所述第一計數(shù)模塊對應(yīng)的存儲位置調(diào)取所述第一計數(shù)模塊的原計數(shù)值;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201610974314.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





