تارا فایل

پروژه کنترل همزمانی در پایگاه داده توزیع شده


بنام خدا

موضوع: Concurrency Control in Distributed Database System

فهرست
عنوان شماره صفحه
چکیده 3
فصل اول کلیات 5
مقدمه 6
طرح موضوع 11
فصل دوم روشها 12
روش قفل شدن ساده 13
روش DTX 15
معماری DTX 17
مشخصات DTX 18
الگوریتمها 21
سناریو 25
پروتکل اکثریت 29
پروتکل نسخه اصلی 30
پروتکل دوطرفه 30
فصل سوم طراحی 31
طراحی سیستم پایگاه داده های توزیعی 32
قطعه قطعه کردن (Data Fragmentation) 32
قطعه قطعه کردن افقی 32
قطعه بندی پیوندی 33
ویژگی های تراکنش ها 35
نتیجه گیری 51
مراجع 52

چکیده:
کنترل همروندی یکی ازمسائل مهم درپایگاه های داده توزیع شده به حساب می آید.از این روی نگاهی به پوشش کنترل همروندی در شبکه های توزیعی ، موقعیت کنترل همروندی خوشبینانه، بررسی XML برای مبادله داده که یک روش استاندارد در تعدادی فیلد از برنامه کاربردی و الگوریتم های کنترل همروندی برای اطمینان ازصحت اجرای موازی چندین تراکنش که بر روی یک داده مشترک کار میکند. ، اخیراً شبکه های توزیعی برای پیشرفت در سیستم های مدیریتی پایگاه های داده های توزیعی اهمیت بیشتری پیدا کرده و خیلی مهم شده اند . چالش مهم شناختی مواردی مثل 1- حفظ قابلیت و ظرفیت اتمیک ، استحکام ، جداسازی و دوام است هنگام خواندن و اجرای تراکنش همروندی نوشتن عملکرد 2- توسعه روش ترمیم زمانیکه دیتاهای توزیعی دچار مشکل و خرابی می شوند . هر روشی که انتخاب شده باید امکان حل آن ها و رابطه آن ها در اجرا در نظر گرفته شود وراه حل یک موقعیت وشرط عالی دردایره کنترل همروندی است.این باکنترل همروندی غیرمتعارف وهمزمانی اطمینان ازاعتبارداده قبل از(خواندن-نوشتن)تراکنش ها وبعدازدرست انجام شدن سروکاردارد.این میتواند در پایگاه داده توزیع شده استفاده شودتابدست آوردن لگاریتم داده وگرد کردن مراحل تا بر غیر متعارف بودن پایگاه داده وهمروندی غلبه شود.
روش مبتنی بر time-stamping برای تایید و علامت گذاری عدد صحیح که در هر زمان بروزرسانی موفقیت آمیز را ثبت و انجام گردد افزایش می یابد.
اطلاعات در time-stampingازتراکنش هاوبروزرسانی موفقیت آمیز داده درحافظه اصلی راشامل میشود،پیداکردن وسیله کار نیاز به انطباق و روش کنترل همروندی کامل درسیستم پایگاه داده توزیعی را دارد.درحالیکه روش کنترل همروندی خوشبینانه جدید دراین گزارش توضیح داده میشود هرکجا که انتظار تولید صحیح و یا نتیحه قابل اطمینان باشد XML برای مبادله داده یک روش استاندارد در تعدادی فیلد استفاده شده است. بدین گونه مقدار زیادی داده در این قالب در حوزه وب گسترده شده و در مسیرهای مختلفی ذخیره شده است به منظور دسترسی به این داده تکنیک کنترل همروندی پذیرفته شده که اغلب این تکنیک ها برای توسعه تکنیک ها در محیط متمرکز و برای دسترسی به محیط توزیع شده که وارد account مخصوصا داده XML شود این مقاله DTX1مکانیزمی برای کنترل همروندی توزیع شده در داده XML بر پایه تکنیک های مخصوص برای این نمونه داده ارائه میدهد برای ارزیابی DTXتجربه ها به منظور اندازه گیری اجرا و براین سو هدایت میشود.
همچنین الگوریتم کنترل همروندی جدیدی ارائه می شود که مبتنی برهمکاری میان گره های توزیع شده ازنظرجغرافیایی است.این الگوریتم ازویژگی های روش پروتکل اکثریت استفاده میکند اما دارای خصوصیات وویژگی های منحصربه فرد ازجمله کاهش مصرف انرژی،افزایش سرعت اجرای الگوریتم،توازن باروکاهش حجم مبادلات پیام میان گره هامیباشد.

فصل اول
کلیات

مقدمه:
وابستگی جهانی دنیای امروز به سیستم های اطلاعاتی با رشد روز افزون نیاز به ایمنی قابل اطمینان بودن اطلاعات در محیط های کاری امروزی است . احساس نیاز به پایگاه های داده ای توزیعی و عملکرد client/server نیز همچنین در حال افزایش است . یک پایگاه داده توزیعی یک پایگاه داده منطقی تنها است که بصورت فیزیکی در سراسر گیتی به شکل مکان های گوناگون پخش شده که با اتصالات و حلقه های ارتباطی داده بهم وصل می شوند .پایگاه داده های توزیعی نمونه ای از پایگاه داده های مجازی است از اجزای ترکیبی که به شکل فیزیکی و قابل تشخیص در پایگاه داده ای واقعی و همچنین محل های واقعی داده ها ذخیره شده اند ، استفاده می کنند . در هر محل می تواند به داده ها و هر جایی به شبکه دسترسی داشته باشد . اگر داده هایی در پایگاه شخصی استفاده کننده ذخیره شده باشند . سیستم مدیریت پایگاه داده های توزیعی ، نرم افزاری است که توزیع داده ها را مدیریت کرده و مکانیزم دسترسی شفاف به استفاده کننده را مهیا می سازد . هدف سیستم مدیریت پایگاه داده های توزیعی 2DBMS کنترل مدیرت توزیع پایگاه داده ها DDB3 به طریقی که داده ها تمرکز پیدا کرده و برای استفاده کننده قابل استفاده باشد این تصویر از محیط متمرکز می تواند باعث انجام نمونه های مختلف پشتیبانی در شفافیت مانند شفافیت محل ، شفافیت اجرا ، شفافیت نسخه ، شفافیت تراکنش ، شفافیت قطعات ، شفافیت تغییر طرح و شفافیت محلی DBMS است .پایگاه های داده ای کنترل همروندی موضوعی مهم در سیستمهای پایگاه داه ای است کنترل همروندی مرحله ای از همروندی است که دسترسی و هماهنگی پایگاه های داده ای را به صورت چند کاربری سیستم مهیا می سازد. تعداد زیادی روش وجود دارد که باعث توسعه کنترل همروندی می شود :
Two phase locking, Time stamping, Multi-version timestamp
[1].
مشکل کنترل همروندی فعالیت دسترسی هماهنگی همروندی برای پایگاه داده درسیستم های مدیریتی چندکاربری استdbms.قدرت وتوانایی کنترل همروندی کاربرها برای دسترسی به پایگاه داده هادرروش برنامه های چندگانه کاربردی را دارد درحالیکه ازگریز و درست عمل نکردن هرکار که برروی سیستم مسدودی بوجود می آورد نگهداری ومحافظت می کند.مهمترین مشکل تکنیکی برای دسترسی به این هدف یعنی برای جلوگیری از اجرای بروزرسانی پایگاه داده باید کاربر از دخالت کردن در بازیابی پایگاه داده و استفاده دیگرکاربرها جلوگیری کند.
مشکل اصلی درکنترل همروندی در dbms در بدترین حالات عبارتند از 1. کاربر ممکن است با دسترسی به داده های ذخیره شده درکامپیوترهای مختلف درسیستم توزیعی دست یابد 2.مکانیزم کنترل همروندی در یک کامپیوتر نمیتواند سریعا تصدیق گردد.بعنوان کنترل همروندی و یا پایگاه داده توزیع شده یکی ازپیچیده ترین و چالشی ترین ناحیه درسیستم پایگاه داده میباشد. این همچنین ازبزرگترین مفاهیم که در نرم افزار است .اگر لازم باشد بلادرنگ برای اطمینان وعملکردهای انتقادی وکنترل همروندی درپایگاه داده توزیعی به ای منظور سیستم های real timeبرکنترلهای فعلی حکم فرمایی میکندجایی که تعدادزیادی عملکرد درگیر وظیفهreal time باشدکه اغلب مانع بزرگی درشرایط موجود( هزینه وزمان کم) است.
درمطالعات اخیرتحقیقات فراوانی درباره روش های کنترل همروندی کارشده است مکانیزم هایی که نیاز به ایجاد real time درپایگاه داده توزیع شده مورد اطمینان هستند و استحکام و ثبات آنها همچنین از چند خصیصه زنجیره ای عملکرد real time مورد اطمینان درپایگاه داده استفاده شده که نتایج این گزارش عبارتند از 1.توصیفی ازدیتا metadata2.نگهداری ازصحت ودرستی داده 3 .دسترسی موثربه داده 4.اجرای درست تراکنش ،علیرغم انجام همروندی و یا عدم موفقیت.
به طور سنتی پایگاه داده ها با پایایی بودن و استحکام سروکار دارد.تراکنش های اصلی که به دیتا دسترسی دارند در حالی که استحکام را در خود حفظ کرده اند هدف تراکنش و روند تحقیق و روشهای انتخابی در پایگاه داده ها جهت بدست آوردن توان عملیاتی(حاصل کار)خوب و یا زمان پاسخ مناسب به منظورضمانت اجرایی بهتر است. در مقابل سیستم پایگاه دادهreal time همچنین میتواند با داده موقت توزیع شود.(داده بعداززمان مناسب دچار اسیب میشود)تفاوت مهم این است که هدف سیستم پایگاه دادهreal time برای روبرویی محدودیت زمان در تراکنش است. این اشتباه است که بگوییم از اینجا real time ضروری نیست این موضوع به این معنی است که نیاز به مدیریت زمان طبقه بندی راتحمیل کرده وحالت راپیش بینی نماید.روشtime constraints برای ضرب الاجل و یا فشارتناوبی در وظیفه ی تراکنش هم پیوند میشوند.
نیازبرای پیشرفت روش کنترل همروندی درreal time درسیستم پایگاه توزیع شده ضروری به نظر می آید بنابر این مشی کنترل همروندی خوشبینانه جدید ارائه میشود،که این برپایه کار دوباره بر روی workload است. هر تراکنش پایگاه داده قانون ACID را تصدیق و تایید میکند. بسته به نوع تراکنش،سطح هم سنی ودیگر فاکتورهای مکانیزم کنترل همروندی انجام میشود.
اگر بیشتر از تراکنش برای بروزرسانی در داده مشابه در زمان مشابه استفاده گردد و سپس قفل داده به عمل بروزرسانی دارای اشتراک وتراکنش هابرای دسترسی به داده مشابه استفاده شود اما اجازه می دهدکه عمل خواندن برای دسترسی به قفل داده عملی شود.کنترل همروندی خوش بینانه بررسی روزانه خود تراکنش با قانون های ACIDانجام شود و وضعیت برای جلوگیری از تخطی و بحران آماده گردد.
این گزارش به دلایل زیربرنامه ریزی شده است الف : توصیف کلی از مطالعه کنترل همروندی را در طول سالها ارائه می دهد.ب: ارائه کنترل در پایگاه دادهreal time میپردازد.پ : مکانیزم کنترل همروندی خوشبینانه جدید برای کاهش مخارج وتوسعه بازدهی. ت: بیرون کشیدن نتیجه ازاین مطالعه ادبیات(نوشتجات) میپردازد[2].
XML به صورت گسترده در مورد استفاده در تراکنش داده به نمایش درآمده و عملکردها را مبادله میکند در نتیجه درجه ی بالایی از داده پخش شده و در وب توزیع شده را در مدل های ماندگار ذخیره میکند با اینحال کاربردها نیاز به دسترسی دارند و با داده توزیع شده سر و کار دارند ازاینرو مورد نیاز است که کارامدی مستقیم برای مدیریت مدارک XML در محیط توزیع شده داشته باشیم. به منظور مدیریت کردن داده DBMS قدیمی در پروتکل کنترل همروندی توزیع شده استفاده میشود به هر حال ساختار داده XML به سختی درخواست این پروتکل ها برمی آید و بر روی سطح های همروندی در دو مورد تمرکز و محیط توزیع شده تاثیر میگذارد محیط های متمرکز شده پیشنهاد های زیادی برای کنترل همروندی داده XML دارند بعضی پروتکل ها بر پایه قفل ها در این زیرشاخه ها هستند و بعلاوه در حالت پایین و بالا اتفاق می افتد این منحنی ها از نقطه شروع پرسش در تمام راه ها ، به طرف پایین قفل میشوند و در انتها مدارک در اجرای سوالات همروندی مختل میشوند پروتکل ها بر4)DOMمدل موضوعی مدارک) استوار بوده و در نمونه های مختلف در قفل ها از منحنی های گروهی در سطح های مختلف استفاده می شوند و تعداد زیادی ناسازگاری دارند و در نتیجه تعداد زیادی بن بست بوجود می اید پروتکل ها بر پایه مسیر قفل ها افزایش همروندی استوار است نتیجتا در استفاده از مقدار محدودی زیر مجموعه در مسیر Xزبان و روشی گران قیمت بین سوالات پیچیده را تعیین می کند اگر چه غیر ممکن کردنشان در سیستم مخصوص استفاده میشود بعضی پروتکل ها در ساختارهایی مثل راهنمای داده برای مدیریت کردن دسترسی به داده و نتیجه ی بهتر نمایش داده میشود ملاحظه ی محیط های توزیع شده نشان میدهد هنوز تعداد کمی پیشنهاد وجود دارد مانند این ها سطح پایینی از همروندی پاسخ موثر زبان را ارائه میدهد و هیچ ملاحظه ای درباره ی نمودار اجرا و تغییر و ارزیابی صورت نگرفته است به منظور پیشبرد مدیریت موثر از محیط توزیع شده این گزارش DTX را ارائه میدهد به عنوان مکانیزم کنترل از داده XML در همروندی توزیع شده که ساختاری مشخص از داده در ملاحظه و بهبود جدا سازی حوزه توزیع شده بوده و پیشبرد اجرا به این معنی است که دسترسی همزمان فیزیکی در داده توزیع شده باشد این مقاله بر این اساس که در زیر می اید برنامه ریزی شده است قسمتی توزیع DTXدر بخشی الگوریتم استفاده شده درDTX توزیع داده شده است چندین اجرای DTX در بخشی که آزمایش شده اند نشان داده میشود نهایتا انجام اعمال مربوطه در نتیجه را ارائه میدهد[3].
پایگاه داده توزیع شده یک مجموعه شامل چندین پایگاه داده میباشدکه این پایگاه های داده ازنظرمنطقی با یکدیگربرروی یک شبکه کامپیوتری متصل هم بستگی دارند.مجموعه ای ازداده ها می توانند میان چندین مکان فیزیکی توزیع شوند.به این علت که پایگاه های داده توزیع شده هستند،کاربران مختلف می توانند بدون این که درکاریکدیگر اختلالی ایجادکندبه پایگاه های داده مورد نیاز دسترسی داشته باشند.سیستم مدیریت پایگاه داده(DBMS)باید به طور دوره ای پایگاه های پراکنده را همگام سازد تا مطمئن شود که داه ها در همه آنها سازگار باشند.
پایگاه داده باید ازطریق یک زمانبنددستیابی های همروند رانظارت وکنترل نمایدتاصحت سراسری پایگاه داده تامین شود. دو معیار برای تعریف صحت پایگاه داده ها وجود دارد: الف:جامعیت ب: پی درپی پذیری.جامعیت پایگاه داده به این معناست که داده ها درون پایگاه داده ها صحیح، معتبر و سازگار باشند. پی درپی پذیری این اطمینان را به وجود می آورد که تراکنش های پایگاه داده از یک وضعیت به وضعیت های دیگر منتقل شوند که این انتقال مبتنی بر یک اجرای پی درپی تراکنش ها است.مسائل کنترل همروندی و راه حل های آن در منبع فرموله شده اند و در بسیاری از برنامه های کاربردی دنیای حقیقی مورد استفاده و پیاده سازی قرار گرفته اند. مکانیسم های کنترل همروندی دو وضعیت مختلف در پایگاه دادهای توزیع شده دارند:پایگاه داده توزیع شده تک نسخه (بدون تکرار).کنترل همروندی در نوع دوم بسیار مشکلتر از کنترل همروندی در نوع اول است زیرا در پایگاه داده توزیع شده با تکرار، می بایست سازگاری متقابل اعمال شود(یعنی همه کپی های داده ها باید مقدار یکسانی درهرزمان داشته باشند).در این گزارش الگوریتم کنترل همروندی جدیدی را ارائه شده که مبتنی بر همکاری میان گره ها است در این روش هر یک از گره های موجود در شبکه به عنوان یک عامل مستقل در اجرای بخشی از الگوریتم برای رسیدن به هدف نهایی الگوریتم که همان کنترل همروندی میباشد فعالیت میکند . در الگوریتم ارائه شده از مکانیسم عبور پیام میان گره ها برای برقراری ارتباط میان آنها استفاده شده است. و در نهایت یک روش رای گیری برای تعیین اینکه کدامیک از تراکنش ها میتوانند اجرا شوند به کار گرفته میشود. ادامه مقاله به شیوه زیر سازماندهی شده است مفاهیم به کار گرفته شده در این گزارش شرح داده میشود. الگوریتم موردنظر به همراه یک مثال برای درک بیشتر مورد بحث قرارمیگیرد و مراحل پیاده سازی به همراه نتایج آنها مورد بحث قرار گرفته و نتیجه گیری نیز در فصل آخر آمده است[4].

