CN117527809A - 资源获取方法、装置、设备及存储介质 - Google Patents
资源获取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117527809A CN117527809A CN202311801519.5A CN202311801519A CN117527809A CN 117527809 A CN117527809 A CN 117527809A CN 202311801519 A CN202311801519 A CN 202311801519A CN 117527809 A CN117527809 A CN 117527809A
- Authority
- CN
- China
- Prior art keywords
- cache server
- target
- network
- preset
- client device
- 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 72
- 238000013507 mapping Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种资源获取方法、装置、设备及存储介质。该方法包括:接收客户端设备发送的资源获取请求;确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;确定资源获取请求是否能够外溢;若存在,则将网内目标缓存服务器的地址发送至客户端设备;若不存在且能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至客户端设备;若不存在且不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备;客户端设备基于网内目标缓存服务器、外溢CDN或网内备选缓存服务器的地址获取目标资源。本申请能够在部署少量缓存服务器时减少资源获取延时。
Description
技术领域
本申请涉及通信技术,尤其涉及一种资源获取方法、装置、设备及存储介质。
背景技术
内容分发网络用于将内容从内容源中心向边缘的推送和存储,承担实际的内容数据流的全网分发工作和面向最终用户的数据请求服务。内容分发网络最基本的工作单元为缓存服务器,缓存服务器能够直接响应终端的访问请求,把缓存在本地的内容快速地提供给终端。负载均衡设备用于将终端的请求调度到缓存服务器。当用户在浏览器中请求一个网址时,浏览器会将该网址发送给负载均衡设备,由负载均衡设备根据负载均衡策略和算法,将终端的请求调度到缓存服务器,由缓存服务器为终端提供内容服务。
基于上述场景,内容分发网络在部署初期,如果部署的缓存服务器数量较少,则会造成用户获取内容延迟,如果部署的缓存服务器数量过多,虽然用户可以快速获取到内容,但会使得缓存服务器闲置或负载过低,造成资源的浪费。
发明内容
本申请提供一种资源获取方法、装置、设备及存储介质,用以解决现有技术中在内容分发网络部署初期,部署大量缓存服务器会浪费硬件资源,部署少量缓存服务器会造成用户获取内容延迟的技术问题。
第一方面,本申请提供一种资源获取方法,应用于负载均衡设备,所述负载均衡设备位于预设内容分发网络CDN中,所述方法包括:
接收客户端设备发送的资源获取请求;所述资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名;
根据所述IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;所述第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的;
根据所述目标域名确定资源获取请求是否能够外溢;
若存在网内目标缓存服务器,则将所述网内目标缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内目标缓存服务器的地址获取目标资源;
若不存在网内目标缓存服务器,且所述资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至所述客户端设备,以使所述客户端设备基于所述外溢CDN的地址获取目标资源;
若不存在网内目标缓存服务器,且所述资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内备选缓存服务器的地址获取目标资源,所述第二预设条件是基于各网内缓存服务器的设备信息确定的。
第二方面,本申请提供一种资源获取装置,应用于负载均衡设备,所述负载均衡设备位于预设内容分发网络CDN中,所述装置包括:
接收模块,用于接收客户端设备发送的资源获取请求;所述资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名;
第一确定模块,用于根据所述IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;所述第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的;
第二确定模块,用于根据所述目标域名确定资源获取请求是否能够外溢;
第一发送模块,用于若存在网内目标缓存服务器,则将所述网内目标缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内目标缓存服务器的地址获取目标资源;
第二发送模块,用于若不存在网内目标缓存服务器,且所述资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至所述客户端设备,以使所述客户端设备基于所述外溢CDN的地址获取目标资源;
第三发送模块,用于若不存在网内目标缓存服务器,且所述资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内备选缓存服务器的地址获取目标资源,所述第二预设条件是基于各网内缓存服务器的设备信息确定的。
第三方面,本申请提供一种负载均衡设备,包括:存储器、处理器和收发器;
所述存储器,所述处理器和所述收发器电路互连;
所述存储器存储计算机执行指令;
所述收发器用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面中所述的方法。
本申请提供的资源获取方法、装置、设备及存储介质,通过接收客户端设备发送的资源获取请求;所述资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名;根据所述IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;所述第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的;根据所述目标域名确定资源获取请求是否能够外溢;若存在网内目标缓存服务器,则将所述网内目标缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内目标缓存服务器的地址获取目标资源;若不存在网内目标缓存服务器,且所述资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至所述客户端设备,以使所述客户端设备基于所述外溢CDN的地址获取目标资源;若不存在网内目标缓存服务器,且所述资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内备选缓存服务器的地址获取目标资源,所述第二预设条件是基于各网内缓存服务器的设备信息确定的。本申请可以在CDN部署初期只部署少量缓存服务器,当存在网内目标缓存服务器时,由网内缓存服务器为客户端设备提供资源获取服务,在减少用户获取资源的延时的同时节约硬件资源。在不存在网内目标缓存服务器,若资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至所述客户端设备,若资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至所述客户端设备。由网内备选缓存服务器或外溢CDN为客户端设备提供资源获取服务。网内备选缓存服务器能够保证用客户端设备获取到目标资源,外溢CDN能够保障客户端设备快速获取到目标资源,因此,在预设CDN的网内缓存服务器无法满足第一预设条件时,不仅可以由网内备选缓存服务器为客户端设备提供资源获取服务,保障客户端设备获取到目标资源,还可以由外溢CDN为客户端设备提供资源获取服务,减少用户获取资源的延迟,保障用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的资源获取方法的应用场景对应的网络架构图;
图2是本申请实施例一提供的资源获取方法的流程示意图;
图3是本申请实施例二提供的资源获取方法的流程示意图;
图4是本申请实施例三提供的资源获取方法的流程示意图;
图5是本申请实施例五提供的资源获取装置的结构示意图;
图6是本申请实施例六提供的负载均衡设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
本发明实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先对本申请所涉及的名词进行解释。
内容分发网络,英文全称为Content Distribute Network,英文简称为CDN。CDN是一种高效地向用户分发内容的分布式服务器网络。CDN将缓存的内容存储在位于靠近最终用户的入网点位置的边缘服务器,使用户就近获取所需内容,最大程度地降低延迟。
缓存服务器,英文全称为Cache Server,是用来存放需要频繁访问的网络内容的服务器。缓存服务器在CDN中承担实际的内容数据流的全网分发工作和面向最终用户的数据请求服务,同时还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。
全局服务器负载均衡,英文全称为Global Server Load Balancing,英文简称为GSLB。GSLB是一种网络技术,GSLB根据各种参数(如服务器负载、地理位置和响应时间)将客户端请求定向到最适合处理请求的服务器。在CDN中,GSLB是关键技术之一,GSLB服务器负责在整个CDN网络中智能地选择最佳的缓存服务器来接收用户的请求。
以下对本申请所涉及的现有技术进行详细说明及分析。
当用户在浏览器中请求一个网址时,浏览器会将该网址发送给负载均衡设备,由负载均衡设备根据负载均衡策略和算法,将终端的请求调度到缓存服务器,由缓存服务器为终端提供内容服务。
现目前,为了降低用户获取资源的延迟,内容分发网络需要部署足够数量的缓存服务器,以处理不同地区、不同地点的用户的资源获取请求。但如果在内容分发网络的部署初期,就部署大量缓存服务器,而内容分发网络的用户数量较少,不仅会给内容分发网络的运营方造成较大的部署压力,还会导致缓存服务器闲置或负载过低,造成资源的浪费。而如果在内容分发网络的部署初期,仅部署少量的缓存服务器,那么,缓存服务器与用户之间的通信距离可能会较远,则会导致用户获取资源的延迟,造成用户体验较差。
综上,现有技术中存在以下技术问题:在内容分发网络部署初期,部署大量缓存服务器会浪费硬件资源,部署少量缓存服务器会造成用户获取内容延迟。
在面对现有技术中的问题时,发明人通过创造性研究发现,为了能够在内容分发网络部署初期,只部署少量缓存服务器,在节约硬件资源的同时,保证用户能够快速获取内容,可以根据用户所使用的客户端设备的IP地址确定预设CDN中是否存在满足第一预设条件的网内目标缓存服务器,并根据目标域名确定资源获取请求是否能够外溢。如果存在网内目标缓存服务器,则将网内目标缓存服务器的地址发送至客户端设备,由网内目标缓存服务器为客户端设备提供内容服务。如果不存在网内目标缓存服务器,且资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN地址发送至客户端设备,由外溢CDN为客户端设备提供内容服务。如果若不存在网内目标缓存服务器,且资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备,由网内备选缓存服务器为客户端设备提供内容服务。因此,对于存在网内目标缓存服务器的资源获取请求,可以由预设CDN提供资源获取服务,减少用户获取资源的网络延迟,对于不存在网内目标缓存服务器、但能够外溢的资源获取请求,本申请可以由外溢CDN提供资源获取服务,减少用户获取资源的网络延迟,对于不存在网内目标缓存服务器、且不能外溢的资源获取请求,可以由网内备选缓存服务器提供资源获取服务,减少用户获取资源的网络延迟,因此,本申请的方案可以在只部署少量缓存服务器,节约硬件资源的同时,满足不同地区不同地点用户快速获取资源的需求。
所以,发明人提出本申请的资源获取方法、装置、设备及存储介质,旨在解决现有技术的如上技术问题。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面将对本申请实施例提供的资源获取方法的网络架构和应用场景进行介绍。下面的描述涉及附图时,除非另有表示,不同附图中的相同数据表示相同或相似的要素。
图1是本申请实施例提供的资源获取方法的应用场景对应的网络架构图。如图1所示,本申请实施例提供的一种应用场景对应的网络架构中包括:客户端设备10,负载均衡设备11,预设CDN12、至少一个外溢CDN13。预设CDN12包括至少一个网内缓存服务器121。外溢CDN13包括至少一个外溢缓存服务器131。
当用户需要获取目标资源时,可以在客户端设备10的浏览器中输入目标资源地址。目标资源地址可以为目标资源的统一资源定位符URL。对于用户想要获取的任何目标资源,客户端设备10都必须通过DNS来请求获得服务器的IP地址。
客户端设备10根据目标资源的URL和自身的IP地址生成资源获取请求,并发送给负载均衡设备11。资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名和用户标识。
负载均衡设备11接收客户端设备10发送的资源获取请求;根据客户端设备的IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器1210;第一预设条件是基于客户端设备10与各网内缓存服务器121之间的通信距离确定的。
负载均衡设备11根据目标域名确定资源获取请求是否能够外溢。
若存在网内目标缓存服务器1210,则负载均衡设备11将网内目标缓存服务器1210的地址发送至客户端设备10,以使客户端设备10基于网内目标缓存服务器1210的地址获取目标资源。
若不存在网内目标缓存服务器1210,且资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN13的地址发送至客户端设备10,以使客户端设备10基于外溢CDN13的地址获取目标资源。
若不存在网内目标缓存服务器1210,且资源获取请求不能外溢,则从预设CDN12中确定满足第二预设条件的网内备选缓存服务器1211,并将网内备选缓存服务器1211的地址发送至客户端设备,以使客户端设备基于网内备选缓存服务器1211的地址获取目标资源,第二预设条件是基于各网内缓存服务器121的设备信息确定的。
客户端设备10接收负载均衡设备11发送的网内目标缓存服务器1210的地址,基于网内目标缓存服务器1210的地址访问网内目标缓存服务器1210,并从网内目标缓存服务器1210中获取目标资源。
客户端设备10接收负载均衡设备11发送的网内备选缓存服务器1211的地址,基于网内备选缓存服务器1211的地址访问网内备选缓存服务器1211,并从网内备选缓存服务器1211中获取目标资源。
客户端设备10接收负载均衡设备11发送的外溢CDN13地址,基于外溢CDN13地址访问外溢CDN13,向外溢CDN13发送资源获取请求,外溢CDN可以根据资源获取请求从其包括的至少一个外溢缓存服务器131中确定外溢目标缓存服务器1310,将外溢目标缓存服务器1310的地址发送给客户端设备。客户端设备基于外溢目标缓存服务器1310的地址访问外溢目标缓存服务器1310,从外溢目标缓存服务器1310中获取目标资源。
下面将结合附图,对本申请的实施例进行描述。以下实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
实施例一
图2是本申请实施例一提供的资源获取方法的流程示意图。如图2所示,本实施例的执行主体为资源获取装置,该资源获取装置位于负载均衡设备中。本实施例提供的资源获取方法包括步骤201至步骤206。
步骤201,接收客户端设备发送的资源获取请求;资源获取请求包括客户端设备的网际协议IP地址。
本实施例中,当用户需要获取目标资源时,可以在客户端设备的浏览器中输入目标资源的统一资源定位符URL。客户端设备根据目标资源的URL和自身的IP地址生成资源获取请求,并发送给负载均衡设备。
资源获取请求可以为超文本传输协议http请求。http请求报文可以包括请求方法、URI协议、http版本、请求头。负载均衡设备可以采用http协议对资源获取请求进行解析,获取客户端设备的IP地址、目标资源的URL、目标资源所属的目标域名等信息。
步骤202,根据IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的。
本实施例中,预设CDN可以为部署初期的CDN,预设CDN中可以部署少量网内缓存服务器,预设CDN中部署的网内缓存服务器的数量可以根据预设CDN的用户数量确定,例如,与用户数量呈正比,并随着用户数量的增加而增加。预设CDN中部署的网内缓存服务器的所处区域可以根据预设CDN的用户分区区域确定,例如,仅在用户数量大于预设用户数量的区域部署网内缓存服务器。
负载均衡设备可以根据IP地址确定客户端设备所处区域。例如,根据IP地址查询客户端设备所处的国家和地区。第一预设条件可以是客户端设备所处区域与网内缓存服务器之间的通信距离小于预设通信距离,也可以是客户端设备所处区域与网内缓存服务器之间的通信距离小于所需要的通信时间小于预设通信时间,本实施例对此不做限定。
负载均衡设备中可以存储有各网内缓存服务器所处区域,因此,可以根据客户端设备所处区域和各网内缓存服务器所处区域,确定各网内缓存服务器中是否存在与客户端设备所处区域之间的通信距离小于预设通信距离的目标网内缓存服务器,也就是确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器。
本实施例中,当第一预设条件不同时,负载均衡设备可以根据不同的方式确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器。
步骤203,根据目标域名确定资源获取请求是否能够外溢。
本实施例中,负载均衡设备中可以预先配置有多个外溢预设CDN,可以理解的是,从不同外溢CDN中获取不同域名下的资源的速度不同。为了进一步减少用户获取目标资源的延时,提高用户体验,当目标资源属于不同目标域名时,资源获取请求可以被重定向至不同的外溢预设CDN。
本实施例中,如果负载均衡设备中配置了提供目标域名下资源获取服务的外溢预设CDN,则可以确定资源获取请求能够外溢,如果负载均衡设备中未配置提供目标域名下资源获取服务的外溢CDN,则可以确定资源获取请求不能外溢。
步骤204,若存在网内目标缓存服务器,则将网内目标缓存服务器的地址发送至客户端设备,以使客户端设备基于网内目标缓存服务器的地址获取目标资源。
如果存在网内目标缓存服务器,则表示可以采用网内缓存服务器为用户提供资源获取服务,因此,负载均衡设备可以将网内目标缓存服务器的地址发送至客户端设备,以使客户端设备基于网内目标缓存服务器的地址获取目标资源,也就是将客户端设备发送的资源获取请求重定向至网内目标缓存服务器。
客户端设备基于网内目标缓存服务器的地址访问网内目标缓存服务器,向网内目标缓存服务器发送资源获取请求。网内目标缓存服务器根据目标资源的URL定位目标资源,如果网内目标缓存服务器中缓存有目标资源,则将目标资源发送给客户端设备。如果网内目标缓存服务器中未缓存目标资源,则根据目标资源的URL访问目标资源的源站点,从目标资源的源站点获取目标资源,缓存至本地并发送给客户端设备。
步骤205,若不存在网内目标缓存服务器,且资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至客户端设备,以使客户端设备基于外溢CDN的地址获取目标资源。
步骤206,若不存在网内目标缓存服务器,且资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备,以使客户端设备基于网内备选缓存服务器的地址获取目标资源,第二预设条件是基于各网内缓存服务器的设备信息确定的。
本实施例中,如果不存在网内目标缓存服务器,则表示预设CDN中的各网内缓存服务器均不满足第一预设条件,无法为用户提供良好的资源获取服务,如果用户从网内缓存服务器中获取资源,则可能会有较高的延迟,影响用户体验。这有可能是各网内缓存服务器与客户端设备之间通信距离过长,或者,与客户端设备之间通信距离最近的网内缓存服务器的负载过高导致的。
此时,为了使用户可以快速的获取到目标资源,如果资源获取请求能够外溢,负载均衡设备中配置有提供目标资源获取服务的外溢CDN的地址,则负载均衡设备可以将提供目标资源获取服务的外溢CDN的地址发送至客户端设备,以使客户端设备基于外溢CDN的地址获取目标资源,也就是将客户端的资源获取请求重定向至外溢CDN,以保障客户端设备能够快速获取到目标资源。
外溢CDN可以根据资源获取请求从外溢CDN的外溢缓存服务中确定为客户端设备提供资源获取服务的外溢目标缓存服务器,并将客户端的资源获取请求重定向至外溢目标缓存服务器,由外溢目标缓存服务器为客户端设备提供目标资源。
如果资源获取请求不能外溢,则为了确保用户能够获取到目标资源,可以从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备,以确保能够响应客户端设备的资源获取请求,使客户端设备能够基于网内备选缓存服务器的地址获取到目标资源。
第二预设条件是基于各网内缓存服务器的设备信息确定的。示例性地,第二预设条件可以为网内缓存服务器的负载值小于预设负载阈值。
本实施例中,负载均衡设备可以按照HTTP重定向协议对网内目标缓存服务器的地址或外溢CDN地址进行封装,并将封装后的数据发送给客户端设备。
本实施例提供的资源获取方法,应用于负载均衡设备,负载均衡设备位于预设内容分发网络CDN中,通过接收客户端设备发送的资源获取请求;资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名;根据IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的;根据目标域名确定资源获取请求是否能够外溢;若存在网内目标缓存服务器,则将网内目标缓存服务器的地址发送至客户端设备,以使客户端设备基于网内目标缓存服务器的地址获取目标资源;若不存在网内目标缓存服务器,且资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至客户端设备,以使客户端设备基于外溢CDN的地址获取目标资源;若不存在网内目标缓存服务器,且资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备,以使客户端设备基于网内备选缓存服务器的地址获取目标资源,第二预设条件是基于各网内缓存服务器的设备信息确定的。本申请可以在CDN部署初期只部署少量缓存服务器,当存在网内目标缓存服务器时,由网内缓存服务器为客户端设备提供资源获取服务,在减少用户获取资源的延时的同时节约硬件资源。在不存在网内目标缓存服务器,若资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至客户端设备,若资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备。由网内备选缓存服务器或外溢CDN为客户端设备提供资源获取服务。网内备选缓存服务器能够保证用客户端设备获取到目标资源,外溢CDN能够保障客户端设备快速获取到目标资源,因此,在预设CDN的网内缓存服务器无法满足第一预设条件时,不仅可以由网内备选缓存服务器为客户端设备提供资源获取服务,保障客户端设备获取到目标资源,还可以由外溢CDN为客户端设备提供资源获取服务,减少用户获取资源的延迟,保障用户体验。
可选地,资源获取请求还包括用户标识,步骤203细化包括步骤2031至步骤2033。
步骤2031,根据多个第一映射关系确定目标域名是否存在对应的外溢目标CDN;第一映射关系为预设域名与外溢预设CDN的映射关系。
本实施例中,多个第一映射关系可以以数据库表的形式进行存储,并可以预先存储至负载均衡设备中,或者与负载均衡设备通信连接的预设数据库中。
多个第一映射关系包括多个预设域名,当目标资源所属目标域名属于多个预设域名时,能够从多个第一映射关系中未确定出目标域名对应的外溢目标CDN,目标域名存在对应的外溢目标CDN。
当目标资源所属目标域名不属于多个预设域名时,则不能够从多个第一映射关系中未确定出目标域名对应的外溢目标CDN,目标域名不存在对应的外溢目标CDN。
步骤2032,若存在对应的外溢目标CDN,且客户端设备的服务优先级大于预设优先级,则确定资源获取请求能够外溢,并将外溢目标CDN确定为提供目标资源获取服务的外溢CDN。
本实施例中,负载均衡设备可以根据用户标识确定客户端设备的服务优先级。为了给服务优先级更高的优质用户提供更好的资源获取服务,可以在目标域名存在对应的外溢目标CDN,且客户端设备的服务优先级大于预设优先级时,将外溢目标CDN地址作为提供资源获取服务的外溢CDN地址发送至客户端设备,以确保客户端设备能够快速获取到目标资源。
步骤2033,若不存在对应的外溢目标CDN,或,客户端设备的服务器优先级小于或等于预设优先级,则确定资源获取请求不能外溢。
如果目标域名不存在对应的外溢目标CDN,或者,客户端设备的服务器优先级小于或等于预设优先级,则可以将网内备选缓存服务器的地址发送至客户端设备,由网内备选缓存服务器为客户端设备提供资源获取服务,确保客户端设备能够获取到目标资源。
本实施例提供的资源获取方法,根据多个第一映射关系确定目标域名是否存在对应的外溢目标CDN,在存在对应的外溢目标CDN,且客户端设备的服务优先级大于预设优先级时,将外溢目标CDN地址作为提供资源获取服务的外溢CDN地址发送至客户端设备,能够进一步减少优质用户获取目标资源的延时,提高用户体验。在不存在对应的外溢目标CDN,或,客户端设备的服务器优先级小于或等于预设优先级,将网内备选缓存服务器的地址发送至客户端设备,由网内备选缓存服务器为客户端设备提供资源获取服务,能够确保用户获取到目标资源。
实施例二
图3是本申请实施例二提供的资源获取方法的流程示意图。如图3所示,本实施例提供的资源获取方法,在实施例一的基础上,步骤202细化包括步骤301至304。
步骤301,根据IP地址确定客户端设备所处区域是否存在提供资源获取服务的目标机房组。
本实施例中,在预设CDN网络中,多台网内缓存服务器可以组成机房、多个机房可以组成机房组,以便对各网内缓存服务器进行统一的管理和运维。因此,负载均衡设备需要先确定客户端设备所处区域是否存在提供资源获取服务的目标机房组。
本实施例中,负载均衡设备可以根据IP地址确定客户端设备所处区域,并可以根据多个第二映射关系确定客户端设备所处区域是否存在提供资源获取服务的目标机房组。
第二映射关系为一个预设区域标识与至少一个预设机房组的映射关系。多个第二映射关系可以以数据库表的形式进行存储,并可以预先存储至负载均衡设备中,或者与负载均衡设备通信连接的预设数据库中。多个第二映射关系包括多个预设区域标识。
如果客户端设备所处区域属于多个预设区域标识所标识的预设区域,则将标识客户端设备所处区域的预设区域标识对应的预设机房组确定为目标机房组,客户端设备所处区域存在提供资源获取服务的目标机房组。目标机房组为至少一个。
如果客户端设备所处区域不属于多个预设区域标识所标识的预设区域,则确定客户端设备所处区域不存在提供资源获取服务的目标机房组。
步骤302,若不存在提供资源获取服务的目标机房组,则确定不存在网内目标缓存服务器。
本实施例中,第一预设条件可以包括与客户端设备所处区域相同,如果不存在提供资源获取服务的目标机房组,则表示客户端设备所处区域没有配置机房组、机房、网内缓存服务器,因此,可以确定不存在网内目标缓存服务器。
步骤303,若存在提供资源获取服务的目标机房组,则确定目标机房组中是否存在满足第三预设条件的第一候选缓存服务器;第三预设条件是基于各网内缓存服务器的设备信息确定的。
本实施例中,如果客户端设备所处区域存在提供资源获取服务的目标机房组,则需要确定目标机房组包括的网内预设缓存服务器中是否存在满足第三预设条件的第一候选缓存服务器。
第三预设条件是基于各网内缓存服务器的设备信息确定的,示例性地,第三预设条件可以为网内缓存服务器的负载率小于预设负载阈值,预设负载阈值根据各网内缓存服务器的负载率确定,例如,预设负载阈值可以为各网内缓存服务器的负载率各网内缓存服务器的负载率的中位数,或者,网内缓存服务器的带宽占用比小于预设带宽占用比阈值,预设带宽占用比根据各网内缓存服务器的带宽占用比确定,例如,可以为各网内缓存服务器的带宽占用比的中位数,本实施例对此不做限定。
本实施例中,负载均衡设备可以获取预设CDN的网内缓存服务器列表,网内缓存服务器列表包括预设CDN的各网内缓存服务器标识、各网内缓存服务器的所在机房、网内缓存服务器的所在机房组。负载均衡设备可以从网内缓存服务器中确定出目标机房组包括的网内预设缓存服务器。
如果目标机房组包括的网内预设缓存服务器为空,则目标机房组中不存在满足第三预设条件的第一候选缓存服务器。如果目标机房组包括的网内预设缓存服务器不为空,则可以将目标机房组包括的网内预设缓存服务器中,满足第三预设条件的网内预设缓存服务器,确定为第一候选缓存服务器。
步骤304,若存在第一候选缓存服务器,则从第一候选缓存服务器中确定满足第一预设条件的网内目标缓存服务器。
本实施例中,如果存在第一候选缓存服务器,则可以将第一候选缓存服务器中满足第一预设条件的第一候选缓存服务器确定为网内目标缓存服务器。
本实施例提供的资源获取方法,能够快速确定客户端设备所处区域是否存在目标机房组、目标机房组中是否存在第一候选缓存服务器,进而可以快速确定出网内目标缓存服务。
可选地,步骤301细化包括步骤401至步骤405。
步骤401,根据IP地址确定获取客户端设备所处区域的用户地理位置信息。
本实施例中,负载均衡设备可以在IP地理信息库中,根据客户端设备的IP地址,查询客户端设备所处区域的用户地理位置信息。用户地理位置信息可以包括客户端设备所在的国家、省份或地区。还可以包括客户端设备归属的移动通信运营商。
步骤402,若用户地理位置信息为空,则确定客户端设备所处区域不存在提供资源获取服务的目标机房组。
本实施例中,由于IP地址更新较快,IP地理信息库的信息可以会不够全面,因此,负载均衡设备获取的客户端设备所处区域的用户地理位置信息可能为空,这时,负载均衡设备无法准确的确定客户端设备所处区域,因此,确定客户端设备所处区域不存在提供资源获取服务的目标机房组。
步骤403,若用户地理位置信息不为空,则确定与用户地理位置信息匹配的预设机房组。
本实施例中,如果用户地理位置信息不为空,则负载均衡设备可以根据多个第三映射关系,确定与用户地理位置信息匹配的预设机房组。第三映射关系为一个预设用户地理位置信息与至少一个预设机房组的映射关系。第三映射关系可以以数据库表的形式进行存储,并可以预先存储至负载均衡设备中,或者与负载均衡设备通信连接的预设数据库中。多个第三映射关系包括多个预设地理位置信息。
如果用户地理位置信息属于多个预设地理位置信息,则将用户地理位置信息对应的至少一个预设机房组确定为与用户地理位置信息匹配的预设机房组。
步骤404,若确定出与用户地理位置信息匹配的预设机房组,则将与用户地理位置信息匹配的预设机房组确定为目标机房组。
步骤405,若确定不出与用户地理位置信息匹配的预设机房组,则确定客户端设备所处区域不存在提供资源获取服务的目标机房组。
本实施例中,如果确定不出与用户地理位置信息匹配的预设机房组,则有可能是用户地理位置信息所表示的区域还未部署网内缓存服务器的机房组,因此,确定客户端设备所处区域不存在提供资源获取服务的目标机房组。
本实施例提供的资源获取方法,根据IP地址确定获取客户端设备所处区域的用户地理位置信息,可以快速获取到用户地理位置信息,进而可以根据用户地理位置信息快速确定客户端设备所处区域是否存在提供资源获取服务的目标机房组。
实施例三
图4是本申请实施例三提供的资源获取方法的流程示意图。如图4所示,本实施例提供的资源获取方法,在上述任意一个实施例的基础上,步骤302中“确定目标机房组中是否存在满足第三预设条件的第一候选缓存服务器”细化包括步骤501至步骤504。
步骤501,获取目标机房组包括的至少一个网内预设缓存服务器的设备信息。
本实施例中,预设CDN网络中的各网内缓存服务器可以被配置为按照预设时间间隔向负载均衡设备发送设备信息。因此,负载均衡设备可以按照预设时间间隔接收各网内缓存服务器发送的设备信息。
设备信息可以包括网内缓存服务器的所在机房组。因此,负载均衡设备可以各网内缓存服务器的所在机房组,获取到目标机房组包括的至少一个网内预设缓存服务器的设备信息。
或者,负载均衡设备中可以存储中预设CDN的各机房组包括的网内缓存服务器标识,设备信息可以包括网内缓存服务器标识,进而,负载均衡设备可以根据目标机房组包括的网内预设缓存服务器标识,从各网内缓存服务器的设备信息中,获取到目标机房组包括的至少一个网内预设缓存服务器的设备信息。
步骤502,根据各设备信息,确定各网内预设缓存服务器是否满足第三预设条件。
本实施例中,设备信息可以包括以下至少一项:网内预设缓存服务器的负载值、带宽占用比、心跳时间、所在机房组评分值、所在机房评分值。
第三预设条件可以包括以下至少一项:所在机房组评分值大于预设CDN中的机房组评分最小值、所在机房评分值大于预设CDN中的机房评分最小值、负载值小于预设负载阈值、带宽占用比小于预设带宽占用比阈值、心跳时间小于预设心跳时间阈值。
可选地,设备信息包括网内预设缓存服务器的负载值、带宽占用比、心跳时间、所在机房组评分值、所在机房评分值。第三预设条件包括:所在机房组评分值大于预设CDN中的机房组评分最小值、所在机房评分值大于预设CDN中的机房评分最小值、负载值小于预设负载阈值、带宽占用比小于预设带宽占用比阈值、心跳时间小于预设心跳时间阈值。
本实施例中,评分值可以为网内缓存服务器、网内缓存服务器的所在机房、网内缓存服务器的所在机房组的一个预设属性。工作人员可以通过调整条评分值来灵活调整各预设CDN中各机房组、各机房中的网内缓存服务器被确定为网内目标缓存服务器的概率,以及各网内缓存服务器被确定为网内目标缓存服务器的概率,参与负载均衡设备对网内目标缓存服务器的决策。进而,工作人员可以在不同情况下,人为干预预设CDN中各网内缓存服务器的负载均衡,实现预设CDN的收益最大化。
可选地,设备信息包括网内预设缓存服务器的已使用带宽和总带宽,负载均衡设备可以根据已使用带宽和总带宽计算网内预设缓存服务器的带宽占用比。具体地,带宽占用比=已使用带宽/总带宽。
步骤503,若各网内预设缓存服务器均不满足第三预设条件,则确定目标机房组中不存在第一候选缓存服务器。
步骤504,若存在网内预设缓存服务器满足第三预设条件,则确定目标机房组中存在第一候选缓存服务器,并将满足第三预设条件的网内预设缓存服务器确定为第一候选缓存服务器。
本实施例提供的资源获取方法,根据各设备信息,确定各网内预设缓存服务器是否满足第三预设条件,可以从各网内预设缓存服务器中快速确定出第一候选缓存服务器。
可选地,步骤303中“从第一候选缓存服务器中确定满足第一预设条件的网内目标缓存服务器”细化包括步骤601至步骤605。
步骤601,根据各第一候选缓存服务器的设备信息,计算各第一候选缓存服务器的服务器评分值。
本实施例中,各第一候选缓存服务器的服务器评分值可以满足以下公式:
R1=R2+(load×100×(100-load)/100),其中,R1第一候选缓存服务器的服务器评分值,R2表示第一候选缓存服务器的所在机房评分值,load表示第一候选缓存服务器的负载值。
步骤602,响应于预设负载均衡策略被配置为资源优先策略,根据各第一候选缓存服务器中是否已缓存目标资源,对各第一候选缓存服务器的服务器评分值进行第一预设处理。
本实施例中,负载均衡设备中可以预先配置有预设负载均衡策略。预设负载均衡策略可以为资源优先策略或机房组优先策略等。负载均衡设备不同时,第一预设条件可以不同,进而使得各第一候选缓存服务器中是否已缓存目标资源的结果。进而,不同的负载均衡策略,可以确定出不同的网内目标缓存服务器,进而将资源获取请求重定向至不同的网内目标缓存服务器,实现各网内缓存服务器之间的负载均衡。
本实施例中,如果预设负载均衡策略被配置为资源优先策略,则负载均衡设备在确定网内目标缓存服务器时,还需要考虑各第一候选缓存服务器中是否已缓存目标资源。显然,在其它条件相同时,客户端设从已缓存目标资源的第一候选缓存服务器中获取目标资源的延时会小于从未缓存目标资源的第一候选缓存服务器的延时。因此,为了进一步减少用户获取目标资源的延时,可以根据各第一候选缓存服务器中是否已缓存目标资源,对各第一候选缓存服务器的服务器评分值进行第一预设处理。
本实施例中,第一预设处理可以为:采用第一预设权重对已缓存目标资源的第一候选缓存服务器的服务器评分值进行加权处理,并采用第二预设权重对未缓存目标资源的第一候选缓存服务器进行加权处理,第一预设权重大于第二预设权重。通过第一预设处理,当第一候选缓存服务器的服务器评分值相同时,可以使得已缓存目标资源的第一候选缓存服务器处理后的服务器评分值大于未缓存目标资源的第一候选缓存服务器处理后的服务器评分值。进而可以提高已缓存目标资源的第一候选缓存服务器被确定为网内目标缓存服务器的概率。
可选地,第一预设处理可以为:将已缓存目标资源的第一候选缓存服务器的服务器评分值增加第一预设数值,对未缓存目标资源的第一候选缓存服务器的服务器评分值不作处理。
步骤603,响应于预设负载均衡策略被配置为机房组优先策略,根据各第一候选缓存服务器的所在机房组评分值,对各第一候选缓存服务器的服务器评分值进行第二预设处理。
本实施例中,如果预设负载均衡策略被配置为机房组优先策略,则负载均衡设备在确定网内目标缓存服务器时,还需要考虑第一候选缓存服务器的所在机房组。第二预设处理可以为:采用第一候选缓存服务器的所在机房组评分值对第一候选缓存服务器的服务器评分值进行加权处理。
可选地,第二预设处理可以为:将第一候选缓存服务器的服务器评分值增加第一候选缓存服务器的所在机房组评分值。
通过第二预设处理,当第一候选缓存服务器的服务器评分值相同时,可以使得所在机房组评分值更高的第一候选缓存服务器的服务器评分值大于所在机房组评分值更低的第一候选缓存服务器的服务器评分值。进而可以提高所在机房组评分值更高的第一候选缓存服务器被确定为网内目标缓存服务器的概率。
步骤604,根据各第一候选缓存服务器处理后的服务器评分值,从第一候选缓存服务器中确定网内目标缓存服务器;第一候选缓存服务器被确定为网内目标缓存服务器的概率与第一候选缓存服务器处理后的服务器评分值成正比。
本实施例中,第一候选缓存服务器处理后的服务器评分值,可以反应第一候选缓存服务器在不同预设负载均衡策略下处理资源获取请求的优劣,因此,根据各第一候选缓存服务器处理后的服务器评分值,从第一候选缓存服务器中确定网内目标缓存服务器,可以确定为最适合为用户提供资源获取服务的网内目标缓存服务器。而第一候选缓存服务器被确定为网内目标缓存服务器的概率与第一候选缓存服务器处理后的服务器评分值成正比,可以保障预设CDN中各网内缓存服务器的负载均衡。
本实施例中,负载均衡设备可以遍历各第一候选缓存服务器,并累加各第一候选缓存服务器的服务器评分值,累加各第一候选缓存服务器的服务器评分总值,并确定各第一候选缓存服务器对应的评分区间。然后调用随机函数在0到总值之间,含0不含总值,生成一个目标随机数。然后将目标随机数落入的评分区间对应的第一候选缓存服务器确定为网内目标缓存服务器。
示例性地,第一候选缓存服务器A的服务器评分值为10,第一候选缓存服务器B的服务器评分值为20,第一候选缓存服务器C的服务器评分值为5。则第一候选缓存服务器的服务器评分总值为35。在累加各第一候选缓存服务器的服务器评分值,获得第一候选缓存服务器的服务器评分总值的过程中,第一候选缓存服务器A对应的评分区间为[0,10),第一候选缓存服务器B对应的评分区间为[10,30),第一候选缓存服务器C对应的评分区间为[30,35)。目标随机数为[0,35]中的随机数。若目标随机数为23,则目标随机数落如的评分区间对应的第一候选缓存服务器为第一候选缓存服务器B,将第一候选缓存服务器B确定为网内目标缓存服务器。
本实施例提供的资源获取方法,可以在预设负载均衡策略不同时,对第一候选缓存服务器的服务器评分值进行不同处理,确保预设CDN中各网内缓存服务器的负载均衡。
实施例四
本实施例提供的资源获取方法,在上述任意一个实施例的基础上,步骤206中“从预设CDN中确定满足第二预设条件的网内备选缓存服务器”细化包括步骤2061至步骤2062。
步骤2061,确定预设CDN的默认机房组中是否存在满足第三预设条件的第二候选缓存服务器。
本实施例中,第三预设条件可以参见上述实施例,例如,第三预设条件可以包括:所在机房组评分值大于预设CDN中的机房组评分最小值、所在机房评分值大于预设CDN中的机房评分最小值、负载值小于预设负载阈值、带宽占用比小于预设带宽占用比阈值、心跳时间小于预设心跳时间阈值。
默认机房组为预设CDN的多个预设机房组中的一个,默认机房组中的网内缓存服务器用于为不存在目标机房组的客户端设备提供资源获取服务。
步骤2062,确定默认机房组中是否存在满足第三预设条件的第一候选缓存服务器。本实施例中,若不存在提供资源获取服务的目标机房组,则负载均衡设备为客户端设备确定提供资源获取服务的默认机房组。
如果存在第二候选缓存服务器,则可以采用与步骤601至步骤605中从第一候选缓存服务器中确定网内目标缓存服务相同的方式,从第二候选缓存服务器中确定出网内备选缓存服务器。
步骤2063,若不存在第二候选缓存服务器,则将网内默认缓存服务器确定为网内备选缓存服务器。
本实施例中,网内默认缓存服务器为网内缓存服务器中的一个,可以为默认机房组中的网内缓存服务器,也可以不为默认机房组中的缓存服务器。当不存在网内目标缓存服务器、资源获取请求不能外溢、且不存在第二候选缓存服务器时,可以由网内默认缓存服务器为客户端设备提供资源获取服务。
本实施例提供的资源获取方法,在预设CDN中网内目标缓存服务器、且资源获取请求不能外溢时,由网内备选缓存服务器为客户端设备提供资源获取服务,在节约硬件资源的同时能够尽可能地减少用户获取目标资源的延时,在第二候选缓存服务器也不存在时,由网内默认缓存服务器为客户端设备提供资源获取服务,能够确保客户端设备能够获取到目标资源,保障用户体验。
实施例五
图5是本申请实施例五提供的资源获取装置的结构示意图。如图5所示,本实施例提供的资源获取装置50应用于负载均衡设备,负载均衡设备位于预设内容分发网络CDN中,包括:接收模块51、第一确定模块52、第二确定模块53、第一发送模块54、第二发送模块55和第三发送模块56。
接收模块51,用于接收客户端设备发送的资源获取请求;资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名。
第一确定模块52,用于根据IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的。
第二确定模块53,用于根据目标域名确定资源获取请求是否能够外溢。
第一发送模块54,用于若存在网内目标缓存服务器,则将网内目标缓存服务器的地址发送至客户端设备,以使客户端设备基于网内目标缓存服务器的地址获取目标资源。
第二发送模块55,用于若不存在网内目标缓存服务器,且资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至客户端设备,以使客户端设备基于外溢CDN的地址获取目标资源。
第三发送模块56,用于若不存在网内目标缓存服务器,且资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至客户端设备,以使客户端设备基于网内备选缓存服务器的地址获取目标资源,第二预设条件是基于各网内缓存服务器的设备信息确定的。
可选地,确定模块具体用于:
根据IP地址确定客户端设备所处区域是否存在提供资源获取服务的目标机房组;
若不存在提供资源获取服务的目标机房组,则确定不存在网内目标缓存服务器;
若存在提供资源获取服务的目标机房组,则确定目标机房组中是否存在满足第三预设条件的第一候选缓存服务器;第三预设条件是基于各网内缓存服务器的设备信息确定的;
若存在第一候选缓存服务器,则从第一候选缓存服务器中确定满足第一预设条件的网内目标缓存服务器。
可选地,确定模块具体还用于:
根据IP地址确定获取客户端设备所处区域的用户地理位置信息;
若用户地理位置信息为空,则确定客户端设备所处区域不存在提供资源获取服务的目标机房组;
若用户地理位置信息不为空,则确定与用户地理位置信息匹配的预设机房组;
若确定出与用户地理位置信息匹配的预设机房组,则将与用户地理位置信息匹配的预设机房组确定为目标机房组;
若确定不出与用户地理位置信息匹配的预设机房组,则确定客户端设备所处区域不存在提供资源获取服务的目标机房组。
可选地,确定模块具体还用于:
获取目标机房组包括的至少一个网内预设缓存服务器的设备信息;
根据各设备信息,确定各网内预设缓存服务器是否满足第三预设条件;
若各网内预设缓存服务器均不满足第三预设条件,则确定目标机房组中不存在第一候选缓存服务器;
若存在网内预设缓存服务器满足第三预设条件,则确定目标机房组中存在第一候选缓存服务器,并将满足第三预设条件的网内预设缓存服务器确定为第一候选缓存服务器。
可选地,设备信息包括网内预设缓存服务器的负载值、带宽占用比、心跳时间、所在机房组评分值、所在机房评分值;
第三预设条件包括:所在机房组评分值大于预设CDN中的机房组评分最小值、所在机房评分值大于预设CDN中的机房评分最小值、负载值小于预设负载阈值、带宽占用比小于预设带宽占用比阈值、心跳时间小于预设心跳时间阈值。
可选地,确定模块具体还用于:
根据各第一候选缓存服务器的设备信息,计算各第一候选缓存服务器的服务器评分值;
响应于预设负载均衡策略被配置为资源优先策略,根据各第一候选缓存服务器中是否已缓存目标资源,对各第一候选缓存服务器的服务器评分值进行第一预设处理;
响应于预设负载均衡策略被配置为机房组优先策略,根据各第一候选缓存服务器的所在机房组评分值,对各第一候选缓存服务器的服务器评分值进行第二预设处理;
根据各第一候选缓存服务器处理后的服务器评分值,从第一候选缓存服务器中确定网内目标缓存服务器;第一候选缓存服务器被确定为网内目标缓存服务器的概率与第一候选缓存服务器处理后的服务器评分值成正比。
可选地,第二确定模块具体用于:
根据多个第一映射关系确定目标域名是否存在对应的外溢目标CDN;第一映射关系为预设域名与外溢预设CDN的映射关系;
若存在对应的外溢目标CDN,且客户端设备的服务优先级大于预设优先级,则确定资源获取请求能够外溢,并将外溢目标CDN确定为提供目标资源获取服务的外溢CDN;
若不存在对应的外溢目标CDN,或,客户端设备的服务器优先级小于或等于预设优先级,则确定资源获取请求不能外溢。
可选地,第三发送模块用于:
确定预设CDN的默认机房组中是否存在满足第三预设条件的第二候选缓存服务器;
若存在第二候选缓存服务器,则从第二候选缓存服务器中确定网内备选缓存服务器;
若不存在第二候选缓存服务器,则将网内默认缓存服务器确定为网内备选缓存服务器。
本实施例提供的资源获取装置可以执行上述任意一个实施例提供的资源获取方法,具体的实现方式与原理类似,此处不再赘述。
实施例六
图6是本申请实施例四提供的负载均衡设备的结构示意图。如图6所示,本实施例提供的负载均衡设备60包括:存储器61、处理器62和收发器63。
存储器61、处理器62和收发器63电路互连。
存储器61存储计算机执行指令。
收发器63用于收发数据。
处理器62执行存储器61存储的计算机执行指令,实现如上述任意一个实施例提供的资源获取方法,具体的实现方式与原理类似,此处不再赘述。
存储器、处理器和收发器之间可以通过总线实现电路互连。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component Interconnect,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本实施例中,存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘等。
本实施例中,负载均衡设备可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述资源获取方法。
本申请的实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述任意一个实施例提供的资源获取方法,具体的实现方式与原理类似,此处不再赘述。示例性地,计算机可读存储介质可以为只读存储器、随机存取存储器、磁带、软盘和光数据存储设备等。
本申请的实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例提供的资源获取方法,具体的实现方式与原理类似,此处不再赘述。
应该理解,上述的方法实施例仅是示意性的,本申请的方法还可通过其它的方式实现。例如,上述实施例中模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个模块可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能模块可以集成在一个模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一起。上述集成的模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种资源获取方法,其特征在于,应用于负载均衡设备,所述负载均衡设备位于预设内容分发网络CDN中,所述方法包括:
接收客户端设备发送的资源获取请求;所述资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名;
根据所述IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;所述第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的;
根据所述目标域名确定资源获取请求是否能够外溢;
若存在网内目标缓存服务器,则将所述网内目标缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内目标缓存服务器的地址获取目标资源;
若不存在网内目标缓存服务器,且所述资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至所述客户端设备,以使所述客户端设备基于所述外溢CDN的地址获取目标资源;
若不存在网内目标缓存服务器,且所述资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内备选缓存服务器的地址获取目标资源,所述第二预设条件是基于各网内缓存服务器的设备信息确定的。
2.根据权利要求1所述的方法,其特征在于,所述根据所述IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器,包括:
根据所述IP地址确定所述客户端设备所处区域是否存在提供资源获取服务的目标机房组;
若不存在提供资源获取服务的目标机房组,则确定不存在所述网内目标缓存服务器;
若存在提供资源获取服务的目标机房组,则确定所述目标机房组中是否存在满足第三预设条件的第一候选缓存服务器;所述第三预设条件是基于各网内缓存服务器的设备信息确定的;
若存在第一候选缓存服务器,则从所述第一候选缓存服务器中确定满足第一预设条件的网内目标缓存服务器。
3.根据权利要求2所述的方法,其特征在于,所述根据所述IP地址确定所述客户端设备所处区域是否存在提供资源获取服务的目标机房组,包括:
根据所述IP地址确定获取所述客户端设备所处区域的用户地理位置信息;
若所述用户地理位置信息为空,则确定所述客户端设备所处区域不存在提供资源获取服务的目标机房组;
若所述用户地理位置信息不为空,则确定与所述用户地理位置信息匹配的预设机房组;
若确定出与所述用户地理位置信息匹配的预设机房组,则将与所述用户地理位置信息匹配的预设机房组确定为所述目标机房组;
若确定不出与所述用户地理位置信息匹配的预设机房组,则确定所述客户端设备所处区域不存在提供资源获取服务的目标机房组。
4.根据权利要求2所述的方法,其特征在于,所述确定所述目标机房组中是否存在满足第三预设条件的第一候选缓存服务器,包括:
获取所述目标机房组包括的至少一个网内预设缓存服务器的设备信息;
根据各所述设备信息,确定各网内预设缓存服务器是否满足第三预设条件;
若各网内预设缓存服务器均不满足第三预设条件,则确定所述目标机房组中不存在第一候选缓存服务器;
若存在网内预设缓存服务器满足第三预设条件,则确定所述目标机房组中存在第一候选缓存服务器,并将满足第三预设条件的网内预设缓存服务器确定为所述第一候选缓存服务器。
5.根据权利要求4所述的方法,其特征在于,所述设备信息包括网内预设缓存服务器的负载值、带宽占用比、心跳时间、所在机房组评分值、所在机房评分值;
所述第三预设条件包括:所在机房组评分值大于预设CDN中的机房组评分最小值、所在机房评分值大于预设CDN中的机房评分最小值、负载值小于预设负载阈值、带宽占用比小于预设带宽占用比阈值、心跳时间小于预设心跳时间阈值。
6.根据权利要求5所述的方法,其特征在于,所述从所述第一候选缓存服务器中确定满足第一预设条件的网内目标缓存服务器,包括:
根据各所述第一候选缓存服务器的设备信息,计算各第一候选缓存服务器的服务器评分值;
响应于预设负载均衡策略被配置为资源优先策略,根据各第一候选缓存服务器中是否已缓存目标资源,对各第一候选缓存服务器的服务器评分值进行第一预设处理;
响应于预设负载均衡策略被配置为机房组优先策略,根据各第一候选缓存服务器的所在机房组评分值,对各第一候选缓存服务器的服务器评分值进行第二预设处理;
根据各第一候选缓存服务器处理后的服务器评分值,从所述第一候选缓存服务器中确定所述网内目标缓存服务器;所述第一候选缓存服务器被确定为所述网内目标缓存服务器的概率与所述第一候选缓存服务器处理后的服务器评分值成正比。
7.根据权利要求1所述的方法,其特征在于,所述资源获取请求还包括用户标识,所述根据所述目标域名确定资源获取请求是否能够外溢,包括:
根据多个第一映射关系确定目标域名是否存在对应的外溢目标CDN;第一映射关系为预设域名与外溢预设CDN的映射关系;
若存在对应的外溢目标CDN,且客户端设备的服务优先级大于预设优先级,则确定所述资源获取请求能够外溢,并将所述外溢目标CDN确定为提供目标资源获取服务的外溢CDN;
若不存在对应的外溢目标CDN,或,客户端设备的服务器优先级小于或等于预设优先级,则确定所述资源获取请求不能外溢。
8.根据权利要求1所述的方法,其特征在于,所述从预设CDN中确定满足第二预设条件的网内备选缓存服务器,包括:
确定预设CDN的默认机房组中是否存在满足第三预设条件的第二候选缓存服务器;
若存在第二候选缓存服务器,则从第二候选缓存服务器中确定所述网内备选缓存服务器;
若不存在第二候选缓存服务器,则将网内默认缓存服务器确定为所述网内备选缓存服务器。
9.一种资源获取装置,其特征在于,应用于负载均衡设备,所述负载均衡设备位于预设内容分发网络CDN中,所述装置包括:
接收模块,用于接收客户端设备发送的资源获取请求;所述资源获取请求包括客户端设备的网际协议IP地址、目标资源所属的目标域名;
第一确定模块,用于根据所述IP地址,确定在预设CDN中是否存在满足第一预设条件的网内目标缓存服务器;所述第一预设条件是基于客户端设备与各网内缓存服务器之间的通信距离确定的;
第二确定模块,用于根据所述目标域名确定资源获取请求是否能够外溢;
第一发送模块,用于若存在网内目标缓存服务器,则将所述网内目标缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内目标缓存服务器的地址获取目标资源;
第二发送模块,用于若不存在网内目标缓存服务器,且所述资源获取请求能够外溢,则将提供目标资源获取服务的外溢CDN的地址发送至所述客户端设备,以使所述客户端设备基于所述外溢CDN的地址获取目标资源;
第三发送模块,用于若不存在网内目标缓存服务器,且所述资源获取请求不能外溢,则从预设CDN中确定满足第二预设条件的网内备选缓存服务器,并将网内备选缓存服务器的地址发送至所述客户端设备,以使所述客户端设备基于所述网内备选缓存服务器的地址获取目标资源,所述第二预设条件是基于各网内缓存服务器的设备信息确定的。
10.一种负载均衡设备,其特征在于,包括:存储器、处理器和收发器;
所述存储器、所述处理器和所述收发器电路互连;
所述存储器存储计算机执行指令;
所述收发器用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311801519.5A CN117527809A (zh) | 2023-12-25 | 2023-12-25 | 资源获取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311801519.5A CN117527809A (zh) | 2023-12-25 | 2023-12-25 | 资源获取方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117527809A true CN117527809A (zh) | 2024-02-06 |
Family
ID=89755225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311801519.5A Pending CN117527809A (zh) | 2023-12-25 | 2023-12-25 | 资源获取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527809A (zh) |
-
2023
- 2023-12-25 CN CN202311801519.5A patent/CN117527809A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10742550B2 (en) | Updating routing information based on client location | |
US10601767B2 (en) | DNS query processing based on application information | |
US9444759B2 (en) | Service provider registration by a content broker | |
US20180205697A1 (en) | Managing content delivery network service providers by a content broker | |
US10771552B2 (en) | Content management | |
US9734472B2 (en) | Request routing utilizing cost information | |
EP2695358B1 (en) | Selection of service nodes for provision of services | |
US8688837B1 (en) | Dynamically translating resource identifiers for request routing using popularity information | |
CN105450780A (zh) | 一种cdn系统及其回源方法 | |
CN113037855B (zh) | 一种多媒体访问系统、方法、装置、终端及介质 | |
CN109756584B (zh) | 域名解析方法、域名解析装置及计算机可读存储介质 | |
US11281730B1 (en) | Direct leg access for proxy web scraping | |
US10075553B1 (en) | Systems and methods for automatically rewriting network page code | |
WO2017097092A1 (zh) | 缓存集群服务的处理方法及系统 | |
WO2021057369A1 (zh) | HttpDNS调度方法、装置、介质及设备 | |
EP4227829A1 (en) | Web scraping through use of proxies, and applications thereof | |
CN117527809A (zh) | 资源获取方法、装置、设备及存储介质 | |
WO2023280593A1 (en) | Web scraping through use of proxies, and applications thereof | |
CN116436912A (zh) | 回源方法、装置、设备及计算机可读存储介质 | |
NANO | Network resource identification |
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 |