2014-01-27 2 views
2

개인 UUID 변형/버전을 사용할 수 있습니까?"개인"UUID를 사용할 수 있습니까?

본질적으로 큰 정수로 간주되는 임의의 UUID를 사용합니다. 이제 잘 알려진 5 가지 변형/버전 중 하나를 기반으로하지 않는 "개인"UUID를 생성하고 싶습니다.

나는 결코 사용하지 않을 잘 알려진 변종/버전을 "도용"해야합니까? 알 수없는 변형/버전을 사용해야합니까?

RFC 또는 위키피디아는이 주제를 다루지 않습니다.

답변

3

아무도 대답하지 않았으므로 고려할 사항을 제공 할 것입니다.

우리는 임의의 UUID를 사용하여 시스템 경계가 명확한 객체를 식별합니다. UUID는 128 비트로 표시되지만 버전 (4 비트)과 변형 (3 비트)이 상수이므로 2^121 임의 UUID 만있을 수 있습니다. (실제로 변종 4는 하나의 추가 비트를 사용할 수 있으며, 패티 닉의 경우 121에 추가 할 수 있습니다.)

나는 버전 1, 2, 3 및 5를 사용하지 않을 것입니다. 불행히도 나머지 11 (16 - 5) 버전 번호는 RFC에 있습니다.

내가 해결 한 것은 버전 1과 변형 0100의 UUID를 비공개 (또는 로컬) 것으로 주장하는 것입니다. 내 자신의 하위 형식에 대해 4 비트를 예약했기 때문에 내 용도로 사용할 수있는 하위 형식 당 117 비트가 남았습니다. 결정 성있는 ID를 가진 몇 개의 서브 시스템에 대해서, 나는 내가 사용하는 구조체에 맞는 UUID를 생성 할 수있다.

나는이 ID가 이론적으로 외부에서 생성 된 UUID와 충돌 할 수 있다는 것을 충분히 알고 있습니다. 그러나 시스템 경계가 명확하고 외부 ID가 개별적으로 고려되므로이 접근 방식은 우리에게 적합하며 실용적입니다.