通信链路的建立方法及系统与流程

文档序号:16887950发布日期:2019-02-15 22:48阅读:447来源:国知局
通信链路的建立方法及系统与流程

本发明涉及通信技术领域,特别是涉及一种通信链路的建立方法及系统。



背景技术:

随着互联网技术的发展,大量网络应用系统被广泛使用,例如im(instantmessaging,即时通讯)系统,视频直播系统等。在使用网络应用系统时,需要建立客户端与业务服务器之间的通信链路,以进行业务数据的传输。例如,用户a使用im系统聊天时,要从业务服务器获取其他用户的聊天数据,就需要建立用户a的客户端与公网之间的通信链路,公网与业务服务器之间的通信链路,从而利用公网,实现客户端与业务服务器之间的数据传输。

但是,公网进行数据传输时,通常是随机从公网服务器中选择代理服务器来建立通信链路。由于对公网服务器的选择存在随机性,导致客户端与公网之间的通信链路,可能是需要经过与客户端距离较远的多个公网服务器的多次跳转转发以进行数据传输的通信链路。类似的,业务服务器与公网之间的通信链路,也可能是需要经过与业务服务器距离较远的多个公网服务器的多次跳转转发以进行数据传输的通信链路。

可见,客户端与业务服务器之间的通信链路,有可能是存在多次跳转转发、且数据传输距离较远的通信链路,使用这样的通信链路进行通信,会导致客户端与业务服务器之间数据传输的速率不高。



技术实现要素:

本发明实施例的目的在于提供一种通信链路的建立方法及系统,以建立跳转转发次数相对较少的通信链路,提高客户端与业务服务器之间的数据传输速率。具体技术方案如下:

第一方面,本发明实施例提供了一种通信链路的建立方法,应用于网络应用系统的业务服务器,该网络应用系统还包括客户端,该方法包括:

基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识;

基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器;

建立与所述可用代理服务器之间的第一通信链路;

将所述客户端标识发送至所述可用代理服务器,以使所述可用代理服务器基于所述客户端标识,建立与所述客户端之间的第二通信链路。

可选的,所述基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器,包括:

基于所述客户端位置信息,利用预设的区域与域名的对应关系,获取所述客户端位置所在区域的域名信息,将所述域名信息对应的服务器作为与所述客户端位置最近的可用代理服务器。

可选的,所述基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器,包括:

基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的一个指定节点服务器,作为与所述客户端位置最近的可用代理服务器;

其中,所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

可选的,所述基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的一个指定节点服务器,作为与所述客户端位置最近的可用代理服务器,包括:

基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的指定节点服务器;

若获取的指定节点服务器的数量为1,则将该指定节点服务器作为与所述客户端位置最近的可用代理服务器;

若获取的指定节点服务器的数量大于1,则将获取各个节点服务器作为待定节点服务器,将待定节点服务器的服务器信息发送至所述客户端,以使所述客户端基于所述各个待定节点服务器的服务器信息,发送测试数据至所述各个待定节点服务器,根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器;

将客户端反馈的待定节点服务器,作为与所述客户端位置最近的可用代理服务器。

可选的,若可用代理服务器为第一专线节点服务器,则所述基于所述可用代理服务器的服务器信息,建立与所述可用代理服务器之间的第一通信链路,包括:

基于业务服务器自身的位置,根据所述预存的指定节点服务器及其位置信息,获得在所述业务服务器所属区域的,且与所述第一专线节点服务器之间预先建立有专线通信链路的第二专线节点服务器;

建立与所述第二专线节点服务器之间的第三通信链路;

基于所述第三通信链路和所述专线通信链路,建立与所述第一专线节点服务器之间的第一通信链路。

可选的,所述业务服务器设置于第三方云平台中;

若可用代理服务器为所述第三方云平台中的第三方云节点服务器,则所述建立与所述可用代理服务器之间的第一通信链路,包括:

建立并保存业务服务器与第三方云节点服务器的对应关系。

第二方面,本发明实施例提供了一种通信链路的建立方法,应用于网络应用系统的客户端,该网络应用系统还包括业务服务器,该方法包括:

发送通信请求至业务服务器,以使所述业务服务器基于所述通信请求,获取客户端的客户端位置信息和客户端标识,基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器,建立与所述可用代理服务器之间的第一通信链路,将所述客户端标识发送至所述可用代理服务器;

其中,所述可用代理服务器基于所述客户端标识,与所述客户端之间建立有第二通信链路。

可选的,在所述发送通信请求至业务服务器之后,所述方法还包括:

接收所述业务服务器发送的待定节点服务器的服务器信息;

其中,所述待定节点服务器为业务服务器基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取的与所述客户端位置最近的指定节点服务器中的至少两个节点服务器;所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种;

基于所述各个待定节点服务器的服务器信息,发送测试数据至所述各个待定节点服务器;

根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器,以使所述业务服务器将客户端反馈的待定节点服务器,作为与所述客户端位置最近的可用代理服务器。

第三方面,本发明实施例提供了一种通信链路的建立方法,应用于可用代理服务器,该可用代理服务器为与客户端位置最近的代理服务器,客户端位置为业务服务器基于客户端的通信请求获取的,该方法包括:

接收业务服务器发送的、经第一通信链路传输的所述客户端的客户端标识;其中,所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,所述客户端标识为所述业务服务器基于客户端的通信请求获取的;

基于所述客户端标识,建立与所述客户端之间的第二通信链路。

可选的,所述可用代理服务器为与客户端位置最近的代理服务器,包括:

所述可用代理服务器为与所述客户端位置最近的一个指定节点服务器;

其中,所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

可选的,所述可用代理服务器为与所述客户端位置最近的一个指定节点服务器,包括:

若与所述客户端位置最近的指定节点服务器的数量为1,则所述可用代理服务器为与所述客户端位置最近的该指定节点服务器;

若与所述客户端位置最近的指定节点服务器的数量大于1,则与所述客户端位置最近的各个节点服务器为待定节点服务器;

由所述各个待定节点服务器接收所述客户端发送的测试数据,并各自响应所述测试数据,以使所述客户端根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至所述业务服务器;

所述可用代理服务器为所述客户端反馈至所述业务服务器的待定节点服务器。

可选的,若可用代理服务器为第一专线节点服务器,则所述第一通信链路为所述业务服务器基于第三通信链路和专线通信链路,建立的与所述第一专线节点服务器之间的通信链路;

其中,所述第三通信链路为所述业务服务器建立的与第二专线节点服务器之间的通信链路;所述第二专线节点服务器为在所述业务服务器所属区域的,且与所述第一专线节点服务器之间预先建立有专线通信链路的节点服务器。

可选的,若可用代理服务器为第三方云平台中的第三方云节点服务器,则所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,包括:

所述第一通信链路为所述业务服务器建立并保存的所述业务服务器与所述第三方云节点服务器的对应关系;所述业务服务器设置于第三方云平台中。

第四方面,本发明实施例提供了一种业务服务器,该业务服务器包括:

信息获取模块,用于基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识;基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器;

链路建立模块,用于建立与所述可用代理服务器之间的第一通信链路;将所述客户端标识发送至所述可用代理服务器,以使所述可用代理服务器基于所述客户端标识,建立与所述客户端之间的第二通信链路。

可选的,所述信息获取模块,具体用于:

基于所述客户端位置信息,利用预设的区域与域名的对应关系,获取所述客户端位置所在区域的域名信息,将所述域名信息对应的服务器作为与所述客户端位置最近的可用代理服务器。

可选的,所述信息获取模块,具体用于:

基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的一个指定节点服务器,作为与所述客户端位置最近的可用代理服务器;

其中,所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

可选的,所述信息获取模块,具体用于:

基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的指定节点服务器;

若获取的指定节点服务器的数量为1,则将该指定节点服务器作为与所述客户端位置最近的可用代理服务器;

若获取的指定节点服务器的数量大于1,则将获取各个节点服务器作为待定节点服务器,将待定节点服务器的服务器信息发送至所述客户端,以使所述客户端基于所述各个待定节点服务器的服务器信息,发送测试数据至所述各个待定节点服务器,根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器;

将客户端反馈的待定节点服务器,作为与所述客户端位置最近的可用代理服务器。

可选的,若可用代理服务器为第一专线节点服务器,则所述链路建立模块,具体用于:

基于业务服务器自身的位置,根据所述预存的指定节点服务器及其位置信息,获得在所述业务服务器所属区域的,且与所述第一专线节点服务器之间预先建立有专线通信链路的第二专线节点服务器;

建立与所述第二专线节点服务器之间的第三通信链路;

基于所述第三通信链路和所述专线通信链路,建立与所述第一专线节点服务器之间的第一通信链路。

可选的,所述业务服务器设置于第三方云平台中;

若可用代理服务器为所述第三方云平台中的第三方云节点服务器,则所述链路建立模块,具体用于:

建立并保存业务服务器与第三方云节点服务器的对应关系。

第五方面,本发明实施例提供了一种客户端,该客户端包括:

信息发送模块,用于发送通信请求至业务服务器,以使所述业务服务器基于所述通信请求,获取客户端的客户端位置信息和客户端标识,基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器,建立与所述可用代理服务器之间的第一通信链路,将所述客户端标识发送至所述可用代理服务器;

其中,所述可用代理服务器基于所述客户端标识,与所述客户端之间建立有第二通信链路。

可选的,所述客户端还包括:

信息接收模块,用于接收所述业务服务器发送的待定节点服务器的服务器信息;

其中,所述待定节点服务器为业务服务器基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取的与所述客户端位置最近的指定节点服务器中的至少两个节点服务器;所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种;

所述信息发送模块,具体用于基于所述各个待定节点服务器的服务器信息,发送测试数据至所述各个待定节点服务器;根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器,以使所述业务服务器将客户端反馈的待定节点服务器,作为与所述客户端位置最近的可用代理服务器。

可选的,所述代理服务器为与客户端位置最近的代理服务器,所述客户端位置为业务服务器基于客户端的通信请求获取的,所述代理服务器包括:

信息接收模块,用于接收业务服务器发送的、经第一通信链路传输的所述客户端的客户端标识;其中,所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,所述客户端标识为所述业务服务器基于客户端的通信请求获取的;

链路建立模块,用于基于所述客户端标识,建立与所述客户端之间的第二通信链路。

第六方面,本发明实施例提供了一种代理服务器,该代理服务器为与客户端位置最近的代理服务器,客户端位置为业务服务器基于客户端的通信请求获取的,该代理服务器包括:

信息接收模块,用于接收业务服务器发送的、经第一通信链路传输的所述客户端的客户端标识;其中,所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,所述客户端标识为所述业务服务器基于客户端的通信请求获取的;

链路建立模块,用于基于所述客户端标识,建立与所述客户端之间的第二通信链路。

可选的,所述代理服务器为与客户端位置最近的代理服务器,包括:

所述代理服务器为与所述客户端位置最近的一个指定节点服务器;

其中,所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

可选的,所述代理服务器为与所述客户端位置最近的一个指定节点服务器,包括:

若与所述客户端位置最近的指定节点服务器的数量为1,则所述代理服务器为与所述客户端位置最近的该指定节点服务器;

若与所述客户端位置最近的指定节点服务器的数量大于1,则与所述客户端位置最近的各个节点服务器为待定节点服务器;

所述代理服务器还包括,响应模块,用于接收所述客户端发送的测试数据,并各自响应所述测试数据,以使所述客户端根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至所述业务服务器;

所述可用代理服务器为所述客户端反馈至所述业务服务器的待定节点服务器。

可选的,若代理服务器为第一专线节点服务器,则所述第一通信链路为所述业务服务器基于第三通信链路和专线通信链路,建立的与所述第一专线节点服务器之间的通信链路;

其中,所述第三通信链路为所述业务服务器建立的与第二专线节点服务器之间的通信链路;所述第二专线节点服务器为在所述业务服务器所属区域的,且与所述第一专线节点服务器之间预先建立有专线通信链路的节点服务器。

可选的,若可用代理服务器为第三方云平台中的第三方云节点服务器,则所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,包括:

所述第一通信链路为所述业务服务器建立并保存的所述业务服务器与所述第三方云节点服务器的对应关系;所述业务服务器设置于第三方云平台中。

第七方面,本发明实施例提供了一种通信链路的建立系统,该系统包括:

客户端,用于发送通信请求至业务服务器;

业务服务器,用于基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识;基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器;建立与所述可用代理服务器之间的第一通信链路;将所述客户端标识发送至所述可用代理服务器;

可用代理服务器,用于接收业务服务器发送的、经第一通信链路传输的所述客户端的客户端标识;基于所述客户端标识,建立与所述客户端之间的第二通信链路。

第八方面,本发明实施例提供了一种计算机可读存储介质,包含于业务服务器,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面提供的通信链路的建立方法的步骤。

第九方面,本发明实施例提供了一种计算机可读存储介质,包含于客户端,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第二方面提供的通信链路的建立方法的步骤。

第十方面,本发明实施例提供了一种计算机可读存储介质,包含于代理服务器,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第三方面提供的通信链路的建立方法的步骤。

本发明实施例提供的一种通信链路的建立方法及系统,应用于网络应用系统的业务服务器,该网络应用系统还包括客户端。由业务服务器基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识。基于客户端位置信息,获取与客户端位置最近的可用代理服务器,建立与可用代理服务器之间的第一通信链路。将客户端标识发送至可用代理服务器,以使可用代理服务器基于客户端标识,建立与客户端之间的第二通信链路。与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明一实施例的通信链路的建立方法的流程示意图;

图2为本发明一实施例的网路应用系统为im系统时,通信链路的建立系统的结构示意图;

图3为本发明一实施例的可用代理服务器为专线节点服务器时,通信链路的建立系统的结构示意图;

图4为本发明一实施例的第三方云的数据中心的分布示意图;

图5为本发明另一实施例的通信链路的建立方法的流程示意图;

图6为本发明一实施例的通信链路的建立系统的结构示意图;

图7为本发明一实施例的业务服务器的结构示意图;

图8为本发明另一实施例的业务服务器的结构示意图;

图9为本发明一实施例的客户端的结构示意图;

图10为本发明另一实施例的客户端的结构示意图;

图11为本发明一实施例的代理服务器的结构示意图;

图12为本发明另一实施例的代理服务器的结构示意图。

具体实施方式

为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面首先对本发明一实施例的通信链路的建立方法进行介绍。

本发明实施例提供的通信链路的建立方法,可以应用于能够建立通信链路的电子设备,该设备可以包括台式计算机、便携式计算机、互联网电视,智能移动终端、可穿戴式智能终端、服务器等,在此不作限定,任何可以实现本发明实施例的电子设备,均属于本发明实施例的保护范围。

如图1所示,本发明一实施例的通信链路的建立方法的流程,该方法可以包括:

s101,客户端发送通信请求至业务服务器。

实际应用中,客户端发送的通信请求,可以通过网络中已部署的导航服务器传输至业务服务器。通信请求用于表明该客户端请求与业务服务器建立通信链路,以通过所建立的通信链路进行业务交互。其中,业务服务器具体可以是服务器集群。

s102,业务服务器基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识。

其中,客户端的客户端位置信息用于表明客户端所在的地理位置信息。客户端标识可以是客户端的设备标识,也可以是客户端中用户的登录标识。

s103,业务服务器基于客户端位置信息,获取与客户端位置最近的可用代理服务器。

客户端位置信息用于表明客户端所在的地理位置信息,相应的,基于客户端位置信息,所获取的与客户端位置最近的可用代理服务器,为与客户端所在的地理位置最近的服务器。获取与客户端位置最近的可用代理服务器,可以是获取与客户端位置所在区域的域名信息对应的服务器。或者,可以是获取指定节点服务器中与客户端位置最近的一个指定节点服务器。

对此,可选的,s103具体可以包括:

业务服务器基于客户端位置信息,利用预设的区域与域名的对应关系,获取客户端位置所在区域的域名信息,将域名信息对应的服务器作为与客户端位置最近的可用代理服务器。

其中,客户端位置所在区域的域名信息代表客户端所在地理区域的名称,例如北京市。通常情况下,为了节约服务器部署成本,建立网络节点合理分布的网络,作为网络节点的服务器往往按照地理区域进行部署。相应的,与客户端位置最近的可用代理服务器,就是与域名信息对应的服务器。

s104,业务服务器建立与可用代理服务器之间的第一通信链路。

在获取了可用代理服务器之后,业务服务器可以建立与可用代理服务器之间的第一通信链路,以用于业务服务器与可用代理服务器之间的数据传输。

s105,业务服务器发送客户端标识至可用代理服务器。

业务服务器发送的客户端标识,可以通过第一通信链路传输至可用代理服务器。

s106,可用代理服务器基于客户端标识,建立与客户端之间的第二通信链路。

可用代理服务器接收客户端标识后,可以确定请求建立通信链路的客户端,从而建立与该客户端之间的第二通信链路。可用代理服务器与客户端之间的数据传输可以通过第二通信链路进行。

通过建立的业务服务器与可用代理服务器之间的第一通信链路,以及建立可用代理服务器与客户端之间的第二通信链路,得到了由第一通信链路和第二通信构成的客户端与业务服务器之间的通信链路。具体的,第一通信链路和第二通信链路均可以是长连接,从而客户端与业务服务器建立了长连接,可以由该长连接进行客户端与业务服务器之间的数据传输。

例如,图2所示的通信链路建立系统,im系统200中客户端202与客户端204要进行聊天业务。可以是客户端202预先部署在网络中的导航服务器,发送通信请求至业务服务器201,业务服务器201基于客户端202的通信请求,获取客户端202的客户端位置信息“北京”和客户端标识“a”。业务服务器201基于客户端位置信息“北京”,获取与客户端202位置最近的可用代理服务器203。业务服务器201建立与可用代理服务器203之间的第一通信链路。业务服务器201发送客户端标识“a”至可用代理服务器203。可用代理服务器203基于客户端标识“a”,建立与客户端201之间的第二通信链路。类似的,客户端204建立与可用代理服务器205之间的第二通信链路,可用代理服务器205建立与业务服务器201之间的第一通信链路。在客户端202与客户端204分别建立了与业务服务器201之间的通信链路后,就可以通过所建立的通信链路将各自的聊天信息传输至业务服务器201,并从业务服务器201中获取对方的传输的聊天信息。

本发明实施例提供的一种通信链路的建立方法,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

可选的,图1实施例中的s103,具体可以包括:

业务服务器基于客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与客户端位置最近的一个指定节点服务器,作为与客户端位置最近的可用代理服务器。

其中,指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

实际应用中,服务器可以按照所属网络的不同进行种类划分。在服务器所属的多种网络中,专线网络中专线节点服务器采用专线通信,cdn(contentdeliverynetwork,内容分发网络)中cdn加速节点服务器按照边缘网络分发机制进行数据路由以及第三方云中的第三方云节点服务器采用专线通信,这些网络所采用的通信方法或路由机制,使各个网络均具有较高的通信速率。

为了进一步提高所建立的通信链路的通信速率,可以从上述网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中,选择一种或多种作为指定节点服务器。从而,在获取可用代理服务器时,可以基于客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与客户端位置最近的一个指定节点服务器,作为与客户端位置最近的可用代理服务器。

可选的,若可用代理服务器为第一专线节点服务器,则图1实施例中的s104,具体可以包括:

业务服务器基于业务服务器自身的位置,根据预存的指定节点服务器及其位置信息,获得在业务服务器所属区域的,且与第一专线节点服务器之间预先建立有专线通信链路的第二专线节点服务器。

例如,如图3所示,业务服务器301基于自身的位置弗吉利亚,根据预存的指定节点服务器及服务器位置信息,获得在业务服务器301所属区域的,且与第一专线节点服务器303之间预先建立有专线通信链路的第二专线节点服务器304。

业务服务器建立与第二专线节点服务器之间的第三通信链路。

例如,如图3所示,业务服务器301建立与第二专线节点服务器304之间的第三通信链路

业务服务器基于第三通信链路和专线通信链路,建立与第一专线节点服务器之间的第一通信链路。

其中,第一专线节点服务器303和第二专线节点服务器304具体可以是云主机。

此外,距离客户端位置为大陆的客户端302最近的为部署在北京的第一专线节点服务器303,距离客户端位置为印度的客户端302最近的为部署在新加坡的第一专线节点服务器303,由此,可以建立这两个位置的客户端,与各自的专线节点服务器之间的通信链路。

在建立业务服务器与可用服务器之间的第一通信链路时,可以利用专线网络中服务器之间采用专线进行通信的特点,进一步提高所建立的第一通信链路的通信速率。具体的,可以建立业务服务器与第二专线节点服务器之间的第三通信链路。由于第二专线节点是在业务服务器所属区域的,缩短了业务服务器与第一专线节点之间的距离,且与第一专线节点服务器之间预先建立有专线通信链路的节点服务器。例如,采用图3实施例的专线节点服务器,建立了客户端位置为大陆的客户端302与业务服务器301之间的通信链路后,北京的第一专线节点服务器至达拉斯的第二专线节点服务器之间由于是专线网络,数据延迟最低在7ms左右。而基于公网建立的客户端位置为大陆的客户端302与业务服务器301之间的通信链路,由于基于公网建立的通信链路可能通过了日本,或者台湾、香港、澳大利亚等地公网服务器的跳转转发,数据延迟可能在500ms,甚至数秒之间,也可能存在网络访问超时等问题。

因此,与直接基于公网所建立的第一通信链路相比,不仅通过距离的缩短在一定程度上减少了业务服务器至第一专线节点服务器之间跳转转发的次数,并且以第一专线节点服务器与第二专线节点服务器之间的专线通信提高了第一链路的通信速率。

可选的,上述实施例中,业务服务器具体可以设置于第三方云平台中。

若可用代理服务器为第三方云平台中的第三方云节点服务器,则图1实施例中的s104,具体可以包括:

建立并保存业务服务器与第三方云节点服务器的对应关系。

