360 likes | 452 Views
分散コンピューティング環境上の Web リンク収集システムの実装. 林研究室 050011 伊藤 正敬. 目次. 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察. 研究の背景と動機. 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察. WWW について. WWW の特徴 大規模 :10億ページ以上 変化が速い :更新・削除などが頻繁 多様性 :個人の日記から映像メディアまで存在 構造的 : HTML 記述やハイパーリンクによって構成
E N D
分散コンピューティング環境上のWebリンク収集システムの実装分散コンピューティング環境上のWebリンク収集システムの実装 林研究室 050011 伊藤 正敬
目次 • 研究の背景と動機 • システム構成の概要 • システム全体の処理フロー • システムの評価実験 • 結果のまとめと考察
研究の背景と動機 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察
WWWについて • WWWの特徴 • 大規模 :10億ページ以上 • 変化が速い :更新・削除などが頻繁 • 多様性 :個人の日記から映像メディアまで存在 • 構造的 :HTML記述やハイパーリンクによって構成 • Webページ検索の問題点と現状 • キーワード検索のみでは限界? • ハイパーリンク構造に注目したサービスが多くなってきた • Google、Lycos、Yahoo!、Excite、BIGLOBEなど いかに有用な情報を探せるか?
Webページの収集方法 • WWWソフトウェアロボット 開始点となるURLからリンクを辿り、Webページを収集 • 分散コンピューティング 時間のかかる処理を複数マシンで並列実行 情報収集システムの事例はあるが、 システムの構築方法や問題点までは公開されていない 構築方法や技術的な課題を明らかにしたい
研究の目的と方法 研究の目的 • Webリンク収集システムの構築 • 構築方法や技術的な問題点を明らかにする • 仕様、機能の定義 • 構成する諸技術 • 全体の処理フロー • パフォーマンスの評価実験
システム構成の概要 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察
開発言語 分散システム データベース システムの仕様と機能 • Webリンクの収集 • Webページを解析 • 並列処理可能 • 分散環境の構築 • 複数台PCによる負荷分散 • リンクデータの処理 • 膨大なデータを格納できる • 検索やデータの更新などが容易 • メモリ管理の考慮 • 排他制御が必要
開発言語の選択 分散システム に対応 HTML 処理が容易 並列処理 可能 メモリ管理 が容易 データベース 接続が容易 Java言語
分散システム技術 • 分散システム:RPC、Java RMI、CORBA、HORB • Java用分散オブジェクト技術HORBを用いた
データベースの選択 Javaとの接続が容易 排他制御が可能 容量制限が大きい PostgreSQL7.1.3
システム全体の処理フロー • 研究の背景と動機 • システム構成の概要 • システム全体の処理フロー • システムの評価実験 • 結果のまとめと考察
Slave PC タスクURL数 と深さだけ収集 Web リンク 収集 HORBによる 分散環境構築 リンクデータの格納 Master PC DB Slaveのタスク管理 システムの全体像 Web ハイパーリンク
並列処理の必要性 Slave PC 1 Slave PC 2 同時にデータが 送られてくるかも しれない Master PC DB
非同期メソッドとマルチスレッド 処理を同時並行的に進める 複数人で仕事を行う Slave タスク Master タスク Slave タスク Slave
非同期メソッドとマルチスレッド Slave Master Hisyo Slave それぞれが 別スレッド 非同期 メソッド Slave
システムの評価実験 • 研究の背景と動機 • システム構成の概要 • システム全体の処理フロー • システムの評価実験 • 結果のまとめと考察
実験の方法 • 実験1:時間量とSlave PC台数の変化 • Slave PCの{2、5、10}台 • 30分、60分、90分 • タスクURL数3、リンクの深さ4 • 実験2:初期値設定の変化(60分間で計測) • タスクURL数の変化{1、3、5} • リンク収集の深さ{2、4、6} 実験は各3回ずつ行った 「解析Webページ数」と「獲得リンク数」の平均値で評価 初期URLデータは日本の大学Web TOP Page100個 解析するドメイン対象をJPドメインに限定した
全実験データの結果 • 実験時間 :63時間 • 解析ページ数 :205177ページ • 獲得リンク数 :2494075 • エラーページの接続回数:9767回 1ページあたり約12リンク 約5%の割合でエラーページに遭遇
実験1:時間量の変化 解析したWebページ数 解析ページ数 時間量
実験1:時間量の変化(1台あたり) 台数が多い場合ほど 解析ページ数が減少している 2台 5台 10台
実験2:タスクURL数の変化(1台あたり) 10台 2台 解析ページ数 どの台数でも 解析ページ数が上昇 5台 タスクURL数
実験2:深さの変化(1台あたり) 10台 解析ページ数 5台、10台の場合、 解析ページが増加 2台 5台 深さ
実験2:タスクURL数の変化(1台あたり) 10台 解析ページ数 5台 2台 ネットワークトラフィック の影響が考えられる タスクURL数
結果のまとめと考察 • 研究の背景と動機 • システム構成の概要 • システム全体の処理フロー • システムの評価実験 • 結果のまとめと考察
台数が多い程、1台あたりの解析ページ数は 時間とともに減少する 重複チェックにかかる処理時間が大きくなる 結果のまとめと考察 • タスクURL数、深さを大きく設定すると 1台あたりの解析ページ数が増加する 広く、深い範囲を収集するため、解析ページが増加 但し、時間がたてば異なるSlaveが同時期に 同一領域を解析する可能性がある • 収集時間帯によるネットワークトラフィックの影響
同じURLを解析 しているかもしれない パフォーマンス低下の要因 Slave Master Hisyo Slave Slave
システムの問題点 • 重複したURLチェックに要するオーバーヘッド • WWWロボットの収集範囲の指針 • データベースのリンクデータ処理 • エラーページの回避 • 収集時間帯の考慮
Slave Slave Slave Slave よりよいシステムにするために • 分散処理方式の変更 • データベースの処理速度の向上 • データベースの分散化 • 高速アルゴリズムの適用 Master Master Master Master
Webページ ハイパーリンク タスク URL数:3 深さ:3 深さ 1 深さ 2 深さ 3
本システムの問題点 • 無反応サーバへの接続問題 サーバが生きてて、80番ポートは空いているが、 http daemonが(少なくとも80番ポートでは)動いていない。 • CSSへの非対応 使っているAPIではスタイルシートには非対応
使用PCについて • Webページを解析してURLを収集する「SlavePC」 • SlavePCのタスク管理などを行う「MasterPC」 • URLデータを格納しておく「データベースサーバ」 • OSは全てVineLinux2.1.5を使用 但し、MasterPCはメモリを198Mに、DBはHDDを40Gに増設
DB サーバ MasterPC SlavePC
HTMLの解析方法 HTML Documentクラスによってドキュメント化 ドキュメントを要素ツリー構造化 構造化した要素一つ一つのタグチェック HTML.Tag.FRAME HTML.Tag.A SRC タグの属性値を取得 HREF URL取得