فراخوانی تراکنش ها

تراکنش‌های فراخوانی برای فراخوانی یک یا چند دستور خوشه در یک گره هدف استفاده می‌شوند. این شبیه به فراخوانی‌های رویه‌های راه دور است که به یک فرمان تعریف شده در Cluster انجام می‌شود.

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

تراکنش فراخوانی بدون زمان

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

فراخوانی اقدام درخواست

جهت: Initiator -> Target

مشابه عمل درخواست خواندن و اقدام درخواست نوشتن، در این اقدام، Initiator به هدف ارائه می دهد:

  • Invoke Requests : فهرستی از مسیرهای دستورات خوشه و همچنین آرگومان های اختیاری دستورات با نام Command Fields .
  • درخواست زمان‌بندی شده: پرچمی که نشان می‌دهد آیا این اقدام بخشی از یک تراکنش زمان‌بندی شده است یا خیر.
  • Suppress Response: پرچمی که نشان می دهد آیا Invoke Response Action باید سرکوب شود یا خیر.
  • شناسه تعامل : یک عدد صحیح که برای تطبیق اقدام درخواست فراخوان با اقدام پاسخ فراخوانی استفاده می‌شود.

Invoke Response Action

جهت: Target -> Initiator

پس از اینکه هدف، اقدام درخواست فراخوان را دریافت کرد، تراکنش را با یک اقدام پاسخ فراخوانی نهایی می‌کند که شامل موارد زیر است:

  • Invoke Responses : فهرستی از پاسخ‌های فرمان یا وضعیت برای هر درخواست فراخوانی ارسال شده.
  • شناسه تعامل: یک عدد صحیح که برای تطبیق اکشن پاسخ فراخوانی با اقدام درخواست فراخوان استفاده می شود.

محدودیت های فراخوانی بدون زمان

Invoke Request Action ممکن است گروهی باشد، اما در این مورد باید پرچم Suppress Response تنظیم شود. منطق این است که در غیر این صورت شبکه ممکن است توسط پاسخ‌های همزمان هر یک از اعضای یک گروه غرق شود.

برای فعال کردن این رفتار، مسیر مورد استفاده در فهرست درخواست‌های فراخوانی ممکن است حاوی گروه‌ها باشد و در عوض ممکن است حاوی حروف عام باشد، اما فقط در قسمت Endpoint. علاوه بر این، اگر Action به صورت گروهی باشد، این تراکنش بدون پاسخ خاتمه می یابد.

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

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

توالی عملیات تراکنش فراخوانی زماندار
شکل 2: تراکنش فراخوانی زماندار

اقدام به موقع درخواست

جهت: Initiator -> Target

یک Initiator تراکنش را با ارسال این اکشن که شامل:

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

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

فراخوانی اقدام درخواست

مانند عمل درخواست فراخوانی که قبلا توضیح داده شد.

Invoke Response Action

مانند عملکرد واکنش فراخوانی که قبلا توضیح داده شد.

محدودیت های فراخوانی زمان دار

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

Invoke Request Action از استفاده از مسیرها با Groups و همچنین حروف عام پشتیبانی می کند، اما Invoke Response Action از استفاده از wildcard پشتیبانی نمی کند.