【技术实现步骤摘要】
一种保持数据一致性的方法、装置及系统
本申请涉及数据处理
,尤其涉及一种保持数据一致性的方法、装置、设备及系统。
技术介绍
针对包含第一服务设备和第二服务设备的分布式系统,在某些时候,其会处理一些联机交易,联机交易指的是,由第一服务设备协同第二服务设备操作的交易,该种交易一般先由第一服务设备进行操作,第一服务设备操作成功后,再由第二服务设备操作。然而,在某些时候,由于某种原因可能出现第一服务设备操作成功,但第二服务设备操作失败的情况,在这种情况下,第一服务设备对应的第一数据库(存储第一服务设备的交易操作数据)与第二服务设备对应的第二数据库(存储第二服务设备的交易操作数据)出现了数据不一致,而如何使第一服务设备对应的第一数据库与第二服务设备对应的第二数据库中的数据保持一致是当前亟需解决的问题。
技术实现思路
有鉴于此,本申请提供了一种保持数据一致性的方法、装置、设备及系统,用以使分布式系统中第一服务设备对应的第一数据库中的数据与该分布式系统中第二服务设备对应的第二数据库中的数据保持一致,其技术方案如下:一种保持数据一致性的方法,应用于分布式系统中的第一服务设备,所述方法包括:针对需要协同所述分布式系统中的第二服务设备操作的联机交易,若所述第一服务设备操作成功,但所述第二服务设备操作失败,则在流水表中记录所述联机交易的异常流水;在预设的补偿时段,顺序从所述流水表中筛选待补偿的异常流水,组成目标异常流水集合;根据所述目标异常流水集合中的各异常流水和所述第一服 ...
【技术保护点】
1.一种保持数据一致性的方法,其特征在于,应用于分布式系统中的第一服务设备,所述方法包括:/n针对需要协同所述分布式系统中的第二服务设备操作的联机交易,若所述第一服务设备操作成功,但所述第二服务设备操作失败,则在流水表中记录所述联机交易的异常流水;/n在预设的补偿时段,从所述流水表中筛选待补偿的异常流水,组成目标异常流水集合;/n根据所述目标异常流水集合中的各异常流水和所述第一服务设备对应的第一数据库中的当前交易操作数据,在补偿文件中写入补偿数据,以使所述第二服务设备根据所述补偿文件对其对应的第二数据库进行数据补偿。/n
【技术特征摘要】
1.一种保持数据一致性的方法,其特征在于,应用于分布式系统中的第一服务设备,所述方法包括:
针对需要协同所述分布式系统中的第二服务设备操作的联机交易,若所述第一服务设备操作成功,但所述第二服务设备操作失败,则在流水表中记录所述联机交易的异常流水;
在预设的补偿时段,从所述流水表中筛选待补偿的异常流水,组成目标异常流水集合;
根据所述目标异常流水集合中的各异常流水和所述第一服务设备对应的第一数据库中的当前交易操作数据,在补偿文件中写入补偿数据,以使所述第二服务设备根据所述补偿文件对其对应的第二数据库进行数据补偿。
2.根据权利要求1所述的保持数据一致性的方法,其特征在于,所述异常流水中记录有交易时间戳;
所述从所述流水表中筛选待补偿的异常流水,包括:
根据所述流水表中各异常流水中记录的交易时间戳,顺序从所述流水表中筛选待补偿的异常流水。
3.根据权利要求1所述的保持数据一致性的方法,其特征在于,所述异常流水中记录有交易流水号、数据库操作类型和待补偿数据的关键字段;
所述根据所述目标异常流水集合中的各异常流水和所述第一服务设备对应的第一数据库中的当前交易操作数据,在补偿文件中写入补偿数据,包括:
针对所述目标异常流水集合中每个待补偿的目标异常流水:
根据所述目标异常流水中记录的待补偿数据和数据库操作类型,以及所述第一数据库中的当前交易操作数据,确定是否需要在所述第二数据库中针对所述目标异常流水进行数据补偿;
若是,则根据所述目标异常流水记录的数据库操作类型,以及所述第一数据库中所述目标异常流水记录的交易流水号对应的当前交易操作数据,生成操作语句,并将所述操作语句写入补偿文件。
4.根据权利要求3所述的保持数据一致性的方法,其特征在于,所述根据所述目标异常流水中记录的待补偿数据和数据库操作类型,以及所述第一数据库中的当前交易操作数据,确定是否需要在所述第二数据库中针对所述目标异常流水进行数据补偿,包括:
若所述目标异常流水中记录的数据库操作类型为新增,且在补偿执行时刻所述第一数据库中的当前交易操作数据中存在所述目标异常流水中记录的待补偿数据,则确定需要在所述第二数据库中针对所述目标异常流水进行数据补偿;
若所述目标异常流水中记录的数据库操作类型为删除,且在补偿执行时刻所述第一数据库中的当前交易操作数据中不存在所述目标异常流水中记录的待补偿数据,则确定需要在所述第二数据库中针对所述目标异常流水进行数据补偿;
若所述目标异常流水中记录的数据库操作类型为修改,且在补偿执行时段所述第一数据库中的当前交易操作数据中存在所述目标异常流水中记录的待补偿数据,则确定需要在所述第二数据库中针对所述目标异常流水进行数据补偿。
5.根据权利要求3所述的保持数据一致性的方法,其特征在于,所述根据所述目标异常流水记录的数据库操作类型,以及所述第一数据库中所述目标异常流水记录的交易流水号对应的当前交易操作数据,生成操作语句,包括:
若所述目标异常流水中记录的数据库操作类型为新增,则根据补偿时段所述第一数据库中所述目标异常流水记录的交易流水号对应的当前交易操作数据,生成插入语句;
若所述目标异常流水中记录的数据库操作类型为删除,则根据补偿时段所述第一数据库中所述目标异常流水记录的交易流水号对应的当前交易操作数据,生成删除语句;
若所述目标异常流水中记录的数据库操作类型为修改,则根据所述第一数据库中所述目标异常流水记录的交...
【专利技术属性】
技术研发人员:涂锐,王宪刚,邵硕,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。