CN111625381B - 应用程序的运行场景复现方法、装置、设备及存储介质 - Google Patents

应用程序的运行场景复现方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111625381B
CN111625381B CN202010276350.6A CN202010276350A CN111625381B CN 111625381 B CN111625381 B CN 111625381B CN 202010276350 A CN202010276350 A CN 202010276350A CN 111625381 B CN111625381 B CN 111625381B
Authority
CN
China
Prior art keywords
terminal
data
server
target
time period
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.)
Active
Application number
CN202010276350.6A
Other languages
English (en)
Other versions
CN111625381A (zh
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.)
Tencent Music Entertainment Technology Shenzhen Co Ltd
Original Assignee
Tencent Music Entertainment Technology Shenzhen Co Ltd
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 Tencent Music Entertainment Technology Shenzhen Co Ltd filed Critical Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority to CN202010276350.6A priority Critical patent/CN111625381B/zh
Publication of CN111625381A publication Critical patent/CN111625381A/zh
Application granted granted Critical
Publication of CN111625381B publication Critical patent/CN111625381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提供了一种应用程序的运行场景复现方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务端数据,目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间;根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。本申请从被执行的操作、运行环境和服务端数据三个方面复现目标应用程序在目标时间段内的运行场景,能够更加真实贴切的复现目标应用程序出现异常时的运行场景,基于所复现的真实的运行场景,提高定位异常的原因的效率。

Description

应用程序的运行场景复现方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种应用程序的运行场景复现方法、装置、设备及存储介质。
背景技术
应用程序发布上线之后,需要收集运行过程中出现的异常问题,应用程序的开发人员或测试人员需要对出现异常问题时的场景进行复现,找到出现异常问题的原因,对异常问题进行修复。
应用程序的开发人员或测试人员会根据应用程序产生的错误报告或用户提交的问题描述,尝试对出现异常问题时的场景进行复现。对于出现概率较小的异常问题,应用程序的开发人员或测试人员可能进行多次尝试也无法复现出现该异常问题时的场景,难以找到出现异常问题的原因,不能及时对异常问题进行修复,导致修复异常问题的效率较低。
发明内容
本申请实施例提供了一种应用程序的运行场景复现方法、装置、设备及存储介质,能够提高修复异常的效率。所述技术方案如下:
根据本申请实施例的一方面,提供了一种应用程序的运行场景复现方法,应用在第二终端,所述方法包括:
获取第一终端在目标时间段内操作目标应用程序的操作数据、所述第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的第一服务器返回的第一服务端数据,所述目标时间段包括所述第一终端的目标应用程序在与所述第一服务器交互时出现异常的时间;
根据所述操作数据、所述运行数据和所述第一服务端数据,复现所述目标应用程序在所述目标时间段内的运行场景。
在一种可能的实现方式中,所述方法还包括:
根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据;
比对所述第一终端接收到的所述第一服务端数据与所述第一服务器发送的所述第二服务端数据,以定位所述异常的原因。
在另一种可能的实现方式中,所述根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,包括:
根据所述操作数据以及所述运行数据,生成数据获取请求;
向预设的第二服务器发送所述数据获取请求,并接收所述第二服务器根据所述数据获取请求返回的第一服务器在所述目标时间段向所述第一终端发送的服务端数据。
在另一种可能的实现方式中,所述根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,包括:
根据所述操作数据以及所述运行数据,生成数据获取请求;
根据所述数据获取请求,在第二终端本地预先存储的数据中查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据。
在另一种可能的实现方式中,所述根据所述操作数据、所述运行数据和所述第一服务端数据,复现所述目标应用程序在所述目标时间段内的运行场景,包括:
根据所述运行数据,配置与所述第一终端在所述目标时间段内相同的运行环境,以及根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;
基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景。
在另一种可能的实现方式中,所述获取第一终端在目标时间段内操作目标应用程序的操作数据、所述第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的第一服务器返回的第一服务端数据,包括:
接收第二服务器向第二终端发送的自动化执行文件,所述自动化执行文件包括第一终端在目标时间段内的操作数据、运行数据和第一服务端数据;
所述根据所述操作数据、所述运行数据和所述第一服务端数据,复现所述目标应用程序在所述目标时间段内的运行场景,包括:
执行所述自动化执行文件,其中所述自动化执行文件用于所述第二终端根据所述运行数据配置与所述第一终端在所述目标时间段内相同的运行环境,以及,根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景。
根据本申请实施例的另一方面,提供了一种应用程序的运行场景复现方法,应用在第二服务器,所述方法包括:
若第一终端的目标应用程序在与第一服务器交互时出现异常,确定对所述目标应用程序进行场景复现的目标时间段;
向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据,其中所述操作数据、所述运行数据和所述第一服务端数据用于所述第二终端复现所述目标应用程序在所述目标时间段内的运行场景。
在一种可能的实现方式中,所述方法还包括:
接收所述第二终端发送的数据获取请求,其中所述数据获取请求为所述第二终端根据所述操作数据以及所述运行数据生成的;
根据所述数据获取请求,查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据;
向所述第二终端返回查找到的第二服务端数据。
在另一种可能的实现方式中,所述向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据之前,所述方法还包括:
获取所述第一终端在所述目标时间段内的用户行为日志;
解析所述用户行为日志得到所述操作数据,所述操作数据包括被执行的操作和所述操作被执行的时间。
在另一种可能的实现方式中,所述向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据之前,所述方法还包括:
获取所述第一终端在所述目标时间段内的基础状态数据;
获取所述第一终端在所述目标时间段内的与所述目标应用程序关联的应用状态数据;
将所述基础状态数据和所述应用状态数据组成所述运行数据。
根据本申请实施例的另一方面,提供了一种应用程序的运行场景复现装置,应用在第二终端,所述装置包括:
第一获取模块,用于获取第一终端在目标时间段内操作目标应用程序的操作数据、所述第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的第一服务器返回的第一服务端数据,所述目标时间段包括所述第一终端的目标应用程序在与所述第一服务器交互时出现异常的时间;
复现模块,用于根据所述操作数据、所述运行数据和所述第一服务端数据,复现所述目标应用程序在所述目标时间段内的运行场景。
在一种可能的实现方式中,所述装置还包括:
所述第一获取模块,还用于根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据;
比对模块,用于比对所述第一终端接收到的所述第一服务端数据与所述第一服务器发送的所述第二服务端数据,以定位所述异常的原因。
在另一种可能的实现方式中,所述第一获取模块,还用于根据所述操作数据以及所述运行数据,生成数据获取请求;向预设的第二服务器发送所述数据获取请求,并接收所述第二服务器根据所述数据获取请求返回的第一服务器在所述目标时间段向所述第一终端发送的服务端数据。
在另一种可能的实现方式中,所述第一获取模块,还用于根据所述操作数据以及所述运行数据,生成数据获取请求;根据所述数据获取请求,在第二终端本地预先存储的数据中查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据。
在另一种可能的实现方式中,所述复现模块,还用于根据所述运行数据,配置与所述第一终端在所述目标时间段内相同的运行环境,以及根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景。
在另一种可能的实现方式中,所述第一获取模块,还用于接收第二服务器向第二终端发送的自动化执行文件,所述自动化执行文件包括第一终端在目标时间段内的操作数据、运行数据和第一服务端数据;
所述复现模块,还用于执行所述自动化执行文件,其中所述自动化执行文件用于所述第二终端根据所述运行数据配置与所述第一终端在所述目标时间段内相同的运行环境,以及,根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景。
根据本申请实施例的另一方面,提供了一种应用程序的运行场景复现装置,应用在第二服务器,所述装置包括:
确定模块,用于若第一终端的目标应用程序在与第一服务器交互时出现异常,确定对所述目标应用程序进行场景复现的目标时间段;
返回模块,用于向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据,其中所述操作数据、所述运行数据和所述第一服务端数据用于所述第二终端复现所述目标应用程序在所述目标时间段内的运行场景。
在一种可能的实现方式中,所述装置还包括:
接收模块,用于接收所述第二终端发送的数据获取请求,其中所述数据获取请求为所述第二终端根据所述操作数据以及所述运行数据生成的;
查找模块,用于根据所述数据获取请求,查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据;
所述返回模块,还用于向所述第二终端返回查找到的第二服务端数据。
在另一种可能的实现方式中,所述装置还包括:
获取所述第一终端在所述目标时间段内的用户行为日志;
解析所述用户行为日志得到所述操作数据,所述操作数据包括被执行的操作和所述操作被执行的时间。
在另一种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取所述第一终端在所述目标时间段内的基础状态数据;获取所述第一终端在所述目标时间段内的与所述目标应用程序关联的应用状态数据;
组成模块,用于将所述基础状态数据和所述应用状态数据组成所述运行数据。
根据本申请实施例的另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一可能实现方式所述的应用程序的运行场景复现方法。
根据本申请实施例的另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一可能实现方式所述的应用程序的运行场景复现方法。
根据本申请实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一可能实现方式所述的应用程序的运行场景复现方法。
在本申请实施例中,获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务端数据,该目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间;根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。上述技术方案,根据操作数据、运行数据和第一服务端数据,从被执行的操作、第一终端的运行环境和服务端数据三个方面复现目标应用程序在目标时间段内的运行场景,能够更加真实贴切的复现目标应用程序出现异常时的运行场景,基于所复现的真实的运行场景,能够减少寻找出现异常的原因的所消耗的时间和人力成本,提高定位异常的原因的效率,进而根据定位的异常的原因,对异常进行修复,能够提高修复异常的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种应用程序的运行场景复现的示意图;
图3是本申请实施例提供的一种应用程序的运行场景复现方法的流程图;
图4是本申请实施例提供的一种应用程序的运行场景复现方法的流程图;
图5是本申请实施例提供的一种应用程序的运行场景复现方法的流程图;
图6是本申请实施例提供的一种应用程序的运行场景复现装置的框图;
图7是本申请实施例提供的一种应用程序的运行场景复现装置的框图;
图8是本申请实施例提供的一种终端的框图;
图9是本申请实施例提供的一种服务器的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
图1是本申请实施例提供的一种实施环境的示意图。参见图1,该实施环境包括第一终端101、第一服务器102、第二终端103和第二服务器104。
第一终端101和第二终端103可以为手机、平板电脑、电脑或者其他电子设备。第一服务器102可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。第二服务器104可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
第一终端101分别与第一服务器102和第二服务器104之间通过无线或者有线网络连接;第二终端103与第一服务器102之间通过无线或者有线网络连接;第一服务器102和第二服务器104之间通过无线或者有线网络连接。第二终端103和第一服务器102之间也可以通过无线或者有线网络连接,在实现本申请实施例提供的应用程序的运行场景复现方法时,第二终端103和第一服务器102之间可以不建立连接。
第一终端101和第二终端103上可以安装有目标应用程序,第一服务器102可以为该目标应用程序提供服务,用户可以通过该目标应用程序实现例如数据传输、消息交互等功能。目标应用程序可以为第一终端101上的任一应用程序。例如,目标应用程序可以为音乐应用、社交应用和视频应用等;第一服务器102可以为该目标应用程序对应的后台服务器,相应的,第一服务器102可以为音乐应用服务器、社交应用服务器和视频应用服务器等。
在第一终端101运行目标应用程序的过程中,第一终端101可以将目标应用程序的操作数据、运行数据和接收到的第一服务器102返回的第一服务端数据均上传至第二服务器104;并且,第一服务器102也可以将向第一终端101发送的第二服务端数据上传至第二服务器104。这样,若第一终端101的目标应用程序在与第一服务器102交互时出现异常,可以确定对目标应用程序进行场景复现的目标时间段;由第二终端103根据第一终端101在目标时间段内操作目标应用程序的操作数据、第一终端101在目标时间段内的运行数据和接收到的第一服务端数据,复现目标时间段内目标应用程序在第一终端101上的运行场景;并且,第二终端103可以在复现该运行场景的基础上,根据操作数据和运行数据,获取第一服务器102在目标时间段内向第一终端101发送的第二服务端数据;比对第一服务端数据和第二服务端数据,以定位出现异常的原因。
其中,第二服务器104可以为问题分析中台;第二服务器104也可以为提供测试服务的服务器,通过第二服务器104可以实现对目标应用程序的模拟测试。
需要说明的一点是,第一服务器102和第二服务器104可以是不同的两个服务器,第一服务器102和第二服务器104也可以是一个服务器,在本申请实施例中,以第一服务器102和第二服务器104是不同的两个服务器为例进行说明。
图2是本申请实施例提供的一种应用程序的运行场景复现的示意图,参见图2,应用程序的运行场景复现包括三个阶段,分别为数据收集阶段、问题分析中台阶段和问题复现阶段。
其中,数据收集阶段主要包括第一终端的数据收集和第一服务器的数据收集。第一终端的数据收集过程可以为:目标应用程序运行于第一终端上,第一终端在运行目标应用程序过程中,收集产生的用户行为日志、运行数据和第一终端接收到的第一服务器返回的第一服务端数据。
第一服务器的数据收集过程可以为:目标应用程序运行于第一终端上,当用户通过目标应用程序触发操作时,第一终端向第一服务器发送数据获取请求(请求数据);第一服务器根据第一终端发送的数据获取请求,向第一终端发送第二服务端数据(返回数据);第一服务器收集第一终端发送的数据获取请求和向第一终端发送的第二服务端数据。
问题分析中台阶段:第一终端收集到用户行为日志、运行数据和第一服务端数据时,可以实时或者周期性的将该用户行为日志、运行数据和第一服务端数据回传至第二服务器;第二服务器接收第一终端的用户行为日志、运行数据和第一服务端数据,将用户行为日志、运行数据和第一服务端数据存储为原始数据。当需要复现目标应用程序在目标时间段内的运行场景时,从已存储的用户行为日志和运行数据中获取目标时间段内的用户行为日志和运行数据;对用户行为日志和运行数据进行数据处理,得到目标时间段内的操作数据和运行数据。
第一服务器和第二服务器是不同的两个服务器时,第一服务器与第二服务器是可以互相通信的,第一服务器收集到第一终端发送的数据获取请求和向第一终端发送的第二服务端数据时,可以实时或者周期性将该数据获取请求和第二服务端数据存储到第二服务器中。并且,可以将用户标识、数据获取请求和第二服务端数据三者关联起来存储在第二服务器中。
需要说明的是,第一终端收集的用户行为日志、运行数据和第一服务端数据,以及第一服务器收集的数据获取请求和第二服务端数据,可以并非均回传至第二服务器进行存储,而是发送至第一服务器以及第二服务器之外的其他服务器进行存储。此种情况下,第二服务器作为用于问题复现的服务器,其他独立的服务器作为数据存储服务器。当需要进行问题复现时,第二服务器从其他服务器读取与问题复现关联的数据,进行问题复现。
问题复现阶段:第二终端为测试终端,在第二终端中通过模拟(mock)网络请求,获取第一服务器在目标时间段内向第一终端发送的第二服务端数据,比对第二服务端数据和第一终端接收到的第一服务端数据,以定位出异常的原因。在问题复现阶段,第二终端需要获取到操作数据、运行数据、第一服务端数据和第二服务端数据;其中,对于操作数据、运行数据和第一服务端数据,第二终端可以在复现运行场景之前,从第二服务器获取目标时间段内的操作数据、运行数据和第一服务端数据。对于第二服务端数据,第二终端可以向第二服务器实时请求获取第二服务端数据,第二终端向第二服务器发送复现运行场景过程中执行操作所触发的数据获取请求,接收第二服务器返回的第二服务端数据,也即从第二服务器中请求服务端数据,也即方案一;第二终端也可以预先从第二服务器获取目标时间段内第一服务器向第一终端发送的第二服务端数据,将第二服务端数据存储在第二终端本地的数据中,当第二终端执行操作触发数据获取请求时,直接从本地预先存储的数据中获取与数据获取请求关联的第二服务端数据,也即方案二。
当第二终端通过方案一模拟网络请求时,问题复现阶段的步骤可以为:当需要由第二终端进行目标应用程序的运行场景复现时,第二服务器根据目标时间段内的操作数据、运行数据和第一服务端数据,生成自动化执行文件,将该自动化执行文件导入第二终端;第二终端根据自动化执行文件中的运行数据复现第一终端在目标时间段内的运行环境;根据自动化执行文件中的操作数据,在该运行环境中自动执行第一终端在目标时间段内的操作;当被执行的操作用于触发向第一服务器发送数据获取请求时,也即第二终端模拟网络请求时,第二终端从自动化执行文件中获取与该数据获取请求关联的第一服务端数据,基于第一服务端数据,得到目标应用程序在目标时间段内的运行场景;并且,第二终端将该数据获取请求发送至第二服务器,也即请求问题分析中台;第二服务器接收第二终端发送的数据获取请求,处理网络请求,获取与该数据获取请求关联的第二服务端数据;第二服务器向第二终端发送该第二服务端数据,也即返回请求所需数据;第二终端比对第一服务端数据和第二服务端数据,定位出现异常的原因。
当第二终端通过方案二模拟网络请求时,问题复现阶段的步骤可以为:当需要由第二终端进行目标应用程序的运行场景复现时,第二服务器根据目标时间段内的操作数据、运行数据、第一服务端数据和第二服务端数据,生成自动化执行文件,将该自动化执行文件导入第二终端;第二终端根据自动化执行文件中的运行数据复现第一终端在目标时间段内的运行环境;根据自动化执行文件中的操作数据,在该运行环境中自动执行第一终端在目标时间段内的操作;当被执行的操作用于触发向第一服务器发送数据获取请求,也即第二终端模拟网络请求时,第二终端从自动化执行文件中获取与该数据获取请求关联的第一服务端数据,基于第一服务端数据,得到目标应用程序在目标时间段内的运行场景;并且,第二终端可以从自动化执行文件中获取与该数据获取请求关联的第二服务端数据,也即本地文件返回数据;第二终端比对第一服务端数据和第二服务端数据,定位出现异常的原因。
图3是本申请实施例提供的一种应用程序的运行场景复现方法的流程图。在本申请实施例中,以第二终端向第二服务器请求获取第二服务端数据为例进行说明,参见图3,该实施例包括:
301、若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器确定对目标应用程序进行场景复现的目标时间段。
目标应用程序在与第一服务器交互时可能会出现异常,对于难以定位出现原因的异常,应用程序的开发人员或测试人员需要对出现异常时的场景进行复现,以找到出现异常的原因。
目标应用程序出现的异常可以为与运行场景相关的偶然出现的异常;目标应用程序出现的异常也可以为用户反馈的异常问题,目标应用程序出现的异常还可以为目标应用程序检测到的异常问题。例如,目标应用程序出现的异常可以为异常crash(崩溃)。
第二服务器可以获取目标应用程序出现异常的时间,根据目标应用程序出现异常的时间,确定需要对目标应用程序的运行场景进行复现的目标时间段,目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间。
在一种可能的实现方式中,目标应用程序出现异常的时间为一个具体的时刻,第二服务器确定的目标时间段包括目标应用程序出现异常的时间。相应的,若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器确定对目标应用程序进行场景复现的目标时间段的步骤可以为:若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器获取目标应用程序出现异常的时间;第二服务器根据目标应用程序出现异常的时间,确定与出现异常的时间的时间差为第一预设时长的第一时间,第一时间在出现异常的时间之前;以及确定与出现异常的时间的时间差为第二预设时长的第二时间,第二时间在出现异常的时间之后;截取第一时间和第二时间之间的时间作为目标时间段。
例如,目标应用程序出现异常的时间为11点30分,第二服务器可以确定与出现异常的时间的时间差为第一预设时长的第一时间为11点25分,与出现异常的时间的时间差为第二预设时长的第二时间为11点35分,将11点25分和11点35分之间的时间作为目标时间段。
需要说明的一点是,第一预设时长和第二预设时长可以根据实际情况进行调整,如果复现目标应用程序在目标时间段内的运行场景后没有找到出现该异常的原因,可以适当增加第一预设时长和第二预设时长的时间长度。例如,如果第一预设时长为5分钟时,复现目标应用程序在目标时间段内的运行场景并未找到出现异常的原因,可以将第一预设时长调整为10分钟。
在另一种可能的实现方式中,目标应用程序在一段时间内多次出现异常问题,出现异常的时间为多个具体的时刻,目标时间段可以包括该多个具体的时刻中的至少一个。相应的,若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器确定对目标应用程序进行场景复现的目标时间段的步骤可以为:若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器获取出现异常的时间,该出现异常的时间包括至少一个出现异常的时刻;第二服务器从出现异常的时间中选取至少一个时刻,确定至少一个时刻中最靠前的时刻为第一时刻,确定至少一个时刻中最靠后的时刻为第二时刻;确定与第一时刻的时间差为第三预设时长的第三时间,第三时间在第一时刻之前;确定与第二时刻的时间差为第四预设时长的第四时间,第四时间在第一时刻之后;截取第三时间和第四时间之间的时间作为目标时间段。其中,至少一个时刻可以为多个具体的时刻中的任一时刻,例如,至少一个时刻可以为多个具体时刻中最靠前的时刻,至少一个时刻也可以为多个具体时刻中随机的一个时刻。至少一个时刻也可以为从多个具体的时刻中随机选取的至少两个时刻。至少一个时刻还可以为该多个具体的时刻。
第二服务器可以接收终端上传的问题报告,从该问题报告中获取目标应用程序出现异常的时间,相应的,若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器获取出现异常的时间的步骤可以为:第二服务器获取出现异常的问题报告,从该问题报告中获取出现该异常的时间。其中,问题报告可以为用户通过终端反馈的异常的问题描述;问题报告还可以为应用程序检测到异常时,向第二服务器上传的问题报告。
302、第二服务器获取第一终端在目标时间段内操作目标应用程序的操作数据。
操作数据包括被执行的操作和操作被执行的时间。操作数据包括主动行为操作和被动行为操作。主动行为操作为用户主动触发的操作,例如,主动行为操作可以为点击操作和滑动操作等。被动行为操作为用户被动接收的操作,例如,被动行为操作可以为第一服务器下发的消息推送。被动行为操作还可以为第一终端对于主动行为操作的反馈,例如,被动行为操作可以为支付成功的信息反馈。
第二服务器可以通过解析用户行为日志,得到可由第二终端自动执行的操作数据。相应的,第二服务器获取第一终端在目标时间段内操作目标应用程序的操作数据的步骤可以为:第二服务器获取第一终端在目标时间段内的用户行为日志,解析该用户行为日志得到操作数据,该操作数据包括被执行的操作和操作被执行的时间。例如,解析用户行为日志得到的操作数据可以为从用户行为日志中提取出的特定格式的数据,第二终端根据该特定格式的数据,能够自动执行目标时间段内第一终端所执行的操作。
第一终端在将目标时间段内的用户行为日志传输给第二服务器时可能进行了数据处理,例如,数据处理可以为编码处理或压缩处理,第二服务器需要对该用户行为日志进行相应的解码或解压缩处理,从用户行为日志中提取出操作数据,相应的,第二服务器解析用户行为日志的步骤还可以为:第二服务器根据用户行为日志被执行的数据处理,对用户行为日志进行数据解码,提取出特定格式的操作数据。
需要说明的一点是,第二服务器可以在需要对目标应用程序在目标时间段内的运行场景进行复现时,从第一终端上传的用户行为日志中,获取目标时间段内的用户行为日志;解析目标时间段内的用户行为日志,得到操作数据。第二服务器还可以在接收到第一终端发送的用户行为日志时,就解析该用户行为日志,得到操作数据,存储该操作数据,当需要对目标应用程序在目标时间段内的运行场景复现时,直接从已存储的操作数据获取目标时间段内的操作数据。
需要说明的另一点是,在第二服务器获取第一终端在目标时间段内的用户行为日志之前,第一终端收集用户行为日志,回传至第二服务器;第二服务器接收第一终端发送的用户行为日志。第一终端可以收集目标应用程序的用户行为日志。第一终端还可以收集在第一终端上运行的其他应用程序的用户行为日志。
第一终端可以持续收集用户行为日志,将收集到的用户行为日志,定时回传至第二服务器。第一终端每隔一个指定时间段,向第二服务器回传一次收集到的用户行为日志。例如,第一终端每隔30分钟,向第二服务器回传30分钟内收集到的用户行为日志。第一终端在11点30分,向第二服务器回传11点00分至11点30分收集到的用户行为日志;第一终端在12点00分,向第二服务器回传11点30分至12点00分收集到的用户行为日志,以此类推。
在本申请实施例中,第一终端持续收集用户行为日志,定时与第二服务器建立连接,将收集到的用户行为日志定时回传至第二服务器,减少由于回传用户行为日志造成的卡顿现象,在收集用户行为日志的同时不影响用户体验。
需要说明的一点是,指定时间段可以根据指定时间段内收集到的用户行为日志的数据量的大小进行适当调整。如果指定时间段内收集到的用户行为日志的数据量大于第一阈值,将指定时间段的长度缩短;如果指定时间段内收集到的用户行为日志的数据量小于第二阈值,将指定时间段的长度加长。
需要说明的另一点是,指定时间段也可以设置为非常短的时间段,例如,指定时间段可以为1秒或5秒等,当指定时间段设置为非常短的时间段时,可以达到一定意义上的实时回传。
303、第二服务器获取第一终端在目标时间段内的运行数据。
运行数据包括第一终端在目标时间段内的基础状态数据,以及目标时间段内与目标应用程序相关联的应用状态数据。例如,第一终端的基础状态数据可以包括GPS(GlobalPositioning System,全球定位系统)数据、电量数据和内存数据等中的一项或者多项数据。应用状态数据为与目标应用程序的特性相关的数据。例如,目标应用程序为音乐应用,应用状态数据可以为音乐应用的音量。再如,目标应用程序为视频应用,应用状态数据可以为视频应用的亮度或者视频应用的帧率等。
第二服务器可以获取第一终端在目标时间段内的基础状态数据和目标时间段内与目标应用程序关联的应用状态数据,由基础状态数据和应用状态数据组成第一终端在目标时间段内的运行数据。相应的,第二服务器获取第一终端在目标时间段内的运行数据的步骤可以为:第二服务器获取第一终端在目标时间段内的基础状态数据;第二服务器获取第一终端在目标时间段内的与目标应用程序关联的应用状态数据;将基础状态数据和应用状态数据组成运行数据。
304、第二服务器获取第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据。
第一服务端数据为第一终端接收到的第一服务器返回的服务端数据。当第一终端执行的操作用于触发向第一服务器发送数据获取请求时,第一终端向第一服务器发送数据获取请求;接收第一服务器根据该数据获取请求返回的第一服务端数据。
第二服务器存储有第一终端上传的数据获取请求、与该数据获取请求关联的第一服务端数据和第一终端接收到第一服务端数据的时间,第二服务器可以从已存储的第一服务端数据中获取第一终端在目标时间段内的第一服务端数据。相应的,第二服务器获取第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据之前,还接收第一终端上传的数据获取请求、与该数据获取请求关联的第一服务端数据和第一终端接收到该第一服务端数据的时间,关联存储数据获取请求、第一服务端数据和接收到该第一服务端数据的时间。
需要说明的一点是,步骤302至步骤304没有严格的时间先后顺序,可以同时执行步骤302至304,也可以按照先后顺序分别执行步骤302至304中的任一步骤。
305、第二服务器向第二终端返回第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据。
操作数据、运行数据和第一服务端数据用于第二终端复现目标应用程序在目标时间段内的运行场景。
在一种可能的实现方式中,第二服务器可以直接向第二终端返回操作数据、运行数据和第一服务端数据。
在另一种可能的实现方式中,第二服务器可以根据操作数据、运行数据和第一服务端数据,生成自动化执行文件,向第二终端返回该自动化执行文件。
306、第二终端获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据。
在一种可能的实现方式中,第二终端可以直接接收第二服务器向第二终端返回的操作数据、运行数据和第一服务端数据。
在另一种可能的实现方式中,第二终端可以接收第二服务器向第二终端返回的自动化执行文件,其中,该自动化执行文件包括操作数据、运行数据和第一服务端数据。
307、第二终端根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。
在一种可能的实现方式中,第二终端可以直接根据第二服务器向第二终端发送的操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。相应的,参见图4,本步骤可以通过以下步骤3071至步骤3073实现:
3071、第二终端根据运行数据,配置与第一终端在目标时间段内相同的运行环境。
当需要复现目标应用程序在目标时间段内的运行场景时,第二终端可以将第二终端的基础状态数据和与目标应用程序关联的应用状态数据的数据来源修改为运行数据,使第二终端基于运行数据运行,在第二终端上复现目标时间段内第一终端的运行环境。相应的,本步骤可以为:第二终端基于运行数据中的基础状态数据运行;使目标应用程序基于运行数据中的应用状态数据运行;配置与目标时间段内第一终端相同的运行环境。
在一种可能的实现方式中,运行数据包括该运行数据对应的绝对时间,第二终端可以在对目标应用程序的运行场景进行复现时,将当前时间转换为目标时间段,在目标时间段内的绝对时间,基于该运行数据运行。
例如,当前时间为10点00分00秒,目标时间段为11点25分00秒至1点30分00秒,第二终端将当前时间转换为11点25分00秒,基于目标时间段运行。目标应用程序为音乐应用;运行数据中的基础状态数据包括“11点25分30秒,电量,56%”;运行数据中的应用状态数据包括“11点25分30秒,音量,30%”;则第二终端的基础状态数据为“11点25分30秒,电量,56%”,第二终端的应用状态数据为“11点25分30秒,音量,30%”。
在另一种可能的实现方式中,运行数据包括该运行数据对应的相对时间,例如,相对时间可以相对于目标时间段的起始时间确定。第二终端可以根据该运行数据对应的相对时间,基于该运行数据运行。
例如,目标时间段的起始时间为11点25分00秒,将该起始时间作为0;目标应用程序为音乐应用;运行数据中的基础状态数据包括“00分30秒,电量,56%”;运行数据中的应用状态数据包括“00分30秒,音量,30%”。若当前时间为10点00分00秒,则第二终端的基础状态数据为“10点00分30秒,电量,56%”,第二终端的应用状态数据为“10点00分30秒,音量,30%”。
在本申请实施例中,第二终端根据运行数据,配置与第一终端在目标时间段内相同的运行环境,还原出现异常时的真实场景,基于真实场景更快速、更容易、效率更高的定位异常问题,找到出现异常问题的原因,从而快速修复异常问题,提高修复异常问题的效率。
3072、第二终端根据操作数据,在运行环境中执行第一终端在目标时间段内的操作。
操作数据包括目标时间段内被执行的操作和操作被执行的时间。第二终端可以根据操作数据,在每个操作被执行的时间,在运行环境中自动执行该操作。
在一种可能的实现方式中,操作被执行的时间为绝对时间,第二终端可以在运行环境中的时间为绝对时间时,在操作被执行的绝对时间,自动执行该操作。
例如,当前时间为10点00分00秒,目标时间段为11点25分00秒至1点30分00秒,当前运行环境中的时间为11点25分00秒;操作数据包括11点26分10秒对第一按钮执行了点击操作、11点26分15秒执行了滑动操作和11点27分30秒对第二按钮执行了点击操作。第二终端基于运行环境中的时间,在11点26分10秒对第一按钮执行点击操作;在11点26分15秒执行滑动操作;在11点27分30秒对第二按钮执行点击操作。
在另一种可能的实现方式中,操作被执行的时间为相对时间,例如,相对时间可以相对于目标时间段的起始时间确定。第二终端可以在运行环境中的时间为相对时间时,根据操作被执行的相对时间,自动执行该操作。
例如,目标时间段的起始时间为11点25分00秒,将该起始时间作为0;操作数据包括11点26分10秒对第一按钮执行了点击操作、11点26分15秒执行了滑动操作和11点27分30秒对第二按钮执行了点击操作,也即在01分10秒对第一按钮执行了点击操作、01分15秒执行了滑动操作和02分30秒对第二按钮执行了点击操作。若当前时间为10点00分00秒,则第二终端在10点01分10秒对第一按钮执行点击操作、在10点01分15秒执行滑动操作和在10点02分30秒对第二按钮执行点击操作。
3073、第二终端基于该操作运行第一服务端数据,得到目标应用程序在目标时间段内的运行场景。
第二终端根据操作数据,自动执行操作,若第二终端执行的操作用于触发向第一服务器发送数据获取请求,从第一服务器获取服务端数据,则第二终端可以从目标时间段内的第一服务端数据中获取与该数据获取请求相关联的第一服务端数据,在该第一服务端数据的运行时间,运行该第一服务端数据,得到目标应用程序在目标时间段内的运行场景。第一服务端数据的运行时间可以根据第一终端真实接收到第一服务端数据的时间确定。
在一种可能的实现方式中,第一服务端数据的运行时间为绝对时间,第二终端在将当前时间转换为目标时间段,对目标应用程序的运行场景进行复现时,在目标时间段内的绝对时间,运行该第一服务端数据。
例如,当前时间为10点00分00秒,目标时间段为11点25分00秒至1点30分00秒,第二终端将当前时间转换为11点25分00秒,基于目标时间段运行。若第二终端在当前运行环境中的11点26分10秒对第一按钮执行了点击操作,且该点击操作用于触发向第一服务器发送数据获取请求,假设第一终端真实接收到与该数据获取请求关联的第一服务端数据的时间为11点26分11秒,则该第一服务端数据的运行时间为11点26分11秒,第二终端在当前运行环境中的11点26分11秒运行该第一服务端数据。
在另一种可能的实现方式中,第一服务端数据的运行时间为相对时间,例如,相对时间可以相对于目标时间段的起始时间确定。第二终端可以根据该第一服务端数据对应的相对时间,运行该第一服务端数据。
例如,目标时间段的起始时间为11点25分00秒,将该起始时间作为0;若当前时间为10点00分00秒,第二终端在当前运行环境中的10点01分10秒对第一按钮执行了点击操作,且该点击操作用于触发向第一服务器发送数据获取请求,假设第一终端真实接收到与该数据获取请求关联的第一服务端数据的时间为11点26分11秒,则该第一服务端数据的运行时间为10点01分11秒,第二终端在当前运行环境中的10点01分11秒运行该第一服务端数据。
在另一种可能的实现方式中,第二终端还可以通过执行第二服务器向第二终端发送的自动化执行文件,复现目标应用程序在目标时间段内的运行场景。其中,该自动化执行文件用于第二终端根据运行数据配置与第一终端在目标时间段内相同的运行环境,以及,根据操作数据,在运行环境中执行第一终端在目标时间段内的操作;基于操作运行第一服务端数据,得到目标应用程序在目标时间段内的运行场景。第二终端通过执行自动化文件,复现目标应用程序在目标时间段内的运行场景与步骤3071至步骤3073相似,在此不再赘述。
308、第二终端根据操作数据以及运行数据,生成数据获取请求。
数据获取请求为第二终端执行操作时触发的,例如,当第二终端执行的操作为对播放按钮的点击操作时,该操作用于触发向第一服务器发送数据获取请求,该数据获取请求用于请求获取该播放按钮对应的音频文件。第二终端根据所执行的操作对应的操作数据以及当前运行环境的运行数据,生成数据获取请求。
309、第二终端向预设的第二服务器发送数据获取请求。
第二终端将该数据获取请求重定向至第二服务器。例如,第一终端执行的操作用于触发向第一服务器发送数据获取请求,该数据获取请求携带第一服务器的URL(UniformResource Locator,统一资源定位符),则第二终端在复现目标应用程序在目标时间段内的运行场景时,将该操作对应的数据获取请求携带的URL重定向为第二服务器的URL,将该数据获取请求发送至第二服务器。
例如,数据获取请求可以为HTTP(HyperText Transfer Protocol,超文本传输协议)请求,第二终端可以基于HTTP协议与第二服务器通信,向第二服务器发送数据获取请求。
310、第二服务器接收第二终端发送的数据获取请求,根据该数据获取请求,查找第一服务器在目标时间段内向第一终端发送的第二服务端数据。
在一种可能的实现方式中,第二服务器关联存储有数据获取请求和第二服务端数据,第二服务器接收到第二终端发送的数据获取请求,可以从已关联存储的目标时间段内的数据获取请求和第二服务端数据中,查找到与该第二终端发送的数据获取请求关联的第二服务端数据。
在另一种可能的实现方式中,第二服务器关联存储有用户标识、数据获取请求和第二服务端数据,第二服务器可以根据用户标识和数据获取请求,查找第二服务端数据。相应的,第二服务器根据该数据获取请求,查找第一服务器在目标时间段内向第一终端发送的第二服务端数据的步骤可以为:第二服务器根据目标时间段,从已存储的第二服务端数据中获取目标时间段内的第一数据集合,该第一数据集合中包括目标时间段内的第二服务端数据;第二服务器根据该数据获取请求携带的用户标识,从第一数据集合中,获取与该用户标识关联的第二数据集合,该第二数据集合中包括与该用户标识关联的第二服务端数据;第二服务器根据该数据获取请求,从第二数据集合中,获取与该数据获取请求关联的第二服务端数据。
在本申请实施例中,第二服务器可以先获取到与用户标识关联的第二服务端数据,再从与用户标识关联的第二服务端数据中查找与第二终端发送的数据获取请求关联的第二服务端数据,缩小了第二服务器查找第二服务端数据的查找范围,提高了第二服务器查找到第二服务端数据的效率。
311、第二服务器向第二终端返回查找到的第二服务端数据。
例如,第二服务器可以基于http协议与第二终端通信,通过http响应的方式向第二终端返回查找到的第二服务端数据。
312、第二终端接收第二服务器返回的第二服务端数据,比对第一终端接收到的第一服务端数据与第一服务器发送的第二服务端数据,以定位目标应用程序出现异常的原因。
第二终端比对第一服务端数据和第二服务端数据,若第一服务端数据与第二服务端数据不一致,则确定目标应用程序出现异常的原因包括接收到的服务端数据存在异常。第二终端可以根据出现异常的原因,确定该出现异常的原因对应的操作数据和运行数据,输出该操作数据、运行数据、第一服务端数据和第二服务端数据,以对出现异常的原因进行进一步的分析和确定。
若第一服务端数据与第二服务端数据一致,则确定目标应用程序出现异常的原因不包括接收到的服务端数据存在异常。第二终端可以输出复现运行场景过程中的操作数据、运行数据、第一服务端数据和第二服务端数据,以对出现异常的原因进行进一步的分析和确定。
在本申请实施例中,第二终端通过向第二服务器发送数据获取请求,接收第二服务器返回的第二服务端数据,模拟了网络传输请求与返回的过程,更加贴切的还原了目标应用程序出现异常时的真实场景。并且,基于所还原的真实场景,对接收到的第一服务端数据和第二服务器真实发送的第二服务端数据进行比对,自动定位出现异常的原因,相较于人工寻找出现异常的原因,提高了定位出现异常的原因的效率。进而能够根据出现异常的原因,对出现的异常进行修复,提高异常修复的效率。
需要说明的一点是,第二终端可以为用于进行测试的实体终端,第二终端也可以为虚拟环境中的虚拟终端,虚拟环境中的第二终端也可以通过上述场景复现方法复现目标时间段内第一终端的运行场景。
在本申请实施例中,通过在第二终端上终端复现目标时间段内的运行场景,基于复现的运行场景,快速定位复杂场景中的问题、异常崩溃或者描述信息极少的问题,进而快速修复问题,减少产品层面的问题,提升用户体验。
在本申请实施例中,获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务端数据,该目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间;根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。上述技术方案,根据操作数据、运行数据和第一服务端数据,从被执行的操作、第一终端的运行环境和服务端数据三个方面复现目标应用程序在目标时间段内的运行场景,能够更加真实贴切的复现目标应用程序出现异常时的运行场景,基于所复现的真实的运行场景,能够减少寻找出现异常的原因的所消耗的时间和人力成本,提高定位异常的原因的效率,进而根据定位的异常的原因,对异常进行修复,能够提高修复异常的效率。
图5是本申请实施例提供的一种应用程序的运行场景复现方法的流程图,在本申请实施例中,以第二终端从本地预先存储的数据中查找第二服务端数据为例进行说明。参见图5,该实施例包括:
501、若第一终端的目标应用程序在与第一服务器交互时出现异常,第二服务器确定对目标应用程序进行场景复现的目标时间段。
本步骤与步骤301相似,在此不再赘述。
502、第二服务器获取第一终端在目标时间段内操作目标应用程序的操作数据。
本步骤与步骤302相似,在此不再赘述。
503、第二服务器获取第一终端在目标时间段内的运行数据。
本步骤与步骤303相似,在此不再赘述。
504、第二服务器获取第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据。
本步骤与步骤304相似,在此不再赘述。
505、第二服务器向第二终端发送第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据。
本步骤与步骤305相似,在此不再赘述。
506、第二终端获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据。
本步骤与步骤306相似,在此不再赘述。
507、第二终端根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。
本步骤与步骤307相似,在此不再赘述。
508、第二终端根据操作数据以及运行数据,生成数据获取请求。
本步骤与步骤308相似,在此不再赘述。
509、第二终端根据数据获取请求,在第二终端本地预先存储的数据中查找第一服务器在目标时间段内向第一终端发送的第二服务端数据。
第二终端根据数据获取请求,在第二终端本地预先存储的数据中查找与该数据获取请求关联的第二服务端数据。
需要说明的一点是,第二终端根据数据获取请求,在第二终端本地预先存储的数据中查找第一服务器在目标时间段内向第一终端发送的第二服务端数据之前,还接收第二服务器发送的第二服务端数据,该第二服务端数据是目标时间段内第一服务器向第一终端发送的,该第二服务端数据与数据获取请求相关联;第二终端可以将该与数据获取请求关联的第二服务端数据存储在本地的数据中。
在一种可能的实现方式中,第二服务器可以在确定目标时间段后,就获取目标时间段内第一服务器向第一终端发送的第二服务端数据,将目标时间段内的第二服务端数据发送给第二终端。
在另一种可能的实现方式中,第二服务器可以获取目标时间段内的操作数据、运行数据、第一服务端数据和第二服务端数据;根据操作数据、运行数据、第一服务端数据和第二服务端数据,生成自动化执行文件;将该自动化执行文件发送给第二终端。第二终端可以存储该自动化执行文件,从该自动化执行文件中查找与数据获取请求关联的第二服务端数据。
510、第二终端比对第一终端接收到的第一服务端数据与第一服务器发送的第二服务端数据,以定位目标应用程序出现异常的原因。
本步骤与步骤312相似,在此不再赘述。
在本申请实施例中,第二终端可以直接从本地的自动化执行文件中获取服务端数据,在目标时间段很短、异常问题不依赖于网络传输环境或者异常问题仅仅与服务端数据相关时,能够快速复现目标应用程序在目标时间段内的运行场景,提高运行场景的复现效率,进而根据复现的运行场景,快速定位出现的异常,提高修复异常的效率。
在本申请实施例中,获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务端数据,该目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间;根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。上述技术方案,根据操作数据、运行数据和第一服务端数据,从被执行的操作、第一终端的运行环境和服务端数据三个方面复现目标应用程序在目标时间段内的运行场景,能够更加真实贴切的复现目标应用程序出现异常时的运行场景,基于所复现的真实的运行场景,能够减少寻找出现异常的原因的所消耗的时间和人力成本,提高定位异常的原因的效率,进而根据定位的异常的原因,对异常进行修复,能够提高修复异常的效率。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图6是本申请实施例提供的一种应用程序的运行场景复现装置的框图。参见图6,该装置应用于第二终端,该装置包括:
第一获取模块601,用于获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据,目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间;
复现模块602,用于根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。
在一种可能的实现方式中,该装置还包括:
第一获取模块601,还用于根据操作数据以及运行数据,获取第一服务器在目标时间段向第一终端发送的第二服务端数据;
比对模块,用于比对第一终端接收到的第一服务端数据与第一服务器发送的第二服务端数据,以定位异常的原因。
在另一种可能的实现方式中,第一获取模块601,还用于根据操作数据以及运行数据,生成数据获取请求;向预设的第二服务器发送数据获取请求,并接收第二服务器根据数据获取请求返回的第一服务器在目标时间段向第一终端发送的服务端数据。
在另一种可能的实现方式中,第一获取模块601,还用于根据操作数据以及运行数据,生成数据获取请求;根据数据获取请求,在第二终端本地预先存储的数据中查找第一服务器在目标时间段向第一终端发送的第二服务端数据。
在另一种可能的实现方式中,复现模块602,还用于根据运行数据,配置与第一终端在目标时间段内相同的运行环境,以及根据操作数据,在运行环境中执行第一终端在目标时间段内的操作;基于操作运行第一服务端数据,得到目标应用程序在目标时间段内的运行场景。
在另一种可能的实现方式中,第一获取模块601,还用于接收第二服务器向第二终端发送的自动化执行文件,自动化执行文件包括第一终端在目标时间段内的操作数据、运行数据和第一服务端数据;
复现模块602,还用于执行自动化执行文件,其中自动化执行文件用于第二终端根据运行数据配置与第一终端在目标时间段内相同的运行环境,以及,根据操作数据,在运行环境中执行第一终端在目标时间段内的操作;基于操作运行第一服务端数据,得到目标应用程序在目标时间段内的运行场景。
在本申请实施例中,获取第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务端数据,该目标时间段包括第一终端的目标应用程序在与第一服务器交互时出现异常的时间;根据操作数据、运行数据和第一服务端数据,复现目标应用程序在目标时间段内的运行场景。上述技术方案,根据操作数据、运行数据和第一服务端数据,从被执行的操作、第一终端的运行环境和服务端数据三个方面复现目标应用程序在目标时间段内的运行场景,能够更加真实贴切的复现目标应用程序出现异常时的运行场景,基于所复现的真实的运行场景,能够减少寻找出现异常的原因的所消耗的时间和人力成本,提高定位异常的原因的效率,进而根据定位的异常的原因,对异常进行修复,能够提高修复异常的效率。
需要说明的是:上述实施例提供的应用程序的运行场景复现装置在复现应用程序的运行场景时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序的运行场景复现装置与应用程序的运行场景复现方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施例提供的一种应用程序的运行场景复现装置的框图。参见图7,该装置应用于第二服务器,该装置包括:
确定模块701,用于若第一终端的目标应用程序在与第一服务器交互时出现异常,确定对目标应用程序进行场景复现的目标时间段;
返回模块702,用于向第二终端返回第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据,其中操作数据、运行数据和第一服务端数据用于第二终端复现目标应用程序在目标时间段内的运行场景。
在一种可能的实现方式中,该装置还包括:
接收模块,用于接收第二终端发送的数据获取请求,其中数据获取请求为第二终端根据操作数据以及运行数据生成的;
查找模块,用于根据数据获取请求,查找第一服务器在目标时间段向第一终端发送的第二服务端数据;
返回模块702,还用于向第二终端返回查找到的第二服务端数据。
在另一种可能的实现方式中,该装置还包括:
获取第一终端在目标时间段内的用户行为日志;
解析用户行为日志得到操作数据,操作数据包括被执行的操作和操作被执行的时间。
在另一种可能的实现方式中,该装置还包括:
第二获取模块,用于获取第一终端在目标时间段内的基础状态数据;获取第一终端在目标时间段内的与目标应用程序关联的应用状态数据;
组成模块,用于将基础状态数据和应用状态数据组成运行数据。
在本申请实施例中,若第一终端的目标应用程序在与第一服务器交互时出现异常,确定对目标应用程序进行场景复现的目标时间段;向第二终端返回第一终端在目标时间段内操作目标应用程序的操作数据、第一终端在目标时间段内的运行数据以及第一终端在目标时间段内接收到的第一服务器返回的第一服务端数据,其中操作数据、运行数据和第一服务端数据用于第二终端复现目标应用程序在目标时间段内的运行场景。上述技术方案,能够在第一终端的目标应用程序与第一服务器交互出现异常时,确定对目标应用程序进行场景复现的目标时间段,将操作数据、运行数据和第一服务端数据返回给第二终端,使第二终端能够根据操作数据、运行数据和服务端数据,从被执行的操作、第一终端的运行环境和服务端数据三个方面复现目标应用程序出现异常时的运行场景,更加真实贴切的复现目标应用程序出现异常时的运行场景,基于所复现的真实的运行场景,能够减少寻找出现异常的原因的所消耗的时间和人力成本,提高定位异常的原因的效率,进而根据定位的异常的原因,对异常进行修复,能够提高修复异常的效率。
需要说明的是:上述实施例提供的应用程序的运行场景复现装置在复现应用程序的运行场景时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序的运行场景复现装置与应用程序的运行场景复现方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请实施例提供的一种终端的框图。该终端800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的应用程序的运行场景复现方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头组件806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器、陀螺仪传感器、压力传感器、指纹传感器、光学传感器以及接近传感器。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图9是本申请实施例提供的一种服务器的框图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)901和一个或一个以上的存储器902,其中,存储器902中存储有至少一条程序代码,至少一条程序代码由处理器901加载并执行以实现上述各个方法实施例提供的应用程序的运行场景复现方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,上述至少一条程序代码可由服务器中的处理器执行以完成上述实施例中的应用程序的运行场景复现方法。例如,计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
本申请还提供了一种计算机程序产品,计算机程序产品包括一个或多个计算机程序,计算机程序被处理器执行时,用于实现上述各个方法实施例提供的应用程序的运行场景复现方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种应用程序的运行场景复现方法,其特征在于,应用在第二终端,所述方法包括:
获取第一终端在目标时间段内操作目标应用程序的操作数据、所述第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的第一服务器返回的第一服务端数据,所述目标时间段包括所述第一终端的目标应用程序在与所述第一服务器交互时出现异常的时间,所述异常是所述目标应用程序在与所述第一服务器交互时出现的异常,所述操作数据、所述运行数据和所述第一服务端数据由所述第一终端上传至第二服务器,所述目标时间段为第一时间和第二时间之间的时间段,所述第一时间与出现异常的时间之间的时间差为第一预设时长且在出现异常的时间之前,所述第二时间与出现异常的时间之间的时间差为第二预设时长且在出现异常的时间之后,所述操作数据包括主动操作数据和用户被动接收的操作,所述运行数据包括所述第一终端在所述目标时间段内的基础状态数据以及在所述目标时间段内与所述目标应用程序相关联的应用状态数据;
根据所述运行数据,配置与所述第一终端在所述目标时间段内相同的运行环境,以及根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;
基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景;
根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,所述第二服务端数据由所述第一服务器上传至第二服务器;
比对所述第一终端接收到的所述第一服务端数据与所述第一服务器发送的所述第二服务端数据,以定位所述异常的原因。
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,包括:
根据所述操作数据以及所述运行数据,生成数据获取请求;
向预设的第二服务器发送所述数据获取请求,并接收所述第二服务器根据所述数据获取请求返回的第一服务器在所述目标时间段向所述第一终端发送的服务端数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,包括:
根据所述操作数据以及所述运行数据,生成数据获取请求;
根据所述数据获取请求,在第二终端本地预先存储的数据中查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据。
4.根据权利要求1所述的方法,其特征在于,所述获取第一终端在目标时间段内操作目标应用程序的操作数据、所述第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的第一服务器返回的第一服务端数据,包括:
接收第二服务器向第二终端发送的自动化执行文件,所述自动化执行文件包括第一终端在目标时间段内的操作数据、运行数据和第一服务端数据;
所述方法还包括:
执行所述自动化执行文件,其中所述自动化执行文件用于所述第二终端根据所述运行数据配置与所述第一终端在所述目标时间段内相同的运行环境,以及,根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景。
5.一种应用程序的运行场景复现方法,其特征在于,应用在第二服务器,所述方法包括:
若第一终端的目标应用程序在与第一服务器交互时出现异常,确定对所述目标应用程序进行场景复现的目标时间段,所述目标时间段为第一时间和第二时间之间的时间段,所述第一时间与出现异常的时间之间的时间差为第一预设时长且在出现异常的时间之前,所述第二时间与出现异常的时间之间的时间差为第二预设时长且在出现异常的时间之后;
向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据,其中所述第二终端用于根据所述运行数据,配置与所述第一终端在所述目标时间段内相同的运行环境,以及根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景,所述操作数据、所述运行数据和所述第一服务端数据由所述第一终端上传至第二服务器,所述操作数据包括主动操作数据和用户被动接收的操作,所述运行数据包括所述第一终端在所述目标时间段内的基础状态数据以及在所述目标时间段内与所述目标应用程序相关联的应用状态数据;
接收所述第二终端发送的数据获取请求,其中所述数据获取请求为所述第二终端根据所述操作数据以及所述运行数据生成的;
根据所述数据获取请求,查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,所述第二服务端数据由所述第一服务器上传至第二服务器;
向所述第二终端返回查找到的第二服务端数据。
6.根据权利要求5所述的方法,其特征在于,所述向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据之前,所述方法还包括:
获取所述第一终端在所述目标时间段内的用户行为日志;
解析所述用户行为日志得到所述操作数据,所述操作数据包括被执行的操作和所述操作被执行的时间。
7.根据权利要求5所述的方法,其特征在于,所述向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据之前,所述方法还包括:
获取所述第一终端在所述目标时间段内的基础状态数据;
获取所述第一终端在所述目标时间段内的与所述目标应用程序关联的应用状态数据;
将所述基础状态数据和所述应用状态数据组成所述运行数据。
8.一种应用程序的运行场景复现装置,其特征在于,应用在第二终端,所述装置包括:
第一获取模块,用于获取第一终端在目标时间段内操作目标应用程序的操作数据、所述第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的第一服务器返回的第一服务端数据,所述目标时间段包括所述第一终端的目标应用程序在与所述第一服务器交互时出现异常的时间,所述异常是所述目标应用程序在与所述第一服务器交互时出现的异常,所述操作数据、所述运行数据和所述第一服务端数据由所述第一终端上传至第二服务器,所述目标时间段为第一时间和第二时间之间的时间段,所述第一时间与出现异常的时间之间的时间差为第一预设时长且在出现异常的时间之前,所述第二时间与出现异常的时间之间的时间差为第二预设时长且在出现异常的时间之后,所述操作数据包括主动操作数据和用户被动接收的操作,所述运行数据包括所述第一终端在所述目标时间段内的基础状态数据以及在所述目标时间段内与所述目标应用程序相关联的应用状态数据;
复现模块,用于根据所述运行数据,配置与所述第一终端在所述目标时间段内相同的运行环境,以及根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景;
所述第一获取模块,还用于根据所述操作数据以及所述运行数据,获取所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,所述第二服务端数据由所述第一服务器上传至第二服务器;
对比模块,用于比对所述第一终端接收到的所述第一服务端数据与所述第一服务器发送的所述第二服务端数据,以定位所述异常的原因。
9.一种应用程序的运行场景复现装置,其特征在于,应用在第二服务器,所述装置包括:
确定模块,用于若第一终端的目标应用程序在与第一服务器交互时出现异常,确定对所述目标应用程序进行场景复现的目标时间段,所述目标时间段为第一时间和第二时间之间的时间段,所述第一时间与出现异常的时间之间的时间差为第一预设时长且在出现异常的时间之前,所述第二时间与出现异常的时间之间的时间差为第二预设时长且在出现异常的时间之后;
返回模块,用于向第二终端返回所述第一终端在所述目标时间段内操作所述目标应用程序的操作数据、第一终端在所述目标时间段内的运行数据以及所述第一终端在所述目标时间段内接收到的所述第一服务器返回的第一服务端数据,其中所述第二终端用于根据所述运行数据,配置与所述第一终端在所述目标时间段内相同的运行环境,以及根据所述操作数据,在所述运行环境中执行所述第一终端在所述目标时间段内的操作;基于所述操作运行所述第一服务端数据,得到所述目标应用程序在所述目标时间段内的运行场景,所述操作数据、所述运行数据和所述第一服务端数据由所述第一终端上传至第二服务器,所述操作数据包括主动操作数据和用户被动接收的操作,所述运行数据包括所述第一终端在所述目标时间段内的基础状态数据以及在所述目标时间段内与所述目标应用程序相关联的应用状态数据;
接收模块,用于接收所述第二终端发送的数据获取请求,其中所述数据获取请求为所述第二终端根据所述操作数据以及所述运行数据生成的;
查找模块,用于根据所述数据获取请求,查找所述第一服务器在所述目标时间段向所述第一终端发送的第二服务端数据,所述第二服务端数据由所述第一服务器上传至第二服务器;
所述返回模块,还用于向所述第二终端返回查找到的第二服务端数据。
10.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1-4任一项所述的应用程序的运行场景复现方法。
11.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求5-7任一项所述的应用程序的运行场景复现方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1-4或权利要求5-7任一项所述的应用程序的运行场景复现方法。
CN202010276350.6A 2020-04-09 2020-04-09 应用程序的运行场景复现方法、装置、设备及存储介质 Active CN111625381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010276350.6A CN111625381B (zh) 2020-04-09 2020-04-09 应用程序的运行场景复现方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010276350.6A CN111625381B (zh) 2020-04-09 2020-04-09 应用程序的运行场景复现方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111625381A CN111625381A (zh) 2020-09-04
CN111625381B true CN111625381B (zh) 2024-04-19

