云边端协同工业物联网数据采集控制系统及异构设备网关
未命名
08-07
阅读:76
评论:0

1.本公开涉及工业物联网领域,尤其涉及一种云边端协同工业物联网数据采集控制系统及异构设备网关。
背景技术:
2.目前针对工业物联网中的数据采集和控制主要有两种方案,一种是基于plc(可编程逻辑控制器)来处理,由工控机的设备尝试提供设备的远程镜像功能,将设备显示的画面通过http的方式进行展示;另一种是让设备直接将数据上报到云端进行处理,由云端的服务提供数据上报接口,设备适配云端接口来进行数据上报。
3.对于第一种远程镜像的方式,包括:端设备、远程转发服务器和客户端。端设备是多种0t设备,包括所属的工控机。端设备需要具有访问网络的能力,但是一般不具有直接被网络访问的能力,需要通过远程转发服务器将端设备上的web服务映射到公网上,用户通过客户端访问远程转发服务器的公网地址和端口访问到对应设备的状态。此时会直接传输工控机的画面到客户端,支持用户进行远程操作。优点是不需要针对具体的设备进行适配,远程可以直接提供工控机的画面,具有很好的统一性,操作界面一致。缺点有两方面,一方面是对于网络的依赖程度比较高,由于直接传输的是设备工控机上的画面,因此对设备上行网络速率有要求,一般应用于特定工业环境中,具有较好的网络条件。而对于某些工业物联网场景而言,由于车间在地理上是分散的,部分处于城市的边缘甚至农村,网络条件相比要差很多;两一方面是设备管理适配上的问题,对于这种技术来说,提供商往往是工控机的厂家,而使用工控机和传感器等设备进行开发的工业物联网设备提供商不具备定制化的能力,因此只能按照固定的方式进行访问,缺少一个集中管理设备的平台,往往需要开发另一个平台来管理相关的设备信息,并接入远程进行画面,降低了开发的效率。
4.第二种设备直连云计算的方式,通过设备适配云端的协议,在设备端提供网络访问的能力,基于设备端的sdk进行设备程序的开发,同时需要在云端开发对应的服务程序,设备通过tcp/ip接入到网络中,连接云端服务,定时对数据进行上报;在云端的服务中,会对设备数据进行清洗、过滤、处理和存储;用户通过对应的前端界面(网页、app等)来查看对应的设备数据。优点是通过解耦,将数据的处理及展示放到云端完成,能够利用云端的算力,同时更加方便对业务逻辑进行修改,而不需要修改设备上的程序。缺点有两方面,一方面是资源利用上的缺点,在这种设计中,会将设备上的所有数据都传输到云端进行处理,不管这些数据是否有变化,或者是否有价值,伴随着传感器等多种设备越来越多,会导致占用大量的云计算网络资源及存储资源,对于按量计费的云计算来说,会增加更多的成本,对于工业物联网中数据来说,大部分具有周期性的特点,短时间的变化比较小,不需要将所有的数据都上报进行分析,一般会在大的时间尺度上进行数据的分析;两一方面是实时性上的缺点,由于数据的流向是设备通过移动网络到达核心网,然后从核心网到达云计算中心,在云上进行计算,下发的反馈控制再通过相反的路径到达设备端,这会导致比较大的延迟,从而错过动作的触发时机,在工业物联网中,关键设备的控制是对延迟敏感的。
技术实现要素:
5.针对日益发展的物联网数据量变大、实时性要求变高和数据安全要求变高的问题,物联网开发中频繁的设备适配问题,以及如何保证系统的高可用性、可维护性和可扩展性的问题,本发明的目的在于提供一种云边端协同的工业物联网数据采集控制系统及异构设备网关,通过在云端和设备端之间引入一个或多个边缘端,利用边缘计算,将部分数据及计算放到边缘端进行处理,降低处理延迟,减轻云端的压力,降低开发运维成本和增加效率。
6.为实现本发明的目的,本发明的技术方案如下。
7.第一方面,本发明提出一种云边端协同工业物联网数据采集控制系统,所述系统在云端和设备端之间引入一个或多个边缘端;
8.所述边缘端通过异构设备网关接入相关设备,在异构设备网关内部,通过配置实现数据采集任务,并将采集到的数据上报到边缘端;
9.边缘端和云端通过边缘代理进行通信,当云边连接不可用时,边缘代理对上报数据进行缓存,当云边连接恢复之后,边缘代理对数据压缩和清洗后上报至云端;
10.云端对上报数据进行解析和存储,使用户在前端界面就可以看到设备的状态。
11.在上述技术方案中,所述边缘端包括物模型模块、数据软总线模块、计算管理模块、规则引擎模块;
12.所述物模型模块,用于提供设备通用描述,提供统一调用的api;
13.所述数据软总线模块,上报异构设备网关转换之后的数据、下发云端的控制以及任务信息;
14.所述计算管理模块,用于边缘端计算资源的管理;
15.所述规则引擎模块,对实时数据计算用户定义的规则表达式是否满足,对满足的规则表达式会触发关联的动作。
16.在上述技术方案中,所述物模型模块将设备抽象为(属性property、动作action、事件event)的集合。
17.在上述技术方案中,所述数据软总线模块采用消息队列实现,所述消息队列使用rabbitmq提供消息的订阅和发布。
18.在上述技术方案中,所述云端访问计算管理模块,下发带有计算任务的docker镜像信息;
19.所述计算管理模块拉取对应的镜像,使用docker进行容器编排管理并运行,同时启动定时任务监控容器的运行状态以及容器的日志信息,定时上报云端。
20.在上述技术方案中,数据压缩和清洗,具体实现为:
21.对整数类型根据其范围大小使用变长二进制编码进行表示,而对于浮点数类型则使用x0r(异或)法进行压缩,以减少上报数据带来的带宽压力;
22.并对上报数据进行数据清洗,通过使用机器学习模型来检测时间序列中的异常值,并对异常值进行补足。
23.在上述技术方案中,所述异构设备网关的功能包括多种传输协议的接入支持、定时采集任务支持和协议转换支持。
24.在上述技术方案中,所述多种传输协议的接入支持,具体为:
25.底层使用netty进行开发,提供不同的接入处理器(handler)来适配不同设备的传输协议,所述异构设备网关支持的传输协议包括tcp、udp、websocket、quic。
26.在上述技术方案中,所述定时采集任务支持通过设置定时任务的线程池来定时执行采集任务。
27.第二方面,本发明提出一种异构设备网关,所述异构设备网关包括多种传输协议的接入支持、定时采集任务支持和协议转换支持;
28.异构设备网关的底层使用netty进行开发,提供不同的接入处理器(handler)来适配不同设备的传输协议;
29.通过设置定时任务的线程池来定时执行采集任务,对接收响应之后的数据进行解析,触发协议转换并输出。
30.本发明的技术效果在于:
31.(1)通过在云端和设备端引入边缘端,满足系统的可扩展性,利用边缘计算,减少云端的负载压力,降低数据处理的延迟,减少云服务的成本,大大提升系统的效率;
32.(2)设计可扩展的异构设备网关,基于netty实现,减少了设备适配中的重复工作量,同时增加了整个系统的可扩展性。
附图说明
33.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
34.图1、一种具体实施方式中的系统架构图;
35.图2、一种具体实施方式中的高性能可扩展异构设备网关架构;
36.图3、一种实施方式中的部署示例图。
具体实施方式
37.针对在日益发展的物联网数据量变大、实时性要求变高和数据安全要求变高的问题,以及物联网开发中频繁的设备适配问题,设计了一种云边端协同的工业物联网数据采集控制系统,可提高工业物联网系统的可用性、可维护性和可扩展性。
38.图1为云边端协同的工业物联网数据采集控制系统的架构,该架构包括三个层次,分别为设备端、边缘端和云端。
39.1、设备端
40.设备端,也称为现场层,是工业物联网中部署设备的集合及相关的基础设施,包括具体设备,还包括提供网络访问的基础设施如运营商网络,同时包括系统提供的开发sdk,提供quic协议的接入及元数据信息的缓存功能。所述元数据信息指设备定时上报间隔、事件触发阈值等信息,具体由于设备的不同而下发不同的元数据信息。
41.2、边缘端
42.边缘端是一个或多个提供计算能力的硬件设备和软件系统,如树莓派开发板、微型计算机、小型服务器等,位于云端和设备端之间。通过引入边缘端进行数据处理,可以减
少不必要的数据传输,降低云端的压力。
43.边缘段分为边缘代理、物模型模块、数据软总线模块、计算管理模块。所述边缘代理(edge proxy)作为一个代理服务存在于系统中,提供云边网络通信的代理、元数据信息的缓存能力,当云边通信暂时不可用时,使用缓存信息提供服务,同时会缓存上报数据,当网络连接恢复的时候,使用数据压缩技术和数据清理进行快速同步;所述物模型模块,提供一种通用的描述设备的模型,将设备抽象为(属性property、动作action、事件event)的集合,使用通用模型便于系统间的数据交互,以及多个设备数据的访问,提供统一的api供上层应用进行调用,使得工业物联网系统具有可扩展性,减少处理延时。所述数据软总线模块由消息队列实现,具体使用rabbitmq提供消息的订阅和发布能力,上报数据和下发控制以及任务信息均使用消息总线进行传递,提供解耦的功能,降低系统复杂度,提升扩展性;所述计算管理模块,主要包括边缘端计算资源的管理,通过容器技术来运行云端下发的计算任务,在运行时使用docker进行容器编排管理,并监控任务执行状态,定时上报对应的任务信息和日志信息。
44.3、云端
45.云端是基于云计算开发的业务系统,主要包括用户界面、系统管理、任务管理三部分。用户界面指基于云端系统api开发的浏览器网页,提供设备状态展示、设备控制等功能。系统管理包括设备接入信息的管理、设备物模型信息的管理、设备元数据信息的管理,包括上述数据的增加、更新和删除操作。任务管理指云端下发计算任务到边缘端进行运行,同时监控任务的运行进度,云端服务访问边缘端的计算管理模块,下发带有计算任务的docker镜像信息,然后边缘端的计算管理模块拉取对应的镜像,创建容器并运行,同时边缘端启动定时任务监控容器的运行状态以及容器的日志信息,定时上报。
46.4、异构设备网关
47.如图2所示,异构网关设备架构具有可扩展性,包括接入支持、采集支持和协议转换支持。
48.接入支持包括多种传输协议的支持,包括tcp、udp、websocket、quic等传输协议,底层使用netty进行开发,提供不同的接入处理器(handler)来适配不同设备的传输协议,减少了设备适配中的重复工作量,同时增加了整个系统的可扩展性。所述quic协议指快速udp互联网连接,由rfc9000《一种基于udp的安全多路复用传输协议》定义,具体采用的实现是基于rust语言的quiche开源框架。由于quic协议具有很好的弱网传输性能,连接迁移能力,以及0-rtt的握手,因此更适合处于弱网环境中的工业物联网设备的通信。
49.采集支持是一个采集任务的管理功能,通过对请求-应答模式的通信协议进行抽象,将逻辑抽象作为一个采集任务,系统中的线程会按照采集任务配置的间隔来自动完成请求指令的下发,以及接收响应之后的结果的处理,由开发者实现具体的下发的指令和接受响应的处理。
50.协议转换支持指一系列接口定义,通过规定转换的输入和输出接口,由开发者实现具体的转换过程,包括南向和北向数据的转换。
51.以上三种支持程序使用java编写,开发者可自定义实现的部分利用java的spi机制进行加载,在运行时进行替换。优势在于提升了系统的整体可扩展性,可以减少开发者定制化的工作量,提升系统开发效率。系统默认提供了modbusrtu和modbustcp数据协议的采
集支持和转换支持。
52.在一实施方式中,如图3所示,在云端部署主服务模块,包括设备信息管理、设备物模型信息维护等相关功能;边缘端分布在s1和s2两个地域,并且使用接入网关接入相关的设备。具体地:
53.两种型号设备t1和t2的接入使用标准的modbus rtu数据协议,通过modbus rtu over tcp的方式进行传输。异构设备网关使用netty开发,支持tcp协议的接入,同时通过配置使得内部自带的modbus rtu协议解析和采集任务实现生效,由定时任务的线程池来定时执行采集任务,对返回的响应数据进行解析,触发协议转换并进行上报至边缘端。
54.边缘端内部使用rabbitmq消息队列作为数据软总线,接入网关转换之后的数据会进入到消息队列,由物模型模块具体执行数据从边缘端到云端的上报。
55.边缘代理则维护边缘端和云端的消息通道,边缘端和云端使用tcp和自定义数据协议进行通信,当云边连接不可用时,边缘端代理模块则会对上报数据进行缓存,当云边连接恢复之后,会对数据进行数据压缩和数据清洗之后上传云端。数据压缩为对上报的时序数据进行压缩,具体而言,对整数类型根据其范围大小使用变长二进制编码进行表示,而对于浮点数类型则使用xor(异或)法进行压缩,减少上报数据带来的带宽压力。数据清洗任务则使用机器学习模型来检测时间序列中的异常值,并对异常值进行补足。
56.边缘端同时部署了规则引擎模块,规则引擎会从数据软总线中拿到实时数据,计算用户定义的规则表达式是否满足,对满足的规则表达式会触发关联的动作,包括修改设备的状态等操作。
57.云端主服务对上报数据进行解析,然后进行存储,用户在前端界面中就可以看到设备的状态。
58.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本公开可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本公开而言更多情况下,软件程序实现是更佳的实施方式。
59.尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
技术特征:
1.云边端协同工业物联网数据采集控制系统,其特征在于,所述系统在云端和设备端之间引入一个或多个边缘端;所述边缘端通过异构设备网关接入相关设备,在异构设备网关内部,通过配置实现数据采集任务,并将采集到的数据上报到边缘端;边缘端和云端通过边缘代理进行通信,当云边连接不可用时,边缘代理对上报数据进行缓存,当云边连接恢复之后,边缘代理对数据压缩和清洗后上报至云端;云端对上报数据进行解析和存储,使用户在前端界面就可以看到设备的状态。2.根据权利要求1所述的系统,其特征在于,所述边缘端包括物模型模块、数据软总线模块、计算管理模块、规则引擎模块;所述物模型模块,用于提供设备通用描述,提供统一调用的api;所述数据软总线模块,上报异构设备网关转换之后的数据、下发云端的控制以及任务信息;所述计算管理模块,用于边缘端计算资源的管理;所述规则引擎模块,对实时数据计算用户定义的规则表达式是否满足,对满足的规则表达式会触发关联的动作。3.根据权利要求2所述的系统,其特征在于,所述物模型模块将设备抽象为(属性property、动作action、事件event)的集合。4.根据权利要求2所述的系统,其特征在于,所述数据软总线模块采用消息队列实现,所述消息队列使用rabbitmq提供消息的订阅和发布。5.根据权利要求2所述的系统,其特征在于:所述云端访问计算管理模块,下发带有计算任务的docker镜像信息;所述计算管理模块拉取对应的镜像,使用docker进行容器编排管理并运行,同时启动定时任务监控容器的运行状态以及容器的日志信息,定时上报云端。6.根据权利要求1所述的方法,其特征在于,数据压缩和清洗,具体实现为:对整数类型根据其范围大小使用变长二进制编码进行表示,而对于浮点数类型则使用x0r(异或)法进行压缩,以减少上报数据带来的带宽压力;并对上报数据进行数据清洗,通过使用机器学习模型来检测时间序列中的异常值,并对异常值进行补足。7.根据权利要求1所述的方法,其特征在于,所述异构设备网关的功能包括多种传输协议的接入支持、定时采集任务支持和协议转换支持。8.根据权利要求1所述的系统,其特征在于,所述多种传输协议的接入支持,具体为:底层使用netty进行开发,提供不同的接入处理器(handler)来适配不同设备的传输协议,所述异构设备网关支持的传输协议包括tcp、udp、websocket、quic。9.根据权利要求1所述的方法,其特征在于,所述定时采集任务支持通过设置定时任务的线程池来定时执行采集任务。10.一种异构设备网关,其特征在于,所述异构设备网关包括多种传输协议的接入支持、定时采集任务支持和协议转换支持;异构设备网关的底层使用netty进行开发,提供不同的接入处理器(handler)来适配不同设备的传输协议;
通过设置定时任务的线程池来定时执行采集任务,对接收响应之后的数据进行解析,触发协议转换并输出。
技术总结
本发明涉及云边端协同工业物联网数据采集控制系统及异构设备网关,属于工业物联网领域。针对日益发展的物联网数据量变大、实时性要求变高和数据安全要求变高的问题,物联网开发中频繁的设备适配问题,以及如何保证系统的高可用性、可维护性和可扩展性的问题,本发明通过在云端和设备端之间引入一个或多个边缘端,利用边缘计算,将部分数据及计算放到边缘端进行处理,降低处理延迟,减轻云端的压力,降低开发运维成本和增加效率。低开发运维成本和增加效率。低开发运维成本和增加效率。
技术研发人员:王黎明 霍秋艳 张帅 杨航
受保护的技术使用者:西安电子科技大学
技术研发日:2023.03.31
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/