Jumat, 19 Juni 2009

Concurancy Bag.III

3.Masalah Analaisa yg tidak Konsisten
Masalah ini timbul jika sebuah transaksi yg kedua mengupdate beberapa nilai tersebut selama eksekusi transaksi pertama.
Contoh Masalah Analisa yg tidak Konsisten:
Permasalahan masih sama dengan Masalah Concurancy Bag.I,Hanya saja Jumlah Kursinya berbeda.Yaitu :
A=A1-A20
B=B10-B24
C=C20-C24
Berikut Tabel Transaksinya:
Transaksi WK_TOUR
Waktu
Transaksi NK_TOUR
Baca Kursi:
A=A1-A20
B=B10-B24
C=C20-C24
T1
………………………………..
PSN=A(A5-A10)
Sisa=A((A1-A4),(A11-A20))
T2
…………………………………..
PSN=B(10-B20)
Sisa=B(21-B24)
T3
…………………………………..
……………………………………..
T4
Baca Kursi
A=(A1-A4), (A11-A20)
B=(B21-B24)
C=(C20-C24)
……………………………….
T5
PSN=A(A15-A20)
Sisa=A((A1-A4),(A11-A14))
………………………….
T6
PSN=C(C20-C22)
Sisa=C(C23-C24)
………………………………….
T7
Commit
Baca Kursi
A=(A1-A4),(11-A14)
B=(B21-B24)
C=(C23-C24)
T8
…………………………..
PSN=C(C23-C24)
Sisa=C Habis
T9
……………………………………..
Commit
T10
……………………………………
Penjelasan:
Pada waktu T1,WK_TOUR melihat sisa kursi yg tersedia
T2, dan T3 ,WK_TOUR melakukan pesanan terhadap kursi A&B
T4,NK_TOUR membaca sisa kursi yg tersedia yg telah
dimodifikasi oleh NK_TOUR
T5&T6, NK_TOUR melakukan pesanan terhadap kursi A&C
T7,NK_TOUR menyelesaikan Transaksi pemesanan
T8, WK_TOUR melihat sisa kursi yg tersedia tidak sesuai dengan
apa yg telah ia pesan,dari sinilah ia tahu bahwa sisa kursi yg
tersedia telah dirmodifikasi oleh transaksi lain.
T9, WK_TOUR melakukan pesanan terhadap kursi C
T10, WK_TOUR menyelesaikan Transaksi pemesanan


Pemecahan Masalah Analisa yg tidak Konsisten:
Transaksi WK_TOUR
Waktu
Transaksi NK_TOUR
Baca Kursi (Kunci S):
A=A1-A20
B=B10-B24
C=C20-C24
T1
………………………………..
PSN=A(A5-A10)
Kunci X
Sisa=A((A1-A4),(A11-A20))
T2
…………………………………..
PSN=B(10-B20)
Kunci X
Sisa=B(21-B24)
T3
…………………………………..
…………………………………..
T4
Baca Kursi (Kunci S)
A=(A1-A4), (A11-A20)
B=(B21-B24)
C=(C20-C24)
……………………………………
T5
PSN=A(A15-A20)
Kunci X
Menunggu
SYN A
T6
…………………………………..
………………………………………..
T7
PSN=A(A15-A20)
Sisa=A((A1-A4),(A11-A14))
…………………………………………..
T8
SYN A
………………………………………
T9
PSN=C(C20-C22)
Kunci X
Sisa=C(C23-C24)
Baca Kursi (Kunci S)
A=(A1-A4),(11-A14)
B=(B21-B24)
C=(C23-C24)
T10
………………………………….
PSN=C(C26-C24)
Kunci X
Menunggu
T11
…………………………………
……………………………………
T12
SYN C
…………………………………..
T13
Commit
PSN=C(C23-C24)
Sisa=C Habis
T14
……………………………………
Penjelasan:
Pada waktu T1,WK_TOUR melihat sisa kursi yg tersedia dengan memasang Kunci S
T2, WK_TOUR melakukan pesanan terhadap kursi A dengan
memasang kunci X
T3 ,WK_TOUR melakukan pesanan terhadap kursi B dengan
memasang kunci X
T4,NK_TOUR membaca sisa kursi yg tersedia yg telah
dimodifikasi oleh NK_TOUR dengan memasang kunci S
T5, NK_TOUR melakukan pesanan terhadap kursi A dengan
memasang kunci x,akan tetapi ia harus menunggu kunci X
terhadap A dilepaskan oleh WK_TOUR
T6,WK_TOUR melepas Kunci X terhadap A
T7, NK_TOUR dapat melakukan pesanan terhadap kursi A
T8, NK_TOUR melepas Kunci X terhadap A
T9, NK_TOUR melakukan pesanan terhadap kursi C dengan
memasang Kunci X
T10, WK_TOUR melihat sisa kursi yg tersedia dengan memasang
Kunci S
T11, WK_TOUR melakukan pesanan terhadap kursi C dengan
memasang kunci x,akan tetapi ia harus menunggu kunci X
terhadap C dilepaskan oleh NK_TOUR
T12, NK_TOUR melepas Kunci X terhadap C
T13, NK_TOUR menyelesaikan Transaksi pemesanan
T14, WK_TOUR dapat melakukan pesanan terhadap kursi C

Tidak ada komentar: