最善の解決策はすでに述べられています。いくつかの考えを追加したいだけです。
最も簡単な解決策は、新しいファイルごとにカウンターとインクリメントを設定することです。これは、新しいファイルを作成するスレッドが 1 つだけである限り、非常にうまく機能します。複数のスレッド、プロセス、さらにはシステムが新しいファイルを追加する場合、事態はもう少し複雑になります。ロックまたは同様の同期方法を使用して、新しい ID の作成を調整する必要があります。すべてのプロセスに ID 範囲を割り当てて、同期作業を減らしたり、ファイル ID を一意のプロセス ID で拡張したりすることもできます。
より良い解決策は、このシナリオで GUID を使用することであり、プロセス間の同期を気にする必要はありません。
最後に、すべての識別子にランダムなデータを使用して、これが要件であるかどうかを推測しにくくすることができます。
また coommon は、ファイルの場所がその名前に依存するディレクトリ構造にファイルを保存しています。ファイル abcdef1234.xyz は、/ab/cd/ef/1234.xyz として保存される場合があります。これにより、膨大な数のファイルを含むディレクトリが回避されます。これが行われる理由はよくわかりません-ファイルシステムの制限、パフォーマンスの問題かもしれません-しかし、それは非常に一般的です。ファイルがデータベースに直接保存されている場合、同様のことが一般的かどうかはわかりません。