CN104184757B - 一种面向流媒体直播系统的云平台资源调度方法 - Google Patents
一种面向流媒体直播系统的云平台资源调度方法 Download PDFInfo
- Publication number
- CN104184757B CN104184757B CN201310190751.XA CN201310190751A CN104184757B CN 104184757 B CN104184757 B CN 104184757B CN 201310190751 A CN201310190751 A CN 201310190751A CN 104184757 B CN104184757 B CN 104184757B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- munderover
- mtd
- node
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及云计算环境中的资源调度方法,公开一种基于云平台的流媒体直播系统的资源调度方法,能充分考虑用户请求的统计分布信息,进一步利用给定的服务端资源,显著提升系统容量。本发明将资源调度问题转化为限定资源下的最大化满足请求数量;构建相应的层次网络,将问题转换该网络上寻找给定大小的流的最小费用问题;为提高算法效率,提出了基于压缩网络和动态权值的连续最短路径算法。实验结果表明该方法能够应对请求速率波动较大的场景,有效提高初次分配算法中的资源利用率。
Description
技术领域
本发明涉及云计算环境中面向流媒体直播服务的资源调度方法,是一种结合网络流模型的快速资源优化配置方法。
背景技术
随着互联网基础设施的发展,流媒体直播已成为最流行的互联网应用之一,具有大数据量、高通量及关注体验质量等特点。已有基于CDN(Content Delivery Network:内容分发网络)和P2P(Peer to Peer:点对点)网络的直播技术,前者有效降低启动延时,但需要额外部署或租用大量专用服务器;后者充分复用了用户间的网络带宽,但无法有效保证服务质量和可靠性。上述两种方案和混合方案都无法充分满足视频直播的所有技术要求。
随着流媒体内容的丰富和用户规模的不断扩大,以及包括时差在内的多种因素,导致全球各个不同区域间的用户请求在时间域的分布差别较大,使得现有分发方案的问题更加突出,如用户请求波动性较大,突发时服务资源不足造成服务质量下降,而额外部署的冗余资源会在需求低谷时造成巨大浪费。
云计算技术的出现,使得用户能脱离繁杂的与应用无关的运维工作,将服务资源按需供应并自动扩展,在不需要时释放资源以降低费用,其弹性计算特点提供了解决上述问题的机会。已有的工作试图解决云平台承载视频点播和直播服务时的资源调度问题,开始考虑全球各个不同区域间的需求差异,主要目标是各类服务资源在空间上的优化分配;但主要根据各个直播频道的平均请求速率,按比例分配服务端资源,请求突发较多时仍然会有相当一部分请求无法满足,请求较少时存在大量的资源浪费,该类算法有进一步改进的空间。
发明内容
本发明所要解决的技术问题是:针对现有基于云平台的流媒体直播系统在请求速率波动较大的情况下,不能充分利用给定资源,分配方案存在一定程度 资源浪费的问题,提出一种考虑速率波动的云平台资源调度方法,能充分考虑用户请求的统计分布信息,进一步利用给定的服务端资源,显著提升系统容量。
资源调度算法如算法1所示。
首先基于预期请求期望值,使用动态规划算法求解初步分配方案,目标是最低费用,其公式如下:
限制条件为:
其中,
C是所有云数据中心的数量
I是所有频道的数量
T是分配区间内所有时间段的数量
A为所有用户区域的数量
R为虚拟机出口带宽
ec是云服务中心c在单位时间内的虚拟机租用价格
Ua,c标记来自区域a的请求是否可调配到云数据中心c上,1为可以,0为不可在某时间段t内,
是云服务中心c针对频道i分配的虚拟机资源数量
是云服务中心c针对频道i所有请求,能满足的聚集带宽上限
Di,a,t是来自区域a对频道i的所有请求的聚集带宽需求的期望值。
是来自区域a对频道i的所有请求,分配到云服务中心c上的比例算法最后输出和即时间段t内在每个中心c为每个频道i分配的虚拟机 数量,及这些虚拟机的总带宽资源分配到各区域a的比例。
第二步,在获取初步分配结果后,在不改变代价的情况下,进行二次优化,目标为最大化平均满足请求量,目标公式如下:
限制条件为:
其中,
satall为所有区域被满足请求的总的带宽资源消耗
E(satall)为总带宽资源消耗的期望值
在时间段t内,
Pr(Di,a,t)和Pr(Di,t)是平均请求速率的概率分布函数
是第一步优化后,云服务中心c针对频道i分配的虚拟机资源数量
zi,c,t是当前分配后,云服务中心c针对频道i分配的虚拟机资源数量
ri,a,t是当前分配后,来自区域a对频道i的被满足请求的总带宽资源消耗
ri,t是当前分配后,来自所有区域对频道i的被满足请求的总带宽资源消耗
Di,a,t是来自区域a对频道i的平均请求速率
Di,t是来自所有区域对频道i的平均请求速率
ui,a,c,t是来自区域a对频道i的所有请求,分配到云服务中心c上的比例
Ua,c标记来自区域a的请求是否可调配到云中心c上,1为可以,0为不可再将目标转化为最小化平均花费,最小化该目标等价于最大化上面的目标,目标公式如下:
其中,
costall为所有区域未被满足要求的总代价
E(costall)为总代价的期望值
第三步,基于上面的最小代价目标,为二次分配问题构造网络流图,构造算法如算法2所示。
第四步,压缩得到简化的网络图,并实现改进的连续最短路径算法,如算法3所示。
附图说明
图1不同频道数量下满足请求比例的比较。
图2不同频道数量和不同分布参数下满足请求比例的比较。
具体实施方式
我们通过与基于均值的动态规划算法的比较进行算法验证,从平均总满足带宽数考察算法的效果。在相同的云数据中心资源数量下,能满足更多用户请求的算法具有更好的效果。
图1表明,在单个云数据中心和单个区域情况下,随着频道数量增多,经典动态规划算法(Base)和我们的算法(New)在平均总满足请求量占所有请求量比例的差别。其中,所有云数据中心的数量C=1,所有视频的数量I=1..200,时间段数量设为T=1,区域数量A=1,虚拟机出口带宽R=100;资源i的平均带宽需求是一个随机过程,值为Ri2的概率是1/i,值为0的概率为1-1/i。横坐标是频道数量,纵坐标是平均总满足带宽数。可以看到,随着频道数量增加,经典算法的效果会有所下降,但我们的算法会保持稳定的优化结果,且明显优于原始算法。
图2比较了我们算法在不同请求分布情况和不同频道数量下的效果。横坐标是Zipf分布的参数e,纵坐标是平均总满足带宽数。其中,每个请求访问频道i的概率满足Zipf概率;每个请求来自区域j的概率qj和区域内的潜在用户数量成正比例,为一个定值;云数据中心的数量C=3,所有视频的数量m分为100、500、1000三种情况,为模拟一天的情况,单个时间段跨度1小时,数量设为T=24,区域数量A=3,虚拟机出口带宽R=100;Ua,c矩阵中,每个区域可与指定的两个云数据中心连接。从实验结果可以看到,随着Zipf参数的变化,我们的算法会始终保持较好的优化结果。
Claims (7)
1.一种面向流媒体直播系统的云平台资源调度方法,其特征在于:
步骤一,基于预期请求期望值求解初步分配方案;
步骤二,获取初步分配结果后,进行二次优化,得到最小代价问题的目标公式,包括单位时间段内平均请求速率的概率分布函数;
步骤三,基于最小代价目标,构造具层次结构的网络流图;
步骤四,压缩网络流图,通过连续最短路径求解最优路径。
2.根据权利要求1所述的方法,其特征在于:
步骤二中,所述的最小代价问题的目标公式为:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>E</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>cost</mi>
<mrow>
<mi>a</mi>
<mi>l</mi>
<mi>l</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>T</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>a</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>A</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>I</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
</munderover>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>Pr</mi>
<mo>(</mo>
<mrow>
<msub>
<mi>D</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>&GreaterEqual;</mo>
<mi>n</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>T</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>I</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
</munderover>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>Pr</mi>
<mo>(</mo>
<mrow>
<msub>
<mi>D</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>&GreaterEqual;</mo>
<mi>n</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
限制条件为:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>T</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>I</mi>
</munderover>
<msub>
<mi>z</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>T</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>I</mi>
</munderover>
<msub>
<mover>
<mi>z</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>&ForAll;</mo>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>c</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>C</mi>
</munderover>
<msub>
<mi>Ru</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<msub>
<mi>z</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>&ForAll;</mo>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>a</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>A</mi>
</munderover>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>&ForAll;</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>c</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>C</mi>
</munderover>
<msub>
<mi>u</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>&ForAll;</mo>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>&le;</mo>
<msub>
<mi>U</mi>
<mrow>
<mi>a</mi>
<mo>,</mo>
<mi>c</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>&ForAll;</mo>
<mi>i</mi>
<mo>,</mo>
<mi>a</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,
C是所有云数据中心的数量;
I是所有频道的数量;
T是分配区间内所有时间段的数量;
A为所有用户区域的数量;
R为虚拟机出口带宽;
在时间段t内,
Pr(Di,a,t)和Pr(Di,t)是平均请求速率的概率分布函数,
是第一步优化后,云服务中心c针对频道i分配的虚拟机资源数量,
zi,c,t是当前分配后,云服务中心c针对频道i分配的虚拟机资源数量,
ri,a,t是当前分配后,来自区域a对频道i的被满足请求的总带宽资源消耗,
ri,t是当前分配后,来自所有区域对频道i的被满足请求的总带宽资源消耗,
Di,a,t是来自区域a对频道i的平均请求速率,
Di,t是来自所有区域对频道i的平均请求速率,
ui,a,c,t是来自区域a对频道i的所有请求,分配到云服务中心c上的比例,
Ua,c标记来自区域a的请求是否可调配到云中心c上,1为可以,0为不可。
3.根据权利要求1所述的方法,其特征在于:步骤三中,从优化目标构建的网络流图为一个层次网络,优化目标等同于在该网络上寻找给定大小的流的最小费用。
4.根据权利要求3所述的方法,其特征在于:所述层次网络共有9层,第1层是源节点,第9层是目标节点;只有相邻层次的节点间存在边,且只有从低层到高层的有向边;第2层有C个节点,每个节点对应一个云数据中心,起始节点到每个节点的边的容量为初次分配后该数据中心分配的带宽资源的数量,权值为0;第5层到第6层节点的边的容量为1,权值和单位时间段内平均请求速率的概率相关;第6层到第7层节点的边的容量为1,权值和单位时间段内平均请求速率的概率相关;剩余层次节点间的边容量均为正无穷,权值为0。
5.根据权利要求4所述的方法,其特征在于:将有9层节点的层次网络压缩为有5层节点的层次网络,实现了基于连续最短路径算法的迭代求解算法,以取得最优解。
6.根据权利要求5所述的方法,其特征在于:被压缩的层次网络中,第1层是源节点,第5层是目标节点,除了第4层到第2层节点,只有相邻层次的节点间存在有向边;除了第4层至第2层节点的边和第3层至第2层节点的边,所有的边都是由低层次到高层次节点。
7.根据权利要求1所述的方法,其特征在于:步骤四中,基于连续最短路径算法,给定目标流量大小,迭代求解最优解;每次迭代前,根据每条边的流量更新该边的权值;最后若某次迭代结束时最大流的流量等于目标流量,则算法终止,此时第1层和第2层节点间的边的流量大小即为该第2层节点对应的云数据中心在给定时刻需要为给定频道分配的带宽资源数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310190751.XA CN104184757B (zh) | 2013-05-22 | 2013-05-22 | 一种面向流媒体直播系统的云平台资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310190751.XA CN104184757B (zh) | 2013-05-22 | 2013-05-22 | 一种面向流媒体直播系统的云平台资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104184757A CN104184757A (zh) | 2014-12-03 |
CN104184757B true CN104184757B (zh) | 2018-02-02 |
Family
ID=51965497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310190751.XA Expired - Fee Related CN104184757B (zh) | 2013-05-22 | 2013-05-22 | 一种面向流媒体直播系统的云平台资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104184757B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764832A (zh) * | 2008-12-23 | 2010-06-30 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 基于对等网络的流媒体直播实现方法 |
WO2011136481A2 (ko) * | 2010-04-27 | 2011-11-03 | 주식회사 나우콤 | 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법 |
CN103354545A (zh) * | 2013-06-24 | 2013-10-16 | 西安交通大学 | 一种基于云计算的p2p流媒体服务器集群部署方法 |
-
2013
- 2013-05-22 CN CN201310190751.XA patent/CN104184757B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764832A (zh) * | 2008-12-23 | 2010-06-30 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 基于对等网络的流媒体直播实现方法 |
WO2011136481A2 (ko) * | 2010-04-27 | 2011-11-03 | 주식회사 나우콤 | 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법 |
CN103354545A (zh) * | 2013-06-24 | 2013-10-16 | 西安交通大学 | 一种基于云计算的p2p流媒体服务器集群部署方法 |
Non-Patent Citations (1)
Title |
---|
CALMS Cloud-assisted live media streaming for globalized demands with timeregion diversities;F.Wang;《Proc.IEEE INFOCOM》;20120510;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104184757A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102685904B (zh) | 一种带宽自适应分配方法和系统 | |
CN102326161B (zh) | 拓扑敏感的缓存协作 | |
CN102664814A (zh) | 一种虚拟网络中基于灰色预测的自适应动态资源分配方法 | |
CN104052820A (zh) | 一种分布式云计算平台的动态节能资源调度系统及方法 | |
CN111866601B (zh) | 一种基于合作博弈的移动边缘场景中的视频码率决策方法 | |
CN104426802A (zh) | 一种带宽的动态调整方法 | |
CN102752864A (zh) | 多用户多业务系统中的面向用户体验的资源分配方法 | |
CN100377554C (zh) | 一种集群服务器的负载均衡方法 | |
CN106572502A (zh) | 一种无线通信网络按需信道动态带宽分配方法 | |
Tuncer et al. | Scalable cache management for ISP-operated content delivery services | |
CN108021447A (zh) | 一种基于分布式数据确定最优资源策略的方法及系统 | |
CN108848535A (zh) | 一种面向共享模式的雾计算环境资源分配方法 | |
CN101247206A (zh) | 一种对等网络的分层传输方法及控制系统 | |
CN102624596B (zh) | 一种p2p直播覆盖网的可靠性最优树状核心拓扑求解方法 | |
CN104184757B (zh) | 一种面向流媒体直播系统的云平台资源调度方法 | |
CN104159128B (zh) | 一种视频流在p2p覆盖网络中基于拍卖的带宽分配方法 | |
Lee et al. | Cost-effective, quality-oriented transcoding of live-streamed video on edge-servers | |
Boscovic et al. | Pervasive wireless CDN for greening video streaming to mobile devices | |
CN106330774A (zh) | 一种微波链路传输业务数据的方法及装置 | |
CN113194362B (zh) | 边缘计算场景中视频组播分组和码率决策方法 | |
CN109101315A (zh) | 基于包簇框架的云数据中心资源分配算法 | |
CN104168572A (zh) | 人工物理优化的认知无线电网络频谱分配方法 | |
Liang et al. | Hierarchically clustered p2p streaming system | |
CN107707379A (zh) | 一种cdn覆盖方案生成方法和装置 | |
Jiang et al. | A replica placement algorithm for hybrid CDN-P2P architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180202 |
|
CF01 | Termination of patent right due to non-payment of annual fee |