一种虚拟通道控制方法及系统与流程

文档序号:11930791阅读:399来源:国知局
一种虚拟通道控制方法及系统与流程

本发明涉及网络应用技术领域,特别涉及一种虚拟通道控制方法及系统。



背景技术:

云计算技术经过多年的发展,已经进入了成熟和规模应用阶段,业务迁移到云端后,如何让客户端多个业务系统实现远程统一接入也成为了云计算业界关注的重点。

目前,云应用客户端多业务统一接入大多采用VPN拨号的方式,由于VPN主要工作在OSI的网路层,当客户端需要同时访问不同的网络时,实现起来极其复杂;另外,业务系统每个网络连接建立和释放仍然需要和服务端进行三次握手,通信效率低。



技术实现要素:

针对现有技术的不足,本发明旨在提供一种便于业务系统网络统一接入、通用性更强、通信效率更高的虚拟通道控制方法及系统。

为实现上述目的,本发明采用如下技术方案:

一种虚拟通道控制方法,用于在客户端和服务端之间连接通信,所述客户端与客户端代理连接,所述服务端与虚拟通道网关连接,所述方法包括以下步骤:

所述客户端代理向虚拟通道网关发送长连接握手消息;

所述虚拟通道网关接收到所述长连接握手消息,向所述客户端代理发送一个相同的长连接握手消息;

客户端向所述客户端代理发送虚拟通道建立请求;

所述客户端代理接收到所述虚拟通道建立请求,将所述虚拟通道建立请求发送至所述虚拟通道网关;

所述虚拟通道网关接收到所述虚拟通道建立请求,根据所述虚拟通道建立请求在所述客户端代理和虚拟通道网关之间建立虚拟通道。

作为本发明的进一步改进,在步骤所述虚拟通道网关接收到所述虚拟通道建立请求,根据所述虚拟通道建立请求在所述客户端代理和虚拟通道网关之间建立虚拟通道之后,还包括:

当所述客户端代理接收到虚拟通道网关发送的虚拟通道关闭消息时,断开与所述客户端的连接;

当所述虚拟通道网关接收到所述客户端代理发送的虚拟通道关闭消息时,断开与所述服务端的连接。

作为本发明的进一步改进,所述方法还包括:

所述客户端或客户端代理实时检测所述虚拟通道,当检测到所述虚拟通道断开或不存在时,发送虚拟通道关闭消息至服务端。

作为本发明的进一步改进,所述方法还包括:

所述客户端代理和虚拟通道网关定时向对方发送心跳消息,若一端超时未收到心跳消息,则发送虚拟通道关闭消息给所述客户端或服务端。

作为本发明的进一步改进,所述虚拟通道建立请求、虚拟通道关闭消息中包含了所述虚拟通道的编号信息,每个虚拟通道对应一个唯一的通道编号。

一种虚拟通道控制系统,所述系统包括:客户端、客户端代理、虚拟通道网关和服务端;

所述客户端代理向虚拟通道网关发送长连接握手消息;

所述虚拟通道网关接收到所述长连接握手消息,向所述客户端代理发送一个相同的长连接握手消息;

所述客户端向所述客户端代理发送虚拟通道建立请求;

所述客户端代理接收到所述虚拟通道建立请求,将所述虚拟通道建立请求发送至所述虚拟通道网关;

所述虚拟通道网关接收到所述虚拟通道建立请求,根据所述虚拟通道建立请求在所述客户端代理和虚拟通道网关之间建立虚拟通道。

作为本发明的进一步改进,所述系统还包括:

当所述客户端代理接收到虚拟通道网关发送的虚拟通道关闭消息时,断开与所述客户端的连接;

当所述虚拟通道网关接收到所述客户端代理发送的虚拟通道关闭消息时,断开与所述服务端的连接。

作为本发明的进一步改进,所述系统还包括:

所述客户端或客户端代理实时检测所述虚拟通道,当检测到所述虚拟通道断开或不存在时,发送虚拟通道关闭消息至服务端。

作为本发明的进一步改进,所述系统还包括:

所述客户端代理和虚拟通道网关定时向对方发送心跳消息,若一端超时未收到心跳消息,则发送虚拟通道关闭消息给所述客户端或服务端。

