CN111984896A - 埋点数据采集方法、装置、计算机设备及可读存储介质 - Google Patents

埋点数据采集方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN111984896A
CN111984896A CN201910437354.5A CN201910437354A CN111984896A CN 111984896 A CN111984896 A CN 111984896A CN 201910437354 A CN201910437354 A CN 201910437354A CN 111984896 A CN111984896 A CN 111984896A
Authority
CN
China
Prior art keywords
data
buried point
server
random number
data collected
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
Application number
CN201910437354.5A
Other languages
English (en)
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910437354.5A priority Critical patent/CN111984896A/zh
Publication of CN111984896A publication Critical patent/CN111984896A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Abstract

本发明公开了一种埋点数据采集方法,能够避免大量冗余数据上报,降低服务器压力,节约服务器资源,并提高服务器处理速度。该埋点数据采集方法包括:在检测到埋点被触发后,获取埋点采集的数据;获取与服务器协商的随机数;判断随机数是否满足预定采样率;在判定随机数满足预定采样率的情况下,发送埋点采集的数据至服务器。本发明还提供了埋点数据采集装置、一种计算机设备及一种计算机可读存储介质。

Description

埋点数据采集方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及数据采集技术领域,具体涉及一种埋点数据采集方法、装置、计算机设备及计算机可读存储介质。
背景技术
目前,为了了解用户行为和软件的功能效果,通常会在软件的特定功能处设置埋点。在软件使用过程中,一旦埋点被触发,软件会向服务器发送埋点采集的数据(又称为埋点数据)。通过分析这些埋点数据可以得知软件某些功能的使用情况,后续可以用来进一步优化产品或者提供运营的数据支撑。
但是,在某些场景下,并不需要分析所有软件的埋点数据,即需要对埋点数据进行抽样分析。现有技术通常是服务器获取所有软件上报的埋点数据,然后根据给定的抽样率抽取出指定数量的埋点数据进行分析。
发明人在研究本发明的过程中发现,现有技术的这种做法需要发送大量无用数据,增加了服务器的压力,无论是存储还是处理,均需要消耗大量宝贵的服务器资源。
发明内容
本发明的目的在于提供一种埋点数据采集方法、装置、计算机设备和计算机可读存储介质,能够避免大量冗余数据上报,降低服务器压力,节约服务器资源,并提高服务器处理速度。
本发明的一个方面提供了一种埋点数据采集方法,包括:在检测到埋点被触发后,获取上述埋点采集的数据;获取与服务器协商的随机数;判断上述随机数是否满足预定采样率;在判定上述随机数满足上述预定采样率的情况下,发送上述埋点采集的数据至上述服务器。
可选地,获取与服务器协商的随机数的步骤包括:判断距离最后一次与上述服务器协商上述随机数的时间间隔是否超过预定时间值;在判定上述时间间隔超过上述预定时间值的情况下,通过与上述服务器协商,获取并存储上述随机数;在判定上述时间间隔未超过上述预定时间值的情况下,获取本地存储的上述随机数。
可选地,存储上述随机数的步骤包括:缓存上述随机数至内存中;获取本地存储的上述随机数的步骤包括:在上述内存中获取上述随机数。
可选地,发送上述埋点采集的数据至上述服务器的步骤包括:判断上述埋点采集的数据所属的类别,其中,上述类别包括正常数据类别和异常数据类别;在判定上述埋点采集的数据属于上述异常数据类别的情况下,通过第一接口发送上述埋点采集的数据至上述服务器;在判定上述埋点采集的数据属于上述正常数据类别的情况下,通过第二接口发送上述埋点采集的数据至上述服务器。
可选地,在上述埋点采集的数据中存在表征异常数据的字符串时,确定上述埋点采集的数据属于上述异常数据类别;在上述埋点采集的数据中不存在上述表征异常数据的字符串时,确定上述埋点采集的数据属于上述正常数据类别。
可选地,在发送上述埋点采集的数据至上述服务器的步骤之后,上述方法还包括:等待上述服务器基于上述埋点采集的数据返回响应数据,其中,上述响应数据用于展示网页界面;以及等待上述服务器基于上述埋点采集的数据返回响应数据的步骤包括:在等待上述服务器返回上述响应数据的过程中,判断等待是否超时;在判定等待超时的情况下,获取本地存储的预定数据,并基于上述预定数据展示上述网页界面。
可选地,如上任一项实施例所述的随机数满足均匀分布。
本发明的另一个方面提供了一种埋点数据采集装置,包括:第一获取模块,用于在检测到埋点被触发后,获取上述埋点采集的数据;第二获取模块,用于获取与服务器协商的随机数;判断模块,用于判断上述随机数是否满足预定采样率;发送模块,用于在判定上述随机数满足上述预定采样率的情况下,发送上述埋点采集的数据至上述服务器。
本发明的再一个方面提供了一种计算机设备,该计算机设备包括:存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述介绍的埋点数据采集方法的步骤。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述介绍的埋点数据采集方法的步骤。
本发明提供的埋点数据采集方法、装置、计算机设备及计算机可读存储介质,客户端通过与服务器协商,获取随机数,在随机数满足预定采样率时,将埋点采集的数据发送至服务器。通过该埋点数据采集方法,只需给定采样率就能开始工作,同时能够适应客户端总量不固定的样本,并且只有在客户端与服务器协商一致时才发送埋点采集的数据至服务器,避免大量冗余数据上报,降低了服务器压力,节约了服务器资源,并提高了服务器处理速度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明实施例的埋点数据采集方法的流程图;
图2示意性示出了根据本发明实施例的埋点数据采集方案的示意图;
图3示意性示出了根据本发明实施例的埋点数据采集装置的框图;
图4示意性示出了根据本发明实施例的适于埋点数据采集方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本发明的实施例提供了一种埋点数据采集方法,该埋点数据采集方法可以应用于如下场景,具体地:本发明的执行主体可以是安装在终端设备上的客户端,其中,终端设备可以包括但不限于手机、台式电脑、笔记本电脑、平板电脑等,客户端可以包括但不限于能够浏览网页界面的软件,如浏览器。客户端通过与服务器协商,获取随机数,在随机数满足预定采样率时,将埋点采集的数据发送至服务器。通过该埋点数据采集方法,只需给定采样率就能开始工作,同时能够适应客户端总量不固定的样本,并且只有在客户端与服务器协商一致时才发送埋点采集的数据至服务器,避免大量冗余数据上报,降低了服务器压力,节约了服务器资源,并提高了服务器处理速度。
图1示意性示出了根据本发明实施例的埋点数据采集方法的流程图。
如图1所示,该埋点数据采集方法可以包括步骤S101~步骤S104,其中:
步骤S101,在检测到埋点被触发后,获取埋点采集的数据。
本实施例中,会预先在客户端的某些功能点处设置埋点,通过预定操作(如点击操作或触摸操作等)可以触发埋点,埋点被触发后,会采集相应的数据。
步骤S102,获取与服务器协商的随机数。
本实施例中,协商可以指服务器和客户端协商一致哪些客户端可以发送埋点采集的数据,进而将表征能够发送埋点采集的数据的随机数分发至这些客户端;以及服务器和客户端协商一致哪些客户端不可以发送埋点采集的数据,然后将表征不可以发送埋点采集的数据的随机数分发至这些客户端。或者,协商可以指客户端与服务器简单交互,服务器将随机数随机的分发至客户端。其中,随机数可以是客户端与服务器协商时在服务器端生成的。
可选地,随机数可以是服务器根据预定采样率生成的。如,存在10个客户端,预定采样率为20%,服务器生成了10个随机数,其中,两个随机数均能表征客户端可以发送埋点采集的数据,8个随机数均能表征客户端不可以发送埋点采集的数据,如:0.15、0.18、0.3、0.34、0.56、087、0.48、0.26、0.71、0.46,然后服务器将随机数按照上述协商规则分发至客户端。
可选地,随机数可以满足均匀分布,即服务器可以利用能够生成均匀分布随机数的随机数生成器(如线性同余生成器(LCG,Linear Congruential Generator))生成0~1之间的随机数,然后将生成的随机数按照上述协商规则分发至客户端。优选地,为保证采样准确性,在利用随机数生成器生成随机数时,客户端的数量最好足够大。具体地,可以通过下面的rand函数产生一个介于0~1之前(包括0,但不含1)的随机数:
Figure BDA0002070925030000051
其中,该rand函可以以系统时间为种子,即var seed=(new Date()).getTime(),然后基于线性同余生成器即seed=((seed*9301+49297)%233280)/233280.0生成一个随机数。经验证这种方式生成的随机数分布相对均匀,能满足大部分场景需要。其中,线性同余生成器可以是:
In+1=(aIn+c)mod m
如上,生成的伪随机数序列最大周期m,范围在0到m-1之间。要达到这个最大周期,必须满足Hull-Dobell定理:1.c与m互质,2.a-1可以被m的所有质因数整除,3.如果m是x(比如4)的倍数,a-1也必须是x的倍数。需要说明的是,(m-1)a+c的值要(在合理的范围内)足够小,以避免出现数值溢出问题。从安全(实用)性的角度来讲,还要满足良好的随机性,m要尽可能大,在32位系统中通常选择a=9301,c=49297,m=233280这组参数,以满足以上所有条件。
可选地,还可以设置预定时间值为随机数的有效时间,例如,设置预定时间值为1天,那么,在步骤S102中,可以首先确定客户端当前的随机数是否在有效时间内,并且当不再有效时间内时,可以重新与服务器进行协商。具体地,该步骤S102可以包括步骤S1021~步骤S1023:
步骤S1021,判断距离最后一次与服务器协商随机数的时间间隔是否超过预定时间值。
具体地,获取客户端最后一次与服务器协商随机数的协商时间,通过计算当前时间与协商时间之间的差值,可得到距离最后一次与服务器协商随机数的时间间隔,然后再判断该时间间隔是否超过预定时间值。其中,若时间间隔超过预定时间值,则执行下述步骤S1022,若时间间隔未超过预定时间值,则执行下述步骤S1023。
步骤S1022,在判定时间间隔超过预定时间值的情况下,通过与服务器协商,获取并存储随机数。
在时间间隔超过预定时间值时,表明随机数已失效,需要重新与服务器协商获得新的随机数,由于获得的随机数可能不会立即使用,因此可以先将随机数存储在本地,如缓存随机数至内存中。
步骤S1023,在判定时间间隔未超过预定时间值的情况下,获取本地存储的随机数。
在时间间隔未超过预定时间值时,表明随机数仍处于有效时间内,则只需要获取本地存储的随机数。可选地,可以直接在内存中获取随机数,以提升处理速度。
步骤S103,判断随机数是否满足预定采样率。
可选地,判断随机数是否满足预定采样率可以是判断随机数是否小于等于预定采样率。在随机数小于等于预定采样率时,客户端可以将埋点采集的数据发送至服务器;在随机数大于预定采样率时,客户端可以将埋点采集的数据丢弃。例如:采样率为15%(即0.15),如果随机数小于等于0.15,比如随机数为0.1327674897119342,则发送本次采集的数据,如果随机数大于0.15,比如随机数为0.24651757725398962,则不发送本次采集的数据。
步骤S104,在判定随机数满足预定采样率的情况下,发送埋点采集的数据至服务器。
其中,埋点采集的数据可以分为两种,一种是正常数据类别,一种是异常数据类别。本实施例中,不同类别的数据通过不同的API接口发送至服务器,以避免二次筛选,节约人力和物力资源。
可选地,步骤S104可以包括步骤S1041~步骤S1043,其中:
步骤S1041,判断埋点采集的数据所属的类别,其中,该类别包括正常数据类别和异常数据类别。
可选地,在埋点采集的数据中存在表征异常数据的字符串时,确定埋点采集的数据属于异常数据类别;在埋点采集的数据中不存在表征异常数据的字符串时,确定埋点采集的数据属于正常数据类别。其中,表征异常数据的字符串可以为“error”。在判定埋点采集的数据属于异常数据类别的情况下,可以执行下述步骤S1042;在判定埋点采集的数据属于正常数据类别的情况下,可以执行下述步骤S1043。
步骤S1042,在判定埋点采集的数据属于异常数据类别的情况下,通过第一接口埋点采集的数据至服务器。其中,第一接口可以为logReport.errorReportURL、logReport.bugDataAPI、logReport.badCaseReoprt或者logReport.bugDataURL,本实施例对第一接口的具体形式不做限定。
步骤S1043,在判定埋点采集的数据属于正常数据类别的情况下,通过第二接口发送埋点采集的数据至服务器。其中,第二接口可以为logReport.baseURL、logReport.DataAPI、logReport.CaseReoprt或者logReport.DataURL,本实施例对第二接口的具体形式不做限定。
可选地,在发送埋点采集的数据至服务器的步骤之后,该埋点数据采集方法还可以包括:等待服务器基于埋点采集的数据返回响应数据,其中,响应数据用于展示网页界面。
具体地,客户端可以通过与服务器交互以执行操作流程,如客户端向服务器发送埋点采集的数据之后,需要等待服务器返回响应数据,在接收到服务器返回的响应数据之后,可以根据该响应数据执行后续流程。
可选地,等待服务器基于埋点采集的数据返回响应数据的步骤可以包括:在等待服务器返回响应数据的过程中,判断等待是否超时;在判定等待超时的情况下,获取本地存储的预定数据,并基于预定数据展示网页界面。
具体地,若是因为网络不通、服务器出错或者其他原因导致客户端未收到响应数据,则会阻塞网页界面,使得用户体验感非常差。本实施例为了解决这一缺陷,可以在客户端设置超时时间,一旦等待时间达到设定的超时时间,则会判定等待超时,此时客户端可以获取本地存储的预定数据,并根据该预定数据展示网页界面,避免阻塞,提高用户体验。其中,本实施例可以采用Data URI scheme技术实现。
可选地,客户端可以包括多个网页界面,该多个网页界面共用一个总控制器,该总控制器用于响应每一个网页界面的界面操作并向服务器发送请求。
具体地,现有技术中的每一个网页界面有自己单独的控制器,该控制器用于基于该网页界面的界面操作向服务器发送请求,若是关闭该网页界面,请求便无法发送。例如,该网页界面上的埋点被触发,埋点采集数据但控制器尚未将埋点采集的数据发送出去,若是此时关闭该网页界面也就相当于关闭了控制器,则埋点采集的数据便无法发送给服务器。基于这种情况,可以采用上述实施例所述的方案,由于整个客户端共用一个总控制器,即便关闭某个网页界面也不会导致总控制器失效,即埋点采集的数据依然可以发送至服务器。通过这种方式,对网页界面退出事件做了兼容处理,提高埋点数据采集的准确性和完整性。
可选地,网页界面通常是通过图片展示的。现有技术中在通过IMG标签传输图片以展示网页界面时,通常由于图片的像素过高而需要多次传输才能将网页界面完整的展示出来。基于这种情况,本发明可以采用像素较低的图片如1像素,使得通过一次传输或较少的几次传输便可以完整展示网页界面,从而减少HTTP请求次数,提高网页界面展示效率。
本发明提供的埋点数据采集方法,客户端通过与服务器协商,获取随机数,在随机数满足预定采样率时,将埋点采集的数据发送至服务器。通过该埋点数据采集方法,只需给定采样率就能开始工作,同时能够适应客户端总量不固定的样本,并且只有在客户端与服务器协商一致时才发送埋点采集的数据至服务器,避免大量冗余数据上报,降低了服务器压力,节约了服务器资源,并提高了服务器处理速度。
图2示意性示出了根据本发明实施例的埋点数据采集方案的示意图。
如图2所示,事件监听可以表示监听埋点是否被触发,在埋点被触发后可以获取埋点采集的数据,然后根据本发明提供的方案确定是否需要发送埋点采集的数据,若是则可以将埋点采集的数据打包并发送至服务器,服务器存储客户端发送的数据,然后将这些数据进行分析:整理、归类和总结,进一步可以将分析后的数据通过数据报表的形式展示出来。需要说明的是,服务器上的运行环境可以为Node.js。
为便于理解本发明提供的埋点数据采集方法,下面结合两个场景进行描述。
场景一
很多时候基于业务需求需要对一些基础事件做数据采集,如页面浏览事件(PageView,简称PV)和页面退出事件(UNLOAD)。本场景可以监听网页界面的一些基础事件(如加载和退出事件触发),并调用JS文件提供的功能函数进行数据上报。即在预先部署的埋点被触发后,通过埋点采集相应的数据。
步骤A1:加载用于采集网页界面数据的JS文件,如<script src="./dist/log-reporter.js"></script>。需要说明的是,本场景所依赖的基础功能,如事件监听,请求发送,异常处理等的代码都已包含在log-reporter.js文件中。
步骤A2:配置数据上报的一些选项。如:
Figure BDA0002070925030000101
配置项具体说明如下:
1.reportConfig:全局配置项。
2.spm_prefix:网页界面唯一识别码,用于识别事件及数据属于哪个界面。
3.sample:事件采样率(即预定采样率),用于确定从多个事件中选择一定数量的事件进行上报。其中,1表示100%,即事件全部上报。
4.msgObjects:需要上报的数据对象,用于上报时将一些非默认的业务数据传给数据收集系统。
步骤A3:配置接收数据API接口地址。比如,有时需要将正常数据上报和异常数据上报分开,因此需要两个不同的API接口,其中logReport.baseURL用于正常数据上报,logReport.errorReportURL用于异常数据上报。
步骤A4:在需采集数据的网页界面上设置好各个配置项后,当用户打开此界面时,系统将自动监听网页界面的浏览和退出事件,并根据相应设置进行数据上报。
场景一的完整代码如下:
Figure BDA0002070925030000111
场景二
很多时候基于业务需求不仅需要对一些基础事件做数据采集,还需要对一些非常重要的事件做数据采集,如点击事件,异步网络请求事件等。具体地,在需要上报的地方(如点击处理函数或请求发送函数中),可以调用JS文件提供的功能函数进行数据上报。
步骤B1~B3:同场景一的步骤A1~A3所述,此处不再赘述。
步骤B4:监听按钮的点击事件,当用户点击按钮时,调用JS文件提供的功能函数进行数据上报,比如将需要上报的数据赋值给spmReportData对象,系统检测到spmReportData对象发生变化后,会自动上报数据并重置spmReportData对象。如:
Figure BDA0002070925030000121
Figure BDA0002070925030000131
本发明的实施例还提供了一种埋点数据采集装置,可以为设置于终端设备上的客户端的组成部分,该埋点数据采集装置与上述实施例提供的埋点数据采集方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例。
如图3所示,该埋点数据采集装置300可以包括第一获取模块301、第二获取模块302、判断模块303和发送模块304,其中:
第一获取模块301,用于在检测到埋点被触发后,获取埋点采集的数据;
第二获取模块302,用于获取与服务器协商的随机数;
判断模块303,用于判断随机数是否满足预定采样率;
发送模块304,用于在判定随机数满足预定采样率的情况下,发送埋点采集的数据至服务器。
本发明提供的埋点数据采集装置,客户端通过与服务器协商,获取随机数,在随机数满足预定采样率时,将埋点采集的数据发送至服务器。通过该埋点数据采集方法,只需给定采样率就能开始工作,同时能够适应客户端总量不固定的样本,并且只有在客户端与服务器协商一致时才发送埋点采集的数据至服务器,避免大量冗余数据上报,降低了服务器压力,节约了服务器资源,并提高了服务器处理速度。
可选地,第二获取模块还用于:判断距离最后一次与服务器协商随机数的时间间隔是否超过预定时间值;在判定时间间隔超过预定时间值的情况下,通过与服务器协商,获取并存储随机数;在判定时间间隔未超过预定时间值的情况下,获取本地存储的随机数。
可选地,第二获取模块在存储随机数时还用于:缓存随机数至内存中;第二获取模块在获取本地存储的随机数时还用于:在内存中获取随机数。
可选地,发送模块还用于:判断埋点采集的数据所属的类别,其中,类别包括正常数据类别和异常数据类别;在判定埋点采集的数据属于异常数据类别的情况下,通过第一接口发送埋点采集的数据至服务器;在判定埋点采集的数据属于正常数据类别的情况下,通过第二接口发送埋点采集的数据至服务器。
可选地,发送模块还用于:在埋点采集的数据中存在表征异常数据的字符串时,确定埋点采集的数据属于异常数据类别;在埋点采集的数据中不存在表征异常数据的字符串时,确定埋点采集的数据属于正常数据类别。
可选地,该埋点数据采集装置还包括:等待模块,用于在发送埋点采集的数据至服务器的步骤之后,等待服务器基于埋点采集的数据返回响应数据,其中,响应数据用于展示网页界面;以及等待模块还用于:在等待服务器返回响应数据的过程中,判断等待是否超时;在判定等待超时的情况下,获取本地存储的预定数据,并基于预定数据展示网页界面。
可选地,如上任一项实施例所述的随机数满足均匀分布。
图4示意性示出了根据本发明实施例的适于埋点数据采集方法的计算机设备的框图。本实施例中,计算机设备400可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备400至少包括但不限于:可通过系统总线相互通信连接的存储器401、处理器402、网络接口403。需要指出的是,图4仅示出了具有组件401-403的计算机设备400,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器403至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器401可以是计算机设备400的内部存储单元,例如该计算机设备400的硬盘或内存。在另一些实施例中,存储器401也可以是计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器401还可以既包括计算机设备400的内部存储单元也包括其外部存储设备。在本实施例中,存储器401通常用于存储安装于计算机设备400的操作系统和各类应用软件,例如埋点数据采集方法的程序代码等。此外,存储器401还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器402在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器402通常用于控制计算机设备400的总体操作。例如执行与计算机设备400进行数据交互或者通信相关的控制和处理等。本实施例中,处理器402用于运行存储器401中存储的埋点数据采集方法的步骤的程序代码。
在本实施例中,存储于存储器401中的埋点数据采集方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器402)所执行,以完成本发明。
网络接口403可包括无线网络接口或有线网络接口,该网络接口403通常用于在计算机设备400与其他计算机设备之间建立通信链接。例如,网络接口403用于通过网络将计算机设备400与外部终端相连,在计算机设备400与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现埋点数据采集方法的步骤。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种埋点数据采集方法,其特征在于,包括:
在检测到埋点被触发后,获取所述埋点采集的数据;
获取与服务器协商的随机数;
判断所述随机数是否满足预定采样率;
在判定所述随机数满足所述预定采样率的情况下,发送所述埋点采集的数据至所述服务器。
2.根据权利要求1所述的方法,其特征在于,获取与服务器协商的随机数的步骤包括:
判断距离最后一次与所述服务器协商所述随机数的时间间隔是否超过预定时间值;
在判定所述时间间隔超过所述预定时间值的情况下,通过与所述服务器协商,获取并存储所述随机数;
在判定所述时间间隔未超过所述预定时间值的情况下,获取本地存储的所述随机数。
3.根据权利要求2所述的方法,其特征在于,
存储所述随机数的步骤包括:缓存所述随机数至内存中;
获取本地存储的所述随机数的步骤包括:在所述内存中获取所述随机数。
4.根据权利要求1所述的方法,其特征在于,发送所述埋点采集的数据至所述服务器的步骤包括:
判断所述埋点采集的数据所属的类别,其中,所述类别包括正常数据类别和异常数据类别;
在判定所述埋点采集的数据属于所述异常数据类别的情况下,通过第一接口发送所述埋点采集的数据至所述服务器;
在判定所述埋点采集的数据属于所述正常数据类别的情况下,通过第二接口发送所述埋点采集的数据至所述服务器。
5.根据权利要求4所述的方法,其特征在于,
在所述埋点采集的数据中存在表征异常数据的字符串时,确定所述埋点采集的数据属于所述异常数据类别;
在所述埋点采集的数据中不存在所述表征异常数据的字符串时,确定所述埋点采集的数据属于所述正常数据类别。
6.根据权利要求1所述的方法,其特征在于,在发送所述埋点采集的数据至所述服务器的步骤之后,所述方法还包括:等待所述服务器基于所述埋点采集的数据返回响应数据,其中,所述响应数据用于展示网页界面;以及
等待所述服务器基于所述埋点采集的数据返回响应数据的步骤包括:
在等待所述服务器返回所述响应数据的过程中,判断等待是否超时;
在判定等待超时的情况下,获取本地存储的预定数据,并基于所述预定数据展示所述网页界面。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述随机数满足均匀分布。
8.一种埋点数据采集装置,其特征在于,包括:
第一获取模块,用于在检测到埋点被触发后,获取所述埋点采集的数据;
第二获取模块,用于获取与服务器协商的随机数;
判断模块,用于判断所述随机数是否满足预定采样率;
发送模块,用于在判定所述随机数满足所述预定采样率的情况下,发送所述埋点采集的数据至所述服务器。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN201910437354.5A 2019-05-24 2019-05-24 埋点数据采集方法、装置、计算机设备及可读存储介质 Pending CN111984896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910437354.5A CN111984896A (zh) 2019-05-24 2019-05-24 埋点数据采集方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910437354.5A CN111984896A (zh) 2019-05-24 2019-05-24 埋点数据采集方法、装置、计算机设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111984896A true CN111984896A (zh) 2020-11-24

Family

ID=73436608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910437354.5A Pending CN111984896A (zh) 2019-05-24 2019-05-24 埋点数据采集方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111984896A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231196A (zh) * 2020-12-14 2021-01-15 平安科技(深圳)有限公司 App埋点行为分类方法、装置、计算机设备及存储介质
CN112799925A (zh) * 2021-01-25 2021-05-14 北京嘀嘀无限科技发展有限公司 数据采集方法、装置、电子设备和可读存储介质
CN113626111A (zh) * 2021-07-16 2021-11-09 北京澎思科技有限公司 信息获取方法、装置、电子设备及存储介质
CN114944942A (zh) * 2022-04-28 2022-08-26 平安壹钱包电子商务有限公司 一种基于有效埋点的数据上报方法、装置、计算机设备及介质
CN115022388A (zh) * 2022-05-31 2022-09-06 济南浪潮数据技术有限公司 一种数据采集方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807891A (zh) * 2017-09-30 2018-03-16 河北卓智电子技术有限公司 信息采集方法及终端设备
US20180081981A1 (en) * 2006-03-21 2018-03-22 International Business Machines Corporation Dynamic data collection
CN108134838A (zh) * 2017-12-27 2018-06-08 广东欧珀移动通信有限公司 数据上报方法、装置、移动终端及计算机可读介质
CN108156006A (zh) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 一种埋点数据上报方法、装置及电子设备
CN108171079A (zh) * 2017-12-27 2018-06-15 深圳创维-Rgb电子有限公司 一种基于终端的数据采集方法、装置、终端及存储介质
CN109257244A (zh) * 2017-07-14 2019-01-22 北京国双科技有限公司 用户行为数据的传输控制方法、装置及系统
CN109710682A (zh) * 2018-12-31 2019-05-03 深圳市道通科技股份有限公司 一种诊断数据处理方法、装置、诊断设备和服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180081981A1 (en) * 2006-03-21 2018-03-22 International Business Machines Corporation Dynamic data collection
CN108156006A (zh) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 一种埋点数据上报方法、装置及电子设备
CN109257244A (zh) * 2017-07-14 2019-01-22 北京国双科技有限公司 用户行为数据的传输控制方法、装置及系统
CN107807891A (zh) * 2017-09-30 2018-03-16 河北卓智电子技术有限公司 信息采集方法及终端设备
CN108134838A (zh) * 2017-12-27 2018-06-08 广东欧珀移动通信有限公司 数据上报方法、装置、移动终端及计算机可读介质
CN108171079A (zh) * 2017-12-27 2018-06-15 深圳创维-Rgb电子有限公司 一种基于终端的数据采集方法、装置、终端及存储介质
CN109710682A (zh) * 2018-12-31 2019-05-03 深圳市道通科技股份有限公司 一种诊断数据处理方法、装置、诊断设备和服务器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231196A (zh) * 2020-12-14 2021-01-15 平安科技(深圳)有限公司 App埋点行为分类方法、装置、计算机设备及存储介质
CN112231196B (zh) * 2020-12-14 2021-03-16 平安科技(深圳)有限公司 App埋点行为分类方法、装置、计算机设备及存储介质
CN112799925A (zh) * 2021-01-25 2021-05-14 北京嘀嘀无限科技发展有限公司 数据采集方法、装置、电子设备和可读存储介质
CN113626111A (zh) * 2021-07-16 2021-11-09 北京澎思科技有限公司 信息获取方法、装置、电子设备及存储介质
CN114944942A (zh) * 2022-04-28 2022-08-26 平安壹钱包电子商务有限公司 一种基于有效埋点的数据上报方法、装置、计算机设备及介质
CN114944942B (zh) * 2022-04-28 2024-04-05 平安壹钱包电子商务有限公司 一种基于有效埋点的数据上报方法、装置、计算机设备及介质
CN115022388A (zh) * 2022-05-31 2022-09-06 济南浪潮数据技术有限公司 一种数据采集方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN111984896A (zh) 埋点数据采集方法、装置、计算机设备及可读存储介质
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US20170031744A1 (en) Time series metric data modeling and prediction
US9811356B2 (en) Automated software configuration management
US20150019715A1 (en) Methods and Systems for Performance Monitoring for Mobile Applications
US20160224400A1 (en) Automatic root cause analysis for distributed business transaction
WO2017131774A1 (en) Log event summarization for distributed server system
US9280394B2 (en) Automatic cloud provisioning based on related internet news and social network trends
CN108399333B (zh) 用于执行网页的防病毒扫描的系统和方法
US20180159724A1 (en) Automatic task tracking
CN103455600A (zh) 一种视频url抓取方法、装置及服务器设备
US20170126580A1 (en) Tracking Contention in a Distributed Business Transaction
US10775751B2 (en) Automatic generation of regular expression based on log line data
CN109862074B (zh) 一种数据采集方法、装置、可读介质及电子设备
CN113422808B (zh) 物联网平台http信息推送方法、系统、装置及介质
US10432490B2 (en) Monitoring single content page application transitions
CN112653736B (zh) 一种并行回源方法、装置及电子设备
CN106970811A (zh) 一种补丁文件安装方法及其设备
CN108228193A (zh) 数据获取方法及装置
US10565636B2 (en) Electronic device, system, and method
US20170223136A1 (en) Any Web Page Reporting and Capture
JP5623333B2 (ja) 監視サーバ、及び、監視評価方法
CN105095070B (zh) 基于浏览器测试组件的qq群数据获取方法与系统
CN106708706B (zh) 任务程序异常的报警信息处理方法和装置
CN112491939B (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