数据采集方法、装置、电子设备和介质与流程
未命名
07-19
阅读:144
评论:0
1.本技术实施例涉及数据采集技术领域,特别是涉及一种数据采集方法、装置、电子设备和介质。
背景技术:
2.随着终端的普及和发展,越来越多的应用运行于终端。这些应用可以包括但不限于:web(全球广域网,world wide web)页面应用、html5(超文本标记语言5,hypertext markup language 5)轻应用、混合应用、客户端内嵌的html(超文本标记语言,hypertext mark-up language)页面、小程序应用等。为了更好地服务用户,需要采集用户对应用的使用等用户行为数据。
3.目前的数据采集方法,客户端将采集的用户事件的事件信息存储至本地缓存,并在本地缓存中用户事件的数量超过10条的情况下,向服务端批量上报用户事件的事件信息;而服务端可以对客户端上报的事件信息进行存储等处理。
4.在实际应用中,服务端需要接收多个客户端上报的事件信息;在客户端的数量增加的情况下,服务端接收的数据量将会成倍增加,这容易引起服务端的处理性能的下降,甚至容易导致服务端发生宕机。
技术实现要素:
5.本技术实施例提供了一种数据采集方法,可以提高服务端的处理性能和数据上报的性能。
6.相应的,本技术实施例还提供了一种数据采集装置、一种电子设备和一种机器可读介质,用以保证上述方法的实现及应用。
7.为了解决上述问题,本技术实施例公开了一种数据采集方法,所述方法应用于客户端,包括:
8.采集用户行为数据,并将所述用户行为数据保存至存储介质;
9.从服务端接收数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;
10.根据所述数据上报状态,对所述存储介质中的用户行为数据进行上报处理;
11.其中,所述上报处理包括:
12.在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
13.在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者
14.在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
15.为了解决上述问题,本技术实施例公开了一种数据采集方法,所述方法应用于服务端,包括:
16.根据自身的实时负载信息,确定数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;
17.向客户端发送所述数据上报状态,以使所述客户端根据所述数据上报状态,对存储介质中的用户行为数据进行上报处理;
18.其中,所述上报处理包括:
19.在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
20.在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者
21.在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
22.为了解决上述问题,本技术实施例公开了一种数据采集装置,所述装置应用于客户端,包括:
23.采集模块,用于采集用户行为数据;
24.保存模块,用于将所述用户行为数据保存至存储介质;
25.接收模块,用于从服务端接收数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;
26.上报处理模块,用于根据所述数据上报状态,对所述存储介质中的用户行为数据进行上报处理;
27.其中,所述上报处理包括:
28.在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
29.在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者
30.在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
31.可选地,所述采集模块包括:
32.线程创建模块,用于利用第一线程,创建第二线程;所述第一线程提供界面,以使用户针对所述界面产生用户行为;
33.线程采集模块,用于利用所述第二线程,采集用户行为数据。
34.可选地,所述采集模块包括:
35.事件监听模块,用于针对界面的文档对象模型包括的顶层节点进行事件监听,以得到用户针对界面元素的用户行为数据。
36.可选地,所述装置还包括:
37.请求发送模块,用于在从服务端接收数据上报状态之前,向服务端发送状态订阅请求;所述状态订阅请求用于向服务端订阅数据上报状态,所述状态订阅请求中包含客户端标识,所述服务端将所述状态订阅请求中包含的客户端标识添加至订阅列表,并在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。
38.可选地,所述保存模块,包括:
39.过滤分类模块,用于对所述用户行为数据进行过滤和分类;
40.按类别存储模块,用于根据用户行为数据的类别信息,将过滤后的用户行为数据保存至存储介质。
41.为了解决上述问题,本技术实施例公开了一种数据采集装置,所述装置应用于服务端,包括:
42.状态确定模块,用于根据自身的实时负载信息,确定数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;
43.状态发送模块,用于向客户端发送所述数据上报状态,以使所述客户端根据所述数据上报状态,对存储介质中的用户行为数据进行上报处理;
44.其中,所述上报处理包括:
45.在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
46.在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者
47.在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
48.可选地,所述装置还包括:
49.请求接收模块,用于在所述向客户端发送所述数据上报状态之前,接收客户端发送的状态订阅请求;所述状态订阅请求用于订阅数据上报状态,所述状态订阅请求中包含客户端标识;
50.添加模块,用于将所述状态订阅请求中包含的客户端标识添加至订阅列表;
51.则所述状态发送模块,具体用于在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。
52.可选地,所述实时负载信息包括如下信息中的至少一种:
53.客户端连接数量、cpu占用信息、内存占用信息、网络带宽占用信息和数据库读写
信息;所述数据库用于对客户端上报的用户行为数据进行存储。
54.本技术实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本技术实施例所述的方法。
55.本技术实施例还公开了一种机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本技术实施例所述的方法。
56.本技术实施例包括以下优点:
57.本技术实施例的技术方案中,服务端可以根据自身的实时负载信息确定数据上报状态,并向客户端提供数据上报状态;而客户端可以根据该数据上报状态,对存储介质中的用户行为数据进行上报处理。
58.本技术实施例的服务端根据实时负载信息的不同情况,提供了不同的数据上报状态,且客户端根据不同的数据上报状态,进行了不同的上报处理。由于开放状态对应低等程度的负载,暂停状态对应中等程度的负载,关闭状态对应高等程度的负载,故在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报,能够减轻服务端的负载压力,进而能够提高服务端的处理性能和数据上报的性能。
59.并且,本技术实施例的开放状态和暂停状态对应不同的上报参数。由于暂停状态所对应第二上报参数对应的单次上报数据量可以小于开放状态所对应第一上报参数对应的单次上报数据量,和/或,暂停状态所对应第二上报参数对应的上报频率可以小于开放状态所对应第一上报参数对应的上报频率;这样,在数据上报状态为暂停状态的情况下,可以根据第二上报参数减少客户端在一定时间内的上报数据量。由于能够进一步减轻服务端的负载压力,因此能够进一步提高服务端的处理性能和数据上报的性能。
附图说明
60.图1是本技术一个实施例的数据采集方法的步骤流程示意图;
61.图2是本技术一个实施例的数据采集方法的步骤流程示意图;
62.图3是本技术一个实施例的数据采集方法的步骤流程示意图;
63.图4是本技术一个实施例的数据采集方法的步骤流程示意图;
64.图5是本技术一个实施例的数据采集方法的步骤流程示意图;
65.图6是本技术一个实施例的数据采集装置的结构示意图;
66.图7是本技术一个实施例的数据采集装置的结构示意图;
67.图8是本技术一个实施例提供的装置的结构示意图。
具体实施方式
68.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
69.本技术实施例可以应用于数据采集技术领域。在数据采集技术领域,终端可以提供界面,用户可以基于人机交互方式,针对界面产生用户行为数据。用户行为数据可以包括但不限于如下数据中的至少一种:用户针对界面元素的点击、按下、弹起等用户行为数据;在界面加载完成的情况下,用户对于界面的开始访问数据;在界面结束的情况下,用户对于界面的结束访问数据;用户操作(如支付操作等)的成功或失败信息等。
70.目前的数据采集方法,客户端将采集的用户事件的事件信息存储至本地缓存,并在本地缓存中用户事件的数量超过10条的情况下,向服务端批量上报用户事件的事件信息;而服务端可以对客户端上报的事件信息进行存储等处理。然而,在客户端的数量增加的情况下,服务端接收的数据量将会成倍增加,这容易引起服务端的处理性能的下降,甚至容易导致服务端发生宕机。
71.针对相关技术中客户端的数量增加导致服务端的处理性能的下降的技术问题,本技术实施例提供了一种数据采集方法,该方法可以应用于客户端,具体可以包括:采集用户行为数据,并将该用户行为数据保存至存储介质;从服务端接收数据上报状态;该数据上报状态包括:开放状态、或关闭状态、或暂停状态;该开放状态对应的负载小于该暂停状态对应的负载,该暂停状态对应的负载小于该关闭状态对应的负载;根据该数据上报状态,对该存储介质中的用户行为数据进行上报处理;其中,该上报处理具体可以包括:在该数据上报状态为开放状态的情况下,根据第一上报参数,对该存储介质中的用户行为数据进行上报;或者,在该数据上报状态为暂停状态的情况下,根据第二上报参数,对该存储介质中的用户行为数据进行上报;该第二上报参数对应的单次上报数据量小于该第一上报参数对应的单次上报数据量,和/或,该第二上报参数对应的上报频率小于该第一上报参数对应的上报频率;或者,在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报。
72.本技术实施例的技术方案中,服务端可以根据自身的实时负载信息确定数据上报状态,并向客户端提供数据上报状态;而客户端可以根据该数据上报状态,对存储介质中的用户行为数据进行上报处理。
73.本技术实施例的服务端根据实时负载信息的不同情况,提供了不同的数据上报状态,且客户端根据不同的数据上报状态,进行了不同的上报处理。由于开放状态对应低等程度的负载,暂停状态对应中等程度的负载,关闭状态对应高等程度的负载,故在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报,能够减轻服务端的负载压力,进而能够提高服务端的处理性能和数据上报的性能。
74.并且,本技术实施例的开放状态和暂停状态对应不同的上报参数。由于暂停状态所对应第二上报参数对应的单次上报数据量可以小于开放状态所对应第一上报参数对应的单次上报数据量,和/或,暂停状态所对应第二上报参数对应的上报频率可以小于开放状态所对应第一上报参数对应的上报频率;这样,在数据上报状态为暂停状态的情况下,可以根据第二上报参数减少客户端在一定时间内的上报数据量。由于能够进一步减轻服务端的负载压力,因此能够进一步提高服务端的处理性能和数据上报的性能。
75.方法实施例一
76.参考图1,示出了本技术一个实施例的数据采集方法的步骤流程示意图,该方法可以应用于服务端,该方法具体可以包括如下步骤:
77.步骤101、根据自身的实时负载信息,确定数据上报状态;该数据上报状态具体可以包括:开放状态、或关闭状态、或暂停状态;该开放状态对应的负载可以小于该暂停状态对应的负载,该暂停状态对应的负载可以小于该关闭状态对应的负载;
78.步骤102、向客户端发送该数据上报状态,以使该客户端根据该数据上报状态,对存储介质中的用户行为数据进行上报处理;
79.其中,该上报处理具体可以包括:
80.在该数据上报状态为开放状态的情况下,根据第一上报参数,对该存储介质中的用户行为数据进行上报;或者
81.在该数据上报状态为暂停状态的情况下,根据第二上报参数,对该存储介质中的用户行为数据进行上报;该第二上报参数对应的单次上报数据量小于该第一上报参数对应的单次上报数据量,和/或,该第二上报参数对应的上报频率小于该第一上报参数对应的上报频率;或者
82.在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报。
83.在步骤101中,服务端可以按照第一预设周期,获取实时负载信息。第一预设周期可由本领域技术人员根据实际应用需求确定,例如,第一预设周期可以为n秒等,n可以为正整数。
84.实时负载信息可以包括但不限于如下信息中的至少一种:客户端连接数量、cpu占用信息、内存占用信息、网络带宽占用信息和数据库读写信息;该数据库用于对客户端上报的用户行为数据进行存储。
85.其中,客户端连接数量表征一个服务端连接的客户端的数量。服务端可以包括cpu、内存和网卡等硬件。cpu占用信息表征服务端包含的cpu的利用率。内存占用信息表征服务端包含的内存的利用率。网络带宽占用信息可以是网络带宽的实际占用值与网络带宽的上限值之间的比例。
86.数据库读写信息可以包括:数据库读信息,也即从数据库中读取用户行为数据的信息,数据库读信息可以是单位时间内数据库的读次数。数据库读写信息可以包括:数据库写信息,也即向数据库中写入用户行为数据的信息,数据库写信息可以是单位时间内数据库的写次数。单位时间可以是秒、分钟等。
87.本技术实施例可以根据负载范围与数据上报状态之间的映射关系,确定数据上报状态。在具体实现中,可以根据实时负载信息对应的负载值,在负载范围与数据上报状态之间的映射关系中进行查找,以得到实际的数据上报状态。
88.其中,负载范围可以是:至少一种实时负载信息对应的负载值的范围。cpu占用信息对应的负载值a可以是:cpu占用率对应的小数。内存占用信息对应的负载值b可以是:内存占用值与内存总值对应的比值。数据库读写信息对应的负载值c可以是:数据库写入n条数据所对应的耗时(单位可以为毫秒等)。实时负载信息还可以包括:响应信息,响应信息对应的负载值d可以是:针对客户端发送的状态订阅请求的响应耗时信息(单位可以为毫秒等)。
89.本技术实施例还可以对多种实时负载信息进行融合,以得到融合负载值。负载范围还可以是融合负载值对应的范围。融合方式可以包括:加权平均等。
90.参照表1,示出了本技术一个实施例的负载范围与数据上报状态之间的映射关系的示例。其中,a1、a2可以为小数,a1<a2,例如,a1为0.95、a2为1等。b1、b2可以为小数,b1<b2,例如,b1为0.9、b2为1等
91.表1
[0092][0093]
在步骤102中,可以在数据上报状态发生更新的情况下,向客户端发送更新后的数据上报状态。
[0094]
其中,服务端可以按照第二预设周期,根据自身的实时负载信息,确定第(i+1)个周期的数据上报状态,i可以为正整数;并将第(i+1)个周期的数据上报状态与第i个周期的数据上报状态进行比较,若不同,则可以确定数据上报状态发生更新,并向客户端发送第(i+1)个周期的数据上报状态。
[0095]
本技术实施例在向客户端发送数据上报状态之前,可以接收客户端发送的状态订阅请求,该状态订阅请求用于订阅数据上报状态,该状态订阅请求中可以包含客户端标识;服务端可以将状态订阅请求中包含的客户端标识添加至订阅列表。这样,在数据上报状态发生更新的情况下,可以向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。
[0096]
本技术实施例的服务端还可以从客户端接收用户行为数据,并将该用户行为数据存储至数据库。
[0097]
本技术实施例的服务端还可以提供数据库的查询服务。在一种实现方式中,可以根据查询请求,在数据库中进行查询,得到的查询结果可以包括:目标用户行为数据;并且,可以根据目标用户行为数据,生成热力图。
[0098]
目标用户行为数据可以是多个用户针对一个界面的行为数据。以界面为学校的选课界面为例,目标用户行为数据可以是学校的学生针对选课界面中界面元素的点击行为数据;此种情况下,热力图可以反映选课界面中界面元素表征的科目对应的选择情况。
[0099]
本技术实施例的用户行为数据可以包括:客户端标识、界面元素信息和行为标识等信息。其中,客户端标识可以唯一标识客户端,其具体可以包括:客户端的ip(网际互联协议,internet protocol)地址、或客户端的端口信息、或用户身份信息等。其中,用户身份信息可以是用户账号,或者用户身份信息可以是cookie。cookie的类型为“小型文本文件”,是某些网站为了辨别用户身份,进行会话跟踪而储存在用户本地终端上的数据(通常经过加密),由客户端暂时或永久保存的信息。界面元素信息具体包括:界面元素的标识信息和/或界面元素的位置信息。行为标识可以表征针对界面元素的行为;行为标识的例子可以包括:点击或双击或滑动或按下或抬起等。
[0100]
当然,上述客户端标识、界面元素信息和行为标识等信息,只是作为用户行为数据的示例。实际上,用户行为数据还可以包括:行为时间等信息。
[0101]
热力图是由不同渲染色值所渲染成的各个区块构成的、并通过用不同颜色的区块
叠加在电子地图或者页面上来表示的图示。区块可以对应有热力值,热力值可以用来说明该区块对应的地理区域或页面区域上的数据对象的分布、密度和变化趋势。
[0102]
本技术实施例的用户行为数据可以包括:客户端标识、界面元素信息、行为标识和界面的图片等信息。则根据目标用户行为数据,生成热力图的过程可以包括:将界面的图片作为热力图的背景,并在界面的图片上绘制热力图。由于热力图的背景是界面的图片,故可以清楚地呈现界面上界面元素对应的用户行为的分布信息。
[0103]
在实际应用中,可以首先根据目标用户行为数据,确定界面包含的界面元素对应的行为数量信息;然后,根据行为数量信息,确定对应的渲染色值;接着,根据渲染色值,在界面元素对应的区域进行渲染,由此得到热力图的区块。
[0104]
综上,本技术实施例的数据采集方法,服务端根据实时负载信息的不同情况,提供了不同的数据上报状态,且客户端根据不同的数据上报状态,进行了不同的上报处理。由于开放状态对应低等程度的负载,暂停状态对应中等程度的负载,关闭状态对应高等程度的负载,故在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报,能够减轻服务端的负载压力,进而能够提高服务端的处理性能和数据上报的性能。
[0105]
并且,本技术实施例的开放状态和暂停状态对应不同的上报参数。由于暂停状态所对应第二上报参数对应的单次上报数据量可以小于开放状态所对应第一上报参数对应的单次上报数据量,和/或,暂停状态所对应第二上报参数对应的上报频率可以小于开放状态所对应第一上报参数对应的上报频率;这样,在数据上报状态为暂停状态的情况下,可以根据第二上报参数减少客户端在一定时间内的上报数据量。由于能够进一步减轻服务端的负载压力,因此能够进一步提高服务端的处理性能和数据上报的性能。
[0106]
方法实施例二
[0107]
参考图2,示出了本技术一个实施例的数据采集方法的步骤流程示意图,该方法可以应用于服务端,该方法具体可以包括如下步骤:
[0108]
步骤201、接收客户端发送的状态订阅请求,并将状态订阅请求中包含的客户端标识添加至订阅列表;
[0109]
步骤202、根据自身的实时负载信息,确定数据上报状态;
[0110]
该数据上报状态具体可以包括:开放状态、或关闭状态、或暂停状态;该开放状态对应的负载可以小于该暂停状态对应的负载,该暂停状态对应的负载可以小于该关闭状态对应的负载;
[0111]
步骤203、在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态;
[0112]
步骤204、将客户端上报的用户行为数据存储至数据库,并提供该数据库对应的查询接口。
[0113]
在具体实现中,服务端可以采用sse(服务器发送事件,server-sent events)技术,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。sse是一种在基于浏览器的web应用程序中从服务端向客户端发送消息的技术。
[0114]
sse技术的实现过程具体包括:客户端向服务端发送的状态订阅请求具体为http(超文本传输协议,hyper text transfer protocol)中的长连接,而服务端向客户端推送消息(message),消息中可以承载有更新后的数据上报状态。由于可以利用一次长连接实现
多次消息,因此可以节约网络资源。客户端在检测到长连接发生中断的情况下,会重新建立新的长连接。
[0115]
在具体实现中,客户端可以利用事件源接口,向服务端提供的地址发送状态订阅请求,以实现sse接收端的订阅。
[0116]
方法实施例三
[0117]
参考图3,示出了本技术一个实施例的数据采集方法的步骤流程示意图,该方法可以应用于客户端,该方法具体可以包括如下步骤:
[0118]
步骤301、采集用户行为数据,并将该用户行为数据保存至存储介质;
[0119]
步骤302、从服务端接收数据上报状态;该数据上报状态具体可以包括:开放状态、或关闭状态、或暂停状态;该开放状态对应的负载小于该暂停状态对应的负载,该暂停状态对应的负载小于该关闭状态对应的负载;
[0120]
步骤303、根据该数据上报状态,对该存储介质中的用户行为数据进行上报处理;
[0121]
其中,该上报处理具体可以包括:
[0122]
在该数据上报状态为开放状态的情况下,根据第一上报参数,对该存储介质中的用户行为数据进行上报;或者
[0123]
在该数据上报状态为暂停状态的情况下,根据第二上报参数,对该存储介质中的用户行为数据进行上报;该第二上报参数对应的单次上报数据量小于该第一上报参数对应的单次上报数据量,和/或,该第二上报参数对应的上报频率小于该第一上报参数对应的上报频率;或者
[0124]
在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报。
[0125]
在步骤301中,本技术实施例可以利用埋点技术,采集用户行为数据。埋点技术可以指针对用户行为进行捕获、处理和发送的相关技术及其实施过程。埋点技术可以首先监听应用运行过程中的事件,然后,在需要关注的事件发生的情况下进行判断和捕获。
[0126]
本技术实施例的用户行为数据可以包括:与流量相关的第一用户行为数据。第一用户行为数据可以理解为用户访问或离开网页时产生的数据信息,如网站的访客量、访问量、页面加载时间、用户在网页的停留时间、用户环境信息等等,这类信息属于静态的信息,采集的触发时机通常是用户成功地访问到该网页后。或者,本技术实施例的用户行为数据可以包括:与事件相关的第二用户行为数据。第二用户行为数据可以指用户与界面元素发生交互时产生的行为信息,属于动态的信息,采集的触发时机通常是界面元素所绑定的事件类型被触发。
[0127]
本技术实施例的埋点技术可以包括:代码埋点技术或者无埋点技术。其中,代码埋点技术需要预置目标事件,针对目标事件编写对应的代码,并在应用中使用对应的代码。无埋点技术又称全埋点技术,可以全面采集界面中所有界面元素的用户行为,实现自动的全量采集。本技术实施例可以基于代码埋点技术或者无埋点技术实现,而对具体的埋点技术不加以限制。
[0128]
在采用无埋点技术的情况下,本技术实施例可以利用事件冒泡原理,采集用户行为数据。
[0129]
事件发生时,事件流会从顶层到底层一层一层传递下去,到达实际的目标界面元
素后,事件流会携带该目标界面元素的属性信息向上冒泡,直到回到事件流出发的起点。利用这种高层次元素代理低层次元素处理事件的机制,本技术实施例可以在dom(文档对象模型,document object model)的顶层节点添加事件处理程序,在监听到事件的触发后,立即执行事件处理程序的回调函数,对监听到的事件进行处理。相应地,上述采集用户行为数据的过程,具体可以包括:针对界面的dom包括的顶层节点进行事件监听,以得到用户针对界面元素的用户行为数据。
[0130]
在具体实现中,用于人机交互的线程与用于数据采集的线程,可以为相同的线程;换言之,本技术实施例可以采用单线程实现人机交互和数据采集。具体而言,单线程可以将人机交互任务和数据采集任务保存至队列,从队列中读取人机交互任务或数据采集任务,并对读取的任务进行处理。然而,数据采集任务会挤占人机交互任务的资源,容易导致人机交互性能的下降。其中,人机交互可以实现对应的服务,如下单服务、支付服务、选课服务等。
[0131]
针对数据采集任务挤占人机交互任务的资源的技术问题,本技术实施例中,用于人机交互的线程与用于数据采集的线程,可以为不同的线程。例如,用于人机交互的线程为第一线程,用于数据采集的线程为第二线程。由于用于人机交互的线程与用于数据采集的线程为不同的线程,因此可以在一定程度上避免数据采集任务挤占人机交互任务的资源的技术问题,进而能够提高人机交互功能。
[0132]
相应地,上述采集用户行为数据的过程,具体可以包括:利用第一线程,创建第二线程;所述第一线程提供界面,以使用户针对所述界面产生用户行为;利用所述第二线程,采集用户行为数据。第一线程可以基于界面提高人机交互任务,以使用户针对所述界面产生用户行为。在实际应用中,第二线程可以对数据采集对象进行实例化,其中,数据采集对象用于利用第二线程的资源,采集用户行为数据。
[0133]
在一种实现方式中,第一线程可以利用web worker(网络线程)规范,创建第二线程。web worker可以在主线程上创建一个辅助线程,将一些任务分配给辅助线程运行。主线程和辅助线程互不干扰,也能相互通信。这样,可以减少用户在主线程上进行人机交互的过程中的卡顿和阻塞现象。并且,可以减少辅助线程的工作因为主线程的人机交互而被打断的现象。
[0134]
在实际应用中,上述将该用户行为数据保存至存储介质的过程,具体可以包括:对用户行为数据进行过滤和分类;根据用户行为数据的类别信息,将过滤后的用户行为数据保存至存储介质。
[0135]
其中,对用户行为数据进行过滤,可以过滤掉不符合过滤规则的用户行为数据。
[0136]
过滤规则可以是完整性规则。假设本技术实施例的用户行为数据可以包括:客户端标识、界面元素信息和行为标识等信息等n种部分信息,则在用户行为数据少于n种部分信息或多于n种部分信息的情况下,可以认为用户行为数据不符合完整性规则。
[0137]
过滤规则可以是格式规则。若用户行为数据包含的任一部分信息不符合对应的格式规则,可以认为用户行为数据不符合完整性规则。
[0138]
过滤规则可以是采集目标对应的逻辑性规则。例如,采集目标是界面的停留时间,停留时间可以根据界面的进入时间和离开时间确定,假设包含界面的进入时间对应的用户行为数据、但不包含界面的离开时间对应的用户行为数据,则可以将界面的进入时间对应
的用户行为数据过滤掉。
[0139]
可以理解,本领域技术人员可以根据实际应用需求,确定所需的过滤规则,本技术实施例对于具体的过滤规则不加以限制。
[0140]
本技术实施例可以按照用户行为数据对应的行为标识,对用户行为数据进行分类。例如,具有相同行为标识的用户行为数据可被划分到相同的行为类别,行为类别的例子可以包括:点击类别、或滑动类别等。可以理解,本技术实施例对于具体的行为类别不加以限制。
[0141]
在本技术的一种可选实现方式中,上述方法还可以包括:在从服务端接收数据上报状态之前,向服务端发送状态订阅请求;该状态订阅请求用于向服务端订阅数据上报状态,该状态订阅请求中包含客户端标识,该服务端将该状态订阅请求中包含的客户端标识添加至订阅列表,并在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。例如,第二线程可以获取客户端的ip地址、或客户端的端口信息、或用户身份信息等客户端标识,并在状态订阅请求中携带上述客户端标识。在具体实现中,客户端可以利用事件源接口,向服务端提供的地址发送状态订阅请求,以实现sse接收端的订阅。
[0142]
综上,本技术实施例的数据采集方法,服务端根据实时负载信息的不同情况,提供了不同的数据上报状态,且客户端根据不同的数据上报状态,进行了不同的上报处理。由于开放状态对应低等程度的负载,暂停状态对应中等程度的负载,关闭状态对应高等程度的负载,故在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报,能够减轻服务端的负载压力,进而能够提高服务端的处理性能和数据上报的性能。
[0143]
并且,本技术实施例的开放状态和暂停状态对应不同的上报参数。由于暂停状态所对应第二上报参数对应的单次上报数据量可以小于开放状态所对应第一上报参数对应的单次上报数据量,和/或,暂停状态所对应第二上报参数对应的上报频率可以小于开放状态所对应第一上报参数对应的上报频率;这样,在数据上报状态为暂停状态的情况下,可以根据第二上报参数减少客户端在一定时间内的上报数据量。由于能够进一步减轻服务端的负载压力,因此能够进一步提高服务端的处理性能和数据上报的性能。
[0144]
方法实施例四
[0145]
参考图4,示出了本技术一个实施例的数据采集方法的步骤流程示意图,该方法可以应用于客户端,该方法具体可以包括如下步骤:
[0146]
步骤401、第一线程创建第二线程;
[0147]
步骤402、第二线程向服务端发送状态订阅请求;该状态订阅请求用于向服务端订阅数据上报状态,该状态订阅请求中包含客户端标识;
[0148]
步骤403、第二线程采集用户行为数据,并将该用户行为数据保存至存储介质;
[0149]
存储介质可以是数据库。例如,数据库可以是websql(网络结构化查询语言,web structured query language)数据库。websql是html5提供的客户端数据存储介质,提供了一种适用于大量数据持久存储在用户浏览器中的技术。
[0150]
步骤404、第二线程从服务端接收数据上报状态;该数据上报状态具体可以包括:开放状态、或关闭状态、或暂停状态;该开放状态对应的负载小于该暂停状态对应的负载,该暂停状态对应的负载小于该关闭状态对应的负载;
[0151]
步骤405、第二线程根据该数据上报状态,对该存储介质中的用户行为数据进行上报处理;
[0152]
步骤406、第一线程提供界面,以使用户针对所述界面产生用户行为。
[0153]
在实际应用中,第一线程与第二线程可以互不干扰,也能相互通信。
[0154]
本技术实施例的上报处理具体可以包括:
[0155]
第一上报处理、在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
[0156]
第二上报处理、在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;或者
[0157]
第三上报处理、在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
[0158]
其中,上报参数可以包括:单次上报数据量和/或上报频率等信息。其中,上报频率可以表征相邻两次上报对应的时间间隔或者可以表征上报周期。单次上报数据量可以表征一次上报的用户行为数据的数量。
[0159]
假设第一上报参数对应的单次上报数据量为m1条,第二上报参数对应的单次上报数据量为m2条,则m1>m2。假设第一上报参数对应的上报周期为t1,第二上报参数对应的上报周期为t2,则t1<t2。
[0160]
在实际应用中,客户端可以按照第二预设周期,从服务端接收更新后的数据上报状态,并根据更新后的数据上报状态,对该存储介质中的用户行为数据进行上报处理。
[0161]
在一次上报过程中,客户端可以从存储介质中读取m1条或m2条用户行为数据,并向服务端发送读取的用户行为数据。其中,在m1条或m2条用户行为数据上报成功后,可以从客户端的存储介质中删除m1条或m2条用户行为数据。
[0162]
方法实施例五
[0163]
参考图5,示出了本技术一个实施例的数据采集方法的步骤流程示意图,该方法具体可以包括如下步骤:
[0164]
步骤501、客户端向服务端发送状态订阅请求;该状态订阅请求用于向服务端订阅数据上报状态,该状态订阅请求中包含客户端标识;
[0165]
步骤502、服务端将状态订阅请求中包含的客户端标识添加至订阅列表;
[0166]
步骤503、客户端采集用户行为数据,并将该用户行为数据保存至存储介质;
[0167]
步骤504、服务端根据自身的实时负载信息,确定数据上报状态;
[0168]
步骤505、服务端在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态;
[0169]
步骤506、客户端根据该数据上报状态,对该存储介质中的用户行为数据进行上报处理;
[0170]
步骤507、将客户端上报的用户行为数据存储至数据库,并提供该数据库对应的查询接口。
[0171]
综上,本技术实施例的数据采集方法,服务端根据实时负载信息的不同情况,提供了不同的数据上报状态,且客户端根据不同的数据上报状态,进行了不同的上报处理。由于开放状态对应低等程度的负载,暂停状态对应中等程度的负载,关闭状态对应高等程度的
负载,故在该数据上报状态为关闭状态的情况下,不对该存储介质中的用户行为数据进行上报,能够减轻服务端的负载压力,进而能够提高服务端的处理性能和数据上报的性能。
[0172]
并且,本技术实施例的开放状态和暂停状态对应不同的上报参数。由于暂停状态所对应第二上报参数对应的单次上报数据量可以小于开放状态所对应第一上报参数对应的单次上报数据量,和/或,暂停状态所对应第二上报参数对应的上报频率可以小于开放状态所对应第一上报参数对应的上报频率;这样,在数据上报状态为暂停状态的情况下,可以根据第二上报参数减少客户端在一定时间内的上报数据量。由于能够进一步减轻服务端的负载压力,因此能够进一步提高服务端的处理性能和数据上报的性能。
[0173]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
[0174]
在上述实施例的基础上,本实施例还提供了一种数据采集装置,该装置可以应用于应用客户端;参照图6,该装置具体可以包括:采集模块601、保存模块602、接收模块603和上报处理模块604。
[0175]
其中,采集模块601,用于采集用户行为数据;
[0176]
保存模块602,用于将所述用户行为数据保存至存储介质;
[0177]
接收模块603,用于从服务端接收数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;
[0178]
上报处理模块604,用于根据所述数据上报状态,对所述存储介质中的用户行为数据进行上报处理;
[0179]
其中,所述上报处理具体可以包括:
[0180]
在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
[0181]
在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者
[0182]
在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
[0183]
可选地,所述采集模块601具体可以包括:
[0184]
线程创建模块,用于利用第一线程,创建第二线程;所述第一线程提供界面,以使用户针对所述界面产生用户行为;
[0185]
线程采集模块,用于利用所述第二线程,采集用户行为数据。
[0186]
可选地,所述采集模块601具体可以包括:
[0187]
事件监听模块,用于针对界面的文档对象模型包括的顶层节点进行事件监听,以得到用户针对界面元素的用户行为数据。
[0188]
可选地,所述装置还可以包括:
[0189]
请求发送模块,用于在从服务端接收数据上报状态之前,向服务端发送状态订阅请求;所述状态订阅请求用于向服务端订阅数据上报状态,所述状态订阅请求中包含客户端标识,所述服务端将所述状态订阅请求中包含的客户端标识添加至订阅列表,并在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。
[0190]
可选地,所述保存模块602具体可以包括:
[0191]
过滤分类模块,用于对所述用户行为数据进行过滤和分类;
[0192]
按类别存储模块,用于根据用户行为数据的类别信息,将过滤后的用户行为数据保存至存储介质。
[0193]
在上述实施例的基础上,本实施例还提供了一种数据采集装置,该装置可以应用于应用服务端;参照图7,该装置具体可以包括:状态确定模块701和状态发送模块702。
[0194]
状态确定模块701,用于根据自身的实时负载信息,确定数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;
[0195]
状态发送模块702,用于向客户端发送所述数据上报状态,以使所述客户端根据所述数据上报状态,对存储介质中的用户行为数据进行上报处理;
[0196]
其中,所述上报处理具体可以包括:
[0197]
在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者
[0198]
在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者
[0199]
在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。
[0200]
可选地,所述装置还可以包括:
[0201]
请求接收模块,用于在所述向客户端发送所述数据上报状态之前,接收客户端发送的状态订阅请求;所述状态订阅请求用于订阅数据上报状态,所述状态订阅请求中包含客户端标识;
[0202]
添加模块,用于将所述状态订阅请求中包含的客户端标识添加至订阅列表;
[0203]
则所述状态发送模块,具体用于在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。
[0204]
可选地,所述实时负载信息具体可以包括如下信息中的至少一种:
[0205]
客户端连接数量、cpu占用信息、内存占用信息、网络带宽占用信息和数据库读写信息;所述数据库用于对客户端上报的用户行为数据进行存储。
[0206]
本技术实施例提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例中各方法步骤的指令(instructions)。
[0207]
本技术实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本技术实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
[0208]
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括:终端设备、服务器(集群)等电子设备。图8示意性地示出了可被用于实现本技术中所述的各个实施例的示例性装置1100。
[0209]
对于一个实施例,图8示出了示例性装置1100,该装置具有一个或多个处理器1102、被耦合到(一个或多个)处理器1102中的至少一个的控制模块(芯片组)1104、被耦合到控制模块1104的存储器1106、被耦合到控制模块1104的非易失性存储器(nvm)/存储设备1108、被耦合到控制模块1104的一个或多个输入/输出设备1110,以及被耦合到控制模块1104的网络接口1112。
[0210]
处理器1102可包括一个或多个单核或多核处理器,处理器1102可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1100能够作为本技术实施例中所述终端设备、服务器(集群)等设备。
[0211]
在一些实施例中,装置1100可包括具有指令1114的一个或多个计算机可读介质(例如,存储器1106或nvm/存储设备1108)以及与该一个或多个计算机可读介质相合并被配置为执行指令1114以实现模块从而执行本公开中所述的动作的一个或多个处理器1102。
[0212]
对于一个实施例,控制模块1104可包括任意适当的接口控制器,以向(一个或多个)处理器1102中的至少一个和/或与控制模块1104通信的任意适当的设备或组件提供任意适当的接口。
[0213]
控制模块1104可包括存储器控制器模块,以向存储器1106提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
[0214]
存储器1106可被用于例如为装置1100加载和存储数据和/或指令1114。对于一个实施例,存储器1106可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器1106可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
[0215]
对于一个实施例,控制模块1104可包括一个或多个输入/输出控制器,以向nvm/存储设备1108及(一个或多个)输入/输出设备1110提供接口。
[0216]
例如,nvm/存储设备1108可被用于存储数据和/或指令1114。nvm/存储设备1108可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
[0217]
nvm/存储设备1108可包括在物理上作为装置1100被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备1108可通过网络经由(一个或多个)输入/输出设备1110进行访问。
[0218]
(一个或多个)输入/输出设备1110可为装置1100提供接口以与任意其他适当的设备通信,输入/输出设备1110可以包括通信组件、音频组件、传感器组件等。网络接口1112可为装置1100提供接口以通过一个或多个网络通信,装置1100可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
[0219]
对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
[0220]
在各个实施例中,装置1100可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1100可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1100包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
[0221]
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
[0222]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0223]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0224]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。
[0225]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能。
[0226]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
[0227]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0228]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0229]
以上对本技术所提供的一种数据采集方法和装置、一种电子设备和一种机器可读介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种数据采集方法,其特征在于,所述方法应用于客户端,包括:采集用户行为数据,并将所述用户行为数据保存至存储介质;从服务端接收数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;根据所述数据上报状态,对所述存储介质中的用户行为数据进行上报处理;其中,所述上报处理包括:在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。2.根据权利要求1所述的方法,其特征在于,所述采集用户行为数据,包括:利用第一线程,创建第二线程;所述第一线程提供界面,以使用户针对所述界面产生用户行为;利用所述第二线程,采集用户行为数据。3.根据权利要求1所述的方法,其特征在于,所述采集用户行为数据,包括:针对界面的文档对象模型包括的顶层节点进行事件监听,以得到用户针对界面元素的用户行为数据。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在从服务端接收数据上报状态之前,向服务端发送状态订阅请求;所述状态订阅请求用于向服务端订阅数据上报状态,所述状态订阅请求中包含客户端标识,所述服务端将所述状态订阅请求中包含的客户端标识添加至订阅列表,并在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。5.根据权利要求1所述的方法,其特征在于,所述将所述用户行为数据保存至存储介质,包括:对所述用户行为数据进行过滤和分类;根据用户行为数据的类别信息,将过滤后的用户行为数据保存至存储介质。6.一种数据采集方法,其特征在于,所述方法应用于服务端,包括:根据自身的实时负载信息,确定数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;向客户端发送所述数据上报状态,以使所述客户端根据所述数据上报状态,对存储介质中的用户行为数据进行上报处理;其中,所述上报处理包括:在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的
用户行为数据进行上报;或者在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在所述向客户端发送所述数据上报状态之前,接收客户端发送的状态订阅请求;所述状态订阅请求用于订阅数据上报状态,所述状态订阅请求中包含客户端标识;将所述状态订阅请求中包含的客户端标识添加至订阅列表;所述向客户端发送所述数据上报状态,包括:在数据上报状态发生更新的情况下,向订阅列表中客户端标识对应的客户端发送更新后的数据上报状态。8.根据权利要求6所述的方法,其特征在于,所述实时负载信息包括如下信息中的至少一种:客户端连接数量、cpu占用信息、内存占用信息、网络带宽占用信息和数据库读写信息;所述数据库用于对客户端上报的用户行为数据进行存储。9.一种数据采集装置,其特征在于,所述装置应用于客户端,包括:采集模块,用于采集用户行为数据;保存模块,用于将所述用户行为数据保存至存储介质;接收模块,用于从服务端接收数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;上报处理模块,用于根据所述数据上报状态,对所述存储介质中的用户行为数据进行上报处理;其中,所述上报处理包括:在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。10.一种数据采集装置,其特征在于,所述装置应用于服务端,包括:状态确定模块,用于根据自身的实时负载信息,确定数据上报状态;所述数据上报状态包括:开放状态、或关闭状态、或暂停状态;所述开放状态对应的负载小于所述暂停状态对应的负载,所述暂停状态对应的负载小于所述关闭状态对应的负载;状态发送模块,用于向客户端发送所述数据上报状态,以使所述客户端根据所述数据
上报状态,对存储介质中的用户行为数据进行上报处理;其中,所述上报处理包括:在所述数据上报状态为开放状态的情况下,根据第一上报参数,对所述存储介质中的用户行为数据进行上报;或者在所述数据上报状态为暂停状态的情况下,根据第二上报参数,对所述存储介质中的用户行为数据进行上报;所述第二上报参数对应的单次上报数据量小于所述第一上报参数对应的单次上报数据量,和/或,所述第二上报参数对应的上报频率小于所述第一上报参数对应的上报频率;或者在所述数据上报状态为关闭状态的情况下,不对所述存储介质中的用户行为数据进行上报。11.一种电子设备,其特征在于,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-8中任一项所述的方法。12.一种机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-8中任一项所述的方法。
技术总结
本申请实施例提供了一种数据采集方法、装置、电子设备和介质,其中的方法具体包括:采集用户行为数据,并将用户行为数据保存至存储介质;从服务端接收数据上报状态;数据上报状态包括:开放状态、或关闭状态、或暂停状态;开放状态对应的负载小于暂停状态对应的负载,暂停状态对应的负载小于关闭状态对应的负载;根据数据上报状态,对存储介质中的用户行为数据进行上报处理;在数据上报状态为开放状态的情况下,根据第一上报参数,对存储介质中的用户行为数据进行上报;在数据上报状态为暂停状态的情况下,根据第二上报参数,对存储介质中的用户行为数据进行上报。本申请实施例可以提高服务端的处理性能和数据上报的性能。务端的处理性能和数据上报的性能。务端的处理性能和数据上报的性能。
技术研发人员:请求不公布姓名
受保护的技术使用者:中科方德软件有限公司
技术研发日:2023.03.20
技术公布日:2023/7/17
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种铁路接触网驱鸟器的制作方法 下一篇:一种清洗机的制作方法
