更新消息处理方法、数据同步方法、配置信息配置方法转让专利
申请号 : CN202110952805.6
文献号 : CN113407560B
文献日 : 2021-11-05
发明人 : 杨永兴
申请人 : 太平金融科技服务(上海)有限公司深圳分公司
摘要 :
权利要求 :
1.一种数据库更新消息处理方法,其特征在于,所述数据库更新消息处理方法包括:获取第一数据库的数据更新消息,所述数据更新消息携带有数据表标识;
查询预先配置的配置信息以获得与所述数据表标识对应的更新标识;
判断是否已存在与所述更新标识对应的数据更新消息;
当已存在与所述更新标识对应的数据更新消息,删除所述数据更新消息;
所述查询预先配置的配置信息以获得与所述数据表标识对应的更新标识,包括:查询预先配置的配置信息中是否存在所述数据表标识;
当存在所述数据表标识时,获取预先配置的配置信息中与所述数据表标识对应的数据模型标识;
根据预先配置的配置信息确定所述数据表标识对应的数据表是否为主表;
当所述数据表标识对应的数据表为主表时,根据所述数据模型标识和所述主表的主键值生成更新标识;
当所述数据表标识对应的数据表为从表时,根据所述数据模型标识和所述从表的外键值生成更新标识。
2.根据权利要求1所述的数据库更新消息处理方法,其特征在于,所述判断是否已存在与所述更新标识对应的数据更新消息之后,还包括:当不存在与所述更新标识对应的数据更新消息,建立所述数据更新消息与所述更新标识的对应关系。
3.根据权利要求2所述的数据库更新消息处理方法,其特征在于,所述建立所述数据更新消息与所述更新标识的对应关系,包括:获取预先配置的配置信息中与所述数据表标识对应的更新标识有效时间;
根据所述更新标识有效时间建立所述数据更新消息与所述更新标识的对应关系。
4.一种数据同步方法,其特征在于,所述数据同步方法包括:获取根据权利要求1至3任意一项所述的数据库更新消息处理方法所得到的数据更新消息;
根据所述数据更新消息从第一数据库获取更新数据;
按照预先配置的配置信息对所述更新数据进行数据转换得到目标数据;
将所述目标数据保存至第二数据库。
5.根据权利要求4所述的数据同步方法,其特征在于,所述按照预先配置的配置信息对所述更新数据进行数据转换得到目标数据,包括:按照预先存储的模板对所述更新数据进行解析得到目标数据;和/或按照预先存储的字段对应关系对所述更新数据进行数据转换得到目标数据。
6.一种数据库配置信息配置方法,其特征在于,所述方法包括:接收针对第一数据库的连接信息配置指令,并根据所述第一数据库的连接信息配置指令配置所述第一数据库的连接信息;
接收针对所述第一数据库中各个数据表的关联关系的配置指令,并根据所述关联关系的配置指令对所述第一数据库中各个数据表进行配置,以确定各个数据表标识对应的更新标识以及更新标识的有效时间,所述更新标识以及更新标识的有效时间用于在权利要求1至3中任意一项的数据库更新消息处理方法中使用。
7.根据权利要求6所述的数据库配置信息配置方法,其特征在于,所述根据所述关联关系的配置指令对所述第一数据库中各个数据表进行配置,包括:配置所述第一数据库中各数据模型的数据模型标识、所述数据模型标识对应的更新标识的有效时间以及各个数据模型中的主表和从表,并配置所述主表的主键值和所述从表的外键值。
8.一种数据库配置信息配置方法,其特征在于,所述方法包括:接收针对第二数据库的连接信息配置指令,并根据所述第一数据库的连接信息配置指令配置所述第二数据库的连接信息;
接收针对所述第二数据库中的数据与所述第一数据库中的数据的转换规则配置指令,并根据所述转换规则配置指令配置所述第二数据库中的数据与所述第一数据库中的数据的转换规则;所述转换规则用于在权利要求4或5的数据同步方法中使用。
9.一种数据库更新消息处理装置,其特征在于,所述数据库更新消息处理装置包括:第一更新消息获取模块,用于获取第一数据库的数据更新消息,所述数据更新消息携带有数据表标识;
查询模块,用于查询预先配置的配置信息以获得与所述数据表标识对应的更新标识;
判断模块,用于判断是否已存在与所述更新标识对应的数据更新消息;
删除模块,用于当已存在与所述更新标识对应的数据更新消息,删除所述数据更新消息;
所述查询模块包括:
查询单元,用于查询预先配置的配置信息中是否存在所述数据表标识;
数据模型标识获取单元,用于当存在所述数据表标识时,获取预先配置的配置信息中与所述数据表标识对应的数据模型标识;
判断单元,用于根据预先配置的配置信息确定所述数据表标识对应的数据表是否为主表;
更新标识生成单元,用于当所述数据表标识对应的数据表为主表时,根据所述数据模型标识和所述主表的主键值生成更新标识;当所述数据表标识对应的数据表为从表时,根据所述数据模型标识和所述从表的外键值生成更新标识。
10.一种数据同步装置,其特征在于,所述数据同步装置包括:第二更新消息获取模块,用于获取根据权利要求9所述的数据库更新消息处理装置所得到的数据更新消息;
更新数据获取模块,用于根据所述数据更新消息从第一数据库获取更新数据;
转换模块,用于按照预先配置的配置信息对所述更新数据进行数据转换得到目标数据;
存储模块,用于将所述目标数据保存至第二数据库。
11.一种数据库配置信息配置装置,其特征在于,所述数据库配置信息配置装置包括:第一接收模块,用于接收针对第一数据库的连接信息配置指令,并根据所述第一数据库的连接信息配置指令配置所述第一数据库的连接信息;
第二接收模块,用于接收针对所述第一数据库中各个数据表的关联关系的配置指令,并根据所述关联关系的配置指令对所述第一数据库中各个数据表进行配置,以确定各个数据表标识对应的更新标识以及更新标识的有效时间,所述更新标识以及更新标识的有效时间用于在权利要求9的数据库更新消息处理装置中使用。
12.一种数据库配置信息配置装置,其特征在于,所述数据库配置信息配置装置包括:第三接收模块,用于接收针对第二数据库的连接信息配置指令,并根据所述第一数据库的连接信息配置指令配置所述第二数据库的连接信息;
第四接收模块,用于接收针对所述第二数据库中的数据与所述第一数据库中的数据的转换规则配置指令,并根据所述转换规则配置指令配置所述第二数据库中的数据与所述第一数据库中的数据的转换规则;所述转换规则用于在权利要求10的数据同步装置中使用。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3或4至5或6至7或8中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3或4至5或6至7或8中任一项所述的方法的步骤。
说明书 :
更新消息处理方法、数据同步方法、配置信息配置方法
技术领域
背景技术
一些可扩展、高性能的新型数据库做补充。
即一个数据模型中包括多个关联的数据表,当对数据进行更新时,多个数据表一起更新,从
而另外一个数据库针对该数据库的一次更新可能需要进行多次同步,造成重复无价值的处
理,降低系统性能。
发明内容
息配置方法。
更新标识以及更新标识的有效时间,所述更新标识以及更新标识的有效时间用于在上述任
意一个实施例中的数据库更新消息处理方法中使用。
表的外键值。
数据的转换规则;所述转换规则用于在上述任意一个实施例中的数据同步方法中使用。
个数据表标识对应的更新标识以及更新标识的有效时间,所述更新标识以及更新标识的有
效时间用于在上述任意一个实施例中的数据库更新消息处理装置中使用。
述第一数据库中的数据的转换规则;所述转换规则用于在上述任意一个实施例中的数据同
步装置中使用。
效,即标识已经接收到了该数据更新消息,则删除该数据更新消息,避免了多次针对相同的
数据进行更新处理,提高了处理效率。
附图说明
具体实施方式
用于限定本申请。
信。其中服务器102获取第一数据库104的数据更新消息,数据更新消息携带有数据表标识;
查询预先配置的配置信息以获得与数据表标识对应的更新标识;判断是否已存在与更新标
识对应的数据更新消息;当已存在与更新标识对应的数据更新消息,删除数据更新消息。此
外,服务器102根据整合后的数据更新消息从第一数据库104获取更新数据;按照预先配置
的配置信息对更新数据进行数据转换得到目标数据;将目标数据保存至第二数据库106中。
且上述的执行过程都依靠服务器102预先配置的置信息,其中包括第一数据库104和第二数
据库106的连接信息,第一数据库104的数据更新消息的处理规则以及第二数据库106与第
一数据库104的数据转换规则等。这样在接收到第一数据库的数据更新消息后,查询数据表
标识对应的更新标识,并判断更新标识是否有效,若是有效,即标识已经接收到了该数据更
新消息,则删除该数据更新消息,避免了多次针对相同的数据进行更新处理,提高了处理效
率。服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。第一数据
库104和第二数据库106的结构存在差异,其中可选地,第一数据库104为关系型数据库,例
如MySQL(是一种关系型数据库管理系统,将数据保存在不同的表中),第二数据库106为新
型数据库,例如ES(ElasticSearch,是一个分布式、高扩展、高实时的搜索与数据分析引擎。
它能很方便的使大量数据具有搜索、分析和探索的能力)。
消息进行存储,然后再通过另外的线程读取所存储的数据更新消息以进行处理。
新,若是生成数据更新消息,并将所生成的数据更新消息存储至一集群中,例如存储至
kafka(是一种高吞吐量的分布式发布订阅消息系统)集群中,后续服务器通过另外的线程
从集群中获取数据更新消息进行处理后得到整合后的数据更新消息,并存储至另外一个集
群中,例如存储至另外一个kafka集群中。
据更新消息,进一步地,服务器中预先配置有库名、数据库类型、IP、端口号、用户名、密码
(加密保存)等,服务器通过该些信息去连接第一数据库,从而保证第一数据库中数据的安
全性。
据库中数据模型编号、数据模型包含那些表、每个表和数据库对应关系、每个表要取哪些字
段、哪张表为主表、表之间的关联关系(主键、外键)等。数据更新消息的处理规则是根据关
联配置所生成的,例如其与数据模型编号一一对象,同时设置同一组数据更新消息的处理
延时时间。
键确定了变更标识。
复。
奠定基础。
置该数据更新消息的有效时间,在该有效时间内,若是存在与该数据更新消息重复的数据
更新消息则删除,在有效时间过了以后,即使接收到了针对同一数据操作的数据更新消息,
也进行存储,避免后续数据再次变更的消息也被删除。其中该有效时间的设置可以是人工
预设的,或者是根据数据库的数据更新时间来设置的,例如更新一个数据,同步到数据库中
对应的时间为a,则该延时时间可以根据a来进行设置,以将该一个数据的更新作为一条数
据更新消息。
消息,则删除该数据更新消息,避免了多次针对相同的数据进行更新处理,提高了处理效
率。
预先配置的配置信息中与数据表标识对应的数据模型标识;根据预先配置的配置信息确定
数据表标识对应的数据表是否为主表;当数据表标识对应的数据表为主表时,根据数据模
型标识和主表的主键值生成更新标识;当数据表标识对应的数据表为从表时,根据数据模
型标识和从表的外键值生成更新标识。
据更新消息与更新标识的对应关系。
customer、phone、address3张表中各插入了一条数据,这时候服务器会产生3条数据更新消
息。服务器不需要重复对每一条数据更新消息都做处理,数据只需要同步一次即可。因此服
务器对数据更新消息做归并,产生一条整合消息:服务器获取配置“第一数据库表关联配
置”和其对应“处理延时时长”,当服务器获取到数据更新消息时,则获取到数据更新消息的
数据表名,当数据表明匹配上了“第一数据库表关联配置”中的某一张表,则先判定该数据
更新消息中的表是否为主表,若为主表,则获取配置中的主表主键名并从数据更新消息中
获取该主键值,若不为主表,则获取配置中的外键名并从数据更新消息中获取该外键值,然
后以数据模型编号和主键值或外键值为维度创建定时失效的锁,锁失效的时间为配置的
“处理延时时长”,后续消息按照上述方式处理与锁碰撞的话直接舍弃,如此第一条数据更
新消息会被处理,后面在“处理延时时长”内的其他数据更新消息都会被舍弃掉,同样的以
数据模型编号和主键值或外键值为维度创建的数据更新消息即为最后的数据更新消息。
成功后,根据数据更新消息获取到更新数据。
对应关系对更新数据进行数据转换得到目标数据。
等)的通用工具)模板解析方式转换,另外一种是根据字段对应关系转换,并保存到第二数
据库中。
次数,降低了资源占用,提高了处理效率。
可新添加连接配置。初始化展示所有历史配置过的数据库连接信息(数据库名,数据库类
型,用户名),并且点击历史一条配置可以进行编辑。
库类型MySQL、IP地址10.1.1.1、端口号1521、用户名queryuser、密码123。
识以及更新标识的有效时间,更新标识以及更新标识的有效时间用于在上述任意一个实施
例中的数据库更新消息处理方法中使用。
据采集”“数据转换以及同步”的配置。页面初始化展示业务模型信息(数据模型编号、描述
等),点击按钮可查看详情、可编辑。
标识对应的更新标识的有效时间以及各个数据模型中的主表和从表,并配置主表的主键值
和从表的外键值。
表以及表之间的关联关系(主键、外键)等。
客户ID、手机号、录入时间等字段;地址表address存在B库,有主键ID、省、市、区、详细地址
等字段;那么主表为customer,电话表phone、地址表address中保存了客户ID为外键对应的
客户表customer的主键。
可新添加连接配置。初始化展示所有历史配置过的数据库连接信息(数据库名,数据库类
型,用户名),并且点击历史一条配置可以进行编辑。
器等。
则;转换规则用于在上述任意一个实施例中的数据同步方法中使用。
对应关系转换。
customer表中的name字段;A库PHONE表的CONTENT字段对应B库customer表中的nested字段
phones中的content字段,那么对应的配置A库PHONE表的CONTENT字段对应B库customer表
中的nested字段phones。
新消息处理规则、第二数据库的结构信息以及第一数据库和第二数据库的数据转换规则。
更新消息处理规则对数据更新消息进行处理,其中包括先查询数据更新消息中数据表标识
是否存在,若是不存在,则输出报警,若是存在,则获取该数据表标识对应的数据模型标识
和对应的主键或外键,进而从数据更新消息中读取主键值或外键值,其中主键和外键主要
是根据数据表标识对应的数据表是否为主表来确定,若是主表,则获取主键,若非主表,则
获取从键,这样消息加工模块计算得到该数据更新消息对应的更新标识,也即数据模型标
识和键值,并判断目前是否存在该更新标识对应的数据更新消息,若是存在,则表明已经存
在了对应的数据更新消息,则删除新来的数据更新消息,即对数据更新消息进行整合。若是
不存在,则存储该数据更新消息至另外一个kafka中,其中消息加工模块还可以获取更新标
识的延时时间,以设置更新标识的有效时间,在该有效时间过后,删除该条数据更新消息和
更新标识,并继续获取后续的数据更新消息。
第二数据库的数据转换规则对更新数据进行转换得到目标数据,并将目标数据存储至第二
数据库,从而后续可以从第二数据库查询到数据。
表关联的数据转换为扁平化结构的数据并保存到ES中。最后减少了重复数据同步处理的次
数,提升了系统性能。
步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图5中的
至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时
刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次
进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地
执行。
识和从表的外键值生成更新标识。
到目标数据。
标识对应的更新标识以及更新标识的有效时间,更新标识以及更新标识的有效时间用于在
上述任意一个实施例中的数据库更新消息处理装置中使用。
和从表,并配置主表的主键值和从表的外键值。
数据的转换规则;转换规则用于在上述任意一个实施例中的数据同步装置中使用。
上述更新消息处理装置、数据同步装置、配置信息配置装置中的各个模块可全部或部分通
过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的
处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以
上各个模块对应的操作。
其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易
失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该
内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备
的数据库用于缓存数据更新消息。该计算机设备的网络接口用于与外部的终端通过网络连
接通信。该计算机程序被处理器执行时以实现一种更新消息处理方法、数据同步方法、配置
信息配置方法。
备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
数据更新消息携带有数据表标识;查询预先配置的配置信息以获得与数据表标识对应的更
新标识;判断是否已存在与更新标识对应的数据更新消息;当已存在与更新标识对应的数
据更新消息,删除数据更新消息。
识;当存在数据表标识时,获取预先配置的配置信息中与数据表标识对应的数据模型标识;
根据预先配置的配置信息确定数据表标识对应的数据表是否为主表;当数据表标识对应的
数据表为主表时,根据数据模型标识和主表的主键值生成更新标识;当数据表标识对应的
数据表为从表时,根据数据模型标识和从表的外键值生成更新标识。
新消息与更新标识的对应关系。
根据更新标识有效时间建立数据更新消息与更新标识的对应关系。
的数据库更新消息处理方法所得到的数据更新消息;根据数据更新消息从第一数据库获取
更新数据;按照预先配置的配置信息对更新数据进行数据转换得到目标数据;将目标数据
保存至第二数据库。
到目标数据;和/或按照预先存储的字段对应关系对更新数据进行数据转换得到目标数据。
配置指令,并根据第一数据库的连接信息配置指令配置第一数据库的连接信息;接收针对
第一数据库中各个数据表的关联关系的配置指令,并根据关联关系的配置指令对第一数据
库中各个数据表进行配置,以确定各个数据表标识对应的更新标识以及更新标识的有效时
间,更新标识以及更新标识的有效时间用于在上述任意一个实施例中的数据库更新消息处
理方法中使用。
数据模型标识对应的更新标识的有效时间以及各个数据模型中的主表和从表,并配置主表
的主键值和从表的外键值。
配置指令,并根据第一数据库的连接信息配置指令配置第二数据库的连接信息;接收针对
第二数据库中的数据与第一数据库中的数据的转换规则配置指令,并根据转换规则配置指
令配置第二数据库中的数据与第一数据库中的数据的转换规则;转换规则用于在上述任意
一个实施例中的数据同步方法中使用。
带有数据表标识;查询预先配置的配置信息以获得与数据表标识对应的更新标识;判断是
否已存在与更新标识对应的数据更新消息;当已存在与更新标识对应的数据更新消息,删
除数据更新消息。
标识;当存在数据表标识时,获取预先配置的配置信息中与数据表标识对应的数据模型标
识;根据预先配置的配置信息确定数据表标识对应的数据表是否为主表;当数据表标识对
应的数据表为主表时,根据数据模型标识和主表的主键值生成更新标识;当数据表标识对
应的数据表为从表时,根据数据模型标识和从表的外键值生成更新标识。
更新消息与更新标识的对应关系。
间;根据更新标识有效时间建立数据更新消息与更新标识的对应关系。
处理方法所得到的数据更新消息;根据数据更新消息从第一数据库获取更新数据;按照预
先配置的配置信息对更新数据进行数据转换得到目标数据;将目标数据保存至第二数据
库。
得到目标数据;和/或按照预先存储的字段对应关系对更新数据进行数据转换得到目标数
据。
第一数据库的连接信息配置指令配置第一数据库的连接信息;接收针对第一数据库中各个
数据表的关联关系的配置指令,并根据关联关系的配置指令对第一数据库中各个数据表进
行配置,以确定各个数据表标识对应的更新标识以及更新标识的有效时间,更新标识以及
更新标识的有效时间用于在上述任意一个实施例中的数据库更新消息处理方法中使用。
识、数据模型标识对应的更新标识的有效时间以及各个数据模型中的主表和从表,并配置
主表的主键值和从表的外键值。
第一数据库的连接信息配置指令配置第二数据库的连接信息;接收针对第二数据库中的数
据与第一数据库中的数据的转换规则配置指令,并根据转换规则配置指令配置第二数据库
中的数据与第一数据库中的数据的转换规则;转换规则用于在上述任意一个实施例中的数
据同步方法中使用。
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,
本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可
包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑
Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器
(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种
形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存
储器(Dynamic Random Access Memory,DRAM)等。
盾,都应当认为是本说明书记载的范围。
说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护
范围。因此,本申请专利的保护范围应以所附权利要求为准。