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