[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