CN110109803A - 一种用户行为上报方法及系统 - Google Patents
一种用户行为上报方法及系统 Download PDFInfo
- Publication number
- CN110109803A CN110109803A CN201910385318.9A CN201910385318A CN110109803A CN 110109803 A CN110109803 A CN 110109803A CN 201910385318 A CN201910385318 A CN 201910385318A CN 110109803 A CN110109803 A CN 110109803A
- Authority
- CN
- China
- Prior art keywords
- information
- user behavior
- behavior information
- compressed
- application terminal
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3082—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Abstract
本发明实施例公开了一种用户行为上报方法及系统,应用于信息处理技术领域。用户行为上报系统会动态地获取到应用终端的多条用户行为信息,并将多条用户行为信息划分为多个时间窗口的信息,这样,可以根据各个时间窗口中每条用户行为信息的重复数量,确定待压缩的用户行为信息的压缩信息,然后再根据压缩信息对用户行为信息进行压缩后,上报给后端服务器。这样,通过动态地获取并分析应用终端的用户行为信息,可以获取到较为准确的对用户行为信息的压缩信息,使得上报给后端服务器的用户行为信息减少,减少了对网络带宽的占用,且后端服务器对用户行为信息的处理负载也降低,整体提高了采集用户行为信息的性价比。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种用户行为上报方法及系统。
背景技术
在用户操作应用终端的过程中,可以通过在应用终端中内置的软件开发工具包(Software Development Kit,SDK)采集用户操作应用终端的信息,简称为用户行为信息,比如用户打开网页,或收藏网页的信息等,并将采集的用户行为信息上报给后端服务器。这样,后端服务器可以根据各个应用终端上报的用户行为信息,探寻用户的使用应用终端的数据,进而判断各应用终端是否按照预期运行,是否有潜在的bug等。
在现有的用户行为上报过程中,应用终端会将采集的全部用户行为信息上报给后端服务器,但是这些用户行为信息比较多,对应用终端的网络带宽造成比较大的压力,且后端服务器对用户行为信息的处理负载较高,使得采集用户行为信息的性价比不高。
发明内容
本发明实施例提供一种用户行为上报方法及系统,实现了对采集的用户行为信息进行动态压缩后,上报给后端服务器。
本发明实施例第一方面提供一种用户行为上报方法,包括:
获取应用终端的多条用户行为信息;
将所述多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息;
统计所述多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量;
根据所述各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息;
将所述压缩信息发送给所述应用终端,以便所述应用终端根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息;或者,根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息。
本发明实施例第二方面提供一种用户行为上报系统,包括:
信息获取单元,用于获取应用终端的多条用户行为信息;
信息划分单元,用于将所述多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息;
统计单元,用于统计所述多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量;
压缩确定单元,用于根据所述各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息;
压缩单元,用于将所述压缩信息发送给所述应用终端,以便所述应用终端根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息;或者,根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息。
本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至4任一项所述的用户行为上报方法。
本发明实施例第四方面提供一种服务器,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的用户行为上报方法。
可见,在本实施例的方法中,用户行为上报系统会动态地获取到应用终端的多条用户行为信息,并将多条用户行为信息划分为多个时间窗口的信息,这样,可以根据各个时间窗口中每条用户行为信息的重复数量,确定待压缩的用户行为信息的压缩信息,然后再根据压缩信息对用户行为信息进行压缩后,上报给后端服务器。这样,通过动态地获取并分析应用终端的用户行为信息,可以获取到较为高效准确的对用户行为信息的压缩信息,根据动态确定的压缩信息对用户行为信息进行压缩后,在尽可能不损失数据有效性的前提下,使得上报给后端服务器的用户行为信息减少,减少了对网络带宽的占用,且后端服务器对用户行为信息的处理负载也降低,整体提高了采集用户行为信息的性价比。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种用户行为上报方法所应用于的一种场景的示意图;
图1b是本发明实施例提供的一种用户行为上报方法所应用于的另一种场景的示意图;
图2是本发明一个实施例提供的一种用户行为上报方法的流程图;
图3是本发明应用实施例中用户行为上报系统的结构示意图;
图4是本发明应用实施例中用户行为上报系统中代理数据采集模块的示意图;
图5是本发明应用实施例提供的一种用户行为上报方法的流程图;
图6a是本发明应用实施例中用户行为信息的格式的示意图;
图6b是本发明应用实施例中数据处理模块储存重复数量的charmap结构的示意图;
图7是本发明应用实施例中流控模块的示意图;
图8是本发明实施例提供的一种用户行为上报系统的结构示意图;
图9是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种用户行为上报方法,主要可以应用于如图1a或图1b所示的场景中,在该场景中包括:至少一个(图中以n个为例说明)应用终端,用户行为上报系统及后端服务器,其中:
用户在操作每个应用终端的过程中,一种情况下,如图1a所示,可以由用户行为上报系统通过如下步骤,采集应用终端的用户行为信息,确定压缩信息,并压缩且将压缩后的用户行为信息上报给后端服务器。在这种情况下,用户行为上报系统中采集、压缩并上报用户行为信息的功能,可以部署到应用终端上的代理(agent)数据采集程序,该代理数据采集程序与用户行为信息对应的应用程序相互独立。而用户行为上报系统中确定压缩信息的功能可以部署于离应用终端较近的设备,比如应用终端所在网络的机房等。
在另一种情况下,如图1b所示,由应用终端采集用户行为信息,并由用户行为上报系统通过如下步骤得到压缩信息后,应用终端根据压缩信息对用户行为信息压缩后,上报压缩后的用户行为信息给后端服务器。在这种情况下,在应用终端所加载的与用户行为信息对应的应用程序中内置了采集、压缩并上报用户行为信息的功能,使得该应用程序本身具有了这些功能。
具体地:用户行为上报系统在用户行为信息上报的过程中,可以执行如下步骤:
获取应用终端的多条用户行为信息;将所述多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息;统计所述多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量;根据所述各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息;将所述压缩信息发送给所述应用终端,以便所述应用终端根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息;或者,根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息。
需要说明的是,上述n个应用终端可以是基于多个应用的终端,也可以是基于一个应用的多个用户的终端。
这样,通过动态地获取并分析应用终端的用户行为信息,可以获取到较为高效准确的对用户行为信息的压缩信息,根据动态确定的压缩信息对用户行为信息进行压缩后,在尽可能不损失数据有效性的前提下,使得上报给后端服务器的用户行为信息减少,减少了对网络带宽的占用,且后端服务器对用户行为信息的处理负载也降低,整体提高了采集用户行为信息的性价比。
本发明一个实施例提供一种用户行为上报方法,主要是由上述的用户行为上报系统所执行的方法,流程图如图2所示,包括:
步骤101,获取应用终端的多条用户行为信息。
可以理解,用户行为上报系统可以按照一定的周期发起本实施例的流程,这样,可以获取到一个信息采集周期内的多条用户行为信息。
在一种情况下,由应用终端采集用户操作应用终端过程中的用户行为信息,并储存应用终端采集的用户行为信息,这样,当用户行为上报系统在发起本实施例的流程时,可以向应用终端获取到在上一个信息采集周期,应用终端采集的用户行为信息。
在另一种情况下,由用户行为上报系统采集用户操作应用终端过程中的用户行为信息,并储存到用户行为上报系统中,这样,当用户行为上报系统在发起本实施例的流程时,可以直接从用户行为上报系统读取到上一个信息采集周期,应用终端的用户行为信息。
具体地,用户行为上报系统获取的每条用户行为信息都可以包括:采集时间,用户标识,用户行为对应的应用终端执行命令的标识、功能标识及状态信息,还可以包括其它参数信息等。其中,采集时间是指采集用户行为信息的时间信息;应用终端执行命令的标识是用户在操作应用终端时,应用终端所执行的命令的唯一标识;功能标识是指应用终端在执行命令时所实现的功能的唯一标识;状态信息是指应用终端执行命令是否成功的结果信息。
比如,用户在某一时刻点击应用终端显示的某一按钮时,应用终端识别到该用户操作对应的命令为“连接某一服务器”,实现的功能为“打开网页”,且应用终端执行“连接某一服务器”成功。对应的一条用户行为信息包括:某一时刻,“连接某一服务器”命令的标识,“打开网页”的功能标识及执行成功的结果信息等。
需要说明的是,当用户行为上报系统在获取到用户行为信息后,可以将用户行为信息放入消息队列中,在消息队列中,同一用户标识对应的用户行为信息是按用户行为发生的时间顺序排列的。
例如,在消息队列中包括的多条用户行为信息分别为:用户行为信息1,用户行为信息2,……,用户行为信息m,其中,m为6。如果用户行为信息1、3和5和6中包括同一用户标识,则这些用户行为信息1、3和5和6是按照用户行为发生的时间顺序排列的,但是用户行为信息1、3和5和6,与用户行为信息2和4之间不一定按照时间顺序排列。
步骤102,将多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息。
具体地,用户行为上报系统可以根据每条用户行为信息中的采集时间,将多条用户行为信息划分为多个时间窗口的信息,不同时间窗口对应的时间间隔可以相同,也可以不同。
步骤103,统计多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量。
具体地,用户行为上报系统在统计某一时间窗口的信息中各条用户行为信息的重复数量时,可以先确定各条用户行为信息的标识信息,然后再根据各条用户行为信息的标识信息,统计各条用户行为信息的重复数量。
其中,在确定某一条用户行为信息的标识信息时,可以根据该条用户行为信息中包括的信息来确定,比如,将某一条用户行为信息中的用户标识、应用终端执行命令的标识、功能标识及状态信息进行拼接,将拼接后的信息作为某一条用户行为信息的标识信息。
在一个时间窗口的信息中,如果用户行为信息的标识信息相同,则对应的用户行为信息相同,在统计用户行为信息的重复数量时,可以统计一个时间窗口的信息中,具有相同标识信息的用户行为信息的条数,即为对应用户行为信息的重复数量。例如,在一个时间窗口的信息中包括5条用户行为信息,其中用户行为信息1和用户行为信息3具有相同的标识信息,而用户行为信息2、4和5具有相同的标识信息,则该时间窗口下,用户行为信息1的重复数量为2,用户行为信息的重复数量为3。
进一步地,用户行为上报系统在统计了各个时间窗口的用户行为信息的重复数量后,可以将每个时间窗口的用户行为信息的重复数量储存到对应的一个字符映射表(charmap)中,字符映射表中的一个字节储存一个标识信息对应的用户行为信息的重复数量;且用户行为上报系统还会储存字符映射表中各个字节的标识信息与用户行为信息的标识信息的对应关系。
例如,将两个时间窗口的用户行为信息的重复数量分别储存到字符映射表1和字符映射表2中,在字符映射表1中通过字节3和5(分别记为字节13和15)分别储存时间窗口1的用户行为信息11的重复数量和用户行为信息12的重复数量;在字符映射表2中通过字节3、4和5(分别记为字节23、24和25)分别储存时间窗口2的用户行为信息21的重复数量、用户行为信息22的重复数量和用户行为信息23的重复数量。则用户行为上报系统会储存各个字符映射表中字节的位置信息与用户行为信息的标识信息的对应关系,具体包括:字节13与用户行为信息11的标识信息对应,字节15与用户行为信息12的标识信息对应,字节23与用户行为信息21的标识信息对应,字节24与用户行为信息22的标识信息对应,及字节25与用户行为信息23的标识信息对应。
步骤104,根据各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息。
具体地,一种情况下,用户行为上报系统可以按照一定的策略,及上述步骤103中统计的重复数量确定哪些用户行为信息需要压缩,这些需要压缩的用户行为信息即为待压缩的用户行为信息,对应的压缩信息可以包括待压缩的用户行为信息的标识信息,对应的时间段等信息。比如,在一段时间内(比如30分钟)的连续时间窗口中,某一用户标识的用户行为信息的重复数量异常,比如都大于第一阈值(比如大于100次),或者小于第二阈值时,可以将这些连续时间窗口中,该用户标识对应的多条用户行为信息进行压缩。
用户行为上报系统还可以根据上述步骤103中统计的重复数量,及预置的机器学习模型,确定哪些用户行为信息属于低价值或非敏感的用户行为信息是否,则低价值和非敏感的用户行为信息即为待压缩的用户行为信息。其中,机器学习模型的运行逻辑可以是预先设置在用户行为上报系统中的,可以是神经网络模型等,而低价值的用户行为信息是指某一时间窗口中重复数量较大的用户行为信息等;非敏感的用户行为信息可以是由用户设置的特定的用户行为信息。
步骤105,将压缩信息发送给应用终端,以便应用终端根据压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报压缩后的用户行为信息;或者,根据压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报压缩后的用户行为信息。
其中,如图1b所示的情况下,如果用户行为信息由应用终端进行采集和上报,则用户行为上报系统会将压缩信息发送给应用终端进行压缩,具体地,用户行为上报系统会通过控制命令将压缩信息发送给应用终端;如图1a所示的情况下,如果用户行为信息由用户行为上报系统进行采集和上报,则用户行为上报系统中在应用终端上部署的代理数据采集程序会直接根据压缩信息压缩用户行为信息。
具体地,如果压缩信息包括时间段和用户行为信息的标识信息,则在根据压缩信息对用户行为信息进行压缩时,可以将该时间段的该标识信息对应的所有用户行为信息压缩为一条用户行为信息,其中,在该条用户行为信息中的采集时间设置为该时间段,且包括重复数量,该条用户行为信息中的其它信息不变。
需要说明的是,上述实施例中的步骤101到105,是用户行为上报系统按照一定的周期发起的动态地压缩并上报用户行为信息的流程,在这个过程中,一种情况下,如果由应用终端或应用终端中的代理数据采集程序采集并上报用户行为信息,则用户行为上报系统还可以事先将采集配置信息发送给应用终端或代理数据采集程序,由应用终端或代理数据采集程序根据采集配置信息采集用户行为信息。如果通过上述步骤101到105确定了对待压缩的用户行为信息的压缩信息后,用户行为上报系统可以更新采集配置信息,在其中加入确定的压缩信息,然后将更新后的采集配置信息发送给应用终端或代理数据采集程序,由应用终端或代理数据采集程序根据更新后的采集配置信息采集、压缩并上报用户行为信息。
在另一种情况下,如果由用户行为上报系统采集并上报用户行为信息,可以根据系统中储存的采集配置信息采集用户行为信息。如果通过上述步骤101到105确定了对待压缩的用户行为信息的压缩信息后,用户行为上报系统可以更新采集配置信息,在其中加入确定的压缩信息,然后再根据更新后的采集配置信息采集、压缩并上报用户行为信息。
这里的采集配置信息用于表示采集用户行为信息的内容和格式的信息。
可见,在本实施例的方法中,用户行为上报系统会动态地获取到应用终端的多条用户行为信息,并将多条用户行为信息划分为多个时间窗口的信息,这样,可以根据各个时间窗口中每条用户行为信息的重复数量,确定待压缩的用户行为信息的压缩信息,然后再根据压缩信息对用户行为信息进行压缩后,上报给后端服务器。这样,通过动态地获取并分析应用终端的用户行为信息,可以获取到较为高效准确的对用户行为信息的压缩信息,根据动态确定的压缩信息对用户行为信息进行压缩后,在尽可能不损失数据有效性的前提下,使得上报给后端服务器的用户行为信息减少,减少了对网络带宽的占用,且后端服务器对用户行为信息的处理负载也降低,整体提高了采集用户行为信息的性价比。
以下以一个具体的应用实例来说明本发明中的用户行为上报方法,本实施例的方法可以应用于如图1a所示的场景中,且在本实施例中,是由用户行为上报系统采集和上报用户行为信息,用户行为上报系统的结构可以如图3所示的,具体包括:代理(agent)数据采集模块,消息队列模块,数据处理模块,流控模块和配置服务模块,其中:
代理数据采集模块,用于采用一定的方式比如,文件方式采集,网络端口监听方式采集或进程间共享内存方式等,采集应用终端设备的用户行为信息。
进一步地,代理数据采集模块,还用于在初始化时,直接拉取配置服务模块上储存的采集配置信息,从而可以根据采集配置信息确定采集用户行为信息的内容和格式等信息;还用于监听配置服务模块上储存的采集配置信息的变化,当采集配置信息发生更新时,可以将更新后的采集配置信息及时更新到代理数据采集模块中储存。
进一步地,代理数据采集模块,还用于如果需要对一段时间内的多条用户行为信息进行压缩时,将这些用户行为信息压缩为一条用户行为信息,并上报给后端服务器。
例如图4所示,代理数据采集模块主要通过网络监听接口执行如下操作:监听配置服务模块推送的更新后的采集配置信息到达,向配置服务模块拉取采集配置信息,及主动监听配置服务模块对采集配置信息的更新。且通过网络监听接口还可以监听到应用终端更新后,重新根据采集配置信息采集用户行为信息。
需要说明的是,该代理数据采集模块可以有多个,分别对应不同应用的应用终端。
消息队列模块,用于通过消息队列的方式缓冲各条用户行为信息,在本实施例中,消息队列中基于同一用户的不同事件的用户行为信息是有序的。
数据处理模块,用于可以通过订阅拉取等方式从消息队列模块中获取多条用户行为信息,一方面,可以将获取的多条用户行为信息写入到永久化存储介质,比如硬盘中,以提供信息的查询。另一方面,数据处理模块可以先将多条用户行为信息划分为多个时间窗口的信息,并分别确定每条用户行为信息的标识信息,记为关键字(key);然后统计各个时间窗口中各条用户行为信息的重复数量,并将统计的重复数量储存到charmap的结构中。
流控模块,用于通过分析数据处理模块统计的各个时间窗口的用户行为信息的重复数量,确定待压缩的用户行为信息的压缩信息,并将确定的压缩信息推送给配置服务模块。
配置服务模块,用于储存采集配置信息,并将采集配置信息发送给代理数据采集模块;同时,与代理数据采集模块保持一个长连接,用于将更新后的采集配置信息发送给代理数据采集模块。
在配置服务模块中储存了采集配置信息及采集配置信息的版本信息,这样,代理数据采集模块会先从配置服务模块获取采集配置信息的版本信息,并将获取的版本信息,与在代理数据采集模块中储存的版本信息进行比较,确定代理数据采集模块中储存的采集配置信息是否过期。
其中,配置服务器模块可以采用集群的方式,或采用分布式的方式,储存采集配置信息,以保持较高的可用性;且可以通过流控模块推送的压缩信息更新配置服务模块中储存的采集配置信息。
具体地,本实施例的方法可以包括如下步骤,流程图如图5所示,包括:
步骤201,用户行为上报系统中的代理数据采集模块在初始化时,会向配置服务模块获取采集配置信息,具体包括采集用户行为信息的内容和格式等信息。
步骤202,代理数据采集模块会根据采集配置信息,在用户操作应用终端的过程中,采集用户行为信息,并将采集的用户行为信息缓冲到消息队列模块的消息队列中。
代理数据采集模块采集的用户行为信息的格式可以如图6a所示,包括:采集时间,用户标识,用户行为对应的应用终端执行命令的标识即命令号、功能标识即功能号和状态信息即状态码,及其它参数信息等。
步骤203,数据处理模块会按照一定的周期发起上述实施例中的流程,从消息队列模块的消息队列中拉取多条用户行为信息。进一步地,一方面,数据处理模块可以将获取的多条用户行为信息储存到硬盘中,以便进行查询。
另一方面,数据处理模块会根据用户行为信息中的采集时间,将多条用户行为信息划分为多个时间窗口的信息,并确定各条用户行为信息的标识信息;然后统计各个时间窗口的各条用户行为信息的重复数量。
具体地,在本实施例中,数据处理模块可以将用户行为信息中的命令号、用户标识、功能号和状态码进行拼接,将拼接后的信息作为用户行为信息的标识信息,记为key。这样,具有相同key的多条用户行为信息可以表示同一个用户的同一个行为的信息。
进一步地,数据处理模块还会将每个时间窗口中用户行为信息的重复数量储存到一个charmap的结构中,且还会储存每个charmap中各个字节的标识与用户行为信息的key的对应关系。
例如图6b所示,为数据处理模块储存的多个charmap结构示意图,可以包括t个charmap结构,分别对应t个时间窗口,一个charmap结构中包括p个字节,每个字节储存一个key的用户行为信息的重复数量,这样,一个字节对应用户行为信息的一个key。
一般情况下,一个charmap结构是一个连续内存,8个字节为一个单位进行读取和使用,即上述的p为8。其中,字节的高3位分别对应的百千万,后5个字节可以储存具体数值,最大值为32,因此,一个字节最多计数上限是32万。
步骤204,数据处理模块将charmap中的数据上报给流控模块,流控模块会根据各个时间窗口的用户行为信息的重复数量,确定对待压缩的用户行为信息的压缩信息,并将确定的压缩信息推送给配置服务模块。
具体地,如图7所示,流控模块可以通过多种方式对各个时间窗口的用户行为信息的重复数量进行分析,比如,可以提供人工触发、算法触发和周期触发等几种方式,触发流控模块确定对待压缩的用户行为信息的压缩信息,并发送给配置服务模块。
具体地,用户可以设置上述的第一阈值和第二阈值,当用户行为信息的重复数量超过一定范围,比如大于第一阈值或小于第二阈值,则触发流控模块确定压缩信息;流控模块可以通过设置一些分析重复数量的算法,比如上述实施例中所述的机器学习模型等,如果发现异常的重复数量,则触发流控模块确定压缩信息;流控模块还可以按照一定的周期触发监测机制,以保证可以及时发现从数据处理模块获取的用户行为信息的重复数量的变化,则触发流控模块确定新的压缩信息。
步骤205,配置服务模块根据压缩信息更新采集配置信息,并将更新后的采集配置信息发送给代理数据采集模块。
具体地,配置服务模块可以将压缩信息加入到采集配置信息中。
步骤206,代理数据采集模块会按照更新后的采集配置信息,采集应用终端的用户行为信息,并按照更新后的采集配置信息中的压缩信息,对用户行为信息进行压缩后,上报给后端服务器。
可见,通过本实施例的方法,可以实现如下效果:
(1)可以以用户为维度独立地维护消息队列:具体通过在用户行为信息中增加用户标识,可以将消息队列中同一用户标识对应的用户行为信息进行排序。
(2)时间窗口聚合的机制:按照时间将多条用户行为信息聚合为多个时间窗口的信息,并对用户行为信息的重复数量进行统计,减低实时统计复杂度。同时,通过将charmap结构中储存的重复数量与用户行为信息的key进行映射,可以获得高效的存储效率和访问效率。
(3)流控模块的预警:流控模块通过几种方式的触发方式,确定来压缩信息,并发送给配置服务模块。
(4)采集配置实时自动下发并生效:通过代理数据采集模块与配置服务模块保持长连接的方式,实时监听采集配置信息的更新,在监测到采集配置信息更新后,立刻拉取到代理数据采集模块中储存并生效。
(5)全新的数据压缩方式:通过采集配置信息中的压缩信息,即需要对哪些key的用户行为信息进行压缩,压缩方式为对同一个key的用户行为信息在一定时间内仅仅发送一次,并在charmap中记录该条用户行为信息的重复数量。从而实现了对重复,非敏感的用户行为信息的压缩,降低带宽占用,降低存储空间占用。
本发明实施例还提供一种用户行为上报系统,其结构示意图如图8所示,具体可以包括:
信息获取单元10,用于获取应用终端的多条用户行为信息。
信息获取单元10,还用于将所述多条用户行为信息放入消息队列中,在所述消息队列中,同一用户标识对应的用户行为信息是按用户行为发生的时间顺序排列的。
信息划分单元11,用于将所述信息获取单元10获取的多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息。
其中,信息获取单元10,具体用于获取应用终端的每条用户行为信息包括:采集时间,用户标识,用户行为对应的应用终端执行命令的标识、功能标识及状态信息;信息划分单元11,具体用于根据每条用户行为信息中的所述采集时间,将所述多条用户行为信息划分为多个时间窗口的信息。
统计单元12,用于统计所述信息划分单元11划分的多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量。
统计单元12,具体用于确定所述各条用户行为信息的标识信息;根据所述各条用户行为信息的标识信息,统计所述各条用户行为信息的重复数量。其中,统计单元12在确定所述某一条用户行为信息的标识信息时,将所述某一条用户行为信息中的用户标识、应用终端执行命令的标识、功能标识及状态信息进行拼接,将所述拼接后的信息作为所述某一条用户行为信息的标识信息。
该统计单元12,还用于将每个时间窗口的用户行为信息的重复数量储存到对应的字符映射表中,所述字符映射表中的一个字节储存一个标识信息对应的用户行为信息的重复数量;储存所述字符映射表中字节的标识信息与用户行为信息的标识信息的对应关系。
压缩确定单元13,用于根据所述统计单元12统计的各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息。
压缩确定单元13,具体用于如果一段时间内连续时间窗口中某一标识信息的用户行为信息的重复数量大于第一阈值或小于第二阈值,确定待压缩的用户行为信息的压缩信息包括:所述某一标识信息及对应的时间段。
压缩单元14,用于将所述压缩确定单元13确定的压缩信息发送给所述应用终端,以便所述应用终端根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息;或者,根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息。
进一步地,用户行为上报系统还会包括:配置单元15,用于发送采集配置信息给所述应用终端,以便所述应用终端根据所述采集配置信息采集用户行为信息。
可见,在本实施例的用户行为上报系统中,信息获取单元10会动态地获取到应用终端的多条用户行为信息,信息划分单元11将多条用户行为信息划分为多个时间窗口的信息,这样,压缩确定单元13可以根据各个时间窗口中每条用户行为信息的重复数量,确定待压缩的用户行为信息的压缩信息,然后压缩单元14再根据压缩信息对用户行为信息进行压缩后,上报给后端服务器。这样,通过动态地获取并分析应用终端的用户行为信息,可以获取到较为高效准确的对用户行为信息的压缩信息,根据动态确定的压缩信息对用户行为信息进行压缩后,在尽可能不损失数据有效性的前提下,使得上报给后端服务器的用户行为信息减少,减少了对网络带宽的占用,且后端服务器对用户行为信息的处理负载也降低,整体提高了采集用户行为信息的性价比。
本发明实施例还提供一种服务器,其结构示意图如图9所示,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在服务器上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括用户行为上报的应用程序,且该程序可以包括上述列用户行为上报系统中的信息获取单元10,信息划分单元11,统计单元12,压缩确定单元13,压缩单元14和配置单元15,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在服务器上执行存储介质22中储存的用户行为上报的应用程序对应的一系列操作。
服务器还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由用户行为上报系统所执行的步骤可以基于该图9所示的服务器的结构。
本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述用户行为上报系统所执行的用户行为上报方法。
本发明实施例还提供一种服务器,包括处理器和存储介质,所述处理器,用于实现各个指令;所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行上述用户行为上报系统所执行所执行的用户行为上报方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的用户行为上报方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种用户行为上报方法,其特征在于,包括:
获取应用终端的多条用户行为信息;
将所述多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息;
统计所述多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量;
根据所述各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息;
将所述压缩信息发送给所述应用终端,以便所述应用终端根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息;或者,根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息。
2.如权利要求1所述的方法,其特征在于,所述获取多条应用终端的用户行为信息,具体包括:
获取应用终端的每条用户行为信息包括:采集时间,用户标识,用户行为对应的应用终端执行命令的标识、功能标识及状态信息;
所述将所述多条用户行为信息划分为多个时间窗口的信息,具体包括:根据每条用户行为信息中的所述采集时间,将所述多条用户行为信息划分为多个时间窗口的信息。
3.如权利要求2所述的方法,其特征在于,所述获取多条应用终端的用户行为信息之后,还包括:
将所述多条用户行为信息放入消息队列中,在所述消息队列中,同一用户标识对应的用户行为信息是按用户行为发生的时间顺序排列的。
4.如权利要求2所述的方法,其特征在于,所述统计某一时间窗口的信息中各条用户行为信息的重复数量,具体包括:
确定所述各条用户行为信息的标识信息;
根据所述各条用户行为信息的标识信息,统计所述各条用户行为信息的重复数量。
5.如权利要求4所述的方法,其特征在于,所述确定所述某一条用户行为信息的标识信息,具体包括:
将所述某一条用户行为信息中的用户标识、应用终端执行命令的标识、功能标识及状态信息进行拼接,将所述拼接后的信息作为所述某一条用户行为信息的标识信息。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
将每个时间窗口的用户行为信息的重复数量储存到对应的字符映射表中,所述字符映射表中的一个字节储存一个标识信息对应的用户行为信息的重复数量;
储存所述字符映射表中字节的标识信息与用户行为信息的标识信息的对应关系。
7.如权利要求1至6任一项所述的方法,其特征在于,所述根据所述各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息,具体包括:
如果一段时间内连续时间窗口中某一标识信息的用户行为信息的重复数量大于第一阈值或小于第二阈值,确定待压缩的用户行为信息的压缩信息包括:所述某一标识信息及对应的时间段。
8.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
发送采集配置信息给所述应用终端,以便所述应用终端根据所述采集配置信息采集用户行为信息。
9.一种用户行为上报系统,其特征在于,包括:
信息获取单元,用于获取应用终端的多条用户行为信息;
信息划分单元,用于将所述多条用户行为信息划分为多个时间窗口的信息,每个时间窗口的信息包括一条以上用户行为信息;
统计单元,用于统计所述多个时间窗口中各个时间窗口的信息中各条用户行为信息的重复数量;
压缩确定单元,用于根据所述各个时间窗口中用户行为信息的重复数量确定待压缩的用户行为信息的压缩信息;
压缩单元,用于将所述压缩信息发送给所述应用终端,以便所述应用终端根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息;或者,根据所述压缩信息对相应时间窗口的待压缩的用户行为信息进行压缩,并上报所述压缩后的用户行为信息。
10.一种服务器,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至8任一项所述的用户行为上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910385318.9A CN110109803B (zh) | 2019-05-09 | 2019-05-09 | 一种用户行为上报方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910385318.9A CN110109803B (zh) | 2019-05-09 | 2019-05-09 | 一种用户行为上报方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110109803A true CN110109803A (zh) | 2019-08-09 |
CN110109803B CN110109803B (zh) | 2022-05-06 |
Family
ID=67489165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910385318.9A Active CN110109803B (zh) | 2019-05-09 | 2019-05-09 | 一种用户行为上报方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110109803B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614549A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 交互处理方法、装置、计算机设备及存储介质 |
CN113127492A (zh) * | 2021-05-12 | 2021-07-16 | 北京市商汤科技开发有限公司 | 数据获取及存储的方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0348946A (ja) * | 1989-07-18 | 1991-03-01 | Nec Corp | システム負荷状況監視方式 |
CN101088072A (zh) * | 2004-12-24 | 2007-12-12 | 国际商业机器公司 | 用于监视基于交易的系统的方法和系统 |
CN103324552A (zh) * | 2013-06-06 | 2013-09-25 | 西安交通大学 | 两阶段单实例去重数据备份方法 |
CN103905446A (zh) * | 2014-03-31 | 2014-07-02 | 广州华多网络科技有限公司 | 上报信息的方法及终端、统计信息的方法及服务器 |
CN108881624A (zh) * | 2018-05-30 | 2018-11-23 | 维沃移动通信有限公司 | 一种消息显示方法及终端设备 |
-
2019
- 2019-05-09 CN CN201910385318.9A patent/CN110109803B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0348946A (ja) * | 1989-07-18 | 1991-03-01 | Nec Corp | システム負荷状況監視方式 |
CN101088072A (zh) * | 2004-12-24 | 2007-12-12 | 国际商业机器公司 | 用于监视基于交易的系统的方法和系统 |
US20080097801A1 (en) * | 2004-12-24 | 2008-04-24 | Maclellan Scot | Method And System For Monitoring Transaction Based System |
CN103324552A (zh) * | 2013-06-06 | 2013-09-25 | 西安交通大学 | 两阶段单实例去重数据备份方法 |
CN103905446A (zh) * | 2014-03-31 | 2014-07-02 | 广州华多网络科技有限公司 | 上报信息的方法及终端、统计信息的方法及服务器 |
CN108881624A (zh) * | 2018-05-30 | 2018-11-23 | 维沃移动通信有限公司 | 一种消息显示方法及终端设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614549A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 交互处理方法、装置、计算机设备及存储介质 |
CN113127492A (zh) * | 2021-05-12 | 2021-07-16 | 北京市商汤科技开发有限公司 | 数据获取及存储的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110109803B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7325584B2 (ja) | アラームログ圧縮方法、装置、およびシステム、並びに記憶媒体 | |
US7895012B2 (en) | Systems and methods for organizing and storing data | |
CN105376335B (zh) | 一种采集数据上传方法和装置 | |
CN107341033A (zh) | 一种数据统计方法、装置、电子设备和存储介质 | |
CN112256542B (zh) | 基于eBPF的微服务系统性能检测方法、装置和系统 | |
JP2009503686A (ja) | パフォーマンス情報およびイベント情報を適応的に収集するシステムおよび方法 | |
CN111472971A (zh) | 柱塞泵的故障诊断装置及方法 | |
CN110109803A (zh) | 一种用户行为上报方法及系统 | |
CN113220715B (zh) | 一种数据处理方法、系统、计算机及可读存储介质 | |
CN111836102B (zh) | 视频帧的分析方法和装置 | |
CN110995273B (zh) | 电力数据库的数据压缩方法、装置、设备及介质 | |
WO2017113124A1 (zh) | 一种服务器以及服务器压缩数据的方法 | |
CN110764936A (zh) | 一种数据采集方法及装置 | |
CN110109899B (zh) | 物联网数据填补方法、装置及系统 | |
CN113886193A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN110187838A (zh) | 数据io信息处理方法、分析方法、装置和相关设备 | |
CN110601872A (zh) | 一种传输方法及装置、存储介质 | |
CN112463784A (zh) | 数据去重方法、装置、设备及计算机可读存储介质 | |
CN109521968A (zh) | 存储系统性能参数获取方法、数据处理装置及相关组件 | |
CN110795166A (zh) | 一种数据处理方法及装置 | |
CN112969172B (zh) | 一种基于云手机的通讯流量控制方法 | |
CN212155116U (zh) | 柱塞泵的故障诊断装置、系统及挖掘机 | |
CN110288666B (zh) | 一种数据压缩方法及装置 | |
CN115549862B (zh) | 基于动态解析的mes系统并发性能测试数据接收方法 | |
CN115525392A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |