インターネット上の特定のサービスからデータを送受信する分散アプリケーションがあります。ノードがデータを受信すると、そのデータがノードまたは別のノードが以前に送信したデータと相関していることを検証する必要がある場合があります。また、24 時間以内にまったく同じ値が生成されないことを実際に期待できるように、値は十分に一意である必要があります。
現在の実装では、値を含むカスタム ヘッダーを使用していますuuid.uuid1()
。受信した uuid を uuid.getnode() と比較することで、その値が実行中の 1 つのノードからのものであることを簡単に検証できますが、この実装は、このアプリをマルチノードにする必要があるという要件を満たす前に作成されました。
私はまだいくつかのuuid
バージョンが正しい答えだと思っていますが、入ってくる uuid 値を検証する方法を理解できないようです。
>>> received = uuid.uuid5(uuid.NAMESPACE_URL, 'http://example.org')
>>> received
UUID('c57c6902-3774-5f11-80e5-cf09f92b03ac')
received
「http://example.org」で生成されたことを検証する方法はありますか?
- uuid は正しいアプローチですか? そうでない場合、何ですか?
- もしそうなら、ここでも uuid5 を使用する必要がありますか?