เขียนธุรกรรม

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

ธุรกรรมการเขียนที่ไม่ได้กำหนดเวลา

ลำดับการดำเนินการของธุรกรรมการเขียนที่ยังไม่มีเวลา
ภาพที่ 1: ธุรกรรมการเขียนที่ยังไม่มีเวลา

การดำเนินการคำขอการเขียน

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

เช่นเดียวกับการดำเนินการคำขอการอ่าน ในการดำเนินการนี้ ผู้เริ่มต้นจะให้เป้าหมายพร้อมด้วย:

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

เขียนการดำเนินการตอบกลับ

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

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

  • เขียนคำตอบ: รายการเส้นทางและรหัสข้อผิดพลาดสำหรับทุกคำขอการเขียนที่ส่งในการส่งคำขอการเขียน

ข้อจำกัดในการเขียนที่ไม่มีการจำกัดเวลา

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

หากต้องการเปิดใช้ฟีเจอร์นี้ เส้นทางที่ใช้ในรายการคำขอการเขียนอาจมีกลุ่มหรืออาจมีไวลด์การ์ดได้ แต่จะมีได้เฉพาะในช่องปลายทางเท่านั้น

การเขียนธุรกรรมตามลำดับเวลา

ลำดับการดำเนินการของธุรกรรมการเขียนตามลำดับเวลา
ภาพที่ 2: ธุรกรรมการเขียนตามกำหนดเวลา

ธุรกรรมการเขียนแบบจับเวลาจะเพิ่มขั้นตอน 2-3 ขั้นตอนลงในธุรกรรมการเขียนที่ไม่ได้กำหนดเวลา

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

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

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

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

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

การดำเนินการคำขอการเขียน

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

เขียนการดำเนินการตอบกลับ

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

ข้อจำกัดในการเขียนตามลำดับเวลา

การดำเนินการคำขอตามลำดับเวลา การดำเนินการคำขอการเขียน และการดำเนินการตอบกลับการเขียนจะเป็นแบบ Unicast เท่านั้น