Сжатие базы IP - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Разное > Объявления о покупке/продаже товаров и услуг
Дата
USD/RUB89.7026
BTC/USD69305.3095
Объявления о покупке/продаже товаров и услуг Также в этом разделе следует размещать и предложения о сотрудничестве.

Закрытая тема
Опции темы Опции просмотра
Старый 28.09.2015, 17:31
Start Post: Сжатие базы IP 
  #11
oso
кодер
 
Аватар для oso
 
Регистрация: 21.01.2008
Сообщений: 315
Бабло: $69585
Arrow

Из обычного списка 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 ноль два шесть
oso вне форума  
Старый 22.12.2015, 05:38   #12
Vitej
Senior Member
 
Регистрация: 21.11.2010
Сообщений: 246
Бабло: $34040
По умолчанию

Цитата:
Сообщение от digg Посмотреть сообщение
сколько весит пустая папка?

типа ../120/0/0.txt

а если еще gzip?
Ебать ты гений , только не забывай про лимит на кол-во дескрипторов на всех vps.

Советую вам книжку по алгоритмизации для первого курса почитать, хотя бы про bloom filter узнайте.
Vitej вне форума  
Старый 22.12.2015, 06:44   #13
hellman
Senior Member
 
Регистрация: 14.09.2007
Сообщений: 367
Бабло: $47895
Отправить сообщение для hellman с помощью ICQ
По умолчанию

вы тут пишите пишите =) а я так и не понял, по маске это все работает или полное совпадение ипа =)))

алгоритмы хранения ваще разные =)
hellman вне форума  
Старый 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, 09:13   #15
4guru
Senior Member
 
Аватар для 4guru
 
Регистрация: 18.08.2007
Сообщений: 546
Бабло: $100666045
Отправить сообщение для 4guru с помощью Skype™
По умолчанию

Цитата:
Сообщение от веломан Посмотреть сообщение
в мускуле же есть INET_ATON
https://www.countryipblocks.net/whic...ton-or-ip2long
__________________
ICQ 30427777
4guru вне форума  
Старый 22.12.2015, 14:42   #16
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,045
Бабло: $1905380
Отправить сообщение для digg с помощью ICQ
По умолчанию

Цитата:
Сообщение от Vitej Посмотреть сообщение
Ебать ты гений , только не забывай про лимит на кол-во дескрипторов на всех vps.

Советую вам книжку по алгоритмизации для первого курса почитать, хотя бы про bloom filter узнайте.
это сильно сЛожно
digg вне форума  
Старый 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
oso
кодер
 
Аватар для oso
 
Регистрация: 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 ноль два шесть
oso вне форума  
Старый 24.12.2015, 05:33   #19
Vitej
Senior Member
 
Регистрация: 21.11.2010
Сообщений: 246
Бабло: $34040
По умолчанию

Цитата:
Сообщение от oso Посмотреть сообщение
Сжатие достигается за счет того, что число от 0 до 255 можно представить в виде одного символа, а также хранится это все в виде определенной структуры.
Ты так скоро откроешь главную тайну и узнаешь о существовании маленьких типов данных, собственных которыми и закодированы символы . Ты, наверное, символы ещё и в utf-8 хранишь.
Ну а дальше и до бинарного хранения данных недалеко...
Vitej вне форума  
Старый 24.12.2015, 06:00   #20
satih
Ебланнед
 
Регистрация: 31.12.2009
Сообщений: 994
Бабло: $218740
Отправить сообщение для satih с помощью ICQ
По умолчанию

откроет тайну и.. ничего не изменится. кто умеет такое писать сам и напишет, кому проще заказать так и сделает. даже если сделать похожую реализацию много по времени и нагрузке не добавит, хз какую тему все пытаются прощупать
__________________
PharmCash - Лучшие условия и профит в фарме. Hold-0, Refunds-0, Commission–50%, CPU+500. Google нас любит!
satih вне форума  
Старый 24.12.2015, 06:02   #21
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,045
Бабло: $1905380
Отправить сообщение для digg с помощью ICQ
По умолчанию

Цитата:
Сообщение от oso Посмотреть сообщение
Создается только 1 файл и никаких папок. Для работы с этим файлом даю функцию, которую нужно вставить в пхп скрипт.

Функция ищет только полное совпадение с ип в базе, т.е. в файле на базе которого сгенрена база, должен быть этот ип. Сжатие достигается за счет того, что число от 0 до 255 можно представить в виде одного символа, а также хранится это все в виде определенной структуры. За счет способа хранения достигается высокая скорость чека.

Возможно и так. Данный продукт для тех, кто хочет использовать еще и большие списки IP.
так большой файл будет каждый раз память забивать
digg вне форума  
Закрытая тема