CN113315646A - 用于内容分发网络的异常处理方法、装置及内容分发网络 - Google Patents
用于内容分发网络的异常处理方法、装置及内容分发网络 Download PDFInfo
- Publication number
- CN113315646A CN113315646A CN202010125892.3A CN202010125892A CN113315646A CN 113315646 A CN113315646 A CN 113315646A CN 202010125892 A CN202010125892 A CN 202010125892A CN 113315646 A CN113315646 A CN 113315646A
- Authority
- CN
- China
- Prior art keywords
- server
- content provider
- domain name
- cache server
- scheduling
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/145—Detection or countermeasures against cache poisoning
Abstract
本发明实施例公开了一种用于内容分发网络的异常处理方法,包括:当监测到第一缓存服务器发生异常时,确定异常对应的目标内容供应商;以及向调度服务器发送服务更新指令,服务更新指令指示调度服务器将目标内容供应商的调度域名指向第二缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。本发明实施例还公开了相应的异常处理装置、计算设备及存储介质。
Description
技术领域
本发明涉及内容分发网络领域,尤其涉及一种用于内容分发网络的异常处理方法、装置及内容分发网络。
背景技术
随着网络通信技术的迅速发展和所承载信息的日益丰富,互联网已成为人类社会重要的基础设施,大量内容供应商通过网络向用户提供内容和服务。
为了加快用户对其内容的访问速度,内容供应商通常选择采用内容分发网络。内容分发网络(Content Delivery Network,CDN)是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的缓存服务器,可以更快、更可靠地将诸如音乐、图片、影片、应用程序及其他文件之类的内容发送给用户,避免网络拥堵、地域、运营商等因素带来的访问延迟问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
其中,缓存服务器经由IP地址来提供内容分发服务。由于IP地址资源有限,一个缓存服务器通常仅采用一个IP地址来为众多内容供应商提供服务。在这种情况下,如果缓存服务器发生异常,例如遭受到诸如分布式拒绝服务(Distributed Denial of Service,DDoS)攻击之类仅针对IP地址的攻击,因为不包含任何域名信息,就无法及时找出被攻击的内容供应商,更无法及时进行防御。同时该缓存服务器对其他内容供应商的服务也会受到影响。
因此,期望提供一种用于内容分发网络的异常处理方案,以解决缓存服务器发生异常时无法及时定位被攻击的内容供应商和无法及时防御等问题。
发明内容
为此,本发明实施例提供一种用于内容分发网络的异常处理方法、装置及内容分发网络,以力图解决或至少缓解上面存在的问题。
根据本发明实施例的一个方面,提供了一种用于内容分发网络的异常处理方法,该内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,缓存服务器使用与内容供应商相关联的服务地址为内容供应商分发内容,该方法包括:当监测到第一缓存服务器发生异常时,确定异常对应的目标内容供应商;以及向调度服务器发送服务更新指令,服务更新指令指示调度服务器将目标内容供应商的调度域名指向第二缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
可选地,在根据本发明实施例的异常处理方法中,还包括:接收内容分发网络中各缓存服务器的访问信息;基于访问信息,监测各缓存服务器是否发生异常。
可选地,在根据本发明实施例的异常处理方法中,缓存服务器具有至少一个服务地址,异常包括对服务地址的访问发生异常,确定异常对应的目标内容供应商的步骤包括:确定异常对应的第一缓存服务器的第一服务地址;确定与第一服务地址相关联的目标内容供应商。
可选地,在根据本发明实施例的异常处理方法中,确定与第一服务地址相关联的目标内容供应商的步骤包括:确定与第一服务地址相关联的目标内容供应商的源服务器域名。
可选地,在根据本发明实施例的异常处理方法中,还包括:基于异常,确定替代第一缓存服务器的第二缓存服务器。
可选地,在根据本发明实施例的异常处理方法中,调度域名包括目标内容供应商对应的总调度域名,服务更新指令包括第一服务地址、第二服务地址和目标内容供应商的总调度域名,第一缓存服务器使用第一服务地址为目标内容供应商分发内容,第二缓存服务器使用第二服务地址为目标内容供应商分发内容。
可选地,在根据本发明实施例的异常处理方法中,调度域名包括目标内容供应商的源服务器域名对应的子调度域名,服务更新指令包括第一服务地址、第二服务地址和源服务器域名对应的子调度域名,第一缓存服务器使用第一服务地址为目标内容供应商的源服务器域名分发内容,第二缓存服务器使用第二服务地址为目标内容供应商的源服务器域名分发内容。
可选地,在根据本发明实施例的异常处理方法中,还包括:接收内容供应商的服务配置指令;响应于服务配置指令,为内容供应商分配调度域名以及分发内容的多个缓存服务器;为分配给内容供应商的各缓存服务器分配与内容供应商相关联的服务地址,以便各缓存服务器使用相关联的服务地址为内容供应商分发内容。
可选地,在根据本发明实施例的异常处理方法中,为内容供应商分配调度域名的步骤包括:分配内容供应商对应的总调度域名,以便基于总调度域名得到内容供应商的各源服务器域名对应的子调度域名。
可选地,在根据本发明实施例的异常处理方法中,为内容供应商分配分发内容的多个缓存服务器的步骤包括:为内容供应商的源服务器域名分配分发内容的多个缓存服务器。
可选地,在根据本发明实施例的异常处理方法中,还包括:基于分配给内容供应商的调度域名、各缓存服务器的服务地址及其关联关系配置调度域名对应的解析记录;将解析记录发送至调度服务器。
可选地,在根据本发明实施例的异常处理方法中,还包括:将分配给内容供应商的调度域名、各缓存服务器的服务地址及其关联关系发送至调度服务器,以便调度服务器配置调度域名对应的解析记录。
可选地,在根据本发明实施例的异常处理方法中,还包括:当监测到对第二服务地址的访问恢复正常时,向调度服务器发送服务恢复指令,以指示调度服务器将目标内容供应商对应的总调度域名或者目标内容供应商的源服务器域名对应的子调度域名重新指向第一缓存服务器。
可选地,在根据本发明实施例的异常处理方法中,服务地址为虚拟IP地址。
可选地,在根据本发明实施例的异常处理方法中,第二缓存服务器的攻击防护能力和/或流量处理能力高于第一缓存服务器。
根据本发明实施例的另一个方面,提供了一种用于内容分发网络的异常处理方法,内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,缓存服务器使用与内容供应商相关联的服务地址为内容供应商分发内容,该方法包括:调度服务器接收服务更新指令;以及响应于服务更新指令,以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
可选地,在根据本发明实施例的异常处理方法中,调度服务器存储有多条解析记录,解析记录包括调度域名及其指向的缓存服务器的服务地址,服务更新指令包括第一服务地址和第二服务地址,第一缓存服务器使用第一服务地址来为目标内容供应商分发内容,第二缓存服务器使用第二服务地址来为目标内容供应商分发内容,以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器的步骤包括:查询包括目标内容供应商的调度域名和第一服务地址的解析记录,并将查询到的解析记录中记录的第一服务地址更新为第二服务地址。
根据本发明实施例的另一个方面,提供了一种异常处理方法,包括:当监测到第一缓存服务器发生异常时,确定异常对应的目标内容供应商;以及向调度服务器发送服务更新指令,服务更新指令指示调度服务器将目标内容供应商的调度域名指向第二缓存服务器,以由第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
根据本发明实施例的另一个方面,提供了一种用于内容分发网络的异常处理装置,内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,缓存服务器使用与内容供应商相关联的服务地址为内容供应商分发内容,该装置包括:异常定位单元,适于当监测到第一缓存服务器发生异常时,确定异常对应的目标内容供应商;以及服务更新单元,适于向调度服务器发送服务更新指令,服务更新指令指示调度服务器将目标内容供应商的调度域名指向第二缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
根据本发明实施例的另一个方面,提供了一种用于内容分发网络的异常处理装置,内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,缓存服务器使用与内容供应商相关联的服务地址为内容供应商分发内容,该装置包括:指令接收单元,适于接收服务更新指令;以及记录更新单元,适于响应于服务更新指令,以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
根据本发明实施例的另一个方面,提供了一种内容分发网络,包括:缓存服务器,适于使用与内容供应商相关联的服务地址来为内容供应商分发内容;调度服务器,包括根据本发明实施例的异常处理装置,并适于对内容供应商的调度域名进行解析,得到调度域名指向的服务地址;以及控制服务器,包括根据本发明实施例的异常处理装置。
根据本发明实施例的另一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,该一个或多个程序包括用于执行根据本发明实施例的异常处理方法的指令。
根据本发明实施例的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当被计算设备执行时,使得计算设备执行根据本发明实施例的异常处理方法。
根据本发明实施例的用于内容分发网络的异常处理方法通过为分配给内容供应商的缓存服务器配置仅与该内容供应商相关联的服务地址,使缓存服务器使用仅与内容供应商相关联的服务地址为该内容供应商分发内容。这样,当监测到缓存服务器发生异常时,可以基于异常对应的服务地址迅速定位到目标内容供应商,将目标内容供应商的异常流量切换到其他缓存服务器,从而实现了对异常流量的及时防御和处理,保证了缓存服务器的服务稳定可用。
进一步地,通过为缓存服务器配置仅与内容供应商的源服务器域名相关联的服务地址,使缓存服务器使用仅与内容供应商的源服务器域名相关联的服务地址为该源服务器域名分发内容。这样,当监测到缓存服务器发生异常时,可以基于异常对应的服务地址迅速并精确定位到目标内容供应商的源服务器域名,将源服务器域名的异常流量切换到其他缓存服务器,从而实现了对针对具体源服务器域名的异常流量的及时防御和处理。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的内容分发网络100的示意图;
图2示出了根据本发明一个实施例的内容分发网络100的工作示意图;
图3示出了根据本发明一个实施例的计算设备300的示意图;
图4示出了根据本发明一个实施例的异常处理方法400的交互流程图;
图5示出了根据本发明一个实施例的服务配置方法500的交互流程图;
图6示出了根据本发明一个实施例的异常处理方法600的流程图;以及
图7示出了根据本发明一个实施例的异常处理方法700的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
一般而言,内容供应商通过其布置的网络服务器向用户提供内容。用户经由该网络服务器的域名来访问该网络服务器并获取内容。目前为了加快用户对内容的访问速度,大量内容供应商选择采用内容分发网络。
内容分发网络可以为内容供应商提供内容分发服务,即,利用最靠近用户的缓存服务器来将内容供应商的内容发送给用户。为便于描述,下文将内容供应商自身布置的网络服务器称为源服务器,源服务器的域名称为源服务器域名。内容供应商可以使用一个或多个源服务器域名来对用户提供内容。
图1示出了根据本发明一个实施例的内容分发网络100的示意图。如图1所示,内容分发网络100包括多个缓存服务器140,例如缓存服务器140A-140N。缓存服务器140可以存储内容供应商所提供的内容,并将内容分发给客户端120,例如客户端120A-120N。
缓存服务器140具有服务地址,服务地址包括但不限于IP地址、虚拟IP地址等等。缓存服务器140通过服务地址来分发内容。其中,缓存服务器140可以分发各种类型的内容,包括但不仅限于网络页面和它们的页面元素、流媒体、可下载的媒体、应用程序数据、意图在客户端处执行的程序代码等等。
客户端120可以表示或对应于各种客户端或用户,并可以分布在任何合适的位置或区域上。在一个实施例中,客户端120可以被配置成运行消费来自内容分发网络100的内容的浏览器程序或其它应用程序。例如,客户端120可以运行网页浏览器,网页浏览器生成HTTP或HTTPS(超文本传输协议)请求来从内容分发网络100获取内容。
如图2进一步所示,内容分发网络100还包括控制服务器160和调度服务器180(又被称为内容分发网络100中的域名服务器)。并且,内容分发网络100中的各部件(例如各服务器)经由网络190与客户端120通信耦接。网络190可以包括有线和/或无线通信路径,诸如但不仅限于,因特网、局域网、卫星路径、光纤路径、电缆路径,或任何其他合适的有线或无线通信路径或这样的路径的组合。
在一些实施方式中,控制服务器160可以为内容供应商们配置内容分发服务,还可以对调度服务器160和/或缓存服务器140进行管控。例如,控制服务器160可以接收内容供应商120的服务配置指令,并响应于该服务配置指令,为该内容供应商分配调度域名以及存储并分发该内容供应商内容的多个缓存服务器140。
具体地,所分配的调度域名又称为调度别名(CNAME),其可以在内容分发网络100中唯一标识内容供应商和/或内容供应商的源服务器域名。其中,将唯一标识内容供应商的调度域名称为总调度域名,将唯一标识内容供应商的源服务器域名的调度域名称为子调度域名。例如,可以为内容供应商分配唯一标识该内容供应商的总调度域名,再自然地基于该总调度域名和内容供应商拥有的各源服务器域名得到各源服务器域名唯一对应的子调度域名。
在一些实施方式中,子调度域名可以为总调度域名的次级域名(也就是子域名)。例如,某个内容供应商的两个源服务器域名分别为testa1.com和testa2.com,分配给该内容供应商的总调度域名为cdna.com,那么源服务器域名testa1.com对应的子调度域名即为testa1.cdna.com,源服务器域名testa2.com对应的子调度域名即为testa2.cdna.com。
控制服务器160可以将分配给内容供应商的调度域名以及各缓存服务器的服务地址发送给调度服务器180,以便调度服务器180配置调度域名对应的解析记录。该解析记录存储调度域名以及调度域名指向的缓存服务器的服务地址,供后续进行域名解析时使用。在一些实施例中,调度域名的解析记录可以包括总调度域名的解析记录和/或子调度域名的解析记录。应当理解,总调度域名的解析记录为泛域名解析记录,其可以将基于总调度域名的至少部分子调度域名都指向相同的缓存服务器。
例如,对于总调度域名cdna.com,配置的泛域名解析记录可以如下:
按照该泛域名解析记录,总调度域名cdna.com的至少部分子调度域名(例如testa1.cdna.com、testa2.cdna.com等子域名)均可以匹配到该记录,指向该记录中的缓存服务器的服务地址。
此外,还可以具体对于基于总调度域名的某个子调度域名来配置解析记录。例如对于子调度域名testa1.cdna.com,配置的解析记录可以如下:
调度域名 | 记录值 |
testa1.cdna.com | 服务地址1 |
在解析域名时,可以先查询是否存在相匹配的子调度域名的解析记录。如果不存在,再匹配到相应总调度域名的解析记录。
配置好内容分发服务之后,内容供应商可以将其源服务器域名指向该源服务器域名在内容分发网络100中对应的子调度域名,这样可以将对该源服务器域名的域名解析请求发送至内容分发网络100中的调度服务器180,由调度服务器180来进行域名解析。例如,可以修改源服务器域名位于对应权威域名服务器(又称为授权域名服务器,AuthoriativeDNS Server)上的解析记录,以将源服务器域名指向对应子调度域名。
图2示出了根据本发明一个实施例的内容分发网络100的工作示意图。如图2所示,当客户端120A发送对源服务器域名的访问请求时,客户端120A向本地域名服务器(LocalDNS Server)121发送对该源服务器域名的域名解析请求。本地域名服务器121可以查询到该源服务器域名对应的子调度域名(例如在对应权威域名服务器122上可以查询得到),接着向调度服务器180发送对该子调度域名的域名解析请求。
调度服务器180接收对子调度域名的域名解析请求,可以查询该子调度域名对应的解析记录。如果存在该子调度域名对应的解析记录,则得到该子调度域名指向的缓存服务器。如果不存在该子调度域名对应的解析记录,则可以查询对应总调度域名的泛域名解析记录,得到总调度域名指向的缓存服务器。调度服务器180可以按照一些调度策略从中选择出适合客户端120A(例如最靠近客户端120A)的缓存服务器140A,将解析记录中缓存服务器140A的服务地址返回给本地域名服务器121,以便本地域名服务器121返回给客户端120A。而后,客户端120A可以经由该服务地址向缓存服务器140A发送访问请求,请求源服务器域名的内容。其中,本发明实施例对具体的调度策略不做限制,其例如可以是按照地区和/或运营商来调度、或者其他合适的策略或者策略的组合。
如前文所描述地,缓存服务器140通过其服务地址来处理客户端的访问、向客户端分发内容。但由于地址资源有限,一个缓存服务器140通常采用一个服务地址来为众多内容供应商提供服务,也就是说,一个服务地址对应多个内容供应商。在这种情况下,如果缓存服务器发生异常,例如遭受到诸如分布式拒绝服务(Distributed Denial of Service,DDoS)攻击之类仅针对IP地址的攻击,因为这类攻击不包含任何域名信息,所以无法及时找出被攻击的内容供应商,更无法及时进行防御。同时该缓存服务器对其他内容供应商的服务也会受到影响,甚至不可用。
为了解决上述问题,根据本发明实施例的内容分发网络100可以为分配给内容供应商的缓存服务器配置仅与该内容供应商相关联的服务地址,以便该缓存服务器仅使用该服务地址为该内容供应商分发内容。这样,当监测到某个缓存服务器发生异常时,可以基于该异常对应的服务地址迅速定位到具体的内容供应商,从而及时进行处理。例如,在图2中,客户端120A经由调度服务器180解析得到的缓存服务器140A的服务地址仅与某个内容供应商相关联。
根据本发明的实施方式,上述内容分发网络100中的各部件(例如各服务器)均可以通过如下所述的计算设备300来实现。
图3示出了根据本发明一个实施例的计算设备300的示意图。如图3所示,在基本的配置302中,计算设备300典型地包括系统存储器306和一个或者多个处理器304。存储器总线308可以用于在处理器304和系统存储器306之间的通信。
取决于期望的配置,处理器304可以是任何类型的处理器,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器304可以包括诸如一级高速缓存310和二级高速缓存312之类的一个或者多个级别的高速缓存、处理器核心314和寄存器316。示例的处理器核心314可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器318可以与处理器304一起使用,或者在一些实现中,存储器控制器318可以是处理器304的一个内部部分。
取决于期望的配置,系统存储器306可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器306可以包括操作系统320、一个或者多个应用322以及程序数据324。在一些实施方式中,应用322可以布置为在操作系统上由一个或多个处理器304利用程序数据324执行指令。
计算设备300还可以包括有助于从各种接口设备(例如,输出设备342、外设接口344和通信设备346)到基本配置302经由总线/接口控制器330的通信的接口总线340。示例的输出设备342包括图形处理单元348和音频处理单元350。它们可以被配置为有助于经由一个或者多个A/V端口352与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口344可以包括串行接口控制器354和并行接口控制器356,它们可以被配置为有助于经由一个或者多个I/O端口358和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备346可以包括网络控制器360,其可以被布置为便于经由一个或者多个通信端口364与一个或者多个其他计算设备362通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备300可以实现为服务器,例如数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备300也可以实现为小尺寸便携(或者移动)电子设备的至少一部分。
在根据本发明的实施例中,计算设备300可以实现为控制服务器160和调度服务器180,并相应被配置为执行根据本发明实施例的方法600和700。其中,计算设备300的应用322中包含执行根据本发明实施例的方法600/700的多条指令,而程序数据324还可以存储内容分发网络100的配置数据等内容。方法600/700将在下文结合图6至图7分别进一步描述。
图4示出了根据本发明一个实施例的用于内容分发网络100的异常处理方法400的交互流程图。该异常处理方法400可以在内容分发网络100中执行,并始于步骤S410。
如图4所示,在步骤S410中,控制服务器160可以接收内容分发网络100中各缓存服务器140(例如第一缓存服务器140A)的访问信息。该访问信息可以由缓存服务器140(例如每间隔预定时间)上传给控制服务器160,以及/或者也可以由控制服务器160从缓存服务器140拉取。各缓存服务器140的访问信息可以记录对该缓存服务器140的所有服务地址的访问。
接着,在步骤S420中,控制服务器160可以基于接收到的访问信息,监测各缓存服务器140(例如第一缓存服务器140A)是否发生异常。该异常通常可以包括对某个缓存服务器的某个或者多个服务地址的访问发生异常。异常的类型包括但不限于诸如DDoS攻击之类的针对地址的网络攻击、诸如地址访问量超过阈值之类的指标异常等等。本发明实施例对具体的异常内容和类型不做限制。
当监测到例如第一缓存服务器140A发生异常时,控制服务器160可以在步骤S430中,确定该异常对应的目标内容供应商。例如,如后文所详细描述地,缓存服务器140为内容供应商分发内容时使用的服务地址可以仅仅只与该内容供应商相关联,因此,可以先确定该异常对应的第一缓存服务器140A的服务地址,为便于描述,将所对应的地址称为第一服务地址。接着,再确定与该第一服务地址相关联的目标内容供应商。
可以理解地,第一服务地址仅与目标内容供应商相关联,第一缓存服务器140A使用第一服务地址仅为目标内容供应商分发内容(可以使用其他服务地址为其他内容供应商分发内容)。
在一些实施例中,还可以确定该异常对应的目标内容供应商的源服务器域名。例如,如后文所详细描述地,在一些情况中,在分配给某个内容供应商的多个缓存服务器中,有些缓存服务器被配置为仅为该内容供应商的指定源服务器域名分发内容,这些缓存服务器在为该内容供应商的指定源服务器域名分发内容时使用的服务地址仅仅只与该内容供应商的指定源服务器域名相关联。因此,可以先确定该异常对应的第一缓存服务器140A的第一服务地址,再确定与该第一服务地址相关联的目标内容供应商的源服务器域名。当然,在一些情况中,如果第一服务地址不存在相关联的源服务器域名,那么确定相关联的目标内容供应商即可。
可以理解地,如果第一服务地址存在相关联的目标内容供应商的源服务器域名,那么第一服务地址仅与目标内容供应商的该源服务器域名相关联,第一缓存服务器140A使用第一服务地址仅为目标内容供应商的该源服务器域名分发内容(可以使用其他服务地址为目标内容供应商的其他源服务器域名和其他内容供应商分发内容)。
确定异常对应的目标内容供应商或者目标内容供应商的源服务器域名之后,控制服务器160可以确定要更新服务的调度域名。例如,如果异常对应的是目标内容供应商(不是目标内容供应商的某个源服务器域名),可以确定要更新服务的调度域名为目标内容供应商对应的总调度域名。如果异常对应的是目标内容供应商的源服务器域名,则可以确定要更新服务的调度域名为该源服务器域名对应的子调度域名。
同时,控制服务器160可以在步骤S440中,基于该异常,确定替代第一缓存服务器140A的第二缓存服务器140B。第二缓存服务器140B可以替代第一缓存服务器140A来为异常对应的目标内容供应商或者目标内容供应商的源服务器域名分发内容。
在一些实施例中,可以基于异常的类型来确定第二缓存服务器140B。例如,如果异常是DDoS这样的网络攻击,可以选择攻击防护能力和/或流量清洗能力更高(例如高于第一缓存服务器140A)的缓存服务器。如果异常是地址访问量超过阈值这样的指标异常,可以选择流量处理能力更高(例如高于第一缓存服务器140A)的缓存服务器。本发明实施例对具体的第二缓存服务器140B的选择策略不做限制。其中,控制服务器160可以从已经分配给该目标内容供应商的缓存服务器中选择第二缓存服务器140B(如果存在满足选择策略的第二缓存服务器140B的话)。以及/或者,控制服务器160也可以分配满足选择策略的新的缓存服务器来作为第二缓存服务器140B(例如分配给目标内容供应商的缓存服务器中不存在满足选择策略的第二缓存服务器140B时),并为第二缓存服务器140B重新分配与目标内容供应商或者目标内容供应商的源服务器域名相关联的服务地址(下文称之为第二服务地址)。
接着,控制服务器160可以在步骤S450中,生成服务更新指令,该服务更新指令指示调度服务器180将目标内容供应商的调度域名(例如上述总调度域名或者子调度域名)指向第二缓存服务器140B。
例如,如果异常对应的是目标内容供应商而非该目标内容供应商的某个源服务器域名,服务更新指令可以指示调度服务器180将目标内容供应商的总调度域名指向第二缓存服务器140B。如果异常对应的是目标内容供应商的源服务器域名,服务更新指令可以指示调度服务器180将该源服务器域名对应的子调度域名指向第二缓存服务器140B。如前文所描述地,子调度域名可以基于目标内容供应商的源服务器域名和总调度域名得到。
具体地,服务更新指令可以包括第一缓存服务器140A的第一服务地址、第二缓存服务器140B的第二服务地址、以及上述确定的目标内容供应商的总调度域名或者子调度域名,其可以指示以第二服务地址替代目标内容供应商的总调度域名或者子调度域名原先指向的第一服务地址。其中,第二服务地址是被分配给第二缓存服务器140B的、与目标内容供应商或者目标内容供应商的源服务器域名相关联的服务地址,第二缓存服务器140B使用该第二服务地址为目标内容供应商或者目标内容供应商的源服务器域名分发内容。
控制服务器160可以在步骤S460中,将服务更新指令发送给调度服务器180。控制服务器160还可以在步骤S461中,生成服务停止指令并发送至第一缓存服务器140A。第一缓存服务器140A接收服务停止指令,并可以在步骤S462中,响应于服务停止指令,停止使用第一服务地址为目标供应商或者目标内容供应商的源服务器域名分发内容。
在有些情况下,控制服务器160还可以在步骤S463中,生成服务启用指令并发送至第二缓存服务器140B(例如在第二缓存服务器140B是新分配给目标内容供应商的情况下)。第二缓存服务器140B接收服务启用指令,并可以在步骤S464中,响应于服务启用指令,启动使用第二服务地址为目标供应商或者目标内容供应商的源服务器域名分发内容。
调度服务器180接收服务更新指令,并可以在步骤S470中,响应于该服务更新指令,将该服务更新指令所携带的调度域名(例如上述总调度域名或者子调度域名)指向第二缓存服务器140B,第二缓存服务器140B替代该调度域名原先指向的第一缓存服务器140A来为目标内容供应商或者目标内容供应商的源服务器域名分发内容。
具体地,调度服务器180可以查询包括服务更新指令所携带的调度域名和第一服务地址的解析记录,并将解析记录中记录的第一服务地址更新为第二服务地址。如果服务更新指令所携带的调度域名为目标内容供应商的总调度域名,那么可以查找该总调度域名对应的泛域名解析记录,并将泛域名解析记录中记录的第一服务地址更新为第二服务地址。如果服务更新指令所携带的调度域名为目标内容供应商的源服务器域名的子调度域名,那么可以查找该子调度域名对应的解析记录,并将解析记录中记录的第一服务地址更新为第二服务地址。
调度服务器180更新完解析记录之后,还可以将指示服务更新完成的反馈消息返回至控制服务器160。相应地,控制服务器160也可以更新其存储的目标内容供应商(和/或目标内容供应商的源服务器域名)、分配给目标内容供应商的缓存服务器及其服务地址之间的关联关系(将在后文详细描述),例如,可以更新目标内容供应商的关联关系中涉及到第一缓存服务器140A和第二缓存服务器140B的部分。
这样,就将对第一缓存服务器140A的异常访问流量引导至了第二缓存服务器140B,保证了第一缓存服务器140A的稳定可用,同时第二缓存服务器140B也可以对这些异常访问流量进行及时防御和处理。
根据本发明的一个实施方式,在服务更新完成之后,控制服务器160还可以基于第二缓存服务器140B的访问信息来监测对第二缓存服务器140B的第二服务地址的访问是否恢复正常。当监测到对第二服务地址的访问恢复正常时,控制服务器160可以向调度服务器180发送服务恢复指令,指示调度服务器180将目标内容供应商的调度域名(例如总调度域名或者子调度域名)重新指向第一缓存服务器140A,以便第一缓存服务器140A可以重新使用第一服务地址来为目标供应商或者目标内容供应商的源服务器域名分发内容。
当然,控制服务器160也可以响应于目标内容供应商的相应指示,向调度服务器180发送服务恢复指令来将目标内容供应商的调度域名重新指向第一缓存服务器。其中,调度服务器180恢复服务的原理与更新服务的原理相类似,此处不再赘述。
根据本发明的实施方式,在监测缓存服务器是否发送异常并进行处理之前,异常处理方法400还可以包括服务配置方法500。服务配置方法500用于为内容供应商配置内容分发服务。
图5示出了根据本发明一个实施例的服务配置方法500的交互流程图。该服务配置方法500适于在内容分发网络100中执行,并始于步骤S510。
如图5所示,在步骤S510中,控制服务器160可以接收内容供应商的服务配置指令。接着,控制服务器160可以在步骤S520中,响应于该服务配置指令,为该内容供应商分配调度域名以及分发内容的多个缓存服务器。例如,可以为内容供应商分配总调度域名,以便基于总调度域名得到该内容供应商的各源服务器域名对应的子调度域名。
一般地,控制服务器160默认为该内容供应商的所有源服务器域名统一配置内容分发服务,即为内容供应商分配的所有缓存服务器可以为该内容供应商的每个源服务器域名分发内容。此时,内容供应商的总调度域名可以指向分配给该内容供应商的所有缓存服务器。
但在一些情况下(例如在内容供应商的特别指示下),控制服务器160还可以单独为内容供应商的某一个或者多个源服务器域名配置内容分发服务,即控制服务器160可以为该内容供应商的源服务器域名分配为该源服务器域名分发内容的多个缓存服务器。此时,该源服务器域名对应的子调度域名可以指向分配给该源服务器域名的缓存服务器,总调度域名可以指向分配给该内容供应商而非具体源服务器域名的缓存服务器。
接着,控制服务器160可以在步骤S530中,为分配给该内容供应商(包括分配该内容供应商的源服务器域名)的各缓存服务器分配与该内容供应商相关联且仅与该内容供应商相关联的服务地址,以便后续各缓存服务器可以仅使用分配到的仅与该内容供应商相关联的服务地址来为该内容供应商或者该内容供应商的源服务器域名分发内容。需要注意的是,所分配的与该内容供应商相关联的服务地址仅仅只属于该内容供应商(也就是说这些服务地址在分配给该内容供应商、与该内容供应商相关联之后,再不会分配给其他内容供应商,与其他内容供应商相关联)。这些服务地址可以是物理IP地址,但优选地,可以是虚拟IP地址。根据本发明的实施方式,缓存服务器140可以具有一个或者多个服务地址。
这样,控制服务器160就可以存储内容供应商(例如可以包括该内容供应商的源服务器域名)、分配给该内容供应商的调度域名(例如总调度域名和/或子调度域名)、各缓存服务器以及各缓存服务器的服务地址、以及彼此之间的关联关系。
以下是关联关系的一个示例:
其中,示例的调度域名cdna.com和cdhb.com为总调度域名,即在该示例中未单独为内容供应商的源服务器域名配置内容分发服务。
虚拟IP地址A1-An为仅与供应商A相关联的虚拟IP地址,缓存服务器140A-140N使用各自对应的仅与供应商A相关联的虚拟IP地址仅为供应商A分发内容。虚拟IP地址B1-Bn为仅与供应商B相关联的虚拟IP地址,缓存服务器140A-140N使用各自对应的仅与供应商B相关联的虚拟IP地址仅为供应商B分发内容。
可以看到,为供应商A和供应商B分配的缓存服务器虽然相同(均为140A-140N),但经由缓存服务器使用的虚拟IP地址可以唯一定位到供应商A或者供应商B。
以下是关联关系的另一个示例:
其中,示例的调度域名testa.cdna.com为供应商A的源服务器域名testa.com对应的子调度域名,并且为总调度域名cdna.com的子域名。显然地,在该示例中单独为供应商A的源服务器域名testa.com配置了内容分发服务。示例的调度域名testb.cdnb.com为供应商B的源服务器域名testb.com对应的子调度域名,并且为总调度域名cdnb.com的子域名。在该示例中也单独为供应商B的源服务器域名testb.com配置了内容分发服务。
虚拟IP地址A1-An为仅与供应商A相关联的虚拟IP地址,且虚拟IP地址A1仅与供应商A的源服务器域名testa.com相关联。缓存服务器140A使用仅与供应商A的源服务器域名testa.com相关联的虚拟IP地址A1仅为供应商A的源服务器域名testa.com分发内容。缓存服务器140B-140N使用各自对应的仅与供应商A相关联的虚拟IP地址仅为供应商A的其他源服务器域名分发内容。
虚拟IP地址B1-Bn为仅与供应商B相关联的虚拟IP地址,且虚拟IP地址B1仅与供应商B的源服务器域名testb.com相关联。缓存服务器140A使用仅与供应商B的源服务器域名testb.com相关联的虚拟IP地址B1仅为供应商B的源服务器域名testb.com分发内容。缓存服务器140B-140N使用各自对应的仅与供应商B相关联的虚拟IP地址仅为供应商B分发内容。
可以看到,在此示例中,为供应商A和供应商B分配的缓存服务器虽然相同(均为140A-140N),但经由缓存服务器使用的有些虚拟IP地址(例如虚拟IP地址A2-An)可以唯一定位到供应商A或者供应商B,有些虚拟IP地址(例如虚拟IP地址A1)可以唯一定位到供应商A或者供应商B的源服务器域名。
在实际应用中,内容供应商们通常可以对于其关键的源服务器域名单独配置内容分发服务,对非关键的源服务器统一配置内容分发服务。这样,对关键源服务器域名的访问发生异常时可以迅速定位到该关键源服务器域名并及时处理,对非关键源服务器域名的访问发生异常时可以迅速定位到内容供应商并及时处理。
而后,控制服务器160可以在步骤S540中,将分配给内容供应商(有时可以包括内容供应商的源服务器域名)的调度域名、各缓存服务器的服务地址及其关联关系发送至调度服务器180,以便调度服务器180配置调度域名对应的解析记录。或者,控制服务器160可以先基于分配给内容供应商的调度域名、各缓存服务器的服务地址及其关联关系配置调度域名对应的解析记录,再将解析记录发送至调度服务器180。应当指出,解析记录还可以记录有缓存服务器所在的地区和/或运营商。
相应地,调度服务器180可以在步骤S550中配置或者存储调度域名对应的解析记录,以便后续进行域名解析时使用。
此外,在为内容供应商或者内容供应商的源服务器域名分配好缓存服务器及其服务地址之后,控制服务器160还可以生成服务启用指令并发送至各缓存服务器,以便各缓存服务器响应于服务启用指令,启动使用所分配的服务地址为目标供应商或者目标内容供应商的源服务器域名分发内容。
至此,就完成了对内容供应商和/或内容供应商的源服务器域名的内容分发服务配置。
下面分别对在控制服务器160中执行的异常处理方法600和在调度服务器180中执行的异常处理方法700进行描述。
图6示出了根据本发明一个实施例的用于内容分发网络100的异常处理方法600的流程图。如图6所示,异常处理方法600始于步骤S610。
在步骤S610中,当监测到第一缓存服务器140A发生异常时,确定该异常对应的目标内容供应商。例如,可以接收内容分发网络100中各缓存服务器140的访问信息,基于该访问信息来监测各缓存服务器140是否发生异常。其中,服务地址通常可以是虚拟IP地址。
其中,缓存服务器140具有至少一个服务地址,异常通常可以包括对服务地址的访问发生异常,因此,可以先确定异常对应的第一缓存服务器140A的第一服务地址,再确定与第一服务地址相关联的目标内容供应商。
在一些实施例中,还可以直接确定异常对应的、与第一服务地址相关联的目标内容供应商的源服务器域名。
确定异常对应的目标内容供应商或者其源服务器域名之后,可以基于该异常,确定替代第一缓存服务器140A的第二缓存服务器140B。第二缓存服务器140B的攻击防护能力和/或流量处理能力通常高于第一缓存服务器140A。
接着,可以在步骤S620中,向调度服务器180发送服务更新指令,该服务更新指令可以指示调度服务器180将目标内容供应商的调度域名指向第二缓存服务器140B,第二缓存服务器140B替代第一缓存服务器140A来为目标内容供应商分发内容。
在一些实施例中,这里目标内容供应商的调度域名可以是目标内容供应商对应的总调度域名,此时的服务更新指令包括第一服务地址、第二服务地址和目标内容供应商的总调度域名,第一缓存服务器140A使用第一服务地址为目标内容供应商分发内容,第二缓存服务器140B使用第二服务地址为目标内容供应商分发内容。
在另一些实施例中,这里目标内容供应商的调度域名可以是异常对应的目标内容供应商的源服务器域名对应的子调度域名,此时的服务更新指令包括第一服务地址、第二服务地址和源服务器域名对应的子调度域名,第一缓存服务器140A使用第一服务地址为目标内容供应商的该源服务器域名分发内容,第二缓存服务器140B使用第二服务地址为目标内容供应商的该源服务器域名分发内容。
此外,在根据本发明的一个实施方式中,当监测到对第二服务地址的访问恢复正常时,还可以再向调度服务器180发送服务恢复指令,以指示调度服务器180将目标内容供应商对应的总调度域名或者目标内容供应商的源服务器域名对应的子调度域名重新指向第一缓存服务器140A。
应当指出,在进行异常处理之前,先需要为内容供应商配置内容分发服务。例如,可以接收内容供应商的服务配置指令,并响应于服务配置指令,为该内容供应商分配调度域名以及分发内容的多个缓存服务器。其中,为内容供应商分配调度域名可以包括:分配内容供应商对应的总调度域名,以便基于该总调度域名得到内容供应商的各源服务器域名对应的子调度域名。为内容供应商分配分发内容的多个缓存服务器还可以包括:为内容供应商的源服务器域名分配分发内容的多个缓存服务器。
接着,继续为分配给内容供应商(有时可以包括内容供应商的源服务器域名)的各缓存服务器分配仅与该内容供应商相关联的服务地址,以便各缓存服务器使用该相关联的服务地址为该内容供应商分发内容。
最后,可以基于分配给内容供应商的调度域名、各缓存服务器的服务地址及其关联关系配置调度域名对应的解析记录,并将解析记录发送至调度服务器。或者,也可以将分配给内容供应商的调度域名、各缓存服务器的服务地址及其关联关系发送至调度服务器180,以便调度服务器180配置调度域名对应的解析记录。
关于异常处理方法600中各步骤的详细处理逻辑和实施过程可以参见前文结合图1-图5对内容分发网络100以及异常处理方法400和服务配置方法500的相关描述,此处不再赘述。
图7示出了根据本发明一个实施例的用于内容分发网络100的异常处理方法700的流程图。如图7所示,异常处理方法700始于步骤S710。
在步骤S710中,接收服务更新指令。而后在步骤S720中,响应于服务更新指令,以第二缓存服务器140B替代目标内容供应商的调度域名原先指向的第一缓存服务器140A,该第二缓存服务器140B可以替代第一缓存服务器140A来为目标内容供应商分发内容。
具体地,调度服务器180存储有多条解析记录,解析记录包括调度域名及其指向的缓存服务器的服务地址,服务更新指令包括目标内容供应商的调度域名、第一缓存服务器140A的第一服务地址和第二缓存服务器140B的第二服务地址,那么,可以查询包括目标内容供应商的调度域名和第一服务地址的解析记录,将查询到的解析记录中记录的第一服务地址更新为第二服务地址。其中,目标内容供应商的调度域名可以是目标内容供应商对应的总调度域名或者目标内容供应商的源服务器域名对应的子调度域名。可以理解地,第二缓存服务器140B仅使用第二服务地址来为目标内容供应商或者其源服务器域名分发内容,第一缓存服务器140A仅使用第一服务地址来为目标内容供应商或者其源服务器域名分发内容。
综上所述,根据本发明实施例的用于内容分发网络的异常处理方法通过为分配给内容供应商的缓存服务器配置仅与该内容供应商相关联的服务地址,使缓存服务器使用仅与内容供应商相关联的服务地址为该内容供应商分发内容。这样,当监测到缓存服务器发生异常时,可以基于异常对应的服务地址迅速定位到目标内容供应商,将目标内容供应商的异常流量切换到其他缓存服务器,从而实现了对异常流量的及时防御和处理,保证了缓存服务器的服务稳定可用。
进一步地,通过为缓存服务器配置仅与内容供应商的源服务器域名相关联的服务地址,使缓存服务器使用仅与内容供应商的源服务器域名相关联的服务地址为该源服务器域名分发内容。这样,当监测到缓存服务器发生异常时,可以基于异常对应的服务地址迅速并精确定位到目标内容供应商的源服务器域名,将源服务器域名的异常流量切换到其他缓存服务器,从而实现了对针对具体源服务器域名的异常流量的及时防御和处理。
对应于前文所描述的异常处理方法600,本发明实施例相应地公开了一种用于内容分发网络100的异常处理装置。该异常处理装置驻留在控制服务器160中,并可以包括异常定位单元和服务更新单元。
异常定位单元适于当监测到第一缓存服务器140A发生异常时,确定该异常对应的目标内容供应商。服务更新单元与异常定位单元相耦接,适于向调度服务器180发送服务更新指令,该服务更新指令指示调度服务器180将目标内容供应商的调度域名指向第二缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
关于该异常处理装置中各单元的详细处理逻辑和实施过程可以参见前文结合图1-图6对内容分发网络100以及异常处理方法400、600和服务配置方法500的相关描述,此处不再赘述。
对应于前文所描述的异常处理方法700,本发明实施例相应地公开了一种用于内容分发网络100的异常处理装置。该异常处理装置驻留在调度服务器180中,并可以包括指令接收单元和记录更新单元。
指令接收单元适于接收服务更新指令。记录更新单元与指令接收单元相耦接,适于响应于服务更新指令,以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器,第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
关于该异常处理装置中各单元的详细处理逻辑和实施过程可以参见前文结合图1-图7对内容分发网络100以及异常处理方法400、700和服务配置方法500的相关描述,此处不再赘述。
应当指出,根据本发明实施例的异常处理方法不仅可以用于内容分发网络,还可以用于其他合适的网络环境。因此,本发明还公开了一种异常处理方法,包括以下步骤:首先,当监测到第一缓存服务器发生异常时,确定该异常对应的目标内容供应商。而后,向调度服务器发送服务更新指令,该服务更新指令指示调度服务器将目标内容供应商的调度域名指向第二缓存服务器,以由第二缓存服务器替代第一缓存服务器来为目标内容供应商分发内容。
关于该异常处理方法中各步骤的详细处理逻辑和实施过程可以参见前文结合图1-图7对异常处理方法400、700和服务配置方法500的相关描述,此处不再赘述。
本文公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明实施例的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明实施例的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明实施例的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所描述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,上述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行上述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施上述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所描述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明实施例,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明实施例的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明实施例的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明实施例的范围,对本发明实施例所做的公开是说明性的而非限制性的,本发明实施例的范围由所附权利要求书限定。
Claims (23)
1.一种用于内容分发网络的异常处理方法,所述内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,所述缓存服务器使用与内容供应商相关联的服务地址为所述内容供应商分发内容,所述方法包括:
当监测到第一缓存服务器发生异常时,确定所述异常对应的目标内容供应商;以及
向所述调度服务器发送服务更新指令,所述服务更新指令指示所述调度服务器将所述目标内容供应商的调度域名指向第二缓存服务器,所述第二缓存服务器替代所述第一缓存服务器来为所述目标内容供应商分发内容。
2.如权利要求1所述的方法,还包括:
接收所述内容分发网络中各缓存服务器的访问信息;
基于所述访问信息,监测各缓存服务器是否发生异常。
3.如权利要求1所述的方法,所述缓存服务器具有至少一个服务地址,所述异常包括对服务地址的访问发生异常,确定所述异常对应的目标内容供应商的步骤包括:
确定所述异常对应的所述第一缓存服务器的第一服务地址;
确定与所述第一服务地址相关联的所述目标内容供应商。
4.如权利要求3所述的方法,其中,确定与所述第一服务地址相关联的所述目标内容供应商的步骤包括:
确定与所述第一服务地址相关联的所述目标内容供应商的源服务器域名。
5.如权利要求1所述的方法,还包括:
基于所述异常,确定替代所述第一缓存服务器的所述第二缓存服务器。
6.如权利要求3所述的方法,其中,所述调度域名包括所述目标内容供应商对应的总调度域名,所述服务更新指令包括所述第一服务地址、第二服务地址和所述目标内容供应商的总调度域名,所述第一缓存服务器使用所述第一服务地址为所述目标内容供应商分发内容,所述第二缓存服务器使用所述第二服务地址为所述目标内容供应商分发内容。
7.如权利要求4所述的方法,其中,所述调度域名包括所述目标内容供应商的所述源服务器域名对应的子调度域名,所述服务更新指令包括所述第一服务地址、第二服务地址和所述源服务器域名对应的子调度域名,所述第一缓存服务器使用所述第一服务地址为所述目标内容供应商的所述源服务器域名分发内容,所述第二缓存服务器使用所述第二服务地址为所述目标内容供应商的所述源服务器域名分发内容。
8.如权利要求1所述的方法,还包括:
接收内容供应商的服务配置指令;
响应于所述服务配置指令,为所述内容供应商分配调度域名以及分发内容的多个缓存服务器;
为分配给所述内容供应商的各缓存服务器分配与所述内容供应商相关联的服务地址,以便所述各缓存服务器使用所述相关联的服务地址为所述内容供应商分发内容。
9.如权利要求8所述的方法,其中,为所述内容供应商分配调度域名的步骤包括:
分配所述内容供应商对应的总调度域名,以便基于所述总调度域名得到所述内容供应商的各源服务器域名对应的子调度域名。
10.如权利要求9所述的方法,其中,为所述内容供应商分配分发内容的多个缓存服务器的步骤包括:
为所述内容供应商的源服务器域名分配分发内容的多个缓存服务器。
11.如权利要求8所述的方法,其中,还包括:
基于分配给所述内容供应商的所述调度域名、所述各缓存服务器的服务地址及其关联关系配置所述调度域名对应的解析记录;
将所述解析记录发送至所述调度服务器。
12.如权利要求8所述的方法,还包括:
将分配给所述内容供应商的所述调度域名、所述各缓存服务器的服务地址及其关联关系发送至所述调度服务器,以便所述调度服务器配置所述调度域名对应的解析记录。
13.如权利要求6或7所述的方法,还包括:
当监测到对所述第二服务地址的访问恢复正常时,向所述调度服务器发送服务恢复指令,以指示所述调度服务器将所述目标内容供应商对应的总调度域名或者所述目标内容供应商的所述源服务器域名对应的子调度域名重新指向所述第一缓存服务器。
14.如权利要求1所述的方法,其中,所述服务地址为虚拟IP地址。
15.如权利要求1所述的方法,其中,所述第二缓存服务器的攻击防护能力和/或流量处理能力高于所述第一缓存服务器。
16.一种用于内容分发网络的异常处理方法,所述内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,所述缓存服务器使用与内容供应商相关联的服务地址为所述内容供应商分发内容,所述方法包括:
所述调度服务器接收服务更新指令;以及
响应于所述服务更新指令,以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器,所述第二缓存服务器替代所述第一缓存服务器来为所述目标内容供应商分发内容。
17.如权利要求16所述的方法,其中,所述调度服务器存储有多条解析记录,所述解析记录包括调度域名及其指向的缓存服务器的服务地址,所述服务更新指令包括第一服务地址和第二服务地址,所述第一缓存服务器使用所述第一服务地址来为所述目标内容供应商分发内容,所述第二缓存服务器使用所述第二服务地址来为所述目标内容供应商分发内容,
以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器的步骤包括:
查询包括所述目标内容供应商的调度域名和所述第一服务地址的解析记录,并将查询到的解析记录中记录的所述第一服务地址更新为所述第二服务地址。
18.一种异常处理方法,包括:
当监测到第一缓存服务器发生异常时,确定所述异常对应的目标内容供应商;以及
向调度服务器发送服务更新指令,所述服务更新指令指示所述调度服务器将所述目标内容供应商的调度域名指向第二缓存服务器,以由所述第二缓存服务器替代所述第一缓存服务器来为所述目标内容供应商分发内容。
19.一种用于内容分发网络的异常处理装置,所述内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,所述缓存服务器使用与内容供应商相关联的服务地址为所述内容供应商分发内容,所述装置包括:
异常定位单元,适于当监测到第一缓存服务器发生异常时,确定所述异常对应的目标内容供应商;以及
服务更新单元,适于向所述调度服务器发送服务更新指令,所述服务更新指令指示所述调度服务器将所述目标内容供应商的调度域名指向第二缓存服务器,所述第二缓存服务器替代所述第一缓存服务器来为所述目标内容供应商分发内容。
20.一种用于内容分发网络的异常处理装置,所述内容分发网络包括用于分发内容的缓存服务器和用于解析域名的调度服务器,所述缓存服务器使用与内容供应商相关联的服务地址为所述内容供应商分发内容,所述装置包括:
指令接收单元,适于接收服务更新指令;以及
记录更新单元,适于响应于所述服务更新指令,以第二缓存服务器替代目标内容供应商的调度域名原先指向的第一缓存服务器,所述第二缓存服务器替代所述第一缓存服务器来为所述目标内容供应商分发内容。
21.一种内容分发网络,包括:
缓存服务器,适于使用与内容供应商相关联的服务地址来为所述内容供应商分发内容;
调度服务器,包括如权利要求19所述的异常处理装置,并适于对内容供应商的调度域名进行解析,得到所述调度域名指向的服务地址;以及
控制服务器,包括如权利要求1所述的异常处理装置。
22.一种计算设备,包括:
一个或多个处理器;和
存储器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-18所述的异常处理方法中的任一方法的指令。
23.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-18所述的异常处理方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010125892.3A CN113315646A (zh) | 2020-02-27 | 2020-02-27 | 用于内容分发网络的异常处理方法、装置及内容分发网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010125892.3A CN113315646A (zh) | 2020-02-27 | 2020-02-27 | 用于内容分发网络的异常处理方法、装置及内容分发网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113315646A true CN113315646A (zh) | 2021-08-27 |
Family
ID=77370503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010125892.3A Pending CN113315646A (zh) | 2020-02-27 | 2020-02-27 | 用于内容分发网络的异常处理方法、装置及内容分发网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315646A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704171A (zh) * | 2014-11-25 | 2016-06-22 | 北京奇虎科技有限公司 | 实现cdn访问的系统和方法 |
CN107769963A (zh) * | 2017-09-29 | 2018-03-06 | 贵州白山云科技有限公司 | 一种内容分发网络故障定位方法和装置 |
CN107786620A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 一种获取资源的方法、终端及服务器 |
WO2019010694A1 (zh) * | 2017-07-14 | 2019-01-17 | 深圳前海达闼云端智能科技有限公司 | 获取本地域名服务器地址的方法、装置和权威域名服务器 |
CN109586969A (zh) * | 2018-12-13 | 2019-04-05 | 平安科技(深圳)有限公司 | 内容分发网络容灾方法、装置、计算机设备及存储介质 |
CN109842518A (zh) * | 2018-12-13 | 2019-06-04 | 平安科技(深圳)有限公司 | 内容分发网络容灾方法、装置、计算机设备及存储介质 |
-
2020
- 2020-02-27 CN CN202010125892.3A patent/CN113315646A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704171A (zh) * | 2014-11-25 | 2016-06-22 | 北京奇虎科技有限公司 | 实现cdn访问的系统和方法 |
CN107786620A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 一种获取资源的方法、终端及服务器 |
WO2019010694A1 (zh) * | 2017-07-14 | 2019-01-17 | 深圳前海达闼云端智能科技有限公司 | 获取本地域名服务器地址的方法、装置和权威域名服务器 |
CN107769963A (zh) * | 2017-09-29 | 2018-03-06 | 贵州白山云科技有限公司 | 一种内容分发网络故障定位方法和装置 |
CN109586969A (zh) * | 2018-12-13 | 2019-04-05 | 平安科技(深圳)有限公司 | 内容分发网络容灾方法、装置、计算机设备及存储介质 |
CN109842518A (zh) * | 2018-12-13 | 2019-06-04 | 平安科技(深圳)有限公司 | 内容分发网络容灾方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210021692A1 (en) | Translation of resource identifiers using popularity information upon client request | |
US11194719B2 (en) | Cache optimization | |
US9888089B2 (en) | Client side cache management | |
US8756341B1 (en) | Request routing utilizing popularity information | |
US20180205697A1 (en) | Managing content delivery network service providers by a content broker | |
JP5587732B2 (ja) | ドメイン・ネーム・サービス(dns)データベースへのアクセスを管理するコンピュータ実施方法、コンピュータ・プログラム、およびシステム | |
US20130067530A1 (en) | DNS-Based Content Routing | |
US9219705B2 (en) | Scaling network services using DNS | |
EP2263164B1 (en) | Request routing based on class | |
US20110153736A1 (en) | Request routing using network computing components | |
WO2006101310A1 (en) | Local domain name service system and method for providing service using domain name service system | |
US11025584B2 (en) | Client subnet efficiency by equivalence class aggregation | |
US20050240574A1 (en) | Pre-fetching resources based on a resource lookup query | |
JP2015072694A (ja) | コンテンツ管理するための方法とシステム | |
US10404651B2 (en) | Domain name system network traffic management | |
US20060018264A1 (en) | Opened network connection control method, opened network connection control system, connection control unit and recording medium | |
CN113315646A (zh) | 用于内容分发网络的异常处理方法、装置及内容分发网络 | |
JP2020136827A (ja) | 情報処理システム、設定管理サーバ、及び設定管理方法 |
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 |