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

用于问题定位的方法及装置

文献发布时间:2023-06-19 12:05:39


用于问题定位的方法及装置

技术领域

本公开涉及数据处理技术领域,具体涉及到一种用于问题定位的方法及装置。

背景技术

前端页面出现与需求不符或者报错等不是预期结果,目前通过前端和后端的特性进行问题定位,例如前台的bug通常是功能、界面和兼容性等有关;后台的bug与逻辑、性能和安全性有关;与数据相关的错误、排序问题大多是后台问题,对于APP页面toast提示可能是后台给的,可能是APP给的,属于前后端自己的定义。

发明内容

本公开的主要目的在于提供一种用于问题定位的方法及装置

为了实现上述目的,根据本公开的第一方面,提供了一种用于问题定位的方法,包括:对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据;对抓包数据中的目标参数进行修改,得到修改数据;基于修改数据所对应的传输数据,模拟客户端和服务端之间数据传输过程,以定位得到数据传输报错问题是否属于客户端错误。

可选地,定位得到数据传输报错问题是否属于客户端错误包括:如果在模拟过程中,在客户端回显的数据包括所述目标参数,则数据传输报错问题不属于客户端错误;如果在模拟过程中,在客户端回显的数据不包括所述目标参数,则数据传输报错问题属于客户端错误。

可选地,对抓包数据中的目标参数进行修改,得到修改数据包括:对抓包数据中服务端返回的接口数据中的目标参数进行修改,得到修改数据。

可选地,对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据包括:对所述客户端向所述服务端发送的请求数据、所述服务端向所述客户端发送的返回数据进行数据抓包,得到抓包数据。

根据本公开的第二方面,提供了一种用于问题定位的装置,包括:抓包单元,被配置成对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据;修改单元,被配置成对抓包数据中的目标参数进行修改,得到修改数据;模拟单元,被配置成基于修改数据所对应的传输数据,模拟客户端和服务端之间数据传输过程,以定位得到数据传输报错问题是否属于客户端错误。

可选地,所述定位得到数据传输报错问题是否属于客户端错误包括:如果在模拟过程中,在客户端回显的数据包括所述目标参数,则数据传输报错问题不属于客户端错误;如果在模拟过程中,在客户端回显的数据不包括所述目标参数,则数据传输报错问题属于客户端错误。

可选地,修改单元进一步被配置成:对抓包数据中服务端返回的接口数据中的目标参数进行修改,得到修改数据。

可选地,对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据包括:对所述客户端向所述服务端发送的请求数据、所述服务端向所述客户端发送的返回数据进行数据抓包,得到抓包数据。

根据本公开的第三方面,提供了一种计算机可读存储介质,存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面任意一项实施例所述的用于问题定位的方法。

根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项实施例所述的用于问题定位的方法。

在本公开实施例中,首先对客户端和服务端之间传输的数据进行抓包,得到抓包数据;对抓包数据中的目标参数进行修改,得到修改数据;基于修改数据所对应的传输数据,模拟客户端和服务端之间数据传输过程,以定位得到数据传输报错问题是否属于客户端错误。通过对抓包数据进行参数修改,并重新模拟数据传输过程,定位错误问题属于前端还是后端。

附图说明

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

图1是根据本公开实施例用于问题定位的方法流程图;

图2是根据本公开实施例的用于问题定位的装置结构图;

图3是根据本公开实施例的电子设备的示意图。

具体实施方式

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

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

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

根据本公开实施例,提供了一种用于问题定位的方法,如图1所示,该方法包括如下的步骤101至步骤103:

步骤101:对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据。

在本实施例中,定位问题可以包括如下情形:第一,如需求变更,后台开发人员没有及时更新接口文档,导致前端开发人员不了解接口已重新修改,按照之前的前端方式传参,导致前端传参错误而报错。第二,接口文档描述不清楚,导致不了解接口信息,从而无法定位是前端问题还是后端问题。第三,随着技术信息的发展,部分手机不再支持安装证书进行抓包的功能,导致无法了解app的接口信息,从而导致无法定位前端还是后端问题。

具体地,可以基于协议代理工具实现本实施例的方法。在客户端和服务端进行通信时,会出现请求未返回数据、返回错误数据、返回不符合预期数据等问题,其原因可能是客户端入参错误,也可能是服务端处理错误等问题。基于协议代理工具(例如,可以是Charles工具)对传输的数据进行抓包,基于抓包数据定位前后端的问题。

作为本实施一种可选的实现方式,对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据包括:对所述客户端向所述服务端发送的请求数据、所述服务端向所述客户端发送的返回数据进行数据抓包,得到抓包数据。

在本实施例中,可以对服务端返回的数据抓包、对请求端发送的请求数据抓包、对请求端的请求数据和/或服务端返回的数据抓包。

步骤102:对抓包数据中的目标参数进行修改,得到修改数据。

在本实施例中,可以预先确定需要抓包的数据,具体可以是根据设定的规则,确定哪些类别的数据需要抓包,包括:针对数据传输过程中,对数据接口文档中数据接口信息进行抓包。对抓包的数据进行修改可以是对返回的接口信息进行修改。

作为本实施例一种可选的实现方式,对抓包数据中的目标参数进行修改,得到修改数据包括:对抓包数据中服务端返回的接口数据中的目标参数进行修改,得到修改数据。

在本可选的实现方式中,目标参数可以是接口信息中的参数,以返回数据为以下数据为例,可以修改其中请求结果参数type_name为"返现"

基于修改后的返回数据,重新模拟数据传输过程,定位问题。

步骤103:基于修改数据所对应的传输数据,模拟客户端和服务端之间数据传输过程,以定位得到数据传输报错问题是否属于客户端错误。

作为本实施例一种可选的实现方式,所述定位得到数据传输报错问题是否属于客户端错误包括:如果在模拟过程中,在客户端回显的数据包括所述目标参数,则数据传输报错问题不属于客户端错误;如果在模拟过程中,在客户端回显的数据不包括目标参数,则数据传输报错问题属于客户端错误。

在本实施例中,在步骤102修改接口数据中的参数后,可以重新模拟数据传输过程,模拟过程可以是在内网或者外网中,在模拟过程中判断客户端的显示界面是否显示修改后的目标参数,如果前端正确取值(不存在问题),那么修改之后就可以显示修改后的参数,反之不显示。例如,以上述中的“返现”为例,如果在模拟过程中,显示页面显示“返现”,则前端无问题,否则如果不显示,则前端在处理服务端返回数据时候出错(例如,解析错误等等)

本实施例基于协议代理工具进行抓包的过程可以包括:

1.charles软件设置,点击菜单“Proxy”->“Proxy Setting”,打开设置代理窗口。

2.手机端设置,手机端要与计算机在同一个局域网内,打开计算机设置,查看本机IP。

3.设置手机端的wifi代理,ip为上一步看到的ip,端口号为第二步设置的端口号。

4.然后打开任意手机app,如果有网络请求,charles会提示是否允许代理权限,我们点击“allow"。

5.这样charles软件就显示了通过手机app的网络请求,如果是https请求,需要安装证书。

本公开实施例可以精准定位问题,从而更加提高开发和交付效率。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本公开实施例,还提供了一种用于实施上述用于问题定位的方法的装置,如图2所示,该装置抓包单元201,被配置成对所述客户端和所述服务端之间传输的数据进行抓包,得到抓包数据;修改单元202,被配置成对抓包数据中的目标参数进行修改,得到修改数据;模拟单元203,被配置成基于修改数据所对应的传输数据,模拟客户端和服务端之间数据传输过程,以定位得到数据传输报错问题是否属于客户端错误。

作为本实施例一种可选的实现方式,所述定位得到数据传输报错问题是否属于客户端错误包括:如果在模拟过程中,在客户端回显的数据包括所述目标参数,则数据传输报错问题不属于客户端错误;如果在模拟过程中,在客户端回显的数据不包括所述目标参数,则数据传输报错问题属于客户端错误。

作为本实施例一种可选的实现方式,修改单元202进一步被配置成:对抓包数据中服务端返回的接口数据中的目标参数进行修改,得到修改数据。

作为本实施例一种可选的实现方式,抓包单元201进一步被配置成:对所述客户端向所述服务端发送的请求数据、所述服务端向所述客户端发送的返回数据进行数据抓包,得到抓包数据。

本公开实施例提供了一种电子设备,如图3所示,该电子设备包括一个或多个处理器31以及存储器32,图3中以一个处理器31为例。

该控制器还可以包括:输入装置33和输出装置34。

处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图3中以通过总线连接为例。

处理器31可以为中央处理器(CentralProcessingUnit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的控制方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的用于问题定位的方法。

存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置33可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。

一个或者多个模块存储在存储器32中,当被一个或者多个处理器31执行时,执行如图1所示的方法。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本公开的实施方式,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 用于问题定位的方法及装置
  • 车辆仿真环境的搭建方法、车辆系统问题定位方法及装置
技术分类

06120113160050