一种数据处理方法及设备与流程

文档序号:31086172发布日期:2022-08-09 23:02阅读:92来源:国知局
一种数据处理方法及设备与流程

1.本技术涉及计算机处理技术领域,具体涉及一种数据处理方法及设备。


背景技术:

2.随着移动终端在人们生活中的普遍使用,运行于移动终端的各种各样的应用(app)逐渐涌现。人们不仅仅注重应用的功能,也越来越关注应用的性能,其中,应用启动性能是影响用户体验的一个重要的性能指标。
3.现有的应用启动性能分析方案中,一般基于应用的程序视角,将应用的框架启动的第一个生命周期的回调作为应用启动的起点,使用该起点近似用户点击应用图标(app icon)的动作,确定应用的启动耗时数据。然而,该方案中并未从用户可体验到的用户视角确定应用的启动耗时数据,从用户点击应用图标至第一个生命周期的回调,这一过程对用户感觉到的启动耗时有相当大的影响。因此,现有的基于程序视角监测的启动耗时数据无法准确地表征用户视角的应用启动性能,难以对应用启动的优化提供可靠的数据支撑。
4.因此,如何准确地监测应用的启动耗时数据是需要解决的问题。


技术实现要素:

5.本技术实施例提供的数据处理方法,解决了监测到的应用的启动耗时数据准确度较低的问题。
6.本技术实施例提供一种数据处理方法,包括:获取针对目标应用的进程创建行为信息,根据所述进程创建行为信息确定所述目标应用启动的第一时间点;检测到所述目标应用的第一页面渲染成功信息,根据所述第一页面渲染成功信息确定所述目标应用启动的第二时间点;根据所述第一时间点和所述第二时间点,确定所述目标应用的启动耗时数据。
7.可选的,还包括:调用运行所述目标应用的电子设备的系统相机的录屏功能,以使所述电子设备记录所述目标应用的启动过程的启动过程图像;根据所述启动过程图像,确定所述进程创建行为信息;和/或,根据所述启动过程图像,确定所述第一页面渲染成功信息。
8.可选的,所述根据所述启动过程图像,确定所述进程创建行为信息,包括:从所述启动过程图像中解析出所述目标应用的标识被触发的第一视频帧,将所述第一视频帧作为用于表征开始创建所述目标应用的进程的进程创建行为信息;所述根据所述进程创建行为信息确定所述目标应用启动的第一时间点,包括:将生成所述第一视频帧的时间作为所述第一时间点。
9.可选的,所述根据所述启动过程图像,确定所述第一页面渲染成功信息,包括:从所述启动过程图像中识别出所述第一页面在所述电子设备的屏幕上成功显示的第二视频帧,将所述第二视频帧作为用于表征所述第一页面渲染成功的第一页面渲染成功信息;所述根据所述第一页面渲染成功信息确定所述目标应用启动的第二时间点,包括:将生成所述第二视频帧的时间作为所述第二时间点。
10.可选的,所述获取针对目标应用的进程创建行为信息,根据所述进程创建行为信息确定所述目标应用启动的第一时间点,包括:响应检测到所述目标应用被触发,将所述目标应用被触发的信息作为所述进程创建行为信息;获取所述目标应用被触发的时间信息,将所述目标应用被触发的时间信息指示的时间作为所述第一时间点。
11.可选的,所述检测到所述目标应用的第一页面渲染成功信息,包括:确定所述第一页面需要渲染的渲染组件,若所述渲染组件包含渲染标记,则判断所述第一页面渲染成功;根据所述渲染组件的渲染时间信息,确定所述第一页面渲染成功信息。
12.可选的,还包括:根据所述启动耗时数据,调整所述目标应用的服务的启动顺序。
13.可选的,所述根据所述启动耗时数据,调整所述目标应用的服务的启动顺序,包括:从所述目标应用的服务中,确定所述目标应用的前置服务;和/或,从所述目标应用的服务中,确定所述目标应用的页面框架启动所依赖的第一服务;和/或,从所述目标应用的服务中,确定在所述目标应用的启动阶段加载的第二服务;根据所述启动耗时数据,对所述前置服务、所述第一服务以及所述第二服务中至少部分服务的启动顺序进行调整。
14.可选的,所述根据所述启动耗时数据,调整所述目标应用的服务的启动顺序,包括:根据加载所述目标应用的电子设备的硬件信息,对所述目标应用的服务的至少部分服务进行并发启动。
15.本技术实施例还提供一种电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机程序,所述计算机程序被所述处理器运行后,执行本技术实施例提供的所述方法。
16.与现有技术相比,本技术具有以下优点:
17.本技术实施例提供的一种数据处理方法、装置及设备,通过获取针对目标应用的进程创建行为信息,根据所述进程创建行为信息确定所述目标应用启动的第一时间点;检测到所述目标应用的第一页面渲染成功信息,根据所述第一页面渲染成功信息确定所述目标应用启动的第二时间点;根据所述第一时间点和所述第二时间点,确定所述目标应用的启动耗时数据。监测目标应用的进程创建以及第一页面成功渲染,能够较准确地从贴近用户的视角确定目标应用的启动耗时数据,解决应用的启动耗时数据准确度较低的问题,提升用户使用目标应用的体验,同时也可以为应用启动的优化提供可靠的数据支撑。
附图说明
18.图1是本技术第一实施例提供的一种数据处理方法的处理流程图;
19.图2是本技术第一实施例提供的一种应用启动阶段的起点与终点示意图;
20.图3是本技术第二实施例提供的一种数据处理装置示意图;
21.图4是本技术提供的电子设备示意图。
具体实施方式
22.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
23.本技术实施例提供一种数据处理方法、装置、电子设备及存储设备。在下面的实施
例中逐一进行说明。
24.为便于理解,首先给出本技术实施例提供的数据处理方法的场景。应用的启动是人们使用应用的第一印象也是最直观体验之一,应用的启动耗时数据是能表征应用的启动性能的重要指标。所谓应用,是指应用程序,尤其是运行于人们使用的电子设备的应用程序。人们使用的电子设备包括但不限于移动终端如手机、pad、智能终端等。一个应用的启动耗时数据,决定了用户从打开应用到使用应用的等待时长,对用户后续是否愿意继续使用该应用的决策有着重要影响。本实施例提供的数据处理方法,将目标应用的进程创建作为启动的起点,根据起点确定第一时间点,将目标应用的第一页面的渲染成功作为启动的终点,根据终点确定第二时间点,实现了从用户角度确定目标应用的启动耗时数据,从而得到更合理的启动性能指标数据,进一步将其用于优化目标应用的启动阶段,能够使得优化后的应用启动速度更贴近用户的真实感受到的启动速度。
25.以下结合图1和图2对本技术第一实施例提供的数据处理方法进行说明。图1所示的数据处理方法,包括:步骤s101至步骤s103。
26.步骤s101,获取针对目标应用的进程创建行为信息,根据所述进程创建行为信息确定所述目标应用启动的第一时间点;
27.步骤s102,检测到所述目标应用的第一页面渲染成功信息,根据所述第一页面渲染成功信息确定所述目标应用启动的第二时间点;
28.步骤s103,根据所述第一时间点和所述第二时间点,确定所述目标应用的启动耗时数据。
29.所谓进程创建行为,是指启动应用时触发创建或创建进程的行为。所述进程创建行为创建的进程为应用对应的进程。可以理解的是,针对目标应用的进程创建行为,是指启动目标应用时触发创建或创建与目标应用相对应的进程的行为。从用户触发所使用的电子设备启动目标应用至所述电子设备的屏幕成功展示目标应用的第一页面,为用户视角可以直观体验到的目标应用的启动阶段。其中,所述第一页面,可以理解为目标应用启动后的第一个可视页面。响应获取到启动目标应用的触发信息,所述电子设备的操作系统开始创建进程;响应第一页面渲染成功,所述电子设备的屏幕成功显示第一页面的界面信息,以使用户能够使用目标应用的功能。因此,本实施例中将针对目标应用的进程创建行为作为目标应用启动阶段的起点,以及,将第一页面渲染成功作为目标应用启动阶段的终点,能够较准确地表征用户视角所感知的启动阶段,在此基础上根据起点和终点各自对应的时间点计算得到的启动阶段的启动耗时数据更贴近用户对目标应用的真实体感。实际应用中的一个场景为冷启动场景,如某手机应用在手机内存中无该应用对应进程的情况下被打开,则该应用的启动阶段的起点为用户触发手机创建其进程,终点为该应用的首页在手机屏幕上渲染成功。
30.请参考图2,图中示出了一种应用启动阶段的起点与终点示意图,包括:确定应用启动阶段的起点201,以及,确定应用启动阶段的终点202。在该图中,用户点击appicon(即应用图标)后操作系统进行一系列处理:系统创建进程、系统分配内存、系统加载app以及系统激活app;操作系统激活app后应用(即app)开始执行一系列处理,包括:app生命周期开始运行、页面框架组装、落地页渲染;落地页渲染成功后即为用户视角的应用启动完成。操作系统的处理以及应用激活后至启动完成的处理均需一定的耗时。因此,将用户点击appicon
作为应用启动阶段的起点,将用户视角的app启动完成作为启动阶段的终点。用户点击appicon的时间点,也可以理解为操作系统开始创建进程的时间点。用户视角的app启动完成可以理解为落地页渲染成功完成的时间点。相比于基于程序视角确定启动阶段的起点与终点,从用户视角设计起点与终点得到的启动耗时数据,更符合用户的真实体验。而所谓程序视角,一般从程序启动及框架启动的第一个生命周期的回调视为起点。
31.实际应用中,用户触发启动目标应用,可以是触发目标应用对应的应用图标,即appicon,所述应用图标被触发后使得目标应用被启动并展示目标应用的首页。用户触发启动目标应用,还可以是通过触发特定链接从而启动目标应用,以使得目标应用启动后直接展示所述特定链接对应的落地页面。优选的,所述第一页面为所述目标应用的首页或与所述目标应用关联的链接标识所链接至的落地页面。其中,所述目标应用关联的链接标识,可以是其他应用中能够用于跳转至所述目标应用的特定链接所对应的标识,所述落地页面为所述特定链接对应加载的页面。例如,落地页面可以为一个商品详情页,则商品详情页的渲染完成为启动阶段的终点。
32.目标应用的启动耗时数据一般在性能测试场景中获取,用于进行启动阶段的性能优化。一个实施方式中,可以介入录制技术记录目标应用的启动流程,即通过启动目标应用的电子设备的录屏功能,录制目标应用的启动过程,根据录制的图像解析出目标应用启动阶段的起点和/或终点,从而以贴合用户真实使用场景的方式确定启动耗时数据。本实施例中具体包括:调用运行所述目标应用的电子设备的系统相机的录屏功能,以使所述电子设备记录所述目标应用的启动过程的启动过程图像;根据所述启动过程图像,确定所述进程创建行为信息;和/或,根据所述启动过程图像,确定所述第一页面渲染成功信息。实施时,检测到针对应用图标的触发事件(如点击事件),通过该触发事件触发调用运行所述目标应用的电子设备的系统相机的录屏功能,具体的,可以是激活代理功能或代理对象,通过代理功能或代理对象调用系统相机功能进行录屏,录制目标应用的启动过程,检测到渲染完成后结束录屏,生成启动过程图像。进一步,可以将该事件对应的时间作为第一时间点,从启动过程图像中解析出渲染完成后的屏幕显示的第一帧时间作为第二时间点,计算出启动耗时数据。另一个实施方式中,也可以针对触发创建进程和/或第一页面渲染完成的程序位置设置标记,当触发设置的标记时采集时间信息,根据采集到的时间信息计算启动耗时数据。
33.如步骤s101所述,根据所述进程创建行为信息确定目标应用启动的第一时间点,即将进程创建行为作为所述目标应用启动阶段的起点,确定起点时间。当通过所述录屏功能确定所述第一时间点时,所述根据所述启动过程图像,确定所述进程创建行为信息,包括:从所述启动过程图像中解析出所述目标应用的标识被触发的第一视频帧,将所述第一视频帧作为用于表征开始创建所述目标应用的进程的进程创建行为信息;所述根据所述进程创建行为信息确定所述目标应用启动的第一时间点,包括:将生成所述第一视频帧的时间作为所述第一时间点。其中,所述目标应用的标识被触发,可以理解为用户触发应用图标或用户触发其他应用中用于跳转至目标应用的链接标识,被触发则系统开始创建进程,因此可以将第一视频帧作为所述进程创建行为信息。当通过针对程序位置设置标记采集时间信息的方式确定所述第一时间点时,所述获取针对目标应用的进程创建行为信息,根据所述进程创建行为信息确定所述目标应用启动的第一时间点,包括:响应检测到所述目标应用被触发,将所述目标应用被触发的信息作为所述进程创建行为信息;获取所述目标应用
被触发的时间信息,将所述目标应用被触发的时间信息指示的时间作为所述第一时间点。
34.如步骤s102所述,根据所述第一页面渲染成功信息确定所述目标应用启动的第二时间点,即将所述第一页面渲染成功作为所述目标应用启动阶段的终点,确定终点时间。当通过所述录屏功能确定所述第二时间点时,所述根据所述启动过程图像,确定所述第一页面渲染成功信息,包括:从所述启动过程图像中识别出所述第一页面在所述电子设备的屏幕上成功显示的第二视频帧,将所述第二视频帧作为用于表征所述第一页面渲染成功的第一页面渲染成功信息;所述根据所述第一页面渲染成功信息确定所述目标应用启动的第二时间点,包括:将生成所述第二视频帧的时间作为所述第二时间点。当通过针对程序位置设置标记采集时间信息的方式确定所述第一时间点时,所述检测到所述目标应用的第一页面渲染成功信息,包括:确定所述第一页面需要渲染的渲染组件,若所述渲染组件包含渲染标记,则判断所述第一页面渲染成功;根据所述渲染组件的渲染时间信息,确定所述第一页面渲染成功信息。
35.所述步骤s103,为计算所述目标应用的启动耗时数据。具体是将第二时间点与第一时间点之差值作为所述启动耗时数据,从而量化目标应用启动到可视化的用户可直观体验的耗时数据。所述启动耗时数据为目标应用的启动性能指标数据。启动性能指标影响目标应用的用户使用体验的重要指标,通过该指标可以对目标应用的启动过程进行性能分析,进行有针对性的优化,对提升用户使用体验具有重要意义。本实施例中,还包括:根据所述启动耗时数据,调整所述目标应用的服务的启动顺序。一个实施方式中,所述根据所述启动耗时数据,调整所述目标应用的服务的启动顺序,包括:从所述目标应用的服务中,确定所述目标应用的前置服务;和/或,从所述目标应用的服务中,确定所述目标应用的页面框架启动所依赖的第一服务;和/或,从所述目标应用的服务中,确定在所述目标应用的启动阶段加载的第二服务;根据所述启动耗时数据,对所述前置服务、所述第一服务以及所述第二服务中至少部分服务的启动顺序进行调整。一个实施方式中,所述根据所述启动耗时数据,调整所述目标应用的服务的启动顺序,包括:根据加载所述目标应用的电子设备的硬件信息,对所述目标应用的服务的至少部分服务进行并发启动。也可以根据不同硬件信息进行目标应用在启动阶段加载的功能和/或服务进行裁剪或特殊优化,以使得针对不同硬件配置不会产生启动上的用户体感差异。所谓用户体感是指启动过程中用户的直观体验。上述实施方式在不冲突的情况下可以任意组合。
36.需要说明的是,在不冲突的情况下,在本实施例和本技术的其他实施例中给出的特征可以相互组合,并且步骤s101和s102或类似用语不限定步骤必须先后执行。
37.至此,对本实施例提供的方法进行了说明,所述方法中监测目标应用的进程创建以及第一页面成功渲染,能够较准确地从贴近用户的视角确定目标应用的启动耗时数据,解决应用的启动耗时数据准确度较低的问题,提升用户使用目标应用的体验,同时也可以为应用启动的优化提供可靠的数据支撑。
38.与第一实施例对应,本技术第二实施例提供一种数据处理装置,相关的部分请参见对应方法实施例的说明即可。请参考图3,图中所示的数据处理装置,包括:
39.应用启动起点单元301,用于获取针对目标应用的进程创建行为信息,根据所述进程创建行为信息确定所述目标应用启动的第一时间点;
40.应用启动终点单元302,用于检测到所述目标应用的第一页面渲染成功信息,根据
所述第一页面渲染成功信息确定所述目标应用启动的第二时间点;
41.启动耗时确定单元303,用于根据所述第一时间点和所述第二时间点,确定所述目标应用的启动耗时数据。
42.可选的,所述装置还包括录制单元,所述录制单元用于:调用运行所述目标应用的电子设备的系统相机的录屏功能,以使所述电子设备记录所述目标应用的启动过程的启动过程图像;根据所述启动过程图像,确定所述进程创建行为信息;和/或,根据所述启动过程图像,确定所述第一页面渲染成功信息。
43.可选的,所述应用启动起点单元301,具体用于:从所述启动过程图像中解析出所述目标应用的标识被触发的第一视频帧,将所述第一视频帧作为用于表征开始创建所述目标应用的进程的进程创建行为信息;将生成所述第一视频帧的时间作为所述第一时间点。
44.可选的,所述应用启动终点单元302,具体用于:从所述启动过程图像中识别出所述第一页面在所述电子设备的屏幕上成功显示的第二视频帧,将所述第二视频帧作为用于表征所述第一页面渲染成功的第一页面渲染成功信息;将生成所述第二视频帧的时间作为所述第二时间点。
45.可选的,所述应用启动起点单元301,具体用于:响应检测到所述目标应用被触发,将所述目标应用被触发的信息作为所述进程创建行为信息;获取所述目标应用被触发的时间信息,将所述目标应用被触发的时间信息指示的时间作为所述第一时间点。
46.可选的,所述应用启动终点单元302,具体用于:确定所述第一页面需要渲染的渲染组件,若所述渲染组件包含渲染标记,则判断所述第一页面渲染成功;根据所述渲染组件的渲染时间信息,确定所述第一页面渲染成功信息。
47.可选的,所述装置还包括优化单元,所述优化单元,用于:根据所述启动耗时数据,调整所述目标应用的服务的启动顺序。
48.可选的,所述优化单元具体用于:从所述目标应用的服务中,确定所述目标应用的前置服务;和/或,从所述目标应用的服务中,确定所述目标应用的页面框架启动所依赖的第一服务;和/或,从所述目标应用的服务中,确定在所述目标应用的启动阶段加载的第二服务;根据所述启动耗时数据,对所述前置服务、所述第一服务以及所述第二服务中至少部分服务的启动顺序进行调整。
49.可选的,所述优化单元具体用于:根据加载所述目标应用的电子设备的硬件信息,对所述目标应用的服务的至少部分服务进行并发启动。
50.以上述实施例为基础,本技术第三实施例提供一种电子设备,相关的部分请参见上述实施例的对应说明即可。请参考图4,图中所示的电子设备包括:存储器401,以及处理器402;所述存储器用于存储计算机程序,所述计算机程序被处理器运行后,执行本技术实施例提供的所述方法。
51.以上述实施例为基础,本技术第四实施例提供一种存储设备,相关的部分请参见上述实施例的对应说明即可。所述存储设备的示意图类似图4。所述存储设备的存储器存储有计算机程序,所述计算机程序被处理器运行后,执行本技术实施例提供的所述方法。
52.在一个典型的配置中,电子设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
53.内存可能包括计算机可读存储介质中的非永久性存储器,随机存取存储器(ram)
和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读存储介质的示例。
54.1、计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
55.2、本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
56.本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1