考虑到第三方云中的云服务器之间采用专线通信,因此,如果将业务服务器设置于第三方云平台中,且可用代理服务器为第三方云平台中的第三方云节点服务器,则业务服务器与第三方云节点服务器建立了对应关系,就能够利用第三方云进行通信,也就相当于建立了业务服务器与第三方云节点服务器之间的第一通信链路。

例如,某一第三方云中的云服务器按照图4所示区域分布。如果业务服务器设置在区域为美国东部弗吉利亚的第三方云中,则在全球其它区域的客户端,可以就近接入物理位置最近的第三方云节点服务器。如位置为印度的客户端,可以就近与区域为孟买的第三方云节点服务器建立第二通信链路,再由此第三方云节点服务器建立与弗吉利亚的业务服务器的第一通信链路。

依托第三方云的数据中心在全球分布较多的优势,在第三方云的各区域,部署相应的第三方云节点服务器,从而可以建立与该区域的客户端之间的第二通信链路。并将通过第三方云优化过的专线网络建立第一通信链路,从而保证链路的稳定及数据包的可靠传输。

如图5所示,本发明另一实施例的通信链路的建立方法的流程,该方法可以包括:

s501,客户端发送通信请求至业务服务器。

s502,业务服务器基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识。

s501至s502为与图1实施例中的s101至s102相同的步骤,在此不再赘述,详见图1实施例的描述。

s503,业务服务器基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与客户端位置最近的指定节点服务器。

s504,若业务服务器获取的指定节点服务器的数量为1,则将该指定节点服务器作为与客户端位置最近的可用代理服务器,执行s510至s512。

s505,若业务服务器获取的指定节点服务器的数量大于1,则将获取各个节点服务器作为待定节点服务器,将待定节点服务器的服务器信息发送至客户端。

当获取的指定节点服务器的数量大于1时,虽然这些指定节点服务器与客户端的距离相同,但是,服务器所属网络的差异,导致采用不同的指定节点服务器建立通信链路时,通信链路的数据传输速率存在差异。因此,为了进一步提高所建立的通信链路的数据传输速率,可以对指定节点服务器进行选择。为此,可以将获取各个节点服务器作为待定节点服务器,将待定节点服务器的服务器信息发送至客户端,以便后续客户端能够客户端基于各个待定节点服务器的服务器信息,发送测试数据至各个待定节点服务器,从而确定出通信速率相较而言最高的服务器作为可用代理服务器。

s506,客户端基于各个待定节点服务器的服务器信息,发送测试数据至各个待定节点服务器。

其中,测试数据可以用于检测客户端与各个待定节点服务器的通信速率,以用于后续确定出通信速率相较而言最高的服务器作为可用代理服务器。

s507,各个待定节点服务器各自响应所述测试数据。

具体可以是,各个待定节点服务器向客户端返回响应信号,以表明自身接收到客户端发送的测试数据。

s508,客户端根据各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器。

客户端反馈待定节点服务器,具体可以是反馈待定节点服务器对应的域名至业务服务器,业务服务器可以将该域名解析为响应时长最短的待定节点服务器所属网络,再解析到该网络中时长最短的待定节点服务器的通信地址。

s509,业务服务器将客户端反馈的待定节点服务器,作为与客户端位置最近的可用代理服务器。

由于客户端反馈的待定节点服务器,是响应时长最短的服务器,通信速率相较而言最高。因此,可以业务服务器可以将客户端反馈的待定节点服务器,作为与客户端位置最近的可用代理服务器。

s510,业务服务器建立与所述可用代理服务器之间的第一通信链路。

s511,业务服务器发送客户端标识至可用代理服务器。

s512,可用代理服务器基于客户端标识,建立与客户端之间的第二通信链路。

s510至s512为与图1实施例中的s104至s106相同的步骤,在此不再赘述,详见图1实施例的描述。

如图6所示,本发明一实施例的通信链路的建立系统的结构,该系统可以包括:

客户端601,用于发送通信请求至业务服务器602;

业务服务器602,用于基于客户端601的通信请求,获取客户端601的客户端位置信息和客户端标识;基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器603;建立与所述可用代理服务器603之间的第一通信链路;将所述客户端标识发送至所述可用代理服务器603;

可用代理服务器603,用于接收业务服务器602发送的、经第一通信链路传输的所述客户端的客户端标识;基于所述客户端标识,建立与所述客户端601之间的第二通信链路。

本发明实施例提供的一种通信链路的建立系统,包括客户端、业务服务器以及可用代理服务器,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

如图7所示,本发明一实施例的业务服务器的结构,该业务服务器可以包括:

信息获取模块701,用于基于客户端的通信请求,获取客户端的客户端位置信息和客户端标识;基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器;

链路建立模块702,用于建立与所述可用代理服务器之间的第一通信链路;将所述客户端标识发送至所述可用代理服务器,以使所述可用代理服务器基于所述客户端标识,建立与所述客户端之间的第二通信链路。

本发明实施例提供的一种业务服务器,用于建立通信链路时,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

如图8所示,本发明另一实施例的业务服务器的结构,该业务服务器800可以包括:

处理器8001、通信接口8002、存储器8003和通信总线8004,其中,处理器8001,通信接口8002,存储器通8003过通信总线8004完成相互间的通信;

存储器8003,用于存放计算机程序;

处理器8001,用于执行上述存储器8003上所存放的计算机程序时,实现上述任一实施例中应用于业务服务器的通信链路的建立方法的步骤。

可选的,图7实施例中的信息获取模块701,具体可以用于:

基于所述客户端位置信息,利用预设的区域与域名的对应关系,获取所述客户端位置所在区域的域名信息,将所述域名信息对应的服务器作为与所述客户端位置最近的可用代理服务器。

可选的,图7实施例中的信息获取模块701,具体可以用于:

基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的一个指定节点服务器,作为与所述客户端位置最近的可用代理服务器;

其中,所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

图7实施例中的信息获取模块701,具体可以用于:

基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取与所述客户端位置最近的指定节点服务器;

若获取的指定节点服务器的数量为1,则将该指定节点服务器作为与所述客户端位置最近的可用代理服务器;

若获取的指定节点服务器的数量大于1,则将获取各个节点服务器作为待定节点服务器,将待定节点服务器的服务器信息发送至所述客户端,以使所述客户端基于所述各个待定节点服务器的服务器信息,发送测试数据至所述各个待定节点服务器,根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器;

将客户端反馈的待定节点服务器,作为与所述客户端位置最近的可用代理服务器。

可选的,若可用代理服务器为第一专线节点服务器,则图7实施例中的链路建立模块702,具体可以用于:

基于业务服务器自身的位置,根据所述预存的指定节点服务器及其位置信息,获得在所述业务服务器所属区域的,且与所述第一专线节点服务器之间预先建立有专线通信链路的第二专线节点服务器;

建立与所述第二专线节点服务器之间的第三通信链路;

基于所述第三通信链路和所述专线通信链路,建立与所述第一专线节点服务器之间的第一通信链路。

可选的,上述实施例中所述业务服务器设置于第三方云平台中;

若可用代理服务器为所述第三方云平台中的第三方云节点服务器,则图7实施例中的链路建立模块702,具体可以用于:

建立并保存业务服务器与第三方云节点服务器的对应关系。

如图9所示,本发明一实施例的客户端的结构,该客户端可以包括:

信息发送模块901,用于发送通信请求至业务服务器,以使所述业务服务器基于所述通信请求,获取客户端的客户端位置信息和客户端标识,基于所述客户端位置信息,获取与所述客户端位置最近的可用代理服务器,建立与所述可用代理服务器之间的第一通信链路,将所述客户端标识发送至所述可用代理服务器;

其中,所述可用代理服务器基于所述客户端标识,与所述客户端之间建立有第二通信链路。

本发明实施例提供的一种客户端,用于建立通信链路时,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

如图10所示,本发明另一实施例的客户端的结构,该客户端100可以包括:

处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器通1003过通信总线1004完成相互间的通信;

存储器1003,用于存放计算机程序;

处理器1001,用于执行上述存储器1003上所存放的计算机程序时,实现上述任一实施例中应用于客户端的通信链路的建立方法的步骤。

可选的,上述图9实施例中的客户端还可以包括:

信息接收模块,用于接收所述业务服务器发送的待定节点服务器的服务器信息;

其中,所述待定节点服务器为业务服务器基于所述客户端位置信息,根据预存的指定节点服务器及其位置信息,获取的与所述客户端位置最近的指定节点服务器中的至少两个节点服务器;所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种;

所述信息发送模块,具体用于基于所述各个待定节点服务器的服务器信息,发送测试数据至所述各个待定节点服务器;根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至业务服务器,以使所述业务服务器将客户端反馈的待定节点服务器,作为与所述客户端位置最近的可用代理服务器。

如图11所示,本发明一实施例的代理服务器的结构,所述代理服务器为与客户端位置最近的代理服务器,所述客户端位置为业务服务器基于客户端的通信请求获取的,该代理服务器可以包括:

信息接收模块1101,用于接收业务服务器发送的、经第一通信链路传输的所述客户端的客户端标识;其中,所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,所述客户端标识为所述业务服务器基于客户端的通信请求获取的;

链路建立模块1102,用于基于所述客户端标识,建立与所述客户端之间的第二通信链路。

本发明实施例提供的一种代理服务器,为与客户端位置最近的代理服务器,其中,客户端位置为业务服务器基于客户端的通信请求获取的。该代理服务器用于建立通信链路时,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

如图12所示,本发明另一实施例的代理服务器的结构,该代理服务器120可以包括:

处理器1201、通信接口1202、存储器903和通信总线1204,其中,处理器1201,通信接口1202,存储器通1203过通信总线1204完成相互间的通信;

存储器1203,用于存放计算机程序;

处理器1201,用于执行上述存储器1203上所存放的计算机程序时,实现上述任一实施例中应用于可用给代理服务器的通信链路的建立方法的步骤。

可选的,上述代理服务器为与客户端位置最近的代理服务器,可以包括:

所述代理服务器为与所述客户端位置最近的一个指定节点服务器;

其中,所述指定节点服务器包括:网络中已部署的专线节点服务器、cdn加速节点服务器或第三方云节点服务器中的一种或多种。

可选的,上述代理服务器为与所述客户端位置最近的一个指定节点服务器,可以包括:

若与所述客户端位置最近的指定节点服务器的数量为1,则所述代理服务器为与所述客户端位置最近的该指定节点服务器;

若与所述客户端位置最近的指定节点服务器的数量大于1,则与所述客户端位置最近的各个节点服务器为待定节点服务器;

上述图11实施例中的代理服务器还可以包括,响应模块,用于接收所述客户端发送的测试数据,并各自响应所述测试数据,以使所述客户端根据所述各个待定节点服务器各自对所述测试数据的响应时长,将响应时长最短的待定节点服务器反馈至所述业务服务器;

所述可用代理服务器为所述客户端反馈至所述业务服务器的待定节点服务器。

可选的,上述实施例中,若代理服务器为第一专线节点服务器,则所述第一通信链路为所述业务服务器基于第三通信链路和专线通信链路,建立的与所述第一专线节点服务器之间的通信链路;

其中,所述第三通信链路为所述业务服务器建立的与第二专线节点服务器之间的通信链路;所述第二专线节点服务器为在所述业务服务器所属区域的,且与所述第一专线节点服务器之间预先建立有专线通信链路的节点服务器。

可选的,若可用代理服务器为第三方云平台中的第三方云节点服务器,则所述第一通信链路为所述业务服务器建立的业务服务器与可用代理服务器之间的通信链路,可以包括:

所述第一通信链路为所述业务服务器建立并保存的所述业务服务器与所述第三方云节点服务器的对应关系;所述业务服务器设置于第三方云平台中。

上述存储器可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离于上述处理器的存储装置。

上述处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessor,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明一实施例提供的计算机可读存储介质,包含于业务服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一施例中应用于业务服务器的通信链路的建立方法的步骤。

本发明实施例提供的一种计算机可读存储介质,包含于业务服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

本发明一实施例提供的计算机可读存储介质,包含于客户端,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一施例中应用于客户端的通信链路的建立方法的步骤。

本发明实施例提供的一种计算机可读存储介质,包含于客户端,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

本发明一实施例提供的计算机可读存储介质,包含于代理服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一施例中应用于代理服务器的通信链路的建立方法的步骤。

本发明实施例提供的一种代理服务器,计算机可读存储介质,包含于代理服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,与通过公网建立通信链路的方式相比,可用代理服务器是与客户端位置最近的代理服务器,缩短了所建立的可用代理服务器与客户端之间的第一通信链路的距离,第一通信链路中用于跳转转发的代理服务器也随距离的缩短而减少,由此减少了第一通信链路中跳转转发的次数。进而建立的由第一通信链路和第二通信链路所构成的通信链路,是跳转转发次数相对较少的通信链路,提高了客户端与业务服务器之间的数据传输速率。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于业务服务器的任一实施例中所述的通信链路的建立方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于客户端的任一实施例中所述的通信链路的建立方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于客户端的任一实施例中所述的通信链路的建立方法的步骤。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、dsl(digitalsubscriberline,数字用户线)或无线(例如:红外线、无线电、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如:dvd(digitalversatiledisc,数字通用光盘))、或者半导体介质(例如:ssd(solidstatedisk,固态硬盘))等。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于业务服务器、客户端、可用代理服务器以及通信链路的建立系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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