System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种数据同步方法及装置。
技术介绍
1、在进行数据同步操作时,可以将需要进行数据同步的同步消息传输至需要进行数据同步处理的设备中,以便完成数据同步操作。然而,在同步消息传输过程中,受网络等因素的影响,由于同步消息接收方所接收到的同步消息顺序与同步消息的发送顺序无法保持一致,进而导致数据同步出现错误。
2、相关技术中,为保证消息接收方所接收到的同步消息顺序与同步消息的发送顺序一致,消息发送方每次再接收到数据接收方返回的消息接收应答消息之后,才会再次发送下一条同步消息。
3、然而,采用上述方式导致数据同步的效率较低。
技术实现思路
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、将所述第一同步消息中的第一序号标识确定为所述目标数据中本文档来自技高网...
【技术保护点】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,确定所述第一同步消息的生成时间大于第二同步消息的生成时间,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一同步消息还包括:待同步数据、以及第一删除标识;所述第一删除标识用于指示所述待同步数据是否需要被删除;所述目标数据还包括:第二删除标识、待处理处理的主键值以及待处理数据;所述第二删除标识用于指示所述目标数据中的待处理数据是否处于被删除状态;
4.根据权利要求3所述的方法,其特征在于,在将所述第一同步消息中的第一序号标识确定为所述目标数据中的第二序号标识之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述第一同步消息中的第一删除标识确定为所述目标数据中的第二删除标识之后,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述第一同步消息还包括:待同步数据
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述第一同步消息还包括:第一序号标识,且所述第一序号标识与所述第一同步消息的生成时间呈正相关;在数据库所存储的存储数据中,确定包括所述主键值的存储数据为目标数据,包括:
10.一种数据同步装置,其特征在于,包括:
...【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,确定所述第一同步消息的生成时间大于第二同步消息的生成时间,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一同步消息还包括:待同步数据、以及第一删除标识;所述第一删除标识用于指示所述待同步数据是否需要被删除;所述目标数据还包括:第二删除标识、待处理处理的主键值以及待处理数据;所述第二删除标识用于指示所述目标数据中的待处理数据是否处于被删除状态;
4.根据权利要求3所述的方法,其特征在于,在将所述第一同步消息中的第一序号标识确定为所述目标数据中的第二序号标识之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述第一同步消息...
【专利技术属性】
技术研发人员:丁禹钧,杨飞利,张敏,史云飞,
申请(专利权)人:青岛海信商用显示股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。