[发明专利]IP地址列表匹配方法及装置有效
申请号: | 201310491465.7 | 申请日: | 2013-10-18 |
公开(公告)号: | CN103581358B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 刘建兴 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ip 地址 列表 匹配 方法 装置 | ||
技术领域
本发明涉及网络通信技术领域,特别涉及一种IP地址列表匹配方法及装置。
背景技术
网络设备在进行网络通信时,经常需要将某一IP地址与IP地址列表进行匹配(例如,网络设备为负载均衡设备时,负载均衡设备需要将IP地址与互联网服务提供商ISP的网络地址列表进行匹配,以选择对应的ISP)。
由于现有的IP地址列表匹配方法为了保证匹配效率,需要占用网络设备的内存中一大段连续的存储空间,从而降低了网络设备的内存使用效率,并且存在分配一大段连续的存储空间失败带来的风险。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提高网络设备的内存使用效率,并且排除分配一大段连续的存储空间失败带来的风险。
(二)技术方案
为解决上述技术问题,本发明提供了一种IP地址列表匹配方法,所述方法包括以下步骤:
S1:获取IP地址列表,所述IP地址列表为双向链表结构,所述双向链表中各节点按照IP地址的大小顺序依次连接;
S2:将待匹配IP地址与所述IP地址列表进行匹配,以获得匹配结果。
其中,步骤S1包括:
S101:接收所有合法IP地址段,并将所述合法IP地址段中存在交集的IP地址进行合并处理;
S102:将合并处理后的IP地址按照大小进行排序,将IP地址作为节点按照排序结果生成IP地址列表。
其中,步骤S102中,按照从小到大进行排序。
其中,步骤S2包括:
S201:获取所述IP地址列表的长度N,所述N为大于1的整数,所述IP地址列表的第一个节点为起始节点,所述IP地址列表的最后一个节点为末尾节点;
S202:选择所述IP地址列表中的一个节点作为当前节点;
S203:设所述当前节点的序号为X,所述当前节点与所述待匹配IP地址进行匹配,若匹配成功,则直接结束流程,否则执行步骤S204;
S204:判断查找方向是否发生变化过,若是,则执行步骤S208,否则执行步骤S205;
S205:判断所述待匹配IP地址是否在所述当前节点之前,若是,则执行步骤S206,否则执行步骤S207;
S206:判断当前节点的序号是否为偶数,若是,则记录当前查找方向为逆向,将当前节点作为新的末尾节点,并将所述IP地址列表中的第个节点作为新的当前节点,返回步骤S203;若否,则将所述IP地址列表中的第X-1个节点作为新的当前节点,返回步骤S203;
S207:判断当前节点的序号是否为偶数,若是,则将所述IP地址列表中的第X+1个节点作为新的当前节点,返回步骤S203;若否,则记录当前查找方向为正向,将当前节点作为新的起始节点,并将所述IP地址列表中的第个节点作为新的当前节点,返回步骤S203,当不为整数时,则对采用向上取整或四舍五入取整;
S208:沿当前查找方向对所述IP地址列表进行顺序查找,直至查找到与所述待匹配IP地址相匹配的节点、起始节点或末尾节点时,结束流程。
其中,步骤S202中,选择所述IP地址列表中的第个节点作为当前节点,当不为整数时,则对采用向上取整或四舍五入取整。
本发明还公开了一种IP地址列表匹配装置,所述装置包括:
列表获取模块,用于获取IP地址列表,所述IP地址列表为双向链表结构,所述双向链表中各节点按照IP地址的大小顺序依次连接;
地址匹配模块,用于将待匹配IP地址与所述IP地址列表进行匹配,以获得匹配结果。
其中,所述列表获取模块包括:
合并处理子模块,用于接收所有合法IP地址段,并将所述合法IP地址段中存在交集的IP地址进行合并处理;
排序生成子模块,用于将合并处理后的IP地址按照大小进行排序,将IP地址作为节点按照排序结果生成IP地址列表。
其中,排序生成子模块中,按照从小到大进行排序。
其中,地址匹配模块包括:
长度获取子模块,用于获取所述IP地址列表的长度N,所述N为大于1的整数,所述IP地址列表的第一个节点为起始节点,所述IP地址列表的最后一个节点为末尾节点;
选择子模块,用于选择所述IP地址列表中的一个节点作为当前节点;
匹配子模块,用于设所述当前节点的序号为X,所述当前节点与所述待匹配IP地址进行匹配;
查找方向判断子模块,用于判断查找方向是否发生变化过;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310491465.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于植保机械的抛洒盘
- 下一篇:组合鱼竿