Crawler.NET: Komponensalapú elosztott keretrendszer a web bejárására



Hasonló dokumentumok
Crawler.NET: Elosztott webrobotok koordinálása és vezérlése

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

Élő webes alkalmazások rendszerfelügyelete cím- és tartalomteszteléssel

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

API tervezése mobil környezetbe. gyakorlat

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

A webhelyhez kötődő szoftverek architektúrája

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Web-fejlesztés NGM_IN002_1

webalkalmazások fejlesztése elosztott alapon

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

JAVA webes alkalmazások

Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Az internet az egész világot behálózó számítógép-hálózat.

ALKALMAZÁS KERETRENDSZER

Információ és kommunikáció

Multimédiás adatbázisok

Hálózati operációs rendszerek II.

Folyamatok. 6. előadás

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Kommunikáció. 3. előadás

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

Alkalmazások architektúrája

III. előadás. Kovács Róbert

Enterprise extended Output Management. exom - Greendoc Systems Kft. 1

SUSE Linux Enterprise High Availability. Kovács Lajos Vezető konzultáns

Fábián Zoltán Hálózatok elmélet

Földmérési és Távérzékelési Intézet

Hálózati sávszélesség-menedzsment Linux rendszeren. Mátó Péter Zámbó Marcell

Ajax és Echo 2. Bokor Attila

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

NAGY TELJESÍTM. Szerzők Dévai. István Automatizálási. és s Alkalmazott Informatikai Tanszék

<Insert Picture Here> Migráció MS Access-ről Oracle Application Express-re

Leolvasói rendszer kialakításának koncepciója ipari mobil eszközökkel (ipari PDA-val)

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

Kalumet Számlázó. Termék leírás

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Sávszélesség szabályozás kezdőknek és haladóknak. Mátó Péter

Hálózati operációs rendszerek II. Novell Netware 5.1 Hálózati nyomtatás

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Intelligens biztonsági megoldások. Távfelügyelet

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.

Tűzfal megoldások. ComNETWORX nap, I. 30. ComNETWORX Rt.

DSD DSD. Egy országos méretű orvosi adatbázissal kapcsolatos informatikai kihívások. Kovács László Pataki Balázs Pataki Máté MTA SZTAKI DSD

NIIF Központi Elosztott Szolgáltatói Platform

Microsoft SQL Server telepítése

Internetes böngésző fejlesztése a mobil OO világban

Osztott alkalmazások fejlesztési technológiái Áttekintés

Hargitai Zsolt Novell Mo.

Számítógépes munkakörnyezet II. Szoftver

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

Kommunikáció Androidon Mobilinternet Wifi

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Tartalomjegyzék. Előszó... 10

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

Everything Over Ethernet

A Java EE 5 plattform

Számítógépes Hálózatok. 5. gyakorlat

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

HISCOM GOP

Szolgáltatás Orientált Architektúra a MAVIR-nál

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Elosztott rendszer architektúrák

HÁLÓZATBIZTONSÁG III. rész

Nyilvántartási Rendszer

ELTE, IK, Információs Rendszerek Tanszék

Új generációs informatikai és kommunikációs megoldások ANMS. távközlési hálózatok informatikai hálózatok kutatás és fejlesztés gazdaságos üzemeltetés

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Tarantella Secure Global Desktop Enterprise Edition

INFORMATIKA EGYRE NAGYOBB SZEREPE A KÖNYVELÉSBEN

Interaktív webes térképezés GRASS GIS 7-tel. A Web Processing Service bemutatása

Ember és robot együttműködése a gyártásban Ipar 4.0

HTML és CSS. Horváth Árpád május 6. Óbudai Egyetem Alba Regia M szaki Kar (AMK) Székesfehérvár

Szolgáltatás mérés/riportolás magas fokon Egy valós megoldás Pepsi berkekben

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft


ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

VL IT i n du s t ri al Kommunikációs vázlat

Fekete Csaba Csongor Üzleti intelligencia vezető Citibank ZRt.

UNIX: folyamatok kommunikációja

IP anycast. Jákó András BME TIO

Átírás:

: Komponensalapú elosztott keretrendszer a web bejárására Hunyadi Levente és Pallos Péter 2006. november 17.

Motiváció Motiváció Célok Architektúra az internet mérete rohamosan nő a web: szórt formában jelen lévő információ keresőrendszerek felértékelődése indexadatbázisok építéséhez webet bejáró alkalmazások

