เรียกใช้ธุรกรรม

ธุรกรรมการเรียกใช้ใช้สำหรับเรียกใช้คําสั่งคลัสเตอร์อย่างน้อย 1 รายการบนโหนดเป้าหมาย ซึ่งคล้ายกับการเรียกใช้โพรซีเยอร์ระยะไกลไปยังคําสั่งที่กําหนดไว้ในคลัสเตอร์

เช่นเดียวกับธุรกรรมการเขียน ธุรกรรมการเรียกใช้รองรับธุรกรรมแบบกำหนดเวลาและไม่กำหนดเวลา โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับธุรกรรมแบบกำหนดเวลาในส่วนการดำเนินการแบบกำหนดเวลาและแบบไม่กำหนดเวลา

ธุรกรรมการเรียกใช้แบบไม่กำหนดเวลา

ลําดับการดําเนินการของธุรกรรมการเรียกใช้แบบไม่กําหนดเวลา
รูปที่ 1: ธุรกรรมเรียกใช้แบบไม่กำหนดเวลา

Invoke Request Action

ทิศทาง: ผู้เริ่ม -> เป้าหมาย

การดำเนินการนี้คล้ายกับการดำเนินการกับคำขออ่านและการดำเนินการกับคำขอเขียน ดังนี้

  • คำขอเรียกใช้: รายการเส้นทางไปที่คําสั่งคลัสเตอร์ รวมถึงอาร์กิวเมนต์ที่ไม่บังคับสําหรับคําสั่งซึ่งมีชื่อว่าฟิลด์คําสั่ง
  • คําขอแบบตั้งเวลา: Flag ที่ระบุว่าการดําเนินการนี้เป็นส่วนหนึ่งของธุรกรรมการเรียกใช้แบบตั้งเวลาหรือไม่
  • ระงับคำตอบ: การแจ้งที่ระบุว่าควรระงับการเรียกใช้การดำเนินการตอบกลับหรือไม่
  • รหัสการโต้ตอบ: จำนวนเต็มที่ใช้จับคู่การดำเนินการเรียกใช้คำขอกับการดำเนินการเรียกใช้คำตอบ

เรียกใช้การดำเนินการตอบกลับ

ทิศทาง: เป้าหมาย -> ผู้เริ่ม

หลังจากที่เป้าหมายได้รับการดำเนินการตามคำขอ Invoke แล้ว ก็จะทำธุรกรรมให้เสร็จสมบูรณ์ด้วยการดำเนินการตามคำตอบ Invoke ที่มีข้อมูลต่อไปนี้

  • คำตอบการเรียกใช้: รายการคำตอบหรือสถานะของคําสั่งสําหรับคําขอเรียกใช้ทุกรายการที่ส่ง
  • รหัสการโต้ตอบ: จำนวนเต็มที่ใช้จับคู่การดำเนินการของคำตอบการเรียกใช้กับการดำเนินการของคำขอการเรียกใช้

ข้อจำกัดการเรียกใช้แบบไม่จำกัดเวลา

การเรียกใช้การดำเนินการตามคำขออาจเป็นการส่งแบบกลุ่ม แต่ในกรณีนี้ต้องตั้งค่า Flag Suppress Response เหตุผลคือไม่เช่นนั้นเครือข่ายอาจท่วมไปด้วยคำตอบที่ส่งพร้อมกันจากสมาชิกทุกคนในกลุ่ม

หากต้องการเปิดใช้ลักษณะการทํางานนี้ เส้นทางที่ใช้ในรายการคําขอ Invoke อาจประกอบด้วยกลุ่ม หรืออาจมีไวลด์การ์ดก็ได้ แต่ต้องอยู่ในช่องปลายทางเท่านั้น นอกจากนี้ หากการดำเนินการเป็นการแคสต์แบบกลุ่ม ธุรกรรมนี้จะสิ้นสุดลงโดยไม่มีการตอบกลับ

ธุรกรรมการเรียกใช้แบบกำหนดเวลา

เช่นเดียวกับธุรกรรมการเขียนแบบกำหนดเวลา ธุรกรรมการเรียกใช้แบบกำหนดเวลาก็เริ่มต้นด้วยการดำเนินการตามคําขอแบบกําหนดเวลาด้วย

ลําดับการดําเนินการของธุรกรรมการเรียกใช้แบบกำหนดเวลา
รูปที่ 2: ธุรกรรมเรียกใช้แบบกำหนดเวลา

การดำเนินการตามคำขอแบบกำหนดเวลา

ทิศทาง: ผู้เริ่ม -> เป้าหมาย

ผู้เริ่มทำธุรกรรมจะเริ่มธุรกรรมโดยส่งการดําเนินการนี้ซึ่งมีข้อมูลต่อไปนี้

  • ระยะหมดเวลา: จำนวนมิลลิวินาทีที่ธุรกรรมนี้จะยังคงเปิดอยู่ ในระหว่างช่วงนี้ ระบบจะถือว่าการดำเนินการครั้งถัดไปที่ผู้เริ่มดำเนินการส่งมานั้นถูกต้อง

เมื่อได้รับการดำเนินการตามคำขอแบบกำหนดเวลาแล้ว เป้าหมายต้องรับทราบการดำเนินการตามคำขอแบบกำหนดเวลาด้วยการดำเนินการตอบกลับสถานะ เมื่อผู้เริ่มดำเนินการได้รับการดำเนินการตอบสนองสถานะซึ่งไม่มีการรายงานข้อผิดพลาด ก็จะส่งการดำเนินการตามคำขอเรียกใช้

Invoke Request Action

เหมือนกับการเรียกใช้การดำเนินการตามคำขอที่อธิบายไว้ก่อนหน้านี้

เรียกใช้การดำเนินการตอบกลับ

เหมือนกับ Invoke Response Action ที่อธิบายไว้ก่อนหน้านี้

ข้อจำกัดการเรียกใช้แบบกำหนดเวลา

คำสั่งเรียกใช้ทั้งหมดอาจเรียกใช้ในการโต้ตอบแบบกำหนดเวลา การดําเนินการตามคําขอแบบมีเวลา การดําเนินการเรียกคําขอ และการดําเนินการเรียกคําตอบจะใช้ได้กับUnicastเท่านั้น จึงใช้เป็นการแคสต์กลุ่มในธุรกรรมการเรียกแบบมีเวลาไม่ได้

การดำเนินการเรียกใช้คำขอรองรับการใช้เส้นทางที่มีกลุ่มและไวลด์การ์ด แต่การดำเนินการเรียกใช้คำตอบไม่รองรับการใช้ไวลด์การ์ด