大規模なWebクローラでURLキューを構築する方が良いです。リンクされたリストまたはBツリー?URLキューを構築する
答えて
キューを検索する必要がない場合(およびキューを一般的に検索する必要はない場合)、リンクされたリスト。
オーダーが重要な場合(およびキューがある場合)、リンクされたリスト。キューを検索する必要がある場合は、Bツリーをクリックします。
検索はスタックのように機能しないので、重複しない認識リストが必要です。これには特別なリンクリストがありますか? – kar
大規模なクローラを構築する場合は、ほとんどの場合、おそらくRabbitMQというAMQPメッセージキューのようなものを使用したいと考えています。 RabbitMQ(および他の多くの同様のMQ)は、通常のインストールでは1秒間に100,000以上のトランザクションを処理します。私は自分自身のスパイダー/クローラーのセットアップでそれを使用し、それは魅力的に機能します。確かに、最初から似たようなものを作るよりもはるかに簡単です。
ちなみに、最も進歩した高速メッセージキューは、ヘッドとテールの両方へのポインタとともに、内部的にリンクリストを使用します。キュー内の他の場所へのポインタを参照することもあります。本当にMQの機能セットに依存します。たとえば、AMQP 1.0では "リンク"の概念が定義され、リンクは独自のポインタをキューに保持する必要があります。 –
- 1. URLを構築するSass関数
- 2. get_resource_uriの逆URLを構築する
- 3. リクエストパラメータをJavaで構築するURL
- 4. URLを動的に構築する
- 5. ノードでJavaで自分自身のキューを構築する
- 6. Jenkinsのキュー構築。手動でトリガーする
- 7. TFSでキューを構築2015 REST API with PowerShell
- 8. 1つだけのヘッドポインタを使用してキューのリンクリストを構築する
- 9. 高性能で自動的にバックアップされたキューを構築する
- 10. URLを使用してデータテーブルを構築するSPServices
- 11. Razorを使用してカッコでURLを構築する
- 12. ページに相対URLから絶対URLを再構築
- 13. フォーム入力要素を構築するクラスを構築する
- 14. Python:OCRから検索URLを構築する
- 15. コントローラーとアクション名から正しいUrlを構築するユーティリティー?
- 16. SEOのURLを構築するためのアドバイスが必要
- 17. GitHubからこのURLのgradleファイルを構築するには
- 18. JoomlaサイトのSEF URLを構築する方法
- 19. エレガントなカスタマイズされたURLを構築する方法
- 20. データ構造 - キュー
- 21. サイズ配列の入力を手動で追加してデータ構造を構築する方法循環キュー?
- 22. 変数を構築して、配列変数を構築する
- 23. フレームワーク再構築モジュールの構築を高速化するには
- 24. プロローグで構文木を構築する
- 25. angularjsのツリー構造を構築する
- 26. ストアドプロシージャを構築するベストプラクティス
- 27. キーバリューストアを構築する
- 28. SOAPヘッダを構築する
- 29. Line UserControlを構築する
- 30. ジェネリックメソッドを構築するC#
はい私のキューは、プッシュとポップを持つスタックのように機能するはずです。しかし、何千ものURLを処理するので、私は非常に高速な実装が必要です。リンクされたリストでFIFOすることは可能ですか? – kar
はい。先頭と末尾のポインタを使用する必要があります。尾部に挿入し、頭部から取り除く。 –