> 文档中心 > EdgeX Foundry框架简介

EdgeX Foundry框架简介


一、框架主要微服务

核心服务 Core Services

核心数据:Core Data

负责存储设备的传感数据,以及设备配置文件(Device Profile)的vauedescriptor值描述符):

核心元数据: Core Metadata

负责存储各个微服务相关的元数据信息,例如:设备服务相关

设备服务信息:IP,服务名称,回调接口地址等

设备信息:IP,设备名称,所属设备服务,所用设备配置文件等

设备配置文件信息:设备所用协议相关的接口信息

预配观察器(类似于设备自动发现的过滤器):设备发现的IP黑、白名单信息

自动事件(类似定时器,定时通过接口获取设备上的数据):时间间隔,调用的接口信息

其他微服务的相关信息

 

核心命令: Core Command

存储设备相关的命令接口,通过接口调用,可获取设备的数据

 

设备服务 Device Services

一批相同协议设备的中转支持服务,负责处理设备与核心服务之间的交互,例如:设备发现,读、写设备数据等。主要工作是转换数据:

  1. 将设备的数据转换为核心服务可识别的数据格式,发送给核心服务
  2. 将核心服务的命令请求数据转换为设备可识别的数据格式,发送给设备
  3. 也可以设定虚拟设备,进行服务器的信息监控以及微服务的监控,并上传至核心数据服务,再由应用服务(Application Services)输出至北向云端

应用服务 Application Services

负责核心数据北向云输出、云端控制设备等功能

支持服务Support Services

包括日志服务、任务调度服务、通知服务、规则引擎服务等

系统服务System Management

系统管理服务,用于微服务的启动,停止、重启等操作

安全服务 Security Services

包括CA证书的生成、API 网关(Kong)的初始化、密钥仓库(Vault)的初始化等

注册与配置中心 Configuration and Registry

使用的是consul作为服务注册中心与配置中心

二、服务的数据流转

南向-->北向

设备数据-->设备服务-->核心数据服务-->应用服务-->北向云端

 

 

说明:

1、设备数据产生:Step1

(1)设备主动上传数据至设备服务

(2)设备服务本地的定时自动事件获取设备数据

(3)支持服务(Supporting Services)中的任务调度服务(scheduler)通过定时任务获取设备数据

(2)(3)都是调用设备服务的reading接口获取设备数据

2、数据进入设备服务:Step1

设备服务获取到设备数据,按照设备的协议进行数据解析,解析完成后封装成核心数据服务所规定的数据格式

3、发送至核心数据服务:Step1

设备服务通过调用核心数据服务的接口,将设备的事件数据上传至核心数据,并持久化至redis中

4、数据发布至ZeroMQ 队列:Step2

数据进入核心数据服务进行数据持久化的同时还会将数据发布到ZeroMQ消息队列中,以供Application Services 监听并获取

5、Application Services 获取事件数据:Step3

应用程序服务提供两种过滤方式进行数据过滤:设备名称(FilterByDeviceName)、设备配置文件值描述符(FilterByValueDescriptor)

  1. 设备名称(FilterByDeviceName): 只获取指定设备的所有接口数据,可以设置多个设备的数据,不区分值描述符
  2. 设备配置文件值描述符(FilterByValueDescriptor):只获取某些特定值描述符的设备数据,可配置多个,不区分设备

过滤后的数据,可以转换为XML/JSON格式,调用开发好的北向输出接口(MQTT、HTTP),将数据输出至云端系统(MQTT或其他云服务)

北向-->南向

1、应用服务-->规则引擎服务-->核心命令服务-->设备服务-->设备数据

2、北向云端-->应用服务-->核心命令服务-->设备服务-->设备数据