5 کار با پردازش معامله

  • 2022-02-10

در این فصل مروری بر پردازش معاملات ارائه شده است و در مورد نحوه کار با پردازش معاملات بحث می کند.

این فصل شامل موضوعات زیر است:

5. 1 درک پردازش معامله

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

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

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

شما در طی یک معامله ، یک نمای مداوم از پایگاه داده را مشاهده می کنید. شما در طی معامله تغییراتی از سایر کاربران مشاهده نمی کنید.

پردازش معاملات تضمین می کند که معامله عبارتند از:

یا تمام تغییرات بانک اطلاعاتی برای یک معامله کامل انجام شده است یا هیچ یک از تغییرات به پایان نمی رسد.

تغییرات پایگاه داده از یک حالت پایگاه داده سازگار به حالت دیگر تبدیل می شود.

معاملات از برنامه های همزمان با یکدیگر دخالت نمی کند. به روزرسانی های یک معامله برای سایر معاملات که همزمان انجام می شود تا زمان انجام معامله قابل مشاهده نیست.

عملیات کامل پایگاه داده به طور دائم در پایگاه داده نوشته شده است.

5. 1. 1 تعهد و برگشت

دامنه معامله با آغاز و پایان معامله تعریف می شود. پایان معامله هنگامی اتفاق می افتد که معامله انجام شود یا به عقب برگردد. اگر معامله شروع شود اما مرتکب نشده و یا به عقب برگردانده نشده باشد ، سیستم در صورت وجود کاربر ، معامله را پس می گیرد.

پردازش معاملات از تعهدات برای کنترل عملیات پایگاه داده استفاده می کند. تعهدات دستوراتی به پایگاه داده است. می توانید معاملات را به صورت خودکار یا دستی انجام دهید. معامله تعهد خودکار می نویسد که پایگاه داده بلافاصله هنگام وقوع تغییرات تغییر می کند. معامله تعهد دستی هنگام وقوع ، تغییرات پایگاه داده را بافر می کند و فقط هنگام انجام معامله ، تغییرات پایگاه داده را به طور دائم می نویسد.

5. 1. 1. 1 تعهد

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

5. 1. 1. 2 بازگشت

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

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

در مورد خرابی فاجعه بار (مانند به دلیل مشکلات شبکه) ، سیستم مدیریت پایگاه داده (DBMS) یک برگشتی اتوماتیک را انجام می دهد. به همین ترتیب ، اگر کاربر روی یک فرم لغو کند ، یک دستور بازگشت از طریق یک عملکرد سیستم می تواند صادر شود.

5. 1. 2 پردازش معامله

معامله نرم افزاری JD Edvard EnterpriseOne یک واحد منطقی کار (متشکل از یک یا چند جمله SQL) است که بر روی هر تعداد بانک اطلاعاتی انجام می شود. یک معامله تک جمله شامل یک بیانیه است. یک معامله چند جمله ای شامل بیش از یک جمله است.

شما می توانید یک معامله را در یک برنامه برای گروه بندی چندین عملیات پایگاه داده ایجاد کنید. سپس برنامه می تواند از DBMS درخواست کند تا عملیات پایگاه داده را بافر کند تا اینکه برنامه یک دستور خاص را برای انجام به روزرسانی های درخواست شده در معامله انجام دهد. عملیات پایگاه داده که بخشی از معامله نیستند بلافاصله پایگاه داده را به روز می کنند.

اگر یک برنامه پردازش معامله روشن باشد ، سایر کاربران نمی توانند سوابق به روز شده را تا زمانی که به روزرسانی شده باشد ، مشاهده کنند. فقط فرآیندهای موجود در آن معامله می توانند تا زمان تکمیل معامله به سوابق در معامله دسترسی پیدا کنند.

پردازش معاملات به هر دو برنامه تعاملی و برنامه های دسته ای (که به آنها گزارش می شود) پشتیبانی می شود. با استفاده از کمک طراحی فرم ، می توانید معاملات را برای فرم های JD Edvard EnterpriseOne فعال کنید. همچنین می توانید عملیات پایگاه داده را که در یک معامله گنجانده شده است ، طراحی کنید. با استفاده از کمک طراحی گزارش طراحی JD Edvard Enterpriseone ، می توانید معاملات و طراحی معاملات را برای برنامه های دسته ای فعال کنید. همه برنامه ها پردازش معاملات را فعال نمی کنند. با دقت تصمیم بگیرید که آیا پردازش معاملات باید فعال شود.

اگر پردازش معاملات برای عملیات پایگاه داده برای جداول ساکن DB2 برای IBM I روشن باشد ، پس از آن باید آن جداول مجله شود. روزنامه نگاری به دلیل پردازش اضافی مورد نیاز می تواند عملکرد را کاهش دهد. اگر در این روند مشکلی دارید با مدیر DB2 خود تماس بگیرید.

پیام ها و خطاهای عمومی برای پردازش معاملات در سیاهههای مربوط به JDE. LOG ، JDEDEBUG. LOG یا JAS نوشته شده است.

5. 1. 2. 1 وابستگی متقابل داده ها

وابستگی متقابل داده ها به وضعیتی اشاره دارد که داده ها در جدول های مختلف به یکدیگر وابسته هستند. به عنوان مثال ، یک کوپن در هر دو جدول F0411 و F0911 دارای سوابق است. از آنجا که وابستگی متقابل داده ها بین این دو جدول وجود دارد ، وقتی داده ها در یک جدول نوشته می شوند ، معامله ناقص است.

5. 1. 2. 2 مرزهای معامله

یک مرز معامله شامل کلیه عملیات پایگاه داده است که شامل یک معامله است. در برنامه های تعاملی ، یک مرز معامله فقط ممکن است شامل عملیات پایگاه داده در یک فرم واحد باشد. هنگامی که یک معامله شامل عملیات داده از فرم دیگری است ، باید مرز معامله گسترش یابد تا آن فرم را شامل شود.

5. 1. 2. 3 سناریوهای پردازش معامله برنامه تعاملی

جریان معمولی برای یک معامله:

یک برنامه شروع می شود و با موتور زمان اجرا تماس می گیرد.

موتور زمان اجرا معامله را آغاز می کند.

موتور زمان اجرا منظره ای را باز می کند.

موتور زمان اجرا عملیات پایگاه داده را انجام می دهد.

موتور زمان اجرا عملیات پایگاه داده را انجام می دهد.

برای درج دو فرم متصل در همان مرز معامله ، باید پردازش معاملات را برای فرم والدین فعال کنید و تعیین کنید که در والدین در اتصال به فرم دوم قرار دارد. شما نیازی به فعال کردن پردازش معاملات برای فرم دوم ندارید زیرا انتخاب شما در فرم مبدأ ، انتخاب شما را در فرم نامیده شده غلبه می کند.

در این جدول رابطه بین دو شکل و مرزهای معامله موجود در هر سناریو آمده است. معاملات را می توان به یک شکل آغاز کرد و از طریق اتصال به فرم و تماس های عملکرد تجاری به فرم های بیشتری گسترش یافت. در مثال ، دکمه OK در فرم 1 فرم 2 را فراخوانی می کند. می توانید با مشخص کردن TP ON OR ON OR یا TP ، مرزهای معامله را تغییر دهید. جدول توضیح می دهد که چه اتفاقی می افتد وقتی مرز معامله خود را به روش های مختلف تعریف می کنید.

X از آنجا که هیچ فرم از تعهد دستی استفاده نمی کند ، شامل پرچم والدین در ویژگی های اتصال به فرم است.

همه فرم ها از تعهد خودکار استفاده می کنند

فرم 1 (والدین) از حالت تعهد دستی استفاده می کند و فرم 2 (کودک) از تعهد خودکار استفاده می کند.

از آنجا که شامل پرچم والدین خاموش است ، مرز معامله گسترش نمی یابد تا فرم 2 (کودک) را شامل شود

X حتی اگر پرچم پردازش معامله برای فرم 2 (کودک) خاموش باشد ، شامل پرچم والدین روشن است.

مرز معامله شامل فرم 2 (کودک) است

از آنجا که شامل پرچم والدین خاموش است ، فرم 1 (والدین) و فرم 2 (فرزند) به عنوان نهادهای مستقل فعالیت می کنند.

فرم 1 در حالت تعهد خودکار فعالیت می کند و فرم 2 در حالت تعهد دستی فعالیت می کند.

X یک مورد غیرعادیاز آنجا که پردازش معاملات در فرم 1 (والدین) خاموش است ، مرز معامله به کودک گسترش نمی یابد ، حتی اگر شامل پرچم والدین برای فرم 2 باشد (کودک)

فرم 2 (کودک) در حالت تعهد دستی است و پرچم اتصال به هم نادیده گرفته می شود.

پردازش معاملات برای هر دو شکل روشن است.

از آنجا که در پرچم والدین خاموش است ، هر فرم یک مرز معامله است و برای هر یک تعهد صادر می شود.

X پردازش معاملات برای هر دو شکل روشن است. با این حال ، از آنجا که شامل پرچم والدین روشن است ، یک معامله هر دو شکل را در بر می گیرد.

مرز معامله شامل هر دو شکل است. فرم 2 فرزند فرم 1 است.

5. 1. 2. 4 پردازش معاملات و عملکردهای تجاری

یک فرآیند برنامه یا دسته ای مرز معاملات اولیه را تعیین می کند. اگر یک برنامه در قوانین رویداد یک عملکرد تجاری را فراخوانی کند ، عملیات پایگاه داده در عملکرد تجارت در مرزهای برنامه والدین آنها گروه بندی می شود.

کارکردهای کارشناسی ارشد تجاری نباید مرزهای خود را تعریف کنند.

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

هنگامی که از توابع تجاری در یک معامله استفاده می کنید ، باید مراقب باشید که باعث بن بست نشوید. اگر دو کارکرد همان جدول را تغییر دهید ، اگر یک عملکرد را در معامله قرار دهید اما دیگری نیست ، ممکن است باعث بن بست شوید. از طرف دیگر ، اگر یک عملکرد تجاری که سوابق را برای اطلاعات انتخاب می کند ، همچنین داده ها را در جداول دیگر به روز می کند یا درج می کند ، ممکن است بخواهید عملکرد کسب و کار را تقسیم کنید.

5. 1. 2. 5 پردازش معاملات در کارکردهای تجاری از راه دور

در یک برنامه کاربردی با معامله ، اگر یک عملکرد تجارت سرور یک رکورد را تغییر داده باشد ، و یک عملکرد تجارت مشتری در خارج از معامله برای دسترسی به رکورد ، عملکرد مشتری قفل شده است تا زمانی که عملکرد تجارت سرور داده ها را مرتکب نشده باشد. تا زمان انجام داده ها ، برنامه مشتری نمی تواند به تغییرات پایگاه داده انجام شده توسط توابع تجاری سمت سرور دسترسی پیدا کند. اگر یک عملکرد تجارت سرور نتواند تعهد کند یا کاربر معامله ای را در عملکرد کسب و کار سرور لغو کند ، معامله برای عملکرد کسب و کار باز می گردد.

5. 1. 2. 6 توابع سیستم پردازش معامله

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

به عنوان مثال ، یک سناریو را با دو شکل ، فرم A و فرم B فرض کنید ، با پردازش معاملات برای فرم A. Futhermore ، فرض کنید که فرم تماس با گزینه شامل گزینه والدین در دکمه پست OK کلیک کنید. از آنجا که فرم B مرزهای معامله را برای فرم A به ارث می برد ، اگر کاربر یک رویداد را در فرم B لغو کند ، این اتفاق می افتد:

نوشته های فرم B نوشته نشده است.

کنترل به فرم A برگردانده می شود.

نوشته های فرم A نوشته شده و متعهد است.

در این سناریو می توانید با استفاده از عملکرد سیستم معاملات Rollback ، از تعهد ورودی های فرم A جلوگیری کنید.

شما می توانید از این توابع سیستم برای تعریف مرزهای معامله در یک فرآیند دسته ای استفاده کنید:

معامله را شروع کنید تا از کجا معامله شروع شود.

انجام معامله برای انجام معامله.

معامله برگشت به عقب برگشت معامله.

5. 1. 3 در دسترس بودن پردازش معامله

برای برنامه های تعاملی ، پردازش معاملات برای این نوع فرم ها در دسترس است:

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.