分散コンピューティング環境上の Webリンク収集システムの実装 林研究室 050011 伊藤 正敬 1 目次 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察 2 研究の背景と動機 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察 3 WWWについて WWWの特徴 大規模 変化が速い 多様性 構造的 :10億ページ以上 :更新・削除などが頻繁 :個人の日記から映像メディアまで存在 :HTML記述やハイパーリンクによって構成 いかに有用な情報を探せるか? Webページ検索の問題点と現状 キーワード検索のみでは限界? ハイパーリンク構造に注目したサービスが多くなってきた Google、Lycos、Yahoo!、Excite、BIGLOBEなど 4 Webページの収集方法 WWWソフトウェアロボット 開始点となるURLからリンクを辿り、Webページを収集 分散コンピューティング 時間のかかる処理を複数マシンで並列実行 情報収集システムの事例はあるが、 システムの構築方法や問題点までは公開されていない 構築方法や技術的な課題を明らかにしたい 5 研究の目的と方法 研究の目的 Webリンク収集システムの構築 構築方法や技術的な問題点を明らかにする 仕様、機能の定義 構成する諸技術 全体の処理フロー パフォーマンスの評価実験 6 システム構成の概要 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察 7 システムの仕様と機能 Webリンクの収集 開発言語 Webページを解析 並列処理可能 分散環境の構築 分散システム 複数台PCによる負荷分散 リンクデータの処理 膨大なデータを格納できる 検索やデータの更新などが容易 メモリ管理の考慮 排他制御が必要 データベース 8 開発言語の選択 HTML 処理が容易 分散システム に対応 メモリ管理 が容易 並列処理 可能 データベース 接続が容易 Java 言語 9 分散システム技術 分散システム:RPC、Java RMI、CORBA、HORB Java用分散オブジェクト技術HORBを用いた 他技術との比較 比較した上での HORBのメリット RPC 関数の使い方などが容易 Java RMI 実行処理速度が2倍 非同期メソッドをサポート IDL記述不要 CORBA 非同期メソッドの記述が容易 CORBA IIOPをサポート 10 データベースの選択 Javaとの接続が容易 排他制御が可能 容量制限が大きい PostgreSQL7.1.3 11 システム全体の処理フロー 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察 12 システムの全体像 Web ハイパーリン ク Slave PC Web リンク 収集 タスクURL数 と深さだけ収集 HORBによる 分散環境構築 Master PC Slaveのタスク管理 リンクデータ の格納 DB 13 並列処理の必要性 Slave PC 1 同時にデータが 送られてくるかも しれない Slave PC 2 Master PC DB 14 非同期メソッドとマルチスレッド 処理を同時並行的に進める 複数人で仕事を行う Slave タスク Master タスク Slave タスク Slave 15 非同期メソッドとマルチスレッド Slave Master Hisyo それぞれが 別スレッド Slave 非同期 メソッド Slave 16 システムの評価実験 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察 17 実験の方法 実験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ドメインに限定した 18 全実験データの結果 実験時間 :63時間 解析ページ数 :205177ページ 獲得リンク数 :2494075 1ページあたり約12リンク エラーページの接続回数:9767回 約5%の割合でエラーページに遭遇 19 実験1:時間量の変化 解析したWebページ数 7000 解 析 ペ ー ジ 数 6341 6000 5000 3567 4000 2641 3000 2000 3650 1392 1869 2台 5台 10台 1558 953 522 1000 0 30分 60分 時間量 90分 20 実験1:時間量の変化(1台あたり) 台数が多い場合ほど 解析ページ数が減少している 1000 解 析 ペ ー ジ 数 800 2台 5台 600 10台 400 200 0 30分 60分 時間量 90分 21 実験2:タスクURL数の変化(1台あた り) 800 2台 解 析 ペ ー ジ 数 10台 600 どの台数でも 解析ページ数が上昇 400 5台 200 0 1 5 タスクURL数 10 22 実験2:深さの変化(1台あたり) 800 10台 解 析 ペ ー ジ 数 600 400 5台 2台 5台、10台の場合、 解析ページが増加 200 0 2 4 深さ 6 23 実験2:タスクURL数の変化(1台あた り) 800 10台 解 析 ペ ー ジ 数 600 400 5台 2台 200 ネットワークトラフィック の影響が考えられる 0 1 5 タスクURL数 10 24 結果のまとめと考察 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察 25 結果のまとめと考察 台数が多い程、1台あたりの解析ページ数は 時間とともに減少する 重複チェックにかかる処理時間が大きくなる タスクURL数、深さを大きく設定すると 1台あたりの解析ページ数が増加する 広く、深い範囲を収集するため、解析ページが増 加 但し、時間がたてば異なるSlaveが同時期に 同一領域を解析する可能性がある 収集時間帯によるネットワークトラフィックの影響 26 パフォーマンス低下の要因 Slave Master Hisyo Slave 同じURLを解析 しているかもしれない Slave 27 システムの問題点 重複したURLチェックに要するオーバーヘッド WWWロボットの収集範囲の指針 データベースのリンクデータ処理 エラーページの回避 収集時間帯の考慮 28 よりよいシステムにするために 分散処理方式の変更 Slave Slave Master Master Slave Master Master Slave データベースの処理速度の向上 データベースの分散化 高速アルゴリズムの適用 29 おわり 30 Webページ ハイパーリンク タスク URL数:3 深さ:3 深さ 1 深さ 2 深さ 3 31 本システムの問題点 無反応サーバへの接続問題 サーバが生きてて、80番ポートは空いているが、 http daemonが(少なくとも80番ポートでは)動いて いない。 CSSへの非対応 使っているAPIではスタイルシートには非対応 32 使用PCについて Webページを解析してURLを収集する「SlavePC」 SlavePCのタスク管理などを行う「MasterPC」 URLデータを格納しておく「データベースサーバ」 マシン名 C P U メ モ リ L A N H D D HITACHI FLORA370 Pentium2-400MHz 128M 10BASE-T 6G 但し、MasterPCはメモリを198Mに、DBはHDDを40Gに増設 OSは全てVineLinux2.1.5を使用 33 DB サーバ MasterPC SlavePC 34 HTMLの解析方法 HTML Documentクラスによってドキュメント化 ドキュメントを要素ツリー構造化 構造化した要素一つ一つのタグチェック HTML.Tag.FRAME SRC HTML.Tag.A タグの属性値を取得 URL取得 HREF 35 マルチスレッドについて 役割 Master スレッド Mainメソッド スレッド 各スレッドの仕事内容 DBからタスクURLの取得 Slaveへのタスク割り当て Slave監視 runメソッド スレッド SlaveからのURLデータの受取り URLデータをチェック URLデータをDBへ格納 Slave タスクURL先の Webページ解析 割り当てられたURL先のWebページ を順に解析していく 指定の深さまでWebページを解析する HTTP URL確認 Webページの解析前に,URL先に接続 してWebページが正常かを確認する 36
© Copyright 2024 ExpyDoc