路径计算和访问请求分发方法、装置及系统与流程

文档序号:12071775阅读:164来源:国知局
路径计算和访问请求分发方法、装置及系统与流程

本申请涉及互联网技术领域,特别涉及路径计算和访问请求分发方法、装置及系统。



背景技术:

应用分发网络(ADN:Application Delivery Network)通常基于网络层或传输层,提供基于网络之间互连的协议(IP:Internet Protocol)、传输控制协议(TCP:Transmission Control Protocol)或者用户数据报协议(UDP:User Datagram Protocol)的应用传输加速,以达到提升用户访问速度的目的。ADN网络的接入通常采用域名系统(DNS:Domain Name System)的CNAME记录方式实现流量引导,在ADN网络传输过程中,通常采用TCP(或者UDP)代理的方式、或者IP路由的方式实现传输。

现有技术不足在于:

在ADN网络传输过程中,采用预先配置好的静态路径的传输方式,无法根据网络状态而动态调整,不具备应对网络突然中断、变差的切换能力;采用预先配置好的动态路径的传输方式,通常利用计算出的最短路径以实现访问请求的传输,但是当批量访问请求涌入ADN网络时,易造成路径拥塞,用户体验较差。



技术实现要素:

本申请实施例提出了路径计算和访问请求分发方法、装置及系统,使得来自用户的批量访问请求能够多路径并行传输,以解决最优路径拥塞导致传输速度较慢的技术问题。

在一个方面,本申请实施例提供了一种路径计算方法,应用于中央控制器,包括:

根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离;

根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出路径信息,并发送给多个入口服务器;

其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

在另一个方面,本申请实施例提供了一种访问请求分发方法,应用于入口服务器,包括:

当接收到应用发起的访问请求时,获取所述应用所对应的路径信息,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力;

根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器。

在另一个方面,本申请实施例提供了一种路径计算装置,应用于中央控制器,包括:

距离模块,用于根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离;

路径模块,用于根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出路径信息,并发送给多个入口服务器;

其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

在另一个方面,本申请实施例提供了一种访问请求分发装置,应用于入口服务器,包括:

接收模块,用于当接收到应用发起的访问请求时,获取所述应用所对应的路径信息,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力;

发送模块,用于根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器。

在另一个方面,本申请实施例提供了一种访问请求分发系统,包括:

中央控制器,用于根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离;以及

根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出包含多条最优路径的路径信息,并发送给多个入口服务器;

入口服务器,用于当接收到应用发起的访问请求时,获取所述应用所对应的路径信息;以及

根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器;

其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

在另一个方面,本申请实施例提供了一种电子设备,应用于中央控制器,所述电子设备包括:

收发设备,存储器,一个或多个处理器;以及

一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述方法中各个步骤的指令。

在另一个方面,本申请实施例提供了一种电子设备,其特征在于,应用于入口服务器,所述电子设备包括:

收发设备,存储器,一个或多个处理器;以及

一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述方法中各个步骤的指令。

在另一个方面,本申请实施例提供了一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述方法中各个步骤的指令。

在另一个方面,本申请实施例提供了一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述方法中各个步骤的指令。

有益效果如下:

本实施例中,针对批量访问请求经由ADN网络实现应用传输的场景,中央控制器根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离;根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出路径信息,并发送给多个入口服务器。其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。这样,就可以避免现有技术中仅经由一条最短路径传输批量访问请求,导致该最短路径拥塞,其它路径因为未被作为最短路径导致路径负载利用率较低,资源分配不合理的情况,进而达到提升用户访问速度的技术效果。

附图说明

下面将参照附图描述本申请的具体实施例,其中:

图1为本申请实施例一中中央控制器侧路径计算的方法原理图;

图2为本申请实施例一中入口服务器侧访问请求分发的方法原理图;

图3为本申请实施例二中路径计算和访问请求分发的方法流程图;

图4为本申请实施例二中路径计算和访问请求分发的流程示意图;

图5为本申请实施例三中中央控制器侧路径计算的装置结构图;

图6为本申请实施例三中入口服务器侧访问请求分发的装置结构图;

