Đọc giao dịch

Đọc giao dịch

Một trong những trường hợp sử dụng đầu tiên khi tương tác với các Nút trong Matter là đọc một Thuộc tính từ một Nút khác, chẳng hạn như giá trị nhiệt độ của một cảm biến. Trong các Lượt tương tác đó, Hành động đầu tiên phải được thực hiện là Hành động yêu cầu đọc.

Trình tự hoạt động của Giao dịch đọc
Hình 1: Đọc giao dịch

Hành động yêu cầu đọc

Hướng: Trình khởi tạo -> Mục tiêu

Trong Hành động này, Trình khởi tạo truy vấn một Mục tiêu cung cấp:

  • Yêu cầu thuộc tính: một danh sách không có hoặc có nhiều Thuộc tính của mục tiêu. Danh sách này bao gồm không hoặc có nhiều Đường dẫn đến Thuộc tính được yêu cầu của Mục tiêu.
  • Yêu cầu sự kiện: danh sách không có hoặc nhiều Đường dẫn đến các Sự kiện được yêu cầu của Mục tiêu.

Sau khi nhận được Hành động yêu cầu đọc, Mục tiêu sẽ tập hợp một Hành động dữ liệu báo cáo với thông tin được yêu cầu.

Thao tác báo cáo dữ liệu

Hướng: Mục tiêu -> Trình khởi tạo

Trong Hành động này, Mục tiêu phản hồi bằng:

  • Báo cáo thuộc tính: một danh sách không có hoặc nhiều Thuộc tính được báo cáo được yêu cầu trong Yêu cầu hành động đọc.
  • Báo cáo sự kiện: danh sách gồm 0 hoặc nhiều Sự kiện được báo cáo.
  • Chặn phản hồi: cờ xác định liệu phản hồi trạng thái đối với thao tác này có bị chặn hay không.
  • Mã gói thuê bao: nếu báo cáo này thuộc một giao dịch gói thuê bao, thì báo cáo phải bao gồm một số nguyên dùng để xác định giao dịch gói thuê bao đó.

Thao tác phản hồi trạng thái

Hướng: Mục tiêu -> Trình khởi tạo hoặc Trình khởi tạo -> Mục tiêu

Sau khi nhận được dữ liệu được yêu cầu, theo mặc định, Trình khởi tạo phải tạo một Hành động phản hồi trạng thái. Hành động này được gửi từ Trình khởi tạo, xác nhận việc nhận được dữ liệu được báo cáo. Nếu bạn đặt cờ Chặn phản hồi trạng thái, thì Trình khởi tạo không được gửi Hành động phản hồi trạng thái.

Sau khi Trình khởi tạo gửi Hành động phản hồi trạng thái hoặc Trình khởi tạo nhận được Hành động phản hồi trạng thái có bật cờ Phản hồi chặn, truy vấn đọc/báo cáo sẽ hoàn tất.

Hành động phản hồi trạng thái chỉ chứa một trường trạng thái xác nhận thành công của thao tác hoặc hiển thị mã lỗi.

Hạn chế quyền đọc

Hành động yêu cầu đọc và Hành động dữ liệu báo cáo chỉ có thể sử dụng Unicast. Hơn nữa, Đường dẫn của các yêu cầu này có thể không nhắm đến một Nhóm nút.

Hành động phản hồi trạng thái chỉ có ở Unicast, nên không thể tạo dưới dạng phản hồi cho một video ghi lại chuyển động nhóm.

Giao dịch đăng ký

Trình tự hoạt động của Giao dịch thuê bao
Hình 2: Giao dịch gói thuê bao

Thao tác yêu cầu đăng ký

Hướng: Trình khởi tạo -> Mục tiêu

Ngoài một Hành động yêu cầu đọc duy nhất, Trình khởi tạo cũng có thể đăng ký nhận các bản cập nhật định kỳ của một Thuộc tính hoặc Sự kiện. Do đó, cùng một Hành động dữ liệu báo cáo có thể được tạo do việc cập nhật dữ liệu định kỳ sau một Giao dịch thuê bao.

Hoạt động tương tác với gói thuê bao tạo ra mối quan hệ giữa 2 Nút, trong đó Mục tiêu sẽ định kỳ tạo Hành động dữ liệu báo cáo cho Trình khởi tạo. Trình khởi tạo là Người đăng ký và Mục tiêu là Nhà xuất bản.

Hành động yêu cầu đăng ký bao gồm:

  • Khoảng thời gian tối thiểu: khoảng thời gian tối thiểu giữa các báo cáo.
  • Giá trị trần khoảng thời gian tối đa: khoảng thời gian tối đa giữa các báo cáo.
  • Báo cáo thuộc tính: danh sách không có hoặc nhiều Thuộc tính được báo cáo được yêu cầu trong Yêu cầu hành động đọc.
  • Báo cáo sự kiện: danh sách không có hoặc nhiều Sự kiện được báo cáo.

Sau Yêu cầu đăng ký, Mục tiêu sẽ phản hồi Trình khởi tạo bằng một Thao tác dữ liệu báo cáo chứa lô dữ liệu được báo cáo đầu tiên: Dữ liệu đã xuất bản được trích xuất.

Sau đó, Trình khởi tạo sẽ xác nhận Hành động dữ liệu báo cáo bằng một Hành động phản hồi trạng thái được gửi đến Mục tiêu. Sau khi nhận được một Hành động phản hồi trạng thái không báo cáo lỗi, Mục tiêu sẽ gửi một Hành động phản hồi đăng ký.

Sau đó, Mục tiêu sẽ định kỳ gửi Hành động dữ liệu báo cáo vào khoảng thời gian đã thương lượng và Trình khởi tạo sẽ phản hồi các Hành động đó cho đến khi gói thuê bao bị mất hoặc bị huỷ.

Thao tác đăng ký phản hồi

Hướng: Mục tiêu -> Trình khởi tạo

Đây là Hành động cuối cùng trên Giao dịch thuê bao và kết thúc quy trình này. Thư mục này bao gồm:

  • Mã nhận dạng gói thuê bao: một số nguyên xác định gói thuê bao.
  • Khoảng thời gian tối thiểu: khoảng thời gian tối thiểu cuối cùng, được xác định giữa các báo cáo.
  • Khoảng thời gian tối đa: khoảng thời gian tối đa cuối cùng, được xác định giữa các báo cáo.

Hạn chế về việc đăng ký

  • Hành động yêu cầu đăng ký và Hành động phản hồi đăng ký chỉ là các hành động dành cho Unicast.
  • Tất cả các Thao tác dữ liệu báo cáo trong một Tương tác gói thuê bao phải có cùng Mã gói thuê bao.
  • Nếu Người đăng ký không nhận được Hành động dữ liệu báo cáo trong khoảng thời gian tối đa đã thương lượng giữa các Hành động, thì gói thuê bao sẽ bị chấm dứt.
  • Do quy tắc trước đó, Nhà xuất bản có thể chấm dứt một Tương tác gói thuê bao chỉ bằng cách ngừng gửi Thao tác dữ liệu báo cáo định kỳ.
  • Người đăng ký có thể chấm dứt Hoạt động tương tác của gói thuê bao bằng cách phản hồi một Thao tác dữ liệu báo cáo bằng mã trạng thái INACTIVE_SUBSCRIPTION.