一种统一资源定位符语义去重方法、装置、设备和介质制造方法及图纸

技术编号:19692165 阅读:42 留言:0更新日期:2018-12-08 11:16
本申请公开了一种统一资源定位符语义去重方法、装置、设备和介质。该方法包括:确定每个统一资源定位符URL的哈希值;基于每个URL的哈希值,划分若干个URL集合;其中,每个URL集合中的任意两个URL相似;构造每个URL集合的生成树;根据预先设置的分支数量阈值,对所述每个URL集合的生成树进行剪枝,得到所述每个URL集合剪枝后的生成树;遍历所述每个URL集合剪枝后的生成树,得到去重后的URL集合。根据本申请实施例的技术方案,能够有效减少被误删的URL数量。

【技术实现步骤摘要】
一种统一资源定位符语义去重方法、装置、设备和介质
本公开涉及网络
,尤其涉及一种统一资源定位符(UniformResourceLocator,URL)语义去重方法、装置、设备和介质。
技术介绍
在Web应用中,不同的URL对应不同功能接口,提取这些URL是很多实际应用的首要工作,比如在安全渗透测试和URL页面流量统计中需要找出系统中存在的URL信息。在提取URL的过程中,对URL去重可以大幅度地减少冗余URL的数量,提高后续工作的效率。在对URL去重的过程中存在这样一种情况:A组URL列表:http://abc.com/yun/task/1http://abc.com/yun/task/2…http://abc.com/yun/task/100如上述A组URL列表所示,其中包含了100个URL,而实际上这100个URL只包含了1个接口http://abc.com/yun/task/,该接口后的1到100均为该接口的参数,像这种针对内容不同但是语义相同的URL去重过程称为URL语义去重。目前,URL语义去重主要采用基于Hash(哈希)的方法,然而由于基于Hash的方法对局部变化不敏感,因此会导致代表不同功能接口的URL会被误判为代表相同功能接口的URL。B组URL列表:http://abc.com/mat/puthttp://abc.com/mat/get如上述B组URL列表所示,其中包含了2个代表不同功能接口的URL。但是基于Hash的方法会判决B组URL列表中的2个URL为代表相同功能接口的URL。由此可见,目前的URL语义去重方法存在URL误判的问题。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种能够有效减少URL误判的数量的方案。第一方面,本申请实施例提供了一种URL语义去重方法,所述方法包括:确定每个统一资源定位符URL的哈希值;基于每个URL的哈希值,划分若干个URL集合;其中,每个URL集合中的任意两个URL相似;构造每个URL集合的生成树;根据预先设置的分支数量阈值,对所述每个URL集合的生成树进行剪枝,得到所述每个URL集合剪枝后的生成树;遍历所述每个URL集合剪枝后的生成树,得到去重后的URL集合。第二方面,本申请实施例还提供了一种URL语义去重装置,所述装置包括:哈希值确定单元,用于确定每个URL的哈希值;URL集合划分单元,用于基于每个URL的哈希值,划分若干个URL集合;其中,每个URL集合中的任意两个URL相似;生成树构造单元,用于构造每个URL集合的生成树;剪枝单元,用于根据预先设置的分支数量阈值,对所述每个URL集合的生成树进行剪枝,得到所述每个URL集合剪枝后的生成树;遍历单元,用于遍历所述每个URL集合剪枝后的生成树,得到去重后的URL集合。第三方面,本申请实施例还提供了一种设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现上述URL语义去重方法。第四方面,一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现上述URL语义去重方法。本申请实施例提供的URL语义去重方案,首先基于每个URL的哈希值,划分若干个URL集合,然后通过构造每个URL集合的生成树,并根据预先设置的分支数量阈值,对每个URL集合的生成树进行剪枝以及遍历的方式,实现对每个URL集合的URL语义去重。按照本申请实施例的技术方案,能够有效减少被误删的URL数量。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例提供的一种URL语义去重方法的示例性流程图;图2为本申请实施例提供的一种URL语义去重装置的示例性结构框图;以及图3为适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。如图1所示,为本申请实施例提供的一种URL语义去重方法的示例性流程图。该方法包括如下步骤:步骤110,确定每个URL的哈希值。具体的,首先对每个URL进行分词,得到分词列表,再基于每个URL的分词列表,计算每个URL的哈希值。对每个URL进行分词时,可以但不限于按照如下方式实现:去除URL的协议名称,得到该URL的剩余部分,再以该剩余部分中的指定标识作为分隔符,将该剩余部分分成若干个词,得到分词列表。以http://abc.com/mat/put为例,首先去除其协议名称http://,变成abc.com/mat/put,剩下部分以‘/’作为分隔符,将其分成多个词,其分词列表为:abc、com、mat和put。确定出URL的分词列表之后,再基于SimHash算法,生成URL的Hash值,Hash值的位数一般选择64或者128位。步骤120,基于每个URL的哈希值,划分若干个URL集合;其中,每个URL集合中的任意两个URL相似。本申请实施例中可以但不限于按照如下方式实现:循环执行第一指定操作,直至所有URL都被划分到URL集合中;其中,该第一指定操作包括:从未被划分到URL集合的URL中,随机选择一个URL;基于随机选择的URL的哈希值以及未被划分到URL集合的剩余URL的哈希值,从剩余URL中出所有满足预设条件的URL,该预设条件为:与随机选择的URL的海明距离小于预设的相似阈值、且与随机选择的URL具有相同的服务器名称;将所有满足预设条件的URL与随机选择的URL划分到一个URL集合中。在具体实现时,可以采用如下算法:令包含URL的Hash值集合为D,集合元素形式为(url,hash),其中url表示一个具体的URL,hash表示url对应的Hash值,设定的相似阈值为λ,划分URL集合的步骤如下:(1)从D中随机选择1个元素di,并将di从D中删除;(2)对D中每一个dj,利用对应的hash计算di和dj之间的海明距离d,如果di中url包含的服务器名称与dj中url包含的服务器名称相同,并且d<λ,则认为这2个URL是相似的,将di和dj的url归并到同一URL集合中;(3)如果D为空集则结束并输出结果,否则转向第(1)步。步骤130,构造每个URL集合的生成树。本申请实施例中,可以但不限于按照如下方式实现:针对每个URL集合,执行第二指定操作;其中,该第二指定操作包括:首先,确定URL集合中各URL的分词列表;其中,分词过程可以和步骤110中的分词过程相同,在此不再赘述;然后,按照各URL的分词列表中分词的先后顺序,构造一个由多层节点组成的生成树,其中,该生成树的节点层级的上下顺序与各URL的分词列表中分词的先后顺序对应,其每层节点分别由各URL的分词列表中对应顺序的分词组成,且每层节点中不存在相同节点。在具体实现时,可以采用如下算法:令找出的任一个URL集合为U,生成树本文档来自技高网
...

【技术保护点】
1.一种统一资源定位符语义去重方法,其特征在于,所述方法包括:确定每个统一资源定位符URL的哈希值;基于每个URL的哈希值,划分若干个URL集合;其中,每个URL集合中的任意两个URL相似;构造每个URL集合的生成树;根据预先设置的分支数量阈值,对所述每个URL集合的生成树进行剪枝,得到所述每个URL集合剪枝后的生成树;遍历所述每个URL集合剪枝后的生成树,得到去重后的URL集合。

【技术特征摘要】
1.一种统一资源定位符语义去重方法,其特征在于,所述方法包括:确定每个统一资源定位符URL的哈希值;基于每个URL的哈希值,划分若干个URL集合;其中,每个URL集合中的任意两个URL相似;构造每个URL集合的生成树;根据预先设置的分支数量阈值,对所述每个URL集合的生成树进行剪枝,得到所述每个URL集合剪枝后的生成树;遍历所述每个URL集合剪枝后的生成树,得到去重后的URL集合。2.根据权利要求1所述的方法,其特征在于,所述确定每个URL的哈希值,包括:对每个URL进行分词,得到分词列表;基于每个URL的分词列表,计算每个URL的哈希值。3.根据权利要求2所述的方法,其特征在于,对每个URL进行分词,得到分词结果,包括:针对每个URL执行:去除所述URL的协议名称,得到所述URL的剩余部分;以所述剩余部分中的指定标识作为分隔符,将所述剩余部分分成若干个词,得到分词列表。4.根据权利要求1所述的方法,其特征在于,所述基于每个URL的哈希值,划分若干个URL集合,包括:循环执行第一指定操作,直至所有URL都被划分到URL集合中;其中,所述第一指定操作包括:从未被划分到URL集合的URL中,随机选择一个URL;基于随机选择的URL的哈希值以及未被划分到URL集合的剩余URL的哈希值,从所述剩余URL中确定出所有满足预设条件的URL,所述预设条件为:与所述随机选择的URL的海明距离小于预设的相似阈值、且与所述随机选择的URL具有相同的服务器名称;将所有满足所述预设条件的URL与所述随机选择的URL划分到一个URL集合中。5.根据权利要求1所述的方法,其特征在于,所述构造每个URL集合的生成树,包括:针对每个URL集合,执行第二指定操作;其中,所述第二指定操作包括:确定所述URL集合中各URL的分词列表;按照所述各URL的分词列表中分词的先后顺序,构造一个由多层节点组成的生成树,其中,所述生成树的节点层级的上下顺序与所述各URL的分词列表中分词的先后顺序对应,所述生成树的每层节点分别由所述各URL的分词列表中对应顺序的分词组成,且所述每层节点中不存在相同节点。6.根据权利要求5所述的方法,其特征在于,所述根据预先设置的分支数量阈值,对所述每个URL集合的生成树进行剪枝,得到所述每个URL集合剪枝后的生成树,包括:针对每个URL的生成树,执行第三指定操作;其中,所述第三指定操作包括:按照所述URL集合的生成树的节点层级的上下顺序,依次对所述URL集合的生成树的每一层节点执行:判断所述URL集合的生成树的当前层的每个节点的子节点的数量是否大于所述分支数量阈值;当判断出所述当前层的任一节点的子节点的数量大于所述分支数量阈值时,从该节点的子节点中,随机选择任意一个子节点进行保留,同时删除该节点的剩余子节点。7.一种URL语义去重装置,其特征在于,所述装置包括:哈希值确定单元,用于确定每个URL的哈希值;URL集合划分单元,用于基于每个UR...

【专利技术属性】
技术研发人员:张振海罗剑江胡泽柱
申请(专利权)人:顺丰科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1