回源请求的中转方法和装置及回源系统转让专利

申请号 : CN201610369922.9

文献号 : CN106101183A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李洪福马宙

申请人 : 乐视控股(北京)有限公司乐视云计算有限公司

摘要 :

本公开提供一种回源请求的中转方法和装置及回源系统,其中方法包括:响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向CDN节点发送性能探测数据;根据CDN节点的回源请求,获取待回源的源服务器的地址信息;将回源请求转发至同一路由下的与地址信息对应的源服务器;接收源服务器返回的响应文件并将响应文件发送至CDN节点。本公开提供的回源请求的中转方法和装置及回源系统,通过加入中转装置,可以实现更方便的探测,节省了大部分的探测流量,此外,进行回源时,由于经过探测之后可以选择性能最好的源服务器进行回源,因此可以实现更快更高效的回源,另外也可以避免多台源服务器对同一回源请求进行回源加重网络负担的情况。

权利要求 :

1.一种回源请求的中转方法,包括:

响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向所述CDN节点发送性能探测数据;

根据CDN节点的回源请求,获取待回源的源服务器的地址信息;

将所述回源请求转发至所述同一路由下的与所述地址信息对应的源服务器;

接收所述源服务器返回的响应文件并将所述响应文件发送至所述CDN节点。

2.根据权利要求1所述的方法,所述响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向所述CDN节点发送性能探测数据包括:响应CDN节点的性能探测请求,代表共用同一公网IP的多个源服务器向所述CDN节点发送性能探测数据。

3.根据权利要求1所述的方法,所述根据CDN节点的回源请求,获取待回源的源服务器的地址信息包括:接收并基于Hash算法解析所述CDN节点的回源请求,获取待回源的源服务器的地址信息。

4.根据权利要求1所述的方法,所述将所述回源请求转发至所述同一路由下的与所述地址信息对应的源服务器包括:参照地址列表,确定与所述地址信息对应的源服务器的ID,根据所确定的服务器的ID,将所述回源请求转发至相应的源服务器,其中,所述地址列表记载了所述同一路由下的各个源服务器的地址信息和各自的ID。

5.根据权利要求1所述的方法,其中,将所述响应文件发送至所述CDN节点的发送速度被限制在预定速度范围内。

6.一种回源请求的中转装置,包括:

探测反馈单元,配置用于响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向所述CDN节点发送性能探测数据;

地址获取单元,配置用于根据CDN节点的回源请求,获取待回源的源服务器的地址信息;

请求转发单元,配置用于将所述回源请求转发至所述同一路由下的与所述地址信息对应的源服务器;

响应发送单元,配置用于接收所述源服务器返回的响应文件并将所述响应文件发送至所述CDN节点。

7.根据权利要求6所述的装置,所述探测反馈单元包括配置用于:响应CDN节点的性能探测请求,代表共用同一公网IP的多个源服务器向所述CDN节点发送性能探测数据。

8.根据权利要求6所述的装置,所述地址获取单元包括配置用于:接收并基于Hash算法解析所述CDN节点的回源请求,获取待回源的源服务器的地址信息。

9.根据权利要求6所述的装置,所述请求转发单元包括配置用于:参照地址列表,确定与所述地址信息对应的源服务器的ID,根据所确定的服务器的ID,将所述回源请求转发至相应的源服务器,其中,所述地址列表记载了所述同一路由下的各个源服务器的地址信息和各自的ID。

10.根据权利要求6所述的装置,其中,将所述响应文件发送至所述CDN节点的发送速度被限制在预定速度范围内。

11.一种回源系统,包括:

多个根据权利要求6-10中任一项所述的中转装置,其中,每个中转装置与多个源服务器部署于同一路由下;

部署于CDN节点的探测装置,所述探测装置包括配置用于:向所述多个中转装置发送性能探测请求并接收反馈的多个性能探测数据;

至少基于所述多个中转装置发送所述性能探测数据的性能指标确定待选择的中转装置;

向所确定的中转装置发送回源请求。

12.根据权利要求11所述的系统,所述性能指标至少包括平均回源速度和速度抖动。

13.根据权利要求12所述的系统,至少基于所述多个中转装置发送所述性能探测数据的性能指标确定待选择的中转装置进一步包括:将多个中转装置中在预定时间段内的平均回源速度大于或等于阈值且抖动最小的中转装置确定为待选择的中转装置。

说明书 :

回源请求的中转方法和装置及回源系统

技术领域

[0001] 本公开实施例涉及回源技术领域,尤其涉及一种回源请求的中转方法和装置及回源系统。

背景技术

[0002] CDN(Content Distribution Network)即是内容分发网络,是构筑在现有互联网上的一种先进的流量分配网络。该网络将网站源服务器中的内容存储到分布于各地的CDN网络节点上,通过智能网络流量分配控制系统,将终端用户的访问请求自动指向健康可用且距离本地最近的CDN专用服务器上,以提高用户访问的响应速度和服务的可用性,改善互联网上的服务质量。
[0003] 当最近的CDN节点在响应用户输入的指令时,如果CDN节点中没有用户输入的指令所指示的文件,则会去别的CDN节点进行查找,如果仍然找不到,则需要去网站源服务器进行回源查找。
[0004] 现有技术中,CDN节点服务器进行回源的方法通常是根据CDN节点服务器内部配置好的固定的回源地址去网站源服务器进行回源。但是由于网站源服务器相对于CDN服务器属于外网,因此回源的速度比较慢。
[0005] 在现有技术中,为了提高回源的效率,加入了回源探测,通过查询日志依次获取每一台源服务器的回源速度,利用回源速度合适的网站源服务器响应回源。现有技术中,由于需要对每一台源服务器进行探测,非常浪费网络带宽,并且可能会存在多个源服务器响应回源的现象。

发明内容

[0006] 针对现有技术中存在的一个或多个问题,本公开实施例提供了一种回源请求的中转方法和装置以及回源系统。
[0007] 本公开实施例提供一种回源请求的中转方法,包括:响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向所述CDN节点发送性能探测数据;根据CDN节点的回源请求,获取待回源的源服务器的地址信息;将所述回源请求转发至所述同一路由下的与所述地址信息对应的源服务器;接收所述源服务器返回的响应文件并将所述响应文件发送至所述CDN节点。
[0008] 本公开实施例提供一种回源请求的中转装置,包括:探测反馈单元,配置用于响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向所述CDN节点发送性能探测数据;地址获取单元,配置用于根据CDN节点的回源请求,获取待回源的源服务器的地址信息;请求转发单元,配置用于将所述回源请求转发至所述同一路由下的与所述地址信息对应的源服务器;响应发送单元,配置用于接收所述源服务器返回的响应文件并将所述响应文件发送至所述CDN节点。
[0009] 本公开实施例提供一种回源系统,包括:多个根据权利要求6-10中任一项所述的中转装置,其中,每个中转装置与多个源服务器部署于同一路由下;部署于CDN节点的探测装置,所述探测装置包括配置用于:向所述多个中转装置发送性能探测请求并接收反馈的多个性能探测数据;至少基于所述多个中转装置发送所述性能探测数据的性能指标确定待选择的中转装置;向所确定的中转装置发送回源请求。
[0010] 本公开实施例提供的回源请求的中转方法和装置及回源系统,通过加入中转装置,可以实现更方便的探测,节省了大部分的探测流量,进一步地,进行回源时,由于经过探测之后可以选择性能最好的源服务器进行回源,因此可以实现更快更高效的回源,另外也可以避免多台源服务器对同一回源请求进行回源加重网络负担的情况。

附图说明

[0011] 为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012] 图1为现有技术中回源请求的处理方法的原理示意图;
[0013] 图2为本公开回源请求的中转方法的原理示意图;
[0014] 图3为本公开回源请求的中转方法的实施例流程图;
[0015] 图4为本公开回源请求的中转装置的实施例结构示意图;
[0016] 图5为本公开回源系统的实施例结构示意图;
[0017] 图6为可以用于实施本公开实施例的回源请求的中转方法和系统及回源系统的架构图;
[0018] 图7为可以应用于实现本公开实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

[0019] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0020] 需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
[0021] 图1示出了现有技术中回源请求的处理方法的原理示意图。
[0022] 如图1所示,回源请求的处理方法涉及用户终端、CDN节点110、CDN网络120和源服务器130。其中,用户在终端设备上请求打开一个页面或者下载一个文件时,如果在附近的CDN节点110上没有相关文件,CDN节点110会通过CDN网络120向源服务器130发送回源请求,向源服务器130请求相关的文件。为了使回源的效率更高,每一个CDN节点上都配置有探测装置(图中未示出),通过探测各个回源服务器130的回源性能确定各个源服务器130的回源性能,从而想提高响应回源请求的效率。现有技术中,每一个边缘CDN节点110上的探测装置都会按照预定频率对各个源服务器进行探测。由于源服务器和边缘CDN节点数量非常多,所以探测常常会占用大量带宽,成本较高。如何降低对带宽的占用,从而降低探测的成本成为现有技术中亟待解决的问题。
[0023] 进一步参考图2,其示出了本公开回源请求的中转方法的原理示意图。
[0024] 如图2所示,本公开的回源请求的中转方法涉及用户终端、CDN节点210、CDN网络220、源服务器230和中转装置240。与现有技术不同的是,本公开的方法还涉及中转装置
240。
[0025] 首先,探测的过程:配置在CDN节点210处的探测装置(图中未示出)按照一定的频率(例如2ms、一小时、一天或者一周)探测并记录各个源服务器230的回源性能,其中,回源性能可以是根据从源服务器230下载文件(例如回源探测数据)的速度和抖动大小确定。
[0026] 然后,回源的过程:CDN节点210收到用户终端的访问请求或者下载请求,查找本地文件,发现没有相关文件,向源服务器230发送回源请求。
[0027] 最后,中转的过程:中转装置240用于代理同一路由下的多个源服务器230,并与多个源服务器230共用同一公网IP。从而,同一路由下的多个源服务器230均处于局域网中,可以节省公网IP。探测装置向多个源服务器230发送性能探测请求,中转装置240代表同一路由下的多个源服务器230作出响应,向探测装置发送相关的性能探测数据。当中转装置240收到回源请求时,根据回源请求,找到相关的源服务器,再将该回源请求转发给相应的源服务器。
[0028] 上述方案通过假如中转装置可以实现节约探测流量,节约公网IP,简化性能探测,提高探测效率。
[0029] 请参考图3,其示出了本公开回源请求的中转方法的实施例流程图300。
[0030] 如图3所示,在步骤301中,响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向CDN节点发送性能探测数据。
[0031] 在本实施例中,中转装置响应CDN节点的性能探测请求,代表处于同一路由下的多个源服务器向CDN节点发送性能探测数据。在一些可选的实施例中,CDN节点会定时向各个源服务器发送性能探测请求。其中,性能探测请求可以是下载文件的请求,也可以是更新页面的请求,本申请在此方面没有限制,性能探测数据可以是待下载的文件,也可以是待发送的页面,本申请在此方面没有限制。附加的,中转装置可以是同一路由下的多个源服务器的代理服务器,所有该路由下的源服务器与外界的交互都可以通过该中转装置中转,可选的,中转装置和与之同一路由下的多个源服务器可以共用同一公网IP,多个源服务器可以使用局域网IP。由于同一路由下的多个源服务器的回源性能都是基本相同的,所以对中转装置的探测基本可以代表对多个源服务器的探测。本实施例通过加入中转装置代表同一路由下的多个源服务器接受探测装置的探测并作出响应,可以将以前探测装置对同一路由下的源服务器一对多的探测转变成只需要探测同一路由下的一个中转装置即可,极大地节约了网络资源,减少了对网络带宽的占用。
[0032] 在步骤302中,根据CDN节点的回源请求,获取待回源的源服务器的地址信息。
[0033] 在本实施例中,中转装置根据CDN节点发送的回源请求,获取待回源的源服务器的地址信息,其中,CDN节点的回源请求中至少包括待回源的源服务器的地址信息。可选的,中转装置还可以接收并基于Hash算法解析CDN节点的回源请求,获取待回源的源服务器的地址信息。例如,收到的地址信息是17,根据Hash算法得出17%6=5,则可以按照预定的Hash算法得出待回源的源服务器的编号或者是标识码,进一步可以根据回源请求中记载的文件名或者文件路径例如final=/abc.txt找到相应的文件。由于对地址信息进行加密时用的是Hash算法,所以解析的时候也可以使用相应的Hash算法,本申请在此方面没有限制。可选的,还可以基于本领域内已知的或未来的其他算法进行解析和加密,本申请在此方面没有限制。
[0034] 在步骤303中,将回源请求转发至同一路由下的与地址信息对应的源服务器。
[0035] 在本实施例中,中转装置可以在获取待回源的源服务器的地址信息之后,将回源请求转发至同一路由下与地址信息对应的源服务器进行处理。由于中转装置可以与同一路由下的源服务器共用同一公网IP,所以所有源服务器与外界的交互都需要通过中转装置。源服务器收到回源请求后,只需解析其中的地址信息,从而找到待回源的源服务器,之后将回源请求转发给相应的源服务器进行处理。中转装置可以只对信息和请求进行相应的转发,而真正处理请求和信息的仍然是源服务器,因此对原来的系统可以不用作太大的改进。
应当理解的是,中转装置也可以不仅限于转发,也可以对相关的请求和信息进行处理,例如,中转装置根据相应的地址信息找到相应的文件并生成对应的相应文件,本申请在此方面没有限制。
[0036] 在一些可选的实施例中,中转装置可以参照相应的地址列表,确定与地址信息对应的源服务器的ID,根据所确定的服务器的ID,将回源请求转发至相应的源服务器,其中,地址列表记载了同一路由下的各个源服务器的地址信息和各自的ID。例如根据Hash算法得出源服务器的ID为5,则根据地址列表中同一路由下的各个源服务器的地址信息和各自的ID的对应关系找到相应的源服务器,并将回源请求转发至相应的源服务器。
[0037] 在步骤304中,接收源服务器返回的响应文件并将响应文件发送至CDN节点。
[0038] 在本实施例中,中转装置将回源请求转发给相应的源服务器之后,源服务器会对回源请求进行处理并生成响应文件,之后可以将响应文件由中转装置转发出去。中转装置接收到源服务器返回的响应文件之后,将该响应文件发送至相应的CDN节点。
[0039] 在另一些可选的实施例中,将响应文件发送至CDN节点的发送速度被限制在预定速度范围内。例如,发送响应文件至CDN节点时,可以将速度限定在2M/s以内,以防止回源占用的带宽过大。可以通过增加限速器的方法实现,当然也可以通过其他已知或未来可知的方法进行限速,本申请在此方面没有限制。
[0040] 通过以上实施例,加入中转装置,可以实现更方便的探测,节省了大部分的探测流量,进一步地,进行回源时,由于经过探测之后可以选择性能最好的源服务器进行回源,因此可以实现更快更高效的回源,另外也可以避免多台源服务器对同一回源请求进行回源加重网络负担的情况。
[0041] 请参考图4,其示出了本公开回源请求的中转装置的实施例结构示意图。
[0042] 如图4所示,回源请求的中转装置400包括探测反馈单元401、地址获取单元402、请求转发单元403和响应发送单元404。其中,探测反馈单元401,配置用于响应CDN节点的性能探测请求,代表同一路由下的多个源服务器向CDN节点发送性能探测数据;地址获取单元402,配置用于根据CDN节点的回源请求,获取待回源的源服务器的地址信息;请求转发单元
403,配置用于将回源请求转发至同一路由下的与地址获取单元402所获取的地址信息对应的源服务器;以及响应发送单元404,配置用于接收源服务器返回的响应文件并将响应文件发送至CDN节点。
[0043] 在一些可选的实施例中,探测反馈单元401包括进一步配置用于响应CDN节点的性能探测请求,代表共用同一公网IP的多个源服务器向CDN节点发送性能探测数据。其中,性能探测请求可以是下载文件的请求,也可以是更新页面的请求,本申请在此方面没有限制。
[0044] 在另一些可选的实施例中,地址获取单元402包括进一步配置用于接收并基于Hash算法解析CDN节点的回源请求,获取待回源的源服务器的地址信息。其中,为了保障数据的安全性,不会直接就能找到相应的源服务器和相应的数据,可以利用相关算法对数据进行加密,例如,可以利用Hash算法对地址信息进行加密,因此回源时获取地址信息也可以基于Hash算法。
[0045] 在另一些可选的实施例中,请求转发单元403包括进一步配置用于参照地址列表,确定与地址信息对应的源服务器的ID,根据所确定的服务器的ID,将回源请求转发至相应的源服务器,其中,地址列表记载了同一路由下的各个源服务器的地址信息和各自的ID。
[0046] 在进一步可选的实施例中,将响应文件发送至CDN节点的发送速度被限制在预定速度范围内。
[0047] 通过以上实施例中的诸单元,可以实现更高效的探测,节约对网络资源的占用,节约带宽,节约公网IP,提高回源效率。
[0048] 应当理解,图4中记载的诸单元与参考图3中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图4中的诸单元,在此不再赘述。
[0049] 进一步参考图5,其示出了本公开回源系统的实施例结构示意图。
[0050] 如图5所示,回源系统500可以包括多个中转装置和多个探测装置,其中,每个中转装置与多个源服务器部署于同一路由下;多个探测装置部署于多个CDN节点上,其中,CDN节点可以为边缘CDN节点。进一步地,探测装置包括配置用于:向多个中转装置发送性能探测请求并接收反馈的多个性能探测数据;至少基于多个中转装置发送所述性能探测数据的性能指标确定待选择的中转装置;向所确定的中转装置发送回源请求。
[0051] 在本实施例中,中转装置为图4中所示的中转装置,在此不再赘述。
[0052] 在本实施例中,探测装置可以包括探测反馈单元、确定单元和请求发送单元。其中,探测反馈单元包括配置用于向多个中转装置发送性能探测请求并接收反馈的多个性能探测数据;确定单元包括配置用于至少基于多个中转装置发送性能探测数据的性能指标确定待选择的中转装置;请求发送单元包括配置用于向所确定的中转装置发送回源请求。
[0053] 在一些可选的实施例中,性能指标至少可以包括平均回源速度和速度抖动。进一步可选的,至少基于多个中转装置发送性能探测数据的性能指标确定待选择的中转装置可以包括:将多个中转装置中在预定时间段内的平均回源速度大于或等于阈值且抖动最小的中转装置确定为待选择的中转装置。例如,可以将平均回源速度确定为2M/s,当探测到有多个中转装置的平均回源速度大于2M/s时,将其中抖动最小的确定为待选择的中转装置。其中,确定平均回源速度可以例如在8ms的时间内,每2ms探测一次,确定一个回源速度,8ms内可以得到4个回源速度V1、V2、V3和V4,V平=V1+V2+V3+V4/4或者V平=传输的数据量/8ms,即可得出平均回源速度V平,计算抖动大小的公式可以是√(V平-V1)2+(V平-V2)2+(V平-V3)2+(V平-V4)2。
[0054] 综上所述,本实施例的回源系统通过设置中转装置,使中转装置与同一路由下的多个源服务器共用一个公网IP,可以实现探测时只需要探测中转装置,而无需探测所有的源服务器,从而可以节约公网IP,节约网络资源,减少对网络资源的占用。进一步地,基于平均回源速度和抖动大小可以确定速度合适且比较稳定的源服务器进行回源。
[0055] 应当理解的是,图4和图5中所示的装置、系统和所包括地各个单元均可以使用服务器实现,可以是一个服务器,也可以是多个服务器的集群,具体请参考图6。
[0056] 下面参考图6,其示出了可以用于实施本公开实施例的回源请求的中转方法和系统及回源系统的架构图600。
[0057] 如图6所示,架构图600包括部署于CDN节点的探测装置、与多个源服务器603位于同一路由下且共用同一公网IP的中转装置602。其中,中转装置602可以包括探测反馈单元、地址获取单元、请求转发单元和响应发送单元。探测装置601可以包括探测反馈单元、确定单元和请求发送单元。
[0058] 以上所述的各个装置可以为一个服务器或者服务器集群,其中上述每一个单元也可以是单独的服务器或者服务器集群,此时,上述装置之间、单元之间的交互表现为各单元所对应的服务器之间的交互。
[0059] 下面参考图7,其示出了适于用来实现本公开实施例的终端设备或服务器的计算机系统700的结构示意图。
[0060] 如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
[0061] 以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0062] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
[0063] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0064] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0065] 最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。