Family

ID=72259719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010276350.6A Active CN111625381B (zh) 2020-04-09 2020-04-09 应用程序的运行场景复现方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111625381B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631934A (zh) * 2020-12-30 2021-04-09 上海高顿教育科技有限公司 一种软件线上问题的测试方法和装置
CN114780377A (zh) * 2022-03-09 2022-07-22 青岛海尔科技有限公司 软件异常的确定方法、装置、存储介质及电子装置
CN115061883B (zh) * 2022-08-17 2022-11-04 中航信移动科技有限公司 一种基于weex的程序日志获取方法、存储介质及电子设备
CN115981986B (zh) * 2023-03-21 2023-07-14 北京淘友天下技术有限公司 一种app内用户行为场景复现方法
CN116701470B (zh) * 2023-08-07 2023-10-13 舟谱数据技术南京有限公司 中台架构下客户问题的复现方法、装置、电子设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070015999A (ko) * 2005-08-02 2007-02-07 엔에이치엔(주) 에러 관리 시스템 및 이를 이용한 에러 관리 방법
JP2010205011A (ja) * 2009-03-04 2010-09-16 Mitsubishi Electric Corp 障害再現システム、障害再現方法および通信再現装置
JP2012163997A (ja) * 2011-02-03 2012-08-30 Nec System Technologies Ltd 障害解析支援システム、障害解析支援方法、および障害解析支援プログラム
CN106055451A (zh) * 2016-05-23 2016-10-26 努比亚技术有限公司 信息处理方法及电子设备
CN108334436A (zh) * 2018-01-31 2018-07-27 平安普惠企业管理有限公司 应用软件的优化方法、装置、设备及计算机可读存储介质
CN110515854A (zh) * 2019-08-30 2019-11-29 网易(杭州)网络有限公司 应用程序异常的复现方法、装置和电子设备
CN110941554A (zh) * 2019-11-25 2020-03-31 腾讯科技(深圳)有限公司 一种复现故障的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070015999A (ko) * 2005-08-02 2007-02-07 엔에이치엔(주) 에러 관리 시스템 및 이를 이용한 에러 관리 방법
JP2010205011A (ja) * 2009-03-04 2010-09-16 Mitsubishi Electric Corp 障害再現システム、障害再現方法および通信再現装置
JP2012163997A (ja) * 2011-02-03 2012-08-30 Nec System Technologies Ltd 障害解析支援システム、障害解析支援方法、および障害解析支援プログラム
CN106055451A (zh) * 2016-05-23 2016-10-26 努比亚技术有限公司 信息处理方法及电子设备
CN108334436A (zh) * 2018-01-31 2018-07-27 平安普惠企业管理有限公司 应用软件的优化方法、装置、设备及计算机可读存储介质
CN110515854A (zh) * 2019-08-30 2019-11-29 网易(杭州)网络有限公司 应用程序异常的复现方法、装置和电子设备
CN110941554A (zh) * 2019-11-25 2020-03-31 腾讯科技(深圳)有限公司 一种复现故障的方法及装置

