2

インターネット上の特定のサービスからデータを送受信する分散アプリケーションがあります。ノードがデータを受信すると、そのデータがノードまたは別のノードが以前に送信したデータと相関していることを検証する必要がある場合があります。また、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」で生成されたことを検証する方法はありますか?

  1. uuid は正しいアプローチですか? そうでない場合、何ですか?
  2. もしそうなら、ここでも uuid5 を使用する必要がありますか?
4

1 に答える 1

0

純粋にノード全体で一意の値を作成することが目標である場合、各ノードに一意の名前を付けて、生成している uuid に追加することはできませんか?

セキュリティ上の理由でこれを行おうとしているのか、それともノード間で一意の値を保証したいだけなのか、私にはわかりませんでした。

于 2012-07-19T20:31:50.960 に答える