LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Trie. Оно же raidix tree. Подумай про IP не как о числе, а как о бинарной строке. Тебе нужно найти все строки (сети с маской), являющиеся подстрокой из твоей строки (ip).

Нужно dst_ip каждой записи первого файла сматчить по сеть/маска записи второго файла и посчитать байты всех сматченных записей.чтобы в итоге получить число байт которое ушло на AS num как организовать быстрый поиск соответствия? пробегать записью первого файла по второму - в лоб так сказать, видится не оптимальным.

Тебе нужно найти прямое произведение всех элементов двух множеств. Ясен хрен у тебя n^2 будет. Если список сетей отсортируешь, то можешь уложиться в n*log(n).

Вот тебе либа на русте, которая позволяет такое сделать: https://docs.rs/treebitmap/0.4.0/treebitmap/

Исправление hateyoufeel, :

Trie. Оно же raidix tree. Подумай про IP не как о числе, а как о бинарной строке. Тебе нужно найти все строки (сети с маской), являющиеся подстрокой из твоей строки (ip).

Нужно dst_ip каждой записи первого файла сматчить по сеть/маска записи второго файла и посчитать байты всех сматченных записей.чтобы в итоге получить число байт которое ушло на AS num как организовать быстрый поиск соответствия? пробегать записью первого файла по второму - в лоб так сказать, видится не оптимальным.

Тебе нужно найти прямое произведение всех элементов двух множеств. Ясен хрен у тебя n^2 будет. Если список сетей отсортируешь, то можешь уложиться в n*log(n).

Исправление hateyoufeel, :

Trie. Оно же raidix tree. Подумай про IP не как о числе, а как о бинарной строке. Тебе нужно найти все строки (сети с маской), являющиеся подстрокой из твоей строки (ip).

Нужно dst_ip каждой записи первого файла сматчить по сеть/маска записи второго файла и посчитать байты всех сматченных записей.чтобы в итоге получить число байт которое ушло на AS num как организовать быстрый поиск соответствия? пробегать записью первого файла по второму - в лоб так сказать, видится не оптимальным.

Тебе нужно найти прямое произведение всех элементов двух множеств. Ясен хрен у тебя n^2 будет.

Исходная версия hateyoufeel, :

Trie. Оно же raidix tree. Подумай про IP не как о числе, а как о бинарной строке. Тебе нужно найти все строки (сети с маской), являющиеся подстрокой из твоей строки (ip).