ٽرانزيڪشن ۽ انهن جي ڪنٽرول ميڪانيزم

معاملو

هڪ ٽرانزيڪشن ڊيٽا تي عملن جو هڪ سلسلو آهي جنهن جي شروعات ۽ پڇاڙي آهي.

ٽرانزيڪشن پڙهڻ ۽ لکڻ جي عملن جي ترتيب وار عمل آهي. ٽرانزيڪشن جي پڇاڙي يا ته تبديلين کي محفوظ ڪري سگھي ٿي (ڪمٽ) يا تبديلين کي منسوخ ڪرڻ (رول بيڪ). ڊيٽابيس جي سلسلي ۾، هڪ ٽرانزيڪشن ڪيترن ئي درخواستن تي مشتمل آهي جيڪي هڪ واحد درخواست جي طور تي علاج ڪيا ويا آهن.

ٽرانزيڪشن کي ACID ملڪيت کي پورو ڪرڻ گهرجي

ايٽمي. ٽرانزيڪشن يا ته مڪمل طور تي مڪمل ڪيو ويو آهي يا مڪمل طور تي نه.

تسلسل. ٽرانزيڪشن کي مڪمل ڪرڻ وقت، ڊيٽا تي لاڳو ڪيل پابنديون (مثال طور، ڊيٽابيس ۾ رڪاوٽون) جي ڀڃڪڙي نه ٿيڻ گهرجي. تسلسل جو مطلب اهو آهي ته سسٽم هڪ صحيح رياست کان ٻئي صحيح رياست ڏانهن منتقل ڪيو ويندو.

اڪيلائي. متوازي ۾ هلندڙ ٽرانزيڪشن کي هڪ ٻئي تي اثر انداز نه ٿيڻ گهرجي، مثال طور، ٻئي ٽرانزيڪشن پاران استعمال ڪيل ڊيٽا تبديل ڪريو. متوازي ٽرانزيڪشن تي عمل ڪرڻ جو نتيجو ساڳيو هجڻ گهرجي جيئن ٽرانزيڪشن کي ترتيب سان عمل ڪيو ويو.

استحڪام. هڪ ڀيرو انجام، تبديلين کي وڃائڻ نه گهرجي.

ٽرانزيڪشن لاگ

لاگ اسٽوريج ٽرانزيڪشن پاران ڪيل تبديليون، سسٽم جي ناڪامي جي صورت ۾ ڊيٽا جي ايٽمي ۽ استحڪام کي يقيني بڻائي ٿو

لاگ ان قيمتن تي مشتمل آهي جيڪي ڊيٽا اڳ ۾ هئا ۽ بعد ۾ ان کي ٽرانزيڪشن طرفان تبديل ڪيو ويو. لکڻ-اڳتي لاگ حڪمت عملي شروع ڪرڻ کان اڳ اڳئين قدرن بابت لاگ انٽري شامل ڪرڻ جي ضرورت آهي، ۽ ٽرانزيڪشن مڪمل ٿيڻ کان پوء حتمي قدرن بابت. سسٽم جي اوچتو بند ٿيڻ جي صورت ۾، ڊيٽابيس ريورس آرڊر ۾ لاگ پڙهي ٿو ۽ ٽرانزيڪشن پاران ڪيل تبديلين کي رد ڪري ٿو. هڪ مداخلت واري ٽرانزيڪشن کي منهن ڏيڻ کان پوء، ڊيٽابيس ان کي انجام ڏئي ٿو ۽ لاگ ان جي باري ۾ تبديل ڪري ٿو. ناڪامي جي وقت تي رياست ۾ هجڻ جي ڪري، ڊيٽابيس لاگ ان فارورڊ آرڊر کي پڙهي ٿو ۽ ٽرانزيڪشن پاران ڪيل تبديلين کي واپس ڪري ٿو. هن طريقي سان، ٽرانزيڪشن جو استحڪام جيڪو اڳ ۾ ئي انجام ڏنو ويو آهي ۽ مداخلت واري ٽرانزيڪشن جي ائٽميٽي محفوظ آهي.

صرف ناڪام ٽرانزيڪشن کي ٻيهر عمل ڪرڻ بحالي لاءِ ڪافي ناهي.

مثال. صارف جي اڪائونٽ ۾ $500 آهي ۽ صارف ان کي ATM مان ڪڍڻ جو فيصلو ڪري ٿو. ٻه ٽرانزيڪشن جاري آهن. پهرين هڪ بيلنس جي قيمت پڙهي ٿو ۽ جيڪڏهن بيلنس تي ڪافي فنڊ آهن، اهو صارف کي پئسا جاري ڪري ٿو. ٻيو بيلنس مان گهربل رقم گھٽائي ٿو. اچو ته سسٽم خراب ٿي ويو ۽ پهريون آپريشن ناڪام ٿيو، پر ٻيو ڪيو. انهي صورت ۾، اسان سسٽم کي ان جي اصلي حالت ۾ مثبت توازن سان واپس ڪرڻ کان سواء صارف کي پئسا ٻيهر جاري نه ٿا ڪري سگھون.

موصليت جي سطح

پڙهو عزم

گندي پڙهڻ وارو مسئلو اهو آهي ته هڪ ٽرانزيڪشن ٻئي ٽرانزيڪشن جو وچولي نتيجو پڙهي سگهي ٿو.

مثال. شروعاتي بيلنس جي قيمت $0 آهي. T1 توهان جي بيلنس ۾ $50 شامل ڪري ٿو. T2 بيلنس جي قيمت ($ 50) پڙهي ٿو. T1 تبديلين کي رد ڪري ٿو ۽ نڪرندو آھي. T2 غلط بيلنس ڊيٽا سان عمل جاري رکي ٿو.

حل اهو آهي ته فڪسڊ ڊيٽا پڙهڻ (Read Committed)، جيڪو ٽرانزيڪشن طرفان تبديل ٿيل ڊيٽا پڙهڻ کان منع ڪري ٿو. جيڪڏهن ٽرانزيڪشن A ڊيٽا جي هڪ خاص سيٽ کي تبديل ڪري ڇڏيو آهي، پوء ٽرانزيڪشن B، جڏهن هن ڊيٽا تائين رسائي حاصل ڪري ٿي، ٽرانزيڪشن A مڪمل ٿيڻ جو انتظار ڪرڻ تي مجبور ڪيو ويندو آهي.

بار بار پڙهڻ

گم ٿيل اپڊيٽس مسئلو. T1 تبديلين کي محفوظ ڪري ٿو T2 جي تبديلين جي مٿان.

مثال. ابتدائي بيلنس جي قيمت $0 آهي ۽ ٻه ٽرانزيڪشن هڪ ئي وقت بيلنس کي ڀريندا آهن. T1 ۽ T2 $ 0 جو توازن پڙهي ٿو. T2 وري $200 کان $0 شامل ڪري ٿو ۽ نتيجو بچائي ٿو. T1 $100 کان $0 شامل ڪري ٿو ۽ نتيجو بچائي ٿو. حتمي نتيجو $100 بدران $300 آهي.

اڻ پڙهيل مسئلو. ساڳئي ڊيٽا کي بار بار پڙهڻ سان مختلف قدر واپس اچي ٿو.

مثال. T1 $0 جي بيلنس جي قيمت پڙهي ٿو. T2 وري بيلنس ۾ $50 شامل ڪري ٿو ۽ ختم ٿئي ٿو. T1 ڊيٽا کي ٻيهر پڙهي ٿو ۽ پوئين نتيجن سان هڪ تڪرار ڳولي ٿو.

Repeatable پڙهڻ کي يقيني بڻائي ٿو ته هڪ سيڪنڊ پڙهڻ ساڳيو نتيجو واپس آڻيندو. هڪ ٽرانزيڪشن طرفان پڙهيل ڊيٽا ٻين ۾ تبديل نه ٿي ڪري سگھجي جيستائين ٽرانزيڪشن مڪمل نه ٿئي. جيڪڏهن ٽرانزيڪشن A ڊيٽا جو هڪ خاص سيٽ پڙهيو آهي، پوء ٽرانزيڪشن B، جڏهن هن ڊيٽا تائين رسائي حاصل ڪري ٿي، ٽرانزيڪشن A کي مڪمل ڪرڻ لاء انتظار ڪرڻ تي مجبور ڪيو ويندو آهي.

ترتيب ڏنل پڙهڻ (سيريلائيزبل)

پريتم پڙهڻ جو مسئلو. ٻه سوال جيڪي ڊيٽا کي منتخب ڪن ٿيون هڪ خاص شرط جي بنياد تي مختلف قدر واپس.

مثال. T1 انهن سڀني صارفين جي تعداد جي درخواست ڪري ٿو جن جي بيلنس $0 کان وڌيڪ آهي پر $100 کان گهٽ آهي. T2 $1 کٽي ٿو صارف کان $101 جي بيلنس سان. T1 درخواست ٻيهر جاري ڪري ٿو.

آرڊر ٿيل پڙهڻ (سيريلائزبل). ٽرانزيڪشن مڪمل طور تي ترتيب وار طور تي جاري ڪيا ويا آهن. اهو رڪارڊ کي اپڊيٽ ڪرڻ يا شامل ڪرڻ جي منع ٿيل آهي جيڪي درخواست جي شرطن جي اندر اچن ٿا. جيڪڏهن ٽرانزيڪشن A پوري جدول مان ڊيٽا جي درخواست ڪئي آهي، ته پوءِ سڄي ٽيبل کي منجمد ڪيو ويو آهي ٻين ٽرانزيڪشن لاءِ جيستائين ٽرانزيڪشن A مڪمل ٿئي.

شيڊيولر

ترتيب ترتيب ڏئي ٿو جنهن ۾ آپريشن ٿيڻ گهرجي متوازي ٽرانزيڪشن دوران.

اڪيلائي جي مخصوص سطح مهيا ڪري ٿي. جيڪڏهن عملن جو نتيجو انهن جي ترتيب تي منحصر نه آهي، ته اهڙيون آپريشنون ڪميونٽيوٽ (Permutable) آهن. پڙهڻ جي عملن ۽ مختلف ڊيٽا تي عملن commutative آهن. پڙهڻ-لکڻ ۽ لکڻ-لکڻ آپريشن commutative نه آهن. شيڊيولر جو ڪم متوازي ٽرانزيڪشن پاران ڪيل عملن کي وقف ڪرڻ آهي ته جيئن عملدرآمد جو نتيجو ٽرانزيڪشن جي ترتيب وار عمل جي برابر هجي.

متوازي نوڪرين کي ڪنٽرول ڪرڻ لاءِ ميکانيزم (ڪنڪرنسي ڪنٽرول)

پراميد تڪرارن کي ڳولڻ ۽ حل ڪرڻ تي ٻڌل آهي، مايوسي تڪرار پيدا ٿيڻ کان روڪڻ تي ٻڌل آهي.

پراميد انداز ۾، ڪيترن ئي استعمال ڪندڙن وٽ ڊيٽا جون ڪاپيون آهن انهن جي اختيار ۾. تبديلين کي مڪمل ڪرڻ وارو پهريون شخص تبديلين کي محفوظ ڪري ٿو، جڏهن ته ٻين کي تبديلين کي ملائڻو پوندو. هڪ اميد رکندڙ الگورٿم تڪرار ٿيڻ جي اجازت ڏئي ٿو، پر سسٽم کي تڪرار کان بحال ٿيڻ گهرجي.

مايوسي واري طريقي سان، ڊيٽا کي پڪڙڻ لاء پهريون صارف ٻين کي ڊيٽا حاصل ڪرڻ کان روڪي ٿو. جيڪڏهن تڪرار ناياب آهن، اهو دانشمندي آهي ته اميد رکندڙ حڪمت عملي چونڊيو، ڇو ته اهو هڪ اعلي سطحي اتفاق فراهم ڪري ٿو.

تالا لڳڻ

جيڪڏهن هڪ ٽرانزيڪشن ڊيٽا کي بند ڪري ڇڏيو آهي، پوء ٻين ٽرانزيڪشن کي انتظار ڪرڻو پوندو جيستائين اهو ان لاڪ نه ٿئي جڏهن ڊيٽا تائين رسائي حاصل ڪئي وڃي.

ھڪڙي بلاڪ کي ڊيٽابيس، ٽيبل، قطار، يا خاصيت تي مٿي ڪري سگھجي ٿو. شيئر لاڪ ڪيترن ئي ٽرانزيڪشن ذريعي ساڳئي ڊيٽا تي لاڳو ڪري سگهجي ٿو، سڀني ٽرانزيڪشن کي اجازت ڏئي ٿو (بشمول جيڪو ان کي لاڳو ڪيو ويو آهي) پڙهڻ جي اجازت ڏئي ٿو، ترميمي ۽ خاص قبضي کي منع ڪري ٿو. خاص تالا صرف هڪ ٽرانزيڪشن ذريعي لاڳو ٿي سگهي ٿو، لاڳو ٿيڻ واري ٽرانزيڪشن جي ڪنهن به عمل کي اجازت ڏئي ٿو، ٻين طرفان ڪنهن به عمل کي منع ڪري ٿو.

هڪ تعطل هڪ صورتحال آهي جتي ٽرانزيڪشن هڪ التوا واري حالت ۾ ختم ٿئي ٿي جيڪا اڻڄاتل رهي ٿي.

مثال. پهرين ٽرانزيڪشن انتظار ڪري ٿي ڊيٽا جي قبضو ڪيل ڊيٽا کي ٻئي طرفان جاري ٿيڻ جو، جڏهن ته ٻيو انتظار ڪري ٿو ڊيٽا جي قبضو ڪيل ڊيٽا جي پهرين طرفان جاري ٿيڻ لاء.

ڊيڊ لاڪ جي مسئلي جو هڪ پراميد حل ڊيڊ لاڪ ٿيڻ جي اجازت ڏئي ٿو، پر پوءِ سسٽم کي بحال ڪري ٿو ڊيڊ لاڪ ۾ شامل ٽرانزيڪشن مان هڪ کي واپس ڪري.

Deadlocks ڪجهه وقفن تي ڳولي رهيا آهن. ڳولڻ جي طريقن مان هڪ آهي وقت جي لحاظ کان، اهو آهي، غور ڪريو ته هڪ تعطل واقع ٿي چڪو آهي جيڪڏهن ٽرانزيڪشن مڪمل ٿيڻ ۾ تمام گهڻو وقت وٺندو آهي. جڏهن هڪ ڊيڊ لاڪ مليو آهي، ٽرانزيڪشن مان هڪ کي واپس ڪيو ويندو آهي، ٻين ٽرانزيڪشن کي مڪمل ڪرڻ جي اجازت ڏئي ٿي جيڪا تعطل ۾ شامل آهي. مقتول جو انتخاب ٽرانزيڪشن جي قيمت يا انهن جي سينيئرٽي (انتظار-مرو ۽ زخم-انتظار اسڪيمن) جي بنياد تي ٿي سگهي ٿو.

هر ٽرانزيڪشن T هڪ ٽائم اسٽيمپ مقرر ڪيو ويو آهي TS جنهن ۾ ٽرانزيڪشن جي شروعاتي وقت شامل آهي.

انتظار ڪريو - مرڻ.

ته ٽي ايس (ٽي) < ٽي ايس (ٽي جي)، پوء Ti انتظار ڪري ٿو، ٻي صورت ۾ Ti واپس ڦري ٿو ۽ ساڳئي ٽائم اسٽيمپ سان ٻيهر شروع ٿئي ٿو.

جيڪڏهن هڪ نوجوان ٽرانزيڪشن هڪ وسيلو حاصل ڪيو آهي ۽ هڪ پراڻي ٽرانزيڪشن ساڳئي وسيلن جي درخواست ڪري ٿي، پوء پراڻي ٽرانزيڪشن کي انتظار ڪرڻ جي اجازت آهي. جيڪڏهن هڪ پراڻن ٽرانزيڪشن هڪ وسيلو حاصل ڪيو آهي، ته پوءِ ننڍي ٽرانزيڪشن جيڪا ان وسيلا جي درخواست ڪري ٿي واپس هلي ويندي.

زخم - انتظار.

ته ٽي ايس (ٽي) < ٽي ايس (ٽي جي)، پوء Tj واپس ڦري ٿو ۽ ساڳئي ٽائم اسٽيمپ سان ٻيهر شروع ٿئي ٿو، ٻي صورت ۾ Ti انتظار ڪري رهيو آهيان.

جيڪڏهن هڪ ننڍي ٽرانزيڪشن هڪ وسيلو حاصل ڪيو آهي ۽ هڪ پراڻي ٽرانزيڪشن ساڳئي وسيلن جي درخواست ڪري ٿي، پوء ننڍي ٽرانزيڪشن کي واپس ڪيو ويندو. جيڪڏهن هڪ پراڻن ٽرانزيڪشن هڪ وسيلو حاصل ڪيو آهي، ته پوءِ ننڍي ٽرانزيڪشن کي ان وسيلن جي درخواست ڪرڻ جي اجازت آهي انتظار ڪرڻ جي. اڳڀرائي تي مبني قرباني جي چونڊ ڊيڊ لاڪ کي روڪي ٿي، پر ٽرانزيڪشن کي واپس آڻيندي جيڪي بند نه ٿيل آهن. مسئلو اهو آهي ته ٽرانزيڪشن ڪيترائي ڀيرا واپس ٿي سگهي ٿو ڇاڪاڻ ته ... هڪ پراڻو ٽرانزيڪشن شايد ڊگهي وقت تائين وسيلن کي رکي سگهي ٿو.

