CN113505110A - 双日志面跨日切期间的防重方法及装置 - Google Patents
双日志面跨日切期间的防重方法及装置 Download PDFInfo
- Publication number
- CN113505110A CN113505110A CN202110773741.3A CN202110773741A CN113505110A CN 113505110 A CN113505110 A CN 113505110A CN 202110773741 A CN202110773741 A CN 202110773741A CN 113505110 A CN113505110 A CN 113505110A
- Authority
- CN
- China
- Prior art keywords
- transaction
- host
- date
- record
- log table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000005520 cutting process Methods 0.000 title claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000002265 prevention Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 58
- 230000015654 memory Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000009977 dual effect Effects 0.000 claims description 5
- 239000000725 suspension Substances 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种双日志面跨日切期间的防重方法及装置,可用于金融领域或其他技术领域,该方法包括:在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同;若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。本发明实现了主机接入分布式平台事务在跨日切期间的空回滚、防悬挂功能。
Description
技术领域
本发明涉及分布式事务处理技术领域,具体而言,涉及一种双日志面跨日切期间的防重方法及装置。
背景技术
随着越来越多的应用落地分布式***,***的逻辑复杂度增加,对突发事件的处置能力要求更高。然而生产上不同应用与服务调用关系错综复杂,一旦某一环节出现网络延迟与逻辑问题出现可疑时,程序就会依赖渠道日志实现空回滚与防悬挂。如渠道重复发起,服务提供方未加以控制,可能导致交易重复发起;如服务提供方仅对重复进行控制,而不返回上一笔的处理结果,客户无法感知交易结果,影响客户体验。
根据《分布式事务开发技术规范》规范要求,纳入分布式事务管理的分支事务应满足幂等、空回滚、防悬挂设计。对于分支事务为平台分布式应用,其应用以事件编号作为事务唯一性判断条件和主键,建立相关事务日志/登记薄,记录并存储幂等、空回滚、防悬挂处理结果。充分利用“主机渠道日志与事件一对一关系,作为一笔事件主表”的设计特性,实现主机应用的幂等、空回滚、防悬挂功能。绝大部分情况应用可满足主机服务事务管理要求。但是少部分情况会因渠道日志双面设计,导致跨日切期间幂等、空回滚、防悬挂机制失效。例如对于空回滚、防悬挂,如一笔交易指令T日登记了空回滚记录,但因T日DSR网络或***环境等原因,该笔指令在T+1日又重新恢复上送,造成一笔指令同时存在两种不同的事务状态,从而导致空回滚、防悬挂机制失效。
本方案为了解决特定情况导致空回滚、防悬挂机制失效的情况,提出一种双日志面跨日切期间的防重方法。
发明内容
本发明为了解决上述背景技术中的技术问题,提出了一种双日志面跨日切期间的防重方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种双日志面跨日切期间的防重方法,该方法包括:
在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段;
若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。
可选的,所述主机在对所述交易进行处理时,在主机渠道日志表中生成所述交易对应的交易记录,所述交易在所述主机渠道日志表中的交易记录包括事件编号字段和交易状态字段,所述事件编号字段的字段值与所述正向上主机事件编号字段的字段值相同;在所述主机处理所述交易成功时,将交易状态字段设置为第一字段值,在所述主机处理所述交易失败时,将交易状态字段设置为第二字段值。
可选的,该双日志面跨日切期间的防重方法,还包括:
若所述主机的当前***日期与所述交易的交易日期相同,则在所述当前***日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。
可选的,该双日志面跨日切期间的防重方法,还包括:
若在所述当前***日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述当前***日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录;
若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。
可选的,该双日志面跨日切期间的防重方法,还包括:
若在所述交易日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录;
若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。
可选的,所述平台在调用所述主机进行所述交易的补偿处理时,生成补偿上主机事件编号,并将生成的补偿上主机事件编号添加到所述交易在所述调用主机事件日志表中对应的交易记录中的补偿上主机事件编号字段中;
所述主机在进行所述交易的补偿处理时,在主机渠道日志表中生成所述交易的补偿处理对应的交易记录,所述交易的补偿处理对应的交易记录中包括事件编号字段,该事件编号字段的字段值为所述补偿上主机事件编号。
可选的,所述异常具体包括:所述主机处理所述交易超时。
为了实现上述目的,根据本发明的另一方面,提供了一种双日志面跨日切期间的防重装置,该装置包括:
异常判断模块,用于在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段;
第一空回滚记录登记模块,用于若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。
可选的,该双日志面跨日切期间的防重装置,还包括:
第二空回滚记录登记模块,用于若所述主机的当前***日期与所述交易的交易日期相同,则在所述当前***日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。
可选的,该双日志面跨日切期间的防重装置,还包括:
第一登记失败处理模块,用于在所述当前***日期对应的主机渠道日志表中登记空回滚记录失败时,确定所述当前***日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录,并在存在时通过所述平台调用所述主机进行所述交易的补偿处理;
第二登记失败处理模块,用于在所述交易日期对应的主机渠道日志表中登记空回滚记录失败时,确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录,并在存在时通过所述平台调用所述主机进行所述交易的补偿处理。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述双日志面跨日切期间的防重方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述双日志面跨日切期间的防重方法中的步骤。
本发明的有益效果为:
本发明在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同;若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,本发明基于空回滚机制,当原交易在主机异常恢复后重新发起调用时,因正向上主机事件编号与空回滚记录的事件编号相同,导致登记主机渠道日志表主键冲突,从而拒绝处理,实现了防悬挂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例双日志面跨日切期间的防重方法的流程图;
图2是本发明实施例登记失败处理的第一流程图;
图3是本发明实施例登记失败处理的第二流程图;
图4是本发明实施例的应用场景图;
图5是本发明实施例双日志面跨日切期间的防重装置的第一结构框图;
图6是本发明实施例双日志面跨日切期间的防重装置的第二结构框图;
图7是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
需要说明的是,本发明的双日志面跨日切期间的防重方法及装置可用于金融领域,也可以应用于其他技术领域,本发明不对应用的技术领域进行限定。
图4是本发明的应用场景图,如图4所示,调用主机事件日志表由平台(又称平台服务或者分布式平台)维护,平台调用主机进行交易处理,主机负责维护主机渠道日志表,并返回交易结果到平台。
在本发明一个可选实施例中,如下表1所示,调用主机事件日志表中的每一笔记录包含:正向上主机事件编号、正向交易状态和补偿上主机事件编号三个字段。在本发明一个可选实施例中,如下表2所示,主机渠道日志表中的每一笔记录包含:事件编号、交易状态和空回滚标志三个字段。其中调用主机事件日志表的正向上主机事件编号和补偿上主机事件编号各自唯一对应一条主机渠道日志表的记录,主机渠道日志表中记录的“事件编号”唯一。
表1调用主机事件日志表(部分)
表2主机渠道日志表(部分)
字段 | 字段值 | 字段说明 |
事件编号 | ||
交易状态 | 1-交易成功;2-交易失败 | |
空回滚标志 | 用于标记是否空回滚登记的日志 |
图1是本发明实施例双日志面跨日切期间的防重方法的流程图,如图1所示,在本发明一个实施例中,本发明的双日志面跨日切期间的防重方法包括步骤S101和步骤S102。
步骤S101,在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段。
在本发明一个实施例中,所述主机在对所述交易进行处理时,在主机渠道日志表中生成所述交易对应的交易记录,所述交易在所述主机渠道日志表中的交易记录包括事件编号字段和交易状态字段,所述事件编号字段的字段值与所述正向上主机事件编号字段的字段值相同;在所述主机处理所述交易成功时,将交易状态字段设置为第一字段值,在所述主机处理所述交易失败时,将交易状态字段设置为第二字段值。
在本发明一个实施例中,第一字段值用于表示交易成功,例如可以采用数字“1”。在本发明一个实施例中,第二字段值用于表示交易失败,例如可以采用数字“2”。
在本发明一个实施例中,所述异常具体包括:所述主机处理所述交易超时。
在本发明一个具体实施例中,平台调用主机出现交易处理异常时,本步骤调用平台的空回滚公共方法模块。平台的空回滚公共方法模块调用主机的渠道日志处理构件,首先对是否跨日切进行判断。空回滚公共方法模块调用主机渠道日志处理构件,查询主机***控制表取主机***日期。然后对主机***日期与交易的交易日期进行比较判断,如果主机***日期与交易日期不一致,说明已经跨日切。如果一致,就说明没有跨日切。然后根据是否跨日切进行不同操作。
步骤S102,若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。
在本发明实施例中,如果主机已经跨日切,即主机的当前***日期与所述交易的交易日期不同,本发明则基于该交易在所述主机渠道日志表中的正向上主机事件编号,在所述当前***日期(即T+1日)对应的主机渠道日志表中以及所述交易日期(即T日)对应的主机渠道日志表中分别登记所述交易对应的空回滚记录。
在本发明一个实施例中,本发明的双日志面跨日切期间的防重方法,还包括:
若所述主机的当前***日期与所述交易的交易日期相同,则在所述当前***日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。
在本发明实施例中,如果主机没有跨日切,即所述主机的当前***日期与所述交易的交易日期相同。本发明则基于该交易在所述主机渠道日志表中的正向上主机事件编号,在所述当前***日期(此时与所述交易日期相同,均视为T日)对应的主机渠道日志表中登记所述交易对应的空回滚记录。
在本发明实施例中,空回滚记录为主机渠道日志表中的每一笔记录,空回滚记录也包含:事件编号、交易状态和空回滚标志三个字段。空回滚记录中的空回滚标志字段不为空,即空回滚记录中包含空回滚标志。空回滚记录的事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。
在本发明实施例中,由于在主机渠道日志表中登记空回滚记录是以正向上主机事件编号为主键进行登记的,若主机渠道日志表中已经存在事件编号为所述正向上主机事件编号的一条记录,则会发生主键冲突,登记失败。
若登记空回滚记录成功,表示空回滚记录在原交易登记主机日志前先进行了登记,这样的记录称为空回滚记录,为与正常交易记录区分,需要增加标志字段标记空回滚记录(本方案使用表2的空回滚标志进行标记,下同)。
本发明基于空回滚机制,当原交易在网络或***环境等恢复后重新发起调用时,因正向上主机事件编号与空回滚记录的事件编号相同,导致登记主机渠道日志表主键冲突,从而拒绝处理,实现了防悬挂。
图2是本发明实施例登记失败处理的第一流程图,如图2所示,在本发明一个实施例中,本发明的双日志面跨日切期间的防重方法还包括步骤S201和步骤S202。
步骤S201,若在所述当前***日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述当前***日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录。
步骤S202,若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。
图3是本发明实施例登记失败处理的第二流程图,如图3所示,在本发明一个实施例中,本发明的双日志面跨日切期间的防重方法还包括步骤S301和步骤S302。
步骤S301,若在所述交易日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录。
步骤S302,若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。
在本发明实施例中,本发明基于正向上主机事件编号来确定主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录。
在本发明中,如果登记空回滚记录发生主键冲突时,本发明基于正向上主机事件编号去查询T日与T+1日主机渠道日志表中所述交易对应的交易成功记录,交易成功记录为交易状态字段的字段值为第一字段值的交易记录。如果有查到记录,则调用补偿程序进行补偿处理并登记渠道日志补偿记录登记。如果记录不存在则直接退出无需处理。
在本发明一个实施例中,所述平台在调用所述主机进行所述交易的补偿处理时,生成补偿上主机事件编号,并将生成的补偿上主机事件编号添加到所述交易在所述调用主机事件日志表中对应的交易记录中的补偿上主机事件编号字段中。
在本发明一个实施例中,所述主机在进行所述交易的补偿处理时,在主机渠道日志表中生成所述交易的补偿处理对应的交易记录,所述交易的补偿处理对应的交易记录中包括事件编号字段和交易状态字段,该事件编号字段的字段值为所述补偿上主机事件编号。主机在成功进行补偿处理后在交易状态字段写入第一字段值,主机在补偿处理失败时在交易状态字段写入第二字段值。
由以上实施例可以看出,本发明提供了双日志面跨日切期间的防重方法,以每个事件编号唯一对应主机渠道日志表内一条记录的设计特性为基础,实现主机应用服务接入分布式平台事务在跨日切期间的空回滚、防悬挂功能。本发明能够尽可能地减少***访问性能开销,大幅度减少***改造的复杂程度和人力成本,帮助应用在***架构转型过程中将异构***接入分布式事务框架。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种双日志面跨日切期间的防重装置,可以用于实现上述实施例所描述的双日志面跨日切期间的防重方法,如下面的实施例所述。由于双日志面跨日切期间的防重装置解决问题的原理与双日志面跨日切期间的防重方法相似,因此双日志面跨日切期间的防重装置的实施例可以参见双日志面跨日切期间的防重方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本发明实施例双日志面跨日切期间的防重装置的第一结构框图,如图5所示,在本发明一个实施例中,本发明的双日志面跨日切期间的防重装置包括:
异常判断模块1,用于在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段;
第一空回滚记录登记模块2,用于若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值;
第二空回滚记录登记模块3,用于若所述主机的当前***日期与所述交易的交易日期相同,则在所述当前***日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。
图6是本发明实施例双日志面跨日切期间的防重装置的第二结构框图,如图6所示,在本发明一个实施例中,本发明的双日志面跨日切期间的防重装置还包括:
第一登记失败处理模块4,用于在所述当前***日期对应的主机渠道日志表中登记空回滚记录失败时,确定所述当前***日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录,并在存在时通过所述平台调用所述主机进行所述交易的补偿处理;
第二登记失败处理模块5,用于在所述交易日期对应的主机渠道日志表中登记空回滚记录失败时,确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录,并在存在时通过所述平台调用所述主机进行所述交易的补偿处理。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图7所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述双日志面跨日切期间的防重方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种双日志面跨日切期间的防重方法,其特征在于,包括:
在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段;
若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。
2.根据权利要求1所述的双日志面跨日切期间的防重方法,其特征在于,所述主机在对所述交易进行处理时,在主机渠道日志表中生成所述交易对应的交易记录,所述交易在所述主机渠道日志表中的交易记录包括事件编号字段和交易状态字段,所述事件编号字段的字段值与所述正向上主机事件编号字段的字段值相同;在所述主机处理所述交易成功时,将交易状态字段设置为第一字段值,在所述主机处理所述交易失败时,将交易状态字段设置为第二字段值。
3.根据权利要求2所述的双日志面跨日切期间的防重方法,其特征在于,还包括:
若所述主机的当前***日期与所述交易的交易日期相同,则在所述当前***日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。
4.根据权利要求2所述的双日志面跨日切期间的防重方法,其特征在于,还包括:
若在所述当前***日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述当前***日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录;
若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。
5.根据权利要求2所述的双日志面跨日切期间的防重方法,其特征在于,还包括:
若在所述交易日期对应的主机渠道日志表中登记空回滚记录失败,则确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录;
若存在,则通过所述平台调用所述主机进行所述交易的补偿处理。
6.根据权利要求4或5所述的双日志面跨日切期间的防重方法,其特征在于,所述平台在调用所述主机进行所述交易的补偿处理时,生成补偿上主机事件编号,并将生成的补偿上主机事件编号添加到所述交易在所述调用主机事件日志表中对应的交易记录中的补偿上主机事件编号字段中;
所述主机在进行所述交易的补偿处理时,在主机渠道日志表中生成所述交易的补偿处理对应的交易记录,所述交易的补偿处理对应的交易记录中包括事件编号字段,该事件编号字段的字段值为所述补偿上主机事件编号。
7.根据权利要求1所述的双日志面跨日切期间的防重方法,其特征在于,所述异常具体包括:所述主机处理所述交易超时。
8.一种双日志面跨日切期间的防重装置,其特征在于,包括:
异常判断模块,用于在平台调用主机进行交易处理时,若所述主机处理所述交易出现异常,则判断所述主机的当前***日期与所述交易的交易日期是否相同,其中,所述平台在调用所述主机对所述交易进行处理之前,在调用主机事件日志表中生成所述交易对应的交易记录,所述交易记录中包含正向上主机事件编号字段;
第一空回滚记录登记模块,用于若所述主机的当前***日期与所述交易的交易日期不同,则分别在所述当前***日期对应的主机渠道日志表中以及所述交易日期对应的主机渠道日志表中登记所述交易对应的空回滚记录,其中,所述空回滚记录中包含事件编号字段,所述事件编号字段的字段值等于所述正向上主机事件编号字段的字段值。
9.根据权利要求8所述的双日志面跨日切期间的防重装置,其特征在于,还包括:
第二空回滚记录登记模块,用于若所述主机的当前***日期与所述交易的交易日期相同,则在所述当前***日期对应的主机渠道日志表中登记所述交易对应的空回滚记录。
10.根据权利要求8所述的双日志面跨日切期间的防重装置,其特征在于,还包括:
第一登记失败处理模块,用于在所述当前***日期对应的主机渠道日志表中登记空回滚记录失败时,确定所述当前***日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录,并在存在时通过所述平台调用所述主机进行所述交易的补偿处理;
第二登记失败处理模块,用于在所述交易日期对应的主机渠道日志表中登记空回滚记录失败时,确定所述交易日期对应的主机渠道日志表中是否存在所述交易对应的并且交易状态字段的字段值为第一字段值的交易记录,并在存在时通过所述平台调用所述主机进行所述交易的补偿处理。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773741.3A CN113505110B (zh) | 2021-07-08 | 2021-07-08 | 双日志面跨日切期间的防重方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773741.3A CN113505110B (zh) | 2021-07-08 | 2021-07-08 | 双日志面跨日切期间的防重方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505110A true CN113505110A (zh) | 2021-10-15 |
CN113505110B CN113505110B (zh) | 2024-03-15 |
Family
ID=78012227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110773741.3A Active CN113505110B (zh) | 2021-07-08 | 2021-07-08 | 双日志面跨日切期间的防重方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505110B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168775A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种悬挂事务自动处理的方法和装置 |
US20180091311A1 (en) * | 2016-09-27 | 2018-03-29 | International Business Machines Corporation | Secure logging for host security module |
CN110716793A (zh) * | 2019-10-10 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 一种分布式事务的执行方法、装置、设备及存储介质 |
CN111369333A (zh) * | 2020-02-28 | 2020-07-03 | 中国工商银行股份有限公司 | 分布式***日切协同处理方法及*** |
CN112579556A (zh) * | 2019-09-27 | 2021-03-30 | 中兴通讯股份有限公司 | 日切数据卸载方法、装置、设备及介质 |
-
2021
- 2021-07-08 CN CN202110773741.3A patent/CN113505110B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168775A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种悬挂事务自动处理的方法和装置 |
US20180091311A1 (en) * | 2016-09-27 | 2018-03-29 | International Business Machines Corporation | Secure logging for host security module |
CN112579556A (zh) * | 2019-09-27 | 2021-03-30 | 中兴通讯股份有限公司 | 日切数据卸载方法、装置、设备及介质 |
CN110716793A (zh) * | 2019-10-10 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 一种分布式事务的执行方法、装置、设备及存储介质 |
CN111369333A (zh) * | 2020-02-28 | 2020-07-03 | 中国工商银行股份有限公司 | 分布式***日切协同处理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113505110B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010358B2 (en) | Data migration method and system | |
US10142170B2 (en) | Log processing method and client | |
CN106940699B (zh) | 一种内存数据的同步处理方法、装置、服务器及*** | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
WO2012000997A1 (en) | An apparatus for processing a batched unit of work | |
US20110197193A1 (en) | Device and method for controlling communication between bios and bmc | |
US20160179836A1 (en) | Method for updating data table of keyvalue database and apparatus for updating table data | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
US20190310922A1 (en) | Multi-replica data restoration method and apparatus | |
CN111475480A (zh) | 一种日志处理方法及*** | |
US7813331B2 (en) | Apparatus, system, and method for implementing failover in a polling adapter without support from an application server | |
CN111966682B (zh) | 一种白名单防护匹配方法、***、终端及存储介质 | |
CN113505110A (zh) | 双日志面跨日切期间的防重方法及装置 | |
CN112671945A (zh) | 管理ip代理池的方法、装置、计算机设备及存储介质 | |
CN110851166A (zh) | 用户无感知的应用程序更新方法、装置及计算机设备 | |
CN110275772B (zh) | 一种数据处理方法及其相关设备 | |
EP3389222B1 (en) | A method and a host for managing events in a network that adapts event-driven programming framework | |
US10423505B2 (en) | Agents to autonomously detect corruption or failure of network namespaces | |
US10127122B2 (en) | System and method for supporting transaction affinity based request handling in a middleware environment | |
WO2019071892A1 (zh) | 敏感信息屏蔽规则的下发方法、应用服务器及计算机可读存储介质 | |
CN113986941A (zh) | 事务批量处理方法及装置 | |
CN114036164A (zh) | 一种乐观锁和悲观锁组合的高并发交易加锁方法及*** | |
CN111061576B (zh) | 一种实体对象的创建方法及*** | |
JP2001159985A (ja) | 二重化装置 | |
US9679015B2 (en) | Script converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |