一种统计Web应用访问地域特性的方法

文档序号:8225881阅读:176来源:国知局
一种统计Web应用访问地域特性的方法
【技术领域】
[0001]本发明涉及应用访问量统计技术领域,特别是指一种统计Web应用访问地域特性的方法。
【背景技术】
[0002]在面向公众的Web应用中,由于用户的来源比较多,组成又比较复杂。因此,一般需要通过事后审计来分析用户的行为;其中,统计用户访问Web应用的地域特性可以用于分析用户使用应用系统的地域分布情况、地域访问热度和地域访问时间分布,从而判定用户的行为,是很重要的一个统计数据。譬如,某天应用系统受到攻击,在阻断攻击源以后,可以针对攻击时间段内的地域特性进行统计,圈定攻击源的范围,配合国家有关安全部门进行调查。又譬如,电商应用可以针对商品页面的地域分布情况进行统计,得到各地域用户对商品访问的热度分布,对商品访问热度较低的地域进行市场调查并采取有针对性的营销策略,可以得到较好的效果。
[0003]目前,统计Web应用访问地域特性的方法一般都是通过分析登录用户的日志来实现的,这种方法存在如下的弊端:
[0004]1、地域定位不准确,由于用户访问Web应用不一定是直接访问,可能通过一些反向代理工具,如Ngnix,进行重定向从而访问Web应用,因此直接记录用户日志中的访问IP对地域的定位是不准确的;
[0005]2、对页面访问量的统计不准确,由于Web应用的页面访问URL —般都带有参数,参数不同可页面都是同一个,因此,直接统计URL有可能把相同的页面访问量分成多份统计,造成统计不准确。
[0006]尽管中国专利申请号为“201310197368”的文件中提到一种社交网络平台系统及互动方法与中国专利申请号为“201410080027”的文件中提到一种网站用户访问路径的分析方法及系统,以及文献《图书馆WEB资源访问量统计分析系统技术实现》,通过获取Web请求中IP信息的收集实现对地域特性的统计。上述文献侧重于对Web请求信息的获取,直接把Web请求的信息作为Web访问的地域特性,但并没有提供对Web请求信息的过滤和分析进而获得更加精确的Web访问地域特性的方法。因此,目前急需一种准确获取Web访问源IP的对Web应用访问地域特性进行统计的方法。

【发明内容】

