一种文件回源方法及装置与流程

文档序号:27491882发布日期:2021-11-22 14:47阅读:112来源:国知局
一种文件回源方法及装置与流程

1.本发明涉及通信技术领域,特别是涉及一种文件回源方法及装置。


背景技术:

2.随着互联网技术的快速发展,内容分发网络(content distribution network,cdn)技术被广泛用于进行视频文件的分发,以提供视频流服务。
3.cdn网络中包括多个作为级联的节点的视频服务器,客户端可以向cdn网络中的边缘节点发送文件下载请求,以请求指定的视频文件。边缘节点在接收到文件下载请求后,若边缘节点本地的存储介质中存储有该文件下载请求对应的视频文件,则向客户端发送该视频文件,若未存储有该视频文件,则进一步向级联的上一层级(即上游机房)中的某一视频服务器转发该文件下载请求,以请求获取视频文件。为确保上游机房中的多个视频服务器接收到文件下载请求的数量的均匀性,可以使用一致性哈希算法,从上游机房中的多个服务器中确定目标服务器,并向目标服务器转发该文件下载请求,若目标服务器中仍旧未存储该视频文件,则进一步向目标服务器的上游机房中的某一服务器转发该目标下载请求,直至查找到客户端所请求的视频文件,该过程称为回源。
4.但是,在现有技术中,采用一致性哈希的方法不能保证在较短的时间内,上游机房中的多个视频服务器接收到文件下载请求的数量的均匀性,导致个别视频服务器接收到的文件下载请求较多,使得该视频服务器的服务压力较大,若该视频服务器的负载较重,则会进一步加重其服务压力,从而影响该服务器的工作性能。


技术实现要素:

5.本发明实施例的目的在于提供一种文件回源方法及装置,以解决现有技术中在进行文件回源时,上游机房的多个视频服务器接收到的文件下载请求的数量不均匀,从而影响个别视频服务器的工作性能的问题。具体技术方案如下:
6.在本发明实施的第一方面,首先提供了一种文件回源方法,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,所述方法包括:
7.获取文件下载请求,所述文件下载请求包括文件标识;
8.在所述代理端未存储所述文件标识对应的文件的情况下,根据所述代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有所述第一代理端中确定第二代理端;
9.将所述文件下载请求转发至所述第二代理端;
10.其中,所述第一代理端的权重值为所述服务端根据所述第一代理端的性能指标所配置的,用于在所述负载均衡算法中控制所述第一代理端处理所述文件下载请求的几率。
11.在本发明实施的第二方面,提供了一种文件回源方法,应用于一种文件回源系统中的服务端,所述文件回源系统还包括代理端,所述代理端部署于内容分发网络中的节点,
所述内容分发网络的节点构成多层级的树状结构,所述方法包括:
12.根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并获取所述第一代理端的性能指标;
13.根据所述第一代理端的性能指标,确定所述第一代理端的权重值,并将所述权重值发送至所述代理端;
14.其中,所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端处理文件下载请求的几率,所述第一代理端处理文件下载请求的几率与所述第一代理端的性能指标的优异性呈正比。
15.在本发明实施的第三方面,还提供了一种文件回源装置,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,所述装置包括:
16.第一获取模块,用于获取文件下载请求,所述文件下载请求包括文件标识;
17.第一确定模块,用于在所述代理端未存储所述文件标识对应的文件的情况下,根据所述代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有所述第一代理端中确定第二代理端;
18.转发模块,用于将所述文件下载请求转发至所述第二代理端;
19.其中,所述第一代理端的权重值为所述服务端根据所述第一代理端的性能指标所配置的,用于在所述负载均衡算法中控制所述第一代理端处理所述文件下载请求的几率。
20.在本发明实施的第四方面,还提供了一种文件回源装置,应用于一种文件回源系统中的服务端,所述文件回源系统还包括代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,所述装置包括:
21.第三获取模块,用于根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并获取所述第一代理端的性能指标;
22.第四确定模块,用于根据所述第一代理端的性能指标,确定所述第一代理端的权重值,并将所述权重值发送至所述代理端;
23.其中,所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端处理文件下载请求的几率,所述第一代理端处理文件下载请求的几率与所述第一代理端的性能指标的优异性呈正比。
24.在本发明实施的第五方面,还提供了一种文件回源系统,所述文件回源系统包括:服务端和代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构;
25.所述服务端根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并根据获取到的所述第一代理端的性能指标确定所述第一代理端的权重值,所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端处理文件下载请求的几率,所述第一代理端处理文件下载请求的几率与所述第一代理端的性能指标的优异性呈正比;
26.所述服务端将所述第一代理端的权重值发送至所述代理端;
27.所述代理端接收所述服务端发送的第一代理端的权重值,并获取所述文件下载请求,所述文件下载请求包括文件标识;
28.所述代理端在未存储所述文件标识对应的文件的情况下,根据所述第一代理端的权重值和所述负载均衡算法,从所有所述第一代理端中确定第二代理端;
29.所述代理端将所述文件下载请求转发至所述第二代理端。
30.在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,和所述存储器通过通信总线完成相互间的通信;
31.所述存储器,用于存放计算机程序;
32.所述处理器,用于执行所述存储器上所存放的程序时,执行上述任一项所述的文件回源方法。
33.在本发明实施的又一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一所述的文件回源方法。
34.相对于现有技术,本发明所述的一种文件回源方法及装置具有以下优势:
35.本发明实施例提供的一种文件回源方法及装置,应用于一种文件回源系统中的代理端,文件回源系统还包括服务端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:获取文件下载请求,文件下载请求包括文件标识;在代理端未存储文件标识对应的文件的情况下,根据代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有第一代理端中确定第二代理端;将文件下载请求转发至第二代理端;其中,第一代理端的权重值为服务端根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,代理端可以根据每一个第一代理端的权重值和负载均衡算法确定进行回源的第二代理端,由于第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端的作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
37.图1为本发明实施例中一种文件回源方法的步骤流程图;
38.图2为本发明实施例中一种内容分发网络的结构示意图;
39.图3为本发明实施例中一种文件回源过程示意图;
40.图4为本发明实施例中一种文件回源方法的具体步骤流程图;
41.图5为本发明实施例中另一种文件回源方法的步骤流程图;
42.图6为本发明实施例中另一种文件回源方法的具体步骤流程图;
43.图7为本发明实施例中一种一致性哈希算法的示意图;
44.图8为本发明实施例中一种文件回源方法的交互步骤流程图;
45.图9为本发明实施例中一种文件回源装置的结构框图;
46.图10为本发明实施例中另一种文件回源装置的结构框图;
47.图11为本发明实施例中一种文件回源系统的示意图;
48.图12为本发明实施例中一种电子设备的结构图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
50.参照图1,示出了本发明实施例所述的一种文件回源方法的步骤流程图。
51.本发明实施例提供的一种文件回源方法,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构。
52.在本发明实施例中,图2示出了本发明实施例所述的一种内容分发网络的结构示意图,视频内容分发网络指的是一套能够提供视频服务的系统,一般包括存储、同步、回源、调度、视频文件解析等系统。参照图2,客户端10观看视频,视频流文件下载采用的是如下的方式:客户端10发起文件下载请求后,首先从视频文件解析服务器拿到一个视频文件的解析列表,然后根据列表中的文件依次进行下载。下载每个文件时,都需要向调度器进行一次请求,并根据调度器返回的结果去指定的位于cdn边缘节点的视频服务器下载文件。例如客户端10发起的文件下载请求到达视频服务器2,若视频服务器2中存有该文件,则直接向客户端吐出数据;如果视频服务器2不存有该文件,则视频服务器2需要向其上一层级包含的视频服务器发送文件下载请求,一般情况下,视频服务器2从上一层级包含的视频服务器5、视频服务器6和视频服务器7中选择一个视频服务器进行文件回源,例如,可以将视频服务器5确定为回源节点,从而将文件下载请求转发至视频服务器5,如果视频服务器5中存储有该文件,则视频服务器5将该文件发送给视频服务器2,当视频服务器2接收到视频服务器5返回的文件后再向客户端10吐数据,同时把文件存储在本地,如果下次有相同的文件下载请求,则视频服务器2可以直接返回文件;如果视频服务器5也没有存储此文件,则向视频服务器5需要进一步向其上一层及包含的视频服务器发送文件下载请求,例如,可以从视频服务器8和视频服务器9中将视频服务器8确定为回源节点,从而将文件下载请求转发至视频服务器8,以进一步确定视频服务器8中是否存储有文件,直到根节点视频服务器10,视频服务器10是一定存储有此文件。如上所述的文件下载方式称为文件回源。
53.这种请求的链路最终形成具有多层级树状结构的cdn系统,每个视频服务器中包含用于具体执行各步骤的代理端,从而使得代理端部署于cdn系统中的节点。
54.步骤101,获取文件下载请求,所述文件下载请求包括文件标识。
55.在该步骤中,代理端可以获取文件下载请求,该文件下载请求中包括文件标识,从而可以根据文件标识确定代理端的本地是否存储有文件标识对应的文件。
56.图3示出了本发明实施例所述的一种文件回源过程示意图,如图3所示,下游机房中的代理端1、代理端2、代理端3和代理端4位于cdn系统中的边缘节点,其中的任意一个代理端可以直接从客户端10获取文件下载请求;而上游机房中的代理端5、代理端6和代理端7中的任意一个,需要从下游机房中的某一代理端(即上游机房中代理端的子节点)获取文件下载请求。
57.步骤102,在所述代理端未存储所述文件标识对应的文件的情况下,根据所述代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有所述
第一代理端中确定第二代理端。
58.在该步骤中,代理端在获取到文件下载请求之后,首先可以判断代理端中是否存储有文件标识对应的文件,若代理端存储有该文件,则可以直接将该文件发送至客户端,完成文件的下载;若代理端未存储该文件,则可以通过文件回源,向代理端的上一层级中包含的代理端中的某一个代理端转发文件下载请求,以获取该文件。
59.具体的,参照图3,若当前接收到文件下载请求的代理端为代理端3,则代理端3在从客户端10获取到文件下载请求之后,可以根据文件下载请求中的文件标识,确定代理端3中是否存储有文件标识对应的文件,若有,则将该文件发送至客户端10,完成文件的下载;若没有,则从代理端3的上一层级中包含的第一代理端30中确定一个第二代理端,并将文件下载请求转发至第二代理端。进一步的,可以在第二代理端中确定是否存储有文件标识对应的文件,若有,则将该文件发送至代理端3,以供代理端3存储该文件,并将该文件发送至客户端10,完成文件的下载;若没有,则从第二代理端的上一层级中包含的代理端中确定某一个代理端转发文件下载请求,直至获取到文件标识对应的文件。
60.进一步的,在代理端3未存储文件标识对应的文件的情况下,从第一代理端30中确定第二代理端的过程,可以是代理端3根据第一代理端30的权重值和预设的负载均衡算法确定的。
61.其中,所述第一代理端的权重值为文件回源系统中的服务端根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理所述文件下载请求的几率。
62.参照图3,文件回源系统包括代理端和服务端20,服务端20可以通过消息中间件40获取第一代理端30的性能指标,进而可以根据第一代理端30的性能指标确定第一代理端30的权重值。其中,服务端20可以集中部署于一台或两台服务器,若部署在两台服务器,则可以实现高可用。消息中间件40是一种独立的系统软件或服务程序,是连接两个独立应用程序或独立系统的软件。所述第一代理端30的性能指标可以包括第一代理端30的cpu的负载量、磁盘空闲容量、内存和等待磁盘读写对cpu的消耗比例中的任意一种或多种,以表征第一代理端30对应的服务器的服务压力,其中,第一代理端30的cpu的负载量越大、磁盘空闲容量越少、内存越小、等待磁盘读写对cpu的消耗比例越大,则说明第一代理端30的性能指标的优异性越差,其服务压力越大。从而可以根据各个第一代理端30的性能指标,从多个第一代理端30中选取性能指标较优的代理端作为第二代理端,由于第二代理端的当前的服务压力较小,采用第二代理端来处理当前的文件下载请求,可以避免第二代理端的服务压力较大从而影响其工作性能,确保本次文件回源过程的服务质量。因而,即时在短时间内不能保证各代理端均匀的获取并处理文件下载请求,也能够确保每一个代理端不会因为服务压力过大而影响其工作性能。
63.具体的,根据各个第一代理端的性能指标,从多个第一代理端中选取性能指标较优的代理端作为第二代理端的过程,具体可以根据第一代理端的性能指标确定第一代理端的权重值,并根据第一代理端的权重值和负载均衡算法从第一代理端中确定第二代理端。
64.其中,所述负载均衡算法即是将数据或请求分摊到多个操作单元上进行执行,参照图3,即为将下游机房中的代理端获取到的多个文件下载请求分摊到多个第一代理端30上进行处理,而不是将多个文件下载请求集中分配给第一代理端30中的某一个代理端进行处理。由于所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端能够处理
所述文件下载请求的几率,即第一代理端的权重值越高,则说明第一代理端能够处理文件下载请求的几率越高,第一代理端的权重值越低,则说明第一代理端能够处理文件下载请求的几率越低。
65.因此,服务器在获取到第一代理端的性能指标之后,由于性能指标较为优异的第一代理端的服务压力较小,此时还能够处理文件下载请求,因而可以为性能指标较为优异的第一代理端配置较高的权重值,使得该第一代理端接收并处理文件下载请求的几率增加;由于性能指标较差的第一代理端的服务压力较大,此时不适宜再处理文件下载请求,则可以为物理性能指标较差的第一代理端配置较低的权重值,使得该第一代理端接收并处理文件下载请求的几率降低。
66.步骤103,将所述文件下载请求转发至所述第二代理端。
67.在该步骤中,在确定了代理端对应的第二代理端之后,可以进一步将文件下载请求转发至第二代理端,以供第二代理端进一步获取文件标识对应的文件,从而完成文件的回源和下载过程。
68.例如,参照图3,代理端3从客户端10获取到文件下载请求,并确定代理端3中未存储文件标识对应的文件之后,可以首先将代理端3所处层级的上一层级所包含的代理端5、代理端6、代理端7确定为第一代理端30,并通过消息中间件40从服务端20获取代理端5、代理端6、代理端7的权重值,若进一步根据代理端5、代理端6、代理端7的权重值和负载均衡算法,从代理端5、代理端6、代理端7的权重值中确定第二代理端为代理端6,则可以直接将文件下载请求转发至代理端6。
69.参照图3,在基于cdn系统的文件回源过程中,一般上游机房有多个第一代理端,下游机房中的代理端如果没有找到文件下载请求对应的文件,会使用负载均衡算法向上游机房中的多个第一代理端中的一个第二代理端转发文件下载请求。所述负载均衡算法可以为哈希算法或一致性哈希算法,在使用一致性哈希算法进行文件回源时,可以使用文件的统一资源标识符(uniform resource identifier,uri)作为键值进行一致性哈希。一致性哈希会保证下游机房中各代理端转发的文件下载请求,在较长的时间段内能够均匀的转发至上游机房中的各个第一代理端,一方面保证各个第一代理端的磁盘使用率较均匀,另一方面保证各个第一代理端的读写使用较均匀,从而确保每个第一代理端对应的视频服务器的服务压力均为均匀。
70.但是,这种一致性哈希的方法在较长的时间段内是能保证文件下载请求能够均匀分布在上游机房中的各个第一代理端,但是在一个较短的时间内(如分钟的级别),并不能保证这种均匀性,很可能某种文件下载请求集中在个别几个第一代理端上,造成这些第一代理端对应的视频服务器的服务压力较大。例如,有一种需要实时转码的资源文件,比较耗费中央处理器(central processing unit,cpu)资源,当有过多的这种文件集中落到某几个第一代理端时,这些第一代理端对应的视频服务器的cpu的负载量会飙升,从而影响这些视频服务器的反向代理(nginx)服务,使得视频服务器的超文本传输协议(hypertext transfer protocol,http)文件请求响应变慢,若系统层级不具有健康策略,则健康策略会发现这些视频服务器,并把它们下线。这些视频服务器下线后,机房在线的视频服务器数量变少,导致情况会进一步恶化,更多的视频服务器会被下线,这种短时间的一致性哈希不均匀引起了整个机房长时间的服务指标下降。
71.综上所述,本发明实施例提供的一种文件回源方法,应用于一种文件回源系统中的代理端,文件回源系统还包括服务端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:获取文件下载请求,文件下载请求包括文件标识;在代理端未存储文件标识对应的文件的情况下,根据代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有第一代理端中确定第二代理端;将文件下载请求转发至第二代理端;其中,第一代理端的权重值为服务端根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,代理端可以根据每一个第一代理端的权重值和负载均衡算法确定进行回源的第二代理端,由于第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标的情况较好的作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
72.参照图4,示出了本发明实施例所述的一种文件回源方法的具体步骤流程图。
73.本发明实施例提供的一种文件回源方法,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构。
74.步骤201,获取所述代理端的性能指标。
75.在该步骤中,由于服务端是根据代理端的性能指标确定其权重值,因此,服务端可以首先获取各个代理端的性能指标。
76.具体的,代理端中可以使用一个用于检测各个代理端的性能指标变化的新的模块,从而实现代理端的性能指标的实时上报,提高代理端性能指标的时效性;服务端也可以通过向代理端发送性能指标探测请求以获取代理端的性能指标,即代理端可以接收服务端发送的性能指标探测请求,并根据性能指标探测请求获取代理端的性能指标,从而可以节省资源。
77.步骤202,将所述代理端的性能指标发送至所述服务端。
78.在该步骤中,代理端在获取到性能指标之后,可以将代理端的性能指标发送至服务端,以供服务端根据代理端的性能指标确定其权重值,相应的,服务端中也可以新增一个中控服务用于收集各个代理端上报的代理端的性能指标。
79.步骤203,获取文件下载请求,所述文件下载请求包括文件标识。
80.该步骤具体可参照步骤101,此处不再赘述。
81.步骤204,在所述代理端未存储所述文件的情况下,将所述文件下载请求发送至与所述代理端位于同一机房的其他代理端,以供所述其他代理端在存储有所述文件的情况下将所述文件反馈至所述代理端。
82.在该步骤中,在步骤203中代理端获取到文件下载请求,且确定代理端中未存储文件标识对应的文件之后,若代理端直接进一步回源至上游机房(即上一层级)中包含的第一代理端,则会引起机房回源带宽增加。
83.因此,代理端在获取到文件下载请求,且确定代理端中未存储文件标识对应的文件之后,可以首先进行同机房回源,即代理端可以采用广播的方式,将文件下载请求发送至
与代理端位于同一机房的其他代理端,若其他代理端存储有该文件,则可以直接将该文件反馈至代理端,即优先在同机房中进行内部广播查找,若同机房中存在该文件,则不需要再向上游机房进行文件回源,避免了机房之间的回源过程,节省了回源带宽。
84.此外,若同机房中进行内部广播查找,且同机房中的其他代理端也均未存储该文件,则可以进一步执行步骤205,向上游机房进行文件回源。
85.步骤205,在所述代理端未存储所述文件标识对应的文件的情况下,根据所述代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有所述第一代理端中确定第二代理端。
86.该步骤具体可参照步骤102,此处不再赘述。
87.步骤206,将所述文件下载请求转发至所述第二代理端。
88.该步骤具体可参照步骤103,此处不再赘述。
89.步骤207,在所述第二代理端存储有所述文件的情况下,接收并存储所述第二代理端返回的所述文件。
90.在步骤206之后,可以进一步判断第二代理端中是否存储有文件标识对应的文件,若有,则执行步骤207,若无,则执行步骤209或210。
91.在该步骤中,若确定第二代理端中存储有文件标识对应的文件,则第二代理端可以直接将该文件返回至代理端,以供代理端存储该文件。
92.步骤208,将所述文件发送至客户端或所述代理端的子节点对应的代理端。
93.在该步骤中,在代理端获取并存储文件之后,代理端可以进一步该文件发送至客户端或所述代理端的子节点对应的代理端。
94.具体的,若客户端位于cdn系统中的边缘节点,则代理端可以直接将该文件发送至生成文件下载请求的客户端,完成文件的下载;若客户端并不位于cdn系统中的边缘节点,即代理端在cdn系统中的下一层级中存在子节点,则代理端可以将该文件发送至代理端的子节点对应的代理端,以供该子节点对应的代理端进一步将文件发送至生成文件下载请求的客户端,完成文件的下载。
95.步骤209,在所述第二代理端未存储所述文件的情况下,根据所述第二代理端所处层级的上一层级所包含的第三代理端的权重值和预设的负载均衡算法,从所有所述第三代理端中确定第四代理端,以供所述第二代理端将所述文件下载请求转发至所述第四代理端。
96.在该步骤中,在步骤206中代理端将所述文件下载请求转发至所述第二代理端,即第二代理端在接收到文件下载请求之后,且确定第二代理端中未存储文件标识对应的文件,则第二代理端可以进一步确定位于第二代理端所处层级的上一层及中包含的第三代理端,并从服务端获取第三代理端的权重值,进而根据第三代理端的权重值和预设的负载均衡算法,从所有第三代理端中确定第四代理端,以供第二代理端将文件下载请求转发至第四代理端。
97.其中,所述第三代理端的权重值为所述服务端根据所述第三代理端的性能指标所配置的,用于在所述负载均衡算法中控制所述第三代理端处理所述文件下载请求的几率。
98.其中,从所有第三代理端中确定第四代理端的过程,与上述从第一代理端中确定第二代理端的过程相似,此处不再赘述。
99.进一步的,第四代理端在接收到文件下载请求之后,若第四代理端中存储有文件标识对应的文件,则可以将文件转发至第二代理端,第二代理端接收并存储文件,并将文件再次转发至代理端,代理端接收并存储文件,并将文件发送至客户端,以完成文件下载过程。
100.步骤210,在所述第二代理端未存储所述文件的情况下,所述第二代理端将所述文件下载请求发送至所有所述第一代理端中除所述第二代理端之外的其他第一代理端,以供所述其他第一代理端在存储有所述文件的情况下,将所述文件反馈至所述第二代理端。
101.在该步骤中,在步骤206中代理端将所述文件下载请求转发至所述第二代理端,即第二代理端在接收到文件下载请求,且确定第二代理端中未存储文件标识对应的文件之后,若第二代理端直接进一步回源至上游机房(即上一层级)中包含的第三代理端,则会引起机房回源带宽增加。
102.因此,第二代理端在接收到文件下载请求,且确定第二代理端中未存储文件标识对应的文件之后,可以首先进行同机房回源,即第二代理端可以采用广播的方式,将所述文件下载请求发送至所有第一代理端中除第二代理端之外的其他第一代理端,若其他第一代理端存储有该文件,则可以直接将该文件反馈至第二代理端,即优先在同机房中进行内部广播查找,若同机房中存在该文件,则不需要再向上游机房进行文件回源,避免了机房之间的回源过程,节省了回源带宽。
103.此外,若同机房中进行内部广播查找,且同机房中的其他代理端也均未存储该文件,则可以进一步执行步骤209,向上游机房进行文件回源。
104.步骤211,确定所述第一代理端的权重值被调整的时间范围。
105.在该步骤中,在进行文件回源的过程中,由于我们动态调整了第一代理端在回源过程中的权重值,使得代理端将文件下载请求发送至从所有第一代理端中确定的第二代理端,会导致某些本不应该回源到第二代理端的文件落盘到了第二代理端对应的视频服务器上,使得第二代理端对应的视频服务器的磁盘中保存的文件增加,从而造成多个第一代理端的磁盘上的文件分布不均。因此,可以使用一些淘汰策略保证这些文件会被及时删除。
106.例如,可以采用如最近最少使用(least recently used,lru)策略,每间隔预设时长,可以利用代理端中设置的磁盘清理模块对代理端对应的磁盘中的文件进行删除,从而保证磁盘恢复正常。
107.具体的,可以实时监控第一代理端的权重值,确定第一代理端的权重值被调整的时间范围,从而在第一代理端的权重值被调整的时间范围内,将本不应该存储在第一代理端,但由于第一代理端的权重值被调整而存储在第一代理端中的文件,每间隔预设时长将使用次数较少的进行删除,确保这些本不应该存储在第一代理端中的文件不会造成第一代理端的磁盘上存储的文件过多,从而使得各个代理端中磁盘上文件分布的均匀性。
108.此外,也可以对存储在第一代理端中的文件不进行区分,即将第一代理端的权重值被调整的时间范围内所有存储在第一代理端中的文件,每间隔预设时长将使用次数较少的进行删除,从而使得各个代理端中磁盘上文件分布的均匀性。
109.例如,若第一代理端的权重值未被调整,即文件下载请求根据负载均衡算法均匀的分配给四个第一代理端,则四个第一代理端的初始权重值均为25%,进一步的,在获取到第一代理端的性能指标之后,判断其中一个第一代理端的性能指标较优,则可以为该第一
代理端配置较大的权重值,例如,将该第一代理端的权重值从初始的25%调整至40%,使其接收并处理文件下载请求的几率增加,同时检测到该第一代理端的权重值发生调整的时间范围为上午9点至下午9点,即在该时间范围内一些本不应该回源并存储在该第一代理端中的文件存储在了该第一代理端中,导致该第一代理端对应的视频服务器的磁盘中保存的文件增加。
110.步骤212,每间隔预设时长,确定所述第一代理端在所述时间范围内存储的文件。
111.在该步骤中,可以每间隔预设时长,例如,2小时或10小时,确定第一代理端在所述时间范围内存储的文件,从而在这些存储的文件中按照lru策略进行文件的删除。
112.步骤213,将所述文件中使用次数少于预设次数的文件进行删除。
113.在该步骤中,可以将第一代理端对应的视频服务器的磁盘中存储的文件,根据lru策略将最近最少使用的文件进行删除。
114.例如,可以将上述步骤确定的文件中使用次数少于预设次数的文件进行删除,即每间隔预设时长,可以将该预设时长中第一代理端由于权重值被调整而存储的文件进行筛选,从中确定使用次数少于预设次数的文件,由于筛选得到的文件的使用次数较少,因而可以将这些文件删除,从而保证磁盘不会因为对应的代理端的权重值被调整而发生异常。
115.例如,若检测到第一代理端的权重值发生调整的时间范围为上午9点至下午9点,预设时长为2小时,则可以在第一代理端的权重值发生调整的时间范围内每间隔2小时,根据lru策略对存储在第一代理端中的文件进行删除。具体的,可以每间隔2小时,将这2小时内第一代理端中存储的、使用次数少于预设次数的文件进行删除,以确保该第一代理端中的文件存储量不至于过多。
116.需要说明的是,也可以在进行文件回源的全过程中,对cdn系统中全部的代理端对应的视频服务器的磁盘中存储的文件,均每间隔预设时长按照lru策略进行文件的删除,以确保多个代理端对应的磁盘中最近最少使用的文件能够被及时的删除,保证多个代理端对应的磁盘中存储的文件是均匀分布的。
117.其中,所述预设次数可以为预先确定的3次或5次等。
118.综上所述,本发明实施例提供的一种文件回源方法,应用于一种文件回源系统中的代理端,文件回源系统还包括服务端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:获取文件下载请求,文件下载请求包括文件标识;在代理端未存储文件标识对应的文件的情况下,根据代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有第一代理端中确定第二代理端;将文件下载请求转发至第二代理端;其中,第一代理端的权重值为服务端根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,代理端可以根据每一个第一代理端的权重值和负载均衡算法确定进行回源的第二代理端,由于第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端的作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
119.此外,在代理端获取到文件下载请求,且未存储文件的情况下,
120.代理端在获取到文件下载请求,且确定代理端中未存储文件标识对应的文件之后,可以首先进行同机房回源,即代理端可以采用广播的方式,将所述文件下载请求发送至与代理端位于同一机房的其他代理端,若其他代理端存储有该文件,则可以直接将该文件反馈至代理端,即优先在同机房中进行内部广播查找,若同机房中存在该文件,则不需要再向上游机房进行文件回源,避免了机房之间的回源过程,节省了回源带宽。
121.参照图5,示出了本发明实施例所述的另一种文件回源方法的步骤流程图。
122.本发明实施例提供的一种文件回源方法,应用于一文件回源系统中的服务端,所述文件回源系统还包括代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构。
123.步骤301,根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并获取所述第一代理端的性能指标。
124.在该步骤中,服务器可以预先获取内容分发网络的结构,从而可以根据内容分发网络的结构,确定代理端所处层级的上一层级所包含的第一代理端,从而进一步获取第一代理端的性能指标。
125.参照图2,由于cdn中的各个节点部署的是各个代理端,且cdn的节点构成多层级的树状结构。因此,若获取到文件下载请求的代理端为代理端2,则根据cdn的结构,可以确定代理端2对应的第一代理端30包括代理端5、代理端6和代理端7;若获取到文件下载请求的代理端为代理端5,则根据cdn结构,可以确定代理端5对应的第一代理端包括:代理端8和代理端9。
126.进一步的,在确定了代理端对应的第一代理端之后,参照图3,服务端20可以通过消息中间件获取每个第一代理端30的性能指标。
127.步骤302,根据所述第一代理端的性能指标,确定所述第一代理端的权重值,并将所述权重值发送至所述代理端。
128.在该步骤中,服务端在获取到第一代理端的性能指标之后,可以根据第一代理端的性能指标,确定第一代理端的权重值,并将权重值发送至代理端。
129.具体的,所述第一代理端的性能指标可以包括第一代理端的cpu的负载量、磁盘空闲容量、内存和等待磁盘读写对cpu的消耗比例中的任意一种或多种,以表征第一代理端对应的服务器的服务压力,由于第一代理端的权重值用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,第一代理端处理文件下载请求的几率,即第一代理端的权重值与第一代理端的性能指标的优异性呈正比。例如,第一代理端的cpu的负载量越大、磁盘空闲容量越少、内存越小、等待磁盘读写对cpu的消耗比例越大,则说明第一代理端的性能指标的优异性越小,其服务压力越大,即第一代理端处理文件下载请求的能力等级较低,则可以为该第一代理端配置较小的权重值,例如,将该第一代理端的权重值从初始的25%调整至10%,使其接收并处理文件下载请求的几率降低;第一代理端的cpu的负载量越小、磁盘空闲容量越多、内存越大、等待磁盘读写对cpu的消耗比例越小,则说明第一代理端的性能指标越好,其服务压力越小,即第一代理端处理文件下载请求的能力等级较高,则可以为该第一代理端配置较大的权重值,例如,将该第一代理端的权重值从初始的25%调整至40%,使其接收并处理文件下载请求的几率增加。
130.进一步的,服务器可以将确定的第一代理端的权重值发送至代理端,以供代理端
可以根据各个第一代理端的权重值,从多个第一代理端中选取性能指标较好的代理端作为第二代理端,由于第二代理端的当前的服务压力较小,采用第二代理端来处理当前的文件下载请求,可以避免第二代理端的服务压力较大从而影响其工作性能,确保本次文件回源过程的服务质量。因而,即时在短时间内不能保证各代理端均匀的获取并处理文件下载请求,也能够确保每一个代理端不会因为服务压力过大而影响其工作性能。
131.综上所述,本发明实施例提供的一种文件回源方法,应用于一种文件回源系统中的服务端,文件回源系统还包括代理端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:根据内容分发网络的结构,确定代理端所处层级的上一层级所包含的第一代理端,并获取第一代理端的性能指标;根据第一代理端的性能指标,确定第一代理端的权重值,并将权重值发送至所述代理端;其中,第一代理端的权重值用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,由于确定接收和处理文件下载请求的第二代理端,是根据所有第一代理端的权重值和负载均衡算法确定,而第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
132.参照图6,示出了本发明实施例所述的另一种文件回源方法的具体步骤流程图。
133.本发明实施例提供的一种文件回源方法,应用于一文件回源系统中的服务端,所述文件回源系统还包括代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构。
134.步骤401,根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端。
135.该步骤具体可参照步骤301,此处不再赘述。
136.步骤402,在所述负载均衡算法为一致性哈希算法的情况下,根据所述第一代理端的性能指标,确定所述第一代理端对应的性能指标变化幅值。
137.在该步骤中,服务端可以预先获取第一代理端的性能指标,服务端获取第一代理端的性能指标的过程,可以为第一代理端实时将性能指标上报至服务端,也可以为服务端向第一代理端发送性能指标探测请求之后,第一代理端在接收到性能指标探测请求之后,获取第一代理端的性能指标并反馈至服务端。服务端在接收到第一代理端的性能指标之后,可以进一步根据第一代理端的性能指标确定第一代理端的权重值。
138.在该步骤中,在所述负载均衡算法为一致性哈希算法的情况下,服务端确定的第一代理端的权重值可以与一致性哈希算法计算过程中每个第一代理端对应的虚拟节点的数量相关。
139.具体的,服务端首先可以根据接收到的第一代理端的性能指标,确定第一代理端对应的性能指标的变化幅值。
140.例如,在所述第一代理端的性能指标为cpu的负载量的情况下,若第一代理端的cpu的负载量从30%变化为50%,即第一代理端的cpu的负载量的变化幅值为20%,第一代理端的服务压力增加;在所述第一代理端的性能指标为等待磁盘读写对cpu的消耗比例的
情况下,若第一代理端等待磁盘读写对cpu的消耗比例从30%变化为15%,即第一代理端等待磁盘读写对cpu的消耗比例的变化幅值为

