انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر






چكيده : در اين گزارش ما به بررسي ويژگي هاي الگوريتمهاي كنترل همروندي توزيعي كه بر پايه مكانيزم قفل دو مرحله اي(2 Phase Locking)   ايجاد شده اند خواهيم پرداخت. محور اصلي اين بررسي بر مبناي تجزيه مساله كنترل همروندي به دو حالت read-wirte و write-write مي‌باشد. در اين مقال، تعدادي از تكنيكهاي همزمان سازي براي حل هر يك از قسمتهاي مساله بيان شده و سپس اين تكنيكها براي حل كلي مساله با يكديگر تركيب مي‌شوند.
در اين گزارش بر روي درستي و ساختار الگوريتمها متمركز خواهيم شد. در اين راستا براي ساختار پايگاه داده توزيعي يك سطحي از انتزاع را در نظر مي‌گيريم تا مساله تا حد ممكن ساده سازي شود.

1. مقدمه :  كنترل همروندي فرآيندي است كه طي آن بين دسترسي هاي همزمان به يك پايگاه داده در يك سيستم مديريت پايگاه داده چند كاربره هماهنگي بوجود مي‌آيد. كنترل همروندي به كاربران اجازه مي‌دهد تا در يك حالت چند برنامگي با سيستم تعامل داشته باشند در حاليكه رفتار سيستم از ديدگاه كاربر به نحو خواهد بود كه كاربر تصور مي‌كند در يك محيط تك برنامه در حال فعاليت است. سخت ترين حالت در اين سيستم مقابله با بروز آوري هاي آزار دهنده اي است كه يك كاربر هنگام استخراج داده توسط كاربر ديگر انجام مي‌دهد. به دو دليل ذيل كنترل همروندي در پايگاه داده هاي توزيعي از اهميت بالايي برخوردار است:
1.    كاربراان ممكن است به داده هايي كه در كامپيوترهاي مختلف در سيستم قرار دارند دسترسي پيدا كنند.
2.    يك مكانيزم كنترل همروندي در يك كامپيوتر از وضعيت دسترسي در ساير كامپيوترها اطلاعي ندارد.
مساله كنترل همروندي در چندين سال قبل كاملا مورد بررسي قرار گفته است و در خصوص پايگاه‌داده‌هاي متمركز كاملا شناخته شده است. در خصوص اين مسال در پايگاه داده  توزيعي با توجه به اينكه مساله در حوزه مساله توزيعي قرار مي‌گيرد بصورت مداوم راهكارهاي بهبود مختلف عرضه مي‌شود. يك تئوري رياضي وسيع براي تحليل اين مساله ارائه شده و يك راهكار قفل دو مرحله اي به عنوان راه حل استاندارد در اين خصوص ارائه شده است. بيش از 20 الگوريتم كنترل همروندي توزيعي ارائه شده است كه بسياري از آنها پياده سازي شده و در حال استفاده مي‌باشند.اين الگوريتمها معمولا پيچيده هستند و اثبات درستي آنها بسيار سخت مي‌باشد. يكي از دلايل اينكه اين پيچيدگي وجود دارد اين است كه آنها در اصطلاحات مختلف بيان مي‌شوند و بيان هاي مختلفي براي آنها وجود دارد. يكي از دلايل اينكه اين پيچدگي وجود دارد اين است كه مساله از زير قسمتهاي مختلف تشكيل شده است و براي هر يك از اين زير قسمتها يك زير الگوريتم ارائه مي‌شود. بهترين راه براي فائق آمدن بر اين پيچدگي اين است كه زير مساله ها و الگوريتمهاي ارائه شده براي هر يك را در ي.ك سطح از انتزاع نگاه داريم.
با بررسي الگوريتمهاي مختلف مي‌توان به اين حقيقت رسيد كه اين الگوريتمها همگي تركيبي از زير الگوريتمهاي محدودي هستند. در حقيقت اين زير الگوريتمها نسخه‌هاي متفاوتي از دو تكنيك اصلي در كنترل همروندي توزيعي به نامهاي قفل دو مرحله اي و ترتيب برچسب زماني مي‌باشند.
همانطور كه گفته شد، هدف كنترل همروندي مقابله با تزاحمهايي است كه در اثر استفاده چند كاربر از يك سري داده واحد براي كاربران بوجود مي‌آيد است. حال ما با ارائه دو مثال در خصوص اين مسائل بحث خواهيم نمود. اين دو مثال از محك معروف TPC_A مقتبس شده اند. در اين مثالها، يك سيستم اطلاعات را از پايگاه داده ها استخراج كرده و محاسبات لازم را انجام داده و در نهايت اطلاعات را در پايگاه داده ذخيره مي‌نمايد.
حالت اول را مي‌توان بروزآوري از دست رفته ناميد. حالتي را تصور كنيد كه دو مشتري از دو سيستم مجزا بخواهند از يك حساب مالي برداشت نمايند. در اين حالت فرض كنيد در غياب سيستم كنترل همروندي، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جديد در سيستم ميكنند. در اين حالت در غياب سيستم كنترل همروندي تنها آخرين درج در سيستم ثبت مي‌شود. اين حالت در شكل 1 نشان داده شده‌ است.
 
