一种基于相似度比较的URL去重方法和系统与流程

文档序号:11134215阅读:1360来源:国知局
一种基于相似度比较的URL去重方法和系统与制造工艺

本发明涉及一种网络信息排序技术,具体地说涉及一种基于相似度比较的URL去重方法和系统。



背景技术:

随着互联网信息爆炸式增长,每一天互联网中的数据都呈现几何式的堆加。用户需要的信息往往会淹没于大量无关信息中,利用搜索引擎获取感兴趣的信息已经成为人们获取信息较为便捷的方式。作为搜索引擎的基础构件之一的网络爬虫,需要从互联网上搜集信息,为用户提供数据来源。搜索结果是否丰富、获得的信息是否没有重合,均与网络爬虫的效率紧密相关。海量的数据对网络爬虫的设计与实现提出了更高的要求,构建分布式网络爬虫系统是一个有效的解决方案。相应地,作为网络爬虫核心关键技术的URL(统一资源定位符)排重方法对爬虫系统的性能影响尤为重要。

目前已有的URL去重方法主要有基于内存的去重和基于数据库的去重。在基于内存的URL去重方式中,爬虫将系统URL全部放在内存中,并使用一个易于查找的数据结构(如哈希表)进行维护,由于哈希函数仅是将任意长度的二进制值映射为固定长度的较小二进制的一个简单换算,而URL所包含网页内容较多时,仅凭哈希值可能有较大误差。



技术实现要素:

为此,本发明所要解决的技术问题在于现有技术中采用哈希函数的布隆过滤器去重存在较大误差,去重效率低。

为解决上述技术问题,本发明所采用的技术方案:

一种基于相似度比较的URL去重方法,包含以下步骤:

S1:导入URL;

S2:提取URL所包含的URL特征,所述URL特征包含URL站点特征;

S3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应;

S4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,查询是否有相似特征,若有,则进行S5步骤;若无,则进行S6步骤;

S5:查询到相似的特征,将所述URL过滤;

S6:未查询到相似的特征,将所述特征存储到布隆过滤器。

所述URL特征还包含URL目录深度特征。

所述URL特征还包含URL一级目录特征。

所述URL特征还包含URL尾页特征。

步骤S4中将提取到的URL特征分别做换算操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征。

一种基于相似度比较的URL去重系统,包含以下模块:

接收模块:导入URL;

提取模块:提取URL所包含的URL特征,所述URL特征包含URL站点特征;

布隆过滤器模块:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应;

特征比对模块:将提取到的URL特征与布隆过滤器中存储的特征进行比对,查询是否有相似特征,若有,则转入过滤模块;若无,则转入更新模块;

过滤模块:查询到相似的特征,将所述URL过滤;

更新模块:未查询到相似的特征,将所述特征存储到布隆过滤器。

所述URL特征还包含URL目录深度特征。

所述URL特征还包含URL一级目录特征。

所述URL特征还包含URL尾页特征。

特征比对模块将提取到的URL特征分别做换算操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征。

本发明的上述技术方案相比现有技术具有以下优点。

本发明的一种基于相似度比较的URL去重方法和系统,通过导入URL并提取URL的特征,将URL特征与布隆过滤器进行比对,如果查询到布隆过滤器中存储有该URL特征对应的特征,则过滤该URL,所述URL特征包括一种以上的特征,代替了现有技术中的哈希函数,可以匹配更准确的URL网页数据。通过相似度比较并过滤可以快速、准确解决网页页面重复或相似的重复爬行或扫描工作,可以提高爬虫以及扫描的有效性和效率。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中,

图1为本发明一种基于相似度比较的URL去重方法的流程图;

图2为本发明一种基于相似度比较的URL去重系统的结构框图。

图中附图标记表示为:1-接收模块;2-提取模块;3-布隆过滤器模块;4-特征比对模块;5-过滤模块;6-更新模块。

具体实施方式

一种基于相似度比较的URL去重方法,包含以下步骤:

S1:导入URL。建立存放URL的数据库URL_DB,一条记录即以字符串方式存放的URL,其格式为:url = u1/u2/u3/…/un,n ≥ 1。

S2:提取URL所包含的URL特征,所述URL特征包含URL站点特征。提取URL中的站点字符节u1。用MD5算法分别计算该URL的各个字符节的特征值。即输入站点字符节u1,输出URL站点特征值m1每个特征值为128位唯一的二进制数字。

S3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应。将URL特征的特征值,如m1做模N操作,得到其在布隆过滤器中对应的bit位信息。所述布隆过滤器在内存建立。针对采集URL数量的不同,在保证冲突率的基础上,确定布隆过滤器和模N的大小,用于URL排重的布隆过滤器构建如下:

(1)通过数据规模及期望的误判率计算所需的内存大小:

