|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Сервис коротких урлов, каков алгоритм? |
|
Сервис коротких урлов, каков алгоритм?
|
Ветеран Сообщения: 1862 |
Есть ведь такие сервисы, самый известный - tinyurl.com. Мне вот интересно, как реализуется алгоритм по нахождению уникального слова. Ведь чем больше слов, тем дольше искать. Если в базе миллион слов, то придётся сравнивать каждое новое слово с уже используемыми. Или может сразу генерируется вся база слов, а потом просто делается связь слова со ссылкой. Правда база изначально будет вмещать несколько миллионов записей. Вот как лучше сделать?
|
|
------- Отправлено: 17:16, 14-07-2009 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Sham:
Генерация должна быть логической, ну а как это будет? Рандомное слово - нелогически Изменение одной буквы - логически, но как то по простому ![]() Взять по одной букве со слова в урле - но как это уместить в 6 букв и что-то не могу придумать логику. Хэш брать от строки, так он как минимум 32 символный. Больше ничего придумать не могу. |
|
------- Отправлено: 23:44, 15-07-2009 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Цитата Igor_I:
![]() |
|
Отправлено: 13:46, 16-07-2009 | #12 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Что-то не могу сообразить как реализовать увеличение буквы на следующую.
Может использование goto поможет, пока тему отодвинул. |
------- Отправлено: 22:49, 21-07-2009 | #13 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Цитата Igor_I:
![]() |
|
------- Отправлено: 02:27, 23-07-2009 | #14 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать проще сделать массив, и рулить индексами....
|
Отправлено: 03:18, 23-07-2009 | #15 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать BASSON_XVI, ну почему глупость, так и есть. Но я не знаю как изменять вторую букву, если с первой дошли до z.
Sham, массив чего? |
------- Отправлено: 08:21, 23-07-2009 | #16 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Ну наверно если на первой дошли до z надо её менять на начальную букву алфавита то есть а и перебирать вторую
![]() ![]() ![]() |
------- Отправлено: 12:13, 23-07-2009 | #17 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать
Как то так не подойдет? ![]() |
------- Отправлено: 17:04, 23-07-2009 | #18 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Цитата Igor_I:
строку (набор предыдущих сгенерированных символов) разбиваем str_split в массив побуквенно, буквы преобразуем в числа по индексам $sym, и делаем инкремент последнего числа в массиве... там нюансы, но чисто арифметические... в конце преобразуем к первоначальному виду и делаем implode... Цитата BASSON_XVI:
впервые вижу объявление функций внутри функции... |
||
Последний раз редактировалось Sham, 23-07-2009 в 17:54. Причина: explode не хочет пустой delimiter Отправлено: 17:18, 23-07-2009 | #19 |
Ветеран Сообщения: 7273
|
Профиль | Отправить PM | Цитировать А если нагенерить эти самые рандомные УРЛ-ы (неважно, как), поместить в таблицу, сопоставить каждому порядковый номер. Зашел клиент - получил по порядковому номеру рандомную строку. Запись можно потом удалить, дабы не использовать повторно. Если одна таблица закончится, к этому времени сгенерируется другая ))). Плюс в простоте выборки,
Цитата Sham:
|
|
------- Отправлено: 17:50, 23-07-2009 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Каков класс безопасности современных ОС? | M1sha | Хочу все знать | 4 | 11-03-2009 18:10 | |
Wireless - MIMO скорости ! (каков он, высокоскоростной Wi-Fi) | Tigr | Сетевое оборудование | 2 | 07-06-2008 14:49 | |
>100m/LongLink - каков предел? | Shera_Best | Сетевое оборудование | 3 | 06-06-2008 22:31 | |
[решено] Каков разгонный потенциал видеокарты GeForce 8800GT? | Красная Собака | Видеокарты | 9 | 27-02-2008 22:17 | |
8 коротких пиков!...ЧТО ДЕЛАТЬ!?!!?!?!? | kleola | Непонятные проблемы с Железом | 16 | 03-04-2007 23:55 |
|