掌桥专利:专业的专利平台
掌桥专利
首页

一种问题复现处理方法、装置及系统

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及计算机技术领域,更具体的,涉及一种问题复现处理方法、装置及系统。

背景技术

系统在开发完成之后,都会在测试环境中进行测试,在测试没有问题之后投入使用。但是,在系统的日常使用过程中依然可能出现报错的情况。

目前,在监测到系统报错之后,一般在准生产环境或测试环境中对用户的操作进行模拟。但是,在准生产环境对用户的操作进行模拟会影响系统的正常使用,而在测试环境中对用户的操作进行模拟无法准确复现问题,导致运维人员无法及时定位并解决问题。

发明内容

有鉴于此,本发明提供了一种问题复现处理方法、装置及系统,在不影响系统正常使用的基础上,实现在模拟服务端准确复现问题,便于运维人员及时定位并解决问题。

为了实现上述发明目的,本发明提供的具体技术方案如下:

第一方面,本发明实施例公开了一种问题复现处理方法,应用于服务端,所述方法包括:

在检测到系统报错的情况下,创建所述服务端对应的模拟服务端;

提示用户在客户端进行重复操作;

在获取用户授权的情况下,控制代理服务器拦截用户在客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到所述模拟服务端,实现在所述模拟服务端的问题复现。

在一些实施例中,所述创建所述服务端对应的模拟服务端,包括:

获取所述服务器部署的系统软件版本号、运行环境以及系统所调用数据;

通过docker镜像的方式,构建与所述服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的所述模拟服务端。

在一些实施例中,所述控制代理服务器拦截用户在客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到所述模拟服务端,包括:

向所述代理服务器发送携带有用户标识的拦截转发指令,使所述代理服务器拦截携带有所述用户标识的所述http请求,并将所述http请求转发到所述模拟服务端。

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

在用户在客户端进行重复操作的过程中,获取用户输入的业务数据,使运维人员根据所述业务数据定位系统报错的原因。

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

在运维人员在所述模拟服务端进行系统测试,并在系统测试过程中未检测到系统报错的情况下,向所述代理服务器发送携带有所述用户标识的停止拦截转发指令,使所述代理服务器停止拦截并转发携带有所述用户标识的所述http请求。

在一些实施例中,在向所述代理服务器发送携带有所述用户标识的停止拦截转发指令之后,所述方法还包括:

关闭所述模拟服务端。

第二方面,本发明实施例公开了一种问题复现处理装置,应用于服务端,所述装置包括:

模拟服务端创建单元,用于在检测到系统报错的情况下,创建所述服务端对应的模拟服务端;

重复操作提示单元,用于提示用户在客户端进行重复操作;

问题复现单元,用于在获取用户授权的情况下,控制代理服务器拦截用户在客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到所述模拟服务端,实现在所述模拟服务端的问题复现。

在一些实施例中,所述模拟服务端创建单元,具体用于:

获取所述服务器部署的系统软件版本号、运行环境以及系统所调用数据;

通过docker镜像的方式,构建与所述服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的所述模拟服务端。

在一些实施例中,所述问题复现单元,具体用于:

向所述代理服务器发送携带有用户标识的拦截转发指令,使所述代理服务器拦截携带有所述用户标识的所述http请求,并将所述http请求转发到所述模拟服务端。

在一些实施例中,所述装置还包括:

业务数据获取单元,用于在用户在客户端进行重复操作的过程中,获取用户输入的业务数据,使运维人员根据所述业务数据定位系统报错的原因。

在一些实施例中,所述装置还包括:

停止拦截指令发送单元,用于在运维人员在所述模拟服务端进行系统测试,并在系统测试过程中未检测到系统报错的情况下,向所述代理服务器发送携带有所述用户标识的停止拦截转发指令,使所述代理服务器停止拦截并转发携带有所述用户标识的所述http请求。

在一些实施例中,所述装置还包括:

模拟服务端关闭单元,用于在向所述代理服务器发送携带有所述用户标识的停止拦截转发指令之后,关闭所述模拟服务端。

一种问题复现处理系统,包括:客户端、服务端以及代理服务器;

所述服务端,用于执行第一方面中任一实现方式描述的问题复现处理方法;

所述代理服务器,用于在所述服务端的控制下,拦截用户在所述客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到模拟服务端,实现在所述模拟服务端的问题复现。

相对于现有技术,本发明的有益效果如下:

本发明公开的一种问题复现处理方法、装置及系统,在检测到系统报错的情况下,快速创建服务端对应的模拟服务端,由于模拟服务端与服务端的运行环境与数据一致,通过控制代理服务器拦截用户在客户端进行重复操作时客户端向服务端发送的http请求,并将该http请求转发到模拟服务端,能实现在模拟服务端准确复现问题,且不影响系统正常使用,便于运维人员及时定位并解决问题。

附图说明

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

图1为本发明实施例公开的一种问题复现处理方法的流程示意图;

图2为本发明实施例公开的一种问题复现处理方法的部分方法流程示意图;

图3为本发明实施例公开的另一种问题复现处理方法的流程示意图;

图4为本发明实施例公开的一种问题复现处理装置的结构示意图;

图5为本发明实施例公开的一种问题复现处理系统的结构示意图。

具体实施方式

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

针对用户在使用软件的过程中遇到的通过客户端界面体现出来的一系列系统报错问题,提供了一种问题复现处理方法、装置及系统,这些问题不一定是软件设计问题,可能是由于用户输入数据引起的,或者是由于用户对系统不熟悉而导致的。服务端在检测到系统报错的情况下,快速创建服务端对应的模拟服务端,由于模拟服务端与服务端的运行环境与数据一致,通过控制代理服务器拦截用户在客户端进行重复操作时客户端向服务端发送的http请求,并将该http请求转发到模拟服务端,能实现在模拟服务端准确复现问题,且不影响系统正常使用,便于运维人员及时定位并解决问题。

具体的,本实施例公开了一种问题复现处理方法,应用于服务端,请参阅图1,该方法具体包括以下步骤

S101:在检测到系统报错的情况下,创建服务端对应的模拟服务端;

其中,一种可选的检测系统报错的方式为:在客户端预先部署错误监控脚本,对用户界面上所有的用户操作进行劫持,并监控每一个用户操作事件后是否有系统报错信息,在监控到系统报错信息之后,客户端将该系统报错信息发送到服务端。

另一种可选的检测系统报错的方式为:服务端通过客户端的反馈信息中的错误码,获取系统报错信息。

请参阅图2,S101的一种可选的实施方式如下:

S201:获取服务器部署的系统软件版本号、运行环境以及系统所调用数据;

其中,运行环境包括软件环境和硬件环境,软件环境主要包括操作系统,如Windows、Linux等,硬件环境主要指硬件配置,如CPU、内存、显卡、硬盘等。

系统所调用数据指的是系统运行所需调用的数据,可以存储在数据库中,也可以存储在其他文件中。

S202:通过docker镜像的方式,构建与服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的模拟服务端。

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。

本实施例通过docker镜像的方式,构建模拟服务端,将模拟服务端配置为与服务器部署的系统软件版本号以及运行环境一致,并将系统所调用数据拷贝到模拟服务端,使模拟服务端与服务器部署的系统软件版本号、运行环境以及系统所调用数据一致。docker镜像为现有技术,这里不再赘述,本实施例的重点在于通过docker镜像的方式,构建与服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的模拟服务端,即使模拟服务端与用户操作的真实生产环境一致,实现在模拟服务端准确复现问题。

S102:提示用户在客户端进行重复操作;

在模拟服务端创建完成之后,服务端向客户端发送重复操作指令,通过客户端界面显示信息提示用户在客户端进行重复操作,重复操作指检测到系统报错之前用户对操作对象的所有操作,以操作对象为表单A为例,用户需要从打开A表单开始,对表单A进行重复操作,直到检测到系统报错之前的操作。

S103:在获取用户授权的情况下,控制代理服务器拦截用户在客户端进行重复操作时客户端向服务端发送的http请求,并将http请求转发到模拟服务端,实现在模拟服务端的问题复现。

