免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1814 | 回复: 5

mysql 存储ip地址段 [复制链接]

论坛徽章:
0
发表于 2016-09-18 10:56 |显示全部楼层
我现在再做一个项目,存储国内的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地址段全部合并回来

我想了一段时间没有思路,在此向各位请教!!!

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
发表于 2016-09-18 17:46 |显示全部楼层
回复 1# 806096086

1. IP 地址段至少得分成两个字段存储吧,一个起,一个止这样才好处理嘛
2. 另外可以考虑用十进制的 IP 格式进行存储,这样处理起来更快更容易

论坛徽章:
0
发表于 2016-09-19 09:35 |显示全部楼层
这些是一方面,比较容易实现的,现在比较难实现的是ip地址段的更新操作,你有什么比较好的想法吗

论坛徽章:
0
发表于 2016-09-19 09:36 |显示全部楼层
我现在的存储是按照一个开始,一个结束存储的

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
发表于 2016-09-20 18:16 |显示全部楼层
十进制,四段存储

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-08-31 06:20:00操作系统版块每日发帖之星
日期:2015-10-06 06:20:00操作系统版块每日发帖之星
日期:2015-10-07 06:20:00每日论坛发贴之星
日期:2015-10-07 06:20:00
发表于 2016-10-14 16:06 |显示全部楼层
厉害,高手,我是看不明白,支持一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP