This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
git_mobilni-gis [2018/05/27 12:05] efox |
git_mobilni-gis [2018/05/27 13:44] (current) efox |
||
|---|---|---|---|
| Line 74: | Line 74: | ||
| * přenos hlasu i dat zároveň | * přenos hlasu i dat zároveň | ||
| * tento systém umožnil rozvoj LBS | * tento systém umožnil rozvoj LBS | ||
| - | ===== příklady | + | ===== příklady |
| * PocketGIS | * PocketGIS | ||
| * pro geodetz | * pro geodetz | ||
| Line 140: | Line 140: | ||
| * aplikace pro BI, ESRI Maps for office, operations dashboard for arcgis, | * aplikace pro BI, ESRI Maps for office, operations dashboard for arcgis, | ||
| + | ====== přenos a synchronizace dat mezi mobilními zařízeními ====== | ||
| + | * synchronizace | ||
| + | * proces konzistence a jednotnosti instancí dat ve více systémech | ||
| + | * zajišťuje stejné kopie nebo verze dat v různých zařízeních | ||
| + | * využívá se k udržení stejné datové základny v jednotkách distribučního počítačového systému | ||
| + | * replikace | ||
| + | * hlídá databázový systém, jestli tam nedošlo ke změně. Jestli jo, tak spustí přenos dat. | ||
| + | * uzel (node) = je to každá databázová jednotka v distribučním počítačovém systému (clusteru) a má jednu ze dvou rolí: | ||
| + | * 1. master (rodič) - data se dají zapisovat a i číst | ||
| + | * 2. potomek (slave) - data jenom číst | ||
| + | * data se přenášejí pouze jednosměrně | ||
| + | ====== datové struktury pro přenos dat ====== | ||
| + | * přenáší se média (binární soubory, tvořící obrazovou a video dokumentaci), | ||
| + | * záleží na datovém modelu a na uložení | ||
| + | |||
| + | * JSON / GeoJSON | ||
| + | * YAML Aint Markup Language | ||
| + | * umí ukládat i komentáře | ||
| + | * XML formáty | ||
| + | * SFA - WKT (textové formáty) | ||
| + | * WKB (binární formát) | ||
| + | |||
| + | ====== algoritmy využitelné při synchronizaci dat ====== | ||
| + | |||
| + | * lamport timestamps | ||
| + | * pro zajištění globálního času v distribuovaných počítačových systémech | ||
| + | * každý uzel má vlastní logické hodiny a inkrementálně si čísluje operace | ||
| + | * při procesu synchronizace spolu systémy komunikují pomocí zasílání zpráv -> časová značka se porovnává se značkou v uzlu -> porovnání jestli se událost stala před nebo po (dvě události nenastanou ve stejný čas totiž) | ||
| + | * vector clock | ||
| + | * update těch předchozích | ||
| + | * místo jednoho inkrementálního čítače obsahují tolik čísel, kolik je uzlů | ||
| + | * každý uzel si pak drží údaje o ostatních uzlech a ty pak tvoří vektor | ||
| + | * optimistic concurrency control | ||
| + | * řízení souběžných systémů užívaných v transakčních systémech (relační databáze ...) | ||
| + | * po zahájení transakce se nezamykají zdrojová data | ||
| + | * transakce probíhá a po změnách jsou data přenesena zase zpět | ||
| + | * pessimistic offline locking | ||
| + | * rozdíl: po otevření záznamu jedním klientem záznam zamkne a znemožní editaci dalším klientům (editace tedy nesmí být prováděna příliš dlouho) | ||
| + | * operational transformation | ||
| + | * systém, který umožňoje řešit mnoho kolizí v jeden moment | ||
| + | * v nástrojích pro hromadnou editaci dat (Google Docs) | ||
| + | * princip: editace dokumentu probíhá v lokálním úložišti -> transakční přenos zpět do centrální databáze | ||
| + | * byzantine fault tolerance | ||
| + | * snaží se vyřešit problém dvou generálů (při doručování zprávy ve dvou systémech se špatným spojením) | ||
| + | * systém předpokládá, | ||