Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mercator : A scalable, extensible web crawler TP2433 : Search Engine.

Similar presentations


Presentation on theme: "Mercator : A scalable, extensible web crawler TP2433 : Search Engine."— Presentation transcript:

1

2 Mercator : A scalable, extensible web crawler TP2433 : Search Engine

3 Web Crawler : 1. Ia juga dikenali sebagai robots, spiders, worms, walkers dan wanderers 2. Mercator-satu web crawler yang ditulis sepenuhnya dalam JAVA.

4 Ciri-ciri Mercator : 1. Scalable a. Mercator berkebolehan untuk “scale up” keseluruhan web. b. Ia direkabentuk untuk dicapai scalability dengan menggunakan memori yang terhad. c. Kebanyakan struktur data disimpan dalam disk dan sedikit pula disimpan dalam memori untuk kecekapan.

5 Ciri-ciri Mercator : 2. Extensible a. Mercator adalah direkabentuk dalam “modular way”.Maka ia memudahkan fungsi baru ditambah padanya. b. Ia digunakan untuk mereka satu “snapshot”dalam intranet syarikat,mengumpul pelbagai statistik yang berkenaan dengan web dan menjalankan satu siri “random walks” di web.

6 Architecture of a scalable web crawler: 1. Web crawler menjalankan algorithm asal dengan mengambil senarai URL sebagai input. 2. Ia akan mengambil alih URL daripada senarai URL,kemudian memastikan IP address serta download dokumen yang sesuai dan extract link yang terdapat dalamnya.

7 Architecture of a scalabel web crawler: 3. Bagi link yang telah extracted,pastikan ia adalah URL yang sempurna dan tambah kepada URL list untuk download jika ia belum ditemui.

8 5 basic algorithm komponen: a. URL frontier-untuk menyimpan senarai URL untuk download b. Komponen yang mengubah host names kepada IP address. c. Komponen yang downloading dokumen menggunakan protokol HTTP. d. Komponen yang extracting links daripada HTML dokumen. e. Komponen yang menguji URL sama ada telah ditemui atau belum.

9 Proses Mercator : Proses Crawling dijalankan oleh multiple worker threads. Setiap worker mengulangi proses berulangkali untuk download dan proses satu dokumen.

10 Proses Mercator :

11 1. Langkah pertama dalam gelung ini ialah mengeluarkan satu URL mutlak dari sempadan URL perkongsian(shared URL frontier) untuk downloading.URL mutlak dimulakan dengan satu skim seperti http. 2. Dengan merujuk kepada skim URL,worker memilih satu modul protocol yang sesuai dan menggunakan protocol module’s fetch method untuk download dokumen tersebut dari internet.

12 Proses Mercator : 3. Dokumen kemudian disimpan ke RIS(RewindInputStream) yang membolehkan kandungan dokumen yang sama dibaca berulangkali. 4. Sebaik sahaja dokumen ditulis ke RIS,worker thread menggunakan content-seen test untuk mengenalpasti sama ada dokumen tersebut pernah dilihat atau belum.Jika pernah,dokumen tersebut tidak akan diproses lagi dan URL yang seterusnya dari frontier diambil.

13 Proses Mercator : 5. Setiap dokumen yang didownload bersepakat dengan MIME type (Multipurpose Internet Mail Extension) bagi dokumen yang didownload.The worker menggunakan the proses method bagi setiap processing module untuk memproses dokumen tersebut. 6. The proses method extract semua links dari satu HTML page.Setiap link diconvert kepada satu URL sempurna dan diuji oleh URL filter untuk mengenalpasti bahawa dokumen tersebut patut didownload.

14 Proses Mercator : 7. Jika URL passes the filter, worker mengadakan URL-seen test untuk memeriksa sama ada URL tersebut pernah dilihat atau pernah didownload. 8. Jika URL adalah baru, ia ditambah kepada frontier.

15 URL frontier : 1. Struktur data yang mengandungi semua URL yang sedia untuk didownload. 2. URL frontier Mercator dilaksanakan oleh satu koleksi FIFO subqueues.

16 URL frontier : 3. 2 aspek penting bagaimana URL ditambah dan diambil daripada queues: a. Terdapat 1 FIFO subqueue untuk 1 worker thread,setiap worker mengambil alih URLs daripada tepat 1 FIFO subqueues. b. Apabila URL baru ditambah,FIFO subqueue ditempatkan oleh URL’s canonical host name. 4. kedua-dua cara ini membolehkan worker thread download dokumen daripada web server yang diberi.

17 URL frontier : 5. Mengelakkan daripada overloading suatu web server. 6. Kebanyakan URL disimpan dalam disk.

18 HTTP protocol module : 1. Membawa dokumen yang bersesuaian dengan URL menggunakan network protocol yang sesuai. 2. Network protocol yang disokong oleh Mercator termasuk HTTP,FTP dan Gopher.

