一种物联网网关通信方法、系统、设备及存储介质与流程

未命名 08-13 阅读:105 评论:0


1.本发明涉及物联网技术领域,更具体地说,它涉及一种物联网网关通信方法、系统、设备及存储介质。


背景技术:

2.随着物联网技术的广泛应用,云服务系统与各类物联网设备连接通信,采集其声、光、热、电、力学、化学、生物、位置等各种数据信息,以及下发物联网指令。数据通信成为实现物与物、物与人连接的关键点,面对海量异种设备数据,云服务系统每连接一类新设备,都需要系统开发人员适配新设备的协议,云服务频繁升级,导致研发成本升高,系统稳定性也因此受影响,因此设计一种统一网关,将多种协议适配器内置于网关中,形成兼容多协议的网关系统具有重要意义。
3.随着物联网发展,通信方式也越来越丰富。本发明与已有的专利比较,《一种基于dds的跨网段通信方法》(国际公布号wo2020/098040a1)提供了一种基于dds的通信方法,但主要是跨网段通信,并没有对协议适配进行管理,《一种物联网网关接入方法及系统》(申请公布号cn109257425a)只是描述协议适配层,并没有形成一个网关系统负责进行协议适配,《一种基于mqtt网关的自适应设备的方法及系统》(申请公布号cn201811536119)公开了一种通过mqtt进行网关自适应的技术特征,需要在硬件设备预设指令,比较依赖硬件支持,每台设备每秒支持发送几条数据,且需要依赖mqtt代理发送数据,使用集中式数据发送形式,通信效率低。


技术实现要素:

