1

深さ優先のツリー トラバーサル コードを大きなツリーに実装しています。各ノードでの処理時間が長く、その間にシステムがクラッシュまたはシャットダウンする可能性があるため、単一のトラバーサル プロセスが数日かかることがあります。

したがって、何らかの理由でプロセスが途中で停止した場合、プロセス全体を再開できるようにしたいと考えています。そのため、プロセスの状態を本質的に保存する永続的なデータストアに裏打ちされたプロセス全体を作成することを計画しています。

私が理解したように、深さ優先トラバーサルには Stack タイプのデータ構造が必要であり、これは配列実装のリンク リスト タイプによって実現できます。したがって、私の質問は、エンティティの順序を維持してスタックを表すために大きな配列を永続化する機能を提供するデータストアがあるかどうかです。または、トラバーサルの状態を永続的なストレージに維持できる他の方法がある場合。

ありがとう。

4

1 に答える 1

0

IMHO: リンク リストを使用して、スタック動作のカスタム クラスを実装できます。このカスタム クラスはシリアライズ可能である必要があります。オブジェクトの状態を断続的に保存します。そのため、システムがクラッシュした場合でも、一部のデータが失われ、永続ストアからオブジェクトを逆シリアル化することで完全な構造が再作成されます。

于 2012-12-27T11:38:07.117 に答える