一种重构系统的验证方法、装置、设备和存储介质

文档序号:7458 发布日期:2021-09-17 浏览:40次 英文

一种重构系统的验证方法、装置、设备和存储介质

技术领域

本发明涉及自动程序设计

技术领域

,特别涉及一种重构系统的验证方法、装置、设备和存储介质。

背景技术

随着互联网市场的不断壮大,业务的急剧扩张,原有的系统可能会出现与现有的需求不适配的问题,然而考虑到开发成本和开发周期等诸多因素,有时并不会直接开发出新的系统以替换原有的系统,而是对原有的系统进行重构。重构可不改变系统的外部功能,只对内部的结构进行重新调整。重构后需对新系统完整性、健壮性进行验证。然而现有技术中对重构后系统的验证,主要采用的是人工全流程测试的方式,即人工投入生产请求报文验证重构前系统与重构后系统的输入与输出是否一致。但上述验证过程往往存在验证成本高、人为核对数据出错率高、对外围系统过度依赖等诸多技术问题。有鉴于此,本文旨在提供一种重构系统的验证方法,以实现便捷的、低成本的、准确的对重构后系统进行验证,且克服对外围系统的依赖问题。

发明内容

针对现有技术的上述问题,本文的目的在于,提供一种重构系统的验证方法、装置、设备和存储介质,以解决现有技术中对重构后系统验证成本高、可靠性低,以及对外围系统的依赖问题。

为了解决上述技术问题,本文的具体技术方案如下:

一方面,本文提供一种重构系统的验证方法,包括:

接收验证系统发送的业务请求;

根据所述业务请求,生成第二调用请求;

根据所述第二调用请求,获取所述验证系统反馈的挡板数据,所述挡板数据为服务方系统发送给所述重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统根据所述业务请求获得;

根据所述挡板数据对所述业务请求进行处理,获得第二输出数据;

反馈所述第二输出数据至所述验证系统,以使所述验证系统根据所述第二输出数据和第一输出数据验证所述重构后系统是否存在缺陷,所述第一输出数据为所述重构前系统对所述业务请求的响应数据。

另一方面,本文还提供一种重构系统的验证装置,包括:

第一接收模块,用于接收验证系统发送的业务请求;

第一生成模块,用于根据所述业务请求,生成第二调用请求;

第二获取模块,用于根据所述第二调用请求,获取验证系统反馈的挡板数据,所述挡板数据为所述服务方系统发送给所述重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统根据所述业务请求获得;

第一处理模块,用于根据所述挡板数据对所述业务请求进行处理,获得第二输出数据;

第一反馈模块,用于反馈所述第二输出数据至所述验证系统,以使所述验证系统根据所述第二输出数据和第一输出数据验证所述重构后系统是否存在缺陷,所述第一输出数据为所述重构前系统对所述业务请求的响应数据。

另一方面,本文还提供一种重构系统的验证方法,包括:

接收请求方系统发送的业务请求;

根据所述业务请求,生成第一调用请求并发送给服务方系统;

获取所述服务方系统反馈的对应于所述第一调用请求的挡板数据;

根据所述挡板数据对所述业务请求进行处理,得到第一输出数据;

存储所述业务请求、所述挡板数据和所述第一输出数据并发送给验证系统,以使验证系统对所述重构后系统发起验证。

另一方面,本文还提供一种重构系统的验证装置,包括:

第二接收模块,用于接收请求方系统发送的业务请求;

第二生成模块,用于根据所述业务请求,生成第一调用请求并发送给所述服务方系统;

第三获取模块,用于获取所述服务方系统反馈的对应于所述第一调用请求的挡板数据;

第二处理模块,用于根据所述挡板数据对所述业务请求进行处理,得到所述第一输出数据;

第一发送模块,存储所述业务请求、所述挡板数据和所述第一输出数据并发送给验证系统,以使验证系统对所述重构后系统发起验证。

另一方面,本文还提供一种重构系统的验证方法,包括:

发送业务请求至重构后系统;

接收重构后系统发送的对服务方系统的第二调用请求;

根据所述第二调用请求,匹配挡板数据并发送给所述重构后系统,所述挡板数据为服务方系统发送至重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统根据所述业务请求获得;

接收重构后系统反馈的第二输出数据,所述第二输出数据由所述重构后系统根据挡板数据对所述业务请求进行处理得到;

根据所述第二输出数据和预存的第一输出数据,验证所述重构后系统是否存在缺陷。

另一方面,本文还提供一种重构系统的验证装置,包括:

第二发送模块,用于发送业务请求至重构后系统;

第三接收模块,用于接收重构后系统发送的对服务方系统的第二调用请求;

匹配模块,用于根据所述第二调用请求,匹配挡板数据并发送给所述重构后系统,所述挡板数据为服务方系统发送至重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统根据所述业务请求获得;

第四接收模块,用于接收重构后系统反馈的第二输出数据,所述第二输出数据由所述重构后系统根据挡板数据对所述业务请求进行处理得到;

验证模块,用于根据所述第二输出数据和预存的第一输出数据,验证所述重构后系统是否存在缺陷。

另一方面,本文还提供一种计算机存储设置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述技术方案所述的方法步骤。

另一方面,本文还提供一种存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案所述的方法步骤。

采用上述技术方案,本文所述的一种重构系统、装置、计算机设备和存储介质,能够对重构后的系统构建一个孤岛环境,用重构前系统业务请求、第一调用请求、挡板数据以及第一输出数据对重构后系统进行验证,使得对重构后系统的验证无需依赖于外围系统;能够减少人为因素的干扰,能够提高用于验证重构后系统的数据的样本性和覆盖率,提高验证结果的效率和可靠性。

为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本文实施例提供的一种重构系统验证方法的第一流程示意图;

图2示出了系统间调用架构的示意图;

图3示出了系统输入输出原理示意图;

图4示出了本文实施例提供的一种重构系统验证装置的第一结构示意图;

图5示出了本文实施例提供的一种重构系统验证方法的第二流程示意图;

图6示出了本文实施例提供的一种重构系统验证装置的第二结构示意图;

图7示出了本文实施例提供的一种重构系统的验证方法的第三流程示意图;

图8示出了本文实施例提供的一种重构系统验证装置的第三结构示意图;

图9示出了一种重构系统验证系统的结构示意图;

图10示出了一种重构系统验证方法的整体流程示意图;

图11示出了本文实施例提供的一种计算机设备的结构示意图。

附图符号说明:

41、第一接收模块;

42、第一生成模块;

43、第二获取模块;

44、第一处理模块;

45、第一反馈模块;

61、第二接收模块;

62、第二生成模块;

63、第三获取模块;

64、第二处理模块;

65、第一发送模块;

81、第二发送模块;

82、第三接收模块;

83、匹配模块;

84、第四接收模块;

85、验证模块;

91、第一数据采集模块;

92、同步模块;

93、第二数据采集模块;

94、交易业务回放模块;

95、挡板服务模块;

96、对比验证模块

1102、计算机设备;

1104、处理器;

1106、存储器;

1108、驱动机构;

1110、输入/输出模块;

1112、输入设备;

1114、输出设备;

1116、呈现设备;

1118、图形用户接口;

1120、网络接口;

1122、通信链路;

1124、通信总线。

具体实施方式

下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。

需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

随着互联网的飞速发展,客户的业务不断发生变化,系统被开发出来后,有的需求可能相对稳定一些,有的需求则可能变化的比较剧烈,还有的需求可能已经消失了或者转化成了别的需求。在这种情况下,系统则需要进行相应的改变。但考虑到成本和时间等因素,并不是所有系统都直接被废弃并重新开发,而是采取对原有的系统进行重构,即不改变系统原有的外部功能,只对系统内部的结构进行重新整理。通过重构,不断地调整系统的结构,使重构后的系统对于业务需求始终具有较强的适应能力和支撑能力。重构可以降低系统的耦合度,使系统更加模块化,有利于提高系统的开发效率和后期的维护。

当然,为了使重构后的系统具备功能的完整性、健壮性,对重构后的系统进行验证显得尤为重要。现有技术中采用的验证方法主要是采用人工方式全流程测试,即按照所涉的交易路径和交易流程,通过人工点击、发送等操作触发,让测试数据在重构后系统及其关联的外围系统(指在多个系统交互调用的架构中,站在某一系统角度来看,与其关联的其他所有系统,包括服务请求方系统和服务提供方系统,统称为外围系统)都跑一遍进行联测,然后根据测试结果进行人工对比分析从而达到验证目的。因此造成:过度依赖外围系统的配合,特别是涉及需要多个外围系统联动的复杂场景,当外围系统不稳定或支持不到位时,导致协调成本高,测试进度缓慢;另测试数据多来自于手工创建、系统预埋、系统干预等,导致测试数据单一、样本性降低、覆盖案例不全,导致对重构后系统的验证结构不够可靠;对验证输出结果的对比主要靠人工对比审核,人力成本高昂的同时,错误率高、测试效率低。

为了解决上述问题,本文实施例提供了一种重构系统的验证方法,能够便捷的、准确的对重构后系统进行验证,并且能降低成本、克服对外围系统的依赖问题。图1是本文实施例提供的一种重构系统的验证方法的第一流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图1所示,所述方法适用于重构后系统,所述方法包括:

S110:接收验证系统发送的业务请求;

S120:根据所述业务请求,生成第二调用请求;

需要说明的是,如图2所示,为系统间调用架构示意图,对于一个系统来说,其既可以作为服务方系统以供其他系统对其进行调用,也可以作为请求方系统对其他系统发起调用请求。对于本说明书实施例中所述重构前/后系统也是如此,当其接收到的业务请求需要其他系统的功能实现来配合完成时,可向服务方系统发送第二调用请求。且重构前/后系统对于同一个服务方系统的调用请求可以不止一次,还可以向多个不同的服务方系统发送调用请求,即对于一次业务请求,重构前/后系统可能需要多个服务方系统的多次多种的功能配合。

从图2可知对于本说明书实施例中的重构前/后系统来说,其数据输入有两个途径,即服务请求方系统发送的输入请求和服务提供方系统返回的输入响应;数据输出同样也有两个途径,即本重构后系统返回给服务请求方系统的输出响应和发送给服务提供方系统的输出调用请求,即如图3所示的系统输入输出原理示意图。

根据图2和图3可知,在不影响关联系统和现有功能的前提下,验证一个重构后系统是否存在缺陷,只需要保证对重构后系统和重构前系统进行同样的数据输入,然后根据预设的对比规则对两个系统分别产生的输出数据进行对比校验。

S130:根据所述第二调用请求,获取验证系统反馈的挡板数据,所述挡板数据为所述服务方系统发送给所述重构前系统的对第一调用请求的响应数据汇总,挡板数据的作用是完全模拟服务方系统返回,所述第一调用请求为所述重构前系统解析所述业务请求得到;本说明书实施例中,所述重构后系统是对所述重构前系统进行重构得到;

S140:根据所述挡板数据对所述业务请求进行处理,获得第二输出数据;

即验证系统使用重构前系统处理过的业务请求在重构后系统中实现回放。本说明书实施例中回放(也称为重放)是指按照重构前的原始功能流程和交易路径,让验证系统自动地模拟请求方系统发起业务请求至重构后系统并能模拟服务方系统返回响应数据(即挡板数据)的操作。

S150:反馈所述第二输出数据至所述验证系统,以使所述验证系统根据所述第二输出数据和第一输出数据验证所述重构后系统是否存在缺陷,所述第一输出数据为所述重构前系统对所述业务请求的响应数据。

本说明书实施例提供的一种重构系统的验证方法,能够利用重构前系统的业务请求数据、第一输出数据和挡板数据对重构后系统的功能和性能进行验证,从而克服对外围系统的依赖,减少人为因素的影响,有利于提高验证准确性。

在生成第二调用请求之前,所述方法还包括:

根据所述业务请求,判断所述重构后系统是否需要调用服务方系统;由于重构后系统较重构前系统可能有一些改进,因此,可能会出现无需对服务方系统发起调用即可完成对业务请求进行处理的情况。

若需要调用所述服务方系统,则生成所述第二调用请求;以使验证系统能够根据第二调用请求匹配挡板数据;

若不需要调用所述服务方系统,则直接对所述业务请求进行处理获得所述第二输出数据。

优选地,本说明书实施例中,步骤S110:接收验证系统发送的业务请求之前,所述方法还包括:

S100:发送同步指令给所述验证系统,以使验证系统获取重构前系统的环境数据和业务数据,进而对重构后系统进行同步操作使得所述重构后系统同步于所述重构前系统。

让重构后系统与重构前系统处于同一水平,保证两者的环境数据和业务数据保持一致,这是后续验证的前提条件。使得重构后系统同步于重构前系统可通过如下方法实现:

对重构前系统在T-1日进行日切批处理,以根据既定规则对T-1日的静态数据进行采集,采集的数据包括系统日期、目录结构等环境数据,以及营业日期、客户信息、账务信息、产品信息等业务数据;如所述环境数据和业务数据可以是重构前系统的生产环境数据。当然,在一些可行的实施例中,还可以获取重构前系统的测试环境数据,以起到丰富数据来源、提高重构系统验证效率的作用,需要说明的是生产环境数据更真实更准确。

根据重构前系统与重构后系统的设计差异,对上一步采集到的静态数据进行加工(例如,格式化处理,使得重构前系统中的静态数据具有适用于重构后系统的格式),得到用于对重构后系统进行同步的初始化数据;

利用初始化数据对重构后系统进行初始化,使重构后系统与重构前系统在T-1日的系统数据处于同一水平(例如系统时间、营业日期、客户信息等环境数据、业务数据在某一时点重构后系统同步于重构前系统)。

在一些可行的实施例中,所述方法还包括:

反馈所述第二调用请求至所述验证系统,以使所述验证系统根据所述第二调用请求和所述第一调用请求,和/或所述第二输出数据与所述第一输出数据,验证所述重构后系统是否存在缺陷。对于服务方系统而言,若重构后系统的第二调用请求与重构前系统的第一调用请求不一致,则服务方系统还需进行适当改进以适应于重构后系统,增加了服务方系统开发升级的负担。本说明书实施例提供的重构系统验证方法还可以通过重构前、后系统对服务方系统的调用请求之间的区别来验证重构后系统,验证方法更加多样,也有利于提高验证的准确性。

综上,本说明书实施例提供的一种重构系统的验证方法,能够为重构后系统构建一个孤岛环境,消除验证时对外围系统的依赖;并利用从重构前系统采集到的静态数据对处于孤岛环境的重构后系统进行初始化,做好数据齐平和挡板服务的准备;在利用重构前系统的业务数据、第一输出数据、挡板数据以及第一调用请求等运行态数据对重构后系统进行回放验证,得到验证结果。

如图4所示,为本说明书实施例提供的一种重构系统的验证装置的第一结构示意图,所述装置包括:

第一接收模块41,用于接收验证系统发送的业务请求;

第一生成模块42,用于根据所述业务请求,生成第二调用请求;

第二获取模块43,用于根据所述第二调用请求,获取验证系统反馈的挡板数据,所述挡板数据为所述服务方系统发送给所述重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统解析所述业务请求得到;

第一处理模块44,用于根据所述挡板数据对所述业务请求进行处理,获得第二输出数据;

第一反馈模块45,用于反馈所述第二输出数据至所述验证系统,以使所述验证系统根据所述第二输出数据和第一输出数据验证所述重构后系统是否存在缺陷,所述第一输出数据为所述重构前系统对所述业务请求的响应数据。

本说明书实施例提供的重构系统的验证装置所取得的有益效果和上述方法所取得的有益效果相一致,此处不再赘述。

如图5所示,本说明书实施例还提供一种重构系统的验证方法,所述方法适用于重构前系统,所述方法包括:

S510:接收请求方系统发送的业务请求;

S520:根据所述业务请求,生成第一调用请求并发送给服务方系统;

S530:获取所述服务方系统反馈的对应于所述第一调用请求的挡板数据;此处挡板数据实质为服务方系统发送给重构前系统对应于第一调用请求的响应数据,将该响应数据作为挡板数据存储以用于反馈给重构后系统满足其对服务方系统的调用需求。S540:根据所述挡板数据对所述业务请求进行处理,得到所述第一输出数据;

S550:存储所述业务请求、所述挡板数据和所述第一输出数据并发送给验证系统,以使验证系统对所述重构后系统发起验证。

还包括:

发送第一调用请求给所述验证系统,以使所述验证系统根据所述第一调用请求,和/或所述第一输出数据对重构后系统发起验证。

所述方法还包括:

发送环境数据和业务数据给所述验证系统,以使验证系统对所述重构后系统进行与所述重构前系统的同步操作。

本说明书实施例提供的一种验证方法,适用于重构前系统,重构前系统将请求方系统发送的业务请求、对服务方系统的第一调用请求、服务方系统反馈的挡板数据以及对请求方系统反馈的第一输出数据作为运行态数据发送给验证系统,以使验证系统根据上述运行态数据对重构后系统进行验证。从而重构后系统无需依赖于外围系统,也无需与重构前系统进行交互;也不会对重构前系统进行重构操作造成影响。

如图6所示,本说明书实施例还提供一种重构系统的验证装置,包括:

第二接收模块61,用于接收请求方系统发送的业务请求;

第二生成模块62,用于根据所述业务请求,生成第一调用请求并发送给所述服务方系统;

第三获取模块63,用于获取所述服务方系统反馈的对应于所述第一调用请求的挡板数据,所述挡板数据实质为服务方系统对第一调用请求的响应数据;

第二处理模块64,用于根据所述挡板数据对所述业务请求进行处理,得到所述第一输出数据;

第一发送模块65,存储所述业务请求、所述挡板数据和所述第一输出数据并发送给验证系统,以使验证系统对所述重构后系统发起验证。

通过本说明书实施例提供的装置所取得的有益效果和上述方法所取得的有益效果相一致,此处不再赘述。

如图7所示,本说明书实施例还提供一种重构系统的验证方法,所述方法适用于验证系统,所述方法包括:

S710:发送业务请求至重构后系统;

S720:接收重构后系统发送的对服务方系统的第二调用请求;

S730:根据所述第二调用请求,匹配挡板数据并发送给所述重构后系统,所述挡板数据为服务方系统发送至重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统根据所述业务请求获得;

S740:接收重构后系统反馈的第二输出数据,所述第二输出数据由所述重构后系统根据挡板数据对所述业务请求进行处理得到;

S750:根据所述第二输出数据和预存的第一输出数据,验证所述重构后系统是否存在缺陷。

进一步地,步骤S710:发送业务请求至重构后系统之前,所述方法还包括:

S700:接收重构前系统反馈的业务请求、所述挡板数据和所述第一输出数据。

即发送给重构后系统的业务请求、用于响应重构后系统的第二调用请求的挡板数据以及用于与重构后系统的第二输出数据进行对比验证的第一输出数据均是来自于所述重构前系统的运行态数据。利用重构前系统的运行态数据对所述重构后系统进行验证,无需手工创建验证数据,也无需关联的外围系统进行预埋、干涉等处理,因此能够降低验证成本,提高验证效率;并且用于验证的运行态数据可以更加全面,避免样本性低、覆盖性差的问题,从而能够提高对重构后系统验证结构的可靠性。

进一步地,步骤S750:根据所述第二输出数据和预存的第一输出数据,验证所述重构后系统是否存在缺陷后,所述方法还包括:

S760:若验证所述重构后系统存在缺陷,则对所述重构后系统进行修复。

需要说明的是,对重构后系统进行修复后,还可以根据实际情况判断是否需要对重构后系统和重构前系统进行数据同步,继而再进行验证(验证系统可将采集到的静态、动态数据对重构后系统中进行反复多次的回放以便验证缺陷是否被修复或重现,此过程无需各外围系统进行数据回滚,有利于提高缺陷验证效率和准确率),直至重构后系统不存在缺陷。

在一些可行的实施例中,步骤S730:根据所述第二调用请求,匹配挡板数据并发送给所述重构后系统,具体可采用如下方法:

解析第二调用请求,获取交易流水号;

根据所述交易流水号匹配所述挡板数据。所述交易流水号与交易业务一一对应,交易流水号是交易业务在交易路径上的唯一标识。当业务请求方发送业务请求给重构前系统时会携带所述业务请求的交易流水号;重构前系统在反馈第一输出数据时会携带该交易流水号。

当重构前系统需调用服务方系统时,则生成第一调用请求发送给所述服务方系统,其实质也是重构前系统向服务方系统发起业务请求,因此第一调用请求中包括与第一调用请求相对应的交易流水号,当服务方系统反馈挡板数据给重构前系统时,交易流水号将随挡板数据一并反馈。

需要说明的是,所述业务请求(或第一调用请求)包括的字段可如表1所示:

表1

相应地,第一输出数据(或挡板数据)包括的字段可如表2所示:

表2

在一些优选的实施例中,除了根据交易流水号挡板数据进行匹配外,还可以采用交易流水号、响应系统编号、交易码、顺序号和响应状态等上述字段的一种或多种的组合来进行匹配。

在一些可行的实施例中,所述方法还包括:

接收重构后系统反馈的第二调用请求;

根据所述第二调用请求和预存的第一调用请求,和/或所述第二输出数据和所述第一输出数据,验证所述重构后系统是否存在缺陷。

优选地,分别从交易线、数据线、账务线的角度对重构后系统进行验证:对交易报文、交互文件、数据库进行数据解码、解析,从数据格式、结构、字段、名称、值域、变化流程等多维度进行对比分析。

在一些优选的实施例中,步骤S750:根据所述第二输出数据和预存的第一输出数据,验证所述重构后系统是否存在缺陷,进一步为:

根据预设的对比规则对所述第一输出数据和第二输出数据进行对比,验证所述重构后系统是否存在缺陷,所述预设的对比规则包括差异过滤、差异映射、差异屏蔽、差异缺陷中的一个或几个的组合。

所述差异过滤是指:对产生的每笔差异进行过滤处理,按既定的规则对每笔差异进行识别并分组,使得差异分组以及分组中的差异个数占比清晰明了。在实际应用中一般有如下分组维度:平台级差异(如系统框架问题等)、模块级差异(系统的功能模块等问题)、环境级差异(系统权限、中间件等软件、机器硬件稳定因数等问题)、需求未同步差异(重构后系统和重构前系统对新增需求同开发时,重构后系统落后于重构前系统)、解释性差异、待分析差异、其他差异等等,可根据被重构的系统的业务特点和架构形态制定不同的差异分组进行差异过滤。

所述差异映射是指:对比分析运行前对已经预知的差异制定映射规则进行埋伏,当运行对比分析产生的差异命中这些映射规则时进行自行映射,使得命中的差异进行降级处理。映射规则一般包括字段名称映射(如重构后系统和重构前系统对字段命名规则不同,包括大小写敏感、驼峰标示等),示例性的:重构前系统对用户名称用name表示,而重构后系统用Name表示、数据字典映射(如重构前系统用“false-否true-是”表示,而重构后系统用“0-否1-是”表示“是否”关系等)、日期格式映射(如重构前系统用“yyyy/MM/dd”表示“年月日”,而重构后系统用“yyyy-MM-dd”来表示等)、文件码制映射(如重构前系统用GB18030,而重构后系统用UTF-8)等等。

所述差异屏蔽是指:根据之前轮次分析出来的差异结果制定屏蔽规则,对新产生的差异进行屏蔽处理。实际应用中的作用是对于主流程、关键流程某个环节出现的差异导致整个流程不能持续往下执行时,对该环节的差异进行屏蔽,以便流程中依赖的后续步骤能往下流转。另外对于规则中的差异进行屏蔽后可以加快对重构后系统的验证速度。

差异缺陷是指:根据制定的规则生成与差异相对应的缺陷信息,缺陷信息包括:缺陷时间、缺陷版本、缺陷严重程度(低、中、高等)、所属模块、分配处理团队、缺陷来源(交易线、数据线、账务线等)、优先级、状态、专题场景等等,以便让对比分析产生的差异能跟市面上常用的缺陷管理工具(如Mercury Quality Center)进行无缝对接,以便后续缺陷的解决、流转、跟踪。

需要说明的是,本说明书实施例中,所述业务请求,包括:

功能验证请求和性能验证请求;

所述性能验证请求是指向待验证的重构后系统并发发送一批业务请求,以验证重构后系统的并发处理性能,这一批业务请求之间可以具有一定的分类规则,例如,系统都集群部署有多个服务器,并通过负载均衡实现高可用性,则可根据接收业务请求的服务器编号、所属模块等实现性能验证。

所述功能验证请求是向待验证的重构后系统逐个发送业务请求,以验证所述重构后系统的功能。

所述功能验证请求包括全量验证请求和局部验证请求;

所述全量验证请求为按时间先后顺序对预设时间段内的全部交易进行验证;所述局部验证请求为以预设维度对交易进行验证。

可选的,所述预设维度包括:交易渠道(网银、手机银行、ATM机等)、交易对象(集体或个人,其中个人又可以分别普通客户、VIP客户)、交易机构(交易业务所涉及的地方银行)、交易类别(开户、存取款、转账等)和自定义维度中的一种或几种的组合。

从而本说明书实施例提供的一种重构系统验证方法,能够通过单笔业务和批量业务的方式对重构后系统进行验证,减少人为干扰,提高了测试数据的样本性、验证测试案例的覆盖率、提高验证的时效性和准确率。

如图8所示,本说明书实施例还提供一种重构系统的验证装置,包括:

第二发送模块81,用于发送业务请求至重构后系统;

第三接收模块82,用于接收重构后系统发送的对服务方系统的第二调用请求;

匹配模块83,用于根据所述第二调用请求,匹配挡板数据并发送给所述重构后系统,所述挡板数据为服务方系统发送至重构前系统的对第一调用请求的响应数据,所述第一调用请求为所述重构前系统根据所述业务请求获得;

第四接收模块84,用于接收重构后系统反馈的第二输出数据,所述第二输出数据由所述重构后系统根据挡板数据对所述业务请求进行处理得到;

验证模块85,用于根据所述第二输出数据和预存的第一输出数据,验证所述重构后系统是否存在缺陷。

如图9所示,本文实施例提供一种验证系统,可用于对重构后系统的验证,所述系统包括:

第一数据采集模块91,用于采集重构前系统的静态数据,所述静态数据包括系统日期、目录结构等环境数据,以及营业日期、客户信息、账务信息、产品信息等业务数据;

同步模块92,用于根据第一数据采集模块91采集的所述静态数据对重构后系统进行同步操作,以使重构后系统的环境和数据水平与所述重构前系统相同步;

第二数据采集模块93,用于采集重构前系统的运行态数据,所述运行态数据包括请求方系统发送给重构前系统的业务请求和重构前系统对请求方系统应答的第一输出数据;当重构前系统为处理业务请求而需要调用服务方系统时,还包括获取重构前系统向服务方系统发送的第一调用请求以及服务方系统反馈的对应于第一调用请求的响应数据(作为后续交易回放的挡板数据);

第二数据采集模块93采集到的数据不仅可以进行功能验证测试,还可以进行性能验证测试;还可以根据不同的验证策略进行全局验证、局部验证、单笔/批量验证、异常场景再现等。

交易业务回放模块94,用于将业务请求发送给重构后系统,以发起验证;

挡板服务模块95,用于判断当重构后系统为响应业务请求需要调用服务方系统时,获取重构后系统生成的第二调用请求,并根据第二调用请求匹配第一调用请求和/或业务请求,从而匹配到相应的挡板数据;

