Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1234567891011121314151617 Geoinformation3 Mehrbenutzerzugriff auf GIS-Daten Vorlesung 5.

Ähnliche Präsentationen


Präsentation zum Thema: "1234567891011121314151617 Geoinformation3 Mehrbenutzerzugriff auf GIS-Daten Vorlesung 5."—  Präsentation transkript:

1 Geoinformation3 Mehrbenutzerzugriff auf GIS-Daten Vorlesung 5

2 Geoinformation3 1 Geodatenserver mehrere Benutzer –Transaktionen T Anfragen, Methoden, Programme –Items „A“ Variable, Tupel, Relation, Objekt Modi –Lesen (an und für sich unproblematisch) –Schreiben Erforderlich: –Synchronisation –Protokolle Szenario

3 Geoinformation3 2 Programm (P):Read A;A:=A+1;Write A; =/= 6 ! Problemfall A in Datenbank T1:T1: A im Arbeitsspeicher T 1 T2:T2: A im Arbeitsspeicher T 2 5 Read AA:=A+1 Write ARead AA:=A+1 Write A

4 Geoinformation3 3 Lösung: Sperren (Lock und Unlock) Sperren verschafft dem Prozess P exklusiven Zugriff auf das Item A. P :Read A;Write A;A:=A+1; Lock A; Unlock A

5 Geoinformation3 4 Problem: Gegenseitige Blockade („Deadlock“) T 1:Lock B;Unlock B;Unlock A; Lock A; T 2:Lock A;Unlock A;Unlock B; Lock B;

6 Geoinformation3 5 Vermeidung von Deadlocks: Protokolle des Laufzeitsystems: a.alle Ressourcen werden auf einmal angefordert und gleichzeitig gewährt (falls nicht alle Ressourcen verfügbar, kommt der Prozess in die Warteschlange) b.die Ressourcen unterliegen einer linearen Ordnung, und bei der Bedarfsanmeldung wird diese Reihenfolge eingehalten

7 Geoinformation3 6 Aber wie steuert man Nebenläufigkeit? wird erst T1 ganz und dann T2 ganz ausgeführt, heisst diese Reihenfolge seriell Problem: welche Überlappung ist zulässig? eine Reihenfolge heisst serialisierbar, wenn sie einer seriellen Reihenfolge äquivalent ist wie erkennt man Serialisierbarkeit? T 1:A:=A-10;Read B;Write B; Read A; Write A;B:=B+10; T 2:B:=B-20;Read C;Write C; Read B; Write B;C:=C+20;

8 Geoinformation3 7 Beispiele A 3x T 1 A:=A-10 Read B Write B Read A Write A B:=B+10 T 2T 1T 2T 1T 2 B:=B-20 Read C Write C Read B Write B C:=C+20 A:=A-10 Read B Write B Read A Write A B:=B+10 B:=B-20 Read C Write C Read B Write B C:=C+20 A:=A-10 Lock A Lock B Unlock A B:=B-20 Lock B Unlock B B:=B+10 Lock C Unlock B C:=C+20 Unlock C seriellserialisierbarnicht serialisierbar

9 Geoinformation3 8 Prüfung auf Serialisierbarkeit (a posteriori) Algorithmus: Input: Eine überlappte Ausführung von Transformationen T 1,...,T k Output: Prüfung der Serialisierbarkeit. Methode: Konstruiere einen Graphen mit den Knoten a 1, a 2,... a n wobei jedes a i eine der beiden folgenden Formen hat: T j : Lock A m oder T j : Unlock A m Wenn ein Lock A m auf einen Unlock A m folgt, werden diese beiden Knoten miteinander verbunden. Die Reihenfolge ist serialisierbar, wenn der entstandene Graph azyklisch ist; eine serielle Reihenfolge kann durch eine geeignete Durchlaufstrategie ermittelt werden.

10 Geoinformation3 Serialisierbar 9 T1T1 Unlock B Lock B Unlock A Lock A Lock B Unlock B Lock A T2T2

11 Geoinformation3 10 Serialisierbarkeit a priori durch Zwei-Phasen-Protokoll Zwei-Phasen-Protokoll in jeder Transaktion T gehen alle Sperrungen (Locks) den Freigaben (Unlocks) voraus Vorteil: leicht zu überprüfen Nachteil: ev. großräumige Sperrung T2:T2:Lock B;Unlock B;Unlock A; Lock A;

12 Geoinformation3 11 Beispiel T2:T2:Lock B;Unlock B;Unlock A; Lock A;

13 Geoinformation3 12 Verfeinerungen differenziere zwischen Read und Write-Locks berücksichtige hierarchische Strukturen –Aggregierte Objekte –B-Bäume

14 Geoinformation3 13 Baum-Protokoll 1 (knoten-orientiert) A BC GF ED Lock eines Knotens setzt Verfügung (Lock) über den Vaterknoten voraus –Ausnahme: 1. Lock einer Transaktion Kein Knoten wird durch die gleiche Transaktion mehrmals gesperrt

15 Geoinformation3 14 Baum-Protokoll 1 (knoten-orientiert) A 36x T 2 T1T1 T 3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Lock D Lock B Unlock B Lock A Lock C Lock E Lock B Unlock D Lock F Lock E Unlock A Unlock C Unlock B Unlock E Lock G Unlock F Unlock G Unlock E A BC GF ED A B D BBC ED F A G C EE F B G E

16 Geoinformation3 15 Anwendungsbeispiel: B-Baum 3 Modi: –Warn, Lock und Unlock Warnungen sind untereinander nicht exklusiv –mehrere Prozesse können den gleichen Knoten warnen –ein gewarnter Knoten kann von einem anderen nicht mit Lock gesperrt werden Die Transaktion T beginnt mit der Warnung der Wurzel des Baumes Sperrung eines Knotens setzt Warnung des Vaterknotens voraus ein Knoten kann nur entsperrt oder entwarnt werden, nachdem alle Sperrungen / Warnungen auf Kinder entfernt wurden 2-Phasen-Protokoll: alle Warnungen und Sperrungen gehen allen Freigaben voraus Warn-Protokoll (Teilbaum-orientiert)

17 Geoinformation3 16 A BC GFED

18 Geoinformation3 17 A 36x Warn-Protokoll (Beispiel) T2T2 T1T1 Warn B Warn A Lock D Lock C Unlock D Warn C T3T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Unlock B Unlock C Lock F Warn A Unlock F Unlock A A BC GFED C D C D

19 Geoinformation3 17 A 36x Warn-Protokoll (Beispiel) T2T2 T1T1 Warn B Warn A Lock D Lock C Unlock D Warn C T3T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Unlock B Unlock C Lock F Warn A Unlock F Unlock A A BC GFED C D C D

20 Geoinformation3 17 A 36x Warn-Protokoll (Beispiel) T2T2 T1T1 Warn B Warn A Lock D Lock C Unlock D Warn C T3T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Unlock B Unlock C Lock F Warn A Unlock F Unlock A A BC GFED C D C D B F

21 Geoinformation3 17 A 36x Warn-Protokoll (Beispiel) T2T2 T1T1 Warn B Warn A Lock D Lock C Unlock D Warn C T3T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Unlock B Unlock C Lock F Warn A Unlock F Unlock A A BC GFED C D C D B F B F

22 Geoinformation3 17 A 36x Warn-Protokoll (Beispiel) T2T2 T1T1 Warn B Warn A Lock D Lock C Unlock D Warn C T3T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Unlock B Unlock C Lock F Warn A Unlock F Unlock A A BC GFED C D C D B F B F

23 Geoinformation3 17 A 36x Warn-Protokoll (Beispiel) T2T2 T1T1 Warn B Warn A Lock D Lock C Unlock D Warn C T3T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Unlock B Unlock C Lock F Warn A Unlock F Unlock A A BC GFED C D C D B F B F


Herunterladen ppt "1234567891011121314151617 Geoinformation3 Mehrbenutzerzugriff auf GIS-Daten Vorlesung 5."

Ähnliche Präsentationen


Google-Anzeigen