[Moscow.pm] Написал интерфейс к базе от ipgeobase.ru

Ruslan Zakirov ruslan.zakirov на gmail.com
Пн Ноя 30 13:53:29 PST 2009


Привет,

Поискал вчера пересечения. Да, есть они там и их относительно не
много. Вернее так. Есть несколько больших блоков, которые относятся к
целым регионам, но некоторые мелкие блоки внутри находятся по данным в
другой части страны. Странно все это. Можно попытаться сравнить данные
с maxmind'ом и оценить разницу, но это отдельная задача для тех, кто
нуждается в абсолютно точной локации.

2009/11/29 spleenjack <spleenjack на gmail.com>:
> Год назад прикручивал гео-локацию с использованием этой базы. Долго
> ковырялся с форматом и с самими данными.
>
> Выяснилось, что там много неконсистентности, пропусков и ошибок с наложением
> диапазонов. Например,  диапазон 1-10 отмечен как Москва, и далее идет три
> поддиапазона: 3-5 на Владивосток, 5-7 на Питер, 9 на Тверь. Здесь перекрытие
> 5-ки (непонятно, куда именно она относится), нет поддиапазонов для 1-2, 8 и
> 10.
>
> А так как каждый ip нужно было определять быстро и однозначно, пришлось
> такие ошибки отлавливать, правильно разбивать вложенные диапазоны,
> отлавливать дырки и прочее. (Плюс была причина в связке с украинскими
> диапазонами, взятыми из базы от maxmind, но это в принципе неважно).
>
> Может такие заморочки и не нужны вовсе, да и база сама наверняка уже стала
> точнее и правильнее. Так, а я вообще к чему все это?.. :) Либа может такие
> непонятки отлавливать?
>
> Ruslan Zakirov пишет:
>>
>> Всем привет,
>>
>> Недавно мы обсуждали определение положения по IP адресу. Мне
>> посоветовали БД от http://ipgeobase.ru.
>>
>> Я рад, что существует такой ресурс. Был немного удивлен примерами кода
>> и очень удивлен структурой БД. Код на perl страшен, достаточно сделать
>> для него perltidy и он уже становится читабельный. Алгоритм тоже не
>> сахар, но это издержки структуры файла. Переключение на указание
>> смещения вместо номеров строк, позволит сделать быстрый поиск прямо из
>> файлов без полного сканирования или загрузки их в память.
>>
>> В итоге решил отказаться от работы с файлами и заливать все в табличку
>> БД. Написал скрипт обновления БД и модуль для работы. Пока не на
>> CPANе, но если не будет конструктивной критики и успешно уйдет в
>> продакшн, то залью на цпан и в гитхаб.
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Best regards, Ruslan.


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