CN104598371A - 一种用户行为数据采集方法 - Google Patents

一种用户行为数据采集方法 Download PDF

Info

Publication number
CN104598371A
CN104598371A CN201510041172.8A CN201510041172A CN104598371A CN 104598371 A CN104598371 A CN 104598371A CN 201510041172 A CN201510041172 A CN 201510041172A CN 104598371 A CN104598371 A CN 104598371A
Authority
CN
China
Prior art keywords
user
behavior data
user behavior
queue
data acquisition
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
CN201510041172.8A
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.)
Chengdu Pinguo Technology Co Ltd
Original Assignee
Chengdu Pinguo 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 Chengdu Pinguo Technology Co Ltd filed Critical Chengdu Pinguo Technology Co Ltd
Priority to CN201510041172.8A priority Critical patent/CN104598371A/zh
Publication of CN104598371A publication Critical patent/CN104598371A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及数据采集技术领域,本发明公开了一种用户行为数据采集方法,其具体包括以下的步骤:步骤一、程序启动后,监控线程启动,所述监控线程用于在用户操作程序时,将用户的行为数据放入到队列中;其中行为数据包括用户操作id以及相关的操作信息;步骤二、从队列中获取一条用户的行为数据,然后按照定义好的词表以及语义将该行为数据组装成一个有意义的语句,所述词表为事先定义好的所有有可能的用户行为;步骤三、将步骤二组装的有意义的语句保存到记录文件中,然后在队列中删除本条记录。通过该方法将用户的行为数据进行有效的采集。

Description

一种用户行为数据采集方法
技术领域
本发明涉及数据采集技术领域,尤其涉及一种用户行为数据采集方法。
背景技术
通过采集和分析用户的行为数据,能够了解用户的使用习惯和使用体验,便于软件开发人员进行软件改进,同时通过了解用户的使用习惯,也可以定向推送一些服务。
移动电子设备自身的操作***内部提供大量的API(Application Programming Interface,应用程序编程接口),以方便软件开发人员编程时调用。一般可调用相关的API直接记录用户操作id到文件再上传到服务器,但这样能采集到的信息有限,同时存在因记录文件过大造成上传较慢的风险,而且不利于服务器的数据挖掘,容易造成服务器接口压力过大,同时监控行为也会加大移动设备的能耗。
发明内容
针对现有技术中的用户行为数据采集方法存在的上述技术问题,本发明公开了一种新的用户行为数据采集方法。
本发明的发明目的通过下述技术方案来实现:
一种用户行为数据采集方法,其具体包括以下的步骤:步骤一、程序启动后,监控线程启动,所述监控线程用于在用户操作程序时,将用户的行为数据放入到队列中;其中行为数据包括用户操作id以及相关的操作信息;步骤二、从队列中获取一条用户的行为数据,然后按照定义好的词表以及语义将该行为数据组装成一个有意义的语句,所述词表为事先定义好的所有有可能的用户行为;步骤三、将步骤二组装的有意义的语句保存到记录文件中,然后在队列中删除本条记录。通过该方法将用户的行为数据进行有效的采集。
更进一步地,上述方法还包括当存在新的语句需要保存时,判断记录文件的阈值是否大于设定的阈值,是则创建新的记录文件,否则将语句保存在原来的记录文件中。
更进一步地,上述方法还包括当步骤三执行时,添加一个全局的锁保护步骤三的执行。防止在保存记录到本地的同时上传记录模块也去操作该记录文件,从而造成冲突。
更进一步地,上述方法还包括当用户没有操作时,监控线程处于休眠状态,执行操作时才唤醒。通过这样的方法在最大程度上节省能耗。
更进一步地,上述在用户操作程序时,将用户的行为数据放入到队列中具体为:在需要统计用户操作行为的地方预埋统计点。
更进一步地,上述词表包括用户操作id子表、软件功能模块子表、用户操作行为子表和操作结果子表。
更进一步地,上述方法还包括判断队列中是否还有数据,若有,则继续从队列中获取用户的行为数据,若无,则继续监控,等待用户操作。
更进一步地,上述方法还包括当程序终止时,监控线程也结束。
更进一步地,上述方法还包括将记录的用户行为数据定时上传到服务器。其中定时可以为固定的时间点,比如哦0点,7点,12点,也可以是固定的时间差,比如间隔4个小时等。
通过采用以上技术方案,本发明的有益效果是:用户的行为数据是基于词表组成的有意义的操作,方便服务器端进行数据挖掘。设置上传的时间间隔与最小上传记录文件大小的阀值,便于减轻服务器的压力,节省成本。考虑移动设备的性能问题,设置记录文件的最大阀值。使用运行循环及信号技术,只有用户操作时才会唤醒监控线程,以达到该线程的最低能耗。
附图说明
图1为本发明的用户行为数据采集的流程图。
 图2为本发明的将用户行为数据上传到服务器的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施例,对本发明进行进一步详细的说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明公开了一种用户行为数据采集方法,其具体包括以下的步骤:
