网闸穿透方法、系统、MQTT客户端、MQTT服务器及电子设备技术方案

技术编号:37577565 阅读:27 留言:0更新日期:2023-05-15 07:53
本发明专利技术实施例适用于计算机技术领域,提供了一种网闸穿透方法、系统、MQTT客户端、MQTT服务器及电子设备,其中,网闸穿透方法应用于第一网络中的消息队列遥测传输协议MQTT客户端,MQTT客户端以库的形式供第一网络中的数据采集程序调用,数据采集程序用于将采集数据通过MQTT客户端发送给第二网络中的MQTT服务器,网闸穿透方法包括:生成请求报文的固定报头;固定报头中的设定标志位的值为设定值;基于固定报头对请求报文进行封装;将封装好的请求报文通过单向网闸发送给第二网络中的MQTT服务器,以使MQTT服务器根据请求报文返回满足网闸穿透条件的响应报文;网闸穿透条件表征响应报文的所有字节全为1或0;第一网络与第二网络之间通过单向网闸进行隔离。通过单向网闸进行隔离。通过单向网闸进行隔离。

【技术实现步骤摘要】
网闸穿透方法、系统、MQTT客户端、MQTT服务器及电子设备


[0001]本专利技术涉及计算机
,尤其涉及一种网闸穿透方法、系统、MQTT客户端、MQTT服务器及电子设备。

技术介绍

[0002]单向网闸是一种允许内部网络向外部网络传输数据,但外部网络只能向内部网络传输特定数据的安全隔离装置。相关技术自行开发一套能穿透单向网闸的客户端和服务器程序,以此满足单向网闸的穿透要求。但是自行开发方式的实现标准不统一,对于边缘计算平台中的应用程序的通用性差,应用程序需要改造适配。

技术实现思路

