[发明专利]高并发、多线程应用中的计数方法及系统有效
申请号: | 201210185463.0 | 申请日: | 2012-06-06 |
公开(公告)号: | CN102722405A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 张海洋 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 赵景平;王宝筠 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 多线程 应用 中的 计数 方法 系统 | ||
1.一种高并发、多线程应用中的计数方法,其特征在于,包括:
接收操作请求,在所述操作请求中包含操作对象的对象标识及已对所述操作对象的操作次数;
根据操作对象的对象标识与保存在共享内存中的操作对象对应的计数值的映射关系,确定所述操作请求中的对象标识对应的计数值;
根据所述操作请求中的操作次数更新所述共享内存中保存的所述计数值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
创建所述共享内存,并建立所述操作对象的对象标识与所述计数值的映射关系。
3.根据权利要求2所述的方法,其特征在于,所述创建所述共享内存包括:
利用共享内存创建shmget函数创建所述共享内存;或者
利用内存映射mmap函数创建所述共享内存;或者
通过进程申请所述共享内存。
4.根据权利要求2所述的方法,其特征在于,所述建立所述操作对象的对象标识与所述计数值的映射关系包括:
如果所述对象标识是数字类型的,则直接将所述对象标识映射到一个二进制整型值,并将所述二进制整型值作为与所述对象标识对应的计数值;
如果所述对象标识是字符串类型的,则先将所述对象标识映射为一个自动增长类型的字段,再将所述字段映射到一个二进制整型值,并将所述二进制整型值作为与所述对象标识对应的计数值。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述共享内存分布在多个服务器中,所述多个服务器包括:本地服务器和远程服务器;所述方法还包括:
在根据所述操作次数更新所述共享内存中保存的所述计数值后,将更新操作后的计数值及对应的对象标识添加到所述本地服务器的日志文件中;
向所述远程服务器发送同步请求,在所述同步请求中包含所述日志文件中的计数值及对应的对象标识,以使所述远程服务器更新自己的共享内存中保存的与所述对象标识对应的计数值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述远程服务器发送的同步请求,所述同步请求中包含需要同步的计数值及对应的对象标识;
根据所述映射关系确定所述对象标识对应的计数值;
根据所述需要同步的计数值更新所述本地服务器的共享内存中保存的与所述对象标识对应的计数值。
7.一种高并发、多线程应用中的计数系统,其特征在于,包括:
接收单元,用于接收操作请求,在所述操作请求中包含操作对象的对象标识及已对所述操作对象的操作次数;
查找单元,用于根据操作对象的对象标识与保存在共享内存中的操作对象对应的计数值的映射关系,确定所述操作请求中的对象标识对应的计数值;
更新单元,用于根据所述操作请求中的操作次数更新所述共享内存中保存的所述计数值。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
创建单元,用于创建所述共享内存;
映射关系建立单元,用于建立所述操作对象的对象标识与所述计数值的映射关系。
9.根据权利要求8所述的系统,其特征在于,
所述创建单元,具体用于利用共享内存创建shmget函数创建所述共享内存;或者利用内存映射mmap函数创建所述共享内存;或者通过进程申请所述共享内存。
10.根据权利要求8所述的系统,其特征在于,
所述映射关系建立单元,具体用于在所述对象标识是数字类型时,直接将所述对象标识映射到一个二进制整型值,并将所述二进制整型值作为与所述对象标识对应的计数值;在所述对象标识是字符串类型时,先将所述对象标识映射为一个自动增长类型的字段,再将所述字段映射到一个二进制整型值,并将所述二进制整型值作为与所述对象标识对应的计数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210185463.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于通过铸造或注射成型工艺制造单件式空心体的方法
- 下一篇:静压花键装置