در این بخش در مورد كنترل هم روندی Conflict Serializability در پایگاه داده با متلب صحبت خواهیم کرد و یک برنامه ای که یک طرح اجرا زمانبندی (schedule) را بگیرد و گراف آن را رسم کند و تشخیص دهد دور (cycle) وجود دارد یا نه؟ همراه با فیلم آموزش و سورس کد آن ارائه می شود. پس لازم هست مطالب در رابطه با كنترل هم روندی یا Conflict Serializability در پایگاه داده تشریح شود.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
كنترل هم روندی Conflict Serializability
همواره با تراكنش های هم روند یعنی تعدادی تراكنش كه با یكدیگر كار می كنند سر و كار داریم. اگر بخواهیم تراكنش ها را یكی پس از دیگری اجرا كنیم، در این صورت هم گذردهی سیستم پایین می آید و هم میانگین زمان پاسخ دهی افزایش پیدا می كند. در حین اجرای یك تراكنش طولانی مدت شاید بتوان صدها تراكنش كوتاه را اجرا كرد و نباید آنها را منتظر گذاشت. بنابراین همروندی تراكنش ها، كارایی سیستم را بالا می برد.
اجرای موازی دستورات كه با پردازنده درگیر هستند، با دستورات ورودی خروجی می تواند تعداد تراكنش های اجراء شده در واحد زمان را افزایش دهد. كاهش میانگین زمان پاسخ دهی: دیگر تراكنش های با زمان اجراء كوتاه منتظر به اتمام رسیدن تراكنش های بلند مدت نمی مانند.
تشخیص پی در پی پذیری در برخورد Conflict Serializability
راه حل گراف پی درپی پذیری برای تشخیص پی درپی پذیری ارائه شده است. این گراف مرتباً با تغییر مجموعه دستورات تراكنش ها در زمانبندی بهنگام می شود. گراف ها به طور مرتب تغییر می كنند؛ یعنی به محض اینكه یك دستور خواندن و یا نوشتن وارد سیستم می شود، ممكن است یك یال را به گراف اضافه كند و زمانی كه تراكنشی ساقط و یا تثبیت شده و از سیستم خارج می شود، یال هایی و نیز گره ای از گراف حذف خواهد شد.
نگهداری این گراف بسیار ساده است. در صورتیكه در گراف حلقه (cycle) مشاهده شود، تراكنش یا تراكنش ها ساقط می گردند. در غیر اینصورت به كار خود ادامه می دهند.
قسمتی از سورس کد
clc; clear; close all; %schedule =input('Enter The Schedule (Example: R1X,W1Y,...) :','s'); %schedule='R1A,R2A,R1B,R2B,R3B,W1A,W2B'; schedule='R2X,W3X,W1X,W2Y,R2Z,R4X,R4Y'; %schedule='R4A,R2A,R3A,W1B,W2A,R3B,W2B'; %schedule='R1A,R1B,R2A,R2C,W1B,R3B,R3C,W3B,W2A,W2C'; %schedule='R1A,R2B,W2A,W1A,W3A'; %schedule ='R1X,R2Z,R1Z,R3Y,R3Y,W1X,W3Y,W2Y,W2Z,W2Y'; str=strsplit(schedule,','); num = regexp(str, '\d+', 'match'); for i=1:size(num,2) n(i)=str2double(cell2mat(num{i})); end T=unique(n); for i=1:size(T,2) ids{i}=strcat('T',num2str(T(i))); end
تصاویر خروجی
ویدئوی معرفی
درباره محصول
سورس کد كنترل هم روندی Conflict Serializability در پایگاه داده با متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
مباحث مرتبط با پایگاه داده
تاریخ انتشار: | 18 بهمن 1398 |
---|---|
تاریخ بروزرسانی: | 17 تیر 1399 |
حجم فایل: | 33 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 251 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 89,000 تومان
تاریخ انتشار: | 18 بهمن 1398 |
---|---|
تاریخ بروزرسانی: | 17 تیر 1399 |
حجم فایل: | 33 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
قیمت: 89,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.