一种内容分发网络中的动态加速方法及装置与流程

文档序号:13299294阅读:325来源:国知局
一种内容分发网络中的动态加速方法及装置与流程

本发明涉及内容分发网络领域,尤其涉及一种内容分发网络中的动态加速方法及装置。



背景技术:

cdn(contentdeliverynetwork,即内容分发网络)技术的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。

大部分cdn厂商均是通过自建节点和缓存等技术实现静态文件的加速。而动态文件由于需要实时更新,终端用户每次访问内容均不同,边缘cdn节点无法存储用户请求的内容,请求到了边缘cdn节点之后还得回源,因此利用cdn缓存技术将无法解决动态加速需求。cdn技术中的回源是指:当用户访问某个内容时,如果用户接入的cdn节点没有缓存该内容或是缓存已到期,就会回相应的源站获取该内容。

相关技术中,部分厂商采用tcp/ip协议栈优化、动态压缩技术、构建虚拟加速网络等方式来满足动态文件加速的需求。比如一种cdn动态加速的方案如下:

利用自建的cdn节点,通过在各个cdn节点、域名源站间通过tcp(transmissioncontrolprotocol,传输控制协议)/http(hypertexttransferprotocol,超文本传输协议)进行实时路由探测,并以探测数值相加的方式计算出最优回源路由路径;用户通过终端访问动态加速域名并接入到就近cdn节点时,该cdn节点通过探测数据计算出的最有回源路由路径进行回源。

但是,该相关技术存在的缺点包括:

(1)处理方式单一,无法适用于不同的需求场景;

(2)随着动态加速域名数的增加,计算量成线性增长,降低处理性能;

(3)探测数值的些许波动就有可能影响计算结果,因此存在最优回源路由路径来回跳跃的问题。



技术实现要素:

本申请提供一种内容分发网络中的动态加速方法及装置,能够实现根据需求场景调整最优回源路径的选择顺序。

本申请采用如下技术方案。

一种内容分发网络cdn中的动态加速方法,包括:

cdn节点接收配置信息;

所述cdn节点根据所述配置信息进行路由探测,得到探测数值;

所述cdn节点在收到对需要动态加速的域名的访问请求后,将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值,根据路径值选择回源路由路径进行回源。

可选地,所述cdn节点接收配置信息后还包括:

所述cdn节点根据所述配置信息判断本节点的类型;所述类型包括接入节点和中继节点;

所述cdn节点根据所述配置信息进行路由探测,得到探测数值包括:

如果本节点为中继节点,则根据所述配置信息分别对其它中继节点与源站进行路由探测,得到探测数值;如果本节点为接入节点,则根据所述配置信息分别对其它中继节点进行路由探测,得到探测数值。

可选地,当本节点的类型既是接入节点也是中继节点时,以本节点作为接入节点对作为中继节点的本节点进行路由探测所得到的探测数值为0。

可选地,所述权重值包括:第一权重值、第二权重值、第三权重值;

所述将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值包括:

确定本节点所有的回源路由路径;

对于每条回源路由路径,用接入节点与中继节点之间的探测数值乘以所述第一权重值,用每两个相邻中继节点之间的探测数值分别乘以所述第二权重值,用中继节点与源站之间的探测数值乘以所述第三权重值,将所有乘积相加得到该条回源路由路径的路径值。

可选地,所述配置信息还包括:

所选用的处理模型的标识;各所述处理模型的信息;

所述处理模型的信息包括:该处理模型的标识及所述第一权重值、第二权重值和第三权重值。

可选地,所述配置信息中包括:

需要动态加速的域名;进行动态加速的接入节点池的标识、各所述接入节点池的信息;所述接入节点池的信息包括:本接入节点池的标识及接入节点列表;进行动态加速的中继节点池的标识、各所述中继节点池的信息、各源站的标识;其中,所述中继节点池的信息包括:该中继节点池的标识及中继节点列表;

所述根据所述配置信息判断本节点的类型包括:

根据所述进行动态加速的接入节点池的标识确定相应的接入节点池,判断本节点是否在所确定的接入节点池的信息中的节点列表内,如果在则确定本节点的类型是接入节点;根据所述进行动态加速的接入节点池的标识确定相应的中继节点池,判断本节点是否在所确定的中继节点池的信息中的节点列表内,如果在则确定本节点的类型是中继节点;

当本节点的类型是接入节点时,根据所述需要动态加速的域名中相应字段的值判断本节点的类型是否也包括中继节点。

可选地,所述根据配置信息分别对其它中继节点与源站进行路由探测包括:

根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表确定中继节点,对除了本节点以外的每个所确定的中继节点分别进行路由探测;根据所述各源站的标识分别对各源站进行路由探测;

所述根据配置信息分别对其它中继节点进行路由探测包括:

根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表确定中继节点,对所确定的每个中继节点进行路由探测。

可选地,所述根据路径值选择回源路由路径进行回源包括:

如果当前没有正在使用的回源路由路径,则选择路径值最小的回源路由路径进行回源;

如果当前具有正在使用的回源路由路径,则判断路径值最小的回源路由路径与所述正在使用的回源路由路径是否相同,如果相同则继续使用所述正在使用的回源路由路径进行回源;如果不相同则判断两者路径值的差值是否在预定范围内,如果在预定范围内则继续使用所述正在使用的回源路由路径进行回源,如果不在预定范围内则改为使用所述路径值最小的回源路由路径进行回源。

一种内容分发网络cdn中的动态加速方法,包括:

接收模块,用于接收配置信息;

探测模块,用于根据所述配置信息进行路由探测,得到探测数值;

回源模块,用于在收到对需要动态加速的域名的访问请求后,将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值,根据路径值选择回源路由路径进行回源。

可选地,所述的装置还包括:

判断模块,用于根据所述配置信息判断本节点的类型;所述类型包括接入节点和中继节点;

所述探测模块根据所述配置信息进行路由探测,得到探测数值包括:

如果本节点为中继节点,则所述探测模块根据所述配置信息分别对其它中继节点与源站进行路由探测,得到探测数值;如果本节点为接入节点,则所述探测模块根据所述配置信息分别对其它中继节点进行路由探测,得到探测数值。

可选地,所述探测模块当本节点的类型既是接入节点也是中继节点时,以本节点作为接入节点对作为中继节点的本节点进行路由探测所得到的探测数值为0。

可选地,所述权重值包括:第一权重值、第二权重值、第三权重值;

所述回源模块将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值包括:

所述回源模块确定本节点所有的回源路由路径;对于每条回源路由路径,用接入节点与中继节点之间的探测数值乘以所述第一权重值,用每两个相邻中继节点之间的探测数值分别乘以所述第二权重值,用中继节点与源站之间的探测数值乘以所述第三权重值,将所有乘积相加得到该条回源路由路径的路径值。

可选地,所述配置信息还包括:

所选用的处理模型的标识;各所述处理模型的信息;

所述处理模型的信息包括:该处理模型的标识及所述第一权重值、第二权重值和第三权重值。

可选地,所述配置信息中包括:

需要动态加速的域名;进行动态加速的接入节点池的标识、各所述接入节点池的信息;所述接入节点池的信息包括:本接入节点池的标识及接入节点列表;进行动态加速的中继节点池的标识、各所述中继节点池的信息、各源站的标识;其中,所述中继节点池的信息包括:该中继节点池的标识及中继节点列表;

所述判断模块根据所述配置信息判断本节点的类型包括:

所述判断模块根据所述进行动态加速的接入节点池的标识确定相应的接入节点池,判断本节点是否在所确定的接入节点池的信息中的节点列表内,如果在则确定本节点的类型是接入节点;根据所述进行动态加速的中继节点池的标识确定相应的中继节点池,判断本节点是否在所确定的中继节点池的信息中的节点列表内,如果在则确定本节点的类型是中继节点;当本节点的类型是接入节点时,根据所述需要动态加速的域名中相应字段的值判断本节点的类型是否也包括中继节点。

可选地,所述探测模块根据配置信息分别对其它中继节点与源站进行路由探测包括:

所述探测模块根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表确定中继节点,对除了本节点以外的每个所确定的中继节点分别进行路由探测;根据所述各源站的标识分别对各源站进行路由探测;

所述根据配置信息分别对其它中继节点进行路由探测包括:

根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表确定中继节点,对所确定的每个中继节点进行路由探测。

可选地,所述回源模块根据路径值选择回源路由路径进行回源包括:

所述回源模块在当前没有正在使用的回源路由路径时,选择路径值最小的回源路由路径进行回源;在当前具有正在使用的回源路由路径时,判断路径值最小的回源路由路径与所述正在使用的回源路由路径是否相同,如果相同则继续使用所述正在使用的回源路由路径进行回源;如果不相同则判断两者路径值的差值是否在预定范围内,如果在预定范围内则继续使用所述正在使用的回源路由路径进行回源,如果不在预定范围内则改为使用所述路径值最小的回源路由路径进行回源。

本申请包括以下优点:

本申请的至少一个实施例中,在选择回源路由路径时,会根据通过配置信息得到的权重值计算每条回源路由路径的路径值;由于引入了权重值,可以通过调整权重值来改变路径值的大小,从而改变最优回源路径的选择顺序,以适应不同的需求场景。。

本申请的一个备选方案中,对cdn节点按照类型进行了分工,不同类型的cdn节点要进行的处理任务不同,这样可以适用于不同情况。本备选方案的一种可选实施方式中,将一个节点同时为接入节点和中继节点时,对本节点的探测数值限定为0,这样处理更加合理。本备选方案的又一种可选实施方式中,将权重值分成对应于接入节点与中继节点之间的探测数值的第一权重值、对应于两个相邻中继节点之间的探测数值的第二权重值,对应于中继节点到源站之间的探测数值的第三权重值;对于不同的需求场景,可以通过增大或减少相应的权重值,来调整所得到的最优回源路径。另外,还可以在配置信息中通过给出处理模型的标识来设置上述权重值,对于同一个处理模型计算结果是单一的;这样即使需要动态加速的域名增加,由于处理模型的个数有限,因此计算量并不会随之增长,保持了性能稳定。本申请的一个备选方案中,只有当路径值最小的回源路由路径与当前使用的回源路由路径差异明显时才切换回源路由路径,这样可以提高回源路由路径的稳定性,不至于探测数值稍有波动就进行路径跳转。

当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。

附图说明

图1是实施例一的cdn中的动态加速方法的流程图;

图2是实施例一的例子中,两种类型cdn节点的探测逻辑的示意图;

图3是实施例一的例子中,配置信息下发的示意图;

图4是实施例一的例子中,场景一的实现示意图;

图5是实施例一的例子中,场景二的实现示意图;

图6是实施例二的cdn中的动态加速装置的示意图。

具体实施方式

下面将结合附图及实施例对本申请的技术方案进行更详细的说明。

需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在一个典型的配置中,cdn节点可包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存(memory)。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块m(m为大于2的整数)。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom),快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

实施例一、一种cdn中的动态加速方法,如图1所示,包括步骤s110~s130:

s110、cdn节点接收配置信息;

s120、所述cdn节点根据所述配置信息进行路由探测,得到探测数值;

s130、所述cdn节点在收到对需要动态加速的域名的访问请求后,将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值,根据路径值选择回源路由路径进行回源。

本实施例中,由于引入了权重值,可以通过调整权重值来改变路径值的大小,从而改变最优回源路径的选择顺序,以适应不同的需求场景。。

本实施例中,各cdn节点在得到探测数值后可以进行交互,从而获得其它cdn节点进行路由探测得到的探测数值。

本实施例的一种备选方案中,所述cdn节点接收配置信息后还可以包括:

所述cdn节点根据所述配置信息判断本节点的类型;所述类型包括接入节点和中继节点;

所述cdn节点根据所述配置信息进行路由探测,得到探测数值可以包括:

如果本节点为中继节点,则根据所述配置信息分别对其它中继节点与源站进行路由探测,得到探测数值;如果本节点为接入节点,则根据所述配置信息分别对其它中继节点进行路由探测,得到探测数值。

本备选方案对cdn节点按照类型进行了分工,不同类型的cdn节点要进行的处理任务不同,这样可以适用于不同情况,比如源站服务器性能受限,仅接受少量的回源探测信息时,将接入节点和中继节点分开就能保证接入节点不能直接对源站进行路由探测。

本备选方案的一种可选实施方式中,当本节点的类型既是接入节点也是中继节点时,以本节点作为接入节点对作为中继节点的本节点进行路由探测所得到的探测数值可以为0。

在其它实施方式中,也可以设置为实际探测得到的探测数值或其它值。

本备选方案的一种可选实施方式中,所述权重值可以包括:第一权重值、第二权重值、第三权重值;

所述根据本节点和其它cdn节点得到的所述探测数值,以及所述配置信息中的权重值计算每条回源路由路径对应的路径值可以包括:

确定本节点所有的回源路由路径;

对于每条回源路由路径,用接入节点与中继节点之间的探测数值乘以所述第一权重值,用每两个相邻中继节点之间的探测数值分别乘以所述第二权重值,用中继节点与源站之间的探测数值乘以所述第三权重值,将所有乘积相加得到该条回源路由路径的路径值。

比如一条回源路由路径为:从接入节点到第一中继节点、到第二中继节点、到源站。假设接入节点对第一中继节点进行路由探测得到的探测数值为ra,第一中继节点对第二中继节点进行路由探测得到的探测数值为rb,第二中继节点对源站进行路由探测得到的探测数值为rc,则这条回源路由路径的路径值为:ra×第一权重值+rb×第二权重值+rc×第三权重值。

其它实施方式中,也可以采用其它方式划分权重值,比如cdn节点之间的探测数值对应于一个权重值,cdn节点和源站之间的探测数值对应于另一个权重值。

本可选实施方式中,所述配置信息还可以包括:

所选用的处理模型的标识;各所述处理模型的信息;

所述处理模型的信息包括:该处理模型的标识及所述第一权重值、第二权重值和第三权重值。

本实施方式中,无论需要动态加速的域名是什么,接入节点都是根据选用的处理模型得到权重值;对于处理模型相同、源站相同的多个需要动态加速的域名而言,回源时的路由路径选择结果是相同的,而无需多次计算,因此可以避免计算量随着域名增加而线性增长。

其它实施方式中,配置信息中也可以直接携带权重值,不出现处理模型的概念。

本备选方案的一种可选实施方式中,所述配置信息中可以包括:

需要动态加速的域名;进行动态加速的接入节点池的标识、各所述接入节点池的信息;所述接入节点池的信息包括:本接入节点池的标识及接入节点列表;进行动态加速的中继节点池的标识、各所述中继节点池的信息、各源站的标识;其中,所述中继节点池的信息包括:该中继节点池的标识及中继节点列表;

所述根据所述配置信息判断本节点的类型包括:

根据所述进行动态加速的接入节点池的标识确定相应的接入节点池,判断本节点是否在所确定的接入节点池的信息中的节点列表内,如果在则确定本节点的类型是接入节点;根据所述进行动态加速的中继节点池的标识确定相应的中继节点池,判断本节点是否在所确定的中继节点池的信息中的节点列表内,如果在则确定本节点的类型是中继节点;

当本节点的类型是接入节点时,根据所述需要动态加速的域名中相应字段的值判断本节点的类型是否也包括中继节点。。

本实施方式中,作为接入节点的cdn节点虽然不在进行动态加速的接入节点池中,但如果需要动态加速的域名中相应字段的值为表示可以类型复用的值时,作为接入节点的cdn节点针对该域名也可以作为中继节点。

本实施方式中,可以针对不同域名设置不同的接入节点和中继节点。

其它实施方式中,也可以直接在配置信息中携带每个节点标识和类型的对应关系,每个cdn节点通过该对应关系直接获知本节点的类型。

其它实施方式中,需要动态加速的域名也可以预先直接保存在每个cdn节点中,而不一定通过所述配置信息获得。

本实施方式中,所述分别对其它中继节点与源站进行路由探测可以包括:

根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表,确定每个中继节点,对除了本节点以外的每个所确定的中继节点分别进行路由探测;根据所述各源站的标识分别对各源站进行路由探测;

所述分别对其它中继节点进行路由探测可以包括:

根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表,确定每个中继节点,对所确定的每个中继节点进行路由探测。

在其它实施方式中,也可以通过cdn节点之间的交互,来得知中继节点有哪些,从而进行路由探测;比如每个cdn节点确定本节点的类型后,通知给其它cdn节点。

在其它实施方式中,如果源站较为固定,也可以在cdn节点中直接保存源站的标识,而不是从配置信息获取。

本实施例的一种备选方案中,所述根据路径值选择回源路由路径进行回源可以包括:

如果当前没有正在使用的回源路由路径,则选择路径值最小的回源路由路径进行回源;

如果当前具有正在使用的回源路由路径,则判断路径值最小的回源路由路径与所述正在使用的回源路由路径是否相同,如果相同则继续使用所述正在使用的回源路由路径进行回源;如果不相同则判断两者路径值的差值是否在预定范围内,如果在预定范围内则继续使用所述正在使用的回源路由路径进行回源,如果不在预定范围内则改为使用所述路径值最小的回源路由路径进行回源。

本备选方案中,只有当路径值最小的回源路由路径与当前使用的回源路由路径差异明显时才切换回源路由路径,这样可以提高回源路由路径的稳定性,不至于探测数值稍有波动就进行路径跳转。

本备选方案中,所述预定范围可以根据经验值或试验设置。

其它备选方案中,也可以每次都选用路径值最小的回源路由路径,通过增加探测周期的长度,从而降低路径切换频率,同样也能提高路径的稳定性。还可以将探测数值进行取整等加工,使其轻微波动时不至于对路径值发生大的影响,也一样可以提高路径的稳定性。

下面用一个示范性的例子说明上述实施例。

cdn节点包含两种类型:接入节点和中继节点;每个cdn节点可以作为一种或者多种类型的节点。

接入节点通常指距离用户“较近”(指地理位置+运营商)的边缘cdn节点,每个接入节点分别探测各个中继节点;中继节点起到路由中转的作用,各个中继节点之间相互探测和分别探测用户源站。两种类型cdn节点的探测逻辑如图2所示。图2中,虚线表示节点间的路由探测,假设有源站1和源站2,接入节点北京联通和接入节点青岛联通,则每个中继节点分别探测两个源站,并且每个中继节点之间均进行相互的探测;每个接入节点分别探测每个中继节点。

本例中,动态加速域名、处理模型等配置信息在全局控制中心配置,配置信息有修改时实时下发或周期性下发给各个cdn节点,策略修改在一个探测决策周期内生效。全局控制中心如图3所示,将配置信息分别发送到cdn节点1、cdn节点2、……、cdn节点n。

本例中,所述配置信息可以包括如下信息:

(1)动态加速域名信息,包括:需要动态加速的域名、进行动态加速的接入节点池的id(标识)、进行动态加速的中继节点池的id、源站的id、所选用的处理模型的id;

(2)接入节点池信息,包括:每个接入节电池的id、接入节点列表;

(3)中继节点池信息,包括:每个中继节电池的id、中继节点列表;

(4)域名源站信息,包括:每个源站的id、支持配置虚拟ip或者域名;

(5)处理模型信息,包括:每个处理模型的id、描述、权重值(包括接入节点到中继节点的权重、中继节点到中继节点的权重、中继节点到源站的权重)。

本例中,cdn节点的工作方式如下:

每个cdn节点接收所述配置信息后,先根据进行动态加速的接入节点池的id确定接入节点池,判断本节点是否存在于所确定的接入节点池的信息中的节点列表里,如果是,则确定本节点的类型为接入节点;每个接入节点分别根据所述需要动态加速的域名中相应字段的值判断自己的类型是否还包括中继节点;比如当域名中预定字段的值为“enable”时,每个类型是接入节点的cdn节点同时也是中继节点,值不是“enable”时,每个类型是接入节点的cdn节点的类型就仅仅只是接入节点。

