[发明专利]一种分布式缓存的实现方法有效
申请号: | 201610023588.1 | 申请日: | 2016-01-14 |
公开(公告)号: | CN105701219B | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 王尊亮;赵伟;张文志;张海旸;马跃 | 申请(专利权)人: | 北京邮电大学;中国电子科技集团公司第五十四研究所 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/2455;G06F9/445 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 夏宪富;王双 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 缓存 实现 方法 | ||
本申请公开了一种分布式缓存的实现方法,将各个分布式缓存独立编成动态链接库,并设置于不同的应用服务器中,实现方法包括:将所述应用服务器中的上层业务与该服务器内以动态链接库形式提供的缓存库编译到同一进程中;上层业务通过调用编译在同一进程中的动态链接库进行读/写/删除操作;进行读操作时,与上层业务位于同一进程中的动态链接库接收所述上层业务发送的读参数,并根据读参数从缓存库或关系型数据库读取相应的数据,提交给上层业务;进行写操作时,与上层业务位于同一进程中的动态链接库接收所述上层业务发送的写参数,根据写参数在缓存库和关系型数据库中写入相应的数据。应用本申请,能够提高读写缓存的效率。
技术领域
本申请涉及计算机技术,特别涉及一种分布式缓存的实现方法。
背景技术
随着互联网的普及和发展,应用服务器需要应对快速增长的用户请求数量,为了减轻数据库服务器的压力以及提高业务对用户请求的响应速度,需要对用户经常使用的数据进行缓存,即把用户数据暂存在内存中,其直接目的是为了提高数据的响应速度。现有的以memcached、redis为代表的分布式缓存系统工作思路如图1所示,分布式缓存位于独立的机器节点上,业务进程进行数据存取时,对于读操作,首先需要通过网络IO访问分布式缓存,如果需要访问的数据在缓存中,那么读成功,通过网络将数据返回给业务进程,如果缓存中没有所需数据,那么读取缓存失败,将失败消息返回给业务进程,业务进程接到缓存读取失败消息后,对关系型数据库发送读请求,数据库将数据返回给业务进程后,业务进程再将读取到的数据通过网络IO存入缓存中;对与写操作,业务进程首先通过网IO将数据写入数据库中,然后再将数据通过网络IO写入分布式缓存。
在上述的分布式缓存方案中,不论是读操作,还是写操作,业务进程都需要通过大量的网络IO与分布式缓存进行数据交换。花费在网络IO上的时间将随着读写请求的增多而变大,从而成为影响读写效率的瓶颈。
发明内容
本申请提供一种分布式缓存的实现方法,能够提高读写缓存的效率。
为实现上述目的,本申请采用如下技术方案:
一种分布式缓存的实现方法,将各个分布式缓存独立编成动态链接库,并设置于不同的应用服务器中,所述实现方法包括:
将所述应用服务器中的上层业务与该服务器内以动态链接库形式提供的缓存库编译到同一进程中;
所述上层业务通过调用编译在同一进程中的动态链接库进行读/写/删除操作;
进行读操作时,与所述上层业务位于同一进程中的动态链接库接收所述上层业务发送的读参数,并根据所述读参数从缓存库或关系型数据库读取相应的数据,提交给所述上层业务;
进行写操作时,与所述上层业务位于同一进程中的动态链接库接收所述上层业务发送的写参数,根据所述写参数在所述缓存库和关系型数据库中写入相应的数据。
较佳地,所述根据所述读参数从缓存库或关系型数据库读取相应的数据包括:
根据所述读参数和动态链接库中的哈希表,确定待读取数据的存储位置,并进行数据读取;如果在内存中没有找到所述待读取数据,则从关系型数据库中读取所述待读取数据,并将读取出的数据存入所述缓存库中。
较佳地,根据所述写参数在所述缓存库和关系型数据库中写入相应的数据包括:
根据所述写参数,将待写入数据写入所述关系型数据库;
根据所述写参数通过动态链接库中的哈希表在内存中查找对应数据,若查找成功,则使用所述待写入数据覆盖查找到的数据,若查找失败,则在内存中分配缓存并将所述待写入数据写入分配的缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学;中国电子科技集团公司第五十四研究所,未经北京邮电大学;中国电子科技集团公司第五十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610023588.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于逆向反演的交互式网页动画设计方法
- 下一篇:一种文献对比方法及系统