首页> 中国专利> 系统升级及测试方法、装置、计算机设备及可读存储介质

系统升级及测试方法、装置、计算机设备及可读存储介质

摘要

本发明涉及计算机测试技术领域,公开了一种系统升级及测试方法、装置、计算机设备及可读存储介质,包括:获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统;获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统;将所述原始系统和所述升级系统在生产环境中并行上线。本发明还涉及区块链技术,信息可存储于区块链节点中。本发明实现了对升级系统在生产环境下进行可靠性测试的目的,同时,升级系统一旦出现失败或错误,发送生产流量数据的用户端又能够得到原始系统发送的原始运算结果,保证了系统整体可靠性。

著录项

  • 公开/公告号CN112559012A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 平安银行股份有限公司;

    申请/专利号CN202011534380.9

  • 发明设计人 卓飞;

    申请日2020-12-23

  • 分类号G06F8/65(20180101);G06F11/36(20060101);

  • 代理机构11015 北京英特普罗知识产权代理有限公司;

  • 代理人程超

  • 地址 518001 广东省深圳市罗湖区深南东路5047号

  • 入库时间 2023-06-19 10:24:22

说明书

技术领域

本发明涉及计算机测试技术领域,尤其涉及一种系统升级及测试方法、装置、计算机设备及可读存储介质。

背景技术

通常的系统升级要么是直接下线原始系统并上线升级系统,要么直接在原始系统的基础上进行升级得到升级系统,通过这种方式所获得的升级系统,可能会很容易的通过测试环境中的系统升级测试。

但是,发明人意识到一旦将所述升级系统部署到生产环境中,因生产环境的多样化,及其中流量数据的复杂化,所述升级系统将会遇到很多其从未遇到过的流量数据,而对于这些流量数据,所述升级系统将无法对其进行准确的处理,最终导致所述流量数据无法获得相应准确的运算结果,导致系统的可靠性急剧降低。

发明内容

本发明的目的是提供一种系统升级及测试方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的升级系统无法对生产环境中未遇到过的流量数据进行准确的处理,导致所述流量数据无法获得相应准确的运算结果,造成系统的可靠性急剧降低的问题。

为实现上述目的,本发明提供一种系统升级及测试方法,包括:

获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统;

获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统;

将所述原始系统和所述升级系统在生产环境中并行上线,所述并行上线是所述原始系统和所述升级系统分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果,并将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端的进程。

上述方案中,所述根据所述映射文件修改所述原始系统中的原始变量得到待测系统之后,所述方法还包括:

向控制端发送伪代码,接收所述控制端通过所述伪代码构建的工作流程,将所述工作流程转为运算代码并将其载入所述待测系统中;其中,所述伪代码是与计算机函数及代码之间具有映射关系的可视化图形。

上述方案中,所述获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统的步骤,包括:

将所述原始系统和所述待测系统部署到测试环境中,以获取所述测试环境中的流量数据,所述流量数据为测试流量数据;

调用所述原始系统根据所述测试流量数据从数据服务器中获取原始数据,并运算所述原始数据得到原始测试结果;调用所述待测系统根据所述测试流量数据从数据服务器中获取待测数据,并运算所述待测数据得到待测测试结果;

判断所述原始测试结果和待测测试结果是否一致;若是,则判定所述待测系统通过所述测试环境的测试;若否,则判定所述待测系统未通过所述测试环境的测试,向控制端发送测试环境报错信息;

将通过所述测试环境测试的所述原始系统和所述待测系统,部署到灰度环境中以获取所述灰度环境中的流量数据,所述流量数据为从生产环境中获取的生产流量数据;

调用所述原始系统根据所述生产流量数据从数据服务器中获取原始数据,并运算所述原始数据得到原始灰度结果;调用所述待测系统根据所述生产流量数据从数据服务器中获取待测数据,并运算所述待测数据得到待测灰度结果;

判断所述原始灰度结果和待测灰度结果是否一致;若是,则判定所述待测系统通过所述灰度环境的测试,并将所述待测系统设为升级系统;若否,则判定所述待测系统未通过所述灰度环境的测试,向控制端发送灰度环境报错信息。

上述方案中,所述将所述原始系统和所述升级系统在生产环境中并行上线之后,所述方法还包括:

判断所述原始运算结果和所述升级运算结果是否一致;若是,则汇总所述原始运算结果和所述升级运算结果形成成功结果集,并将其保存在预置的成功堆栈中;若否,则汇总所述原始运算结果和所述升级运算结果形成失败结果集,并将其保存在预置的报错堆栈中。

上述方案中,所述将所述原始系统和所述升级系统在生产环境中并行上线之后,所述方法还包括:

从所述原始系统和所述升级系统并行上线之时开始计时,经过预置的评价期间后,判断所述报错堆栈中失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端;若否,则下线所述原始系统。

上述方案中,所述将所述原始系统和所述升级系统在生产环境中并行上线之后,所述方法还包括:

从所述原始系统和所述升级系统并行上线之时,开始计算生产流量数据的数据量,当所述数据量达到预置的评价阈值时,判断所述报错堆栈中的失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端;若否,则下线所述原始系统。

上述方案中,所述将所述报错堆栈中的失败结果集发送至控制端之后,所述方法还包括:

接收所述控制端根据所述失败结果集发送的保留信息或下线信息;根据所述保留信息使所述升级系统保留在所述生产环境中,及下线所述原始系统;或根据所述下线信息下线所述升级系统,及使所述原始系统保留在所述生成环境中;

获取所述控制端根据所述失败结果集对所述升级系统进行修复所得到的再升级系统,并将所述再升级系统部署在所述生产环境中,使其与所述原始系统并行上线;

所述接收所述控制端根据所述失败结果集发送的保留信息或下线信息之后,所述方法还包括:

将所述成功堆栈中的成功结果集和所述报错堆栈中的失败结果集,上传至区块链中。

为实现上述目的,本发明还提供一种系统升级及测试装置,包括:

升级模块,用于获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统。

测试模块,用于获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统。

并行上线模块,用于将所述原始系统和所述升级系统在生产环境中并行上线,所述并行上线是所述原始系统和所述升级系统分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果,并将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端的进程。

为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述系统升级及测试方法的步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述系统升级及测试方法的步骤。

本发明提供的系统升级及测试方法、装置、计算机设备及可读存储介质,通过流量数据对所述待测系统进行测试,并将通过所述测试的待测系统设为升级系统,以实现确定待测系统是否符合能够部署在生产环境的要求;通过将所述原始系统和所述升级系统在生产环境中并行上线,以分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果;将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端,既实现了对升级系统在生产环境下进行可靠性测试的目的,同时,升级系统一旦出现失败或错误,发送生产流量数据的用户端又能够得到原始系统发送的原始运算结果,保证了系统整体可靠性。

附图说明

图1为本发明系统升级及测试方法实施例一的流程图;

图2为本发明系统升级及测试方法实施例二中系统升级及测试方法的环境应用示意图;

图3是本发明系统升级及测试方法实施例二中系统升级及测试方法的具体方法流程图;

图4为本发明系统升级及测试装置实施例三的程序模块示意图;

图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的系统升级及测试方法、装置、计算机设备及可读存储介质,适用于计算机测试技术领域,为提供一种基于升级模块、测试模块和并行上线模块的系统升级及测试方法。本发明通过获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统;获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统;将所述原始系统和所述升级系统在生产环境中并行上线。

实施例一:

请参阅图1,本实施例的一种系统升级及测试方法,包括:

S101:获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统。

S103:获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统。

S104:将所述原始系统和所述升级系统在生产环境中并行上线,所述并行上线是所述原始系统和所述升级系统分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果,并将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端的进程。

于本实施例中,通过从数据服务器中获取原始系统和映射文件,其中,所述原始系统中具有用于获取原始数据的原始变量,所述映射文件是反映原始变量和待测变量之间映射关系的数据信息,根据所述映射关系获取与所述原始系统中原始变量对应的待测变量,复制所述原始系统得到待升级系统,将所述待升级系统中的原始变量修改为所述待测变量得到待测系统,实现对原始系统进行快速升级。

通过获取流量数据,通过所述流量数据对所述待测系统进行测试,并将通过所述测试的待测系统设为升级系统,以实现确定待测系统是否符合能够部署在生产环境的要求。需要说明的是,由于本申请因数据服务器的系统升级,而配合的系统升级;因此,原始系统和待测系统在运算同一流量数据时:如果得到的原始运算结果和待测运算结果的内容一致,则会判定所述待测系统通过所述测试;如果得到的原始运算结果和待测运算结果的内容不一致,则会判定所述待测系统通过所述测试。

通过将所述原始系统和所述升级系统在生产环境中并行上线,以分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果;将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端,因此,用户端将接收到两个运算结果,其中,以原始运算结果为准,由于原始系统是可靠的,故,即使升级系统因其缺陷出现运算错误或运算失败,也不会导致对生产流量数据进行运算得到运算结果的操作出现失败或错误,既实现了对升级系统在生产环境下进行可靠性测试的目的,同时,升级系统一旦出现失败或错误,发送生产流量数据的用户端又能够得到原始系统发送的原始运算结果,保证了系统整体可靠性。

实施例二:

本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。

下面,以在运行有系统升级及测试方法的服务器中,对原始系统进行升级并将原始系统和升级系统在生产环境中并行上线为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。

图2示意性示出了根据本申请实施例二的系统升级及测试方法的环境应用示意图。

在示例性的实施例中,系统升级及测试方法所在的服务器2通过网络分别连接控制端3和用户端4,同时,服务器2还通过网络连接数据服务器5;所述服务器2可以通过一个或多个网络提供服务,网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述控制端3和客户端4可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。

图3是本发明一个实施例提供的一种系统升级及测试方法的具体方法流程图,该方法具体包括步骤S201至S209。

S201:获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统。

为实现对原始系统进行快速升级,本步骤通过从数据服务器中获取原始系统和映射文件,其中,所述原始系统中具有用于获取原始数据的原始变量,所述映射文件是反映原始变量和待测变量之间映射关系的数据信息,根据所述映射关系获取与所述原始系统中原始变量对应的待测变量,复制所述原始系统得到待升级系统,将所述待升级系统中的原始变量修改为所述待测变量得到待测系统。

于本实施例中,将所述映射文件配置在所述待升级系统的配置中心中,调用所述待升级系统根据所述映射文件将其自身的原始变量修改为待测变量,此时,所述待升级系统将转为待测系统。因此,待升级系统仅需调用其配置中心中的映射文件,即可自动的完成变量的修改,无需人工手动作业,提高了系统升级效率。

具体地,所述原始系统包括原始运算模型和原始运算引擎,所述待测系统包括待测运算模型和待测运算引擎;所述数据服务器具有第一接口,所述原始变量与所述第一接口中的接口变量匹配,原始运算模型访问所述第一端口,以通过所述第一端口根据原始变量从数据服务器中获取变量数据,所述原始运算引擎对所述变量数据进行运算得到原始结果。于本实施例中,所述原始运算模型调用数据服务器的第一接口,并通过所述原始运算模型中定义的原始变量以获取所述数据服务器的获取原始数据,其中,所述原始变量是预先定义在所述原始运算模型中,用于从所述数据服务器中获取与所述原始变量对应的原始数据。

示例性地,假设所述原始运算模型是原始风控模型,所述数据服务器为人民银行服务器,所述第一接口为一代征信接口,所述原始风控模型访问所述一代征信接口,并将所述一代征信接口中与所述原始变量一致的接口变量设为目标变量,调用一代征信接口中与所述目标变量对应的接口方法,从所述数据服务器中获取与所述目标变量对应的原始数据,即:一代个人征信报告。

数据服务器升级后将开放第二接口,所述第二接口中具有接口变量;根据所述映射文件中的变量映射规则,将所述原始变量修改为所述变量映射规则所对应的待测变量,使所述待测变量与数据服务器的第二接口中的接口变量匹配,

假设所述待测运算模型是待测风控模型,所述第二接口为二代征信接口,所述待测风控模型访问所述二代征信接口,并将所述二代征信接口中与所述待测变量一致的接口变量设为目标变量,调用二代征信接口中与所述目标变量对应的接口方法,从所述数据服务器中获取与所述目标变量对应的待测数据,即:二代个人征信报告。

进一步地,所述原始运算引擎通过其中预置的风险评价规则对所述一代个人征信报告进行评价,得到一代个人风险评价信息;所述待测运算引擎通过其中预置的风险评价规则对二代个人征信报告进行评价,得到二代个人风险评价信息。

