一种跨应用缓存更新方法与流程

文档序号:27385167发布日期:2021-11-15 21:09阅读:107来源:国知局
一种跨应用缓存更新方法与流程

1.本发明涉及一种跨应用缓存更新方法。


背景技术:

2.在分布式应用架构系统下,为了数据查询效率通常应用之间都会使用缓存方式作为数据存储保障,但应用之间相互独立存储的缓存数据可能出现交集情况,在某个应用数据更新后其他应用之间相关联的缓存数据也需要实时更新,如果用代码实现代码量非常大且后期难以维护。
3.跨应用缓存更新技术就是为了解决缓存更新数据不一致问题而出现的,被用来处理各应用之间及时更新缓存达到数据一致性,从而减少开发人员工作量,提供工作效率。


技术实现要素:

4.本发明的目的在于提供一种跨应用缓存更新方法,通过执行系统规则配置方式来实现跨应用缓存更新,减少开发人员工作量,提高工作效率。
5.为实现上述目的,本发明的技术方案是:一种跨应用缓存更新方法,包括如下步骤:步骤s1、录入需要更新缓存数据的业务应用数据源信息:步骤s2、录入需要更新缓存数据的业务应用任务规则,业务应用任务规则是用来更新缓存数据的一种规则配置方式,包括:触发执行缓存更新规则、数据源数据查询执行规则和缓存数据结构模型;步骤s3、监听应用数据库日志,通过消息队列中间件上报日志到缓存服务端;步骤s4、缓存服务端接收并解析数据库日志,解析是否有配置触发执行缓存更新规则并执行:步骤s5、执行解析录入的规则内容,得到数据结果集;步骤s6、执行解析录入的缓存数据结构模型,更新缓存数据。
6.在本发明一实施例中,所述步骤s1中,数据源配置包括:数据源名称、数据源类型、主机名、数据库、用户名、密码的字段,其中:根据选择不同的数据源类型填写相应的数据库、用户名、密码信息。
7.在本发明一实施例中,所述步骤s2中业务应用任务规则的配置由基础信息、表触发、规则列表、数据模型4个部分组成,其中:(1) 表触发:配置当前要更新缓存数据的数据库表字段,当监听表数据发送变更时与系统配置的触发执行缓存更新规则进行解析匹配;(2) 规则列表:适配数据库数据源sql数据查询语句执行规则;(3) 数据模型:适配redis缓存value值的数据格式模型。
8.在本发明一实施例中,所述步骤s3中,通过监听数据库binlog日志方式,将有变更的数据库日志信息通过消息中间件kafka上报到缓存服务端。
9.在本发明一实施例中,所述步骤s4中,缓存服务端解析数据库日志,根据数据库日志变更的字段和当前配置的触发执行缓存更新规则进行解析,得到新的触发规则数据。
10.在本发明一实施例中,所述步骤s5中,将新的触发规则数据与配置的规则内容进行规则匹配,根据触发条件配置的动作映射关系进行解析得到最终完整数据结果集。
11.在本发明一实施例中,所述步骤s6中,将规则内容解析后的完整数据集和配置的缓存数据结构模型进行解析,得到最终要更新缓存的数据格式更新缓存。
12.相较于现有技术,本发明具有以下有益效果:本发明通过执行系统规则配置方式来实现跨应用缓存更新,减少开发人员工作量,提高工作效率。
附图说明
13.图1为本发明规则执行流程图。
具体实施方式
14.下面结合附图,对本发明的技术方案进行具体说明。
15.如图1所示,本发明一种跨应用缓存更新方法,包括如下步骤:步骤s1、录入需要更新缓存数据的业务应用数据源信息,包括:数据源编码、数据源名称、数据源类型、版本、主机名、数据库、端口、驱动属性、用户名、密码;步骤s2、录入需要更新缓存数据的业务应用任务规则,业务应用任务规则是用来更新缓存数据的一种规则配置方式,包括:触发执行缓存更新规则、数据源数据查询执行规则和缓存数据结构模型;业务应用任务规则的配置由基础信息、表触发、规则列表、数据模型4个部分组成,其中:(1)基础信息录入,包括:服务编码、服务名称、触发条件;基础信息由:服务编码、服务名称、触发类型、状态组成,其中:服务编码由英文组成且全局唯一,服务名称全局唯一;(2)表触发录入,包括:表字段、动作映射、状态:表触发包括:数据库表名、表字段、动作映射组成,全为选择项;(3)规则列表录入,包括:规则名称、规则标识、规则类型、执行优先级、空数据处理、数据源,规则状态、规则执行体;规则列表由规则名称、规则标识、规则类型、执行优先级、空数据处理、数据源,规则状态、规则执行体组成。其中规则类型选择为sql查询语句时,规则执行体数据格式为:select * from attr where unid='${matter.unid}','${matter.unid}'是动态获取写法,matter标识与表触发的表名一一对应,unid则是获取表触发字段对应的值;(4)数据模型录入,包括:数据源、数据标识、数据格式、过期设置;数据模型由数据源、数据标识、数据格式、过期设置组成,其中:数据标识格式:service:${matter.unid},service:是缓存key的前缀,${matter.unid}是动态获取写法,matter标识与表触发的表名一一对应,unid则是获取表触发字段对应的值,数据格式:{"unid": "${matter.unid}","service_name": "${matter.service_name}",
"rulelist": [
ꢀꢀꢀꢀꢀꢀꢀ
{serviceunid : ${rulelist.serviceunid}}]}unid:json格式下缓存value值对应的key${matter.unid}:matters是规则内容中的规则标识字段,unid是规则内容中执行结果集返回的字段值。
[0016]
步骤s3、监听应用数据库日志,通过消息队列中间件上报日志到缓存服务端;步骤s4、缓存服务端接收并解析数据库日志,解析是否有配置触发执行缓存更新规则并执行:步骤s5、执行解析录入的规则内容,得到数据结果集;步骤s6、执行解析录入的缓存数据结构模型,更新缓存数据。
[0017]
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。


