数据库存储 ip地址段

秋风草木深 2016-09-19 03:34:02
我现在再做一个项目,存储国内的ip地址,存储的方式是按照IP地址段来存储,例如 110.0.0.1---110.0.255.255 中国 山东省 济南市 前一部分是ip地址段,包括起始和结束ip,后面是这个ip地址段被分配的位置,

这个数据库要支持,更新,查找,插入操作。
1 插入操作只在第一次将数据注入数据库时使用,但是需要保持唯一性,否则会出现一个ip属于连个城市的问题
2 查找操作给定一个ip地址,如110.0.0.11 查找出的信息是 中国 山东省 济南市
3.更新操作比较繁琐,主要是因为一下原因:
a:将ip地址段的一部分,被重新划分的另一个地方 例如: 110.0.0.1---110.0.255.255 中国 山东省 济南市 的一部分110.0.2.0--110.0.0.255 被划分到 山东省 德州市
b:将两个ip地址段合并成一个ip地址段,例如:128.0.0.1---128.0.0.50 北京市 128.0.0.51---128.0.0.100 天津市 合并之后是 128.0.0.1----128.0.0.100 北京市
c:将ip地址段的一部分合并到其他ip地址段,例如110.0.0.100 --- 110.0.0.200 河北省 石家庄市 现在这个地址段的前半部分和 110.0.0.20---110.0.0.109 河北 保定 合并,合并后是 110.0.0.20---110.0.0.120 河北保定
另一种情况与之类似,合并的是后半部分 例如 110.0.0.180 ---110.0.0.200 被合并到其他部分

d: 重新将110.0.0.1 ---110.0.255.255 的地址段收回,在此分配给 山东省 济南市 也就是将之前ip地址段全部合并回来

我想了一段时间没有思路,在此向各位请教!!!
...全文
787 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,798

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