图7为本申请实施例四中访问请求分发的系统架构图;

图8为本申请实施例五中电子设备的结构示意图。

具体实施方式

为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。

发明人在研究现有技术的过程中注意到:

当ADN网络接收到访问请求时,根据访问请求计算出一条最短路径作为最优路径,以使访问请求经由所述最优路径实现访问请求的传输加速,但当批量访问请求接入ADN网络时,单一的最优路径传输导致最优路径负载利用率陡增,其它路径得不到充分利用,负载利用率较低,造成资源分配不合理。

针对上述不足,本申请实施例提出了中央控制器根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离;根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出路径信息,并发送给多个入口服务器。其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。本申请实施例利用中央控制器计算出多条最优路径信息,以使入口服务器根据所述多条最优路径信息实现传输路径的负载均衡,同时达到提升用户访问速度的技术效果。

为了便于本申请的实施,下面实例进行说明。

实施例一、

图1示出了本申请实施例一中中央控制器侧路径计算的方法原理图,如图1所示,包括:

步骤101:根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离。

步骤102:根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出路径信息,并发送给多个入口服务器。其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

在步骤101中,中央控制器周期性接收网内各服务器节点通过网内各服务器节点之间相互探测得到的时延和丢包率,以及网内边缘服务器通过网内边缘服务器到源站服务器的单向探测得到的时延和丢包率。根据接收到的网内各服务器节点之间,以及网内边缘服务器到源站服务器的探测数据,计算出各服务器节点之间,以及网内边缘服务器到源站服务器的距离值。此外,中央控制器还会周期性接收网内所有服务器节点通过自我探测的方式检测设备的实际网卡流量计算出的带宽利用率。其中,在ADN网络中,时延可以是TCP时延,也可以是网络控制消息协议(ICMP:Internet Control Message Protocol)时延,在此不做进一步的限定。

在步骤102中,中央控制器根据计算出的各服务器节点之间,以及网内边缘服务器到源站服务器的距离值,利用最短路径算法YEN进一步计算出N条最优路径。其中,N的值可以根据实际情况进行设定,当计算出的最优路径条数未达到N时,以计算出的最优路径条数为准。

中央控制器发送给多个入口服务器的路径信息包括多条最优路径信息和路径指示信息,其中路径指示信息可以是为每条最优路径设置的权重属性,用以表示每条最优路径对访问请求的传输能力。其中,最优路径权值为最优路径中某一最优路径的距离值与所有最优路径的距离值总和的比值,具体的计算方法为:

其中,N为同一入口服务器到达同一源站服务器的最优路径条数。若最优路径中只存在一条最优路径,则该最优路径的权值设置为1;若最优路径中存在多条最优路径,则利用上述最优路径权值算法计算出每条最优路径的权值。

在本实施例中,中央控制器将多条最优路径信息,以及多条最优路径中每条最优路径的权重属性一并发送给入口服务器,以使入口服务器在接收到批量访问请求时,根据来自中央控制器的路径信息实现批量访问请求的并行传输,进而达到均衡多条最优路径负载利用率,资源合理分配的技术效果。

进一步地,所述服务器节点为ADN网络内服务器节点,所述边缘服务器为ADN网络内边缘服务器,所述ADN网络为应用分发网络。

进一步地,所述根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离的步骤还包括:

根据访问请求所要访问的数据类型,设置丢包率的敏感度;

根据丢包率的敏感度,以及服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据丢包率的敏感度,以及边缘服务器到源站服务器的时延和丢包率信息,计算出服务器节点之间,以及边缘服务器到源站服务器的距离。

中央控制器根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出边缘服务器到源站服务器的距离,具体的计算方法为:

其中,N为[0,X],N代表丢包率的敏感度,当X为0时,表示只考虑往返时延(RTT:Round-Trip Time)而不考虑丢包率Loss,当X为3时,表示丢包率Loss敏感度较高。X取值越高,丢包率Loss敏感度越高,且不限于3。