作为本发明的进一步改进,所述虚拟通道建立请求、虚拟通道关闭消息中包含了所述虚拟通道的编号信息,每个虚拟通道对应一个唯一的通道编号。

相比于现有技术,本发明的虚拟通道控制方法及系统通过客户端代理和虚拟通道网关建立一个可靠长连接,客户端根据需要在此通道上建立一个或者多个会话隔离的虚拟通道和云端服务器进行通信,实现云应用的统一接入,每个业务系统不必要单独建立一个连接,又通过独立客户端代理模块,通用性更强,并可根据需要灵活的创建和销毁虚拟通道,此外增加了心跳消息来保证系统的可靠性,通信效率更高。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1是本发明实施例中虚拟通道控制方法的示意图。

图2是本发明实施例中虚拟通道控制系统的示意图。

标记说明:210、客户端;220、客户端代理;230、虚拟通道网关;240、服务端。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

如图1所示,为本发明实施例虚拟通道控制方法的示意图。所述方法通过在服务端集成一个虚拟通道网关,在客户端集成一个客户端代理,在所述客户端代理和虚拟通道网关之间建立一个可靠长连接,所述客户端根据需要在此通道上建立一个或者多个会话隔离的虚拟通道和云端服务器进行通信,实现云应用的统一接入。所述方法具体包括以下步骤:

步骤110、所述客户端代理向虚拟通道网关发送长连接握手消息;

步骤120、所述虚拟通道网关接收到所述长连接握手消息,向所述客户端代理发送一个相同的长连接握手消息;表明长连接通信可靠,连接建立成功;

步骤130、所述客户端向所述客户端代理发送虚拟通道建立请求;

步骤140、所述客户端代理接收到所述虚拟通道建立请求,将所述虚拟通道建立请求发送至所述虚拟通道网关;

步骤150、所述虚拟通道网关接收到所述虚拟通道建立请求,根据所述虚拟通道建立请求在所述客户端代理和虚拟通道网关之间建立虚拟通道。

优选的,所述虚拟通道控制方法还包括:

当所述客户端代理接收到虚拟通道网关发送的虚拟通道关闭消息时,断开与所述客户端的连接;

当所述虚拟通道网关接收到所述客户端代理发送的虚拟通道关闭消息时,断开与所述服务端的连接。

优选的,所述虚拟通道控制方法还包括:

所述客户端或客户端代理实时检测所述虚拟通道,当检测到所述虚拟通道断开或不存在时,发送虚拟通道关闭消息至服务端。

优选的,所述虚拟通道控制方法还包括:

当所述虚拟通道网关检测到虚拟通道建立成功时,发送虚拟通道建立成功消息至所述客户端代理;

当所述虚拟通道网关检测到虚拟通道建立失败时,发送虚拟通道建立失败消息至所述客户端。

优选的,所述虚拟通道控制方法还包括:

所述客户端代理和虚拟通道网关定时向对方发送心跳消息,若一端超时未收到心跳消息,则发送虚拟通道关闭消息给所述客户端或服务端。

优选的,所述虚拟通道网关接收和发送的通道消息分为控制消息和数据消息,所述通道消息的头部包含所述虚拟通道的ID及所述通道消息的长度信息,用于所述客户端代理和虚拟通道网关对不同虚拟通道的信息进行拆分。所述控制消息包括:虚拟通道建立请求、虚拟通道关闭消息、虚拟通道建立成功消息和虚拟通道建立失败消息。

优选的,所述虚拟通道建立请求、虚拟通道关闭消息、虚拟通道建立成功消息和虚拟通道建立失败消息中包含了所述虚拟通道的编号信息,每个虚拟通道对应一个唯一的通道编号。

具体的,所述虚拟通道由业务ID和会话ID组成唯一通道号,每个业务系统具备唯一的业务号,会话号由0开始循环递增。

优选的,所述客户端代理和虚拟通道网关之间通过公共网络或其他方式连接,所述客户端代理和虚拟通道网关之间支持通信加密、数据压缩等技术。

优选的,所述客户端代理可以是一个独立的进程模块,通过网络连接、消息队列等进程间通信的方式和业务系统客户端进行交互。也可以和业务系统的客户端集成,直接通过共享内存的方式进行交互。

优选的,所述虚拟通道网关可以是一个独立的服务端程序,通过网络连接、消息队列等进程间通信的方式和业务系统后台进行交互。也可以和业务系统的服务端集成,直接通过共享内存的方式进行交互。

