[发明专利]一种缓解服务端数据库访问压力的方法和装置有效
申请号: | 201310541236.1 | 申请日: | 2013-11-05 |
公开(公告)号: | CN103631869B | 公开(公告)日: | 2018-04-17 |
发明(设计)人: | 王博;叶剑峰;吴凯 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所11323 | 代理人: | 权鲜枝,何立春 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓解 服务端 数据库 访问 压力 方法 装置 | ||
1.一种缓解服务端数据库访问压力的方法,其中,所述服务端数据库中保存有应用的版本信息以及应用的更新相关信息,该方法包括:
查询服务端数据库中的应用的版本信息并复制到共享内存中;所述共享内存设置于所述服务端数据库的前端;
接收来自客户端的包含应用名称和应用的版本信息的应用更新查询请求;
查询共享内存,判断共享内存中是否有所述应用更新查询请求所对应的应用的记录,如果有则通过对比应用的版本信息确定应用更新查询请求所对应的应用是否需要更新,过滤掉不需要更新的应用;
向服务端数据库查询需要更新的应用的更新相关信息,并返回给客户端;
其中,所述共享内存为Nginx的共享内存;
所述服务端数据库为单线程Redis;
该方法还包括:
利用服务端的多个CPU来操作所述共享内存;
所述接收来自客户端的包含应用名称和应用的版本信息的应用更新查询请求,以及所述查询共享内存包括:启动多个Nginx进程来接收来自客户端的应用更新查询请求,以及查询Nginx的共享内存。
2.如权利要求1所述的方法,其中,该方法进一步包括:
为复制到共享内存中的每个应用的版本信息设置一个过期时间;
当共享内存中的一个应用的版本信息的过期时间到达时,从共享内存中删除该应用的版本信息,并从所述服务端数据库重新查询该应用的版本信息并复制到共享内存中。
3.一种缓解服务端数据库访问压力的装置,其中,所述服务端数据库中保存有应用的版本信息以及应用的更新相关信息,该装置包括:复制单元,共享内存单元、应用更新请求处理单元;
复制单元,适于查询所述服务端数据库中的应用的版本信息并复制到共享内存单元中;
共享内存单元,适于保存复制单元查询的应用的版本信息;
应用更新请求处理单元,适于接收来自客户端的包含应用名称和应用的版本信息的应用更新查询请求,查询共享内存单元,判断共享内存单元中是否有所述应用更新查询请求所对应的应用的记录,如果有则通过对比应用的版本信息确定应用更新查询请求所对应的应用是否需要更新,过滤掉不需要更新的应用,以及向服务端数据库查询需要更新的应用的更新相关信息,并返回给客户端;
所述共享内存单元为Nginx的共享内存单元;
所述服务端数据库为单线程Redis;
所述应用更新请求处理单元,适于利用服务端的多个CPU来操作所述共享内存单元;
应用更新请求处理单元,适于启动多个Nginx进程来接收来自客户端的应用更新查询请求,以及查询Nginx的共享内存单元。
4.如权利要求3所述的装置,其中,
所述复制单元,进一步适于为复制到共享内存单元中的每个应用的版本信息设置一个过期时间,当共享内存单元中的一个应用的版本信息的过期时间到达时,从共享内存单元中删除该应用的版本信息,并从所述服务端数据库重新查询该应用的版本信息并复制到共享内存单元中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310541236.1/1.html,转载请声明来源钻瓜专利网。