CN108874941B - 基于卷积特征和多重哈希映射的大数据url去重方法 - Google Patents

基于卷积特征和多重哈希映射的大数据url去重方法 Download PDF

Info

Publication number
CN108874941B
CN108874941B CN201810562678.7A CN201810562678A CN108874941B CN 108874941 B CN108874941 B CN 108874941B CN 201810562678 A CN201810562678 A CN 201810562678A CN 108874941 B CN108874941 B CN 108874941B
Authority
CN
China
Prior art keywords
convolution
url
hash
mapping
big data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810562678.7A
Other languages
English (en)
Other versions
CN108874941A (zh
Inventor
宋绪成
邓金城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Knownsec Information Technology Co ltd
Original Assignee
Chengdu Knownsec Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Knownsec Information Technology Co ltd filed Critical Chengdu Knownsec Information Technology Co ltd
Priority to CN201810562678.7A priority Critical patent/CN108874941B/zh
Publication of CN108874941A publication Critical patent/CN108874941A/zh
Application granted granted Critical
Publication of CN108874941B publication Critical patent/CN108874941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于卷积特征和多重哈希映射的大数据URL去重方法,通过使用基于卷积特征和多重哈希函数映射的快速特征映射算法,建立一个BitSet,将每个URL都经过一次卷积运算和多个哈希函数映射到多个位,大大降低了冲突概率,从而识别独立的web日志中的URL。本发明方法比传统去重算法更加节省资源,同时又极大的降低了哈希冲突的概率,识别速度非常快。

Description

基于卷积特征和多重哈希映射的大数据URL去重方法
技术领域
本发明涉及URL去重技术领域,特别是一种基于卷积特征和多重哈希映射的大数据URL去重方法。
背景技术
现有的大数据URL处理技术之一是用HashSet将访问过的URL保存起来,只需接近O(1)的代价就可以查到一个URL是否被访问过了。此方法存以下不足:太消耗内存,随着URL的增多,占用的内存会越来越多,就算只有一亿URL,每个URL算50个字符,就需要5GB内存,实际大数据处理时数量会大得多。
现有的大数据URL处理技术之二是URL经过MD5或SHA-1等单向哈希后再保存到HashSet或数据库,由于字符串经过MD5处理后的信息摘要长度只有128Bit,SHA-1处理后也只有160Bit,节省了好几倍的内存。此方法存在以下不足:使用了哈希映射,节省了好几倍的内存,但是在几十亿级别的数据量处理过程中还是会有很多哈希表冲突,误报数量达到不可忽视的数量,导致去重效果不好。
相关技术术语
卷积:在泛函分析中,卷积(Convolution)是通过两个函数f和g生成第三个函数的一种数学算法,表征函数f与g经过翻转和平移的重叠部分的映射。
URL:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
哈希函数:数据元素中的关键字通过一定的函数关系映射到哈希表。
发明内容
本发明所要解决的技术问题是提供一种基于卷积特征和多重哈希映射的大数据URL去重方法,用于解决大数据WEB访问日志URL去重处理速度慢、效果差的问题,可以快速在超大量数据中筛选出高价值的独立URL,便于进行后期处理。
为解决上述技术问题,本发明采用的技术方案是:
一种基于卷积特征和多重哈希映射的大数据URL去重方法,包括以下步骤:
步骤1:从WEB服务器上或传统WAF设备上提取WEB访问日志,然后筛选出要求的域名HOST和URL;
步骤2:对URL字段进行序列卷积和多哈希函数映射;
自定义一个包含一个数字串的卷积核,卷积核的数字序列任意确定一个,将每个需要去重的字符串按照映射表确定为一个数字序列,一次卷积操作的结果是对应数字相乘;定义一个步长,卷积核在数字序列上依次卷积能够产生很多卷积值;
设置哈希函数个数k、位数组大小m、加入的字符串数量n,在这个条件下出现哈希表误报的可能性为:
Figure BDA0001683700360000021
设置k的值为k=ln2*m/n,此时达到最低误报率:
Figure BDA0001683700360000022
依照上述公式依照预期的误报率确定要使用的哈希函数个数;
步骤3:卷积函数为f,使用k个哈希函数进行映射,哈希函数为h1,h2,h3,h4...hk,则卷积特征值和哈希函数映射值在BitSet中的二进制位赋值原理为:初始化一个m位的bit数组(每位初始设为0),卷积输出和每个哈希函数的输出都是一个(0,m-1)之间的一个数(对应bit数组下标);
输入x,对于每一个哈希函数,计算j=hi(x),将m_bit[j]设成1;同理,对于卷积函数每一次卷积操作,计算c=f(x),将m_bit[c]设成1;
步骤4:根据赋值后的BitSet,作为URL的关键字或者标签,进而识别独立URL。
进一步的,所述步骤1具体为:
1)过滤掉WAF日志中的多余字段;
2)使用脚本进行标签匹配,过滤静态文件和不符合要求状态码的URL;
3)将域名HOST和URL字符串进行拼接,导出。
进一步的,在步骤1中“过滤掉WAF日志中的多余字段”使用scala语言中的filter方法进行过滤,即首先使用scala中的split方法将每条日志按空格符进行分割,随后自定义一个filter方法,其中包含想要过滤的规则。
进一步的,在域名HOST和URL字符串进行拼接时,使用scala内置的字符串组合方法“+”进行拼接。
与现有技术相比,本发明的有益效果是:本方法利用代表URL独立特征的卷积特征值和多哈希函数映射,通过生成的BitSet代表多字符URL,比传统去重算法更加节省资源,同时又极大的降低了哈希冲突的概率,识别速度非常快。
附图说明
图1是本发明基于卷积特征和多重哈希映射的大数据URL去重方法的流程示意图。
图2是卷积值和哈希函数值映射原理。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明通过使用基于卷积特征和多重哈希函数映射的快速特征映射算法,建立一个BitSet,将每个URL都经过一次卷积运算和多个哈希函数映射到多个位,大大降低了冲突概率,从而识别独立的web日志中的URL。详述如下:
一、从WEB服务器上或传统WAF设备上提取WEB访问日志,然后筛选出要求的HOST(域名)和URL(统一资源定位符)。具体的筛选方法:
1、过滤掉WAF日志中的多余字段
可以使用scala语言中的filter方法进行过滤。首先使用scala中的split方法将每条日志按空格符进行分割:
val fields=line.split("")
随后自定义一个filter方法,其中包含想要过滤的规则。规则设定方法可以使用scala正则匹配的方式进行:
def myfilter()
val ho="gov.cn".r//例子:只过滤出政府网站
ho.findFirstMatchIn(host)!=None
2、使用脚本进行标签匹配,过滤静态文件和不符合要求状态码的URL
其中静态文件是指URL访问到的是静态的页面或者文件,如.html,.xml,.js,.css等等,这些URL往往在实际去重应用中不需要,同样使用scala中自定义的filter函数进行:
Figure BDA0001683700360000031
3、将HOST和URL组合,导出
过滤出的host和URL都是字符串的形式,后面要进行去重操作,需要去重一个域名下所有的URL,所以要将host和URL字符串进行拼接,可以使用scala内置的字符串组合方法“+”进行拼接:
val fields=line.split("")
val host=fields(8)
val url=fields(9)
val uRL=host+url
二、对URL字段进行序列卷积和多哈希函数映射
卷积操作说明:自定义一个包含一个数字串的卷积核,其中卷积核长度最好不低于6个数字。卷积核的数字序列是任意的,如(“453752”),但是一旦确定就不能修改,以后所有的卷积操作都用这个卷积核。将每个需要去重的字符串按照映射表确定为一个数字序列,(如“abcde”映射为“12345”),一次卷积操作的结果是对应数字相乘,如123卷积234,结果就是1*2+2*3+3*4=20。定义一个步长,卷积核在数字序列上依次卷积可以产生很多卷积值,如卷积核“123”在“23456”上卷积,123与234卷积后产生一个值,123再与345卷积又产生一个值(步长为1)。
哈希映射算法可以使用通用的MD5算法。设置哈希函数个数k、位数组大小m、加入的字符串数量n,在这个条件下出现哈希表误报的可能性为:
Figure BDA0001683700360000041
设置k的值为k=ln2*m/n,此时达到最低误报率:
Figure BDA0001683700360000042
依照上述公式依照预期的误报率确定要使用的哈希函数个数。
三、卷积函数为f,使用k个哈希函数进行映射,哈希函数为h1,h2,h3,h4...hk,则卷积特征值和哈希函数映射值在BitSet中的二进制位赋值原理如图2所示。初始化一个m位的bit数组,卷积输出和每个哈希函数的输出都是一个(0,m-1)之间的一个数;输入x,对于每一个哈希函数,计算j=hi(x),将m_bit[j]设成1;同理,对于卷积函数每一次卷积操作,计算c=f(x),将m_bit[c]设成1。
注:卷积过程中会产生很多个值(大步长产生的值少,小步长产生的值多),根据自己的需要定义步长,每个卷积值都应映射到BitSet中(图2中仅以卷积产生的一个卷积值进行形象展示)。
多哈希函数映射过程部分Java代码如下:
Figure BDA0001683700360000043
Figure BDA0001683700360000051
四、根据赋值后的BitSet,很容易的作为URL的关键字或者标签,进而识别独立URL。比如一个URL映射成的BitSet已经存在,则认为这个URL是重复的。
五、识别后的部分结果如下所示:
www.xxxx.com/piwik.php?action_name=www.wdzj.com%2F%E7%A4%BC%E5%BE%B7%E8%B4%A2%E5%AF%8C%E7%BD%91%E8%B4%B7%E6%A1%A3%E6%A1%88_%E7%A4%BC%E5%BE%B7%E8%B4%A2%E5%AF%8C%E5%AE%98%E7%BD%91%E8%B5%84%E6%96%99_p2p%E5%B9%B3%E5%8F%B0%E6%A1%A3%E6%A1%88_%E7%BD%91%E8%B4%B7%E4%B9%8B%E5%AE%B6&idsite=1&rec=1&r=931653&h=23&m=31&s=47&url=https%3A%2F%2Fwww.wdzj.com%2Fdangan%2Fldcf1%2F&urlref=https%3A%2F%2Fwww.wdzj.com%2Fdangan%2Fsearch%3Ffilter%3De1-b41-n44%26show%3D1&_id=747107e1f17b5566&_idts=1521648124&_idvc=3&_idn=0&_refts=1521732597&_viewts=1521732597&_ref=https%3A%2F%2Fwww.***.com%2F&send_image=0&pdf=1&qt=0&realp=0&wma=0&dir=0&fla=0&java=0&gears=0&ag=0&cookie=1&res=1440x900&cvar=%7B%223%22%3A%5B%22www%22%2C%22%22%5D%2C%225%22%3A%5B%22uid%22%2C%220%22%5D%7D&gt_ms=888>-1
www.xxxx.com/m/c.ashx?s=35&u=100000&c=4&P=170663&Fl=https%3A//www.***.com.hk/>3
www.xxxx.com/user/action?event_type=load&curt_id=7f8745b8-2d39-11e8-897e-00163e131d5b&prev_id=&event_info=%7B%22ad_uuid%22%3A%22add_trwgzad1tkva%22%7D&event=ad_exposure&target=http%3A%2F%2Fwww.shixiseng.com%2Ftc%2Frpo&uuid=9f2cd019-7402-8948-9c0b-501353d6a9e5&url=https%253A%2F%2Fwww.shixiseng.com%2F&referrer=https%3A%2F%2Fwww.***.com%2F&uri=%2F&source=pc>---1
www.xxxx.com/user/action?event_type=load&curt_id=54c06304-2d8a-11e8-97ea-00163e131d5b&prev_id=42b3df23-dfea-4651-a86f-88ba92a4e42d&event_info=%7B%22ad_uuid%22%3A%22add_77mcl4cyo2uu%22%7D&event=ad_exposure&target=%2Fcom%2Fcom_qrf1ioxwhvxk&uuid=6e65a594-9034-97f3-ad00-b1e7a46d39ca&url=https%253A%2F%2Fwww.shixiseng.com%2F&referrer=https%3A%2F%2Fwww.***.com%2F&uri=%2F&source=pc>---1
www.xxxx.com/user/action?event_type=load&curt_id=d72ad59e-2dcc-11e8-97ea-00163e131d5b&prev_id=&event_info=%7B%22ad_uuid%22%3A%22add_5zj7701ibn7t%22%7D&event=ad_exposure&target=http%3A%2F%2Fcampus.51job.com%2Funiqlo%2F&uuid=f6878545-7dff-4c90-9ec4-d3f0b0be2cb7&url=https%253A%2F%2Fwww.shixiseng.com%2F&referrer=https%3A%2F%2Fwww.***.com%2F&uri=%2F&source=pc>---1
www.xxxx.com/user/action?event_type=load&curt_id=dc320a40-2dd5-11e8-86b1-00163e0e0af8&prev_id=&event_info=%7B%22ad_uuid%22%3A%22add_q5h0sozpfgsg%22%7D&event=ad_exposure&target=%2Fcom%2Fcom_ohgsahcs55rv&uuid=4d6eab5f-7e0a-da6c-a70a-75cacb5b8e2f&url=https%253A%2F%2Fwww.shixiseng.com%2F&referrer=https%3A%2F%2Fwww.***.com.hk%2F&uri=%2F&source=pc>1
www.xxxx.com/user/action?event_type=load&curt_id=0ae48218-2db9-11e8-99e6-00163e040372&prev_id=&event_info=%7B%22ad_uuid%22%3A%22add_trwgzad1tkva%22%7D&event=ad_exposure&target=http%3A%2F%2Fwww.shixiseng.com%2Ftc%2Frpo&uuid=21bf3ae9-d652-1e0a-867a-1f9c29660cd5&url=https%253A%2F%2Fwww.shixiseng.com%2F&referrer=https%3A%2F%2Fwww.***.com.hk%2F&uri=%2F&source=pc>1