[0007]本发明解决的技术问题在于提供一种统计Web应用访问地域特性的方法,解决传统方法存在的不足,准确定位地域,取到用户真正访问Web应用的IP地址,提供一种全面的准确的统计方法。
[0008]本发明解决上述技术问题的技术方案是:
[0009]所述的方法包括如下步骤:
[0010]步骤1,在Web应用程序中增加一个过滤器,拦截所有的请求;
[0011]步骤2,在每个请求开始时标记开始时间;
[0012]步骤3,把请求的URL中的参数后缀去掉,将剩下的前缀记录下来;
[0013]步骤4,获取HTTP请求头中的X-FORWARDED-FOR信息,如果能获取,则将X-FORffARDED-FOR中的第一个IP作为用户所在地域的IP ;否则,直接获取请求中的IP作为用户所在地域的IP ;
[0014]步骤5,通过统计所有请求的IP地址得到用户的地域分布情况,通过查询某请求的URL的所有请求的IP地址并统计得到某页面的地域访问热度,通过查询某时间段的所有请求的IP地址得到地域访问时间分布。
[0015]所述的Web应用程序,是一种可以通过Web访问的应用程序;
[0016]所述的过滤器对Web请求和响应进行拦截。
[0017]所述的开始时间是指客户端发送一个请求的开始时间。
[0018]所述的X-F0RWARDED-F0R简称XFF头,它代表客户端,是HTTP的请求端真实的IP ;只有在通过了 HTTP代理或者负载均衡服务器时才会添加该项。
[0019]本发明的方法是准确定位地域的统计方法,能获取到用户真正访问Web应用的IP地址;本发明的方法较准确,可以对访问地址进行过滤,避免相同页面的访问量被分开统
i+o
【附图说明】
[0020]下面结合附图对本发明进一步说明:
[0021]图1为本发明的流程图;
[0022]图2为本发明的过滤器架构图。
【具体实施方式】
[0023]本发明的实施方式有多种,这里将统计J2EE应用用户访问时间的方式为例说明其中一种实现方法,请参考图1、2所示,具体实施过程如下:
[0024]1、在Web应用程序中增加一个过滤器,拦截所有的请求;
[0025]定义一个PageFilter过滤器,过滤器必须在链头,只需要过滤.jspx和.do则可。在web.xml中过滤器配置
[0026]<f ilter-mapping>
[0027]<fiIter~name>Page Filter〈/filter_name>
[0028]<url_pattern>氺.jspx</url-pattern>
[0029]<url-pattern>*.do</url-pattern>
[0030]<dispatcher>FORWARD</dispatcher〉
[0031]<dispatcher>REQUEST</dispatcher〉
[0032]</filter-mapping>
[0033]2、在每个请求开始时标记开始时间;
[0034]当获取请求时,获取当前标记开始时间
[0035]Begin = System.currentTimeMi 11 i s ();
[0036]crateTime = new Date ();
[0037]3、把请求的URL中的参数后缀去掉,把剩下的前缀记录下来;
[0038]page = request.getRequestURI ()注:需要去掉问题后面参数
[0039]postfix = page 的后缀
[0040]4、获取HTTP请求头中的X-FORWARDED-FOR信息,如果能获取,那么把X-FORWARDED-FOR中的第一个IP作为用户所在地域的IP ;否则,直接获取请求中的IP作为用户所在地域的IP ;
[0041]通过上一步获取的page参数,过滤出真实IP地址;
[0042]5、通过统计所有请求的IP地址可以得到用户的地域分布情况。
[0043]IP = SystemUtil.getlpAddr(request)
[0044]//为什么要用SystemUtil.getlpAddr方法,是由于用户到达站点不一定是直接访问,可能通过一些反向代理工具(如Nginx)。
[0045]通过以上获取的某请求的URL的所有请求的IP地址并统计可以得到某页面的地域访问热度。通过以上获取某时间段的所有请求的IP地址可以得到地域访问时间分布。
【主权项】
1.一种统计Web应用访问地域特性的方法,其特征在于:所述的方法包括如下步骤: 步骤1,在Web应用程序中增加一个过滤器,拦截所有的请求; 步骤2,在每个请求开始时标记开始时间; 步骤3,把请求的URL中的参数后缀去掉,将剩下的前缀记录下来; 步骤4,获取HTTP请求头中的X-FORWARDED-FOR信息,如果能获取,则将X-FORffARDED-FOR中的第一个IP作为用户所在地域的IP ;否则,直接获取请求中的IP作为用户所在地域的IP ; 步骤5,通过统计所有请求的IP地址得到用户的地域分布情况,通过查询某请求的URL的所有请求的IP地址并统计得到某页面的地域访问热度,通过查询某时间段的所有请求的IP地址得到地域访问时间分布。
2.根据权利要求1所述的统计Web应用访问地域特性的方法,其特征在于:所述的Web应用程序,是一种可以通过Web访问的应用程序; 所述的过滤器对Web请求和响应进行拦截。
3.根据权利要求1所述的统计Web应用访问地域特性的方法,其特征在于:所述的开始时间是指客户端发送一个请求的开始时间。
4.根据权利要求2所述的统计Web应用访问地域特性的方法,其特征在于:所述的开始时间是指客户端发送一个请求的开始时间。
5.根据权利要求1至4任一项所述的统计Web应用访问地域特性的方法,其特征在于:所述的X-F0RWARDED-F0R简称XFF头,它代表客户端,是HTTP的请求端真实的IP ;只有在通过了 HTTP代理或者负载均衡服务器时才会添加该项。
【专利摘要】本发明涉及应用访问量统计技术领域,特别是指一种统计Web应用访问地域特性的方法。本发明首先在Web应用程序中增加一个过滤器,拦截所有的请求;然后在每个请求开始时标记开始时间;把请求的URL中的参数后缀去掉;获取HTTP请求头中的X-FORWARDED-FOR信息,如果能获取,那么把X-FORWARDED-FOR中的第一个IP作为用户所在地域的IP;否则,直接获取请求中的IP作为用户所在地域的IP;最后通过统计、查询所有请求的IP地址可以得到用户的地域分布情况、某页面的地域访问热度、地域访问时间分布等。本发明解决了Web访问地域特性的精确统计问题;可以用于统计Web应用访问地域特性。
【IPC分类】H04L29-08, H04L12-24
【公开号】CN104539452
【申请号】CN201410795168
【发明人】刘勇彬, 杨松, 莫展鹏, 季统凯
【申请人】国云科技股份有限公司
【公开日】2015年4月22日
【申请日】2014年12月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1