用户输入需要排重的URL的数据量k,以及期望的误判率P,这也是构建布隆过滤器需要用户输入的仅有的两个参数。通过公式计算所需内存的大小M bit:

(2)根据M值确定模N操作的N值大小:

S4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,例如将m1做模N操作,得到其在布隆过滤器中对应的bit位信息,并查询布隆过滤器中站点特征值对应的bit位,两者bit位的值是否均为1,若是则认为是具有相似特征。查询是否有相似特征,若有,则进行S5步骤;若无,则进行S6步骤。

S5:查询到相似的特征,则认为该URL已经在数据库URL_DB中,将所述URL过滤。

S6:未查询到相似的特征,即若有任意一个URL特征的值为0;则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的bit位置为1。将所述URL特征存储到布隆过滤器。

所述URL特征还包含URL目录深度特征,值为n。

所述URL特征还包含URL一级目录特征,值为m2。

所述URL特征还包含URL尾页特征,值为mn。

步骤S4中将提取到的URL特征(n、m1、m2、mn)分别做换算(模N)操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征,认为该URL已经在数据库URL_DB中,将其废弃。若有任一URL特征的值为0,则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的4个bit位信息为1。还可以定义和增加更多的URL特征,并在方法的实现中选择使用其中的特征来识别URL。

本发明所述的一种基于相似度比较的URL去重方法结合了URL的结构特征及传统布隆过滤器的结构特征,提取URL具有代表性的多个特征属性,通过这些属性来代表相似的URL,并用这些不同的特征计算出特征值来映射布隆过滤器中的对应位,代替了布隆过滤器中所需的多个哈希函数。

一种基于相似度比较的URL去重系统,如图2所示,包含以下模块:

接收模块1:导入URL。建立存放URL的数据库URL_DB,一条记录即以字符串方式存放的URL,其格式为:url = u1/u2/u3/…/un,n ≥ 1。

提取模块2:提取URL所包含的URL特征,所述URL特征包含URL站点特征。提取URL中的站点字符节u1。用MD5算法分别计算该URL的各个字符节的特征值。即输入站点字符节u1,输出URL站点特征值m1每个特征值为128位唯一的二进制数字。

布隆过滤器模块3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应。将URL特征的特征值,如m1做模N操作,得到其在布隆过滤器中对应的bit位信息。所述布隆过滤器在内存建立。针对采集URL数量的不同,在保证冲突率的基础上,确定布隆过滤器和模N的大小,用于URL排重的布隆过滤器构建如下:

(1)通过数据规模及期望的误判率计算所需的内存大小:

用户输入需要排重的URL的数据量k,以及期望的误判率P,这也是构建布隆过滤器需要用户输入的仅有的两个参数。通过公式计算所需内存的大小M bit:

(2)根据M值确定模N操作的N值大小:

特征比对模块4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,例如将m1做模N操作,得到其在布隆过滤器中对应的bit位信息,并查询布隆过滤器中站点特征值对应的bit位,两者bit位的值是否均为1,若是则认为是具有相似特征。查询是否有相似特征,若有,则转入过滤模块;若无,则转入更新模块。

过滤模块5:查询到相似的特征,则认为该URL已经在数据库URL_DB中,将所述URL过滤。

更新模块6:未查询到相似的特征,即若有任意一个URL特征的值为0;则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的bit位置为1。将所述URL特征存储到布隆过滤器。

所述URL特征还包含URL目录深度特征,值为n。

所述URL特征还包含URL一级目录特征,值为m2。

所述URL特征还包含URL尾页特征,值为mn。

特征比对模块4将提取到的URL特征(n、m1、m2、mn)分别做换算(模N)操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征,认为该URL已经在数据库URL_DB中,将其废弃。若有任一URL特征的值为0,则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的4个bit位信息为1。还可以定义和增加更多的URL特征,并在方法的实现中选择使用其中的特征来识别URL。

本发明所述的一种基于相似度比较的URL去重系统结合了URL的结构特征及传统布隆过滤器的结构特征,提取URL具有代表性的多个特征属性,通过这些属性来代表相似的URL,并用这些不同的特征计算出特征值来映射布隆过滤器中的对应位,代替了布隆过滤器中所需的多个哈希函数。

本发明的一种基于相似度比较的URL去重方法和系统,通过导入URL并提取URL的特征,将URL特征与布隆过滤器进行比对,如果查询到布隆过滤器中存储有该URL特征对应的特征,则过滤该URL,所述URL特征包括一种以上的特征,代替了现有技术中的哈希函数,可以匹配更准确的URL网页数据。通过相似度比较并过滤可以快速、准确解决网页页面重复或相似的重复爬行或扫描工作,可以提高爬虫以及扫描的有效性和效率。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1