[发明专利]实现多功能缓存的方法和系统在审

专利信息
申请号: 201610910984.6 申请日: 2016-10-19
公开(公告)号: CN107967270A 公开(公告)日: 2018-04-27
发明(设计)人: 马顺风 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 中原信达知识产权代理有限责任公司11219 代理人: 张一军,赵静
地址: 100195 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 实现 多功能 缓存 方法 系统
【说明书】:

技术领域

发明涉及计算机技术及软件领域,尤其涉及一种实现多功能缓存的方法和系统。

背景技术

缓存技术几乎已经成为提高各种系统性能的有效技术手段,在互联网网站系统中更是一种不可或缺的技术。各个系统根据自身的需要,在实现缓存的过程中用到的技术也不尽相同。

现有技术中,实现缓存功能的行之有效的方法是利用Nginx自身的ngx_http_proxy_module模块,通过代理的方式对数据进行缓存。通过该模块中的相关缓存指令,从而轻松实现将数据缓存在磁盘文件中,且配置较为简便。

但这种方式存在一定的缺陷性:

首先,该方式只对使用ngx_http_proxy_module模块的请求起作用,有一定的局限性;其次,配置较为死板,无法动态开启或关闭缓存;再次,因为获取的数据是存储在磁盘,所以能够存储的可用文件的个数受限于所在文件系统的inode数;最后,数据缓存过程中,缓存设备单一,只能做到将数据缓存到指定的目录中,而无法实现自由选择缓存设备,对缓存功能的实现有一定的影响,不利于提高整个系统的性能。

发明内容

有鉴于此,本发明提供一种实现多功能缓存的方法和系统,能够突破实现缓存功能的技术局限性,降低开发和维护成本;且对原有系统零侵入配置,灵活设置缓存的开启和关闭;此外,还可实现自由选择缓存设备,提高系统性能。

为实现上述目的,根据本发明的一个方面,提供了一种实现多功能缓存的方法。

本发明的一种实现多功能缓存的方法包括:利用Nginx,根据数据请求,从缓存设备中获取数据,若获取成功,则将数据返回至客户端;否则,从服务器回源数据,将回源到的数据返回至客户端,并将所述数据保存至缓存设备中,其中回源是指将客户端的请求发回服务器,并从服务器获取数据,其中所述缓存设备为内存数据库和/或外部数据库。

可选地,所述方法还包括:设置缓存开关,包括全局缓存开关和/或变量缓存开关,以动态开启或关闭缓存。

可选地,从服务器回源数据还包括:回源时,利用异步非阻塞锁机制,以确保相同的请求只有一个被回源到服务器。

可选地,所述内存数据库采用Redis、Memchached、Nginx共享缓存中的一种或几种。

可选地,所述方法还包括:根据缓存需求,在将所述数据保存至缓存设备中时,进行数据分片、数据切割存储、数据压缩中的一种或几种处理,以提高缓存性能。

为实现上述目的,根据本发明的另一方面,提供了一种实现多功能缓存的系统。

本发明的一种实现多功能缓存的系统包括:Nginx代理模块,用于根据数据请求,从缓存设备中获取数据,若获取成功,则将数据返回至客户端;否则,从服务器回源数据,将回源到的数据返回至客户端,并将所述数据保存至缓存设备中,其中回源是指将客户端的请求发回服务器,并从服务器获取数据;服务器,用于根据数据回源请求,提供数据;缓存设备,为用于保存所述数据的内存数据库和/或外部数据库。

可选地,所述Nginx代理模块还用于:设置缓存开关,包括全局缓存开关和/或变量缓存开关,以动态开启或关闭缓存。

可选地,所述Nginx代理模块还用于:回源时,利用异步非阻塞锁机制,以确保相同的请求只有一个被回源到服务器。

可选地,所述内存数据库采用Redis、Memchached、Nginx共享缓存中的一种或几种。

可选地,所述Nginx代理模块还用于:根据缓存需求,在将所述数据保存至缓存设备中时,进行数据分片、数据切割存储、数据压缩中的一种或几种处理,以提高缓存性能。

根据本发明的技术方案,通过利用Lua等语言,编写处理脚本,并将脚本注册到Nginx的不同阶段中,从而实现利用Nginx代理的方式,将缓存功能前置,而不再需要在系统内部开发各式各样的缓存,降低开发和维护成本,且不再受制于Nginx本身中处理模块的局限性;且通过利用Nginx代理的方式实现有选择地将数据存放到不同的缓存设备上,从而可以打破数据缓存的局限性,提高原有系统的性能;通过动态地设置缓存开关,从而可以增加缓存功能的灵活性;且在实现缓存功能的同时,利用异步非阻塞锁机制保护后端服务器;通过支持缓存数据分片,从而有利于降低因缓存设备故障带来的风险;通过利用数据切割功能、数据压缩处理技术,从而可以更好的提高访问性能。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610910984.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top