Re: Как создать уникальный ID? (в double)
От: retalik www.airbandits.com/
Дата: 07.12.01 12:47
Оценка:
Здравствуйте Sirotkin Alexander, Вы писали:

SA>Привет АЛЛ!!


SA>Ситуация вот в чем. На разных машинах создаются объекты. Которые сохраняются в базе.

SA>Между этими базами возможен экспорт и импорт. Эти объекты надо как-то идентифицировать.
SA>Названия могут быть любыми.

SA>Так уж получилось что под код есть поле double. (уже используется, тот способ генерации ключа что был раньше не подходит)

SA>Отсюда вопрос, как сгенерить этот код что бы он был достаточно уникальным и помещался в double?

SA>У меня был такой ход мысли:

SA>Выделить для каждой машины диапазон, но это не представляется возможным.

SA>Количество создаваемых объектов не столь уж велико. Но могут быть случаи когда за раз их будут генерить сотнями.

SA>Зато потом по обекту раз в день.
SA>Поэтому первая идея привязаться ко времени. Но надо еще как то учитывать что в одно и то же время объекты могут сгенериться на разных машинах, или много объектов на одной. Т.е. время плюс еще что то.

SA>Не подскажит ли мне всезнающий алл вот это самое еще что то?

SA>Может кто — нибудь еще что то предложит?

А централизованную раздачу ID с одного сервера нельзя организовать? Это было бы наилучшим решением, если есть постоянное соединение.
И потом, уж очень странный выбор формата ID... трудно что-то посоветовать... А, кстати, почему нельзя ввести диапазоны значений ID?

Если машин не очень много, а объектов гораздо больше (кстати, сколько?), можно назначить каждой машине множитель (заведомо больший максимального числа объектов на этой машине) и порядковый номер очередного объекта (его хранить глобально) умножать на этот множитель.
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.