شكل 1 نمايش حالت بروز آوري از دست رفته

حالت دوم حالتي است كه در آن اطلاعات صحيح از پايگاه داده استخراج نمي‌شود. در اين حالت فرض كنيد دو مشتري بخواهند كارهاي ذيل را انجام دهند.
•    مشتري 1: بخواهد يك چك 1 ميليوني را به حساب X واريز و از حساب Y برداشت نمايد.
•    مشتري 2: بخواهد بيلان حساب مالي X و Y شامل كل موجودي را نمايش دهد.
در غياب كنترل همروندي همانطور كه در شكل 2 نشان داده شده‌است، تزاحم بين پروسس ها بوجود خواهد آمد. فرض كنيد در زماني كه مشتري 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دريافت نموده و 1 ميليون از حساب Y برداشت نموده ولي هنوز 1 ميليون به حساب X و اريز نكرده مشتري 2 اطلاعات كل دو حساب را دريافت نموده و نتيجه را چاپ نمايد. در اين حالت مشتري شماره 2 اطلاعاتي را كه به عنوان بيلان نمايش مي‌دهد 1 ميليون از مقدار واقعي كمتر است. اين حالت يك فرق اساسي با حالت اول دارد و آن اين است كه در اين حالت نتيجه نهايي در پايگاه داده درست خواهد بود در حاليكه اطلاعات دريافت شده بصورت موقت غلط خواهند بود.
 
شكل 2 خواندن اطلاعات نادرست از سيستم

مساله كنترل همروندي در پايگاه داده هاي توزيعي تا حدودي شبيه مساله دوبه‌دو ناسزگاري در سيستم عامل مي‌باشد.  در مساله دوبه‌دو ناسازگاري، هماهنگي جهت دسترسي به منابع سيستم ائم از حافظه، ابزارهاي ورودي و خروجي و CPU و .... بوجود مي‌آيد. در اين حالت راه حلهاي گوناگوني ائم از قفلها، سمافورها، مونيتورها و ... پيشنهاد شده است.
كنرتل همروندي و دوبه‌دو ناسگاري از اين جهت كه هر دو دسترسي به منابع مشترك را كنترل ميكنند با هم شباهت دارند.  با اين حال راه حلي كه براي يكي بكار مي‌رود قابل بهره برداري براي ديگري نيست. فرض كنيد پردازه هاي P1 و P2 بخواهند از نقاط مختلف كدهاي خود به منابع R1 و R2 دسترسي پيدا كنند. در سيستم عامل دسترسي مجزاي ذيل قابل قبول است. P2 از R1 استفاده كند، P2 از R1 استفاده كند، P2  از R2 استفاده نموده و سپس P1 از R2 استفاده نمايد. در پايگاه داده اين روند اجرا مورد قبول نيست و مشكلاتي را ايجاد مي‌كند. فرض كنيد P1 بخواهد از R1 مبلغي را به R2 انتقال دهد. در اين حالت اگر P2 مقادير R1 وR2  را چك كند مقادير غير صحيح را دريافت مي‌كند.







انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 دانلود مقاله | انجام پایان نامه

سفارش پایان نامه