Как сокращатели URL-адресов гарантируют уникальные URL-адреса, если срок их действия не истек? [закрыто]

Здесь много вопросов о потоке стека, касающихся укорачивателей URL, а также в других местах в Интернете, например,

Как закодировать сокращение URL?

Как укорачиватель URL рассчитывает ключ URL? Как они работают?

http://www.codinghorror.com/blog/2007/08/url-shortening-hashes-in-practice.html

Однако есть одна вещь, которую я не понимаю. Например,http://goo.gl использует четыре символа в данный момент. Однако они утверждают, что срок их коротких URL-адресов не истекает. Как упоминалось в статье об ужасе кодирования, если они не могут перерабатывать URL-адреса, единственно возможное решение - в какой-то момент добавить дополнительный символ.

Хорошо, пока все хорошо. С 4 символами это означает около 15 миллионов уникальных адресов. Что-то вроде Google Maps, я не думаю, что это очень много, и если вы не можете перезапустить, я думаю, они исчерпывают доступные адреса довольно быстро.

Теперь о той части, которую я не получил. При раздаче адресов у них заканчиваются неиспользуемые адреса. Они должны проверить, не был ли недавно сгенерирован новый адрес. Вероятность того, что это произошло, и адрес уже используется, увеличивается. Простое решение, конечно, заключается в том, чтобы генерировать новый URL снова и снова, пока они не найдут бесплатный, или пока они не сгенерируют все 1,5 миллиона альтернатив. Однако это, безусловно, не может быть тем, как они на самом деле это делают, потому что это будет слишком много времени. Так как им это удается?

Кроме того, вероятно, есть несколько посетителей, одновременно запрашивающих короткий URL, поэтому у них также должна быть некоторая синхронизация. Но как управлять ситуацией, когда нужно добавить пятого персонажа?

Наконец, при проведении исследования о том, как URL-адреса изhttp://goo.gl работать, конечно, я несколько раз запрашивал короткий URL для карты в Google Maps. Ни один из них никогда не будет использован. Однако когда Google строго соблюдает политику URL-адресов, срок действия которых не истекает после их выдачи, это означает, что в системе существует множество неактивных URL-адресов. Опять же, я полагаю, что Google (и другие сервисы) также нашли решение этой проблемы. Я мог бы представить себе службу очистки, которая перерабатывает URL-адреса, которые не посещались в течение первых 48 часов после создания или менее 10 раз в течение первой недели. Я надеюсь, что кто-то также может пролить свет на этот вопрос.

Короче говоря, я получил общий принцип сокращения URL, но я вижу несколько проблем, когда эти URL не могут истечь. Кто-нибудь знает, как могут быть решены проблемы, упомянутые выше, и есть ли другие проблемы?

EDIT

Итакэтот сообщение в блоге проливает некоторый свет на вещи. Эти сервисы ничего не генерируют случайным образом. Они полагаются на функциональность автоинкремента базовой базы данных и применяют простое преобразование к полученному идентификатору. Это устраняет необходимость проверять, существует ли уже идентификатор (он не существует) и обрабатывает ли база данных синхронизацию. Это все еще оставляет один из моих трех вопросов без ответа. Как эти сервисы "знают"? если ссылка фактически используется после создания?

Ответы на вопрос(1)

Ваш ответ на вопрос