Sau khi phân tích dữ liệu, nếu thỏa mãn điều kiện, Kuiper có thể thực hiện một số hành động như:
Gửi lệnh tới vi dịch vụ điều khiển để điều khiển đối tượng nào đó. Gửi kết quả phân tích quay lại tuyến tin nhắn để các vi dịch vụ khác có
thể nhận và xử lý tiếp.
Gửi REST API tới các vi dịch vụ khác, không chỉ đến vi dịch vụ điều khiển, ví dụ vi dịch vụ cảnh báo và thơng báo.
Hình 2.3 Kết hợp các vi dịch vụ EdgeX với Kuiper bằng tuyến tin nhắn
Nhật ký
2.3.7
Việc ghi nhật ký cung cấp cho người dùng những lợi ích sau: Có khả năng giám sát và hiểu hệ thống đang làm gì.
17
Các vấn đề sẽ được phát hiện và sửa nhanh chóng. Giám sát để thúc đẩy cải thiện hiệu suất.
EdgeX tạo ra vi dịch vụ nhật ký nằm ở lớp dịch vụ hỗ trợ, được sử dụng bởi các vi dịch vụ khác trong hệ thống thông qua REST API mà vi dịch vụ nhật ký cung cấp. Thơng tin nhật ký có chứa các thơng tin cơ bản như: tên dịch vụ tạo nhật ký, thời gian, mức nhật ký, nội dung.
Cảnh báo và thông báo
2.3.8
Vi dịch vụ cảnh báo và thông báo phụ trách chức năng gửi thông báo hoặc cảnh báo tới người dùng, các thiết bị khác hoặc dịch vụ của bên thứ ba do các vi dịch vụ khác khác yêu cầu. Ví dụ, một vi dịch vụ trong hệ thống muốn phát các bản tin thông báo về việc dữ liệu cảm biến đọc được vượt quá phạm vi cho phép (thường được phát hiện bởi vi dịch vụ quy tắc công cụ) hay những trục trặc hệ thống được phát hiện bởi dịch vụ quản lý hệ thống, thì chúng sẽ gọi đến vi dịch vụ cảnh báo và thông báo để yêu cầu gửi thông báo, cảnh báo.
Từ thông báo (notifications) ngụ ý rằng đây chỉ là thông tin, trong khi cảnh báo (alerts) nói đến những vấn đề có tính chất quan trọng, thường u cầu hành động ngay lập tức. Vi dịch vụ cảnh báo và thơng báo có cách xử lý yêu cầu khác nhau tùy vào mức độ yêu cầu, thông qua giá trị của mức nghiêm trọng (severity). Nếu ở mức bình thường (normal), vi dịch vụ sẽ phản hồi tới bên yêu cầu rằng đã nhận u cầu thành cơng, sau đó mới thực hiện yêu cầu. Ngược lại, nếu ở mức quan trọng (critical), thì các yêu cầu sẽ được ưu tiên xử lý trước, sau đó mới gửi phản hồi tới bên gửi.
Ngồi ra, vi dịch vụ cịn hỗ trợ chức năng gửi lại khi gặp lỗi nhằm tăng khả năng thành công của yêu cầu.
Vi dịch vụ cảnh báo và thông báo lưu trữ những thông tin sau:
Kênh (Channel): mô tả điểm cuối của thông báo, cảnh báo sẽ gửi tới. Hiện tại hỗ trợ 2 loại kênh là REST và Email.
Thông báo (Notification): chứa nội dung thông báo, cảnh báo.
Bộ truyền (Transmission): chứa các bản ghi thông báo, cảnh báo cùng với điểm cuối, và trạng thái của việc gửi thông báo, cảnh báo.
18
Vi dịch vụ ứng dụng:
2.3.9
Vi dịch vụ ứng dụng là nơi lấy dữ liệu từ EdgeX gửi ra các hệ thống bên ngoài (các ứng dụng doanh nghiệp, các hệ thống đám mây như Azure IoT, AWS IoT, Google IoT Core...) hoặc cũng có thể là các vi dịch vụ khác. Dịch vụ ứng dụng cung cấp phương tiện để xử lý, chuyển đổi dữ liệu (chuyển đổi, lọc...) và chuyển đổi định dạng phù hợp (nén, mã hóa...) trước khi gửi dữ liệu tới điểm cuối HTTP(s) hoặc MQTT(s) đã cài đặt.
Các vi dịch vụ ứng dụng dựa trên ý tưởng của một đường ống chức năng “Functions Pipeline”. Đường ống chức năng là tập hợp các hàm xử lý dữ liệu (mặc định dữ liệu là Event của EdgeX) được thực hiện theo thứ tự được chỉ định. Hàm đầu tiên của đường ống gọi là hàm kích hoạt (Trigger). Hàm này sẽ nhận dữ liệu từ phía ngồi vào, và bắt đầu đường ống xử lý. Có 2 loại hàm kích hoạt, một là loại hàm kích hoạt bởi dữ liệu từ giao thức HTTP, một loại được kích hoạt từ dữ liệu nhận được từ tuyến tin nhắn.