CN115208766A - 一种cdn带宽调度方法及相关装置 - Google Patents

一种cdn带宽调度方法及相关装置 Download PDF

Info

Publication number
CN115208766A
CN115208766A CN202210902219.5A CN202210902219A CN115208766A CN 115208766 A CN115208766 A CN 115208766A CN 202210902219 A CN202210902219 A CN 202210902219A CN 115208766 A CN115208766 A CN 115208766A
Authority
CN
China
Prior art keywords
bandwidth
dns
server
scheduling
local
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.)
Granted
Application number
CN202210902219.5A
Other languages
English (en)
Other versions
CN115208766B (zh
Inventor
王金土
向校民
陈义伟
唐国明
杨主决
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202210902219.5A priority Critical patent/CN115208766B/zh
Publication of CN115208766A publication Critical patent/CN115208766A/zh
Application granted granted Critical
Publication of CN115208766B publication Critical patent/CN115208766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种CDN带宽调度方法及相关装置,涉及互联网技术领域。本申请中,权威DNS基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组,当权威DNS发现CDN网络中存在已达到带宽上限的第一服务器时,确定其相应的带宽调整量,接着,遍历各DNS分组,确定各DNS分组对应的调度比例,最后,当权威DNS接收到任意一个本地DNS发送的针对第一服务器的最新服务请求时,基于本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器。采用这种方式,可以实现CDN网络中带宽的均衡调度,减小各服务器之间的带宽波动,同时,提高了CDN带宽调度的准确性。

Description

一种CDN带宽调度方法及相关装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种CDN带宽调度方法及相关装置。
背景技术
内容分发网络(Content Delivery Network,CDN)的作用是利用全局负载均衡技术,让用户更快地从服务器上获取所需的数据,通常配合DNS域名系统(Domain NameSystem,DNS)的IP定位功能来为用户分配最佳的CDN节点。
参阅图1所示,常见的DNS服务器有两种:权威解析服务器和递归解析服务器,递归解析服务器也可以叫做本地DNS。用户终端通过域名访问互联网上的网站或服务器需要使用DNS域名系统来进行解析。
如图1所示,用户终端向本地DNS请求进行域名解析,本地DNS会向权威DNS发送待解析域名,而权威DNS会解析出域名对应的目的IP地址,并将目的IP地址返回给本地DNS,本地DNS再将目的IP地址返回给用户终端,最后,用户终端根据目的IP地址访问CDN网络。
然而,随着网络规模的不断扩展,在CDN网络中,经常会由于用户终端数量过多,服务请求达到带宽上限,超出服务器现有的带宽大小,导致服务器响应慢、数据加载慢等等,因此,如何对CDN网络中的各服务器进行合理地带宽调度,对提升网络服务质量至关重要。
目前,通常使用的带宽调度方法有两种。
第一种方法:在CDN网络中设置统一的中心服务器,由中心服务器对各服务器当前的使用带宽进行统一调度控制。
然而,采用第一种方法,会因带宽控制粒度大,导致带宽调度的准确性较低,从而影响网络服务质量。
例如,当第一服务器达到带宽上限时,中心服务器会将部分用户终端针对第一服务器发送的服务请求全部迁移到其他服务器,在如此大规模的迁移过程中,中心服务器无法精确地调整其他服务器当前的使用带宽。
第二种方法:由DNS系统中的权威DNS,确定CDN网络中达到带宽上限的第一服务器的调整带宽量,接着,权威DNS基于该调整带宽量,将DNS系统中各本地DNS针对第一服务器发送的服务请求,按照相应的调度比例迁移至其他服务器。
然而,采用第二种方法,权威DNS针对所有本地DNS均使用相同的调度比例,而在实际应用中,每个本地DNS当前服务的各用户终端占用的带宽总量不同,如果采用相同的调度比例,会导致服务请求针对的第一服务器,和迁移后最终响应服务请求的其他服务器均产生较大的带宽波动。
例如,当某一本地DNS当前服务的各用户终端占用的带宽总量较大时,按照统一的调度比例进行调度时,需要调度的服务请求的数据量会较大,这样,会导致服务请求在第一服务器上的缓存时间较长,给第一服务器造成较大运行负荷;另一方面,在服务请求迁移过程中,也会造成最终响应服务请求的其他服务器,在短时间内出现幅度较大的带宽增长,同时,第一服务器会在相应时间内出现幅度较大的带宽骤降,从而导致CDN网络中各服务器出现严重的带宽波动,进而影响网络稳定性及网络服务质量。
有鉴于此,需要提供一种更精准的带宽调度方法,来提高CDN带宽调度的准确性。
发明内容
本申请实施例提供了一种CDN带宽调度方法及相关装置,用以提供CDN带宽调度的准确性。
第一方面,本申请实施例提供了一种CDN带宽调度方法,所述方法包括:
基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组,其中,每个牵引带宽表征相应的本地DNS当前服务的各用户终端占用的带宽总量;
当确定CDN网络中存在已达到带宽上限的第一服务器时,基于第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量;
遍历各DNS分组,每读取一个DNS分组,执行以下操作:基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例;调度比例表征:一个DNS分组接收的针对第一服务器的各服务请求中,需要迁移至其他服务器的服务请求的占比;
接收到任意一个本地DNS发送的针对第一服务器的最新服务请求时,基于任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器。
第二方面,本申请实施例还提供了一种CDN带宽调度装置,所述装置包括:
分组模块,用于基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组,其中,每个牵引带宽表征相应的本地DNS当前服务的各用户终端占用的带宽总量;
确认模块,用于当确定CDN网络中存在已达到带宽上限的第一服务器时,基于第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量;
遍历模块,用于遍历各DNS分组,每读取一个DNS分组,执行以下操作:基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例;调度比例表征:一个DNS分组接收的针对第一服务器的各服务请求中,需要迁移至其他服务器的服务请求的占比;
收发模块,用于接收到任意一个本地DNS发送的针对第一服务器的最新服务请求时,基于任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器。
可选的,基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组时,所述分组模块用于:
将各本地DNS划分为N组,其中,每个DNS分组的牵引带宽量与各本地DNS总牵引带宽的N分之一之间的误差不低于设定门限。
可选的,基于第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量时,所述确认模块用于:
按照设定周期获取第一服务器的使用带宽,并将最近一次获取的使用带宽作为当前使用带宽;
基于当前使用带宽和相应的带宽上限获得相应的带宽超出量,并将宽带超出量相对于带宽上限的占比,作为第一参数;
获取连续L个周期的带宽超出量的超出量累加值,并将超出量累加值作为第二参数;
将当前使用带宽对应的带宽超出量,作为第三参数;
基于第一参数、第二参数和第三参数,获得带宽调整量。
可选的,获取连续L个周期的带宽超出量的超出量累加值时,所述确认模块具体用于:
从初始周期起始,依次获取每个周期对应的带宽超出量,其中,每获取到一个带宽超出量,对超出量累加值进行一次更新,直到超出量累加值达到设定阈值时截止,L为截止时已读取的周期数目。
可选的,遍历各DNS分组之前,所述遍历模块用于:
将各DNS分组按照牵引带宽从小到大的顺序进行排序。
可选的,基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例时,所述遍历模块还用于:
若已读取的DNS分组的牵引带宽累加值不大于带宽调整量,则将当前读取的一个DNS分组对应的调度比例设置为100%;
若已读取的DNS分组的牵引带宽累加值大于带宽调整量,且上一个DNS分组对应的调度比例是100%,则基于已读取的DNS分组的牵引带宽累加值和带宽调整量,确定当前读取的一个DNS分组对应的调度比例。
若所述已读取的DNS分组的牵引带宽累加值大于所述带宽调整量,且上一个DNS分组对应的调度比例不是100%,则将当前读取的一个DNS分组对应的调度比例设置为0%;
可选的,基于任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器时,所述收发模块具体用于:
将目标调度比例作为目标迁移概率;
基于目标迁移概率,将最新服务请求迁移至其他服务器。
第三方面,提出了一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述第一方面所述的CDN带宽调度方法的步骤。
第四方面,提出一种计算机可读存储介质,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行上述第一方面所述的CDN带宽调度方法的步骤。
第五方面,提供一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行如第一方面所述的CDN带宽调度方法步骤。
本申请实施例中,权威DNS基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组,当权威DNS发现CDN网络中存在已达到带宽上限的第一服务器时,就按照一定算法确定其相应的带宽调整量,接着遍历各DNS分组,确定各DNS分组对应的调度比例,最后,当权威DNS接收到任意一个本地DNS发送的针对第一服务器的最新服务请求时,基于该本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器。
采用这种方式,权威DNS基于各本地DNS的牵引带宽,对各本地DNS进行分组,并且针对每一个达到带宽上限的服务器进行对应的带宽调整量计算,进而确定每个DNS分组对应的调度比例,可以实现CDN网络中带宽的均衡调度,减小各服务器之间的带宽波动,同时,针对每一个达到带宽上限的服务器进行对应的带宽调整量计算,也能够大大提高CDN带宽调度的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为相关技术下系统架构示意图;
图2为本申请实施例中系统架构示意图;
图3为本申请实施例中系统架构下CDN带宽调度的详细流程图;
图4为本申请实施例中系统架构下CDN带宽调度的详细流程图子图;
图5为本申请实施例中具体应用场景下CDN带宽调度的逻辑示意图;
图6为本申请实施例中一种CDN带宽调度装置的结构示意图;
图7为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
(1)内容分发网络(Content Delivery Network,CDN):是一种通过在网络各处放置节点服务器所构成的在现有网络基础之上的一层智能虚拟网络,能够通过用户终端就近性和服务器负载的判断,将用户终端的请求重新导向离用户最近的服务器节点上,提高用户访问网站的响应速度。
(2)域名解析系统(Domain Name System,DNS):IP地址是网络上标识站点的数字地址,为方便记忆,通常采用域名代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。
(3)权威DNS:对于一个特定的域名,必须将域名交由某个DNS服务器进行解析,才能将域名指向对应的IP地址,才能让用户终端通过域名访问对应的站点。这个负责最终解析域名的服务器就是权威DNS服务器。
(4)本地DNS:用户终端发起上网请求时,会向本地域名服务器发起域名解析请求,若本地域名服务器没有对应的缓存记录,就会代替用户终端向更高级的域名服务器发起查询请求,最终找到域名对应的权威DNS取得结果并返回给用户终端。这里的本地域名服务器就是本地DNS。
(5)牵引带宽:一个本地DNS能为多个用户终端提供域名解析查询服务,它所服务的各用户终端占用的带宽总量就是该本地DNS的牵引带宽。
(6)带宽调整量:当CDN网络中的服务器的使用带宽超过带宽上限时,为了让它的使用带宽回到带宽上限以下,需要进行迁移的带宽量就是该服务器的带宽调整量。
(7)调度比例:指的是当CDN网络中的服务器的使用带宽超过带宽上限时,若本地DNS继续收到针对该服务器的各服务请求,在各服务请求中,本地DNS需要迁移至其他服务器的服务请求的占比。
(8)迁移概率:每一个本地DNS归属的DNS分组对应的调度比例,就是最新服务请求被迁移至其他服务器的迁移概率。
下面结合附图对本申请优选的实施方式进行详细介绍。
参阅图2所示,本申请实施例中,包含有用户终端200,本地DNS 201,权威DNS 202和CDN服务器203四个主要部分,其中,权威DNS 202基于关联的各本地DNS 201各自的牵引带宽,将各本地DNS 201划分为多个DNS分组,当权威DNS 202确定CDN网络中存在已达到带宽上限的第一服务器203时,就基于第一服务器203的当前使用带宽和带宽上限,确定相应的带宽调整量,接着,遍历各DNS分组,每读取一个DNS分组,就基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例,最后,当权威DNS 202接收到任意一个本地DNS 201发送的针对第一服务器的最新服务请求时,基于任意一个本地DNS201归属的目标DNS分组对应的目标调度比例,将该最新服务请求概率性迁移至其他服务器。
基于上述系统架构,参阅图3所示,本申请实施例中,权威DNS进行CDN带宽调度的详细流程如下:
步骤301:基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组,其中,每个牵引带宽表征相应的本地DNS当前服务的各用户终端占用的带宽总量。
具体的,本申请实施例中,权威DNS将关联的各本地DNS划分为N组,其中,每个本地DNS分组的牵引带宽约占各本地DNS总牵引带宽的(100/N)%,即,每个DNS分组的牵引带宽与各本地DNS总牵引带宽的N分之一之间的误差不低于设定门限。
例如:假设省份1关联的各本地DNS各自的牵引带宽,具体如表1所示:
表1
本地DNS 省份 牵引带宽(G)
本地DNS1 省份1 30
本地DNS2 省份1 25
本地DNS3 省份1 20
本地DNS4 省份1 15
本地DNS5 省份1 10
那么,在执行步骤301时,假设预设值N=4,则权威DNS可以将各本地DNS分为4组,而每个DNS分组的牵引带宽,大约占所有本地DNS对应的总牵引带宽的25%±5%,其中,5%为设定门限,即每个DNS分组的牵引带宽与各本地DNS的总牵引带宽的25%之间的误差均为5%,具体的分组信息如表2所示:
表2
Figure BDA0003771286900000091
步骤302:当确定CDN网络中存在已达到带宽上限的第一服务器时,基于第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量。
实际应用中,权威DNS会按照设定周期获取各个服务器的最新的使用带宽,本申请实施例中,为了便于描述,仅以当前已达到带宽上限的第一服务器为例进行介绍。
具体的,在执行步骤302时,参阅图4所示,权威DNS可以执行以下步骤:
步骤3021:按照设定周期获取第一服务器的使用带宽,将最近一次获取的使用带宽作为当前使用带宽。
例如:本申请实施例中,第一服务器的带宽上限为10G,权威DNS在第L个周期获取到该第一服务器的当前使用带宽为15G。
步骤3022:基于当前使用带宽和第一服务器的带宽上限获取相应的带宽超出量,并将带宽超出量相对于带宽上限的占比,作为第一参数(以下称为P)。
例如:在本申请实施例中,第一参数P的值为:P=(15-10)/10=0.5。
步骤3023:获取连续L各个周期的带宽超出量累加值,并将超出量累加值作为第二参数(以下称为I)。
具体的,权威DNS从初始周期起始,依次获取每个周期对应的带宽超出量,其中,每获取到一个带宽超出量,就对超出量累加值进行一次更新,直到超出量累加值达到设定阈值时截止,L为截止时已读取的周期数目。
例如:在本申请实施例中,L的值为3,即权威DNS在第三个周期获取到第一服务器的当前使用带宽为15G,假设权威DNS在第一个周期获取到第一服务器的使用带宽为12G,第二个周期获取到第一服务器的使用带宽为14G,则第二参数为I=(12-10)+(14-10)+(15-10)=11。
步骤3024:将当前使用带宽对应的带宽超出量,作为第三参数(以下称为D)。
例如:在本申请实施例中,第三参数为D=15-10=5。
步骤3025:基于P、I和D,确定带宽调整量。
可选的,本申请实施例中,采用公式aP+bI+cD获得带宽调整量,其中,a、b、c为常量系数,其取值可视实际情况合理更改,因此,本申请实施例中的第一服务器的带宽调整量为0.5a+11b+5c。
上述公式仅为举例,实际应用中,也可以采用其他可行的计算方式。
针对步骤302所述,权威DNS针对每一个达到带宽上限的服务器进行对应的带宽调整量计算,提高了CDN带宽调度的准确性。
步骤303:遍历各DNS分组,每读取一个DNS分组,执行以下操作:基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例,其中,调度比例表征:一个DNS分组接收的针对第一服务器的各服务请求中,需要迁移至其他服务器的服务请求的占比。
具体的,参阅表2所示,权威DNS遍历各DNS分组之前,会将各DNS分组按照对应的牵引带宽从小到大的顺序进行排序。
另外,基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例时,在本申请实施例中:
若已读取的DNS分组的牵引带宽累加值不大于带宽调整量,则权威DNS将当前读取的一个DNS分组对应的调度比例设置为100%;
若已读取的DNS分组的牵引带宽累加值大于带宽调整量,且上一个DNS分组对应的调度比例是100%,则权威DNS基于已读取的DNS分组的牵引带宽累加值和带宽调整量,确定当前读取的一个DNS分组对应的调度比例;具体的,用已读取的DNS分组的牵引带宽累加值减去带宽调整量,然后除以带宽调整量,设置为当前读取的一个DNS分组的调度比例;
若已读取的DNS分组的牵引带宽累加值大于带宽调整量,且上一个DNS分组对应的调度比例不是100%,则将当前读取的一个DNS分组对应的调度比例设置为0%。
例如,假设本申请实施例中,第一服务器的带宽调整量为50G,则各DNS分组的调度比例如表3所示:
表3
Figure BDA0003771286900000111
读取DNS分组1时,牵引带宽累加值为20G,小于带宽调整量50G,故DNS分组1的调度比例设置为100%;读取DNS分组2时,牵引带宽累加值为45G,小于带宽调整量50G,故DNS分组2的调度比例设置为100%;读取DNS分组3时,牵引带宽累加值为70G,大于带宽调整量50G,且上一个DNS分组对应的调度比例是100%,故DNS分组3的调度比例设置为(70-50)/50=40%;读取DNS分组4时,牵引带宽累加值为100G,大于带宽调整量50G,且上一个分组对应的调度比例不是100%,故DNS分组4的调度比例设置为0%。
步骤304:当权威DNS接收到任意一个本地DNS发送的针对第一服务器的最新服务请求时,权威DNS基于该任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器。
具体的:权威DNS将目标调度比例作为目标迁移概率,并基于此目标迁移概率,将最新服务请求迁移至其他服务器。
例如,在本申请实施例中,当权威DNS接收到本地DNS3发送的针对第一服务器的最新请求时,权威DNS查询本地DNS3归属的DNS分组为DNS分组1,且DNS分组1对应的调度比例为100%,则该最新服务请求的迁移概率为100%,即直接将该最新服务请求迁移至其他服务器。
又例如,在本申请实施例中,当权威DNS接收到本地DNS4发送的针对第一服务器的最新请求时,权威DNS查询本地DNS4归属的DNS分组为DNS分组3,且DNS分组1对应的调度比例为40%,则该最新服务请求的迁移概率为40%,即按照40%的概率将该最新服务请求迁移至其他服务器。
再例如,在本申请实施例中,当权威DNS接收到本地DNS1发送的针对第一服务器的最新请求时,权威DNS查询本地DNS1归属的DNS分组为DNS分组4,且DNS分组1对应的调度比例为0%,则该最新服务请求的迁移概率为0%,即直接由第一服务器响应该最新服务请求。
基于步骤303所述,根据各本地DNS的牵引带宽对各本地DNS进行分组,再根据对应第一服务器计算每个DNS分组的对应的调出比例,实现了CDN网络中带宽的均衡调度,减小各服务器之间的带宽波动。
下面通过一个具体的应用场景对上述实施例做出进一步详细说明。
假设省份2的本地DNS和DNS分组,以及各本地DNS的牵引带宽,各DNS分组的调度比例的具体信息如表4所示:
省份2共有5个本地DNS,划分为3个DNS分组,每个DNS分组的牵引带宽与各本地DNS的总牵引带宽的33%之间的误差不高于5%。假设权威DNS在某个周期发现CDN网络中IP地址为1.1.1.1的服务器的使用带宽已经到达带宽上限,并确认了该第一服务器的带宽调整量为65G,则权威DNS根据该服务器的带宽调整量计算出DNS分组1、DNS分组2、DNS分组3的调出比例分别为:100%、100%、0%。
表4
Figure BDA0003771286900000131
参阅图5所示,在权威DNS下一次更新CDN网络中各服务器的使用带宽之前,有用户终端对域名为cquot.com的网站发出了访问请求,该用户终端首先向本地DNS请求域名解析服务,假设该用户终端归属于本地DNS4,则由本地DNS4代替该用户终端向权威DNS请求域名解析服务,权威DNS查询到上述域名对应的IP地址为1.1.1.1,由于此IP地址对应的服务器在此刻已经达到带宽上限,权威DNS会查询出针对该服务器设置的各DNS分组的调度比例,由表4可知,本地DNS4归属的DNS分组2所对应的调度比例为100%,则权威DNS会按照100%的概率将该用户终端提出的访问请求迁移至其他服务器。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
基于相同技术构思,参阅图6所示,本申请实施例还提供了一种CDN带宽调度装置,该装置包括:
分组模块601:用于基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组,其中,每个牵引带宽表征相应的本地DNS当前服务的各用户终端占用的带宽总量;
确认模块602:用于当确定CDN网络中存在已达到带宽上限的第一服务器时,基于第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量;
遍历模块603:用于遍历各DNS分组,每读取一个DNS分组,执行以下操作:基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例;调度比例表征:一个DNS分组接收的针对第一服务器的各服务请求中,需要迁移至其他服务器的服务请求的占比;
收发模块604:用于接收到任意一个本地DNS发送的针对第一服务器的最新服务请求时,基于任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器。
可选的,基于关联的各本地DNS各自的牵引带宽,将各本地DNS划分为多个DNS分组时,所述分组模块601用于:
将各本地DNS划分为N组,其中,每个DNS分组的牵引带宽量与各本地DNS总牵引带宽的N分之一之间的误差不低于设定门限。
可选的,基于第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量时,所述确认模块602用于:
按照设定周期获取第一服务器的使用带宽,并将最近一次获取的使用带宽作为当前使用带宽;
基于当前使用带宽和相应的带宽上限获得相应的带宽超出量,并将宽带超出量相对于带宽上限的占比,作为第一参数;
获取连续L个周期的带宽超出量的超出量累加值,并将超出量累加值作为第二参数;
将当前使用带宽对应的带宽超出量,作为第三参数;
基于第一参数、第二参数和第三参数,获得带宽调整量。
可选的,获取连续L个周期的带宽超出量的超出量累加值时,所述确认模块具体用于:
从初始周期起始,依次获取每个周期对应的带宽超出量,其中,每获取到一个带宽超出量,对超出量累加值进行一次更新,直到超出量累加值达到设定阈值时截止,L为截止时已读取的周期数目。
可选的,遍历各DNS分组之前,所述遍历模块603用于:
将各DNS分组按照牵引带宽从小到大的顺序进行排序。
可选的,基于当前所有已读取的DNS分组的牵引带宽累加值,与带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例时,所述遍历模块603还用于:
若已读取的DNS分组的牵引带宽累加值不大于带宽调整量,则将当前读取的一个DNS分组对应的调度比例设置为100%;
若已读取的DNS分组的牵引带宽累加值大于带宽调整量,且上一个DNS分组对应的调度比例是100%,则基于已读取的DNS分组的牵引带宽累加值和带宽调整量,确定当前读取的一个DNS分组对应的调度比例;
若所述已读取的DNS分组的牵引带宽累加值大于所述带宽调整量,且上一个DNS分组对应的调度比例不是100%,则将当前读取的一个DNS分组对应的调度比例设置为0%。
可选的,基于任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将最新服务请求概率性迁移至其他服务器时,所述收发模块604具体用于:
将目标调度比例作为目标迁移概率;
基于目标迁移概率,将最新服务请求迁移至其他服务器。
基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备可实现本申请上述实施例提供的CDN带宽调度的方法流程。
在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。
参阅图7所示,该电子设备可包括:
至少一个处理器701,以及与至少一个处理器701连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中是以处理器701和存储器702之间通过总线700连接为例。总线700在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线700可以分为地址总线、数据总线、控制总线等,为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器701也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前文论述的一种CDN带宽调度方法。处理器701可以实现图6所示的装置中各个模块的功能。
其中,处理器701是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如CPU、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种CDN带宽调度方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器701进行设计编程,可以将前述实施例中介绍的一种CDN带宽调度方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图3所示的实施例的一种CDN带宽调度方法的步骤。如何对处理器701进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种CDN带宽调度方法。
在一些可能的实施方式中,本申请提供一种CDN带宽调度方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种CDN带宽调度方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种内容分发网络CDN带宽调度方法,其特征在于,应用于权威域名解析服务器DNS,所述方法包括:
基于关联的各本地DNS各自的牵引带宽,将所述各本地DNS划分为多个DNS分组,其中,每个牵引带宽表征相应的本地DNS当前服务的各用户终端占用的带宽总量;
当确定CDN网络中存在已达到带宽上限的第一服务器时,基于所述第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量;
遍历所述各DNS分组,每读取一个DNS分组,执行以下操作:基于当前所有已读取的DNS分组的牵引带宽累加值,与所述带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例;所述调度比例表征:所述一个DNS分组接收的针对所述第一服务器的各服务请求中,需要迁移至其他服务器的服务请求的占比;
接收到任意一个本地DNS发送的针对所述第一服务器的最新服务请求时,基于所述任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将所述最新服务请求概率性迁移至其他服务器。
2.如权利要求1所述的方法,其特征在于,所述基于关联的各本地DNS各自的牵引带宽,将所述各本地DNS划分为多个DNS分组,包括:
将所述各本地DNS划分为N组,其中,每个DNS分组的牵引带宽量与所述各本地DNS总牵引带宽的N分之一之间的误差不低于设定门限。
3.如权利要求1所述的方法,其特征在于,所述基于所述第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量,包括:
按照设定周期获取第一服务器的使用带宽,并将最近一次获取的使用带宽作为所述当前使用带宽;
基于所述当前使用带宽和相应的带宽上限获得相应的带宽超出量,并将所述宽带超出量相对于所述带宽上限的占比,作为第一参数;
获取连续L个周期的带宽超出量的超出量累加值,并将所述超出量累加值作为第二参数;
将所述当前使用带宽对应的带宽超出量,作为第三参数;
基于所述第一参数、第二参数和第三参数,获得所述带宽调整量。
4.如权利要求3所述的方法,其特征在于,所述获取连续L个周期的带宽超出量的超出量累加值,具体包括:
从初始周期起始,依次获取每个周期对应的带宽超出量,其中,每获取到一个带宽超出量,对所述超出量累加值进行一次更新,直到所述超出量累加值达到设定阈值时截止,L为截止时已读取的周期数目。
5.如权利要求1所述的方法,其特征在于,遍历所述各DNS分组之前,还包括:
将所述各DNS分组按照牵引带宽从小到大的顺序进行排序。
6.如权利要求1-5任一项所述的方法,其特征在于,所述基于当前所有已读取的DNS分组的牵引带宽累加值,与所述带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例,包括:
若所述已读取的DNS分组的牵引带宽累加值不大于所述带宽调整量,则将当前读取的一个DNS分组对应的调度比例设置为100%;
若所述已读取的DNS分组的牵引带宽累加值大于所述带宽调整量,且上一个DNS分组对应的调度比例是100%,则基于所述已读取的DNS分组的牵引带宽累加值和所述带宽调整量,确定所述当前读取的一个DNS分组对应的调度比例;
若所述已读取的DNS分组的牵引带宽累加值大于所述带宽调整量,且上一个DNS分组对应的调度比例不是100%,则将当前读取的一个DNS分组对应的调度比例设置为0%。
7.如权利要求1所述的方法,其特征在于,所述基于所述任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将所述最新服务请求概率性迁移至其他服务器,包括:
将所述目标调度比例作为目标迁移概率;
基于所述目标迁移概率,将所述最新服务请求迁移至其他服务器。
8.一种CDN带宽调度装置,其特征在于,包括:
分组模块,用于基于关联的各本地DNS各自的牵引带宽,将所述各本地DNS划分为多个DNS分组,其中,每个牵引带宽表征相应的本地DNS当前服务的各用户终端占用的带宽总量;
确认模块,用于当确定CDN网络中存在已达到带宽上限的第一服务器时,基于所述第一服务器的当前使用带宽和带宽上限,确定相应的带宽调整量;
遍历模块,用于遍历所述各DNS分组,每读取一个DNS分组,执行以下操作:基于当前所有已读取的DNS分组的牵引带宽累加值,与所述带宽调整量的比较结果,确定当前读取的一个DNS分组对应的调度比例;所述调度比例表征:所述一个DNS分组接收的针对所述第一服务器的各服务请求中,需要迁移至其他服务器的服务请求的占比;
收发模块,接收到任意一个本地DNS发送的针对所述第一服务器的最新服务请求时,基于所述任意一个本地DNS归属的目标DNS分组对应的目标调度比例,将所述最新服务请求概率性迁移至其他服务器。
9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述方法的步骤。
CN202210902219.5A 2022-07-29 2022-07-29 一种cdn带宽调度方法及相关装置 Active CN115208766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210902219.5A CN115208766B (zh) 2022-07-29 2022-07-29 一种cdn带宽调度方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210902219.5A CN115208766B (zh) 2022-07-29 2022-07-29 一种cdn带宽调度方法及相关装置

Publications (2)

Publication Number Publication Date
CN115208766A true CN115208766A (zh) 2022-10-18
CN115208766B CN115208766B (zh) 2023-11-03

Family

ID=83584141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210902219.5A Active CN115208766B (zh) 2022-07-29 2022-07-29 一种cdn带宽调度方法及相关装置

Country Status (1)

Country Link
CN (1) CN115208766B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116684468A (zh) * 2023-08-02 2023-09-01 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016074323A1 (zh) * 2014-11-11 2016-05-19 网宿科技股份有限公司 内容分发网络的http调度系统和方法
US20190014053A1 (en) * 2016-03-14 2019-01-10 Huawei Technologies Co., Ltd. Network Flow Control Method And Network Device
CN109379426A (zh) * 2018-10-19 2019-02-22 中国联合网络通信集团有限公司 基于x-dns的x-cdn调度方法、设备及系统
WO2019237557A1 (zh) * 2018-06-13 2019-12-19 网宿科技股份有限公司 一种控制多cname流量比例的方法和装置
WO2020015578A1 (zh) * 2018-07-18 2020-01-23 贵州白山云科技股份有限公司 一种调度缓存节点的方法、装置、系统、介质及设备
CN111654561A (zh) * 2020-06-04 2020-09-11 北京金山云网络技术有限公司 一种ip地址数量确定方法、装置、电子设备及存储介质
CN112100477A (zh) * 2020-09-07 2020-12-18 北京视界云天科技有限公司 多云调度方法、装置、计算机设备和存储介质
WO2021046263A1 (en) * 2019-09-06 2021-03-11 Netflix, Inc. Techniques for steering network traffic to regions of a cloud computing system
CN114448810A (zh) * 2021-12-24 2022-05-06 天翼云科技有限公司 带宽牵引方法、装置及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016074323A1 (zh) * 2014-11-11 2016-05-19 网宿科技股份有限公司 内容分发网络的http调度系统和方法
US20190014053A1 (en) * 2016-03-14 2019-01-10 Huawei Technologies Co., Ltd. Network Flow Control Method And Network Device
WO2019237557A1 (zh) * 2018-06-13 2019-12-19 网宿科技股份有限公司 一种控制多cname流量比例的方法和装置
WO2020015578A1 (zh) * 2018-07-18 2020-01-23 贵州白山云科技股份有限公司 一种调度缓存节点的方法、装置、系统、介质及设备
CN109379426A (zh) * 2018-10-19 2019-02-22 中国联合网络通信集团有限公司 基于x-dns的x-cdn调度方法、设备及系统
WO2021046263A1 (en) * 2019-09-06 2021-03-11 Netflix, Inc. Techniques for steering network traffic to regions of a cloud computing system
CN111654561A (zh) * 2020-06-04 2020-09-11 北京金山云网络技术有限公司 一种ip地址数量确定方法、装置、电子设备及存储介质
CN112100477A (zh) * 2020-09-07 2020-12-18 北京视界云天科技有限公司 多云调度方法、装置、计算机设备和存储介质
CN114448810A (zh) * 2021-12-24 2022-05-06 天翼云科技有限公司 带宽牵引方法、装置及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CARLOS GUTIERREZ: "HARD-DNS: Highly-Available Redundantly-Distributed DNS", 2010 - MILCOM 2010 MILITARY COMMUNICATIONS CONFERENCE *
严格知;章勇;: "基于DNS的校园网多出口流量调度的构建", 中国教育信息化, no. 15 *
徐翔: "一种精确的控制融合CDN流量调度比例方案研究", 通讯世界 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116684468A (zh) * 2023-08-02 2023-09-01 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质
CN116684468B (zh) * 2023-08-02 2023-10-20 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115208766B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US10466899B2 (en) Selecting controllers based on affinity between access devices and storage segments
CN113497817B (zh) 流量调度方法、装置、cdn网络的边缘节点及服务器
CN109327550A (zh) 一种访问请求的分配方法、装置、存储介质和计算机设备
CN109194584A (zh) 一种流量监控方法、装置、计算机设备及存储介质
US20090055835A1 (en) System and Method for Managing License Capacity in a Telecommunication Network
CN106407207B (zh) 一种实时新增数据更新方法和装置
CN109787908A (zh) 服务器限流方法、系统、计算机设备及存储介质
CN111666131A (zh) 负载均衡分配方法、装置、计算机设备和存储介质
CN111147395B (zh) 一种网络资源调整方法及装置
CN104954401A (zh) 流量调度方法和装置
CN106936877B (zh) 一种内容分发方法、装置及系统
CN110224943B (zh) 基于url的流量服务限流方法、电子设备及计算机存储介质
CN103970879B (zh) 一种调整数据块存储位置的方法及系统
CN115208766B (zh) 一种cdn带宽调度方法及相关装置
CN109587072A (zh) 分布式系统全局限速系统及方法
CN105791254A (zh) 网络请求处理方法、装置及终端
CN104348798A (zh) 一种分配网络的方法、装置、调度服务器和系统
CN113568906A (zh) 面向高通量数据流的分布式索引结构及负载均衡方法
CN109325266B (zh) 面向在线云服务的响应时间分布预测方法
CN110401553B (zh) 服务器配置的方法和装置
CN113835626A (zh) 一种确定磁盘可使用时长的方法及装置
CN108075909B (zh) 一种流量预测方法和装置
CN110780992B (zh) 一种云计算平台优化部署方法、系统、终端及存储介质
CN104639570A (zh) 资源对象存储处理方法及装置
CN108092910B (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
GR01 Patent grant
GR01 Patent grant