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

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

Info

Publication number
CN113641690A
CN113641690A CN202110911571.0A CN202110911571A CN113641690A CN 113641690 A CN113641690 A CN 113641690A CN 202110911571 A CN202110911571 A CN 202110911571A CN 113641690 A CN113641690 A CN 113641690A
Authority
CN
China
Prior art keywords
cache
data
rule
database
updating
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.)
Granted
Application number
CN202110911571.0A
Other languages
English (en)
Other versions
CN113641690B (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

Images

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 (7)

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中,将规则内容解析后的完整数据集和配置的缓存数据结构模型进行解析,得到最终要更新缓存的数据格式更新缓存。
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 true CN113641690A (zh) 2021-11-12
CN113641690B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443777A (zh) * 2022-04-08 2022-05-06 北京新氧科技有限公司 缓存数据处理方法、装置、设备及系统

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 中国电子科技集团公司第二十八研究所 一种基于数据库日志扫描的数据库缓存系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443777A (zh) * 2022-04-08 2022-05-06 北京新氧科技有限公司 缓存数据处理方法、装置、设备及系统

Also Published As

Publication number Publication date
CN113641690B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN106021594B (zh) 数据库表和xml报文的映射处理方法及其系统
US9047392B2 (en) System and method for conversion of JMS message data into database transactions for application to multiple heterogeneous databases
US8645434B2 (en) Techniques for schema production and transformation
US6567809B2 (en) Disabling and reloading enterprise java beans using database trigger programs
CN109388523B (zh) 一种基于二进制日志文件恢复MySQL数据库的方法
CN103412924B (zh) 日志多语言查询方法和系统
US20040210877A1 (en) Method of providing open access to application profiling data
WO2022126983A1 (zh) 电子报表文件导出方法、装置、设备及存储介质
US11693912B2 (en) Adapting database queries for data virtualization over combined database stores
CN109241072A (zh) 基于Canal的缓存更新方法及系统
CN103823797A (zh) 基于ftp协议的行业数据库数据实时同步系统
CN101901265B (zh) 一种虚拟试验数据对象化管理系统
CN108038213A (zh) 一种数据处理的方法、客户端、服务器及系统
CN110955674B (zh) 基于java服务的异步导出方法及组件
US10896180B2 (en) Statement parsing method for database statement
CN104199978A (zh) 基于NoSQL实现元数据缓存与分析的系统及方法
CN113641690A (zh) 一种跨应用缓存更新方法
CN111782671A (zh) 一种基于分布式数据库实现cdc的优化方法
CN105335482B (zh) 面向海量分布式数据库的批量插入方法
EP1616236A2 (en) Method and system for journaling and accessing sensor and configuration data
CN110019306B (zh) 一种基于xml格式文件的sql语句查找方法及系统
CN111241065A (zh) 一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置
US11093492B1 (en) System and method of fetching data from an external program
CN115168377A (zh) 一种报表数据处理方法、装置、设备及介质
CN111984662B (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