[发明专利]数据库缓存实现方法及其系统有效
申请号: | 201710182550.3 | 申请日: | 2017-03-24 |
公开(公告)号: | CN107038222B | 公开(公告)日: | 2020-02-28 |
发明(设计)人: | 刘德建;陈铭;陈红和;钟良德;郭玉湖 | 申请(专利权)人: | 福建天泉教育科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/242;G06F16/2453;G06F16/23 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林志峥 |
地址: | 350212 福建省福州市长乐*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 缓存 实现 方法 及其 系统 | ||
本发明公开了一种数据库缓存实现方法及其系统,方法包括:在传输层创建监听器;监听器捕获SQL语句,并分析得到所述SQL语句对应的操作类型、表名和条件;若所述SQL语句对应的操作类型为查询操作,则判断是否存在所述SQL语句对应的缓存;若否,则根据所述SQL语句对应的表名和条件,生成所述SQL语句对应的缓存并返回数据库查询结果;若是,则根据所述SQL语句对应的表名和条件,更新所述SQL语句对应的缓存并返回数据库查询结果,或根据所述SQL语句对应的缓存返回缓存结果。本发明通过解析SQL语句预判用户的行为,在有效提升服务器性能的同时实现产品的零开发、维护成本。
技术领域
本发明涉及数据库缓存技术领域,尤其涉及一种数据库缓存实现方法及其系统。
背景技术
一个项目在初始阶段,为了尽快将产品推向市场,团队无法投入太多精力在性能优化上。然而当产品获得市场认可后,伴随的是用户数量的爆发式增长,日益增长的用户给后端数据库带来了巨大的压力。这时大部分团队会使用硬件扩容方案来解决服务端性能问题,但是当硬件扩容到达一定瓶颈时,开发团队就需要根据业务逻辑从软件架构设计出发设计出一套缓存系统,以解决数据库的压力。
这种情况下设计出的缓存系统通常只能应用于单独的软件产品中,其缺点是通用性差,设计成本、开发成本、调试成本巨大:
a)业务逻辑复杂,需求分析周期长。
要达到缓存的最优效果,缓存的粒度就一定要细。首先是从业务逻辑入手,对所有业务进行拆分细化,然后分析出每个细化后的操作对应的后台数据操作,根据该数据的读写比以及团队特点决定是否做缓存。这要求至少一位熟悉全局业务以及系统架构的资深人员进行长期的持续投入。
b)开发周期长,人员投入多。
在分析出性能瓶颈后,开发部门需要制定缓存更新策略,然后在已经稳定的业务代码中添加缓存功能。有时由于修改接口甚至导致外部相关系统的级联更新,进一步增加了软件的开发成本。
c)增加调试成本,问题难以发现。
对旧代码的大量修改极大增加系统的风险,同时也增加了QA人员的投入。此外,由于数据库数据系统和缓存系统本身是不同步的,这就导致出现脏数据时难以定位问题。特别是在大型应用中,一份数据有时不止一个更新入口,就导致脏数据的几率非常高。
发明内容
本发明所要解决的技术问题是:提出一种数据库缓存实现方法及其系统,可有效提升数据库服务器的性能,同时降低开发维护的成本。
为了解决上述技术问题,本发明采用的技术方案为:一种数据库缓存实现方法,包括:
在传输层创建监听器;
监听器捕获SQL语句,并分析得到所述SQL语句对应的操作类型、表名和条件;
若所述SQL语句对应的操作类型为查询操作,则判断是否存在所述SQL语句对应的缓存;
若否,则根据所述SQL语句对应的表名和条件,生成所述SQL语句对应的缓存并返回数据库查询结果;
若是,则根据所述SQL语句对应的表名和条件,更新所述SQL语句对应的缓存并返回数据库查询结果,或根据所述SQL语句对应的缓存返回缓存结果。
本发明还涉及一种数据库缓存实现系统,包括:
创建模块,用于在传输层创建监听器;
捕获模块,用于监听器捕获SQL语句,并分析得到所述SQL语句对应的操作类型、表名和条件;
第一判断模块,用于若所述SQL语句对应的操作类型为查询操作,则判断是否存在所述SQL语句对应的缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天泉教育科技有限公司,未经福建天泉教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710182550.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地铁施工安全吊物装置
- 下一篇:一种便于物料固定的起吊架