CN116248632A - 一种文件获取方法、装置、***及设备、介质和产品 - Google Patents
一种文件获取方法、装置、***及设备、介质和产品 Download PDFInfo
- Publication number
- CN116248632A CN116248632A CN202211736473.9A CN202211736473A CN116248632A CN 116248632 A CN116248632 A CN 116248632A CN 202211736473 A CN202211736473 A CN 202211736473A CN 116248632 A CN116248632 A CN 116248632A
- Authority
- CN
- China
- Prior art keywords
- node
- line
- target
- domain name
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000001133 acceleration Effects 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种文件获取方法、装置、***及设备、介质和产品,旨在降低源站的回源负载。所述方法包括:向DNS调度***请求URL关联的各个多线节点的节点信息;接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重;根据所述各个多线节点的目标域名和权重,构建一致性hash环;根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点;通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种文件获取方法、装置、***及设备、介质和产品。
背景技术
多线节点主要用于完成从边缘节点运营商A到源站服务器运营商B之间的网络连接转换,从而达到降低传输时延的目的。为了分摊流量压力,内容分发网络(ContentDelivery Network,CDN)厂商往往会有多个多线节点,并通过给不同多线节点分配不同数量的节点ip,来达到按权重分摊流量的效果。
然而,不同运营商的边缘节点经过域名***(Domain Name System,DNS)解析出来的上层多线节点ip彼此不同(上层节点ip与客户端ip为同一运营商),以致同个统一资源定位符(Uniform Resource Locator,URL)文件可能请求到不同的多线节点,造成多次回源,对源站负载造成较大压力。
发明内容
鉴于上述问题,本申请实施例提供了一种文件获取方法、装置、***及设备、介质和产品,以便克服上述问题或者至少部分地解决上述问题。
本申请实施例的第一方面,提供了一种文件获取方法,应用于目标节点,所述目标节点为多线节点的下一层级节点,所述方法包括:
向DNS调度***请求URL关联的各个多线节点的节点信息,所述URL关联的各个多线节点的目标节点相同;
接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重,所述目标域名是根据多线节点的唯一标签确定的,所述权重是根据所述多线节点的承载能力确定的,所述多线节点在不同线路的承载能力相同;
根据所述各个多线节点的目标域名和权重,构建一致性hash环;
根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点;
通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
本申请实施例的第二方面,提供了一种文件获取方法,应用于DNS调度***,所述方法包括:
接收目标节点发送的携带加速域名的SRV请求,所述目标节点为多线节点的下一层级节点;
从所述DNS调度***存储的SRV记录中,确定所述加速域名对应的各个多线节点的目标SRV记录;
根据所述各个目标SRV记录,生成并向所述目标节点发送所述各个多线节点的节点信息,以使
所述目标节点根据所述各个节点信息中的目标域名和权重构建一致性hash环,并根据所述一致性hash环确定用于请求所述加速域名所对应文件的目标多线节点。
本申请实施例的第三方面,提供了一种文件获取装置,应用于目标节点,所述目标节点为多线节点的下一层级节点,所述装置包括:
第一请求模块,用于向DNS调度***请求URL关联的各个多线节点的节点信息,所述URL关联的各个多线节点的目标节点相同;
第一接收模块,用于接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重,所述目标域名是根据多线节点的唯一标签确定的,所述权重是根据所述多线节点的承载能力确定的,所述多线节点在不同线路的承载能力相同;
第一构建模块,用于根据所述各个多线节点的目标域名和权重,构建一致性hash环;
第一处理模块,用于根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点;
第二请求模块,用于通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
本申请实施例的第四方面,提供了一种文件获取装置,应用于DNS调度***,所述装置包括:
接收模块,用于接收目标节点发送的携带加速域名的SRV请求,所述目标节点为多线节点的下一层级节点;
处理模块,用于从所述DNS调度***存储的SRV记录中,确定所述加速域名对应的各个多线节点的目标SRV记录;
发送模块,用于根据所述各个目标SRV记录,生成并向所述目标节点发送所述各个多线节点的节点信息,以使所述目标节点根据所述各个节点信息中的目标域名和权重构建一致性hash环,并根据所述一致性hash环确定用于请求所述加速域名所对应文件的目标多线节点。
本申请实施例的第五方面,提供了一种文件获取***,所述***包括多个多线节点、所述多个多线节点的下一层级节点、以及DNS调度***,其中:
所述多个多线节点的下一层级节点中,接收到携带URL的文件请求的下一层级节点执行如第一方面所述的文件获取方法,以根据所述DNS调度***返回的目标域名和权重构建一致性hash环,通过所述一致性hash环确定用于请求所述URL所对应文件的多线节点。
本申请实施例的第六方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第二方面所述的文件获取方法的步骤。
本申请实施例的第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面或第二方面所述的文件获取方法的步骤。
本申请实施例的第八方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面或第二方面所述的文件获取方法的步骤。
本申请实施例包括以下优点:
本实施例中,目标节点采用各个多线节点的目标域名和权重,构建一致性hash环,能够保证处于不同线路的目标节点所构建的一致性hash环相同,使得不同线路的目标节点在请求同一URL的文件时,均是对同一多线节点(即目标多线节点)进行请求,从而能够提升多线节点的命中率,降低源站的回源负载。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种文件获取方法的实施流程图;
图2是本申请实施例的一种文件获取方法的业务流程的示意图;
图3是本申请实施例中一种一致性hash环的示意图;
图4是本申请实施例的另一种文件获取方法的实施流程图;
图5是本申请实施例的一种文件获取装置的结构示意图;
图6是本申请实施例的另一种文件获取装置的结构示意图;
图7是本申请实施例中一种电子设备的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
内容分发网络的主要目的是通过在现有互联网中搭建一层网络架构,将源站服务器内容分发到离用户最近且广泛分布的边缘节点,使用户就近取得内容,从而提升源站分发效率,优化用户体验,同时减少网络拥塞,降低对应源站服务器的负载。
由于终端用户接入的运营商(即线路)多种多样,跨运营商传输会造成网络时延,因此CDN厂商的边缘节点运营商分布也多种多样。而源站服务器往往只部署在少数一两个运营商,因此CDN边缘节点在回源站获取内容之前,都会再经过一层内部多线节点,由多线节点完成从边缘节点运营商A到源站服务器运营商B之间的网络连接转换,从而达到降低传输时延的目的。
为了分摊流量压力,CDN厂商往往会有多个多线节点,并通过给不同多线节点分配不同数量的节点ip,来达到按权重分摊流量的效果。
相关技术中,为提升URL文件在多线节点的命中率,多线节点的下一层级节点(如边缘节点或中间节点)会将同一URL文件的请求经由一致性哈希(hash)算法引导至同一个多线机房(即多线节点),从而实现多线节点的命中。
但不同线路的边缘节点经过DNS解析出来的上层多线节点ip彼此不同(上层节点ip与客户端ip为同一运营商),边缘节点若根据该上层多线节点ip构建一致性hash环,会导致不同线路的边缘节点所构建的一致性hash环出现不一致的情况,最终导致不同线路的边缘节点会对不同的多线节点请求同一URL文件,造成多次回源,无法达到一份文件仅回源一次的效果,对源站负载造成较大压力。
针对上述相关技术中存在的问题,本申请提出了一种降低多线节点回源量的方法,使得不同线路的边缘节点或中间节点通过多个多线节点进行回源时,对于相同的URL文件均能够通过同一多线节点进行获取,从而达到一份文件仅需一个多线节点向源站获取一次(即仅回源一次)的效果,从而充分降低源站的回源负载。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的文件获取方法进行详细地说明。
第一方面,参照图1所示,为本申请实施例所提供的一种文件获取方法的实施流程图,该方法应用于目标节点,所述目标节点为多线节点的下一层级节点,可以包括以下步骤:
步骤S11:向DNS调度***请求URL关联的各个多线节点的节点信息,所述URL关联的各个多线节点的目标节点相同。
其中,该目标节点可以是边缘节点或中间节点。
在具体实施时,该目标节点可以是中间节点,能够接收来自于边缘节点的获取该URL对应文件的请求,该目标节点也可以是边缘节点,能够接收来自于终端的获取该URL对应文件的请求。
在该目标节点接收到该URL对应文件的获取请求,但没有存储该URL对应文件的情况下,目标节点通过递归DNS向DNS调度***请求该URL关联的各个多线节点的节点信息(即上层节点信息),以便目标节点后续向该URL关联的某一多线节点请求对应文件。
步骤S12:接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重,所述目标域名是根据多线节点的唯一标签确定的,所述权重是根据所述多线节点的承载能力确定的,所述多线节点在不同线路的承载能力相同。
其中,多线节点的唯一标签为该多线节点的设备(如服务器组等)的硬件标识,该唯一标签与该多线节点在各线路的承载能力和IP地址等信息关联。
步骤S13:根据所述各个多线节点的目标域名和权重,构建一致性hash环。
其中,该目标域名为多线节点的唯一域名。
在具体实施时,DNS调度***会保障URL关联的各个多线节点的目标节点相同(即保障对应加速域名所有区域的多线节点覆盖一致),以使该各个多线节点的不同线路的下层节点在请求同一URL对应的文件时,所接收到的节点信息对应的多线节点相同(即该不同线路的下层节点接收到的目标域名相同),且DNS调度***会保障多线节点在不同线路的承载能力相同,即保障同一多线节点在不同线路上的权重均相同,以使不同线路的下层节点接收到的权重相同,从而使得不同线路的下层节点在请求同一URL对应的文件时所构建的一致性hash环均相同。
步骤S14:根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点。
在具体实施时,目标节点在构建一致性hash环之后,可以将该URL文件请求hash至某个多线节点的目标域名,从而得到目标多线节点。可以理解的是,由于不同线路的目标节点在请求同一URL对应的文件时所构建的一致性hash环均相同,故该不同线路的目标节点的URL文件请求均能够hash至同一多线节点的目标域名,从而提升多线节点的命中率。
步骤S15:通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
在具体实施时,基于上述构建的一致性hash环,不同线路的目标节点将对同一目标多线节点请求同一URL对应的文件,目标多线节点在初次接收到该URL对应的文件请求时,会先回源一次以从源站获取该URL对应的文件,随后该目标多线节点将存储该URL对应的文件,以便后续接收到该URL对应的文件时,能够基于自身的存储直接返回该URL对应的文件,无需再次回源,从而达到一份文件仅需仅回源一次的效果。
采用本申请实施例的技术方案,目标节点采用各个多线节点的目标域名和权重,构建一致性hash环,能够保证处于不同线路的目标节点所构建的一致性hash环相同,使得不同线路的目标节点在请求同一URL的文件时,均是对同一多线节点(即目标多线节点)进行请求,从而能够提升多线节点的命中率,降低源站的回源负载。
以下结合图2,对上述技术方案作进一步说明。如图2所示,本申请实施例提供了一种文件获取方法,包括:
1、用户向线路1的边缘节点A发送携带了URL为http://a.com/1.mp4的用户请求。
在该实例中,边缘节点A为与用户进行通信的边缘节点,边缘节点A和B的上一层节点均为多线节点1和2。
2、边缘节点A向DNS调度***发起携带了加速域名的SRV请求。
在该实施例中,边缘节点A根据该URL,确定加速域名a.com.up.com,并生成携带该加速域名的SRV请求,通过向DNS调度***发送该SRV请求,以使DNS调度***根据该加速域名关联的各个SRV记录,生成并返回各个多线节点的节点信息。
3、DNS调度***向边缘节点A返回多线节点1和2的节点信息,该多线节点1和2的节点信息至少包括:多线节点1的目标域名duox1.com、多线节点1的权重值3、多线节点2的目标域名duox2.com、以及多线节点2的权重值2。
在该实施例中,资源规划***会维护多线节点信息,并为每个多线节点建立唯一标签,维护其承载能力信息,及多线ip的映射关系,具体如下:
多线节点1:1.1.1.1(线路1的ip地址),2.2.2.2(线路2的ip地址),3.3.3.3(线路3的IP地址),承载能力300Gbps;
多线节点2:4.4.4.4(线路1的ip地址),5.5.5.5(线路2的ip地址),6.6.6.6(线路3的ip地址),承载能力200Gbps。
DNS调度***会预先配置多线节点的区域覆盖,以保障线路1的边缘节点A和线路2的边缘节点B对应的多线节点覆盖相同。DNS调度***从资源规划***中获取多线节点1和2的唯一标签、承载能力之后,将多线节点1和2的唯一标签按设定规则对应转换成唯一域名(即目标域名)duox1.com和duox2.com,并参考多线节点1和2的承载能力生成权重信息分别为3和2,并基于上述信息生成并存储多线节点1和2的SRV记录(又称服务定位记录,ServiceRecord)、以及A记录。
例如,多线节点1和2的SRV记录可以为:a.com.up.com,SRV,优先级0,权重3,生存时间值(Time To Live,TTL),端口80,duox1.com;a.com.up.com,SRV,优先级0,权重2,TTL,端口80,duox2.com。
多线节点1和2的A记录可以为:duox1.com,1.1.1.1,2.2.2.2,3.3.3.3;duox2.com,4.4.4.4,5.5.5.5,6.6.6.6。
作为一种可能的实施方式,边缘节点A通过递归DNS向DNS调度***请求上层节点信息时,DNS调度***可以通过自身存储SRV记录,将多线节点1和2的唯一域名、权重、TTL等节点信息一起返回给边缘节点A。
在该实施例中,DNS调度***在多线节点的覆盖情况出现变更的情况下,无需调整边缘节点缓存配置及多线节点ip数量,仅需更新所述DNS调度***存储的SRV记录中的目标域名或权重即可,从而能够简化变更操作,提升调度调整效率。
目标节点(如边缘节点A)可以根据自身缓存的多线节点1和2的节点信息中的TTL,判断该节点信息是否过期,在该缓存的节点信息没有过期的情况下,边缘节点A可以直接基于该缓存的节点信息构建一致性hash环,进而确定目标多线节点;在该缓存的节点信息过期的情况下,边缘节点A向DNS调度***请求多线节点1和2的节点信息。
可以理解的是,在对应加速域名的SRV记录的TTL未过期前,目标节点中的缓存***将记录该信息,使用基于该信息构建的一致性hash环,如多线节点发生变更,无论是增删改的操作或是原有节点权重的变更,只需要DNS调度***所存储的SRV记录进行相应更新,该更新后的SRV记录所关联的节点信息即可在TTL过期后在目标节点生效,无需在所有边缘节点再重新下发配置,从而极大提升部署和调度效率。
此外,由于DNS调度***所存储的SRV记录设置了权重这一信息,使得多线节点的承载能力发生变化时,无需变更多线节点的vip数量,仅由DNS调度***变更SRV记录中对应目标域名的权重即可,有效节省了vip数量,在降低成本的同时提升运营效率。
4、边缘节点A基于接收到的目标域名,向DNS调度***发送携带了目标域名duox1.com和duox2.com的A记录请求。
5、DNS调度***根据自身存储的A记录,返回多线节点1在线路1的ip地址1.1.1.1和多线节点2在线路1的ip地址4.4.4.4。
6、边缘节点A构建一致性hash环,请求匹配至多线节点2,经由ip地址4.4.4.4与多线节点2连接。
在具体实施时,边缘节点A可以根据多线节点1和2的权重,确定多线节点在一致性hash环上的分布数量。例如,多线节点1和2的权重为3和2,则可以将多线节点1和2的分布数量确定为3和2,再根据多线节点1和2的目标域名和分布数量,确定多线节点1和2在一致性hash环上的分布位置,并基于该分布位置构建一致性hash环。
示例性地,构建的一致性hash环如图3所示,多线节点1在环上有3个分布位置,多线节点1在环上有2个分布位置,分布位置与目标域名一一对应。其中,多线节点在一致性hash环上的具体分布位置可以人为设定,也可以基于多线节点的目标域名计算得到。
边缘节点A在构建好一致性hash环之后,可以根据用户请求所携带的URL确定该用户请求在一致性hash环上的映射位置,从该映射位置沿顺时针方向出发,根据遇到的第一个分布位置所对应的目标域名(即图3所示的duox2.com),匹配目标多线节点(即多线节点2)。
在匹配好目标多线节点之后,边缘节点A可以接收到的各个多线节点的ip地址中,确定目标多线节点的ip地址,并根据该目标多线节点的ip地址,和目标多线节点建立网络连接,向目标多线节点请求所述URL对应的文件。
7.1、多线节点2因首次收到该URL对应的文件获取请求,没有该URL对应文件的缓存(即首次miss),需要向源站获取对应文件内容。
7.2、源站向多线节点2返回该URL对应的文件。
7.3、多线节点2向边缘节点A返回该URL对应的文件。
8、用户向线路2的边缘节点B发起统一URL的文件请求。
9、边缘节点B向DNS调度***请求SRV记录和A记录,DNS调度***返回SRV记录、以及边缘节点B所在线路对应的A记录结果。可以理解的是,边缘节点B接收到的SRV记录与边缘节点A接收到的SRV记录相同。
示例性地,边缘节点B接收到的SRV记录和A记录结果如下:
SRV记录:SRV,0,3,80,duox1.com;SRV,0,2,80,duox2.com;
A记录结果:duox1.com,2.2.2.2;duox2.com,5.5.5.5。
10、边缘节点B构建与节点A相同的一致性hash环,并hash至相同的多线节点2,找到对应线路的A记录结果5.5.5.5作为上层节点目标ip,根据该上层节点目标ip,边缘节点B与多线节点2建立网络连接,此时命中缓存,多线节点2无需再次回源。
基于上述实施例,资源规划***首先给每个多线节点分配了一个全局唯一标签,并维护多线节点的承载能力、各线路ip等信息;DNS调度***将多线节点的唯一标签和承载能力转换为SRV记录中的目标域名和权重信息,并记录多线节点的相关域名和各线路ip的映射关系,且DNS调度***需保障加速域名对应的所有区域多线节点覆盖相同,以及多线节点在各线路的权重相同,以保障不同线路目标节点构建的一致性hash环相同。
目标节点在向DNS调度***请求上层节点信息时,DNS通过SRV记录将多个多线节点的目标域名及其权重信息返回给目标节点,并给出每个多线节点在对应线路的A记录结果。
目标节点的缓存***基于接收到的SRV记录相关信息,构建一致性hash环,将对应的URL文件请求hash至某个多线节点的目标域名,并读取该目标域名的A记录解析结果,获得该多线节点的ip地址,并向该ip地址发起请求并获取文件内容,从而保障不同线路的边缘节点请求同个URL文件时,均能请求到同个多线节点,进而提升命中率,降低回源量。
此外,在需变更多线节点覆盖情况(如增删改或变更多线节点权重),DNS调度***可直接操作变更,在SRV记录TTL过期后即可在CDN节点缓存***生效,无需在所有边缘节点再重新下发配置,调整生效时间极大缩短,部署和调度效率极大提升。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
第二方面,参照图4所示,为本申请实施例所提供的另一种文件获取方法的实施流程图,该方法应用于DNS调度***,可以包括以下步骤:
步骤S21:接收目标节点发送的携带加速域名的SRV请求,所述目标节点为多线节点的下一层级节点;
步骤S22:从所述DNS调度***存储的SRV记录中,确定所述加速域名对应的各个多线节点的目标SRV记录;
步骤S23:根据所述各个目标SRV记录,生成并向所述目标节点发送所述各个多线节点的节点信息,以使所述目标节点根据所述各个节点信息中的目标域名和权重构建一致性hash环,并根据所述一致性hash环确定用于请求所述加速域名所对应文件的目标多线节点。
采用本申请实施例的技术方案,目标节点采用各个多线节点的目标域名和权重,构建一致性hash环,能够保证处于不同线路的目标节点所构建的一致性hash环相同,使得不同线路的目标节点在请求同一URL的文件时,均是对同一多线节点(即目标多线节点)进行请求,从而能够提升多线节点的命中率,降低源站的回源负载。
作为一种可能的实施方式,所述方法还包括:
从资源规划***中获取所述各个多线节点的唯一标签和承载能力;
根据所述各个多线节点的唯一标签,生成所述各个多线节点的目标域名;
根据所述各个多线节点的承载能力,确定所述各个多线节点的权重,所述多线节点在不同线路的承载能力相同;
根据所述各个多线节点的目标域名和权重,生成并存储所述各个多线节点的SRV记录。
作为一种可能的实施方式,所述SRV记录包括:加速域名、优先级、权重、TTL、端口、以及目标域名。
作为一种可能的实施方式,所述方法还包括:
在所述多线节点的覆盖情况出现变更的情况下,更新所述DNS调度***存储的SRV记录。
第三方面,图5是本申请实施例的一种文件获取装置的结构示意图,所述装置应用于目标节点,所述目标节点为多线节点的下一层级节点,所述装置包括:
第一请求模块,用于向DNS调度***请求URL关联的各个多线节点的节点信息,所述URL关联的各个多线节点的目标节点相同;
第一接收模块,用于接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重,所述目标域名是根据多线节点的唯一标签确定的,所述权重是根据所述多线节点的承载能力确定的,所述多线节点在不同线路的承载能力相同;
第一构建模块,用于根据所述各个多线节点的目标域名和权重,构建一致性hash环;
第一处理模块,用于根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点;
第二请求模块,用于通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
采用本申请实施例的技术方案,目标节点采用各个多线节点的目标域名和权重,构建一致性hash环,能够保证处于不同线路的目标节点所构建的一致性hash环相同,使得不同线路的目标节点在请求同一URL的文件时,均是对同一多线节点(即目标多线节点)进行请求,从而能够提升多线节点的命中率,降低源站的回源负载。
可选地,所述第一构建模块包括:
第一构建子模块,用于根据所述各个多线节点的权重,确定所述各个多线节点在一致性hash环上的分布数量;
第二构建子模块,用于根据所述各个多线节点的目标域名和分布数量,确定所述各个多线节点在一致性hash环上的分布位置;
第三构建子模块,用于根据所述各个多线节点在一致性hash环上的分布位置,构建一致性hash环。
可选地,所述第一请求模块包括:
第一请求子模块,用于根据所述URL,确定加速域名;
第二请求子模块,用于向所述DNS调度***发送携带所述加速域名的SRV请求,以使所述DNS调度***根据所述加速域名关联的各个SRV记录,生成并返回所述各个多线节点的节点信息。
可选地,所述节点信息还包括TTL;
所述装置还包括:
第二处理模块,用于根据所述目标节点缓存的所述URL关联的节点信息中的TTL,判断缓存的所述节点信息是否过期;
第三处理模块,用于在缓存的所述节点信息没有过期的情况下,通过基于缓存的所述节点信息构建的一致性hash环,确定所述目标多线节点;
所述第一请求模块包括:
第三请求子模块,用于在缓存的所述节点信息过期的情况下,向所述DNS调度***请求所述URL关联的各个多线节点的节点信息。
可选地,所述接收所述DNS调度***返回的各个节点信息之后,所述装置还包括:
第三请求模块,用于向所述DNS调度***发送携带所述各个多线节点的目标域名的A记录请求,以使所述DNS调度***根据自身存储的所述各个多线节点的A记录,返回所述目标节点所在线路对应的各个多线节点的ip地址;
所述第二请求模块包括:
第四请求子模块,用于从所述目标节点所在线路对应的各个多线节点的ip地址中,确定所述目标多线节点的ip地址;
第五请求子模块,用于根据所述目标多线节点的ip地址,向所述目标多线节点请求所述URL对应的文件。
第四方面,图6是本申请实施例的另一种文件获取装置的结构示意图,所述装置应用于DNS调度***,包括:
接收模块,用于接收目标节点发送的携带加速域名的SRV请求,所述目标节点为多线节点的下一层级节点;
处理模块,用于从所述DNS调度***存储的SRV记录中,确定所述加速域名对应的各个多线节点的目标SRV记录;
发送模块,用于根据所述各个目标SRV记录,生成并向所述目标节点发送所述各个多线节点的节点信息,以使所述目标节点根据所述各个节点信息中的目标域名和权重构建一致性hash环,并根据所述一致性hash环确定用于请求所述加速域名所对应文件的目标多线节点。
采用本申请实施例的技术方案,目标节点采用各个多线节点的目标域名和权重,构建一致性hash环,能够保证处于不同线路的目标节点所构建的一致性hash环相同,使得不同线路的目标节点在请求同一URL的文件时,均是对同一多线节点(即目标多线节点)进行请求,从而能够提升多线节点的命中率,降低源站的回源负载。
可选地,所述装置还包括:
获取模块,用于从资源规划***中获取所述各个多线节点的唯一标签和承载能力;
生成模块,用于根据所述各个多线节点的唯一标签,生成所述各个多线节点的目标域名;
分析模块,用于根据所述各个多线节点的承载能力,确定所述各个多线节点的权重,所述多线节点在不同线路的承载能力相同;
存储模块,用于根据所述各个多线节点的目标域名和权重,生成并存储所述各个多线节点的SRV记录。
可选地,所述SRV记录包括:加速域名、优先级、权重、TTL、端口、以及目标域名。
可选地,所述装置还包括:
更新模块,用于在所述多线节点的覆盖情况出现变更的情况下,更新所述DNS调度***存储的SRV记录。
第五方面,本申请实施例还提供了一种文件获取***,所述***包括多个多线节点、所述多个多线节点的下一层级节点、以及DNS调度***,其中:
所述多个多线节点的下一层级节点中,接收到携带URL的文件请求的下一层级节点执行如第一方面所述的文件获取方法,以根据所述DNS调度***返回的目标域名和权重构建一致性hash环,通过所述一致性hash环确定用于请求所述URL所对应文件的多线节点。
需要说明的是,装置实施例与方法实施例相近,故描述的较为简单,相关之处参见方法实施例即可。
本申请实施例还提供了一种电子设备,参照图7,图7是本申请实施例提出的电子设备的示意图。如图7所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,进而实现本申请实施例公开的文件获取方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的所述文件获取方法。
本申请实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的所述文件获取方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、***、设备、存储介质及程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种文件获取方法、装置、***及设备、介质和产品,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种文件获取方法,其特征在于,应用于目标节点,所述目标节点为多线节点的下一层级节点,所述方法包括:
向DNS调度***请求URL关联的各个多线节点的节点信息,所述URL关联的各个多线节点的目标节点相同;
接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重,所述目标域名是根据多线节点的唯一标签确定的,所述权重是根据所述多线节点的承载能力确定的,所述多线节点在不同线路的承载能力相同;
根据所述各个多线节点的目标域名和权重,构建一致性hash环;
根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点;
通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各个多线节点的目标域名和权重,构建一致性hash环,包括:
根据所述各个多线节点的权重,确定所述各个多线节点在一致性hash环上的分布数量;
根据所述各个多线节点的目标域名和分布数量,确定所述各个多线节点在一致性hash环上的分布位置;
根据所述各个多线节点在一致性hash环上的分布位置,构建一致性hash环。
3.根据权利要求1所述的方法,其特征在于,所述向DNS调度***请求所述URL关联的各个多线节点的节点信息,包括:
根据所述URL,确定加速域名;
向所述DNS调度***发送携带所述加速域名的SRV请求,以使所述DNS调度***根据所述加速域名关联的各个SRV记录,生成并返回所述各个多线节点的节点信息。
4.根据权利要求1所述的方法,其特征在于,所述节点信息还包括TTL;所述方法还包括:
根据所述目标节点缓存的所述URL关联的节点信息中的TTL,判断缓存的所述节点信息是否过期;
在缓存的所述节点信息没有过期的情况下,通过基于缓存的所述节点信息构建的一致性hash环,确定所述目标多线节点;
所述向DNS调度***请求所述URL关联的各个多线节点的节点信息,包括:
在缓存的所述节点信息过期的情况下,向所述DNS调度***请求所述URL关联的各个多线节点的节点信息。
5.根据权利要求1-4任一所述的方法,其特征在于,所述接收所述DNS调度***返回的各个节点信息之后,所述方法还包括:
向所述DNS调度***发送携带所述各个多线节点的目标域名的A记录请求,以使
所述DNS调度***根据自身存储的所述各个多线节点的A记录,返回所述目标节点所在线路对应的各个多线节点的ip地址;
所述通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件,包括:
从所述目标节点所在线路对应的各个多线节点的ip地址中,确定所述目标多线节点的ip地址;
根据所述目标多线节点的ip地址,向所述目标多线节点请求所述URL对应的文件。
6.一种文件获取方法,其特征在于,应用于DNS调度***,所述方法包括:
接收目标节点发送的携带加速域名的SRV请求,所述目标节点为多线节点的下一层级节点;
从所述DNS调度***存储的SRV记录中,确定所述加速域名对应的各个多线节点的目标SRV记录;
根据所述各个目标SRV记录,生成并向所述目标节点发送所述各个多线节点的节点信息,以使
所述目标节点根据所述各个节点信息中的目标域名和权重构建一致性hash环,并根据所述一致性hash环确定用于请求所述加速域名所对应文件的目标多线节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
从资源规划***中获取所述各个多线节点的唯一标签和承载能力;
根据所述各个多线节点的唯一标签,生成所述各个多线节点的目标域名;
根据所述各个多线节点的承载能力,确定所述各个多线节点的权重,所述多线节点在不同线路的承载能力相同;
根据所述各个多线节点的目标域名和权重,生成并存储所述各个多线节点的SRV记录。
8.根据权利要求7所述的方法,其特征在于,所述SRV记录包括:加速域名、优先级、权重、TTL、端口、以及目标域名。
9.根据权利要求6-8任一所述的方法,其特征在于,所述方法还包括:
在所述多线节点的覆盖情况出现变更的情况下,更新所述DNS调度***存储的SRV记录。
10.一种文件获取装置,其特征在于,应用于目标节点,所述目标节点为多线节点的下一层级节点,所述装置包括:
第一请求模块,用于向DNS调度***请求URL关联的各个多线节点的节点信息,所述URL关联的各个多线节点的目标节点相同;
第一接收模块,用于接收所述DNS调度***返回的各个节点信息,所述节点信息至少包括目标域名和权重,所述目标域名是根据多线节点的唯一标签确定的,所述权重是根据所述多线节点的承载能力确定的,所述多线节点在不同线路的承载能力相同;
第一构建模块,用于根据所述各个多线节点的目标域名和权重,构建一致性hash环;
第一处理模块,用于根据所述URL和所述一致性hash环,从所述各个多线节点中确定目标多线节点;
第二请求模块,用于通过所述目标节点所在的线路向所述目标多线节点请求所述URL对应的文件。
11.一种文件获取装置,其特征在于,应用于DNS调度***,所述装置包括:
接收模块,用于接收目标节点发送的携带加速域名的SRV请求,所述目标节点为多线节点的下一层级节点;
处理模块,用于从所述DNS调度***存储的SRV记录中,确定所述加速域名对应的各个多线节点的目标SRV记录;
发送模块,用于根据所述各个目标SRV记录,生成并向所述目标节点发送所述各个多线节点的节点信息,以使所述目标节点根据所述各个节点信息中的目标域名和权重构建一致性hash环,并根据所述一致性hash环确定用于请求所述加速域名所对应文件的目标多线节点。
12.一种文件获取***,其特征在于,所述***包括多个多线节点、所述多个多线节点的下一层级节点、以及DNS调度***,其中:
所述多个多线节点的下一层级节点中,接收到携带URL的文件请求的下一层级节点执行如权利要求1至5中任一项所述的文件获取方法,以根据所述DNS调度***返回的目标域名和权重构建一致性hash环,通过所述一致性hash环确定用于请求所述URL所对应文件的多线节点。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至5中任一项所述的文件获取方法,或者,所述处理器执行所述计算机程序以实现如权利要求6至9中任一项所述的文件获取方法。
14.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至5中任一项所述的文件获取方法,或者,该计算机程序/指令被处理器执行时实现如权利要求6至9中任一项所述的文件获取方法。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至5中任一项所述的文件获取方法,或者,该计算机程序/指令被处理器执行时实现如权利要求6至9中任一项的文件获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211736473.9A CN116248632A (zh) | 2022-12-30 | 2022-12-30 | 一种文件获取方法、装置、***及设备、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211736473.9A CN116248632A (zh) | 2022-12-30 | 2022-12-30 | 一种文件获取方法、装置、***及设备、介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116248632A true CN116248632A (zh) | 2023-06-09 |
Family
ID=86632248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211736473.9A Pending CN116248632A (zh) | 2022-12-30 | 2022-12-30 | 一种文件获取方法、装置、***及设备、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248632A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2154860A2 (en) * | 2008-07-30 | 2010-02-17 | Sap Ag | Secure distributed item-level discovery service using secret sharing |
US20140258349A1 (en) * | 2013-03-08 | 2014-09-11 | Go Daddy Operating Company, LLC | Systems for Associating an Online File Folder with a Uniform Resource Locator |
US20150288647A1 (en) * | 2011-05-12 | 2015-10-08 | Telefonica, S.A. | Method for dns resolution of content requests in a cdn service |
WO2021135835A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京金山云网络技术有限公司 | 资源获取方法、装置及cdn网络中的节点设备 |
-
2022
- 2022-12-30 CN CN202211736473.9A patent/CN116248632A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2154860A2 (en) * | 2008-07-30 | 2010-02-17 | Sap Ag | Secure distributed item-level discovery service using secret sharing |
US20150288647A1 (en) * | 2011-05-12 | 2015-10-08 | Telefonica, S.A. | Method for dns resolution of content requests in a cdn service |
US20140258349A1 (en) * | 2013-03-08 | 2014-09-11 | Go Daddy Operating Company, LLC | Systems for Associating an Online File Folder with a Uniform Resource Locator |
WO2021135835A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京金山云网络技术有限公司 | 资源获取方法、装置及cdn网络中的节点设备 |
CN113132443A (zh) * | 2019-12-31 | 2021-07-16 | 北京金山云网络技术有限公司 | 资源获取方法、装置及cdn网络中的节点设备 |
Non-Patent Citations (2)
Title |
---|
DANIEL KAISER AND MARCEL WALDVOGEL: ""Adding Privacy to Multicast DNS Service Discovery"", 《IEEE》, 31 December 2014 (2014-12-31) * |
朱聃;何燕锋;***;: "绿色CDN缓存节点***", 信息通信, no. 06, 15 June 2020 (2020-06-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11451472B2 (en) | Request routing based on class | |
US11811657B2 (en) | Updating routing information based on client location | |
EP3567881B1 (en) | Request routing and updating routing information utilizing client location information | |
US20090248697A1 (en) | Cache optimization | |
CN109873855B (zh) | 一种基于区块链网络的资源获取方法和*** | |
CN116248632A (zh) | 一种文件获取方法、装置、***及设备、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Applicant after: Tianyiyun Technology Co.,Ltd. Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing Applicant before: Tianyiyun Technology Co.,Ltd. |