一种数据传输方法及装置与流程

文档序号:20162937发布日期:2020-03-24 21:12阅读:127来源:国知局
一种数据传输方法及装置与流程

本申请涉及无线通信领域,具体而言,涉及一种数据传输方法及装置。



背景技术:

流量代理转发时用户访问目标网站往往需要经过多个代理服务器抵达目标网站的服务器,当多个用户访问时,代理服务器与代理服务器之间就会建立多个tcp/udp的通讯连接通道,并且等待数据转发完成关闭通讯连接通道,如果再有新的用户访问时又会创建或关闭通讯连接通道,非常消耗服务器资源和时间。



技术实现要素:

本申请实施例的目的在于提供一种数据传输方法及装置,用以解决消耗服务器资源和时间的技术问题。

为了实现上述目的,本申请实施例所提供的技术方案如下所示:

第一方面,本申请实施例提供一种数据传输方法,应用于第一代理服务器,包括:向第二代理服务器发送建立长连接请求;接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;获取用户端发送的第一数据,并将所述第一数据通过所述长连接通道发送给所述第二代理服务器,以使通过所述第二代理服务器将所述第一数据转发至目标服务器。因此,两个代理服务器中间通过建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,在所述与所述第二代理服务器建立长连接通道之后,所述数据传输方法还包括:接收所述第二代理服务器通过所述长连接通道发送的第二数据;将所述第二数据转发至所述用户端。因此,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

在本申请的可选实施例中,所述数据传输方法还包括:向所述第二代理服务器发送断开长连接请求;接收所述第二代理服务器根据所述断开长连接请求返回的断开长连接响应,并与所述第二代理服务器断开所述长连接通道。因此,两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,所述长连接通道为多路复用通道。因此,利用多路复用通道建立的长连接通道,可以同时传输多路信号,从而在涉及多个用户端与目标服务器进行数据交换的过程中,可以同时转发多个用户端的数据,保证数据传输的准确性。

第二方面,本申请实施例提供另一种数据传输方法,应用于第二代理服务器,包括:接收第一代理服务器发送的建立长连接请求;根据所述建立长连接请求向所述第一代理服务器返回建立长连接响应,并与所述第一代理服务器建立长连接通道;接收所述第一代理服务器发送的第一数据;将所述第一数据转发至目标服务器。因此,两个代理服务器中间通过建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,在所述与所述第一代理服务器建立长连接通道之后,所述数据传输方法还包括:获取所述目标服务器发送的第二数据;将所述第二数据发送给所述第一代理服务器,并与所述第一代理服务器保持所述长连接通道。因此,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

在本申请的可选实施例中,所述数据传输方法还包括:接收所述第一代理服务器发送的断开长连接请求;根据所述断开长连接请求返回断开长连接响应,并与所述第一代理服务器断开所述长连接通道。因此,两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,所述长连接通道为多路复用通道。因此,利用多路复用通道建立的长连接通道,可以同时传输多路信号,从而在涉及多个用户端与目标服务器进行数据交换的过程中,可以同时转发多个用户端的数据,保证数据传输的准确性。

第三方面,本申请实施例提供一种数据传输方法,应用于第一代理服务器,包括:向第二代理服务器发送建立长连接请求;接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;接收所述第二代理服务器通过所述长连接通道发送的第二数据;将所述第二数据转发至用户端。

第四方面,本申请实施例提供一种数据传输方法,应用于第二代理服务器,包括:接收第一代理服务器发送的建立长连接请求;根据所述建立长连接请求向所述第一代理服务器返回建立长连接响应,并与所述第一代理服务器建立长连接通道;获取目标服务器发送的第二数据,并将所述第二数据通过所述长连接通道发送给所述第一代理服务器,以使通过所述第一代理服务器将所述第二数据转发至用户端。

