JP5356343B2 - Crawl device and method - Google Patents
Crawl device and method Download PDFInfo
- Publication number
- JP5356343B2 JP5356343B2 JP2010210987A JP2010210987A JP5356343B2 JP 5356343 B2 JP5356343 B2 JP 5356343B2 JP 2010210987 A JP2010210987 A JP 2010210987A JP 2010210987 A JP2010210987 A JP 2010210987A JP 5356343 B2 JP5356343 B2 JP 5356343B2
- Authority
- JP
- Japan
- Prior art keywords
- web server
- state
- response
- response information
- status
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000004044 response Effects 0.000 claims description 114
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
本発明は、クロール装置及びその方法に関する。 The present invention relates to a crawl apparatus and a method thereof.
Webサイト等を検索する検索システムには、インターネット上のWebサイトの情報を取得するクローラが設けられている。このクローラは、インターネット上のWebサーバが提供するWebサイトを巡回して、このWebサイトの情報を取得する。 2. Description of the Related Art A search system that searches websites and the like is provided with a crawler that acquires information on websites on the Internet. This crawler visits a Web site provided by a Web server on the Internet and acquires information on this Web site.
ところで、Webサイトの中には、高頻度で情報が更新されたり、膨大な情報を提供したりするものがある。このようなWebサイトから情報を定期的に取得するため、クローラは、このようなWebサイトに対して、頻繁にアクセス(例えば、1秒間隔でアクセス)する場合がある。 Some Web sites frequently update information or provide a large amount of information. In order to periodically acquire information from such a website, the crawler may frequently access such website (for example, access at intervals of 1 second).
クローラが、このようなWebサイトを提供するWebサーバに頻繁にアクセスすると、このWebサーバに負荷がかかり、Webサーバの性能によっては、サービスに支障をきたす場合がある。そこで、Webサイトの更新頻度に応じて、Webサーバへの接続のスケジューリングを行う方法が提案されている(例えば、特許文献1参照)。特許文献1に記載の方法は、Webサイトの更新状況に基づいて、このWebサイトを提供するWebサーバに対してクローラがアクセスする時間を算出するとともに、クローラのアクセス間隔を算出する。続いて、特許文献1に記載の方法は、アクセス間隔に基づいて、Webサーバへの負荷指標を計算し、この負荷指標が所定値以下となるようにアクセス間隔を調整する。 If the crawler frequently accesses a Web server that provides such a Web site, a load is applied to the Web server, and depending on the performance of the Web server, the service may be hindered. Therefore, a method for scheduling connection to a Web server according to the update frequency of the Web site has been proposed (see, for example, Patent Document 1). The method described in Patent Document 1 calculates the time for the crawler to access the Web server that provides the Web site and the access interval of the crawler based on the update status of the Web site. Subsequently, the method described in Patent Document 1 calculates a load index to the Web server based on the access interval, and adjusts the access interval so that the load index is a predetermined value or less.
しかしながら、特許文献1に記載の方法では、Webサーバへのクローラのアクセス時間をWebサイトの更新状況に基づいて決定し、更に、クローラのアクセス間隔からWebサーバへの負荷指標を計算し、アクセス間隔を調整するので、結果として、Webサイトの更新状況に基づいて負荷指標が計算され、アクセス間隔を調整することになる。つまり、特許文献1に記載の方法は、更新状況に基づいてアクセス間隔を調整しているに過ぎずWebサーバの実際のステータスを考慮していないため、実際にサーバが休止している場合や、レスポンスが低下している場合の調整方法についてはなんら開示されていない。従って、過度のアクセスが集中することによってWebサーバのレスポンスが遅くなっている場合でも、クローラがWebサーバに過度な負担となるアクセスを繰り返してしまう。また、Webサーバにトラブルが発生している場合であっても、クローラがアクセスを繰り返してしまうおそれもある。 However, in the method described in Patent Document 1, the crawler access time to the web server is determined based on the update status of the website, and a load index to the web server is calculated from the crawler access interval, and the access interval is calculated. As a result, the load index is calculated based on the update status of the website, and the access interval is adjusted. In other words, since the method described in Patent Document 1 only adjusts the access interval based on the update status and does not consider the actual status of the Web server, No adjustment method is disclosed when the response is low. Therefore, even when the response of the Web server is slowed down due to the concentration of excessive access, the crawler repeats access that places an excessive burden on the Web server. In addition, even when a problem occurs in the Web server, the crawler may repeatedly access.
そこで、本発明は、アクセスするWebサーバの状態を把握して、当該Webサーバへのアクセス間隔を動的に調整することができるクロール装置及びその方法を提供することを目的とする。 Therefore, an object of the present invention is to provide a crawl apparatus and method capable of grasping the state of a web server to be accessed and dynamically adjusting an access interval to the web server.
(1)アクセス対象のWebサーバに対するアクセス間隔を動的に制御するクロール装置であって、前記Webサーバに対するアクセスにより発生した、前記Webサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段と、所定のアクセス間隔で前記Webサーバにアクセスしたことに応じて、当該Webサーバからのレスポンス状況を取得し、当該レスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報取得手段と、前記レスポンス情報記憶手段から前記Webサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Webサーバの状態を分析する状態分析手段と、前記状態分析手段による分析結果に基づいて前記Webサーバの状態を推定する状態推定手段と、前記状態推定手段により推定された前記Webサーバの状態情報に基づいて、当該Webサーバへのアクセス間隔を決定するアクセス間隔決定手段と、を備えるクロール装置。 (1) A crawl device that dynamically controls an access interval with respect to an access target Web server, and stores response information indicating response status from the Web server generated by access to the Web server. Response information acquisition means for acquiring a response status from the Web server in response to accessing the Web server at a predetermined access interval and storing response information indicating the response status in the response information storage means; , Acquiring response information of the Web server for a predetermined period from the response information storage unit, and analyzing a state of the Web server based on the response information, and based on an analysis result by the state analysis unit Status of the web server A state estimation means for estimating, based on the Web server state information estimated by the state estimation unit, crawling device and an access interval determining means for determining an access distance to the Web server.
(1)のクロール装置は、Webサーバから取得した所定期間のレスポンス状況を示すレスポンス情報に基づいて、Webサーバの状態を推定し、当該Webサーバの状態に基づいて、アクセス間隔を決定する。よって、このクロール装置は、アクセスするWebサーバの状態を把握して、当該Webサーバへのアクセス間隔を調整することができるので、Webサーバの状態を把握すること自体が負担とならずに、かつその時点でWebサーバの状態に適合したアクセス間隔に、動的に調整を行うことができる。ここで、アクセスとは、Webサーバが管理するWebページの情報を取得するために、当該WebサーバにWebページ送信要求を行うこと及び当該Webページ送信要求に基づく、WebサーバからのWebページの情報の受信を行うことをいう。 The crawl device of (1) estimates the state of the Web server based on the response information indicating the response status of the predetermined period acquired from the Web server, and determines the access interval based on the state of the Web server. Therefore, the crawl device can grasp the state of the web server to be accessed and adjust the access interval to the web server, so that grasping the state of the web server itself is not a burden, and At that time, the access interval adapted to the state of the Web server can be dynamically adjusted. Here, “access” refers to making a web page transmission request to the web server in order to acquire information on the web page managed by the web server, and information on the web page from the web server based on the web page transmission request. It means to receive.
(2)前記Webサーバの状態情報を記憶する状態情報記憶手段を更に備え、前記状態推定手段は、前記状態分析手段による分析結果に基づいて前記Webサーバの状態を推定し、当該Webサーバの状態情報を前記状態情報記憶手段に記憶させ、前記アクセス間隔決定手段は、前記状態情報記憶手段に記憶された前記Webサーバの状態情報に基づいて、当該Webサーバへのアクセス間隔を決定する(1)に記載のクロール装置。 (2) It further includes state information storage means for storing state information of the Web server, wherein the state estimation means estimates the state of the Web server based on an analysis result by the state analysis means, and the state of the Web server Information is stored in the status information storage means, and the access interval determination means determines an access interval to the Web server based on the status information of the Web server stored in the status information storage means (1) The crawl device described in 1.
(2)のクロール装置は、状態情報記憶手段にWebサーバの状態情報を記憶させておくので、状態情報記憶手段に記憶された、Webサーバの過去の状態情報を考慮して、Webサーバの現在の状態を推定することができ、より適切なWebサーバの状態に基づいて当該Webサーバへのアクセス間隔を動的に調整することができる。 Since the crawl device of (2) stores the status information of the Web server in the status information storage means, the current status of the Web server is considered in consideration of the past status information of the Web server stored in the status information storage means. The access interval to the Web server can be dynamically adjusted based on a more appropriate Web server state.
(3)Webサーバに対するアクセスにより発生した、当該Webサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段を備えるクロール装置がアクセス対象のWebサーバに対するアクセス間隔を動的に制御する方法であって、所定のアクセス間隔で前記Webサーバにアクセスしたことに応じて、当該Webサーバからのレスポンス状況を取得し、当該レスレスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報ステップと、前記レスポンス情報記憶手段から前記Webサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Webサーバの状態を分析する状態分析ステップと、前記状態分析ステップにおける分析結果に基づいて前記Webサーバの状態を推定する状態推定ステップと、前記状態推定ステップにより推定された前記Webサーバの状態情報に基づいて、当該Webサーバへのアクセス間隔を決定するアクセス間隔決定ステップと、を含む方法。 (3) A method in which a crawl device including response information storage means for storing response information indicating response status from the Web server generated by access to the Web server dynamically controls an access interval to the Web server to be accessed. A response information step of acquiring a response status from the Web server in response to accessing the Web server at a predetermined access interval and storing response information indicating the responseless response status in the response information storage means A response analyzing unit that acquires response information of the Web server for a predetermined period from the response information storage unit, analyzes the state of the Web server based on the response information, and based on an analysis result in the state analysis step Before The method comprising state estimating step of estimating the state of the Web server, based on the state information of the Web server that is estimated by the state estimation step, an access interval determination step of determining an access distance to the Web server, the.
(3)の方法によれば、(1)のクロール装置と同様の効果を奏する。 According to the method (3), the same effects as the crawl device (1) are obtained.
本発明によれば、アクセスするWebサーバの状態を把握して、当該Webサーバへのアクセス間隔を動的に調整することができるクロール装置及びその方法を提供することができる。 According to the present invention, it is possible to provide a crawl device and a method thereof capable of grasping the state of a web server to be accessed and dynamically adjusting an access interval to the web server.
以下、本発明の実施形態について図を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[機能構成]
図1は、本実施形態に係るクロール装置1の機能概要を示す図である。クロール装置1は、通信ネットワークNを介して、複数のWebサーバ2に接続可能であり、アクセス対象のWebサーバ2に対するアクセス間隔を動的に制御するサーバである。
[Function configuration]
FIG. 1 is a diagram showing an outline of functions of the crawl device 1 according to the present embodiment. The crawl device 1 is a server that can be connected to a plurality of
本実施形態は、コンピュータ(クロール装置1)及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びにこのハードウェアを制御するソフトウェアによって構成される。 This embodiment is applied to a computer (crawl device 1) and its peripheral devices. Each unit in the present embodiment is configured by hardware included in a computer and its peripheral devices, and software that controls the hardware.
上記ハードウェアには、制御部10としてのCPUの他、記憶部20、通信部、表示部及び入力部が含まれる。記憶部20としては、例えば、メモリ(RAM、ROM等)、ハードディスクドライブ(HDD)及び光ディスク(CD、DVD等)ドライブが挙げられる。通信部としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示部としては、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール等)が挙げられる。
In addition to the CPU as the
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部20により記憶され、制御部10により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信ネットワークNを介して配布することも可能であり、CD−ROM等のコンピュータ可読媒体に記録して配布することも可能である。
The software includes a computer program and data for controlling the hardware. The computer program and data are stored in the
クロール装置1の制御部10は、アクセス部11(レスポンス情報取得手段)と、レスポンス情報取得部12(レスポンス情報取得手段)と、状態分析部13(状態分析手段)と、状態推定部14(状態推定手段)と、アクセス間隔決定部15(アクセス間隔決定手段)と、を備える。また、クロール装置1の記憶部20は、レスポンスデータベース(以下、データベースをDBという)21(レスポンス情報記憶手段)と、状態DB22(状態情報記憶手段)と、コンテンツDB23と、を備える。
The
アクセス部11は、アクセス間隔決定部15により決定され後述の状態DB22に記憶されたアクセス間隔にしたがって、Webサーバ2に所定のアクセス間隔でアクセス(クロール)を行う。より具体的には、アクセス部11は、Webサーバ2に対してWebページの情報の取得要求を行い、Webサーバ2からWebページの情報を受信する。アクセス部11は、この受信したWebページの情報を、Webページの情報を管理するコンテンツDB23に記憶させる。
The
具体的には、アクセス部11は、状態DB22(後述の図3参照)を参照して、Webサーバ2へのアクセス間隔を取得し、このアクセス間隔に基づいて、Webサーバ2に対してWebページの取得要求情報をhttp(hypertext transfer protocol)プロトコルで送信する。続いて、アクセス部11は、その応答としてWebサーバ2からWebページの情報を受信し、このWebページの情報をコンテンツDB23に記憶させる。このWebページの情報には、httpヘッダ情報が含まれる。また、このhttpヘッダ情報には、Webサーバ2がWebページの取得要求情報を受信した時点における、Webサーバ2の状況を示すhttpステータスコードが含まれている。
Specifically, the
レスポンス情報取得部12は、Webページの情報を受信する際に、Webサーバ2からレスポンス状況を示すレスポンス情報を取得して、当該レスポンス情報をレスポンスDB21に記憶させる。
When receiving the information on the Web page, the response
具体的には、レスポンス情報取得部12は、アクセスしたWebサーバ2のアドレスと、アクセスした時刻と、取得要求情報を送信してからhttpヘッダ情報を受信するまでの時間を示すレスポンスタイムと、httpステータスコードと、をレスポンス情報として、レスポンスDB21に記憶させる。
また、レスポンス情報取得部12は、Webサーバ2から所定時間応答がなかった場合、httpステータスコードを、タイムアウトに対応するコードに設定して、レスポンス情報を、レスポンスDB21に記憶させる。
Specifically, the response
In addition, when there is no response from the
図2は、本実施形態に係るレスポンスDB21を示す図である。レスポンスDB21は、レスポンス状況を示すレスポンス情報を記憶する。レスポンスDB21は、アクセスしたWebサーバ2のアドレスと、アクセスした時刻と、レスポンスタイムと、httpステータスコードと、を関連付けて、レスポンス情報として記憶する。
FIG. 2 is a diagram showing the
状態分析部13は、所定のタイミングでレスポンスDB21からWebサーバ2の所定期間のレスポンス情報を取得して、Webサーバ2の状態を分析する。
The
具体的には、状態分析部13は、所定のタイミングでレスポンスDB21から、所定期間(例えば、最新の10分間)のレスポンス情報を取得して、所定のWebサーバ2における、単位時間あたりのアクセス回数、エラー発生率、最もエラーが連続した回数、トラブルの発生時から起算した場合の正常処理の連続した回数を分析する。
例えば、状態分析部13は、レスポンス情報に含まれるhttpステータスコードが500番台である場合、Webサーバ2がエラーであると分析する。
Specifically, the
For example, when the http status code included in the response information is in the 500s, the
なお、当該所定のタイミングは状況に応じて適宜設定してよい。当該所定のタイミングを短くすると、Webサーバ2の状況の変化に対してより迅速に対応することができる。一方当該所定のタイミングを長くすると、当該分析処理に係るシステム負荷を抑制することができる。また、当該所定のタイミングを上述の所定期間より短い間隔に設定することにより、レスポンスDB21に記憶されたレスポンス情報をもれなく分析の対象とすることができ、好適である。
The predetermined timing may be appropriately set according to the situation. If the predetermined timing is shortened, it is possible to respond more quickly to changes in the status of the
状態推定部14は、状態分析部13による分析結果及び状態DB22から読み出した推定されたWebサーバ2の状態情報に基づいて、直近のWebサーバ2の状態を推定し、推定されたWebサーバ2の状態を示す状態情報を状態DB22に記憶させる。
The
図3は、本実施形態に係る状態DB22を示す図である。状態DB22は、Webサーバ2の状態を示す状態情報及びアクセス間隔を記憶する。具体的には、状態DB22は、Webサーバ2のアドレスと、このWebサーバ2の状態情報と、このWebサーバ2に対するレスポンス情報取得部12によるアクセス間隔と、を関連付けて記憶する。
FIG. 3 is a diagram showing the
なお、本実施形態では、Webサーバ2の状態を、不明状態、正常状態、トラブル状態、復旧状態及び不安定状態の5つの状態に分類しており、状態推定部14は、状態分析部13による分析に基づいて、Webサーバ2の状態を以下のように推定し、推定されたWebサーバ2の状態を状態情報として、状態DB22に記憶させる。
In the present embodiment, the state of the
すなわち、状態推定部14は、初めてアクセスするWebサーバ2や、前回アクセスから1日以上経過している場合、当該Webサーバ2のステータスを不明状態と推定する。
That is, the
また、状態推定部14は、所定期間(例えば、最新の10分間)に10回以上のアクセスがある場合に、10分間に所定期間におけるエラー発生率が所定値(例えば、10%)未満のときには、Webサーバ2の状態を正常状態と推定する。また、状態推定部14は、10分に10回以上のアクセスがない場合に、最新10回のアクセスにおけるエラー発生率が所定値(例えば、10%)未満のときには、Webサーバ2のステータスを正常状態と推定する。
In addition, the
また、状態推定部14は、最もエラーが連続した回数が第1の所定回数(例えば、5回)以上の場合、Webサーバ2の状態をトラブル状態と推定する。
また、状態推定部14は、トラブルの発生時から正常処理の連続した回数が第2の所定回数(例えば、2回)以上である場合、Webサーバ2の状態を復旧状態と推定する。
Moreover, the
In addition, the
また、状態推定部14は、所定期間内に所定回数(例えば、10回)以上のアクセスがある場合に、所定期間内にWebサーバ2におけるエラー発生率が所定値(例えば、10%)以上のときには、Webサーバ2の状態を不安定状態と推定する。また、状態推定部14は、所定期間内に所定回数以上のアクセスがない場合に、最新の所定回数のアクセスにおけるエラー発生率が所定値(例えば、10%)以上のときには、Webサーバ2の状態を不安定状態と推定する。
In addition, the
アクセス間隔決定部15は、状態DB22に記憶されたWebサーバ2の状態に基づいて、Webサーバ2へのアクセス間隔を決定する。
具体的には、アクセス間隔決定部15は、Webサーバ2の状態が正常状態である場合、当該Webサーバ2の所定期間(例えば、最新の10分間)におけるレスポンスタイムを昇順に並び替え、レスポンスタイムが小さいものを所定の割合(例えば、90%)だけ抽出し、抽出されたレスポンスタイムの平均時間を算出する。続いて、アクセス間隔決定部15は、この平均時間に所定数(例えば、10倍)乗算して得られた値(時間)を、正常状態のWebサーバ2のアクセス間隔とする。なお、アクセス間隔決定部15は、乗算して得られた値が第1の時間(例えば1秒)に満たない場合、アクセス間隔を、第1の時間にする。
The access
Specifically, when the state of the
また、アクセス間隔決定部15は、Webサーバ2の状態が復旧状態である場合、このWebサーバ2のアクセス間隔を、正常状態におけるアクセス間隔に比べて大きい第2の時間(例えば、1分)とする。
In addition, when the state of the
また、アクセス間隔決定部15は、Webサーバ2の状態が不明状態である場合、このWebサーバ2へのアクセス間隔を、正常状態におけるアクセス間隔に比べて大きい第3の時間(例えば、1分)とする。
In addition, when the state of the
また、アクセス間隔決定部15は、Webサーバ2の状態が不安定状態である場合、このWebサーバ2へのアクセス間隔を、復旧状態におけるアクセス間隔(第2の時間)に比べて大きい第4の時間(例えば、10分)とする。
In addition, when the state of the
また、アクセス間隔決定部15は、Webサーバ2の状態がトラブル状態である場合、このWebサーバ2のアクセス間隔を、不安定状態におけるアクセス間隔(第4の時間)に比べて、十分に大きい第5の時間(例えば、60分)とする。
Further, when the state of the
[処理フロー]
図4は、本実施形態に係るクロール装置1の制御部10における処理を示すフローチャートである。
[Processing flow]
FIG. 4 is a flowchart showing processing in the
ステップS1において、制御部10(アクセス部11)は、状態DB22を参照して、Webサーバ2へのアクセス間隔を取得し、このアクセス間隔(所定のアクセス間隔)にしたがって、Webサーバ2にアクセスし、Webページの情報の取得要求を行い、Webページの情報を受信する。
In step S1, the control unit 10 (access unit 11) refers to the
ステップS2において、制御部10(アクセス部11)は、アクセス部11により、受信したWebページの情報に含まれるWebサーバ2からレスポンス状況を示すレスポンス情報を取得する。
In step S <b> 2, the control unit 10 (access unit 11) uses the
ステップS3において、制御部10(レスポンス情報取得部12)は、ステップS2において取得したレスポンス情報をレスポンスDB21に記憶させる。ここで、レスポンス情報には、アクセスしたWebサーバ2のアドレスと、アクセスした時刻と、レスポンスタイムと、httpステータスコードと、が含まれている。
In step S3, the control unit 10 (response information acquisition unit 12) stores the response information acquired in step S2 in the
ステップS4において、制御部10(状態分析部13)は、レスポンスDB21からWebサーバ2の所定期間(例えば、最新の10分間)のレスポンス情報を取得して、当該レスポンス情報に基づいてWebサーバ2の状態を分析する。
In step S4, the control unit 10 (state analysis unit 13) acquires response information of the
ステップS5において、制御部10(状態推定部14)は、ステップS4における分析結果に基づいてWebサーバ2の状態を推定する。この処理の詳細については、後述の図5で説明する。
In step S5, the control unit 10 (state estimation unit 14) estimates the state of the
ステップS6において、制御部10(状態推定部14)は、ステップS5において推定されたWebサーバ2の状態を状態DB22に記憶させる。
In step S6, the control unit 10 (state estimation unit 14) stores the state of the
ステップS7において、制御部10(アクセス間隔決定部15)は、状態DB22に記憶されているWebサーバ2の状態に基づいて、アクセス間隔を決定する。続いて、制御部10(アクセス間隔決定部15)は、決定されたアクセス間隔を状態DB22に記憶させる。
In step S <b> 7, the control unit 10 (access interval determination unit 15) determines an access interval based on the state of the
ステップS8において、制御部10は、クロール装置1の入力部において、Webサーバ2へのアクセスに係る処理の終了操作が行われたか否かを判定する。制御部10は、この判定がYESの場合、処理を終了し、この判定がNOの場合、ステップS1に移る。すなわち、終了操作が行われない場合、アクセス間隔決定部14が決定した間隔にしたがってアクセス部11がWebサーバ2にアクセスし、レスポンス情報取得部12がレスポンス情報を取得する、といったように、アクセス間隔を決定する処理を繰り返す。
In step S <b> 8, the
図5は、本実施形態に係るクロール装置1の制御部10における、Webサーバ2の状態を推定する処理を示すフローチャートである。
FIG. 5 is a flowchart showing processing for estimating the state of the
ステップS51において、制御部10(状態推定部14)は、アクセスするWebサーバ2について、状態分析部13の分析結果に基づいて、前回アクセスから1日以上経過又は初回アクセスであるか否かを判定する。制御部10(状態推定部14)は、この判定がYESの場合、処理をステップS52に移し、この判定がNOの場合、処理をステップS53に移す。
ステップS52において、制御部10(状態推定部14)は、Webサーバ2の状態を不明状態と推定する。この処理が終了すると、Webサーバ2の状態を推定する処理を終了する。
In step S <b> 51, the control unit 10 (state estimation unit 14) determines, based on the analysis result of the
In step S52, the control unit 10 (state estimation unit 14) estimates the state of the
ステップS53において、制御部10(状態推定部14)は、アクセスするWebサーバ2について、状態分析部13の分析結果に基づいて、所定期間のエラー発生率が所定値(例えば、10%)未満か否かを判定する。制御部10(状態推定部14)は、この判定がYESの場合、処理をステップS54に移し、この判定がNOの場合、処理をステップS55に移す。
ステップS54において、制御部10(状態推定部14)は、Webサーバ2の状態を正常状態と推定する。この処理が終了すると、Webサーバ2の状態を推定する処理を終了する。
In step S <b> 53, the control unit 10 (state estimation unit 14) determines whether the error occurrence rate for a predetermined period of the
In step S54, the control unit 10 (state estimation unit 14) estimates the state of the
ステップS55において、制御部10(状態推定部14)は、アクセスするWebサーバ2について、状態DB22から読み出した直近のWebサーバ2の推定状態がトラブル時であって、かつ、状態分析部13の分析結果に基づいて、第2の所定回数(例えば、2回)以上連続で正常処理されたか否かを判定する。制御部10(状態推定部14)は、この判定がYESの場合、処理をステップS56に移し、この判定がNOの場合、処理をステップS57に移す。
ステップS56において、制御部10(状態推定部14)は、Webサーバ2の状態を復旧状態と推定する。この処理が終了すると、Webサーバ2の状態を推定する処理を終了する。
In step S <b> 55, the control unit 10 (state estimation unit 14) analyzes the
In step S56, the control unit 10 (the state estimation unit 14) estimates the state of the
ステップS57において、制御部10(状態推定部14)は、アクセスするWebサーバ2について、状態分析部13の分析結果に基づいて、最もエラーが連続した回数が第1の所定回数(例えば、5回)以上か否かを判定する。制御部10(状態推定部14)は、この判定がYESの場合、処理をステップS58に移し、この判定がNOの場合、処理をステップS59に移す。
ステップS58において、制御部10(状態推定部14)は、Webサーバ2の状態をトラブル状態と推定する。この処理が終了すると、Webサーバ2の状態を推定する処理を終了する。
ステップS59において、制御部10(状態推定部14)は、Webサーバ2の状態を不安定状態と推定する。この処理が終了すると、Webサーバ2の状態を推定する処理を終了する。
In step S57, the control unit 10 (state estimation unit 14) determines that the number of consecutive errors for the
In step S58, the control unit 10 (state estimation unit 14) estimates the state of the
In step S59, the control unit 10 (state estimation unit 14) estimates the state of the
以上のように、本実施形態によれば、クロール装置1は、Webサーバ2から取得した所定期間のレスポンス状況を示すレスポンス情報に基づいて、Webサーバ2の状態を推定し、当該Webサーバ2の状態に基づいて、アクセス間隔を決定する。よって、このクロール装置1は、アクセスするWebサーバ2の状態を把握して、当該Webサーバ2のアクセス間隔を調整することができるので、Webサーバ2の状態を把握すること自体が負担とならずに、かつその時点でWebサーバ2の状態に適合したアクセス間隔に、動的に調整を行うことができる。
As described above, according to the present embodiment, the crawl device 1 estimates the state of the
また、クロール装置1は、状態DB22にWebサーバ2の状態情報を記憶させておくので、状態DB22に記憶されたWebサーバ2の過去の状態情報を考慮して、Webサーバの現在の状態を推定することができ、より適切なWebサーバの状態に基づいて、当該Webサーバ2へのアクセス間隔を動的に調整することができる。
Further, since the crawl device 1 stores the state information of the
また、クロール装置1は、Webサーバ2からWebページの情報を取得する際に、Webサーバ2からのレスポンス情報を取得する。クロール装置1は、クロールする際に取得したレスポンス情報から、Webサーバ2へのアクセス間隔を調整することができるので、レスポンス情報を取得するためだけにWebサーバ2にアクセスすることが不要になる。
The crawl device 1 acquires response information from the
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。 As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.
1 クロール装置
2 Webサーバ
10 制御部
11 アクセス部
12 レスポンス情報取得部
13 状態分析部
14 状態推定部
15 アクセス間隔決定部
20 記憶部
21 レスポンスDB
22 状態DB
23 コンテンツDB
N 通信ネットワーク
DESCRIPTION OF SYMBOLS 1
22 State DB
23 Content DB
N communication network
Claims (3)
前記Webサーバに対するアクセスにより発生した、前記Webサーバからのレスポンス状況を示すレスポンス情報を記憶するレスポンス情報記憶手段と、
所定のアクセス間隔で前記Webサーバにアクセスしたことに応じて、当該Webサーバからのレスポンス状況を取得し、当該レスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報取得手段と、
前記レスポンス情報記憶手段から前記Webサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Webサーバの状態を分析する状態分析手段と、
前記状態分析手段による分析結果に基づいて前記Webサーバの状態を推定する状態推定手段と、
前記状態推定手段により推定された前記Webサーバの状態情報に基づいて、当該Webサーバへのアクセス間隔を決定するアクセス間隔決定手段と、
を備え、
前記レスポンス情報は、前記Webサーバのアドレス、前記Webサーバをアクセスした時刻、前記WebサーバにWebページの取得要求情報を送信してからhttpヘッダを受信するまでの応答時間、及びhttpステータスコードを含む
ことを特徴とするクロール装置。 A crawl device that dynamically controls an access interval for a web server to be accessed,
Response information storage means for storing response information indicating a response status from the Web server generated by accessing the Web server;
A response information acquisition unit that acquires a response status from the Web server in response to accessing the Web server at a predetermined access interval, and stores response information indicating the response status in the response information storage unit;
State analysis means for acquiring response information of the Web server for a predetermined period from the response information storage means, and analyzing the state of the Web server based on the response information;
State estimation means for estimating the state of the Web server based on the analysis result by the state analysis means;
An access interval determining unit that determines an access interval to the Web server based on the state information of the Web server estimated by the state estimating unit;
Equipped with a,
The response information includes an address of the web server, a time when the web server is accessed, a response time from when the web page acquisition request information is transmitted to the web server until an http header is received, and an http status code.
A crawl device characterized by that .
前記状態推定手段は、前記状態分析手段による分析結果に基づいて前記Webサーバの状態を推定し、当該Webサーバの状態情報を前記状態情報記憶手段に記憶させ、
前記アクセス間隔決定手段は、前記状態情報記憶手段に記憶された前記Webサーバの状態情報に基づいて、当該Webサーバへのアクセス間隔を決定する請求項1に記載のクロール装置。 A status information storage unit for storing status information of the Web server;
The state estimation means estimates the state of the Web server based on the analysis result by the state analysis means, stores the state information of the Web server in the state information storage means,
The crawl device according to claim 1, wherein the access interval determination unit determines an access interval to the Web server based on the Web server status information stored in the status information storage unit.
所定のアクセス間隔で前記Webサーバにアクセスしたことに応じて、当該Webサーバからのレスポンス状況を取得し、当該レスレスポンス状況を示すレスポンス情報を前記レスポンス情報記憶手段に記憶させるレスポンス情報ステップと、
前記レスポンス情報記憶手段から前記Webサーバの所定期間のレスポンス情報を取得して、当該レスポンス情報に基づいて前記Webサーバの状態を分析する状態分析ステップと、
前記状態分析ステップにおける分析結果に基づいて前記Webサーバの状態を推定する状態推定ステップと、
前記状態推定ステップにより推定された前記Webサーバの状態情報に基づいて、当該Webサーバへのアクセス間隔を決定するアクセス間隔決定ステップと、
を含み、
前記レスポンス情報は、前記Webサーバのアドレス、前記Webサーバをアクセスした時刻、前記WebサーバにWebページの取得要求情報を送信してからhttpヘッダを受信するまでの応答時間、及びhttpステータスコードを含む
ことを特徴とする方法。 A crawl device comprising response information storage means for storing response information indicating response status from the Web server generated by accessing the Web server dynamically controls an access interval to the Web server to be accessed,
A response information step of acquiring a response status from the Web server in response to accessing the Web server at a predetermined access interval, and storing response information indicating the response response status in the response information storage means;
A state analysis step of acquiring response information of the Web server for a predetermined period from the response information storage means, and analyzing the state of the Web server based on the response information;
A state estimation step of estimating the state of the Web server based on the analysis result in the state analysis step;
An access interval determining step for determining an access interval to the Web server based on the state information of the Web server estimated by the state estimating step;
Only including,
The response information includes an address of the web server, a time when the web server is accessed, a response time from when the web page acquisition request information is transmitted to the web server until an http header is received, and an http status code.
A method characterized by that .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010210987A JP5356343B2 (en) | 2010-09-21 | 2010-09-21 | Crawl device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010210987A JP5356343B2 (en) | 2010-09-21 | 2010-09-21 | Crawl device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012068734A JP2012068734A (en) | 2012-04-05 |
JP5356343B2 true JP5356343B2 (en) | 2013-12-04 |
Family
ID=46165985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010210987A Active JP5356343B2 (en) | 2010-09-21 | 2010-09-21 | Crawl device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5356343B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5231604B2 (en) * | 2011-06-07 | 2013-07-10 | ヤフー株式会社 | Crawl server and method |
JP7220880B1 (en) | 2022-07-20 | 2023-02-13 | 17Live株式会社 | Systems, methods, and computer readable media for data access |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3618917B2 (en) * | 1996-08-05 | 2005-02-09 | 株式会社東芝 | Information collection method |
JP5405190B2 (en) * | 2009-01-15 | 2014-02-05 | 株式会社Nttドコモ | Content management information collection system and content management information collection method |
-
2010
- 2010-09-21 JP JP2010210987A patent/JP5356343B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012068734A (en) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645143B1 (en) | Static tracker | |
US11310331B2 (en) | Optimizing user interface data caching for future actions | |
US8782031B2 (en) | Optimizing web crawling with user history | |
US12093978B2 (en) | Methods and apparatus to collect and process browsing history | |
KR20140064930A (en) | Predicting user navigation events | |
US8903946B1 (en) | Reduction in redirect navigation latency via speculative preconnection | |
JP5847361B2 (en) | Method and apparatus for acquiring dynamic information | |
EP3230867B1 (en) | Browser provided website statistics | |
US20240211680A1 (en) | Time-dependent machine-generated hinting | |
CN105354258B (en) | A kind of device and method updating website data caching | |
JP2020162055A (en) | Information processing method and information processing device | |
JP2015527674A (en) | Method, apparatus, computer program product, and computer program for managing a data cache for a computer system (managing a data cache for a computer system) | |
JP2010044618A (en) | Method for interpolating missing data, execution program therefor, and data collecting device | |
JP2007214670A (en) | Client device and program | |
JP5356343B2 (en) | Crawl device and method | |
US9516109B2 (en) | Registry synchronizer and integrity monitor | |
JP5543896B2 (en) | Mediation server, and access analysis method and program by the mediation server | |
JP5231604B2 (en) | Crawl server and method | |
JP6307026B2 (en) | Web performance estimation apparatus, web performance estimation system, and web performance estimation method | |
JP2008165412A (en) | Performance-computing device | |
JP2011107862A (en) | System, device, method, and program for evaluating maximum throughput | |
JP2013077046A (en) | Data storage control device, data storage control program and data storage control method | |
JP2009116678A (en) | Web server | |
JP2013030071A (en) | Web service monitoring system | |
JP2005044168A (en) | Method and system for automatic updating of www page using processing time table |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120710 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120807 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120903 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130725 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130805 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5356343 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |