用户操作轨迹的还原方法、装置、电子设备及介质制造方法及图纸

技术编号:38573690 阅读:7 留言:0更新日期:2023-08-22 21:07
本发明专利技术提供了一种用户操作轨迹的还原方法、装置、电子设备及介质,被调试宿主项目包括多个函数,用户在针对被调试宿主项目进行操作时函数被调用,该方法包括:监听被调试宿主项目中各函数的执行过程;采集各函数执行过程中的执行链路元数据;其中,采用栈数据结构存储函数的执行链路元数据;对执行链路元数据进行解析还原用户的操作轨迹。本发明专利技术能够对函数执行过程进行监听和采集,以复现用户行为,提高问题定位效率以及问题修复效率。问题定位效率以及问题修复效率。问题定位效率以及问题修复效率。

【技术实现步骤摘要】
用户操作轨迹的还原方法、装置、电子设备及介质


[0001]本专利技术涉及软件开发
,尤其是涉及一种用户操作轨迹的还原方法、装置、电子设备及介质。

技术介绍

[0002]目前,大多数前端项目代码量巨大,依赖子包达到上百个,各个本地化项目版本众多,架构历史负载众多,从而会导致有些场景函数调用链路过长,同时,由于函数执行情况黑盒,研发维护过程会异常艰难。当客户端发生故障紧急求助时,由于函数调用链不清晰,函数耗时不清楚等原因,会存在问题定位困难,用户行为难以复现,修复效率低下的问题。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种用户操作轨迹的还原方法、装置、电子设备及介质,能够对函数执行过程进行监听和采集,以复现用户行为,提高问题定位效率以及问题修复效率。
[0004]为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种用户操作轨迹的还原方法,被调试宿主项目包括多个函数,用户在针对被调试宿主项目进行操作时函数被调用,该方法包括:监听被调试宿主项目中各函数的执行过程;采集各函数执行过程中的执行链路元数据;其中,采用栈数据结构存储函数的执行链路元数据;对执行链路元数据进行解析还原用户的操作轨迹。
[0005]在一种实施方式中,监听被调试宿主项目中各函数的执行过程,包括:采用装饰器对被调试宿主项目中各函数的执行过程进行监听。
[0006]在一种实施方式中,采集各函数执行过程中的执行链路元数据,包括:基于函数的执行顺序采集各函数执行过程中的执行链路元数据,并确定各函数的层次;基于各函数的层次将函数的执行链路元数据保存至堆栈中,生成堆栈信息。
[0007]在一种实施方式中,基于函数的执行顺序采集各函数执行过程中的执行链路元数据,包括:对于每个函数,确定函数的执行信息,并对函数进行标记生成对应的标记ID;更新函数的执行信息,并执行函数得到函数的执行链路元数据。
[0008]在一种实施方式中,基于各函数的层次将函数的执行链路元数据保存至堆栈中,生成堆栈信息之后,该方法还包括:基于函数对应的标记ID和层次,从堆栈信息获取函数的调用信息,并打印调用信息。
[0009]在一种实施方式中,采集各函数执行过程中的执行链路元数据之后,该方法还包括:将堆栈信息上传至服务器;和/或,基于堆栈信息生成全局变量。
[0010]在一种实施方式中,对执行链路元数据进行解析还原用户的操作轨迹,包括:从服务器下载预设时间段内的堆栈信息,并对预设时间段内的堆栈信息中的执行链路元数据进行解析,还原用户在预设时间段内的操作轨迹;和/或,基于全局变量中的执行链路元数据确定函数间的调用链,并打印调用链。
[0011]第二方面,本专利技术实施例提供了一种用户操作轨迹的还原装置,被调试宿主项目包括多个函数,用户在针对被调试宿主项目进行操作时函数被调用,该装置包括:监听模块,用于监听被调试宿主项目中各函数的执行过程;采集模块,用于采集各函数执行过程中的执行链路元数据;其中,采用栈数据结构存储函数的执行链路元数据;还原模块,用于对执行链路元数据进行解析还原用户的操作轨迹。
[0012]第三方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
[0013]第四方面,本专利技术实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。
[0014]本专利技术实施例带来了以下有益效果:本专利技术实施例提供的上述用户操作轨迹的还原方法、装置、电子设备及介质,首先监听被调试宿主项目中各函数的执行过程;然后采集各函数执行过程中的执行链路元数据;最后对执行链路元数据进行解析还原用户的操作轨迹。上述方法能够基于对函数执行过程的监听和采集,得到函数的执行链路元数据,并基于执行链路元数据进行分析和定位,以还原用户的操作轨迹,高效定位问题,提高问题修复效率。
[0015]本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0016]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0017]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本专利技术实施例提供的一种用户操作轨迹的还原方法的流程图;图2为本专利技术实施例提供的另一种用户操作轨迹的还原方法的流程图;图3为本专利技术实施例提供的一种用户操作轨迹的还原装置的结构示意图;图4为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0019]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]目前,当业务场景较复杂时,代码也会相对复杂、事件较多,函数调用关系也就会
特别多,即使使用断点调试也会比较复杂,且故障通常在依赖包内部,定位问题更加困难;同时,在定位问题时,通常情况下需要检查用户的操作过程,但是开发人员的理解与用户的反馈可会存在差异,从而导致开发人员不能准确地了解代码函数的执行情况,影响修复故障的效率,增加维护人力成本。
[0021]基于此,本专利技术实施例提供的一种用户操作轨迹的还原方法、装置、电子设备及介质,能够对函数执行过程进行监听和采集,以复现用户行为,提高问题定位效率以及问题修复效率。
[0022]为便于对本实施例进行理解,首先对本专利技术实施例所公开的一种用户操作轨迹的还原方法进行详细介绍,该方法可以由电子设备执行,诸如智能手机、电脑、iPad等。参见图1所示的一种用户操作轨迹的还原方法的流程图,示意出该方法主要包括以下步骤S101至步骤S103:步骤S101:监听被调试宿主项目中各函数的执行过程。
[0023]在一种实施方式中,被调试宿主项目包括多个函数,用户在针对被调试宿主项目进行操作时函数被调用。考虑到对函数进行监听不能影响到被调试宿主项目的功能以及性能。基于此,本专利技术实施中采用装饰器对被调试宿主项目中各函数的执行过程进行监听。在具体实施时,装饰器Decorator方式,通过依赖注入的方式,可以减少对宿主项目源代码的侵入,保障了易用性,从而不影响被调试宿主项目的功能及性能。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户操作轨迹的还原方法,其特征在于,被调试宿主项目包括多个函数,所述用户在针对所述被调试宿主项目进行操作时所述函数被调用,所述方法包括:监听被调试宿主项目中各函数的执行过程;采集各所述函数执行过程中的执行链路元数据;其中,采用栈数据结构存储函数的执行链路元数据;对所述执行链路元数据进行解析还原用户的操作轨迹。2.根据权利要求1所述的方法,其特征在于,监听被调试宿主项目中各函数的执行过程,包括:采用装饰器对被调试宿主项目中各函数的执行过程进行监听。3.根据权利要求1所述的方法,其特征在于,采集各所述函数执行过程中的执行链路元数据,包括:基于所述函数的执行顺序采集各所述函数执行过程中的执行链路元数据,并确定各所述函数的层次;基于各所述函数的层次将所述函数的执行链路元数据保存至堆栈中,生成堆栈信息。4.根据权利要求3所述的方法,其特征在于,基于所述函数的执行顺序采集各所述函数执行过程中的执行链路元数据,包括:对于每个所述函数,确定所述函数的执行信息,并对所述函数进行标记生成对应的标记ID;更新所述函数的执行信息,并执行所述函数得到所述函数的执行链路元数据。5.根据权利要求4所述的方法,其特征在于,基于各所述函数的层次将所述函数的执行链路元数据保存至堆栈中,生成堆栈信息之后,所述方法还包括:基于所述函数对应的标记ID和层次,从所述堆栈信息获取所述函数的调用信息,并打印所述调用信息。6.根据...

【专利技术属性】
技术研发人员:马春荃俞德明王伟东胡冲冲吴琦
申请(专利权)人:北京合思信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1