System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种数据同步方法、装置、电子设备、存储介质及程序产品。
技术介绍
1、随着移动互联的发展,银行业务中存在着需要多个功能相互配合完成的场景。例如手机银行调用客户渠道服务对私系统交易,实现短信、手机签约等功能,其交易数据存储在电子银行数据库,而电子银行数据库交易量比较大,对于庞大的交易数据的实时性处理是一个亟待解决的问题。
2、为了方便对交易数据的管理,将需要实时性处理业务的交易信息分离到消息信息库中。目前对消息信息库的数据实时性更新方法,是通过将实时性交易信息全表同步至消息信息库中实现的,但这种全表同步的方法数据同步速度较慢,难以实现变更数据的实时性同步,无法满足客户的使用需求,使得客户的体验性较差。
技术实现思路
1、本申请实施例提供数据同步方法、装置、电子设备、存储介质及程序产品,用以解决现有技术中数据更新速度较慢,难以达到实时性同步的问题。
2、第一方面,本申请实施例提供一种数据同步方法,包括:
3、响应于监测到源数据库发生数据变更,确定变更数据是否满足目标数据库的同步要求;
4、若确定满足同步要求,则根据变更数据生成对应的变更记录并将所述变更数据存储至变更记录表中,所述变更记录中包括变更类型标识信息、变更数据类型及变更数据标识信息;所述变更记录表中存在至少一个变更记录;
5、基于所述变更记录表中未执行同步的变更记录以及预设目标数据同步时间确定对应的目标同步策略;所述目标同步策略为单线程执
6、按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中。
7、在一种可能的设计中,所述确定变更数据是否满足目标数据库的同步要求,包括:
8、确定所述变更数据对应的目标业务类型,并获取目标数据库 要进行数据同步的预设业务类型;
9、若确定所述目标业务类型存在于所述预设业务类型中,则确定所述变更数据满足目标数据库的同步要求;
10、若确定所述目标业务类型不存在于所述预设业务类型中,则确定所述变更数据不满足目标数据库的同步要求。
11、在一种可能的设计中,所述确定所述变更记录表中未执行同步的变更记录,包括:
12、获取所述变更记录表中各变更记录对应的变更类型标识信息;
13、若确定所述变更记录对应的变更类型标识信息为第一预设值或第二预设值或第三预设值,则确定为第一预设值或第二预设值或第三预设值的变更记录为未执行同步的变更记录,所述第一预设值表示为增加数据的标识信息,所述第二预设数值表示为修改数据的标识信息,所述第三预设值表示为删除数据的标识信息。
14、在一种可能的设计中,基于所述变更记录表中未执行同步的变更记录以及预设目标数据同步时间确定对应的目标同步策略,包括:
15、基于所述未执行同步的变更记录以及所述预设目标数据同步时间确定目标同步任务数量,以使执行所述目标同步任务的时间小于或等于预设目标数据同步时间;
16、若所述目标同步任务数量为一个,则确定对应的目标同步策略为单线程执行数据同步策略;
17、若所述目标同步任务数量为多个,则确定对应的目标同步策略为多个线程并行执行数据同步策略;所述多个线程的数量与所述目标同步任务数量相同。
18、在一种可能的设计中,基于所述未执行同步的变更记录以及所述预设目标数据同步时间确定目标同步任务数量,包括:
19、根据所述未执行同步的变更记录确定同一用户的未执行同步的变更数据类型对应的单数据同步时间,所述单数据同步时间是基于对应变更数据的变更数据类型及变更类型标识信息确定的;
20、根据所述单数据同步时间确定未执行同步的变更数据的总同步时间;
21、将所述总同步时间与所述预设目标数据同步时间进行除法运算并向上取整,并将总同步时间与所述预设目标数据同步时间进行除法运算并向上取整的结果确定为目标同步任务数量。
22、在一种可能的设计中,按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中,包括:
23、按照所述目标同步策略并基于所述变更记录生成对应的数据变更操作语句;
24、采用所述数据操作语句在所述目标数据库中进行变更数据对应的操作,以将变更数据同步到目标数据库中。
25、在一种可能的设计中,所述目标同步策略为单线程执行数据同步策略,所述按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中,包括:
26、采用单线程按照变更记录表中变更记录的先后顺序将变更数据同步到目标数据库中。
27、在一种可能的设计中,所述目标同步策略为多个线程并行执行数据同步策略,所述变更记录中还包括变更数据所属账户信息;
28、所述按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中,包括:
29、获取多个线程对应的预先构建的数据表;
30、将所述变更记录表中变更记录按照变更数据所述账户信息进行划分,并将划分后的变更数据按照先后顺序存储到对应的数据表中;
31、采用多个线程并行执行基于对应数据表中变更记录将变更数据同步到目标数据库中的步骤。
32、在一种可能的设计中,所述按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中之后,所述方法还包括:
33、将同步后的变更记录中的变更类型标识信息调整为第四预设值,所述第四预设值表示已完成数据同步的标识信息。
34、在一种可能的设计中,所述方法还包括:
35、周期性地对变更记录表中变更类型标识信息为第四预设值的变更记录进行删除。
36、第二方面,本申请实施例提供一种数据同步装置装置,包括:
37、确定模块,用于响应于监测到源数据库发生数据变更,确定变更数据是否满足目标数据库的同步要求;
38、生成模块,用于若确定满足同步要求,则根据变更数据生成对应的变更记录;
39、存储模块,用于将所述变更数据存储至变更记录表中,所述变更记录中包括变更类型标识信息及变更数据标识信息;所述变更记录表中存在至少一个变更记录;
40、确定模块,还用于基于所述变更记录表中变更记录确定对应的目标同步策略;所述目标同步策略为单线程执行数据同步策略或多个线程并行执行数据同步策略;
41、同步模块,用于按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中。
42、第三方面,本申请实施例提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
43、所述存储器存储计算机执行指令;
44、所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
45、第四方面,本申请实施例提供一种计算机可读存储本文档来自技高网...
【技术保护点】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定变更数据是否满足目标数据库的同步要求,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定所述变更记录表中未执行同步的变更记录,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述变更记录表中未执行同步的变更记录以及预设目标数据同步时间确定对应的目标同步策略,包括:
5.根据权利要求4所述的方法,其特征在于,基于所述未执行同步的变更记录以及所述预设目标数据同步时间确定目标同步任务数量,包括:
6.根据权利要求1所述的方法,其特征在于,按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中,包括:
7.根据权利要求4所述的方法,其特征在于,所述目标同步策略为单线程执行数据同步策略,所述按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中,包括:
8.根据权利要求4所述的方法,其特征在于,所述目标同步策略为多个线程并行执行数据同步策略,所述变更记录中还包括变更数据所属账户信
9.根据权利要求1所述的方法,其特征在于,所述按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中之后,所述方法还包括:
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.一种数据同步装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-10中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。
...【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定变更数据是否满足目标数据库的同步要求,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定所述变更记录表中未执行同步的变更记录,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述变更记录表中未执行同步的变更记录以及预设目标数据同步时间确定对应的目标同步策略,包括:
5.根据权利要求4所述的方法,其特征在于,基于所述未执行同步的变更记录以及所述预设目标数据同步时间确定目标同步任务数量,包括:
6.根据权利要求1所述的方法,其特征在于,按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库中,包括:
7.根据权利要求4所述的方法,其特征在于,所述目标同步策略为单线程执行数据同步策略,所述按照所述目标同步策略并基于所述变更记录将变更数据同步到目标数据库...
【专利技术属性】
技术研发人员:裴子文,麦博奇,陈张威,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。