19 Rewind Input Stream(RIS) : 1. Mengelakkan dokumen dibaca berulang kali, RIS cahce semua dokumen kecil(<=64MB) dalam memori. 2. Dokumen besar ditulis secara sementara dalam backing files. 3. RIS constructor membenarkan pengguna menentukan saiz yang terhad bagi backing file.

20 Content seen test : 1. Banyak dokumen yang sama disimpan dalam server dan URLs yang berbeza. 2. Ini menyebabkan web crawler download dokumen yang sama berulang kali. 3. Web crawler akan menjalankan content seen test untuk menguji dokumen tersebut telah diproses atau belum.

21 Content seen test : 4. Content-seen test akan melarang link- extraction dari mirrored pages dan mengurangkan pages yang perlu dimuatturunkan(download). 5. Ia juga membenarkan pengumpulan statistik bagi sebahagian dokumen yang telah dimuatturunkan.

22 Content seen test : 6. Mercator maintain 1 struktur data dinamakan dokumen fingerprint set yang boleh menyimpan 64 bit checksum(ruang storan) bagi setiap downloaded dokumen. 7. Apabila crawling seluruh web,dokumen fingerprint set adalah terlalu besar untuk disimpan dalam memori.

23 Content seen test : 8. Oleh itu,mercator meminta 2 set fingerprint yang berdikari : a. a small hash table kept in memory. b. a large sorted list kept in single disk file. 9. Content-seen test akan menguji fingerprint yang terdapat dalam in-memory table dan kemudian menguji disk file.

24 URL filters : 1. Ia digunakan untuk control set of URL yang telah downloaded. 2. Sebelum menambah URL kpd frontier, worker thread akan menghantarnya kepada URL filters untuk mengambil keputusan sama ada ingin download dokumen/crawl web itu atau tidak. 3. Pengguna boleh membuat perubahan pada filter untuk kesesuaian sendiri.

25 Domain Name Resolution : Sebelum menghubungi 1 web server, web crawler mesti mengguna Domain Name Service (DNS) untuk mengubah host name kepada IP address.(contoh:123.456.78.90.)

26 URL-seen test : 1. Semasa mengekstrakkan penghubung (links), web crawler akan menjumpai penghubung yang berganda dengan dokumen yang sama. 2. Oleh itu, URL seen test digunakan.

27 URL-seen test : 3. Mercator perlu simpan URL yang dijumpai dalam satu table yang dinamakan URL set. 4. Oleh kerana terlalu banyak, URL disimpan dalam disk. 5. Untuk mengurangkan masa di backing disk file, Mercator mempunyai in-memory cache bagi popular URLs.

28 Synchronous vs Asynchorous I/O : 1. Google dan Internet Archive crawler menggunakan “single threaded crawling processes” dan asynchronus I/O menjalankan “multiple downloads”dalam bentuk selari. 2. Mercator menggunakan “multi-threaded process” di mana setiap aliran menggunakan synchorous I/O. 3. Kedua-dua ini mempunyai kesan keputusan yang sama. Kelebihan menggunakan “multiple threads”dalam synchonous I/O ialah ia memudahkan struktur program dijalankan. Goggle dan Internet Archive crawler mempunyai kelebihan menskalakan kepada jentera lain yang berganda dalam maklumat.

29 CheckPointing : 1. Mercator melaksanakan perjalanan web mengambil beberapa minggu. 2. “Checkpoint” dibuat supaya mengelakkan gangguan berlaku. 3. Menulis sebuah “snapshot” dalam disk.

30 Extensibility Mercator : 1. Boleh ditambahkan fungsi dengan mudah. 2. Boleh diubahsuaikan dengan menggunakan versi yang berbeza bagi kebanyakan komponen yang utama dengan mudah.

31 Configuring Mercator as a random walker 1. Menjalankan “random walks” dalam web untuk mengumpulkan 1 contoh maklumat dalam halaman web. 2. Bermula dengan halaman web yang dipilih secara rawak daripada 1 set lain(seed). 3. Halaman web kemudian dihantar,iaitu set lain secara rawak daripada sebarang halaman. 4. Proses berulang sehingga tiada set penghubung bagi 1 halaman web tersebut.

32 Kesimpulan :  Web crawlers adalah komponen penting bagi banyak perkhimatan lamanweb.  Contohnya, Mercator dengan kebanyakan aturcaranya ditulis dalam bentuk JAVA.  Fungsi dalam Mercator termasuk menjalankan “random walk” di web untuk mendapat maklumat dan mengumpulkan statistics tentang web.

33 Kesimpulan :  Mercator sesuai digunakan,Kebolehan mendapat keputusan adalah digalakkan.  Persembahannya semasa merangkak halaman web adalah baik kerana dilaksanakan dalam aturcara “Java”dengan kualiti yang tinggi,

34 Sekian, Terima Kasih !


Download ppt "Mercator : A scalable, extensible web crawler TP2433 : Search Engine."

Similar presentations


Ads by Google