CN117271352A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents

数据处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN117271352A
CN117271352A CN202311294867.8A CN202311294867A CN117271352A CN 117271352 A CN117271352 A CN 117271352A CN 202311294867 A CN202311294867 A CN 202311294867A CN 117271352 A CN117271352 A CN 117271352A
Authority
CN
China
Prior art keywords
program
target
virtual
calling
baffle
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
CN202311294867.8A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311294867.8A priority Critical patent/CN117271352A/zh
Publication of CN117271352A publication Critical patent/CN117271352A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种数据处理方法、装置、计算机设备和存储介质,涉及计算机技术领域,可用于金融科技领域或其他相关领域。所述方法包括:在接收到调用程序发起的程序调用请求的情况下,基于程序调用请求中的交易代码,确定程序调用请求对应的目标程序;从各虚拟挡板中确定与调用程序及目标程序对应的目标虚拟挡板;在目标虚拟挡板满足调用条件的情况下,将目标虚拟挡板的预定义输出返回至调用程序。采用本方法能够在程序无法同步部署时,使得各程序正常进行测试。

Description

数据处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
随着程序的体量逐渐增大,多人协同开发测试程序的情况也在变得越来越普遍。由于不同程序开发流程进度不一样,可能会存在某些程序不能同步部署到环境当中,导致其他依赖于该程序的程序无法正常测试的情况,造成程序的测试效率低下。因此,目前需要提出一种能够在程序无法同步部署时,使得其他程序也能正常进行测试的方案。
发明内容
基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备及存储介质。
第一方面,本申请提供了一种数据处理方法。所述方法包括:
在接收到调用程序发起的程序调用请求的情况下,基于所述程序调用请求中的交易代码,确定所述程序调用请求对应的目标程序;
从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板;
在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序。
在其中一个实施例中,所述在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序,包括:
确定所述目标程序的启用状态;
在所述目标程序的启用状态为未启用的情况下,确定所述目标虚拟挡板满足调用条件,并将所述目标虚拟挡板的预定义输出返回至所述调用程序。
在其中一个实施例中,所述方法还包括:
在不存在所述目标虚拟挡板,或所述目标虚拟挡板不满足所述调用条件的情况下,调用所述目标程序,并将所述目标程序生成的输出返回至所述调用程序;或者,
生成错误信息,并向所述调用程序返回所述错误信息,所述错误信息用于表征所述目标虚拟挡板不存在。
在其中一个实施例中,所述从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板,包括:
根据所述调用程序的程序名称、所述目标程序的程序名称及所述程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与所述调用程序及所述目标程序对应的目标虚拟挡板。
在其中一个实施例中,所述根据所述调用程序的程序名称、所述目标程序的程序名称及所述程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与所述调用程序及所述目标程序对应的目标虚拟挡板,包括:
根据所述调用程序的程序名称及所述目标程序的程序名称,从各虚拟挡板中匹配得到与所述调用程序的程序名称及所述目标程序的程序名称相匹配的候选虚拟挡板;
根据所述输入信息对应的目标字段名,确定所述目标字段名对应的字段偏移量及字段长度;
针对任一所述候选虚拟挡板,根据所述字段偏移量及所述字段长度,从所述候选虚拟挡板的程序通讯区中匹配得到所述候选虚拟挡板对应的调用规则,并在所述输入信息与所述调用规则相匹配的情况下,将所述候选虚拟挡板作为目标虚拟挡板。
在其中一个实施例中,所述方法还包括:
接收插入虚拟挡板请求,所述插入虚拟挡板请求是基于所述目标虚拟挡板生成的,所述目标虚拟挡板是基于预先构建的空白虚拟挡板及用户输入的字段信息生成的,所述字段信息包括所述调用程序的程序名称及所述目标程序的程序名称;
解析所述插入虚拟挡板请求,得到所述目标虚拟挡板。
在其中一个实施例中,所述方法还包括:
接收删除虚拟挡板请求,根据所述删除虚拟挡板请求确定第一调用程序名称、第一目标程序名称、第一目标交易代码及第一目标查询条件;
根据所述第一调用程序名称、所述第一目标程序名称、所述第一目标交易代码及所述第一目标查询条件,从各虚拟挡板中匹配得到待删除虚拟挡板;
对所述待删除虚拟挡板进行删除处理。
在其中一个实施例中,所述方法还包括:
接收查询虚拟挡板请求,根据所述查询虚拟挡板请求确定第二调用程序名称、第二目标程序名称、第二目标交易代码及第二目标查询条件;
根据所述第二调用程序名称、所述第二目标程序名称、所述第二目标交易代码及所述第二目标查询条件,从各虚拟挡板中匹配得到待展示虚拟挡板;
展示所述待展示虚拟挡板。
第二方面,本申请还提供了一种数据处理装置。所述装置包括:
第一确定模块,用于在接收到调用程序发起的程序调用请求的情况下,基于所述程序调用请求中的交易代码,确定所述程序调用请求对应的目标程序;
第二确定模块,用于从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板;
第一返回模块,用于在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序。
在其中一个实施例中,所述第一返回模块,还用于:
确定所述目标程序的启用状态;
在所述目标程序的启用状态为未启用的情况下,确定所述目标虚拟挡板满足调用条件,并将所述目标虚拟挡板的预定义输出返回至所述调用程序。
在其中一个实施例中,所述装置还包括:
第二返回模块,用于在不存在所述目标虚拟挡板,或所述目标虚拟挡板不满足所述调用条件的情况下,调用所述目标程序,并将所述目标程序生成的输出返回至所述调用程序;或者,
生成错误信息,并向所述调用程序返回所述错误信息,所述错误信息用于表征所述目标虚拟挡板不存在。
在其中一个实施例中,所述第二确定模块,还用于:
根据所述调用程序的程序名称、所述目标程序的程序名称及所述程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与所述调用程序及所述目标程序对应的目标虚拟挡板。
在其中一个实施例中,所述第二确定模块,还用于:
根据所述调用程序的程序名称及所述目标程序的程序名称,从各虚拟挡板中匹配得到与所述调用程序的程序名称及所述目标程序的程序名称相匹配的候选虚拟挡板;
根据所述输入信息对应的目标字段名,确定所述目标字段名对应的字段偏移量及字段长度;
针对任一所述候选虚拟挡板,根据所述字段偏移量及所述字段长度,从所述候选虚拟挡板的程序通讯区中匹配得到所述候选虚拟挡板对应的调用规则,并在所述输入信息与所述调用规则相匹配的情况下,将所述候选虚拟挡板作为目标虚拟挡板。
在其中一个实施例中,所述装置还包括:
第一接收模块,用于接收插入虚拟挡板请求,所述插入虚拟挡板请求是基于所述目标虚拟挡板生成的,所述目标虚拟挡板是基于预先构建的空白虚拟挡板及用户输入的字段信息生成的,所述字段信息包括所述调用程序的程序名称及所述目标程序的程序名称;
解析模块,用于解析所述插入虚拟挡板请求,得到所述目标虚拟挡板。
在其中一个实施例中,所述装置还包括:
第二接收模块,用于接收删除虚拟挡板请求,根据所述删除虚拟挡板请求确定第一调用程序名称、第一目标程序名称、第一目标交易代码及第一目标查询条件;
第一匹配模块,用于根据所述第一调用程序名称、所述第一目标程序名称、所述第一目标交易代码及所述第一目标查询条件,从各虚拟挡板中匹配得到待删除虚拟挡板;
删除模块,用于对所述待删除虚拟挡板进行删除处理。
在其中一个实施例中,所述装置还包括:
第三接收模块,用于接收查询虚拟挡板请求,根据所述查询虚拟挡板请求确定第二调用程序名称、第二目标程序名称、第二目标交易代码及第二目标查询条件;
第二匹配模块,用于根据所述第二调用程序名称、所述第二目标程序名称、所述第二目标交易代码及所述第二目标查询条件,从各虚拟挡板中匹配得到待展示虚拟挡板;
展示模块,用于展示所述待展示虚拟挡板。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项方法。
上述数据处理方法、装置、计算机设备及存储介质,在调用程序需要调用主机中的目标程序进行测试时,基于调用程序发送的程序调用请求确定其需要调用的目标程序,进而确定与调用程序和目标程序对应的目标虚拟挡板,将目标虚拟挡板的预定义输出返回至调用程序。本申请实施例使得各调用程序无需依赖于真实的目标程序的输出,基于虚拟挡板的预定义输出即可完成测试,可以在目标程序和调用程序无法同步部署时,使得调用程序正常进行测试。
附图说明
图1为一个实施例中数据处理方法的流程示意图;
图2为一个实施例中步骤106的流程示意图;
图3为一个实施例中数据处理方法的流程示意图;
图4为一个实施例中数据处理方法的流程示意图;
图5为一个实施例中上传虚拟挡板的示意图;
图6为一个实施例中数据处理方法的流程示意图;
图7为一个实施例中数据处理方法的流程示意图;
图8为一个实施例中数据处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种数据处理方法,本实施例以该方法应用于主机中的挡板管理模块进行举例说明,包括以下步骤:
步骤102,在接收到调用程序发起的程序调用请求的情况下,基于程序调用请求中的交易代码,确定程序调用请求对应的目标程序。
本申请实施例中,调用程序是客户端中需要调用主机程序的程序。在调用程序需要调用主机程序时,调用程序生成调用主机程序所需的交易代码,并将交易代码包含在程序调用请求中上送至主机。挡板管理模块可以通过如CICS(Custom Information ControlSystem,客户信息控制系统)等的工具来捕捉调用程序发送的程序调用请求,并根据交易代码,确定调用程序需要调用的是哪一目标程序。
步骤104,从各虚拟挡板中确定与调用程序及目标程序对应的目标虚拟挡板。
本申请实施例中,挡板管理模块中存储有多个预先上传的虚拟挡板(或称Mock挡板)。各虚拟挡板均具有对应的主机程序,且每个虚拟挡板中均包括其对应的主机程序在某一场景下应当生成的预定义输出。由于虚拟挡板对应的主机程序可能还并未部署至主机中,或者尽管已经部署完毕但并未启用,因此在调用程序需要调用暂时不允许被调用的主机程序时,可以向调用程序返回其调用的主机程序对应的虚拟挡板的预定义输出,以使得调用程序的测试能够顺利进行。
可以在虚拟挡板中记录其对应的主机程序的名称来标记各虚拟挡板对应的主机程序。为满足不同调用程序的需求,还可以为同一个主机程序针对不同的调用程序设置不同的虚拟挡板。可以在虚拟挡板中记录其对应的调用程序的名称,以此区分针对不同调用程序的虚拟挡板。挡板管理模块根据程序调用请求获取发送程序调用请求的调用程序,和调用程序需要调用的目标程序,进而从各虚拟挡板中查询到与调用程序和目标程序相匹配的目标虚拟挡板。
步骤106,在目标虚拟挡板满足调用条件的情况下,将目标虚拟挡板的预定义输出返回至调用程序。
本申请实施例中,调用条件用于控制挡板管理模块在什么情况下返回目标虚拟挡板中预先设定好的预定义输出,以及在什么情况下允许调用程序直接调用目标程序(如果目标程序存在)。调用条件可以是预先设置好的,例如若已经设定好目标程序会在某一时刻后上线至主机中,则可以将调用条件设置为当前时间在该时刻之前,以使得挡板管理模块在目标程序上线之前向调用程序返回目标虚拟挡板的预定义输出。或者也可以视当前主机中正在进行测试的程序数量、调用程序通过程序调用请求传递给主机的输入信息等来设置调用条件,例如可以将调用条件设置为主机中当前正在进行测试的程序数量小于某一数值(防止主机同时运行的程序过多导致系统资源占用较大)、输入信息在某一范围之内(防止预定义输出和输入信息过于不匹配)等,本申请实施例对此不作具体限定。
本申请实施例提供的数据处理方法,在调用程序需要调用主机中的目标程序进行测试时,基于调用程序发送的程序调用请求确定其需要调用的目标程序,进而确定与调用程序和目标程序对应的目标虚拟挡板,将目标虚拟挡板的预定义输出返回至调用程序。本申请实施例使得各调用程序无需依赖于真实的目标程序的输出,基于虚拟挡板的预定义输出即可完成测试,可以在目标程序和调用程序无法同步部署时,使得调用程序正常进行测试。
在一个实施例中,如图2所示,步骤106中,在目标虚拟挡板满足调用条件的情况下,将目标虚拟挡板的预定义输出返回至调用程序,包括:
步骤202,确定目标程序的启用状态。
步骤204,在目标程序的启用状态为未启用的情况下,确定目标虚拟挡板满足调用条件,并将目标虚拟挡板的预定义输出返回至调用程序。
本申请实施例中,目标程序的启用状态用于表征目标程序是否已经能够被调用。挡板管理模块可以在目标程序的虚拟挡板或目标程序本身被上传至主机时,对目标程序的启用状态进行更新。在目标程序的虚拟挡板被上传时,挡板管理模块读取虚拟挡板中记录的目标程序的名称,并确定主机中是否存在该目标程序:若主机中不存在该目标程序,则挡板管理模块可以记录目标程序的启用状态为未启用。若主机中存在该目标程序,且挡板管理模块已经记录有目标程序的启用状态,则既可以不对目标程序的启用状态进行更改,也可以在目标程序的启用状态当前为已启用的状态下,将目标程序的启用状态更新为未启用,以使得上传后的虚拟挡板能够正常启用。
在目标程序被上传时,可以在目标程序中记载目标程序在上传后是否启用,或者在满足什么条件的情况下启用或停用。主机根据上述信息,相应设置目标程序的启用状态。主机还可以每间隔一定时间重新检查各目标程序的启用或停用条件是否已经被满足,并在目标程序的启用或停用条件被满足的情况下更新目标程序的启用状态。
在确定调用程序对应的目标程序后,主机获取目标程序对应的启用状态。在目标程序对应的启用状态是未启用的情况下,主机将目标虚拟挡板的预定义输出返回至调用程序。在目标程序对应的启用状态是已启用的情况下,主机可以将调用程序上送的、准备输入目标程序的输入信息输入目标程序,进而将目标程序根据输入信息得到的输出返回至调用程序。若目标程度对应的启用状态是未启用,则主机将目标虚拟挡板的预定义输出返回至调用程序。
本申请实施例提供的数据处理方法,根据目标程序是否已启用判断是否需要返回目标虚拟挡板的输出,可以在目标程序已经启用的情况下允许调用程序正常调用目标程序,在目标程序未启用的情况下将目标虚拟挡板的预定义输出返回至调用程序。本申请实施例可以使得在目标程序无论是否启用的状态下,调用程序均可正常完成测试。
在一个实施例中,上述方法还包括:
在不存在目标虚拟挡板,或目标虚拟挡板不满足调用条件的情况下,调用目标程序,并将目标程序生成的输出返回至调用程序;或者,
生成错误信息,并向调用程序返回错误信息,错误信息用于表征目标虚拟挡板不存在。
本申请实施例中,在不存在目标虚拟挡板,或者目标虚拟挡板因不满足调用条件而不能被调用的情况下,挡板管理模块既可以调用目标程序,并将目标程序的输出返回至调用程序,也可以直接向调用程序返回目标虚拟挡板不存在的错误信息。以下以目标程序是否已经部署至主机环境中分别进行讨论:
在目标程序已经部署至主机环境的情况下,挡板管理模块可以根据目标程序是否处于可运行状态判断是否要调用目标程序。可运行状态指的是目标程序虽然可能还不处于已启用状态,但已经能够根据输入正常进行输出。目标程序是否处于可运行状态可以由技术人员在将目标程序上传至主机时进行设定。若目标程序处于可运行状态,为使得调用程序能够正常进行测试,主机可以调用目标程序生成输出,并将输出返回至调用程序。或者为保障向调用程序返回的输出准确,主机也可以不调用目标程序,而是向调用程序返回错误信息。在目标程序不处于可运行状态时,主机可以直接向调用程序返回错误信息。
在目标程序未部署至主机环境的情况下,由于不存在调用目标程序的可能性,主机可以直接向调用程序返回错误信息,以告知调用程序目标虚拟挡板不存在,调用程序无法通过调用目标程序来完成测试。
本申请实施例提供的数据处理方法,在无法使用目标虚拟挡板的情况下,调用目标程序生成输出,或者向调用程序返回错误信息。本申请实施例可以使得在目标程序无论是否启用的状态下,调用程序均可正常完成测试。
在一个实施例中,步骤104中,从各虚拟挡板中确定与调用程序及目标程序对应的目标虚拟挡板,包括:
根据调用程序的程序名称、目标程序的程序名称及程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与调用程序及目标程序对应的目标虚拟挡板。
本申请实施例中,输入信息指的是调用程序准备传递给目标程序的输入。为使得虚拟挡板返回给调用程序的预定义输出尽可能准确、能够达到对调用程序进行测试的目的,可以针对同一组调用程序和目标程序构建出多个与对调用程序的测试项目相关的虚拟挡板,每一个虚拟挡板中可以记录本虚拟挡板对应的输入信息,以及针对该输入信息应当返回的预定义输出。例如,若对调用程序进行测试的目的是分别检测调用程序在目标程序成功返回计算结果、以及调用程序在目标程序返回错误代码的情况下运行是否正常,则可以针对输入信息A构建返回计算结果的虚拟挡板,针对输入信息B构建返回错误代码的虚拟挡板。这样在对调用程序进行测试时,调用程序可以视其需要测试的项目向主机传递对应的输入信息。主机根据输入信息、调用程序的程序名称和目标程序的程序名称匹配对应的虚拟挡板,并将虚拟挡板的预定义输出返回至调用程序,以使得调用程序得到该输入信息对应的预定义输出。
本申请实施例提供的数据处理方法,根据输入信息、调用程序的程序名称和目标程序的程序名称匹配对应的目标虚拟挡板,可以针对同一组调用程序和目标程序构建多个虚拟挡板,并根据输入信息的不同向调用程序返回相应的虚拟挡板的输出,可以支持模拟目标程序在不同情形下应当返回的输出。
在一个实施例中,如图3所示,根据调用程序的程序名称、目标程序的程序名称及程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与调用程序及目标程序对应的目标虚拟挡板,包括:
步骤302,根据调用程序的程序名称及目标程序的程序名称,从各虚拟挡板中匹配得到与调用程序的程序名称及目标程序的程序名称相匹配的候选虚拟挡板。
步骤304,根据输入信息对应的目标字段名,确定目标字段名对应的字段偏移量及字段长度。
步骤306,针对任一候选虚拟挡板,根据字段偏移量及字段长度,从候选虚拟挡板的程序通讯区中匹配得到候选虚拟挡板对应的调用规则,并在输入信息与调用规则相匹配的情况下,将候选虚拟挡板作为目标虚拟挡板。
本申请实施例中,为保证虚拟挡板的可复用性,可以预先构建出与调用程序和目标程序对应的空白虚拟挡板,并在空白虚拟挡板内预留调用程序可能向目标程序传递的输入信息对应的全部字段。例如若调用程序会向目标程序传递三个参数A、B、C,则空白虚拟挡板内可以预先构建三个对应A、B、C的预留字段,以使得后续在根据空白虚拟挡板构建虚拟挡板时,可以通过向预留字段内填入信息设置本虚拟挡板对应的输入信息。
可以通过EGL语言(Enterprise Generation Language,企业生成语言)来构建虚拟挡板。在EGL语言中程序具有程序通讯区,程序通讯区指的是对程序输入输出的定义。在主机匹配与调用程序、目标程序和输入信息对应的虚拟挡板时,可以首先匹配得到与调用程序和目标程序对应的全部候选虚拟挡板,进而根据输入信息对应的各目标字段名(例如若输入信息包含A、B、C三个参数,则目标字段名就是这三个参数分别对应的字段名),确定各目标字段名在虚拟挡板的程序通讯区中对应的偏移量(字段偏移量)和长度(字段长度),以此从虚拟挡板的程序通讯区中获取与各目标字段名相匹配的预留字段。若预留字段中存在内容,则表明虚拟挡板设置了对应该预留字段的调用规则。将输入信息与虚拟挡板对应的调用规则进行匹配,可以确定虚拟挡板是否是与输入信息对应的目标虚拟挡板。
在各候选虚拟挡板中不存在目标虚拟挡板的情况下,可以检查各候选虚拟挡板中是否存在在各预留字段内均未填入信息的通用虚拟挡板,若存在,则可以将该通用虚拟挡板作为目标虚拟挡板。若不存在,则可以参照前述实施例中的方法,将目标程序的真实输出或者用于表征目标虚拟挡板不存在的错误信息返回给调用程序。
本申请实施例提供的数据处理方法,在匹配到和目标程序以及调用程序对应的候选虚拟挡板后,根据各候选虚拟挡板的程序通讯区匹配得到和输入信息对应的目标虚拟挡板,可以针对同一组调用程序和目标程序构建多个虚拟挡板,并根据输入信息的不同向调用程序返回相应的虚拟挡板的输出,可以支持模拟目标程序在不同情形下应当返回的输出。
在一个实施例中,如图4所示,上述方法还包括:
步骤402,接收插入虚拟挡板请求,插入虚拟挡板请求是基于目标虚拟挡板生成的,目标虚拟挡板是基于预先构建的空白虚拟挡板及用户输入的字段信息生成的,字段信息包括所述调用程序的程序名称及所述目标程序的程序名称;
步骤404,解析插入虚拟挡板请求,得到目标虚拟挡板。
本申请实施例中,可以在客户端中预先构建空白虚拟挡板,并在需要构建虚拟挡板时,通过向空白虚拟挡板中输入字段信息来得到虚拟挡板。示例性的,可以使用主机测试工具MOTT来构建空白虚拟挡板。空白虚拟挡板中可以预先设置调用程序的名称字段以及目标程序的名称字段,还可以预先设置各目标程序通用的预留字段,如“出错信息”“消息号”“表名”等。针对不同目标程序的特殊需求还可以添加其他字段。用户通过针对每一个字段输入字段信息来为空白虚拟挡板中的各字段赋值,以此得到虚拟挡板。
为保证测试的完整性,提高针对调用程序进行测试的效率,若主机中当前不存在目标程序,则可以针对调用程序调用目标程序时会产生的每一逻辑分支分别自动构建虚拟挡板。例如,可以通过对调用程序的代码进行解析,确定是否存在以目标程序的返回值作为判断条件的判断语句。若存在,则可以分别构建出可以使得调用程序基于该判断条件进入不同分支的虚拟挡板。例如,若目标程序是一个根据用户标识返回用户在过去一个月内消费总额的程序,调用程序在消费总额大于a时进入A分支,小于或者等于a时进入B分支,则通过解析调用程序的代码,可以找到调用程序中的该判断语句,进而根据该判断语句对应的判断条件,分别构建出一个预定义输出大于a的虚拟挡板和预定义输出小于或者等于a的虚拟挡板。
构建虚拟挡板后,客户端将虚拟挡板拼装为报文,通过主机网关上送至挡板管理模块。挡板管理模块可以在接收到报文后解析报文得到虚拟挡板,检测其中记载的目标程序的名称,确定目标程序在主机中对应的交易代码,并对该交易代码启动跟踪。也即,挡板管理模块只会对在主机中存在虚拟挡板的目标程序的交易代码进行跟踪,以在检测到包含这类交易代码的程序调用请求的情况下,启动确定与交易代码对应的目标程序、获取目标虚拟挡板并将目标虚拟挡板的预定义输出返回至调用程序的流程。
参见图5所示,为上述过程的示意图。图5中以MOTT工具作为客户端的虚拟挡板设置器。以调用程序为EI40405,目标程序为CI49932,需要在调用程序的输入信息为账户信息为12345时,向调用程序返回错误信息1234、消息号5678为例,在需要生成针对目标程序的虚拟挡板时,将调用程序的名称“EI40405”、目标程序的名称“CI49932”、输入信息“12345”和预定义输出“1234”“5678”上传至空白虚拟挡板中。虚拟挡板设置器将生成好的虚拟挡板及其对应的交易代码32KT通过主机网关上送至主机,主机针对交易代码32KT启动跟踪。在主机检测到EI40405通过交易代码32KT调用CI49932的情况下,根据前述实施例中的方法判断具体是需要调用CI49932返回真实输出、调用CI49932对应的虚拟挡板返回预定义输出还是返回错误信息。
本申请实施例提供的数据处理方法,预先根据空白虚拟挡板和用户输入的字段信息生成虚拟挡板,并将虚拟挡板上送至主机中,以使得调用程序无需依赖于真实的目标程序的输出,基于虚拟挡板的预定义输出即可完成测试,可以在目标程序和调用程序无法同步部署时,使得调用程序正常进行测试。
在一个实施例中,如图6所示,上述方法还包括:
步骤602,接收删除虚拟挡板请求,根据删除虚拟挡板请求确定第一调用程序名称、第一目标程序名称、第一目标交易代码及第一目标查询条件。
步骤604,根据第一调用程序名称、第一目标程序名称、第一目标交易代码及第一目标查询条件,从各虚拟挡板中匹配得到待删除虚拟挡板。
步骤606,对待删除虚拟挡板进行删除处理。
本申请实施例中,可以通过删除虚拟挡板请求对虚拟挡板进行删除处理。删除虚拟挡板请求中可以包括虚拟挡板对应的调用程序的名称(第一调用程序名称)、虚拟挡板对应的目标程序的名称(第一目标程序名称)、目标程序对应的交易代码(第一目标交易代码)以及虚拟挡板对应的一个或多个输入信息(第一目标查询条件)。挡板管理模块在接收到删除虚拟挡板请求后,根据上述信息匹配得到待删除虚拟挡板,并对待删除虚拟挡板进行删除处理。若存在多个和上述信息相匹配的待删除虚拟挡板,则挡板管理模块还可以将多个待删除虚拟挡板及其对应的输入信息向用户进行展示,以使得用户可以通过对第一目标查询条件进行进一步限定来重新构建删除虚拟挡板请求,令删除虚拟挡板请求仅能匹配到一个待删除虚拟挡板。
本申请实施例提供的数据处理方法,根据删除虚拟挡板请求匹配得到待删除虚拟挡板,并对待删除虚拟挡板进行删除处理,可以允许对主机中已经存在的虚拟挡板进行删除操作。
在一个实施例中,如图7所示,上述方法还包括:
步骤702,接收查询虚拟挡板请求,根据所述查询虚拟挡板请求确定第二调用程序名称、第二目标程序名称、第二目标交易代码及第二目标查询条件。
步骤704,根据第二调用程序名称、第二目标程序名称、第二目标交易代码及第二目标查询条件,从各虚拟挡板中匹配得到待展示虚拟挡板。
步骤706,对待展示虚拟挡板进行展示处理。
本申请实施例中,可以通过查询虚拟挡板请求对虚拟挡板进行查询。查询虚拟挡板请求中可以包括虚拟挡板对应的调用程序的名称(第二调用程序名称)、虚拟挡板对应的目标程序的名称(第二目标程序名称)、目标程序对应的交易代码(第二目标交易代码)以及虚拟挡板对应的一个或多个输入信息(第二目标查询条件)。挡板管理模块在接收到查询虚拟挡板请求后,匹配得到与上述信息对应的的待展示虚拟挡板,并对待展示虚拟挡板进行展示,以使得用户能够了解主机中存在哪些虚拟挡板。
本申请实施例提供的数据处理方法,根据查询虚拟挡板请求匹配得到待展示虚拟挡板,并对待展示虚拟挡板进行展示处理,可以允许对主机中已经存在的虚拟挡板进行展示操作。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种数据处理装置800,包括:第一确定模块802、第二确定模块806、第一返回模块808,其中:
第一确定模块802,用于在接收到调用程序发起的程序调用请求的情况下,基于所述程序调用请求中的交易代码,确定所述程序调用请求对应的目标程序;
第二确定模块804,用于从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板;
第一返回模块806,用于在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序。
本申请实施例提供的数据处理装置,在调用程序需要调用主机中的目标程序进行测试时,基于调用程序发送的程序调用请求确定其需要调用的目标程序,进而确定与调用程序和目标程序对应的目标虚拟挡板,将目标虚拟挡板的预定义输出返回至调用程序。本申请实施例使得各调用程序无需依赖于真实的目标程序的输出,基于虚拟挡板的预定义输出即可完成测试,可以在目标程序和调用程序无法同步部署时,使得调用程序正常进行测试。
在其中一个实施例中,所述第一返回模块806,还用于:
确定所述目标程序的启用状态;
在所述目标程序的启用状态为未启用的情况下,确定所述目标虚拟挡板满足调用条件,并将所述目标虚拟挡板的预定义输出返回至所述调用程序。
在其中一个实施例中,所述装置还包括:
第二返回模块,用于在不存在所述目标虚拟挡板,或所述目标虚拟挡板不满足所述调用条件的情况下,调用所述目标程序,并将所述目标程序生成的输出返回至所述调用程序;或者,
生成错误信息,并向所述调用程序返回所述错误信息,所述错误信息用于表征所述目标虚拟挡板不存在。
在其中一个实施例中,所述第二确定模块804,还用于:
根据所述调用程序的程序名称、所述目标程序的程序名称及所述程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与所述调用程序及所述目标程序对应的目标虚拟挡板。
在其中一个实施例中,所述第二确定模块804,还用于:
根据所述调用程序的程序名称及所述目标程序的程序名称,从各虚拟挡板中匹配得到与所述调用程序的程序名称及所述目标程序的程序名称相匹配的候选虚拟挡板;
根据所述输入信息对应的目标字段名,确定所述目标字段名对应的字段偏移量及字段长度;
针对任一所述候选虚拟挡板,根据所述字段偏移量及所述字段长度,从所述候选虚拟挡板的程序通讯区中匹配得到所述候选虚拟挡板对应的调用规则,并在所述输入信息与所述调用规则相匹配的情况下,将所述候选虚拟挡板作为目标虚拟挡板。
在其中一个实施例中,所述装置还包括:
第一接收模块,用于接收插入虚拟挡板请求,所述插入虚拟挡板请求是基于所述目标虚拟挡板生成的,所述目标虚拟挡板是基于预先构建的空白虚拟挡板及用户输入的字段信息生成的,所述字段信息包括所述调用程序的程序名称及所述目标程序的程序名称;
解析模块,用于解析所述插入虚拟挡板请求,得到所述目标虚拟挡板。
在其中一个实施例中,所述装置还包括:
第二接收模块,用于接收删除虚拟挡板请求,根据所述删除虚拟挡板请求确定第一调用程序名称、第一目标程序名称、第一目标交易代码及第一目标查询条件;
第一匹配模块,用于根据所述第一调用程序名称、所述第一目标程序名称、所述第一目标交易代码及所述第一目标查询条件,从各虚拟挡板中匹配得到待删除虚拟挡板;
删除模块,用于对所述待删除虚拟挡板进行删除处理。
在其中一个实施例中,所述装置还包括:
第三接收模块,用于接收查询虚拟挡板请求,根据所述查询虚拟挡板请求确定第二调用程序名称、第二目标程序名称、第二目标交易代码及第二目标查询条件;
第二匹配模块,用于根据所述第二调用程序名称、所述第二目标程序名称、所述第二目标交易代码及所述第二目标查询条件,从各虚拟挡板中匹配得到待展示虚拟挡板;
展示模块,用于展示所述待展示虚拟挡板。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (12)

1.一种数据处理方法,其特征在于,所述方法包括:
在接收到调用程序发起的程序调用请求的情况下,基于所述程序调用请求中的交易代码,确定所述程序调用请求对应的目标程序;
从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板;
在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序,包括:
确定所述目标程序的启用状态;
在所述目标程序的启用状态为未启用的情况下,确定所述目标虚拟挡板满足调用条件,并将所述目标虚拟挡板的预定义输出返回至所述调用程序。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在不存在所述目标虚拟挡板,或所述目标虚拟挡板不满足所述调用条件的情况下,调用所述目标程序,并将所述目标程序生成的输出返回至所述调用程序;或者,
生成错误信息,并向所述调用程序返回所述错误信息,所述错误信息用于表征所述目标虚拟挡板不存在。
4.根据权利要求1所述的方法,其特征在于,所述从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板,包括:
根据所述调用程序的程序名称、所述目标程序的程序名称及所述程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与所述调用程序及所述目标程序对应的目标虚拟挡板。
5.根据权利要求4所述的方法,其特征在于,所述根据所述调用程序的程序名称、所述目标程序的程序名称及所述程序调用请求中包含的输入信息,从各虚拟挡板中匹配得到与所述调用程序及所述目标程序对应的目标虚拟挡板,包括:
根据所述调用程序的程序名称及所述目标程序的程序名称,从各虚拟挡板中匹配得到与所述调用程序的程序名称及所述目标程序的程序名称相匹配的候选虚拟挡板;
根据所述输入信息对应的目标字段名,确定所述目标字段名对应的字段偏移量及字段长度;
针对任一所述候选虚拟挡板,根据所述字段偏移量及所述字段长度,从所述候选虚拟挡板的程序通讯区中匹配得到所述候选虚拟挡板对应的调用规则,并在所述输入信息与所述调用规则相匹配的情况下,将所述候选虚拟挡板作为目标虚拟挡板。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收插入虚拟挡板请求,所述插入虚拟挡板请求是基于所述目标虚拟挡板生成的,所述目标虚拟挡板是基于预先构建的空白虚拟挡板及用户输入的字段信息生成的,所述字段信息包括所述调用程序的程序名称及所述目标程序的程序名称;
解析所述插入虚拟挡板请求,得到所述目标虚拟挡板。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收删除虚拟挡板请求,根据所述删除虚拟挡板请求确定第一调用程序名称、第一目标程序名称、第一目标交易代码及第一目标查询条件;
根据所述第一调用程序名称、所述第一目标程序名称、所述第一目标交易代码及所述第一目标查询条件,从各虚拟挡板中匹配得到待删除虚拟挡板;
对所述待删除虚拟挡板进行删除处理。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收查询虚拟挡板请求,根据所述查询虚拟挡板请求确定第二调用程序名称、第二目标程序名称、第二目标交易代码及第二目标查询条件;
根据所述第二调用程序名称、所述第二目标程序名称、所述第二目标交易代码及所述第二目标查询条件,从各虚拟挡板中匹配得到待展示虚拟挡板;
展示所述待展示虚拟挡板。
9.一种数据处理装置,其特征在于,所述装置包括:
第一确定模块,用于在接收到调用程序发起的程序调用请求的情况下,基于所述程序调用请求中的交易代码,确定所述程序调用请求对应的目标程序;
第二确定模块,用于从各虚拟挡板中确定与所述调用程序及所述目标程序对应的目标虚拟挡板;
第一返回模块,用于在所述目标虚拟挡板满足调用条件的情况下,将所述目标虚拟挡板的预定义输出返回至所述调用程序。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202311294867.8A 2023-10-08 2023-10-08 数据处理方法、装置、计算机设备及存储介质 Pending CN117271352A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311294867.8A CN117271352A (zh) 2023-10-08 2023-10-08 数据处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311294867.8A CN117271352A (zh) 2023-10-08 2023-10-08 数据处理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN117271352A true CN117271352A (zh) 2023-12-22

