Odloženo ažuriranje
Iz E-študij, proste zakladnice študentskega znanja
Pri odloženem ažuriranju obnavljanja z dnevnikom in kopijo se v dnevnik beležijo:
- zapisi, ki vsebujejo podatke, potrebne za izvedbo odloženega ažuriranja PB in
- podatki za njeno morebitno obnavljanje
- Dnevnik je zaporedna datoteka, v katerem so zapisi urejeni po času njihovega nastanka
- Zapisi se v dnevnik vedno dodajajo na konec datoteke
Vsebina |
Zapisi v dnevniku
Vsak zapis v dnevniku je opremljen:
- z enolično oznako transakcije - Ti
- s časom generiranja zapisa - t
Zapisi ob začetku izvajanja transakcije
Zapis ob začetku izvajanja transakcije vsebuje:
- oznako “Začetek”
- oznako transakcijskega programa Pj
- za vsak vhodni zapis pa par: (ImeZapisa, VrednostZapisa)
Zapisi ob ukazu za ažuriranje
Zapis ob ukazu za ažuriranje vsebuje:
- oznako NovaVrednost
- vrsto operacije: Dodaj, Izbriši, Spremeni
- par (NaslovZapisa, NovaVrednostZapisa)
Zapisi ob prehodih
Zapis ob prehodu transakcije v stanje Uspešna transakcija:
- oznako Pomni
Zapis ob prehodu transakcije v stanje Neuspešna transakcija:
- oznako Pozabi
Sočasno izvajanje
Ker se sočasno lahko izvaja več transakcij so dnevniški zapisi teh transakcij lahko med seboj pomešani:
- Ko se transakcija prične izvajati, SUPB v dnevnik zapiše zapis:
Dodaj(D, <Ti, t, Začetek, Pj, (V1, v1),...(Vn, vn)>)
Ob vsakem ažuriranju, ki se pojavi v okviru transakcije, se v dnevnik doda naslednji zapis:
Dodaj(D, <Ti, t, NovaVrednost, vrsta-operacije, (X, x)>)
Neuspešni zaključek
- Ob neuspešnem zaključku transakcije (ukaz Pozabi) se v dnevnik doda:
Dodaj(D, <Ti, t, Pozabi>)
- in izbriše transakcijo iz liste aktivnih transakcij.
Uspešni zaključek
Ob uspešnem zaključku trans. se v dnevnik doda zapis:
Dodaj(D, <Ti, t, Pomni>)
- poleg tega pa se izvede tudi uveljavitev sprememb v PB
Uveljavitev sprememb v PB se izvede tako, da se bere dnevniške zapise z oznako NovaVrednost za transakcijo Ti (po času naprej), ter se izvedejo v njih zapisani ukazi operacij nad PB:
PoiščiPreberi(D, <Ti, t, NovaVrednost, vrsta-operacije, (X, x)>)
Ko so izvedene vse operacije za Ti, ki so zapisane v dnevniku, SUPB zbriše Ti iz liste aktivnih transakcij