S202:向控制端发送伪代码,接收所述控制端通过所述伪代码构建的工作流程,将所述工作流程转为运算代码并将其载入所述待测系统中;其中,所述伪代码是与计算机函数及代码之间具有映射关系的可视化图形。

为便于控制端能够根据需要构建相应的待测运算引擎执行的规则流程,以满足多种业务请求的需要,本步骤通过向控制端发送伪代码,接收所述控制端通过所述伪代码构建的工作流程,将所述工作流程转为运算代码并将其载入所述待测运算引擎,提高了待测运算引擎的可扩展性。

在一个优选的实施例中,所述向控制端发送伪代码,接收所述控制端通过所述伪代码构建的工作流程,将所述工作流程转为运算代码并将其载入所述待测运算引擎的步骤,包括:

S21:通过预置的代码流程图工具生成伪代码,并将所述伪代码发送至所述控制端,其中,在所述代码流程图工具中,所述伪代码对应有相应的代码语句。

本步骤中,采用Flowcharts作为所述代码流程图工具,Flowcharts是由FrankGilberth在1921年最先提出的,最开始的全名是”Process Flow Charts”,即处理流程图表。其以符号的形式反映伪代码。例如:开始/结束符,凡事有始有终,这个椭圆符号代表流程的开始或结束。处理框,表示一个处理流程,表达方式为:动词+名词,比如:编辑视频,提交申请,发送给客户等;其中,不同任务的处理框对应着不同任务的代码语句。判定/条件,一个判断条件,在程序流程图中很常用,其对应的代码语句是if else,用菱形表示。数据(I/O),表示数据对象,用平行四边形表示,被定义为处理框的输入或输出。存储数据,表示将数据存储在如硬盘、内存或其它存储设备中,通常被定义为存储到数据库。

S22:获取控制端通过所述伪代码所构建的工作流程,提取所述工作流程中伪代码对应的代码语句。

示例性地,如果工作流程中包含了菱形,该菱形两端分别连接第一处理框和第二处理框,第一处理框是自身加一,第二处理框是与预置的参数值相加;那么,提取所述菱形对应的代码语句if else,所述第一处理框对应的语句i++,以及所述第二处理框对应的语句i=i+3,假设所述参数值为3。

S23:通过所述代码流程图工具根据所述工作流程中伪代码之间的关联关系,构建所述代码语句得到运算代码。

示例性地,基于上述举例,假设菱形中所输入的判定条件是i≥0,那么,

梳理所述伪代码之间的关联关系得到:如果n大于等于0,菱形中的数据(I/O)是输出至第一处理框的,如果i不大于等于0,菱形中的数据(I/O)是输出至第二处理框的;根据所述关联关系构建代码语句if else,代码语句i++,以及代码语句i=i+3,将得到如下运算代码:

int main(void)