[0003]为了解决上述问题,本专利技术实施例提供了一种网闸穿透方法、系统、MQTT客户端、MQTT服务器及电子设备,以至少解决相关技术应用程序需要改造才能实现网闸穿透的问题。
[0004]本专利技术的技术方案是这样实现的:
[0005]一方面,本专利技术实施例提供了一种网闸穿透方法,该方法应用于第一网络中的消息队列遥测传输协议MQTT客户端,所述MQTT客户端以库的形式供第一网络中的数据采集程序调用,所述数据采集程序用于将采集数据通过所述MQTT客户端发送给第二网络中的MQTT服务器,网闸穿透方法包括:
[0006]生成请求报文的固定报头;所述固定报头中的设定标志位的值为设定值;
[0007]基于所述固定报头对所述请求报文进行封装;
[0008]将封装好的所述请求报文通过单向网闸发送给所述第二网络中的MQTT服务器,以使所述MQTT服务器根据所述请求报文返回满足网闸穿透条件的响应报文;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;所述第一网络与所述第二网络之间通过所述单向网闸进行隔离。
[0009]在上述方案中,所述请求报文包括以下任意一项:
[0010]连接请求报文;
[0011]连接保活请求报文。
[0012]在上述方案中,若所述请求报文为连接请求报文,所述方法还包括:
[0013]若接收到所述MQTT服务器发送的响应报文,确定所述MQTT客户端和所述MQTT服务器之间的连接建立成功。
[0014]在上述方案中,在所述MQTT客户端和所述MQTT服务器之间的连接建立成功之后,所述方法还包括:
[0015]向所述MQTT服务器发布带消息主题的消息;所述消息表征所述数据采集程序的采集数据;所述MQTT客户端和所述MQTT服务器之间的QoS服务质量等级为0。
[0016]另一方面,本专利技术实施例提供了另一种网闸穿透方法,应用于如上述方面的MQTT
服务器,所述MQTT服务器位于第二网络,该方法包括:
[0017]接收第一网络中的MQTT客户端发送的请求报文;所述第一网络与所述第二网络之间通过单向网闸进行隔离;
[0018]若所述请求报文的固定报头中的设定标志位的值为设定值,根据所述请求报文生成满足网闸穿透条件的响应报文;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;
[0019]将所述响应报文发送给所述MQTT客户端。
[0020]在上述方案中,所述方法还包括:
[0021]接收所述MQTT客户端发布的带消息主题的消息;所述消息表征所述数据采集程序的采集数据;其中,所述MQTT客户端和所述MQTT服务器之间的服务质量等级QoS为0;
[0022]基于订阅主题将所述消息分发给对应的订阅者。
[0023]另一方面,本专利技术实施例提供了一种网闸穿透系统,包括:
[0024]第一网络中的数据采集设备,用于将采集数据通过MQTT客户端发送给第二网络中的MQTT服务器,所述MQTT客户端以库的形式供所述数据采集设备调用;
[0025]其中,所述MQTT客户端用于生成请求报文的固定报头,所述固定报头中的设定标志位的值为设定值;基于所述固定报头对所述请求报文进行封装;将封装好的所述请求报文通过单向网闸发送给所述第二网络中的MQTT服务器;
[0026]MQTT服务器,用于接收所述MQTT客户端发送的请求报文,若所述请求报文的固定报头中的设定标志位的值为设定值,根据所述请求报文生成满足网闸穿透条件的响应报文,将所述响应报文发送给所述MQTT客户端;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;所述第一网络与所述第二网络之间通过所述单向网闸进行隔离。
[0027]另一方面,本专利技术实施例提供了一种MQTT客户端,该MQTT客户端包括:
[0028]第一生成模块,用于生成请求报文的固定报头;所述固定报头中的设定标志位的值为设定值;
[0029]封装模块,用于基于所述固定报头对所述请求报文进行封装;
[0030]第一发送模块,用于将封装好的所述请求报文通过单向网闸发送给所述第二网络中的MQTT服务器,以使所述MQTT服务器根据所述请求报文返回满足网闸穿透条件的响应报文;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;所述第一网络与所述第二网络之间通过所述单向网闸进行隔离。
[0031]另一方面,本专利技术实施例提供了一种MQTT服务器,该MQTT服务器包括:
[0032]接收模块,用于接收第一网络中的MQTT客户端发送的请求报文;所述第一网络与所述第二网络之间通过单向网闸进行隔离;
[0033]第二生成模块,用于若所述请求报文的固定报头中的设定标志位的值为设定值,根据所述请求报文生成满足网闸穿透条件的响应报文;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;
[0034]第二发送模块,用于将所述响应报文发送给所述MQTT客户端。
[0035]另一方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本专利技术实施例第一方面提供的网闸穿
透方法的步骤。
[0036]另一方面,本专利技术实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本专利技术实施例第一方面提供的网闸穿透方法的步骤。
[0037]本实施例将MQTT客户端以库的形式部署在第一网络中供数据采集程序调用,数据采集程序将采集到的设备数据通过MQTT客户端发送给第二网络中的MQTT服务器。由于数据采集程序通过调用MQTT客户端库与MQTT服务器通信,数据采集程序无需进行改造(不需要做任何代码修改)。而且MQTT客户端库的通用性强,任何支持MQTT协议的数据采集程序都可以调用MQTT客户端库。MQTT客户端通过生成请求报文的固定报头,基于固定报头对请求报文进行封装,将封装好的请求报文通过单向网闸发送给第二网络中的MQTT服务器,以使MQTT服务器根据请求报文返回满足网闸穿透条件的响应报文。其中,固定报头中的设定标志位的值为设定值,响应报文的所有字节全为1或0,第一网络与第二网络之间通过单向网闸进行隔离。本实施例通过将请求报文的固定报头中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网闸穿透方法,其特征在于,所述方法应用于第一网络中的消息队列遥测传输协议MQTT客户端,所述MQTT客户端以库的形式供第一网络中的数据采集程序调用,所述数据采集程序用于将采集数据通过所述MQTT客户端发送给第二网络中的MQTT服务器,所述网闸穿透方法包括:生成请求报文的固定报头;所述固定报头中的设定标志位的值为设定值;基于所述固定报头对所述请求报文进行封装;将封装好的所述请求报文通过单向网闸发送给所述第二网络中的MQTT服务器,以使所述MQTT服务器根据所述请求报文返回满足网闸穿透条件的响应报文;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;所述第一网络与所述第二网络之间通过所述单向网闸进行隔离。2.如权利要求1所述的方法,其特征在于,所述请求报文包括以下任意一项:连接请求报文;连接保活请求报文。3.如权利要求2所述的方法,其特征在于,若所述请求报文为连接请求报文,所述方法还包括:若接收到所述MQTT服务器发送的响应报文,确定所述MQTT客户端和所述MQTT服务器之间的连接建立成功。4.如权利要求3所述的方法,其特征在于,在所述MQTT客户端和所述MQTT服务器之间的连接建立成功之后,所述方法还包括:向所述MQTT服务器发布带消息主题的消息;所述消息表征所述数据采集程序的采集数据;所述MQTT客户端和所述MQTT服务器之间的QoS服务质量等级为0。5.一种网闸穿透方法,应用于如权利要求1所述的MQTT服务器,所述MQTT服务器位于第二网络,其特征在于,所述方法包括:接收第一网络中的MQTT客户端发送的请求报文;所述第一网络与所述第二网络之间通过单向网闸进行隔离;若所述请求报文的固定报头中的设定标志位的值为设定值,根据所述请求报文生成满足网闸穿透条件的响应报文;所述网闸穿透条件表征所述响应报文的所有字节全为1或0;将所述响应报文发送给所述MQTT客户端。6.如权利要求5所述的方法,其特征在于,所述方法还包括:接收所述MQTT客户端发布的带消息主题的消息;所述消息表征所述数据采集程序的采集数据;其中,所述MQTT客户端和所述MQTT服务器之间的服务质量等级QoS为0;基于订阅主题将所述消息分发给对应的订阅者。7.一种网闸穿透系统,其特征在于,包括:...

【专利技术属性】
技术研发人员:谷智勇熊涛
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1