具体地,针对不同应用场景确定N的取值进行举例说明,通过对接收到的访问请求进行数据类型解析,若访问请求为想要访问如视频会议类的请求,对丢包率Loss的要求较高,则在此类应用场景的计算方法中,N的取值可定义为3;同理,若访问请求为想要访问如文件下载类的请求,对丢包率Loss的要求较低,则在此类应用场景的计算方法中,N的取值可定义为0。

进一步地,还包括:

获取除入口服务器外所有服务器节点的负载利用率;

当所述最优路径中除入口服务器外的某一服务器节点的负载利用率达到阈值时,从所述多条最优路径中删除所述某一服务器节点所属的最优路径。

针对服务器节点负载利用率为服务器节点带宽利用率,进行举例说明,中央控制器以分钟为单位,利用最短路径算法YEN将计算出的从同一入口服务器到同一源站服务器的N条最短路径作为N条最优路径,若计算得到的最优路径条数不足N,则以计算出来的最优路径条数为准;若计算得到的最优路径中存在除入口服务器外的某一服务器节点的带宽利用率达到阈值(阈值默认为100%),则将该最优路径从最优路径中删除;若最优路径中只存在一条最优路径,即便该最优路径中除入口服务器外的某一服务器节点的带宽利用率达到阈值,也继续保留该最优路径。

其中,每个服务器节点预先设定额定带宽,并通过采集上行及下行带宽得到实际带宽,带宽利用率的具体计算方法为:

图2为本申请实施例一中入口服务器侧访问请求分发的方法原理图,如图2所示,包括:

步骤201:当接收到应用发起的访问请求时,获取所述应用所对应的路径信息,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

步骤202:根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器。

在步骤201中,入口服务器接收访问请求,根据访问请求中的应用标识确定发起访问请求的应用,根据应用类别获取对应的路径信息。

进一步地,所述的根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器的步骤包括:

根据所述路径指示信息,计算出所述多条最优路径中每条最优路径对应的并行发送比例;

根据所述并行发送比例,并行发送所述访问请求给源站服务器。

针对多条最优路径中每条最优路径的并行发送比例为多条最优路径中每条最优路径的权值比例,进行举例说明,入口服务器根据路径信息中的最优路径权值计算多条最优路径中每条最优路径对应的权值比例,即某一条最优路径的权值与所有最优路径的权值总和的比值,具体的计算方法为:

其中,N为[1,X],N表示最优路径的条数,通常默认N为3。

在本实施例中,入口服务器将批量访问请求按照应用类别进行分类后,获取与应用类别对应的包含多条最优路径的路径信息,并根据路径信息将分类后的访问请求按照每条最优路径的权值比例,并经由多条最优路径并行发送给源站服务器,以使入口服务器基于多条最优路径实现传输路径的负载均衡,同时达到提升用户访问速度的技术效果。

本申请实施例二以具体场景为例,对本申请实施例一进行详细描述。

实施例二、

图3为本申请实施例二中路径计算和访问请求分发的方法流程图,如图3所示,路径计算,以及访问请求分发的具体实现方法为:

步骤301:服务器节点将探测结果周期性上报给中央控制器,探测结果至少包括TCP时延、丢包率、带宽利用率。图4为本申请实施例二中路径计算和访问请求分发的流程示意图,如图4所示,ADN网络内服务器节点之间进行Ping探测,得到服务器节点之间的TCP时延和丢包率,以及服务器节点通过检测自身的实际网卡流量,计算出带宽利用率,并将服务器节点之间的TCP时延、丢包率和带宽利用率一并发送给中央控制器。ADN网络内边缘服务器对源站服务器进行Ping探测,得到边缘服务器到源站服务器的TCP时延、丢包率,以及边缘服务器通过检测自身的实际网卡流量,计算出带宽利用率,并将边缘服务器到源站服务器的TCP时延、丢包率和带宽利用率一并发送给中央控制器。

步骤302:中央控制器根据接收到的服务器节点之间的TCP时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的TCP时延和丢包率信息,计算出边缘服务器到源站服务器的距离。

步骤303:中央控制器根据服务器节点间距离,以及边缘服务器到源站服务器的距离,得到从各个入口服务器到所有源站服务器的N条最优路径(N根据实际情况设定,默认为3)。

