Presentation is loading. Please wait.

Presentation is loading. Please wait.

分散コンピューティング環境上の Webリンク収集システムの実装

Similar presentations


Presentation on theme: "分散コンピューティング環境上の Webリンク収集システムの実装"— Presentation transcript:

1 分散コンピューティング環境上の Webリンク収集システムの実装
林研究室 050011 伊藤 正敬

2 目次 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

3 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

4 WWWについて いかに有用な情報を探せるか? WWWの特徴 Webページ検索の問題点と現状 大規模 :10億ページ以上
大規模 :10億ページ以上 変化が速い :更新・削除などが頻繁 多様性 :個人の日記から映像メディアまで存在 構造的 :HTML記述やハイパーリンクによって構成 Webページ検索の問題点と現状 キーワード検索のみでは限界? ハイパーリンク構造に注目したサービスが多くなってきた Google、Lycos、Yahoo!、Excite、BIGLOBEなど いかに有用な情報を探せるか?

5 システムの構築方法や問題点までは公開されていない
Webページの収集方法 WWWソフトウェアロボット 開始点となるURLからリンクを辿り、Webページを収集 分散コンピューティング 時間のかかる処理を複数マシンで並列実行 情報収集システムの事例はあるが、 システムの構築方法や問題点までは公開されていない 構築方法や技術的な課題を明らかにしたい

6 研究の目的と方法 研究の目的 仕様、機能の定義 構成する諸技術 全体の処理フロー パフォーマンスの評価実験 Webリンク収集システムの構築
構築方法や技術的な問題点を明らかにする 仕様、機能の定義 構成する諸技術 全体の処理フロー パフォーマンスの評価実験 そこで、研究の目的として、 Webリンク収集システムの構築を行い、 今回の構築の試みからわかった構築方法や技術的な問題点を明らかにする そこで、具体的な方法として、 システムの仕様、機能を定め、 その仕様に基づいたシステムを構成する諸技術を決定し、 システム全体の処理の流れを定め、 構築したシステムのパフォーマンスを評価するために実験を行いました

7 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

8 システムの仕様と機能 開発言語 分散システム データベース Webリンクの収集 分散環境の構築 リンクデータの処理 Webページを解析
並列処理可能 分散環境の構築 複数台PCによる負荷分散 リンクデータの処理 膨大なデータを格納できる 検索やデータの更新などが容易 メモリ管理の考慮 排他制御が必要 開発言語 分散システム データベース

9 開発言語の選択 分散システム に対応 HTML 処理が容易 並列処理 可能 メモリ管理 が容易 データベース 接続が容易 Java言語

10 分散システム技術 分散システム:RPC、Java RMI、CORBA、HORB 他技術との比較 比較した上での
Java用分散オブジェクト技術HORBを用いた 他技術との比較 比較した上での HORBのメリット RPC 関数の使い方などが容易 Java RMI 実行処理速度が2倍 非同期メソッドをサポート CORBA IDL記述不要 非同期メソッドの記述が容易 CORBA IIOPをサポート

11 データベースの選択 Javaとの接続が容易 排他制御が可能 容量制限が大きい PostgreSQL7.1.3

12 システム全体の処理フロー 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

13 システムの全体像 Master PC DB Slave PC タスクURL数 と深さだけ収集 Web リンク 収集 HORBによる
ハイパーリンク Slave PC Web リンク 収集 タスクURL数 と深さだけ収集 HORBによる 分散環境構築 DB リンクデータの格納 Master PC Slaveのタスク管理

14 並列処理の必要性 Slave PC Slave PC 同時にデータが 送られてくるかも しれない Master PC DB

15 非同期メソッドとマルチスレッド 処理を同時並行的に進める 複数人で仕事を行う Slave タスク Master タスク Slave タスク

16 非同期メソッドとマルチスレッド Slave Master Hisyo Slave それぞれが 別スレッド 非同期 メソッド Slave

17 システムの評価実験 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

18 実験の方法 実験1:時間量とSlave PC台数の変化 実験2:初期値設定の変化(60分間で計測) 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ドメインに限定した

19 全実験データの結果 1ページあたり約12リンク 約5%の割合でエラーページに遭遇 実験時間 :63時間 解析ページ数 :205177ページ
実験時間 :63時間 解析ページ数 :205177ページ 獲得リンク数 : エラーページの接続回数:9767回 1ページあたり約12リンク 約5%の割合でエラーページに遭遇

20 実験1:時間量の変化 解析したWebページ数 解析ページ数 時間量

21 実験1:時間量の変化(1台あたり) 台数が多い場合ほど 解析ページ数が減少している 2台 5台 10台

22 実験2:タスクURL数の変化(1台あたり) 10台 2台 解析ページ数 どの台数でも 解析ページ数が上昇 5台 タスクURL数

23 実験2:深さの変化(1台あたり) 10台 解析ページ数 5台、10台の場合、 解析ページが増加 2台 5台 深さ

24 実験2:タスクURL数の変化(1台あたり) 10台 解析ページ数 5台 2台 ネットワークトラフィック の影響が考えられる タスクURL数

25 結果のまとめと考察 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

26 結果のまとめと考察 台数が多い程、1台あたりの解析ページ数は 時間とともに減少する 重複チェックにかかる処理時間が大きくなる
タスクURL数、深さを大きく設定すると 1台あたりの解析ページ数が増加する 広く、深い範囲を収集するため、解析ページが増加 但し、時間がたてば異なるSlaveが同時期に  同一領域を解析する可能性がある 収集時間帯によるネットワークトラフィックの影響

27 パフォーマンス低下の要因 同じURLを解析 しているかもしれない Slave Master Hisyo Slave Slave

28 システムの問題点 重複したURLチェックに要するオーバーヘッド WWWロボットの収集範囲の指針 データベースのリンクデータ処理
エラーページの回避 収集時間帯の考慮

29 よりよいシステムにするために 分散処理方式の変更 データベースの処理速度の向上 Master Master Slave Slave
データベースの分散化 高速アルゴリズムの適用 Master Master Slave Slave Slave Master Master Slave

30 おわり

31 Webページ ハイパーリンク タスク URL数:3 深さ:3 深さ 深さ 深さ

32 本システムの問題点 無反応サーバへの接続問題 サーバが生きてて、80番ポートは空いているが、
http daemonが(少なくとも80番ポートでは)動いていない。 CSSへの非対応 使っているAPIではスタイルシートには非対応

33 但し、MasterPCはメモリを198Mに、DBはHDDを40Gに増設
使用PCについて Webページを解析してURLを収集する「SlavePC」 SlavePCのタスク管理などを行う「MasterPC」 URLデータを格納しておく「データベースサーバ」 OSは全てVineLinux2.1.5を使用 マシン名 HITACHI FLORA370 CPU Pentium2-400MHz メモリ 128M LAN 10BASE-T HDD 6G 但し、MasterPCはメモリを198Mに、DBはHDDを40Gに増設

34 DB サーバ MasterPC SlavePC

35 Documentクラスによってドキュメント化
HTMLの解析方法 HTML Documentクラスによってドキュメント化 ドキュメントを要素ツリー構造化 構造化した要素一つ一つのタグチェック HTML.Tag.FRAME HTML.Tag.A SRC タグの属性値を取得 HREF URL取得

36 マルチスレッドについて Master Slave 役割 スレッド 各スレッドの仕事内容 Mainメソッド runメソッド タスクURL先の
DBからタスクURLの取得 Slaveへのタスク割り当て Slave監視 runメソッド SlaveからのURLデータの受取り URLデータをチェック URLデータをDBへ格納 Slave タスクURL先の Webページ解析 割り当てられたURL先のWebページ を順に解析していく 指定の深さまでWebページを解析する HTTP URL確認 Webページの解析前に,URL先に接続してWebページが正常かを確認する


Download ppt "分散コンピューティング環境上の Webリンク収集システムの実装"

Similar presentations


Ads by Google