CN114385457A - 应用程序数据采集方法、装置、设备及存储介质 - Google Patents
应用程序数据采集方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114385457A CN114385457A CN202210053709.2A CN202210053709A CN114385457A CN 114385457 A CN114385457 A CN 114385457A CN 202210053709 A CN202210053709 A CN 202210053709A CN 114385457 A CN114385457 A CN 114385457A
- Authority
- CN
- China
- Prior art keywords
- program
- operation data
- data
- target
- applet
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种应用程序数据采集方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:获取用户触发目标小程序上各事件时的操作数据,目标小程序为主应用程序中运行的任一小程序;获取目标小程序运行时产生的异常数据;对操作数据、异常数据进行封装处理,得到封装后的运行数据;将运行数据存储至终端设备中的本地存储单元,并经由本地存储单元按照预设间隔将运行数据发送至服务端,以使得服务端对运行数据进行分析处理,得到目标小程序的性能数据。本方案能够帮助开发者快速发现问题,进而针对分析得到的性能数据对小程序进行优化改进,从而提高小程序运行的稳定性。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种应用程序数据采集方法、装置、设备及存储介质。
背景技术
一些应用程序中可以嵌入小程序以方便用户使用。以微信应用程序为例,通常,在微信小程序上线后,需要对微信小程序的运行情况以及需要转化率进行分析,使得能够及时发现微信小程序在使用过程中出现的各种性能问题,例如网络请求错误、页面延迟、卡顿等问题,以便于开发者能够及时解决上述问题,从而提高微信小程序产品的稳定性。
目前,在小程序上线后,主要是根据用户在使用过程中的反馈情况,来确定小程序的性能问题,并针对存在的性能问题进行改进。但是,这种基于用户实际体验后的反馈来监控小程序存在的性能问题的方式,存在无法快速定位到小程序产品问题的缺陷,从而降低了小程序运行的稳定性,造成用户体验差。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种应用程序数据采集方法、装置、设备及存储介质,以便快速定位到小程序产品问题,针对得到的性能数据对小程序进行优化改进,从而提高小程序运行的稳定性。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种应用程序数据采集方法,应用于终端设备,所述终端设备中预先安装主应用程序,所述主应用程序中运行有至少一个小程序;
所述方法包括:
获取用户触发目标小程序上各事件时的操作数据,所述目标小程序为所述主应用程序中运行的任一小程序;
获取所述目标小程序运行时产生的异常数据;
对所述操作数据、异常数据进行封装处理,得到封装后的运行数据;
将所述运行数据存储至所述终端设备中的本地存储单元,并经由所述本地存储单元按照预设间隔将所述运行数据发送至服务端,以使得所述服务端对所述运行数据进行分析处理,得到所述目标小程序的性能数据。
可选地,所述获取所述用户触发所述目标小程序上各事件时的操作数据,包括:
运行所述目标小程序中的埋点程序,获取所述用户触发所述目标小程序上各事件时的操作数据。
可选地,所述运行所述目标小程序中的埋点程序,获取所述用户触发所述目标小程序上各事件时的操作数据,包括:
运行在所述目标小程序的页面文件中嵌入的所述埋点程序,获取所述用户触发各所述事件的参数信息,其中,所述埋点程序的代码中包括预先注册的公共上传信息函数;
对所述参数信息进行解析,得到所述操作数据。
可选地,所述对所述参数信息进行解析,得到所述操作数据,还包括:
对所述参数信息进行解析,得到所述用户发起操作事件的第一参数、以及所述用户发起请求事件的第二参数;其中,所述第一参数包括:事件类型、节点信息;所述第二参数包括:请求类型;
将所述第一参数、所述第二参数作为所述操作数据。
可选地,所述获取所述目标小程序运行时产生的异常数据,包括:
在所述目标小程序运行异常时,运行所述小程序中的错误收集程序,得到错误信息对应的字符串;
对所述错误信息对应的字符串进行转化处理,得到所述异常数据。
可选地,所述运行所述目标小程序中的错误收集程序,得到错误信息对应的字符串,包括:
运行所述目标小程序的入口文件中嵌入的所述错误收集程序,得到错误信息对应的字符串,其中,所述错误收集程序的代码中包括预先注册的错误收集函数。
可选地,所述方法还包括:
接收由所述服务端发送的成功接收所述运行数据的反馈信息;
根据所述反馈信息,将所述运行数据从所述本地存储单元删除。
第二方面,本申请实施例还提供了一种应用程序数据采集装置,应用于终端设备,所述终端设备中预先安装主应用程序,所述主应用程序中运行有至少一个小程序;
所述装置包括:
获取模块,用于获取用户触发目标小程序上各事件时的操作数据,所述目标小程序为所述主应用程序中运行的任一小程序;获取所述目标小程序运行时产生的异常数据;
封装模块,用于对所述操作数据、异常数据进行封装处理,得到封装后的运行数据;
发送模块,用于将所述运行数据存储至所述终端设备中的本地存储单元,并经由所述本地存储单元按照预设间隔将所述运行数据发送至服务端,以使得所述服务端对所述运行数据进行分析处理,得到所述目标小程序的性能数据。
可选地,所述获取模块,还用于:
运行所述目标小程序中的埋点程序,获取所述用户触发所述目标小程序上各事件时的操作数据。
可选地,所述获取模块,还用于:
运行在所述目标小程序的页面文件中嵌入的所述埋点程序,获取所述用户触发各所述事件的参数信息,其中,所述埋点程序的代码中包括预先注册的公共上传信息函数;
对所述参数信息进行解析,得到所述操作数据。
可选地,所述获取模块,还用于:
对所述参数信息进行解析,得到所述用户发起操作事件的第一参数、以及所述用户发起请求事件的第二参数;其中,所述第一参数包括:事件类型、节点信息;所述第二参数包括:请求类型;
将所述第一参数、所述第二参数作为所述操作数据。
可选地,所述获取模块,还用于:
在所述目标小程序运行异常时,运行所述小程序中的错误收集程序,得到错误信息对应的字符串;
对所述错误信息对应的字符串进行转化处理,得到所述异常数据。
可选地,所述获取模块,还用于:
运行所述目标小程序的入口文件中嵌入的所述错误收集程序,得到错误信息对应的字符串,其中,所述错误收集程序的代码中包括预先注册的错误收集函数。
可选地,所述装置还包括:
接收模块,用于接收由所述服务端发送的成功接收所述运行数据的反馈信息;
删除模块,用于根据所述反馈信息,将所述运行数据从所述本地存储单元删除。
第三方面,本申请实施例还提供了一种终端设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当终端设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面提供的所述方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面提供的所述方法的步骤。
本申请的有益效果是:
本申请实施例提供一种应用程序数据采集方法、装置、设备及存储介质,应用于终端设备,终端设备中预先安装主应用程序,主应用程序中运行有至少一个小程序;该方法包括:获取用户触发目标小程序上各事件时的操作数据,目标小程序为主应用程序中运行的任一小程序;获取目标小程序运行时产生的异常数据;对操作数据、异常数据进行封装处理,得到封装后的运行数据;将运行数据存储至终端设备中的本地存储单元,并经由本地存储单元按照预设间隔将运行数据发送至服务端,以使得服务端对运行数据进行分析处理,得到目标小程序的性能数据。在本方案中,主要是从用户触发小程序上各事件时的操作数据、小程序运行时的异常数据等多方面,实时采集小程序运行时的运行数据,并将采集到的运行数据发送至终端设备中的本地存储单元中进行缓存,然后,终端设备每隔固定时间向服务端上报一次已缓存在本地存储单元中的运行数据,以使得服务端对运行数据进行分析处理,并得到小程序的性能数据,以帮助开发者快速发现问题、精准定位问题,进而针对分析得到的性能数据对小程序进行优化改进,从而提高小程序运行的稳定性,提高了用户的体验感。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种终端设备的结构示意图;
图2为本申请实施例提供的一种应用程序数据采集方法的流程示意图;
图3为本申请实施例提供的另一种应用程序数据采集方法的流程示意图;
图4为本申请实施例提供的又一种应用程序数据采集方法的流程示意图;
图5为本申请实施例提供的另一种应用程序数据采集方法的流程示意图;
图6为本申请实施例提供的又一种应用程序数据采集方法的流程示意图;
图7为本申请实施例提供的一种应用程序数据采集装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
首先,在对本申请所提供的技术方案展开具体说明之前,先对本申请所涉及的相关背景进行简单说明。
一些应用程序中可以嵌入小程序以方便用户使用。以微信应用程序为例,通常,在微信小程序上线后,需要对微信小程序的运行情况以及需要转化率进行分析,使得能够及时发现微信小程序在使用过程中出现的各种性能问题,例如网络请求错误、页面延迟、卡顿等问题,以便于开发者能够及时解决上述问题,从而提高微信小程序产品的稳定性。
在提出本申请方案之前,目前,现有的技术中,主要是在小程序上线后,根据用户在使用过程中的反馈情况,来确定小程序的性能问题,并针对存在的性能问题进行改进。但是,这种基于用户实际体验后的反馈来定位小程序存在的性能问题的方式,存在无法快速定位到小程序产品问题的缺陷,从而会降低工作效率,造成用户体验差。
为了解决上述现有技术中存在的技术问题,本申请提出一种应用程序数据采集方法,主要是从用户触发小程序上各事件时的操作数据、小程序运行时的异常数据等多方面,实时采集小程序运行时的运行数据,并将采集到的运行数据发送至终端设备中的本地存储单元中进行缓存,然后,终端设备每隔固定时间向服务端上报一次已缓存在本地存储单元中的运行数据,以使得服务端对运行数据进行分析处理,并得到小程序的性能数据,以便于针对性能数据对小程序进行改进,从而提高小程序运行的稳定性,提高了用户的体验感。
图1为本申请实施例提供的一种终端设备的结构示意图;该终端设备如可以是电脑、移动上网设备、平板、手机终端、计算机等具有数据处理功能和显示功能的电子设备,该终端设备中预先安装一主应用程序,且主应用程序中运行有至少一个小程序。如终端设备中预先安装一主应用程序可以为微信应用程序,微信应用程序中运行有小程序1、小程序2,在用户触发任一小程序的过程中,终端设备可以实现本申请提供的应用程序数据采集方法。
如图1所示,终端设备包括存储器101、处理器102。其中,存储器101、处理器102相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器101中存储有以软件或固件(firmware)的形式存储于存储器101中的软件功能模块,处理器102通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的应用程序数据采集方法。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)等。其中,存储器101用于存储程序,处理器102在接收到执行指令后,执行所述程序。
处理器102可能是一种集成电路芯片,具有信号的处理能力。上述的处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。
可以理解,图1所示的结构仅为示意,终端设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
如下将通过多个具体的实施例对本申请所提供的应用程序数据采集方法应用于上述的图1中所示的终端设备的实现原理和对应产生的有益效果进行说明。
图2为本申请实施例提供的一种应用程序数据采集方法的流程示意图;可选地,该方法的执行主体可以是上述图1所示的终端设备。应当理解,在其它实施例中应用程序数据采集方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。如图2所示,该方法包括:
S201、获取用户触发目标小程序上各事件时的操作数据。
其中,目标小程序为主应用程序中运行的任一小程序。
示例性地,主应用程序可以为微信应用程序,目标小程序可以为微信应用程序中运行的一个小程序,如行程码小程序、群接龙小程序。
其中,用户点击目标小程序上任一控件,可以的触发事件包括:点击事件(tap事件,即手指在屏幕上点击时触发的事件)、触摸事件(touchmove事件,即手指在屏幕上移动时触发的事件)、用户发起请求事件、或者自定义事件等。例如,通常在微信小程序中,用户发起请求事件包括:微信请求(wx.request)、微信下载文档请求wx.downloadFile、微信上传文档请求wx.uploadFile这三种。
在本实施例中,当用户触发行程码小程序时,可以获取用户触发行程码小程序上各事件时的操作数据。示例性地,操作数据可以包括:页面停留时长、点击某一控件的频率。
S202、获取目标小程序运行时产生的异常数据。
示例性地,小程序运行时产生的异常数据可以包括:页面加载时长、页面加载错误、页面加载卡顿、请求错误等。
在本实施例中,当用户触发行程码小程序时,可能会出现小程序页面加载异常的情况,此时,可以调用收集全局错误函数,来获取行程码小程序运行时产生的各种异常数据。
S203、对操作数据、异常数据进行封装处理,得到封装后的运行数据。
例如,以微信应用程序中的任一小程序为例,在获取到操作数据、异常数据后,可以基于wx.setstorage封装的存储方法对操作数据、异常数据进行封装处理,得到封装后的运行数据。
S204、将运行数据存储至终端设备中的本地存储单元,并经由本地存储单元按照预设间隔将运行数据发送至服务端,以使得服务端对运行数据进行分析处理,得到目标小程序的性能数据。
示例性地,本地存储单元可以为localstorage。服务端为与终端设备通信连接的一服务器。
其中,目标小程序的性能数据可以是指页面加载时长、页面加载错误类型、页面加载错误率、页面加载卡顿率、请求错误率等。
可选地,可以将封装后的运行数据发送至终端设备中的本地存储单元进行缓存。在本实施例中,由于考虑到终端设备的移动性能,因此,提出采用固定时间上报的方式,这样,可以确保能够将运行数据。即每隔一定时间,调用基于wx.requset的请求方法,且wx.requset的请求方法中还加上一个判断,当wx.requset的请求方法中请求地址为服务端的地址时,则将运行数据发送到服务端,即不需要将运行数据存入本地存储单元localstorage中,以使得服务端对运行数据进行分析处理,得到目标小程序的性能数据,以帮助开发者快速发现问题、精准定位问题,进而针对分析得到的性能数据对小程序进行优化改进,以提高解决问题的效率,从而提高小程序运行的稳定性,提高了用户的体验感。
综上所述,本申请实施例提供一种应用程序数据采集方法,应用于终端设备,终端设备中预先安装主应用程序,主应用程序中运行有至少一个小程序;该方法包括:获取用户触发目标小程序上各事件时的操作数据,目标小程序为主应用程序中运行的任一小程序;获取目标小程序运行时产生的异常数据;对操作数据、异常数据进行封装处理,得到封装后的运行数据;将运行数据存储至终端设备中的本地存储单元,并经由本地存储单元按照预设间隔将运行数据发送至服务端,以使得服务端对运行数据进行分析处理,得到目标小程序的性能数据。在本方案中,主要是从用户触发小程序上各事件时的操作数据、小程序运行时的异常数据等多方面,实时采集小程序运行时的运行数据,并将采集到的运行数据发送至终端设备中的本地存储单元中进行缓存,然后,终端设备每隔固定时间向服务端上报一次已缓存在本地存储单元中的运行数据,以使得服务端对运行数据进行分析处理,并得到小程序的性能数据,以帮助开发者快速发现问题、精准定位问题,进而针对分析得到的性能数据对小程序进行优化改进,以提高解决问题的效率,从而提高小程序运行的稳定性,提高了用户的体验感。
将通过如下实施例,具体讲解如何获取用户触发目标小程序上各事件时的操作数据。
可选地,上述步骤S201:获取用户触发目标小程序上各事件时的操作数据,包括:
运行目标小程序中的埋点程序,获取用户触发目标小程序上各事件时的操作数据。
在本实施例中,由于考虑到小程序不能全局获取tap事件、touchmove事件的操作数据。因此,可以采用代码埋点的方式,以获取用户触发目标小程序上各事件时的操作数据,使得根据触发这些事件的操作数据,判断这些事件是否用户人为触发的。
将通过如下实施例,具体讲解如何运行目标小程序中的埋点程序,获取用户触发目标小程序上各事件时的操作数据。
可选地,如图3所示,运行目标小程序中的埋点程序,获取用户触发目标小程序上各事件时的操作数据,包括:
S301、运行在目标小程序的页面文件中嵌入的埋点程序,获取用户触发各事件的参数信息。
其中,埋点程序的代码中包括预先注册的公共上传信息函数。例如,公共上传信息函数为publicUPload:function(e,hasRequest)。例如,可以将公共上传信息函数为publicUPload:function(e,hasRequest)嵌入到小程序的页面文件中,以重写页面文件Page下的所有函数,以便于小程序在运行的过程中,就能够实时地获取到用户触发目标小程序中页面上各事件的参数信息。
在本实施例中,主要是采用数据劫持的方式,通过Object对象的Object.defineProperty获取用户触发各事件的参数信息。
S302、对参数信息进行解析,得到操作数据。
其中,参数信息可以是指用户触发小程序中页面上各事件的行为信息,如用户在小程序中的哪个页面退出、在哪个页面停留时间最长、或者点击页面中哪个控件的频率最高等。
将通过如下实施例,具体讲解如何对参数信息进行解析,得到操作数据。
可选地,如图4所示,上述步骤S302中对参数信息进行解析,得到操作数据,包括:
S401、对参数信息进行解析,得到用户发起操作事件的第一参数、以及用户发起请求事件的第二参数。
其中,第一参数包括:事件类型、节点信息;第二参数包括:请求类型。
S402、将第一参数、第二参数作为操作数据。
应理解,通过运行在目标小程序的页面文件中嵌入的公共上传信息函数publicUPload:function(e,hasRequest)后,可以获取到所有事件的event的参数(简称e)、hasRequest参数。
可选地,可以获取公共上传信息函数publicUPload:function(e,hasRequest)运行后得到的e参数、hasRequest参数,并将e参数作为用户发起操作事件的第一参数,将hasRequest参数作为用户发起请求事件的第二参数。
其中,e参数包括:事件类型、节点信息等,e参数一般是事件的第一个参数,可以判断e参数是否包括type和currentTarget属性,若e参数包括type和currentTarget属性,即e参数为e&&e.type&&e.currentTarget,则再看hasRequest参数的标志符是否包含发起请求事件,若hasRequest参数的标志符为ture,则包含发起请求事件;若hasRequest参数的标志符为false,则未包含发起请求事件。
第一种情况、若e参数为e&&e.type&&e.currentTarget,且hasRequest参数的标志符为ture,则可以将e参数、hasRequest参数作为操作数据,同时,继续发起接口请求,以执行小程序中发起请求事件。
第二种情况、若e参数为e&&e.type&&e.currentTarget,且hasRequest参数的标志符为false,则可以直接将e参数包含的参数信息作为操作数据。
将通过如下实施例,具体讲解如何获取目标小程序运行时产生的异常数据。
可选地,如图5所示,上述步骤S202中获取目标小程序运行时产生的异常数据,包括:
S501、在目标小程序运行异常时,运行小程序中的错误收集程序,得到错误信息对应的字符串。
其中,小程序运行异常可以是指用户触发进入小程序时,出现页面加载时间过长、页面加载错误、或者页面请求无响应等。
S502、对错误信息对应的字符串进行转化处理,得到异常数据。
可选地,运行目标小程序中的错误收集程序,得到错误信息对应的字符串,包括:运行目标小程序的入口文件中嵌入的错误收集程序,得到错误信息对应的字符串,其中,错误收集程序的代码中包括预先注册的错误收集函数。
示例性地,例如,预先注册的错误收集函数可以为wx.onError,可以在小程序入口文件app.js先重写并注册一个wx.onError方法,在用户触发目标小程序的过程中,运行目标小程序的入口文件中嵌入的错误收集程序wx.onError,通过在错误回调的回调中得到错误信息err对应的字符串,并将该错误信息err对应的字符串转为对象,并将转换后的对象作为异常数据缓存至本地存储单元localstorage。
例如,以主应用程序是微信应用程序为例,则在微信应用程序中的任一小程序的入口文件中嵌入的错误收集程序的代码可以如下:
const originApp=App//微信主应用程序;
App=function(app){
这里嵌入错误收集函数onError;//运行错误收集程序,得到错误信息;
return originApp(app)//运行错误收集函数onError后,返回微信主应用程序,使得微信主应用程序执行自身业务逻辑;
}
可选地,本申请提供的应用程序数据采集方法,在执行上述步骤S204后,如图6所示,该方法还包括:
S601、接收由服务端发送的成功接收运行数据的反馈信息。
其中,反馈信息用于表征服务端是否成功接收到来自终端设备采集到的小程序的运行数据,若服务端成功接收到终端设备上报的运行数据,则向终端设备返回上报结果,即反馈信息。
S602、根据反馈信息,将运行数据从本地存储单元删除。
为了便于对本地存储单元缓存的运行数据进行管理,在本实施例中,还提出终端设备接收由服务端发送的成功接收运行数据的反馈信息,然后,终端设备根据接收到的反馈信息,将运行数据从本地存储单元进行删除,以节约终端设备的内存空间。
下述对用以执行本申请所提供的应用程序数据采集装置及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图7为本申请实施例提供的一种应用程序数据采集装置的结构示意图;如图7所示,应用于终端设备,终端设备中预先安装主应用程序,主应用程序中运行有至少一个小程序;该装置包括:获取模块701、封装模块702、发送模块703。
获取模块701,用于获取用户触发目标小程序上各事件时的操作数据,目标小程序为主应用程序中运行的任一小程序;获取目标小程序运行时产生的异常数据;
封装模块702,用于对操作数据、异常数据进行封装处理,得到封装后的运行数据;
发送模块703,用于将运行数据存储至终端设备中的本地存储单元,并经由本地存储单元按照预设间隔将运行数据发送至服务端,以使得服务端对运行数据进行分析处理,得到目标小程序的性能数据。
可选地,获取模块701,还用于:
运行目标小程序中的埋点程序,获取用户触发目标小程序上各事件时的操作数据。
可选地,获取模块701,还用于:
运行在目标小程序的页面文件中嵌入的埋点程序,获取用户触发各事件的参数信息,其中,埋点程序的代码中包括预先注册的公共上传信息函数;
对参数信息进行解析,得到操作数据。
可选地,获取模块701,还用于:
对参数信息进行解析,得到用户发起操作事件的第一参数、以及用户发起请求事件的第二参数;其中,第一参数包括:事件类型、节点信息;第二参数包括:请求类型;
将第一参数、第二参数作为操作数据。
可选地,获取模块701,还用于:
在目标小程序运行异常时,运行小程序中的错误收集程序,得到错误信息对应的字符串;
对错误信息对应的字符串进行转化处理,得到异常数据。
可选地,获取模块701,还用于:
运行目标小程序的入口文件中嵌入的错误收集程序,得到错误信息对应的字符串,其中,错误收集程序的代码中包括预先注册的错误收集函数。
可选地,该装置还包括:
接收模块,用于接收由服务端发送的成功接收运行数据的反馈信息;
删除模块,用于根据反馈信息,将运行数据从本地存储单元删除。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种应用程序数据采集方法,其特征在于,应用于终端设备,所述终端设备中预先安装主应用程序,所述主应用程序中运行有至少一个小程序;
所述方法包括:
获取用户触发目标小程序上各事件时的操作数据,所述目标小程序为所述主应用程序中运行的任一小程序;
获取所述目标小程序运行时产生的异常数据;
对所述操作数据、异常数据进行封装处理,得到封装后的运行数据;
将所述运行数据存储至所述终端设备中的本地存储单元,并经由所述本地存储单元按照预设间隔将所述运行数据发送至服务端,以使得所述服务端对所述运行数据进行分析处理,得到所述目标小程序的性能数据。
2.根据权利要求1所述的方法,其特征在于,所述获取所述用户触发所述目标小程序上各事件时的操作数据,包括:
运行所述目标小程序中的埋点程序,获取所述用户触发所述目标小程序上各事件时的操作数据。
3.根据权利要求2所述的方法,其特征在于,所述运行所述目标小程序中的埋点程序,获取所述用户触发所述目标小程序上各事件时的操作数据,包括:
运行在所述目标小程序的页面文件中嵌入的所述埋点程序,获取所述用户触发各所述事件的参数信息,其中,所述埋点程序的代码中包括预先注册的公共上传信息函数;
对所述参数信息进行解析,得到所述操作数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述参数信息进行解析,得到所述操作数据,还包括:
对所述参数信息进行解析,得到所述用户发起操作事件的第一参数、以及所述用户发起请求事件的第二参数;其中,所述第一参数包括:事件类型、节点信息;所述第二参数包括:请求类型;
将所述第一参数、所述第二参数作为所述操作数据。
5.根据权利要求1所述的方法,其特征在于,所述获取所述目标小程序运行时产生的异常数据,包括:
在所述目标小程序运行异常时,运行所述小程序中的错误收集程序,得到错误信息对应的字符串;
对所述错误信息对应的字符串进行转化处理,得到所述异常数据。
6.根据权利要求5所述的方法,其特征在于,所述运行所述目标小程序中的错误收集程序,得到错误信息对应的字符串,包括:
运行所述目标小程序的入口文件中嵌入的所述错误收集程序,得到错误信息对应的字符串,其中,所述错误收集程序的代码中包括预先注册的错误收集函数。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
接收由所述服务端发送的成功接收所述运行数据的反馈信息;
根据所述反馈信息,将所述运行数据从所述本地存储单元删除。
8.一种应用程序数据采集装置,其特征在于,应用于终端设备,所述终端设备中预先安装主应用程序,所述主应用程序中运行有至少一个小程序;所述装置包括:
获取模块,用于获取用户触发目标小程序上各事件时的操作数据,所述目标小程序为所述主应用程序中运行的任一小程序;获取所述目标小程序运行时产生的异常数据;
封装模块,用于对所述操作数据、异常数据进行封装处理,得到封装后的运行数据;
发送模块,用于将所述运行数据存储至所述终端设备中的本地存储单元,并经由所述本地存储单元按照预设间隔将所述运行数据发送至服务端,以使得所述服务端对所述运行数据进行分析处理,得到所述目标小程序的性能数据。
9.一种终端设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当终端设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210053709.2A CN114385457A (zh) | 2022-01-18 | 2022-01-18 | 应用程序数据采集方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210053709.2A CN114385457A (zh) | 2022-01-18 | 2022-01-18 | 应用程序数据采集方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385457A true CN114385457A (zh) | 2022-04-22 |
Family
ID=81203314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210053709.2A Pending CN114385457A (zh) | 2022-01-18 | 2022-01-18 | 应用程序数据采集方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385457A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115017020A (zh) * | 2022-05-06 | 2022-09-06 | 易保网络技术(上海)有限公司 | 一种小程序页面的录屏方法、介质及电子设备 |
-
2022
- 2022-01-18 CN CN202210053709.2A patent/CN114385457A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115017020A (zh) * | 2022-05-06 | 2022-09-06 | 易保网络技术(上海)有限公司 | 一种小程序页面的录屏方法、介质及电子设备 |
CN115017020B (zh) * | 2022-05-06 | 2024-02-09 | 易保网络技术(上海)有限公司 | 一种小程序页面的录屏方法、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647438B (zh) | 事件监控方法、装置、计算机设备和存储介质 | |
CN105376335B (zh) | 一种采集数据上传方法和装置 | |
CN107704360B (zh) | 监控数据的处理方法、设备、服务器及存储介质 | |
US20160224400A1 (en) | Automatic root cause analysis for distributed business transaction | |
US10084637B2 (en) | Automatic task tracking | |
CN110674025A (zh) | 交互行为监测方法、装置以及计算机设备 | |
CN111522711B (zh) | 一种数据监控处理系统、方法、执行端、监控端及电子设备 | |
CN112148606B (zh) | 埋点测试方法、装置、设备及计算机可读介质 | |
CN114780377A (zh) | 软件异常的确定方法、装置、存储介质及电子装置 | |
CN115543827A (zh) | 一种埋点数据展示方法及装置 | |
CN114385457A (zh) | 应用程序数据采集方法、装置、设备及存储介质 | |
US10191844B2 (en) | Automatic garbage collection thrashing monitoring | |
CN112416762B (zh) | Api测试方法及装置、设备、计算机可读存储介质 | |
CN111416857A (zh) | 客户端崩溃处理方法、装置、系统、设备和存储介质 | |
CN112732513A (zh) | 内存监控方法、装置、计算机可读存储介质和计算机设备 | |
CN112764990B (zh) | 一种目标进程的监控方法、装置及计算机设备 | |
CN112671615B (zh) | 前端用户操作行为数据的收集方法、系统及存储介质 | |
CN110795330A (zh) | 一种Monkey压力测试的方法和装置 | |
CN111741046B (zh) | 数据上报方法、获取方法、装置、设备及介质 | |
US9858549B2 (en) | Business transaction resource usage tracking | |
CN112416698A (zh) | 监控系统的扩展方法及装置、存储介质及电子设备 | |
CN111131370B (zh) | 用于检测服务调用是否正确的方法、装置和系统 | |
CN112799957A (zh) | 基于用户行为的故障处理方法、系统、设备和介质 | |
US9838488B2 (en) | Agent asynchronous transaction monitor | |
CN113342664B (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 |