مشخصات این فایل
عنوان: ویژگی های الگوریتم های کنترل همروندی توزیعی
فرمت فایل: word( قابل ویرایش)
تعداد صفحات: 33
این مقاله درمورد ویژگی های الگوریتم های کنترل همروندی توزیعی می باشد.
خلاصه آنچه در مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی می خوانید :
پیاده سازی پایه قفل دو مرحلهای : در پیاده سازی پایه الگوریتم قفل دو مرحلهای یک ماژول نرم افزاری ایجاد میشود که روند دریافت و آزاد سازی قفلها را بر اساس ویژگی های الگوریتم قفل دو مرحلهای کنترل میکند.
یک روش برای پیاده سازی توزیعی این الگوریتم این است که ماژولهای نرم افزاری را بین اجزای پایگاهداده توزیع نمائیم. برای اینکار هر ماژول را در DM یعنی آنجائیکه X داده تحت کنترل است قرار دهیم. اگر یک قفل قابل تخصیص نباشد، درخواست برای قفل در یک صف انتظار قرار داده میشود. قفلهای نوشتن بطور خودکار با انجام عمل WRITE آزاد میشوند. در اینصورت برای آزاد نمودن قفلهای خواندنی بایستی عملیات اضافه تعریف نمود. آزاد نمودن قفلها با نوشتن اطلاعات و آغاز فاز تخلیه آغاز میشود. هرگاه یک قفل آزاد میشود عملیاتهای موجود در صف شروع به ادامه میکنند.
توجه داشته باشید که این پیاده سازی افزونگی داده را به درستی پوشش داده و مشکل افزونگی داده و صحت و مانایی اطلاعات را حل میکند. اگر این روش برای همزمان سازی های RW بکار رود، تراکنش میتواند هر کپی داده ای را که در دسترس بود بخواند و هر قفل خواندنی که مهیا بود را بدست آورد. در هر صورت اگر بخواهد داده را بروزآوری کند، یعنی مقدار جدیدی به داده ای نسبت دهد باید بر روی تمام افزونههای دادهای مورد نظر، مقدار جدید را ثبت کند و داده را بروز کند که مستلزم بدست آوردن قفل نوشتن بر روی تمامی نسخه های داده ای است.
6-قفل دو مرحلهای با نسخه اولیه : قفل دو مرحلهای با نسخه اولیه یک تکنیک از نوع قفله دو مرحلهای است که که به افزونگی داده توجه خاصی دارد. یک کپی از هر داده منطقی به عنوان یک کپی یا نسخه اولیه از داده مزبور مطرح میشود. قبل از دسترسی به هر گونه کپی از داده های منطقی، قفل صحیح باید از کپی اولیه اخذ شود.
برای قفلهای خواندنی این روش تعامل و ارتباطات بیشتری را نیاز دارد.فرض کنید که T یک تراکنش باشد که بخواهد داده X را بخواند. در اینصورت اگر X1 کپی اولیه از X باشد و XI برای خواندن توسط تراکنش در دسترس باشد، تراکنش بایستی با X1 که کپی اولیه داده است تعامل داشته و قفل خود را بدست آورد و پس از آن نیز با تعامل با XI داده مورد نظر خود را از XI بخواند. برای قفلهای نوشتنی بر عکس پیاده سازی پایه قفل دو مرحله ای تراکنش احتیاجی به تعامل بیشتر با سایر DM ها ندارد. در پیاده سازی پایه قفل دو مرحله ای، اگر یک تراکنش میخواست داده X را بروز کند، لازم بود تا بر تمامی نسخه های X قفل نوشتنی بزند و سپس عمل نوشتن را بر روی تمامی نسخه های X انجام دهد اما در اینجا فقط لازم است که تراکنش قفل نوشتن را بر روی کپی اولیه قرار دهد و در صورت بدست آوردن قفل، باید عملیات نوشتن را مانند روش قبل بر روی تمامی نسخه های X انجام دهد.
6-قفل دو مرحلهای با رای گیری : قفل دو مرحله ای با رای گیری پیادهسازی دیگری از روشهای قفل دو مرحله ای است که در آن افزونگی داده بیشتر مد نظر قرار گرفته است. این روش شکل تغییر یافته الگوریتم توافق اکثریت توماس است و تنها برای همزمان سازیهای WW مناسب است.
برای فهم بهتر این روش بهتر است آنرا در داخل روش TWO PHASE COMMIT توصیف کنیم. فرض کنید یک تراکنش بخواهد بر روی داده X مقدار جدیدی را بنویسد، در اینصورت درخواست قفل به تمامی نسخه های داده X ارسال شود. در صورتیکه قفل قابل تخصیص باشد، DM دریافت کننده قفل بایستی یک پیام تخصیص قفل صادر نماید. در صورتیکه قفل قابل تخصیص نباشد نیز یک پیام بلوکه شدن در خواست قفل ارسال میگردد. در صورتیکه پیامها از DM های مختلف برگشت داده شد، حال TM ارسال کننده درخواست قفل اقدام به تصمیمگیری مینماید. در صورتیکه تعداد قفلهای اخذ شده دارای اکثریت باشند، آنگاه TM دقیقا مانند حالتی عمل میکند که قفلهای لازم را بر روی نسخه داده ای مزبور بدست آورده است. در این حالت TM باقی عملیات یعنی نوشتن بر روی داده مزبور را انجام میدهد. در صورتیکه قفلهای لازم بر روی داده مورد نظر به تعداد اکثریت نباشد، TM منتظر دریافت پاسخ تخصیص قفل از DM هایی که پاسخ بلوکه شدن قفل را ارسال نمودند، میشود. در این حالت با دریافت پاسخ جدید از DM هایی که قبلا درخواست را بلوکه کردند، TM تعداد قفلهای لازم را بررسی میکند. در صورت اخذ اکثریت آرا، اجرای خود را ادامه میدهد. از آنجائیکه فقط یک تراکنش میتواند در هر لحظه اکثریت قفلهای نوشتن را بدست آورد در نتیجه فقط در هر لحظه فقط بک تراکنش میتواند بر روی اطلاعات تغییرات اعمال نماید. در هر لحظه فقط یک تراکنش میتواند در فاز نوشتن خود قرار داشته باشد. در نتیجه تمامی نسخه های X دارای یک ترتیب مشخص و مشترک از مقادیر میباشند. نقطه قفل یک تراگنش جایی است که یک تراکنش توانسته است اکثریت قفلهای لازم را برای نوشتن برای هر آیتم دادهای در مجموعه نوشتاری خود بدست آورد. برای بروز آوری های با حجم بالا ، تراکنش بایستی اکثریت قفلهای نوشتن را بر روی تمامی آیتمهای داده ای نوشتنی خود قبل از ارسال دستورات نوشتن بدست آورد.
در حقیقت، قفل دو مرحله ای با رای گیری میتواند برای همزمان سازی عملیات های RW سازگار شود. برای اینکار برای خواندن یک نسخه دادهای بایستی قفل خواندن از تمامی نسخه های داده ای درخواست شود. در صورتیکه اکثریت قفل خواندن از DM ها بدست آید میتواند اطلاعات مورد نظر را بخواند. این روش روش بسیار خوب و قدرتمندی است ولی در این روش برای خواندن یک آیتم داده ای بایستی از تمامی سایتهایی که دارای یک نسخه از آیتم دادهای مذکور هستند قفل خواندن اخذ شود که عملا سیستم را بسیار کند میکند.
7- قفل دو مرحلهای متمرکز : بجاری توزیع نمودن زمانبندها بر روی سایتهای مختلف، همه زمانبندها را بر روی یک سایت متمرکز خواهیم نمود. در این خالت اگر یک تراکنش بخواهد به یک داده X دسترسی پیدا کند باید از سایت مذکور درخواست قفل مناسب بر روی داده مذکور نماید. در این وضعیت داده ممکن است بر روی یک سایت غیر از سایت زمانبند مرکزی قرار داشته باشد.
فرض کنید تراکنشT بخواهد داده X را بخواند در اینصورت بایستی T یک قفل خواندن را از سایت مرکزی درخواست نماید. در این حالت اگر قفل تخصیص داده شود تراکنش میتواند اطلاعات را از یکی از سایتهایی که دارای Xهستند درخواست نماید. در غیر اینصورت باید منتظر دریافت مجوز تخصیص ثقفل خواندن از سوی سایت زمانبند مرکزی باشد. در حالتی که داده X بر روی سایت مرکزی زمانبند نیز باشد، درخواست قفل و داده بطور مشترک به سایت مرکزی ارسال میشود، در صورتیکه قفل قابل تخصیص باشد، عملیات خواندن به همراه تخصیص قفل انجام میشود. برای عملیات بروز آوری و نوشتن نیز فرآیند تخصیص قفل به همین نحو است با این تفاوت که بعد از تخصیص قفل و اعلام به درخواست کننده از سوی سایت مرکزی زمانبندی، سایت درخواست کننده موظف است تمامی کپی های نسخه های اطلاعاتی را بروز نماید. این روش نیز مانند قفل دو مرحلهای کپی اولیه مستلزم نقل و انتقال مضاعف پیام میباشد.
8-تشخیص و ترمیم بن بست : در این خصوص روشهای مختلفی ارائه شده است. مهمترین روش ارائه شده روش ترسیم گراف تخصیص منابع مییاشد. در خصوص بروز آوری این گراف در حالت توزیع شده مراتب مختلفی مطرح میشود که در این مقال نمیگنجد. در خصوص روش قفل دو مرحلهای متمرکز نیازی به نگهداری توزیع شده این گراف و تکنیکهای بروزآوری آن نمیباشد و لی در سایر انواع روشهای قفل دو مرحلهای به نگهداری این گراف و مدیریت نگهداری آن و تصمیم گیری بر اساس آن نیاز مبرم وجود دارد.
4-نتیجه گیری :.در این گزارش با توجه به توسعه سیستمهای پایگاه توزیعی، بحث کنترل همروندی و صحت و مانایی اطلاعات در حضور همروندی مطرح میشود. در بین سه روش پایه ای موجود برای کنترل همروندی، یعنی روشهای قفل دو مرحلهای، برچسب زمانی متوالی و روش خوش بینانه، روش قفل دو مرحله ای مورد تجزیه و تحلیل قرار گرفت. در این خصوص یک مقدمه برای تشریح مساله کنترل همروندی بیان شد.
در این گزارش مزایای روش قفل دو مرحلهای بیان شده و علل صحت این روش تشریح شده است. نهایتا میتوان گفت از آنجائیکه این روش از نظر صحت عملکرد کاملا اثبات شده است، میتواند در پایگاه دادههای توزیعی مورد استفاده قرار گیرد.
بخشی از فهرست مطالب مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی
چکیده
مقدمه
مدل پردازش تراکنش:
تحلیل مساله کنترل همروندی
مکانیزمهای کنترل همروندی بر پایه قفل دو مرحلهای
-پیاده سازی پایه قفل دو مرحلهای
قفل دو مرحلهای با نسخه اولیه :
قفل دو مرحلهای با رای گیری
قفل دو مرحلهای متمرکز
تشخیص و ترمیم بن بست
-نتیجه گیری
منابع و مآخذ
دانلود مقاله ویژگی های الگوریتم های کنترل همروندی توزیعی