(57)【要約】【課題】クローラのプログラム自体の改変を行わずに、更新頻度の高い特定のＷｅｂページに対応して情報を取得できるクローラ管理システム及び方法を提供すること。【解決手段】複数のクローラ（１２３ａ，１２３ｂ）は、複数のキュー記憶手段（１１２ａ，１１２ｂ）に記憶されたＵＲＬを読み出して当該ＵＲＬに対応するＷｅｂページのデータを取得する。このとき、優先的にクロールさせる特定のＵＲＬが複数のキュー記憶手段（１１２ａ，１１２ｂ）のうち一部のキュー記憶手段（１１２ａ）に記憶された場合、当該一部のキュー記憶手段（１１２ａ）から特定のＵＲＬを優先的に読み込む。【選択図】図１
2011215912.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク上に公開されたＷｅｂサーバを巡回してＷｅｂページのデータを取得するクロール装置と、前記クロール装置のクロール先を指定するクロール先管理装置と、を備えるクローラ管理システムであって、
前記クロール装置は、
前記クロール先を示すＵＲＬをキューとして記憶する複数のキュー記憶手段と、
前記複数のキュー記憶手段が記憶したＵＲＬを読み込んで対応するＷｅｂページのデータを取得する複数のクローラと、を備え、
前記クロール先管理装置は、
前記複数のキュー記憶手段のうち一部のキュー記憶手段に、前記複数のクローラを優先してクロールさせる特定のＵＲＬを記憶させる優先クロール先指定手段と、を備え、
前記クローラは、前記優先クロール先指定手段が前記特定のＵＲＬを前記一部のキュー記憶手段に記憶させたことに応じて、当該記憶させた前記特定のＵＲＬを、それ以外の前記キュー記憶手段が記憶するＵＲＬに優先して読み込むクローラ管理システム。
【請求項２】
前記クロール先管理装置は、
定期的に所定のＷｅｂサイトにおける所定のＷｅｂページのデータを取得して記憶し、前回取得した前記所定のＷｅｂページのデータと比較することにより、変更があったと判断した場合に、前記所定のＷｅｂページのＵＲＬを、優先クロール先ＵＲＬ記憶手段に記憶させる優先クロール先ＵＲＬ収集手段をさらに備え、
前記優先クロール先指定手段は、前記優先クロール先ＵＲＬ収集手段が前記優先クロール先ＵＲＬ記憶手段に記憶させた前記所定のＷｅｂページのＵＲＬを読み出し、前記一部のキュー記憶手段に記憶させる請求項１に記載のクローラ管理システム。
【請求項３】
通信ネットワーク上に公開されたＷｅｂサーバを巡回してＷｅｂページのデータを取得するクロール装置と、前記クロール装置のクロール先を指定するクロール先管理装置と、からなるシステムに、特定のＵＲＬをクロールさせるクロール方法であって、
前記クロール装置は、複数のクローラのクロール先を示すＵＲＬをキューとして記憶する複数のキュー記憶手段を備え、
前記クロール先管理装置が、前記複数のキュー記憶手段のうち一部のキュー記憶手段に、前記複数のクローラを優先してクロールさせる前記特定のＵＲＬを記憶させるステップと、
前記クロール装置が、前記特定のＵＲＬが前記一部のキュー記憶手段に記憶されたことに応じて、前記クローラに、当該記憶させた前記特定のＵＲＬを、それ以外の前記キュー記憶手段が記憶するＵＲＬに優先して読み込ませるステップと、を実行させるクロール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クローラ管理システム及び方法に関する。特に、特定のＵＲＬのＷｅｂページのデータを優先的に取得するクローラ管理システム及び方法に関する。
【背景技術】
【０００２】
Ｗｅｂ上で提供される検索サービスでは、検索エンジンの一部を構成するクローラがインターネット上の各Ｗｅｂサイトを巡回し、クローラが取得したＷｅｂページの情報に基づいて、インデクサが検索の際のキーとなる特徴語等をインデックス化してデータベースに蓄積することが行われている。検索エンジンは、検索要求を受け付けると、そのデータベースを検索して検索結果を検索要求をした端末に送信する。
【０００３】
ところで、検索エンジンが最新の情報に基づく検索結果を返すためには、データベースに蓄積された情報は、常に最新の情報であることが好ましい。しかし、インターネット上で公開されているＷｅｂページの数は膨大であり、クローラが収集する頻度にも限界がある。さらに、その更新頻度に対応するためにＷｅｂサイトに頻繁にクローラが接続すると、当該Ｗｅｂサイトのサーバに負荷がかかり、クローラによる接続がサーバの正常動作を妨げることもある。そこで、Ｗｅｂページの更新頻度に応じた再接続のスケジューリングを行う方法が開示されている（例えば、特許文献１）。特許文献１に記載の方法は、Ｗｅｂページの更新の有無を検知して、更新間隔からクローラがＷｅｂページに次回アクセスすべき時刻を予想し、さらに予想した時刻と前回のアクセス時刻との差分からサーバへの負荷指標を計算し、接続間隔を設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１８６１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような状況において、毎日又は毎時のように頻繁に更新が行われる特定のＷｅｂページが存在する。さらに、このようなＷｅｂページは、ユーザから頻繁に閲覧される可能性も高く、このようなＷｅｂページの内容を遅滞なく確実にインデックスに反映することは特に重要である。しかしながら、特許文献１に記載の方法では、接続間隔を設定するために特別なクローラを準備する必要がある。このことは、付加的なシステムリソースを要求することになるだけではなく、管理上も煩雑となるので好ましくない。
【０００６】
そこで、本発明は、クローラのプログラム自体の改変を行わずに、更新頻度の高い特定のＷｅｂページに対応して情報を取得できるクローラ管理システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）通信ネットワーク上に公開されたＷｅｂサーバを巡回してＷｅｂページのデータを取得するクロール装置と、前記クロール装置のクロール先を指定するクロール先管理装置と、を備えるクローラ管理システムであって、前記クロール装置は、前記クロール先を示すＵＲＬをキューとして記憶する複数のキュー記憶手段と、前記複数のキュー記憶手段が記憶したＵＲＬを読み込んで対応するＷｅｂページのデータを取得する複数のクローラと、を備え、前記クロール先管理装置は、前記複数のキュー記憶手段のうち一部のキュー記憶手段に、前記複数のクローラを優先してクロールさせる特定のＵＲＬを記憶させる優先クロール先指定手段と、を備え、前記クローラは、前記優先クロール先指定手段が前記特定のＵＲＬを前記一部のキュー記憶手段に記憶させたことに応じて、当該記憶させた前記特定のＵＲＬを、それ以外の前記キュー記憶手段が記憶するＵＲＬに優先して読み込むクローラ管理システム。
【０００８】
（１）に記載の発明に係るクローラ管理システムは、複数のクローラが複数のキュー記憶手段に記憶されたＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を読み出して当該ＵＲＬに対応するＷｅｂページのデータを取得する。このとき、複数のクローラに優先的にクロールさせる特定のＵＲＬが、複数のキュー記憶手段のうち一部のキュー記憶手段に記憶された場合、クローラ管理システムは、それ以外のキュー記憶手段が記憶するＵＲＬに優先して、当該一部のキュー記憶手段から特定のＵＲＬを複数のクローラに読み込ませる。
これにより、クローラ管理システムは、当該一部のキュー記憶手段から読み込んだ特定のＵＲＬに基づいて、当該特定のＵＲＬに対応するＷｅｂページのデータを取得することができる。したがって、クローラ管理システムは、クローラのプログラム自体を改変することなく、更新頻度の高い特定のＷｅｂページに対応して情報を取得できる。
【０００９】
（２）前記クロール先管理装置は、定期的に所定のＷｅｂサイトにおける所定のＷｅｂページのデータを取得して記憶し、前回取得した前記所定のＷｅｂページのデータと比較することにより、変更があったと判断した場合に、前記所定のＷｅｂページのＵＲＬを、優先クロール先ＵＲＬ記憶手段に記憶させる優先クロール先ＵＲＬ収集手段をさらに備え、前記優先クロール先指定手段は、前記優先クロール先ＵＲＬ収集手段が前記優先クロール先ＵＲＬ記憶手段に記憶させた前記所定のＷｅｂページのＵＲＬを読み出し、前記一部のキュー記憶手段に記憶させる（１）に記載のクローラ管理システム。
【００１０】
（２）に記載の発明に係るクローラ管理システムは、（１）に記載のクローラ管理システムに加えて、定期的に所定のＷｅｂサイトにおける所定のＷｅｂページのデータを取得し、前回取得した当該所定のＷｅｂページのデータと比較して、変更があった場合に所定のＷｅｂページのＵＲＬを優先クロール先ＵＲＬ記憶手段に記憶させる。そして、クロール装置は、優先クロール先ＵＲＬ記憶手段に記憶されたＵＲＬを特定のＵＲＬとして読み出して、一部のキュー記憶手段に記憶させる。
これにより、所定のＷｅｂページが更新された場合に、所定のＷｅｂページのＵＲＬが定期的に優先クロール先ＵＲＬ記憶手段に記憶され、また、所定のＷｅｂページのＵＲＬが特定のＵＲＬとしてクローラに読み出される。このため、クローラは、優先的にそのＵＲＬに対応するＷｅｂページのデータを取得することができる。したがって、クロール装置は、クローラのプログラム自体を改変することなく、更新頻度の高い特定のＷｅｂページについて、定期的に情報を取得することができる。
【００１１】
（３）通信ネットワーク上に公開されたＷｅｂサーバを巡回してＷｅｂページのデータを取得するクロール装置と、前記クロール装置のクロール先を指定するクロール先管理装置と、からなるシステムに、特定のＵＲＬをクロールさせるクロール方法であって、前記クロール装置は、複数のクローラのクロール先を示すＵＲＬをキューとして記憶する複数のキュー記憶手段を備え、前記クロール先管理装置が、前記複数のキュー記憶手段のうち一部のキュー記憶手段に、前記複数のクローラを優先してクロールさせる前記特定のＵＲＬを記憶させるステップと、前記クロール装置が、前記特定のＵＲＬが前記一部のキュー記憶手段に記憶されたことに応じて、前記クローラに、当該記憶させた前記特定のＵＲＬを、それ以外の前記キュー記憶手段が記憶するＵＲＬに優先して読み込ませるステップと、を実行させるクロール方法。
【００１２】
（３）に記載の発明に係るクロール方法は、（１）に記載の発明と同様の効果を奏することができる。
【発明の効果】
【００１３】
本発明によれば、クローラのプログラム自体の改変を行わずに、更新頻度の高い特定のＷｅｂページに対応して情報を取得できるクローラ管理システム及び方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るクローラ管理システムの全体構成及びインターネット上のＷｅｂページのリンク構造を示す概念図である。
【図２】本実施形態における優先クロール先リストテーブルを示す図である。
【図３】本実施形態における優先クロール先ＵＲＬテーブルを示す図である。
【図４】本実施形態におけるクローラ部の動きを示す概念図である。
【図５】本実施形態におけるクローラ部の動きを示す概念図である。
【図６】本実施形態における優先クロール先収集部が行う処理の流れを示すフローチャートである。
【図７】本実施形態におけるクローラ部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して説明する。なお、以下に説明する実施形態は、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００１６】
図１を参照して、本実施形態の一例である、クローラ管理システム１の全体構成について説明する。図１は、本実施形態に係るクローラ管理システム１の全体構成及びインターネットＮ上のＷｅｂページのリンク構造を示す概念図である。
【００１７】
本実施形態に係るクローラ管理システム１は、クロール装置１０と、クロール先管理装置２０とで構成される。
【００１８】
クロール装置１０は、通信ネットワークとしてのインターネットＮ上に公開されているＷｅｂサーバ３０を巡回して、Ｗｅｂページのデータを取得する。
【００１９】
クロール先管理装置２０は、クロール装置１０に優先的にＷｅｂページのデータを取得させる特定のＷｅｂページのＵＲＬ（以下、特定ＵＲＬとする。例えば、図１のＰ１１，Ｐ２２，Ｐ３１等）を指定する。
ここで、特定ＵＲＬは、所定のＷｅｂサイトにおいて、更新があったか否かを定期的にチェックする対象となるＷｅｂページ（以下、特定Ｗｅｂページとする）のＵＲＬである。特定Ｗｅｂページは、例えば、あるＷｅｂサイトにおいて、商品等の人気ランキング等が表示され、更新頻度が比較的高いＷｅｂページである。
【００２０】
まず、クロール装置１０について説明する。
クロール装置１０は、記憶部１１と、制御部１２とを備える。
【００２１】
制御部１２は、優先クロール先指定手段としての優先クロール先指定部１２２と、複数のクローラとしての第１クローラ１２３ａ、第２クローラ１２３ｂ、・・・第Ｎクローラ１２３ｎ（以下、総称する場合はクローラ部１２３とする）とで構成される。
【００２２】
ここで、制御部１２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）等により構成し、クロール装置１０の各処理の実行を制御する。制御部１２は、上記の各部の機能を実現するためのプログラムを記憶部１１から読み込んで実行することによりその機能を実現させるものであってもよいし、また、専用のハードウェアにより実現されるものであってもよい。
【００２３】
記憶部１１は、複数のキュー記憶手段としての第１キュー記憶部１１２ａ、第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘ（以下、総称する場合は、キュー記憶部１１２とする）と、Ｗｅｂデータ記憶部１１４とを備える。
【００２４】
ここで、記憶部１１は、ハードディスク装置や光磁気ディスク装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性のメモリ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り可能及び書き込み可能な記憶媒体により構成される。
【００２５】
次に、制御部１２及び記憶部１１を構成する各部の機能構成について説明する。
【００２６】
優先クロール先指定部１２２は、優先クロール先収集部１２１からの通知に応じて、特定ＵＲＬを優先クロール先ＵＲＬ記憶部１１１から取得し、第１キュー記憶部１１２ａに格納させる。そして、優先クロール先指定部１２２は、第１キュー記憶部１１２ａに格納した後、優先クロール先ＵＲＬ記憶部１１１から読み出した特定ＵＲＬを消去する。
【００２７】
クローラ部１２３は、キュー記憶部１１２からＵＲＬを読み出して、当該ＵＲＬに対応するＷｅｂページのデータを取得し、Ｗｅｂデータ記憶部１１４に記憶させる。クローラ部１２３は、本実施形態では第１クローラ１２３ａ、第２クローラ１２３ｂ、・・・第Ｎクローラ１２３ｎのように、任意の数のクローラを備える。
【００２８】
なお、図１では、便宜上、クローラ部１２３の参照先のキュー記憶部１１２及び接続先のＵＲＬ（Ｓ１，Ｓ２，Ｓｎ等及びＰ１１，Ｐ２１等）への接続を示す矢印は限定されているが、図に示す参照先及び接続先に限らない。クローラ部１２３のそれぞれは、キュー記憶部１１２のそれぞれを参照し、かつ全ての接続先のＵＲＬに接続する可能性がある。図４及び図５も同様である。
【００２９】
また、第１クローラ１２３ａ、第２クローラ１２３ｂ、・・・第Ｎクローラ１２３ｎは、それぞれ、第１キュー記憶部１１２ａ、第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘのいずれからも特定ＵＲＬ又はＵＲＬを取得できる。第１クローラ１２３ａ、第２クローラ１２３ｂ、・・・第Ｎクローラ１２３ｎは、全て、第１キュー記憶部１１２ａに特定ＵＲＬが格納された場合には、他のキュー記憶部（第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘ）に優先して、第１キュー記憶部１１２ａに格納された特定ＵＲＬを取得する。
つまり、クローラ部１２３は、常に第１キュー記憶部１１２ａに優先的に参照して、第１キュー記憶部１１２ａに特定ＵＲＬが格納されている場合はこれを取得し、第１キュー記憶部１１２ａに特定ＵＲＬが格納されていない場合に、他のキューとなる第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘからＵＲＬ（例えば、図１のＳ１，Ｓ２，Ｓｎ等）を取得する。
【００３０】
また、クローラ部１２３は、第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘからＵＲＬを読み出して当該ＵＲＬのＷｅｂページのデータを取得した場合には、当該Ｗｅｂページのテキストデータ等を抽出してＷｅｂデータ記憶部１１４に記憶させると共に、当該データに含まれるリンク先のＵＲＬを抽出し、第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘに格納させる。
また、クローラ部１２３は、第１キュー記憶部１１２ａから特定ＵＲＬを読み出した場合は、当該特定ＵＲＬのＷｅｂページのデータをＷｅｂデータ記憶部１１４に格納するが、当該Ｗｅｂページ（特定Ｗｅｂページ）に含まれるリンク先のＵＲＬの抽出は行わない。
したがって、クローラ部１２３が第１キュー記憶部１１２ａから特定ＵＲＬを読み出した場合は、当該特定ＵＲＬのＷｅｂページのデータの取得のみが行われる。
【００３１】
ここで、キュー記憶部１１２は、キューにより実装され、先入れ先出しのデータ構造を有する。キュー記憶部１１２には、優先クロール先指定部１２２又はクローラ部１２３が取得した特定ＵＲＬ又は他のＵＲＬが格納される。本実施形態では、第１キュー記憶部１１２ａには、優先クロール先指定部１２２が取得した特定ＵＲＬが格納される。第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘには、クローラ部１２３が取得した、特定ＵＲＬとは異なる他のＵＲＬが格納される。なお、本実施形態では、優先クロール先指定部１２２が特定ＵＲＬを記憶させるのを第１キュー記憶部１１２ａとしているが、優先クロール先指定部１２２が特定ＵＲＬを記憶させる対象のキュー記憶部１１２を複数設けてもよい。
【００３２】
Ｗｅｂデータ記憶部１１４は、クローラ部１２３が収集したＷｅｂページのデータを格納する。このＷｅｂページのデータは、検索エンジンの一部であるインデクサ（図示せず）によりインデックス化され、検索エンジンによる検索に使用される。
【００３３】
次に、クロール先管理装置２０について説明する。
クロール先管理装置２０は、記憶部２１と制御部２２とを備え、記憶部２１は、優先クロール先リスト記憶部１１０及び優先クロール先ＵＲＬ記憶手段としての優先クロール先ＵＲＬ記憶部１１１を備える。また、制御部２２は、優先クロール先収集部１２１を備える。
なお、記憶部２１及び制御部２２は、それぞれ、クロール装置１０と同様のハードウェア構成を備えることができる。
【００３４】
制御部２２の優先クロール先収集部１２１は、優先クロール先リスト記憶部１１０に記憶されている特定Ｗｅｂページ（例えば、図１のＰ１１，Ｐ１２，Ｐ２１，Ｐ２２，Ｐ３１等）の更新の有無を判別する。
【００３５】
ここで、図２を参照して、優先クロール先リスト記憶部１１０が記憶する優先クロール先リストテーブル４０について説明する。
【００３６】
優先クロール先リストテーブル４０は、「Ｗｅｂサイト名」列と、「特定ＵＲＬ」列と、「ハッシュ値」列とで構成されている。
【００３７】
Ｗｅｂサイト名は、上記の所定のＷｅｂサイトの名称である。優先クロール先リスト記憶部１１０は、管理者端末等からの指定を受け付けたことに応じて、所定のＷｅｂサイト名を記憶する。
【００３８】
ハッシュ値は、優先クロール先収集部１２１が特定Ｗｅｂページに接続してそのデータを取得した際に当該特定Ｗｅｂページのデータに基づいて計算したものである。「ハッシュ値」列には、このハッシュ値が格納される。したがって、優先クロール先収集部１２１が前回接続した際の特定Ｗｅｂページのデータと今回接続した際のＷｅｂページのデータが異なっている場合には、このハッシュ値が異なることから、更新の有無がわかる。
【００３９】
図１に戻って、優先クロール先収集部１２１は、定期的に特定Ｗｅｂページのデータを取得し、ハッシュ関数を適用して特定Ｗｅｂページのデータについてのハッシュ値を求める。そして、優先クロール先収集部１２１は、優先クロール先リスト記憶部１１０の優先クロール先リストテーブル４０を参照して、該当する特定Ｗｅｂページのハッシュ値と、求めたハッシュ値とを比較する。比較した結果、優先クロール先リストテーブル４０のハッシュ値と求めたハッシュ値とが異なる場合、当該特定Ｗｅｂページは更新されたことを意味する。この場合、優先クロール先収集部１２１は、算出したハッシュ値を、優先クロール先リストテーブル４０に格納されているハッシュ値に代えて、新たに記憶させる。また、優先クロール先収集部１２１は、優先クロール先ＵＲＬ記憶部１１１にハッシュ値を比較した特定ＵＲＬを格納する。そして、優先クロール先収集部１２１は、クロール装置１０の優先クロール先指定部１２２に特定Ｗｅｂページの更新があった旨を通知する。
本実施形態では、このように、特定ＵＲＬは、優先クロール先指定部１２２が優先クロール先ＵＲＬ記憶部１１１から読み出したＵＲＬであり、また、優先クロール先収集部１２１が定期的に更新の有無を確認する特定ＵＲＬであり、第１キュー記憶部１１２ａに格納されて優先的にクロール対象となるＵＲＬである。
【００４０】
ここで、図３を参照して、優先クロール先ＵＲＬ記憶部１１１が記憶する優先クロール先ＵＲＬテーブル５０について説明する。
【００４１】
優先クロール先ＵＲＬテーブル５０は、特定ＵＲＬが格納される「特定ＵＲＬ」列と、特定ＵＲＬが格納された時刻情報が格納される「登録時刻」列とで構成される。クロール装置１０の優先クロール先指定部１２２は、登録された順に特定ＵＲＬを取得し、第１キュー記憶部１１２ａに記憶させる。また、優先クロール先指定部１２２により読み出された特定ＵＲＬは、優先クロール先ＵＲＬテーブル５０から順次消去される。
【００４２】
優先クロール先収集部１２１は、定期的にＷｅｂページのデータを取得する。例えば、優先クロール先リスト記憶部１１０の優先クロール先リストテーブル４０に日付情報を格納する列を設け、対応する特定Ｗｅｂページのデータを取得した日から所定日数経過後（例えば、７日後等）に優先クロール先収集部１２１が特定Ｗｅｂページのデータを取得する。この日付情報は、時刻の情報も含んでよく、１時間単位、分単位、秒単位又は月単位等、優先クロール先収集部１２１が特定Ｗｅｂページのデータを取得する間隔に合わせて、また、特定Ｗｅｂページごとに登録することができる。
【００４３】
また、優先クロール先収集部１２１は、所定間隔で特定Ｗｅｂページのデータを取得するようにしてもよい。優先クロール先収集部１２１が特定Ｗｅｂページのデータを取得する間隔は、任意であってよい。例えば、特定Ｗｅｂページのサイトマップ・プロトコルにおいて＜ｃｈａｎｇｅｆｒｅｑ＞タグで特定Ｗｅｂページの更新間隔が宣言されている場合は、その更新間隔の情報を優先クロール先リスト記憶部１１０に記憶させておき、当該更新間隔の情報にしたがって、Ｗｅｂページに接続してデータを収集することができる。
【００４４】
ここで、図４及び図５を参照して、主としてクローラ部１２３の動きについて、例を挙げて説明する。図４及び図５は、本実施形態におけるクローラ部１２３の動きを示す概念図である。以下では、クローラ部１２３は、常に、特定ＵＲＬが格納される第１キュー記憶部１１２ａを最初に参照するものとする。なお、特に説明しない構成については図示していない。また、図４及び図５に記載している数字は、各部が動作したタイミングの順を示す。
【００４５】
第１クローラ１２３ａは、最初に第１キュー記憶部１１２ａを参照する（図４の（１））。このとき、優先クロール先指定部１２２は、特定ＵＲＬを第１キュー記憶部１１２ａに格納していない。したがって、第１クローラ１２３ａは、第２キュー記憶部１１２ｂを参照して、第２キュー記憶部１１２ｂからＵＲＬＳ１を取得する（図４の（２））。このＵＲＬＳ１は、第１クローラ１２３ａが接続するＷｅｂサイト内のＷｅｂページを巡回する起点となるＵＲＬである（以下、このＵＲＬをシードＳ１とする）。第１クローラ１２３ａは、シードＳ１のＷｅｂページのデータを取得すると、当該Ｗｅｂページのデータを解析して、Ｗｅｂページのデータに含まれるリンク先ＵＲＬＳ１１１，Ｓ１１２を抽出する。そして、第１クローラ１２３ａは、抽出したリンク先ＵＲＬＳ１１１，Ｓ１１２を第２キュー記憶部１１２ｂに格納する。
【００４６】
優先クロール先指定部１２２は、第１クローラ１２３ａが第１キュー記憶部１１２ａを参照した時には、特定ＵＲＬを第１キュー記憶部１１２ａに格納していなかったが、その後、クロール先管理装置２０の優先クロール先収集部１２１から優先クロール先ＵＲＬ記憶部１１１に特定ＵＲＬＰ２１を格納した旨の通知を受信したことに応じて、優先クロール先ＵＲＬ記憶部１１１から特定ＵＲＬＰ２１を取得し、当該特定ＵＲＬＰ２１を第１キュー記憶部１１２ａに格納したとする（図４の（３））。
【００４７】
第２クローラ１２３ｂは、優先クロール先指定部１２２が第１キュー記憶部１１２ａに特定ＵＲＬＰ２１を格納した後のタイミングで第１キュー記憶部１１２ａを参照したとする（図４の（４））。すると、第１キュー記憶部１１２ａには、特定ＵＲＬＰ２１が格納されているため、第２クローラ１２３ｂは、この特定ＵＲＬＰ２１を取得する。そして、第２クローラ１２３ｂは、取得した特定ＵＲＬＰ２１に対応する特定Ｗｅｂページのデータを取得し、Ｗｅｂデータ記憶部１１４（図４では図示せず）に記憶させる。
【００４８】
リンク先ＵＲＬＳ１１１，Ｓ１１２を第２キュー記憶部１１２ｂに格納した第１クローラ１２３ａは、再び第１キュー記憶部１１２ａを参照する（図５の（５））。すると、このとき、第１キュー記憶部１１２ａには特定ＵＲＬは格納されていないので、再び第２キュー記憶部１１２ｂを参照し、ＵＲＬＳ１１１を取得する（図５の（６））。
【００４９】
次に第２クローラ１２３ｂが第１キュー記憶部１１２ａを参照すると、特定ＵＲＬは格納されていない（図５の（７））ため、第Ｘキュー記憶部１１２ｘを参照して、ＵＲＬＳｎ１を取得する（図５の（８））。そして、ＵＲＬＳｎ１のＷｅｂページのデータを解析し、リンク先ＵＲＬＳｎ２を抽出して、当該リンク先ＵＲＬＳｎ２を第Ｘキュー記憶部１１２ｘに格納する。
【００５０】
このように、クローラ部１２３は、それぞれ、特定ＵＲＬが格納される第１キュー記憶部１１２ａに参照したタイミングで特定ＵＲＬが格納されていれば、優先的に特定ＵＲＬを取得し、特定ＵＲＬが示す特定Ｗｅｂページのデータを取得する。他方で、クローラ部１２３は、それぞれ、特定ＵＲＬが格納される第１キュー記憶部１１２ａに参照したタイミングで特定ＵＲＬが格納されていなければ、他のキュー記憶部となる第２キュー記憶部１１２ｂ等を参照して、特定ＵＲＬとは異なるＵＲＬを取得する。
また、第１キュー記憶部１１２ａから特定ＵＲＬを取得したクローラ部１２３であっても、再度第１キュー記憶部１１２ａを参照したときに特定ＵＲＬが格納されていなければ、第２キュー記憶部１１２ｂ等を参照してＵＲＬを取得する。
【００５１】
図６を参照して、クロール先管理装置２０の優先クロール先収集部１２１が行う処理の流れについて説明する。図６は、本実施形態における優先クロール先収集部１２１が行う処理の流れを示すフローチャートである。
【００５２】
ステップＳ１１では、クロール先管理装置２０の優先クロール先収集部１２１は、優先クロール先リスト記憶部１１０から特定ＵＲＬを読み込む。そして、優先クロール先収集部１２１は、特定ＵＲＬに対応する特定Ｗｅｂページのデータを取得する（ステップＳ１２）。
【００５３】
ステップＳ１３では、優先クロール先収集部１２１は、取得したデータについてハッシュ値を求める。そして、優先クロール先収集部１２１は、求めたハッシュ値と、優先クロール先リスト記憶部１１０に記憶されている当該特定Ｗｅｂページのハッシュ値とを比較する（ステップＳ１４）。
【００５４】
ステップＳ１５では、優先クロール先収集部１２１は、ステップＳ１３で求めたハッシュ値と優先クロール先リスト記憶部１１０に記憶されているハッシュ値とが異なるか否かを判別する。優先クロール先収集部１２１は、求めたハッシュ値と優先クロール先リスト記憶部１１０のハッシュ値とが異なる場合（ステップＳ１５でＹＥＳの場合）にステップＳ１６に処理を移し、求めたハッシュ値と優先クロール先リスト記憶部１１０のハッシュ値とが異なるのではない場合（ステップＳ１５でＮＯの場合）、処理を終了する。
【００５５】
ステップＳ１６では、優先クロール先収集部１２１は、算出したハッシュ値を、新たなハッシュ値として優先クロール先リスト記憶部１１０に記憶させる。そして、優先クロール先収集部１２１は、特定Ｗｅｂページが更新された旨をクロール装置１０の優先クロール先指定部１２２に通知（ステップＳ１７）し、処理を終了する。
【００５６】
図７を参照して、クロール装置１０のクローラ部１２３の処理の流れについて説明する。図７は、本実施形態におけるクローラ部１２３の処理の流れを示すフローチャートである。
【００５７】
ステップＳ２１では、クロール装置１０のクローラ部１２３は、第１キュー記憶部１１２ａを参照して、特定ＵＲＬが格納されているか否かを判別する。クローラ部１２３は、特定ＵＲＬが格納されている場合（ステップＳ２１でＹＥＳの場合）に、ステップＳ２２に処理を移し、特定ＵＲＬが格納されていない場合（ステップＳ２１でＮＯの場合）に、ステップＳ２４に処理を移す。
【００５８】
ステップＳ２２では、クローラ部１２３は、第１キュー記憶部１１２ａから特定ＵＲＬを取得する。そして、クローラ部１２３は、取得した特定ＵＲＬのＷｅｂページ（特定Ｗｅｂページ）からデータを取得（ステップＳ２３）し、ステップＳ２８に処理を移す。
【００５９】
ステップＳ２４では、クローラ部１２３は、他のキュー記憶部１１２（第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘ）からＵＲＬを取得する。そして、取得したＵＲＬのＷｅｂページのデータを取得する（ステップＳ２５）。
【００６０】
ステップＳ２６では、クローラ部１２３は、取得したＷｅｂページのデータを解析し、当該データに含まれるリンク先のＵＲＬを抽出する。そして、クローラ部１２３は、抽出したＵＲＬを他のキュー記憶部１１２（第２キュー記憶部１１２ｂ、・・・第Ｘキュー記憶部１１２ｘ）に格納させる（ステップＳ２７）。
【００６１】
ステップＳ２８では、クローラ部１２３は、Ｗｅｂページのテキストデータを抽出する。そして、クローラ部１２３は、抽出したデータをＷｅｂデータ記憶部１１４に記憶させ（ステップＳ２９）、処理を終了する。
【００６２】
上述の実施形態によれば、特定Ｗｅｂページのデータが更新されたか否かをクローラ部１２３の処理とは別にクロール先管理装置２０の優先クロール先収集部１２１がチェックし、更新があった場合に当該特定ＵＲＬを優先クロール先ＵＲＬ記憶部１１１に記憶させると共にクロール装置１０の優先クロール先指定部１２２に通知する。通知を受けた優先クロール先指定部１２２は、優先クロール先ＵＲＬ記憶部１１１から特定ＵＲＬを取得し、第１キュー記憶部１１２ａに格納させる。したがって、クローラ部１２３は、更新に応じて特定Ｗｅｂページのデータを取得することができる。このため、クローラ部１２３は、更新の無いときに特定Ｗｅｂページのデータを取得したりするようなことが無く、効率的にデータの更新を行うことができる。
【００６３】
上述の実施形態によれば、第１キュー記憶部１１２ａは、優先クロール先収集部１２１が更新があったと判別した特定ＵＲＬを格納する。また、クローラ部１２３は、第１キュー記憶部１１２ａから優先的に参照し、第１キュー記憶部１１２ａに特定ＵＲＬが格納されている場合は、当該ＵＲＬを取得する。したがって、クロール装置１０は、特定Ｗｅｂページのデータを他のＵＲＬより優先して取得することができる。取得したＷｅｂページ内のリンク先ＵＲＬを辿るだけでは、特定Ｗｅｂページに到達しない可能性があるが、クロール装置１０は、特定ＵＲＬが格納される第１キュー記憶部１１２ａを優先的に参照して特定ＵＲＬを取得するので、確実に特定Ｗｅｂページのデータを取得することができる。
【００６４】
上述の実施形態によれば、クローラ部１２３は、第１キュー記憶部１１２ａを優先的に参照し、特定ＵＲＬが格納されていれば、これを取得する。また、クローラ部１２３は、第１キュー記憶部１１２ａに特定ＵＲＬが格納されていなければ、他の第２キュー記憶部１１２ｂ等を参照して特定ＵＲＬを取得する。このように、第１キュー記憶部１１２ａを参照するクローラが特定されておらず、全てのクローラが第１キュー記憶部１１２ａを優先的に参照するので、第１キュー記憶部１１２ａに格納された特定ＵＲＬを迅速に取得して、特定Ｗｅｂページのデータを取得することができる。
【００６５】
上述の実施形態によれば、クロール装置１０とクロール先管理装置２０とを分離させたことにより、クロール装置１０とクロール先管理装置２０との間にファイアウォール等を設けることができるため、セキュリティを向上させることができる。また、クロール先管理装置２０をクロール装置１０と分離させたことにより、メンテナンスが容易となり、またシステムの拡張等にも容易に対応することができる。
【００６６】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００６７】
１０  クロール装置
２０  クロール先管理装置
３０  Ｗｅｂサーバ
１１０  優先クロール先リスト記憶部
１１１  優先クロール先ＵＲＬ記憶部
１１２ａ  第１キュー記憶部
１１２ｂ  第２キュー記憶部
１１２ｎ  第Ｎキュー記憶部
１１４  Ｗｅｂデータ記憶部
１２１  優先クロール先収集部
１２２  優先クロール先指定部
１２３ａ  第１クローラ
１２３ｂ  第２クローラ
１２３ｘ  第Ｘクローラ
Ｎ  インターネット
【図１】
2011215912.tif 000003
【図２】
2011215912.tif 000004
【図３】
2011215912.tif 000005
【図４】
2011215912.tif 000006
【図５】
2011215912.tif 000007
【図６】
2011215912.tif 000008
【図７】
2011215912.tif 000009