步骤304:中央控制器对N条最优路径进行权重计算,并为N条最优路径中每条最优路径的权重属性设置权值。

步骤305:中央控制器将包含每条最短路径权值的N条最优路径信息下发给多个入口服务器。

步骤306:当入口服务器接收到来自用户的批量访问请求时,根据发起批量访问请求的应用的类别获取对应的N条最优路径。

步骤307:入口服务器根据N条最优路径中每条最优路径的权值比例,实现对批量访问请求的并行传输。

实施例三、

基于同一发明构思,本申请实施例中还提供了一种路径计算装置,由于这些设备解决问题的原理与一种路径计算方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。

图5为本申请实施例三中中央控制器侧路径计算的装置结构图,如图5所示,路径计算装置500可以包括:

距离模块501,用于根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出服务器节点之间,以及边缘服务器到源站服务器的距离。

路径模块502,用于根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出路径信息,并发送给多个入口服务器。其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

进一步地,所述服务器节点为ADN网络内服务器节点,所述边缘服务器为ADN网络内边缘服务器,所述ADN网络为应用分发网络。

进一步地,所述距离模块501包括:

设置单元5011,用于根据访问请求所要访问的数据类型,设置丢包率的敏感度。

计算单元5012,用于根据丢包率的敏感度,以及服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据丢包率的敏感度,以及边缘服务器到源站服务器的时延和丢包率信息,计算出服务器节点之间,以及边缘服务器到源站服务器的距离。

进一步地,所述路径模块502包括:

获取单元5021,用于获取除入口服务器外所有服务器节点的负载利用率。

删除单元5022,用于当所述最优路径中除入口服务器外的某一服务器节点的负载利用率达到阈值时,从所述多条最优路径中删除所述某一服务器节点所属的最优路径。

图6示出了本申请实施例三中入口服务器侧访问请求分发的装置结构图,如图6所示,访问请求分发装置600可以包括:

接收模块601,用于当接收到应用发起的访问请求时,获取所述应用所对应的路径信息,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

发送模块602,用于根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器。

进一步地,所述发送模块602包括:

比例单元6021,用于根据所述路径指示信息,计算出所述多条最优路径中每条最优路径对应的并行发送比例。

并行单元6022,用于根据所述并行发送比例,并行发送所述访问请求给源站服务器。

实施例四、

基于同一发明构思,本申请实施例中还提供了一种访问请求分发系统,由于这些设备解决问题的原理与路径计算和访问请求分发方法、一种路径计算和访问请求分发装置相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。

图7示出了本申请实施例四中访问请求分发的系统架构图,如图7所示,所述访问请求分发系统700可以包括:

中央控制器701,用于根据获取到的服务器节点之间的时延和丢包率信息,计算出服务器节点之间的距离,以及根据获取到的边缘服务器到源站服务器的时延和丢包率信息,计算出服务器节点之间,以及边缘服务器到源站服务器的距离;以及

根据服务器节点之间,以及边缘服务器到源站服务器的距离,计算出包含多条最优路径的路径信息,并发送给多个入口服务器。

入口服务器702,用于当接收到应用发起的访问请求时,获取所述应用所对应的路径信息;以及

根据所述路径信息,将所述访问请求经由所述多条最优路径并行发送给源站服务器;

其中,所述路径信息包括多条最优路径信息和路径指示信息,所述路径指示信息用于表示所述多条最优路径中每条最优路径对访问请求的传输能力。

实施例五、

基于同一发明构思,本申请实施例中还提供了一种电子设备,由于其原理与一种路径计算和访问请求分发方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。

图8示出了本申请实施例五中电子设备的结构示意图,如图8所示,所述电子设备包括:收发设备801,存储器802,一个或多个处理器803;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。

实施例六、

基于同一发明构思,本申请实施例还提供了一种与电子设备结合使用的计算机程序产品,由于其原理与一种路径计算和访问请求分发方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一上述方法中各个步骤的指令。

为了描述的方便,以上所述装置的各部分以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

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