2015-12-29 2 views
0

У меня возникла проблема с созданием уникального идентификатора версии из нескольких других версий.Уникальная генерация версий из нескольких версий

Например, я возьму случай файла, номер версии которого должен отражать версию программного обеспечения, которое было использовано для ее создания, версию входных данных и версию базы данных, используемой для извлечения ограничений метаданных содержимое файла.

Скажем:

Software | Input | Database | Result file 
----------------------------------------------- 
3.1.0  | 2.3.9 | 3.0.9  | 01 
3.1.1  | 2.3.9 | 3.0.9  | 02 
3.1.1  | 2.3.9 | 3.2.0  | 03 

, где каждый номер представляет собой версию, и, как вы можете видеть, в результате версия файла должен быть отформатирован, как XX, а не XYZ, а не XXX, а не X. Это ограничение ,

Я знаю, что могу просто управлять таблицей, подобной приведенной выше в базе данных или файле, а при добавлении или изменении версии увеличивать результирующую версию файла, но программа, генерирующая эти версии, будет существовать в нескольких экземплярах, где эта таблица может быть разной. Таким образом, версия 01 не обязательно будет соответствовать одной и той же комбинации программного обеспечения, ввода, версий баз данных в обоих экземплярах, но для удобства чтения в разных случаях было бы лучше иметь версию файла, связанную с данной комбинацией в этих экземплярах.

Например:

Instance 1

Software | Input | Database | Result file 
----------------------------------------------- 
3.1.0  | 2.3.9 | 3.0.9  | 01 
3.1.1  | 2.3.9 | 3.0.9  | 02 
3.1.1  | 2.3.9 | 3.2.0  | 03 

Instance 2

Software | Input | Database | Result file 
----------------------------------------------- 
3.1.0  | 2.3.9 | 3.0.9  | 01 
3.1.1  | 2.3.9 | 3.2.0  | 02 
3.1.1  | 2.5.0 | 3.2.0  | 03 

комбинация (3.1.1, 2.3.9, 3.2.0) не имеют ту же версию для полученного файла в обоих экземплярах. Редактировать: Я хочу, чтобы это было одинаково в обоих случаях, раньше я был недостаточно ясен.

Количество комбинаций для экземпляров не будет превышать 100.

Я надеялся на что-то вроде хэша с ограничениями, которые могут привести к чему-то вроде этого, но ничего не нашел. Если кто-то нашел решение аналогичной проблемы ...

Спасибо!

+0

Сколько экземпляров «программы, порождающих эти версии» есть собирается быть? – Vasfed

+0

Не более двух или трех. И нет никакой связи между этими примерами. Поэтому, если таблица должна быть разделена между ними, может применяться задержка, поскольку она должна выполняться вручную, «физически» помещая таблицу где-то для каждого экземпляра. – Acanthostega

ответ

0

Для небольшого количества несвязанных «центров идентичности» - просто номера разделов, которые могут быть выданы каждым центром.

Например, для два: один выдает 2*n, другие 2*n+1 и номер будет уникальным (только не забудьте проверить, что каждый не выдают более 49)

+0

Да, но, тем не менее, существует вероятность того, что одна и та же комбинация версий в обоих экземплярах дает другую версию для полученного файла. На самом деле я хотел бы иметь возможность связать полученную версию файла с конкретной комбинацией версий программного обеспечения, данных и т. Д. Но без связи между экземплярами это довольно сложно с учетом ограничений ... – Acanthostega

+0

Отредактированный вопрос для ясности. – Acanthostega

Смежные вопросы