Motiváció Motiváció Célok Architektúra friss indexadatbázis hatékony bejárás párhuzamosítás elosztott rendszer lényegesen nagyobb komplexitás

Tervezési célok Motiváció Célok Architektúra skálázhatóság könnyű konfigurálhatóság átlátszó kommunikáció robusztusság, hibatűrés

A rendszer architektúrája Motiváció Célok Architektúra A célok megvalósítását két elkülönülő réteg biztosítja. Általános feladatok kommunikáció életciklus-kezelés konfigurálás Ráépülő alkalmazás Konkrét feladatok dokumentumok letöltése hivatkozások kinyerése köztük lévő kapcsolatok nyilvántartása

Az architektúra tulajdonságai Motiváció Célok Architektúra a keretrendszer szabványos elemeket tartalmaz, amelyek megvalósítják az általános viselkedést a feladat-specifikus elemeket származtatással képezzük az elemek között a keretrendszer laza csatolást biztosít Előnyök: + egyszerűbb és gyorsabb fejlesztés + új funkcionalitással való bővíthetőség

Rendszerelem-típusok Rendszerelemek Illesztők Komponensek Szolgáltatók Komponensek a rendszer műveletvégző egységei, egy osztályt és hozzá kapcsolódó egy vagy több szálat jelentenek Illesztők aszinkron, üzenetalapú kommunikációt tesznek lehetővé komponensek között a folyamaton belül vagy két távoli folyamat között Szolgáltatók az erőforrásokhoz történő szinkronizált hozzáférést szabályozzák

Illesztők Rendszerelemek Illesztők Komponensek Szolgáltatók típusos sorok absztrakciói, üzenetsort reprezentálnak bemeneti és kimeneti illesztők bemeneti illesztő fogyasztó komponens termelő komponens kimeneti illesztő több-több kapcsolat a komponensek és az illesztők között; azonosítás szerepek segítségével

Illesztők megvalósítása Rendszerelemek Illesztők Komponensek Szolgáltatók A komponensek számára átlátszó az illesztők típusa: Helyi illesztő típusos FIFO sor; az adatáramlás referencia szerinti átadással Távoli illesztő két külön folyamatban lévő sornak és az azokat összekapcsoló hálózati kommunikációs komponenseknek felel meg; az adatáramlás sorosítással (TCP protokollon keresztül)

Komponensek Rendszerelemek Illesztők A sorok kezelését a komponensek ősosztálya takarja el. GenericComponent Komponensek Szolgáltatók Generic- Producer Generic- Consumer Simple- Filter Complex- Filter Synchronous- OutputFilter Asynchronous- ComplexFilter Synchronous- CompexFilter SemiSynchronous- ComplexFilter

Szolgáltatók Rendszerelemek Illesztők Komponensek Szolgáltatók komponensek által közösen használt erőforrásokhoz való hozzáférés becsomagolása szinkronizált hozzáférés az adatforrásokhoz többszintű gyorsítótárazási mechanizmus átlátszó beépítése

Felépítés Kliens szerver architektúra: Felépítés Vezénylés Kliens szerkezete a szerver particionálja a webet és az egyes részleteinek bejárását egy-egy kliensnek utalja ki a kliens bejárja a web rábízott szeletét, a kifelé mutató hivatkozásokat visszaküldi a szervernek Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens Megvalósítás a keretrendszer alaposztályainak segítségével

Vezénylő szerver komponens Felépítés Vezénylés Kliens szerkezete Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens a beérkező URL-eket tartomány, illetve hoszt alapján a felelős kliensek felé továbbítja amennyiben nincs felelős kliens, kijelöl egyet tárolja a nemrég továbbított URL-eket, kiszűrve a gyakori ismétlődéseket

Vezénylő szerver komponens A vezénylés során a kicserélt adatmennyiség korlátozott: Felépítés Vezénylés Kliens szerkezete lokalitási elv: a hivatkozások kb. 10%-a mutat csak hoszton kívülre kötegelt átvitel: az ismeretlen hoszthoz tartozó URL-eket a kliens csoportosan küldi át a szervernek Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens nemrég látott URL-ek automatikus eldobása Terheléselosztás vezénylőpéldányok között: URL-ek szétosztása az URL hoszt név hash értéke alapján

Egy kliens alapkiépítése Felépítés Vezénylés Kliens szerkezete external url Server URL distributor url belonging to Client 1 internal url local url queue Client 1 host, #new items next url Traversal component Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens base url, links Parser url, HTTP header, document content url, length, start/stop time, HTTP status code Downloader document url, referrer url finished

Bejáró komponens Felépítés Vezénylés Kliens szerkezete external url Server URL distributor url belonging to Client 1 internal url local url queue Client 1 host, #new items next url Traversal component Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens base url, links Parser url, HTTP header, document content url, length, start/stop time, HTTP status code Downloader document url, referrer url finished

Bejáró komponens Felépítés Vezénylés Kliens szerkezete Bejárás letöltésre váró URL-ek tárolása perzisztens tárban értesítés új URL-ek érkezéséről vagy egy kiszolgáló felszabadulásáról szélességi vagy relevancia alapú bejárás alapján a következő dokumentum kiválasztása Terheléselosztás Dokumentumelemzés URL elosztó komponens Url distributor host, #new items Traversal component url, referrer url url queue Downloader finished

Terheléselosztó komponens Felépítés Vezénylés Kliens szerkezete Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens megakadályozza a webkiszolgálók túlterhelését szoros együttműködés a bejáró komponenssel kézzel konfigurálható a kérések gyakorisága globálisan és hosztonként is dinamikusan változtatható a kérések időköze a visszajelzésként kapott válaszidő és sebesség alapján

Terheléselosztó komponens Load balancer Felépítés Url distributor host, #new items available host Traversal component Vezénylés url, referrer url Kliens szerkezete Bejárás url queue Downloader statistics Terheléselosztás Dokumentumelemzés URL elosztó komponens

Dokumentumelemző komponens Felépítés Vezénylés Kliens szerkezete external url Server URL distributor url belonging to Client 1 internal url local url queue Client 1 host, #new items next url Traversal component Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens base url, links Parser url, HTTP header, document content url, length, start/stop time, HTTP status code Downloader document url, referrer url finished

Dokumentumelemző komponens Felépítés Vezénylés Kliens szerkezete Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens Elsődleges feladata: hivatkozások kinyerése a dokumentumokból. nem szabványos HTML állományok hivatkozások sok különféle formában teljesítménybeli megfontolások (pl. szkriptek értelmezése) sokféle dokumentumtípus és -kódolás kezelése egyedi elemzők (saját fejlesztés vagy open-source) vagy IFilter szűrők segítségével

URL elosztó komponens Felépítés Vezénylés Kliens szerkezete external url Server URL distributor url belonging to Client 1 internal url local url queue Client 1 host, #new items next url Traversal component Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens base url, links Parser url, HTTP header, document content url, length, start/stop time, HTTP status code Downloader document url, referrer url finished

URL elosztó komponens Felépítés Vezénylés Kliens szerkezete Bejárás Terheléselosztás Dokumentumelemzés URL elosztó komponens konfigurációs állományban megadhatók a letöltendő és kihagyandó URL-minták robotokra vonatkozó korlátozások (ÖÓÓØ ºØÜØ, ÑØcímkék,ÖÐattribútum) keresőcsapdák észlelése és elhárítása: URL tartomány kézi tiltása menet közben szűrés relevancia alapján mennyiségi korlátozás

Továbbfejlesztési lehetőségek Továbbfejlesztési lehetőségek Összefoglalás konfiguráció és folyamatvezérlés grafikus felületről dinamikus, futási idejű átkonfigurálhatóság nagyméretű adathalmazok tárolása általános célú adatbázisok helyett struktúrált állományokban szimuláció és mérés nagyméretű dokumentumhalmazokon

Összefoglalás Továbbfejlesztési lehetőségek Összefoglalás keretrendszer az általános feladatokra laza csatolású, feladatspecifikus komponensek nyitott, kiterjeszthető, skálázható architektúra átlátszó gyorsítótárazási mechanizmusok támogatása deklaratív konfigurálhatóság, testreszabhatóság A megvalósított rendszer forráskódja elérhető a SourceForge.net-en. ØØÔ»» ÓÙÖÓÖºÒØ»ÔÖÓØ»ÛÖÛÐÖ

Továbbfejlesztési lehetőségek Összefoglalás Köszönjük a figyelmet!