CN113641690B - 一种跨应用缓存更新方法 - Google Patents

一种跨应用缓存更新方法 Download PDF

Info

Publication number
CN113641690B
CN113641690B CN202110911571.0A CN202110911571A CN113641690B CN 113641690 B CN113641690 B CN 113641690B CN 202110911571 A CN202110911571 A CN 202110911571A CN 113641690 B CN113641690 B CN 113641690B
Authority
CN
China
Prior art keywords
rule
data
cache
updating
trigger
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110911571.0A
Other languages
English (en)
Other versions
CN113641690A (zh
Inventor
吴志雄
马昌彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linewell Software Co Ltd
Original Assignee
Linewell Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Linewell Software Co Ltd filed Critical Linewell Software Co Ltd
Priority to CN202110911571.0A priority Critical patent/CN113641690B/zh
Publication of CN113641690A publication Critical patent/CN113641690A/zh
Application granted granted Critical
Publication of CN113641690B publication Critical patent/CN113641690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种跨应用缓存更新方法
技术领域
本发明涉及一种跨应用缓存更新方法。
背景技术
在分布式应用架构系统下,为了数据查询效率通常应用之间都会使用缓存方式作为数据存储保障,但应用之间相互独立存储的缓存数据可能出现交集情况,在某个应用数据更新后其他应用之间相关联的缓存数据也需要实时更新,如果用代码实现代码量非常大且后期难以维护。
跨应用缓存更新技术就是为了解决缓存更新数据不一致问题而出现的,被用来处理各应用之间及时更新缓存达到数据一致性,从而减少开发人员工作量,提供工作效率。
发明内容
本发明的目的在于提供一种跨应用缓存更新方法,通过执行系统规则配置方式来实现跨应用缓存更新,减少开发人员工作量,提高工作效率。
为实现上述目的,本发明的技术方案是:一种跨应用缓存更新方法,包括如下步骤:
步骤S1、录入需要更新缓存数据的业务应用数据源信息:
步骤S2、录入需要更新缓存数据的业务应用任务规则,业务应用任务规则是用来更新缓存数据的一种规则配置方式,包括:触发执行缓存更新规则、数据源数据查询执行规则和缓存数据结构模型;
步骤S3、监听应用数据库日志,通过消息队列中间件上报日志到缓存服务端;
步骤S4、缓存服务端接收并解析数据库日志,解析是否有配置触发执行缓存更新规则并执行:
步骤S5、执行解析录入的规则内容,得到数据结果集;
步骤S6、执行解析录入的缓存数据结构模型,更新缓存数据。
在本发明一实施例中,所述步骤S1中,数据源配置包括:数据源名称、数据源类型、主机名、数据库、用户名、密码的字段,其中:根据选择不同的数据源类型填写相应的数据库、用户名、密码信息。
在本发明一实施例中,所述步骤S2中业务应用任务规则的配置由基础信息、表触发、规则列表、数据模型4个部分组成,其中:
(1) 表触发:配置当前要更新缓存数据的数据库表字段,当监听表数据发送变更时与系统配置的触发执行缓存更新规则进行解析匹配;
(2) 规则列表:适配数据库数据源SQL数据查询语句执行规则;
(3) 数据模型:适配redis缓存value值的数据格式模型。
在本发明一实施例中,所述步骤S3中,通过监听数据库binlog日志方式,将有变更的数据库日志信息通过消息中间件kafka上报到缓存服务端。
在本发明一实施例中,所述步骤S4中,缓存服务端解析数据库日志,根据数据库日志变更的字段和当前配置的触发执行缓存更新规则进行解析,得到新的触发规则数据。
在本发明一实施例中,所述步骤S5中,将新的触发规则数据与配置的规则内容进行规则匹配,根据触发条件配置的动作映射关系进行解析得到最终完整数据结果集。
在本发明一实施例中,所述步骤S6中,将规则内容解析后的完整数据集和配置的缓存数据结构模型进行解析,得到最终要更新缓存的数据格式更新缓存。
相较于现有技术,本发明具有以下有益效果:本发明通过执行系统规则配置方式来实现跨应用缓存更新,减少开发人员工作量,提高工作效率。
附图说明
图1为本发明规则执行流程图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
如图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是规则内容中执行结果集返回的字段值。
步骤S3、监听应用数据库日志,通过消息队列中间件上报日志到缓存服务端;
步骤S4、缓存服务端接收并解析数据库日志,解析是否有配置触发执行缓存更新规则并执行:
步骤S5、执行解析录入的规则内容,得到数据结果集;
步骤S6、执行解析录入的缓存数据结构模型,更新缓存数据。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (5)

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是规则内容中执行结果集返回的字段值;
步骤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中,缓存服务端解析数据库日志,根据数据库日志变更的字段和当前配置的触发执行缓存更新规则进行解析,得到新的触发规则数据。
CN202110911571.0A 2021-08-10 2021-08-10 一种跨应用缓存更新方法 Active CN113641690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110911571.0A CN113641690B (zh) 2021-08-10 2021-08-10 一种跨应用缓存更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110911571.0A CN113641690B (zh) 2021-08-10 2021-08-10 一种跨应用缓存更新方法

Publications (2)

Publication Number Publication Date
CN113641690A CN113641690A (zh) 2021-11-12
CN113641690B true CN113641690B (zh) 2023-10-27

Family

ID=78420305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110911571.0A Active CN113641690B (zh) 2021-08-10 2021-08-10 一种跨应用缓存更新方法

Country Status (1)

Country Link
CN (1) CN113641690B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443777B (zh) * 2022-04-08 2022-08-23 北京新氧科技有限公司 多数据聚合管理方法、装置、设备及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2891994A1 (en) * 2013-11-04 2015-07-08 Guangdong Electronics Industry Institute Ltd. Method for achieving automatic synchronization of multisource heterogeneous data resources
CN107038222A (zh) * 2017-03-24 2017-08-11 福建天泉教育科技有限公司 数据库缓存实现方法及其系统
CN109857812A (zh) * 2019-02-27 2019-06-07 珠海天燕科技有限公司 一种处理缓存中数据的方法和装置
CN110851159A (zh) * 2019-10-31 2020-02-28 浙江大搜车软件技术有限公司 业务规则更新方法、装置、计算机设备和存储介质
CN111078717A (zh) * 2019-12-20 2020-04-28 深圳前海环融联易信息科技服务有限公司 数据库与缓存的一致性同步方法、装置、计算机设备及存储介质
CN111694863A (zh) * 2020-04-30 2020-09-22 武汉灯塔之光科技有限公司 一种数据库缓存的刷新方法、系统和装置
CN111752804A (zh) * 2020-06-29 2020-10-09 中国电子科技集团公司第二十八研究所 一种基于数据库日志扫描的数据库缓存系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2891994A1 (en) * 2013-11-04 2015-07-08 Guangdong Electronics Industry Institute Ltd. Method for achieving automatic synchronization of multisource heterogeneous data resources
CN107038222A (zh) * 2017-03-24 2017-08-11 福建天泉教育科技有限公司 数据库缓存实现方法及其系统
CN109857812A (zh) * 2019-02-27 2019-06-07 珠海天燕科技有限公司 一种处理缓存中数据的方法和装置
CN110851159A (zh) * 2019-10-31 2020-02-28 浙江大搜车软件技术有限公司 业务规则更新方法、装置、计算机设备和存储介质
CN111078717A (zh) * 2019-12-20 2020-04-28 深圳前海环融联易信息科技服务有限公司 数据库与缓存的一致性同步方法、装置、计算机设备及存储介质
CN111694863A (zh) * 2020-04-30 2020-09-22 武汉灯塔之光科技有限公司 一种数据库缓存的刷新方法、系统和装置
CN111752804A (zh) * 2020-06-29 2020-10-09 中国电子科技集团公司第二十八研究所 一种基于数据库日志扫描的数据库缓存系统

Also Published As

Publication number Publication date
CN113641690A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN106021594B (zh) 数据库表和xml报文的映射处理方法及其系统
WO2022126983A1 (zh) 电子报表文件导出方法、装置、设备及存储介质
US10896180B2 (en) Statement parsing method for database statement
CN110955674B (zh) 基于java服务的异步导出方法及组件
CN113641690B (zh) 一种跨应用缓存更新方法
CN111782671B (zh) 一种基于分布式数据库实现cdc的优化方法
CN117278661B (zh) 一种工业物联网多协议解析方法及系统
CN115469941A (zh) 基于FlinkSQL的风控指标计算开发的自动配置处理方法及系统
CN113076729A (zh) 用于报表导入的方法及系统、可读存储介质及电子设备
CN110795431B (zh) 环境监测数据处理方法、装置、设备及存储介质
CN111435356B (zh) 数据特征提取方法、装置、计算机设备以及存储介质
CN113778795B (zh) 一种基于Python语言的跨版本Oracle监控系统
CN116743790A (zh) 设备数据采集、设备数据分析方法、装置和计算机设备
CN112433709B (zh) 基于json的数据处理方法、装置、设备及介质
CN112765200A (zh) 一种基于Elasticsearch的数据查询方法及装置
CN112114802A (zh) 一种基于指标的自定义查询接口方法及系统
CN117093638B (zh) 一种微服务数据初始化方法、系统、电子设备及存储介质
CN117251472B (zh) 跨源数据处理方法、装置、设备及存储介质
CN116755684B (zh) OAS Schema的生成方法、装置、设备及介质
CN113992549B (zh) 一种测试方法、装置、电子设备及存储介质
CN117033425A (zh) 一种多时序表查询场景的组合查询兼容系统
CN116501767A (zh) 基于总线实时采集的高通量实体历史信息流式治理方法
CN118092802A (zh) 设备资产数据的处理方法及装置、存储介质及电子设备
CN110046520A (zh) 数据权限控制方法及系统
CN113886429A (zh) 基于集群的数据库查询方法及系统、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant