Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Хранение айпи адресов в базе и поиск сводобного (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/hranenie-ajpi-adresov-v-baze-i-poisk-svodobnogo-387233/)

Guest 16.10.2011 15:09

Хранение айпи адресов в базе и поиск сводобного
 
Здравствуйте!Возникла такая задача - есть таблица в базе данных где будут лежать айпи-адреса и информация о них.Записей около двух-трех тысяч.Нужно сделать возможность поиска "свободного" адреса (который еще не фигурировал) в пределах /24 и ./23 подсетей. (образно, /24 подсеть это 256 разных адресов вида X.Y.Z.1-254, /23 это 512 адресов вида X.Y.[Z,Z+1].1-254)Разобраны адреса хаотично, тоесть идут не подряд. Задача состоит в том, чтобы найти свободный адрес и предложить его пользователю.Вопрос как это лучше сделать?Я вижу два пути:1) Просто добавлять записи как они есть, а при необходимости поиска делать выборку всех адресов в пределах подсети (их будет максимум 256 либо 512 в зависимости от требований поиска) с сортировкой по адресу, и уже в скрипте пройтись по полученному массиву и в случае обнаружения "дыры" давать ответ.2) Изначально "забить" все возможные адреса в базу, и сделать им флаг "свободен", далее все просто соответственно.Но оба они кажутся мне немного избыточными )Может быть есть-какие либо более хитрые пути? например придумать какого-либо вида хеш таблицу или что-то вроде...Спасибо.


Часовой пояс GMT, время: 22:41.


© www.otvetnemail.ru - Форум вопросов и ответов.