alecthw / mmdb_china_ip_list

Geoip MaxMind Database for china ip list! This is also an example of generating MaxMind Database!
MIT License
1.05k stars 78 forks source link

IP CIDR 融合问题 #22

Closed MaurUppi closed 7 months ago

MaurUppi commented 11 months ago

@alecthw 请教一下

根据你的描述

由于构建mmdb,后者覆盖前者的特性,ip列表的插入顺序如下:

  1. Clang.CN
  2. 纯真CN数据库 国内大陆 IP 段
  3. china_ip_list

后者覆盖前者的特性 是否指的是 往mmdb插入数据的时候,利用数据库不可插入重复数据的特性,完成上述CIDR数据的融合呢? 即,没有使用例如GO语言现成的库(或者你手写了),首先处理完TXT文本CIDR的处理,才往MMDB导入?

alecthw commented 11 months ago

@alecthw 请教一下

根据你的描述

由于构建mmdb,后者覆盖前者的特性,ip列表的插入顺序如下:

  1. Clang.CN
  2. 纯真CN数据库 国内大陆 IP 段
  3. china_ip_list

后者覆盖前者的特性 是否指的是 往mmdb插入数据的时候,利用数据库不可插入重复数据的特性,完成上述CIDR数据的融合呢? 即,没有使用例如GO语言现成的库(或者你手写了),首先处理完TXT文本CIDR的处理,才往MMDB导入?

没有预处理,直接插入的。数据不可重复,后插入的会覆盖前者。

MaurUppi commented 11 months ago

@alecthw 请教一下 根据你的描述

由于构建mmdb,后者覆盖前者的特性,ip列表的插入顺序如下:

  1. Clang.CN
  2. 纯真CN数据库 国内大陆 IP 段
  3. china_ip_list

后者覆盖前者的特性 是否指的是 往mmdb插入数据的时候,利用数据库不可插入重复数据的特性,完成上述CIDR数据的融合呢? 即,没有使用例如GO语言现成的库(或者你手写了),首先处理完TXT文本CIDR的处理,才往MMDB导入?

没有预处理,直接插入的。数据不可重复,后插入的会覆盖前者。

感谢答复。

如果是数据不可重复,后插入的会覆盖前者的逻辑,相当于就是利用数据库本身的规则,但就是得特别注意插入文件顺序的原因了。

我还想着是不是先用类似如下的工具会更好点呢: ip_compact "Compact" a list of IP prefixes (removing duplicates, merging adjacent ranges).

alecthw commented 11 months ago

@alecthw 请教一下 根据你的描述

由于构建mmdb,后者覆盖前者的特性,ip列表的插入顺序如下:

  1. Clang.CN
  2. 纯真CN数据库 国内大陆 IP 段
  3. china_ip_list

后者覆盖前者的特性 是否指的是 往mmdb插入数据的时候,利用数据库不可插入重复数据的特性,完成上述CIDR数据的融合呢? 即,没有使用例如GO语言现成的库(或者你手写了),首先处理完TXT文本CIDR的处理,才往MMDB导入?

没有预处理,直接插入的。数据不可重复,后插入的会覆盖前者。

感谢答复。

如果是数据不可重复,后插入的会覆盖前者的逻辑,相当于就是利用数据库本身的规则,但就是得特别注意插入文件顺序的原因了。

我还想着是不是先用类似如下的工具会更好点呢: ip_compact "Compact" a list of IP prefixes (removing duplicates, merging adjacent ranges).

没必要,结果是一样的,数据库本身是个树匹配