首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 安全技术 > 服务器安全 >

以IP为关键字的高效hash算法设计

2012-03-08 
求助:以IP为关键字的高效hash算法设计本人想做一个网络检测程序,现在需要存储采集到的数据包到内存,然后对

求助:以IP为关键字的高效hash算法设计
本人想做一个网络检测程序,现在需要存储采集到的数据包到内存,然后对时间内t内采集到的数据作分析,接下来继续采集,再做分析。 
  第一步分析需要对该时间t内的IP(源和目的)相同的数据包做整体分析,这就要求我们能够快速的查找到(或者说提取出)所有IP对相同的数据包;第二步分析要求做到能够根据{IP,port}值(可以是源IP和源端口,或目的目的IP和目的端口)快速查找到所有包含该{IP,Port}的数据包。 
  问题是用什么样的数据结构来存储采集到的数据包,可以使后两步的分析方便的实现。 
  我的基本思路是建立hash表存储,但始终找不到好的哈希函数来实现后两步分析的快速查找。请大虾们赐教,给点建议!!!

[解决办法]
可以建两级的table
第一级:两个table,按源ip索引;按目的IP索引
第二级:建2个table,一个按目的/源IP索引;按port索引

每个索引可以用平衡树,不一定要用hash,用hash的话需要预先估计总数量,否则数据比预先估计的大很多的话,冲突会很厉害,影响效率
[解决办法]
用sqlite吧,已经封装好了,就像你用sql数据库一样方便

热点排行