公开/公告号CN104579754A
专利类型发明专利
公开/公告日2015-04-29
原文格式PDF
申请/专利权人 国云科技股份有限公司;
申请/专利号CN201410795548.X
申请日2014-12-18
分类号H04L12/24(20060101);H04L29/08(20060101);
代理机构广东莞信律师事务所;
代理人余伦
地址 523808 广东省东莞市松山湖科技产业园区松科苑14号楼
入库时间 2023-12-18 08:35:15
法律状态公告日
法律状态信息
法律状态
2018-12-07
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20141218
专利权人的姓名或者名称、地址的变更
2018-01-26
授权
授权
2015-05-27
实质审查的生效 IPC(主分类):H04L12/24 申请日:20141218
实质审查的生效
2015-04-29
公开
公开
技术领域
本发明涉及应用访问量统计技术领域,特别是指一种统计Web应用用户访问 时间特性的方法。
背景技术
在面向公众的Web应用中,由于用户的来源比较多,组成又比较复杂,因 此,一般需要通过事后审计来分析用户的行为,其中,统计一个用户当天访问 Web应用的时间特性可以用于分析用户使用应用系统的频度、总时长,从而判 定用户的行为,是很重要的一个统计数据。譬如,某用户当天访问Web应用的 系统的次数如果明显高于其他用户,并且每次访问的时长较短,那么此用户账 户有可能被窃取用于对Web应用系统进行连接型攻击,需要对此用户账户的历 史行为进行进一步的分析,并对此用户账户的下一步行为加以防护,防止影响 整个系统。又譬如,某用户当天访问某个电商Web应用系统在一天中多次访问, 且总的访问时间较长,此用户可能对电商的某产品感兴趣,电商的用户行为分 析系统可对用户的行为进行深入分析并向其投放可能感兴趣的商品的信息,成 交的成功率可大大提高。
目前,统计Web应用用户访问时间特性的方法一般都是通过分析登录用户的 日志来实现的,这种方法存在如下的弊端:
1、统计不全面,匿名用户和访客的行为无法统计,对于某些类型的网站来 说,可能并不需要进行注册,这类型的应用传统的方法无法覆盖;
2、统计不准确,部分用户可能因为网络的原因,比如卡顿,导致重试访问 的次数较多并且每次访问等待的时间较长,传统的方法无法区分出这部分用户 的行为。
尽管中国专利申请号为“201310197368”的文件中提到一种社交网络平台 系统及互动方法与中国专利申请号为“201410080027”的文件中提到一种网站 用户访问路径的分析方法及系统,通过Cookie实现对用户的区分、记录,以对 用户的访问特性进行统计。上述两项专利申请侧重于对Cookie本身的特性进行 运用,直接把Cookie的记录作为用户的行为进行分析,但并没有提供对Cookie 的过期时间等特性进行设计进而用于时间特性方面的统计。因此,目前急需一 种使用Cookie进行Web应用用户访问时间特性进行统计的方法。
发明内容
本发明解决的技术问题在于提供一种统计Web应用用户访问时间特性的 方法,解决传统方法存在的不足,覆盖所有类型用户,排除无效请求,提供一种 全面的准确的统计方法。
本发明解决上述问题,包括以下步骤:
步骤1:在Web应用程序中增加一个过滤器,拦截所有的请求;
步骤2:在每个请求开始时标记开始时间;
步骤3:在请求处理完以后,标记一个结束时间;
步骤4:维护一个请求的Cookie列表,如果请求中不包含Cookie的信息, 那么执行步骤5;否则,执行步骤7;
步骤5:在Cookie列表中增加一个Cookie;
步骤6:把Cookie的过期时间设置为当天24点到当前的时间间隔,也就是 当天过期,然后把Cookie加入到响应中返回给Web客户端;转到步骤8;
步骤7:在Cookie列表中查询对应的Cookie是否已经过期,如果已经过期, 跳转到步骤6;如果未过期,则进入下一步;
步骤8:获取本次请求响应的状态码,并以Cookie为标识,生成本次请求 的一条记录,包括请求的Cookie、请求的开始时间、结束时间、请求的响应状 态码;
步骤9:通过计算开始时间到结束时间的时间间隔得到用户单次访问Web 应用的时间,通过统计某Cookie的所有响应状态码为成功访问记录的数量得到 用户访问Web应用的频度,通过统计某Cookie的所有记录的总访问时间得到某 用户某天访问Web应用的总时长。
所述的Web应用程序是一种可以通过Web访问的应用程序;所述的过滤器 对Web请求和响应进行拦截。
所述的Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身 份、进行Session跟踪而储存在用户本地终端上的数据;
所述的Session是指一个终端用户与交互系统进行通信的时间间隔,通常指 从注册进入系统到注销退出系统之间所经过的时间。
所述的开始时间,是客户端发送一个请求的开始时间;所述的结束时间,是 客户端连接到从服务器返回响应结果的时间。
本发明提供了一种全面的准确的统计方法,通过为用户设置适当的Cookie 能覆盖所有类型的用户;能够识别不同状态的请求并加以区分,排除无效的请 求,能够对用户行为的时间特性作出更加准确的分析。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的过滤器架构图;
具体实施方式
本发明的实施方式有多种,这里将统计J2EE应用用户访问时间的方式为 例说明其中一种实现方法,请参考图1、2所示,具体实施过程如下:
1、在Web应用程序中增加一个过滤器,拦截所有的请求;
定义一个PageFilter过滤器,过滤器必须在链头,只需要过滤.jspx 和.do则可。在web.xml中过滤器配置
<filter-mapping>
<filter-name>Page Filter</filter-name>
<url-pattern>*.jspx</url-pattern>
<url-pattern>*.do</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
2、在每个请求开始时标记开始时间;
当获取请求时,获取当前标记开始时间
Begin=System.currentTimeMillis();
crateTime=new Date();
3、在请求处理完以后,标记一个结束时间;
end=System.currentTimeMillis();
crateTime=new Date();
4、维护一个请求的Cookie列表,如果请求中不包含Cookie的信息,那么 执行步骤6;否则,执行步骤7;
5、在Cookie列表中增加一个Cookie,并把Cookie的过期时间设置为当天 24点到当前的时间间隔,也就是当天过期,然后把Cookie加入到响应中返回给 Web客户端;转到步骤8;
注:若用户浏览器禁用了cookie,那就每一次访问就当一个新的用户。
6、在Cookie列表中查询对应的Cookie是否已经过期,如果已经过期,跳 转到步骤6;
7、获取本次请求响应的状态码,并以Cookie为标识,生成本次请求的一 条记录,包括请求的Cookie、请求的开始时间、结束时间、请求的响应状态码;
response状态status=reponse.getStatus();//获取状态码
将createTime,spend,ip,uv,page,postfix,status插入数据库page_stat
8、通过计算开始时间到结束时间的时间间隔可以得到用户单次访问Web应 用的时间,通过统计某Cookie的所有响应状态码为成功访问记录的数量可以得 到用户访问Web应用的频度,通过统计某Cookie的所有记录的总访问时间可以 得到某用户某天访问Web应用的总时长。
统计单次访问Web应用的时间:
Spend=Sytem.currentTimeMillis()-begin
统计用户访问Web应用的频度:
page=request.getRequestURI()注:需要去掉问题后面参数
postfix=page的后缀。
机译: 基于生物统计信息的便利用户访问车辆的系统和方法
机译: 基于生物统计信息的便利用户访问车辆的系统和方法
机译: 基于生物统计信息的便利用户访问车辆的系统和方法