[发明专利]一种基于多级哈希索引链表的大规模URL匹配方法有效
申请号: | 201610547660.0 | 申请日: | 2016-07-12 |
公开(公告)号: | CN106227741B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 何清林;马秀娟;张家琦;王子厚;王大伟;朱佳伟;刘培朋;李海灵 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;H04L29/06 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 代丽;仇蕾安 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于多级哈希索引链表的大规模URL的匹配方法。使用本发明能够快速、准确地进行URL匹配,系统资源消耗小。本发明根据URL均具有“DOMAIN‑NAME/DIRECT‑1/DIRECT‑2/.../DIRECT‑N”结构这一特点,利用URL各级的哈希值建立与URL多级结构相对应的多级哈希索引链表,然后利用该索引链表,基于URL结构特性对待匹配的ULR从“DOMAIN‑NAME”开始扫描匹配,进而能够实现快速、准确的URL匹配,从而能够实现大规模URL的实时在线快速匹配,系统资源消耗小。 | ||
搜索关键词: | 一种 基于 多级 索引 大规模 url 匹配 方法 | ||
【主权项】:
1.一种基于多级哈希索引链表的大规模URL的匹配方法,其特征在于,所述URL具有如下结构:DOMAIN‑NAME/DIRECT‑1/DIRECT‑2/.../DIRECT‑N;所述匹配方法包括如下步骤:步骤1,建立基于多级哈希索引链表的URL特征集,具体为:步骤1.1,对所有恶意URL进行去重处理;步骤1.2,建立与URL结构相对应的多级哈希索引链表,具体为:步骤1.2.1,建立一级哈希数组A1[n],其中,n为哈希数组空间的大小,其值根据恶意URL中DOMAIN‑NAME的数量而定;所述数组A1[n]的各元素指向各自的链表1,所述链表1中的每一个节点有四个元素:DOMAIN‑NAME字符值、DOMAIN‑NAME字符串的长度、下一级哈希数组的指针和URL特征集的ID;步骤1.2.2,针对恶意URL集中的每一个URL,计算其DOMAIN‑NAME字符值的哈希值,将DOMAIN‑NAME的哈希值i满足1≤i≤n的URL插入到一级哈希数组的第i个元素A1[i]的指向链表1中;将DOMAIN‑NAME的哈希值i满足i>n的URL插入到元素A1[i%n]的指向链表1中;其中,i%n表示哈希值i对n取模;步骤1.2.3,针对每一个DOMAIN‑NAME,如果其后续的DIRECT‑1字段为空,则标记链表1中该节点的下一级哈希数组的指针为空,链表1中该节点的URL特征集的ID记录为该URL在特征集中的唯一标识ID;如果后续的DIRECT‑1字段不为空,则生成二级哈希数组A2[n2],标记链表1中该节点的下一级哈希数组的指针为二级哈希数组A2[n2],链表1中该节点的URL特征集的ID记录为该URL在特征集中的唯一标识ID;其中n2根据该DOMAIN‑NAME后面所跟的不同DIRECT‑1字符的个数而定;数组A2[n2]的各元素指向各自的链表2,所述链表2中的每一个节点有四个元素:DIRECT‑1字符值、DIRECT‑1字符串的长度、下一级哈希数组的指针和URL特征集的ID;计算DIRECT‑1的哈希值j,如果0≤j≤n2,则将DIRECT‑1哈希值为j的URL插入到A2[j]的指向链表2中;如果j>n2,则将URL插入到A2[j%n2]的指向链表2中;其中,j%n2表示哈希值j对n2取模;步骤1.2.4,依次类推,按照步骤1.2.3建立下一级哈希数组,直到当其字段的后续字段为空,获得多级哈希索引链表;步骤2,针对待匹配的URL,根据其结构DOMAIN‑NAME/DIRECT‑1/DIRECT‑2/.../DIRECT‑N,从DOMAIN‑NAME开始从前往后进行与步骤1获得的多级哈希索引链表进行扫描匹配。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心,未经国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610547660.0/,转载请声明来源钻瓜专利网。