Levente Hunyadi

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

Összefoglaló. Az internet napjaink egyik meghatározó információforrása, azonban a segítségével fellelhető információ szórt formában, nem feltétlenül eredeti tárolási struktúrájának megfelelően van jelen, hanem egymással hivatkozásokon keresztül összekapcsolt, eltérő terminológiájú dokumentumok formájában érhető el. Gyakori feladat, hogy egy-egy keresőkérdésnek megfelelő dokumentumhalmazt adjunk vissza válaszként. A keresés ilyen megvalósításhoz azonban feltétlenül szükséges a weben található tartalom ütemezett bejárása és feltérképezése.

Alkalmazásunk célja olyan hagyományos személyi számítógépeken futó elosztott rendszer kialakítása, amely hatékonyan végzi a weboldalak letöltését, az azokban található hivatkozások kinyerését és követését, illetve az ezen bejárással nyert irányított gráf tárolását. Egy elosztott rendszer számos előnyt élvez egy központosított rendszerrel összevetve a skálázhatóság, a hálózati terheléselosztás és -csökkentés terén az elosztottság miatti többletkomplexitás és kommunikációs nehézség ellenére. Rendszerünk egyesíti az elosztott rendszerből eredő hatékonyságnövelést és az egyszerű kezelhetőséget.

Alkalmazásunk egymáshoz lazán kapcsolódó, ám jól definiált interfészekkel illeszkedő, üzenetekkel kommunikáló egységek összességeként épül fel. A laza csatolás egyrészt biztosítja, hogy párhuzamosítható folyamatokat akár dinamikusan változtatható számú feldolgozóegység végezhessen, másrészt lehetővé teszi, hogy a rendszerbe új, előre nem látható funkcionalitás legyen beépíthető. A rendszer kezdeti képe deklaratív módon, XML állományok segítségével határozható meg, amely alapján az elosztott alkalmazás automatikusan felépíthető. A laza csatolású rendszer révén az egyes egységek a rendelkezésre álló erőforrások - processzor, merevlemez, hálózati sávszélesség - és a webkiszolgálók minél kisebb mértékű igénybevételére, a beérkező adat rugalmas és hibatűrő feldolgozására, illetve a működés során előforduló hibákból a minél kisebb veszteség mellett történő helyreállásra helyezhetik a hangsúlyt.

Alkalmazásunk megvalósítása a .NET keretrendszerre alapul, erőteljesen támaszkodik annak Base Class Library (BCL) részében megvalósított szálkezelési és távoli kommunikációbeli építőelemeire. A rendszer forráskódja C# és Mercury programozási nyelvű, mindkettő a .NET által használt köztes kódra (Intermediate Language) fordítható. Az adatműveleteket a flexibilitás érdekében adatbázis-kiszolgáló végzi, amely területen a Microsoft SQL Server megvalósítására esett a választás, ez azonban a későbbi megvalósítások során a hatékonyság további fokozása érdekében hasonló illesztőfelület mellett egyszerű struktúrált állományra cserélhető, alkalmazásunk csak csekély mértékben használja ki az SQL erejében rejlő lehetőségeket.

Megjelent:

  • microCAD 2007 konferenciakiadványa, Alkalmazott informatika szekció
  • Tudományos Diákköri Konferencia, Budapesti Műszaki és Gazdaságtudományi Egyetem, Villamosmérnöki és Informatikai Kar, 2006. november 17., Szoftver szekció

Társszerző: Pallos Péter.

Elérhetőség. A projekt forráskódja letölthető a SourceForge oldaláról.

This website uses cookies to manage authentication, navigation, and other functions. By using our website, you agree that we can place these types of cookies on your device.

View e-Privacy Directive Documents

You have declined cookies. This decision can be reversed.

You have allowed cookies to be placed on your computer. This decision can be reversed.