TCP流的多路复用系统及其方法、存储介质与终端技术方案

技术编号:17709858 阅读:21 留言:0更新日期:2018-04-14 21:24
本发明专利技术公开TCP流的多路复用系统及其方法、存储介质与终端。所述方法包括步骤:将APP、设备分别与中间服务器建立TCP长连接;在APP和设备收到对端的握手请求后,检查本端参数并将其发送给对端,而收到对端的握手应答后,选择一个共同支持的参数集完成握手过程;使APP请求对端绑定的HTTP服务器地址;在设备收到APP发送的HTTP服务器地址请求后,返回自己绑定的IP端口;使APP收到设备端返回的IP端口,绑定一个本地地址;使APP往地址发起HTTP请求;使APP的TCP mux接收HTTP请求,并将请求数据进行分片、封装,然后发往中间服务器;使中间服务器将数据转发给设备;使设备的demux从中间服务器接收HTTP请求,并将数据重组、解封装,再发往HTTP Server。本发明专利技术能在发送端将多个传输请求分段交替插入到TCP通道内,在接收端重组还原这些请求。

【技术实现步骤摘要】
TCP流的多路复用系统及其方法、存储介质与终端
本专利技术涉及一种TCP流的多路复用系统及其方法、存储介质与终端,尤其涉及一种TCP流的多路复用系统、TCP流的多路复用方法、应用所述方法的计算机可读存储介质、应用所述方法的计算机终端。
技术介绍
随着私人云技术的兴起,越来越多的位于内网中的设备需要提供基于公网地址的服务接口,以方便用户随时随地访问。但是受限于NAT、防火墙等因素的制约,内网里面的设备是无法直接供外部访问的,通过引入一个位于公网的中间服务器,内网设备和用户都通过中间服务器来传递信息。为了节约服务器资源,通常设备和用户与服务器之间只维护保持一条TCP通道,当有数据传输时,串行使用该TCP通道。对于小数据量如控制类消息,是能满足使用要求的,但传输大文件时,会长时间占用通道,导致其他的数据没有机会传输,显然无法满足高并发低延迟的要求。
技术实现思路
为解决串行传输低效的问题,本专利技术提供一种TCP流的多路复用系统、TCP流的多路复用方法、应用所述方法的计算机可读存储介质、应用所述方法的计算机终端,所述系统引入并发传输方法,在发送端将多个传输请求分段交替插入到TCP通道内,在接收端重组还原这些请求。本专利技术采用以下技术方案实现:一种TCP流的多路复用系统,所述系统的网络构架包括APP、设备以及作为所述APP与所述设备之间的通信桥梁的中间服务器;其中,所述App与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;所述设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;所述App请求对端绑定的HTTP服务器地址;所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;所述App收到所述设备返回的IP端口,绑定一个本地地址;所述App往与本地地址相对应的链接网址的地址发起HTTP请求;所述App的TCPmux接收HTTP请求,并将请求数据进行分片、封装,然后发往所述中间服务器;所述中间服务器将数据转发给所述设备;所述设备的demux从所述中间服务器接收HTTP请求,并将数据重组、解封装,然后发往HTTPServer。作为上述方案的进一步改进,所述App集成TCP多路复用与解复用器,通过TCP与所述中间服务器保持长连接。作为上述方案的进一步改进,所述App主动发起HTTP请求,获取所述设备的信息或者从所述设备拉取文件。作为上述方案的进一步改进,所述设备集成TCP多路复用与解复用器,通过TCP与所述中间服务器保持长连接。作为上述方案的进一步改进,所述设备提供HTTPServer,供所述App使用。作为上述方案的进一步改进,所述中间服务器分别于所述App和所述设备建立TCP连接,将所述App和所述设备发送过来的数据透传给对端。本专利技术还提供一种TCP流的多路复用方法,所述方法应用于一个TCP流的多路复用系统中,所述TCP流的多路复用系统的网络构架包括APP、设备、以及作为所述APP与所述设备之间的通信桥梁的中间服务器;所述TCP流的多路复用方法包括以下步骤:将APP与中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;将设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;在所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;在所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;使所述App请求对端绑定的HTTP服务器地址;在所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;使所述App收到所述设备端返回的IP端口,绑定一个本地地址;使所述App往与本地地址相对应的链接网址的地址发起HTTP请求;使所述App的TCPmux接收HTTP请求,并将请求数据进行分片、封装,然后发往所述中间服务器;使所述中间服务器将数据转发给所述设备;使所述设备的demux从所述中间服务器接收HTTP请求,并将数据重组、解封装,然后发往HTTPServer。作为上述方案的进一步改进,所述TCP流的多路复用系统为上述任意的TCP流的多路复用系统,TCPmux接收来自HTTPClient的请求,然后复用到一个单一的TCP通道,将数据发完所述中间服务器,TCPdemux从所述中间服务器接收数据,将其解复用,然后发送给HTTPServer。本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:将APP与中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;将设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;在所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;在所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;使所述App请求对端绑定的HTTP服务器地址;在所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;使所述App收到所述设备端返回的IP端口,绑定一个本地地址;使所述App往与本地地址相对应的链接网址的地址发起HTTP请求;使所述App的TCPmux接收HTTP请求,并将请求数据进行分片、封装,然后发往所述中间服务器;使所述中间服务器将数据转发给所述设备;使所述设备的demux从所述中间服务器接收HTTP请求,并将数据重组、解封装,然后发往HTTPServer。本专利技术还提供一种计算机终端,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现以下步骤:将App与中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;将设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;在所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;在所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;使所述App请求对端绑定的HTTP服务器地址;在所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;使所述App收到所述设备返回的IP端口,绑定一个本地地址;使所述App往与本地地址相对应的链接网址的地址发起HTTP请求;使所述App的TCPmux接收HTTP请求,并将请求数据进行分片、封装,然后发往所述中间服务器;使所述中间服务器将数据转发给所述设备;使所述设备的demux从所述中间服务器接收HTTP请求,并将数据重组、解封装,然后发往HTTPServer。本专利技术能解决串行传输低效的问题,通过引入并发传输方法,在发送端将多个传输请求分段交替插入到TCP通道内,在接收端重组还原这些请求。附图说明图1为本专利技术实施例1的TCP流的多路复用系统的网络构架图。图2为图1中TCP流的多路复用系统内部的功能构架图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结本文档来自技高网...
TCP流的多路复用系统及其方法、存储介质与终端

【技术保护点】
一种TCP流的多路复用系统,所述系统的网络构架包括APP、设备以及作为所述APP与所述设备之间的通信桥梁的中间服务器;其特征在于:所述App与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;所述设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;所述App请求对端绑定的HTTP服务器地址;所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;所述App收到所述设备返回的IP端口,绑定一个本地地址;所述App往与本地地址相对应的链接网址的地址发起HTTP请求;所述App的TCP mux接收HTTP请求,并将请求数据进行分片、封装,然后发往所述中间服务器;所述中间服务器将数据转发给所述设备;所述设备的demux从所述中间服务器接收HTTP请求,并将数据重组、解封装,然后发往HTTP Server。

【技术特征摘要】
1.一种TCP流的多路复用系统,所述系统的网络构架包括APP、设备以及作为所述APP与所述设备之间的通信桥梁的中间服务器;其特征在于:所述App与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;所述设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;所述App请求对端绑定的HTTP服务器地址;所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;所述App收到所述设备返回的IP端口,绑定一个本地地址;所述App往与本地地址相对应的链接网址的地址发起HTTP请求;所述App的TCPmux接收HTTP请求,并将请求数据进行分片、封装,然后发往所述中间服务器;所述中间服务器将数据转发给所述设备;所述设备的demux从所述中间服务器接收HTTP请求,并将数据重组、解封装,然后发往HTTPServer。2.如权利要求1所述的TCP流的多路复用系统,其特征在于:所述App集成TCP多路复用与解复用器,通过TCP与所述中间服务器保持长连接。3.如权利要求1所述的TCP流的多路复用系统,其特征在于:所述App主动发起HTTP请求,获取所述设备的信息或者从所述设备拉取文件。4.如权利要求1所述的TCP流的多路复用系统,其特征在于:所述设备集成TCP多路复用与解复用器,通过TCP与所述中间服务器保持长连接。5.如权利要求1所述的TCP流的多路复用系统,其特征在于:所述设备提供HTTPServer,供所述App使用。6.如权利要求1所述的TCP流的多路复用系统,其特征在于:所述中间服务器分别于所述App和所述设备建立TCP连接,将所述App和所述设备发送过来的数据透传给对端。7.一种TCP流的多路复用方法,所述方法应用于一个TCP流的多路复用系统中,所述TCP流的多路复用系统的网络构架包括APP、设备、以及作为所述APP与所述设备之间的通信桥梁的中间服务器;其特征在于:所述TCP流的多路复用方法包括以下步骤:将APP与中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;将设备与所述中间服务器建立TCP长连接,并向对端发出握手请求,协商参数信息;在所述App和所述设备收到对端的握手请求后,检查本端参数,并将其发送给对端;在所述App和所述设备收到对端的握手应答后,检查本端参数,并选择一个共同支持的参数集,完成握手过程;使所述App请求对端绑定的HTTP服务器地址;在所述设备收到所述App发送的HTTP服务器地址请求后,返回自己绑定的IP端口;使所述App收到所述设备端返回的IP端口,绑定一个本地地址;使所述App往与本地地址相对应的链接网址的地址发起HTTP请求;使所述App的...

【专利技术属性】
技术研发人员:熊第彬黎虎
申请(专利权)人:深圳市网心科技有限公司
类型:发明
国别省市:广东,44

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

1