Architektura souborového serveru. Technologie soubor - server a klient - server. Distribuce aplikace mezi klientem a serverem

Fyzický model je sestaven na základě datalogického modelu.

Fyzická organizace dat má zásadní vliv na provozní vlastnosti databáze. Vývojáři DBMS se snaží vytvářet nejproduktivnější fyzické datové modely a nabízejí uživatelům ten či onen nástroj pro přizpůsobení modelu pro konkrétní databázi.

Konkrétně u relační databáze již bere v úvahu:

1. fyzické aspekty ukládání tabulek do konkrétních souborů,

2. vytváření indexů, které optimalizují rychlost provádění operací s daty pomocí aplikace,

3. provádění různých akcí s daty při určitých událostech definovaných uživatelem pomocí spouštěčů a uložených procedur.

Architektura databáze

Na základě principů zpracování dat se databáze dělí na centralizované a distribuované.

Centralizovaná databáze znamená, že práce s databází je možná pouze lokálně. Pokud počítač pracuje v síti, lze k informacím přistupovat vzdáleně z jiných počítačů v síti. Centralizované databáze jsou v dnešní době nejrozšířenější. V tomto případě je možných několik možností zpracování dat.

Architektura souborového serveru předpokládá přítomnost serveru v síti, na kterém jsou uloženy soubory centralizované databáze. V souladu s požadavky uživatelů jsou soubory přenášeny ze souborového serveru na uživatelské pracovní stanice, kde probíhá převážná část zpracování dat.

Centrální server plní převážně pouze roli úložiště souborů, aniž by se podílel na samotném zpracování dat. Po dokončení práce uživatelé zkopírují soubory se zpracovanými daty zpět na server, odkud je mohou převzít a zpracovat další uživatelé. Nevýhody organizace dat tímto způsobem jsou zřejmé. Když mnoho uživatelů současně přistupuje ke stejným datům, výkon prudce klesá, protože... musíte počkat, až uživatel pracující s daty dokončí svou práci. V opačném případě je možné, že opravy provedené jedním uživatelem budou přepsány změnami provedenými jinými uživateli.

V srdci konceptu klient-server Myšlenka je taková, že kromě ukládání databázových souborů by měl centrální server provádět většinu zpracování dat. Uživatelé přistupují k serveru pomocí speciálního strukturovaného dotazovacího jazyka (SQL, Structured Query Language), který popisuje seznam úloh prováděných serverem. Požadavky jsou přijímány serverem a generují procesy zpracování dat. Jako odpověď uživatel obdrží již zpracovanou sadu dat. Technologie klient-server vám umožňuje vyhnout se přenosu velkého množství informací po síti přesunutím veškerého zpracování na centrální server. Tento přístup také zabraňuje konfliktům, když více uživatelů upravuje stejná data.

Třívrstvá architektura(„Tenký klient“ – aplikační server – databázový server) funguje na intranetových a internetových sítích Klientská část („tenký klient“), která komunikuje s uživatelem, je HTML stránka ve webovém prohlížeči nebo aplikace Windows, která komunikuje s uživatelem. Webové služby. Veškerá programová logika je přenesena na aplikační server, který zajišťuje tvorbu dotazů do databáze, které jsou přenášeny na databázový server k provedení. Aplikačním serverem může být webový server nebo specializovaný program.

Distribuovaná databáze umístěných na několika počítačích. Informace na těchto počítačích se mohou překrývat a dokonce se mohou duplikovat. Pro správu takových databází je navržen systém správy distribuovaných databází. Systém před uživateli skrývá přístup k datům umístěným na jiných počítačích. Pro uživatele vše vypadá, jako by všechny informace byly na jednom serveru.

Jednou ze základních funkcí informačního systému organizace jakékoli velikosti je zajištění výměny informací jak uvnitř organizace, tak mimo ni. V tomto procesu jsou však problémy spojené s rychlostí výměny informací a práce s informacemi v režimu sdíleného přístupu. Tyto problémy řeší softwarové produkty, které organizují zpracování informací pomocí určitých technologií. V současné době jsou nejpoužívanější technologie:

Technologie souborového serveru;

Technologie klient-server.

Souborový server technologie pracuje v síťovém prostoru s přístupem k souborům DBMS uloženým na serveru.

Zpracování požadavku jednoho uživatele:

· Přístup k databázi (dotaz)

· Přenos dat při blokování přístupu ostatních uživatelů

· Zpracování dat na počítači uživatele

V organizaci souborového serveru klient pracuje se vzdálenými soubory, což způsobuje značné přetížení provozu (protože DBMS-FS funguje na straně klienta, pro načtení užitečných dat je v obecném případě nutné zobrazit celý odpovídající soubor na straně klienta).

Obecně platí, že v architektuře souborového serveru máme „tlustého“ klienta a velmi „tenký“ server v tom smyslu, že téměř veškerá práce se provádí na straně klienta a server vyžaduje pouze dostatečnou diskovou kapacitu.

Nedostatky souborový server systémy jsou zřejmé:

· Velmi vysoké zatížení sítě, zvýšené požadavky na šířku pásma. V praxi to pro velký počet uživatelů téměř znemožňuje pracovat současně s velkým množstvím dat.

· Zpracování dat se provádí na počítači uživatelů. To s sebou nese zvýšené hardwarové požadavky pro každého uživatele. Čím více uživatelů bude, tím více peněz budete muset utratit za vybavení jejich počítačů.

· Uzamčení dat při úpravách jedním uživatelem znemožňuje ostatním uživatelům s těmito daty pracovat.

· Bezpečnost. Abyste mohli s takovým systémem pracovat, budete muset dát každému uživateli plný přístup k celému souboru, ve kterém ho může zajímat pouze jedno pole.

Technologie klient-server rozděluje aplikaci na dvě části, přičemž využívá ty nejlepší vlastnosti obou stran. Klientská část poskytuje interaktivní, snadno použitelné, obvykle grafické rozhraní – umístěné na počítači uživatele. Server (program) zajišťuje správu dat, sdílení informací, propracovanou administraci a zabezpečení - umístěn na speciálně vyhrazeném počítači - serveru.

Všimněte si, že rozhraní mezi klientskou částí aplikace a klientskou částí databázového serveru je obvykle založeno na použití jazyka SQL. Funkce, jako je například předzpracování formulářů určených pro dotazy do databáze nebo generování výsledných reportů, jsou tedy prováděny v kódu aplikace a všechna volání databázového serveru jsou redukována na přenos textu SQL příkazů. .

Protože veškerá práce s databází (výběr, přidávání, spouštění triggerů a procedur) probíhá na straně serveru, v organizaci klient-server mohou být klienti poměrně „tencí“ a server musí být „tlustý“, aby bylo možné uspokojit potřeby všech klientů.

Pokud je potřeba zpracovat informace uložené v databázi, klientská aplikace běžící na počítači uživatele, která s databází pracuje, vygeneruje dotaz v SQL. Databázový server přijme požadavek a zpracuje jej nezávisle. Po síti se nepřenáší žádné datové pole (soubor). Po zpracování požadavku se do počítače uživatele přenese pouze výsledek – tedy v předchozím příkladu seznam platebních příkazů, které splňují potřebná kritéria. Samotný soubor, ve kterém byla uložena data, která sloužila jako zdroj pro zpracování, zůstává odblokován pro přístup samotného serveru na žádost ostatních uživatelů.

V seriózních klient-server DBMS existují další mechanismy, které snižují zatížení sítě a snižují požadavky na uživatelské počítače. Jako příklad uvedeme uložené procedury – tedy celé programy pro zpracování dat uložených v databázi. V tomto případě se z uživatele na server nepřenesou ani SQL výrazy - přenese se volání funkce s parametry volání. Uživatelské pracoviště je tak dále zjednodušeno, logika programu je přenesena na server. Uživatelský prostor se stává pouze prostředkem k zobrazování informací. To vše znamená další snížení zátěže sítě a uživatelských pracovních stanic.

Tedy všechny výše uvedené nevýhody souborový server obvody jsou v architektuře eliminovány klient-server:

  • Datová pole nejsou přenášena po síti z databázového serveru do počítače uživatele. Požadavky na šířku pásma sítě jsou sníženy. Díky tomu může velký počet uživatelů pracovat současně s velkým množstvím dat.
  • Zpracování dat probíhá na databázovém serveru, nikoli na počítači uživatele. To umožňuje použití jednodušších, a tedy levnějších počítačů na klientských stránkách.
  • Data nejsou blokována (zachycována) jedním uživatelem.
  • Uživateli je umožněn přístup nikoli k celému souboru, ale pouze k údajům z něj, se kterými má uživatel právo pracovat.

Model souborového serveru

Aplikace souborového serveru jsou aplikace podobnou strukturou jako místní

aplikací a používání síťového prostředku k ukládání programů a dat.

Funkce serveru: ukládání dat a programového kódu. Funkce klienta: zpracování

zpracování údajů probíhá výhradně na straně klienta.

Počet klientů je omezen na desítky.

1. Víceuživatelský režim pro práci s daty;

2. Pohodlí centralizované kontroly přístupu;

3. Nízké náklady na vývoj;

1. Nízký výkon;

2. Nízká spolehlivost;

3. Slabé možnosti rozšíření;

Nevýhody architektury souborového serveru jsou zřejmé a vyplývají z toho hlavního

způsobem, protože data jsou uložena na jednom místě a zpracovávána na jiném. Tento

znamená, že je třeba je přenášet po síti, což má za následek velmi vysoké zatížení

na síti a v důsledku toho prudký pokles výkonu aplikace při

zvýšení počtu současně pracujících klientů. Druhá důležitá nevýhoda

taková architektura je decentralizovaným řešením problémů integrity a

konzistence dat a souběžný přístup k datům. Toto řešení snižuje

spolehlivost aplikace.

2.Klient-server

Klíčový rozdíl mezi architekturou klient-server a architekturou souborového serveru je

abstrakce od vnitřní reprezentace dat (fyzické datové schéma).

Klientské programy nyní manipulují s daty na úrovni logického obvodu.

Použití architektury klient-server tedy umožnilo vytvořit spolehlivé (in

smysl pro integritu dat) víceuživatelské informační systémy s centralizovanou databází

data nezávisle na hardwarové (a často i softwarové) části databázového serveru a

podpora grafického uživatelského rozhraní (GUI) na klientských stanicích,

připojeno lokální sítí.

Klientský program pracuje s daty prostřednictvím požadavků na serverový software.

 Základní funkčnost aplikace je rozdělena mezi klienta a server.

 Plná podpora pro práci více uživatelů

 Záruka integrity dat

 Obchodní logika aplikací zůstala v klientském softwaru. Pro jakoukoliv změnu

algoritmů, je nutné aktualizovat uživatelský software na každém klientovi.

 Vysoké požadavky na kapacitu komunikačních kanálů s

server, který brání použití klientských stanic jinde než v

místní síť.

 Slabá ochrana dat před hackery, zejména před bezohlednými

uživatelé systému.

 Vysoká náročnost správy a konfigurace uživatelských pracovních stanic

 Potřeba používat výkonná PC na klientských místech.

 Vysoká složitost vývoje systému vzhledem k potřebě vykonávat obchod

logiku a poskytují uživatelské rozhraní v jednom programu.

Model serveru DBMS


Moderní počítačové a lokální sítě mají buď peer-to-peer (kdy jsou všechny uzly přímo propojeny a mají stejná práva), nebo hierarchickou strukturu, z nichž jedním typem je architektura klient-server. Myšlenka organizace takového modelu je založena na pochopení rozdílu mezi klientem a serverem a rozdělení zdrojů.

Server– počítač, který slouží ostatním počítačům v síti a poskytuje jim své prostředky k řešení určitých problémů.

Klient– počítač, který využívá prostředky serveru a poskytuje uživateli možnost interakce se systémem a sítí.

