[Moscow.pm] Алтернатива subnet_matcher

PEF Secure pef-secure на yandex.ru
Сб Апр 4 21:37:46 PDT 2015


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

Данные в таком виде можно положить в любую базу или просто загрузить в память 
в виде дерева.

-- 
PEF Developer


Подробная информация о списке рассылки Moscow-pm