دانلودپروژه پایگاه داده پیشرفته -قفل گذاری باینری یا دو حالتی (Binary Locking) به همراه داکیومنت (زبان برنامه نویسی سی شارپ)
پروتکل های مبتنی بر قفل کاربردی ترین روش کنترل همروندی میباشند. در این روش که بر اساس تخصیص داده ها به تراکنشها است، هرگاه تراکنشی بخواهد برای خواندن یا نوشتن به داده ای دسترسی داشته باشد، ابتدا درخواست قفل مناسب با آن دستور را به واحدی به نام مدیر قفل (Lock Manager) میدهد.
مدیر قفل هر درخواست رسیده برای یک داده را با قفلهایی که احیانا توسط تراکنشهای دیگر روی آن داده زده شده است مقایسه میکند. اگر این درخواست سازگار و مجاز باشد، درخواست مربوطه اجابت شده و روی داده قفل زده می شود و تراکنش میتواند به آن داده دسترسی داشته باشد. اما چنانچه درخواست قفل به دلیل عدم سازگاری با قفلهای از پیش زده شده اجابت نشود، تراکنش به حالت انتظار میرود تا زمانی که قفل های زده شده روی آن داده طوری آزاد شوند که قفل درخواستی مجاز باشد.
در قفل دوحالتی (باینری) ، داده یا قفل است یا باز. اشتراک داده ها وجود ندارد و در خواست تراکنشها فقط در صورت باز بودن قفل داده مربوطه اجابت میشود.
در قفل باینری در صورتیکه یک تراکنش مثل T1 به قفلی بر روی داده ای مثل A نیاز داشته باشد که آن قفل در اختیار تراکنش دیگری مثل T2 باشد و درخواستش اجابت نشود و متقابلا تراکنش T2 به قفلی بر روی داده ای مثل B نیاز داشته باشد که آن قفل در اختیار تراکنش T1 باشد و درخواستش اجابت نشود یک انتظار چرخشی بوجود می آید که به آن بن بست (DEADLOCK) میگویند.
دانلود پروژه پایگاه داده پیشرفته -قفل گذاری باینری یا دو حالتی (Binary Locking) به همراه داکیومنت (زبان برنامه نویسی سی شارپ)