CN116233027A - Cdn资源调度方法、装置、电子设备及存储介质 - Google Patents
Cdn资源调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116233027A CN116233027A CN202211665836.4A CN202211665836A CN116233027A CN 116233027 A CN116233027 A CN 116233027A CN 202211665836 A CN202211665836 A CN 202211665836A CN 116233027 A CN116233027 A CN 116233027A
- Authority
- CN
- China
- Prior art keywords
- target
- qps
- server
- server group
- client
- 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 50
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000001133 acceleration Effects 0.000 claims abstract description 143
- 238000013439 planning Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012384 transportation and delivery Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000035515 penetration Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000036541 health Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 101150014732 asnS gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000002255 vaccination Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- 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/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开一种CDN资源调度方法、装置、电子设备及存储介质,该方法包括:获取CDN各边缘节点的服务器组的实时QPS;根据各服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,上限QPS为服务器组支持的最大QPS;根据服务器组与客户的对应关系,确定目标服务器组对应的目标客户的域名和目标加速区域,其中,加速区域是基于地理位置划分得到的;为目标加速区域内的目标客户,进行CDN资源调度;其中,上述CDN资源调度包括以下至少一项:将目标服务器组中的第一服务器更换为第二服务器,以及在目标服务器中增加第三服务器;第二服务器的上限QPS大于第一服务器的上限QPS。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种CDN资源调度方法、装置、电子设备及存储介质。
背景技术
内容分发网络(Content Delivery Network,CDN)是为加快网络访问速度而建立在现有网络之上的分布式网络,它依靠部署在全球各地边缘节点的服务器群,通过负载均衡,内容发布,内容管理和内容存储的功能,由边缘节点的服务器集群分担源站点服务器集群的压力,使用户可以就近获取已缓存的访问资源,避免网络拥堵,加快访问速度。
随着CDN技术的不断成熟,越来越多的传统客户(例如制造类企业、券商、新闻媒体企业等)和互联网客户(例如视频APP公司、游戏APP公司、社交APP公司以及一些网站等)选择使用CDN厂商的CDN节点资源,来对外提供服务。现有技术中,CDN厂商在为客户做CDN资源调度时,主要是考虑不断增大CDN节点的带宽容量。
然而,对于访客访问请求并发量大、但访客访问请求所请求的数据占用带宽量小的客户,例如健康类APP,大量用户在相同时刻打开健康类APP查询健康信息时,CDN节点会收到大量的访客访问请求,每个访客访问请求所请求的健康信息相关数据量较小,此时,依赖于增大CDN节点带宽进行资源调度,无法实现对访客访问请求的及时响应,导致客户的服务质量较低。
发明内容
本申请实施例提供一种CDN资源调度方法、装置、电子设备及存储介质,以实现访客访问请求数多但对带宽占用量不大的场景下,对访客访问请求的及时响应,提高客户的服务质量。
根据本申请的第一方面,公开了一种CDN资源调度方法,所述方法包括:
获取所述CDN各边缘节点的服务器组的实时每秒查询率QPS;
根据各所述服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,所述上限QPS为所述服务器组支持的最大QPS;
根据服务器组与客户的对应关系,确定所述目标服务器组对应的目标客户的域名和目标加速区域,其中,所述加速区域是基于地理位置划分得到的;
为所述目标加速区域内的所述目标客户,进行CDN资源调度;
其中,所述CDN资源调度包括以下至少一项:将所述目标服务器组中的第一服务器更换为第二服务器,以及在所述目标服务器中增加第三服务器;所述第二服务器的上限QPS大于所述第一服务器的上限QPS。
根据本申请的第二方面,公开了一种CDN资源调度装置,所述装置包括:
获取模块,用于获取所述CDN各边缘节点的服务器组的实时QPS;
第一确定模块,用于根据各所述服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,所述上限QPS为所述服务器组支持的最大QPS;
第二确定模块,用于根据服务器组与客户的对应关系,确定所述目标服务器组对应的目标客户的域名和目标加速区域,其中,所述加速区域是基于地理位置划分得到的;
调度模块,用于为所述目标加速区域内的所述目标客户,进行CDN资源调度;
其中,所述CDN资源调度包括以下至少一项:将所述目标服务器组中的第一服务器更换为第二服务器,以及在所述目标服务器中增加第三服务器;所述第二服务器的上限QPS大于所述第一服务器的上限QPS。
根据本申请的第三方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如第一方面中的CDN资源调度方法。
根据本申请的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的CDN资源调度方法。
根据本申请的第五方面,公开了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的CDN资源调度方法。
本申请实施例中,获取CDN各边缘节点的服务器组的实时QPS;根据各服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,上限QPS为服务器组支持的最大QPS;根据服务器组与客户的对应关系,确定目标服务器组对应的目标客户的域名和目标加速区域,其中,加速区域是基于地理位置划分得到的;为目标加速区域内的目标客户,进行CDN资源调度;其中,上述CDN资源调度包括以下至少一项:将目标服务器组中的第一服务器更换为第二服务器,以及在目标服务器中增加第三服务器;第二服务器的上限QPS大于第一服务器的上限QPS。
可见,本申请实施例中,CDN厂商在为客户调度CDN资源时,不再只考虑CDN节点的带宽因素,还会综合客户的特性,针对访客访问请求并发量大、但对带宽消耗没有那么明显的客户,实时监控CDN边缘节点的访客访问请求数数据,当监控到访客访问请求数突增时,对于资源不足的边缘节点,及时为客户更换或者增加节点资源,以实现对访客访问请求的及时响应,提高客户的服务质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种CDN资源调度方法的流程图;
图2是本申请实施例提供的步骤104的一种实施方式的流程图;
图3是本申请实施例提供的步骤201的一种实施方式的流程图;
图4是本申请实施例提供的步骤203的一种实施方式的流程图;
图5是本申请实施例提供的基于资源规划信息构建有向无环图的示例图之一;
图6是本申请实施例提供的基于资源规划信息构建有向无环图的示例图之二;
图7是本申请实施例提供的步骤402的一种实施方式的流程图;
图8是本申请实施例提供的基于有向无环图进行资源调度的示例图;
图9是本申请实施例提供的CDN调度***的一个示例图;
图10是本申请实施例提供的一种CDN资源调度装置的结构示意图;
图11是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种CDN资源调度方法、装置、电子设备及存储介质。
为了便于理解,下面首先对本申请实施例中涉及到的一些概念进行介绍。
内容分发网络(Content Delivery Network,CDN):一种为加快网络访问速度而建立在现有网络之上的分布式网络,它依靠部署在全球各地边缘节点的服务器群,通过负载均衡,内容发布,内容管理和内容存储的功能,由边缘节点的服务器集群分担源站点服务器集群的压力,使用户可以就近获取已缓存的访问资源,避免网络拥堵,加快访问速度。
CDN的基本原理:广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
CDN网络的构成:主要由CDN中心节点和CDN边缘节点构成。
CDN中心节点:包括CDN网管中心和全局负载均衡DNS重定向解析***,负责整个CDN网络的分发及管理。
CDN边缘节点:主要是指异地分发节点,由负载均衡设备和高速边缘缓存服务器(也可简称为“服务器”)两部分组成。
CDN边缘节点、边缘缓存服务器与服务器组的关系:每个CDN边缘节点中通常包括多个边缘缓存服务器,多个边缘缓存服务器构成一个服务器组。
CDN厂商:提供CDN设备和CDN网络的一方,也称为服务方,例如,目前的三大运营商(电信、移动和联通)、一些通讯公司(华为、中兴、网宿等)等。
CDN客户:也简称为“客户”,指的是使用CDN厂商提供的CDN设备和CDN网络的一方,也称为被服务方,例如,各种APP(视频APP、游戏APP、车载APP、天气APP、健康类APP、购物APP、社交APP、新闻APP等)互联网公司、网站、传统公司以及企事业单位等。CDN客户通过CDN厂商提供的设备和网络,向该客户旗下的APP的用户提供服务,例如,视频公司通过CDN厂商提供的设备和网络,向其公司旗下的视频APP的用户(普通用户和会员用户)提供流媒体服务。
访客:CDN客户的用户,例如,视频APP的用户、游戏APP的用户、车载APP的用户、天气APP的用户、健康类APP的用户、购物APP的用户、社交APP的用户、新闻APP的用户等。
CDN客户的加速区域:为了便于管理以及进行数据分发,客户会按照地理位置将其服务的地区划分为多个区域,即加速区域。例如,天气APP按照省份划分为多个加速区域,一个省份为一个加速区域;北京的健康类APP按照行政区划分为多个加速区域,一个行政区为一个加速区域。
CDN资源:本申请实施例中指的是CDN的边缘缓存服务器。
有向无环图(Directed Acyclic Graph,DAG):如果一个有向图无法从某个顶点出发经过若干条边回到该顶点,则这个图是一个有向无环图。
每秒查询率(Queries-Per-Second,QPS):是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。本申请实施例中的QPS指的是每秒的访客访问请求个数。
现有技术的CDN资源调度方法:CDN厂商在为客户做CDN资源调度时,主要是考虑不断增大CDN节点的带宽容量,即增加带宽资源。这种依靠增加带宽资源的调度方法,适用于视频APP和游戏APP这类消耗带宽较多的客户。但是,对于健康类APP、天气APP和车载APP这类访客访问请求并发量大、但访客访问请求所请求的数据占用带宽量小的客户,并不适用,无法实现对访客访问请求的及时响应,导致这类客户的服务质量较低。例如,健康类APP的用户在查健康信息时,一直得不到响应,无法显示健康信息。
本申请实施例的CDN资源调度方法:CDN厂商在为客户调度CDN资源时,不再只考虑CDN节点的带宽因素,还会综合客户的特性,针对健康类APP、天气APP和车载APP这类访客访问请求并发量大、但对带宽消耗没有那么明显的客户,实时监控CDN边缘节点的每秒访客访问请求数,当监控到访客访问请求数突增时,对于QPS资源不足的边缘节点,及时为客户更换或者增加节点资源(例如,更换为QPS容量大的服务器、或者增加QPS容量大的服务器),以实现对访客访问请求的及时响应,提高这类客户的服务质量。
接下来对本申请实施例提供的一种CDN资源调度方法进行介绍。
图1是本申请实施例提供的一种CDN资源调度方法的流程图,如图1所示,该方法可以包括以下步骤:步骤101、步骤102、步骤103和步骤104;
在步骤101中,获取CDN各边缘节点的服务器组的实时QPS。
本申请实施例中,服务器组的实时QPS,指的是该服务器组实时的每秒访客访问请求个数。
本申请实施例中,由于服务器组中通常包括多个服务器(即多个边缘缓存服务器),而每个服务器都有一个实时QPS,因此服务器组的实时QPS可以为该服务器组内的所有服务器的实时QPS之和。
具体地,可以先获取CDN各边缘节点下的所有服务器的实时QPS,之后根据各服务器的IP,查找到各服务器对应归属的服务器组,以服务器组为计算单位,对每个服务器组内的所有服务器的实时QPS进行求和,得到各服务器组的实时QPS。
例如,三个服务器组分别为服务器组A、服务器组B和服务器组C,服务器组A中包括服务器11、服务器12和服务器13,服务器组B中包括服务器21、服务器22和服务器23,服务器组C中包括服务器31、服务器32和服务器33,以上各服务器的实时QPS如下表1所示,以服务器组为计算单位,对每个服务器组内的所有服务器的实时QPS进行求和,可以得到各服务器组的实时QPS。
表1
本申请实施例中,通过获取CDN各边缘节点的服务器组的实时QPS,来实时监控边缘节点的每秒请求个数,以便当请求个数突增导致边缘节点的QPS资源不足时,及时进行资源调度,即增加边缘节点的QPS资源。
在步骤102中,根据各服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,上限QPS为服务器组支持的最大QPS。
本申请实施例中,服务器组的上限QPS可以为该服务器组内的所有服务器的上限QPS之和。
本申请实施例中,服务器组的上限QPS,指的是该服务器组每秒可以支持的访客访问请求个数的最大值。
本申请实施例中,QPS不足的目标服务器组,指的是跑超的服务器组,也就是,不能对所有访客访问请求都做出响应的服务器组。
本申请实施例中,可以遍历所有服务器组的实时QPS,判断其是否跑超服务器组的上限QPS,是否还有可用的QPS。
在一些实施例中,对于每个服务器组,可以直接将服务器组的实时QPS与服务器组的上限QPS进行比较,如果服务器组的实时QPS大于或等于上限QPS,则确定该服务器组为QPS不足的目标服务器组;如果服务器组的实时QPS小于上限QPS,则认为服务器组的QPS充足。
在一些实施例中,为防止服务器组上的访客访问请求数量突然跑超,可以设置一个冗余参数,例如,冗余参数为0.9,此时,上述步骤102包括以下步骤:步骤1021、步骤1022和步骤1023;
在步骤1021中,获取冗余参数,其中,冗余参数的取值介于0至1之间,冗余参数用于防止服务器组上的访客访问请求数量跑超。
本申请实施例中,对于不同的服务器组可以设置不同的冗余参数,或者对于不同的服务器组可以设置相同的冗余参数,本申请实施例对此不作限定。
在步骤1022中,根据各服务器组的实时QPS、上限QPS和冗余参数,计算各服务器组的冗余QPS,其中,冗余QPS=上限QPS*冗余参数–实时QPS。
本申请实施例中,冗余QPS,指的是剩余的QPS,即可用的QPS。对于每个服务器组,该服务器组的冗余QPS=该服务器组的上限QPS*冗余参数–该服务器组的实时QPS。
在步骤1023中,将冗余QPS小于0的所述服务器组,确定为QPS不足的目标服务器组。
本申请实施例中,对于QPS不足的目标服务器组,认为该目标服务器组已经跑超,需要对该服务器组的资源进行调度。
在步骤103中,根据服务器组与客户的对应关系,确定目标服务器组对应的目标客户的域名和目标加速区域,其中,加速区域是基于地理位置划分得到的。
本申请实施例中,CDN厂商在为客户提供服务时,会为客户分配多个服务器组,并记录客户与其分配到的服务器组之间的对应关系,该对应关系的形式可以为客户域名、加速区域与服务器组标识之间的对应关系,如下表2所示,其中,Beijing指的是北京市,Tianjin指的是天津市。
客户域名 | 加速区域 | 服务器组 |
www.aaa.com | Beijing | A,B,C |
www.bbb.com | Beijing | B,C,D |
www.aaa.com | Tianjin | A,D,E |
表2
在实际应用中,多个不同的客户可能会选择同一个CDN厂商,此时,一个CDN厂商会为多个客户服务,在为多个客户分配服务器组时,多个客户可以共享一个服务器组,也可以使用不同的服务器组。
本申请实施例中,对于所有QSP不足的服务器组,即目标服务器组,可以根据服务器组与客户的对应关系,查找到受服务器组QPS不足影响的所有客户和加速区域,即目标客户的目标加速区域。
本申请实施例中,会为受服务器组QPS不足影响的目标加速区域内的目标客户,进行CDN资源调度,以增加其对应的服务器组的QPS资源。
在步骤104中,为目标加速区域内的目标客户,进行CDN资源调度;其中,上述CDN资源调度包括以下至少一项:将目标服务器组中的第一服务器更换为第二服务器,以及在目标服务器中增加第三服务器;第二服务器的上限QPS大于第一服务器的上限QPS。
本申请实施例中,为了方便为客户做CDN资源调度,可以预先为每个客户分配一个资源池,每个资源池中包括多个备用的服务器。在后续做CDN资源调度时,从资源池中选择一个QPS上限值大的服务器,替换服务器组中QPS上限值小的服务器,或者从资源池中选择一个QPS上限值大的服务器,添加到服务器组中。
本申请实施例中,为目标加速区域内的目标客户进行CDN资源调度的本质是:增大目标加速区域内的目标客户对应的服务器组的QPS容量,以便能够对更多的访客访问请求均做出响应,使得目标加速区域内的目标客户的用户的访问请求均得到反馈。
由上述实施例可见,该实施例中,获取CDN各边缘节点的服务器组的实时QPS;根据各服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,上限QPS为服务器组支持的最大QPS;根据服务器组与客户的对应关系,确定目标服务器组对应的目标客户的域名和目标加速区域,其中,加速区域是基于地理位置划分得到的;为目标加速区域内的目标客户,进行CDN资源调度;其中,上述CDN资源调度包括以下至少一项:将目标服务器组中的第一服务器更换为第二服务器,以及在目标服务器中增加第三服务器;第二服务器的上限QPS大于第一服务器的上限QPS。
可见,本申请实施例中,CDN厂商在为客户调度CDN资源时,不再只考虑CDN节点的带宽因素,还会综合客户的特性,针对访客访问请求并发量大、但对带宽消耗没有那么明显的客户,实时监控CDN边缘节点的访客访问请求数数据,当监控到访客访问请求数突增时,对于资源不足的边缘节点,及时为客户更换或者增加节点资源,以实现对访客访问请求的及时响应,提高客户的服务质量。
在本申请提供的另一个实施例中,在为目标加速区域内的目标客户进行CDN资源调度时,可以基于目标客户在目标加速区域内的历史访客访问请求数据,来进行CDN资源调度,相应地,如图2所示,上述步骤104包括以下步骤:步骤201、步骤202和步骤203;
在步骤201中,获取目标客户在目标加速区域内的访客访问请求的历史峰值QPS。
本申请实施例中,考虑到不同客户在不同的时间段请求数需求通常不同,因此可以将一天时间分成多个时间段,以便于结合不同客户的高峰时间段的因素,来充分利用CDN节点资源。例如,将一天时间划分为两个时间段:0点-18点(早间时段)和18点-24点(晚间时段)。
相应地,在一些实施例中,可以获取最近N天目标客户在目标加速区域内的不同时段的访客访问请求的历史峰值QPS,N为大于1的整数。
在步骤202中,获取目标客户在目标加速区域内的资源规划信息,其中,资源规划信息包括:所使用的服务器组和对服务器组的使用优先级。
考虑到可能存在多个客户共享一个服务器组的情况,本申请实施例中,可以设置各客户对服务器组的使用优先级,不同的客户对应不同的使用优先级。
在一些实施例中,可以获取最近N天目标客户在目标加速区域内的资源规划信息。例如,获取最近2天目标客户在目标加速区域内的资源规划信息。
考虑到客户通常不止一个任务,例如健康类APP,为用户提供多个服务,例如,疫苗接种服务、疾病检测服务等,每个服务可以视为一个任务,因此CDN厂商在为客户分配服务器组之后,客户还可以根据其自身任务的不同,为不同的任务分配服务器组。
在一个例子中,如下表3所示,示出了最近2天目标客户在目标加速区域内的资源规划信息。
任务ID | 客户域名 | 加速区域 | 服务器组 | 优先级 |
1 | www.aaa.com | Beijing | A,B,C | 高 |
2 | www.bbb.com | Beijing | B,C,D | 低 |
3 | www.aaa.com | Tianjin | A,D,E | 高 |
表3
在步骤203中,根据历史峰值QPS和资源规划信息,为目标加速区域内的目标客户,进行CDN资源调度。
本申请实施例中,可以根据目标客户在目标加速区域内的访客访问请求的历史峰值QPS,预估该目标加速区域内的各目标服务器组在当前时间收到的访客访问请求的个数的最大值,通过将预估的最大值与目标服务器组的上限QPS进行比较,来确定QPS资源不足的目标服务器组,也就是,需要为哪个目标服务器组增加QPS资源。
优选地,根据最近N天目标客户在目标加速区域内的不同时段的访客访问请求的历史峰值QPS,可以更准确地预估该目标加速区域内的各目标服务器组在当前时间收到的访客访问请求的个数的最大值。
本申请实施例中,可以根据目标客户在目标加速区域内的资源规划信息,确定目标加速区域内各任务执行顺序。
在一个例子中,表3所示的资源规划信息,从表3可以看出:客户域名为www.aaa.com的相关任务需要优先执行;任务1与任务3有共同服务器组A,不能同时执行;任务2依赖任务1和任务3执行完成。
可见,本申请实施例中,可以根据资源规划信息确定目标加速区域内各任务的执行顺序,根据历史峰值QPS预估目标加速区域内各目标服务器组的访客访问请求的个数的最大值,按照所确定的执行顺序执行各任务,在任务执行过程中,根据预估的最大值,确定执行各任务时QPS资源不足的目标服务器组,可以准确地确定出QPS资源不足的目标服务器组,并及时为该目标服务器组增加QPS资源,以便能够实现对访客访问请求的及时响应,从而提高客户的服务质量。
在本申请提供的另一个实施例中,可以从CDN边缘节点的各服务器组中采集访客访问客户域名的记录,根据访客IP归属的区域,将访客访问记录中的访客请求个数汇总到各客户的各个加速区域,并且将一天时间区分多个时间段,计算各个时间段的峰值请求数,相应地,如图3所示,上述步骤201包括以下步骤:步骤301、步骤302、步骤303和步骤304;
在步骤301中,获取CDN各边缘节点的服务器组的访客访问记录,其中,访客访问记录中包括不同访客IP对于不同客户域名的访客访问请求数。
在一个例子中,访客访问记录如下表4所示。
访客IP | 客户域名 | 访问请求个数 |
1.1.1.1 | www.aaa.com | 500 |
1.1.1.1 | www.bbb.com | 260 |
1.1.1.2 | www.ccc.com | 400 |
表4
在步骤302中,根据访客IP归属的区域,将访客访问记录中的访客访问请求数汇总至各客户的加速区域。
在一个例子中,可以每间隔5分钟,根据IP库查询访客IP归属的加速区域,计算这5分钟内不同客户在对应加速区域的QPS,例如下表5所示。
客户域名 | 加速区域 | QPS |
www.aaa.com | Beijing | 1200 |
www.bbb.com | Beijing | 1500 |
www.aaa.com | Tianjin | 500 |
表5
在步骤303中,将最近N天的每天时间进行区分时间段,根据各客户在各个加速区域的访客访问请求数,计算最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS。
本申请实施例中,考虑到不同客户在不同的时间段请求数需求通常不同,因此可以将一天时间分成多个时间段,以便于结合不同客户的高峰时间段的因素,来充分利用CDN节点资源。例如,将一天时间划分为两个时间段:0点-18点(早间时段)和18点-24点(晚间时段)。
例如,首先汇总各客户在各加速区域的QPS,得到下表6所示的结果。
客户域名 | 加速区域 | QPS | 时间 |
www.aaa.com | Beijing | 1200 | 2022-07-25 17:45:00 |
www.bbb.com | Beijing | 1500 | 2022-07-25 17:45:00 |
www.aaa.com | Tianjin | 500 | 2022-07-25 17:45:00 |
表6
之后,根据上报时间,将汇总的各客户在各加速区域的QPS来匹配到对应的时间段,例如,早高峰时间段还是晚高峰时间段,更新各客户在各加速区域的不同时间段的峰值QPS,其中,在更新时,如果当前QPS大于当前峰值QPS,则当前峰值QPS=当前QPS值;反之,则数据不变。例如,可以得到如下表7所示的结果。
客户域名 | 加速区域 | 今日早间峰值QPS | 今日晚间峰值QPS |
www.aaa.com | Beijing | 5000 | 8000 |
www.bbb.com | Beijing | 3000 | 9500 |
www.aaa.com | Tianjin | 1500 | 6000 |
表7
最后,根据最近2天客户的峰值QPS使用情况(即历史峰值QPS),和最近2天客户的资源规划信息,进行资源调度,因此需要计算今日以及昨日峰值QPS的峰值。在每天0点,将今日的各个时间段峰值更新为昨日对应时间段的峰值QPS数据,今日的峰值QPS则根据实时QPS重新计算,可以得到如下表8所示的数据。
表8
在步骤304中,从最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS中,获取最近N天目标客户在目标加速区域内的不同时段的访客访问请求的历史峰值QPS。
本申请实施例中,可以根据目标客户的客户域名和目标加速区域的区域标识,从最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS中,获取最近N天目标客户在目标加速区域内的不同时段的访客访问请求的历史峰值QPS。
可见,本申请实施例中,可以将每天的时间进行区分时间段(例如早间、晚间),根据客户在各个加速区域的访客访问请求数,计算出当前所在时间段请求数峰值数据,当作在该时间段请求数需求量,避免在为客户做资源调度时,出现频繁服务的频繁切换。
在本申请提供的另一个实施例中,对于监控到服务器组跑高后将影响到的客户,可以按照其规划资源的相关性,构建一个有向无环图,然后利用该有向无环图的拓扑排序进行并行调度,以提高资源调度的效率,相应地,如图4所示,上述步骤203包括以下步骤:步骤401和步骤402;
在步骤401中,根据资源规划信息,构建有向无环图,其中,有向无环图中的每个节点对应目标客户在目标加速区域内的一个调度任务。
本申请实施例中,可以根据目标客户的优先级等级与客户域名和加速区域粒度构建一个有向无环图。
在一个例子中,根据目标客户的优先级等级与客户域名和加速区域粒度构建如图5所示的有向无环图,其中,每个节点对应于一个调度任务以及该调度任务归属的客户域名和加速区域。从图5中可以看出:任务1和任务2可以并行执行,任务3依赖于任务1和任务2,任务4依赖于任务3,任务5和任务6均依赖于任务4,任务5和任务6可以并行执行,任务7依赖于任务5和任务6,任务8依赖于任务7。为了便于描述,可以将图5所示的有向无环图转换为图6所示的表示方式,其中,图6中的节点i对应于图5中任务i的节点。
在步骤402中,根据历史峰值QPS和有向无环图中各节点的拓扑排序,进行CDN资源调度。
本申请实施例中,可以按照有向无环图中各节点的拓扑排序,进行任务执行。
在一个例子中,对于图6所示的有向无环图,按照拓扑排序,首先同时执行节点1和节点2对应的任务,在节点1和节点2对应的任务执行完成之后,执行节点3对应的任务,在节点3对应的任务执行完成之后,执行节点4对应的任务,在节点4对应的任务执行完成之后,同时执行节点5和节点6对应的任务,在节点5和节点6对应的任务执行完成之后,执行节点7对应的任务,在节点7对应的任务执行完成之后,执行节点8对应的任务。
本申请实施例中,在按照拓扑排序执行每个任务的过程中,根据历史峰值QPS预估目标加速区域内各目标服务器组的访客访问请求的个数的最大值,根据预估的最大值,确定执行各任务时QPS资源不足的目标服务器组,及时为该目标服务器组增加QPS资源。
可见,本申请实施例中,可以结合客户在加速区域的请求数,对于请求数跑高的客户,在客户和加速区域粒度构建有向无环图,然后利用拓扑排序,对客户进行并行调度,避免客户下的资源有交集,影响调度的结果,提高了资源调度的效率,适用于访客访问请求数多但是带宽占用量小的场景。
在本申请提供的另一个实施例中,在有向无环图构建完成之后,利用拓扑排序来并行调度任务,可以首先选择入度为0的任务进行执行,后续对应任务的入度减1,重复该步骤,直到没有入度为0的任务,说明任务均已执行完成,使得无相关性的任务可以并行执行,提高了调度的效率。相应地,如图7所示,上述步骤402,可以包括以下步骤:步骤701、步骤702、步骤703、步骤704和步骤705;
在步骤701中,从有向无环图中入度为0的目标节点开始,根据历史峰值QPS,计算目标节点对应的目标客户在目标加速区域内的每个目标服务器组的访客访问请求数历史均值,其中,历史均值=历史峰值QPS/目标服务器组个数。
在一些实施例中,可以从有向无环图中入度为0的目标节点开始,确定当前时间归属的目标时段,根据目标时段对应的历史峰值QPS,计算目标节点对应的目标客户在目标加速区域内的每个目标服务器组的访客访问请求数历史均值。
例如,当前任务的请求数历史峰值QPS=max(今日峰值QPS,昨日峰值QPS),当前任务下每个服务器组的访客访问请求数历史均值=当前任务的请求数历史峰值QPS/当前任务归属加速区域内服务器组个数。
在步骤702中,对于上限QPS小于历史均值的目标服务器组,从目标客户的资源池中选择第二服务器,将目标服务器组中的第一服务器更换为第二服务器。
本申请实施例中,对于QPS不足的服务器组,可以先从客户的资源池中挑选一个服务器,以尝试满足当前客户需求。
在步骤703中,对于更换第二服务器之后上限QPS仍小于历史均值的目标服务器组,从目标客户的资源池中选择第三服务器,在目标服务器组中增加第三服务器,直至目标服务器组的上限QPS大于历史均值。
本申请实施例中,对于替换资源无法满足的情况,则尝试增加一个服务器,直到满足客户在该加速区域的需求,停止增加资源。
在步骤704中,在目标节点对应的调度任务执行完成后,删除有向无环图中的目标节点,并将有向无环图中其他节点的入度减1。
本申请实施例中,当前任务执行完成后,后续任务的入度减1,并且从有向无环图中删除该当前任务。
在步骤705中,对有向无环图中的其他节点重复上述资源调度过程,直至有向无环图中节点的个数为0。
本申请实施例中,可以重复上述步骤701至步骤704,直到没有入度为0的任务为止,说明本次调度的所有任务执行完成。
在一个例子中,如图8所示,对于图6所示的有向无环图,按照拓扑排序,由于节点1和节点的入度为0,因此首先同时执行节点1和节点2对应的任务,在节点1和节点2对应的任务执行完成之后,删除节点1和节点2,同时将节点3~节点8的入度均减1。由于此时节点3的入度为0,因此继续执行节点3对应的任务,以此类推,直至节点8对应的任务执行完成。
可见,本申请实施例中,利用有向无环图的拓扑排序来并行调度任务,选择入度为0的任务进行执行,后续对应任务的入度减1,重复该步骤,直到没有入度为0的任务,说明任务执行完成,使得任务能够并行执行,可以为服务器组跑高的客户快速地调度资源。
在本申请提供的另一个实施例中,还可以提供一种CDN资源调度***,如图9所示,该CDN资源调度***可以包括:IP段数据库、基础数据配置模块、实时数据采集模块、数据分析模块和调度决策模块;其中,IP段数据库用于主要存储运营商、IP段与ASN之间的关系,可由第三方提供。
基础数据配置模块,用于维护边缘服务器信息、服务器组信息、客户信息、客户域名信息,以及客户在各个加速区域的资源规划信息。
实时数据采集模块,用于负责采集边缘服务器的实时请求数数据,并且定时汇总各个客户在对应加速区域上的请求数,汇总之后将数据发送给数据分析模块。
数据分析模块,用于将实时数据采集模块上报的数据,按照分时段进行计算,最终计算得到不同客户在各个加速区域,在不同时段的请求数峰值数据,将数据结果推送给调度决策模块。
调度决策模块,用于结合客户在加速区域的请求数,确定请求数跑高的客户,根据客户和加速区域粒度构建有向无环图,然后利用拓扑排序,对客户进行并行调度。
可见,本申请实施例中,调度***在为客户对应的加速区域进行资源调度时,不再单一考虑带宽,还会结合请求数需求,具体地,实时采集边缘服务器的访客请求数数据,并且请求数数据汇总客户在各个加速区域的数据,基于访客的请求数来进行调度,当客户带宽量需求小,但是请求数多时,为客户替换或者增加节点资源,从而确保访客访问请求数多但是带宽量小的场景下客户的服务质量。
相应于上面的方法实施例,本申请实施例还提供了一种CDN资源调度装置,下文描述的CDN资源调度装置与上文描述的CDN资源调度方法可相互对应参照。
图10是本申请实施例提供的一种CDN资源调度装置的结构示意图,如图10所示,所述CDN资源调度装置1000,可以包括:获取模块1001、第一确定模块1002、第二确定模块1003和调度模块1004;
获取模块1001,用于获取所述CDN各边缘节点的服务器组的实时QPS;
第一确定模块1002,用于根据各所述服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,所述上限QPS为所述服务器组支持的最大QPS;
第二确定模块1003,用于根据服务器组与客户的对应关系,确定所述目标服务器组对应的目标客户的域名和目标加速区域,其中,所述加速区域是基于地理位置划分得到的;
调度模块1004,用于为所述目标加速区域内的所述目标客户,进行CDN资源调度;所述CDN资源调度包括以下至少一项:将所述目标服务器组中的第一服务器更换为第二服务器,以及在所述目标服务器中增加第三服务器;所述第二服务器的上限QPS大于所述第一服务器的上限QPS。
由上述实施例可见,该实施例中,获取CDN各边缘节点的服务器组的实时QPS;根据各服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,上限QPS为服务器组支持的最大QPS;根据服务器组与客户的对应关系,确定目标服务器组对应的目标客户的域名和目标加速区域,其中,加速区域是基于地理位置划分得到的;为目标加速区域内的目标客户,进行CDN资源调度;其中,上述CDN资源调度包括以下至少一项:将目标服务器组中的第一服务器更换为第二服务器,以及在目标服务器中增加第三服务器;第二服务器的上限QPS大于第一服务器的上限QPS。
可见,本申请实施例中,CDN厂商在为客户调度CDN资源时,不再只考虑CDN节点的带宽因素,还会综合客户的特性,针对访客访问请求并发量大、但对带宽消耗没有那么明显的客户,实时监控CDN边缘节点的访客访问请求数数据,当监控到访客访问请求数突增时,对于资源不足的边缘节点,及时为客户更换或者增加节点资源,以实现对访客访问请求的及时响应,提高客户的服务质量。
可选地,作为一个实施例,所述调度模块1004,可以包括:
第一获取子模块,用于获取所述目标客户在所述目标加速区域内的访客访问请求的历史峰值QPS;
第二获取子模块,用于获取所述目标客户在所述目标加速区域内的资源规划信息,其中,所述资源规划信息包括:所使用的服务器组和对服务器组的使用优先级;
调度子模块,用于根据所述历史峰值QPS和所述资源规划信息,为所述目标加速区域内的所述目标客户,进行CDN资源调度。
可选地,作为一个实施例,所述第一获取子模块,可以包括:
第一获取单元,用于获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS,其中,N为大于1的整数;
所述第二获取子模块,可以包括:第二获取单元,用于获取最近N天所述目标客户在所述目标加速区域内的资源规划信息。
可选地,作为一个实施例,所述第一获取单元,可以包括:
第一获取子单元,用于获取所述CDN各边缘节点的服务器组的访客访问记录,其中,所述访客访问记录中包括不同访客IP对于不同客户域名的访客访问请求数;
汇总子单元,用于根据访客IP归属的区域,将所述访客访问记录中的访客访问请求数汇总至各客户的加速区域;
第一计算子单元,用于将最近N天的每天时间进行区分时间段,根据各客户在各个加速区域的访客访问请求数,计算最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS;
第二获取子单元,用于从所述最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS中,获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS。
可选地,作为一个实施例,所述调度子模块,可以包括:
构建单元,用于根据所述资源规划信息,构建有向无环图,其中,所述有向无环图中的每个节点对应所述目标客户在所述目标加速区域内的一个调度任务;
调度单元,用于根据所述历史峰值QPS和所述有向无环图中各节点的拓扑排序,进行CDN资源调度。
可选地,作为一个实施例,所述调度单元,可以包括:
第二计算子单元,用于从所述有向无环图中入度为0的目标节点开始,根据所述历史峰值QPS,计算所述目标节点对应的所述目标客户在所述目标加速区域内的每个所述目标服务器组的访客访问请求数历史均值,其中,历史均值=历史峰值QPS/目标服务器组个数;
第一调度子单元,用于对于上限QPS小于所述历史均值的所述目标服务器组,从所述目标客户的资源池中选择第二服务器,将所述目标服务器组中的第一服务器更换为所述第二服务器;
第二调度子单元,用于对于更换所述第二服务器之后上限QPS仍小于所述历史均值的所述目标服务器组,从所述目标客户的资源池中选择第三服务器,在所述目标服务器组中增加所述第三服务器,直至所述目标服务器组的上限QPS大于所述历史均值;
更新子单元,用于在所述目标节点对应的调度任务执行完成后,删除所述有向无环图中的所述目标节点,并将所述有向无环图中其他节点的入度减1;
第三调度子单元,用于对所述有向无环图中的其他节点重复上述资源调度过程,直至所述有向无环图中节点的个数为0。
可选地,作为一个实施例,所述计算子单元,具体用于从所述有向无环图中入度为0的目标节点开始,确定当前时间归属的目标时段,根据所述目标时段对应的历史峰值QPS,计算所述目标节点对应的所述目标客户在所述目标加速区域内的每个所述目标服务器组的访客访问请求数历史均值。
可选地,作为一个实施例,所述第一确定模块1002,可以包括:
第三获取子模块,用于获取冗余参数,所述冗余参数的取值介于0至1之间,所述冗余参数用于防止所述服务器组上的访客访问请求数量跑超;
计算子模块,用于根据各所述服务器组的实时QPS、上限QPS和所述冗余参数,计算各所述服务器组的冗余QPS,其中,冗余QPS=上限QPS*冗余参数–实时QPS;
确定子模块,用于将冗余QPS小于0的所述服务器组,确定为QPS不足的目标服务器组。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
相应于上面的方法实施例,本申请实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述CDN资源调度方法的步骤。
如图11所示,为电子设备的组成结构示意图,电子设备可以包括:处理器1100、存储器1200、通信接口1300和通信总线1400。处理器1100、存储器1200、通信接口1300均通过通信总线1400完成相互间的通信。
在本申请实施例中,处理器1100可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。处理器1100可以调用存储器1200中存储的程序,具体的,处理器1100可以执行CDN资源调度方法的实施例中的操作。存储器1200中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器1200中至少存储有用于实现以下功能的程序:
获取CDN各边缘节点的服务器组的实时QPS;根据各服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组;根据服务器组与客户的对应关系,确定目标服务器组对应的目标客户的域名和目标加速区域;为目标加速区域内的目标客户进行CDN资源调度;CDN资源调度包括以下至少一项:将目标服务器组中的第一服务器更换为第二服务器,在目标服务器中增加第三服务器;第二服务器的上限QPS大于第一服务器的上限QPS。
在一种可能的实现方式中,存储器1200可包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。此外,存储器1200可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。通信接口1300可以为通信模块的接口,用于与其他设备或者***连接。当然,需要说明的是,图11所示的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图11所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述CDN资源调度方法的步骤。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文所对应实施例中CDN资源调度方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (15)
1.一种内容分发网络CDN资源调度方法,其特征在于,所述方法包括:
获取所述CDN各边缘节点的服务器组的实时每秒查询率QPS;
根据各所述服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,所述上限QPS为所述服务器组支持的最大QPS;
根据服务器组与客户的对应关系,确定所述目标服务器组对应的目标客户的域名和目标加速区域,其中,所述加速区域是基于地理位置划分得到的;
为所述目标加速区域内的所述目标客户,进行CDN资源调度;
其中,所述CDN资源调度包括以下至少一项:将所述目标服务器组中的第一服务器更换为第二服务器,以及在所述目标服务器中增加第三服务器;所述第二服务器的上限QPS大于所述第一服务器的上限QPS。
2.根据权利要求1所述的方法,其特征在于,所述为所述目标加速区域内的所述目标客户,进行CDN资源调度,包括:
获取所述目标客户在所述目标加速区域内的访客访问请求的历史峰值QPS;
获取所述目标客户在所述目标加速区域内的资源规划信息,其中,所述资源规划信息包括:所使用的服务器组和对服务器组的使用优先级;
根据所述历史峰值QPS和所述资源规划信息,为所述目标加速区域内的所述目标客户,进行CDN资源调度。
3.根据权利要求2所述的方法,其特征在于,所述获取所述目标客户在所述目标加速区域内的访客访问请求的历史峰值QPS,包括:
获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS,其中,N为大于1的整数;
所述获取所述目标客户在所述目标加速区域内的资源规划信息,包括:
获取最近N天所述目标客户在所述目标加速区域内的资源规划信息。
4.根据权利要求3所述的方法,其特征在于,所述获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS,包括:
获取所述CDN各边缘节点的服务器组的访客访问记录,其中,所述访客访问记录中包括不同访客IP对于不同客户域名的访客访问请求数;
根据访客IP归属的区域,将所述访客访问记录中的访客访问请求数汇总至各客户的加速区域;
将最近N天的每天时间进行区分时间段,根据各客户在各个加速区域的访客访问请求数,计算最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS;
从所述最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS中,获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述根据所述历史峰值QPS和所述资源规划信息,为所述目标加速区域内的所述目标客户,进行CDN资源调度,包括:
根据所述资源规划信息,构建有向无环图,其中,所述有向无环图中的每个节点对应所述目标客户在所述目标加速区域内的一个调度任务;
根据所述历史峰值QPS和所述有向无环图中各节点的拓扑排序,进行CDN资源调度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述历史峰值QPS和所述有向无环图中各节点的拓扑排序,进行CDN资源调度,包括:
从所述有向无环图中入度为0的目标节点开始,根据所述历史峰值QPS,计算所述目标节点对应的所述目标客户在所述目标加速区域内的每个所述目标服务器组的访客访问请求数历史均值,其中,历史均值=历史峰值QPS/目标服务器组个数;
对于上限QPS小于所述历史均值的所述目标服务器组,从所述目标客户的资源池中选择第二服务器,将所述目标服务器组中的第一服务器更换为所述第二服务器;
对于更换所述第二服务器之后上限QPS仍小于所述历史均值的所述目标服务器组,从所述目标客户的资源池中选择第三服务器,在所述目标服务器组中增加所述第三服务器,直至所述目标服务器组的上限QPS大于所述历史均值;
在所述目标节点对应的调度任务执行完成后,删除所述有向无环图中的所述目标节点,并将所述有向无环图中其他节点的入度减1;
对所述有向无环图中的其他节点重复上述资源调度过程,直至所述有向无环图中节点的个数为0。
7.根据权利要求6所述的方法,其特征在于,所述从所述有向无环图中入度为0的目标节点开始,根据所述历史峰值QPS,计算所述目标节点对应的所述目标客户在所述目标加速区域内的每个所述目标服务器组的访客访问请求数历史均值,包括:
从所述有向无环图中入度为0的目标节点开始,确定当前时间归属的目标时段,根据所述目标时段对应的历史峰值QPS,计算所述目标节点对应的所述目标客户在所述目标加速区域内的每个所述目标服务器组的访客访问请求数历史均值。
8.根据权利要求1所述的方法,其特征在于,根据各所述服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,包括:
获取冗余参数,其中,所述冗余参数的取值介于0至1之间,所述冗余参数用于防止所述服务器组上的访客访问请求数量跑超;
根据各所述服务器组的实时QPS、上限QPS和所述冗余参数,计算各所述服务器组的冗余QPS,其中,冗余QPS=上限QPS*冗余参数–实时QPS;
将冗余QPS小于0的所述服务器组,确定为QPS不足的目标服务器组。
9.一种CDN资源调度装置,其特征在于,所述装置包括:
获取模块,用于获取所述CDN各边缘节点的服务器组的实时QPS;
第一确定模块,用于根据各所述服务器组的实时QPS和上限QPS,确定QPS不足的目标服务器组,其中,所述上限QPS为所述服务器组支持的最大QPS;
第二确定模块,用于根据服务器组与客户的对应关系,确定所述目标服务器组对应的目标客户的域名和目标加速区域,其中,所述加速区域是基于地理位置划分得到的;
调度模块,用于为所述目标加速区域内的所述目标客户,进行CDN资源调度;
其中,所述CDN资源调度包括以下至少一项:将所述目标服务器组中的第一服务器更换为第二服务器,以及在所述目标服务器中增加第三服务器;所述第二服务器的上限QPS大于所述第一服务器的上限QPS。
10.根据权利要求9所述的装置,其特征在于,所述调度模块包括:
第一获取子模块,用于获取所述目标客户在所述目标加速区域内的访客访问请求的历史峰值QPS;
第二获取子模块,用于获取所述目标客户在所述目标加速区域内的资源规划信息,其中,所述资源规划信息包括:所使用的服务器组和对服务器组的使用优先级;
调度子模块,用于根据所述历史峰值QPS和所述资源规划信息,为所述目标加速区域内的所述目标客户,进行CDN资源调度。
11.根据权利要求10所述的装置,其特征在于,所述第一获取子模块包括:
第一获取单元,用于获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS,其中,N为大于1的整数;
所述第二获取子模块包括:
第二获取单元,用于获取最近N天所述目标客户在所述目标加速区域内的资源规划信息。
12.根据权利要求11所述的装置,其特征在于,所述第一获取单元包括:
第一获取子单元,用于获取所述CDN各边缘节点的服务器组的访客访问记录,其中,所述访客访问记录中包括不同访客IP对于不同客户域名的访客访问请求数;
汇总子单元,用于根据访客IP归属的区域,将所述访客访问记录中的访客访问请求数汇总至各客户的加速区域;
第一计算子单元,用于将最近N天的每天时间进行区分时间段,根据各客户在各个加速区域的访客访问请求数,计算最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS;
第二获取子单元,用于从所述最近N天各客户在各加速区域内的不同时段的访客访问请求的历史峰值QPS中,获取最近N天所述目标客户在所述目标加速区域内的不同时段的访客访问请求的历史峰值QPS。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述调度子模块包括:
构建单元,用于根据所述资源规划信息,构建有向无环图,其中,所述有向无环图中的每个节点对应所述目标客户在所述目标加速区域内的一个调度任务;
调度单元,用于根据所述历史峰值QPS和所述有向无环图中各节点的拓扑排序,进行CDN资源调度。
14.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665836.4A CN116233027A (zh) | 2022-12-23 | 2022-12-23 | Cdn资源调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665836.4A CN116233027A (zh) | 2022-12-23 | 2022-12-23 | Cdn资源调度方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233027A true CN116233027A (zh) | 2023-06-06 |
Family
ID=86590115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211665836.4A Pending CN116233027A (zh) | 2022-12-23 | 2022-12-23 | Cdn资源调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233027A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166526A (zh) * | 2019-04-15 | 2019-08-23 | 中国平安人寿保险股份有限公司 | 多cdn接入管理方法、装置、计算机设备及存储介质 |
CN113037716A (zh) * | 2021-02-07 | 2021-06-25 | 杭州又拍云科技有限公司 | 一种基于内容分发网络的攻击防御方法 |
WO2022001732A1 (zh) * | 2020-06-29 | 2022-01-06 | 中兴通讯股份有限公司 | Cdn调度方法、接入设备、cdn调度器及存储介质 |
CN114598701A (zh) * | 2022-02-16 | 2022-06-07 | 阿里巴巴(中国)有限公司 | Cdn调度方法、***、计算设备及存储介质 |
US20220272392A1 (en) * | 2019-07-31 | 2022-08-25 | Shanghai Hode Information Technology Co., Ltd. | Burst traffic processing method, computer device and readable storage medium |
-
2022
- 2022-12-23 CN CN202211665836.4A patent/CN116233027A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166526A (zh) * | 2019-04-15 | 2019-08-23 | 中国平安人寿保险股份有限公司 | 多cdn接入管理方法、装置、计算机设备及存储介质 |
US20220272392A1 (en) * | 2019-07-31 | 2022-08-25 | Shanghai Hode Information Technology Co., Ltd. | Burst traffic processing method, computer device and readable storage medium |
WO2022001732A1 (zh) * | 2020-06-29 | 2022-01-06 | 中兴通讯股份有限公司 | Cdn调度方法、接入设备、cdn调度器及存储介质 |
CN113037716A (zh) * | 2021-02-07 | 2021-06-25 | 杭州又拍云科技有限公司 | 一种基于内容分发网络的攻击防御方法 |
CN114598701A (zh) * | 2022-02-16 | 2022-06-07 | 阿里巴巴(中国)有限公司 | Cdn调度方法、***、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021004063A1 (zh) | 一种缓存服务器的带宽调度方法及装置 | |
US10466899B2 (en) | Selecting controllers based on affinity between access devices and storage segments | |
US20170142177A1 (en) | Method and system for network dispatching | |
WO2017080172A1 (zh) | 网络调度方法和*** | |
CN106657379A (zh) | 一种nginx服务器负载均衡的实现方法及*** | |
CN104348798B (zh) | 一种分配网络的方法、装置、调度服务器和*** | |
WO2017016423A1 (zh) | 一种实时新增数据更新方法和装置 | |
CN111432247B (zh) | 流量调度方法、装置、服务器及存储介质 | |
US20140173591A1 (en) | Differentiated service levels in virtualized computing | |
CN106230971B (zh) | 基于cdn的大文件分发方法 | |
CN112491964B (zh) | 移动辅助边缘计算方法、装置、介质和设备 | |
CN110830604B (zh) | Dns调度方法、装置 | |
CN107888660B (zh) | 云服务资源调配方法、介质、装置和计算设备 | |
CN109981702B (zh) | 一种文件存储方法及*** | |
WO2024094104A1 (zh) | 一种动态反馈加权云存储资源调度方法、装置及设备 | |
US20120324466A1 (en) | Scheduling Execution Requests to Allow Partial Results | |
CN115421930B (zh) | 任务处理方法、***、装置、设备及计算机可读存储介质 | |
CN113641505B (zh) | 一种服务器集群的资源分配控制方法和装置 | |
CN114595167A (zh) | 分布式缓存***、方法以及装置 | |
CN113315825A (zh) | 分布式请求的处理方法、装置、设备及存储介质 | |
KR20170014804A (ko) | 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 | |
CN110515728B (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN116233027A (zh) | Cdn资源调度方法、装置、电子设备及存储介质 | |
US20210083947A1 (en) | Method and apparatus for recognizing surge in bandwidth demand | |
CN112738247B (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 |
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. |
|
CB02 | Change of applicant information |