CN104506567B - 一种物联网网关与服务端的数据交换方法 - Google Patents
一种物联网网关与服务端的数据交换方法 Download PDFInfo
- Publication number
- CN104506567B CN104506567B CN201410663133.7A CN201410663133A CN104506567B CN 104506567 B CN104506567 B CN 104506567B CN 201410663133 A CN201410663133 A CN 201410663133A CN 104506567 B CN104506567 B CN 104506567B
- Authority
- CN
- China
- Prior art keywords
- things
- service end
- internet gateway
- internet
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种物联网网关与服务端的数据交换方法,应用于物联网领域。本发明实施例中,一种物联网网关与服务端的数据交换方法包括物联网网关发起与服务端建立TCP连接;根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令。该方法通过物联网网关和服务端采用HTTP长轮询方式通过三步交互完成应用下发的控制指令。通过网关侧主动发起请求,与传统的从服务端推送结果相比安全性更高,解决了现有技术中服务端的被动状态以及网关缺乏安全保护的问题。同时本发明由于将服务端单独抽离出来,专注于处理控制功能,这样平衡了维持长连接所需的性能开销。
Description
技术领域
本发明涉及物联网领域,尤其涉及一种物联网网关与服务端的数据交换方法。
背景技术
物联网架构可分为三层:感知层、网络层和应用层,感知层由各种传感器构成,包括温湿度传感器、二维码标签、RFID标签和读写器、摄像头、红外线、GPS等感知终端。感知层是物联网识别物体、采集信息的来源。网络层是整个物联网的中枢,负责传递和处理感知层获取的信息。应用层是物联网和用户的接口,它与行业需求结合,实现物联网的智能应用。
现阶段,网络层通过IP化方式,实现底层数据传感与上层应用的业务融合。但通常情况下,网络终端及传感器是处于私有网络中,而上层应用是处于公网中的,在很多情况下,当用户希望通过应用反向控制传感执行器时是无法发现终端网关的,这涉及到一个NAT场景应用问题。目前解决NAT穿透的两种常见手段都是基于UDP的,一种是通过UDP打洞实现NAT穿越,一种是利用NAT会话传输应用程序STUN,这两种基于UDP的方式传输由于是面向无连接的,相对于TCP来说,一方面可靠性差,另一方面需要通信双方频繁交互,流程繁琐。
随着物联网行业向互联网模式转型的迅速发展,采用互联网通用的HTTP协议实现网关传感设备与应用侧通信也越来越广泛,这样物联网可以继承互联网基础标准规范,将物联网的传感节点转化为互联网节点,从而逐步实现行业应用向互联网模式的平滑过渡。进一步扩展Web Service的服务应用,为开发者和工程实施者建立统一开发接口,可使更多跨界不同层面的开发人员及最终用户开发使用。
但是,传统HTTP协议栈直接应用到物联网体系,还存在如下问题:
1)HTTP协议是基于请求-响应模式的无状态的单向协议,即必须由客户端发起一个建立连接请求,服务器接收请求,把数据返回给客户端,然后释放连接。下一次再由客户端发起另一次请求,重复上述过程,服务器始终处于“被动”状态,在物联网体系应用中,多数的数据传输业务要求时时在线,传统的HTTP连接方式交互量大,业务处理过程繁琐。
2)传统的反向控制实现都是以服务端作为发起方,服务端压力过大,并且可以任意对网关发起通知,使网关缺乏安全保护。
发明内容
本发明的目的在于解决现有技术中服务器的“被动”状态以及网关缺乏安全保护的问题。为解决上述问题,本发明实施例提供了一种物联网网关与服务端的数据交换方法。
有鉴于此,本发明提供一种物联网网关与服务端的数据交换方法,可包括:
物联网网关发起与服务端建立TCP连接;
根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令。
本发明还提供一种物联网网关与服务端的数据交换方法,可包括:
服务端与物联网网关建立由所述物联网网关发起的TCP连接;
根据上述TCP连接,所述服务端接收所述物联网网关发起的HTTP长轮询,以获取应用向所述服务端下发的控制指令。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,针对现有技术中服务器的“被动”状态以及网关缺乏安全保护的问题,提出了一种物联网网关与服务端的数据交换方法。该方法通过物联网网关和服务端采用HTTP长轮询方式通过三步交互完成应用下发的控制指令。本发明通过网关侧主动发起请求,与传统的从服务端推送结果相比安全性更高,解决了现有技术中服务端的被动状态以及网关缺乏安全保护的问题。同时本发明由于将服务端单独抽离出来,专注于处理控制功能,这样平衡了维持长连接所需的性能开销。并且本发明避免了复杂的NAT穿透流程,使用TCP长连接方式将网关与服务端建立连接。本发明还将互联网行业流行已久的HTTP协议应用于物联网,有助于传统行业向互联网的平滑过渡。
附图说明
图1为本发明实施例1的一种物联网网关与服务端的数据交换方法的流程图;
图2为本发明实施例2的物联网网关发起与服务端的HTTP长轮询交互流程图;
图3为本发明实施例1的一种物联网网关与服务端的数据交换方法的流程图;
图4为本发明实施例2的物联网网关发起与服务端的HTTP长轮询交互流程图;
图5为本发明实施例1和2的物联网网关与服务端的数据交换***结构图;
图6为本发明实施例1和2中物联网网关、应用和服务端三者之间信令交互的时序流程图;
图7为本发明实施例5的物联网网关和服务端的通信示例图;
图8为本发明实施例5的物联网网关与服务端的数据交换方法流程图。
具体实施方式
本发明实施例提供了一种物联网网关与服务端的数据交换方法,能够解决现有技术中数据交换时服务端处于被动状态以及网关缺乏安全保护的问题。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参阅图1,为本发明提供的一种物联网网关与服务端的数据交换方法实施例1的流程图,本实施例具体可以包括:
S101、物联网网关发起与服务端建立TCP连接;
S102、根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令。
为了更清楚的理解这种物联网网关与服务端的数据交换方法的实现过程,下面详细描述具体步骤的实现方式。
S101、物联网网关发起与服务端建立TCP连接;
具体的,所述物联网网关发起与服务端建立一个TCP长连接,目的是使得服务端能够记住物联网网关,优选的,服务端可以是代理服务器。
S102、根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令;
具体的,在上述建立的TCP连接的基础上,所述物联网网关发起与所述服务端的HTTP长轮询,以便所述物联网网关获取应用向所述服务端下发的控制指令。
本发明实施例中,针对现有技术中服务器的“被动”状态以及网关缺乏安全保护的问题,采用了一种物联网网关与服务端的数据交换方法,所述方法通过物联网网关发起与所述服务端的HTTP长轮询获取应用下发的控制指令。本发明通过网关侧主动发起请求,与传统的从服务端推送结果相比安全性更高,解决了现有技术中服务端的被动状态以及网关缺乏安全保护的问题。同时本发明由于将服务端单独抽离出来,专注于处理控制功能,这样平衡了维持长连接所需的性能开销。并且本发明避免了复杂的NAT穿透流程,使用TCP连接方式将网关与服务端建立连接。本发明还将互联网行业流行已久的HTTP协议应用于物联网,有助于传统行业向互联网的平滑过渡。
为了便于对本发明提供的一种物联网网关与服务端的数据交换方法的有益效果有一个更直观的理解,本发明还提供了实施例2,结合图1和图2,一种物联网网关与服务端的数据交换方法的流程图,以及结合图6物联网网关、应用和服务端三者之间信令交互的时序流程图,由附图1所示,所述方法的具体步骤如下:
S101、物联网网关发起与服务端建立TCP连接;
具体的,所述物联网网关发起与服务端建立一个TCP连接,目的是使得服务端能够记住物联网网关,优选的,所述服务端可以是独立代理服务器,用于连接所述应用和所述物联网网关。并且每个与所述服务端建立TCP连接的所述物联网网关都会维护一个独立的TCP连接。
S102、根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令;
具体的,在上述建立的TCP连接的基础上,所述物联网网关发起与所述服务端的HTTP长轮询,以便所述物联网网关获取所述应用向所述服务端下发的控制指令。
具体的,由附图2所示,所述物联网网关发起与所述服务端的HTTP长轮询包括:
S201、所述物联网网关向所述服务端发送携带指示所述TCP连接为反向控制连接的指示包;
S202、若所述服务端接收到所述指示包,则所述物联网网关接收所述服务端发送的响应;
S203、所述物联网网关接收所述服务端发送的响应后向所述服务端发送指令请求包;
S204、若所述服务端接收到所述应用下发的控制指令,且存在所述服务端与所述控制指令中的物联网网关的TCP连接,则所述物联网网关接收并执行所述服务端发送的所述控制指令;
S205、返回执行所述物联网网关向所述服务端发送指令请求包的步骤,直至所述物联网网关与所述服务端的TCP连接断开。
下面详细说明HTTP长轮询的具体实现过程:
S201、所述物联网网关向所述服务端发送携带指示所述TCP连接为反向控制连接的指示包;
具体的,所述物联网网关在上述建立TCP连接的基础上,首先向所述服务端基于HTTP协议发送指示包,告知所述服务端所述TCP连接为用于反向控制的长连接,其中优选的,所述服务端可以为独立代理服务器。
S202、若所述服务端接收到所述指示包,则所述物联网网关接收所述服务端发送的响应;
具体的,若所述服务端在接收到上述指示包后会将相关信息存储并同时向所述物联网网关作出响应,告知所述物联网网关接收指示包成功,所述物联网网关接收所述服务端发送的响应,需要说明的是,此处只考虑接收到所述指示包的情况,不考虑接收不到所述指示包的情况。
S203、所述物联网网关接收所述服务端发送的响应后向所述服务端发送指令请求包;
具体的,所述物联网网关在接收到所述服务端对接收所述指示包作出的接收成功的响应后向所述服务端发送一个指令请求包,用于请求最新控制指令。
S204、若所述服务端接收到所述应用下发的控制指令,且存在所述服务端与所述控制指令中的物联网网关的TCP连接,则所述物联网网关接收并执行所述服务端发送的所述控制指令;
具体的,若所述服务端接收到所述应用下发的最新控制指令且存在所述服务端与所述控制指令中的物联网网关的TCP连接,所述服务端对所述指令请求包作出响应,所述物联网网关接收并执行所述服务端发送的所述控制指令;具体过程如下:首先,所述服务端接收到所述应用下发的控制指令后,所述服务端查找是否存在与所述控制指令中的物联网网关对应的所述TCP连接,然后,根据上述查找的结果决定是否向所述物联网网关作出响应。即若所述服务端未查找到与所述物联网网关对应的所述TCP连接则向所述应用反馈控制失败,若查到与所述物联网网关对应的所述TCP连接则向所述物联网网关作出响应,用于告知所述物联网网关,需要说明的是,如果没有所述应用下发控制指令,则所述物联网网关会一直处于等待指令状态。
S205、执行所述物联网网关向所述服务端发送指令请求包的步骤,直至所述物联网网关与所述服务端的TCP连接断开;
具体的,所述物联网网关完成上述应用下发的控制指令后,再次向所述服务端发送所述指令请求包,即再次向所述服务端请求最新控制指令,所以返回执行所述物联网网关向所述服务端发送指令请求包的步骤中,一直到所述物联网网关与所述服务端的TCP连接断开。
需要说明的是,所述物联网网关与所述服务端建立所述TCP连接后,所述应用使用UDP定时向所述服务端发送心跳包用于判断所述物联网网关是否长时间在线。如果所述服务端在规定时间内收到了心跳包则可以忽略,如果在规定时间内没有收到心跳包,则会认为所述物联网网关已经掉线。这样如果判断出所述物联网网关在线,所述应用会继续向所述服务端发送应用控制指令,如果所述物联网网关不在线,所述应用也不会向所述服务端发送应用控制指令。
本发明还提供了实施例3,结合图3和图4,一种物联网网关与服务端的数据交换方法的流程图,以及结合图6物联网网关、应用和服务端三者之间信令交互的时序流程图,由附图3所示,所述方法的具体步骤如下:
S301、服务端与物联网网关建立由所述物联网网关发起的TCP连接;
具体的,所述服务端与所述物联网网关之间建立一个由所述物联网网关向所述服务端发起的TCP连接,目的是使所述服务端能够记住所述物联网网关,优选的,所述服务端可以是独立代理服务器,用于连接所述应用和所述物联网网关。并且每个与所述服务端建立TCP连接的所述物联网网关都会维护一个独立的TCP连接。
S302、根据上述TCP连接,所述服务端接收所述物联网网关发起的HTTP长轮询,以获取应用向所述服务端下发的控制指令。
具体的,在上述TCP连接的基础上,所述服务端接收由所述物联网网关向所述服务端发起的HTTP长轮询,以便获取应用向所述服务端下发的控制指令。
具体的,由附图4所示,所述服务端接收所述物联网网关发起的HTTP长轮询包括:
S401、所述服务端接收所述物联网网关发送的携带指示所述TCP连接为反向控制连接的指示包;
S402、所述服务端接收到所述指示包后,向所述物联网网关发送响应;
S403、若所述物联网网关接收到所述服务端发送的响应,所述服务端接收所述物联网网关发送的指令请求包;
S404、若所述服务端接收到所述应用下发的控制指令,所述服务端查找是否存在所述服务端与所述控制指令中的物联网网关的TCP连接;
S405、若存在所述服务端与所述物联网网关的TCP连接,则所述服务端向所述物联网网关发送所述控制指令;
S406、执行所述服务端接收所述物联网网关发送的指令请求包的步骤,直至所述物联网网关与所述服务端的TCP连接断开。
下面详细说明HTTP长轮询的具体实现过程:
S401、所述服务端接收所述物联网网关发送的携带指示所述TCP连接为反向控制连接的指示包;
具体的,在所述服务端和所述物联网网关建立了TCP连接的基础上,所述服务端接收由所述物联网网关发送过来的指示包,所述指示包用于告知所述服务端建立的所述TCP连接为用于反向控制的长连接,其中优选的,所述服务端可以为独立代理服务器。
S402、所述服务端接收到所述指示包后,向所述物联网网关发送响应;
具体的,在所述服务端接收到所述物联网网关发送过来的所述指示包后,会向所述物联网网关发送响应,告知所述物联网网关接收指示包成功。
S403、若所述物联网网关接收到所述服务端发送的响应,所述服务端接收所述物联网网关发送的指令请求包;
具体的,当所述物联网网关接收到所述服务端发送过来的接收所述指示包成功的响应后,所述服务端会接收到由所述物联网网关发过来的指令请求包,用于请求最新控制指令。
S404、若所述服务端接收到所述应用下发的控制指令,所述服务端查找是否存在所述服务端与所述控制指令中的物联网网关的TCP连接;
具体的,当所述服务端接收到所述应用下发的控制指令后,所述服务端会查找是否存在所述服务端与所述控制指令中的物联网网关的TCP连接。
S405、若存在所述服务端与所述物联网网关的TCP连接,则所述服务端向所述物联网网关发送所述控制指令;
具体的,如果所述服务端查找后的结果是存在所述服务端与所述物联网之间的TCP连接,则所述服务端会向所述物联网网关发送所述应用下发的所述控制指令。
S406、执行所述服务端接收所述物联网网关发送的指令请求包的步骤,直至所述物联网网关与所述服务端的TCP连接断开。
具体的,所述物联网网关执行完上述应用下发的控制指令后,所述物联网网关会再次向所述服务端发送指令请求包,即再次向所述服务端请求最新控制指令,所以返回执行所述服务端接收所述物联网网关发送的指令请求包的步骤,直到所述物联网网关与所述服务端的TCP连接断开。
需要说明的是,所述物联网网关与所述服务端建立所述TCP连接后,所述应用使用UDP定时向所述服务端发送心跳包用于判断所述物联网网关是否长时间在线。如果所述服务端在规定时间内收到了心跳包则可以忽略,如果在规定时间内没有收到心跳包,则会认为所述物联网网关已经掉线。这样如果判断出所述物联网网关在线,所述应用会继续向所述服务端发送应用控制指令,如果所述物联网网关不在线,所述应用也不会向所述服务端发送应用控制指令。
另外,由图5还可以看出,本发明提供的物联网网关和服务端的数据交换方法中,服务端的功能是作为应用和物联网网关的桥梁,来实现物联网网关完成对应用下发的控制指令。为了更清楚的理解本发明的内容,本发明还提供了实施例4。
由附图7所示,所述应用以应用程序APP1为例,所述服务端以代理服务器AG1为例,所述物联网网关以所述物联网网关GW1为例,由图7可以看出,所述代理服务器AG1自上与所述应用程序APP1连接,自下与所述物联网网关GW1连接,下面以所述应用程序APP1发送控制指令给所述物联网网关GW1为例详细说明一种物联网网关与服务端的数据交换方法的具体实现过程。结合图1和图7以及图8所示,
S101、物联网网关发起与服务端建立TCP连接;
具体的,所述物联网网关发起与所述服务端建立一个TCP连接,目的是使得所述服务端能够记住所述物联网网关,优选的,所述服务端可以是独立代理服务器,用于连接所述应用和所述物联网网关。并且每个与所述服务端建立TCP连接的所述物联网网关都会维护一个独立的TCP连接。在本实施例中,具体的,所述物联网网关GW1首先向所述代理服务器AG1发起建立TCP连接。需要说明的是,所述物联网网关GW1处于私网中,而所述代理服务器AG1处于公网中。所以本实施例中也可以是处于私网的所述物联网网关GW1向处于公网的所述代理服务器AG1发起建立TCP连接,即完成了所述物联网网关与服务端之间的TCP连接。
S102、根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令;
具体的,在上述建立的TCP长连接的基础上,所述物联网网关发起与所述服务端的HTTP长轮询,以便所述物联网网关获取应用向所述服务端下发的控制指令。
本实施例中,具体的,上述建立TCP连接后,所述物联网网关GW1发起与所述代理服务器AG1的HTTP长轮询,以便所述物联网网关GW1获取所述应用程序APP1向所述代理服务器AG1下发的控制指令。
具体的,结合附图2所示,所述物联网网关发起与所述服务端的HTTP长轮询包括::
S201、所述物联网网关向所述服务端发送携带指示所述TCP连接为反向控制连接的指示包;
具体的,所述物联网网关在上述建立TCP连接的基础上,首先向所述服务端基于HTTP协议发送指示包,告知所述服务端所述TCP连接为用于反向控制的长连接,其中优选的,所述服务端可以为独立代理服务器。
本实施例中,具体的,所述物联网网关GW1在上述建立TCP长连接的基础上,向所述代理服务器AG1基于HTTP协议发送一条指示包即SOAP包,所述SOAP包的内容包括所述物联网网关GW1的URL(http://thisisatest.com/gw/keeplive),告知所述代理服务器AG1这是一条用于反向控制的长连接请求。
S202、若所述服务端接收到所述指示包,则所述物联网网关接收所述服务端发送的响应;
具体的,若所述服务端在接收到上述指示包后会将相关信息存储并同时向所述物联网网关作出响应,告知所述物联网网关接收指示包成功,所述物联网网关接收所述服务端发送的响应,需要说明的是,此处只考虑接收到所述指示包的情况,不考虑接收不到所述指示包的情况。
本实施例中,具体的,若所述代理服务器AG1接收到上述指示包后会将相关信息存储,同时向所述物联网网关GW1作出响应,即告知所述物联网网关GW1接收指示包成功。
S203、所述物联网网关接收所述服务端发送的响应后向所述服务端发送指令请求包;
具体的,所述物联网网关在接收到所述服务端对接收所述指示包作出的接收成功的响应后向所述服务端发送一个指令请求包,用于请求最新控制指令。
本实施例中,具体的,所述物联网网关GW1在接收到所述代理服务器AG1对接收所述指示包即SOAP包作出的接收成功的响应后发送一个指令请求包,即第二条SOAP包,用于请求最新控制指令,即等待获得与其对应的所述物联网网关GW1的最新数据,也就是来自所述应用程序APP1的控制指令,需要说明的是,如果没有任何响应,即一直没有获得任何新数据,则所述物联网网关GW1会一直处于阻塞等待状态。
S204、若所述服务端接收到所述应用下发的控制指令,且存在所述服务端与所述物联网网关的TCP连接,则所述物联网网关接收并执行所述服务端发送的所述控制指令;
具体的,若所述服务端接收到所述应用下发的最新控制指令且存在所述服务端与所述控制指令中的物联网网关的TCP连接,所述服务端对所述指令请求包作出响应,所述物联网网关接收并执行所述服务端发送的所述控制指令;具体过程如下:首先,所述服务端接收到所述应用下发的控制指令后,所述服务端查找是否存在与所述控制指令中的物联网网关对应的所述TCP连接,然后,根据上述查找的结果决定是否向所述物联网网关作出响应。即若所述服务端未查找到与所述控制指令中的物联网网关对应的所述TCP连接则向所述应用反馈控制失败,若查到与所述控制指令中的物联网网关对应的所述TCP连接则向所述物联网网关作出响应,将所述应用的控制指令返回给所述物联网网关,需要说明的是,如果没有所述应用下发控制指令,则所述物联网网关会一直处于等待指令状态。
本发明实施例中,具体的,所述代理服务器AG1接收到所述应用程序APP1下发的最新控制指令,具体的,该最新指令可以是所述应用程序APP1需要控制所述物联网网关GW1管控的执行器A11,则所述代理服务器AG1要对上述请求包即第二条SOAP包作出响应,具体过程是:首先,所述代理服务器AG1接收到所述应用程序APP1下发的最新控制指令后,所述代理服务器AG1查找是否存在与所述物联网网关GW1对应的所述TCP长连接,然后,根据上述查找的结果决定是否向所述物联网网关GW1作出响应。即若所述代理服务器AG1未查找到与所述物联网网关GW1对应的所述TCP连接则向所述应用程序反馈控制失败,具体的,反馈的内容可以是不能实现对所述物联网网关GW1管控的执行器A11的控制,若所述代理服务器AG1查到与所述物联网网关GW1对应的所述TCP连接则向所述物联网网关GW1作出响应,将所述控制指令返回给所述物联网网关GW1。
S205、所述物联网网关接收到所述请求包响应后完成所述应用的控制指令,并再次向所述服务端发送所述请求包。
具体的,所述物联网网关完成上述应用下发的控制指令后,再次向所述服务端发送所述指令请求包,即再次向所述服务端请求最新控制指令,所以返回执行所述物联网网关向所述服务端发送指令请求包的步骤中,一直到所述物联网网关与所述服务端的TCP连接断开。
本发明实施例中,具体的,所述物联网网关GW1接收到所述代理服务器AG1对所述请求包即第二条SOAP包作出的响应,即所述代理服务器AG1查询到与所述物联网网关GW1对应的所述TCP连接后,所述物联网网关GW1根据所述应用程序APP1下发的控制指令完成控制,具体的,可以是所述物联网网关GW1根据所述应用程序APP1下发的控制指令控制所述物联网网关GW1管控的执行器A11作出动作,并再次向所述代理服务器AG1发送下一条SOAP请求包,等待所述应用程序APP1的下一条控制指令。
此处需要说明的是,所述物联网网关GW1一旦与所述代理服务器AG1建立了TCP长连接,则所述物联网网关GW1会启动一个心跳进程,所述应用程序APP1使用UDP定期向所述代理服务器AG1发送心跳包,以便所述代理服务器AG1判断所述物联网网关GW1是否长时间在线。如果所述代理服务器AG1在规定时间内收到了心跳包则可以忽略,如果在规定时间内没有收到,则认为所述物联网网关GW1已经掉线。
本发明实施例中,针对现有技术中服务器的“被动”状态以及网关缺乏安全保护的问题,采用了一种物联网网关与服务端的数据交换方法,所述方法通过物联网网关发起与所述服务端的HTTP长轮询获取应用下发的控制指令。本发明通过网关侧主动发起请求,与传统的从服务端推送结果相比安全性更高,解决了现有技术中服务端的被动状态以及网关缺乏安全保护的问题。同时本发明由于将服务端单独抽离出来,专注于处理控制功能,这样平衡了维持长连接所需的性能开销。并且本发明避免了复杂的NAT穿透流程,使用TCP连接方式将网关与服务端建立连接。本发明还将互联网行业流行已久的HTTP协议应用于物联网,有助于传统行业向互联网的平滑过渡。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种物联网网关与服务端的数据交换方法,所述方法包括:
物联网网关发起与服务端建立TCP连接;
根据上述TCP连接,所述物联网网关发起与所述服务端的HTTP长轮询,以获取应用向所述服务端下发的控制指令;
其特征在于,所述物联网网关发起与所述服务端的HTTP长轮询包括:
所述物联网网关向所述服务端发送携带指示所述TCP连接为反向控制连接的指示包;
若所述服务端接收到所述指示包,则所述物联网网关接收所述服务端发送的响应;
所述物联网网关接收所述服务端发送的响应后向所述服务端发送指令请求包,用于请求最新控制指令;
若所述服务端接收到所述应用下发的控制指令,且存在所述服务端与所述控制指令中的物联网网关的TCP连接,则所述物联网网关接收并执行所述服务端发送的所述控制指令;
执行所述物联网网关向所述服务端发送指令请求包的步骤,直至所述物联网网关与所述服务端的TCP连接断开。
2.一种物联网网关与服务端的数据交换方法,所述方法包括:
服务端与物联网网关建立由所述物联网网关发起的TCP连接;
根据上述TCP连接,所述服务端接收所述物联网网关发起的HTTP长轮询,以获取应用向所述服务端下发的控制指令;
其特征在于,所述服务端接收所述物联网网关发起的HTTP长轮询包括:
所述服务端接收所述物联网网关发送的携带指示所述TCP连接为反向控制连接的指示包;
所述服务端接收到所述指示包后,向所述物联网网关发送响应;
若所述物联网网关接收到所述服务端发送的响应,所述服务端接收所述物联网网关发送的指令请求包;
若所述服务端接收到所述应用下发的控制指令,所述服务端查找是否存在所述服务端与所述控制指令中的物联网网关的TCP连接;
若存在所述服务端与所述控制指令中的物联网网关的TCP连接,则所述服务端向所述物联网网关发送所述控制指令;
执行所述服务端接收所述物联网网关发送的指令请求包的步骤,直至所述物联网网关与服务端的TCP连接断开。
3.根据权利要求2所述的方法,其特征在于,若不存在所述服务端与所述物联网网关的TCP连接,则所述服务端向所述应用发送控制失败的响应。
4.根据权利要求1或2中任一项所述的方法,其特征在于,所述物联网网关发起与服务端建立TCP连接后,应用定时向所述服务端发送心跳包用于判断所述物联网网关是否在线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410663133.7A CN104506567B (zh) | 2014-11-19 | 2014-11-19 | 一种物联网网关与服务端的数据交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410663133.7A CN104506567B (zh) | 2014-11-19 | 2014-11-19 | 一种物联网网关与服务端的数据交换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506567A CN104506567A (zh) | 2015-04-08 |
CN104506567B true CN104506567B (zh) | 2017-09-29 |
Family
ID=52948282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410663133.7A Active CN104506567B (zh) | 2014-11-19 | 2014-11-19 | 一种物联网网关与服务端的数据交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506567B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302722A (zh) * | 2016-08-13 | 2017-01-04 | 上海新时达电气股份有限公司 | 电梯物联网网关及电梯物联网的数据传输方法 |
CN106375453B (zh) * | 2016-09-05 | 2020-03-20 | 珠海市魅族科技有限公司 | 基于http连接的双向通讯设备、***和方法 |
CN106791192A (zh) * | 2017-02-09 | 2017-05-31 | 浙江风向标科技有限公司 | 控制物联网设备的方法及装置 |
CN107241274B (zh) * | 2017-06-29 | 2023-04-25 | 厦门锐谷通信设备有限公司 | 一种物联网集成服务无线路由器和*** |
CN110113218A (zh) * | 2019-05-24 | 2019-08-09 | 深圳云里物里科技股份有限公司 | 一种网关配置方法、***、计算机存储介质及电子设备 |
CN110365778B (zh) * | 2019-07-17 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 一种通信控制的方法、装置、电子设备和存储介质 |
CN111030862B (zh) * | 2019-12-13 | 2023-04-18 | 重庆宇来通信设备有限公司 | 一种基于采集终端的设备离线管理*** |
CN113450784A (zh) * | 2021-06-25 | 2021-09-28 | 仿脑科技(深圳)有限公司 | 基于常识理解的智能语音处理方法及物联网*** |
CN115086389A (zh) * | 2022-06-10 | 2022-09-20 | 武汉思普崚技术有限公司 | 一种基于可信地址通信的远程控制***和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377814A (zh) * | 2010-08-25 | 2012-03-14 | 汎惪股份有限公司 | 针对嵌入式操作***的远程协助服务方法 |
CN102497438A (zh) * | 2011-12-19 | 2012-06-13 | 镇江绿能环保科技有限公司 | 无线传感器网络之微藻户外养殖的环境监测*** |
CN202535391U (zh) * | 2012-03-20 | 2012-11-14 | 魏烈祥 | 一种无需设置路由器的即插即用型家居物联协议无线转发器 |
CN103200249A (zh) * | 2013-03-26 | 2013-07-10 | 大连理工大学 | 物联网智能数据网关***的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161162B1 (en) * | 2004-06-30 | 2012-04-17 | Kaseya International Limited | Remote computer management using network communications protocol that enables communication through a firewall and/or gateway |
-
2014
- 2014-11-19 CN CN201410663133.7A patent/CN104506567B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377814A (zh) * | 2010-08-25 | 2012-03-14 | 汎惪股份有限公司 | 针对嵌入式操作***的远程协助服务方法 |
CN102497438A (zh) * | 2011-12-19 | 2012-06-13 | 镇江绿能环保科技有限公司 | 无线传感器网络之微藻户外养殖的环境监测*** |
CN202535391U (zh) * | 2012-03-20 | 2012-11-14 | 魏烈祥 | 一种无需设置路由器的即插即用型家居物联协议无线转发器 |
CN103200249A (zh) * | 2013-03-26 | 2013-07-10 | 大连理工大学 | 物联网智能数据网关***的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104506567A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506567B (zh) | 一种物联网网关与服务端的数据交换方法 | |
CN103368937B (zh) | 通信***和在通信***中发送和接收数据的方法 | |
CN107104936B (zh) | 建立全双工双向通信的方法和*** | |
CN104869101B (zh) | 一种通道建立的方法和设备 | |
CN102045409B (zh) | 网络穿透方法及网络通讯*** | |
WO2011153737A1 (zh) | 一种实现智能家居应用的装置、***和方法 | |
CN105159256B (zh) | 一种基于Web服务的智能家居控制*** | |
CN104106303A (zh) | 用于在无线网络中在设备之间建立隧道式直接链路设立(tdls)会话的方法和装置 | |
JP2008098888A (ja) | 中継サーバ | |
CN102811223A (zh) | Dlna设备共享方法及装置 | |
CN101895590A (zh) | 基于udt实现nat穿越的***和方法 | |
CN110460483B (zh) | 一种基于SDN的Profinet和Modbus设备异构组网方法 | |
CN101437036A (zh) | 支持nat/防火墙穿越的文件传输方法和*** | |
CN105577851A (zh) | 一种p2p通信方法、p2p服务器以及终端 | |
CN106375453B (zh) | 基于http连接的双向通讯设备、***和方法 | |
CN106604119A (zh) | 一种用于智能电视私有云设备的网络穿透方法及*** | |
CN110505640A (zh) | 设备绑定的处理方法、装置及***、待配网设备和终端 | |
CN115118524A (zh) | 接口设备及其物联网自由互通数据透传方法、***及装置 | |
CN107529229A (zh) | 数据传输的方法,装置及*** | |
CN104009961B (zh) | 一种PPPoE会话标识分配方法及设备 | |
CN108882262A (zh) | 设备状态同步方法、***、智能终端及可读存储介质 | |
CN106131039A (zh) | Syn洪泛攻击的处理方法及装置 | |
CN101626345A (zh) | 一种报文处理方法及家庭网关中的实时流协议应用层网关 | |
CN104348731A (zh) | 社区虚拟网络连线建立方法及网络通信*** | |
JP6393475B2 (ja) | 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220516 Address after: Room 101, 1st floor, building 5, yard 58, Jinghai fifth road, East Road, economic and Technological Development Zone, Daxing District, Beijing 100176 Patentee after: Next Generation Internet key technology and Co.,Ltd. of ERC of evaluation and test Beijing Address before: No. 124, 1st floor, zone 3, No. 12, Hongda North Road, economic and Technological Development Zone, Daxing District, Beijing 100176 Patentee before: Beijing Internet Institute Co.,Ltd. |