System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据处理,尤其涉及一种数据的同步系统、方法、可读存储介质及计算机程序产品。
技术介绍
1、mysql(my structured query language,结构化查询语言)是一种开源的关系型数据库管理系统,具有高效管理、关联数据的能力,善于在多个数据表之间建立复杂的关系,实现数据的一致性和完整性。然而,mysql不具备全文搜索、实时分析、分布式处理和处理非结构化数据等能力,因此难以满足全场景的使用。es(elasticsearch,弹性搜索)作为一个开源的、分布式的全文搜索引擎,相较于mysql,其具有高度可扩展的分布式架构和强大的全文搜索引擎能力,具备有填补mysql缺陷的能力。因此,在很多应用程序中,会同时使用es和mysql,在对数据进行管理和存储的同时,能够兼顾全文搜索和复杂查询的需求。
2、显然,保持数据一致性是同时使用es和mysql的重要环节。相关技术提供了同步双写、异步双写、基于mysql定时扫描同步、基于binlog(binary log,二进制日志)实时同步等方式,这些方式具有较高的代码开发成本,尤其需要开发者具备处理es写入逻辑和查询逻辑的能力,无疑提升了初学者的接入成本;并且,当数据写入es失败时,数据准确性无法保证。
技术实现思路
1、为了解决上述技术问题之一,本公开提供了一种数据的同步系统、方法、可读存储介质及计算机程序产品。
2、根据本公开的一个方面提供了一种数据的同步系统,包括处理器和存储器,所述存储器存储有计算
3、在一些实施方式中,所述调用数据捕获模块抓取目标数据库中的变动信息,包括:为所述数据捕获模块分配具有复制权限的触发账号;以及控制所述数据捕获模块通过所述触发账号连接所述目标数据库,并读取所述目标数据库中变更日志中的变动信息。
4、在一些实施方式中,在所述调用数据捕获模块抓取目标数据库中的变动信息之后,还包括:控制所述数据捕获模块解析所述映射配置文件,获取所述变动信息的目标队列标签,并将所述变动信息存储至对应于所述目标队列标签的消息队列。
5、在一些实施方式中,所述对所述目标数据库的映射配置文件进行解析,确定所述变动信息的映射参数,包括:对所述映射配置文件进行解析,确定关于所述目标数据库的过滤条件;调用所述过滤条件对所述变动信息进行筛选,确定所述变动信息的效力状态,将所述效力状态为有效的所述变动信息中变动键作为所述待同步键;以及在所述映射配置文件中提取所述待同步键对应的所述访问接口和目标搜索引擎,获得包含所述访问接口和所述目标搜索引擎的所述映射参数。
6、在一些实施方式中,所述基于所述映射参数中的访问接口,将所述目标数据库中关于所述变动信息中待同步键的关联值同步至所述映射参数所指示的目标搜索引擎,包括:控制数据同步引擎通过各个所述访问接口分别读取所述目标数据库中对应于所述待同步键的多个关联值;对所述待同步键及其多个所述关联值进行聚合和清洗,形成对应于所述待同步键的键值数据包;基于所述目标搜索引擎的同步密钥,将所述键值数据包发送至所述目标搜索引擎。
7、在一些实施方式中,还包括:将对应于所述待同步键的所述变动信息存储至所述目标数据库。
8、在一些实施方式中,还包括:响应于复检时刻,将所述目标搜索引擎中的键值数据包与所述变动信息进行匹配,以未同步至所述目标搜索引擎的所述变动信息作为遗漏信息;在所述目标数据库中提取所述遗漏信息,并调用数据同步引擎对所述遗漏信息进行重新同步。
9、在一些实施方式中,在所述调用数据捕获模块抓取目标数据库中的变动信息之前,包括:根据同步需求,为各种服务设置至少包含过滤条件、对应于所述服务的所述目标搜索引擎和所述目标数据库、对应于各个主键的所述访问接口的所述映射配置文件。
10、在一些实施方式中,还包括:响应于全量同步指令,调用数据同步引擎将所述目标数据库中多个主键分别与所述映射配置文件进行匹配,筛选出效力状态为有效的多个待同步键及其映射参数,其中所述全量同步指令由人工触发或者由全量同步时刻触发。
11、根据本公开的另一个方面提供了一种数据的同步方法,包括:调用数据捕获模块抓取目标数据库中的变动信息;对所述目标数据库的映射配置文件进行解析,确定所述变动信息的映射参数;以及基于所述映射参数中的访问接口,将所述目标数据库中关于所述变动信息中待同步键的关联值同步至所述映射参数所指示的目标搜索引擎。
12、根据本公开的又一个方面提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现如前文所述的数据的同步方法。
13、根据本公开的再一个方面提供了一种计算机程序产品所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时至少用于实施如前文所述的数据的同步方法。
本文档来自技高网...【技术保护点】
1.一种数据的同步系统,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,所述计算机程序和所述处理器执行以下过程:
2.根据权利要求1所述的数据的同步系统,其特征在于,所述调用数据捕获模块抓取目标数据库中的变动信息,包括:
3.根据权利要求2所述的数据的同步系统,其特征在于,在所述调用数据捕获模块抓取目标数据库中的变动信息之后,还包括:
4.根据权利要求1所述的数据的同步系统,其特征在于,所述对所述目标数据库的映射配置文件进行解析,确定所述变动信息的映射参数,包括:
5.根据权利要求1所述的数据的同步系统,其特征在于,所述基于所述映射参数中的访问接口,将所述目标数据库中关于所述变动信息中待同步键的关联值同步至所述映射参数所指示的目标搜索引擎,包括:
6.根据权利要求1所述的数据的同步系统,其特征在于,还包括:
7.根据权利要求1所述的数据的同步系统,其特征在于,还包括:
8.一种数据的同步方法,其特征在于,包括:
9.一种可读存储介质,其特
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时至少用于实施如权利要求8所述的数据的同步方法。
...【技术特征摘要】
1.一种数据的同步系统,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,所述计算机程序和所述处理器执行以下过程:
2.根据权利要求1所述的数据的同步系统,其特征在于,所述调用数据捕获模块抓取目标数据库中的变动信息,包括:
3.根据权利要求2所述的数据的同步系统,其特征在于,在所述调用数据捕获模块抓取目标数据库中的变动信息之后,还包括:
4.根据权利要求1所述的数据的同步系统,其特征在于,所述对所述目标数据库的映射配置文件进行解析,确定所述变动信息的映射参数,包括:
5.根据权利要求1所述的数据的同步系统,其特征在于,所述基于所述映射...
【专利技术属性】
技术研发人员:伍雁溪,程志军,
申请(专利权)人:贝壳找房北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。