История изменений
Исправление
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).