CN108574605A - 一种用户行为数据的采集方法及装置 - Google Patents
一种用户行为数据的采集方法及装置 Download PDFInfo
- Publication number
- CN108574605A CN108574605A CN201710132370.4A CN201710132370A CN108574605A CN 108574605 A CN108574605 A CN 108574605A CN 201710132370 A CN201710132370 A CN 201710132370A CN 108574605 A CN108574605 A CN 108574605A
- Authority
- CN
- China
- Prior art keywords
- user behavior
- behavior data
- sdk
- user
- data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用户行为数据的采集方法,包括:客户端应用启动时,调用内置在所述客户端应用中的软件开发工具包(SDK),使得所述SDK初始化;所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。本发明同时还公开了一种用户行为数据的采集装置。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种用户行为数据的采集方法及装置。
背景技术
随着互联网技术进步,移动客户端应用(APP)迅速发展。而客户端应用上的用户行为数据可从数据的角度真实客观地反映应用的产品用户体验与运营状况,对应用的设计与运营越来越重要。
传统客户端APP上用户行为数据的采集主要分为服务端离线日志分析和客户端插码数据采集两类,由于服务端离线日志不能全面反映用户的行为,所以目前客户端APP上用户行为数据的采集方式主要采用客户端基于插码的方式。利用客户端插码技术采集用户行为数据时存在以下问题:
1)工作量大,且对插码人员素质要求较高,当采集数据点较多时,需要大量埋点工作,而一旦插码位置错误,则会直接影响数据的正确性。
2)采集点增减更改时,需调整插码后重新打包,随应用新版本发布后,才可以起作用,调整周期比较长。
3)不能通过动态嵌入监测代码的方式进行数据采集。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种用户行为数据的采集方法及装置。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种用户行为数据的采集方法,包括:
客户端应用启动时,调用内置在所述客户端应用中的软件开发工具包(SDK,Software Development Kit),使得所述SDK初始化;
所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
上述方案中,当所述SDK初始化后,开启操作监听线程及过滤线程;
所述操作监听线程监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
上述方案中,所述依据配置的过滤规则,对记录的用户行为数据进行过滤之前,所述方法还包括:
从所述服务器端获取所述过滤规则。
上述方案中,所述方法还包括:
当记录对应的用户行为数据失败时,所述操作监听线程保存对应的错误信息至错误日志;
当过滤记录的用户行为数据出现错误时,所述过滤线程保存对应的错误信息至所述错误日志;并将过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
上述方案中,所述将过滤后的用户行为数据上报至服务器端,包括:
所述SDK依据数据上报策略将过滤后的用户行为数据上报至所述服务器端;所述数据上报策略表征上报的周期或者上报时的网络环境。
本发明实施例还提供了一种用户行为数据的采集方法,包括:
接收上报的针对客户端应用的用户行为数据;所述用户行为数据为客户端应用启动时所调用的内置在所述客户端应用中的SDK依据配置的过滤规则采集的用户行为数据;
保存所述用户行为数据。
上述方案中,所述方法还包括:
向所述SDK提供所述过滤规则。
上述方案中,接收所述用户行为数据时,所述方法还包括:
接收上报的采集过程的错误信息;所述错误信息包含SDK记录对应的用户行为数据失败时的错误信息和/或过滤记录的用户行为数据出现错误时的错误信息。
本发明实施例又提供了一种用户行为数据的采集装置,包括:应用模块及SDK模块;其中,
所述应用模块,用于客户端应用启动时,调用内置在所述客户端应用中的所述SDK模块,使得所述SDK模块初始化;
所述SDK模块,用于初始化后监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;以及依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
上述方案中,所述SDK模块,还用于从所述服务器端获取所述过滤规则。
上述方案中,所述SDK模块,具体用于:
当所述SDK初始化后,开启操作监听线程及过滤线程;
由所述操作监听线程监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
由所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
上述方案中,所述SDK模块,还用于:
当记录对应的用户行为数据失败时,由所述操作监听线程保存对应的错误信息至错误日志;
当过滤记录的用户行为数据出现错误时,所述过滤线程保存对应的错误信息至所述错误日志;
相应地,将过滤后的用户行为数据及所述错误日志中的错误信息上报纸所述服务器端。
本发明实施例还提供了一种用户行为数据的采集装置,包括:接收模块及存储模块;其中,
所述接收模块,用于接收上报的针对客户端应用的用户行为数据;所述用户行为数据为客户端应用启动时所调用的内置在所述客户端应用中的SDK依据配置的过滤规则采集的用户行为数据;
所述存储模块,用于保存所述用户行为数据。
上述方案中,所述装置还包括:
配置模块,用于向所述SDK提供所述过滤规则。
上述方案中,所述接收模块,还用于接收所述用户行为数据时,接收上报的采集过程的错误信息;所述错误信息包含SDK记录对应的用户行为数据失败时的错误信息和/或过滤记录的用户行为数据出现错误时的错误信息。
本发明实施例提供的用户行为数据的采集方法及装置,客户端应用启动时,调用内置在所述客户端应用中的SDK,使得所述SDK初始化;所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端;所述服务器端收到上报的用户行为数据后,保存所述用户行为数据,本发明实施例提供的方案,不需要在客户端应用待收集用户行为位置进行插码,只需要在客户端引入SDK,在应用启动时对其初始化即可,如此,大大降低了工作量,同时降低了对使用人员的素质要求。另外,无需人工参与,所以还保证了数据采集的正确性。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本发明实施例一客户端的用户行为数据的采集方法流程示意图;
图2为本发明实施例一服务器端的用户行为数据的采集方法流程示意图;
图3为本发明实施例一用户行为数据的采集方法流程示意图;
图4为本发明实施例二设置在客户端的用户行为数据的采集装置结构示意图;
图5为本发明实施例二设置在服务器端的用户行为数据的采集装置结构示意图;
图6为本发明实施例二用户行为数据的采集系统结构示意图;
图7为本发明实施例三用户行为数据的采集系统结构及业务流程示意图;
图8为本发明实施例三对过滤线程进行过滤规则配置的代码示意图。
具体实施方式
下面结合附图及实施例对本发明再作进一步详细的描述。
传统客户端APP上用户行为数据的采集方式可以包括:服务端离线日志分析和客户端插码数据采集两大类。由于服务端离线日志只能记录与客户端交互点击的统一资源定位符(URL,Uniform Resource Locator)相关信息,无法监测客户端那些非与服务端交互的操作,例如非数据切换界面等,所以服务端离线日志分析的方式不能全面反映用户的行为,所以目前客户端APP(原生APP)上用户行为数据的采集方式主要采用客户端基于插码的方式。
客户端基于插码的采集方式,是指:预先在客户端APP上进行插码,即在采集点插入代码(待需要采集用户行为数据位置进行预先埋点),当用户操作应用,触发埋点即采集该位置用户行为数据并进行上报。
所述原生APP,是指客户端非浏览器的APP,也就是非web形式的应用。
针对这种原生APP,由于客户端的APP打包后的版本是编译后版本,所以不能像超级文本标记语言(HTML,HyperText Markup Language)页面(web形式的应用)一样进行动态dom增减操作,即不能像HTML网页一样动态嵌入监测代码,从而进行用户行为数据的采集。
目前针对原生APP,比较常用的采集用户行为数据的方式就是基于插码的方式(比如申请号为201510041172.8的中国专利申请)。而这种方式存在以下问题:
(1)采集点较多时,需要大量埋点工作;
(2)对插码人员素质要求较高,一旦插码位置错误,则会直接影响数据的正确性;
(3)采集点增减更改时,需调整插码后重新打包,随应用新版本发布后,才可以起作用,调整周期比较长。
基于此,在本发明的各种实施例中:客户端应用启动时,调用内置在所述客户端应用中的SDK,使得所述SDK初始化;所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
实施例一
本发明实施例提供一种用户行为数据的采集方法,应用于客户端,即终端上的客户端,如图1所示,该方法包括:
步骤101:客户端应用启动时,调用内置在所述客户端应用中的SDK,使得所述SDK初始化;
这里,所述SDK初始化是指:所述SDK程序的基本参数初始化。
步骤102:所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
这里,所述用户行为数据是指:反映用户操作行为的数据,比如:具体的用户操作行为、进行用户操作行为的时间、对应的网络状态等,而不包含用户操作行为所带来的应用数据的变化。
步骤103:所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
这里,所述过滤规则是从所述服务器端获取的过滤规则。
基于此,在依据配置的过滤规则,对记录的用户行为数据进行过滤之前,该方法还可以包括:
从所述服务器端获取所述过滤规则。
具体地,所述SDK可以在初始化过程中从所述服务器端获取所述过滤规则,以保证后续过滤的顺利进行。
其中,所述过滤规则可以根据需要配置在所述服务器端。举个例子来说,使用者可以根据需要来确定具体采集的内容,从而根据需要的采集的内容来配置过滤规则。还可以根据需要来确定采集的范围,从而根据需要的采集范围来配置过滤规则,比如可以根据需要对采集进行控制,例如对应用版本、客户端版本、网络制式等多维度约束等,从而根据需要的具体控制功能来配置所述过滤规则。
实际应用时,所述SDK可以依据数据上报策略将过滤后的用户行为数据上报至所述服务器端。
其中,所述数据上报策略可以表征上报的周期或者上报时的网络环境。
这里,所述数据上报策略可以根据需要确定。
所述上报时的网络环境,可以是指:客户端对应的网速、客户端所处的网络制式等等。
在一实施例中,对于步骤102和步骤103,具体可以是:
所述初始化后,所述SDK开启操作监听线程及过滤线程;
由所述操作监听线程监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
由所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
其中,当记录对应的用户行为数据失败时,所述操作监听线程保存对应的错误信息至错误日志;
当过滤记录的用户行为数据出现错误时,所述过滤线程保存对应的错误信息至所述错误日志;
相应地,所述SDK将过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
具体地,由所述过滤线程将过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
所述SDK从所述服务器端获取到过滤规则后,在开启所述过滤线程时配置给所述过滤线程,以便所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤。
对应地,本发明实施例还提供了一种用户行为数据的采集方法,应用于服务器端,如图2所示,该方法包括:
步骤201:接收上报的针对客户端应用的用户行为数据;
这里,从前面的描述可以看出,所述用户行为数据为客户端应用启动时所调用的内置在所述客户端应用中的SDK依据配置的过滤规则采集的用户行为数据。
实际应用时,接收所述用户行为数据时,还可以接收上报的采集过程的错误信息;所述错误信息包含SDK记录对应的用户行为数据失败时的错误信息和/或过滤记录的用户行为数据出现错误时的错误信息。
也就是说,还可以接收上报采集过程中的错误日志,以便为后续分析用户行为数据提供数据参考。
步骤202:保存所述用户行为数据。
在一实施例中,如图2所示,该方法还可以包括:
步骤200:向所述SDK提供所述过滤规则,这样,就可以根据需要实现各种过滤规则的配置,举个例子来说,使用者可以根据需要来确定具体采集的内容,从而根据需要的采集的内容来配置过滤规则。还可以根据需要来确定采集的范围,从而根据需要的采集范围来配置过滤规则,比如可以根据需要对采集进行控制,例如对应用版本、客户端版本、网络制式等多维度约束等,从而根据需要的具体控制功能来配置所述过滤规则,从而通过在服务器端过滤规则的配置实现了用户行为数据采集内容的增减变更及采集范围的约束控制。
实际应用时,使用者可以根据需要在服务器端配置过滤规则,举个例子来说,使用者需要采集所有Activity类事件对应的用户行为数据,因此可以按照以下方式在服务器端进行配置:
这里,Activity类名通配com.chinamobile.app.*.*Activity,函数名称通配Oncreate,此时对应事件过滤出的数据字段可以包括:类名、设备国际移动设备身份码(IMEI)号,设备网络制式,全球定位系统(GPS),开始时间,结束时间,渠道等。当然,使用者可以根据实际需求增减过滤数据字段的配置。
本发明实施例还提供了一种用户行为数据的采集方法,如图3所示,该方法包括:
步骤301:客户端应用启动时,调用内置在所述客户端应用中的SDK,使得所述SDK初始化;
步骤302:所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
步骤303:所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端;
步骤304:所述服务器端收到上报的用户行为数据后,保存所述用户行为数据。
需要说明的是:SDK及服务器端的具体处理过程已在上文详述,这里不再赘述。
本发明实施例提供的用户行为数据的采集方法,客户端应用启动时,调用内置在所述客户端应用中的SDK,使得所述SDK初始化;所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端;所述服务器端收到上报的用户行为数据后,保存所述用户行为数据,本发明实施例提供的方案,不需要在客户端应用待收集用户行为位置进行差吗,只需要在客户端引入SDK,在应用启动时对其初始化即可,如此,大大降低了工作量,同时降低了对使用人员的素质要求。另外,无需人工参与,所以还保证了数据采集的正确性。
另外,SDK从服务器端获取过滤规则,而由服务器端向SDK提供过滤规则,这样,就可以根据需要实现各种过滤规则的配置,从而通过在服务器端过滤规则的配置实现了用户行为数据采集内容的增减变更及采集范围的约束控制。同时,在客户端应用不进行升级的情况下,能够实现采集数据内容的增减变更,大大提高了通用性,有效地降低了过滤规则升级所需的时间。
实施例二
为实现本发明实施例的方法,本实施例提供一种用户行为数据的采集装置,设置在客户端,即终端上的客户端,如图4所示,该装置包括:应用模块41及SDK模块42;其中,
所述应用模块41,用于客户端应用启动时,调用内置在所述客户端应用中的所述SDK模块42,使得所述SDK模块42初始化;
所述SDK模块42,用于初始化后监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;以及依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
其中,所述SDK初始化是指:所述SDK程序的基本参数初始化。
所述用户行为数据是指:反映用户操作行为的数据,比如:具体的用户操作行为、进行用户操作行为的时间、对应的网络状态等,而不包含用户操作行为所带来的应用数据的变化。
所述过滤规则是从所述服务器端获取的过滤规则。基于此,所述SDK模块42,还用于在依据配置的过滤规则,对记录的用户行为数据进行过滤之前,从所述服务器端获取所述过滤规则。
具体地,所述SDK模块42可以在初始化过程中从所述服务器端获取所述过滤规则,以保证后续过滤的顺利进行。
其中,所述过滤规则可以根据需要配置在所述服务器端。举个例子来说,使用者可以根据需要来确定具体采集的内容,从而根据需要的采集的内容来配置过滤规则。还可以根据需要来确定采集的范围,从而根据需要的采集范围来配置过滤规则,比如可以根据需要对采集进行控制,例如对应用版本、客户端版本、网络制式等多维度约束等,从而根据需要的具体控制功能来配置所述过滤规则。
实际应用时,所述SDK模块42可以依据数据上报策略将过滤后的用户行为数据上报至所述服务器端。
其中,所述数据上报策略可以表征上报的周期或者上报时的网络环境。
这里,所述数据上报策略可以根据需要确定。
所述上报时的网络环境,可以是指:客户端对应的网速、客户端所处的网络制式等等。
在一实施例中,所述SDK模块42,具体用于:
所述初始化后,开启操作监听线程及过滤线程;
由所述操作监听线程监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
由所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
其中,当记录对应的用户行为数据失败时,所述操作监听线程保存对应的错误信息至错误日志;
当过滤记录的用户行为数据出现错误时,所述过滤线程保存对应的错误信息至所述错误日志;
相应地,所述SDK模块42将过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
具体地,由所述过滤线程将过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
所述SDK模块42从所述服务器端获取到过滤规则后,在开启所述过滤线程时配置给所述过滤线程,以便所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤。
实际应用时,应用模块41可由用户行为数据的采集装置中的处理器(比如中央处理器(CPU,Central Processing Unit)、微处理器(MCU,Micro Control Unit)、数字信号处理器(DSP,Digital Signal Processor)或可编程逻辑阵列(FPGA,Field-ProgrammableGate Array)等)实现;所述SDK模块42可由用户行为数据的采集装置中的处理器结合通信接口实现。
本发明实施例还提供了一种用户行为数据的采集装置,设置在服务器端,如图5所示,该装置包括:接收模块51及存储模块52;其中,
所述接收模块51,用于接收上报的针对客户端应用的用户行为数据;所述用户行为数据为客户端应用启动时所调用的内置在所述客户端应用中的SDK依据配置的过滤规则采集的用户行为数据;
所述存储模块52,用于保存所述用户行为数据。
实际应用时,所述接收模块51接收所述用户行为数据时,还可以接收上报的采集过程的错误信息;所述错误信息包含SDK记录对应的用户行为数据失败时的错误信息和/或过滤记录的用户行为数据出现错误时的错误信息。
也就是说,还可以接收上报采集过程中的错误日志,以便为后续分析用户行为数据提供数据参考。
在一实施例中,该装置还可以包括配置模块,用于向所述SDK提供所述过滤规则,这样,就可以根据需要实现各种过滤规则的配置,举个例子来说,使用者可以根据需要来确定具体采集的内容,从而根据需要的采集的内容来配置过滤规则。还可以根据需要来确定采集的范围,从而根据需要的采集范围来配置过滤规则,比如可以根据需要对采集进行控制,例如对应用版本、客户端版本、网络制式等多维度约束等,从而根据需要的具体控制功能来配置所述过滤规则。从而通过在服务器端过滤规则的配置实现了用户行为数据采集内容的增减变更及采集范围的约束控制。
实际应用时,使用者可以根据需要在服务器端配置过滤规则,举个例子来说,使用者需要采集所有Activity类事件对应的用户行为数据,因此可以按照以下方式在服务器端进行配置:
这里,Activity类名通配com.chinamobile.app.*.*Activity,函数名称通配Oncreate,此时对应事件过滤出的数据字段可以包括:类名、IMEI号,设备网络制式,GPS,开始时间,结束时间,渠道等。当然,使用者可以根据实际需求增减过滤数据字段的配置。
实际应用时,所述接收模块51及配置模块可由用户行为数据的采集装置中的通信接口实现;所述存储模块52可由用户行为数据的采集装置中的存储器实现。
本发明实施例还提供了一种用户行为数据的采集系统,如图6所示,该系统包括:客户端61及服务器端62;客户端61包含上述设置在所述客户端61的用户行为数据的采集装置;所述服务器端62包含上述设置在所述服务器端62的用户行为数据的采集装置。
实施例三
在实施例一、二的基础上,本实施例详细描述用户行为数据的采集方案。
图7为本发明实施例三用户行为数据的采集系统结构及业务流程示意图。从图7可以看出,采集系统包含客户端和服务器端。
在客户端,其应用引入了用户行为采集SDK(在以下的描述中称为SDK)来采集应用的用户行为数据。也就是说,SDK直接置于客户端应用内,SDK和应用本身一起打包生成了客户端应用。在客户端应用启动时初始化SDK,从而由SDK进行用户行为数据的采集工作,无需预先在用户行为采集位置插码,即可完成客户端应用用户行为数据的自动采集工作。具体来说,初始化SDK后,SDK开启操作监听线程和过滤线程,操作监听线程负责对用户的操作行为进行记录,而过滤线程会根据从服务器端请求到的过滤规则,对用户行为数据进行过滤提取,然后再根据用户行为数据上报策略进行上报。
服务器端提供数据接收和过滤规则配置两大服务。其中,数据接收服务是指:接收客户端经过过滤提取后的操作记录数据即用户行为数据和采集过程的错误日志数据,并进行保存,供后期用户行为数据的分析使用。过滤规则配置服务是指:设定用户行为操作过滤与提取数据的规则,即采集用户行为数据的过滤规则。SDK初始化时从服务器端读取,并用于过滤线程的配置,可以在客户端应用不进行升级的情况下,实现采集数据内容的增减变更,同时也可以实现应用版本、客户端版本、网络制式等多维度约束的采集控制功能。
下面结合图7描述本发明实施例用户行为数据的采集过程。用户行为数据的采集过程包括:
首先,客户端应用启动时,调用SDK,使得初始化SDK(对SDK的基本参数进行初始化),读取服务器端过滤规则配置,并开启操作监听线程和过滤线程两个线程;
在开启过滤线程的过程中,需要根据从服务器端读取的过滤规则的配置文件对过滤线程进行过滤规则的配置,具体的配置过程如图8所示。
接着,对于操作监听线程,当用户与客户端应用有行为交互的操作时,操作监听线程会记录操作行为对应的用户行为数据并保存到操作队列;
具体地,操作监听线程监听是否有用户操作,如果有,则记录操作行为对应的用户行为数据并保存至操作队列,如果没有,则继续监听。
在记录用户行为数据时,当记录失败时则保存错误信息到错误日志,然后返回对用户操作继续监听。
其中,操作监听线程通过调用一些应用程序编程接口(API,ApplicationProgramming Interface)来获取到与用户操作行为对应的用户行为数据,比如进行用户操作行为的时间、对应的网络状态等。
对于过滤线程,监听操作队列,当操作队列不为空时,过滤线程会按照过滤规则对操作行为记录进行过滤,如符合要求,则进行数据采集提取并保存到离线文件,如不符合则舍弃,如果数据过滤提取过程中出现异常错误,则保存错误信息到错误日志,然后返回对操作队列继续进行过滤监听。
最终,过滤线程根据上报策略,将过滤提取的用户行为数据的离线文件以及操作监听、过滤监听过程产生的错误日志,上报到服务器端。
这里,所述上报策略表征上报的周期或者上报时的网络环境。
这里,所述上报时的网络环境,可以是指:客户端对应的网速、客户端所处的网络制式等等。
而服务器端对上报的用户行为数据及错误日志进行保存,完成客户端应用用户行为数据的采集工作,采集到的数据可以为后期数据处理及分析使用。
从上面的描述可以看出,本发明实施例提供的方案,SDK只需在嵌入到客户端应用中并在应用启动时初始化启动采集程序,即初始化SDK,即可完成采集装置的部署及启动,实现用户行为数据的自动采集,无需预先在用户行为采集位置插码(埋点)等额外工作。采集用户行为数据时,SDK开启操作监听线程和过滤线程两个监听线程;用户操作客户端应用时,操作监听线程记录操作行为并保存到操作队列;操作队列不空时,过滤线程根据过滤规则,过滤操作数据,如符合要求,则提取采集数据并保存到离线文件;并将过滤后的用户行为数据离线文件根据预置的数据上报策略进行上报。当用户操作记录及数据过滤过程中有错误情况时,会保存错误日志并在采集的用户行为数据上报时一起上报,服务器端接收的错误日志可为采集过程中的错误情况提供数据参考。
本发明实施例提供的方案,无需预先在应用待收集用户行为位置进行插码,只需在客户端应用引入SDK,并在应用启动时对其初始化即可,如此节约了预先埋点插码工作量,降低了使用人员素质要求,同时也避免了预先插码位置错误导致采集数据不准确情况的发生。
另外,通过服务器端过滤规则的配置实现了用户行为数据采集内容的增减变更及采集范围的约束控制。可以在客户端应用不进行升级的情况下,实现采集数据内容的增减变更,同时也可以实现应用版本、客户端版本、网络制式等多维度约束的采集控制功能,大大提高了系统的通用性,避免了因插码而不断迭代升级时间上的浪费。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种用户行为数据的采集方法,其特征在于,所述方法包括:
客户端应用启动时,调用内置在所述客户端应用中的软件开发工具包SDK,使得所述SDK初始化;
所述SDK监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
所述SDK依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
2.根据权利要求1所述的方法,其特征在于,当所述SDK初始化后,开启操作监听线程及过滤线程;
所述操作监听线程监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
3.根据权利要求1所述的方法,其特征在于,所述依据配置的过滤规则,对记录的用户行为数据进行过滤之前,所述方法还包括:
从所述服务器端获取所述过滤规则。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当记录对应的用户行为数据失败时,所述操作监听线程保存对应的错误信息至错误日志;
当过滤记录的用户行为数据出现错误时,所述过滤线程保存对应的错误信息至所述错误日志;并将过滤后的用户行为数据及所述错误日志中的错误信息上报至所述服务器端。
5.根据权利要求1所述的方法,其特征在于,所述将过滤后的用户行为数据上报至服务器端,包括:
所述SDK依据数据上报策略将过滤后的用户行为数据上报至所述服务器端;所述数据上报策略表征上报的周期或者上报时的网络环境。
6.一种用户行为数据的采集方法,其特征在于,所述方法包括:
接收上报的针对客户端应用的用户行为数据;所述用户行为数据为客户端应用启动时所调用的内置在所述客户端应用中的SDK依据配置的过滤规则采集的用户行为数据;
保存所述用户行为数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
向所述SDK提供所述过滤规则。
8.根据权利要求6所述的方法,其特征在于,接收所述用户行为数据时,所述方法还包括:
接收上报的采集过程的错误信息;所述错误信息包含SDK记录对应的用户行为数据失败时的错误信息和/或过滤记录的用户行为数据出现错误时的错误信息。
9.一种用户行为数据的采集装置,其特征在于,所述装置包括:应用模块及SDK模块;其中,
所述应用模块,用于客户端应用启动时,调用内置在所述客户端应用中的所述SDK模块,使得所述SDK模块初始化;
所述SDK模块,用于初始化后监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;以及依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
10.根据权利要求9所述的装置,其特征在于,所述SDK模块,还用于从所述服务器端获取所述过滤规则。
11.根据权利要求9所述的装置,其特征在于,所述SDK模块,具体用于:
当所述SDK初始化后,开启操作监听线程及过滤线程;
由所述操作监听线程监测针对客户端应用的用户操作行为;并在监测到用户操作行为时,记录对应的用户行为数据;
由所述过滤线程依据配置的过滤规则,对记录的用户行为数据进行过滤;并将过滤后的用户行为数据上报至服务器端。
12.根据权利要求11所述的装置,其特征在于,所述SDK模块,还用于:
当记录对应的用户行为数据失败时,由所述操作监听线程保存对应的错误信息至错误日志;
当过滤记录的用户行为数据出现错误时,所述过滤线程保存对应的错误信息至所述错误日志;
相应地,将过滤后的用户行为数据及所述错误日志中的错误信息上报纸所述服务器端。
13.一种用户行为数据的采集装置,其特征在于,所述装置包括:接收模块及存储模块;其中,
所述接收模块,用于接收上报的针对客户端应用的用户行为数据;所述用户行为数据为客户端应用启动时所调用的内置在所述客户端应用中的SDK依据配置的过滤规则采集的用户行为数据;
所述存储模块,用于保存所述用户行为数据。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
配置模块,用于向所述SDK提供所述过滤规则。
15.根据权利要求13所述的装置,其特征在于,所述接收模块,还用于接收所述用户行为数据时,接收上报的采集过程的错误信息;所述错误信息包含SDK记录对应的用户行为数据失败时的错误信息和/或过滤记录的用户行为数据出现错误时的错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132370.4A CN108574605A (zh) | 2017-03-07 | 2017-03-07 | 一种用户行为数据的采集方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132370.4A CN108574605A (zh) | 2017-03-07 | 2017-03-07 | 一种用户行为数据的采集方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108574605A true CN108574605A (zh) | 2018-09-25 |
Family
ID=63577516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710132370.4A Pending CN108574605A (zh) | 2017-03-07 | 2017-03-07 | 一种用户行为数据的采集方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108574605A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189597A (zh) * | 2018-10-29 | 2019-01-11 | 南京感度信息技术有限责任公司 | 用于网页和app轻量化用户行为数据采集方法、系统及应用 |
CN109446030A (zh) * | 2018-11-12 | 2019-03-08 | 北京芯盾时代科技有限公司 | 一种行为监测方法以及装置 |
CN109756761A (zh) * | 2019-01-16 | 2019-05-14 | 四川长虹电器股份有限公司 | 基于智能电视的行为大数据获取系统及方法 |
CN109815697A (zh) * | 2018-12-29 | 2019-05-28 | 360企业安全技术(珠海)有限公司 | 误报行为处理方法及装置 |
CN110032370A (zh) * | 2019-04-16 | 2019-07-19 | 北京中电普华信息技术有限公司 | 信息采集方法及相关装置 |
CN110928930A (zh) * | 2020-02-10 | 2020-03-27 | 北京东方通科技股份有限公司 | 一种软件开发行为监控系统 |
CN111400137A (zh) * | 2020-03-17 | 2020-07-10 | Oppo广东移动通信有限公司 | 监测事件的存储方法、装置、移动终端和存储介质 |
WO2022195240A1 (en) * | 2021-03-17 | 2022-09-22 | D4T4 Solutions Plc | Monitoring user interaction with client devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871574A (zh) * | 2015-01-21 | 2016-08-17 | 中国移动通信集团浙江有限公司 | 一种基于软件开发工具包监控日志的方法、装置及系统 |
CN106209512A (zh) * | 2016-07-11 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种上报用户行为数据的方法及装置 |
CN106330990A (zh) * | 2015-06-17 | 2017-01-11 | 阿里巴巴集团控股有限公司 | B/s结构的性能监控分析系统和方法 |
CN106470123A (zh) * | 2016-09-29 | 2017-03-01 | 北京三快在线科技有限公司 | 日志收集方法、客户端、服务器和电子设备 |
US9667636B2 (en) * | 2015-04-27 | 2017-05-30 | Cisco Technology, Inc. | Detecting network address translation devices in a network based on network traffic logs |
-
2017
- 2017-03-07 CN CN201710132370.4A patent/CN108574605A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871574A (zh) * | 2015-01-21 | 2016-08-17 | 中国移动通信集团浙江有限公司 | 一种基于软件开发工具包监控日志的方法、装置及系统 |
US9667636B2 (en) * | 2015-04-27 | 2017-05-30 | Cisco Technology, Inc. | Detecting network address translation devices in a network based on network traffic logs |
CN106330990A (zh) * | 2015-06-17 | 2017-01-11 | 阿里巴巴集团控股有限公司 | B/s结构的性能监控分析系统和方法 |
CN106209512A (zh) * | 2016-07-11 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种上报用户行为数据的方法及装置 |
CN106470123A (zh) * | 2016-09-29 | 2017-03-01 | 北京三快在线科技有限公司 | 日志收集方法、客户端、服务器和电子设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189597A (zh) * | 2018-10-29 | 2019-01-11 | 南京感度信息技术有限责任公司 | 用于网页和app轻量化用户行为数据采集方法、系统及应用 |
CN109446030A (zh) * | 2018-11-12 | 2019-03-08 | 北京芯盾时代科技有限公司 | 一种行为监测方法以及装置 |
CN109815697A (zh) * | 2018-12-29 | 2019-05-28 | 360企业安全技术(珠海)有限公司 | 误报行为处理方法及装置 |
CN109756761A (zh) * | 2019-01-16 | 2019-05-14 | 四川长虹电器股份有限公司 | 基于智能电视的行为大数据获取系统及方法 |
CN110032370A (zh) * | 2019-04-16 | 2019-07-19 | 北京中电普华信息技术有限公司 | 信息采集方法及相关装置 |
CN110928930A (zh) * | 2020-02-10 | 2020-03-27 | 北京东方通科技股份有限公司 | 一种软件开发行为监控系统 |
CN110928930B (zh) * | 2020-02-10 | 2020-06-02 | 北京东方通科技股份有限公司 | 一种软件开发行为监控系统 |
CN111400137A (zh) * | 2020-03-17 | 2020-07-10 | Oppo广东移动通信有限公司 | 监测事件的存储方法、装置、移动终端和存储介质 |
CN111400137B (zh) * | 2020-03-17 | 2022-06-10 | Oppo广东移动通信有限公司 | 监测事件的存储方法、装置、移动终端和存储介质 |
WO2022195240A1 (en) * | 2021-03-17 | 2022-09-22 | D4T4 Solutions Plc | Monitoring user interaction with client devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574605A (zh) | 一种用户行为数据的采集方法及装置 | |
DE102013207608B4 (de) | Instrumentieren von Software-Anwendungen für die Konfiguration derselben | |
DE102012213795B4 (de) | Durch einen Computer implementiertes Verfahren, das es einer Web-Anwendung ermöglicht, mindestens eine native Funktion einer mobilen Einheit aufzurufen | |
CN101222349B (zh) | 收集web用户行为及性能数据的方法及系统 | |
EP2350873B1 (de) | Erfassung des visuellen inhalts von browserfenstern | |
CN101292867B (zh) | 基于b/s结构的生理多参数远程监护系统 | |
CN106407076B (zh) | 基于国产cpu和操作系统环境的软硬件运行信息监控方法 | |
CN108471366A (zh) | 一种面向云原生应用的立体监控系统 | |
DE60123843T2 (de) | System und verfahren zum erfassen von browser-sitzungen und von aktionen des benutzers | |
EP1785841A3 (en) | Database for multiple implementation of http to obtain information from devices | |
CN108737463A (zh) | 一种软件部署方法、服务器和系统 | |
DE102014107571A1 (de) | Verfahren und System zum Erzeugen und Verfeinern von Regeln zur personalisierten Bereitstellung von Inhalten auf der Grundlage physischer Aktivitäten von Benutzern | |
CN104092755B (zh) | 一种云服务起源数据的捕获方法和装置 | |
DE112009000293T5 (de) | Automatische Verbindungen zwischen Anwendungskomponenten | |
EP1480128A3 (en) | Computer service using automated local diagnostic data collection and automated remote analysis | |
EP1768309A3 (en) | Method and system for script implementation of HTTP to obtain information from remote devices | |
EP1978715A1 (de) | Kommunikationsverfahren zur Datenübertragung für ein elektronisches Kleinstgerät | |
CN105191211A (zh) | 服务器集群下的日志提取方法和服务器集群 | |
DE112012004247T5 (de) | Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung | |
DE60123153T2 (de) | Sprachgesteuertes Browsersystem | |
DE102009012762A1 (de) | Systeme und Methoden zum Koppeln von Software-Anwendungen | |
AU2013213683A1 (en) | A method and system of application development for multiple device client platforms | |
CN104731650A (zh) | 系统接口调用信息的获取方法和装置 | |
US20040172597A1 (en) | Method and apparatus for a zero development web-based graphical user interface | |
CN107872352A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180925 |