第五方面,本申请实施例提供一种数据传输装置,应用于第一代理服务器,包括:第一发送模块,用于向第二代理服务器发送建立长连接请求;第一接收模块,用于接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;第一获取模块,用于获取用户端发送的第一数据,并将所述第一数据通过所述长连接通道发送给所述第二代理服务器,以使通过所述第二代理服务器将所述第一数据转发至目标服务器。因此,利用第一发送模块以及第一接收模块可以在两个代理服务器中间建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,所述数据传输装置还包括:第七接收模块,用于接收所述第二代理服务器通过所述长连接通道发送的第二数据;第三转发模块,用于将所述第二数据转发至所述用户端。因此,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以利用第三转发模块对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

在本申请的可选实施例中,所述数据传输装置还包括:第三发送模块,用于向所述第二代理服务器发送断开长连接请求;第八接收模块,用于接收所述第二代理服务器根据所述断开长连接请求返回的断开长连接响应,并与所述第二代理服务器断开所述长连接通道。因此,两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者利用第三发送模块发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,所述长连接通道为多路复用通道。因此,利用多路复用通道建立的长连接通道,可以同时传输多路信号,从而在涉及多个用户端与目标服务器进行数据交换的过程中,可以同时转发多个用户端的数据,保证数据传输的准确性。

第六方面,本申请实施例提供另一种数据传输装置,应用于第二代理服务器,包括:第二接收模块,用于接收第一代理服务器发送的建立长连接请求;第一返回模块,用于根据所述建立长连接请求向所述第一代理服务器返回建立长连接响应,并与所述第一代理服务器建立长连接通道;第三接收模块,用于接收所述第一代理服务器发送的第一数据;转发模块,用于将所述第一数据转发至目标服务器。因此,利用第二接收模块以及第一返回模块在两个代理服务器中间建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,所述数据传输装置还包括:第三获取模块,用于获取所述目标服务器发送的第二数据;第四发送模块,用于将所述第二数据发送给所述第一代理服务器,并与所述第一代理服务器保持所述长连接通道。因此,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

在本申请的可选实施例中,所述数据传输装置还包括:第九接收模块,接收所述第一代理服务器发送的断开长连接请求;第三返回模块,用于根据所述断开长连接请求返回断开长连接响应,并与所述第一代理服务器断开所述长连接通道。因此,两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

在本申请的可选实施例中,所述长连接通道为多路复用通道。因此,利用多路复用通道建立的长连接通道,可以同时传输多路信号,从而在涉及多个用户端与目标服务器进行数据交换的过程中,可以同时转发多个用户端的数据,保证数据传输的准确性。

第七方面,本申请实施例提供一种数据传输装置,应用于第一代理服务器,包括:第二发送模块,用于向第二代理服务器发送建立长连接请求;第四接收模块,用于接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;第五接收模块,用于接收所述第二代理服务器通过所述长连接通道发送的第二数据;第二转发模块,用于将所述第二数据转发至用户端。

第八方面,本申请实施例提供一种数据传输装置,应用于第二代理服务器,包括:第六接收模块,用于接收第一代理服务器发送的建立长连接请求;第二返回模块,用于根据所述建立长连接请求向所述第一代理服务器返回建立长连接响应,并与所述第一代理服务器建立长连接通道;第二获取模块,用于获取目标服务器发送的第二数据,并将所述第二数据通过所述长连接通道发送给所述第一代理服务器,以使通过所述第一代理服务器将所述第二数据转发至用户端。

第九方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面、第二方面、第三方面及第四方面中的数据传输方法。

第十方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面、第二方面、第三方面及第四方面中的数据传输方法。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种数据传输系统的结构框图;

图2为本申请实施例提供的一种数据传输方法的交互流程图;

图3为本申请实施例提供的另一种数据传输方法的交互流程图;

图4为本申请实施例提供的另一种数据传输方法的交互流程图;

图5为本申请实施例提供的一种数据传输装置的结构框图;

图6为本申请实施例提供的另一种数据传输装置的结构框图;

图7为本申请实施例提供的一种电子设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

用户端在访问目标网站时,往往需要经过多个代理服务器才能够抵达目标网站的目标服务器,当多个用户端共同访问该目标网站时,代理服务器与代理服务器之间就会建立多个传输控制协议(transmissioncontrolprotocol,tcp)或者用户数据报协议(userdatagramprotocol,udp)的通讯连接通道,并且等待数据转发完成后便会关闭上述通讯连接通道。如果再有新的用户端想要访问该目标网站时,代理服务器与代理服务器之间又会创建或关闭新的通讯连接通道。

因此,多个用户端采用上述过程访问目标网站时,代理服务器之间多次进行数据转发时创建或关闭的多个通讯连接通道会消耗大料的服务器资源和时间。

基于上述分析,发明人提供一种数据传输系统,在该数据传输系统中,通过在多个代理服务器之间架设一条长连接通道保持长时间的连接,从而减少了创建连接和关闭连接通道的开销,降低了连接延迟与传输延迟。

请参照图1,图1为本申请实施例提供的一种数据传输系统的结构框图,该数据传输系统100可以包括多个用户端101、多个代理服务器102以及目标服务器103,其中,多个用户端101与多个代理服务器102中的一个代理服务器102通信连接,目标服务器103与多个代理服务器102中的另一个代理服务器102通信连接,多个代理服务器102之前建立长连接。

其中,为了便于叙述,图1中仅示出三个用户端101(包括用户端a、用户端b以及用户端c)以及两个代理服务器102(包括代理服务器a及代理服务器b),可以理解的是,用户端101以及代理服务器102的数量本申请实施例不作限定,本领域技术人员可以根据实际情况进行合适的调整。

代理服务器102用于代理网络用户去取得网络信息,形象地说,它是网络信息的中转站,是个人网络和internet服务商之间的中间代理机构,负责转发合法的网络信息,并对转发进行控制和登记。因此,在图1所示的数据传输系统100中,用户端a可以将数据发送给与用户端a连接的代理服务器a,代理服务器a通过长连接将上述数据发送给代理服务器b,代理服务器b再将上述数据发送给目标服务器103。

需要说明的是,当数据传输系统100中包括至少两个以上的代理服务器102时,一个用户端101在与目标服务器103进行数据传输时,发送的数据可以经过数据传输系统100中的每个代理服务器102,例如:数据传输系统100中包括n个代理服务器102,用户端101将数据发送给第一代理服务器、第一代理服务器将数据发送给第二代理服务器、第二代理服务器将数据发送给第三代理服务器、……、第n-1代理服务器将数据发送给第n代理服务器,第n代理服务器将数据发送给目标服务器103。

除此之外,一个用户端101在与目标服务器103进行数据传输时,发送的数据可以经过数据传输系统100中的某几个代理服务器102,例如:数据传输系统100中包括四个代理服务器102,用户端101将数据发送给第一代理服务器、第一代理服务器将数据发送给第三代理服务器,第三代理服务器将数据发送给目标服务器103。

在本申请实施例中,采用上述数据传输系统100,通过在多个代理服务器之间架设一条长连接通道保持长时间的连接,从而减少了创建连接和关闭连接通道的开销,降低了连接延迟与传输延迟。

基于上述数据传输系统,本申请实施例还提供一种数据传输方法,为了便于叙述,该数据传输方法应用的数据传输系统中仅包括第一代理服务器以及第二代理服务器两个服务器,其中,第一代理服务器与用户端通信连接,第二代理服务器与目标服务器通信连接。可以理解的是,在本申请实施例的基础上,本领域技术人员可以获知数据传输系统中包括多个代理服务器时数据传输的方法。

下面请参照图2,图2为本申请实施例提供的一种数据传输方法的交互流程图,该数据传输方法可以包括如下步骤:

步骤s201:第一代理服务器向第二代理服务器发送建立长连接请求。

步骤s202:第二代理服务器接收第一代理服务器发送的建立长连接请求。

步骤s203:第二代理服务器根据建立长连接请求向第一代理服务器返回建立长连接响应。

步骤s204:第一代理服务器接收第二代理服务器根据建立长连接请求返回的建立长连接响应,并与第二代理服务器建立长连接通道。

步骤s205:第一代理服务器获取用户端发送的第一数据,并将第一数据通过长连接通道发送给第二代理服务器。

步骤s206:第二代理服务器接收第一代理服务器发送的第一数据。

步骤s207:第二代理服务器将第一数据转发至目标服务器。

