Core Services Layer - Core Data

Core Services Layer - Core Data:

  • Introduce to Core Data
  • Core Services Microservices - Core Data “Streaming”
  • Core Services Microservices - Data Model
  • Core Services Microservices - Data Dictionary
  • Core Services Microservices - High Level Interaction Diagrams

1.png

1. Introduce to Core Data

核心数据微服务(Core Data Microservice)为设备和传感器收集的数据读数提供集中的持久化服务。用于收集设备和传感器数据的设备服务,通过调用Core Data服务将设备和传感器数据存储在边缘系统(例如网关)中,直到这些数据需要“向北”转移,再导出数据到云系统之中。

EdgeX Foundry内部以及可能位于EdgeX Foundry外部的其他服务(如计划服务)仅能通过Core Data服务访问存储在网关上的设备和传感器数据。核心数据在数据处于边缘时为设备和传感器收集的数据提供一定程度的安全性和保护。

Core Data使用REST API将数据存储和导出本地。将来,微服务可以扩展,以允许通过其他协议(如MQTT,AMQP等)访问数据。Core Data微服务的备用配置允许数据通过MQTT分发到Export Services,但也需要安装ActiveMQ等代理。

在关注延迟或容量的情况下,规则引擎微服务的备用配置允许它通过ZeroMQ直接从Core Data获取其数据(与Export Services相同,成为了第二个订阅ZeroMQ的微服务)。


### 2. Core Data “Streaming”

默认情况下,Core Data会保留发送给它所有收集的设备和传感器数据。但是,
1
persist.data = false

对Core Data( persist.data = false )的配置更改,使Core Data通过消息队列将数据发送到Export Service,而不在本地保存数据。此选项的优点是减少延迟通过Core Data的时延和边缘侧的存储需求,但代价是在边缘侧没有历史数据可用于基于随时间变化的操作等。

This option has the advantage of reducing latency through this layer and storage needs at the network edge, but the cost is having no historical data to use for operations based on changes over time, and only minimal device actuation decisions, based on single event data, at the edge.

3. Data Model

下图显示了核心数据的数据模型。

2.png

4. Data Dictionary

table-1.png

5. High Level Interaction Diagrams

以下两个高级互动图显示:

EdgeX Foundry核心数据添加设备或传感器读数EdgeX Foundry核心数据请求事件读取或设备数据

  • Core Data 添加设备或传感器数据

3.png

  • Core Data 请求事件读取或设备数据

4.png

参考文献

------ 本文结束感谢您的阅读 ------