[发明专利]海量URL匹配算法在审
申请号: | 201110411031.2 | 申请日: | 2011-12-12 |
公开(公告)号: | CN102521348A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 张水华 | 申请(专利权)人: | 上海西默通信技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201100 上海市嘉*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 海量 url 匹配 算法 | ||
技术领域
本发明涉及字符串比较方面,尤其是海量url匹配算法的改进。
背景技术
随着计算机网络的发展,通过网络进行娱乐,工作,休闲等已经占据着生活的大部分时间,万维网的应用已占因特网通信量的90%,从而影响到工作效率。在这种情况下,需要对访问的url进行类型识别和过滤,进而对访问的url进行控制,提高工作效率。在匹配识别url的过程中,提高效率是非常重要的,本文就基于以上的背景设计的海量url匹配算法,极大的缩短了url匹配时间,提高了准确率,使得url过滤更加的高效。
发明内容
为解决上述技术问题,本发明根据实际网络应用中的相关特点进行分析并提出了一种海量url匹配的算法。
一种海量url匹配的算法,包括以下步骤:
1、对一条url进行一定的运算,可以得到一个整数,把这个整数进行hash后,得到一个hash值,即存放在hash表中的位置。
2、对一条url进行不同的运算,得到三个整数:num1、num2、num3。对num1、num2、num3分别进行hash,得到hash值key1、key2、key3。
3、把得到的key2、key3分别存放到node结构体中,然后以key1作为该节点在hash表中的位置。当hash表中的该位置已经有节点node1(和node一样的节点)了,则添加到node1节点的next指针,形成一个链表。
4、读取海量url库中的下一条url,然后跳转到步骤2顺序执行,直到url库的数据读完位置。
5、当获得到一条url1时,它需要和海量url库中的所有url匹配,这时只需要对url1执行步骤2,得到了key1、key2、key3,这时只要遍历hash表中key1位置的链表:
A、遍历该链表的每一个节点,并用上面得到的key1、key2分别和节点中key1、key2相比较,如果都相等,则在url库中匹配到url1。
B、如果已经遍历完链表,还没有找到一个相等的节点,则此url不在url库中。
附图说明
图1是本发明算法中hash表和节点图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
一种海量url匹配的算法,包括以下步骤:
1、对一条url进行一定的运算,可以得到一个整数,把这个整数进行hash后,得到一个hash值,即存放在hash表中的位置。
2、对一条url进行不同的运算,得到三个整数:num1、num2、num3。对num1、num2、num3分别进行hash,得到hash值key1、key2、key3。
3、把得到的key2、key3分别存放到node结构体中,然后以key1作为该节点在hash表中的位置。当hash表中的该位置已经有节点node1(和node一样的节点)了,则添加到node1节点的next指针,形成一个链表。
4、读取海量url库中的下一条url,然后跳转到步骤2顺序执行,直到url库的数据读完位置。
5、当获得到一条url1时,它需要和海量url库中的所有url匹配,这时只需要对url1执行步骤2,得到了key1、key2、key3,这时只要遍历hash表中key1位置的链表:
A、遍历该链表的每一个节点,并用上面得到的key1、key2分别和节点中key1、key2相比较,如果都相等,则在url库中匹配到url1。
B、如果已经遍历完链表,还没有找到一个相等的节点,则此url不在url库中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海西默通信技术有限公司,未经上海西默通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110411031.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种小型化氢火焰离子化检测装置
- 下一篇:一种航天器水平调节吊具的调节方法