示例性的,在用户端需要访问目标服务器时,工作人员可以根据实际情况安装一定数量的代理服务器,安装的数量根据业务需求决定且不少于两台。

安装完成后,可以获取用户端访问目标服务器的链路,然后根据上述链路连接对应的代理服务器。假设链路为用户端访问目标服务器需要经过第一代理服务器然后到第二代理服务器最后到目标服务器,则需要在第一代理服务器与第二代理服务器之间建立连接。其中,为了减少创建连接和关闭连接通道的开销,降低了连接延迟与传输延迟,第一代理服务器与第二代理服务器之间可以建立一个长连接。

长连接,是指在一个连接上可以连续发送多个数据包,且在连接保持期间,如果没有数据包发送,可以通过连接双方发送链路检测包的方式,保持连接可以长时间的保持;与之相对,短连接,是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。因此,与采用短连接进行连接相比,采用长连接的方式可以减少创建连接和关闭连接通道的开销。作为一种实施方式,第一代理服务器与第二代理服务器之间采用的长连接可以为tcp或udp的多路复用连接,其中,多路复用技术可以有效地利用通信线路,实现一个信道同时传输多路信号。

在上述实施例的基础上,建立连接的方式可以包括:首先,第一代理服务器向第二代理服务器发送建立长连接请求;其次,第二代理服务器在接收到建立长连接请求后向第一代理服务器返回建立长连接响应;最后,第一代理服务器接收建立长连接响应,并与第二代理服务器建立长连接通道。

需要说明的是,建立连接的方式也可以为第二代理服务器向第一代理服务器发送建立长连接请求,本申请实施例对此不作具体的限定。

在第一代理服务器与第二服务器之间的长连接通道连接成功后,当用户端需要访问目标服务器时,第一代理服务器与第二代理服务器之间不再需要创建或关闭新的连接,造成不必要的开销,而是会继续使用上述创建好的长连接通道,从而可以减少创建连接和关闭连接通道的开销。

在上述实施例的基础上,用户端与目标服务器进行数据交换的过程可以包括:用户端向第一代理服务器发送第一数据,第一代理服务器将第一数据通过长连接通道发送给第二代理服务器,第二代理服务器将第一数据转发至目标服务器。

在本申请实施例中,两个代理服务器中间通过建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

进一步的,请参照图3,图3为本申请实施例提供的另一种数据传输方法的交互流程图,在该种数据传输方法中,在步骤s204之后,上述数据传输方法还可以包括如下步骤:

步骤s208:第二代理服务器获取目标服务器发送的第二数据。

步骤s209:第二代理服务器将第二数据发送给第一代理服务器。

步骤s210:第一代理服务器接收第二代理服务器通过长连接通道发送的第二数据。

步骤s211:第一代理服务器将第二数据转发至用户端。

示例性的,与上述用户端将数据发送给目标服务器的过程类似,目标服务器将数据发送给用户端的过程也可以经过第一代理服务器与第二代理服务器之间的长连接通道,从而不需要在发送时创建新的连接通道,可以减少创建连接和关闭连接通道的开销。

在上述实施例的基础上,用户端与目标服务器进行数据交换的过程还可以包括:目标服务器向第二代理服务器发送第二数据,第二代理服务器将第二数据通过长连接通道发送给第一代理服务器,第一代理服务器将第二数据转发至用户端。

在本申请实施例中,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

应理解,步骤s201-步骤s207是为了方案的完整性而做的介绍,而并不是实施本申请而必须的步骤。例如,在一些实施例中,由用户端向目标服务器单向传输数据,则可以只执行步骤s206-步骤s207,而不执行步骤s201-步骤s205及步骤s208-步骤s211。在另一些实施例中,由目标服务器向用户端单向传输数据,则可以只执行步骤s208-步骤s211,而不执行步骤s201-步骤s207。若步骤205-207与步骤208-211均执行,在一些实施例中,先由用户端向目标服务器发送数据,后由目标服务器向用户端发送数据,这种情形下步骤208在步骤207之后执行,而在另一些实施例中,先由目标服务器向用户端送数据,后由用户端向目标服务器发送数据,这种情形下步骤208在步骤207之前执行。

进一步的,请参照图4,图4为本申请实施例提供的另一种数据传输方法的交互流程图,在该种数据传输方法中,上述数据传输方法还可以包括如下步骤:

步骤s301:第一代理服务器向第二代理服务器发送断开长连接请求。

步骤s302:第二代理服务器接收第一代理服务器发送的断开长连接请求。

步骤s303:第二代理服务器根据断开长连接请求返回断开长连接响应。

步骤s304:第一代理服务器接收第二代理服务器根据断开长连接请求返回的断开长连接响应,并与第二代理服务器断开长连接通道。

示例性的,由于第一代理服务器与第二代理服务器之间通过长连接通道进行长时间的连接,因此,当需要切断第一代理服务器与第二服务器之间的连接时,可以通过关闭第一代理服务器、关闭第二代理服务器,或者,第一代理服务器与第二代理服务器之间切断连接。

其中,第一代理服务器与第二代理服务器之间切断连接的过程可以包括:首先,第一代理服务器向第二代理服务器发送断开长连接请求;其次,第二代理服务器接收到断开长连接请求后根据断开长连接请求返回断开长连接响应;最后,第一代理服务器接收第二代理服务器根据断开长连接请求返回的断开长连接响应,并与第二代理服务器断开长连接通道。

需要说明的是,第一代理服务器与第二代理服务器之间切断连接的方式也可以为第二代理服务器向第一代理服务器发送断开长连接请求,本申请实施例对此不作具体的限定。

在本申请实施例中两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

下面举例对上述实施例中提供的数据传输方法进行说明:

假设数据传输系统中包括目标服务器s、代理服务器a、代理服务器b、用户端p1以及用户端p2,用户端p1以及用户端p2与代理服务器a连接,代理服务器b与目标服务器s连接且代理服务器b与目标服务器s之间的代理已经启动。

现在代理服务器a需要代理代理服务器b的流量,那么代理服务器a发送建立长连接请求到代理服务器b,并且认证成功建立长连接通道。用户端p1以及用户端p2访问目标服务器s时,需要先经过代理服务器a后转发给代理服务器b,代理服务器b再访问目标服务器s,访问的结果数据再从原路返回回去。

其中,代理服务器a与代理服务器b之间可以采用多路复用的通道连接,可能原本需要创建两条用户端p1以及用户端p2的连接通道,并且返回完数据时进行通道的关闭,现在代理服务器a与代理服务器b在通讯前就进行了通道的建立,所以,代理服务器a与代理服务器b之间使用的是一开始代理服务器a向代理服务器b请求的长连接通道,而不再创建新的通道或关闭通道消耗服务器资源以及传输时间,降低了代理服务器a与代理服务器b之间的流量转发的延迟。

请参照图5,图5为本申请实施例提供的一种数据传输装置的结构框图,该数据传输装置400应用于第一代理服务器,包括:第一发送模块401,用于向第二代理服务器发送建立长连接请求;第一接收模块402,用于接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;第一获取模块403,用于获取用户端发送的第一数据,并将所述第一数据通过所述长连接通道发送给所述第二代理服务器,以使通过所述第二代理服务器将所述第一数据转发至目标服务器。

在本申请实施例中,利用第一发送模块401以及第一接收模块402可以在两个代理服务器中间建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

进一步的,所述数据传输装置400还包括:第七接收模块,用于接收所述第二代理服务器通过所述长连接通道发送的第二数据;第三转发模块,用于将所述第二数据转发至所述用户端。

在本申请实施例中,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以利用第三转发模块对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

进一步的,所述数据传输装置400还包括:第三发送模块,用于向所述第二代理服务器发送断开长连接请求;第八接收模块,用于接收所述第二代理服务器根据所述断开长连接请求返回的断开长连接响应,并与所述第二代理服务器断开所述长连接通道。

在本申请实施例中,两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者利用第三发送模块发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

进一步的,所述长连接通道为多路复用通道。

在本申请实施例中,利用多路复用通道建立的长连接通道,可以同时传输多路信号,从而在涉及多个用户端与目标服务器进行数据交换的过程中,可以同时转发多个用户端的数据,保证数据传输的准确性。

