加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 寻找计算IP地址的算法/类(直方图)

发布时间:2020-12-16 09:41:40 所属栏目:百科 来源:网络整理
导读:我需要一个简单的类来计算网络监控系统中IP地址的分布(直方图).可能存在1到1010个数据包,其中包含1到232个地址(如果我们有IPv6接口,则更多).我理想的是一个C类,它会自动创建直方图,然后,当达到限制时,开始通过某种前缀路由组合不太流行的节点. 有人知道这样
我需要一个简单的类来计算网络监控系统中IP地址的分布(直方图).可能存在1到1010个数据包,其中包含1到232个地址(如果我们有IPv6接口,则更多).我理想的是一个C类,它会自动创建直方图,然后,当达到限制时,开始通过某种前缀路由组合不太流行的节点.

有人知道这样的事情,还是我需要写呢?

谢谢!

解决方法

您所描述的内容听起来像是 Count-Min sketch数据结构的完美用例.该数据结构用于近似来自数据流的各种元素的频率,并且可以被调谐以精确地消耗一定量的存储器.此外,给定固定的内存限制,您可以调整它的准确程度以及与您希望的确切答案的接近程度.我的理解是,谷歌使用这种数据结构来识别频繁的搜索,而不必使用大量的磁盘空间.

另外,数据结构永远不会低估给定值的真实频率.也就是说,如果您想查询您查看给定IP地址的频率,Count-Min草图将始终为您提供一个不小于真实数字的值.

Count-Min草图非常容易实现 – 您只需要一堆不同的哈希函数和一个2D数组.您还可以找到Count-Min草图at Google’s page on the data structure.的各种不同实现

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读