APP下载

高效识别用户上网行为和提高大数据准确性的研究

2016-08-29李艳霞张海波

实验技术与管理 2016年4期
关键词:北京服装学院浏览器算法

张 颖, 李艳霞, 郭 新, 张海波

(1. 北京服装学院 计算机信息中心, 北京 100029; 2. 清华大学 信息化技术中心, 北京 100084;3. 北京城市学院 实验室管理中心, 北京 100083)



高效识别用户上网行为和提高大数据准确性的研究

张颖1, 李艳霞2, 郭新3, 张海波1

(1. 北京服装学院 计算机信息中心, 北京100029; 2. 清华大学 信息化技术中心, 北京100084;3. 北京城市学院 实验室管理中心, 北京100083)

针对网络产生的大量用户上网行为记录数据,探讨如何在海量数据中提取有用的信息,为学校领导提供决策支持和科学依据。提出了建立网络行为特征和AC算法检测模型来识别网络用户上网行为的方法,该方法通过检测模型识别服务器响应的content-type类型,判断其是否为提前预设的类型,如果是则将其标注为有效访问。实验结果表明,该方法能够有效识别用户实际点击访问网站行为,为学校大数据分析提供准确的数据来源,进而能够为学校领导者的决策提供有力的支持。

大数据分析; 用户上网行为; AC算法

随着信息技术的不断发展,人们在享受网络带来的方便的同时,也产生了大量用户上网的行为记录,如何对用户的上网行为进行统计和分析,从这些海量的数据中提取企业和学校关心的数据,是一个比较困难的问题。现有的商业软件还无法有效识别出某个HTTP请求是由用户访问网站发起,还是在用户访问中由浏览器自动发起的。例如,用户通过使用浏览器访问北京服装学院网站(www.bift.edu.cn)的过程中,HTTP请求有近100个,其中只有1个HTTP请求是由用户访问该网站产生的,其余的HTTP请求是浏览器为了下载和显示该网站上的图片等信息自动发起的。如何识别出用户访问网站产生的HTTP请求,对分析用户访问网站的行为至关重要。

然而,目前还没有一种成熟且有效的技术能够实现这一功能。有的软件通过检测返回的Referer字段和统计次数来识别用户的实际点击行为,但是每个浏览器对HTTP协议的实现有一些差别。目前已经发现,IE6的浏览器Referer的值是可以被篡改的。对于新版浏览器,虽然无法纂改Referer值,但部分用户基于隐式权的需要,可以设置浏览器发送的请求不包含Referer信息[1]。这些用户在访问时会被误认为实际的点击请求,从而造成识别准确率低的问题。

文献[2]提出了上网行为检测方法,该方法只能针对FireFox,Chrome,Safari这3种浏览器中的一种,根据预设的Accecpt头进行的检测,该方法虽然检测出的结果精确,但是只能对以上的3种浏览器进行检测,有较大的局限性。

针对这一问题,笔者提出了基于AC算法的识别网络用户上网行为的方法。该方法通过识别基于HTTP协议响应的content-type类型是否为提前预设的类型,采用网络行为特征和AC多模匹配算法建立检测模型,利用该模型对用户实际点击进行标注,从而比较准确地识别出用户的实际点击访问网站行为,大大减少了访问网站时由于浏览器自动发出大量HTTP请求造成的识别干扰,方便网管人员进行统计。

1 HTTP用户实际点击网络行为分析

基于HTTP协议的用户实际点击行为,可使用服务器响应标头中的content-type类型进行检测判断。content-type是HTTP协议header中一个重要的参数,它用于标识发送或接收到的数据的类型,浏览器根据该参数来决定数据的打开方式。

html是一切网页语言的基础,当前流行的jsp、asp、php文档都以html为基础,只是用程序代码动态输出html代码,特点是同一文档根据不同情况可以输出不同的html代码。jsp、asp、php文档都要经过编译后生成html代码,也就是我们在浏览器中看到的结果[3]。基于这个特性,可以认定用户实际点击网页响应的content-type类型,绝大多数都是“text/html”。当然,如果某个网页中有嵌套的iframe等情况,这时一个网页中可能存在多个“text/html”,因而虽然实际用户只点击了一次网站,通过该方法检测出的结果可能就出现多条检测记录,这是该方法的一个弊端。

2 方法模型

2.1模型概述

该方法包括以下步骤:dev设备对HTTP的服务器响应报文做DPI[4]检测,提取其中的content-type类型;通过AC多模匹配算法,快速、高效地检测出该类型是否为预先设置的类型(例如“text/html”等可以明确判断是客户端实际点击行为),如果匹配成功,则将该HTTP请求标记为用户访问网站行为,将相关的URL搜集以报文方式发送给数据中心。数据中心的管理员再根据相应的需求对URL进行统计分析,得出哪些网站用户的关注度高,从而为学校的发展提供有力的决策支持。方法模型如图1所示。

图1 方法模型图

2.2AC多模匹配算法

早在1975年,贝尔实验室的两位研究人员Alfred V. Aho 和Margaret J. Corasick就提出了以他们的名字命名的高效匹配算法——AC算法。

该算法的基本思想是:

(1) 在预处理阶段,AC自动机算法建立3个函数——转向函数goto、失效函数failure和输出函数output,由此构造了一个树型有限自动机;

(2) 在搜索查找阶段,通过这3个函数的交叉使用扫描文本,定位出在文本中所有出现的位置;

(3) 此算法有两个特点,一是扫描文本时完全不需要回溯,二是时间复杂度为O(n),时间复杂度与的数目和长度无关。

多模式匹配AC算法的核心仍然是寻找模式串内部规律,达到在每次失配时的高效跳转。这一点与单模式匹配KMP算法和BM算法是一致的。不同的是,AC算法寻找的是模式串之间的相同前缀关系。

AC算法有限状态自动机的存储占用了大量的内存资源,降低了算法的cache性能,巨大的存储开销是影响AC算法性能的重要因素。一些研究者基于优化AC有限状态自动机存储空间,提出了相关的改进方法,以提升AC算法的性能[5-9]。

3 实例分析

以用户在浏览器地址栏输入北京服装学院网址www.bift.edu.cn,访问北京服装学院主页为例,键入回车后可以看到图2所示内容。浏览器共发起了98个HTTP请求,其中绝大多数是图片(content-type类型为img/*)、脚本(content-type类型为application/javascript)、样式表(content-type类型为text/css),实际上只有第一个请求是用户发起的请求,content-type类型为text/html,此时把这个请求给记录下来才是有效的数据。

图2 学校主页请求信息

但是对于复杂的页面,例如包含了子页面的情况,访问父页面会带来对子页面的加载访问,这时也会产生HTTP请求,content-type类型仍为text/html,因为此分析方法依赖于特定的content-type类型,这里很明显对于子页面的访问非用户的点击行为,会生成干扰数据,影响后续的行为分析。

如继续使用上述例子,点击首页的“校园内网”,如图3所示。

图3 校园内网请求信息

除了第一个HTTP请求content-type类型为text/html外,后续还有若干个请求的类型也为text/html,如图4所示。

图4 校园内网后续请求信息

可见,这次用户点击行为生成的访问记录有很大部分为干扰记录。

对于上述问题,可以在针对单一Web应用的场景下抑制无效记录的产生,如开发Web应用时,对子页面的URL进行规划,例如包含特定的字符标记,如果有此类URL访问记录被记录下来,则根据预先的字符标记,可以过滤掉此类无效记录。

4 实际应用

对于HTTP访问记录的初步过滤,可以在DPI设备上采用锚定的AC算法快速匹配content-type,此算法在只关注content-type某几种类型(如text/html、application/binary)的情况下,不需要进行传统的AC算法匹配需要做的失败态跃迁,时间复杂度为O(1),此处为通用处理,面向互联网的场景和面向特定Web应用的场景均适用,但是存在无法过滤非真实用户访问记录的问题。

对于单一Web应用,可以采用针对URL的特定字符标记进行二次过滤(也可以在DPI设备上实现),就能得到准确的访问记录。可以根据PV量的大小,采用简单的SQL或是Hadoop大数据在线/离线分析[10]过滤等,统计URL被访问的情况,生成图形化报表,从而分析用户上网行为,为热点推送、运维数据决策等用户定制化服务提供数据支持。

当然,从降低实现部署成本角度出发,也可以基于传统的X86硬件+Linux+开源WebServer+各类开源软件实现,软硬件成本更低,不需要网络设备介入,对于每个URL访问都进行记录。例如开源WebServer nginx,是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器[11]。可以记录每个访问,包括时间、URL、content-type等,之后只需要在线/离线分析记录即可,并且对于大数据量记录的分析,使用nginx可以使服务器的性能提高50%以上[12]。不论使用哪种方式,最终的分析效果是一致的。

5 结论

基于AC算法不拘泥于浏览器的类型,在面向互联网的场景中能有效识别用户的上网行为,但存在一定局限性;在面向特定Web应用的场景中效果较好,能精确识别用户上网行为,但是依赖于对Web应用使用的URL作事前规划,有一定局限性;实现部署可以采用专用软硬件,也可以采用通用硬件+开源软件的方案以降低部署成本。高效识别用户上网行为能够为企业大数据分析提供准确的数据来源,为企业领导者的决策提供有力的支持。

References)

[1] 陈春艳.跨站请求伪造攻击的基本原理与防范[J].电脑知识与技术,2014(5):902-904.

[2] 陈钊毅,袁伟.一种识别用户实际点击访问网站行为的方法及系统:201210047328[p].2012-08-08.

[3] Jackson J C. web技术[M].北京:清华大学出版社,2007.

[4] 李云波.基于深度包检测技术入侵检测系统设计与实现[D].沈阳:东北大学,2009.

[5] Aho A V,Corasick Mar J. Efficient string matching: an aid to bibliog raphic search [J]. Communications of the ACM,1975,18(6):333-340.

[6] Yu Jianming, Xue Yibo, Li Jun. Memory efficient string matching alg orithm for netw ork intrusion management system[J] . Tsinghua Science and Technolog y, 2007, 12(5):585-593.

[7] 徐红,秦志光.一种面向入侵检测的改进AC算法[J].微电子学与计算机,2010(11):109-112.

[8] 卢汪节,鞠时光.入侵检测系统中一种改进的AC算法[J].计算机工程与应用,2006(15):146-148.

[9] Hou Zhengfeng, Shu Yindong, Han Jianghong, et al. The Study and Improvement of AC_BM Multi-pattern Matching Algorithm[J].Energy Procedia,2011(13):36-42.

[10] 乔媛媛.基于Hadoop的网络流量分析系统的研究与应用[D].北京:北京邮电大学,2014.

[11] 吴迪,徐国胜.一种基于Nginx的安全设备代理方案[C]//中国通信学会.第九届中国通信学会学术年会论文集.北京:中国通信学会,2012.

[12] 乔鑫.Nginx:新一代web服务器软件[J].科技浪潮,2009(1):11-12.

Research on effective recognition of user’s actual click behavior to improve accuracy of large data

Zhang Ying1, Li Yanxia2, Guo Xin3, Zhang Haibo1

(1. Computer Information Center, Beijing Institute of Fashion Technology, Beijing 100029, China;2. Information Technology Center, Tsinghua University, Beijing 100084, China;3. Laboratory Management Center, Beijing City University, Beijing 100083, China)

How to extract useful data from these massive amounts of data and provide support and scientific basis for the management of the school have become a problem. Therefore, the method of establishing the network behavior characteristic and using AC algorithm to detect model is proposed, which can identify the behavior of Internet users. The method identifies the content-type of the server response by the model, and judges whether the returned type is a preset type, and if so, it is marked as an effective access. Experimental results show that the proposed method can effectively identify the user’s actual Internet behavior, it can provide accurate data source for the school big data analysis, and then can provide the strong support for the school leader’s decision.

big data analysis; user actual click behavior; AC algorithm

DOI:10.16791/j.cnki.sjg.2016.04.041

2015- 09- 29

北京服装学院科学研究项目(2014A-08)资助

张颖(1980—),女,山东烟台,硕士,助理研究员,研究方向为校园信息化建设.

E-mail:jsjzhy@bift.edu.cn

TP311

A

1002-4956(2016)4- 0153- 03

猜你喜欢

北京服装学院浏览器算法
《“头大”的一天》系列一
北京服装学院民族服饰博物馆
《野》
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
反浏览器指纹追踪
进位加法的两种算法
一种改进的整周模糊度去相关算法
环球浏览器
北京服装学院雕塑系