软件定义数据网关的制作方法

文档序号:23391648发布日期:2020-12-22 13:58阅读:118来源:国知局
软件定义数据网关的制作方法

本发明涉及工业物理网领域的数据中间件技术领域,具体涉及一种软件定义数据网关。



背景技术:

工业物联网从传统信息物理系统发展而来,在大数据和人工智能技术需求推动下,改变传统以信息系统下发控制信息到物理系统为主的工作方式,转而以通过传感技术实现信息系统对物理系统工业大数据进行采集为主体,实现基于此的数据驱动应用。目前,针对这类场景通常需要为不同的设备分别设计不同的数据采集方法。此类传统方法无法隐藏不同设备通信协议等方面的差异性;采集的数据无法进行自动地高速缓存或者持久化存储以分别满足设备实时控制需要和大数据应用分析需求;对于经过数据网关的数据缺乏统一的转发机制,给数据的使用造成极大不便。



技术实现要素:

本发明的目的就是针对现有技术的缺陷,提供一种软件定义数据网关,以软件定义方式实现工业物联网数据采集、存储与转发。

本发明提供了一种软件定义数据网关,其特征在于包括设备层、网关层和应用层;所有物理设备构成设备层,数据网关本体包括管理节点和网关节点,管理节点部署在应用层,网关节点部署在网关层;网关层还包括传感节点;设备层的物理设备将数据上报至传感节点,并接收传感节点下发的控制指令;传感节点将数据上传至网关节点,同时将数据分析的结果下行传输至物理设备;网关节点根据应用需要将采集的数据进行高速缓存和持久化存储,并转发至其它需要使用数据的网关节点;管理节点对所有网关节点进行检测,监测网关节点的负载情况和健康状态,并控制网关节点的启停和负载均衡;管理节点间进行数据同步。

上述技术方案中,所述数据网关定义有多个功能模块模板,并对每个功能模块模板的参数具体管理,包括参数名称、参数类型、参数默认值和参数说明。

上述技术方案中,所述传感节点对应有传感设备,网关节点对应有网关设备;功能模块模板中针对物理设备、传感设备和网关设备分别定义有设备模板,每个设备模板定义了该类设备的两个主要要素:设备属性和设备功能模块;设备属性包括设备类型属性,规定了设备属于物理设备、传感设备和网关设备里的某一类;设备属性还包括设备名称、设备标识和设备ip;设备功能模块由多个软件功能模块组合实现,每个功能模块由模块名称和具体模块类型构成。

上述技术方案中,所述设备节点、传感节点和网关节点被作为测点统一管理,测点的关键属性包括:测点名称;测点所属设备;测点类型,包括整形数、浮点数和布尔量;测点长度,通常以字节为单位;最小值和最大值。

上述技术方案中,所述各测点间的数据或控制转发基本单元为数据包,每个数据包定义为一个在测点和时间两维度的矩阵,表示一个数据包由一系列测点的若干次采样构成,包括对单个测点的连续采样,对多个测点的单次采样或对单个测点的单次采样。

上述技术方案中,所述数据包经过封装形成报文后再进行设备间的转发;报文具有唯一的具有标识性的名称;报文格式约定有报文发送方和接收方,以及发送方的发送模块和接收方的接收模块;报文头约定每条具体报文的相关信息,包括:报文类型,用于区别单测点、多测点报文和单次采样和多次采样;报文长度,用于标识整个报文的长度,以字节为单位;报文序列号,作为报文发送的累加序号,以及其它报文头字段;报文正文由数据包填充。

上述技术方案中,所述网关节点接收发送报文,如果不符合配管工具配置的报文要求则将其丢弃;否则,识别报文是否为单包报文还是拼包报文;网关节点自动完成拆包、拼包操作;网关节点报文接收完成后根据特定网关节点进行数据存储和数据;大部分情况下网关节点在进行数据存储和数据转发之前通常需要对报文进行解析,也支持少数情况下网关节点在接收完成报文后直接进行转发和存储。

上述技术方案中,所述网关节点根据报文正文数据包格式对报文进行解析,具体包括以下步骤:通过两重循环实现,外层对全部采样时刻进行循环,内层对每次采样的全部测点进行循环,直至全部采样的全部测点被解析完成;由报文全部测点的长度之和可以求得每次采样全部测点的总长度,将报文正文长度除于每次采样全部测点总长度可以求得外层循环采样次数;每完成一个测点解析时根据下一测点的长度从报文获取相应长度内容进行解析。

上述技术方案中,所述网关节点对报文数据存储分为实时数据库存储、关系数据库存储和文件存储;其中,实时数据库存储用于为全系统测点提供高速缓存通道,实时数据库针对每个测点记录其在不同时间戳的值,测点值以毫秒作为时间戳分辨率进行记录,时间戳是进行测点值检索的唯一id;关系数据库用于存储数据网关日志信息,并设置有测点自动检测规则,针对解析出来测点值如果满足表里的某条检测规则,将其发生情况记录在关系数据库里;文件存储流程设置有文件存储条件,包括每隔固定时间周期或者收集满足够数量报文触发存储的机制,通过配管工具设置报文压缩算法对文件数据进行压缩。

上述技术方案中,网关节点对接收的报文进行转发,支持报文测点和时间两个维度进行再次采样,分别对报文里测点序号为偶数、采样序号为奇数的数据进行再次采样,获得新的数据包,然后将其转发出去;网关节点设置有被动、主动冗余以及传感节点备份三种策略:被动策略由网关节点每隔固定间隔做备份,发生故障时待网关节点重启后从备份里面恢复;主动策略将传感节点报文以多备份方式实时上传到不同网关节点,网关节点故障时立即启用备份网关节点;传感节点备份策略选择在传感节点对报文以日志方式进行备份,网关节点故障时采用回放的方式恢复。

本发明要解决的问题是提供一种可以软件定义的数据网关系统,解决工业物联网数据采集、存储与转发可配置化软件解决方案,解决方案能够根据系统规模进行自动伸缩并具备可靠性保障能力。为解决上述技术问题,本发明采用的技术方案是:提供一种软件定义数据网关,解决当前针对不同场景需要定制开发的现状。发明一种可配置数据网关管理工具,解决系统功能以可配置方式即可实现,而无需进行单独的软件开发;完成工具自身元数据管理与数据网关节点运行所需要参数信息的管理,并协调网关节点运行;包括模板管理、设备管理、测点管理、数据转发管理和辅助管理工具五个部分。发明一种高效数据网关节点运行时,其特征为可以自动完成对经过网关节点的数据报文进行解析、存储和转发。发明的数据网关通过负载均衡技术实现可扩展性,通过热备的方式提高可用性,支持三种数据备份策略提高可靠性。本发明将从业人员从复杂的数据中间件技术中解放出来,而专心于数据应用的开发。

附图说明

图1是软件定义数据网关运行栈结构

图2是软件定义数据网关体系结构

图3是数据网关管理工具b端功能

图4是数据网关管理工具模块模板管理

图5是数据网关设备模板管理

图6是数据网关测点管理

图7是数据网关数据转发单元(数据包)

图8是数据网关报文

图9是数据网关节点运行流程

图10是数据网关节点报文解析流程

图11是实时数据库单测点存储方式

图12是数据网关关系数据库存储方式

图13是数据网关测点自动检测规则

图14是数据网关文件存储流程

图15是网关节点数据转发示意图

图16是数据转发可靠性保障策略示意图

图17是网关节点分布式负载均衡方法

图18是网关节点集中式负载均衡方法示意图

图19是数据网关管理节点高可用架构。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的详细说明,便于清楚地了解本发明,但它们不对本发明构成限定。

本发明提供了一种软件定义数据网关,包括设备层、网关层和应用层;所有物理设备构成设备层,数据网关本体包括管理节点和网关节点,管理节点部署在应用层,网关节点部署在网关层;网关层还包括传感节点;设备层的物理设备将数据上报至传感节点,并接收传感节点下发的控制指令;传感节点将数据上传至网关节点,同时将数据分析的结果下行传输至物理设备;网关节点根据应用需要将采集的数据进行高速缓存和持久化存储,并转发至其它需要使用数据的网关节点;管理节点对所有网关节点进行检测,监测网关节点的负载情况和健康状态,并控制网关节点的启停和负载均衡;管理节点间进行数据同步。

如图1所示数的据网关运行栈结构,数据网关核心部分运行在连接设备层(101)和应用层(103)的中间网关层(102)。对应工业物联网参考体系结构的物理层、边缘层和云计算层,数据网关运行在边缘层,所有设备构成物理层,基于数据网关之上的应用则运行在云计算层。在没有边缘网关层结构下,物理设备被直接接入到云计算层,利用云计算的计算能力实现数据处理、支持辅助决策和趋势预测等应用功能。考虑到从物理设备到云计算层的网络传输限制,当前主流做法在物理设备和云计算应用层之间建立边缘网关层。这样既能缓解数据传输压力,又能提高系统实时响应能力。

网关层的核心功能划分为自底向上三个部分:数据采集(1021)、数据存储(1022)和数据转发(1023)功能。数据采集模块(1021)采用约定的格式对数据进行封装,然后基于特定通信协议实现对数据上传;支持网络、串口、现场总线等不同通信协议,以隐藏不同设备间的差异性。数据存储模块(1022)实现对采集数据的缓存,如存储到实时数据库,以满足数据高速查询需求;也支持将采集数据进行持久化存储,以满足大数据分析需求。数据转发模块(1023)实现以可配置的方式控制数据在不同数据网关节点间、或者数据网关节点与应用程序间的转发,支持有线和无线网络,支持tcp、udp和dds等不同通信方式。

图2是软件定义数据网关体系结构。数据网关本体由管理节点和网关节点组成;管理节点部署在应用层,网关节点部署在网关层,形成分布式架构。设备层设备(201)将数据上报(2011)给传感节点(202),并接收传感节点下发控制指令(2011)。传感节点采用一定的通信协议将数据上传(2021)给数据网关节点(203),完成数据采集工作;同时将数据分析的结果下行传输(2021)给设备。网关节点(203)根据应用需要将采集的数据进行高速缓存和持久化存储,并转发给其它需要使用数据的数据网关节点。管理节点(204)要对所有网关节点进行检测(2031),监测网关节点的负载情况和健康状态;并控制网关节点的启停和负载均衡等操作(2031)。设置多个管理节点(204)提高系统可靠性,管理节点间通过协同机制(2041)实现管理节点之间数据同步,完成数据网关运行管理功能。

如图1和图2所示,本发明的实施例为一种可配置数据网关管理工具,解决系统功能以可配置方式实现,而无需进行软件开发的问题;完成工具自身元数据管理与数据网关节点运行所需要参数信息管理,并协调网关节点运行。采用b/s架构方案进行实施,管理工具b端功能如图3所示。

模板管理(304)分成软件功能模块模板(3042)和业务功能设备模板(3041)两类。

1)软件功能模块模板(3042)

软件定义数据网关采用模块化设计思路,功能模块模板用于设置实现数据网关业务功能所需要的软件功能参数信息,如tcp服务端软件功能模板、tcp客户端软件功能模板和数据库软件功能模板,其模块模板管理如图4所示。

该模板配置规定了数据网关在调用对应软件功能模块时所需要的参数以及支持的不同运行模式。图中围绕数据网关进行数据采集、存储与转发列出10种常用软件功能模块,包括tcp服务端(401)、tcp客户端(402)、udp模块(403)、串口模块(404)、can总线模块(405)、实时数据库(406)、关系数据库(407)、文件系统(408)、数据解析模块(409)以及其它模块。右侧针对每一个模块模块的参数进行具体管理,主要包括参数名称(411)、参数类型(412)、参数默认值(413)和参数说明(414)。比如网络相关模块tcp服务端、tcp客户端和udp模块的本地ip地址参数、本地端口参数和超时参数信息;数据库模块的登入用户名、登入密码信息;文件系统的文件系统类型(本地文件系统、网络文件系统、云存储等)和文件系统服务ip信息等。

2)业务功能设备模板(3041)

基于软件功能模块模板,配管工具在设备模板里管理了数据网关系统支持的主要设备类型,如图5所示。将网关系统所有设备分成物理设备(501)、传感设备(502)和网关设备(503),分别对应图2软件定义数据网关体系结构里的设备(201)、传感节点(202)和网关节点(203)。每个设备模板定义了该类设备的两个主要要素:设备属性(504)和设备功能模块(505)。设备类型属性(5041)规定了设备属于物理设备、传感设备和网关设备里的某一类;设备名称(5042)、设备标识(5043)和设备ip(5044)等属性用于实现设备在数据网关系统里面的唯一性。设备功能通过图4的软件功能模块(505)组合实现,每个功能模块由模块名称(5051)和具体模块类型(5052)构成。

设备节点(303)管理了数据网关系统所有设备和节点。根据设备模板管理支持的设备类型,设备节点分设备节点(3033)、传感节点(3032)和网关节点(3031)三部分。

测点是数据网关采集、存储和转发对象的最基本元素,测点管理维护了全系统的全部测点。如图6所示,测点的关键属性为测点名称(601);测点所属设备(602);测点类型(603),包括整形数、浮点数和布尔量等;测点长度(604),通常以字节为单位;最小值(605)和最大值(605),用于阈值报警等场景。

如果以测点为单位进行转发,则其通信效率低。为了提高数据转发效率,将测点进行打包转发,如图7所示,数据包即为数据转发基本单元。每个数据包定义为一个在测点和时间两维度的矩阵,表示一个数据包由一系列(图7中n个)测点的多次(图7中m次)采样构成。那么对第i个测点的第j次采样值对应图7中的dj,i。该方式可以表达多种类型数据包,比如对单个测点的连续采样;对多个测点的单次采样;甚至对单个测点的单次采样。

完成了转发数据单元的数据包定义,为了实现数据包从一个设备转发到另一个设备,还需要进一步对数据包进行封装,如图8所示数据网关报文格式。报文应该具有在数据网关系统里面唯一的名称(801)进行标识。报文格式约定报文发送方(802)和接收方(804),以及报文由发送发的哪个模块(803)发出,由接收方的哪个模块(805)接收。报文头(806)约定每条具体报文的相关信息,包括报文类型(8061),可用于区别单测点、多测点报文和单次采样和多次采样;报文长度(8062)用于标识整个报文的长度,以字节为单位;报文序列号(8063),作为报文发送的累加序号;以及其它报文头字段。报文正文由图7所示的数据包填充。

本发明还包括辅助管理工具。辅助功能提供对数据网关的辅助使用功能,包括系统初始化、规则检测、系统设置、导入导出、辅助测试、统计报表等功能。系统初始化用于系统首次使用初始化基础信息,比如常用模板:软件功能模板、报文模板等。也可以用于系统使用一段时间后进行初始化以恢复系统默认状态。规则检测用于识别配置不合理的地方,包括数据流向检测,数据不可达和数据循环等。系统设置用于设置系统工作模式,包括单机模式、分布式模式、自适应模式以及管理工具的冗余模式。导入导出功能用于数据网关全部信息的导出备份和导入恢复。辅助测试用于测试多个层级功能状态,测试软件功能模块运行状态、业务功能模块运行状态,也可以测试拓扑节点间连接状态,比如数据库连接状态、网络通信状态灯。统计报表用于统计和呈现系统的总体信息,包括数据网关规模信息,数据网关自身运行信息和配置项运行信息。数据网关规模信息包含数据网关设备规模、测点规模、拓扑规模;数据网关自身运行信息和各配置项运行信息,包含cpu、内存、存储以及网络带宽占用率等。

本具体实施例作为一种高效数据网关节点运行时,数据网关节点的核心功能是完成对经过该节点数据报文的处理。如图9所示,根据数据网关配管工具的配置,网关节点接收发送过来报文,如果不符合配管工具配置的报文要求则将其丢弃;否则,识别报文是否为单包报文还是拼包报文。考虑到网关传输的报文可能超过底层单次传输技术的最大容量,需要数据网关自动完成拆包、拼包操作。报文接收完成后根据数据网关需求有数据存储和数据转发两类主要功能需要实现。大部分情况下网关节点在进行数据存储和数据转发之前通常需要对报文进行解析,也支持少数情况下网关节点在接收完成报文后直接进行转发和存储。

数据网关节点根据如图7所示报文正文数据包格式对报文进行解析。通过两重循环实现,外层对全部采样时刻进行循环,内层对每次采样的全部测点进行循环,直至全部采样的全部测点被解析完成,如图10所示。由报文全部测点的长度之和可以求得每次采样全部测点的总长度,将报文正文长度除于每次采样全部测点总长度可以求得外层循环采样次数;每完成一个测点解析时根据下一测点的长度从报文获取相应长度内容进行解析。

数据网关节点对报文数据存储分为实时数据库存储、关系数据库存储和文件存储三类,如图9所示。

1)实时数据库存储

实时数据库存储目的是为全系统测点提供高速缓存通道。针对每个测点,实时数据库记录其在不同时间戳(1101)的值,如图11所示,图中所示测点值以毫秒作为时间戳分辨率进行记录。时间戳是进行测点值检索的唯一id。

2)关系数据库存储

关系数据库主要用于存储数据网关日志信息,典型的日志包括测点异常信息。如图12所示,关系数据库记录到设备1在2020年6月1日10点钟发生故障代码为1001的异常。为了实现网关节点进行自动异常检测,设置如图13所示测点自动检测规则。针对解析出来测点值,如果满足表里的某条检测规则,将其发生情况记录在关系数据库里。

3)文件存储

采用实时数据库和关系数据库存储的最大优势是有方便的数据访问工具和接口,其不足之处在于处理大量测点的高频、超高频采样时的性能问题。而这种情况在工业物联网场景下广泛存在,如精细化数据分析需求。为此,需要一种高效地将数据以文件形式进行存储的方法。文件系统支持本地存储、网络文件系统以及大数据分布式存储等系统。文件存储流程如图14所示,设置文件存储条件,如每隔固定时间周期或者收集满足够数量报文触发存储的机制。为了更好的利用存储空间,通过配管工具设置报文压缩算法对文件数据进行压缩。

网关节点对接收的报文进行转发,支持报文测点和时间两个维度进行再次采样。如图15所示,分别对报文里测点序号为偶数、采样序号为奇数的数据进行再次采样,获得新的数据包,然后将其转发出去。

为提高数据网关数据传输可靠性,设计网关节点被动、主动冗余以及传感节点备份三种策略。被动策略(1601)由网关节点每隔固定间隔做备份(checkpoint),发生故障时待网关节点重启后从备份里面恢复;主动策略(1602)将传感节点报文以多备份方式实时上传到不同网关节点,网关节点故障时立即启用备份网关节点;传感节点备份(1603)策略选择在传感节点对报文以日志方式进行备份,网关节点故障时采用回放的方式恢复。

本发明还提供了一种网关节点负载均衡方法,通过配管工具的配置可以管理全系统数据静态流向拓扑。考虑到传感节点收集数据的动态特征,静态分配数据流的网关节点间可能发生负载不均衡。因此,需要设计网关节点自适应负载均衡方法,优化网关节点资源利用率。本具体实施例可采用如下网关节点负载均衡方法:

1)分布式自适应负载均衡方法

在图2软件定义数据网关架构基础上增加从网关节点到传感节点的负载通知(1701),如图17所示。传感节点在获取网关节点负载情况后,主动将数据报文发送给负载最轻的网关节点,实现负载均衡。这种方式不需要管理节点参与,传感节点和网关节点间可以自适应进行负载均衡。

2)集中式负载均衡方法

集中式网关节点负载均衡需要管理节点(204)感知(1801)所有网关节点(203)的负载情况,传感节点(202)通过管理节点获取(1802)负载最轻的网关节点,选择其作为数据报文接收方,如图18所示。该方法的优势是可以对系统负载情况进行全局最优搜索,根据系统负载情况控制网关节点规模,其不足是管理节点成为了系统关键节点,有可能成为系统性能和可靠性瓶颈。

本发明还提供了一种面向服务的管理节点高可用架构。考虑到管理节点在软件定义数据网关里的关键作用,其可用性是一项关键需求指标。如图19所示,设置多个管理节点(204)。管理节点间通过同步检测机制(1901)实现数据网关系统配置信息和管理信息同步一致性;并通过表决投票方法选举出当前提供服务的管理节点。网关节点(203)检测当前提供服务的管理节点(1902),与之建立连接获得服务。

本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1