技术特征:
1.一种跨应用缓存更新方法,其特征在于,包括如下步骤:步骤s1、录入需要更新缓存数据的业务应用数据源信息:步骤s2、录入需要更新缓存数据的业务应用任务规则,业务应用任务规则是用来更新缓存数据的一种规则配置方式,包括:触发执行缓存更新规则、数据源数据查询执行规则和缓存数据结构模型;步骤s3、监听应用数据库日志,通过消息队列中间件上报日志到缓存服务端;步骤s4、缓存服务端接收并解析数据库日志,解析是否有配置触发执行缓存更新规则并执行:步骤s5、执行解析录入的规则内容,得到数据结果集;步骤s6、执行解析录入的缓存数据结构模型,更新缓存数据。2.根据权利要求1所述的一种跨应用缓存更新方法,其特征在于,所述步骤s1中,数据源配置包括:数据源名称、数据源类型、主机名、数据库、用户名、密码的字段,其中:根据选择不同的数据源类型填写相应的数据库、用户名、密码信息。3.根据权利要求1所述的一种跨应用缓存更新方法,其特征在于,所述步骤s2中业务应用任务规则的配置由基础信息、表触发、规则列表、数据模型4个部分组成,其中:(1) 表触发:配置当前要更新缓存数据的数据库表字段,当监听表数据发送变更时与系统配置的触发执行缓存更新规则进行解析匹配;(2) 规则列表:适配数据库数据源sql数据查询语句执行规则;(3) 数据模型:适配redis缓存value值的数据格式模型。4.根据权利要求1所述的一种跨应用缓存更新方法,其特征在于,所述步骤s3中,通过监听数据库binlog日志方式,将有变更的数据库日志信息通过消息中间件kafka上报到缓存服务端。5.根据权利要求1所述的一种跨应用缓存更新方法,其特征在于,所述步骤s4中,缓存服务端解析数据库日志,根据数据库日志变更的字段和当前配置的触发执行缓存更新规则进行解析,得到新的触发规则数据。6.根据权利要求1所述的一种跨应用缓存更新方法,其特征在于,所述步骤s5中,将新的触发规则数据与配置的规则内容进行规则匹配,根据触发条件配置的动作映射关系进行解析得到最终完整数据结果集。7.根据权利要求1所述的一种跨应用缓存更新方法,其特征在于,所述步骤s6中,将规则内容解析后的完整数据集和配置的缓存数据结构模型进行解析,得到最终要更新缓存的数据格式更新缓存。

技术总结
本发明涉及一种跨应用缓存更新方法。包括:步骤S1、录入需要更新缓存数据的业务应用数据源信息:步骤S2、录入需要更新缓存数据的业务应用任务规则,业务应用任务规则是用来更新缓存数据的一种规则配置方式,包括:触发执行缓存更新规则、数据源数据查询执行规则和缓存数据结构模型;步骤S3、监听应用数据库日志,通过消息队列中间件上报日志到缓存服务端;步骤S4、缓存服务端接收并解析数据库日志,解析是否有配置触发执行缓存更新规则并执行:步骤S5、执行解析录入的规则内容,得到数据结果集;步骤S6、执行解析录入的缓存数据结构模型,更新缓存数据。本发明通过执行系统规则配置方式来实现跨应用缓存更新,减少开发人员工作量,提高工作效率。提高工作效率。提高工作效率。


技术研发人员:吴志雄 马昌彪
受保护的技术使用者:南威软件股份有限公司
技术研发日:2021.08.10
技术公布日:2021/11/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1