优选的,所述虚拟通道控制方法不仅限于应用远程接入领域,也可以应用于代理通信等其它领域,比如通过浏览器连接代理模块实现对虚拟网关后端HTTP服务的访问。

如图2所示,为本发明实施例虚拟通道控制系统的示意图。所述系统包括以下模块:客户端210、客户端代理220、虚拟通道网关230、服务端240,主要工作流程如:

所述客户端代理220向虚拟通道网关230发送长连接握手消息;

所述虚拟通道网关230接收到所述长连接握手消息,向所述客户端代理220发送一个相同的长连接握手消息;表明长连接通信可靠,连接建立成功;

所述客户端210向所述客户端代理220发送虚拟通道建立请求;

所述客户端代理220接收到所述虚拟通道建立请求,将所述虚拟通道建立请求发送至所述虚拟通道网关230;

所述虚拟通道网关230接收到所述虚拟通道建立请求,根据所述虚拟通道建立请求在所述客户端代理220和虚拟通道网关230之间建立虚拟通道。

优选的,所述虚拟通道控制系统还包括:

当所述客户端代理220接收到虚拟通道网关230发送的虚拟通道关闭消息时,断开与所述客户端210的连接;

当所述虚拟通道网关230接收到所述客户端代理220发送的虚拟通道关闭消息时,断开与所述服务端240的连接。

优选的,所述虚拟通道控制系统还包括:

所述客户端210或客户端代理220实时检测所述虚拟通道,当检测到所述虚拟通道断开或不存在时,发送虚拟通道关闭消息至服务端240。

优选的,所述虚拟通道控制系统还包括:

当所述虚拟通道网关230检测到虚拟通道建立成功时,发送虚拟通道建立成功消息至所述客户端代理220;

当所述虚拟通道网关230检测到虚拟通道建立失败时,发送虚拟通道建立失败消息至所述客户端210。

优选的,所述虚拟通道控制系统还包括:

所述客户端代理220和虚拟通道网关230定时向对方发送心跳消息,若一端超时未收到心跳消息,则发送虚拟通道关闭消息给所述客户端210或服务端240。

优选的,所述虚拟通道网关230接收和发送的通道消息分为控制消息和数据消息,所述通道消息的头部包含所述虚拟通道的ID及所述通道消息的长度信息,用于所述客户端代理220和虚拟通道网关230对不同虚拟通道的信息进行拆分。所述控制消息包括:虚拟通道建立请求、虚拟通道关闭消息、虚拟通道建立成功消息和虚拟通道建立失败消息。

优选的,所述虚拟通道建立请求、虚拟通道关闭消息、虚拟通道建立成功消息和虚拟通道建立失败消息中包含了所述虚拟通道的编号信息,每个虚拟通道对应一个唯一的通道编号。

具体的,所述虚拟通道由业务ID和会话ID组成唯一通道号,每个业务系统具备唯一的业务号,会话号由0开始循环递增。

优选的,所述客户端代理220和虚拟通道网关230之间通过公共网络或其他方式连接,所述客户端代理220和虚拟通道网关230之间支持通信加密、数据压缩等技术。

优选的,所述客户端代理220可以是一个独立的进程模块,通过网络连接、消息队列等进程间通信的方式和业务系统客户端210进行交互,也可以和客户端210集成,直接通过共享内存的方式进行交互。

优选的,所述虚拟通道网关230可以是一个独立的服务端程序,通过网络连接、消息队列等进程间通信的方式和业务系统后台进行交互。也可以和业务系统的服务端240集成,直接通过共享内存的方式进行交互。

优选的,所述虚拟通道控制系统不仅限于应用远程接入领域,也可以应用于代理通信等其它领域,比如通过浏览器连接代理模块实现对虚拟网关230后端HTTP服务的访问。

本发明的虚拟通道控制方法及系统通过客户端代理和虚拟通道网关建立一个可靠长连接,客户端根据需要在此通道上建立一个或者多个会话隔离的虚拟通道和云端服务器进行通信,实现云应用的统一接入,每个业务系统不必要单独建立一个连接,又通过独立客户端代理模块,通用性更强,并可根据需要灵活的创建和销毁虚拟通道,此外增加了心跳消息来保证系统的可靠性,通信效率更高。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1