mmdb_china_ip_list icon indicating copy to clipboard operation
mmdb_china_ip_list copied to clipboard

IP CIDR 融合问题

Open MaurUppi opened this issue 1 year ago • 3 comments

@alecthw 请教一下

根据你的描述

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

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

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

MaurUppi avatar Jan 05 '24 07:01 MaurUppi

@alecthw 请教一下

根据你的描述

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

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

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

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

alecthw avatar Jan 05 '24 09:01 alecthw

@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).

MaurUppi avatar Jan 05 '24 11:01 MaurUppi

@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 avatar Jan 05 '24 12:01 alecthw