私の問題に関するヒントを教えてください。
次のようなキュー データ構造を構築しています。
- リアルタイムでハードディスクにバックアップがあります
- バックアップを復元できます
- 大量のエンキュー/デキュー要求に対応可能
ありがとうございました!
私の問題に関するヒントを教えてください。
次のようなキュー データ構造を構築しています。
ありがとうございました!
これはあなたがしている運動ですか。そうでない場合は、キューをメモリに保存するだけでなく、ディスク上にキューを永続化することをサポートするいくつかの実稼働メッセージ キューイング テクノロジ (Windows 用の MSMQ など) を検討する必要があります。
あなたの要件に関して
1. has a backup on hard disk at realtime
はい、MSMQ はそれを行うことができます。
2. and can restore the backup
そしてそれ。
3. Can respond to massive enqueue/dequeue request
この...
回避できる場合は、自分でロールしないでください。Java の場合はActiveMQを試してください。
おそらく、単純なライブラリよりも複雑なものを見ているでしょう。
これは演習であるため (おそらく、基礎となるデータ構造について考えてもらいたいと考えています)、mySQL データベースへのキューイングから簡単な方法を開始できます。専用のキューイング ソフトウェアに比べてパフォーマンスは劣りますが、少なくともインフラストラクチャの残りの部分を機能させることができます。
その後、何らかの形式のカスタム ファイル フォーマットと、その上にあるマルチスレッド サーバーについて検討することになるでしょう。I/O レイヤーに BDB や SQLite などを使用してそれを実現できる可能性があるため、実際のディスク ルーチンを作成する手間を省くことができます。