对于不同的需要动态加速的域名,类型是接入节点的cdn节点集合可能不相同,而且一个cdn节点的类型也可以不同,比如对于域名x,cdn节点r的类型只是接入节点,而对于域名y,cdn节点r的类型则既是接入节点也是中继节点,对于域名z,cdn节点r不是接入节点也不是中继节点(域名x、y、z均为需要动态加速的域名)。

如果本cdn节点的类型包括接入节点,则可以处理域名请求;如果本cdn节点的类型包括中继节点,则可以探测域名的源站,并具备回源能力。

本例中,当一个cdn节点的类型既是接入节点也是中继节点时,cdn节点到自身的探测数值为0,优先级最高。

本例中,所述探测数值可以为所探测的节点和本节点之间的往返延时,比如在采用tcp进行探测时,探测数值为往返延时rtt;采用http进行探测时,探测数值为往返延时rt。

常见的动态加速需求场景包括:

场景一:用户访问动态文件时,尽可能通过接入的就近边缘cdn节点回源,当回源网络很差时,边缘cdn节点再通过其它cdn节点回源,并在网络恢复时及时切回;此场景对源站服务器性能要求较高,能扛得住批量cdn节点探测探测。

场景二:源站服务器性能受限,只能接受少量cdn节点池中的节点进行回源探测,此时用户访问接入边缘cdn节点后,由边缘cdn节点转发给cdn节点池中的节点回源。

其它场景如通过距离源站最近的节点回源,cdn厂商自己基于成本和用户体验的考虑,控制回源路由跳数等等。

本例中,针对上述需求场景可以分别设置相应的处理模型。

下面具体介绍本例在两个场景下的应用情况。

场景一:接入的cdn节点直接优先回源,当回源网络很差时,能够通过其它节点回源。

假设配置信息中,进行动态加速的接入节点池和中继节点池的id均为b(即接入、中继节点共用一套cdn节点池);所选用的处理模型id为c(后文称为处理模型c)。

处理模型c中,接入节点到中继节点的权重为c1,中继节点到中继节点的权重为c2,中继节点到源站的权重为c3。

如图4所示,取b1、b2、b3三个cdn节点,每个节点的类型既是接入节点也是中继节点,r1、r2、r3分别是各cdn节点间路由探测得到的rt/rtt值,s1、s2、s3分别是各cdn节点探测源站s得到的rt/rtt值,图4中的虚线表示节点间的路由探测。每个节点到自身进行路由探测得到的rt/rtt值为0,此处记为r0。

假设保定联通用户actor通过aimdns的自动化智能调度选择接入河北联通的cdn节点b1,则每条回源路由路径对应的路径值如下:

rout1=c1*r0+c3*s1(即:从接入节点b1,到中继节点b1,到源站s)

rout2=c1*r0+c2*r1+c3*s2(即:从接入节点b1,到中继节点b1,到中继节点b2,到源站s)

rout3=c1*r0+c2*r2+c3*s3(即:从接入节点b1,到中继节点b1,到中继节点b3,到源站s)

rout4=c1*r0+c2*r1+c2*r3+c3*s3(即:从接入节点b1,到中继节点b1,到中继节点b2,到中继节点b3,到源站s)

rout5=c1*r0+c2*r2+c2*r3+c3*s2(即:从接入节点b1,到中继节点b1,到中继节点b3,到中继节点b2,到源站s)

最优回源路由路径是:min(rout1,rout2,rout3,rout4,rout5)。

其中,min表示取最小值。

通过变换处理模型,可以得到不同的c1、c2、c3,所得到的最优回源路由路径也可能随之发生变换,从而可以适用于不同的需求场景。

具体分析如下:

(1)如果提高c1,由于r0为0,所以节点b1的类型既是接入节点也是中继节点时,设置c1不影响路径选择结果;

(2)如果提高c2,则可以优先淘汰掉route4和route5,减少路由跳数,节省cdn节点间的传输成本;

(2)如果提高c3,则可以优先通过距离源站最近的cdn节点回源。

场景二:源站服务器性能受限,仅接受少量的回源探测信息。

假设配置信息中,进行动态加速的接入节点池的id为a,进行动态加速的中继节点池的id为b;所选用的处理模型id为c(后文称为处理模型c)。此处中继节点池是一个较小的cdn节点集合,可减少源站的探测量。

处理模型c中,接入节点到中继节点的权重为c1,中继节点到中继节点的权重为c2,中继节点到源站的权重为c3。

如图5所示,接入层包括接入节点acc1~accn,中继层包括b1、b2、b3三个中继节点,回源层为源站s。

a1、a2、a3分别是接入节点acc1探测不同中继节点得到的rt/rtt值,r1、r2、r3分别是中继节点间路由探测得到的rt/rtt值,s1、s2、s3分别是各中继节点探测源站s得到的rt/rtt值。图5中的虚线表示节点间的路由探测。

由于本场景下接入节点必须经过中继节点回源,所以该方案在cdn节点之间必须需要一跳路由。

假设保定联通用户actor通过aimdns的自动化智能调度选择接入河北联通的接入节点acc1;假设接入节点acc1通过中继节点b1回源,则每条回源路由路径对应的路径值如下:

rout1=c1*a1+c3*s1(即:从接入节点acc1,到中继节点b1,到源站s)

rout2=c1*a1+c2*r1+c3*s2(即:从接入节点acc1,到中继节点b1,到中继节点b2,到源站s)

rout3=c1*a1+c2*r2+c3*s3(即:从接入节点acc1,到中继节点b1,到中继节点b3,到源站s)

rout4=c1*a1+c2*r1+c2*r3+c3*s3(即:从接入节点acc1,到中继节点b1,到中继节点b2,到中继节点b3,到源站s)

rout5=c1*a1+c2*r2+c2*r3+c3*s2(即:从接入节点acc1,到中继节点b1,到中继节点b3,到中继节点b2,到源站s)

最优的回源路由路径是:min(rout1,rout2,rout3,rout4,rout5)。

通过变换处理模型,可以得到不同的c1、c2、c3,所得到的最优回源路由路径也可能随之发生变换,从而可以适用于不同的需求场景。

具体分析如下:

(1)如果提高c1,则可以优先通过距离接入节点最近的中继节点回源;

(2)如果提高c2,则可以优先淘汰掉route4和route5,减少路由跳数,节省cdn节点间的传输成本;

(3)如果提高c3,则可以优先通过距离源站最近的cdn节点回源。

在上述两个场景中,如果当前具有正在使用的回源路由路径,则判断最优回源路由路径与所述正在使用的回源路由路径是否相同,如果相同则继续使用所述正在使用的回源路由路径进行回源;如果不相同则判断两者路径值的差值是否在预定范围内,如果在预定范围内则继续使用所述正在使用的回源路由路径进行回源,如果不在预定范围内则改为使用所述最优回源路由路径进行回源。比如假设正在使用的回源路由路径的路径值为7,假设预定范围为小于或等于2,则最优回源路径的路径值为6或5(即:两者差值为1或2)时不更改所使用的回源路由路径,最优回源路径的路径值为4或更小(即:两者差值为3或更大)时,将所使用的回源路由路径改为所述最优回源路径。

实施例二、一种内容分发网络cdn中的动态加速装置,如图6所示,包括:

接收模块21,用于接收配置信息;

探测模块22,用于根据所述配置信息进行路由探测,得到探测数值;

回源模块23,用于在收到对需要动态加速的域名的访问请求后,将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值,根据路径值选择回源路由路径进行回源。

本实施例中,所述接收模块21是所述装置中负责接收配置信息的部分,可以是软件、硬件或两者的结合。

本实施例中,所述探测模块22是所述装置中负责进行路由探测的部分,可以是软件、硬件或两者的结合。

