【技术实现步骤摘要】
双日志面跨日切期间的防重方法及装置
[0001]本专利技术涉及分布式事务处理
,具体而言,涉及一种双日志面跨日切期间的防重方法及装置。
技术介绍
[0002]随着越来越多的应用落地分布式系统,系统的逻辑复杂度增加,对突发事件的处置能力要求更高。然而生产上不同应用与服务调用关系错综复杂,一旦某一环节出现网络延迟与逻辑问题出现可疑时,程序就会依赖渠道日志实现空回滚与防悬挂。如渠道重复发起,服务提供方未加以控制,可能导致交易重复发起;如服务提供方仅对重复进行控制,而不返回上一笔的处理结果,客户无法感知交易结果,影响客户体验。
[0003]根据《分布式事务开发技术规范》规范要求,纳入分布式事务管理的分支事务应满足幂等、空回滚、防悬挂设计。对于分支事务为平台分布式应用,其应用以事件编号作为事务唯一性判断条件和主键,建立相关事务日志/登记薄,记录并存储幂等、空回滚、防悬挂处理结果。充分利用“主机渠道日志与事件一对一关系,作为一笔事件主表”的设计特性,实现主机应用的幂等、空回滚、防悬挂功能。绝大部分情况应用可满足主机服务事务 ...
【技术保护点】
【技术特征摘要】
1.一种双日志面跨日切期间的防重方法,其特征在于,包括:在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前系统日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段;若所述主机的当前系统日期与所述交易的交易日期不同,则分别在所述当前系统日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。2.根据权利要求1所述的双日志面跨日切期间的防重方法,其特征在于,所述主机在对所述交易进行处理时,在主机渠道日志表中生成所述交易对应的交易记录,所述交易在所述主机渠道日志表中的交易记录包括事件编号字段和交易状态字段,所述事件编号字段的字段值与所述正向上主机事件编号字段的字段值相同;在所述主机处理所述交易成功时,将交易状态字段设置为第一字段值,在所述主机处理所述交易失败时,将交易状态字段设置为第二字段值。3.根据权利要求2所述的双日志面跨日切期间的防重方法,其特征在于,还包括:若所述主机的当前系统日期与所述交易的交易日期相同,则在所述当前系统日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。4.根据权利要求2所述的双日志面跨日切期间的防重方法,其特征在于,还包括:若在所述当前系统日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述当前系统日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录;若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。5.根据权利要求2所述的双日志面跨日切期间的防重方法,其特征在于,还包括:若在所述交易日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录;若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。6.根据权利要求4或5所述的双日志面跨日切期间的防重方法,其特征在于,所述平台在调用所述主机进行所述交易的补偿处理时,生成补偿上主机事件编号,并将生成的补偿上主机事件编号添加到所述交易在所述调用主机事件日志表中对应的交易记录中的补偿上主机事件编号字段中;所述主机在进行所述交易...
【专利技术属性】
技术研发人员:荆旭全,王晓珩,罗东晓,陈立璜,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。