一种数据同步方法技术

技术编号:39505776 阅读:10 留言:0更新日期:2023-11-24 11:37
本申请提供一种数据同步方法

【技术实现步骤摘要】
一种数据同步方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体涉及一种数据同步方法

装置

电子设备及存储介质


技术介绍

[0002]互联网业务系统中,存在对海量数据进行各种复杂条件组合查询的需求,传统的数据库无法高性能地支持此类查询的需求,需要将数据库中的数据同步至高性能搜索引擎中,例如
Elasticsearch
,利用高性能搜索引擎的搜索

分析和探索的能力,可以支持各种复杂条件组合查询和数据分析

[0003]现有的数据库与搜索引擎数据同步的方法为:在数据库新增或变更数据时,消息系统
(
例如,
Kafak)
发送队列
(
例如,
Kafak

Queue)
消息至搜索业务服务器,搜索业务服务器调用搜索引擎新增或同步数据

[0004]上述方法会存在一些问题:消息重复消费,导致二次消费产生旧数据覆盖新数据;在数据同步至搜索引擎发生异常时无法感知,导致会存在较多数据在数据库与搜索引擎中存储不一致

因此,如何确保数据库与搜索引擎的存储一致性,是本领域亟需解决的技术问题


技术实现思路

[0005]本申请提供一种数据同步方法

装置

设备及存储介质,能够确保数据库与搜索引擎的存储一致性

[0006]第一方面,本申请提供一种数据同步方法,包括:
[0007]加载业务的数据模型时,检查所述业务的数据模型在搜索引擎中是否存在对应的索引;
[0008]若所述搜索引擎中不存在所述业务的数据模型对应的索引,则调用搜索引擎根据所述业务的数据模型的数据结构创建对应的索引;
[0009]监听所述业务的数据模型中配置的消息系统的队列,根据所述消息系统的队列消息以及所述业务的数据模型对应的索引将数据库的数据同步至搜索引擎

[0010]在本申请的一些实施例中,所述方法还包括:
[0011]确定将数据库的数据同步至搜索引擎时是否发生异常;若确定将数据库的数据同步至搜索引擎时发生异常,则利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时数据,并调用搜索引擎进行同步所述实时数据

[0012]在本申请的一些实施例中,所述确定将数据库的数据同步至搜索引擎时是否发生异常,包括:
[0013]根据数据同步状态变更错误,确定将数据库的数据同步至搜索引擎时发生异常;和
/
或,
[0014]根据数据同步时间超时,确定将数据库的数据同步至搜索引擎时发生异常

[0015]在本申请的一些实施例中,所述利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时数据,包括:
[0016]利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时全量数据

[0017]在本申请的一些实施例中,所述方法还包括:
[0018]按照预设周期比较数据库与搜索引擎中的数据是否一致;
[0019]如果存在不一致,对搜索引擎中的数据进行一致性补偿

[0020]在本申请的一些实施例中,所述根据所述消息系统的队列消息以及所述业务的数据模型对应的索引将数据库的数据同步至搜索引擎,包括:
[0021]基于预设的防重机制,根据所述消息系统的队列消息以及所述业务的数据模型对应的索引将数据库的数据同步至搜索引擎

[0022]在本申请的一些实施例中,在所述加载业务的数据模型之前,还包括:
[0023]确定新增业务的数据模型;
[0024]根据预设规范生成新增业务的数据模型对应的
jar
包,并在依赖文件中引入所述
jar
包的依赖

[0025]第二方面,本申请提供一种数据同步装置,包括:
[0026]检查模块,用于加载业务的数据模型时,检查所述业务的数据模型在搜索引擎中是否存在对应的索引;
[0027]创建模块,用于若所述搜索引擎中不存在所述业务的数据模型对应的索引,则调用搜索引擎根据所述业务的数据模型的数据结构创建对应的索引;
[0028]同步模块,用于监听所述业务的数据模型中配置的消息系统的队列,根据所述消息系统的队列消息以及所述业务的数据模型对应的索引将数据库的数据同步至搜索引擎

[0029]在本申请的一些实施例中,所述同步模块,还用于:
[0030]确定将数据库的数据同步至搜索引擎时是否发生异常;若确定将数据库的数据同步至搜索引擎时发生异常,则利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时数据,并调用搜索引擎进行同步所述实时数据

[0031]在本申请的一些实施例中,所述同步模块,具体用于:
[0032]根据数据同步状态变更错误,确定将数据库的数据同步至搜索引擎时发生异常;和
/
或,
[0033]根据数据同步时间超时,确定将数据库的数据同步至搜索引擎时发生异常

[0034]在本申请的一些实施例中,所述同步模块,具体用于:
[0035]利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时全量数据

[0036]在本申请的一些实施例中,所述同步模块,还用于:
[0037]按照预设周期比较数据库与搜索引擎中的数据是否一致;
[0038]如果存在不一致,对搜索引擎中的数据进行一致性补偿

[0039]在本申请的一些实施例中,所述同步模块,具体用于:
[0040]基于预设的防重机制,根据所述消息系统的队列消息以及所述业务的数据模型对应的索引将数据库的数据同步至搜索引擎

[0041]在本申请的一些实施例中,所述装置还包括:
[0042]业务新增模块,用于在所述检查模块加载业务的数据模型之前,确定新增业务的数据模型;根据预设规范生成新增业务的数据模型对应的
jar
包,并在依赖文件中引入所述
jar
包的依赖

[0043]第三方面,本申请提供一种电子设备,包括:存储器

处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现本申请第一方面所述的方法

[0044]本申请第四方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法

[0045]相较于现有技术,本申请提供的数据同步方法

装置

设备及存储介质,加载业务的数据模型时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据同步方法,其特征在于,包括:加载业务的数据模型时,检查所述业务的数据模型在搜索引擎中是否存在对应的索引;若所述搜索引擎中不存在所述业务的数据模型对应的索引,则调用搜索引擎根据所述业务的数据模型的数据结构创建对应的索引;监听所述业务的数据模型中配置的消息系统的队列,根据所述消息系统的队列消息以及所述业务的数据模型对应的索引将数据库的数据同步至搜索引擎
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:确定将数据库的数据同步至搜索引擎时是否发生异常;若确定将数据库的数据同步至搜索引擎时发生异常,则利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时数据,并调用搜索引擎同步所述实时数据
。3.
根据权利要求2所述的方法,其特征在于,所述确定将数据库的数据同步至搜索引擎时是否发生异常,包括:根据数据同步状态变更错误,确定将数据库的数据同步至搜索引擎时发生异常;和
/
或,根据数据同步时间超时,确定将数据库的数据同步至搜索引擎时发生异常
。4.
根据权利要求2所述的方法,其特征在于,所述利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时数据,包括:利用预先在所述业务的数据模型中配置的反查函数反查数据库中的实时全量数据
。5.
根据权利要求1所述的方法,其特征在于,所述方法还包括:按照预设周期比较数据库与搜索引擎中的数据是否一致;如果存在不一致,对搜索引擎中的数据进行一致性补偿
。6.
...

【专利技术属性】
技术研发人员:张松祥
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1