Есть
1. файл с информацией об IP пакетах - src_ip,dst_ip, bytes. в котором порядка 8452к записей и их число растет
2. файл с информацией - сеть/маска , AS num. в котором порядка 866к записей
Нужно dst_ip каждой записи первого файла сматчить по сеть/маска записи второго файла и посчитать байты всех сматченных записей.чтобы в итоге получить число байт которое ушло на AS num
как организовать быстрый поиск соответствия? пробегать записью первого файла по второму - в лоб так сказать, видится не оптимальным.
можно табличку с результатами использовать как КЭШ, т.е. сначала по ней искать, в случае не нахождения по табличке в которую положу весь файл п.2 вычеркивая из табличики файла п.2 запись
либо составить дерево с ветками по первому октету сети и разбить табличку с файлом п.2 на 255 веток и уже после сделать тупой перебор
Можно привести строку файла п.2. к записи в которой сеть преобразовать к диапазону целых чисел - 1 поле - число с которого начинается сеть и 2 поле - число которым заканчивается сеть
Какими могут быть подходы для сокращения преобразований и ускорения поиска ?