著录项信息
专利名称 | 一种互联网用户行为数据的采集方法 |
申请号 | CN201310195813.6 | 申请日期 | 2013-05-23 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2013-09-25 | 公开/公告号 | CN103324673A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;F;9;/;4;6查看分类表>
|
申请人 | 中国科学院计算机网络信息中心 | 申请人地址 | 北京市海淀区中关村南四街4号院2号楼506室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国互联网络信息中心 | 当前权利人 | 中国互联网络信息中心 |
发明人 | 刘冰;王利军;周鑫;王常青;周煜程 |
代理机构 | 北京君尚知识产权代理事务所(普通合伙) | 代理人 | 余长江 |
摘要
本发明涉及互联网用户行为数据采集方法,1)建立当前焦点窗口的焦点窗口序列表,通过操作系统API抓取当前焦点窗口的进程名和进程ID;2)根据进程名和进程ID判断焦点窗口为浏览器后抓取当前浏览器标签页句柄、地址栏URL;3)根据获得的当前焦点窗口进程名、进程ID、浏览器标签页句柄、地址栏URL与焦点窗口序列表中的最后一条记录对比是否一致;4)将上述抓取得到的不一致的数据记录作为一条完整记录添加到焦点窗口序列表中,根据焦点窗口序列表中两条相邻记录的时间差获得一次用户操作数据。本发明中焦点窗口真实反映了用户真正关注和使用的软件、网站焦点窗口的切换时间,而且不会夹杂其它非用户行为数据噪声。
1.一种互联网用户行为数据的采集方法,其步骤包括:
1)建立当前焦点窗口的焦点窗口序列表,通过操作系统API抓取所述当前焦点窗口的进程名和进程ID;
2)根据所述进程名和进程ID判断焦点窗口为浏览器后抓取当前浏览器标签页句柄、地址栏URL;
3)根据获得的所述当前焦点窗口进程名、进程ID、浏览器标签页句柄、地址栏URL与所述焦点窗口序列表中的最后一条记录对比是否一致;
4)将上述抓取得到的不一致的数据记录作为一条完整记录添加到焦点窗口序列表中,根据所述焦点窗口序列表中两条相邻记录的时间差获得一次用户操作数据;
5)重复步骤1)-4)采集得到用户行为数据。
2.如权利要求1所述的互联网用户行为数据的采集方法,其特征在于,所述建立当前焦点窗口的焦点窗口序列表的方法为:
在用户计算机上安装一数据采集程序用于探测运行系统中的用户正在交互的当前焦点窗口,并初始化一个焦点窗口序列记录焦点窗口数据。
3.如权利要求2所述的互联网用户行为数据的采集方法,其特征在于,所述初始化焦点窗口序列表包括:探测时间、焦点窗口进程名、进程ID、浏览器标签页句柄、浏览器URL5个字段。
4.如权利要求2所述的互联网用户行为数据的采集方法,其特征在于,所述数据采集程序的采集频率为1-3秒采集一次数据。
5.如权利要求1所述的互联网用户行为数据的采集方法,其特征在于,根据所述进程名和进程ID判断焦点窗口为浏览器时,预先定义一个浏览器窗口进程列表,所述操作系统API抓取到当前焦点窗口进程后,需要在该进程列表中查询判断,将存在于该列表中的焦点窗口判断为浏览器。
6.如权利要求5所述的互联网用户行为数据的采集方法,其特征在于,所述浏览器窗口进程列表记录如下变量赋值信息:开机后持续时间、进程名、进程ID、产品名称、产品版本、公司名称。
7.如权利要求1所述的互联网用户行为数据的采集方法,其特征在于,当所述操作系统为Windows操作系统,通过调用GetForegroundWindow()可获得当前焦点窗口,通过调用GetWindowThreadProcessId()可获得窗口进程ID,通过调用GetModuleFileNameEx()可获得窗口进程名。
8.如权利要求1所述的互联网用户行为数据的采集方法,其特征在于,当所述浏览器为IE浏览器,按照如下方法抓取当前浏览器标签页句柄、地址栏URL:
1)通过调用EnumChildWindows()枚举浏览器的所有子窗口;
2)在所述子窗口中通过类名匹配找到标签页和地址栏子窗口,所述IE浏览器标签页的窗口类名为Frame Tab,IE浏览器地址栏的窗口类名为Address Band Root;
3)对于地址栏子窗口,通过调用GetWindowText()获得浏览器地址栏中的URL。
9.如权利要求1所述的互联网用户行为数据的采集方法,其特征在于,所述步骤4)中若抓取得到与上条完全一致数据,则表示用户还停留在之前的软件或网站页面上,不记录数据。
10.如权利要求1所述的互联网用户行为数据的采集方法,其特征在于,所述步骤2)中当前浏览器标签页句柄为地址栏句柄和当前TAB句柄。
一种互联网用户行为数据的采集方法\n技术领域\n[0001] 本发明涉及互联网用户行为数据采集方法,也别涉及基于客户端的用户行为数据采集方法,属于互联网数据采集领域。\n背景技术\n[0002] 在做互联网用户研究时,离不开对用户行为数据的采集。而采集到的数据是否客观、全面,则直接影响用户研究的质量。现有的互联网用户行为数据采集方法,从形式上可分为2大类:一种是服务端数据采集,另一种是客户端数据采集。服务端数据采集以网站为中心,在服务端记录一个网站所包含的全部页面、功能被使用的情况;客户端数据采集以用户为中心,在客户端记录一个用户所发生的全部动作、行为。本文所提出的数据采集方法属于客户端数据采集。\n[0003] 目前,已有的客户端数据采集有:\n[0004] 第一,网络抓包:当用户访问某个网站时,浏览器会向网站服务器发送数据请求,通过网络抓包的方式,可以监测到这些请求,从而得到用户访问网站的行为记录。网络抓包的方法虽然可以捕获大量的用户数据,但是存在数据噪声大、无法追踪用户使用时间等问题。\n[0005] 首先,并非所有的数据请求都一定是用户主动行为产生,比如网页中的广告位可能会在后台请求广告内容,但这并不代表用户主动点击了广告。由于目前还没有很好的办法来区分出哪些数据请求是用户主动发出的,因此网络抓包采集到的用户行为数据有很大的噪声,无法客观反映用户真实行为。\n[0006] 其次,数据请求的发送仅仅意味着用户行为的开始,但用户行为何时结束却无从判断,这也就造成网络抓包采集到的用户行为数据较为单一。\n[0007] 第二,内存扫描:用户在使用浏览器或其它软件时,会在计算机内存中形成一个当前正在运行的程序进程列表,以一定频率扫描这个列表,即可获得用户在某一时间点正在使用什么程序,访问什么网站,以及何时开始、何时结束等信息,这些数据汇总起来可形成用户的详细行为记录。但是,内存扫描的方法存在数据不够精细的问题,它采集到数据无法真实还原用户的行为——用户可能在同一时间点同时打开多个软件或网站,这样我们无法知道用户真正在使用的是哪一个。\n[0008] 可以看到,现有的客户端数据采集方法,存在噪声大、不够精细等问题,这些问题给互联网用户研究带来了较大困难,这也正是本发明所要解决等问题。\n发明内容\n[0009] 本发明目的在于提供一种几乎无数据噪声、详细记录用户实际关注对象、能够真实还原互联网用户行为的客户端数据采集方法。\n[0010] 用户在计算机上使用浏览器或其它软件时,可能同时打开多个程序窗口,但是在同一时间,用户只可能与其中一个窗口进行交互,这个当前与用户交互的窗口叫做焦点窗口。焦点窗口是用户动作的接收者,它反映了用户真正在关注的是什么,焦点窗口的切换,则反映了用户注意力的转移情况。因此,通过监测当前用户计算机上的焦点窗口及其变化,可以真实反映用户的行为。本文所提出的数据采集方法,正是基于“焦点窗口”的一种客户端数据采集方法。\n[0011] 本发明的技术方案如下:一种互联网用户行为数据的采集方法,其步骤包括:\n[0012] 1)建立当前焦点窗口的焦点窗口序列表,通过操作系统API抓取所述当前焦点窗口的进程名和进程ID;\n[0013] 2)根据所述进程名和进程ID判断焦点窗口为浏览器后抓取当前浏览器标签页句柄、地址栏URL;\n[0014] 3)根据获得的所述当前焦点窗口进程名、进程ID、浏览器标签页句柄、地址栏URL与所述焦点窗口序列表中的最后一条记录对比是否一致;\n[0015] 4)将上述抓取得到的不一致的数据记录作为一条完整记录添加到焦点窗口序列表中,根据所述焦点窗口序列表中两条相邻记录的时间差获得一次用户操作数据;\n[0016] 5)重复步骤1)-4)采集得到用户行为数据。\n[0017] 更进一步,所述建立当前焦点窗口的焦点窗口序列表的方法为:\n[0018] 在用户计算机上安装一数据采集程序用于探测运行系统中的用户正在交互的当前焦点窗口,并初始化一个焦点窗口序列记录焦点窗口数据。\n[0019] 更进一步,所述初始化焦点窗口序列表包括:探测时间、焦点窗口进程名、进程ID、浏览器标签页句柄、浏览器URL5个字段。\n[0020] 更进一步,所述数据采集程序的采集频率为1-3秒采集一次数据。\n[0021] 更进一步,根据所述进程名和进程ID判断焦点窗口为浏览器时,预先定义一个浏览器窗口进程列表,所述操作系统API抓取程序抓取到当前焦点窗口进程后,需要在该列进程表中查询判断,将存在于该列表中的焦点窗口判断为浏览器。\n[0022] 更进一步,所述浏览器窗口进程列表记录如下变量赋值信息:开机后持续时间、进程名、进程ID、产品名称、产品版本、公司名称。\n[0023] 更进一步,当所述操作系统为Windows操作系统,通过调用GetForegroundWindow()可获得当前焦点窗口,通过调用GetWindowThreadProcessId()可获得窗口进程ID,通过调用GetModuleFileNameEx()可获得窗口进程名。\n[0024] 更进一步,当所述浏览器为IE浏览器,按照如下方法抓取当前浏览器标签页句柄、地址栏URL:\n[0025] 1)通过调用EnumChildWindows()枚举浏览器的所有子窗口;\n[0026] 2)在所述子窗口中通过类名匹配找到标签页和地址栏子窗口,所述IE浏览器标签页的窗口类名为Frame Tab,IE浏览器地址栏的窗口类名为Address Band Root;\n[0027] 3)对于地址栏子窗口,通过调用GetWindowText()获得浏览器地址栏中的URL。\n[0028] 更进一步,所述步骤4)中若抓取得到与上条完全一致数据,则表示用户还停留在之前的软件或网站页面上,不记录数据。\n[0029] 更进一步,所述步骤2)中当前浏览器标签页句柄为地址栏句柄和当前TAB句柄。\n[0030] 本发明的优点:\n[0031] 本文提出的数据采集方法,将用户行为如实记录为一个焦点窗口序列,该序列直接反映了用户与计算机的交互行为全过程。\n[0032] 与现有的客户端数据采集方法相比,有如下优点:\n[0033] 1)焦点窗口真实反映了用户真正关注和使用的软件、网站;\n[0034] 2)焦点窗口的切换时间,直接对应于用户某次使用某软件、网站的开始、结束时间,能够直观的反应需要;\n[0035] 3)焦点窗口序列完全是以用户行为为中心的数据,不会夹杂其它非用户行为数据噪声。\n附图说明\n[0036] 图1是本发明互联网用户行为数据的采集方法流程示意图;\n[0037] 图2互联网用户行为数据的采集方法一实施例中数据采集示意图。\n具体实施方式\n[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0039] 如图2所述是本发明互联网用户行为数据的采集方法一实施例中数据采集示意图。\n[0040] 本发明一实施例中采用的技术方案是:在用户计算机上安装一个数据采集程序,并保持长时间持续运行。数据采集程序以一定频率(建议间隔为1-3秒)探测用户计算机的当前焦点窗口,并抓取当前焦点窗口的相应数据,然后按照时间顺序,将抓取到的数据逐条记录下来,从而形成用户在一段时间内接触的焦点窗口序列,该序列直接反映了用户与计算机的交互行为全过程。\n[0041] 在用户计算机上安装一数据采集程序用于探测运行系统中的用户正在交互的当前焦点窗口,并初始化一个焦点窗口序列表用于记录焦点窗口数据,焦点窗口序列表包括探测时间、焦点窗口进程名、进程ID、浏览器标签页句柄、浏览器URL共5个字段;\n[0042] 1)通过操作系统API抓取当前焦点窗口的进程名、进程ID等信息;\n[0043] 2)根据进程名判断当前焦点窗口是否为浏览器,若是则继续执行,否则跳至步骤6[0044] 3)探测该浏览器的当前标签页(在7.0版本及以上的IE浏览器中也称之为“选项卡”)\n[0045] 4)通过操作系统API抓取当前浏览器标签页的句柄、地址栏URL等信息[0046] 5)判断本次抓取的焦点窗口进程名、进程ID、浏览器标签页句柄、浏览器URL是否与焦点窗口序列中的最后一条记录完全一致,若是则跳至步骤8,否则继续执行[0047] 6)将本次探测的时间、焦点窗口进程名、进程ID、浏览器标签页句柄、浏览器URL作为一条记录添加到焦点窗口序列表中;\n[0048] 7)等待一定时间间隔后(建议间隔为1-3秒),重新开始执行步骤2[0049] 在本发明一实施例中,步骤1和步骤2需要结合具体的操作系统实现,在不同的操作系统中,获取焦点窗口及其进程信息的方法可能不同。例如,在Windows操作系统中,通过调用GetForegroundWindow()可获得当前焦点窗口,通过调用GetWindowThreadProcessId()可获得窗口进程ID,通过调用GetModuleFileNameEx()可获得窗口进程名。\n[0050] 在本发明一实施例中,步骤3需要预先定义一个浏览器窗口进程列表,程序抓取到当前焦点窗口进程后,需要在该列表中查询,如果存在于该列表中,则将该焦点窗口判断为浏览器。\n[0051] 在本发明另一实施例中,步骤4和步骤5,需要结合具体的浏览器接口实现,在不同的浏览器中,获取其标签页和地址栏URL的接口可能不同。例如,对于IE浏览器,可以通过调用EnumChildWindows()枚举它的所有子窗口,然后通过类名匹配找到标签页和地址栏子窗口,其中IE浏览器标签页的窗口类名为“Frame Tab”,IE浏览器地址栏的窗口类名为“Address Band Root”,对于地址栏子窗口,进一步调用GetWindowText()可获得浏览器地址栏中的URL。\n[0052] 在本发明另一实施例中,步骤6若判断为“与上条完全一致”,则表示用户还停留在之前的软件或网站页面上,因此不需要重复记录,正因为如此,焦点窗口序列中,两条相邻记录的时间差,可以反映用户在前一个软件或网站上的停留时长。\n[0053] 如图1所示是本发明互联网用户行为数据的采集方法流程示意图;步骤如下:一,探测系统的当前焦点窗口,通过焦点窗口反映用户真正关注和使用的软件、网站,预定义浏览器列表,确保用户在任何浏览器上的上网行为都可以被如实记录下来;二,抓取当前浏览器标签页的句柄等信息,更细致的反映用户上网行为的细节;三,在将记录追加到焦点窗口序列之前,首先判断当前记录是否与上条一致,这样可以使焦点窗口序列直观反映窗口的切换,同时也减少了数据冗余。\n[0054] A.定义日志记录变量,初始化为空,获得焦点窗口句柄;\n[0055] B.获取句柄成功后,进行获取窗口标题得到交点窗口进程ID\n[0056] C.将焦点进程ID与前一次获取的焦点进程ID进行比较,看看焦点进程是否发生变化;\n[0057] D.若焦点的进程ID发生了变化,则清空记录最近一次URL对象变量,清空日志记录变量,并更新最近一次进程ID记录变量;\n[0058] E.获取进程所对应的产品版本、名称、公司名称;\n[0059] F对日志记录变量进行赋值:\n[0060] 开机后持续时间、进程名、进程ID、\n[0061] 产品名称、产品版本、公司名称;\n[0062] G判断进程是否为浏览器;若进程为浏览器则更新最近一次进程ID记录变量,获得URL、地址栏句柄,当前TAB句柄;\n[0063] H.若上述参数由没有变化则对日志记录变量赋值,赋值为:\n[0064] 开机后持续时间张、进程名、进程ID、url、地址栏句柄、TAB句柄。
法律信息
- 2021-02-26
专利权的转移
登记生效日: 2021.02.09
专利权人由中国科学院计算机网络信息中心变更为中国互联网络信息中心
地址由100190 北京市海淀区中关村南四街4号变更为100190 北京市海淀区中关村南四街4号院2号楼506室
- 2016-08-31
- 2013-10-30
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201310195813.6
申请日: 2013.05.23
- 2013-09-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-06-20
|
2011-11-29
| | |
2
| |
2008-08-27
|
2008-02-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |