CN115378878B - Cdn的调度方法、装置、设备及存储介质 - Google Patents
Cdn的调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115378878B CN115378878B CN202110560471.8A CN202110560471A CN115378878B CN 115378878 B CN115378878 B CN 115378878B CN 202110560471 A CN202110560471 A CN 202110560471A CN 115378878 B CN115378878 B CN 115378878B
- Authority
- CN
- China
- Prior art keywords
- cdn
- determining
- token
- target
- cdns
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2747—Remote storage of video programs received via the downstream path, e.g. from the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例公开了一种CDN的调度方法、装置、设备及存储介质。包括:根据设定特征信息将用户划分为多个特征群组;确定各特征群组分别与每个CDN对应的性能值;将各CDN对应的令牌按照设定比例投放至令牌桶中;根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。本公开实施例提供的CDN的调度方法,根据特征群组在各CDN上的性能值从令牌桶中确定目标令牌,以调度目标令牌对应的CDN,可以灵活的调度CDN,保证CDN性能最大化。
Description
技术领域
本公开实施例涉及数据处理技术领域,尤其涉及一种CDN的调度方法、装置、设备及存储介质。
背景技术
对于以视频业务为主的应用程序来说,底层的互联网流量是惊人的。为了能够给数以亿计的用户提供视频播放服务,视频提供方往往会将用户上传的视频经过编码处理后转存到内容分发网络(Content Delivery Network,CDN)上。当用户请求视频播放时,视频平台将会返回一个在CDN上下载该视频的地址。用户将直接从CDN上下载视频。
对于大型的视频提供方,由于数据量巨大,以及需要服务的地区众多。在市面上任何一家CDN都难以单独支撑起所有的视频流量。因此,对于视频提供方来说,唯一的选择就是同时采用多家的CDN进行视频的传输,且各家CDN分配一定比例的CDN流量。所有的CDN加起来承担100%的视频业务方的流量。
在现有的技术中,主要采用按照CDN购买流量比例的随机分配的CDN调度算法。这种方式无法将CDN的性能发挥至最优。
发明内容
本公开实施例提供一种CDN的调度方法、装置、设备及存储介质,可以灵活的调度CDN,使得CDN性能最大化。
第一方面,本公开实施例提供了一种CDN的调度方法,包括:
根据设定特征信息将用户划分为多个特征群组;
确定各特征群组分别与每个CDN对应的性能值;
将各CDN对应的令牌按照设定比例投放至令牌桶中;
根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。
第二方面,本公开实施例还提供了一种CDN的调度装置,包括:
特征群组划分模块,用于根据设定特征信息将用户划分为多个特征群组;
性能值确定模块,用于确定各特征群组分别与每个CDN对应的性能值;
令牌投放模块,用于将各CDN对应的令牌按照设定比例投放至令牌桶中;
目标令牌确定模块,用于根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开实施例所述的CDN的调度方法。
第四方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开实施例所述的CDN的调度方法。
本公开实施例公开了一种CDN的调度方法、装置、设备及存储介质。根据设定特征信息将用户划分为多个特征群组;确定各特征群组分别与每个CDN对应的性能值;将各CDN对应的令牌按照设定比例投放至令牌桶中;根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。本公开实施例提供的CDN的调度方法,根据特征群组与各CDN对应的性能值从令牌桶中确定目标令牌,以调度目标令牌对应的CDN,可以灵活的调度CDN,保证CDN性能最大化。
附图说明
图1是本公开实施例中的一种CDN的调度方法的流程图;
图2是本公开实施例中的一种CDN的调度装置的结构示意图;
图3是本公开实施例中的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
现有技术中,主要采用按照CDN购买流量比例的随机分配的CDN调度算法。譬如说三家CDN厂商CDN_A,CDN_B,CDN_C,约定各自流量的占比为20%,50%,30%。当新来一个用户请求的时候,则以20%的概率返回CDN_A,50%的概率返回CDN_B,以及30%的概率返回CDN_C。当用户数量足够大时,整体的流量比例就会符合约定的整体流量。
现有技术存在如下缺陷:1、尽管这样的分配比例是能够保证整体的分配比例能够符合最初给定的CDN流量配比。但忽略了CDN在各个地区的性能是不同的。通常情况下,由于每家CDN的设定的Edge-CDN节点的地理位置不同,该Edge-CDN节点的服务器CPU、带宽性能不同。各家CDN在某一个地区提供服务时,性能不总是相等的。而现有的技术由于是平均分配的,则没有考虑到如何利用这个信息从而在整体上提供一个更好的性能。2、不同的请求的重要性是不一样的,譬如说用户打开APP的第一个视频由于没有缓存,所以出现卡顿的风险更高,配一个更好的CDN会对整体的性能指标有所提升。此外,不同人群的播放体验对视频提供方的重要性也不一样,譬如说新用户的相较于老用户对APP的粘性更低,因此一点小小的播放质量问题就可能导致用户的离开。因此应该分配更优的CDN以确保更流畅的播放体验。
图1为本公开实施例提供的一种CDN的调度方法的流程图,本实施例可适用于对CDN进行调度的情况,该方法可以由CDN的调度装置来执行,该装置可由硬件和/或软件组成,并一般可集成在具有CDN的调度功能的设备中,该设备可以是服务器、移动终端或服务器集群等电子设备。如图1所示,该方法具体包括如下步骤:
步骤110,根据设定特征信息将用户划分为多个特征群组。
其中,用户可以理解使用当前应用程序(Application,APP)的所有用户。设定特征信息可以包括用户所在地区,互联网服务提供商(Internet Service Provider,ISP)、使用的网络类型(WiFi或者移动网络)等。具体的,可以根据设定特征信息对用户进行聚类划分,获得多个特征群组。本实施例中,可以将相同设定特征信息超过设定比例的用户划分为同一个特征群组。示例性的,假设设定特征信息共有N个,将具有相同设定特征信息超过80%N的用户归为同一特征群组。
步骤120,确定各特征群组分别与每个CDN对应的性能值。
其中,CDN可以是多个CDN厂商为当前应用程序提供的CDN。性能值可以反映特征群组在CDN上的性能。
具体的,确定各特征群组分别在每个CDN上的性能值的方式可以是:获取各特征群组分别在每个CDN上的历史运行参数;根据历史运行参数确定各特征群组分别在每个CDN上的性能值。
其中,运行参数可以包括首帧时间、卡顿信息、码率、带宽及往返时延。历史运行参数可以是在设定历史时间段内采集的各特征群组在每个CDN上运行时的参数的平均值。设定历史时间段可以是近一周或者近一个月等。采集参数时可以采用每隔设定时长为一个周期进行采集,例如:每隔5分钟采集一次。
具体的,根据历史运行参数确定各特征群组分别在每个CDN上的性能值的方式可以是:调用第一方程对历史运行参数进行线性求解,获得各特征群组分别在每个CDN上的性能值;或者,调用第二方程对历史运行参数进行梯度下降求解,获得各特征群组分别在每个CDN上的性能值。
其中,第一方程可以是线性方程,第二方程可以是非线性方程。线性方程和非线性方程可以从函数库中进行调用。本实施例中,对于线性方程和非线性方程不做限定。
可选的,根据历史运行参数确定各特征群组分别在每个CDN上的性能值的方式还可以是:将历史运行参数输入训练好的树型机器学习模型中,获得各特征群组分别在每个CDN上的性能值。其中,树型机器学习模型可以是基于首帧时间、卡顿信息、码率、带宽及往返时延等运行参数训练获得的。
步骤130,将各CDN对应的令牌按照设定比例投放至令牌桶中。
其中,设定比例可以是视频供应方购买的各家CDN的流量比例。假设视频供应方购买的三家CDN厂商的CDN,分别为CDN_A,CDN_B,CDN_C,约定各自流量的占比为20%,50%,30%,则2:5:3就是设定比例。
具体的,获取一定数量X的令牌,每个令牌对应一种CDN,且放入CDN令牌的比例为设定比例。假设设定比例为2:5:3,则CDN_A的令牌数据为20%*X,CDN_B的令牌数量为50%*X,CDN_C的令牌数量为30*X。
步骤140,根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。
本实施例中,首先确定当前令牌桶中剩余的CDN令牌,然后在确定发起数据请求的用户所在的特征群组,再然后确定该用户所在特征群组在剩余CND令牌对应的CDN上的性能值,根据该性能值确定出一个目标令牌。
具体的,根据性能值从令牌桶中确定目标令牌的方式可以是:当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;确定用户所在的目标特征群组,将目标特征群组在每个剩余CDN上的性能值进行归一化处理;根据归一化的性能值确定目标令牌。
本实施例中,由于令牌桶中的令牌是被不断抽取的,因此在确定目标令牌之前需要确定当前令牌桶中剩余的令牌所对应的CDN。
其中,归一化处理的结果是使得归一化后的各CDN的性能值相加和为1。假设:令牌桶中当前剩余的令牌对应的CDN包括CDN_A,CDN_B,CDN_C,用户所在目标特征群组在CDN_A,CDN_B,CDN_C上的性能值分别为0.4、0.8、0.6,则归一化后的性能值分别为:2/9、4/9和3/9。最后根据归一化后的性能值确定出目标令牌。
具体的,根据归一化的性能值确定目标令牌的方式可以是:根据归一化的性能值将设定数值范围划分为至少一个子范围;建立各剩余CDN分别与至少一个子范围的一一对应关系;在设定数值范围内生成一随机数,并确定随机数落入的目标子范围;将目标子范围对应的CDN令牌确定为目标令牌。
其中,设定数值范围可以是0-1之间的范围。可以根据归一化的性能值在总的性能值中的比例划分子范围。示例性的,基于上述实例,CDN_A,CDN_B,CDN_C归一化后的性能值分别为:2/9、4/9和3/9,则在0-1划分的子范围为:(0,2/9]、(2/9,6/9]、(6/9,1]。则CDN_A对应的子范围为(0,2/9],CDN_B对应的子范围为(2/9,6/9],CDN_C对应的子范围为(6/9,1]。
其中,可以利用随机数函数产生一个0-1之间的随机数,例如:假设产生的随机数为0.5,则落入(2/9,6/9],则确定的目标令牌为CDN_B的令牌,从而为当前用户调度CDN_B。
具体的,根据归一化的性能值确定目标令牌的方式还可以是:将归一化后的性能值最高的CDN令牌确定为目标令牌。
基于上述实例,CDN_A,CDN_B,CDN_C归一化后的性能值分别为:2/9、4/9和3/9。则CDN_B的归一化后的性能值最大,则确定的目标令牌为CDN_B的令牌,从而为当前用户调度CDN_B。
可选的,在根据性能值从令牌桶中确定目标令牌之后,还包括如下步骤:将目标令牌从令牌桶中抽出;当令牌桶为空时,返回执行将各CDN对应的令牌按照设定比例投放至令牌桶中的操作。
本实施例中,每确定出一个目标令牌,就需要将目标令牌从令牌桶中抽出。假设目标令牌为CDN_A的令牌,则将CDN_A的令牌从令牌桶中抽出,当令牌桶中没有CDN_A时,则根据令牌桶剩余的CDN令牌确定目标令牌。当令牌桶中的所有令牌被抽取出后,需要重新按照设定比例将各CDN对应的令牌投放至令牌桶中,从而实现CDN的调度。
本公开实施例的技术方案,根据设定特征信息将用户划分为多个特征群组;确定各特征群组分别与每个CDN对应的性能值;将各CDN对应的令牌按照设定比例投放至令牌桶中;根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。本公开实施例提供的CDN的调度方法,根据特征群组与各CDN对应的性能值从令牌桶中确定目标令牌,以调度目标令牌对应的CDN,可以灵活的调度CDN,保证CDN性能最大化。
图2是本公开实施例提供的一种CDN的调度装置的结构示意图。如图2所示,该装置包括:
特征群组划分模块210,用于根据设定特征信息将用户划分为多个特征群组;
性能值确定模块220,用于确定各特征群组分别与每个CDN对应的性能值;
令牌投放模块230,用于将各CDN对应的令牌按照设定比例投放至令牌桶中;
目标令牌确定模块240,用于根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。
可选的,目标令牌确定模块240,还用于:
当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;
确定用户所在的目标特征群组,将目标特征群组在每个剩余CDN上的性能值进行归一化处理;
根据归一化的性能值确定目标令牌。
可选的,目标令牌确定模块240,还用于:
根据归一化的性能值将设定数值范围划分为至少一个子范围;
建立各剩余CDN分别与至少一个子范围的一一对应关系;
在设定数值范围内生成一随机数,并确定随机数落入的目标子范围;
将目标子范围对应的CDN令牌确定为目标令牌。
可选的,目标令牌确定模块240,还用于:
将归一化后的性能值最高的CDN令牌确定为目标令牌。
可选的,性能值确定模块220,还用于:
获取各特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;
根据历史运行参数确定各特征群组分别在每个CDN上的性能值。
可选的,性能值确定模块220,还用于:
调用第一方程对历史运行参数进行线性求解,获得各特征群组分别在每个CDN上的性能值;或者,
调用第二方程对历史运行参数进行梯度下降求解,获得各特征群组分别在每个CDN上的性能值。
可选的,还包括:令牌抽取模块,用于:
将目标令牌从令牌桶中抽出;
当令牌桶为空时,返回执行将各CDN对应的令牌按照设定比例投放至令牌桶中的操作。
上述装置可执行本公开前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开前述所有实施例所提供的方法。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,或者各种形式的服务器,如独立服务器或者服务器集群。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储装置(ROM)302中的程序或者从存储装置305加载到随机访问存储装置(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行词语的推荐方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置305被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据设定特征信息将用户划分为多个特征群组;确定各特征群组分别与每个CDN对应的性能值;将各CDN对应的令牌按照设定比例投放至令牌桶中;根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开实施例的一个或多个实施例,本公开实施例公开了一种CDN的调度方法,包括:
根据设定特征信息将用户划分为多个特征群组;
确定各特征群组分别与每个CDN对应的性能值;
将各CDN对应的令牌按照设定比例投放至令牌桶中;
根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。
进一步地,根据所述性能值从所述令牌桶中确定目标令牌,包括:
当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;
确定所述用户所在的目标特征群组,将所述目标特征群组在每个剩余CDN上的性能值进行归一化处理;
根据归一化的性能值确定目标令牌。
进一步地,根据归一化的性能值确定目标令牌,包括:
根据归一化的性能值将设定数值范围划分为至少一个子范围;
建立各剩余CDN分别与所述至少一个子范围的一一对应关系;
在所述设定数值范围内生成一随机数,并确定所述随机数落入的目标子范围;
将所述目标子范围对应的CDN令牌确定为目标令牌。
进一步地,根据归一化的性能值确定目标令牌,包括:
将归一化后的性能值最高的CDN令牌确定为目标令牌。
进一步地,确定各特征群组分别在每个CDN上的性能值,包括:
获取各特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;
根据所述历史运行参数确定各特征群组分别在每个CDN上的性能值。
进一步地,根据所述历史运行参数确定各特征群组分别在每个CDN上的性能值,包括:
调用第一方程对所述历史运行参数进行线性求解,获得各特征群组分别在每个CDN上的性能值;或者,
调用第二方程对所述历史运行参数进行梯度下降求解,获得各特征群组分别在每个CDN上的性能值。
进一步地,在根据所述性能值从所述令牌桶中确定目标令牌之后,还包括:
将所述目标令牌从所述令牌桶中抽出;
当令牌桶为空时,返回执行将各CDN对应的令牌按照设定比例投放至令牌桶中的操作。
注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
Claims (9)
1.一种内容分发网络CDN的调度方法,其特征在于,包括:
根据设定特征信息将用户划分为多个特征群组;
确定各特征群组分别与每个CDN对应的性能值;
将各CDN对应的令牌按照设定比例投放至令牌桶中;
根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN;
其中,所述根据所述性能值从所述令牌桶中确定目标令牌,包括:
当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;
确定所述用户所在的目标特征群组,将所述目标特征群组在每个剩余CDN上的性能值进行归一化处理;
根据归一化的性能值确定目标令牌;
其中,所述确定各特征群组分别与每个CDN对应的性能值,包括:
获取各特征群组分别在每个CDN上的历史运行参数;
根据所述历史运行参数确定各特征群组分别在每个CDN上的性能值。
2.根据权利要求1所述的方法,其特征在于,根据归一化的性能值确定目标令牌,包括:
根据归一化的性能值将设定数值范围划分为至少一个子范围;
建立各剩余CDN分别与所述至少一个子范围的一一对应关系;
在所述设定数值范围内生成一随机数,并确定所述随机数落入的目标子范围;
将所述目标子范围对应的CDN令牌确定为目标令牌。
3.根据权利要求1所述的方法,其特征在于,根据归一化的性能值确定目标令牌,包括:
将归一化后的性能值最高的CDN令牌确定为目标令牌。
4.根据权利要求1所述的方法,其特征在于,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延。
5.根据权利要求1所述的方法,其特征在于,根据所述历史运行参数确定各特征群组分别在每个CDN上的性能值,包括:
调用第一方程对所述历史运行参数进行线性求解,获得各特征群组分别在每个CDN上的性能值;或者,
调用第二方程对所述历史运行参数进行梯度下降求解,获得各特征群组分别在每个CDN上的性能值。
6.根据权利要求1所述的方法,其特征在于,在根据所述性能值从所述令牌桶中确定目标令牌之后,还包括:
将所述目标令牌从所述令牌桶中抽出;
当令牌桶为空时,返回执行将各CDN对应的令牌按照设定比例投放至令牌桶中的操作。
7.一种CDN的调度装置,其特征在于,包括:
特征群组划分模块,用于根据设定特征信息将用户划分为多个特征群组;
性能值确定模块,用于确定各特征群组分别与每个CDN对应的性能值;
令牌投放模块,用于将各CDN对应的令牌按照设定比例投放至令牌桶中;
目标令牌确定模块,用于根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN;
其中,所述目标令牌确定模块,还用于:
当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;
确定所述用户所在的目标特征群组,将所述目标特征群组在每个剩余CDN上的性能值进行归一化处理;
根据归一化的性能值确定目标令牌;
其中,所述性能值确定模块,还用于:
获取各特征群组分别在每个CDN上的历史运行参数;
根据所述历史运行参数确定各特征群组分别在每个CDN上的性能值。
8.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-6中任一所述的CDN的调度方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-6中任一所述的CDN的调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110560471.8A CN115378878B (zh) | 2021-05-21 | 2021-05-21 | Cdn的调度方法、装置、设备及存储介质 |
PCT/CN2022/091350 WO2022242470A1 (zh) | 2021-05-21 | 2022-05-07 | Cdn的调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110560471.8A CN115378878B (zh) | 2021-05-21 | 2021-05-21 | Cdn的调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115378878A CN115378878A (zh) | 2022-11-22 |
CN115378878B true CN115378878B (zh) | 2023-11-14 |
Family
ID=84059764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110560471.8A Active CN115378878B (zh) | 2021-05-21 | 2021-05-21 | Cdn的调度方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115378878B (zh) |
WO (1) | WO2022242470A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116723339B (zh) * | 2023-08-11 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 内容数据的分发方法和装置、存储介质及电子设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143184A (zh) * | 2011-03-31 | 2011-08-03 | 华为技术有限公司 | 一种实现cdn互通的认证方法、装置与*** |
CN102651033A (zh) * | 2012-04-09 | 2012-08-29 | 百度在线网络技术(北京)有限公司 | 一种在线资源的推荐方法和装置 |
CN105684387A (zh) * | 2013-10-04 | 2016-06-15 | 阿卡麦科技公司 | 用于利用基于通知的无效缓存内容的***和方法 |
CN106301966A (zh) * | 2016-10-25 | 2017-01-04 | 北京云端智度科技有限公司 | 一种基于域名的按比例分配流量的方法 |
TW201840204A (zh) * | 2017-04-17 | 2018-11-01 | 中華電信股份有限公司 | 內容傳遞網路之影音服務防盜連方法 |
CN110858844A (zh) * | 2018-08-22 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 服务请求处理方法、控制方法、装置、***及电子设备 |
CN111290858A (zh) * | 2020-05-11 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 输入输出资源管理方法、装置、计算机设备和存储介质 |
KR102172056B1 (ko) * | 2019-10-11 | 2020-10-30 | 강원대학교산학협력단 | Icn 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램 |
CN112311597A (zh) * | 2020-10-28 | 2021-02-02 | 南京尚网网络科技有限公司 | 消息推送方法和装置 |
CN112528262A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于令牌的应用程序访问方法、装置、介质及电子设备 |
CN112600761A (zh) * | 2020-12-11 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 一种资源分配的方法、装置及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911722B (zh) * | 2017-10-31 | 2020-06-16 | 贝壳找房(北京)科技有限公司 | 一种内容分发网络调度方法、装置、电子设备及计算机可读存储介质 |
CN109167812B (zh) * | 2018-08-02 | 2022-07-08 | 网宿科技股份有限公司 | 评估服务质量、确定调整策略的方法、服务器及存储介质 |
US20200380050A1 (en) * | 2019-06-03 | 2020-12-03 | Wangsu Science & Technology Co., Ltd. | Method for acquiring service data and converged cdn system |
-
2021
- 2021-05-21 CN CN202110560471.8A patent/CN115378878B/zh active Active
-
2022
- 2022-05-07 WO PCT/CN2022/091350 patent/WO2022242470A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143184A (zh) * | 2011-03-31 | 2011-08-03 | 华为技术有限公司 | 一种实现cdn互通的认证方法、装置与*** |
CN102651033A (zh) * | 2012-04-09 | 2012-08-29 | 百度在线网络技术(北京)有限公司 | 一种在线资源的推荐方法和装置 |
CN105684387A (zh) * | 2013-10-04 | 2016-06-15 | 阿卡麦科技公司 | 用于利用基于通知的无效缓存内容的***和方法 |
CN106301966A (zh) * | 2016-10-25 | 2017-01-04 | 北京云端智度科技有限公司 | 一种基于域名的按比例分配流量的方法 |
TW201840204A (zh) * | 2017-04-17 | 2018-11-01 | 中華電信股份有限公司 | 內容傳遞網路之影音服務防盜連方法 |
CN110858844A (zh) * | 2018-08-22 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 服务请求处理方法、控制方法、装置、***及电子设备 |
KR102172056B1 (ko) * | 2019-10-11 | 2020-10-30 | 강원대학교산학협력단 | Icn 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램 |
CN111290858A (zh) * | 2020-05-11 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 输入输出资源管理方法、装置、计算机设备和存储介质 |
CN112311597A (zh) * | 2020-10-28 | 2021-02-02 | 南京尚网网络科技有限公司 | 消息推送方法和装置 |
CN112528262A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于令牌的应用程序访问方法、装置、介质及电子设备 |
CN112600761A (zh) * | 2020-12-11 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 一种资源分配的方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
数据中心网络流量调度的研究进展与趋势;李文信;齐恒;徐仁海;周晓波;李克秋;;计算机学报(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115378878A (zh) | 2022-11-22 |
WO2022242470A1 (zh) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110264262B (zh) | 基于用户行为的数据处理方法、装置及电子设备 | |
CN110765354A (zh) | 信息的推送方法、装置、电子设备及存储介质 | |
CN112379982B (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN110795446A (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN112199174A (zh) | 消息发送的控制方法、装置、电子设备及计算机可读存储介质 | |
CN110764892A (zh) | 任务处理方法、设备及计算机可读存储介质 | |
CN114466226B (zh) | 带宽时长占比确定方法、装置、设备和计算机可读介质 | |
CN115378878B (zh) | Cdn的调度方法、装置、设备及存储介质 | |
CN110827087A (zh) | 一种虚拟物品的分发方法、装置、电子设备及存储介质 | |
CN113242184A (zh) | 分布式架构的流量控制方法及相关设备 | |
CN111371882B (zh) | 数据共享投放控制方法、装置、电子设备及计算机可读介质 | |
CN112910975A (zh) | 请求的处理方法、装置和电子设备 | |
CN111756833B (zh) | 节点处理方法、装置、电子设备及计算机可读介质 | |
CN115379243B (zh) | Cdn的调度方法、装置、设备及存储介质 | |
CN113660699A (zh) | 一种智能集群联网方法、装置及电子设备 | |
CN111538721A (zh) | 账号处理方法、装置、电子设备及计算机可读存储介质 | |
CN113537893A (zh) | 订单处理方法、装置、设备和计算机可读介质 | |
CN110619079A (zh) | 用于推送信息的方法和装置 | |
CN114257870B (zh) | 短视频播放方法、装置、设备及存储介质 | |
CN114760506B (zh) | 视频转码的评估方法、装置、设备及存储介质 | |
CN118158082B (zh) | 智能家居设备通信资源报文更新方法、装置、设备与介质 | |
CN117591048B (zh) | 任务信息处理方法、装置、电子设备和计算机可读介质 | |
CN111259174B (zh) | 多媒体发送方法、装置、电子设备及介质 | |
CN114757558A (zh) | 用户信息处理方法、装置、电子设备和计算机可读介质 | |
CN117130786A (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 |