[发明专利]一种并行计数器、服务器和一种计数方法有效
| 申请号: | 201610974314.0 | 申请日: | 2016-10-28 |
| 公开(公告)号: | CN108021597B | 公开(公告)日: | 2022-02-08 |
| 发明(设计)人: | 程正君;高超;丁宇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/958 | 分类号: | G06F16/958 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并行 计数器 服务器 计数 方法 | ||
本发明实施例公开了一种并行计数器、服务器和一种计数方法,用于业务服务进行计数的并行计数器设置于服务器中,并行计数器的每一个计数模块都有一个对应的存储位置,用于存储该计数模块的原计数值,若第一计数模块接收到第一线程,第一计数模块可以从对应存储位置中获取第一计数模块的原计数值,并根据第一线程携带的计数需求更改原计数值。该并行计数器只需通过求和模块对各个计数模块的原计数值进行求和统计便可以得到针对业务服务的计数值。可见,该并行计数器中各个计数模块均可以独立完成针对接收到线程中计数需求的计数值更改,使得该并行计数器可以通过至少两个计数模块实现对多个线程的并行计数,提高了计数效率。
技术领域
本发明涉及数据处理领域,特别是涉及一种并行计数器、服务器和一种计数方法。
背景技术
计算机可以提供各类业务服务。为了便于统计等原因,会对业务服务具有计数需求,例如一台计算机为网页内容提供了访问服务,相应的,可以统计这台计算机对该网页内容所获取的访问量;一台计算机提供了接收消息的服务,相应的,可以统计这台计算机所接收的消息数量等。
传统的方式是使用数据库实现计数。当对一项业务服务具有计数需求时,通过一个线程(或者说进程)访问数据库,从数据库中提取出对应的原计数值,根据该线程所携带的计数需求改变该原计数值(例如计数值的增减),以得到改变后的计数值,再将数据库中的该原计数值更新为改变后的计数值,从而完成一次计数。
然而随着技术发展,针对一项业务服务会有大量的计数需求,导致数据库会同时接收到多个用于对一项业务服务的进行计数的线程,形成了高并发的计数场景。为了保证数据安全性,以及计数值的准确性,不能允许多个线程同时更新计数值,只能一个一个线程依次调取数据库中的计数值进行计数修改、更新数据库。导致计数效率低,不能适用于上述高并发的计数场景。
发明内容
为了解决上述技术问题,本发明提供了一种并行计数器、服务器和一种计数方法,并行计数器可以通过至少两个计数模块实现对多个线程的并行计数,提高了计数效率。
本发明实施例公开了如下技术方案:
第一方面,本发明提供了一种并行计数器,所述并行计数器设置于服务器中,所述并行计数器用于针对所述服务器的业务服务进行计数,所述并行计数器包括分发模块、求和模块和至少两个计数模块:
所述分发模块用于将接收到的线程向所述至少两个计数模块分发,所述线程携带有所述业务服务的计数需求;
第一计数模块为所述至少两个计数模块中的一个计数模块,用于接收所述分发模块分发的第一线程,所述第一线程为所述分发模块接收到的线程中的一个线程;还用于从所述第一计数模块对应的存储位置中取出第一计数模块的原计数值,根据所述第一线程携带的计数需求更改所述第一计数模块的原计数值,将更改后的计数值作为所述第一计数模块的原计数值更新到所述第一计数模块对应的存储位置中;
所述求和模块用于将所述至少两个计数模块的原计数值进行求和得到计数总值,所述计数总值为针对所述业务服务的计数值。
可选的,所述并行计数器的第二计数模块为所述至少两个计数模块中的一个计数模块,用于接收所述分发模块分发的第二线程,所述第二线程为所述分发模块接收到的线程中的一个线程;还用于从所述第二计数模块对应的存储位置中取出第二计数模块的原计数值,根据所述第二线程携带的计数需求更改所述第二计数模块的原计数值,将更改后的计数值作为所述第二计数模块的原计数值更新到所述第二计数模块对应的存储位置中。
可选的,所述第一计数模块用于根据所述第一线程携带的计数需求更改所述第一计数模块的原计数值,将更改后的计数值作为所述第一计数模块的原计数值更新到所述第一计数模块对应的存储位置中,包括:
所述第一计数模块在根据所述第一线程的计数需求更改所述第一计数模块的原计数值之后,用于从所述第一计数模块对应的存储位置调取所述第一计数模块的原计数值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610974314.0/2.html,转载请声明来源钻瓜专利网。