需要说明的是,为了保护用户隐私以及避免后续不必要的纠纷,服务端需要在获取用户授权的情况下,执行问题复现。

在获取用户授权的情况下,服务端向代理服务器发送携带有用户标识的拦截转发指令,使代理服务器拦截携带有用户标识的http请求,并将http请求转发到模拟服务端,实现在模拟服务端的问题复现。

用户标识可以为用户账号、用户IP地址等,本发明不做具体限定。

可以理解的是,对于用户来说,其操作界面仍然是客户端界面,相当于在相同的生产环境又重复操作了一遍,也就是说,在问题复现过程中对用户来说是无感知的。

还可以理解的是,一个成熟的上线软件系统出现系统报错的概率很低,若为了便于后续分析报错原因一致记录所有用户操作数据存在一定的资源浪费,本实施例不需要在用户正常操作时记录用户操作数据,只是在检测到系统报错之后,需要用户协助在模拟服务端进行问题复现,降低了用户操作数据的存储量,避免了资源浪费。

并且,通过在用户正常操作时记录用户的鼠标、键盘操作无法精确还原用户输入了哪些数据,本实施例通过用户协助在客户端进行重复操作,能精确还原用户操作,如用户输入了哪些数据,通过精确问题复现,便于运维人员及时定位并解决问题。

可见,本实施例公开的一种问题复现处理方法,在检测到系统报错的情况下,快速创建服务端对应的模拟服务端,由于模拟服务端与服务端的运行环境与数据一致,通过控制代理服务器拦截用户在客户端进行重复操作时客户端向服务端发送的http请求,并将该http请求转发到模拟服务端,能实现在模拟服务端准确复现问题,且不影响系统正常使用,避免生产数据被污染,便于运维人员及时定位并解决问题。

进一步,请参阅图3,本实施例还公开了一种问题复现处理方法,应用于服务端,具体包括以下步骤:

S301:在检测到系统报错的情况下,创建服务端对应的模拟服务端;

S302:提示用户在客户端进行重复操作;

S303:在获取用户授权的情况下,控制代理服务器拦截用户在客户端进行重复操作时客户端向服务端发送的http请求,并将http请求转发到模拟服务端,实现在模拟服务端的问题复现;

S304:在用户在客户端进行重复操作的过程中,获取用户输入的业务数据,使运维人员根据业务数据定位系统报错的原因;

通过在模拟服务端部署数据采集脚本,自动收集用户输入的业务数据。

S305:在运维人员在模拟服务端进行系统测试,并在系统测试过程中未检测到系统报错的情况下,向代理服务器发送携带有用户标识的停止拦截转发指令,使代理服务器停止拦截并转发携带有用户标识的http请求;

也就是说,运维人员在根据业务数据定位系统报错原因,并针对系统报错原因对系统进行修复之后,系统测试也在模拟服务端进行,避免影响系统的正常使用,同时在模拟服务端进行系统测试,也能确认系统报错是否真的被修复。具体的,可以根据用户在客户端进行重复操作,在模拟服务端通过再次重复操作进行系统测试。

S306:关闭模拟服务端。

关闭模拟服务器,即销毁docker容器,

本实施例针对的是那些在开发、测试环境没有问题,而到了生产环境就出现问题的情况,而且可能是仅有个别用户操作时有问题,这种情况很多是因为数据问题或者环境问题导致的。因此,本实施例中在问题复现过程中仍然使用用户的客户端,接口数据部分完全使用生产一致的数据,为了不污染生产环境,通过docker镜像的方式,构建与服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的模拟服务端,用完之后关闭模拟服务器,即销毁docker容器,避免数据泄密问题。

基于上述实施例公开的一种问题复现处理方法,本实施例对应公开了一种问题复现处理装置,应用于服务端,请参阅图4,所述装置包括:

模拟服务端创建单元401,用于在检测到系统报错的情况下,创建所述服务端对应的模拟服务端;

重复操作提示单元402,用于提示用户在客户端进行重复操作;

问题复现单元403,用于在获取用户授权的情况下,控制代理服务器拦截用户在客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到所述模拟服务端,实现在所述模拟服务端的问题复现。

在一些实施例中,所述模拟服务端创建单元401,具体用于:

获取所述服务器部署的系统软件版本号、运行环境以及系统所调用数据;

通过docker镜像的方式,构建与所述服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的所述模拟服务端。

在一些实施例中,所述问题复现单元403,具体用于:

向所述代理服务器发送携带有用户标识的拦截转发指令,使所述代理服务器拦截携带有所述用户标识的所述http请求,并将所述http请求转发到所述模拟服务端。

在一些实施例中,所述装置还包括:

业务数据获取单元,用于在用户在客户端进行重复操作的过程中,获取用户输入的业务数据,使运维人员根据所述业务数据定位系统报错的原因。

在一些实施例中,所述装置还包括:

停止拦截指令发送单元,用于在运维人员在所述模拟服务端进行系统测试,并在系统测试过程中未检测到系统报错的情况下,向所述代理服务器发送携带有所述用户标识的停止拦截转发指令,使所述代理服务器停止拦截并转发携带有所述用户标识的所述http请求。

在一些实施例中,所述装置还包括:

模拟服务端关闭单元,用于在向所述代理服务器发送携带有所述用户标识的停止拦截转发指令之后,关闭所述模拟服务端。

请参阅图5,本实施例还公开了一种问题复现处理系统,包括:客户端100、服务端200以及代理服务器300;

所述服务端200,用于执行如下问题复现处理方法:

在检测到系统报错的情况下,创建所述服务端对应的模拟服务端;

提示用户在客户端进行重复操作;

在获取用户授权的情况下,控制代理服务器拦截用户在客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到所述模拟服务端,实现在所述模拟服务端的问题复现。

进一步,所述创建所述服务端对应的模拟服务端,包括:

获取所述服务器部署的系统软件版本号、运行环境以及系统所调用数据;

通过docker镜像的方式,构建与所述服务器部署的系统软件版本号、运行环境以及系统所调用数据一致的所述模拟服务端。

进一步,所述控制代理服务器拦截用户在客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到所述模拟服务端,包括:

向所述代理服务器发送携带有用户标识的拦截转发指令,使所述代理服务器拦截携带有所述用户标识的所述http请求,并将所述http请求转发到所述模拟服务端。

进一步,所述方法还包括:

在用户在客户端进行重复操作的过程中,获取用户输入的业务数据,使运维人员根据所述业务数据定位系统报错的原因。

进一步,所述方法还包括:

在运维人员在所述模拟服务端进行系统测试,并在系统测试过程中未检测到系统报错的情况下,向所述代理服务器发送携带有所述用户标识的停止拦截转发指令,使所述代理服务器停止拦截并转发携带有所述用户标识的所述http请求。

进一步,在向所述代理服务器发送携带有所述用户标识的停止拦截转发指令之后,所述方法还包括:

关闭所述模拟服务端。

所述代理服务器300,用于在所述服务端的控制下,拦截用户在所述客户端进行重复操作时所述客户端向所述服务端发送的http请求,并将所述http请求转发到模拟服务端,实现在所述模拟服务端的问题复现。

本实施例公开的一种问题复现处理系统,在检测到系统报错的情况下,快速创建服务端对应的模拟服务端,由于模拟服务端与服务端的运行环境与数据一致,通过控制代理服务器拦截用户在客户端进行重复操作时客户端向服务端发送的http请求,并将该http请求转发到模拟服务端,能实现在模拟服务端准确复现问题,且不影响系统正常使用,便于运维人员及时定位并解决问题。

需要说明的是,本发明提供的一种问题复现处理方法及装置,可应用于金融领域或其他领域,例如,可用于金融领域中的业务处理应用场景。其他领域为除金融领域之外的任意领域,例如,电力领域。上述仅为示例,并不对本发明提供的一种问题复现处理方法及装置的应用领域进行限定。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

上述各个实施例之间可任意组合,对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种问题复现处理方法、装置及系统
  • 一种通信设备不易复现问题的复现方法、系统和设备
技术分类

06120114693858