System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于工业物联网领域,涉及一种基于工业边缘网关的多协议多接口数据分发系统及方法。
技术介绍
1、工业边缘网关,由于内存有限,行业内普遍通过mqtt协议单一接口完成数据对接,接口出现故障数据将丢失,稳定性差,数据对接格式单一,不能满足不同用户的数据格式要求,灵活性不高,扩展性不强,需要投入大量时间去适配各个用户的需求。
2、行业内接口数据对接协议单一,无法灵活地适应不同的通信协议需求,当需要接入其它协议或接口时,就需要重新设计,增加了成本和复杂性;另外容错能力较低,某个接口出现故障,整个通信系统就会受到影响,还无法满足向多个平台分发数据的需求。
3、例如基于多协议适配的物联网设备接入方法及装置(公开号cn113938535a),无法同时针对某一个协议或者多个协议开多个接口,每次对接只是一个协议一个接口,当前接口出现问题,就会出现丢失数据的问题,且无法满足向多个平台分发数据的需求;且“按照预先确定出的数据封装格式”来上传数据,使用灵活性不足。
技术实现思路
1、本专利技术的目的是提供一种基于工业边缘网关的多协议多接口数据分发系统及方法。该系统及方法涉及工业自动化、水务、环保等行业,在使用工业边缘网关完成数据采集、数据监控、数据分发,实现多平台监控管理的场景中应用。
2、为了实现上述目的,本专利技术提供了一种基于工业边缘网关的多协议多接口数据分发系统,包括物联网中间件和工业边缘网关;所述的物联网中间件包括传输协议配置模块、接口信息配置模块、数据
3、所述的传输协议配置模块,用于配置与用户平台的应用层协议匹配的传输协议;
4、所述的接口信息配置模块,用于配置用户平台的接口信息、客户端信息或加密配置信息;
5、所述接口信息识别模块,用于给配置的接口分配相应的接口id和协议名称;
6、所述数据源配置模块,用于配置对应于接口的需要上报的数据源信息、上报方式和默认的数据格式;
7、自定义数据格式模块,用于配置的接口的数据格式的自定义;
8、所述的配置文件下发模块,用于使传输协议配置模块、接口信息配置模块、接口信息识别模块、数据源配置模块、自定义数据格式模块所配置的文件被下发到工业边缘网关;
9、配置文件接收与存储模块,用于接收物联网中间件下发的配置文件并存储;
10、接口列表解析模块,读取接收与存储模块存储的配置文件,获取配置的协议数据对接列表,与内置协议模块中的协议进行遍历比较,获取合法协议对应的所有接口,保存合法协议对应的接口列表,将合法协议对应的接口列表发送至接口解析和内存分配模块;合法协议对应的接口列表由配置的协议类型、接口id、协议名称组成;
11、内置协议模块,用于预设传输协议类型;
12、接口解析和内存分配模块,由接口解析模块和内存分配模块组成;接口解析模块,根据得到的合法协议对应的接口列表,读取配置文件接收与存储模块所存储的配置文件,调用cjson库从所述的配置文件获取合法协议对应的接口列表中各接口id对应的所有配置信息,包括数据源、服务端信息、客户端信息、加密配置信息、主题配置信息、数据上报方式和数据格式信息;接口解析模块,还根据合法协议对应的接口列表中的协议名称,识别出自定义接口,并调用自定义json数据格式解析模块,由自定义json数据格式解析模块将定义的数据格式解析成可上报的结构;所述的内存分配模块,根据接口数量、协议类型和数据源中的变量的数量,动态分配接口内存空间;
13、自定义数据格式解析模块,被接口解析和内存分配模块调用,用于将自定义的数据格式解析成可上报的结构;自定义数据格式解析模块即自定义json数据格式解析模块;
14、数据封装模块,用于将数据封装为上报结构;
15、接口运行模块,遍历每个接口,根据协议运行接口,针对上报接口,将数据源上报到用户平台;针对服务接口,数据源供用户平台获取。
16、不管是默认数据格式接口还是自定义接口,数据源的配置均根据用户平台所需的数据而定。
17、在优选的实施方案中,所述的接口列表解析模块,打开配置文件,然后调用cjson库获取配置的协议数据对接列表,协议数据对接列表中包含接口id、配置的协议类型、协议名称,然后和工业边缘网关内置的协议类型进行遍历比较;内置协议类型中对应上报接口的协议类型包括mqtt、http、hj212-2017,对应服务接口的协议类型包括modbus、opc ua;当协议数据对接列表中的协议类型与工业边缘网关内置的协议类型无法匹配,则该协议类型为非法协议,直接过滤与该协议类型相关的所有接口;而当协议数据对接列表中的协议类型与工业边缘网关内置的协议类型完成匹配,则该协议类型为合法协议,根据协议数据对接列表获取合法协议对应的所有接口,保存合法协议对应的接口列表,直至遍历完整个协议数据对接列表,将得到的合法协议对应的接口列表发送给接口解析和内存分配模块。
18、进一步地,所述协议名称由协议类型与自定义标记组成,由物联网中间件的接口信息识别模块给各配置的接口分配协议名称,当接口信息识别模块识别到对应某接口id的由自定义数据格式模块所配置的自定义数据格式时,则分配给该接口的协议名称加上自定义标记。
19、所述的内存分配模块,根据合法协议对应的接口列表中的接口数量、协议类型和数据源中变量的数量,动态分配内存空间,内存空间用于保存接口的数据源、服务端信息、客户端信息、加密配置信息、主题配置信息、数据上报方式和数据格式信息,数据源包括数据id、数据类型、数据名称、数据状态、数值、数据采集时间,服务端信息包括服务端ip地址、端口号、用户名、密码,客户端信息为客户端id,加密配置信息包括服务器根证书、客户端证书、客户端私钥;协议类型指:对应上报接口的协议类型mqtt、http或hj212-2017,以及对应服务接口的协议类型modbus或opc ua。
20、不论是服务接口还是上报接口,数据源均包括数据id、数据类型、数据名称、数据状态、数值、数据采集时间。
21、根据每个接口对应的协议类型和协议名称是否含自定义标记分成7种接口:mqtt、http、modbus、opcua、hj212-2017、自定义mqtt、自定义http;
22、7种接口除数据源以外的接口配置信息占用内存大小分别为ya、yb、yc、yd、ye、yf、yg,ya、yb、yc、yd、ye、yf、yg分别为预设的固定值,根据接口类型对应的数据源以外的接口配置文件所需的内存空间确定;
23、7种接口数据源配置占用内存大小分别为xa、xb、xc、xd、xe、xf、xg;其中,数据源中单个数据存储所需内存空间本文档来自技高网...
【技术保护点】
1.一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,包括物联网中间件和工业边缘网关;所述的物联网中间件包括传输协议配置模块、接口信息配置模块、数据源配置模块、自定义数据格式模块、接口识别模块、配置文件下发模块;工业边缘网关包括配置文件接收与存储模块、接口列表解析模块、内置协议模块、接口解析和内存分配模块、自定义数据格式解析模块、数据封装模块和接口运行模块;
2.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述的接口列表解析模块,打开配置文件,然后调用CJSON库获取配置的协议数据对接列表,协议数据对接列表中包含接口ID、配置的协议类型、协议名称,然后和工业边缘网关内置的协议类型进行遍历比较;内置协议类型中对应上报接口的协议类型包括MQTT、HTTP、HJ212-2017,对应服务接口的协议类型包括MODBUS、OPC UA;当协议数据对接列表中的协议类型与工业边缘网关内置的协议类型无法匹配,则该协议类型为非法协议,直接过滤与该协议类型相关的所有接口;而当协议数据对接列表中的协议类型与工业边缘网关内置的协议类型完成匹配,则
3.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述协议名称由协议类型与自定义标记组成,由物联网中间件的接口信息识别模块给各配置的接口分配协议名称,当接口信息识别模块识别到对应某接口ID的由自定义数据格式模块所配置的自定义数据格式时,则分配给该接口的协议名称加上自定义标记。
4.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述的内存分配模块,根据合法协议对应的接口列表中的接口数量、协议类型和数据源中变量的数量,动态分配内存空间,内存空间用于保存接口的数据源、服务端信息、客户端信息、加密配置信息、主题配置信息、数据上报方式和数据格式信息,数据源包括数据ID、数据类型、数据名称、数据状态、数值、数据采集时间,服务端信息包括服务端IP地址、端口号、用户名、密码,客户端信息为客户端ID,加密配置信息包括服务器根证书、客户端证书、客户端私钥;协议类型指:对应上报接口的协议类型MQTT、HTTP或HJ212-2017,以及对应服务接口的协议类型MODBUS或OPC UA;
5.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述的自定义JSON数据格式解析模块的处理步骤为:
6.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述的传输协议配置模块中,配置的传输协议类型包括MQTT、HTTP、HJ212-2017、MODBUS、OPC UA;所述的接口信息配置模块中,接口信息包括用户平台的IP地址、端口号,和/或客户端信息、加密配置信息、主题配置信息;数据源配置模块中,数据源信息包括数据ID、数据类型、数据名称、数据状态、数值、数据采集时间,上报方式包括实时、周期或规则上报;工业边缘网关可以作为服务端提供数据源供用户平台按需获取,也可以作为客户端将数据主动上报到用户平台;
7.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,针对单个协议支持开启多个接口,支持通过单个协议同时向多个用户平台进行数据上报;支持同时开启多个协议。
8.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,删除、修改或新增某配置文件中的接口信息时,通过物联网中间件中的传输协议配置模块、接口信息配置模块、接口信息识别模块、数据源配置模块、自定义数据格式模块删除、修改或新增接口信息,重新生成与该配置文件名称一致的新的配置文件,新的配置文件被下发到工业边缘网关后覆盖原始的配置文件并重新由配置文件接收与存储模块存储该新的配置文件,并且由接口列表解析模块生成更新的合法协议对应的接口列表,再由接口解析和内存分配模块重新解析并重新动态分配对应合法协议的各接口的内存空间,再通过接口运行模块重新运行对应合法协议的各接口。
9.一种基于工业边缘网关的多协议多接口数据分发方法,其特征在于,包括如下步骤:
10.根据权利要求9所述的一种基于工业边缘网关的多协议多接口数据分发方法,其特征在于,遍历每个接口,根据协议运行接口,针对上报接口,将数据源上报到用户平台;针对服务接口,数据源供用户平台获取,具体指:接口运行模块遍历在工业边缘网关内...
【技术特征摘要】
1.一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,包括物联网中间件和工业边缘网关;所述的物联网中间件包括传输协议配置模块、接口信息配置模块、数据源配置模块、自定义数据格式模块、接口识别模块、配置文件下发模块;工业边缘网关包括配置文件接收与存储模块、接口列表解析模块、内置协议模块、接口解析和内存分配模块、自定义数据格式解析模块、数据封装模块和接口运行模块;
2.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述的接口列表解析模块,打开配置文件,然后调用cjson库获取配置的协议数据对接列表,协议数据对接列表中包含接口id、配置的协议类型、协议名称,然后和工业边缘网关内置的协议类型进行遍历比较;内置协议类型中对应上报接口的协议类型包括mqtt、http、hj212-2017,对应服务接口的协议类型包括modbus、opc ua;当协议数据对接列表中的协议类型与工业边缘网关内置的协议类型无法匹配,则该协议类型为非法协议,直接过滤与该协议类型相关的所有接口;而当协议数据对接列表中的协议类型与工业边缘网关内置的协议类型完成匹配,则该协议类型为合法协议,根据协议数据对接列表获取合法协议对应的所有接口,保存合法协议对应的接口列表,直至遍历完整个协议数据对接列表,将得到的合法协议对应的接口列表发送给接口解析和内存分配模块。
3.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述协议名称由协议类型与自定义标记组成,由物联网中间件的接口信息识别模块给各配置的接口分配协议名称,当接口信息识别模块识别到对应某接口id的由自定义数据格式模块所配置的自定义数据格式时,则分配给该接口的协议名称加上自定义标记。
4.根据权利要求1所述的一种基于工业边缘网关的多协议多接口数据分发系统,其特征在于,所述的内存分配模块,根据合法协议对应的接口列表中的接口数量、协议类型和数据源中变量的数量,动态分配内存空间,内存空间用于保存接口的数据源、服务端信息、客户端信息、加密配置信息、主题配置信息、数据上报方式和数据格式信息,数据源包括数据id、数据类型、数据名称、数据状态、数值、数据采集时间,服务端信息包括服务端ip地址、端口号、用户名、密码,客户端信息为客户端id,加密配置信息包括服务器根证书、客户端证书、客户端私钥;协议类型指:对应上报接口的协议类型mqtt、http或hj212-2017,以及对应服务接口的协议类型modbus或opc...
【专利技术属性】
技术研发人员:石守业,甘元林,
申请(专利权)人:合沃物联技术南京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。