15%,第一代理端的服务压力降低。
141.步骤403,在所述性能指标变化幅值大于预设幅值的情况下,根据所述性能指标变化幅值确定所述第一代理端对应的虚拟节点的数量。
142.在该步骤中,在确定了第一代理端的性能指标变化幅值之后,可以在第一代理端的性能指标变化幅值大于预设幅值的情况下,根据第一代理端的性能指标变化幅值确定第一代理端对应的虚拟节点的数量。
143.例如,第一代理端对应的初始虚拟节点的数量为500,若第一代理端等待磁盘读写对cpu的消耗比例从30%变化为15%,即第一代理端等待磁盘读写对cpu的消耗比例的变化幅值为

15%,大于预设幅值
±
10%,即第一代理端的服务压力降低的幅度较大,则可以为该第一代理端分配更多的虚拟节点,例如,该第一代理端对应的虚拟节点的数量从初始的500增加至600,使得该第一代理端接收并处理文件下载请求的几率提高;若第一代理端cpu的负载量从30%变化为50%,即第一代理端的cpu的负载量的变化幅值为20%,大于预设幅值
±
10%,即第一代理端的服务压力增加的幅度较大,则可以为该第一代理端分配更少的虚拟节点,例如,该第一代理端对应的虚拟节点的数量从初始的500减少至400,使得该第一代理端接收并处理文件下载请求的几率降低。
144.其中,所述虚拟节点为所述代理端针对所述第一代理端进行一致性哈希算法计算时设置的,用于处理所述文件下载请求的虚拟的节点,第一代理端对应的虚拟节点的数量可以表征在一致性哈希算法的计算过程中第一代理端接收并处理文件下载请求的几率。
145.具体的,图7示出了本发明实施例所述的一种一致性哈希算法的示意图,所述一致性哈希算法是一种特殊的哈希算法,目的是解决分布式缓存的问题,其具体过程是首先确定各个第一代理端的哈希值,并将其配置到0~2
32
的圆(continuum)上,参照图7,例如,代理端对应存在两个第一代理端:第一代理端1和第一代理端2,则可以分别根据第一代理端1和第一代理端2的互联网协议(internet protocol,ip)地址,或介质访问控制(media access control,mac)地址进行哈希值计算,确定其在continuum上的位置,同时可以将文件下载请求也映射在continuum上,具体的可以将文件下载请求包含的文件标识作为键值进行哈希值计算,确定文件下载请求在continuum上的位置,然后从文件下载请求映射到的位置开始顺时针查找,从而将找到的第一个第一代理端确定为第二代理端以接收和处理文件下载请求。
146.参照图7,文件下载请求1顺时针对应的为第一代理端2,文件下载请求2顺时针对应的为第一代理端1,因此,代理端可以将文件下载请求1转发至第一代理端2进行处理,将文件下载请求2转发至第一代理端1进行处理。
147.进一步的,在考虑到一致性哈希算法在计算时,第一代理端的数量较少时,容易因为第一代理端在continuum上的节点分布不均而造成数据倾斜的问题,因此,可以通过引入虚拟节点机制,为每一个第一代理端设置多个虚拟节点,参照图7,可以为第一代理端1额外设置三个虚拟节点,分别为第一代理端1#1、第一代理端1#2、第一代理端1#3;为第一代理端2额外设置两个虚拟节点,分别为第一代理端2#1、第一代理端2#2。
148.在本发明实施例中,若检测到第一代理端的性能指标较差时,则可以降低该第一代理端对应的虚拟节点的数量,从而降低第一代理端接收并处理文件下载请求的几率;若
检测到第一代理端的性能指标较为优异时,则可以增加该第一代理端对应的虚拟节点的数量,从而增加第一代理端接收并处理文件下载请求的几率。
149.步骤404,根据所述第一代理端对应的虚拟节点的数量,确定所述第一代理端的权重值。
150.在该步骤中,服务端在确定了第一代理端对应的虚拟节点的数量之后,可以进一步根据第一代理端对应的虚拟节点的数量,确定第一代理端的权重值。
151.例如,若存在四个第一代理端:第一代理端1、第一代理端2、第一代理端3、第一代理端4,第一代理端1对应的虚拟节点的数量为200、第一代理端2对应的虚拟节点的数量为600、第一代理端3对应的虚拟节点的数量为250、第一代理端4对应的虚拟节点的数量为550。一般情况下四个第一代理端接收到文件下载请求的概率相同,即每一个第一代理端的权重值均为25%,而根据对应的虚拟节点的数量,则可以确定第一代理端1对应的权重值为12.5%、第一代理端2对应的权重值为37.5%、第一代理端3对应的权重值为15.6%、第一代理端4对应的权重值为34.4%。
152.步骤405,将所述权重值发送至所述代理端。
153.在该步骤中,服务端在确定了第一代理端的权重值之后,可以进一步将第一代理端的权重值发送至代理端,以供代理端根据第一代理端的权重值和一致性哈希算法,从所有第一代理端中确定用于接收和处理文件下载请求的第二代理端。
154.综上所述,本发明实施例提供的一种文件回源方法,应用于一种文件回源系统中的服务端,文件回源系统还包括代理端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:根据内容分发网络的结构,确定代理端所处层级的上一层级所包含的第一代理端,并获取第一代理端的性能指标;根据第一代理端的性能指标,确定第一代理端的权重值,并将权重值发送至所述代理端;其中,第一代理端的权重值用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,由于确定接收和处理文件下载请求的第二代理端,是根据所有第一代理端的权重值和负载均衡算法确定,而第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
155.参照图8,示出了本发明实施例所述的一种文件回源方法的交互步骤流程图。
156.本发明实施例提供的一种文件回源方法,应用于一种文件回源系统,所述文件回源系统包括:服务端和代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构。
157.步骤501,所述服务端根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并根据获取到的所述第一代理端的性能指标确定所述第一代理端的权重值。
158.该步骤具体可参照步骤301和302,此处不再赘述。
159.步骤502,所述服务端将所述第一代理端的权重值发送至所述代理端。
160.该步骤具体可参照步骤302,此处不再赘述。
161.步骤503,所述代理端接收所述服务端发送的第一代理端的权重值,并获取所述文件下载请求,所述文件下载请求包括文件标识。
162.在该步骤中,代理端可以接收服务端发送的第一代理端的权重值,进而接收客户端或子节点的代理端发送的文件下载请求,以供代理端可以从所有第一代理端中,根据第一代理端的权重值和负载均衡算法确定第二代理端并转发文件下载请求。
163.步骤504,所述代理端在未存储所述文件标识对应的文件的情况下,根据所述第一代理端的权重值和所述负载均衡算法,从所有所述第一代理端中确定第二代理端。
164.该步骤具体可参照步骤102,此处不再赘述。
165.步骤505,所述代理端将所述文件下载请求转发至所述第二代理端。
166.该步骤具体可参照步骤103,此处不再赘述。
167.综上所述,本发明实施例提供的一种文件回源方法,应用于一种文件回源系统,所述文件回源系统包括:服务端和代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,包括:服务端根据内容分发网络的结构,确定代理端所处层级的上一层级所包含的第一代理端,并根据获取到的第一代理端的性能指标,确定第一代理端的权重值,第一代理端的权重值用于在负载均衡算法中控制第一代理端处理文件下载请求的几率;服务端将第一代理端的权重值发送至代理端;代理端接收服务端发送的第一代理端的权重值,并获取文件下载请求,文件下载请求包括文件标识;代理端在未存储文件标识对应的文件的情况下,根据第一代理端的权重值和负载均衡算法,从所有第一代理端中确定第二代理端;代理端将文件下载请求转发至第二代理端。本发明实施例中,在文件回源的过程中,代理端可以根据每一个第一代理端的权重值和负载均衡算法确定进行回源的第二代理端,由于第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端的作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
168.在上述实施例的基础上,本发明实施例还提供了一种文件回源装置。
169.参照图9,示出了本发明实施例所述的一种文件回源装置600的结构框图,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,具体可以包括如下模块:
170.第一获取模块601,用于获取文件下载请求,所述文件下载请求包括文件标识;
171.第一确定模块602,用于在所述代理端未存储所述文件标识对应的文件的情况下,根据所述代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有所述第一代理端中确定第二代理端;
172.转发模块603,用于将所述文件下载请求转发至所述第二代理端;
173.其中,所述第一代理端的权重值为所述服务端根据所述第一代理端的性能指标所配置的,用于在所述负载均衡算法中控制所述第一代理端处理所述文件下载请求的几率。
174.可选的,所述装置600还包括:
175.第二获取模块,用于获取所述代理端的性能指标;
176.第一发送模块,用于将所述代理端的性能指标发送至所述服务端。
177.可选的,所述装置600还包括:
178.第二发送模块,用于将所述文件下载请求发送至与所述代理端位于同一机房的其他代理端,以供所述其他代理端在存储有所述文件的情况下将所述文件反馈至所述代理端。
179.可选的,所述装置600还包括:
180.第二确定模块,用于确定所述第一代理端的权重值被调整的时间范围;
181.第三确定模块,用于每间隔预设时长,确定所述第一代理端在所述时间范围内存储的文件;
182.删除模块,用于将所述文件中使用次数少于预设次数的文件进行删除。
183.综上所述,本技术提供的一种文件回源装置,应用于一种文件回源系统中的代理端,文件回源系统还包括服务端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:获取文件下载请求,文件下载请求包括文件标识;在代理端未存储文件标识对应的文件的情况下,根据代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有第一代理端中确定第二代理端;将文件下载请求转发至第二代理端;其中,第一代理端的权重值为服务端根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,代理端可以根据每一个第一代理端的权重值和负载均衡算法确定进行回源的第二代理端,由于第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
184.参照图10,示出了本发明实施例所述的另一种文件回源装置700的结构框图,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,具体可以包括如下模块:
185.第三获取模块701,用于根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并获取所述第一代理端的性能指标;
186.第四确定模块702,用于根据所述第一代理端的性能指标,确定所述第一代理端的权重值,并将所述权重值发送至所述代理端;
187.其中,所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端处理文件下载请求的几率,所述第一代理端处理文件下载请求的几率与所述第一代理端的性能指标的优异性呈正比。
188.可选的,在所述负载均衡算法为一致性哈希算法的情况下,所述第四确定模块702,具体包括:
189.第一确定子模块,用于根据所述第一代理端的性能指标,确定所述第一代理端对应的性能指标变化幅值;
190.第二确定子模块,用于在所述性能指标变化幅值大于预设幅值的情况下,根据所
述性能指标变化幅值确定所述第一代理端对应的虚拟节点的数量,所述虚拟节点为所述代理端针对所述第一代理端进行一致性哈希算法计算时设置的,用于处理所述文件下载请求的虚拟的节点;
191.第三确定子模块,用于根据所述第一代理端对应的虚拟节点的数量,确定所述第一代理端的权重值。
192.综上所述,本技术提供的一种文件回源装置,应用于一种文件回源系统中的服务端,文件回源系统还包括代理端,代理端部署于内容分发网络中的节点,内容分发网络的节点构成多层级的树状结构,包括:根据内容分发网络的结构,确定代理端所处层级的上一层级所包含的第一代理端,并获取第一代理端的性能指标;根据第一代理端的性能指标,确定第一代理端的权重值,并将权重值发送至所述代理端;其中,第一代理端的权重值用于在负载均衡算法中控制第一代理端处理文件下载请求的几率。本发明实施例中,在文件回源的过程中,由于确定接收和处理文件下载请求的第二代理端,是根据所有第一代理端的权重值和负载均衡算法确定,而第一代理端的权重值是根据第一代理端的性能指标所配置的,用于在负载均衡算法中控制第一代理端处理文件下载请求的几率,因此,可以根据所述权重值从第一代理端中确定性能指标较优的代理端作为第二代理端,即确定的第二代理端的各项性能指标的情况较为优异,从而可以避免第二代理端的服务压力较大时影响其工作性能,确保文件回源过程的服务质量。
193.参照图11,示出了本发明实施例所述的一种文件回源系统的示意图,所述文件回源系统包括:服务端和代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构。服务端与内容分发网络中的每一层级中的每一个代理端之间通信连接,从而实现数据的传输。
194.本发明实施例还提供了一种电子设备,如图12所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互之间的通信,
195.存储器803,用于存放计算机程序;
196.处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
197.一种文件回源方法,应用于一种文件回源系统中的代理端,所述文件回源系统还包括服务端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,所述方法包括:
198.获取文件下载请求,所述文件下载请求包括文件标识;
199.在所述代理端未存储所述文件标识对应的文件的情况下,根据所述代理端所处层级的上一层级所包含的第一代理端的权重值和预设的负载均衡算法,从所有所述第一代理端中确定第二代理端;
200.将所述文件下载请求转发至所述第二代理端;
201.其中,所述第一代理端的权重值为所述服务端根据所述第一代理端的性能指标所配置的,用于在所述负载均衡算法中控制所述第一代理端处理所述文件下载请求的几率。
202.一种文件回源方法,应用于一种文件回源系统中的服务端,所述文件回源系统还包括代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构,所述方法包括:
203.根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并获取所述第一代理端的性能指标;
204.根据所述第一代理端的性能指标,确定所述第一代理端的权重值,并将所述权重值发送至所述代理端;
205.其中,所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端处理文件下载请求的几率,所述第一代理端处理文件下载请求的几率与所述第一代理端的性能指标的优异性呈正比。
206.一种文件回源系统,所述文件回源系统包括:服务端和代理端,所述代理端部署于内容分发网络中的节点,所述内容分发网络的节点构成多层级的树状结构;
207.所述服务端根据所述内容分发网络的结构,确定所述代理端所处层级的上一层级所包含的第一代理端,并根据获取到的所述第一代理端的性能指标确定所述第一代理端的权重值,所述第一代理端的权重值用于在负载均衡算法中控制所述第一代理端处理文件下载请求的几率,所述第一代理端处理文件下载请求的几率与所述第一代理端的性能指标的优异性呈正比;
208.所述服务端将所述第一代理端的权重值发送至所述代理端;
209.所述代理端接收所述服务端发送的第一代理端的权重值,并获取所述文件下载请求,所述文件下载请求包括文件标识;
210.所述代理端在未存储所述文件标识对应的文件的情况下,根据所述第一代理端的权重值和所述负载均衡算法,从所有所述第一代理端中确定第二代理端;
211.所述代理端将所述文件下载请求转发至所述第二代理端。
212.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
213.通信接口用于上述终端与其他设备之间的通信。
214.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
215.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
216.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的文件回源方法。
217.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的文件回源方法。
218.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实
现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
219.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
220.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
221.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1