Family

ID=89207852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311294867.8A Pending CN117271352A (zh) 2023-10-08 2023-10-08 数据处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN117271352A (zh)

Similar Documents

Publication Publication Date Title
CN108932348B (zh) 区块链的合并处理方法、装置、区块链节点及存储介质
CN111221726A (zh) 一种测试数据生成方法、装置、存储介质和智能设备
CN109885474A (zh) 测试用例编辑方法及装置、终端和计算机可读存储介质
CN112395157A (zh) 审计日志的获取方法、装置、计算机设备和存储介质
CN114238085A (zh) 接口测试方法、装置、计算机设备、存储介质
CN112015651B (zh) 数据处理方法及装置
CN116644250A (zh) 页面检测方法、装置、计算机设备和存储介质
CN115658794B (zh) 数据查询方法、装置、计算机设备和存储介质
CN116561003A (zh) 测试数据生成方法、装置、计算机设备和存储介质
CN117271352A (zh) 数据处理方法、装置、计算机设备及存储介质
CN115757054A (zh) 一种日志记录方法、系统、计算机设备及介质
CN116795723B (zh) 链式单元测试处理方法、装置及计算机设备
CN114595159B (zh) 测试数据生成方法、装置、设备及存储介质
CN114818645B (zh) 基于数据主体的自动化报告生成方法、装置、设备及介质
CN116643902B (zh) 接口数据模拟方法、装置、设备、存储介质和程序产品
CN116541454B (zh) 事件配置方法、装置、计算机设备和存储介质
CN115421771A (zh) 微前端系统灰度发布方法、装置、计算机设备和介质
CN115695173A (zh) 网络安全例外接入方法、装置、设备、介质和程序产品
CN117708117A (zh) 批量数据处理方法、装置、电子装置和存储介质
CN115456583A (zh) 问卷调查数据处理方法、设备、计算机设备和存储介质
CN116756022A (zh) 数据准备方法、装置、计算机设备和存储介质
CN117149541A (zh) 自动化测试方法、装置、电子设备和可读存储介质
CN117349131A (zh) 系统错误信息的显示方法、装置和计算机设备
CN117453561A (zh) 测试脚本调用方法、装置、计算机设备和存储介质
CN117971649A (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