和对比验证模块96,用于获取重构后系统根据业务请求,或根据业务请求和所述挡板数据,反馈的第二输出数据;并根据第一输出数据和第二输出数据对重构后系统进行验证。所述对比验证模块96还用于根据第一调用请求和第二调用请求,和/或第一输出数据和第二输出数据对重构后系统进行验证。

在对重构后系统的验证过程中,不需要重构前系统以及外围系统的配合,减少重构后系统验证的依赖和投入,而且挡板服务模块返回的挡板数据更加准确,从而达到验证过程自主可控、降低人力及协调成本、提高验证准确性和效率。

如图10所示,则对应于图9中所示的重构系统验证系统,还提供一种验证方法:

S101:重构前系统对来自请求方系统的业务请求进行处理;

S102:当需要调用服务方系统时,重构前系统发送与所述业务请求相对应的第一调用请求给所述服务方系统;

S103:获取所述服务方系统反馈的对应于所述第一调用请求的响应数据(即用于交易回放时的挡板数据);

S104:根据前述响应数据对所述业务请求进行处理,得到所述第一输出数据;将第一输出数据反馈给业务请求方;当重构前系统无需调用服务方系统来配合完成对业务请求的处理时,则直接处理得到第一输出数据。

S105:存储所述业务请求、所述挡板数据和所述第一输出数据发送给验证系统;在一些可行的实施例中,还可以将第一调用请求发送给验证系统;

S106:验证系统发送业务请求至重构后系统;

S107:当重构后系统需要调用服务方系统时,验证系统接收到重构后系统发送的对服务方系统的第二调用请求;

S108:验证系统根据所述第二调用请求,匹配到相应的挡板数据并模拟服务方系统模拟反馈给所述重构后系统;

S109:重构后系统接收所述挡板数据,基于所述挡板数据对业务请求进行处理,得到第二输出数据并发送给验证系统;当重构后系统无需调用服务方系统来配合完成对业务请求的处理时,则可直接处理得到第二输出数据。

S1010:验证系统根据所述第二输出数据和第一输出数据,验证所述重构后系统是否存在缺陷;在一些可行的实施例中,验证系统还可以根据第二输出数据和第一输出数据,和/或根据第一调用请求和第二调用请求,验证所述重构后系统是否存在缺陷。

优选地,在步骤S106:验证系统发送业务请求至重构后系统之前,还包括:

获取重构前系统发送的静态数据,所述静态数据包括环境数据和业务数据;

接收重构后系统发送的同步指令,以通过所述静态数据对重构后系统进行与重构前系统相对应的同步操作。

由此可知,本说明书实施例提供的一种适用于验证系统的对重构后系统的验证方法,能够将重构前系统的业务请求、第一调用请求、挡板数据以及第一输出数据对重构后系统进行验证,从而验证过程无需依赖于外围系统。

如图11所示,为本文实施例提供的一种计算机设备,所述计算机设备1102可以包括一个或多个处理器1104,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1102还可以包括任何存储器1106,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1106可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1102的固定或可移除部件。在一种情况下,当处理器1104执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1102可以执行相关联指令的任一操作。计算机设备1102还包括用于与任何存储器交互的一个或多个驱动机构1108,诸如硬盘驱动机构、光盘驱动机构等。

计算机设备1102还可以包括输入/输出模块1110(I/O),其用于接收各种输入(经由输入设备1112)和用于提供各种输出(经由输出设备1114))。一个具体输出机构可以包括呈现设备1116和相关联的图形用户接口(GUI)1118。在其他实施例中,还可以不包括输入/输出模块1110(I/O)、输入设备1112以及输出设备1114,仅作为网络中的一台计算机设备。计算机设备1102还可以包括一个或多个网络接口1120,其用于经由一个或多个通信链路1122与其他设备交换数据。一个或多个通信总线1124将上文所描述的部件耦合在一起。

通信链路1122可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1122可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。

对应于图1至图3、图5、图7或图10中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。

本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图3、图5、图7或图10中的方法。

应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。

还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。

另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:多数据类型参数化定义及程序引用处理方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!