著录项信息
专利名称 | 一种用户页面停留时长的测量方法 |
申请号 | CN201310195502.X | 申请日期 | 2013-05-23 |
法律状态 | 暂无 | 申报国家 | 暂无 |
公开/公告日 | 2013-09-04 | 公开/公告号 | CN103281217A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/26 | IPC分类号 | H;0;4;L;1;2;/;2;6查看分类表>
|
申请人 | 中国科学院计算机网络信息中心 | 申请人地址 | 北京市海淀区中关村南四街4号院2号楼506室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国互联网络信息中心 | 当前权利人 | 中国互联网络信息中心 |
发明人 | 刘冰;周鑫;王常青;王利军;周煜程 |
代理机构 | 北京君尚知识产权代理事务所(普通合伙) | 代理人 | 余长江 |
摘要
本发明提供了一种用户页面停留时长的测量方法。首先通过数据采集模块记录用户在计算机上的焦点窗口变化情况,形成用户的焦点窗口序列数据;然后通过数据计算模块计算用户页面停留时长,最终得到用户页面停留时长测量结果。该方法与现有的测量方法相比,具有如下优点:用户浏览的任何页面均可测量,包括用户在一次浏览中的最后一个页面;仅当用户真正在浏览页面时,才会计算用户的停留时间,这样的测量结果能够真实反映用户的浏览行为。
1.一种用户页面停留时长的测量方法,包括以下步骤:
1)获取用户计算机上的当前焦点窗口进程;
2)当前焦点窗口进程为浏览器时,获取当前浏览器URL;
3)将获取到的焦点窗口进程、浏览器URL连同获取时间一并记录下来,形成焦点窗口序列数据表,当前焦点窗口进程和浏览器URL与焦点窗口序列数据表中的最后一条记录完全相同时,将最后一次扫描时间变量值更新为进入时间;否则,将进入时间、当前焦点窗口进程和浏览器URL追加到焦点窗口序列数据表中;
4)读取步骤3)形成的焦点窗口序列数据表中所述浏览器URL的进入和离开时间,用离开时间减去进入时间,得到该页面的本次停留时长,焦点窗口序列数据表中的当前记录为最后一条时,读取最后一次扫描时间,作为离开时间;否则,读取下一条记录时间,作为离开时间。
2.如权利要求1所述的用户页面停留时长的测量方法,其特征在于,步骤1)中通过数据采集模块扫描用户计算机上的焦点窗口。
3.如权利要求2所述的用户页面停留时长的测量方法,其特征在于,所述数据采集模块扫描时间间隔为1-3秒。
4.如权利要求1所述的用户页面停留时长的测量方法,其特征在于,步骤4)中,所述浏览器URL和停留时长构成时长统计表。
5.如权利要求4所述的用户页面停留时长的测量方法,其特征在于,当所述时长统计表中已存在当前URL的统计时长记录时,将本次停留时长累加到时长统计表中对应的URL统计时长上;否则,将当前URL添加为一条新的统计记录,统计时长初始化为0,并将本次停留时长累加到时长统计表中对应的URL统计时长上。
一种用户页面停留时长的测量方法\n技术领域\n[0001] 本发明属于计算机网络领域,涉及一种用户页面停留时长的测量方法。\n背景技术\n[0002] 用户页面停留时长,简单来讲就是用户在某个网站页面上所花的时间,它在一定程度上反映了该网站页面对用户的粘性。准确的测量用户页面停留时长,可以帮助网站运营人员了解网站页面的内容质量,作为页面改进的依据,也可以帮助网站推广人员了解推广流量的质量,从而进一步优化推广策略。\n[0003] 目前,测量用户页面停留时长主要有2种数据获取方式:Web服务日志和JavaScript页面嵌码。这2种方法使用的数据来源不同,但是在测量页面停留时长时的基本思路是相同的,即通过计算2个相邻访问页面的请求时间戳之差,来作为第1个页面的停留时长。如图1所示,某用户按照图中所示顺序访问了某个网站的3个页面后离开,那么该用户在Page1上的停留时长为2分钟,在Page2上的停留时长为5分钟,而Page3由于是最后一个页面无法计算,因此停留时长被忽略。\n[0004] 显然,这种停留时长的测量方法存在明显缺陷:对于用户访问的最后一个页面,服务端无法获知用户是何时离开的,这样也就无法计算这个页面的停留时长,因此只能选择忽略,这导致在后续计算页面平均停留时长时,测量结果与实际情况会有较大的偏差。对于一些视频网站页面来说,这个问题尤为严重。\n[0005] 此外,现有的页面停留时长测量方法还有一个问题,即测量结果无法真实反映用户的实际浏览行为。用户在使用浏览器浏览网页时,往往会打开多个窗口/标签页,而用户在同一时间内一般只会浏览一个网页。这就意味着一些网页虽然被打开了,但是它们都被隐藏在顶端窗口/标签页的背后,并没有真正被用户浏览。无论是通过Web服务日志还是JavaScript页面嵌码,服务端都无法获取这样的用户行为细节,因此在测量停留时长时也就无法将其考虑在内,这导致测量结果可能比用户实际浏览某个页面的停留时长要大一些。\n[0006] 可以看到,现有的页面停留时长测量方法存在一定的缺陷,使得测量结果与用户实际浏览行为之间存在一定的偏差。\n发明内容\n[0007] 本发明目的在于提供一种几乎无遗漏的、能够真实反映用户实际浏览行为的用户页面停留时长测量方法。\n[0008] 用户在计算机上使用浏览器或其它软件时,会打开相应的程序窗口。在同一时间内,可能有多个程序窗口被打开,但是只有其中一个窗口可以接收用户的交互,这个当前与用户交互的窗口叫做焦点窗口,焦点窗口反映了用户当前关注的对象。通过调用Windows API,我们可以获取用户计算机上的当前焦点窗口信息,包括焦点窗口的句柄、进程名等,通过进程名我们可以判断用户当前在使用什么软件,如果是浏览器窗口,我们还可以进一步调用Windows API获取浏览器的地址栏信息,得到地址栏中的URL,从而判断用户当前正在浏览的是什么网页。如果我们以一定的频率(推荐间隔为1-3秒)扫描用户计算机上的焦点窗口,我们就可以了解到用户在一段时间内,分别在哪些时点浏览了哪些网页。\n[0009] 为了达到上述目的,本发明提出一种用户页面停留时长测量方法,包括以下步骤:\n[0010] 1)获取用户计算机上的当前焦点窗口进程;\n[0011] 2)当前焦点窗口进程为浏览器时,获取当前浏览器URL;\n[0012] 3)将获取到的焦点窗口进程、浏览器URL连同获取时间一并记录下来,形成焦点窗口序列数据表;\n[0013] 4)读取步骤3)形成的焦点窗口序列数据表中所述浏览器URL的进入和离开时间,用离开时间减去进入时间,得到该页面的本次停留时长。\n[0014] 进一步地,步骤1)中通过数据采集模块扫描用户计算机上的焦点窗口。\n[0015] 进一步地,上述扫描时间间隔为1-3秒。\n[0016] 进一步地,步骤3)中所述当前焦点窗口进程和浏览器URL与焦点窗口序列数据表中的最后一条记录完全相同时,将最后一次扫描时间变量值更新为进入时间;否则,将进入时间、当前焦点窗口进程和浏览器URL追加到焦点窗口序列数据表中。\n[0017] 进一步地,步骤4)中,焦点窗口序列数据表中的当前记录为最后一条时,读取最后一次扫描时间,作为离开时间;否则,读取下一条记录时间,作为离开时间。\n[0018] 进一步地,步骤4)中,所述浏览器URL和停留时长构成时长统计表。\n[0019] 进一步地,上述时长统计表中已存在当前URL的统计时长记录时,将本次停留时长累加到时长统计表中对应的URL统计时长上;否则,将当前URL添加为一条新的统计记录,统计时长初始化为0,并将本次停留时长累加到时长统计表中对应的URL统计时长上。\n[0020] 在上述方法中,所采用的焦点窗口序列数据直接反映了用户实际关注对象的变化,因此计算得到的页面停留时长,也是用户真正浏览页面的时长。当用户的焦点窗口切换到其它程序上时,即便浏览器的页面没有关闭,也不会继续累加停留时长。当用户关闭浏览器时,焦点窗口自然会切换到其它程序上(至少是Windows系统窗口),这样即便是用户浏览的最后一个页面,我们也可以计算出它的停留时长。\n[0021] 本文提出的页面停留时长测量方法,与现有的测量方法相比,有如下优点:\n[0022] 1)用户浏览的任何页面均可测量,包括用户在一次浏览中的最后一个页面;\n[0023] 2)仅当用户真正在浏览页面时,才会计算用户的停留时间,这样的测量结果能够真实反映用户的浏览行为。\n附图说明\n[0024] 图1现有技术中用户页面停留时长测量方法示意图;\n[0025] 图2本发明的用户页面停留时长测量流程图;\n[0026] 图3图2中数据采集模块的处理流程图;\n[0027] 图4图2中数据计算模块的处理流程图。\n具体实施方式\n[0028] 以下结合附图,对本发明作进一步的说明,但并不以此为限。\n[0029] 图2是本发明的用户页面停留时长测量流程图。本发明的测量方法需要实现数据采集模块和数据计算模块2个模块。首先通过数据采集模块记录用户在计算机上的焦点窗口变化情况,形成用户的焦点窗口序列数据表;然后通过数据计算模块计算用户页面停留时长,最终得到用户页面停留时长测量结果。\n[0030] 图3是图2中数据采集模块的处理流程图。数据采集模块为在用户计算机上连续运行的、以2秒为间隔扫描的一个数据采集程序,它将用户在计算机上的焦点窗口变化情况一一记录下来,形成用户的焦点窗口序列数据表。\n[0031] 数据采集模块的一次扫描的具体处理流程如下:\n[0032] i)初始化日志记录变量和最近一次进程ID变量,其中日志记录变量包括当前时点距离开机时点的时长、进程名、进程ID、产品名称、产品版本、公司名称、URL、浏览器地址栏句柄和浏览器TAB页句柄;\n[0033] ii)通过Windows API获取当前焦点窗口句柄,若获取成功则继续执行,否则跳至步骤xiv);\n[0034] iii)获取焦点窗口标题,获取焦点窗口进程ID;\n[0035] iv)获取进程名;\n[0036] v)判断焦点窗口进程ID与最近一次进程ID变量是否一致,若不一致则继续执行,否则跳至步骤ix);\n[0037] vi)清空日志记录变量,更新最近一次进程ID变量;\n[0038] vii)获取进程所对应的产品名称、产品版本和公司名称;\n[0039] viii)将当前时点距离开机时点的时长、进程名、进程ID、产品名称、产品版本和公司名称记录到日志记录变量中;\n[0040] ix)判断当前进程是否为浏览器,若是浏览器则继续,否则跳至步骤xiv);\n[0041] x)更新最近一次进程ID变量;\n[0042] xi)通过Windows API获取当前浏览器URL、浏览器地址栏句柄和浏览器TAB页句柄;\n[0043] xii)判断当前浏览器URL、浏览器地址栏句柄和浏览器TAB页句柄是否都没有变化,若都没有变化则跳至步骤xiv),否则继续执行;\n[0044] xiii)将当前时点距离开机时点的时长、进程名、进程ID、浏览器URL、浏览器地址栏句柄和浏览器TAB页句柄记录到日志记录变量中;\n[0045] xiv)返回日志记录变量。\n[0046] 数据采集模块记录用户焦点窗口变化情况的具体步骤包括:\n[0047] i)初始化焦点窗口序列数据表,以及最后一次扫描时间变量,其中焦点窗口序列数据表包括时间、窗口进程和浏览器URL三个字段;\n[0048] ii)调用Windows API,获取用户计算机上的当前焦点窗口进程;\n[0049] iii)判断当前焦点窗口进程是否为浏览器进程,若是则继续执行,否则跳至步骤vi);\n[0050] iv)调用Windows API,获取当前浏览器窗口的地址栏URL;\n[0051] v)判断当前焦点窗口进程和浏览器URL与焦点窗口序列数据表中的最后一条记录是否完全相同,若是则跳至步骤viii),否则跳至步骤vii);\n[0052] vi)判断当前焦点窗口进程与焦点窗口序列数据表中的最后一条记录是否相同,若是则跳至步骤viii),否则继续执行;\n[0053] vii)将当前时间、当前焦点窗口进程和浏览器URL(若有)追加到焦点窗口序列数据表中;\n[0054] viii)将最后一次扫描时间变量值更新为当前时间,等待一个扫描间隔(如2秒),重新执行步骤ii)。\n[0055] 数据采集模块记录的焦点窗口序列数据表如表1所示:\n[0056] 表1.焦点窗口序列数据\n[0057]\n[0058] 根据表1可知,用户在10:03:11将焦点窗口切换为浏览器,浏览页面URL为http://www.example.net/page1.html,停留47秒后,用户将焦点窗口切换为Office Word……[0059] 图4是图2中数据计算模块的处理流程图。数据计算模块计算用户页面停留时长的具体步骤包括:\n[0060] i)初始化时长统计表,时长统计表包括页面URL和停留时长2个字段;\n[0061] ii)读取下一条数据记录;\n[0062] iii)判断焦点窗口是否为浏览器,若是则继续执行,否则重新开始执行步骤ii);\n[0063] iv)判断当前记录是否为最后一条,若是则继续执行,否则跳至步骤vi);\n[0064] v)读取最后一次扫描时间,作为离开时间,跳至步骤vii);\n[0065] vi)读取下一条记录时间,作为离开时间;\n[0066] vii)用离开时间减去当前记录时间,得到本次停留时长;\n[0067] viii)查询时长统计表中是否已存在当前URL的统计时长记录,若是则跳至步骤x),否则继续执行;\n[0068] ix)将当前URL添加为一条新的统计记录,统计时长初始化为0;\n[0069] x)将本次停留时长累加到时长统计表中对应的URL统计时长上;\n[0070] xi)判断当前记录是否为最后一条,若是则结束,否则重新开始执行步骤ii)。\n[0071] 以表1中的焦点窗口序列数据为基础,按照本发明的测量方法,我们可以得到如下测量结果:\n[0072] 表2.用户页面停留时长测量结果\n[0073]\n页面URL 停留时长\n[0074]\nhttp://www.example.net/page1.html 57秒\nhttp://www.example.net/page2.html 12秒\nhttp://www.example.net/page3.html 21秒\nhttp://www.example.net/page4.html 17秒\n[0075] 具体计算过程如下:\n[0076] 依次读取表1的每一条记录,按照图4处理流程,计算得到每一条记录处理完成后,时长统计表的结果依次为:\n[0077] 第1条记录处理完成:\n[0078]\n页面URL 停留时长\nhttp://www.example.net/page1.html 47秒\n[0079] 第2条记录处理完成:\n[0080]\n页面URL 停留时长\nhttp://www.example.net/page1.html 47秒\n[0081] 第3条记录处理完成:\n[0082]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\n[0083] 第4条记录处理完成:\n[0084]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\nhttp://www.example.net/page2.html 12秒\n[0085] 第5条记录处理完成:\n[0086]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\nhttp://www.example.net/page2.html 12秒\nhttp://www.example.net/page3.html 8秒\n[0087] 第6条记录处理完成:\n[0088]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\nhttp://www.example.net/page2.html 12秒\nhttp://www.example.net/page3.html 8秒\n[0089] 第7条记录处理完成:\n[0090]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\nhttp://www.example.net/page2.html 12秒\nhttp://www.example.net/page3.html 21秒\n[0091] 第8条记录处理完成:\n[0092]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\n[0093]\nhttp://www.example.net/page2.html 12秒\nhttp://www.example.net/page3.html 21秒\nhttp://www.example.net/page4.html 17秒\n[0094] 第9条记录处理完成:\n[0095]\n页面URL 停留时长\nhttp://www.example.net/page1.html 57秒\nhttp://www.example.net/page2.html 12秒\nhttp://www.example.net/page3.html 21秒\nhttp://www.example.net/page4.html 17秒
法律信息
- 2021-02-26
专利权的转移
登记生效日: 2021.02.09
专利权人由中国科学院计算机网络信息中心变更为中国互联网络信息中心
地址由100190 北京市海淀区中关村南四街4号变更为100190 北京市海淀区中关村南四街4号院2号楼506室
- 2016-08-10
- 2013-10-09
实质审查的生效
IPC(主分类): H04L 12/26
专利申请号: 201310195502.X
申请日: 2013.05.23
- 2013-09-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-06-20
|
2011-11-29
| | |
2
| |
2012-09-12
|
2012-03-29
| | |
3
| |
2008-08-27
|
2008-02-27
| | |
4
| |
2010-11-24
|
2010-06-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |