[发明专利]一种基于注解描述的Web缓存方法在审

专利信息
申请号: 201510611279.1 申请日: 2015-09-24
公开(公告)号: CN105100289A 公开(公告)日: 2015-11-25
发明(设计)人: 蔡晓东 申请(专利权)人: 中邮科通信技术股份有限公司
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 福州元创专利商标代理有限公司 35100 代理人: 蔡学俊
地址: 350026 福建*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 注解 描述 web 缓存 方法
【说明书】:

技术领域

发明属于互联网应用领域,具体涉及一种基于注解描述的Web缓存方法。

背景技术

缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。

API为操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。现有方案采用一般API方式实现缓存,即由开发者显式调用缓存API,通常包括以下两类API:

1、set/get方法直接操作缓存。即通过getCache(StringcacheName)获取缓存对象。setCache(StringcacheName,StringcacheValue)设置缓存对象。

2、从数据库中获取数据时,首先从缓存获取。如queryByCache(StringcacheName,Stringsql),该方法首先获取cacheName对应的缓存对象,当缓存对象为null时,再执行sql语句并把查询结果缓存在cacheName对应的缓存对象中。

方案1采用的是set/get方法,需要程序员主动管理cache,并在任何需要获取cache的代码中,硬编码get方法获取cache的值,而当cache为null时,程序员则必须setCache。这些操作还涉及到多线程同步,编码易出错导致脏数据。

方案2较方案1使用更为便利,但该方案的缓存数据无法更新,一旦用户通过管理界面修改了sql查询对应的数据库表后,获取的数据仍为最初查询的缓存数据结果,而不会重新发起sql查询。

发明内容

本发明的目的是提供一个简单的基于“注解(Annotation)”式描述的缓存方法,简化程序员编码及缓存管理难度,并确保自动刷新缓存。

本发明采用以下技术方案实现:一种基于注解描述的Web缓存方法,其特征在于:包括以下步骤:步骤S1:用户浏览器发起HTTP请求,对应于查询方法上的缓存操作注解,该请求首先被缓存拦截器拦截;步骤S2:缓存拦截器发现从未缓存过该Controller方法及相关参数上的数据,则将该Controller方法及相关参数发往控制器对象处理;步骤S3:控制器对象执行各种数据库查询操作,获取生成视图所需要的所有数据,数据库将该数据返回给控制器;步骤S4:控制器调用缓存方法,保存生成视图所需要的所有数据;控制器将数据发送给视图;步骤S5:视图将获得数据渲染成为最终的HTML页面,并发送至用户浏览器进行显示;步骤S6:当其他用户浏览器发来同样的HTTP请求,访问已写入过缓存的Controller方法时,该请求首先被缓存拦截器;步骤S7:缓存拦截器向缓存服务器Memcached中的请求缓存数据;步骤S8:Memcached将缓存数据发送回缓存拦截器拦截;缓存拦截器将查询结果返回给用户浏览器;步骤S9:用户浏览器发起HTTP请求,对应于增删改方法上的清除缓存操作注解,该请求首先被清除缓存拦截器拦截;步骤S10:清除缓存拦截器将该Controller方法及相关参数发往控制器对象处理;步骤S11:控制器对象执行各种数据库增删改操作,并获取生成视图所需要的所有数据;数据库将增删改数据的结果返回给控制器;步骤S12:控制器调用缓存方法,清除视图需要的所有相关数据;控制器将数据发送给视图;步骤S13:视图将获得数据渲染成为最终的HTML页面,并发送至用户浏览器进行显示。

在本发明一实施例中,当包含INSERT、UPDATE或DELETE操作的方法,设置为清除缓存操作清除该控制器的所有缓存数据;若只包含SELECT数据库表操作的方法,则设置为缓存操作生成缓存数据。

与现有技术相比本发明具有以下优点:

1、不使用JavaAPI编程操作,避免程序员操作错误。用户无需考虑把什么对象缓存在哪个cacheName中,读取缓存和清除缓存操作分别使用不同的拦截器配置,不带有任何参数,大大简化了程序员的工作量;

2、该方法支持多缓存服务器的群集配置,且当缓存服务器宕机下线时,或者缓存服务器重新上线时,缓存插件将自动适配,自动调整缓存分配,确保缓存的命中率达到预期。

附图说明

图1为HTTP请求Controller的查询方法时的流程示意图。

图2为HTTP请求Controller的增、删、改方法时的流程示意图。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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