步骤一、事先根据需要采集的用户行为定义好词表,所述词表包括用户所有可能的操作行为;所述词表可以按照以下的方式设定,其包括用户操作id子表、软件功能模块子表、用户操作行为子表和操作结果子表。所述用户操作id子表用于记录每个id代表的含义,例如:id_1_1表示用户取景界面拍照;所述软件功能模块子表用于记录实现功能的软件模块,例如:Camera表示相机模块;所述用户操作行为子表用于记录用户的行为,例如:Click_Camera_Button表示点击了拍照按钮;所述操作结果子表用于统计操作结果,例如:GetUserInfo_Requst_Result表示获取用户请求的结果。
步骤二、在需要统计用户操作行为的地方预埋统计点;例如:我们需要统计用户的拍照行为,则在拍照操作的响应函数中取出用户操作id子表中的id_1_1,由于该行为是相机模块产生的,则又取出Camera,再取出用户的操作行为Click_Camera_Button等信息。
步骤三、当程序启动时,开启两个线程,一个用于监控用户行为,获取行为数据,一个用于上传记录到服务器。
步骤四、当用户操作时,将对应预埋点的用户操作id以及相关的操作信息(例如:id_1_1,Camera,Click_Camera_Button等)组成一个字典结构,如下所示:
{
         EventId = “id_1_1”,
     In = “Camera”,
     Action = “Click_Camera_Button”,
     UserId = “A792C1D15AEF”,
         …….
}
并将其放入到一个安全队列中。
步骤五、从队列中获取一条字典数据,然后从字典中取出对应信息的值,再将对应的值按照语义格式化成一个串(例如:EventId:id_1_1 UserId:A792C1D15AEF Action:Click_Camera_Button In:Camera即是说发生了事件id_1_1,用户A792C1D15AEF在相机模块点击了拍照按钮)。
步骤六、检查本地最新记录文件的大小,如果大于设定的阀值(可设置为50KB,但不限定于50KB),则创建一个新的记录文件,如果小于设定的阀值,则保存记录到本地最新的记录文件中。
步骤七、将本次记录(即步骤六中已保存的记录)从队列里删除。并判断队列中是否还有数据,若有,则回到步骤五,若无,则继续监控,等待用户操作。若程序终止,则监控也结束。
具体的一个优选例
在将行为数据放入到安全队列时,添加一个全局的锁,用于保护本段代码的执行,防止在保存记录到本地的同时上传记录模块也去操作该记录文件,从而造成冲突,若成功锁住,则执行下一步:从队列中获取一条数据,取出此次用户操作相关的信息结构,然后按照语义将该结构中的信息组装成一个有意义的语句。
如图1所示的本发明的用户行为数据采集的流程图。
1) 首先定义好词表,其中,词表分为用户操作id子表( 主要指明了一个id代表的具体意义,例如:id_1_1 –> 用户取景界面拍照),软件功能模块子表(该子表主要是代表其功能的id,例如:Camera –> 相机模块),用户操作行为子表(主要指明当前用户做了什么,例如:Click_Camera_Button –> 点击了拍照按钮),操作结果子表(主要用于统计操作结果需要,例如:GetUserInfo_Requst_Result –> 获取用户信息请求的结果)等。
2) 在需要统计用户操作行为的地方预埋统计点(例如:我们需要统计用户的拍照行为,则在拍照操作的响应函数中取出用户操作id子表中的id_1_1,由于该行为是相机模块产生的,则又取出Camera,再取出用户的操作行为Click_Camera_Button等信息)
3) 在程序启动时,就会开启两个线程,一个用于监控用户行为,获取行为数据,一个用于上传记录到服务器。
4) 运用运行循环技术,将监控线程一直运行,但是考虑到移动设备的性能,当用户不执行操作时,该线程处于休眠状态,执行操作时才唤醒,以达到最大程度上节省能耗。
5) 当用户操作时,将对应预埋点的用户操作id以及相关的操作信息(例如:id_1_1,Camera,Click_Camera_Button等)组成一个结构,并将其放入到一个安全队列中。
6) 添加一个全局的锁,用于保护本段代码的执行(主要是防止在保存记录到本地的同时上传记录模块也去操作该记录文件,从而造成冲突),若成功锁住,则执行下一步。
7) 从队列中获取一条数据,取出此次用户操作相关的信息结构,然后按照语义将该结构中的信息组装成一个有意义的语句(例如:EventId:id_1_1 UserId:A792C1D15AEF Action:Click_Camera_Button In:Camera即是说发生了事件id_1_1,用户A792C1D15AEF在相机模块点击了拍照按钮)。
8) 检查本地最新记录文件的大小,如果大于设定的阀值(可设置为50KB,但不限定于50KB),则执行9),如果小于设定的阀值,则执行10)。
9) 创建一个新的记录文件。
10)保存记录到本地最新的记录文件中。
11)解锁,再将本次记录从队列里删除。
12)判断队列是否为空,若否,则回到6)步骤,若是,则继续监控,等待用户操作。
13)若程序终止,则监控也结束。
在上述用户行为数据采集的基础上,本发明还能够将记录的用户行为数据上传到服务器。
如图2所示的本发明的将用户行为数据上传到服务器的流程图。
1)根据软件开发商设定的上传时间策略(不限于某时刻,软件开发商可自定义上传的时间),确定什么时候准备上传
2)获取上次上传成功的时间,再获取此时刻的时间,二者相减,得到两次上传的时间间隔,如果大于间隔阀值(这个阀值可以取24小时,但不限于24小时),则继续下一步,否则,本次不再上传。
3)获取本地记录文件中最早生成的一个文件
4)检查记录文件的大小,如果该文件大小大于一个阀值(可以取5KB,但不限于5KB),则执行下一步,否则,本次不再上传。
5)添加一个全局的锁保护本段数据代码(主要是防止删除记录文件的同时记录模块也去操作该文件,从而造成冲突),若成功锁住,则执行下一步。
6)执行上传到服务器的操作,若上传成功,则删除本次上传对应的记录文件。
7)解锁,本次上传结束。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.一种用户行为数据采集方法,其具体包括以下的步骤:步骤一、程序启动后,监控线程启动,所述监控线程用于在用户操作程序时,将用户的行为数据放入到队列中;其中行为数据包括用户操作id以及相关的操作信息;步骤二、从队列中获取一条用户的行为数据,然后按照定义好的词表以及语义将该行为数据组装成一个有意义的语句,所述词表为事先定义好的所有有可能的用户行为;步骤三、将步骤二组装的有意义的语句保存到记录文件中,然后在队列中删除本条记录。
2.如权利要求1所述的用户行为数据采集方法,其特征在于所述方法还包括当存在新的语句需要保存时,判断记录文件的阈值是否大于设定的阈值,是则创建新的记录文件,否则将语句保存在原来的记录文件中。
3.如权利要求2所述的用户行为数据采集方法,其特征在于所述方法还包括当步骤三执行时,添加一个全局的锁保护步骤三的执行。
4.如权利要求3所述的用户行为数据采集方法,其特征在于所述方法还包括当用户没有操作时,监控线程处于休眠状态,执行操作时才唤醒。
5.如权利要求4所述的用户行为数据采集方法,其特征在于所述在用户操作程序时,将用户的行为数据放入到队列中具体为:在需要统计用户操作行为的地方预埋统计点。
6.如权利要求5所述的用户行为数据采集方法,其特征在于所述词表包括用户操作id子表、软件功能模块子表、用户操作行为子表和操作结果子表。
7.如权利要求6所述的用户行为数据采集方法,其特征在于所述方法还包括判断队列中是否还有数据,若有,则继续从队列中获取用户的行为数据,若无,则继续监控,等待用户操作。
8.如权利要求7所述的用户行为数据采集方法,其特征在于所述方法还包括当程序终止时,监控线程也结束。
9.如权利要求8所述的用户行为数据采集方法,其特征在于所述方法还包括将记录的用户行为数据定时上传到服务器。
CN201510041172.8A 2015-01-28 2015-01-28 一种用户行为数据采集方法 Pending CN104598371A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510041172.8A CN104598371A (zh) 2015-01-28 2015-01-28 一种用户行为数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510041172.8A CN104598371A (zh) 2015-01-28 2015-01-28 一种用户行为数据采集方法

Publications (1)

Publication Number Publication Date
CN104598371A true CN104598371A (zh) 2015-05-06

Family

ID=53124183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510041172.8A Pending CN104598371A (zh) 2015-01-28 2015-01-28 一种用户行为数据采集方法

Country Status (1)

Country Link
CN (1) CN104598371A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534486A (zh) * 2016-10-13 2017-03-22 努比亚技术有限公司 一种数据上报装置、方法及移动终端
CN109766253A (zh) * 2018-12-15 2019-05-17 平安证券股份有限公司 一种性能数据发送方法、装置、计算机设备及存储介质
CN112632595A (zh) * 2019-09-24 2021-04-09 中国石油化工股份有限公司 一种基于地震资料解释软件的信息搜集方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086558A1 (en) * 2006-10-06 2008-04-10 Coremetrics, Inc. Session based web usage reporter
CN102368788B (zh) * 2011-12-09 2013-12-25 中国电信股份有限公司 信息推送方法与装置
CN104253835A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 用户行为数据采集方法及其***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086558A1 (en) * 2006-10-06 2008-04-10 Coremetrics, Inc. Session based web usage reporter
CN102368788B (zh) * 2011-12-09 2013-12-25 中国电信股份有限公司 信息推送方法与装置
CN104253835A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 用户行为数据采集方法及其***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534486A (zh) * 2016-10-13 2017-03-22 努比亚技术有限公司 一种数据上报装置、方法及移动终端
CN109766253A (zh) * 2018-12-15 2019-05-17 平安证券股份有限公司 一种性能数据发送方法、装置、计算机设备及存储介质
CN112632595A (zh) * 2019-09-24 2021-04-09 中国石油化工股份有限公司 一种基于地震资料解释软件的信息搜集方法及***
CN112632595B (zh) * 2019-09-24 2024-04-09 中国石油化工股份有限公司 一种基于地震资料解释软件的信息搜集方法及***

Similar Documents

Publication Publication Date Title
CN110147411B (zh) 数据同步方法、装置、计算机设备及存储介质
CN108345524B (zh) 应用程序监控方法及应用程序监控装置
KR101835303B1 (ko) 컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들
CN102799514B (zh) 一种日志记录管理方法和***
JP6027689B2 (ja) アプリ管理方法、装置、サーバー、端末装置、プログラム及び記録媒体
US20160283711A1 (en) eMMC Monitoring Method and Apparatus
EP2477123A2 (en) Saveless documents
CN108847977A (zh) 一种业务数据的监控方法、存储介质和服务器
WO2014117653A1 (zh) 内存清理方法、装置和终端设备
CN109460343A (zh) 基于日志的***异常监控方法、装置、设备及存储介质
CN113835985B (zh) 一种监测卡顿、分析卡顿原因的方法、装置及设备
WO2021093365A1 (zh) 一种gpu显存管理控制方法及相关装置
WO2020232871A1 (zh) 一种微服务依赖分析方法及装置
CN104598371A (zh) 一种用户行为数据采集方法
CN103530029A (zh) 基于人机界面用户行为分析的ems图形动态菜单展示方法
CN104978352B (zh) 信息处理的方法及客户端
CN105893471B (zh) 一种数据处理方法及电子设备
CN110162563B (zh) 一种数据入库方法、***及电子设备和存储介质
CN104424246A (zh) 数据存储***及方法
CN105893221B (zh) 终端运行时长的告警方法及装置
CN116089545B (zh) 一种采集存储介质变更数据入数据仓库的方法
US10795657B2 (en) Method of managing applications and computing device using the same
CN103677882A (zh) 一种手机程序的虚拟安装装置和方法
CN106775480A (zh) 一种基于LabVIEW的实时监控***数据记录方法
CN114124679A (zh) 物联网终端日志的上传方法、装置、物联网终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20150506