4.本发明要解决的技术问题是针对现有技术的上述不足,本发明的目的一是提供一种可以提高通信效率的物联网网关通信方法。
5.本发明的目的二是提供一种可以提高通信效率的物联网网关通信系统。
6.本发明的目的三是提供一种计算机设备。
7.本发明的目的四是提供一种计算机存储介质。
8.为了实现上述目的一,本发明提供一种物联网网关通信方法,包括:
9.扫描当前网络服务以获取物联网设备端口的ip信息,并根据端口的ip信息实现快速接入物联网设备;
10.将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为dds标准和将dds标准转换为各个物联网设备的特有协议数据;
11.根据dds提供的qos策略设置具体的通信策略;
12.根据dds协议建立与各用户端和物联网设备一一对应的dds数据中心,dds数据中心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个dds数据中心构成了去中心化的架构。
13.作为进一步地改进,通过rti connext dds、linux nmp、zenmap中的任意一种服务扫描和发现工具来扫描当前网络服务。
14.进一步地,初次扫描时,可以通过本地ip段进行扫描,获取本网络足够的设备信息,获取到物联网设备信息后通过人工进行确认或通过预先设置信息进行筛选,最终将通信网络信息录入到本地缓存库,并对ip状态进行维护;
15.后续扫描时,可以指定ip进行扫描,以提高扫描效率;
16.针对远程ip端,由人工指定ip进行扫描,形成本地ip信息。
17.进一步地,根据物联网设备端口记录的各通信协议的连接数量计算各通信协议的权重,在自动匹配时,优先选择权重大的通信协议作为解析,以提高解析成功率,权重计算如下:
[0018][0019]
其中n为协议种类,c(i)为第i类协议的端口连接次数。
[0020]
进一步地,通信策略包括重试队列,重试队列的数据结构为:
[0021]
{msg:send_retry:expire_time},
[0022]
其中,msg包括产生的数据及连接目标信息,send_retry是重试次数,expire_time是失效时间;
[0023]
send_retry默认为-1,默认一直重试,重试时先从队里消费;
[0024]
如果send_retry》0,发送消息失败后,放入失败队列,等待下次重试;下一次重试依然失败则将send_retry累减1,再将消息重新放入队里,一直重试到send_retry累减到0;
[0025]
通过设置失效时间expire_time,当重试时间大于失效时间时,数据将不再重试,并提示用户发送失败。
[0026]
进一步地,通信策略还包括数据压缩技术,通过云服务提供压缩配置信息,物联网设备获取到压缩配置信息后,根据压缩信息进行解析压缩。
[0027]
进一步地,首先用户端根据实际业务需求,设置当前场景的常用数据信息编码表,编码表设置在云端或直接导入物联网设备,当物联网设备连接云端服务时,定期更新编码表;
[0028]
根据编码表对大于2个字节以上的数据进行压缩。
[0029]
为了实现上述目的二,本发明提供一种物联网网关通信系统,包括:
[0030]
设备接入模块,用于扫描当前网络服务以获取物联网设备端口的ip信息,并根据端口的ip信息实现快速接入物联网设备;
[0031]
协议适配模块,用于将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为dds标准和将dds标准转换为各个物联网设备的特有协议数据;
[0032]
策略模块,用于据dds提供的qos策略设置具体的通信策略;
[0033]
数据应用模块,用于根据dds协议建立与各用户端和物联网设备一一对应的dds数据中心,dds数据中心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个dds数据中心构成了去中心化的架构。
[0034]
为了实现上述目的三,本发明提供一种计算机设备,包括存储器和处理器,所述存
储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的一种物联网网关通信方法。
[0035]
为了实现上述目的四,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种物联网网关通信方法。
[0036]
有益效果
[0037]
本发明与现有技术相比,具有的优点为:
[0038]
1.本发明可以降低人力成本,本发明可以实现设备自动智能识别接入,提供根据权重管理端口的方法,减少人工投入,提高对接效率,并进行管理。
[0039]
2.本发明可以提高物联网设备数据传输效率和可靠性,本发明通过基于dds国际通信协议构建网关系统,采用发布-订阅模型,并实现去中心化,最终形成具备以数据中心驱动的分布式网关架构解决方案,具有22种qos(质量标准),具备更高的传输效率,每台设备每秒传输峰值1万条数据(mqtt的qos只有3种,每台设备每秒传输几条数据),支持海量数据与应用服务进行通信,可广泛应用在具有海量数据且实时通信要求高的场景,例如用于医学、工业、国防、人工智能等众多领域。针对原dds的短板,新增了重试机制与数据压缩技术,提高数据传输效率。
[0040]
3.本发明方便与国际标准接轨,dds是由国际非盈利组织发布,本网关采用dds协议,能够跟国际更多业务场景接轨。
附图说明
[0041]
图1为本发明的架构图;
[0042]
图2为扫描得到的ip信息图;
[0043]
图3为ip协议接入表示意图;
[0044]
图4为端口协议权重表示意图;
[0045]
图5为协议适配示意图;
[0046]
图6为dds数据中心示意图;
[0047]
图7为重试队列示意图;
[0048]
图8为压缩配置信息表示意图;
[0049]
图9为去中心分布式数据中心网络图。
具体实施方式
[0050]
下面结合附图中的具体实施例对本发明做进一步的说明。
[0051]
参阅图1~图9,一种物联网网关通信方法,包括:
[0052]
扫描当前网络服务以获取物联网设备端口的ip信息,并根据端口的ip信息实现快速接入物联网设备;
[0053]
将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为dds标准和将dds标准转换为各个物联网设备的特有协议数据;
[0054]
根据dds提供的qos策略设置具体的通信策略;
[0055]
根据dds协议建立与各用户端和物联网设备一一对应的dds数据中心,dds数据中
心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个dds数据中心构成了去中心化的架构。
[0056]
通过rti connext dds、linux nmp(network monitoring platform)、zenmap中的任意一种服务扫描和发现工具来扫描当前网络服务,快速的获取物联网设备的对接信息。
[0057]
ip信息可由人为提供,也可以根据当前网络ip信息进行获取。
[0058]
具体命令:namp[ip/ip段],扫描之后,可以获取对应ip的端口(port)、状态(state)、服务协议名(service),如图2所示。
[0059]
初次扫描时,可以通过本地ip段进行扫描,获取本网络足够的设备信息,获取到物联网设备信息后通过人工进行确认或通过预先设置信息进行筛选,最终将通信网络信息录入到本地缓存库,并对ip状态进行维护;
[0060]
后续扫描时,可以指定ip进行扫描,以提高扫描效率;
[0061]
针对远程ip端,由人工指定ip进行扫描,形成本地ip信息。
[0062]
匹配之后,将数据存储下来进行维护(ip、port、tls、app_protocol、state),ip是目前网络获取到的ip信息,如图3所示,并形成端口协议权重表,如图4所示。
[0063]
端口协议的权重默认都是1,用户可根据常规进行设置,之后会根据接入情况进行计算,weight为协议使用权重,协议使用权重越大则端口匹配时选择协议优先级越高。
[0064]
具体的,根据物联网设备端口记录的各通信协议的连接数量计算各通信协议的权重,在自动匹配时,优先选择权重大的通信协议作为解析,以提高解析成功率,权重计算如下:
[0065][0066]
其中n为协议种类,c(i)为第i类协议的端口连接次数connect_time。例如:1884端口有设置为mqtt和http两种记录,并且连接数量分别为6和2,所以1884端口实际对接中使用mqtt的权重为:6/(6+2)*10=7.5,而使用http的权重为:2/(6+2)*10=2.5,在自动匹配时,提示用户优先选择mqtt协议作为解析,提高解析成功率,若用户未确认,也优先自动选择权重高的协议进行匹配。
[0067]
本发明对接主要有mqtt、http(s)、coap、modbus、can、opcua、odbc和自定义协议,将数据和协议类型输入到转换队列,通过协议适配转换器,将数据转换为dds标准和将dds标准转换为各个设备的特有协议数据,实现设备双向通信,如图5所示。
[0068]
dds协议是一个以数据为中心的中间件协议和api标准,通信核心功能是采用发布-订阅模型dcps(data-centric publish-subscribe)进行数据传输,如图6所示,所有需要传输的数据通过主题进行标识,使用专门空间内存区域进行管理,抽象出统一api数据标准,发布者根据主题发布数据,订阅者根据业务需求订阅所需主题数据,无需多余订阅,减少了不必要的数据传输,提高了数据传输效率,且因使用统一的内存区域进行数据管理,提高系统处理数据效率,每秒传播数据量比mqtt要超过几何倍数,使得大量数据传输得到技术支撑。
[0069]
为提高数据传输可靠性,基于dds提供了22中qos策略(通信策略),针对同一角色(发布者/订阅者),可单独使用同一种qos,也可使用多种策略。qos一般通过参数进行设置,kind=reliable,如果当网络发生错误,数据读取者可能无法收到数据写入者的样本数据
时,会对样本数据进行重发,保证数据读取者能够收到数据;kind=best_effort,如果当网络发生错误,数据写入者不会重新发送丢失的样本数据,这样,无法保证数据读取者能够收到数据;若在数据写入者上应用此qos策略,设置kind=reliable,数据写入者发布的数据都能被数据读取者收到。
[0070]
在dds原有基础上,本发明提出2点创新:重试队列和数据压缩技术。
[0071]
通信策略包括重试队列,在以往的使用中,因dds采用数据总线模式,带宽要求较高,一般应用在局域网、单机设备、专线等网络较为稳定环境。为增强在弱网环境的应用能力,通过设计新增一个基于内存的重试队列,提供一种方式将因为网络不稳定发送失败或超时的数据进行重试,重试队列的数据结构为:
[0072]
{msg:send_retry:expire_time},如图7所示,
[0073]
其中,msg包括产生的数据及连接目标信息,send_retry是重试次数,expire_time是失效时间;
[0074]
send_retry默认为-1,默认一直重试,重试时先从队里消费;
[0075]
如果send_retry》0,发送消息失败后,放入失败队列,等待下次重试;下一次重试依然失败则将send_retry累减1,再将消息重新放入队里,一直重试到send_retry累减到0;
[0076]
为了保证队列能够消费,不因长时间产生数据导致设备内存爆满,可以通过设置失效时间expire_time,当重试时间大于失效时间时,数据将不再重试,并提示用户发送失败。
[0077]
通信策略还包括数据压缩技术,在服务端与设备端,在传输比较长的数据时,一般通过分片上传达到传输到服务端再组合成完整的数据,本发明提出物联网专用数据压缩技术,就是通过云化计算+边缘压缩方式。因每个行业的设备数据格式可能不一样,通过云服务提供压缩配置信息,物联网设备获取到压缩配置信息后,根据压缩信息进行解析压缩。首先用户端根据实际业务需求,设置当前场景的常用数据信息编码表,编码表设置在云端或直接导入物联网设备,当物联网设备连接云端服务时,定期更新编码表;
[0078]
根据编码表对大于2个字节以上的数据进行压缩。
[0079]
例如根据图8所示的配置规则,当消息体为:abcdefgh,可以压缩为123,预计可将消息大小压缩2倍以上,可以有效减小发送数据的量,从而提高通信效率。
[0080]
一种物联网网关通信系统,包括:
[0081]
设备接入模块,用于扫描当前网络服务以获取物联网设备端口的ip信息,并根据端口的ip信息实现快速接入物联网设备;
[0082]
协议适配模块,用于将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为dds标准和将dds标准转换为各个物联网设备的特有协议数据;
[0083]
具体的,协议适配模块负责适配多类设备的协议,主要包括设备连接器、协议管理器和数据转换器,设备连接器主要负责连接异种设备,并将连接的数据和协议类型传入到转换队列;转换队列统一根据协议类型进行转换;协议管理器为设备连接器和转换器提供物联网协议管理;
[0084]
协议适配模块对接主要有mqtt、http(s)、coap、modbus、can、opcua、odbc和自定义协议,将数据和协议类型输入到转换队列,通过协议适配转换器,将数据转换为dds标准和
将dds标准转换为各个设备的特有协议数据,实现设备双向通信;
[0085]
策略模块,用于据dds提供的qos策略设置具体的通信策略;
[0086]
数据应用模块,用于根据dds协议建立与各用户端和物联网设备一一对应的dds数据中心,dds数据中心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个dds数据中心构成了去中心化的架构,如图9所示。
[0087]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的一种物联网网关通信方法。
[0088]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种物联网网关通信方法。
[0089]
本发明可以实现设备自动识别接入,支持mqtt、http(s)、coap、modbus、can、opcua、odbc设备接入。可自定义适配,支持用户自行适配私有协议,并进行设备协议管理,提供根据权重管理端口的方法。
[0090]
本发明通过基于dds国际通信协议构建网关系统,采用发布-订阅模型,并实现去中心化,最终形成具备以数据中心驱动的分布式网关架构解决方案。针对原dds的短板,新增了重试机制与数据压缩技术,提高数据传输效率。
[0091]
以上仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性。

技术特征:
1.一种物联网网关通信方法,其特征在于,包括:扫描当前网络服务以获取物联网设备端口的ip信息,并根据端口的ip信息实现快速接入物联网设备;将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为dds标准和将dds标准转换为各个物联网设备的特有协议数据;根据dds提供的qos策略设置具体的通信策略;根据dds协议建立与各用户端和物联网设备一一对应的dds数据中心,dds数据中心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个dds数据中心构成了去中心化的架构。2.根据权利要求1所述的一种物联网网关通信方法,其特征在于,通过rti connext dds、linux nmp、zenmap中的任意一种服务扫描和发现工具来扫描当前网络服务。3.根据权利要求1所述的一种物联网网关通信方法,其特征在于,初次扫描时,可以通过本地ip段进行扫描,获取本网络足够的设备信息,获取到物联网设备信息后通过人工进行确认或通过预先设置信息进行筛选,最终将通信网络信息录入到本地缓存库,并对ip状态进行维护;后续扫描时,可以指定ip进行扫描,以提高扫描效率;针对远程ip端,由人工指定ip进行扫描,形成本地ip信息。4.根据权利要求1所述的一种物联网网关通信方法,其特征在于,根据物联网设备端口记录的各通信协议的连接数量计算各通信协议的权重,在自动匹配时,优先选择权重大的通信协议作为解析,以提高解析成功率,权重计算如下:其中n为协议种类,c(i)为第i类协议的端口连接次数。5.根据权利要求1所述的一种物联网网关通信方法,其特征在于,通信策略包括重试队列,重试队列的数据结构为:{msg:send_retry:expire_time},其中,msg包括产生的数据及连接目标信息,send_retry是重试次数,expire_time是失效时间;send_retry默认为-1,默认一直重试,重试时先从队里消费;如果send_retry>0,发送消息失败后,放入失败队列,等待下次重试;下一次重试依然失败则将send_retry累减1,再将消息重新放入队里,一直重试到send_retry累减到0;通过设置失效时间expire_time,当重试时间大于失效时间时,数据将不再重试,并提示用户发送失败。6.根据权利要求5所述的一种物联网网关通信方法,其特征在于,通信策略还包括数据压缩技术,通过云服务提供压缩配置信息,物联网设备获取到压缩配置信息后,根据压缩信息进行解析压缩。7.根据权利要求6所述的一种物联网网关通信方法,其特征在于,首先用户端根据实际业务需求,设置当前场景的常用数据信息编码表,编码表设置在云端或直接导入物联网设备,当物联网设备连接云端服务时,定期更新编码表;
根据编码表对大于2个字节以上的数据进行压缩。8.一种物联网网关通信系统,其特征在于,包括:设备接入模块,用于扫描当前网络服务以获取物联网设备端口的ip信息,并根据端口的ip信息实现快速接入物联网设备;协议适配模块,用于将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为dds标准和将dds标准转换为各个物联网设备的特有协议数据;策略模块,用于据dds提供的qos策略设置具体的通信策略;数据应用模块,用于根据dds协议建立与各用户端和物联网设备一一对应的dds数据中心,dds数据中心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个dds数据中心构成了去中心化的架构。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任意一项所述的一种物联网网关通信方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述的一种物联网网关通信方法。

技术总结
本发明公开了一种物联网网关通信方法、系统、设备及存储介质,属于物联网技术领域,解决目前物联网通信效率低的技术问题,方法包括:扫描当前网络服务以获取物联网设备端口的IP信息,并根据端口的IP信息实现快速接入物联网设备;将不同种类物联网设备的数据和协议类型输入到转换队列,转换队列统一根据协议类型进行转换,将数据转换为DDS标准和将DDS标准转换为各个物联网设备的特有协议数据;根据DDS提供的QoS策略设置具体的通信策略;根据DDS协议建立与各用户端和物联网设备一一对应的DDS数据中心,DDS数据中心通过发布-订阅模型进行物联网设备数据接收和用户端指令下发,实现用户端与物联网设备双向通信,并且各个DDS数据中心构成了去中心化的架构。心构成了去中心化的架构。心构成了去中心化的架构。


技术研发人员:黄建良 陈旭
受保护的技术使用者:中国—东盟信息港股份有限公司
技术研发日:2023.05.17
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