Claims (4)

1.一种基于卷积特征和多重哈希映射的大数据URL去重方法,其特征在于,包括以下步骤:
步骤1:从WEB服务器上或传统WAF设备上提取WEB访问日志,然后筛选出要求的域名HOST和URL;将域名HOST和URL字符串进行拼接;
步骤2:对URL字段进行序列卷积和多哈希函数映射;
自定义一个包含一个数字串的卷积核,卷积核的数字序列任意确定一个,将每个需要去重的字符串按照映射表确定为一个数字序列,一次卷积操作的结果是对应数字相乘;定义一个步长,卷积核在数字序列上依次卷积能够产生很多卷积值;
设置哈希函数个数k、位数组大小m、加入的字符串数量n,在这个条件下出现哈希表误报的可能性为:
Figure FDA0003180040130000011
设置k的值为k=ln2*m/n,此时达到最低误报率:
Figure FDA0003180040130000012
依照上述公式依照预期的误报率确定要使用的哈希函数个数;
步骤3:卷积函数为f,使用k个哈希函数进行映射,哈希函数为h1,h2,h3,h4...hk,则卷积特征值和哈希函数映射值在BitSet中的二进制位赋值原理为:初始化一个m位的bit数组,卷积输出和每个哈希函数的输出都是一个(0,m-1)之间的一个数;输入x,对于每一个哈希函数,计算j=hi(x),将m_bit[j]设成1;同理,对于卷积函数每一次卷积操作,计算c=f(x),将m_bit[c]设成1;
步骤4:根据赋值后的BitSet,作为URL的关键字或者标签,进而识别独立URL。
2.如权利要求1所述的基于卷积特征和多重哈希映射的大数据URL去重方法,其特征在于,所述步骤1具体为:
1)过滤掉WAF日志中的多余字段;
2)使用脚本进行标签匹配,过滤静态文件和不符合要求状态码的URL;
3)将域名HOST和URL字符串进行拼接,导出。
3.如权利要求2所述的基于卷积特征和多重哈希映射的大数据URL去重方法,其特征在于,在步骤1中“过滤掉WAF日志中的多余字段”使用scala语言中的filter方法进行过滤,即首先使用scala中的split方法将每条日志按空格符进行分割,随后自定义一个filter方法,其中包含想要过滤的规则。
4.如权利要求3所述的基于卷积特征和多重哈希映射的大数据URL去重方法,其特征在于,在域名HOST和URL字符串进行拼接时,使用scala内置的字符串组合方法“+”进行拼接。
CN201810562678.7A 2018-06-04 2018-06-04 基于卷积特征和多重哈希映射的大数据url去重方法 Active CN108874941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810562678.7A CN108874941B (zh) 2018-06-04 2018-06-04 基于卷积特征和多重哈希映射的大数据url去重方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810562678.7A CN108874941B (zh) 2018-06-04 2018-06-04 基于卷积特征和多重哈希映射的大数据url去重方法

Publications (2)

Publication Number Publication Date
CN108874941A CN108874941A (zh) 2018-11-23
CN108874941B true CN108874941B (zh) 2021-09-21

Family

ID=64335996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810562678.7A Active CN108874941B (zh) 2018-06-04 2018-06-04 基于卷积特征和多重哈希映射的大数据url去重方法

Country Status (1)

Country Link
CN (1) CN108874941B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334251B (zh) * 2019-07-01 2021-10-19 南京邮电大学 一种有效解决rehash冲突的元素序列生成方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958883A (zh) * 2010-03-26 2011-01-26 湘潭大学 一种基于Bloom Filter和开源内核防御SYN Flood攻击的方法
CN103106219A (zh) * 2011-11-15 2013-05-15 盛乐信息技术(上海)有限公司 一种网页抓取方法及***
CN104657350A (zh) * 2015-03-04 2015-05-27 中国科学院自动化研究所 融合隐式语义特征的短文本哈希学习方法
CN104809182A (zh) * 2015-04-17 2015-07-29 东南大学 基于动态可***Bloom Filter的网络爬虫URL去重方法
CN105956068A (zh) * 2016-04-27 2016-09-21 湖南蚁坊软件有限公司 基于分布式数据库的网页url去重方法
CN106295629A (zh) * 2016-07-15 2017-01-04 北京市商汤科技开发有限公司 结构化文本检测方法和***
CN106599022A (zh) * 2016-11-01 2017-04-26 中山大学 基于用户访问数据的用户画像形成方法
CN107832476A (zh) * 2017-12-01 2018-03-23 北京百度网讯科技有限公司 一种搜索序列的理解方法、装置、设备和存储介质
CN107871014A (zh) * 2017-11-23 2018-04-03 清华大学 一种基于深度融合哈希的大数据跨模态检索方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626474B2 (en) * 2010-04-19 2014-01-07 Altera Corporation Simulation tool for high-speed communications links

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958883A (zh) * 2010-03-26 2011-01-26 湘潭大学 一种基于Bloom Filter和开源内核防御SYN Flood攻击的方法
CN103106219A (zh) * 2011-11-15 2013-05-15 盛乐信息技术(上海)有限公司 一种网页抓取方法及***
CN104657350A (zh) * 2015-03-04 2015-05-27 中国科学院自动化研究所 融合隐式语义特征的短文本哈希学习方法
CN104809182A (zh) * 2015-04-17 2015-07-29 东南大学 基于动态可***Bloom Filter的网络爬虫URL去重方法
CN105956068A (zh) * 2016-04-27 2016-09-21 湖南蚁坊软件有限公司 基于分布式数据库的网页url去重方法
CN106295629A (zh) * 2016-07-15 2017-01-04 北京市商汤科技开发有限公司 结构化文本检测方法和***
CN106599022A (zh) * 2016-11-01 2017-04-26 中山大学 基于用户访问数据的用户画像形成方法
CN107871014A (zh) * 2017-11-23 2018-04-03 清华大学 一种基于深度融合哈希的大数据跨模态检索方法及***
CN107832476A (zh) * 2017-12-01 2018-03-23 北京百度网讯科技有限公司 一种搜索序列的理解方法、装置、设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BloomFilter 确定合适的 k(hash函数个数) 值;F_URY;《https://blog.csdn.net/u012400327/article/details/62222922》;20170315;第1页 *
Character-level Convolutional Networks for Text Classification;Xiang Zhang 等;《arXiv:1509.01626v3》;20160404;第2-4页第2部分 *
网络爬虫技术在云平台上的研究与实现;刘小云;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170215(第02期);第18-21页第3.3.2节 *

Also Published As

Publication number Publication date
CN108874941A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
US10579831B2 (en) Verification of data set components using digitally signed probabilistic data structures
US8380680B2 (en) Piecemeal list prefetch
CN110162750B (zh) 文本相似度检测方法、电子设备及计算机可读存储介质
US10216848B2 (en) Method and system for recommending cloud websites based on terminal access statistics
US10078687B2 (en) Deletion of elements from a probabilistic data structure
CN105975459B (zh) 一种词项的权重标注方法和装置
WO2020228182A1 (zh) 基于大数据的数据去重的方法、装置、设备及存储介质
US10263784B2 (en) Signature verification for data set components using probabilistic data structures
WO2017036348A1 (zh) 一种可扩展标记语言xml文档的压缩、解压方法和装置
CN110750731B (zh) 针对新闻舆情的去重方法及***
JP2017532655A (ja) カスケーディングスタイルシートファイルの圧縮
CN104065736A (zh) 一种url重定向方法、装置及***
US20140325327A1 (en) Replacing problem web links using context information
CN111563199A (zh) 一种数据处理方法及装置
US20210109945A1 (en) Self-orchestrated system for extraction, analysis, and presentation of entity data
CN108874941B (zh) 基于卷积特征和多重哈希映射的大数据url去重方法
CN112765966B (zh) 联想词去重方法及装置、计算机可读存储介质和电子设备
CN103618742A (zh) 获取子域名的方法和***以及网站管理员权限验证方法
US20140129543A1 (en) Search service including indexing text containing numbers in part using one or more number index structures
CN104361094A (zh) 搜索结果中文件的保存方法、装置和浏览器客户端
CN115080684B (zh) 网盘文档索引方法、装置、网盘及存储介质
US20190354455A1 (en) Skew detector for data storage system
US11593824B2 (en) System and method for domain name valuation
CA2997922C (en) Deletion of elements from a bloom filter
CN110737748B (zh) 一种文本去重方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 9/F, Block C, No. 28 Tianfu Avenue North Section, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610000

Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 610000, 11th floor, building 2, No. 219, Tianfu Third Street, hi tech Zone, Chengdu, Sichuan Province

Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd.