客户端运行错误的复现方法、装置、电子设备及存储介质与流程

专利2022-05-09  47



1.本公开涉及计算机技术领域,具体而言,涉及一种客户端运行错误的复现方法、装置、电子设备及存储介质。


背景技术:

2.用户在通过客户端访问服务器时可能会遇到各种问题;用户会对在使用过程中遇到的问题进行上报;为了分析问题出现的原因,开发人员会在客户端提前埋点,以采集用户在客户端的行为数据,并生成对应的埋点数据;当服务器接收到用户的问题上报后,会调取客户端中的埋点数据,并基于埋点数据查找出现问题的原因,以便排查问题。但是随着用户在客户单的操作量的增加,记录某个用户操作的埋点数据变得庞大复杂,导致开发人员通过埋点数据找问题时变得困难,数据筛查效率低。


技术实现要素:

3.本公开实施例至少提供一种客户端运行错误的复现方法、装置、电子设备及存储介质。
4.第一方面,本公开实施例提供了一种客户端运行错误的复现方法,包括:接收客户端上传的运行错误以及埋点数据;根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;根据所述操作行为链路,复现所述运行错误。
5.在一种可能的实施方式中,所述根据所述埋点数据,绘制用户针对所述客户端的操作行为链路,包括:从所述埋点数据中确定所述客户端最近一次被启动后所产生的目标埋点数据;基于所述目标埋点数据,绘制所述用户针对所述客户端的操作行为链路。
6.在一种可能的实施方式中,所述埋点数据包括所述用户对所述客户端的操作行为数据、以及与所述操作行为数据对应的行为属性数据。
7.在一种可能的实施方式中,所述根据所述埋点数据,绘制用户针对所述客户端的操作行为链路,包括:利用预设的第一检索关键词,从所述埋点数据中确定目标操作行为数据、以及与所述目标操作行为数据对应的目标行为属性数据;基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路。
8.在一种可能的实施方式中,所述基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路,包括:生成所述目标操作行为数据对应的行为节点,并基于所述目标操作行为数据、以及所述目标操作行为数据对应的目标行为属性数据,生成所述行为节点对应的属性信息;基于所述行为节点对应的目标操作行为数据对应的操作顺序,确定行为节点顺序;基于所述行为节点顺序、所述行为节点对应的属性信息,生成所述操作行为链路。
9.在一种可能的实施方式中,所述根据所述操作行为链路,复现所述运行错误,包括:按照各个行为节点在所述操作行为链路中的顺序,针对每个行为节点,基于与所述行为
节点对应的属性信息,模拟复现与所述行为节点对应的运行环境;并在模拟复现所述行为节点对应的运行环境后,执行与所述行为节点对应的操作行为。
10.第二方面,本公开实施例还提供一种客户端运行错误的复现装置,包括:接收模块,用于接收客户端上传的运行错误以及埋点数据;第一处理模块,用于根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;第二处理模块,用于根据所述操作行为链路,复现所述运行错误。
11.在一种可能的实施方式中,在根据所述埋点数据,绘制用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于从所述埋点数据中确定所述客户端最近一次被启动后所产生的目标埋点数据;基于所述目标埋点数据,绘制所述用户针对所述客户端的操作行为链路。
12.在一种可能的实施方式中,所述埋点数据包括所述用户对所述客户端的操作行为数据、以及与所述操作行为数据对应的行为属性数据。
13.在一种可能的实施方式中,在根据所述埋点数据,绘制用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于利用预设的第一检索关键词,从所述埋点数据中确定目标操作行为数据、以及与所述目标操作行为数据对应的目标行为属性数据;基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路。
14.在一种可能的实施方式中,在基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于生成所述目标操作行为数据对应的行为节点,并基于所述目标操作行为数据、以及所述目标操作行为数据对应的目标行为属性数据,生成所述行为节点对应的属性信息;基于所述行为节点对应的目标操作行为数据对应的操作顺序,确定行为节点顺序;基于所述行为节点顺序、所述行为节点对应的属性信息,生成所述操作行为链路。
15.在一种可能的实施方式中,在根据所述操作行为链路,复现所述运行错误时,所述第二处理模块,具体用于按照各个行为节点在所述操作行为链路中的顺序,针对每个行为节点,基于与所述行为节点对应的属性信息,模拟复现与所述行为节点对应的运行环境;并在模拟复现所述行为节点对应的运行环境后,执行与所述行为节点对应的操作行为。
16.第三方面,本公开可选实现方式还提供一种电子设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
17.第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
18.关于上述客户端运行错误的复现装置、电子设备、及计算机可读存储介质的效果描述参见上述客户端运行错误的复现的说明,这里不再赘述。
19.本公开实施例提供的客户端运行错误的复现方法、装置、电子设备及存储介质,基于客户端上传的埋点数据,绘制用户针对该客户端的操作行为链路,操作行为链路中包括
至少一个行为节点、以及与每一行为节点对应的属性信息;根据操作行为链路中的行为节点、以及与每一行为节点分别对应的属性信息,复现客户端上传的运行错误,能更加快速、便捷的复现客户端的运行错误,找到出现错误的原因,提高排查客户端运行错误的效率。
20.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
21.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1示出了本公开实施例所提供的一种客户端运行错误的复现方法的流程图;
23.图2示出了本公开实施例所提供的一种埋点数据的文本内容的示例图;
24.图3示出了本公开实施例所提供的基于获取的埋点数据生成用户的行为链路的流程图;
25.图4示出了本公开实施例所提供的一种行为节点的展示效果图;
26.图5示出了本公开实施例所提供的一种客户端运行错误的复现装置的示意图;
27.图6示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
28.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
29.经研究发现,随着访问客户端的用户日渐增多,客户端出现卡顿、奔溃的概率逐渐上升,为了保障客户端的稳定运行,提高用户体验,可以基于埋点技术对客户端进行监控,并生成对应的埋点数据;其中,对客户端进行监控包括:监控用户对客户端的操作、以及监控客户端对用户的操作的响应情况;该埋点数据中包含用户对客户端的操作行为、以及用户在做出操作行为时,客户端的运行情况;开发人员可以基于该埋点数据去找出造成导致客户端出现奔溃、卡顿的原因;但是因为埋点数据中包含大量数据信息,且以文本的形式记录,不够直观,开发人员需要在大量的数据信息中去筛查用户的操作记录信息以及相关的客户端详细参数数据,导致数据筛查效率低。
30.基于上述研究,本公开提供了一种客户端运行错误的复现方法、装置、电子设备及存储介质,基于客户端上传的埋点数据绘制用户针对该客户端的操作行为链路,并基于该操作行为链路复现客户端上传的运行错误,从而将用户行为的关键信息从大量埋点数据中
提取出来,所形成的操作行为链路能够清晰表征用户操作,从而降低错误复现的难度,能更加快速、便捷的找到客户端出现运行错误的原因,提高排查客户端运行错误的效率。
31.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
32.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
33.为便于对本实施例进行理解,首先对本公开实施例所公开的一种客户端运行错误的复现进行详细介绍,本公开实施例所提供的客户端运行错误的复现的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该客户端运行错误的复现可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
34.本公开实施例提供的客户端运行错误的复现例如可以应用于在线教育、直播、电商购物、视频浏览等场景中。
35.示例性的,在在线教育场景下,学生或者教师用户在使用在线教育课程的相关客户端程序时,在发生卡顿、闪退等情况下,学生或者教师用户通过对应的客户端程序进行错误上报,服务器在接收到客户端程序的错误上报之后,可以通过本公开提供的客户端运行错误的复现对获取的客户端记录学生或者教师用户生成的埋点数据进行数据处理,得到学生或者教师用户对客户端程序进行操作的行为链路,进而能够基于该行为链路直观的复现运行错误,及时快捷的确定发生卡顿或者闪退等问题的原因。
36.下面以执行主体为服务器为例对本公开实施例提供的客户端运行错误的复现加以说明。
37.参见图1所示,为本公开实施例提供的客户端运行错误的复现方法的流程图,所述方法包括以下步骤:
38.s101:接收客户端上传的运行错误以及埋点数据。
39.其中,客户端例如包括部署在终端设备中的应用程序或者嵌入在应用程序中的小程序或者公众号等;运行错误可为应用程序在运行时出现的异常响应,例如应用程序中某一功能单元的页面展示异常、某一功能单元无响应、某一功能单元响应超时等。
40.埋点数据是指客户端对用户的操作行为、以及客户端对用户的操作行为的响应情况进行记录生成的数据,该埋点数据例如包括用户对客户端的操作行为数据、以及与操作行为数据对应的行为属性数据。其中,用户对客户端的操作行为数据例如包括:点击按钮、进行人脸识别、手势、输入信息、访问链接、收藏、切换页面等;行为属性数据例如包括客户端在执行任务过程中的数据信息、客户端执行任务的响应结果、客户端执行任务的具体执行过程等至少一种;客户端在执行任务过程中的数据信息例如包括客户端执行当前任务时的网络环境数据信息、执行时长数据信息等;客户端执行任务的响应结果例如包括:展示页面生成成功、展示页面生成失败等;客户端执行任务的具体执行过程例如包括:执行任务时调用了哪些功能、执行任务时执行了哪些步骤等。客户端例如可以在每一功能单元中通过
埋点技术实现对用户的操作行为和/或客户端的运行情况进行监控,并生成对应的埋点数据。
41.示例性的,开发人员基于自定义的规则在客户端对应的功能单元中埋点,当用户访问客户端并进行操作时,客户端基于对应的功能单元中的埋点生成对该用户的操作行为进行记录和/或对客户端自身对应的功能单元对用户的操作的响应情况进行记录的埋点数据。
42.在一些可能的实施方式中,埋点行为通常可为用户无感知的,从而不会影响用户的使用体验。当然,在埋点之前,还可进一步取得用户授权,从而提升用户好感度,对此不做赘述。
43.如在一个名称为a的客户端的a1、a2、a3三个功能单元中进行埋点,用户访问了客户端a的a2功能单元,该用户在a2功能单元中先进行了点击按钮1的操作,然后进行了人脸识别,最后又进行了点击按钮2的操作,那么功能单元a2中的埋点会把用户的这三个操作步骤按照约定的文本格式按照顺序记录下来,例如:{/点击按钮1/}、{/人脸识别/}、{/点击按钮2/};和/或把功能单元a2对用户的操作的响应情况也按照约定的文本格式记录下来,按照自定义的规则生成埋点数据,存放在预设位置。
44.上述生成的埋点数据包含大量的文本数据内容,示例性的,参见图2所示,为本公开实施例提供的一种埋点数据的文本内容示例图。
45.承接上述s101,本公开实施例提供的客户端运行错误的复现方法还包括:
46.s102:根据埋点数据,绘制用户针对客户端的操作行为链路;操作行为链路包括至少一个行为节点、以及与至少一个行为节点分别对应的属性信息。
47.具体实施时例如可以按照图3所示的方法根据埋点数据,绘制用户针对客户端的操作行为链路:
48.s301:利用预设的第一检索关键词,从埋点数据中确定目标操作行为数据、以及与目标操作行为数据对应的目标行为属性数据。
49.此处,预设的第一检索关键词是由开发人员自己命名设定的字符或字符串,例如log_tag_home、user_action_record等,客户端在生成埋点数据时,每生成一条操作行为数据,都会在该条操作行为数据的某一字段携带该第一检索关键词。
50.在得到埋点数据后,基于该第一检索关键词,从埋点数据中进行检索,确定第一检索关键词在埋点数据中的位置,然后基于第一检索关键词在埋点数据中的位置,从埋点数据中确定目标操作行为、以及目标操作行为对应的目标行为属性数据。
51.示例性的,预设的第一检索关键词为log_tag_home,图2所示的埋点数据中的第一个目标操作行为数据、以及对应的目标行为属性数据为:{"c":"{\"log_tag_home\":\"tab栏切换

选课\"}","f":2,"l":1609294981398,"n":"","i":1,"m":true},其中“tab栏切换

选课”为目标操作行为数据,“"f":2,"l":1609294981398,"n":"","i":1,"m":true”为与“tab栏切换

选课”对应的目标行为属性数据;
52.第二个目标操作行为数据、以及对应的目标行为属性数据为:{"c":"{\"log_tag_home\":\"tab栏切换

学习\"}","f":2,"l":1609294981417,"n":"","i":1,"m":true},“tab栏切换

学习”为目标操作行为数据,“"f":2,"l":1609294981417,"n":"","i":1,"m":true”为对应的目标行为属性数据。
53.s302:基于目标操作行为数据、以及目标行为属性数据,绘制用户针对客户端的操作行为链路。
54.具体实施时,例如按照(1)~(2)所述的顺序生成操作行为链路:
55.(1):生成目标操作行为数据对应的行为节点,并基于目标操作行为数据、以及目标操作行为数据对应的目标行为属性数据,生成行为节点对应的属性信息。
56.示例性的,基于第一检索关键词log_tag_home从埋点数据中确定出{"c":"{\"log_tag_home\":\"tab栏切换

选课\"}","f":2,"l":1609294981398,"n":"","i":1,"m":true},其中,目标操作行为数据为:tab栏切换

选课;{"c":"{\"log_tag_home\":\"tab栏切换

选课\"}","f":2,"l":1609294981398,"n":"","i":1,"m":true}中除操作行为数据“tab栏切换

选课”外的其他数据“"f":2,"l":1609294981398,"n":"","i":1,"m":true”则为目标操作行为数据对应的目标行为属性数据。
57.生成行为节点对应的属性信息例如包括:基于目标操作行为数据生成该目标操作行为数据对应的行为节点的展示信息,例如将“tab栏切换

选课”作为该行为节点的展示信息,然后将该目标操作行为数据对应的目标操作行为属性数据与该行为节点关联,基于对该行为节点的触发可以获取该目标行为属性数据。
58.(2):基于行为节点对应的目标操作行为数据对应的操作顺序,确定行为节点顺序;基于行为节点顺序、行为节点对应的属性信息,生成操作行为链路。
59.埋点数据中记录操作行为数据的顺序是按照用户对客户端的操作顺序记录的,按照每一目标操作行为数据在埋点数据中的位置,确定各个目标操作行为数据的操作顺序;将每一目标操作行为数据对应的行为节点的属性信息按照各个目标操作行为的操作顺序排列得到操作行为链路。
60.示例性的,一共确定a、b、c三个目标操作行为数据,则对应的生成a、b、c三个行为节点,例如目标操作行为数据a为“tab栏切换

选课”,其对应的目标行为属性数据为“"f":2,"l":1609294981398,"n":"","i":1,"m":true”,则给行为节点a直接赋值“tab栏切换

选课”,如图4所示为一种行为节点的展示效果图,行为节点a展示的标签信息就为“tab栏切换

选课”;将该展示标签与目标行为属性数据“"f":2,"l":1609294981398,"n":"","i":1,"m":true”建立关联关系,当节点a的展示标签“tab栏切换

选课”被触发,则在预设的位置展示目标行为属性数据的内容“"f":2,"l":1609294981398,"n":"","i":1,"m":true”。
61.如果目标操作行为数据在埋点数据中的操作顺序为a

b

c;生成的行为链路的中的行为节点的顺序即为a

b

c。
62.另外,客户端上传的埋点数据包括了从用户初次开始使用客户端时,记录的用户对客户端的操作行为数据、以及操作行为数据对应的行为属性数据,客户端在出现运行错误时,只是在当前用户启动客户端后出现的运行错误,因此具体实施时,例如可以从埋点数据中确定客户端最近一次被启动后所产生的目标埋点数据;基于目标埋点数据,利用图3所示的方法绘制用户针对客户端的操作行为链路,此处不再赘述。
63.要说明的是,考虑到定位运行错误的效率,以及对安装有客户端的终端设备的存储空间有效地利用,埋点数据可以仅仅包括最近一次客户端被启动后所生成的数据;当然,在不考虑错误定位的及时性和存储空间时,埋点数据也可以包括最近一段时间内客户端被启动后生成的一些数据,甚至,还可以包括用户使用所述客户端以来生成的全部数据,对此
不做任何限定。
64.承接上述s102,本公开实施例提供的客户端运行错误的复现方法还包括:
65.s103:根据操作行为链路,复现运行错误。
66.具体的,按照各个行为节点在操作行为链路中的顺序,针对每个行为节点,基于与行为节点对应的属性信息,模拟复现与行为节点对应的运行环境;并在模拟复现行为节点对应的运行环境后,执行与行为节点对应的操作行为。
67.基于对运营环境的复现、以及在运营环境中执行对应的操作行为可以模拟客户端出现运行错误的场景,进而可以直观的判断客户端出现运行错误的原因,提高排查造成客户端出现运行错误的原因的效率。
68.本公开另一实施例中,操作行为链路已经将埋点数据中的目标操作行为数据、以及目标操作行为数据对应的目标行为属性数据较为直观的展示出来,开发人员也可以直接基于埋点链路中展示的各行为节点对应的属性信息查、以及客户端上传的运行错误排查出现该运行错误的原因。
69.客户端出现问题的原因可能是客户端自身的运营环境出现问题,也可能是用户的操作不当。在排查判断是否因为用户的操作不当引发客户端出现问题时,可以参考操作行为链路中用户的目标操作行为数据,为了更加直观的展示用户对客户端的操作过程,本公开的另一实施例中,基于操作行为链路生成用于展示用户对客户端的操作行为过程的视频。
70.具体实施时,基于多个行为节点分别对应的属性信息,从预先设置的素材库中确定与多个行为节点分别对应的目标素材;基于多个行为节点分别对应的目标素材,生成视频。
71.其中,目标素材可以是一个预先生成的动画,也可以是预先生成的图片;预先将展示信息与素材库中对应的素材建立关联关系,基于行为节点展示的展示信息与素材库中对应素材之间的关联关系从素材库中确定目标素材。
72.在素材库中包含行为节点的属性信息对应的目标素材的情况下,获取属性信息对应的目标素材;在素材库中不包含属性信息对应的目标素材的情况下,基于属性信息生成一个预设时长的视频帧,并将该视频帧作为素材加入素材库,视频帧即为目标素材。
73.基于属性信息生成一个预设时长的视频帧例如可以是基于属性信息生成一个包含属性信息文本的图片,将该包含属性信息文本的图片制作成一个展示预设时长的视频帧。
74.另外,如果目标素材是图片,将该图片制作成一个预设时长的视频帧;如果目标素材是一个动画,则直接基于每一行为节点在行为链路中的顺序将目标素材拼接起来得到对应的视频。
75.为了减少对存储空间的占用,在本公开另一实施例中,当客户端的问题被排除后,删除基于该客户端对应的行为链路生成的视频。
76.本公开实施例基于客户端上传的埋点数据绘制用户针对该客户端的操作行为链路;基于该操作行为链路复现客户端上传的运行错误。将埋点数据中生成操作行为链路中的至少一个节点、以及每一节点对应的属性信息,从而将用户行为的关键信息从大量埋点数据中提取出来,所形成的操作行为链路能够清晰表征用户操作,从而降低错误复现的难
度,能更加快速、便捷的找到客户端出现运行错误的原因,提高排查客户端运行错误的效率。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写第一顺序并不意味着严格的执行第一顺序而对实施过程构成任何限定,各步骤的具体执行第一顺序应当以其功能和可能的内在逻辑确定。
77.基于同一发明构思,本公开实施例中还提供了与客户端运行错误的复现方法对应的客户端运行错误的复现装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述客户端运行错误的复现方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
78.参照图5所示,为本公开实施例提供的一种客户端运行错误的复现装置的示意图,应用于服务器,所述装置包括:接收模块501、第一处理模块502、以及第二处理模块503;其中,
79.接收模块501,用于接收客户端上传的运行错误以及埋点数据;
80.第一处理模块502,用于根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;
81.第二处理模块503,用于根据所述操作行为链路,复现所述运行错误。
82.在一种可能的实施方式中,在根据所述埋点数据,绘制用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于从所述埋点数据中确定所述客户端最近一次被启动后所产生的目标埋点数据;基于所述目标埋点数据,绘制所述用户针对所述客户端的操作行为链路。
83.在一种可能的实施方式中,所述埋点数据包括所述用户对所述客户端的操作行为数据、以及与所述操作行为数据对应的行为属性数据。
84.在一种可能的实施方式中,在根据所述埋点数据,绘制用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于利用预设的第一检索关键词,从所述埋点数据中确定目标操作行为数据、以及与所述目标操作行为数据对应的目标行为属性数据;基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路。
85.在一种可能的实施方式中,在基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于生成所述目标操作行为数据对应的行为节点,并基于所述目标操作行为数据、以及所述目标操作行为数据对应的目标行为属性数据,生成所述行为节点对应的属性信息;基于所述行为节点对应的目标操作行为数据对应的操作顺序,确定行为节点顺序;基于所述行为节点顺序、所述行为节点对应的属性信息,生成所述操作行为链路。
86.在一种可能的实施方式中,在根据所述操作行为链路,复现所述运行错误时,所述第二处理模块,具体用于按照各个行为节点在所述操作行为链路中的顺序,针对每个行为节点,基于与所述行为节点对应的属性信息,模拟复现与所述行为节点对应的运行环境;并在模拟复现所述行为节点对应的运行环境后,执行与所述行为节点对应的操作行为。
87.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
88.本公开实施例还提供了一种电子设备,如图6所示,为本公开实施例提供的电子设备结构示意图,包括:
89.处理器61和存储器62;所述存储器62存储有处理器61可执行的机器可读指令,处理器61用于执行存储器62中存储的机器可读指令,所述机器可读指令被处理器61执行时,处理器61执行下述步骤:
90.接收客户端上传的运行错误以及埋点数据;
91.根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;
92.根据所述操作行为链路,复现所述运行错误。
93.上述存储器62包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换。
94.上述指令的具体执行过程可以参考本公开实施例中所述的客户端运行错误的复现方法的步骤,此处不再赘述。
95.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的客户端运行错误的复现方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
96.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的客户端运行错误的复现方法的步骤,具体可参见上述方法实施例,在此不再赘述。
97.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
98.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
99.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
100.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
101.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
102.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种客户端运行错误的复现方法,其特征在于,包括:接收客户端上传的运行错误以及埋点数据;根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;根据所述操作行为链路,复现所述运行错误。2.根据权利要求1所述的复现方法,其特征在于,所述根据所述埋点数据,绘制用户针对所述客户端的操作行为链路,包括:从所述埋点数据中确定所述客户端最近一次被启动后所产生的目标埋点数据;基于所述目标埋点数据,绘制所述用户针对所述客户端的操作行为链路。3.根据权利要求1或2所述的复现方法,其特征在于,所述埋点数据包括所述用户对所述客户端的操作行为数据、以及与所述操作行为数据对应的行为属性数据。4.根据权利要求3所述的复现方法,其特征在于,所述根据所述埋点数据,绘制用户针对所述客户端的操作行为链路,包括:利用预设的第一检索关键词,从所述埋点数据中确定目标操作行为数据、以及与所述目标操作行为数据对应的目标行为属性数据;基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路。5.根据权利要求4所述的复现方法,其特征在于,所述基于所述目标操作行为数据、以及所述目标行为属性数据,绘制所述用户针对所述客户端的操作行为链路,包括:生成所述目标操作行为数据对应的行为节点,并基于所述目标操作行为数据、以及所述目标操作行为数据对应的目标行为属性数据,生成所述行为节点对应的属性信息;基于所述行为节点对应的目标操作行为数据对应的操作顺序,确定行为节点顺序;基于所述行为节点顺序、所述行为节点对应的属性信息,生成所述操作行为链路。6.根据权利要求1所述的复现方法,其特征在于,所述根据所述操作行为链路,复现所述运行错误,包括:按照各个行为节点在所述操作行为链路中的顺序,针对每个行为节点,基于与所述行为节点对应的属性信息,模拟复现与所述行为节点对应的运行环境;并在模拟复现所述行为节点对应的运行环境后,执行与所述行为节点对应的操作行为。7.一种客户端运行错误的复现装置,其特征在于,包括:接收模块,用于接收客户端上传的运行错误以及埋点数据;第一处理模块,用于根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;第二处理模块,用于根据所述操作行为链路,复现所述运行错误。8.根据权利要求7所述的复现装置,其特征在于,在根据所述埋点数据,绘制用户针对所述客户端的操作行为链路时,所述第一处理模块,具体用于从所述埋点数据中确定所述客户端最近一次被启动后所产生的目标埋点数据;基于所述目标埋点数据,绘制所述用户针对所述客户端的操作行为
链路。9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至6任一项所述的客户端运行错误的复现方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被电子设备运行时,所述电子设备执行如权利要求1至6任一项所述的客户端运行错误的复现方法的步骤。
技术总结
本公开提供了一种客户端运行错误的复现方法、装置、电子设备及存储介质,其中,该方法包括:接收客户端上传的运行错误以及埋点数据;根据所述埋点数据,绘制用户针对所述客户端的操作行为链路;所述操作行为链路包括至少一个行为节点、以及与所述至少一个行为节点分别对应的属性信息;根据所述操作行为链路,复现所述运行错误。本公开实施例能更加快速、便捷的复现客户端的运行错误,找到出现错误的原因,提高排查客户端运行错误的效率。提高排查客户端运行错误的效率。提高排查客户端运行错误的效率。


技术研发人员:陈聚成 王芳 甄学文
受保护的技术使用者:北京高途云集教育科技有限公司
技术研发日:2021.03.25
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-13221.html

最新回复(0)