/ / Unikalne generowanie wersji z wielu wersji - wersjonowanie

Unikalna generacja wersji z wielu wersji - wersja

Mam problem z wygenerowaniem unikalnego identyfikatora wersji z wielu innych wersji.

Na przykład wezmę przypadek pliku, któregonumer wersji musi odzwierciedlać wersję oprogramowania, która została użyta do jego wygenerowania, wersję danych wejściowych i wersję bazy danych użytej do pobrania metadanych ograniczających zawartość pliku.

Powiedzmy:

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

gdzie każda liczba reprezentuje wersję, i jak widać, wynikowa wersja pliku musi być sformatowana jak XX, a nie X.Y.Z, nie XXX, a nie X. Jest to ograniczenie.

Wiem, że mogę po prostu zarządzać takim stołem jakjeden powyżej w bazie danych lub pliku i podczas dodawania lub zmiany wersji, zwiększ wynikową wersję pliku, ale program generujący te wersje będzie istniał w kilku przypadkach, w których ta tabela może być inna. Tak więc wersja 01 niekoniecznie musi być przypisana do tej samej kombinacji oprogramowania, danych wejściowych i wersji bazy danych w obu przypadkach, ale dla czytelności lepiej byłoby w różnych przypadkach mieć wersję pliku skojarzoną z daną kombinacją w tych instancjach.

Na przykład:

Instancja 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

Instancja 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

kombinacja (3.1.1, 2.3.9, 3.2.0) nie ma tej samej wersji dla pliku wynikowego w obu przypadkach. Edytować: Chcę, aby było tak samo w obu przypadkach, wcześniej nie byłem wystarczająco jasny.

Liczba kombinacji w instancjach nigdy nie przekroczy 100.

Miałem nadzieję na coś w rodzaju skrótu z ograniczeniami, które mogą prowadzić do czegoś takiego, ale niczego nie znalazłem. Jeśli ktoś znalazł rozwiązanie podobnego problemu ...

Dzięki !

Odpowiedzi:

0 dla odpowiedzi № 1

W przypadku niewielkiej liczby niepołączonych „centrów tożsamości” - tylko numery partycji, które mogą być wydawane przez każde centrum.

Na przykład dla dwóch: jednego problemu 2*n, inny 2*n+1 i liczby będą unikalne (pamiętaj tylko, aby sprawdzić, czy nie wydaje więcej niż 49)