|
| Дата |
|
USD/RUB | 89.7026 | BTC/USD | 69305.3095 |
|
|
|
Объявления о покупке/продаже товаров и услуг Также в этом разделе следует размещать и предложения о сотрудничестве. |
28.09.2015, 17:31
|
Start Post: Сжатие базы IP
|
кодер
Регистрация: 21.01.2008
Сообщений: 315
Бабло: $69585
|
Из обычного списка IP адресов сделаю сжатую базу и дам функцию написанную на php для проверки IP по базе (есть в ней ip или нет).
Т.е. получаю список IP, и отдаю функцию c файлом базы.
Код:
//Функция возвращает true, если IP есть в базе, в противном случае false.
function check_ip($ip) {...}
Чем полезно сжатие базы: - Высокая скорость работы. Намного быстрее чем простой перебор по файлу. Если раньше при базе ип в 2мб, перебор мог занимать более 0.1 сек и такое использовать в клоаке уже было нежелательно, то теперь можно. Время на проверку менее 0.002 сек (зависит от сервера) Думаю, поисковик любит быстрые сайты.
- Меньший размер файла. База в 1.5мб сжимается до 500кб (по разному бывает) Теперь можно использовать больше IP для определения ботов.
- Извлечь список IP из такой базы сразу не получится, т.е. сохранность вашей базы IP повышается.
Цена за сжатие вашей базы и функцию работы с базой $40.
Скрипт для создания самой базы пока не продаю.
Могу сделать сразу несколько баз, если файлы за один раз получу. (особенно актуально для тех, кто переживает за сохранность своей базы, т.е. можно скинуть 5 баз, и в 4 подмешать левые ip, и я не буду знать какая база ценная)
__________________
php скрипты от $25 Отзывы: 2013-2011, 2010, 2009. acя: 384 846 ноль два шесть
|
|
|
22.12.2015, 05:38
|
#12
|
Senior Member
Регистрация: 21.11.2010
Сообщений: 246
Бабло: $34040
|
Цитата:
Сообщение от digg
сколько весит пустая папка?
типа ../120/0/0.txt
а если еще gzip?
|
Ебать ты гений , только не забывай про лимит на кол-во дескрипторов на всех vps.
Советую вам книжку по алгоритмизации для первого курса почитать, хотя бы про bloom filter узнайте.
|
|
|
22.12.2015, 06:44
|
#13
|
Senior Member
Регистрация: 14.09.2007
Сообщений: 367
Бабло: $47895
|
вы тут пишите пишите =) а я так и не понял, по маске это все работает или полное совпадение ипа =)))
алгоритмы хранения ваще разные =)
|
|
|
22.12.2015, 07:10
|
#14
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,883
Бабло: $1863515
|
Цитата:
Сообщение от 4guru
SELECT * FROM `log` WHERE ip IN (1441535882 , 3641321178 )
|
в мускуле же есть INET_ATON
|
|
|
22.12.2015, 14:42
|
#16
|
$400
Регистрация: 17.05.2009
Сообщений: 14,045
Бабло: $1905380
|
Цитата:
Сообщение от Vitej
Ебать ты гений , только не забывай про лимит на кол-во дескрипторов на всех vps.
Советую вам книжку по алгоритмизации для первого курса почитать, хотя бы про bloom filter узнайте.
|
это сильно сЛожно
|
|
|
22.12.2015, 18:29
|
#17
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,883
Бабло: $1863515
|
Цитата:
Сообщение от 4guru
|
хмм...
Код:
MySQL INET_ATON
foreach ($ip_address as $value) {
$query="SELECT inet_aton('$value')";
$results = mysql_query($query);
while(list ($value) = mysql_fetch_row($results)) {
$time_end = microtime_float();
$time = $time_end - $time_start;
}
}
PHP IP2LONG
foreach ($ip_address as $value) {
$ip = ip2long($value);
$time_end = microtime_float();
$time = $time_end - $time_start;
}
ясен пень, что слазить в БД это дольше, чем... НЕ лазить в БД
А что они потом будут делать с этим ip2long($value) ?
ну конечно же будут класть в БД иначе нахуй оно нужно
только зачем это считать, когда у тебя 100й лвл
Т.е. у них тест с расчётом на то, что они его куда-то в REDIS потом положат, а не в MySQL.
но так бывает редко.
хотя разница в 10 раз конечно заслуживает внимания
только вот ip2long() не умеет ip6 вроде как
Последний раз редактировалось веломан; 22.12.2015 в 18:38.
|
|
|
24.12.2015, 05:24
|
#18
|
кодер
Регистрация: 21.01.2008
Сообщений: 315
Бабло: $69585
ТС -->
|
ТС
Цитата:
Сообщение от digg
сколько весит пустая папка?
типа ../120/0/0.txt
а если еще gzip?
|
Создается только 1 файл и никаких папок. Для работы с этим файлом даю функцию, которую нужно вставить в пхп скрипт.
Цитата:
вы тут пишите пишите =) а я так и не понял, по маске это все работает или полное совпадение ипа =)))
алгоритмы хранения ваще разные =)
|
Функция ищет только полное совпадение с ип в базе, т.е. в файле на базе которого сгенрена база, должен быть этот ип. Сжатие достигается за счет того, что число от 0 до 255 можно представить в виде одного символа, а также хранится это все в виде определенной структуры. За счет способа хранения достигается высокая скорость чека.
Цитата:
Для клоаки хватит штук 50 блоков cidr
|
Возможно и так. Данный продукт для тех, кто хочет использовать еще и большие списки IP.
__________________
php скрипты от $25 Отзывы: 2013-2011, 2010, 2009. acя: 384 846 ноль два шесть
|
|
|
24.12.2015, 05:33
|
#19
|
Senior Member
Регистрация: 21.11.2010
Сообщений: 246
Бабло: $34040
|
Цитата:
Сообщение от oso
Сжатие достигается за счет того, что число от 0 до 255 можно представить в виде одного символа, а также хранится это все в виде определенной структуры.
|
Ты так скоро откроешь главную тайну и узнаешь о существовании маленьких типов данных, собственных которыми и закодированы символы . Ты, наверное, символы ещё и в utf-8 хранишь.
Ну а дальше и до бинарного хранения данных недалеко...
|
|
|
24.12.2015, 06:00
|
#20
|
Ебланнед
Регистрация: 31.12.2009
Сообщений: 994
Бабло: $218740
|
откроет тайну и.. ничего не изменится. кто умеет такое писать сам и напишет, кому проще заказать так и сделает. даже если сделать похожую реализацию много по времени и нагрузке не добавит, хз какую тему все пытаются прощупать
__________________
PharmCash - Лучшие условия и профит в фарме. Hold-0, Refunds-0, Commission–50%, CPU+500. Google нас любит!
|
|
|
24.12.2015, 06:02
|
#21
|
$400
Регистрация: 17.05.2009
Сообщений: 14,045
Бабло: $1905380
|
Цитата:
Сообщение от oso
Создается только 1 файл и никаких папок. Для работы с этим файлом даю функцию, которую нужно вставить в пхп скрипт.
Функция ищет только полное совпадение с ип в базе, т.е. в файле на базе которого сгенрена база, должен быть этот ип. Сжатие достигается за счет того, что число от 0 до 255 можно представить в виде одного символа, а также хранится это все в виде определенной структуры. За счет способа хранения достигается высокая скорость чека.
Возможно и так. Данный продукт для тех, кто хочет использовать еще и большие списки IP.
|
так большой файл будет каждый раз память забивать
|
|
|
|