تعطل جي مسئلي جو هڪ مايوسي وارو حل ڪنهن ٽرانزيڪشن کي عمل شروع ڪرڻ جي اجازت نه ڏيندو آهي جيڪڏهن ڪنهن تعطل جو خطرو هجي.

هڪ تعطل کي ڳولڻ لاء، هڪ گراف تعمير ڪيو ويو آهي (انتظار گراف، انتظار لاء-گراف)، جن جي چوٽي ٽرانزيڪشن آهن، ۽ ڪنارن کي ٽرانزيڪشن کان هدايت ڪئي وئي آهي ته ٽرانزيڪشن ڏانهن ڊيٽا جي ڇڏڻ جي انتظار ۾ جيڪي هن ڊيٽا کي قبضو ڪيو آهي. جيڪڏهن گراف کي لوپ هجي ته هڪ بند لاڪ سمجهيو ويندو آهي. هڪ انتظار گراف تعمير ڪرڻ، خاص طور تي ورهايل ڊيٽابيس ۾، هڪ قيمتي طريقو آهي.

ٻه-مرحلي لاڪنگ - ٽرانزيڪشن جي شروعات ۾ ٽرانزيڪشن پاران استعمال ڪيل سڀني وسيلن کي ضبط ڪندي ۽ آخر ۾ انهن کي جاري ڪرڻ کان روڪي ٿو

سڀني بلاڪنگ عملن کي لازمي طور تي ان لاڪ ڪرڻ واري پهرين کان اڳ ٿيڻ گهرجي. ان جا ٻه مرحلا آهن - وڌندڙ مرحلو، جنهن دوران گرفت جمع ٿيندي آهي، ۽ ڇڪڻ وارو مرحلو، جنهن دوران گرفت جاري ٿيندي آهي. جيڪڏهن اهو ناممڪن آهي ته وسيلن مان هڪ کي پڪڙڻ، ٽرانزيڪشن شروع ٿئي ٿي. اهو ممڪن آهي ته هڪ ٽرانزيڪشن گهربل وسيلن کي حاصل ڪرڻ جي قابل نه هوندو، مثال طور، جيڪڏهن ڪيترائي ٽرانزيڪشن ساڳئي وسيلن لاء مقابلو ڪن.

هڪ ٻه-مرحلي وابستگي يقيني بڻائي ٿي ته ڪمٽ تي عمل ڪيو ويو آهي سڀني ڊيٽابيس جي نقلن تي

هر ڊيٽابيس ڊيٽا جي باري ۾ معلومات داخل ڪري ٿي جيڪا لاگ ۾ تبديل ڪئي ويندي ۽ ڪوآرڊينيٽر OK (ووٽنگ مرحلو) کي جواب ڏيندو. هرڪو جواب ڏيڻ کان پوء ٺيڪ آهي، ڪوآرڊينيٽر هڪ سگنل موڪلي ٿو جيڪو هر ڪنهن کي انجام ڏيڻ جو پابند آهي. ڪم ڪرڻ کان پوءِ، سرور جواب ڏين ٿا ٺيڪ؛ جيڪڏهن گهٽ ۾ گهٽ ڪو جواب نه ٿو ڏئي، ته ڪوآرڊينيٽر سڀني سرورن ۾ تبديلين کي منسوخ ڪرڻ لاءِ سگنل موڪلي ٿو (مڪمل ٿيڻ وارو مرحلو).

ٽائيم اسٽيمپ جو طريقو

هڪ پراڻي ٽرانزيڪشن کي واپس ڪيو ويندو آهي جڏهن ننڍي ٽرانزيڪشن ۾ شامل ڊيٽا تائين رسائي جي ڪوشش ڪئي ويندي آهي

هر ٽرانزيڪشن کي ٽائم اسٽيمپ مقرر ڪيو ويو آهي TS عمل جي شروعاتي وقت جي مطابق. جيڪڏهن Ti وڏو Tj، پوء ٽي ايس (ٽي) < ٽي ايس (ٽي جي).

جڏهن هڪ ٽرانزيڪشن کي واپس ڪيو ويندو آهي، اهو هڪ نئون ٽائم اسٽيمپ لڳايو ويندو آهي. هر ڊيٽا اعتراض Q ٽرانزيڪشن ۾ ملوث ٻن ليبل سان نشان لڳل آهي. W-TS(Q) - سڀ کان ننڍي ٽرانزيڪشن جو ٽائم اسٽيمپ جيڪو ڪاميابي سان مڪمل ڪيو ويو رڪارڊ ختم Q. R-TS(Q) - سڀ کان ننڍي ٽرانزيڪشن جو ٽائم اسٽيمپ جيڪو رڪارڊ تي رڪارڊ ڪيو Q.

جڏهن ته ٽرانزيڪشن T ڊيٽا پڙهڻ لاء درخواست Q اتي ٻه آپشن آهن.

ته ٽي ايس (ٽي) < W-TS(Q)، اهو آهي، ڊيٽا هڪ ننڍي ٽرانزيڪشن طرفان اپڊيٽ ڪيو ويو، پوء ٽرانزيڪشن T واپس ڦري ٿو.

ته ٽي ايس (ٽي) >= W-TS(Q)، پوءِ پڙھيو ويندو آھي ۽ R-TS(Q) ٿي رهيو آهي MAX(R-TS(Q)، TS(T)).

جڏهن ته ٽرانزيڪشن T ڊيٽا تبديلين جي درخواست Q اتي ٻه آپشن آهن.

ته ٽي ايس (ٽي) < R-TS(Q)، اهو آهي، ڊيٽا اڳ ۾ ئي هڪ ننڍي ٽرانزيڪشن طرفان پڙهي چڪو آهي ۽ جيڪڏهن ڪا تبديلي ڪئي وئي آهي، هڪ تڪرار پيدا ٿيندو. ٽرانزيڪشن T واپس ڦري ٿو.

ته ٽي ايس (ٽي) < W-TS(Q)، اهو آهي، ٽرانزيڪشن هڪ نئين قيمت کي مٿي ڪرڻ جي ڪوشش ڪري ٿو، ٽرانزيڪشن T کي واپس ڪيو ويو آهي. ٻين حالتن ۾، تبديلي ڪئي وئي آهي ۽ W-TS(Q) برابر ٿي وڃي ٿو ٽي ايس (ٽي).

ڪابه قيمتي انتظار جي گراف جي تعمير جي ضرورت ناهي. پراڻا ٽرانزيڪشن نون تي ڀاڙين ٿا، تنهنڪري انتظار جي گراف ۾ ڪي به چڪر نه آهن. ڪو به بند نه آهي ڇو ته ٽرانزيڪشن انتظار نه ڪيا ويا آهن پر فوري طور تي واپس هليا ويا آهن. Cascading rollbacks ممڪن آهن. جيڪڏهن Ti ڦري ويو ۽ Tj مون ڊيٽا کي پڙهيو جيڪو مون تبديل ڪيو Ti، پوء Tj پڻ واپس وڃڻ گهرجي. جيڪڏهن ساڳئي وقت Tj اڳ ۾ ئي انجام ڏنو ويو آهي، پوء اتي استحڪام جي اصول جي خلاف ورزي ڪئي ويندي.

cascading rollbacks جي حل مان هڪ. هڪ ٽرانزيڪشن آخر ۾ سڀني لکڻ جي عملن کي مڪمل ڪري ٿو، ۽ ٻين ٽرانزيڪشن کي ان آپريشن جي مڪمل ٿيڻ جو انتظار ڪرڻ گهرجي. ٽرانزيڪشن پڙهڻ کان اڳ انجام ٿيڻ جو انتظار ڪريو.

ٿامس لکڻ جو قاعدو - ٽائم اسٽيمپ جي طريقي جي هڪ تبديلي جنهن ۾ هڪ ننڍي ٽرانزيڪشن طرفان اپڊيٽ ڪيل ڊيٽا وڏي عمر جي طرفان اوور رائٽ ٿيڻ کان منع ٿيل آهي

ٽرانزيڪشن T ڊيٽا تبديلين جي درخواست Q. جيڪڏهن ٽي ايس (ٽي) < W-TS(Q)، اهو آهي، ٽرانزيڪشن هڪ نئين قيمت کي مٿي ڪرڻ جي ڪوشش ڪري ٿو، ٽرانزيڪشن T کي واپس نه ڪيو ويو آهي جيئن ٽائم اسٽيمپ طريقي ۾.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو