lorien
Новичок
определение географии по ip в счётчике
Пишу счётчик. Иноформация собирается в сырой лог, потом парсится N-ыми кусками. При парсинге требуется определять географию по ip-адресу.
Как это лучше сделать? Скрипт будет постоянно висеть в памяти, так что я думаю, чтобы базу не мучать, надо бы это всё дело загрузить в память.
Как можно организовать хранение диапазонов с целью наибыстрейшего поиска в них?
Пока на ум приходит только такое:
Массив с числовыми индексами, каждый элемент которого является массивом вида(начало диапазона, конец диапазона, ID страны)
Элементы глобального массива упорядочены по возрастанию начала диапазона каждого подмассива....
Я имею в виду:
Затем берём ip-адрес и смотрим в какой половинке массива он находицца, потом берём половинку половинки и т.д.
У кого-нить есть предложения, замечания?
Пишу счётчик. Иноформация собирается в сырой лог, потом парсится N-ыми кусками. При парсинге требуется определять географию по ip-адресу.
Как это лучше сделать? Скрипт будет постоянно висеть в памяти, так что я думаю, чтобы базу не мучать, надо бы это всё дело загрузить в память.
Как можно организовать хранение диапазонов с целью наибыстрейшего поиска в них?
Пока на ум приходит только такое:
Массив с числовыми индексами, каждый элемент которого является массивом вида(начало диапазона, конец диапазона, ID страны)
Элементы глобального массива упорядочены по возрастанию начала диапазона каждого подмассива....
Я имею в виду:
PHP:
$ranges = array(
'0' => array(0,23,3),
'1'=> array(25,333,13),
'2'=> array(334,2323,9)
);
У кого-нить есть предложения, замечания?
В чём прикол я пока не понял.