طرح موضوع
وضعیت های موضوعی مختلفی هست که به استفاده از پایگاه داده های توزیعی تشویق می کنند .
1-قابل اطمینان بودن و هزینه ارتباطی داده : اگر داده در توزیع جغرافیایی و عملکرد آن وابسته به داده ها باشد ، این بسیار اقتصادی است و هزینه هر ارتباط ، برای جزئی بندی عملکردها و انجام آن در هر محل است . از نگاهی دیگر برای داشتن هزینه کمتر محاسبه آن در محل کم اهمیت تر از هزینه داشتن تجهیزات POWER) ( در هر پردازنده مرکزی می باشد .[1]
2-بهبود ترمیم پایگاه داده ها : برگرداندن داده ها در کامپیوترهای جدا از هم یکی از استراژی ها برای اطمینان از پایگاه داده ی درخواستی است که می تواند سریعاً ترمیم و احیا شود و کاربر می تواند به داده ها دسترسی پیدا کرده در حالی که در محل اولیه ذخیره شده اند . برگرداندن داده ها در کامپیوترهای مختلف یک کار طبیعی از پایگاه داده های توزیعی است . [1]
3-اشتراک داده ها : اگر استفاده کننده گان تصمیم به اشتراک داده ها در واحدهای خود بگیرند این کار باید خیلی راحت باشد و یکی شدن داده ها در پایگاه داده محلی را منتج شود . [1]
4-توزیع و خودگرانی در واحدهای مورد استفاده : تقسیم ادارات و تسهیل در سازماندهی مدرن بصورت جغرافیایی در رده های محلی توزیع شده اند . در حالیکه هر واحد که بخواهد حالت خودگرائی بوجود آورد این باید اطلاعات خود را در سیستم داشته باشد و بعلاوه این واحدها که خواهان داده های محلی هستند را به خوبی کنترل کند . ادغام موضوعات و اکتساب آن ها باعث خلق این محیط می شود .[1]
5-توسعه اجرایی – بازیافتن : حصول مجدد داده ها با تراکنش ممکن است منجر به ذخیره تعدادی از داده ها در مکان ها شود . ساختن آن ممکن است باعث اجرای تراکنش ها بصورت موازی شود . [1]
6-افزایش قابل اطمینان بودن و دسترسی:وقتی که سیستم مرکزی با شکست مواجه می شودپایگاه داده ها برای همه کاربران غیر قابل دسترس است برای مقایسه سیستم های تمرکز یافته بهر حال سیستم توزیعی به فعالیت خوددر موردکاهش سطح هاادامه می دهد تا زمانیکه ترکیب ها با شکست مواجه شوند[1]
7-پاسخ سریع : بستگی به شیوه توزیع داده ها ، باید درخواست داده توسط کاربر در یک سایت مشخص بتواند رضایت وی را برای ذخیره در یک سایت دیگر بوجود آورد . این مرحله جستجوی سریع دانش ارتباطات و تاخیر در کامپیوتر مرکزی را به حداقل می رساند . البته این ممکن است که ما جستجوهای پیچیده خود را (تفکیک) به جستجوهای کوچکتر ( که بتواند بصورت موازی در سایت های مختلف پردازش شده و باعث پیدایش جواب با سرعت بالاتر شود [1].
فصل دوم
روشها

روش قفل شدن ساده
تعدادی ازمعروفترین روشهای کنترل همروندی بدبینانه را ارائه میدهیم.اغلب این روش هابردو مرحله قفل گذاری استواراست (2PL) . 2PL اولویت بالا در2PL-HPروش کنترل همروندی. تضادهایی هستند و تلاش برای توسعه اولویت بالا.[2]
اگر اولویت درخواست کننده قفل ها بیشتر از اولویت نگه دارنده قفل باشد، نگاه دارنده قفل از دور خارج میشود ، برگشت میخورد و شروع دوباره دارد امتیاز و اجازه استفاده ازقفل به درخواست کننده میرسدخواستار قفل میتواند به اجرای خودادامه دهد.اگراولویت قفل خواستارپایین ترازآنچه نگهدارنده قفل است باشدتراکنش درخواستی مسدودشده برای نگاه دارنده قفل،تاکارتمام شودوقفل رهاشود.اولویت بالادرکنترل همروندی ممکن است منجربه بلوک شدن مشکل شده ووضعیت وقفه ووارونگی اولویت به وجودمی آید.
معطل شدن ترفیع در 2pl-wp(معطل شدن ترفیع2PL) آنالیز روش کنترل همروندی از آن ایجاد می شود.این مکانیزم قسمت استفاده کننده اختصاصی قفل رامعرفی می کند. قسمت قفل ها اجازه همزمان چندین خواننده رامی دهد.
تعریف جدیدازاولویت موضوع داده ساخته میشودکه حداکثراولویت درنگهداری تراکنش های یک قفل برروی موضوع داده رامعین میکند.اگرموضوع داده قفل نیست اولویت آن تعریف نشده است.
تراکنش ها میتوانند درگروه خواننده از یک موضوع باشند در صورتی که فقط اگر اولویتش بیشتر از حداکثر اولویت همه تراکنش ها درگروه نوشتن یک موضوع باشد،اگر چه تضاد و ناسازگاری ها ازاین ناهم سازی ازحالت قفل به طور معمول به وجود آمده باشد.توجه خاصی به این تضادها که از وارونگی اولویت سوق داده شده است وارونگی اولویت زمانی اتفاق می افتد که تراکنش در حالت نهایت اولویت بوده و بخاطر یک موضوع مسدود شود که معمولا ارزش کمتری داشته است.
این به آن معنی است که همه نگاه دارنده قفل ها اولویت کمتری دارند نسبت به تراکنش های درخواستی این روش مشابه همچنین 2PL-PI نامیده میشود (اولویت قبلی) اولویت نامعلوم بعضی اوقات اولویت بالایی دارد و ممکن است خط مشی سختی داشته باشند. اگرقفل نگه دارنده تراکنش T در زمان مشخص که تراکنش در خواستی بتواندبه انتظاربنشیند دراین مدت T دچارسکون بوده واجازه میدهد که روند ادامه داشته باشد وTبه انتظار تکمیل تراکنش است این مشی را2PL-CR میگویند اولویت پروتکل پوششی تمرکز بر کمتر شدن زمان انسداداست که اغلب در الویت کمتری است وازتشکیل وقفه جلوگیری میکند.
یک پایگاه داده real time ممکن است به مجموعه موضوعات تجزیه شود که میتواند مدلی مثل مجموعه داده اتمی باشد. محدودیت سازگاری میتواند بررسی وتائیدشود.مفهوم مجموعه داده اتمی میتواند مفید باشد مخصوصابرای پیگردی نتایج متعدد. روش قفل شدن ساده برای تراکنش های ابتدائی شامل دو مرحله در روش های قفل شدنی است یک تراکنش نمیتواند هیچ قفلی بر روی مجموعه داده قلم داده اتمی بگذارد مگر انکه تمام قفل ها بر روی قلم داده فراهم شود.اگر یک مرتبه قفل ها رها شود نمیتوان قفل های جدیدی را بر روی مجوعه قلم داده مشابه فراهم کرد به هر حال این میتواند قفل جدیدی برروی روی مجموعه های داده مختلف فراهم کند.تئوری قدر مطلق کنترل همروندی به تراکنش های ابتدایی اجازه میدهد که قفل ها بر روی مجموعه قلم داده نگهداری کند این باعث افزایش در دوره ی قفل شدنی و کاهش ادراک شدنی میشود در این تحقیق تراکنش ها قفل ها را بر روی مجموعه قلمداده نگه داری نمیکند.اولویت پروتکل پوششی باعث کم تر شدن دوره ی مسدودی در یک حالت ابتدایی که وظیفه ای در سطح و اولیت پائین تر دارد شده و از پیدایش توقف جلوگیری میکند.نقشه کار به این صورت است زمانی که تراکنش جدید با اولویت بالا باعث حق تقدم مداوم تراکنش اولویت دار که اغلب اولیتشان از همه تراکنش ها ازحالت تقدم به وجود می اید و در بر داشتن اولویت پروتکلInheritanceرسیدگی و ملاحظه میشود اگر این وضعیت اشتراک نتواند بوجود اید تراکنش جدید معلق شده و بلوکه شدن تراکنشinherits با الویت بالا تراکنش دچارانسداد میشود . اولویت پوششی در موضوع داده ، اولویتی است که تراکنش اولویت دار که ممکن است این موضوع را قفل کند تراکنش جدید میتواند نگه داری قفل تراکنش را در اولویت قرار دهد اگر فقط اولویت بالاتر از اولیت پوششی در همه این موضوعات تاثیر داد بوسیله ی نگه داری قفل شده بود اگر این وضعیت راضی کننده باشد تراکنش جدید منتظر خواهد شد و نگه داری قفل تراکنش inherits باعث اولویت بالای تراکنش بلوکه شده میشود نگه دارنده ی قفل اجرای خود را ادامه داده و موقعی که قفل ها رها میشود اولویت اصلی از سر گرفته میشود همه ی تراکنش های بلوکه شده آماده هستند و هر یک که اولویت بیشتری داشته باشد شروع به اجرا میکند.
در وضعیت اولویت یک تراکنش خواستار قفل ، باید بیشتر از اولویت پوششی در همه ی موضوعات داده که قابل دسترسی اند باشد و از شکل گیری وقفه بالقوه جلوگیری کند حقیقت اینکه تراکنش خواستار قفل فقط در اغلب یکی از زمانهای اجراها بلوک می شود. اولویت پایینی تراکنش ها تضمین شده و شکل گیری این زنجیره انسدادی ممکن نمیشود اولویت پوششی خواندنی و نوشتنی نبست به پروتکل اولویت پوششی پیشرفته تر بود که قبلا معرفی شد این محتوی دو نقشه کار پایه ای است نقشه اول تصویر اولویت (inheritance) است و نقشه دوم اولویت کلی دستوری تراکنش های فعال است تراکنشی که گفته شد فعال میشود اگر شروع به کار کرده باشد اما در اجرا کامل نمیشود، اگر چه تراکنش میتواند اجرا کند یا انتظاراجرا در میانه راه به شکل پیش دستی باعث شود همه ی اولیت های دستوری هر اجرای تراکنش فعال را در اولویت سطح بالا مهیا کرده نسبت به فعالیت با تراکنش با اولویت کم تر باعث اولویت inheritance شده و خواندن و نوشتنی به شکل مقیاسی ملاحظه میشود. دراین گزارش پروتکل اولویت را با اجرایtime stamp بررسی کرده که ارزش دیدی در این چرخه اضافه شده و این ارزش تغیر نمیکند جز زمان بروز رسانی تراکنش هایی که موفق هستند.[2]
روش DTX
DTX یک مکانیزم کنترل همروندی توزیع شده برای دادهXMLاست که به مشخصه ساختاری داده وارد میشود هدف های DTX در بهبود اجرا دسترسی به دادهXMLبا استفاده از پروتکل برایmulti granular کنترل همروندی بوده که به موازات افزایش بین تراکنش ها و بهینه سازی ساختار برای اجرای دوباره داده عمل میکند گذاشت و برداشت داده XML به حافظه ی اصلی مربوط استDTX باعث دریافت مدارک XMLاز ساختار ذخیره شده و حمل انها از روندهای ضروری و سپس تعدیل بروزرسانی در ساختارذخیره میشود ساختارهای ذخیره از این مدارک غیر وابسته و مستقل هستند این در DTX ها حامی ارتباط با هر سندXML در روش ذخیره سازی می باشدDTXدر تمام یا قسمتی در برگرداندن و تکرار دادهXML عمل میکند در کنترل همزمانیDTX از پروتکل xdglاستفاده میکند و عمل بروز رسانی تا نشان دادن جدا سازی ها و خصیصه سازگاری درمحیط توزیع شده انجام میپذیرد xdglیک الحاقیه بر dglock است که در زیر ساخت راهنمایی دادن برای نشان داده قفل ها استفاده میشود این پروتکل میتواند ابزاری بر بالای هر سیستمی که داده XML مدیریت میکند باشد تا زمانیکه این پروسه تا زمان نشان دادن دوباره ساختار ادامه خواهد یافت زیرا این در ساختار خوش بینانه استفاده شده تا قفل را نشان داده تطابق با 2plسخت گیرانه آماده میکند اگر چه مهیا سازی تراکنش و نگهداری انسداد تا پایان ادامه دارد اصول قفل ها در چند دانه بودن سطوح عناصر XMLرواج دارد ساختن این پروتکل ها بیشتر بسیار متقارن میباشد به مانند پروتکل dglockمفهوم نقش ها معرفی میگردد بر خلاف این پروتکل پایه xdgl ترتیب مطمئنی استxdgl از زیر مجوعه زبان path برای دریافت اطلاعات از مدارک XMLاستفاده میشود به منظور بروز رسانی داده در مدارک XML یک زبان بروزرسانی تعریف شده است این زبان پنج گونه عملکرد بروزرسانی دارد درج کردن حذف کردن انتقال تغیر دادن و تغییرنام در سندXMLدو احتمال برای قفل ها وجود دارد قالب ها و گره ها در قالب قفل ها قسمتی هایی از ساختار که در سند XMLمدیریت شده نشان داده شده است در قفل های گره فقط عنصرهای منفرد از یک ارائه(نمایش)اداره شده اند قفل ها در گره ها و در قالب ها با هم هشت گونه دارندsi(اشتراک داخلی)sa(اشتراک بعدی)sb(اشتراک بعدی) به عنوان اشتراک قفل ها در وارد کردن عملکرد استفاده میشود این قفل ها از تعریفی بر روی گره های مشخص در مسیر بیان از هر تراکنش همروندی اجتناب میکندx (انحصاری)قفل در گره تعریف شده استفاده میشودst(اشراک قالب)در راهنمای عمل در زیر شاخه برای حفاظت از هر بروز رسانی استفاده میشود xt(درخت انحصاری)قفل و زیرشاخه ی راهنمای داده از خواندن و عملکرد بروز رسانی محافظت میکند(هدف اشتراک) حصول مجدد در هر شاخه اصلی از گره قفل شده در اسلوب اشتراک میباشد و در پایانix (هدف انحصاری) باید در هر شاخه از گره قفل اسلوب انحصار عمل کند زمانی کهxpathحرکت را شروع میکندstعملی است که هدف گره و isیک شاخه فرعی را نشان میدهد برای عمل واردکردن عملکرد قفلxبرای گره به جهت استفاده استtxمحل یک شاخه ی اصلی را نشان میدهد. در یک گره که به یک گره هدف اتصال پیدا میکند، به کار بردن قفلst و isیکی از شاخه های اصلی است در هدف گره از مسیر ی که بتوان بیان مورد استفاده st را برروی شاخه ی اصلی قرار داد در حالیکه عمل برداشت قفل های xtعملی میشود که هدف گره و ixدر شاخه ی اصلی اتفاق افتد در گره ها که قسمتی از مسیر قابل پیش بینی هستند قفل های stبرایشان قابل اجرا هستند و قفل هایisنیز در شاخه های اصلی هستند بعلاوه اطلاعات مربوط به رفتار های قفل ها بر عملکرد پروتکل ها میتوان در آنها پیدا شود تغییر و تبدیل در پروتکلxdglبوجود می اید پس ان میتواند در محیط توزیع شده کار کند زیربنای ارتباطی بین برنامه های وارد شده و اجازه ی اجرای عمل بعدی را میدهد در زمان مشابه قفل های لازم حاصل شده، اجازه ی ارتباط و تراکنش توزیع شده کامل نمیگردد، به محض دچار مشکل شدن (تراکنش)همه تاثیرات مهیا شده بر روی داده را خنثی کرده و باز میگرداند اداره کردن قفل در هرنمونه از DTXبه منظور تمرکز زدایی برای استفاده انتشار اندازه گیری در هر نمونه برای عهده دار شدن مدیریت در قفل های هر داده اجرا میگردد.
نمایان ساختن و اندازه گیری با وقفه قابل تعدیل و اندازه گیری صحت و روند اضافه کردن دوره ای در هر نمونه ازDTXو باز بینی آن در چرخه به شکل یک اتحاد در گراف انتظاری ارائه میگردد این شدنی است اگر کشف شده باشد این مهم است که تعیین کردن DTX در اسلوب قابل انعطافی قابل تصور است بنابراین دیگر پروتکل همروندی میتواند بکار گرفته شده و تغییر شرح داده قبلی استفاده شود برای اینکه به عنوان بروز رسان در پروتکل همروندی استفاده شود DTX هم تحقیق داده و هم محدودیت زبان بروز رسانی دارد زیر مجموعه زبان مسیر xبرای بازیافت اطلاعات در پروتکل xdglاستفاده شده است و این معمول است که تحقیق زبان DTX برای زبان بروزرسانی میباشد که از یک ایده مشابه پیروی میکند قفل گذاری برای روند عملکردهای xdgl معمولی هستند قانون گذاری میشود
که معمولا در قفل های استفاده شده در روندDTXعمل میکند این عمل به جهت پایه مدل های تراکنش توزیع شده با همکاری و مشارکت استفاده میشودDTXبه جهت دسترسی همزمان اجرای تراکنش کاربرد دارد و برای تکنیک قفل گذاری استفاده میشود با استفاده از این روش اطمینان بودجود می اید که جهت برنامه ریزی پیام ها بین سایت ها مانند دسترسی اختصاصی برای اشتراک منابع درDTX هر نمونه از قفل ها در داده محلی اداره میشود از زمانی که کنترل همروندی از تکنیک قفل گذاری استفاده میکند انسداد ممکن است سرانجام بالا می اید اگر چه DTX سیاست کشف انسداد را پیاده میکند که این تکنیک به جهت انتظار و اتحاد گراف در هر نمونه از DTXانجام میپذیرد اگر عمل انسداد اتفاق بیافتد پروتکل xdgl اصلی از مهم ترین تراکنش اخیر است در دایره قبلی درگیر میشودDTX دنباله کلاسیک از تراکنش اجرایی را پیاده میکند و استفاده عمل خواندن و سطح جدا سازی در هر کدام از تراکنش های همروندی که در تبدیل و تغییر معلق بودن دیده نشده است[3].
معماری DTX:
DTX به بعضی نرم افزارهای مرکب که با خودشان ارتباط دارند و استفاده از دادهXMLکنترل همروندی توزیع شده تقسیم میشود توجه دقیق بر معماریDTXمیتواند دید Listener ترکیبی از پاسخ را برای دریافت نیاز های مشتری فراهم کند این یک میانجی ساده در روند تراکنش ها را مهیا میسازد
دریافت نتایج و ارسال ان ها به مشتری را میسر میسازد، از دبگر ماموریت های Listener دریافت دسته بندی و ارسال درخواست از دیگر زمان بندها درDTXزمان بند وظیفه حمل توزیع شده و یا وظیفه همزمانی را بر عهده دارد.
مدیر تراکنش مسئول ترکیبی برای اجزای تراکنش ها است این از ترکیب دو قسمت زمان بند که عملکردش برنامه ریزی اجرا بین عملکرد تراکنش ها است استفاده از قانون ها و کنترل همروندی پروتکل کشف کار داشتن به انسداد ها و عملکرد های اجرایی در مدیریت قفل،مدیریت قفل که شامل نمایش داده و ساختار قفل شدنی است.
برای رفتن در مسیر دادهXML و سبک خوش بینانه همچنین شامل دستوراتی برای موفقیت قفل ها و بررسی عملکرد های دادهXMLبه کار میرود مدیریت داده ترکیبی استفاده شده برایDTXتا فعل و انفعال ساختار ذخیره ای دادهXML باشد DTX مسئولیت دریافت دادهXML از ساختار ذخیره شده را دارد معکوس کردن آن در داخل ساختار مشاهده مناسب و اماده سازی اهداف برای بروز رسانی این داده برای ساختار ذخیره آن است .[3].

مشخصات DTX
هر سایت نمونه ای ازDTXبین مشتری و ساختار ذخیره ای دادهXMLارتباط برقرار میکند این نمونه ها از جمله با خودشان برای اجرا در تراکنش های توزیع شده ارتباط برقرار میکند به منظور زیر مجموعه سازی تراکنش درDTX مشتری ارتباط بین نمونه ای از DTX و ارسال تراکنش ها را برقرار میکند Listener ترکیبی DTXتراکنش های فرستاده شده برای مشتری را دریافت میکند زمانی که تراکنش میرسد Listener ان را به مدیریت تراکنش برای میزبان اجرا کرده و از ان طرف مدیریت تراکنش این تراکنش را برای زمان بند جهت اجرای با هم و دیگر هم زمانی ارسال میکند زمان بند عملکرد هایی برای تصمیم به این که تراکنش در اینده اجرا خواهد شد را دارد و این هم چنین برای بدست اوردن قفل های لازم برای اجرا و مدیریت قفل درسایت اخیر مسئولیت دارد زمان بند ترکیبی سایت که تراکنش از ابتدا هماهنگ کننده (تعدل کننده) نامیده میشده است اگر تراکنش شامل در دیگر سایت ها قابل اجرا باشد هماهنگ کننده این عملکرد به برنامه های سایت توزیع شده میفرستد انتظار برای این اجرا و انتقال ان به عمل بعدی را انجام میدهد سایتی که این عملکرد را دریافت میکند به وسیله ی هماهنگ کننده که همراه نامیده میشود ارسال میکند هماهنگ کننده نیز همچنین مسئولیت کنترل دوره ای و کنار گذاشتن انسدادهای توزیع شده به مانند اجرای ناقص دستور تراکنش توزیع شده میشود زمانی که برنامه قفل های مورد نیاز برای عملکرد را فراهم میکند ان را به بیرون انتقال میدهد فعل انتقالی با مدیریت قفل بوجود می اید که باعث مدیریت داده بروز رسانی شده میشودترتیب بندی محلی باعث تضمین باdbmsکه از پروتکل2pl(قفل شدنی دو مرحله ای)استفاده میکند این توجه دقیق به ترتیب بندی جهانی با استفاده از تکنیک های قفل شدنی در سایت های دیگر تراکنش های توزیع شده بدست می اید از هماهنگی که پروتکل کنترل هم زمانی DTXمورد استفاه قرار میگیرد این معیار را در سایت واحد مطمئن هستند تصاویر ها راه حلی از روند تراکنش ها در شبکه های کامپیوتر میباشد نویسندگان ضوابط تراکنش جهانی را ثابت کردن که در ان جا هیچ هماهنگ کننده مرکزی وجود ندارد روش نمایش(اثبات)میتواند درDTXاجرا شود این مشخصات مشابه هستند که این یک برنامه مرکزی ندارد اکنون بر طبق نظر نویسنگان به منظور اطمینان از ترتیب سازی برنامه باید دانش لازم برای رد یابی بین تراکنش ها را داشته باشد درDTXجست و جو برای قفل عملکرد ها قابل دست یابی است اگر در هر سایت قفل قابل دست یابی نباشد سیستم ان را اطلاع داده که بین قفل تراکنش ها بوده است ارتباط تراکنش ها میتواند بالا بیاید اگر ان بر دیگر فعالیت تراکنش ها بستگی نداشته باشد بنابراین ارتباط فقط اجازه میدهد برای تراکنش ها که همه ی عملکرد ها را به منظور بیرون اوردن هر عملکرد یک تراکنش قفل های لازم را در همه ی سایت های هدف دریک عملکرد بدست آورد اگر همه قفل ها در سایت مرکزی بدست نیایند و تراکنش به حالت انتظار وارد شود سپس میتوان گفت تراکنش فقط باید اجرا شود که ان به هیچ یک از فعالیت تراکنش ها بستگی نداشته باشد به منظور اطمینان از جداسازی و استحکام هماهنگ کننده باید قفل های لازم را برای عملکرد و اجرا در تمام سایت های شرکت کننده بدست اورد.زمانیکه یک عملکرد در دیگر سایت ها و یکی از کل ان انسدادها اتفاق نیافتاده باشد تراکنش به حالت انتظار وارد میشود و در سایت ها جائیکه یک عملکرد بیرون می اید این حرکت انجام نمیشود این اطمینان که فقط یک عملکرد کلا باید اجرا شود که این همه سایت های مشارکتی را به بیرون حمل میکند در پایان هر تراکنش دسترسی یا شکست(عدم دسترسی) هماهنگ کننده باید اجرا شود ویا نشود که این عملکرد در تمام سایت های دردگیر در تراکنش های توزیع شده بیرون می اید ممکن نیست که اجرای مطمئن یک سایت در تراکنش ناقص باشد اگر حذف یک تراکنش درروند ان در سایت مطمئن ممکن نباشد تراکنش با شکست مواجه میشود در صورت شکست DTX کاربرد وضعیت را به حالت اماده باش در اورده و در این صورت تراکنش با شکست مواجه میشود درباره ی اطمینان از پایان یک تراکنش DTX از یک روند استفاده میکند که به صورت دوره ای برنامه ها را در همه ی سایت ها بررسی میکند با این منظور حصول یک گراف انتظاری و تحقیق و جست و جو اگر در چرخه اتفاق افتد به یک دیگر پیوند بخورد پیروی از قانون های کنترل همروندی در اغلب تراکنش های درگیر در این چرخه با مشکل مواجه میشود هنگامی که تراکنش اتفاق میافتد ان ها به حالت انتظار برای قفل ها در یک اجرا وارد میشود شروع اجرای دوباره در این مسیر معمولا میتوان گفت که یک تراکنش ممکن است اجرا شود ناقص باشد و شکست بخورد. تصویر 2 نشان میدهد یک مثال از سیستمی که از DTX استفاده میکند این تصویر ترکیبی از سه سایت است s1,s2,s3در سایتs1 در مثال از DTX استفاده می کند که مشتریc1 درخواست کرده است نمونه DTX در سایتs1با داده XML که باdbmsسرو کار دارد سایت s2نمونه ای از DTX است که درخواست مشتری را مدیریت میکند طرح DTX در سایتs2ایستادگی دادهXMLرا در پرونده سیستم اداره میکند در سایتs3شامل دو

مشتریc3,c4است این نمونه برای مشتری c3,c4برای اداره ی دادهXMLازdbmsاستفاده شده است تصویر 2 ارتباط بین نمونه هایDTXدر سایت ها را نشان میدهد این فعل و انفعال برای اجرای تراکنش توزیع شده زمانی که داده نیاز دارد که یک تراکنش در هرجا باشد مورد استفاده است عملکرد های دیگر از ارتباط بین نمونه های DTX وادغام حذف تراکنش های کشف و حل مشکلات انسداد داده توزیع شده هستند [3].
الگوریتم ها:
این بخش توصیفی از الگوریتم های مهم و اصلی DTX است الگوریتم 1 رویه بیرون اوردن با برنامه هماهنگ کننده در روند تراکنش ها است این روند یک گره باز انجامی(تکراری)است انالیز و ترمیم برنامه ی تراکنش قابل دسترس بعدی تراکنش بسته شده است تراکنش های در دسترس تراکنش هایی هستند که در حالت انتظار نیستند بعد از ترمیم هر تراکنش روند انتخابی در عملکرد های غیر اجرایی و سپس کنترل عملکرد های قابل اجرا بوجود می اید اگر عملکرد فقط در سایت هماهنگ قابل اجرا باشد عملکرد از مدیریت قفل محلی بیرون خواهد امد اگر این عملکرد در چند سایت دیگراجرا شده باشد فرستاده خواهد شد و در همه شرکت کننده ها که شامل داده درگیر در این عملکرد است میشود اگر این عملکرد فقط در هماهنگ کننده اجرا شود قفل مورد نیاز را بدست نمی اورد و تراکنش به حالت انتظار وارد میشود اگر عملکرد در چند سایت دیگر اجرا شود به تمام شرکت کنندگان شامل هماهنگ کننده ارسال خواهد شد البته اگر این جریان شامل داده درگیر در این روند باشدعملکرد قابل اجرا که برای دیگر سایت ها فرستاده شده است عملکرد remote نامیده میشود باید این نکته را یاد اور شد که هماهنگ کننده برای عملیات منتظر شده و قابل اجرا در همه سایت ها اگر این عملکرد قفل را در هیچ یک از شرکت کننده حاصل نشود رویه عمل را در همه ی سایت ها خنثی خواهد کرد که عملکرد بیرون امده سپس تراکنش به حالت انتظار وارد میشود ممکن است عملکرد در هر یک از سایت های مشارکتی شکست بخورد و یا باعث تولید انسداد شود که در این صورت تراکنش بی نتیجه خواهد شد در هنگام انالیز کردن یک تراکنش که هیچ عملکردی را برای اجرا ندارد این حالت بوجود می اید زمانی که یک تراکنش بی نتیجه شود همه ی عملکرد های انجام نشده در همه ی سایت های مشارکتی و در هماهنگ کننده و همه ی قفل های داده های درگیر تراکنش ها منتشر خواهد شدوقتی که یک تراکنش اجرا میشود بروزرسانی در ان اثر گذاشته و همه ی این قفل ها در داده درگیر شده تراکنش پخش خواهد شد.

الگوریتم 2 رفتار برنامه ها در هنگام اجرای عملکرد کنترل در سایت مشارکت کننده را توصیف میکند این باید خاطر نشان شود که این رویه همچنین در همه ی هماهنگ کننده ها مشترک است عملکرد های کنترل عملکرد های هستند که هماهنگ کننده برای سایت های اجرا شده فرستاده میشود همه ی این عملکرد ها به صورت ردیف ذخیره شده و به صورت تسلسلی بازیافت میشوند اگر این در هر عملکرد کنترل اجرا شده باشد قفل های مورد نیاز حاصل شده و این عملکرد یک روند است که در مدیریت قفل سایت مشارکتی وجود می اید اگر این عملکرد قفل های مورد نیاز به دست نیاید جهت شناسایی این عمل در هماهنگ کننده علامت گذاری خواهد شد اگر به هر دلیل با شکست مواجه شود با شاخص بی نتیجه علامت گذاری میشود در پایان هر اجرا در عملکرد کنترل ممکن است شکست با موفقیت باشد و وضعیت هر عملکرد برای هماهنگ کننده ارسال میگردد بعد از این روند عملکرد های کنترل در هر شرکت کننده اجرایی از رویه با حکم کنترل تراکنش های توزیع شده و پیام های نارس و ناقص سر و کار دارد.

الگوریتم 3 توصیفی از روند به دست اوردن قفل ها و بیرون آوردن عملکرد ها درمدیریت قفلی برنامه ها است این روند به عنوان پارامتر عملکرد ها برای اجرا دریافت میشود و باگراف انتظار سرو کار داشته و انسداد ها را کشف میکند این روند در طی مسیر عنصر ها را به سوی راهنمای داده حرکت می کند براین اساس گره ها در هر عملکرد استفاده می شود این درسراسر هر عنصر میرود و به علاوه قفل های به دست امده احتمالی را در عنصر را در سوال چک میکند اگر این ممکن نباشد تراکنش قفل را در داده به دست امده که برگشت میخورد حفظ میکند اگر قفل به دست امده موفقیت امیز باشد راهنمای داده بروز رسانی میشود در این نمونه تراکنش ناسازگار شده بر روی لبه برامدگی ،سطح، خط برای انتظار گراف در این قلمرو تولید میشود اگر انسداد اتفاق افتد عملکرد علامت گذاری میشود رخداد این انسداد با برنامه سر و کار دارد بعد از انالیز کردن پیشامد انسداد عملکرد در راهنمای داده و مدیریت قفل های انجام نشده تغییر حاصل میشود این روند نتیجه این عملکرد ها را بر میگرداند اگر این اجرا موفقیت آمیز باشد عملکرد را بلااثر خواهد کرد و قفلی بدست نمی آید اگر یک انسداد اتفاق افتد.

الگوریتم 4 توصیفی از کشف انسداد توزیع شده و اجرای به صورت دوره ای راه حل ها است اول از همه این یک لیست ازهمه ی سایت ها در سیستم میسازد برای هر سایت گراف انتظار جمع اوری میکند برنامه ای که الگوریتم کشف انسداد را بوجود می اورد همه ی گراف های انتظار را در چرخه بررسی میکند اگر یک چرخه پیدا شود تراکنش شروع شده اخیر برگشت میخورد و الگوریتم به مسیر درست وارد میشود در غیر این صورت اشتباه میشود که به این معنی است که هیچ انسداد توزیع شده ای نیست الگوریتم 5 توصیفی از روندی است که با تثبیت یک تراکنش توزیع شده به وسیله هماهنگ کننده سرو کار دارد این الگوریتم یک عدد اتمی است که زمان بند و مدیر قفل فعالیت هایشان را تا پایان این رویه متوقف میکند این الگوریتم با بازیافت تراکنش همه ی سایت های درگیر شروع میکند برای هر سایت پیام فرستاده میشود که این تثبیت یک اثر با تراکنش بدست می اید اگر پیام فرستاده شده به سایت به کار نیاید تراکنش ناقص شده و این روند پایان میپذیرد اگر همه ی درخواست های سایت ها به درستی ترکیب شده و عمل کنند این زمان بند ارتباط را با مدیر قفل برقرار میکند بنابراین بر تغیرات اصرار دارد و قفل های نگه داشته را با تراکنش ها تثبیت میکند الگوریتم 6 توصیفی از رویه ای است که روند جمع اوری تراکنش های توزیع شده با هماهنگ کننده را بر عهده دارد به مانند الگوریتم ترکیبی این الگوریتم یک عدد اتمی است زمان بند و مدیر قفل تا پایان این رویه باعث وقفه فعالیت ها میشود الگوریتم با CWBYبرای حصول مجدد همه ی سایت های درگیر این تراکنش شروع میشود برای هر سایت یک پیام فرستاده میشود بنابراین تاثیر بدست امده این تراکنش حذف میشود اگر پیام فرستاه شده به سایت به کار نیاید یک پیام جدید به همه ی سایت های درخواستی شکست تراکنش ارسال میگردد هماهنگ کننده همچنین رویه شکست را جلو میبرد و این رویه را پایان میدهد اگر همه ی سایت های درخواستی حذف با موفقیت به پایان برساند برنامه یک ارتباط با مدیر قفل انجام میپذیرد بنابراین تمام تغیرات و انتشار قفل در تراکنش نگهداری میشود[3].

سناریو
به منظور نمایش بهتر کارکردهای DTX یک اجرای سناریو تشریح میشود در این مثال دو مشتری وجود دارد c1 وc2 این ها به سایت های مختلفی اختصاص دارند مربوط به s1و s2برای فهم بهتر این مثال نمایش داده شده با مدارکXML به صورت جز به جر ارائه شده است مدرک اولd1شمال اطلاعاتی درباره ی مشتری ها در این بنگاه فروش است مدرک d2اطلاعاتی را درباره ی تولید که در این فروشگاه فروخته شده ذخیره میکند به صورت پایه ای مدرک d1یک عنصر است که مردم نامیده میشود که شامل چندین عنصر(شخص)است یک عنصردر زیر عنصر به نام idوnameکه شخص تعیین کننده و هویت فردی و nameمخصوص خود رامشخص میکند مدارکd2دارای ریشه عنصری است که تولیدها نامیده میشود تولیدها وقیمت که نشان دهنده تعیین کننده هویت فردی برای هر تولید بوده که توصیف و قیمت هستند توصیف در اجرای این سناریو سه تراکنش هستندt1وt2وt3مشتری c1تراکنشt1و مشتریc2تراکنش های شماره ی چهار را ارائه میدهد مشخص کننده هویت به id نسبت داده شده که شامل مردم و تولیدات است با ساختار XMLربط دارد این یک کلید انحصاری هویت برای هر مشتری و تولید ثبت شده است تراکنش 2t شامل دو عملکرد استt2op1وt2op2اولین سوال درباره ی بازیافت همه ی تولیدات ذخیره شده است و عملکرد بعدی ازt2شامل درج مشتری است کهpatriciaبا تعیین کننده 22 تراکنشt3همچنین شامل دو عملکرد t3op1وt3op2است عملکرد t3op1سوالی درباره ی تثبیت تولید که شمال مشخص کننده هویت 14 است را دارد دومین عملکردt3وt3op2درج تولید است کهkeyboardنامیده میشود قیمت در9.90و شمال تعیین کننده هویت شماره ی 32 است تماس همه ی این تراکنش ها بهترین نمایش در تصوی سه است سایت s1کپی از مدارک را مدیریت میکندd1سایتs2شامل یک کپی از همه ی اسناد است(تصویرd2,d1)چهار معماری ان را شرح میدهد که مجموعه ای از مشتری ها و مدارک در سایت ها است که اجزاء این مثال است.شروع این سناریو مشتریc1وc2تراکنش هایt1وt2مربوط را ارائه میدهد شرح این در قضیه هر دو تراکنش به صورت همزمانی ارائه شده هستند هر نمونهDTXدر سایت محلی در مسیر خود ترکیب Listener را دریافت میکند که به تراکنش ها به مدیریت تراکنش مربوطه ارسال میگردد که این پیام در تراکنش به صورت صفحه بندی ذخیره میشوند که میتوانند به صورت همزمان در دیگر تراکنش ها معلق باشد فرض اینکه برای اجرای این سناریو که زمان بند یک سایتs1عمل بیرون کشیدنt1op1(alg,1;1,3-4)را شروع میکند برای اجرای این عملکرد زمان بند باید قفل لازم را در دو سایت به دست اورد زیرا مدارکd1این را نشان میدهد فرض کنید هیچ تراکنش در نمونه هایDTX نیست قفل ها قانون های پروتکلxdgiرا برای استفاده به دست می اورد و سپس پروسه عملکرد اجرا میشود در لحظه ای که عملکرد تراکنشt2شروع میشود در سایتs2نیز اجرا شروع میشود.

مدارک d2 فقط در سایتs2 نمایش داده میشود تا زمانی که هیچ تراکنش اجرایی در مدارکd2 وجود ندارد عملکردt2op1قفل ها را بدست می اورد وبیرون می اید وضعیت هر داده و قفل ساختاری نمایش داده شده را میتوان در تصویر شماره ی 5 دید زمان بند سایتs1اجرای عملکرد راt1op2 شروع میکند عملکرد با مدارکd2سر و کار دارد و سپس برای سایتs2برای اجرا فرستاده میشود این ممکن نیست که برای بدست اوردن قفلهای درج شده درt1op2(alg3)توجه شود زیرا تراکنشt2برای نگه داری سوال قفل ها درd2است و تراکنشt1نیاز به بیرون اوردن قفلIXدر گره شناخته شده به وسیله2در هر راهنمای
داده است این گره قفلstناهم سازی بین قفل ها را تولید میکند در این لحظه تراکنشt1در حالت انتظار قرار داده میشودalg(1;1.9) زمان بند s2از تصمیم به اجرای عملکردt2op2را میگیرد مدرک d1هدفش عملکرد بعدی است که در همه ی سایت ها ارائه میشود به هرحاللازم ست که عملکرد ارسال گردد و قفل های لازم در هر دو سایت به دست اید (alg1;1,12 to 22)به دست اورن درج در قفل هاt2op2ممکن نیست زیرا تراکنشt1قفل های سوال را در ان مدارکd1نگه داری میشود تراکنشt2به اجرای قفلIXدر گره شناخته شده برای 56در راهنمای داده نیاز دارد این گره همچنین قفل st را در ناسازگاری در بین قفل ها تولید میکند بدین گونه تراکنشt2وارد حالت انتظارمیرود تصویر 6 نشان میدهد که موفقیت ناسازگاری بین قفل های تراکنش های مختلف در مدرک راهنمای داده میباشد در این موقعیت انسداد توزیح شده میتواند دیده شودDTXروندی در زمان بند دارد که به صورت دوره ای گراف های حالت انتظار را از همه ی سایت ها بر میگرداند و بر روی انسداد بررسی میکند فرض کنید که زمان بند در سایتs1شروع به روند بررسی انسداد میکند و تراکنش هدف را در چرخه پیدا میکند با این قانون از پروتکل در اغلب تراکنش های اخیر(alg 4.17)به حالت تعلیق وارد میشود بنابراین تراکنشt2ناقص میشودalg 4.18این نمایش انجام شده و قفل های منتشر شده هستند(alg 6) همان طور که شرح داده شدt1میتواند اجرا را شروع کند زمان بند در عملکردt1op2,s1دوباره در سایت s2اجرا میشود در این نمونه هیچ قفلی بر روی مدرکd2وجود ندارد این عملکرد قفل های لازم برای درج و روند ها را بدست می اورد تراکنشt1 عملکرد های دورتری برای اجرا ندارد سپس شروع این روند الزامی میگردد در این الزام تغیرات بیرون امده بر تراکنش قابل اصرار و پیگیری است(alg 5,1-10) و این قفل ها منتشر میشوند مسئولیت استفاده مشتریc2این است که تصمیم گیرد که تراکنش t2را بر تلاشی دوباره در اجرا ارائه دهد تشریح این که مشتری تراکنشt2را دور انداخته و تصمیم به اجرای تراکنشt3 میگیرد .دست اورد بعدی قفل های لازم برای همه ی سایت ها و پروسه ها است زیرا هیچ تراکنش هم زمانی وجود ندارد[3].

کارهای زیادی درمطالعه ویژگی های زمانبندی های متمرکزانجام شده است.یک مدل جالب ونتایج شبیه سازی توسط carey،agrawalوlivny آمده است.کارهای انجام شده اساسا به صورت تئوری هستند اما تعدادی مدل های شبیه سازی جالب به کارگرفته شده اند و دردانشگاه wisconsin شبیه سازی شده اند.carey و livnyیک مدل DBMS توزیع شده راتعریف کرده اندکه یک توسعه برای مدل متمرکزشان که قبلا ارائه کرده بودند میباشد.پارامتر های مختلف از طریق شبیه سازی مورد بررسی قرار گرفته اند.چندین مقاله درباره کنترل همروندی توسط THOMASIANو همکاران نوشته شده است.پروتکل های مبتنی بر قفل کاربردی ترین روش کنترل همروندی میباشند.در این روش که بر اساس تخصیص داده ها به تراکنش ها است،هرگاه تراکنشی بخواهد برای خواندن یا نوشتن به داده ای دسترسی داشته باشد،ابتدا در خواست قفل مناسب با آن دستوررا به واحدی به نام مدیر قفل میدهد.مدیر قفل هر درخواست رسیده برای یک داده را باقفل هایی که احیانا توسط تراکنش های دیگر روی آن داده زده شده است مقایسه میکند.اگر این درخواست سازگار ومجازباشد ،در خواست مربوطه اجابت شده و روی داده قفل زده میشود و تراکنش میتواند با آن داده دسترسی داشته باشد.اما چنانچه درخواست قفل به دلیل عدم سازگاری با قفل های از پیش زده شده اجابت نشود،تراکنش و حالت انتظار میرود تا زمانی که قفل های زده شده روی آن داده طوری آزاد شوند که قفل درخواستی مجاز باشد [4].
پروتکل اکثریت :پروتکل اکثریت یکی از روش های مدیریت قفل به منظور کنترل همروندی میباشد.در این پروتکل،مدیر قفل محلی مسئول پاسخگویی به درخواست های قفل و باز کردن قفل میباشد.پروتکل اکثریت در رابطه باقفل های اشتراکی و انحصاری رفتار یکسانی دارد.وقتی یک تراکنش میخواهد تا داده Qرادر سایتSjکه دارای هیچ تکراری نیست قفل کند،یک پیام به مدیر سایتSJمیفرستد.اگر داده متناظر به طور ناسازگار قبلا توسط در خواست دیگری قفل شده بود،درخواست جدیدتازمان اجابت معلق میشود.وقتی درخواست اجابت شد،مدیرقفل محلی یک پیام به فرستنده درخواست ارسال می کند. ازاینرو،فرستنده درخواست ازاجابت درخواستش مطلع میشود. اما اگر داده Q دارای N تکرار در N سایت مختلف باشد، از اینرو درخواست باید به بیشتر از نیمی از N سایت ارسال شود. تراکنش در صورتی میتواند بادادهQکارکند که بیشترازنیمی ازسایت ها بتواننددادهQراقفل کنند.پروتکل اکثریت دارای مزایا ومعایبی است.اگریک سایت دچارشکست شودوداده غیرقابل دسترس شود این روش میتواند کارش را ادامه دهدکه این یکی ازمزایای پروتکل اکثریت میباشد.تبادل پیام های زیادبرای قفل کردن وهمچنین بازکردن قفل یکی ازمعایب پروتکل اکثریت میباشد.وقوع بن بست نیزازدیگرمعایب این روش به شمارمیرود.یکی دیگرازمعایب این روش حجم بارکاری این الگوریتم است.یکی ازدیگرمعایب این روش حجم بارکاری گره آغازکننده تراکنش است زیراتمامی گره ها بایدپیامشان رابه گره مذکورارسال کنندکه باعث ایجادترافیک شدیدوسربارمیشود.مخصوصا درشبکه هایی باتعدادزیادی گره وزمانی که بخواهیم همانندرویکردالگوریتم ارائه شده دراین مقاله اطلاعات چندین تراکنش را همزمان موردبررسی قراردهیم باعث میشودکه اطلاعات بسته ارسالی حجیم شود.علاوه برمشکلات محدودیت پهنای باند،درصورت شکست ارسالی پیام،واطلاعات مربوط به چندین تراکنش ازبین میرود[4].
پروتکل نسخه اصلی:در این پروتکل،یکی از تکرارها از هر داده به عنوان یک نسخه اصلی شناخته میشود وسایتی که این نسخه اصلی را نگهداری میکندبه عنوان سایت اصلی نامیده میشود. پروتکل نسخه اصلی رفتار مشابه ای با قفل های اشتراکی و انحصاری دارد.وقتی یک تراکنش میخواهد داده Qراقفل کند یک درخواست به سایت اصلی Qمیفرستد.در این پروتکل،ارسال و درخواست به همه سایت ها غیر ضروری است.مزیت مهم این روش این است که کنترل همروندی برای داده های بدون تکرارودارای تکراریکسان است.پیاده سازی این پروتکل نیز آسان است.اما پروتکل نسخه اصلی دارای معایبی نیز میباشد.اگر سایت اصلیQدچار شکست شود،در نتیجه داده Qغیرقابل دسترس میشود حتی اگر سایت های دیگر که دارای Qهستند دردسترس باشند[4].
پروتکل دوطرفه:دراین پروتکل نیزمانند پروتکل اکثریت یک مدیرقفل محلی درهرسایت وجوددارد.ام پروتکل دوطرفه درخواست قفل اشتراکی رابه شیوه متفاوتی ازقفل انحصاری مدیریت میکند.برای داده های اشتراکی،اگریک تراکنش به دادهQنیازداشته باشد،درخواست قفل Qرا به تنها یکی ازسایت های که کپی دادهQرادارند میفرستند.امابرای قفل های انحصاری،تراکنش ها ودرخواست هایشان برای همه سایت ها که کپی دادهQرادارندارسال می کند.کاهش بارکاری برای دستورات خواندن مزیت وافزایش بار کاری برای دستور نوشتن از معایب این روش است[4].

فصل سوم
طرح ها

طرح ها
طراحی سیستم پایگاه داده های توزیعی : سیستم پایگاه داده های توزیعی برای عملکردهایی دیتا و دسترسی آن ها نیاز هستند این دیتاها به صورت ذاتی توزیع می شوند این نیاز جهت افزایش دسترسی در هنگام عدم موفقیت می باشد . مثالهای عمده برای سیستم ها ذخیره خطوط مستقیم بین المللی ، موسسات مالی و ساخت اتوماتیک می باشد . روش شناسی برای طراحی سیستم های توزیعی مانند استفاده پایگاه داده ای متمرکز است بهرحال فاکتورهای بیشتری برای پایگاه داده های توزیعی مورد ملاحظه و تفکر است .
قطعه قطعه کردن (Data Fragmentation):در پایگاه داده ای توزیعی ما نیاز داریم به شناسایی منطقی واحدها در این پایگاه های توزیعی و تخصیص آن ها داریم . پایگاه داده ها ممکن است که بصورت واحدهای منطقی شکسته شود که قطعه هایی نامیده می شود که در سایت های مختلف ذخیره می شود .
ساده ترین واحدهای منطقی برای خود (table) فهرست دارند . سه نمونه پایگاه داده ای عبارتند از:
قطعه قطعه کردن افقی : قطعه قطعه کردن افقی از جدول زیر مجموعه ای از ردیف های آن است سپس قطعه قطعه کردن افقی به جدول افقی برای انتخاب سطر مربوطه تقسیم شده و این قطعه ها می تواند به گونه های مختلف یک سیستم توزیعی اختصاص داشته باشد .
مثال ملاحظه رابطه proj وضعیت proj1 قطعه با بودجه کمتر از 300000

قطعه بندی عمودی یک قطعه بندی عمودی از جدول فقط یک خاصیت مطمئن را نگه می دارد . این جدول را به ستون های عمودی تقسیم می کند . این ضروری است که کلید اولیه از جدول در هر قطعه بندی عمودی شامل شود که جدول کامل می تواند bere ایجاد کند اگر نیاز باشد
مثال ملاحظه رابطه proj
قطعه بندی پیوندی : قطعه بندی پیوندی شامل ترکیبی از مشخصات از دو وضعیت قطعه بندی افقی و عمودی است هر قطعه می تواند با ترکیبی از عملکردش select-project را مشخص می شود . در این موضوع جدول اصلی می تواند با بازسازی با اتصال اتحاد و اتصال طبیعی در یک طبقه مناسب عمل کند
پاسخ داده:
انتخاب درست برای توزیع داده ها مانند شکست tolerance یک پایگاه داده در یک کپی جدا از هم از یک پایگاه داده به صورتیکه در هر یک از دو و یا بیشتر سایت ها ذخیره می شود هر کپی از یک قطعه می تواند در چند سایت مختلف نگهداری شود پاسخ داده طراحی مراحل این تصمیم است که کدام قطعه پاسخگو خواهد بود .
مدیریت تراکنش و کنترل همروندی بنیادی تراکنش : یک تراکنش شامل یکسری از اجرای عملکردها بر روی پایگاه داده ها است موضوع مهم در مدیریت تراکنش این است که اگر پایگاه داده ها در وضعیت اول سازگار و پایدار برای راه اندازی هر تراکنش بوده است . و بعد پایگاه داده باید به حالت سازگاری بعد از تراکنش جهت تکمیل شدن برگردد .
ویژگی تراکنش : یک تراکنش چهار ویژگی دارد که می تواند به سازگاری و اطمینان در توزیع پایگاده داده ها منجر شود این چهار تا عبارتند از ظرفیت اتمی ، سازگاری ، جداسازی ، دوام و ماندگاری است .
ظرفیت اتمی : عبارت است از این حقیقت که تراکنش به عنوان یک واحد عملکردی عمل می کند و این باعث می شود که هر یک از کل عملکردهای مربوط به تراکنش ها یا کامل است و یا اینکه از دور خارج است
سازگاری : سازگاری یک تراکنش به معنی صحت و درستی آن تراکنش است به عبارت دیگر یک تراکنش یک برنامه صحیح است که نقشه هایی یک پایگاه داده سازگار است . در پایگاه دیگر تعیین می کند .
جداسازی : بر اساس این ویژگی هر تراکنشی می تواند از سازگاری یک پایگاه داده بصورت همیشگی بوجود آید . در نتیجه هیچ تراکنش دیگری نمی تواند خوانده شود و یا تغییر داده که باعث تغییر یک تراکنش دیگر می شود .
دوام : این ویژگی این اطمینان را می دهد که وقتی یک تراکنش اتفاق می افتد نتیجه اش پایداری است .و نمی تواند از پایگاه داده حذف شود . این بدان معنی است که هر وقت بعد از commit اتفاق یک تراکنش چه تراکنش درست عمل نکند(crash) و یا بی نتیجه(abort) باشد و بالاخره نتیجه بدست آمده نامشخص و نادرست است .
کنترل همروندی :در سیستم های پایگاه های توزیعی ، پایگاه داده بوسیله تعدادی کاربرها استفاده می شود . این سیستم ها معمولاً به تراکنش های متعدد برای جریان همروندی در زمان مشابه اجازه فعالیت می دهند .کنترل همروندی فعالیتی است که به کاربرهای متعدد اجازه می دهد که به طور همزمان در پایگاه داده فعالیت کننند DBMSکنترل همروندی به کاربر اجازه می دهند که به پایگاه داده ها که به شکل چند برنامه ای هستند دسترسی پیدا کند در حالیکه هر شخص در پایگاه داده به تنهایی در حال استفاده است .
تنها مشکل تکنیکی برای دستیابی به این هدف پیشگیری پایگاه داده جهت بروزرسانی است در حالیکه یک کاربر در حال اجرا همراه با بازیابی پایگاه داده است و بروزرسانی پایگاه دیگری انجام می شود . زمانیکه تراکنش ها در حال بروزرسانی دیتای همروندی هستند این عمل ممکن است چندین مشکل به دلیل سازگاری دیتا بوجود آید [1]. کنترل همروندی خوشبختانه برا یlog runingتراکنش هایی که به ندرت بر مثال های مشابه اثر میگذارد و مفید است به هر حال ذخیره زمانی مشاهده اجرای بهتر میباشد عقب انداختنی محرومیت ذخیره زمان بر معرفی مثال تا مرحله ی اجرا طول میکشد در این مطالعه ما طریقه ی استفاده کنترل همروندی خوشبینانه را در بر روی سیستم پایگاه داده توزیع شده بصورت real time اجرا میکند این نشان(stamp) به هر رکورد اضافه شده برای کاربر در هر زمانی که کاربر دسترسی پیدا کند نگاشته شده که نشان میتوان معکوس شده وباعث نگه داشتن ارزش که چگونه بعضی اوقات در حقیقت این رکورد قابل دسترسی است هر جا که قابل خواندن یا نوشتن و یا عمل خواندن نوشتنی باشد یک نشان از یک کاربر مخفی خواهد بود در روندی که معمولا اجرایی بوده و منجر به اجرا شده باشد ارزش همه ی نشانه های یک رکورد قابل دسترس که از سرور دریافت شده است و در قسمتDBMSذخیره شده بعدا به سرورفرستاده میشود در طرف سرور یک مقایسه بین مکان نشانه ها از یک مشتری بعد دریافت شده و اجرای ان تمام گشته است ان یکی که در سرور پایگاه داده ذخیره شده است اگر ارزشش مساوی باشد سپس داده موافق میگردد اگر مشتری خواهان اصلاح قسمتی از رکورد های قابل دسترسی باشد نشان ها با یکی از تعدیل ها افزایش میابد و علامت متناظر به کاربر برای رسیدن به روند موفقیت در کل تراکنش ها بر خواهد گشت به هر حال اگر ارزش ها با هم تطبیق نشوند که شامل روش های قابل دسترسی ثبت سده میباشند با دیگر تراکنش ها اصلاح میشوند همه ی رکورد ها علامت های جدید به مشتری و دوبار برای شروع تراکنش بر خواهد گشت کد PSEUDO زیرکه نشان میدهد الگوریتم چگونه روندی است :

شکل زیر نحوه فعالیت را با فلوچارت بیان میکن.

به صورت پایه ای( در اصل) کاربر داده را دریافت میکند و نشانه هایشان در چرخه ی قبل از شروع پروسه دارد به انتظار هستند (بعد از اینکه روند کامل شد)DBMSتوانایی معین کردن میشود اگر که دیتای در خواستی بروز رسانی شده و ضمنا اجرا شودو یا نشود حقیقتا در مقایسه با دریافت علامت نشانه ها از یک مشتری به سوی دیگر زمانی که نشانه ها در سرور پایگاه داده ذخیره شود در این قضیه تطبیق بعدا هیچ تغییری در داده درخواستی صورت نمیگرد این شیوه مطلق سرور به علامت ها دسترسی پیدا خواهد کرد و مشتری در این روند به سمت جلو سوق داده میشود در این موضوع که تطابقی صورت نگرفته است این علامت عدم موفقیت به مشتری برخواهد گشت که شامل شروع دوباره در تراکنش مورد نیاز میباشد[2].
ارزیابی:نشان های اخیر که با هدف ارزیابی به وجود امده اند محیط های غیر توزیع شده هستند درDTXبه عنوان یک محیط که توزیع شده بود و ما به اندارزه گیری پاسخ زمانی و انسداد داده پرداختیم این نشانه ها مناسب نبودند و ما نیاز داشتیم که ان ها را بروزرسانی بکنیم ارزیابی از این کار و تلاش برای انالیز اجرایی مهیا شده با DTXمی باشد برای ارزیابیDTXروی علامت xکار شده است و بروز رسانی این برای بدست اوردن مسیر xو اضافه کردن عملکرد های بروز رسانی شده است برای اینکه برای اجرای یک تجربه امکان پذیر و ما از تکنیک قطعه بندی برای به عهده گرفتن موضوع توزیع شده داده استفاده میکنیم مشتری وانمودگر(تشبیه کننده) آزمایش کننده DTXنامیده میشود که توسعه پایه ای را به عهده دارد در طی تجربه و کار باDTXبومی XML dbmsاستفاده میشود زیرا این یک سیستم با منبع باز است با ذخیره و پروسه تحقیق شخصیتی لازم برای اجرا در هر تجربه کاری است DTXدر پروتکل مجموعه هم زمان توزیع شده استفاده میشود اما کار های وابسته در مرکز دسترسی مورد استفاده قرارمیگیرد که مشکل است ما مقایسه ای ازDTX با این کار ها داشته باشیم این دلیل است که چرا مقایسه استراتژی بینDTX و کارهای وابسته نبوده است هدف تشبیه کردن اجراها در کارهای وابسته تصمیمی برای تغییر DTX به منظور حمایت از سلسله مراتب قفل است زیرا اغلب کارهای وابسته از استراتژی قفل شدنی در کنترل همروندی پروتکل هایشان استفاده میکند این مسیر این امکان را بوجود می اورد که یک مقایسه بین استراتژی قفل شدنیDTX و کارهای مربوط در محیط توزیع شده بوجود بیاید.
محیط: مجموعه ای از سایت هاs=(s1,….,s2)داده میشود هر سایتs1مراحلی ازXML dbmsکه شمال مدارک XMLموثر برای هر محیط بوده مجوعه ای از مشتری ها c=(c1,….,cn),شرح داده شد که شامل این استفاده که تراکنش ها را تولید میکند برای پیشبرد یک تراکنش tو یک مشتریc شاملDTXمیشود و تراکنشtرا ارائه میدهد برای هر تراکنشtفقط یک سایتsiاغاز میشود (هماهنگ کننده)و اگر t عملکردی برای اجرا در دیگر سایت ها داشته باشدDTXداخلی سایت siان ها را به دیگر سایت ها ارسال میکند(مشارکت) تراکنش های همروندی شبیه هستند زمانیکه چند مشتری در حال استفاده هستند شبیه سازی تراکنش ها را بر طبق پارامترهای مطمئن تولید میکند ان ها را بهDTXارسال و نتایج هر اجرا را در پایان جمع اوری میکند محیط برای ارزیابی استفاده شده و خوشه ای از هشتpcارتباطی به سراسر مرکزethernetبرقرار میکندهرpcاز 3ghپردازنده ،ویندوز xpوکارت شبکه و 1mb ram این پایگاه داده XMLبا 40mbمدرک به وسیله ی xmarkتولید میشود .
آزمایش: هر ازمایش اوضاع اجرای تراکنش ها را کشف میکند مانند پاسخ زمان و مقدار انسداد ما یاد اورده ایم که هیچ مطالعه ای در محیط توزیع شده صورت نگرفته است ولی کار ما که بر محیط توزیع شده تمرکز دارد و مقایسه بین کارهای دیگر مشکل تر میشود مانند XML tmکه محیط توزیع نشده را نشان میدهد درDTX براساس دو تکنیک همروندی مقایسه میشود برای XML ,DTXمیتواند مقایسه ای بر اساس تکنیک های سنتی داشته که قفل قابل استفاده کاملی را در مدرک برای ما میسازد و از پروتکل2pcاستفاده میشود به هر حال مقایسه استفاده پروتکل های مختلف از کنترل همروندی که بر رویXMLتمرکز دارد این امکان را مهیا میسازد که نتایج دقیق و درستی داشته باشد این مقایسه درباره ی استفادهDTXدر گره پروتکل2plو انجام شده DTXبه هر دوی dbmsبومی و XMLمتصل میشود هدف از این ازمایش ها به دست اوردن تفاوت بین DTXبروز رسانی شده پروتکل xdglاست به دلیل مشکلات در دسترسی برای انجام کارهای مربوطه بروز رسانی DTX را انتخاب میکنیم، پروتکل ها با این مشخصه ها استفاده می شوند مشابه از استدلال همزمانی بین سایت ها ماندگاری بازیافت و زمان وجود دارد به هر حال تغیرات بوجود امده درDTXقفل مدارک ارائه شده ساختاری و قفل اجرایی منتشر شده این عمل را قانونگذاری می کند در طی این تغییرات DTX کاملا برای تغییر به پروتکل جدید انعطاف پذیر است این تحقیق در مورد وضعDTX و دگرگونی ان در تعدادی از سرویس گیرنده و برای کل و یا قسمتی از ان پاسخ دارد انجام این ازمایش ها در قسمتی از پاسخ این پایگاه داده به صورت قطعه قطعه بوده که برای دسترسی پیشنهاد شده بود در این مشی داده به صورت قطعه قطعه شرح داده شده که ساختار و اندازه ی مدارک را نشان میدهد هر تولید قطع بندی انداره مشابه دارد فرایند قطعه بندی استفاده شده در این کار هم سایت هارا در حجم مشابه از داده میسازد.
پایگاه داده الگو این را که به وسیله ی xmarkتولید شده را شرح میدهد و به قطعه های مدرک تقسیم میشود
نشان دهنده چگونگی داده در سایت مربوطه در سناریو های مختلفی اختصاص میابد در تصویر هشت ردیف اول نشان دهند تعداد سناریوی سایت ها است ردیف دوم نشان میدهد که سایت تشریح شده است و سومی نشان میدهد ارتباط مربوط است مدارک به صورت پررنگتر نوشته شده اند در دیگر سایت ها کپی شده اند تغییر پذیری تعدادی از نتیجه زمان سرویس گیرنده تصویر و نشان دهنده پاسخ نتیجه زمان از این ازمایش است در این دو مشی پاسخ زمانDTXبرای یک نتیجه بهتر نسبت بهDTXبا قفل ها یش در سلسله مراتب امده است دلیل برای این است که انطباق پروتکلxdglکه در DTX استفاده میشده است تعداد کمی دانه دانه است نسبت به پروتکل با قفل های سلسله مراتبی در این قضیه مدیریت بالاتر از این قفل ها در سطح پایین تری میباشد زمان پاسخ برای پاسخ گویی ابتدایی نسبت به کل زمان پاسخ گویی کم تر بوده این دلیل برای این است که تمام پاسخ گویی ارتباط برقرار است وهم زمانی بالاتر در تمام این سایت های سیستم تاخیر در اجرا در این تراکنش ها وجود دارد زمانی که محیط واقعی دادهXMLبصورت معمولی و نرمال در چندین سایت توزیع شده است.

تغییر پذیری در درصد بروز رسانی این ازمایش نشان میدهد که رفتارDTXشامل تغیر پذیری در مقدار بروز رسانی تراکنش ها است در این ازمایش تعدادی از سرویس های گیرنده در 50 ثابت شده اند و هر سرویس گیرنده پنج تراکنش با پنج عملکرد را ارائه میدهد درصدبروز رسانی تراکنش هابین20 تا 60 درصد در نوسان میباشد درصد بروز رسانی عملکرد ها در هربروز رسانی تراکنش 20% است .
زمان پاسخDTXدر سطح بروز رسانی تناسب ترقی ان باقی میماند در حالیکه قفل های DTXدر سلسله مراتب زمان بیشتری برای پاسخ نیاز دارند دلیل اوری برای زمان پاسخ بهترDTXبستگی به پایین بودن قفل مدیریت بالاتری دارد زیرا این در ساختار داده خلاصه شده استفاده میگردد که باعث بازیافت و تغییر سریع تر میگردد و هم چنین ساختار انداره را نسبت به مدرکXMLاصلی بهتر نگه میدارد تعدادی از انسدادها ها باDTXبه دست می ایند که نسبت به DTXقفل در سلسله مراتب داردبا اضافه افزایش درجه بروز رسانی این تعداد تراکنش به رشد بیشتر مهیا میسازد بخاطر اینکه DTX نهایت همسانی را در بین تراکنش ها به عنوان نتیجه را دارد برای استفاده کم تر قفل دانه،دانه ای نسبت به دیگر پروتکلها استفاده میشود این به تعداد زیادی از تراکنش ها برای ورود به اجرای همروندی درDTXاجازه میدهد و سرانجام با مهیا ساختن داده مشترک برای ورود به انسداد در کیفیت بیشتر نسبت به دیگر پروتکل ها که محدود تر بود و کم تر هم زمان و متقارن میباشد توضیع بیشتر در مورد جزئیات را میتوان در 15 مشاهده کرد تغییر پذیری در اندازه و پایه تعدادی از سایت ها:
این ازمایش اخرین رفتار DTXدررابطه با تغییر اندازه پایه تعدادی از سایت ها را و استفاده قسمتی از انعکاس ها و پاسخ ها را بررسی و تحقیق کرده برای این ازمایش ها با تغیرات است در سایز پایه تعدادی ازسرویس های گیرنده در در هر سایت در سطح 50 ثابت میشود هر سرویس گیرنده 5 تراکنش که شامل 5 عملکرد است را ارائه میدهد درصد بروز رسانی تراکنش ها 20 درصد است و درصد بروز رسانی عملکرد ها در هر بروز رسانی تراکنش نیز 20 درصد است اندازه پایه بین50و200mb متغییر است برای این ازمایش با تغیرات در تعداد سایت ها این 40mb قطعه بندی میشود.که به سایت های ازمایش شده اختصاص داشته و باعث بارگیریشان میشود در این ازمایش تغیرات در تعدادی از سایت ها وجود دارد پارامتر های مشابه در سرویس گیرنده تراکنش ها ودیگر درجه ها بروز رسانی استفاده میشود تعدادی از این سایت ها بین 2 و 8 هستند در تصویر 11 یک زمان پاسخ DTXبه خوبی در زیر همراه با مقدار افزایش پایه است در حالیکه DTXبا قفل هایش درتاثیرات سلسله مراتب باعث افزایش زمان پاسخ میشود یک دلیل برای این وابستگی این حقیقت است کهDTXاستفاده شده باعث پوسیدگی ساختار در نمایش مدارک XMLو پیشبرد به سوی نتایجشان را میشود دلیل دیگر این حقیقت که درDTXبا قفل ها در سلسله مدارک مدیریت قفل در سطح وسیع تری است تا زمانیکه پاسخ گویی این قفل ها در سلسله مراتب و زیرشاخه ها مدارک سوال میشود.
بنا بر این اگر مدرک افزایش یابد تعدا قفل ها نیز هم چنین افزایش میابد تصویر 11 نشان میدهد که زمان پاسخ کم تر از افزایش تعداد سایت ها میباشد و انDTXبا قفل های سلسله مراتبی اش نشان از نتیجه بد تر را دارد این موضوع به این حقیقت که با افزایش تعداد سایت ها بعلاوه تعداد بیشتری از پیام های هم زمان سازی ارسال شده و با بیشتر مدیریت قفل بالاسری در محل و با سایت های کنترل مرتبط میباشد با افزایش اندازه پایگاه دادهDTXمشکلات بیشتر از انسداد به وجود امد دلیلش این است که زمانیکه پایه رشد میکند و بالا میرود DTXبا قفل ها پیش در سلسل مراتب کم تر به منظور افزایش قفل بالاسری فعالیت میکند زمان پاسخ طولانی تردرجه هم زمانی این پروتکل را به سوی تعداد کم تری بحران و انسداد سوق میدهد یا کاهش میدهد با افزایش تعداد سایت ها باید خاطر نشان کرد کهDTXنتیجه درجه دومی به دیگر سایت ها که DTXهمراه با سلسله مراتب قفلها دارد اثر میگذارد .
توان عملیاتی و درجه هم زمانی:
هدف های اخرین ازمایش برای شناخت تعداد تراکنش ها در مدت زمان استحکام شده است با ان ممکن است یک نمود ساده از توان عملیاتی و درجه هم زمانی بدست اید در این ازمایش پاسخ گویی جزئی استفاده شده و تعدادی از سرویس های گیرنده در مجموعه ای 50 بوده اند هر کدام 5 تراکنش را که شامل 5 عملکرد است را ارائه میدهند بروز رسانی تراکنش ها 20 درصد تراکنش ها بوده و درجه بروز رسانی عملکرد ها با بروز رسانی تراکنش ها 20 درصد میباشد اندازه این پایگاه داده استفاده شده برای این ازمایش mg40 و قطعه بندی و 4 سایت را اختصاص داشته است مقدار کلی تراکنش های اداره در این سیستم 250 عدد بوده است در تصویر 14 ممکن است تصور شود کهDTXتوان عملیاتی را توسعه میدهد و درجه هم زمانی را نسبت به DTXگره2plافزایش میدهد DTX218 تا از تراکنش ها را در 1553 ثانیه اداره میکند در حالی که درDTXبا گره2pl230 تراکنش در 16500 ثانیه ارائه میکند این دلیل برای این است که DTXکم تر با درجه بالاسری به مدیریت قفل ها داشته و داشتن چندین جز(دانه دانه بودن) طرفدار زمان پاسخ کم تر و تعداد بیشتری تراکنش همراه با شروع اجرای هم زمان است این همچنین نشان میدهد کهDTXاجرای 32 تراکنش
را بیشتر ندارد در حالیکه کهDTXبا گروه 2pl، 20 تراکنش را دارد با این حال اگر این تراکنش ها دوباره اجرا شوند زمان پاسخDTX هنوز کم تر از زمان اجرای کامل ان در ازمایش میباشد[3].

دراین بخش یک الگوریتم کنترل همروندی جدیدمبتنی برهمکاری میان عامل هایی که ازنظرجغرافیایی برروی یک شبکه توزیع شده اند ارائه شده است.الگوریتم مامبتنی برپروتکل اکثریت میباشدامادارای خصوصیات وویژگی های بیشتری میباشد.همانند پروتکل اکثریت ازمکانیسم عبورپیام برای ارتباط عامل ها استفاده شده است.امادراینجابرخلاف پروتکل اکثریت تمام گره ها بایکدیگر همکاری میکنند.تاهمروندی میان تراکنش ها کنترل شود.به این معنی که گره ها پیام هارا میان همدیگرردوبدل می کنند.برخلاف پروتکل اکثریت که درآن پیام ها تنها میان شرع کننده تراکنش وسایر گره ها ردوبدل میشوند.دراینجا رای گیری توسط هر یک از نودهای موجود در شبکه انجام میشود برخلاف پروتکل اکثریت که تنها توسط نود آغازکننده الگوریتم انجام می شود ودرنتیجه مستلزم حجم کاری زیاد در نود مذکور میشد.امابا ارائه این روش از حجم بار کاری نود آغاز کننده الگوریتم کاسته میشود.یکی ازمهمترین ویژگی های الگوریتم ما این است که تراکنش های مختلفی میتواننند به طور هم زمان مورد بررسی قرار گیرند.نکته حائز اهمیت این است که تراکنش هاباید در حالت سازگار با یکدیگر باشند.یعنی Nتراکنش در خواست قفل بروی Nداده مختلف را فراینداست به عنوان عامل ناظر در نظر گرفته میشود.که این عامل میتواند هم به عنوان بخشی از عامل های شرکت کننده در فرایند کنترل همروندی باشدویاتنها به عنوان عامل خارجی مسئول تضمین اجرای همروند تراکنش باشد به این معنی که هیچ پایگاه داده ای بروی آن وجود نداشته باشد.
این الگوریتم برای کنترل همروندی دریک مجموعه از گره ها مورد استفاده قرار میگردو در حالی که هرجفت از گره ها در دامنه رادیویی یکدیگر،همان طور که در شکل 1نشان داده شده است فرار میگیرند.یال های میان گره ها نشان میدهد که در 2گره درون دامنه رادیویی یکدیگر قرار دارند.یک نمونه از این مجموعه از گره ها در چنین شبکه ای در شکل2نشان داده شده است.
برای ارائه الگوریتم فرضیات زیر را در نظر میگیریم:تعداد تراکنش هایی که در یک بار اجرای الگوریتم کنترل همروندی مورد بررسی قرار می گیرنند برابر باNیعنی تعداد گره های موجود در شبکه میباشدکه شروع کننده اینNتراکنش یک گره باشند.هردادهQدرپایگاه داده تمامی سایت ها یک بار تکرار می شوند.بدون ازدست رفتن کلیات،ما فرض می کنیم که گره آغازکننده الگوریتم یعنی گره ناظر یک گره صادق میباشد و درمراحل اجرای الگوریتم همانندسایرگره ها شرکت میکند.درهرتکرار از الگوریتمNدرخواست برای Nداده مختلف میتواندموردبررسی قرارگیرد[4].

مراحل الگوریتم به شرح زیر میباشد:
مرحله1:گره ناظرM،پیامی برای را به N-1گره دیگرمیفرستد واز آنها میخواهدتادرخواست های تراکنش هارابرروی داده ه های محلی شانQn…….وQبررسی کنند.دراین مرحله گره ناظر می بایست لیستی ازتراکنش های را که بایددراین تکراراز الگوریتم موردبررسی قرار گیرندبه N-1گره دیگردرشکبه ارسال کند.به این صورت که هرتراکنش دارایIDمنحصر به فردی میباشدکه از0تاN-1نامگذاری میشودواین شماره IDهای منحصربه فردبه تمامی گره های موجوددرشبکه ارسال میشود.همانطورکه گفته شده تعدادتراکنش هایی که درهرمرحله بررسی میشودباتعدادعامل های موجوددرشبکه یعنی Nبرابراست.
مرحله2:به محض دریافت پیام،هرگره (همچنین گره ناظر)درخواست هارا مورا برسی قرار می دهند که آیا می تواند مورد برسی نظردرخواست ها راقفل کندیاخبر.قفل شدن یا نشدن دراین مرحله توسط مدیرقفل محلی انجام می شود.اگر هریک ازگره ها بتوانند داده محلی Qjرادرپایگاه داده اش قراردارد قفل کندپیامی رابرای تراکنش مورد نظررابه یکی از گره های موجود درشبکه میفرستددرجایی کهIDگره مقصدرابرباIDتراکنشی است که داده اش می توانددرگره جاری قفل شود(یعنی گره مقصدjاست).اگرشماره گره مقصدبرابربا شماره گره جاری بود(یعنیIDتراکنش برابرباIDگرهای باشد که می تواندداده راقفل کند)ارسال این پیا م به صورت ضمنی خواهدبود.
مرحله3:دراین مرحله هرکدام گره هاعملیات زیرراانجام می دهند:برای هرگرهi…………..،Mj
پیامی است که گرهjازگرهiدرمرحله دوم دریافت می کند.بنابراین گرهjیک پیام ازجانبiدریافت کرده است.که این پیام به منزله ارسال یک رای برای تراکنش (درخواست)jمی باشد(که درآن Qjتوسط مدیر قفل محلی گرهiمی تواند قفل شود).سپس هرگره ارای رسیده را برای یک تراکنش که شمارهID آن متناظرباشمارهIDگره است موردبرسی قرارمی دهد.بدین معنی که گره jارای رسیده برای تراکنش jرامی شمارد.زیراهرپیام واصله به گرهjدرحقیقت یک رای لزجانب سایرگره ها به گره jمی باشد.درصورتی که تعداد ارای شمرده شده برای هرتراکنش j بیشترازنصف تعدادگره های موجوددر شبکه بودبنابراین درخواست تراکنش j برای قفل کردن دادهQjموردقبول بوده وآن تراکنش می توانداجرا شود.
مرحله4:وقتی آرا درمرحله سوم مورد شمارش قرارگرفت،نتیجه به گره آغازکننده تراکنش ارسال می شود.
مرحله1برای ارسال پیام شروع الگوریتم وفرستادن لیستی ازشمارهIDهای تراکنش های مورد نظرکه باید درتکرار جای الگوریتم مورد بررسی قرار گیرند به تمامی گره هااستفاده میشود.درمرحله2،بسته به وضعیت هردادهQ(این که میتواندتوسط مدیر قفل محلی قفل شود یا خیر)یک پیام به گره دیگر میفرستد.درجایی که شماره گره مقصدبرابر باشمارهIDتراکنشی است که مدیر قفل محلی درگره ارسال کننده پیام میتواند داده مورددرخواست آن تراکنش را قفل کند(هرپیا م دریافت شده ازگرهiتوسط گرهjیک رای برای درخواست تراکنش jمیباشدکه در آن مدیر قفل محلی گرهiتوانسته داده Qjراقفل کند).درمرحله سوم تمامی گره ها ارای دریافت شده خودرا میشمارند ونتیجه درمرحله بعد به گره آغازکننده ترا کنش ها (گره ناظر)ارسال میشود.اگردر اجرای الگوریتم گره ناظررا به عنوان یک عضوعادی درشبکه درنظربگیریم همانند سایر گره های موجود درشبکه عمل میکند وتمام فعالیت های مربوطه به یک عضوعادی راانجام خواهدداد.درغیراین صورت گره ناظرازچرخه فعالیت ها حذف وتنها درمرحله ی 1برای آغازالگوریتم ودر مرحله ی 4برای دریافت نتیجه ارابا سایر گره هادرارتباط هست[4].
الگوریتم (محاسبه عددی) کنترل همروندی توزیعی :
در این مقاله ما در مورد محاسبه عددی توزع تعدادی کنترل همروندی بحث می شود ما خلاصه ای از موضوع های برجسته و مهم از چهار الگوریتم (محاسبه عددی) در این بخش را بیان می کنیم . برای انجام ما باید در مرحله اول ساختار آن را شرح دهیم که بر فرض اینکه ما تراکنش های توزیع داشته باشیم قبل از اینکه در مورد الگوریتم توضیح دهیم ما نیاز داریم که ایده ای درباره تراکنش توزیعی پیدا کنیم .
تراکنش توزیعی : یک تراکنش توزیعی تراکنشی است که شامل چند مرحله است که معمولا با چند دستگاه کار می کند . هر مرحله از کارها تراکنشی دارد . سیستم مرحله ای تراکنش توزیعی برای تسهیل تراکنش هایی که محدوده ناهمگن دارند طراحی شده است .
transaction-aware مدیریت منابع در محیط توزیعی است اجرای تراکنش توزیعی نیاز به هماهنگی بین سیستم مدیریت تراکنش جهانی و مدیریت همه منابع محلی و همه سیستم های درگیر دیگر را دارد . مدیریت منابع و مراحل رمزگذاری مخابراتی تراکنش دو عنصر مهم از هر سیستم تراکنشی توزیعی است .
تراکنش توزیع شده مانند تراکنش های محلی باید خاصیت acid را نشان دهیم . نگهداری از این خاصیت ها خیلی برای تراکنش های توزیع شده پیچیده است زیرا شکست که می تواند در هر مرحله ای اتفاق افتد . اگر این شکست و نقصان پیش بیاید هر مرجله باید برای بازگرداندن هر کار که اخیرا انجام داده ایم و از طرف هر تراکنش انجام شده . سیستم های مرحله ای تراکنش توزیع شده با نگهداری ویژگی های acid در تراکنش توزیعی با دو خصوصیت روبرویند .
– مراحل بازیافتی : مراحل بازیافتی گزارش هر عملکرد و بهر حال توانایی ترمیم وضعیت اولیه اگر شکست پیش آید .
– commit پیوند : یک پیوند اجرایی اجازه می دهد مراحل چند گانه برای هماهنگی اجراها یا بی نتیجه بودن یک تراکنش انجام شود . از مهمترین پیوند اجرایی شامل دو مرحله پیوند اجرایی می شود .
قفل گذاری دو مرحله توزیع شده : برای اطمینان از ترتیب اجراهای موازی تراکنش ها روش های مختلفی از کنترل همروندی بوجود می آید یکی از این روش ها ، روش قفل گذاری است . روش های مختلفی برای قفل گذاری است دو مرحله از پیوند قفل گذاری یکی از موارد مهم و پایه ای پروتکل کنترل همروند در سیستم پایگاه داده های توزیع شده است .مشی مهم این پروتکل خواندن هر چیز و نوشتن همه تراکنش ها ، قفل ها را در هر مورد می خوانند و خواندن را به نوشتن تبدیل کرده در هر آیتم که نیاز به بروزرسانی داشته باشد برای خواندن یک آیتم کافی است که قفل خواندن در هر نسخه آیتم گذاشته شود . پس نسخه محلی یک تراگنش قفل شده برای بروز رسانی هر آیتم به نوشتن همه نسخه ها نیاز دارد . قفل های نوشته شده در تراکنش های اجرایی وجود دارند . برای مسدود کردن هر نوشته درخواستی تا همه آن نسخه ها از هر آیتم باید بروز رسانی شود و بصورت موفقیت آمیز قفل خواهد شد . همه قفل ها تا زمانیکه تراکنش با موفقیت انجام شود و یا اینکه دچار نقصان شود نگهداری می شوند . پروتکل 2pl به سرکشی بر قفل ها تصمیم گیری می کند موقعی که تراکنش ها می تواند حاصل شوند یا قفل را منتشر نمایند . پروتکل 2plنشان می دهد که هر تراکنش برای ساخت قفل و یا باز کردن قفل درخواستی دو مرحله دارد :مرحله رشد یک تراکنش ممکن است باعث بدست آوردن قفل شود و یا انتشار هر قفل دیگری . مرحله جمع شدن یک تراکنش ممکن است باعث انتشار قفل ها شود اما هیچ قفل جدیدی بوجود آورد .
یک تراکنش نخست به مرحله رشد می رسد درخواستی برای قفل مناسب باشد سپس به مرحله جمع شدن جائیکه تراکنش همه قفل ها منتشر می شوند . تراکنش در پروتکل 2pl باید همه نیازهای قفل ها را بگیرید قبل از به مرحله باز شدن قفل برسد در حالیکه پروتکل 2pl تضمین ترتیب دارد و این باعث اطمینان نمی شود به بن بست ها اتفاق نیافتد . بهر حال بن بست ممکن است در الگوریتم هم باشد هر بن بست محلی همیشه در تراکنش ها مسدود می شود و دوباره رفع می شوند موقعی که نیاز باشد با شروع دوباره یک تراکنش با اغلب شروع ها در همان اوایل کار درگیر این چرخه مسدودی است . بازیابی مسدودی جهانی به مراحل جستجو مربوط می شود که به صورت دوره ای درخواستی جهت اطلاعات از همه سایت ها و برای بررسی و رفع هر مسدودی جهانی بکار می رود . ww در مبنی الگوریتم در توزیع شده الگوریتم ww می باشد اگر استنباط ها برای دسترسی مانند پروتکل 2pl مشابه باشند اختلاف موجود در حقیقت این است که اختلاف 2pl در بکار بردن مشکل مسدودی می باشد بر خلاف پروتکل 2pl نگهداری اطلاعات wait-for و بعد اینکه بررسی مسدودی محلی و یا جهانی انجام می شود از طریق استفاده زمان سنج در هر الگوریتم از مسدودی ها جلوگیری می شود هر تراکنش بر اساس تعدادی از شروع کننده زمانی آغاز می گردد time stamp و تراکنش ها جدیدتر از نمونه های قدیمی تر جلوگیری می کنند اگر تراکنش قبلی خواهان قفل باشد و اگر این درخواست منجر به انتظار تراکنش جدیدتر شود تراکنش جدیدتر آسیب می بیند این شروع اگر در مرحله دوم پروتکل اتفاق می افتد تراکنش های جدید می توانند منتظر تراکنش های قدیمی باشند پس احتمال رفع مسدودی بوجود می آید

اگر تراکنش درخواستی [t(t1)] جدیدتر از تراکنش [t(t2)] که قفل را نگه می دارد برای درخواست آیتم داده تراکنش درخواستی [t(t1)] که باید صبر کرد . [t(t1)] اگر تراکنش درخواستی [t(t1)] قدیمی تر از تراکنش [t(t2)] باشد که قفل را نگه می دارد برای درخواست آیتم های داده بعد تراکنش درخواستی [t(t1)] باید دچار شکست شود و یا آسیب می بیند .
bto عبارت است از یک واحد معین کننده و بوجود آورنده با dbms جهت شناسایی تراکنش. بطور مشخص ارزش های time stamp جهت اختصاص دستورات هستند که هر تراکنش زیر مجموعه هایی در هر سیستم دارد پس time stamp می تواند به عنوان شروع کننده زمان یک تراکنش باشد . سومین الگوریتم در پایه time stamp دستور دهی الگوریتم است ایده برای این مدل برای پایه تراکنش بر اساس time stamp است . برنامه زمانی در هر تراکنش به شکل ترتیبی دخالت داده می شود و هر وسیله جهت استفاده در برنامه زمانی هر تراکنش بر اساس ارزش های هر timestamp می باشد timestamp orderingمانند ww تراکنش ها برنامه زمانی را بکار می برند اما در هنگام استفاده مشکل آفرین می شوند bto به timestamp وابسته است تا همه دسترسی به داده های اخیر را بوجود آورد و مهیا سازی که از ناسازگاری برای دسترسی به داده ها بوسیله تراکنش ها بوجود آمده است به دلیل تراکنش های قدیمی تر به جای استفاده از مشی و روس قفل گذاری است تراکنش هایی که برای اجرای دسترسی های غیر برنامه ای هستند دوباره بازسازی می شوند موقع درخواست خواندن برای هر آیتم آن آیتم اجازه می دهد اگر timestamp از درخواست کننده اجرایی هر آیتم نوشته شود زمانیکه درخواست نوشتن رسید آن اجازه می دهد که درخواست کننده timestamp اجرا برای خواندن timestamp در هر آیتم بکند در این واقعه (جریان) timestamp از درخواست کننده کمتر از timestamp نوشتن در هر آیتم است و بعلاوه بروز رسانی به سادگی نادیده گرفته می شود برای تکرار داده ها در خواندن هر چیز و یا نوشتن همه مشی که استفاده می شود برای درخواست ممکن است برای هر نسخه ارسال گردد در حالیکه درخواست نوشتن برای همه نسخه ها باید ارسال گردد . انتگرال هر الگوریتم با دو مرحله بر اساس نمونه کامل شده است نویسنده بروزرسانی را در صفحه خصوصی اش تا هر زمانی بخواهد نگه می دارد .
توزیع خوش بینانه :
الگوریتم چهارم توزیع شده base timestamp همروندی خوش بینانه کنترل اگوریتم است مبادله گواهی اطلاعات در طول اجرای پروتکل اجرا می شود برای هر آیتم داده timestamp خواندن و نوشتن نگهداری می شود تراکنش ها ممکن است خواندن و یا بروزرسانی آیتم های داده به شکل آزاد باشد ذخیره هربروزرسانی در هر صفحه کار محلی اجرا می گردد برای هر خواندن ، تراکنش باید مقداری از متن ها شناخته شده باشند . نوشتن timestamp زمانیکه هر آیتم خوانده می شود مربوط است زمانیکه تمام تراکنش ها پیرو کارشان تمام شد و قبل از خود گزارش کردند . این تراکنش به واحد جهانی timestamp اختصاص دارد این timestamp براری هر پیرو (cohort) فرستاده می شود تا برای اجرای پیام آماده شود و همچنین برای اطمینان در استفاده محلی همه خوانده شده ها و نوشته شده ها به دنبال آن می آیند یک درخواست خواندنی قابل اطمینان است اگر نسخه که خوانده شده بود در نسخه اخیر هر آیتم باشد .
هیچ نوشته با timestamp جدیدتر که اخیرا به شکل محلی اطمینان حاصل شده باشد و درخواست نوشتن قابل اطمینان است اگر خواندن بعدی قابل اطمینان نبوده است و متعاقبا اتفاق می افتد هیچ خواندن بعدی قابل اطمینان نیست[1].
کارهای مربوطه: tamino یک XML dbmsمحلی است که از پروتکل 2plدر کنترل هم زمانی (همروندی) اش استفاده میشود این پروتکل دارای 4 مرحله از دانه دانه بودن است پایگاه داده جمع اوری مدرک XMLوdoctypeبا مدرک XML taminoاز تراکنش های توزیع شده نگهداری و پشتیبانی میکند و mentedبه عنوان لایه ای بر روی berkelyپروتکل کنترل همروندی استاندارد در2plاستفاده میشده است قفل دانه دانه ای (مجزا) میتواند در سطح مدرک ویا سطح پایگاه داده باشد این dbms اجرای تراکنش توزیع شده را برای استفاده پروتکل2pcدر تضمین ظرفیت اتمی و استحکام پشتیبانی میکندref(10)پروژه 1dbmsاز XMLتوزیع شده را و پیاده سازی (اجرا)ابتدایی را توصیف و شرح میدهد این کار لایه های معماری را برای دسترسی به ساختار(زیربنا)داده در گونه های مختلف کامل شده ازdbmsکه پشتیبان XMLاست مهیا میسازد ظرفیت اتمی جهانی با پروتکل2pcدر هماهنگی با تراکنش های توزیع شده اطمینان پیدا میکند در این کار تاکید بر اطمینان بر ظرفیت اتمی میباشد زمانیکه dbmsدرجه کم تری از دسترسی هم زمانی را داشته باشد این سوال از انسداد نیز وجو دارد که به اجرای ساده ارزیابی را به نمایش میگذارد . اصولا کارهای مربوطه نشانگر سطح پایین هم روندی بین تراکنش ها است زیرا ان ها قفل کاملی از مدارک را و اجرای موثر را انجام میدهد از جمله ان ها روندهایی ازbekeley dbmmlکوچک ترین واحد های دانه دانه ای را دارا است اما استفاده کننده به تجزیه مدارک در قطعه بندی نیاز دارد به هر حالberkely dbپایخ گویی را به سوی کشف و حل انسداد داده توزیع شده رهنمون میسازدrof(10)مدیریت کنترل هم روندی (هم زمانی)را به هرdbmsکه ترکیبی از سیستم است میبرد و در این موضوع کار ضوابط و معیار های ترتیب فقط زمانیکه به صورت دانه دانه هسستند از قفل در مدرک کامل به صورت مطمئن عمل میکنند بعلاوه راه حل های ارائه شده انجام شده ای هستند که از اطلاعات مخصوصی ازdbmsاستفاده کرده و این راه حل های خیلی سخت را ترابرپذیر(قابل انتقال) میکند[3].
یک مثال دیگر:
به منظوردرک بیشترالگوریتم،ماموردی راکه درآن 6گره درمحیط پایگاه داده توضیع شده قراردارند موردبررسی قرارمیدهیم.دراین مثال،ماالگوریتم جدیدمان را درجایی موردبررسی قرارمیدهیم که هرکدام ازگره ها میتوانندتعدادی ازداده های مورددرخواست تراکنش ها را توسط مدیرمحلیشان قفل کندوهمچنین قادربه قفل کردن تعدادی ازداده ها نیستند.داده هایی که توسط گره ها میتوانندقفل شوند به عنوان مثال درجدول 1آمده است در جایی که ستونها نشان دهندهIDدرخواست ها(تراکنش ها)متعاقب آن داده موردنظرآن تراکنش ردیف ها گره های موجوددرشبکه میباشند.شکل3پیام های ردوبدل شده میان گره هارانشان میدهدکه این پیام هادرطول دومرحله اول ازاجزای الگوریتم عبورداده شده اند.درمرحله1،گره0(گره ناظر)پیامی رادرون شبکه پخش میکند(باخطوط پیوسته نشان داده شده است).این پیام به تمامی گره های موجوددرشبکه فرستاده میشودتاشروع الگوریتم ولیستی ازشمارهIDهای تراکنش هایی که بایداجرای آنهابررسی شوندفرستاده شود.درمرحله2،هرکدام ازگره های درون شبکه برای هرکدام ازتراکنش هادرصورتی که بتوانندداده مورددرخواست آن تراکنش راتوسط مدیرقفل محلی شوندقفل کنندیک رای راارسال می کنندکه شمارهIDگره ای که مقصداین پیام ارسالی است برابرباشمارهIDتراکنش متناظرمیباشد.هریال ازگرهIبه گرهJبه این معنی است که گرهIقادربه قفل کردن داده مورددرخواست تراکنشJمیباشد.نکته اینجاست که هیچ گره ای درشبکه نمیتوانددرمرحله دوم بیشترازیک پیام به یک گره واحدارسال کند.یعنی هیچ گره ای درشبکه قادربه دریافت دوپیام ازیک گره دیگرنیست.

پیام های دریافت شده توسط هرگره رادرطول اجرای مرحله دوم الگوریتم رانشان می دهد به علاوه تعداد رای هایی را که توسط آن ها دریافت شده است مشخص میکند.اگرپیامی بین دوگره ردوبدل شده باشد درماتریس عدد1ودرصورت عدم ارتباط بایک دیگر عددصفرقرار داده شده است.یک ردیف نشان دهنده پیام هایی است که توسط گره دریافت شده است.برای مثال درردیف اول ماتریس نشان میدهد که گره صفرپیام هایی رااز گره های 0،1،4،و5دریافت کرده است.که ارسال پیام ازگره صفربه صورت ضمنی انجام شده است.به طور مشابه درردیف سوم مشخص است که گره 2پیام هایی رااز گره 2و5دریافت کرده است.

بعدازارسال ارا به گره ها،هرگره تعداد ارا دریافت شده رامیشمارد.تراکنشی که حد نصاب مورد نظریعنی بیشتراز نصف ارا (حداقل ارا=n/2+1)رابه دست آورد،تراکنشی است که میتواند داده مورد نظرخود راقفل کند.پس ازشمردن ارا،نتیجه به گره ناظرارسال میشود[4].

فصل چهارم
نتیجه گیری

نتیجه گیری:
در این گزارش درباره سیستم پایگاه داده بحث کردیم و سیستم های پایگاه داده متمرکز که قابل اطمینان هستند همچنین الگوریتم کنترل همروندی توزیع شده ، 2pl توزیع شده ،wound-wait ، timestamp و الگوریتم های خوش بینانه توزیع شده توصیف کردیم [1] به علاوه به بررسی روش پیشنهادی نشان داده شده ی روش حداکثری از عدد صحیح طبقه بندی شده از هر رکورد در DBMS real time برای نشان دادن این پیشنهاد در فیلد stamp که ارزش ابتدایی از صفر و توسعه خواهد یافت در هر زمان که عمل بروز رسانی در رکورد انجام شود[2]وهمچنین DTX به عنوان مکانیزم کنترل همروندی برای داده XML توزیع شده معرفی گردید ،کم ترین حالت مجزا بودن (دانه دانه)را دارد DTXاجرای زمان پاسخ و تعداد انسدادها را ارزیابی میکند بررسی این نتایج بدست امده این امکان را فراهم میکند که تغیر درDTX باعث پیشرفت در زمان پاسخ در زمان اجرا و تراکنش های توزیع شده در موقعیت های مختلف میشود بعلاوه این امکان نیز هست که تغیرات حاصل شده درDTXقابل انعطاف بوده و اجازه ی پذیرش را به دیگر پروتکل های کنترل هم روندی میدهند مانند نمونه ای در ارزیابی استفاده شد [3] و یک الگوریتم جدیدبرای کنترل همروندی درپایگاه داده توزیع شده ارائه شدکه مبتنی برپروتکل اکثریت است[4] الگوریتم ارائه شده از همکاری میان مجموعه ایی ازگره هابهره می گیرد تامشخص کند که کدام یک ازتراکنش ها قادربه قفل کردن داده موردنظرشان می باشدودرنتیجه می توانند اجرا شوند.پیام هایی میان گره هاردوبدل می شودوبرچسب پیام های دریافت شده توسط هر گره مشخص می شود که تراکنش متناظر با آن گره قادربه اجرامی باشدیاخیر.درمقایسه باپروتکل اکثریت توازن بار کاری میان گره ها به صورت چشم گیری افزایش یافته است وهمانطور که درقسمت پیاده سازی مشاهده شدسرعت اجرای الگوریتم به دلیل کاهش مبادلات پیام ها وهمچنین کاهش محاسبات افزایش یافته است.کاهش محاسبات وتبادلات پیام ها به خصوص درگره ناظر موجب کاهش مصرف انرژی درآن گره می شود.به طورخلاصه،همان طور که در مثال ارائه شده دیده میشود این الگوریتم قادر به کنترل همروندی براساس پروتکل اکثریت با خصوصیا ت منحصربه فردی میباشد ودرصورتی که خطوط ارتباطی دچار شکست نشود درتمامی موارد به درستی کار میکند[4].
برای پایگاه داده خیلی مهم است که ویژگی های ACID را اجرا کند.

مراجع:
[1] M. K. a. H. Kaur, "Concurrency Control in Distributed Database System," Ist Author et al., International Journal of Advanced Research in Computer Science and Software Engineering vol. Volume 3, March – 2013.
[2] O. A. Rawashdeh, H. A. Muhareb, and N. A. Al-Sayid, "An optimistic approach in distributed database concurrency control," in Computer Science and Information Technology (CSIT), 2013 5th International Conference on, 2013, pp. 71-75.
[3] L. O. Moreira, F. R. Sousa, and J. C. Machado, "A distributed concurrency control mechanism for XML data," Journal of Computer and System Sciences, vol. 77, pp. 1009-1022, 2011.
[4] س. م. ا. م. a. ح. ناجی, "ارائه یک تکنیک همکاری جدید برای کنترل همروندی
در پایگاه داده های توزیع شده."

1 Distributed Transaction on XML
distributed database management system2
3 distributed database
4 Document Object Model
—————

————————————————————

—————

————————————————————

1


تعداد صفحات : 52 | فرمت فایل : WORD

بلافاصله بعد از پرداخت لینک دانلود فعال می شود