使用自动加载机制实现数据常驻内存方法.pdf

上传人:磨** 文档编号:10147101 上传时间:2021-06-05 格式:PDF 页数:6 大小:328.42KB
返回 下载 相关 举报
使用自动加载机制实现数据常驻内存方法.pdf_第1页
第1页 / 共6页
使用自动加载机制实现数据常驻内存方法.pdf_第2页
第2页 / 共6页
使用自动加载机制实现数据常驻内存方法.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《使用自动加载机制实现数据常驻内存方法.pdf》由会员分享,可在线阅读,更多相关《使用自动加载机制实现数据常驻内存方法.pdf(6页珍藏版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010910916.6 (22)申请日 2020.09.02 (71)申请人 紫光云 (南京) 数字技术有限公司 地址 210000 江苏省南京市浦口区江浦街 道浦滨路320号浦口科创广场科创总 部大厦B座17楼 (72)发明人 刘承承 (74)专利代理机构 南京中盟科创知识产权代理 事 务 所 (特 殊 普 通 合 伙) 32279 代理人 孙丽君 (51)Int.Cl. G06F 12/0877(2016.01) G06F 12/0895(2016.01) G06F 1。

2、2/122(2016.01) (54)发明名称 一种使用自动加载机制实现数据常驻内存 方法 (57)摘要 本发明公开了一种使用自动加载机制实现 数据常驻内存方法, 包括步骤, 获取到拦截方法 的Cache注解, 并生成缓存key; 通过缓存key, 去 缓 存 中 获 取 数 据 ; 通 过 自 动 加 载 处 理 器 AutoLoadHandler, 当缓存即将过期时, 获取数 据, 并将数据放到缓存中。 为了防止自动加载队 列过大, 设置了容量限制; 同时会将超过一定时 间没有用户请求的也会从自动加载队列中移除, 把服务器资源释放出来, 给真正需要的请求。 避 免在请求高峰时, 因为缓存失。

3、效, 而造成数据库 压力无法承受的问题。 权利要求书1页 说明书3页 附图1页 CN 112115074 A 2020.12.22 CN 112115074 A 1.一种使用自动加载机制实现数据常驻内存方法, 其特征在于: 包括如下步骤, S1、 获取到拦截方法的Cache注解, 并生成缓存key; S2、 通过缓存key, 去缓存中获取数据。 2.根据权利要求1所述的一种使用自动加载机制实现数据常驻内存方法, 其特征在于: 如果缓存被访问的数据命中则进行步骤S3, S3包括, S301 、 如果需 要自 动加载 , 则请求 相关参数 , 封装到AutoLoad中 , 并放到 AutoLoad。

4、Handler中, 把相关信息保存到自动加载队列中; S302、 如果不需要自动加载, 则判断缓存是否即将过期, 当缓存即将过期, 则发起异步 刷新; S303、 把数据返回给用户。 3.根据权利要求1所述的一种使用自动加载机制实现数据常驻内存方法, 其特征在于: 如果缓存没有被访问的数据命中则进行步骤S4, S4包括, S401、 选举出一个leader回到数据源中去加载数据, 加载到数据后通知其它请求从内 存中获取数据; S402、 leader负责把数据写入缓存; 如果需要自动加载, 则把相关信息保存到自动加载 队列中; S403、 把数据返回给用户。 权利要求书 1/1 页 2 CN 。

5、112115074 A 2 一种使用自动加载机制实现数据常驻内存方法 技术领域 0001 本发明涉及计算机数据处理领域, 具体涉及一种使用自动加载机制实现数据常驻 内存方法及分离方法。 背景技术 0002 缓存可以说是无处不在, 比如PC电脑中的内存、 CPU中的二级缓存、 数据库IO占用、 HTTP协议中的缓存控制、 CDN加速技术都是使用了缓存的思想来解决性能问题。 0003 缓存又分进程内缓存和分布式缓存两种, 现在使用的缓存技术多种多样, 比如 Redis、 Memcache、 EhCache等, 甚至还有使用ConcurrentHashMap或HashTable来实现缓存。 但在缓存。

6、的使用上, 每个都有自己的实现方式, 大部分是直接与业务代码绑定, 随着业务的 变化, 要更换缓存方案。 人们在使用缓存的大部分情况下, 都是把缓存操作和业务逻辑的代 码交织在一起, 这样会引起如下几个问题: 0004 1.缓存操作非常繁琐, 产生非常多的重复代码。 0005 2.缓存操作与业务逻辑耦合度非常高, 不利于后期的维护。 0006 3.当业务数据为null时, 无法确定是否已经缓存, 会造成缓存无法命中。 0007 4.开发阶段, 为了排查问题, 经常需要来回开关缓存功能, 使用上面的代码是无法 做到很方便地开关缓存功能。 0008 5.当业务越来越复杂, 使用缓存的地方越来越多时。

7、, 很难定位哪些数据要进行主 动删除。 0009 6.如果不想用Redis, 换用别的缓存技术的话, 就特别的麻烦。 0010 因此基于Redis缓存技术的以上几点不足, 我们有必要针对现有技术的不足而提 供一种使用自动加载机制实现数据常驻内存方法。 发明内容 0011 为了克服现有技术中的不足, 本发明提出一种使用自动加载机制实现数据常驻内 存方法, 其能够有效减轻数据库的压力。 0012 为了实现上述目的, 本发明提出一种使用自动加载机制实现数据常驻内存方法, 包括如下步骤, 0013 S1、 获取到拦截方法的Cache注解, 并生成缓存key; 0014 S2、 通过缓存key, 去缓存。

8、中获取数据。 0015 优选的, 如果缓存被访问的数据命中则进行步骤S3, S3包括, 0016 S301、 如果需要自动加载, 则请求相关参数, 封装到AutoLoad中, 并放到 AutoLoadHandler中, 把相关信息保存到自动加载队列中; 0017 S302、 如果不需要自动加载, 则判断缓存是否即将过期, 当缓存即将过期, 则发起 异步刷新; 0018 S303、 把数据返回给用户。 说明书 1/3 页 3 CN 112115074 A 3 0019 优选的, 如果缓存没有被访问的数据命中则进行步骤S4, S4包括, 0020 S401、 选举出一个leader回到数据源中去加。

9、载数据, 加载到数据后通知其它请求 从内存中获取数据; 0021 S402、 leader负责把数据写入缓存; 如果需要自动加载, 则把相关信息保存到自动 加载队列中; 0022 S403、 把数据返回给用户。 0023 本发明具有以下有益效果: 0024 通过自动加载处理器AutoLoadHandler, 当缓存即将过期时, 获取数据, 并将数据 放到缓存中。 为了防止自动加载队列过大, 设置了容量限制; 同时会将超过一定时间没有用 户请求的也会从自动加载队列中移除, 把服务器资源释放出来, 给真正需要的请求。 避免在 请求高峰时, 因为缓存失效, 而造成数据库压力无法承受的问题。 附图说明。

10、 0025 下面结合附图对本发明作进一步描写和阐述。 0026 图1为实现一种使用自动加载机制实现数据常驻内存方法工作原理图。 具体实施方式 0027 下面将结合附图、 通过对本发明的优选实施方式的描述, 更加清楚、 完整地阐述本 发明的技术方案。 0028 实施例。 0029 如图1所示, 本发明提出的一种使用自动加载机制实现数据常驻内存方法, 包括, 0030 包括如下步骤, 0031 S1、 获取到拦截方法的Cache注解, 并生成缓存key。 0032 本实施例中主要采用AOP方法拦截Cache注解, 利用AOP可以对业务逻辑的各个部 分进行隔离, 从而使得业务逻辑各部分之间的耦合度降。

11、低, 提高程序的可重用性, 同时提高 了开发的效率。 0033 S2、 通过缓存key, 去缓存中获取数据。 0034 作为本发明的一种技术优化方案, 如果缓存被访问的数据命中则进行步骤S3, S3 包括, 0035 S301、 如果需要自动加载, 则请求相关参数, 封装到AutoLoad中, 并放到 AutoLoadHandler中, 把相关信息保存到自动加载队列中。 0036 本实施例中, AutoLoadHandler(自动加载处理器)主要做的事情: 当缓存即将过期 时, 去执行DAO的方法, 获取数据, 并将数据放到缓存中。 为了防止自动加载队列过大, 设置 了容量限制; 同时会将超过。

12、一定时间没有用户请求的也会从自动加载队列中移除, 把服务 器资源释放出来, 给真正需要的请求。 0037 使用自加载的目的: 0038 避免在请求高峰时, 因为缓存失效, 而造成数据库压力无法承受; 把一些耗时业务 得以实现; 把一些使用非常频繁的数据, 使用自动加载, 因为这样的数据缓存失效时, 最容 易造成服务器的压力过大。 说明书 2/3 页 4 CN 112115074 A 4 0039 S302、 如果不需要自动加载, 则判断缓存是否即将过期, 当缓存即将过期, 则发起 异步刷新。 0040 S303、 把数据返回给用户。 0041 作为本发明的一种技术优化方案, 如果缓存没有被访问。

13、的数据命中则进行步骤 S4, S4包括, 0042 S401、 选举出一个leader回到数据源中去加载数据, 加载到数据后通知其它请求 从内存中获取数据。 0043 S402、 leader负责把数据写入缓存; 如果需要自动加载, 则把相关信息保存到自动 加载队列中。 0044 S403、 把数据返回给用户。 0045 AutoLoadCache是使用Spring AOP、 Annotation以及Spring EL表达式来进行管理 缓存的解决方案, 实现缓存与业务逻辑的解耦, 并增加异步刷新及 “拿来主义机制” , 以适应 高并发环境下的使用。 为了更好管理缓存增加了Magic模式, 同时基于AOP实现自动加载机 制来达到数据 “常驻内存” 的目的。 0046 上述具体实施方式仅仅对本发明的优选实施方式进行描述, 而并非对本发明的保 护范围进行限定。 在不脱离本发明设计构思和精神范畴的前提下, 本领域的普通技术人员 根据本发明所提供的文字描述、 附图对本发明的技术方案所作出的各种变形、 替代和改进, 均应属于本发明的保护范畴。 本发明的保护范围由权利要求确定。 说明书 3/3 页 5 CN 112115074 A 5 图1 说明书附图 1/1 页 6 CN 112115074 A 6 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1