1

tcp チャンクを berkeley db データベースにキャッシュする tcp プロキシを作成しています (下の図を参照)。

ストリームがソース プロキシを通過すると、宛先プロキシに進む前にチャンクにスライスされます。

チャンクは Berkeley Db データベースに保存されます。

次にストリームがプロキシを通過するとき、チャンクがすでにデータベースにある場合、プロキシはその参照のみを宛先プロキシに送信し、宛先プロキシはストリームのその部分を再生します。

データベースの各レコードは次の形式です: Key(Adler32+MD5) Data

タイムスタンプはありません。

私の主な関心事は、データベースが増え続けることです。たまに古いレコードをパージする必要があります。

私はそれを行う方法が明確ではありません。

各レコードにタイムスタンプを導入し、レコードにアクセスするたびに更新してから、データベースを反復処理して「古い」レコードを削除する別のプロセスを実行することを考えました。

エレガントな方法ではないと思います。

誰かが他の/より良いアイデアを持っていますか?

ありがとう

ソース ---| tcp プロキシ |----------| TCP プロキシ |--- 宛先

4

1 に答える 1