{

inti;

scanf("%d",&i);

if(i>=0)

i=i++;

else

i=i+3;

printf("%d的风险值是:%d\i",i);

return 0;

S24:将所述运算代码载入所述待测系统的待测运算引擎中,以作为所述待测运算引擎的运算规则;提取所述运算代码中的变量,并将所述变量载入所述待测系统的待测运算模型,以作为所述待测运算模型的待测变量。

示例性地,基于上述举例,将所述运算代码载入待测运算引擎中,以对待测运算引擎进行扩展;同时,由于i作为所述待测运算引擎所需的变量,因此,将i作为所述待测运算模型的待测变量,以从数据服务器中获取i对应的值,也就是待测数据。

S203:获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统。

为确定待测系统是否符合能够部署在生产环境的要求,本步骤通过获取流量数据,通过所述流量数据对所述待测系统进行测试,并将通过所述测试的待测系统设为升级系统。

需要说明的是,由于本申请因数据服务器的系统升级,而配合的系统升级;因此,原始系统和待测系统在运算同一流量数据时:如果得到的原始运算结果和待测运算结果的内容一致,则会判定所述待测系统通过所述测试;如果得到的原始运算结果和待测运算结果的内容不一致,则会判定所述待测系统通过所述测试。

在一个优选的是实施例中,所述获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统的步骤,包括:

S31:将所述原始系统和所述待测系统部署到测试环境中,以获取所述测试环境中的流量数据,所述流量数据为测试流量数据。

本步骤中,所述测试流量数据是开发人员针对原始系统和待测系统所编写的,用于使所述原始系统和待测系统从数据服务器中获取原始数据和请求数据,并运算返回原始测试结果和待测测试结果的业务请求信息,例如:由指定人员提供的征信风险评价请求,其中可包括姓名,年龄,身份证号码。

S32:调用所述原始系统根据所述测试流量数据从数据服务器中获取原始数据,并运算所述原始数据得到原始测试结果;调用所述待测系统根据所述测试流量数据从数据服务器中获取待测数据,并运算所述待测数据得到待测测试结果。

本步骤中,调用所述原始运算模型获取所述测试环境中的测试流量数据,根据所述测试流量数据通过数据服务器的第一接口获取原始数据,调用所述原始运算引擎对所述原始数据进行运算得到原始测试结果;调用所述待测运算模型获取所述测试环境中的测试流量数据,根据所述测试流量数据通过数据服务器的第二接口获取待测数据,调用所述待测运算引擎对所述待测数据进行运算得到待测测试结果。

S33:判断所述原始测试结果和待测测试结果是否一致;若是,则判定所述待测系统通过所述测试环境的测试,并执行步骤S34;若否,则判定所述待测系统未通过所述测试环境的测试,向控制端发送测试环境报错信息。

本步骤中,通过预置的正则表达式,分别获取原始测试结果和待测测试结果中的结果信息,并对比所述结果信息是否一致;若是,则判定所述待测系统通过所述测试环境的测试;若否,则判定所述待测系统未通过所述测试环境的测试,向控制端发送测试环境报错信息。

示例性地,所述正则表达式为评价结果,如果原始测试结果中与“评价结果”对应的结果信息是A,但待测测试结果中与“评价结果”对应的结果信息是B,那么就判定所述结果信息是不一致的。

S34:将通过所述测试环境测试的所述原始系统和所述待测系统,部署到灰度环境中以获取所述灰度环境中的流量数据,所述流量数据为从生产环境中获取的生产流量数据。

本步骤中,所述生产流量数据是在生产环境中,由不特定的用户发送的,用于使所述原始系统和待测系统从数据服务器中获取原始数据和请求数据,并运算返回原始测试结果和待测测试结果的业务请求信息,其中可包括姓名,年龄,身份证号码。

于本实施例中,所述获取所述灰度环境中的流量数据之前,包括:

从所述生产环境中获取预置流量阈值的生产流量数据,并将所述生产流量数据载入所述灰度环境中。

本步骤通过将原始系统和待测系统部署在灰度环境中,以避免不成熟的待测系统不会影响到生产环境中正常业务操作,同时,通过引入生产环境中的生产流量数据,以对所述待测系统进行测试,实现了以最真实的应用场景对待测系统进行测试的效果,不仅将待测系统对生产环境的干扰降到最低,同时还保证了对待测系统测试的准确性。

S35:调用所述原始系统根据所述生产流量数据从数据服务器中获取原始数据,并运算所述原始数据得到原始灰度结果;调用所述待测系统根据所述生产流量数据从数据服务器中获取待测数据,并运算所述待测数据得到待测灰度结果。

本步骤中,调用所述原始运算模型获取所述灰度环境中的生产流量数据,根据所述生产流量数据通过数据服务器的第一接口获取原始数据,调用所述原始运算引擎对所述原始数据进行运算得到原始灰度结果;调用所述待测运算模型获取所述灰度环境中的生产流量数据,根据所述生产流量数据通过数据服务器的第二接口获取待测数据,调用所述待测运算引擎对所述待测数据进行运算得到待测灰度结果。

S36:判断所述原始灰度结果和待测灰度结果是否一致;若是,则判定所述待测系统通过所述灰度环境的测试,并将所述待测系统设为升级系统;若否,则判定所述待测系统未通过所述灰度环境的测试,向控制端发送灰度环境报错信息。

本步骤中,通过预置的正则表达式,分别获取原始灰度结果和待测灰度结果中的结果信息,并对比所述结果信息是否一致;若是,则判定所述待测系统通过所述灰度环境的测试,并将所述待测系统设为升级系统;若否,则判定所述待测系统未通过所述灰度环境的测试,向控制端发送灰度环境报错信息。

示例性地,所述正则表达式为评价结果,如果原始灰度结果中与“评价结果”对应的结果信息是A,但待测灰度结果中与“评价结果”对应的结果信息是B,那么就判定所述结果信息是不一致的。

S204:将所述原始系统和所述升级系统在生产环境中并行上线,所述并行上线是所述原始系统和所述升级系统分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果,并将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端的进程。

为确保升级系统的部署不会因其缺陷,导致生产环境中生产流量数据的处理出现失败或错误,本步骤通过将所述原始系统和所述升级系统在生产环境中并行上线,以分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果;将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端,因此,用户端将接收到两个运算结果,其中,以原始运算结果为准,由于原始系统是可靠的,故,即使升级系统因其缺陷出现运算错误或运算失败,也不会导致对生产流量数据进行运算得到运算结果的操作出现失败或错误,既实现了对升级系统在生产环境下进行可靠性测试的目的,同时,升级系统一旦出现失败或错误,发送生产流量数据的用户端又能够得到原始系统发送的原始运算结果,保证了系统整体可靠性。

S205:判断所述原始运算结果和所述升级运算结果是否一致;若是,则汇总所述原始运算结果和所述升级运算结果形成成功结果集,并将其保存在预置的成功堆栈中;若否,则汇总所述原始运算结果和所述升级运算结果形成失败结果集,并将其保存在预置的报错堆栈中。

为验证所述升级系统在生产环境中能否可靠稳定的工作,本步骤通过判断所述原始运算结果和所述升级运算结果是否一致;若是,则汇总所述原始运算结果和所述升级运算结果形成成功结果集,并将其保存在预置的成功堆栈中;若否,则汇总所述原始运算结果和所述升级运算结果形成失败结果集,并将其保存在预置的报错堆栈中。

在一个优选的实施例中,判断所述原始运算结果和所述升级运算结果是否一致的步骤,包括:

S51:调用预置的正则表达式,获取原始运算结果中与所述正则表达式对应的第一结果信息;

S52:调用所述正则表达式获取所述升级运算结果中,与所述正则表达式对应的第二结果信息;

S53:对比所述第一结果信息和第二结果信息是否一致,以实现判断原始运算结果和所述升级运算结果是否一致的技术效果。

示例性地,如果所述正则表达式为风险分值,那么,调用“风险分值”的正则表达式,从原始运算结果中获得第一结果信息,如:97分,调用“风险分值”的正则表达式,从升级运算结果中获得第二结果信息,如:80分,在最后,对比第一结果信息和第二结果信息是否一致。获知第一结果信息和第二结果信息不一致,则汇总所述原始运算结果和所述升级运算结果形成失败结果集,并将其保存在报错堆栈中。

于本实施例中,所述S205在图3中采用以下标注展示:

S205-1:判断所述原始运算结果和所述升级运算结果是否一致;

S205-2:若是,则汇总所述原始运算结果和所述升级运算结果形成成功结果集,并将其保存在预置的成功堆栈中;

S205-3:若否,则汇总所述原始运算结果和所述升级运算结果形成失败结果集,并将其保存在预置的报错堆栈中。

S206:从所述原始系统和所述升级系统并行上线之时开始计时,经过预置的评价期间后,判断所述报错堆栈中失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端并执行S208;若否,则下线所述原始系统。

由于原始系统和升级系统如果长时间的部署在生产环境中,并获得两个运算结果,会导致服务器长期处于高运算负载压力之下,因此,为在可控的限度内对升级系统的可靠性进行评价,以适时的下线原始系统,实现在所述服务器的运算负载的承受范围内对系统进行升级,本步骤通过从所述原始系统和所述升级系统并行上线之时开始计时,经过预置的评价期间后,判断所述报错堆栈中失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端并执行S208;若否,则下线所述原始系统。

其中,所述评价期间可根据需要设置,如:1小时,24小时,720小时等。

在此评价期间内:如果失败结果集的数量(例如:3个)没有超过报错阈值(例如:5个),那么就可以认为该升级系统是可以独立部署在生产环境中的,此时,下线所述原始系统即可;如果失败结果集的数量(例如:3个)超过了报错阈值(例如:1个),那么就认为该升级系统是无法独立部署在生产环境中的,需要开发人员对其进行修复方可再次测试判断。

对于仅从数据量维度对升级系统进行评价,难以使升级系统经历完整的数据周期(如:凌晨时段流量数据较少,但中午及下午时段流量数据呈高发态势),因此,本步骤从时间维度,对升级系统的出错率进行考评,以实现对升级系统的可靠性进行评价。

于本实施例中,所述S206在图3中采用以下标注展示:

S206-1:从所述原始系统和所述升级系统并行上线之时开始计时,经过预置的评价期间后,判断所述报错堆栈中失败结果集的数量是否超过预置的报错阈值;

S206-2:若是,则将所述报错堆栈中的失败结果集发送至控制端并执行S208;

S206-3:若否,则下线所述原始系统。

S207:从所述原始系统和所述升级系统并行上线之时,开始计算生产流量数据的数据量,当所述数据量达到预置的评价阈值时,判断所述报错堆栈中的失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端并执行S208;若否,则下线所述原始系统。

由于原始系统和升级系统如果长时间的部署在生产环境中,并获得两个运算结果,会导致服务器长期处于高运算负载压力之下,因此,为在可控的限度内对升级系统的可靠性进行评价,以适时的下线原始系统,实现在所述服务器的运算负载的承受范围内对系统进行升级,从所述原始系统和所述升级系统并行上线之时,开始计算生产流量数据的数据量,当所述数据量达到预置的评价阈值时,判断所述报错堆栈中的失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端并执行S208;若否,则下线所述原始系统。

其中,所述评价阈值可根据需要设置,如:数据量为1000个业务请求。

在此评价阈值的数据量中:如果失败结果集的数量(例如:3个)没有超过报错阈值(例如:5个),那么就可以认为该升级系统是可以独立部署在生产环境中的,此时,下线所述原始系统即可;如果失败结果集的数量(例如:3个)超过了报错阈值(例如:1个),那么就认为该升级系统是无法独立部署在生产环境中的,需要开发人员对其进行修复方可再次测试判断。

为避免仅从时间维度对升级系统进行评价,使其一旦长时间处于流量数据的数据量较低的时段时,导致升级系统无法充分的被考评,因此,本步骤从流量数据的数据量维度,对升级系统的出错率进行考评,以实现对升级系统的可靠性进行评价。

于本实施例中,所述S207在图3中采用以下标注展示:

S207-1:从所述原始系统和所述升级系统并行上线之时,开始计算生产流量数据的数据量,当所述数据量达到预置的评价阈值时,判断所述报错堆栈中的失败结果集的数量是否超过预置的报错阈值;

S207-2:若是,则将所述报错堆栈中的失败结果集发送至控制端并执行S208;

S207-3:若否,则下线所述原始系统。

S208:接收所述控制端根据所述失败结果集发送的保留信息或下线信息;

根据所述保留信息使所述升级系统保留在所述生产环境中,及下线所述原始系统;或

根据所述下线信息下线所述升级系统,及使所述原始系统保留在所述生成环境中并执行S209。

为避免升级系统因较小的误差或错误造成升级系统下线,导致开发人员因很小的修复或改动,而需要对升级系统进行复杂的修复及部署、下线操作,造成系统升级操作复杂化的问题,本步骤通过接收所述控制端根据所述失败结果集发送的保留信息或下线信息;根据所述保留信息使所述升级系统保留在所述生产环境中,及下线所述原始系统;或根据所述下线信息下线所述升级系统,及使所述原始系统保留在所述生成环境中的方式,将失败结果集交由控制端的开发人员来判断;如果认为升级系统中的错误或误差可在生产环境中直接修复,那么发送保留信息即可;如果认为升级系统中的错误或误差无法在生产环境中直接修复,那么需要发送下线信息。

如此一来,本步骤给了开发人员极大的修复方式的选择余地,进而避免了开发人员因很小的修复或改动,而需要对升级系统进行复杂的修复及部署、下线操作,造成系统升级操作复杂化的问题。

于本实施例中,所述S208在图3中采用以下标注展示:

S208-1:接收所述控制端根据所述失败结果集发送的保留信息或下线信息;

S208-2:根据所述保留信息使所述升级系统保留在所述生产环境中,及下线所述原始系统;

S208-3:根据所述下线信息下线所述升级系统,及使所述原始系统保留在所述生成环境中并执行S209。

优选的,所述接收所述控制端根据所述失败结果集发送的保留信息或下线信息之后,所述方法还包括:

将所述成功堆栈中的成功结果集和所述报错堆栈中的失败结果集,上传至区块链中。

基于成功结果集和失败结果集得到对应的摘要信息,具体来说,摘要信息由成功结果集和失败结果集进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证成功结果集和失败结果集是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

S209:获取所述控制端根据所述失败结果集对所述升级系统进行修复所得到的再升级系统,并将所述再升级系统部署在所述生产环境中,使其与所述原始系统并行上线,再执行所述S205;

为保证获得的再升级系统的可靠性,本步骤通过将所述再升级系统部署在所述生产环境中,使其与所述原始系统并行上线,并再次执行所述S205,以对再升级系统的可靠性进行验证,保证了最终上线的升级系统能够可靠稳定的运算生产流量数据,并反馈准确的运行结果。

实施例三:

请参阅图4,本实施例的一种系统升级及测试装置1,包括:

升级模块11,用于获取原始系统和映射文件,根据所述映射文件修改所述原始系统中的原始变量得到待测系统,以升级所述原始系统。

测试模块13,用于获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统。

并行上线模块14,用于将所述原始系统和所述升级系统在生产环境中并行上线,所述并行上线是所述原始系统和所述升级系统分别通过所述生产环境中的生产流量数据,分别获得原始运算结果和升级运算结果,并将所述原始运算结果和待测运算结果反馈至发送所述生产流量数据的用户端的进程。

可选的,所述系统升级及测试装置1还包括:

代码新增模块12,用于向控制端发送伪代码,接收所述控制端通过所述伪代码构建的工作流程,将所述工作流程转为运算代码并将其载入所述待测系统中;其中,所述伪代码是与计算机函数及代码之间具有映射关系的可视化图形。

可选的,所述系统升级及测试装置1还包括:

结果判断模块15,用于判断所述原始运算结果和所述升级运算结果是否一致;若是,则汇总所述原始运算结果和所述升级运算结果形成成功结果集,并将其保存在预置的成功堆栈中;若否,则汇总所述原始运算结果和所述升级运算结果形成失败结果集,并将其保存在预置的报错堆栈中。

可选的,所述系统升级及测试装置1还包括:

时间评价模块16,用于从所述原始系统和所述升级系统并行上线之时开始计时,经过预置的评价期间后,判断所述报错堆栈中失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端并调用系统处理模块18;若否,则下线所述原始系统。

可选的,所述系统升级及测试装置1还包括:

数据量评价模块17,用于从所述原始系统和所述升级系统并行上线之时,开始计算生产流量数据的数据量,当所述数据量达到预置的评价阈值时,判断所述报错堆栈中的失败结果集的数量是否超过预置的报错阈值;若是,则将所述报错堆栈中的失败结果集发送至控制端并调用系统处理模块18;若否,则下线所述原始系统。

可选的,所述系统升级及测试装置1还包括:

系统处理模块18,用于接收所述控制端根据所述失败结果集发送的保留信息或下线信息;根据所述保留信息使所述升级系统保留在所述生产环境中,及下线所述原始系统;或根据所述下线信息下线所述升级系统,及使所述原始系统保留在所述生成环境中并调用再测试模块19。

可选的,所述系统升级及测试装置1还包括:

再测试模块19,用于获取所述控制端根据所述失败结果集对所述升级系统进行修复所得到的再升级系统,并将所述再升级系统部署在所述生产环境中,使其与所述原始系统并行上线,再调用结果判断模块15。

本技术方案应用于计算机测试技术领域,通过获取流量数据并通过所述流量数据对所述待测系统进行测试,及将通过所述测试的待测系统设为升级系统,再将所述原始系统和所述升级系统在生产环境中并行上线的方式,以实现对升级系统测试流程的改进,进而完善计算机系统的测试管理。

实施例四:

为实现上述目的,本发明还提供一种计算机设备6,实施例三的系统升级及测试装置的组成部分可分散于不同的计算机设备中,计算机设备6可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器61、处理器62,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

本实施例中,存储器61(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的系统升级及测试装置的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行系统升级及测试装置,以实现实施例一和实施例二的系统升级及测试方法。

实施例五:

为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器62执行时实现相应功能。本实施例的计算机可读存储介质用于存储系统升级及测试装置,被处理器62执行时实现实施例一和实施例二的系统升级及测试方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号