Also Published As

Publication number Publication date
CN111625381A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN111625381B (zh) 应用程序的运行场景复现方法、装置、设备及存储介质
CN110582017B (zh) 一种视频播放方法、装置、终端及存储介质
CN104113787B (zh) 基于节目的评论方法、终端、服务器和系统
CN105979312B (zh) 一种信息分享方法及装置
CN108763579B (zh) 搜索内容推荐方法、装置、终端设备及存储介质
CN104066009B (zh) 节目识别方法、装置、终端、服务器及系统
US8260278B2 (en) Framework for agile mobile applications
CN107333162B (zh) 一种播放直播视频的方法和装置
CN112148579B (zh) 一种用户界面的测试方法和装置
CN111858971A (zh) 多媒体资源推荐方法、装置、终端及服务器
US10346737B1 (en) Distributed multisensor system to record spatially diverse events
CN112040333B (zh) 视频发布方法、装置、终端及存储介质
CN111553464A (zh) 基于超网络的图像处理方法、装置及智能设备
CN110278273B (zh) 多媒体文件上传方法、装置、终端、服务器和存储介质
CN111416996A (zh) 多媒体文件检测方法、播放方法、装置、设备及存储介质
CN112131473B (zh) 信息推荐方法、装置、设备及存储介质
CN113190307A (zh) 控件添加方法、装置、设备及存储介质
KR102263977B1 (ko) 정보 제공을 수행하기 위한 방법, 장치, 및 시스템
CN113204701B (zh) 数据推荐方法、装置、终端及存储介质
CN113591090B (zh) 程序漏洞的上报方法、装置、设备及存储介质
CN115589432A (zh) 消息推送管理方法、装置、介质及设备
CN111031354B (zh) 一种多媒体播放方法、装置及存储介质
CN111367592B (zh) 信息处理方法和装置
CN113836343A (zh) 一种音频推荐方法、装置、电子设备和存储介质
CN112596831A (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
GR01 Patent grant
GR01 Patent grant