Stejné schéma se používá při organizaci síťových aplikací, pouze serverová a klientská část softwaru fungují jako hlavní uzly.

Srovnání

Tento model interakce lze vizualizovat zapamatováním programů a her pro více uživatelů: na našem zařízení spustíme klientskou aplikaci a na obrazovce vidíme farmu, tanky nebo vlastní fotogalerii v Dropboxu. Pokud není připojení ke globální nebo místní síti (v závislosti na umístění), krmení krav a boj jako tým nebude fungovat: všechny soubory a data jsou uloženy na serveru.

V rámci malé domácí nebo kancelářské sítě postavené na hierarchickém modelu může rozdíl mezi klientem a serverem spočívat pouze v softwarové rovině. První odesílá požadavky, druhý je zpracovává a vrací výsledek; všechny procesy jsou prováděny prostřednictvím aplikací nainstalovaných na počítačích. Technicky mohou být stroje cokoli, pokud software nevyžaduje vysokou úroveň výkonu součástí. K provádění úkolů náročných na zdroje se jako server používá výkonný počítač, zatímco pracovní stanice by měla být pohodlná pouze pro uživatele a zajišťovat provoz komunikačních kanálů.

Počítače vykonávající role serveru v síti s velkým počtem klientů mají obvykle hardware posílený několika poli disků s vysokou rychlostí čtení a zápisu dat. Také tyto stroje jsou vybaveny maximálním možným množstvím paměti RAM. Ale periferní zařízení jsou pro ně nadbytečná: monitory, klávesnice, myši, audio systémy jsou jednoduše vyloučeny ze systému kvůli nedostatku přímého kontaktu s uživatelem.

Jaký je tedy funkční rozdíl mezi klientem a serverem? První iniciuje provoz softwaru (s účastí nebo bez účasti uživatele), druhý čeká na požadavek od uživatele. Klient zná úplnou adresu serveru a způsob, jak jej kontaktovat, a server obdrží informace o klientovi po zahájení interakce. Pracovní stanice lze vypnout podle plánu nebo přání uživatele, ale serverový počítač je vždy spuštěn (nebo když je spuštěna serverová aplikace). Výpadek jednoho z klientů nic neovlivní, výpadek serverového zařízení znamená nedostupnost služby pro všechny síťové uzly k němu připojené.

Tabulka

Klient Server
Odesílá požadavky na server přes síťPřijímá požadavky, zpracovává a vrací výsledek klientovi
Klientský software nainstalovánServerový software nainstalován
Požadavky na systémové hardwarové prostředky jsou minimálníVyžaduje odpovídající výkon v závislosti na počtu klientů a složitosti úkolů
Komunikuje přímo s uživatelemNeinteraguje s uživatelem, takže nemusí mít periferní zařízení
Lze náhodně zapnout a vypnoutVždy funguje tak dlouho, dokud je potřeba zákaznický servis
Způsob přístupu k serveru a jeho adresa jsou známy předemNačte informace o klientovi z požadavku

Oddělení všeobecného a odborného vzdělávání Brjanské oblasti

Státní vzdělávací instituce

Vysoká škola textilní Klintsovského

SOFTWARE PRO AUTOMATIZOVANÉ INFORMAČNÍ SYSTÉMY

Technologie klient-server

Student gr. A-90_______________________________ (Petrochenko A.O.)

Učitel _______________________ (Shirokova A.L.)

Klintsy – 2011

1. servery. Základy serveru

2. Model klient-server

3. Klasifikace standardních serverů

4. Závěr

1. Servery. Základy serveru

Server (z anglického server, obsluhující). V závislosti na účelu existuje několik definic konceptu serveru.

1. Server (síť) - logický nebo fyzický síťový uzel, který obsluhuje požadavky na jednu adresu a/nebo název domény (názvy sousedních domén), sestávající z jednoho nebo systému hardwarových serverů, na kterých je spouštěn jeden nebo systém serverových programů

2. Server (software) - software, který přijímá požadavky od klientů (v architektuře klient-server).

3. Server (hardware) – počítač (nebo speciální počítačové vybavení) určený a/nebo specializovaný k provádění určitých servisních funkcí.

3. Server v informačních technologiích je softwarová součást počítačového systému, která na žádost klienta vykonává servisní funkce a poskytuje mu přístup k určitým zdrojům.

Vzájemný vztah pojmů. Serverová aplikace (server) běží na počítači, nazývaném také „server“, a pokud vezmeme v úvahu topologii sítě, takový uzel se nazývá „server“. Obecně se může stát, že serverová aplikace běží na běžné pracovní stanici nebo serverová aplikace běžící na serverovém počítači v dané topologii funguje jako klient (tedy nejde o server z hlediska topologie sítě).

2. Model klient-server

Systém klient-server se vyznačuje přítomností dvou vzájemně se ovlivňujících nezávislých procesů – klienta a serveru, které lze obecně spouštět na různých počítačích a vyměňovat si data po síti.

Jsou volány procesy, které implementují službu, jako je souborový systém nebo databázová služba servery(servery). Jsou volány procesy, které požadují služby od serverů odesláním požadavku a poté čekají na odpověď ze serveru klientů(klienti) .

Podle tohoto schématu lze sestavit systémy zpracování dat založené na DBMS, poště a dalších systémech. Budeme mluvit o databázích a systémech na nich založených. A zde bude pohodlnější nejen uvažovat o architektuře klient-server, ale porovnat ji s jinou - souborový server.

V systému souborového serveru jsou data uložena na souborovém serveru (například Novell NetWare nebo Windows NT Server) a jejich zpracování se provádí na pracovních stanicích, které zpravidla provozují jeden z takzvaných „desktop DBMS“. “ - Access, FoxPro, Paradox atd.

Aplikace na pracovní stanici je „odpovědná za vše“ – za tvorbu uživatelského rozhraní, logické zpracování dat i za přímou manipulaci s daty. Souborový server poskytuje pouze nejnižší úroveň služeb - otevírání, zavírání a úpravy souborů. Poznámka - soubory, nikoli databáze. Na pracovní stanici je umístěn systém správy databáze.

Přímá manipulace s daty je tedy prováděna několika nezávislými a nekonzistentními procesy. Kromě toho, aby bylo možné provádět jakékoli zpracování (vyhledávání, úpravy, sčítání atd.), musí být všechna data přenesena po síti ze serveru na pracovní stanici ( viz obr. Porovnání modelů soubor-server a klient-server)


Rýže. Porovnání modelů soubor-server a klient-server

V systému klient-server existují (alespoň) dvě aplikace – klient a server, které mezi sebou sdílejí ty funkce, které v architektuře souborový server plně vykonává aplikace na pracovní stanici. Ukládání dat a přímá manipulace je prováděna databázovým serverem, kterým může být Microsoft SQL Server, Oracle, Sybase atd.

Uživatelské rozhraní vytváří klient, k jehož konstrukci můžete využít řadu speciálních nástrojů a také většinu desktopových DBMS. Logiku zpracování dat lze spustit jak na klientovi, tak na serveru. Klient odesílá požadavky na server, obvykle formulované v SQL. Server tyto požadavky zpracuje a výsledek odešle klientovi (klientů může být samozřejmě mnoho).

Jeden proces je tedy zodpovědný za přímou manipulaci s daty. Zpracování dat přitom probíhá na stejném místě, kde jsou data uložena – na serveru, čímž odpadá nutnost přenášet velké množství dat po síti.

Co poskytuje architektura klient-server?

Podívejme se na tuto architekturu z pohledu obchodních potřeb. Jaké kvality přináší klient-server informačnímu systému?

Spolehlivost

Databázový server provádí úpravy dat na základě transakčního mechanismu, který dává jakékoli sadě operací deklarovaných jako transakce následující vlastnosti:

  • atomicita- za žádných okolností budou provedeny buď všechny transakční operace, nebo nebudou provedeny žádné; integrita dat po dokončení transakce;
  • nezávislost- transakce iniciované různými uživateli si vzájemně nezasahují do záležitostí;
  • odolnost proti chybám- po dokončení transakce se již její výsledky neztratí.

Transakční mechanismus podporovaný databázovým serverem je mnohem efektivnější než podobný mechanismus v desktopových DBMS, protože server centrálně řídí provoz transakcí. Kromě toho v systému souborový server může selhání na kterékoli z pracovních stanic vést ke ztrátě dat a jejich nedostupnosti pro jiné pracovní stanice, zatímco v systému klient-server selhání na klientovi téměř nikdy neovlivní integritu dat. a jejich dostupnost dalším klientům.

Škálovatelnost

Škálovatelnost je schopnost systému přizpůsobit se růstu počtu uživatelů a objemu databáze s adekvátním zvýšením výkonu hardwarové platformy, bez nahrazování softwaru.

Je dobře známo, že možnosti desktopových DBMS jsou vážně omezené – pět až sedm uživatelů, respektive 30–50 MB. Čísla samozřejmě představují nějaké průměrné hodnoty, ve specifických případech se mohou lišit v obou směrech. A co je nejdůležitější, tyto bariéry nelze překonat zvýšením schopností hardwaru.

Systémy založené na databázových serverech mohou podporovat tisíce uživatelů a stovky GB informací – stačí jim dát vhodnou hardwarovou platformu.

Bezpečnost

Databázový server poskytuje výkonné prostředky k ochraně dat před neoprávněným přístupem, což v desktopových DBMS není možné. Přístupová práva jsou přitom spravována velmi flexibilně - až na úroveň polí tabulky. Kromě toho můžete zcela zakázat přímý přístup k tabulkám, což umožňuje uživateli interagovat s daty prostřednictvím zprostředkujících objektů – pohledů a uložených procedur. Administrátor si tedy může být jistý, že žádný příliš chytrý uživatel nebude číst to, co číst nemá.

Flexibilita

V datové aplikaci existují tři logické vrstvy:

  • uživatelské rozhraní ;
  • logická pravidla zpracování(obchodní pravidla);
  • správa dat(jen si nepleťte logické vrstvy s fyzickými úrovněmi, o kterých bude řeč níže).

Jak již bylo zmíněno, v architektuře souborového serveru jsou všechny tři vrstvy implementovány v jedné monolitické aplikaci běžící na pracovní stanici. Změny v kterékoli z vrstev tedy jednoznačně vedou k úpravě aplikace a následné aktualizaci jejích verzí na pracovních stanicích.

Ve dvouvrstvé aplikaci klient-server znázorněné na obrázku výše jsou zpravidla všechny funkce pro vytvoření uživatelského rozhraní implementovány na klientovi, všechny funkce pro správu dat jsou implementovány na serveru, ale obchodní pravidla lze implementovat jak na serveru pomocí serverových programovacích mechanismů (uložené procedury, spouštěče, pohledy atd.) a na klientovi.

V třívrstvé aplikaci existuje třetí, mezivrstva, která implementuje obchodní pravidla, což jsou nejčastěji měněné součásti aplikace ( viz obr. Třívrstvý aplikační model klient-server)

Rýže. Třívrstvý aplikační model klient-server

Přítomnost ne jedné, ale několika úrovní vám umožňuje flexibilně a nákladově efektivně přizpůsobit aplikaci měnícím se obchodním požadavkům.

Pokusme se vše výše uvedené ilustrovat na malém příkladu. Předpokládejme, že se v určité organizaci změnila mzdová pravidla (obchodní pravidla) a je třeba aktualizovat odpovídající software.

1) V systému souborového serveru „prostě“ provádíme změny v aplikaci a aktualizujeme její verze na pracovních stanicích. Ale to „prostě“ znamená maximální náklady na pracovní sílu.

2) Ve dvouvrstvém systému klient-server, pokud je mzdový algoritmus implementován na serveru ve formě mzdového pravidla, je spuštěn serverem obchodních pravidel, implementovaným například jako OLE server, a my aktualizuje jeden ze svých objektů, aniž by se cokoliv změnilo v klientské aplikaci ani na databázovém serveru.




Nahoru