基于Edgex和InfluxDB的边缘计算平台的制作方法
未命名
07-29
阅读:157
评论:0
基于edgex和influxdb的边缘计算平台
技术领域
1.本发明涉及物联网边缘计算技术领域,具体地说是一种基于edgex和influxdb的边缘计算平台。
背景技术:
2.物联网中分为感知层、网络层、平台层、应用层,如附图1所示。在物联网中,设备收集数据、数据在网络层传输、数据在平台层存储和处理以及数据在应用层使用,这些过程中都会产生延迟。特别是当设备距离云端过远以及数据量过大导致对网络宽带要求较高的情况下。
3.通过边缘计算,在边缘实现对数据的收集、存储、分析和处理,并且实现与云端的通信。边缘计算将计算量较为频繁的任务移到边缘在距离设备较近的位置进行本地处理,减少数据传输的流量瓶颈,并减少传输距离,极大的减少了延时,也降低了云端存储和计算的压力。
4.边缘计算平台是一种为边缘计算提供统一的资源管理以及方便开发人员快速开发的平台。边缘计算平台具有互操作性、可伸缩性、可扩展性、安全性等特点,解决了不同设备数据结构多样性、资源的可管理性、应用程序的复杂性等问题。
5.随着物联网、互联网等技术的进步,以及各类传感器、摄像头、网关等物联网设备的发展,出现了越来越多的物联网数据。数据在设备和云端服务传输过程中产生的延迟、安全、能耗等问题需要解决。
6.故如何提高数据利用效率以及如何对设备采集数据进行存储,降低对于存储空间的需求是目前亟待解决的技术问题。
技术实现要素:
7.本发明的技术任务是提供一种基于edgex和influxdb的边缘计算平台,来解决如何提高数据利用效率以及如何对设备采集数据进行存储,降低对于存储空间的需求的问题。
8.本发明的技术任务是按以下方式实现的,一种基于edgex和influxdb的边缘计算平台,该边缘计算平台包括数据采集模块、数据存储模块、数据转发模块以及边缘监测模块;
9.其中,数据采集模块用于对生产过程中的设备数据进行采集;
10.数据存储模块用于将设备和产品的配置信息以及边缘计算平台的元数据信息存入redis数据库,将设备产生的数据信息存入influxdb;
11.数据转发模块用于转发从设备采集的数据;
12.边缘监测模块用于对现场设备运行状态及边缘计算平台数据进行监测,并对现场生成过程中的动态异常时间进行监测,从而减少工业现场设备意外停机时间,提高现场机器可用性和过程可靠性。
13.作为优选,所述数据采集模块包括物模型管理子模块和产品管理子模块;
14.其中,物模型管理子模块通过对实体设备的抽象建模,管理设备的属性及功能,对设备进行数字化管理,通过在物模型中定义的属性和方法控制设备行为和设备数据收集;
15.产品管理子模块用于通过对产品建立物模型,使设备继承产品的物模型,实现设备的创建和管理。
16.作为优选,influxdb通过eventbyeventid、eventidbydeviceidandsourc ename及eventidbydeviceid实现存储设备的event信息,即设备的方法调用信息,同时通过设备id及sourcename(设备方法名称)查询设备的方法调用信息。
17.作为优选,influxdb通过reading、readingidbydeviceid及readingidb ydeviceidandresourcename实现存储设备的reading,即设备的属性信息,同时,通过设备id及resourcename(设备属性名称)查询设备的属性变换信息。
18.作为优选,所述边缘监测模块包括设备监测子模块、状态监测子模块及性能监测子模块;
19.设备监测子模块用于对设备运行信息进行监测;
20.状态监测子模块用于对微服务状态进行监测;
21.性能监测子模块用于对设备性能进行监测。
22.更优地,influxdb对数据压缩具体如下:
23.s1、判断是否有新数据:
24.①
、若有,则执行步骤s2;
25.②
、若否,则执行步骤/5;
26.s2、写入新数据,下一步执行步骤s3;
27.s3、判断是否到达缓存上限:
28.①
、若是,则执行步骤步骤s4;
29.②
、若否,则写入日志文件;
30.s4、创建新日志文件,下一步执行步骤s6;
31.s5、判断是否长时间没有数据写入:
32.若是,则执行步骤s6;
33.s6、启动数据压缩。
34.更优地,步骤s2中的写入新数据具体如下:
35.s201、根据数据所属数据库实例名找到数据库实例,由数据库实例找到数据所属数据存储策略;
36.s202、由数据存储策略根据数据的时间范围找到命中的存储片区,并判断存储片区是否存在:
37.若存储片区不存在,则执行步骤s203;
38.s203、创建片区,并将数据分发给存储片区执行写入;
39.s204、存储片区将数据同时写入到内存缓存与日志文件中,日志文件定时压缩为数据文件,数据文件再逐步压缩为更大的数据文件,直到数据文件大小达到上限不再压缩。
40.作为优选,所述数据转发模块通过通过、mqtt协议、modbus、onvif、kafka或rest接口进行数据转发。
41.本发明的基于edgex和influxdb的边缘计算平台具有以下优点:
42.(一)本发明通过边缘计算,在靠近设备的网络边缘对数据进行处理和存储,从而提高对数据处理和利用的效率,提高服务质量,并解决云端服务和物理设备距离过远产生的问题;
43.(二)edgex是一种主流的边缘计算框架,为物联网的发展提供一个边缘计算的开放平台。edgex实现在边缘侧采集数据,并及时、高效的对设备产生的数据进行处理、存储和转发,增强了对数据利用的效率和准确性;本发明的物联网边缘平台基于edgex开放边缘平台,对edgex的功能进行了扩展,并利用influxdb时序性数据库对edgex的消息的存储进行改造;通过使用时序性数据库改造egdex的redis数据库,降低了数据存储需要的空间要求的情况下,同时保证了数据存储、查询和管理的速度要求;
44.(三)本发明的物联网边缘平台,基于edgex开源边缘计算平台,对edgex边缘计算平台功能进行扩展,在边缘实现对物联网设备的利用,提高数据利用的效率;同时,通过influxdb对edgex的设备采集数据存储进行改造,使得数据存储空间降低,并且保证数据库使用的效率;
45.(四)edgex边缘计算平台分为四层,如附图2所示,具体如下:
46.(1)设备服务层是负责采集设备数据、发送设备命令、向上层提供数据;
47.(2)核心服务层是服务的注册和发现、连接设备服务层和支持服务层;
48.(3)支持服务层提供边缘分析和智能服务;
49.(4)导出服务层是用于向远端的应用提供数据;
50.(五)influxdb是一种开源的时序性数据库,提出了时间结构合并树的存储模式,优化了数据库读写的速度;并通过压缩算法,降低了存储整数、布尔、浮点数、字符串、时间这些数据类型的存储空间;
51.(六)本发明的物联网的边缘计算平台在物联网中起到转移计算中心,降低远端计算压力和网络传输压力,提高数据利用的效率的作用;edgex是一种比较成熟的边缘计算平台,edgex提供了边缘计算平台的基本功能,但使用时会遇到不便,本发明对edgex进行改进,添加物模型管理、产品管理和设备状态监控;edgex数据存储采用redis的存储方式,但是物联网设备会产生大量的数据,使用redis存储会产生大量的空间需要,对于边缘设备要求较高,本发明通过influxdb对设备采集数据的存储进行改进,降低对于存储空间的需求;
52.(七)本发明可以实现对物联网设备采集数据的处理、存储和转发等基本功能;
53.(八)本发明将计算中心从云端移动到边缘,降低网络要求,更加高效、准确的利用设备产生的数据;
54.(九)本发明通过物模型,对设备进行数字化,对设备产生的数据进行统一的、标准的描述,实现对数据的识别,挖掘数据产生的价值;
55.(十)本发明通过产品管理和设备状态监测,提高平台的可用性,降低平台的使用难度;
56.(十一)本发明通过influxdb存储设备采集的数据,降低数据存储空间的需求,同时保证了数据存储和查询的效率;
57.(十二)本发明对设备状态监控,可以监测设备运行状态和数据,检测现场生产过程中的异常时间,减少设备意外的停机;
58.(十三)本发明添加产品管理模块,管理一类功能相同的设备,设备可以从产品继承物模型方便设备的创建和管理;本发明在核心服务层添加物模型管理服务、产品管理服务、设备状态监控等丰富平台的功能,提高平台的可用性和易用性,还添加物模型管理,负责管理产品和设备的属性和功能。
附图说明
59.下面结合附图对本发明进一步说明。
60.附图1为物联网架构的示意图;
61.附图2为edgex架构的示意图;
62.附图3为基于edgex和influxdb的边缘计算平台的结构示意图;
63.附图4为influxdb数据压缩的流程框图;
64.附图5为设备采集数据处理的流程框图。
具体实施方式
65.参照说明书附图和具体实施例对本发明的基于edgex和influxdb的边缘计算平台作以下详细地说明。
66.实施例:
67.如附图3所示,本实施例提供了一种基于edgex和influxdb的边缘计算平台,该边缘计算平台包括数据采集模块、数据存储模块、数据转发模块以及边缘监测模块;
68.其中,数据采集模块用于对生产过程中的设备数据进行采集;设备采集数据后,通过rest、mqtt、modbus、onvif等协议将数据发送到边缘计算平台,边缘计算平台会为每一种协议提供单独的设备服务。
69.数据存储模块用于将设备和产品的配置信息以及边缘计算平台的元数据信息存入redis数据库,将设备产生的数据信息存入influxdb;在物联网中,会产生大量的数据,将设备产生的数据存入redis,会在很短的时间内就导致服务器的内存溢出。此设计使用influxdb,降低数据存储所需的空间。
70.数据转发模块用于转发从设备采集的数据;边缘计算平台位于边缘侧,数据从设备采集到边缘计算平台,有时需要将数据进行转发。如将数据转发到数据中心进行模型的训练,将数据转发到第三方应用等。几乎所有云平台都支持mqtt协议,可以通过mqtt实现绝大多数的数据转发,其他情况的数据转发可以通过kafka,rest接口的形式完成。
71.边缘监测模块用于对现场设备运行状态及边缘计算平台数据进行监测,并对现场生成过程中的动态异常时间进行监测,从而减少工业现场设备意外停机时间,提高现场机器可用性和过程可靠性。
72.本实施例中的数据采集模块包括物模型管理子模块和产品管理子模块;
73.其中,物模型管理子模块通过对实体设备的抽象建模,管理设备的属性及功能,对设备进行数字化管理,通过在物模型中定义的属性和方法控制设备行为和设备数据收集;
74.产品管理子模块用于通过对产品建立物模型,使设备继承产品的物模型,实现设备的创建和管理。
75.物模型通过对实体设备的抽象建模,管理设备的属性和功能,对设备进行数字化。
产品是一类设备的总称,通过对产品建立物模型,设备可以继承产品的物模型,方便设备的创建和管理。通过产品管理和物模型管理实现对物联网设备的统一管理,将物理设备数字化,通过在物模型中定义的属性和方法,来控制设备行为和设备数据收集。
76.本实施例中,influxdb通过eventbyeventid、eventidbydeviceidandsou rcename及eventidbydeviceid实现存储设备的event信息,即设备的方法调用信息,同时通过设备id及sourcename(设备方法名称)查询设备的方法调用信息。influxdb通过reading、readingidbydeviceid及readingidbydevic eidandresourcename实现存储设备的reading,即设备的属性信息,同时,通过设备id及resourcename(设备属性名称)查询设备的属性变换信息,如表1所示:
[0077][0078]
本实施例中的边缘监测模块包括设备监测子模块、状态监测子模块及性能监测子模块;
[0079]
设备监测子模块用于对设备运行信息进行监测;
[0080]
状态监测子模块用于对微服务状态进行监测;
[0081]
性能监测子模块用于对设备性能进行监测。
[0082]
如附图4所示,influxdb对数据压缩具体如下:
[0083]
s1、判断是否有新数据:
[0084]
①
、若有,则执行步骤s2;
[0085]
②
、若否,则执行步骤/5;
[0086]
s2、写入新数据,下一步执行步骤s3;
[0087]
s3、判断是否到达缓存上限:
[0088]
①
、若是,则执行步骤步骤s4;
[0089]
②
、若否,则写入日志文件;
[0090]
s4、创建新日志文件,下一步执行步骤s6;
[0091]
s5、判断是否长时间没有数据写入:
[0092]
若是,则执行步骤s6;
[0093]
s6、启动数据压缩。
[0094]
本实施例中的步骤s2中的写入新数据具体如下:
[0095]
s201、根据数据所属数据库实例名找到数据库实例,由数据库实例找到数据所属数据存储策略;
[0096]
s202、由数据存储策略根据数据的时间范围找到命中的存储片区,并判断存储片区是否存在:
[0097]
若存储片区不存在,则执行步骤s203;
[0098]
s203、创建片区,并将数据分发给存储片区执行写入;
[0099]
s204、存储片区将数据同时写入到内存缓存与日志文件中,日志文件定时压缩为数据文件,数据文件再逐步压缩为更大的数据文件,直到数据文件大小达到上限不再压缩。
[0100]
本实施例中的数据转发模块通过通过、mqtt协议、modbus、onvif、kafka或rest接口进行数据转发。
[0101]
如附图5所示,本实施例的设备采集数据处理过程具体如下:
[0102]
(1)、边缘计算平台采集设备数据;
[0103]
(2)、边缘计算平台经过数据处理获取信息;
[0104]
(3)、判断信息是否有异常:
[0105]
①
、若有异常,则设备报警;
[0106]
②
、若无异常,则执行步骤(4);
[0107]
(4)、将数据及对应信息保存到influxdb,influxdb供用户进行信息查询及可视化展示。
[0108]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:
1.一种基于edgex和influxdb的边缘计算平台,其特征在于,该边缘计算平台包括数据采集模块、数据存储模块、数据转发模块以及边缘监测模块;其中,数据采集模块用于对生产过程中的设备数据进行采集;数据存储模块用于将设备和产品的配置信息以及边缘计算平台的元数据信息存入redis数据库,将设备产生的数据信息存入influxdb;数据转发模块用于转发从设备采集的数据;边缘监测模块用于对现场设备运行状态及边缘计算平台数据进行监测,并对现场生成过程中的动态异常时间进行监测。2.根据权利要求1所述的基于edgex和influxdb的边缘计算平台,其特征在于,所述数据采集模块包括物模型管理子模块和产品管理子模块;其中,物模型管理子模块通过对实体设备的抽象建模,管理设备的属性及功能,对设备进行数字化管理,通过在物模型中定义的属性和方法控制设备行为和设备数据收集;产品管理子模块用于通过对产品建立物模型,使设备继承产品的物模型,实现设备的创建和管理。3.根据权利要求1所述的基于edgex和influxdb的边缘计算平台,其特征在于,influxdb通过eventbyeventid、eventidbydeviceidandsourcename及eventidbydeviceid实现存储设备的event信息,即设备的方法调用信息,同时通过设备id及sourcename查询设备的方法调用信息。4.根据权利要求1所述的基于edgex和influxdb的边缘计算平台,其特征在于,influxdb通过reading、readingidbydeviceid及readingidbydevic eidandresourcename实现存储设备的reading,即设备的属性信息,同时,通过设备id及resourcename查询设备的属性变换信息。5.根据权利要求1所述的基于edgex和influxdb的边缘计算平台,其特征在于,所述边缘监测模块包括设备监测子模块、状态监测子模块及性能监测子模块;设备监测子模块用于对设备运行信息进行监测;状态监测子模块用于对微服务状态进行监测;性能监测子模块用于对设备性能进行监测。6.根据权利要求1-5中任一项所述的基于edgex和influxdb的边缘计算平台,其特征在于,influxdb对数据压缩具体如下:s1、判断是否有新数据:
①
、若有,则执行步骤s2;
②
、若否,则执行步骤/5;s2、写入新数据,下一步执行步骤s3;s3、判断是否到达缓存上限:
①
、若是,则执行步骤步骤s4;
②
、若否,则写入日志文件;s4、创建新日志文件,下一步执行步骤s6;s5、判断是否长时间没有数据写入:若是,则执行步骤s6;
s6、启动数据压缩。7.根据权利要求6所述的基于edgex和influxdb的边缘计算平台,其特征在于,步骤s2中的写入新数据具体如下:s201、根据数据所属数据库实例名找到数据库实例,由数据库实例找到数据所属数据存储策略;s202、由数据存储策略根据数据的时间范围找到命中的存储片区,并判断存储片区是否存在:若存储片区不存在,则执行步骤s203;s203、创建片区,并将数据分发给存储片区执行写入;s204、存储片区将数据同时写入到内存缓存与日志文件中,日志文件定时压缩为数据文件,数据文件再逐步压缩为更大的数据文件,直到数据文件大小达到上限不再压缩。8.根据权利要求1所述的基于edgex和influxdb的边缘计算平台,其特征在于,所述数据转发模块通过通过、mqtt协议、modbus、onvif、kafka或rest接口进行数据转发。
技术总结
本发明公开了一种基于Edgex和InfluxDB的边缘计算平台,属于物联网边缘计算技术领域,本发明要解决的技术问题为如何提高数据利用效率以及如何对设备采集数据进行存储,降低对于存储空间的需求,采用的技术方案为:该边缘计算平台包括数据采集模块、数据存储模块、数据转发模块以及边缘监测模块;其中,数据采集模块用于对生产过程中的设备数据进行采集;数据存储模块用于将设备和产品的配置信息以及边缘计算平台的元数据信息存入redis数据库,将设备产生的数据信息存入InfluxDB;数据转发模块用于转发从设备采集的数据;边缘监测模块用于对现场设备运行状态及边缘计算平台数据进行监测,并对现场生成过程中的动态异常时间进行监测。进行监测。进行监测。
技术研发人员:丁梦浩 李利民
受保护的技术使用者:浪潮软件集团有限公司
技术研发日:2023.04.13
技术公布日:2023/7/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
