1
Univerzální zálohování Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Daniel Douša Řešení Význam níže využívaných slov: server datové úložiště určené pro zálohování klient aplikace běžící na stroji řídící zálohování a synchronizaci dat Řešení projektu poskytuje několik způsobů zálohování: plný (kopíruje se vše) inkrementální (změny od poslední zálohy) diferenciální (změny od poslední plné zálohy) Všechny uvedené způsoby podporují verzování a mají též variantu se synchronizací. Pro snížení přenosu dat lze zvolit jen zaznamenávání přesunutých souborů bez jejich odesílání na server. Cíl Cílem projektu bylo vyřešit distribuované zálohování dat z více zdrojů bez nutnosti využití aplikačního serveru. V rámci projektu je implementace řešení problému. Úvod do problematiky V současnosti je běžné, že jeden uživatel využívá více zařízení pracujících s daty (počítače, notebooky apod.). Potřeba a náročnost udržet všechna potřebná data na všech zařízeních se neúměrně zvyšuje s počtem strojů. Kromě synchronizace dat je nutné řešit jejich zálohování. Tento projekt řeší souběžné zálohování a synchronizaci dat, čímž zabraňuje zbytečnému hromadění dat na zálohovacím médiu. Velkým omezením projektu je nemožnost využití aplikačního serveru, ale pouze datového. Bez tohoto omezení již existují plně funkční řešení (např. SVN). Výhodou řešení s tímto omezením je poskytnutí zálohování a synchronizace proti síťově dostupným médiím bez možnosti spuštění serverové aplikace (např. datový server) nebo připojení k (např. blokace firewallem). Hlavním problémem distribuovaného přístupu k datům je zabránění, případně řešení kolizí. V aplikačně-serverových řešeních kolize přístupů zcela řeší běžící aplikace, kterou v tomto projektu nemůžeme využít. Technologie K implementaci řešení je využit programovací jazyk C++ a pro vytvoření grafického uživatelského prostředí využity QT knihovny. Závěr Navržené řešení je plně funkční. Je vhodné pro využití v případech, kdy není možné zajistit běh aplikace na serveru nebo množství zálohovaných strojů není velké. Při větším množství strojů a pomalejším síťovém propojení zálohovaných strojů s datovým úložištěm by bylo vhodné časové plánování spouštění zálohování, aby se předešlo dlouhému čekání na uvolnění serveru. Dále řešení umožňuje provádět zálohování a synchronizaci na přenosné datové médium, které se fyzicky přesouvá mezi stroji. Poděkování Děkuji vedoucímu práce Martinu Pergelovi za připomínky a podněty . Další informace Daniel Douša, 2013, Bakalářská práce: Univerzální zálohování Kontakt na autora práce: [email protected] Při distribuovaném zálohování mohou nastat kolize nad zálohovanými daty (změna dat u klienta i na serveru oproti poslední záloze klienta). Kolize jsou řešeny dotazy uživateli nebo podle nastavení klienta uživatelem. Server Schéma zálohy Verze Zdroj Adresářová struktura na serveru Pro zabránění kolizí při současném přístupu k serveru se využívá zamykání celého serveru dvěma způsoby: přes zamykací soubor (primární) přímou komunikací klientů (sekundární) Primární způsob využívá synchronizační soubor umísťovaný na serveru. Nezaručuje pořadí čekání, ale je vždy dostupný. Sekundární způsob je nadstavbou primárního umožňující předávání zámku nad serverem podle pořadí čekání. V synchronizačním souboru jsou informace pro připojení k majiteli zámku. Připojení není zaručeno. Při nezdařilém spojení přechází klient na primární způsob. Implementace projektu zajišťuje portabilitu. V rámci bakalářské práce je implementována podpora pro systémy Windows a Linux, ale další rozšíření je možné. V základu jsou implementovány transportní protokoly pro lokální přenosy v systémech Windows a Linux. Rozšíření o další protokoly lze provést umístěním vhodných knihoven do určeného adresáře u klienta. Komunikace mezi klienty s blokací sekundárního způsobu jednoho klienta firewallem sítě Synchronizační soubor Server Majitel zámku Komunikace s uživatelem se provádí přes příkazový řádek nebo okenní rozhraní. V příkazovém řádku se uživateli hned po spuštění nabízí vypsání nápovědy . Uživatelsky přívětivé okenní rozhraní je intuitivně ovladatelné. Rozhraní pro komunikaci s uživatelem je snadno rozšiřitelné. Pro rozšiřování aplikace na další systémy jsou připraveny testy ověřující správnou funkčnost změněných částí aplikace. Okenní rozhraní programu

Univerzální zálohování - cuni.cz

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Univerzální zálohování - cuni.cz

Univerzální zálohování

Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Daniel Douša

Řešení Význam níže využívaných slov:

server – datové úložiště určené pro zálohování

klient – aplikace běžící na stroji řídící zálohování a synchronizaci dat

Řešení projektu poskytuje několik způsobů zálohování:

• plný (kopíruje se vše)

• inkrementální (změny od poslední zálohy)

• diferenciální (změny od poslední plné zálohy)

Všechny uvedené způsoby podporují verzování a mají též

variantu se synchronizací.

Pro snížení přenosu dat lze zvolit jen zaznamenávání

přesunutých souborů bez jejich odesílání na server.

Cíl Cílem projektu bylo vyřešit distribuované

zálohování dat z více zdrojů bez nutnosti využití

aplikačního serveru. V rámci projektu

je implementace řešení problému.

Úvod do problematiky V současnosti je běžné, že jeden uživatel využívá

více zařízení pracujících s daty (počítače,

notebooky apod.). Potřeba a náročnost udržet

všechna potřebná data na všech zařízeních

se neúměrně zvyšuje s počtem strojů. Kromě

synchronizace dat je nutné řešit jejich zálohování.

Tento projekt řeší souběžné zálohování

a synchronizaci dat, čímž zabraňuje zbytečnému

hromadění dat na zálohovacím médiu.

Velkým omezením projektu je nemožnost využití

aplikačního serveru, ale pouze datového.

Bez tohoto omezení již existují plně funkční

řešení (např. SVN). Výhodou řešení s tímto

omezením je poskytnutí zálohování

a synchronizace proti síťově dostupným médiím

bez možnosti spuštění serverové aplikace (např.

datový server) nebo připojení k ní (např. blokace

firewallem).

Hlavním problémem distribuovaného přístupu

k datům je zabránění, případně řešení kolizí.

V aplikačně-serverových řešeních kolize přístupů

zcela řeší běžící aplikace, kterou v tomto projektu

nemůžeme využít.

Technologie K implementaci řešení je využit programovací

jazyk C++ a pro vytvoření grafického

uživatelského prostředí využity QT knihovny.

Závěr Navržené řešení je plně funkční. Je vhodné pro využití v případech, kdy není možné zajistit běh

aplikace na serveru nebo množství zálohovaných strojů není velké. Při větším množství strojů

a pomalejším síťovém propojení zálohovaných strojů s datovým úložištěm by bylo vhodné

časové plánování spouštění zálohování, aby se předešlo dlouhému čekání na uvolnění serveru.

Dále řešení umožňuje provádět zálohování a synchronizaci na přenosné datové médium,

které se fyzicky přesouvá mezi stroji. Poděkování Děkuji vedoucímu práce Martinu Pergelovi

za připomínky a podněty.

Další informace Daniel Douša, 2013, Bakalářská práce: Univerzální zálohování

Kontakt na autora práce: [email protected]

Při distribuovaném zálohování mohou nastat kolize nad zálohovanými daty (změna dat

u klienta i na serveru oproti poslední záloze klienta). Kolize jsou řešeny dotazy uživateli nebo

podle nastavení klienta uživatelem.

Server

Schéma zálohy

Verze

Zdroj

Adresářová struktura na serveru

Pro zabránění kolizí při současném přístupu

k serveru se využívá zamykání celého serveru dvěma

způsoby:

• přes zamykací soubor (primární)

• přímou komunikací klientů (sekundární)

Primární způsob využívá synchronizační soubor

umísťovaný na serveru. Nezaručuje pořadí čekání,

ale je vždy dostupný.

Sekundární způsob je nadstavbou primárního

umožňující předávání zámku nad serverem podle

pořadí čekání. V synchronizačním souboru jsou

informace pro připojení k majiteli zámku. Připojení

není zaručeno. Při nezdařilém spojení přechází klient

na primární způsob.

Implementace projektu zajišťuje portabilitu. V rámci bakalářské práce je implementována

podpora pro systémy Windows a Linux, ale další rozšíření je možné.

V základu jsou implementovány transportní protokoly pro lokální přenosy v systémech

Windows a Linux. Rozšíření o další protokoly lze provést umístěním vhodných knihoven

do určeného adresáře u klienta.

Komunikace mezi klienty s blokací sekundárního

způsobu jednoho klienta firewallem sítě

Synchronizační soubor

Server

Majitel zámku

Komunikace s uživatelem se provádí přes příkazový

řádek nebo okenní rozhraní. V příkazovém řádku se

uživateli hned po spuštění nabízí vypsání nápovědy.

Uživatelsky přívětivé okenní rozhraní je intuitivně

ovladatelné. Rozhraní pro komunikaci s uživatelem

je snadno rozšiřitelné.

Pro rozšiřování aplikace na další systémy jsou

připraveny testy ověřující správnou funkčnost

změněných částí aplikace. Okenní rozhraní programu