CN116149920A - 交易系统验证方法、装置、设备及存储介质 - Google Patents

交易系统验证方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116149920A
CN116149920A CN202211722184.3A CN202211722184A CN116149920A CN 116149920 A CN116149920 A CN 116149920A CN 202211722184 A CN202211722184 A CN 202211722184A CN 116149920 A CN116149920 A CN 116149920A
Authority
CN
China
Prior art keywords
transaction
original
simulator
message
service module
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.)
Pending
Application number
CN202211722184.3A
Other languages
English (en)
Inventor
尤见
曾烨
熊涛
冷永照
付毕升
王昊
袁海涛
李一凡
李瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202211722184.3A priority Critical patent/CN116149920A/zh
Publication of CN116149920A publication Critical patent/CN116149920A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Quality & Reliability (AREA)
  • Finance (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

交易系统验证方法、装置、设备及存储介质
技术领域
本申请涉及数据验证技术领域,提供了一种交易系统验证方法、装置、设备及存储介质。
背景技术
随着科学技术的日益发展,银行的交易系统通过分布式架构转型,积极推动对各类商业软硬件产品进行国产化替代的进程,摆脱对单一产品的依赖,形成以国产技术栈为主,多技术栈并存的新格局。
在此背景下,支付结算-支付组件采用商业技术栈与国产技术栈并存的分布式架构,落地国产化替代的工作。为了满足金融业务的稳定性与可靠性的要求,国产化交易系统必须进行充分验证。但是,在功能测试与非功能环境之间存在差异性,且测试案例与数据无法完全覆盖国产化交易系统的情况下,如何在不影响生产系统运行的前提下,完成国产化交易系统的验证比对,成为了目前亟待解决的关键问题。
有鉴于此,本申请实施例提出了一种新的交易系统验证方法。
发明内容
本申请实施例提供了一种交易系统验证方法、装置、设备及存储介质,以解决无法对国产化交易系统进行验证比对的问题。
第一方面,本申请实施例提供了一种交易系统验证方法,所述方法应用于虚拟交易系统,所述虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块,所述方法包括:
获取实际交易系统在设定周期内产生的多个原始业务数据,一个原始业务数据对应于一笔交易;
针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过所述交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过所述外呼服务模块,向所述行内模拟器发送基于所述原始交易报文的第一交易数据集生成的外呼报文,在收到所述行内模拟器返回的响应报文时,通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文;
分别比对所述各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得所述各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证所述实际交易系统的运行情况。
在一种可能的实施例中,所述交易模拟器包括来账模拟器与往账模拟器;
所述通过所述交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,包括:
通过所述往账模拟器,对一个业务类的原始业务数据进行解析,获得所述一笔交易的业务索引信息与总交易数据集,并通过封装获得的所述业务索引信息与所述总交易数据集,生成相应的原始交易报文;
或者,通过所述来账模拟器,对一个日志文件类的原始业务数据进行解析,获得在实际交易系统中接收到的所述一笔交易的原始交易报文;其中,所述原始交易报文包含所述一笔交易的业务索引信息与所述总交易数据集。
在一种可能的实施例中,所述通过所述外呼服务模块,向所述行内模拟器发送基于所述原始交易报文的第一交易数据集生成的外呼报文,包括:
通过所述外呼服务模块,对所述交易模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述外呼服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述总交易数据集中的部分交易数据作为所述第一交易数据集,并基于获得的第一交易数据集,生成相应的外呼报文;
向所述行内模拟器发送所述外呼报文,以使所述行内模拟器基于接收到的外呼报文与预设的交易推算规则,确定所述一笔交易的第一交易状态,并将所述第一交易状态作为模拟业务数据,反馈给所述外呼服务模块。
在一种可能的实施例中,通过执行以下操作,向所述外呼服务模块发送所述原始交易报文:
通过所述虚拟交易系统的往账模拟器,向所述外呼服务模块发送所述原始交易报文;
或者,通过所述行外服务模块,将所述来账模拟器生成的原始交易报文转发给所述外呼服务模块。
在一种可能的实施例中,所述通过所述行外服务模块,将所述来账模拟器生成的原始交易报文转发给所述外呼服务模块,包括:
通过所述行外服务模块,对所述来账模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述行外服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述业务索引信息与所述总交易数据集重新封装为所述原始交易报文,转发给所述外呼服务模块。
在一种可能的实施例中,在通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文之前,还包括:
通过所述行外服务模块,对所述交易模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述行外服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述总交易数据集中的部分交易数据作为所述第二交易数据集,并基于获得的第二交易数据集,生成相应的业务报文。
在一种可能的实施例中,通过执行以下操作,向所述行外服务模块发送所述原始交易报文:
通过所述虚拟交易系统的来账模拟器,向所述行外服务模块发送所述原始交易报文;
或者,通过所述外呼服务模块,将所述往账模拟器生成的原始交易报文转发给所述行外服务模块。
在一种可能的实施例中,所述通过所述外呼服务模块,将所述往账模拟器生成的原始交易报文转发给所述行外服务模块,包括:
通过所述外呼服务模块,对所述往账模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述外呼服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述业务索引信息与所述总交易数据集与重新封装为所述原始交易报文,转发给所述行外服务模块。
在一种可能的实施例中,在向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文之后,还包括:
通过所述行外模拟器,基于接收到的业务报文与预设的行外响应规则,确定所述一笔交易的第二交易状态;
将所述第二交易状态作为模拟业务数据封装在回执报文中,反馈给所述行外服务模块。
第二方面,本申请实施例还提供了一种交易系统验证装置,所述交易系统验证装置应用于虚拟交易系统中,所述虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块,所述交易系统验证装置包括:
采集单元,用于获取实际交易系统在设定周期内产生的多个原始业务数据,一个原始业务数据对应于一笔交易;
交易重放单元,用于针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过所述交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过所述外呼服务模块,向所述行内模拟器发送基于所述原始交易报文的第一交易数据集生成的外呼报文,在收到所述行内模拟器返回的响应报文时,通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文;
比对单元,用于分别比对所述各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得所述各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证所述实际交易系统的运行情况。
在一种可能的实施例中,所述交易模拟器包括来账模拟器与往账模拟器,所述交易重放单元用于:
通过所述往账模拟器,对一个业务类的原始业务数据进行解析,获得所述一笔交易的业务索引信息与总交易数据集,并通过封装获得的所述业务索引信息与所述总交易数据集,生成相应的原始交易报文;
或者,通过所述来账模拟器,对一个日志文件类的原始业务数据进行解析,获得在实际交易系统中接收到的所述一笔交易的原始交易报文;其中,所述原始交易报文包含所述一笔交易的业务索引信息与所述总交易数据集。
在一种可能的实施例中,所述交易重放单元用于:
通过所述外呼服务模块,对所述交易模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述外呼服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述总交易数据集中的部分交易数据作为所述第一交易数据集,并基于获得的第一交易数据集,生成相应的外呼报文;
向所述行内模拟器发送所述外呼报文,以使所述行内模拟器基于接收到的外呼报文与预设的交易推算规则,确定所述一笔交易的第一交易状态,并将所述第一交易状态作为模拟业务数据,反馈给所述外呼服务模块。
在一种可能的实施例中,所述交易重放单元通过执行以下操作,向所述外呼服务模块发送所述原始交易报文:
通过所述虚拟交易系统的往账模拟器,向所述外呼服务模块发送所述原始交易报文;
或者,通过所述行外服务模块,将所述来账模拟器生成的原始交易报文转发给所述外呼服务模块。
在一种可能的实施例中,所述交易重放单元用于:
通过所述行外服务模块,对所述来账模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述行外服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述业务索引信息与所述总交易数据集重新封装为所述原始交易报文,转发给所述外呼服务模块。
在一种可能的实施例中,在通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文之前,所述交易重放单元还用于:
通过所述行外服务模块,对所述交易模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述行外服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述总交易数据集中的部分交易数据作为所述第二交易数据集,并基于获得的第二交易数据集,生成相应的业务报文。
在一种可能的实施例中,所述交易重放单元通过执行以下操作,向所述行外服务模块发送所述原始交易报文:
通过所述虚拟交易系统的来账模拟器,向所述行外服务模块发送所述原始交易报文;
或者,通过所述外呼服务模块,将所述往账模拟器生成的原始交易报文转发给所述行外服务模块。
在一种可能的实施例中,所述交易重放单元用于:
通过所述外呼服务模块,对所述往账模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述外呼服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述业务索引信息与所述总交易数据集与重新封装为所述原始交易报文,转发给所述行外服务模块。
在一种可能的实施例中,在向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文之后,所述交易重放单元还用于:
通过所述行外模拟器,基于接收到的业务报文与预设的行外响应规则,确定所述一笔交易的第二交易状态;
将所述第二交易状态作为模拟业务数据封装在回执报文中,反馈给所述行外服务模块。
第三方面,本申请实施例还提供了一种计算机设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种交易系统验证方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其包括程序代码,当程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行上述任意一种交易系统验证方法的步骤。
第五方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行第一方面中任一项所述的交易系统验证方法。
本申请有益效果如下:
本申请实施例提供了一种交易系统验证方法、装置、设备及存储介质,该方法包括:
获取实际交易系统在设定周期内产生的多个原始业务数据,一个业务数据对应于一笔交易;
再针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过外呼服务模块,向行内模拟器发送基于原始交易报文的第一交易数据集生成的外呼报文,在收到行内模拟器返回的响应报文时,通过行外服务模块,向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文;
最后,分别比对各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证实际交易系统的运行情况。
本申请创新性地将实际生产环境下产生的原始业务数据,迁移到并行业务环境中,再利用自研的交易模拟器、行内模拟器、行外服务模块等工具,在并行生产环境的虚拟交易系统中实现交易重放,既保障了重放流程的精准性,又能弥补在非功能测试时的案例覆盖不足、环境与数据差异等影响因素,大大降低切换至国产化交易系统的风险。
最后,通过比对各笔交易各自的模拟业务数据集与对应的原始业务数据集,在不影响生产系统运行的前提下,完成国产化交易系统的验证比对,方便开发人员基于记录的日志,及时排查出实际交易系统可能出现问题的地方,满足了双栈融合架构下的国产化交易系统,对于可靠性验证的实际需求。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种应用场景的一个可选的示意图;
图2A为本申请实施例提供的验证实际交易系统的运行情况的流程示意图;
图2B为本申请实施例提供的验证实际交易系统的运行情况的逻辑示意图;
图2C为本申请实施例提供的通过外呼服务模块,生成外呼报文的流程示意图;
图2D为本申请实施例提供的通过行外服务模块,生成业务报文的流程示意图;
图3为本申请实施例提供的一种交易系统验证装置的结构示意图;
图4为本申请实施例中提供的一种计算机设备的组成结构示意图;
图5为本申请实施例中另一种计算机设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
本申请技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求。
在介绍本申请实施例所提供的报文处理方法之前,为了便于理解,首先对下面对本申请实施例的技术背景进行详细介绍。
随着科学技术的日益发展,银行的交易系统通过分布式架构转型,积极推动对各类商业软硬件产品进行国产化替代的进程,摆脱对单一产品的依赖,形成以国产技术栈为主,多技术栈并存的新格局。
在此背景下,支付结算-支付组件采用商业技术栈与国产技术栈并存的分布式架构,落地国产化替代的工作。为了满足金融业务的稳定性与可靠性的要求,国产化交易系统必须进行充分验证。但是,在功能测试与非功能环境之间存在差异性,且测试案例与数据无法完全覆盖国产化交易系统的情况下,如何在不影响生产系统运行的前提下,完成国产化交易系统的验证比对,成为了目前亟待解决的关键问题。
有鉴于此,本申请实施例提出了一种新的交易系统验证方法。该方法应用于虚拟交易系统,所述虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块,该方法包括:
获取实际交易系统在设定周期内产生的多个原始业务数据,一个业务数据对应于一笔交易;
再针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过外呼服务模块,向行内模拟器发送基于原始交易报文的第一交易数据集生成的外呼报文,在收到行内模拟器返回的响应报文时,通过行外服务模块,向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文;
最后,分别比对各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证实际交易系统的运行情况。
本申请创新性地将实际生产环境下产生的原始业务数据,迁移到并行业务环境中,再利用自研的交易模拟器、行内模拟器、行外服务模块等工具,在并行生产环境的虚拟交易系统中实现交易重放,既保障了重放流程的精准性,又能弥补在非功能测试时的案例覆盖不足、环境与数据差异等影响因素,大大降低切换至国产化交易系统的风险。
最后,通过比对各笔交易各自的模拟业务数据集与对应的原始业务数据集,在不影响生产系统运行的前提下,完成国产化交易系统的验证比对,方便开发人员基于记录的日志,及时排查出实际交易系统可能出现问题的地方,满足了双栈融合架构下的国产化交易系统,对于可靠性验证的实际需求。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1示出了其中一个应用场景,该应用场景包括两个终端设备110与一台服务器130,各终端设备110与服务器130之间通过有线网络或无线网络进行通信。
终端设备110上安装了具备支付功能的应用程序。服务器130包括实际生产环境与并行生产环境。其中,实际生产环境中部署了银行的实际交易系统,该交易系统用于各用户之间的交易往来。并行生产环境中部署了银行的虚拟交易系统,该交易系统用于在不影响生产系统运行的前提下,完成国产化交易系统的验证比对。
本申请实施例中的终端设备110为用户使用的计算机设备,计算机设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器、智能家居等具备一定计算能力的设备。
本申请实施例中的服务器130,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请在此不做限制。
为了不影响生产系统运行的前提下,完成国产化交易系统的验证比对,本申请实施例提出了一种新的交易系统验证方法。该方法应用于虚拟交易系统,其中,虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块等多个模块。
接下来,请参阅图2A示出的流程示意图与图2B示出的逻辑示意图,本申请实施例提出的验证实际交易系统的运行情况的具体过程为:
S201:获取实际交易系统在设定周期内产生的多个原始业务数据,一个原始业务数据对应于一笔交易。
本申请设计开发了一种数据提取工具,能够从实际交易系统的生产备库(即货币生产数据库)与生产外联(即支付辅助生产数据库)中,提取设定周期内产生的多个原始业务数据。
其中,为了方便数据清算与行外服务的验证,规定所提取的原始业务数据,要覆盖一个人行清算周期。不同类型的业务数据,其对应的取数范围也会有所不同,具体如表1所示:
表1
Figure BDA0004030020860000121
数据提取工具对提取出的原始业务数据进行数据卸载,本申请针对不同类型的原始业务数据,采用了不同的数据卸载方式,具体如下:
(1)、针对业务类的原始业务数据,按照各个原始业务数据各自携带的时间戳信息,从应急库中卸载数据,再使用第一导出工具(如,sqluldr等)导出已卸载的原始业务数据,生成包含各原始业务数据的导出文件,在导出文件中使用分割符“|@|”,将各原始业务数据分割开来。
其中,建议每次按照时间戳信息,卸载第T-1个自然日的17点至第T个自然日的17:30之间的业务类的原始业务数据。
(2)、针对参数类的原始业务数据,可以在搭建并行生产环境时,从应急库中卸载这一类的原始业务数据。
在首次全量迁移参数类的原始业务数据时,可以采用第一导出工具导出,也可以采用第二导出工具(如,dump文件方式等)迁移,在导出文件中使用分割符“|@|”,将各参数类的原始业务数据分割开来。
在完成首次全量迁移之后,后续只有在参数值发生变化时,才会将变化后的参数值同步过去。
(3)、针对日志文件类的原始业务数据,按照日志文件携带的日期信息,卸载两个自然日的日志文件类的原始业务数据。
由于导出的数据量巨大,为了节省通信通道的计算资源,避免数据传输占用过多的计算资源,本申请采用“先压缩数据,后传输文件“的传输策略。具体传输过程为:采用预设的文件传输工具(如,sftp文件传输模式),开通服务器从实际生产环境到并行生产环境的文件传输权限,将压缩后的文件传输到部署了并行生产环境的服务器中。
需要说明的是,为了确保所有原始业务数据能够在较短时间内完成传输,可以提前向数据中心申请必要的网络带宽。
之后,对实际生产环境传输的压缩文件进行解压,再使用设计开发的数据装载工具(如,sqlldr工具),将解压得到的业务类的原始业务数据,装载到并行生产环境的第一数据库(如,Oracle库)中,将解压得到的参数类的原始业务数据,分别装载到并行生产环境的第一数据库与第二数据库(如,Golden DB库)中。
其中,业务类的原始业务数据与参数类的原始业务数据均装载到与数据同名的表中。但是,为了方便与装载了参数类的原始业务数据的表名加以区分,对于装载了业务类的原始业务数据的表来说,其表名由两部分组成,一部分是业务类的原始业务数据的名称,另一部分是文件后缀名。
需要注意的是,本申请在带后缀名的平台流水表中新增了一个扫描加锁字段,用于在交易重放时,实现往账模拟器的扫描加锁。
由于交易具有连续性,可能存在没有获取到部分交易的完整业务数据的情况,如:有报文但是无合约、有合约但是无报文、业务状态不是终态等。为了解决这个问题,本申请还需要检测两个数据库中存储的表格,是否存在不完整的情况,并删除各表中不完整的业务数据。
S202:针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过外呼服务模块,向行内模拟器发送基于原始交易报文的第一交易数据集生成的外呼报文,在收到行内模拟器返回的响应报文时,通过行外服务模块,向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文。
本申请的交易模拟器包括来账模拟器与往账模拟器,通过与外呼服务模块、行内模拟器等工具的合作联动,实现在虚拟交易系统中对实际生产环境中产生的原始交易报文进行交易重放的目的。
先解释下往账与来账的含义。假设自身的实际交易系统为A交易系统,那么,往账表示A交易系统向外发送支付请求,而来账则代表A交易系统接收到其他交易系统发来的支付报文。
来账模拟器与往账模拟器生成原始交易报文的方式有所不同,具体的报文生成过程如下:
(1)、通过往账模拟器,对一个业务类的原始业务数据进行解析,获得一笔交易的业务索引信息与总交易数据集,并通过封装获得的业务索引信息与总交易数据集,生成相应的原始交易报文。
往账模拟器被部署在并行生产环境的专用服务器上,此处可以使用并行生产环境中的大小额服务器。往账模拟器利用相关技术下外呼服务框架的扫描模块,扫描第一数据库中装载的平台流水表等业务类的原始业务数据,通过解析这一类的原始业务数据,获得一笔交易的业务索引信息与总交易数据集,并通过封装获得的业务索引信息与总交易数据集,生成相应的原始交易报文。
之后,将原始交易报文发送给外呼服务模块,使外呼服务模块通过解析接收到的原始交易报文,组成外呼报文A0332R200,向行内模拟器发起外呼请求。
(2)、通过来账模拟器,对一个日志文件类的原始业务数据进行解析,获得在实际交易系统中接收到的一笔交易的原始交易报文;其中,原始交易报文包含这笔交易的业务索引信息与总交易数据集。
具体地,本申请先采用设计开发的日志解析器,对前置服务器上的日志文件类的原始业务数据进行解析,提取出实际生产环境中收到的原始交易报文,并将原始交易报文存入第一数据库中。来账模拟器再读取日志解析器存入第一数据库中的原始交易报文,将该报文推送给行外服务模块的MQ队列。
实际上,来账模拟器除了支持业务报文以外,还支持对账相关报文、系统状态变更报文等所有在实际生产环境中可能接收到的报文。
然后,通过外呼服务模块,生成相应的外呼报文的过程如图2C所示:
S2021:通过外呼服务模块,对交易模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与总交易数据集。
如图2B所示,外呼服务模块有两种获得原始交易报文的方式,分别是:
(1)、通过虚拟交易系统的往账模拟器,向外呼服务模块发送原始交易报文。
往账模拟器与外呼服务模块相连接,因此,往账模拟器可以将生成的原始交易报文,直接发送给外呼服务模块。
(2)、通过行外服务模块,将来账模拟器生成的原始交易报文转发给外呼服务模块。
来账模拟器与外呼服务模块之间不相连,需要通过分别与两者相连接的行外服务模块,将来账模拟器生成的原始交易报文转发给外呼服务模块。其中,转发原始交易报文的过程如下:
通过行外服务模块,对来账模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与所述总交易数据集;
在行外服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将业务索引信息与总交易数据集重新封装为原始交易报文,转发给外呼服务模块。
S2022:在外呼服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将总交易数据集中的部分交易数据作为第一交易数据集,并基于获得的第一交易数据集,生成相应的外呼报文。
若业务索引信息来自于往账模拟器发送的原始交易报文,则外呼服务模块会将业务索引信息登记到超网往账对照关系表中。若业务索引信息来自于来账模拟器发送的原始交易报文,则外呼服务模块会将业务索引信息登记到超网来账对账关系表中。
根据前文介绍可知,原始业务数据源自实际生产环境的平台流水表、服务方流水表等。若总交易数据集来自于某个迁移表,则外呼服务模块会将总交易数据集作为模拟业务数据,登记到并行生产环境的同名业务报文表中。
例如,当总交易数据集来自于迁移后的平台流水表,则外呼服务模块会将总交易数据集作为模拟业务数据,登记到并行生产环境的平台流水表中。
S2023:向行内模拟器发送外呼报文,以使行内模拟器基于接收到的外呼报文与预设的交易推算规则,确定一笔交易的第一交易状态,并将第一交易状态作为模拟业务数据,反馈给外呼服务模块。
外呼服务模块在向行内模拟器发送外呼报文之后,在交易对照关系表中登记与外呼报文相关字段的数据。如果超时,则调用查询交易“A0332R752“,并在查询到结果之后,继续登记交易对照关系表。但是,如果多次查询不到交易结果,或者显示登记交易对照关系表出现异常时,则记录日志,便于开发人员基于记录的日志,及时排查出实际交易系统可能出现问题的地方。
此外,外呼服务模块还新增了扫描服务,用于扫描交易对照关系表中比对状态为01-待补充的记录,补充映射关系,将比对状态修改为10-未比对。
之后,行内模拟器基于获得的外呼报文,去第一数据库中读取相应的迁移表(如,服务方流水表等),再基于读取的迁移表与预设的交易推算规则,确定一笔交易的第一交易状态,并将第一交易状态作为模拟业务数据,封装为响应报文反馈给外呼服务模块。第一交易状态包括但不限于:交易成功,交易失败,交易超时。
在本申请实施例中,行内模拟器的具体实现方式为:在现有外呼服务框架的基础上,开发与主机系统同名的服务,并将该服务部署在挡板服务器上(可利用并行生产环境的大小额机器),再将这些机器的地址静态配置到并行生产环境的挡板服务器上,从而实现外呼服务路由到挡板服务器。
其中,如表2所示,行内模拟器涉及以下服务:
表2
Figure BDA0004030020860000171
Figure BDA0004030020860000181
而且,E0181S421交易的返回字段依赖于支付合约表,具体的交易推算规则如表3所示:
表3
Figure BDA0004030020860000182
在通过行外服务模块,向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文之前,行外服务模块还执行了图2D所示的操作:
S2021’:通过行外服务模块,对交易模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与总交易数据集。
如图2B所示,行外服务模块有两种获得原始交易报文的方式,分别是:
(1)、通过虚拟交易系统的来账模拟器,向行外服务模块发送原始交易报文。
来账模拟器与行外服务模块相连接,因此,来账模拟器可以将生成的原始交易报文,直接发送给行外服务模块。
(2)、通过外呼服务模块,将往账模拟器生成的原始交易报文转发给行外服务模块。
往账模拟器与行外服务模块之间不相连,需要通过分别与两者相连接的外呼服务模块,将往账模拟器生成的原始交易报文转发给行外服务模块。其中,转发原始交易报文的过程如下:
通过外呼服务模块,对往账模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与所述总交易数据集;
在外呼服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将业务索引信息与总交易数据集与重新封装为原始交易报文,转发给行外服务模块。
S2022’:在行外服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将总交易数据集中的部分交易数据作为第二交易数据集,并基于获得的第二交易数据集,生成相应的业务报文。
若业务索引信息来自于往账模拟器发送的原始交易报文,则行外服务模块会将业务索引信息登记到超网往账对照关系表中。若业务索引信息来自于来账模拟器发送的原始交易报文,则行外服务模块会将业务索引信息登记到超网来账对账关系表中。
例如,在来账模拟器将原始交易报文放入MQ队列之后,行外服务模块登记超网来账对照关系表的报文标识号、发起参与者行号、比对状态,其中,比对状态为01-待补充。
根据前文介绍可知,原始业务数据源自实际生产环境的平台流水表、服务方流水表等。若总交易数据集来自于某个迁移表,则行外服务模块会将总交易数据集作为模拟业务数据,登记到并行生产环境的同名业务报文表中。
例如,当总交易数据集来自于迁移后的平台流水表,则行外服务模块会将总交易数据集作为模拟业务数据,登记到并行生产环境的平台流水表中。
本申请还设计开发了行外模拟器,通过行外模拟器,基于接收到的业务报文与预设的行外响应规则,确定一笔交易的第二交易状态,再将第二交易状态作为模拟业务数据封装在回执报文中,反馈给行外服务模块。
例如,在接收到行外服务模块发送的网银贷记业务报文之后,行外模拟器回复“轧差通知报文/通用处理确认报文”;在接收到行外服务模块发送的网银贷记业务回执报文之后,行外模拟器回复“轧差通知报文/通用处理确认报文”。
S203:分别比对各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证实际交易系统的运行情况。
在完成交易重放之后,采用大数据比对工具,按照交易系统规则完成交易结果的比对与分析。
不过,为了方便比对数据,需要提前建立模拟业务数据(即重放数据)与原始业务数据(即生产数据)之间的对照关系,一个是基于请求全局事件跟踪号与请求子交易序号,建立的超网往账对照关系表(即表4);另一个是基于发起参与者行号与报文标识号,建立的超网来账对照关系表(即表5)。
表4
Figure BDA0004030020860000201
Figure BDA0004030020860000211
表5
Figure BDA0004030020860000212
在构建了两份对照关系表之后,还需要提前规定好各个比对字段的比对总数。具体如下:
(1)、超网往账对照关系表的总数,是迁移的平台流水表中“支付结算服务名“字段为”A0332R200“的记录总数,以确保往账模拟器模拟了所有的往账业务,没有丢失任何一笔往账业务。
(2)、超网往账对照关系表的总数,是迁移的网银贷记业务报文表中汇入汇出标志为“01-汇入”的记录总数。
(3)、迁移的支付产品合约表数,是第一数据库中支付产品合约表数与国产库中支付产品合约表数的总和。
(4)、迁移的网银贷记业务报文数,是第一数据库中网银贷记业务报文数与国产库中网银贷记业务报文数的总和。
(5)、迁移的人工处理合约表数,是第一数据库中人工处理合约表数与国产库中人工处理合约表数的总和。
(6)、迁移的支付合约账户变更历史表数,是第一数据库中支付合约账户变更历史表数与国产库中支付合约账户变更历史表数的总和。
(7)、迁移的平台流水表数,是第一数据库中平台流水表数与国产库中平台流水表数的总和。
(8)、迁移的服务方流水表数,是第一数据库中服务方流水表数与国产库中服务方流水表数的总和。
(9)、迁移的一致性流水表数,是第一数据库中一致性流水表数与国产库中一致性流水表数的总和。
然后,采用多线程并发的方式,扫描两份对照关系表中“10-未比对”的记录。根据记录的对照关系,分别查询相应的模拟业务数据与原始业务数据,并比对查询结果中的相关业务数据。
将交易比对结果填入到对照关系表中,如果比对出现差异,则在对照关系表中记录具体差异,每个差异占据一行,用换行符隔开各个差异。具体地,可以采用以下格式备注:表名|@|字段名|@|原值|@|新值|@|备注。例如"py_pdar_tbl|@|rmt_stcd|@|ZF02|@|ZF01|@|"。
不同的业务数据,需要比对的字段也会有所不同,具体如下:
1、针对支付产品合约表的往账业务,除了部分字段以外(如汇款合约编号、付款报文标识号、收款报文标识号、支付结算数据库时间、本地时分秒、发送方安全节点编号),其他字段均要一一比对。
针对支付产品合约表的来账业务,除了部分字段以外,其他字段均要一一比对。
2、针对支付人工处理合约表,除了部分字段以外(如汇款合约编号、支付结算数据库时间),其他字段均要一一比对。
3、针对网银贷记业务报文登记簿的往账业务,除了部分字段以外(如汇款合约编号、报文标识号、支付结算数据库时间等时间类字段),其他字段均要一一比对。
针对网银贷记业务报文登记簿的来账业务,除了部分字段以外(如汇款合约编号、全局事件跟踪号、支付结算数据库时间等时间类字段),其他字段均要一一比对。
4、针对支付合约账户变更历史表的往账业务,除了部分字段以外(如汇款合约编号、支付结算数据库时间),其他字段均要一一比对。
针对支付合约账户变更历史表的来账业务,除了部分字段以外(如汇款合约编号、全局事件跟踪号、子交易序号、支付结算数据库时间),其他字段均要一一比对。
5、针对平台流水表的往账业务,除了部分字段以外(如安全节点号类、汇款合约编号、支付结算数据库时间等时间类字段、请求与响应报文体),其他字段均要一一比对。
针对平台流水表的来账业务,除了部分字段以外,其他字段均要一一比对。
6、针对服务方流水表的往账业务,除了部分字段以外(如汇款合约编号、支付结算数据库时间等时间类字段、请求与响应报文体),其他字段均要一一比对。
针对服务方流水表的来账业务,除了部分字段以外(如汇款合约编号、全局事件跟踪号、子交易序号、支付结算数据库时间等时间类字段、请求与响应报文体),其他字段均要一一比对。
7、针对一致性流水表的往账业务,需要比对以下字段:全局事件跟踪号、请求子交易序号、支付结算服务名、交易日期、交易阶段代码、一致性异常类型代码、一致性流水处理状态、一致性流水后处理状态。
针对一致性流水表的来账业务,需要比对以下字段:支付结算服务名、交易日期、交易阶段代码、一致性异常类型代码、一致性流水处理状态、一致性流水后处理状态。
本申请创新性地将实际生产环境下产生的原始业务数据,迁移到并行业务环境中,再利用自研的报文解析工具、来账模拟器、往账模拟器等工具,在并行生产环境的虚拟交易系统中实现交易重放,既保障了重放流程的精准性,又能弥补在非功能测试时的案例覆盖不足、环境与数据差异等影响因素,大大降低切换至国产化交易系统的风险。
最后,通过比对各笔交易各自的模拟业务数据集与对应的原始业务数据集,在不影响生产系统运行的前提下,完成国产化交易系统的验证比对,方便开发人员基于记录的日志,及时排查出实际交易系统可能出现问题的地方,满足了双栈融合架构下的国产化交易系统,对于可靠性验证的实际需求。
与上述方法实施例基于同一发明构思,本申请实施例还提供了一种交易系统验证装置。交易系统验证装置应用于虚拟交易系统中,虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块。如图3所示,交易系统验证装置300包括:
采集单元301,用于获取实际交易系统在设定周期内产生的多个原始业务数据,一个原始业务数据对应于一笔交易;
交易重放单元302,用于针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过外呼服务模块,向行内模拟器发送基于原始交易报文的第一交易数据集生成的外呼报文,在收到行内模拟器返回的响应报文时,通过行外服务模块,向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文;
比对单元303,用于分别比对各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证实际交易系统的运行情况。
在一种可能的实施例中,交易模拟器包括来账模拟器与往账模拟器,交易重放单元302用于:
通过往账模拟器,对一个业务类的原始业务数据进行解析,获得一笔交易的业务索引信息与总交易数据集,并通过封装获得的业务索引信息与总交易数据集,生成相应的原始交易报文;
或者,通过来账模拟器,对一个日志文件类的原始业务数据进行解析,获得在实际交易系统中接收到的一笔交易的原始交易报文;其中,原始交易报文包含一笔交易的业务索引信息与总交易数据集。
在一种可能的实施例中,交易重放单元302用于:
通过外呼服务模块,对交易模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与总交易数据集;
在外呼服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将总交易数据集中的部分交易数据作为第一交易数据集,并基于获得的第一交易数据集,生成相应的外呼报文;
向行内模拟器发送外呼报文,以使行内模拟器基于接收到的外呼报文与预设的交易推算规则,确定一笔交易的第一交易状态,并将第一交易状态作为模拟业务数据,反馈给外呼服务模块。
在一种可能的实施例中,交易重放单元302通过执行以下操作,向外呼服务模块发送原始交易报文:
通过虚拟交易系统的往账模拟器,向外呼服务模块发送原始交易报文;
或者,通过行外服务模块,将来账模拟器生成的原始交易报文转发给外呼服务模块。
在一种可能的实施例中,交易重放单元302用于:
通过行外服务模块,对来账模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与总交易数据集;
在行外服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将业务索引信息与总交易数据集重新封装为原始交易报文,转发给外呼服务模块。
在一种可能的实施例中,在通过行外服务模块,向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文之前,交易重放单元302还用于:
通过行外服务模块,对交易模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与总交易数据集;
在行外服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将总交易数据集中的部分交易数据作为第二交易数据集,并基于获得的第二交易数据集,生成相应的业务报文。
在一种可能的实施例中,交易重放单元302通过执行以下操作,向行外服务模块发送原始交易报文:
通过虚拟交易系统的来账模拟器,向行外服务模块发送原始交易报文;
或者,通过外呼服务模块,将往账模拟器生成的原始交易报文转发给行外服务模块。
在一种可能的实施例中,交易重放单元302用于:
通过外呼服务模块,对往账模拟器发送的原始交易报文进行解析,获得一笔交易的业务索引信息与总交易数据集;
在外呼服务模块将业务索引信息登记到预设的交易对照关系表,以及将总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将业务索引信息与总交易数据集与重新封装为原始交易报文,转发给行外服务模块。
在一种可能的实施例中,在向行外模拟器发送基于外呼服务模块传输的第二交易数据集生成的业务报文之后,交易重放单元302还用于:
通过行外模拟器,基于接收到的业务报文与预设的行外响应规则,确定一笔交易的第二交易状态;
将第二交易状态作为模拟业务数据封装在回执报文中,反馈给行外服务模块。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的交易系统验证方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算机设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种计算机设备。在一种实施例中,该计算机设备可以是服务器,如图1所示的服务器130。在该实施例中,计算机设备400的结构如图4所示,可以至少包括存储器401、通讯模块403,以及至少一个处理器402。
存储器401,用于存储处理器402执行的计算机程序。存储器401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器401也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器401是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器401可以是上述存储器的组合。
处理器402,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器402,用于调用存储器401中存储的计算机程序时实现上述交易系统验证方法。
通讯模块403用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器401、通讯模块403和处理器402之间的具体连接介质。本申请实施例在图4中以存储器401和处理器402之间通过总线404连接,总线404在图4中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线404可以分为地址总线、数据总线、控制总线等。为便于描述,图4中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器401中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的交易系统验证方法。处理器402用于执行上述的交易系统验证方法,如图2A所示。
在另一种实施例中,计算机设备也可以是其他计算机设备,如图1所示的终端设备110。在该实施例中,计算机设备的结构可以如图5所示,包括:通信组件510、存储器520、显示单元530、摄像头540、传感器550、音频电路560、蓝牙模块550、处理器580等部件。
通信组件510用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助对象收发信息。
存储器520可用于存储软件程序及数据。处理器580通过运行存储在存储器520的软件程序或数据,从而执行物理终端设备210的各种功能以及数据处理。存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器520存储有使得终端设备110能运行的操作系统。本申请中存储器520可以存储操作系统及各种应用程序,还可以存储执行本申请实施例交易系统验证方法的计算机程序。
显示单元530还可用于显示由对象输入的信息或提供给对象的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元530可以包括设置在终端设备110正面的显示屏532。其中,显示屏532可以采用液晶显示器、发光二极管等形式来配置。显示单元530可以用于显示本申请实施例中的系统验证界面等。
显示单元530还可用于接收输入的数字或字符信息,产生与物理终端设备210的对象设置以及功能控制有关的信号输入,具体地,显示单元530可以包括设置在终端设备110正面的触控屏531,可收集对象在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏531可以覆盖在显示屏532之上,也可以将触控屏531与显示屏532集成而实现物理终端设备210的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元530可以显示应用程序以及对应的操作步骤。
摄像头540可用于捕获静态图像,对象可以将摄像头540拍摄的图像通过应用发布。摄像头540可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器580转换成数字图像信号。
物理终端设备还可以包括至少一种传感器550,比如加速度传感器551、距离传感器552、指纹传感器553、温度传感器554。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路560、扬声器561、传声器562可提供对象与终端设备110之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出。物理终端设备210还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出至通信组件510以发送给比如另一物理终端设备210,或者将音频数据输出至存储器520以便进一步处理。
蓝牙模块550用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,物理终端设备可以通过蓝牙模块550与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器580是物理终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器520内的软件程序,以及调用存储在存储器520内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器580可包括一个或多个处理单元;处理器580还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器580中。本申请中处理器580可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的交易系统验证方法。另外,处理器580与显示单元530耦接。
此外需要注意的是,在本申请的具体实施方式中,涉及到与交易系统验证等相关的对象数据,当本申请以上实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在一些可能的实施方式中,本申请提供的交易系统验证方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的交易系统验证方法中的步骤,例如,计算机设备可以执行如图2A中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体地例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户计算机设备上执行、部分地在用户计算机设备上执行、作为一个独立的软件包执行、部分在用户计算机设备上部分在远程计算机设备上执行、或者完全在远程计算机设备上执行。在涉及远程计算机设备的情形中,远程计算机设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机设备,或者,可以连接到外部计算机设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (13)

1.一种交易系统验证方法,其特征在于,所述方法应用于虚拟交易系统,所述虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块,所述方法包括:
获取实际交易系统在设定周期内产生的多个原始业务数据,一个原始业务数据对应于一笔交易;
针对各个原始业务数据分别执行以下操作,获得各笔交易各自的模拟业务数据:通过所述交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,并通过所述外呼服务模块,向所述行内模拟器发送基于所述原始交易报文的第一交易数据集生成的外呼报文,在收到所述行内模拟器返回的响应报文时,通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文;
分别比对所述各笔交易各自的模拟业务数据集与相应的原始业务数据集,获得所述各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证所述实际交易系统的运行情况。
2.如权利要求1所述的方法,其特征在于,所述交易模拟器包括来账模拟器与往账模拟器;
所述通过所述交易模拟器解析一个原始业务数据,生成一笔交易的原始交易报文,包括:
通过所述往账模拟器,对一个业务类的原始业务数据进行解析,获得所述一笔交易的业务索引信息与总交易数据集,并通过封装获得的所述业务索引信息与所述总交易数据集,生成相应的原始交易报文;
或者,通过所述来账模拟器,对一个日志文件类的原始业务数据进行解析,获得在实际交易系统中接收到的所述一笔交易的原始交易报文;其中,所述原始交易报文包含所述一笔交易的业务索引信息与所述总交易数据集。
3.如权利要求2所述的方法,其特征在于,所述通过所述外呼服务模块,向所述行内模拟器发送基于所述原始交易报文的第一交易数据集生成的外呼报文,包括:
通过所述外呼服务模块,对所述交易模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述外呼服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述总交易数据集中的部分交易数据作为所述第一交易数据集,并基于获得的第一交易数据集,生成相应的外呼报文;
向所述行内模拟器发送所述外呼报文,以使所述行内模拟器基于接收到的外呼报文与预设的交易推算规则,确定所述一笔交易的第一交易状态,并将所述第一交易状态作为模拟业务数据,反馈给所述外呼服务模块。
4.如权利要求3所述的方法,其特征在于,通过执行以下操作,向所述外呼服务模块发送所述原始交易报文:
通过所述虚拟交易系统的往账模拟器,向所述外呼服务模块发送所述原始交易报文;
或者,通过所述行外服务模块,将所述来账模拟器生成的原始交易报文转发给所述外呼服务模块。
5.如权利要求4所述的方法,其特征在于,所述通过所述行外服务模块,将所述来账模拟器生成的原始交易报文转发给所述外呼服务模块,包括:
通过所述行外服务模块,对所述来账模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述行外服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述业务索引信息与所述总交易数据集重新封装为所述原始交易报文,转发给所述外呼服务模块。
6.如权利要求1所述的方法,其特征在于,在通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文之前,还包括:
通过所述行外服务模块,对所述交易模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述行外服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述总交易数据集中的部分交易数据作为所述第二交易数据集,并基于获得的第二交易数据集,生成相应的业务报文。
7.如权利要求6所述的方法,其特征在于,通过执行以下操作,向所述行外服务模块发送所述原始交易报文:
通过所述虚拟交易系统的来账模拟器,向所述行外服务模块发送所述原始交易报文;
或者,通过所述外呼服务模块,将所述往账模拟器生成的原始交易报文转发给所述行外服务模块。
8.如权利要求7所述的方法,其特征在于,所述通过所述外呼服务模块,将所述往账模拟器生成的原始交易报文转发给所述行外服务模块,包括:
通过所述外呼服务模块,对所述往账模拟器发送的原始交易报文进行解析,获得所述一笔交易的业务索引信息与所述总交易数据集;
在所述外呼服务模块将所述业务索引信息登记到预设的交易对照关系表,以及将所述总交易数据集作为模拟业务数据,登记到相应的业务报表之后,将所述业务索引信息与所述总交易数据集与重新封装为所述原始交易报文,转发给所述行外服务模块。
9.如权利要求1所述的方法,其特征在于,在向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文之后,还包括:
通过所述行外模拟器,基于接收到的业务报文与预设的行外响应规则,确定所述一笔交易的第二交易状态;
将所述第二交易状态作为模拟业务数据封装在回执报文中,反馈给所述行外服务模块。
10.一种交易系统验证装置,其特征在于,所述交易系统验证装置应用于虚拟交易系统中,所述虚拟交易系统包括交易模拟器、行内模拟器、行外模拟器、外呼服务模块与行外服务模块,所述交易系统验证装置包括:
采集单元,用于获取实际交易系统在设定周期内产生的多笔交易各自的原始业务数据集;
交易重放单元,用于针对各笔交易各自的原始业务数据集,获得所述各笔交易的模拟业务数据集:通过所述交易模拟器解析一个原始业务数据集,生成一笔交易的原始交易报文,并通过所述外呼服务模块,向所述行内模拟器发送基于所述原始交易报文的第一交易数据集生成的外呼报文,在收到所述行内模拟器返回的响应报文时,通过所述行外服务模块,向所述行外模拟器发送基于所述外呼服务模块传输的第二交易数据集生成的业务报文;
比对单元,用于分别比对各个模拟业务数据集与相应的原始业务数据集,获得所述各笔交易的交易比对结果,并基于获得的各个交易比对结果,验证所述实际交易系统的运行情况。
11.一种计算机设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~9中任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1~9中任一项所述方法的步骤。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如权利要求1-9中任一项所述的方法。
CN202211722184.3A 2022-12-30 2022-12-30 交易系统验证方法、装置、设备及存储介质 Pending CN116149920A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211722184.3A CN116149920A (zh) 2022-12-30 2022-12-30 交易系统验证方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211722184.3A CN116149920A (zh) 2022-12-30 2022-12-30 交易系统验证方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116149920A true CN116149920A (zh) 2023-05-23

Family

ID=86355533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211722184.3A Pending CN116149920A (zh) 2022-12-30 2022-12-30 交易系统验证方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116149920A (zh)

Similar Documents

Publication Publication Date Title
US10949447B2 (en) Blockchain-based data synchronizing and data block parsing method and device
CN111930529A (zh) 基于消息队列及微服务的数据同步方法、模块及系统
CN112163946A (zh) 基于分布式交易系统的账务处理方法及装置
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
CN112801658A (zh) 跨境资源转移真实性审核方法、装置及电子设备
CN111104425A (zh) 数据处理方法及装置
CN110298650A (zh) 接口调用计费方法、装置、设备及存储介质
CN110766411A (zh) 以太坊代币交易中不一致行为的检测方法
CN112286827A (zh) 一种软件测试方法、设备、电子设备及存储介质
CN115269411A (zh) 一种业务测试方法、装置、电子设备和存储介质
Garcia Bringas et al. BlockChain platforms in financial services: current perspective
CN110533406B (zh) 一种支付调用方法、装置及系统
CN112070637A (zh) 一种基于区块链的案件处理方法及装置
CN116149920A (zh) 交易系统验证方法、装置、设备及存储介质
CN114020496A (zh) 一种数据核对方法、装置、电子设备和存储介质
CN109033426A (zh) 基于私有区块链网络的保存数据操作信息的方法及系统
CN115470139A (zh) 一种接口测试方法及相关设备
CN113807969A (zh) 一种业务系统并行验证方法及相关设备
CN110415112B (zh) 贷后业务的处理方法、装置、设备和存储介质
CN109799981B (zh) 一种基于执行链的集成系统及方法
CN115695587A (zh) 一种业务数据处理系统、方法、装置和存储介质
CN115086191B (zh) 一种银行卡自动化测试方法、装置及设备
CN111639936B (zh) 交易信息的获取方法、装置、电子设备及可读存储介质
TW202226781A (zh) 區塊鏈中介系統以及方法
CN116862679B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质

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