[Moscow.pm] Алтернатива subnet_matcher
Nick Knutov
mail на knutov.com
Сб Апр 4 23:26:30 PDT 2015
Да, это стандартное решение (только, скорее, первый и последний ип и
дальше запрос с between).
Но в случае, если засунуть это в мускль - не хватает производительности.
С sqlite ещё хуже (и нужна параллельность).
Вы знаете какой-то модуль, который позволил бы держать всё это в памяти
перл скрипта и делать запросы с between или >= and <= средствами перла?
05.04.2015 9:37, PEF Secure пишет:
> On Saturday, April 04, 2015 19:14:06 Nick Knutov wrote:
>> Есть трехмагабайтный список формата
>> ip/bitmask $category
>> Например
>> 1.2.3.4/24 5
>>
>> Требуется по ип очень быстро получить $class.
>> использую Net::Subnet.
> Я бы сделал так: айпи переводится в число. Маска задаёт количество хостов.
> Преобразованные данные такие:
> ip, hosts, category
>
> Поиск категории превращается в поиск по условию:
> ip <= $ip && $ip < ip + hosts
>
> Данные в таком виде можно положить в любую базу или просто загрузить в память
> в виде дерева.
>
--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130
Подробная информация о списке рассылки Moscow-pm