[发明专利]基于MySQL计数器表的高并发计数方法及web服务器有效
申请号: | 201711225004.X | 申请日: | 2017-11-29 |
公开(公告)号: | CN107862082B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 郑秋燕 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/958;G06F9/54 |
代理公司: | 深圳市凯达知识产权事务所 44256 | 代理人: | 刘大弯;沈荣彬 |
地址: | 518057 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mysql 计数器 并发 计数 方法 web 服务器 | ||
1.一种基于MySQL计数器表的高并发计数方法,应用于web服务器,其特征在于,所述基于MySQL计数器表的高并发计数方法包括以下步骤:
在MySQL计数器表中设置多个槽位,且多个槽位对应的多个槽位值存入预设栈;
实时检测是否发生计数事件;
若检测到计数事件,将所述计数事件存储至消息队列;
开启与所述槽位数量相同的多个计数线程以使各所述计数线程从所述消息队列中读取所述计数事件、从所述预设栈中读取所述槽位值、将所述计数事件更新至所述槽位值、将已进行计数的所述计数事件从所述消息队列中删除并将更新后的所述槽位值返回所述预设栈。
2.如权利要求1所述的基于MySQL计数器表的高并发计数方法,其特征在于,所述基于MySQL计数器表的高并发计数方法还包括:
统计当前计数结果时,从所述MySQL计数器表中读取各所述槽位对应的槽位值;
将各所述槽位值相加并将相加后的和值作为当前计数结果。
3.如权利要求2所述的基于MySQL计数器表的高并发计数方法,其特征在于,所述MySQL计数器表中还设置有日期;
所述统计当前计数结果时,从所述MySQL计数器表中读取各所述槽位对应的槽位值的步骤具体为:
获取当前日期;
根据所述当前日期从对应日期的MySQL计数器表中读取各所述槽位对应的槽位值。
4.如权利要求2所述的基于MySQL计数器表的高并发计数方法,其特征在于,所述开启与所述槽位数量相同的多个计数线程以使所述计数线程从所述预设栈中取出所述槽位值的步骤之后还包括:
检测所述预设栈是否为空;
若检测结果为是,则将所述计数线程从所述消息队列中取出的计数事件再次存储至所述消息队列;
若检测结果为否,则执行所述从所述预设栈中读取所述槽位值的步骤。
5.如权利要求1所述的基于MySQL计数器表的高并发计数方法,其特征在于,所述将所述计数事件存储至消息队列的步骤具体为:
将所述计数事件并发存储至所述消息队列。
6.一种web服务器,其特征在于,所述web服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于MySQL计数器表的高并发计数程序,所述基于MySQL计数器表的高并发计数程序被所述处理器执行时实现如下步骤:
在MySQL计数器表中设置多个槽位,且多个槽位对应的多个槽位值存入预设栈;
实时检测是否发生计数事件;
若检测到计数事件,将所述计数事件存储至消息队列;
开启与所述槽位数量相同的多个计数线程以使各所述计数线程从所述消息队列中读取所述计数事件、从所述预设栈中读取所述槽位值、将所述计数事件更新至所述槽位值、将已进行计数的所述计数事件从所述消息队列中删除并将更新后的所述槽位值返回所述预设栈。
7.如权利要求6所述的web服务器,其特征在于,所述基于MySQL计数器表的高并发计数程序被所述处理器执行时,还用于实现以下步骤:
统计当前计数结果时,从所述MySQL计数器表中读取各所述槽位对应的槽位值;
将各所述槽位值相加并将相加后的和值作为当前计数结果。
8.如权利要求7所述的web服务器,其特征在于,所述MySQL计数器表中还设置有日期;所述基于MySQL计数器表的高并发计数程序被所述处理器执行时,还用于实现以下步骤:
获取当前日期;
根据所述当前日期从对应日期的MySQL计数器表中读取各所述槽位对应的槽位值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711225004.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:网络信息源查找方法、装置及服务器
- 下一篇:一种扫描文件快速归档的方法