本实施例中,所述回源模块23是所述装置中负责回源处理的部分,可以是软件、硬件或两者的结合。

本实施例中,所述装置可以但不限于设置于cdn节点中;所述“本节点”即该装置所在的cdn节点。

本实施例的一种备选方案中,所述的装置还可以包括:

判断模块,用于根据所述配置信息判断本节点的类型;所述类型包括接入节点和中继节点;

所述探测模块根据所述配置信息进行路由探测,得到探测数值包括:

如果本节点为中继节点,则所述探测模块根据所述配置信息分别对其它中继节点与源站进行路由探测,得到探测数值;如果本节点为接入节点,则所述探测模块根据所述配置信息分别对其它中继节点进行路由探测,得到探测数值。

本备选方案的一种可选实施方式中,所述探测模块当本节点的类型既是接入节点也是中继节点时,以本节点作为接入节点对作为中继节点的本节点进行路由探测所得到的探测数值可以为0。

本备选方案的一种可选实施方式中,所述权重值可以包括:第一权重值、第二权重值、第三权重值;

所述回源模块将本节点和其它cdn节点得到的所述探测数值,乘以所述配置信息中相应的权重值后相加得到每条回源路由路径对应的路径值可以包括:

所述回源模块确定本节点所有的回源路由路径;对于每条回源路由路径,用接入节点与中继节点之间的探测数值乘以所述第一权重值,用每两个相邻中继节点之间的探测数值分别乘以所述第二权重值,用中继节点与源站之间的探测数值乘以所述第三权重值,将所有乘积相加得到该条回源路由路径的路径值。

本可选实施方式中,所述配置信息还可以包括:

所选用的处理模型的标识;各所述处理模型的信息;

所述处理模型的信息可以包括:该处理模型的标识及所述第一权重值、第二权重值和第三权重值。

本备选方案的一种可选实施方式中,所述配置信息中可以包括:

需要动态加速的域名;进行动态加速的接入节点池的标识、各所述接入节点池的信息;所述接入节点池的信息包括:本接入节点池的标识及接入节点列表;进行动态加速的中继节点池的标识、各所述中继节点池的信息、各源站的标识;其中,所述中继节点池的信息包括:该中继节点池的标识及中继节点列表;

所述判断模块根据所述配置信息判断本节点的类型可以包括:

所述判断模块根据所述进行动态加速的接入节点池的标识确定相应的接入节点池,判断本节点是否在所确定的接入节点池的信息中的节点列表内,如果在则确定本节点的类型是接入节点;所述判断模块根据所述进行动态加速的中继节点池的标识确定相应的中继节点池,判断本节点是否在所确定的中继节点池的信息中的节点列表内,如果在则确定本节点的类型是中继节点;当本节点的类型是接入节点时,根据所述需要动态加速的域名中相应字段的值判断本节点的类型是否也包括中继节点。

本可选实施方式中,所述探测模块根据配置信息分别对其它中继节点与源站进行路由探测可以包括:

所述探测模块根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表确定中继节点,对除了本节点以外的每个所确定的中继节点分别进行路由探测;根据所述各源站的标识分别对各源站进行路由探测;

所述根据配置信息分别对其它中继节点进行路由探测可以包括:

根据所述进行动态加速的中继节点池的标识确定相应的中继节点池;根据所确定的中继节点池的信息中的节点列表确定中继节点,对所确定的每个中继节点进行路由探测。

本实施例的一种备选方案中,所述回源模块根据路径值选择回源路由路径进行回源可以包括:

所述回源模块在当前没有正在使用的回源路由路径时,选择路径值最小的回源路由路径进行回源;在当前具有正在使用的回源路由路径时,判断路径值最小的回源路由路径与所述正在使用的回源路由路径是否相同,如果相同则继续使用所述正在使用的回源路由路径进行回源;如果不相同则判断两者路径值的差值是否在预定范围内,如果在预定范围内则继续使用所述正在使用的回源路由路径进行回源,如果不在预定范围内则改为使用所述路径值最小的回源路由路径进行回源。

其它细节可参见实施例一。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。

当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

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