请参照图6,图6为本申请实施例提供的另一种数据传输装置的结构框图,该数据传输装置500应用于第二代理服务器,包括:第二接收模块501,用于接收第一代理服务器发送的建立长连接请求;第一返回模块502,用于根据所述建立长连接请求向所述第一代理服务器返回建立长连接响应,并与所述第一代理服务器建立长连接通道;第三接收模块503,用于接收所述第一代理服务器发送的第一数据;转发模块504,用于将所述第一数据转发至目标服务器。

在本申请实施例中,利用第二接收模块501以及第一返回模块502在两个代理服务器中间建立长连接通道,直到一边代理服务器关闭或者发送断开连接请求才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,包括服务器资源以及时间等,从而降低连接延迟以及数据传输延迟。

进一步的,所述数据传输装置500还包括:第三获取模块,用于获取所述目标服务器发送的第二数据;第四发送模块,用于将所述第二数据发送给所述第一代理服务器,并与所述第一代理服务器保持所述长连接通道。

在本申请实施例中,在两个代理服务器之间建立长连接通道后,除了可以通过两个代理服务器将用户端发送的数据转发至目标服务器,还可以对应的将目标服务器发送的数据转发至用户端,从而实现用户端与目标服务器的数据交换。

进一步的,所述数据传输装置500还包括:第九接收模块,接收所述第一代理服务器发送的断开长连接请求;第三返回模块,用于根据所述断开长连接请求返回断开长连接响应,并与所述第一代理服务器断开所述长连接通道。

在本申请实施例中,两个代理服务器之间建立了长连接通道之后,只有当一边代理服务器关闭或者发送断开连接请求时,才会断开该连接通道,从而可以减少在进行多次数据转发的过程中创建连接通道和关闭连接通道的开销,降低连接延迟以及数据传输延迟。

进一步的,所述长连接通道为多路复用通道。

在本申请实施例中,利用多路复用通道建立的长连接通道,可以同时传输多路信号,从而在涉及多个用户端与目标服务器进行数据交换的过程中,可以同时转发多个用户端的数据,保证数据传输的准确性。

本申请实施例还提供另一种数据传输装置,应用于第一代理服务器,包括:第二发送模块,用于向第二代理服务器发送建立长连接请求;第四接收模块,用于接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;第五接收模块,用于接收所述第二代理服务器通过所述长连接通道发送的第二数据;第二转发模块,用于将所述第二数据转发至用户端。

本申请实施例还提供另一种数据传输装置,应用于第二代理服务器,包括:第六接收模块,用于接收第一代理服务器发送的建立长连接请求;第二返回模块,用于根据所述建立长连接请求向所述第一代理服务器返回建立长连接响应,并与所述第一代理服务器建立长连接通道;第二获取模块,用于获取目标服务器发送的第二数据,并将所述第二数据通过所述长连接通道发送给所述第一代理服务器,以使通过所述第一代理服务器将所述第二数据转发至用户端。

请参照图7,图7为本申请实施例提供的一种电子设备的结构框图,该电子设备包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604。其中,通信总线604用于实现这些组件直接的连接通信,通信接口602用于与其他节点设备进行信令或数据的通信,存储器603存储有处理器601可执行的机器可读指令。当电子设备运行时,处理器601与存储器603之间通过通信总线604通信,机器可读指令被处理器601调用时执行上述数据传输方法。

处理器601可以是一种集成电路芯片,具有信号处理能力。上述处理器601可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器603可以包括但不限于随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

可以理解,图7所示的结构仅为示意,电子设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。于本申请实施例中,数据传输方法中的用户端以及目标服务器均可以采用图7示出的电子设备实现。

本申请实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述实施例中数据传输方法的步骤,例如包括:向第二代理服务器发送建立长连接请求;接收所述第二代理服务器根据所述建立长连接请求返回的建立长连接响应,并与所述第二代理服务器建立长连接通道;获取用户端发送的第一数据,并将所述第一数据通过所述长连接通道发送给所述第二代理服务器,以使通过所述第二代理服务器将所述第一数据转发至目标服务器。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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