一种基于混合云调度模型的自动伸缩、费用优化的内容分发服务方法

文档序号:7807716阅读:132来源:国知局
一种基于混合云调度模型的自动伸缩、费用优化的内容分发服务方法
【专利摘要】本发明属于云计算和网络多媒体【技术领域】,具体为基于混合云调度模型的自动伸缩、费用优化的内容分发服务的方法。本发明方法包括:根据历史数据预测未来的用户访问量,为自动伸缩资源提供依据;根据预测值以及长期调度算法,计算获得资源租用策略的粗略方案;其中引入了短期调度模型来减低预测误差,提高资源供给精度和服务质量。在长期调度算法中,建立了位置感知的租用模型,推导出位置感知的资源租用算法;资源预测算法采用ARIMA模型;在短期调整算法中,设计虚拟机状态参数以及提出了内容未命中算法,使整个系统的用户体验度得到进一步的提升。本发明使混合云可以在自动伸缩、费用优化的情况下高效地支持流媒体内容分发应用。
【专利说明】-种基于混合云调度模型的自动伸缩、费用优化的内容分 发服务方法

【技术领域】
[0001] 本发明属于网络多媒体【技术领域】,具体涉及一种面向新一代互联网环境的基于混 合云调度模型的内容分发服务方法。

【背景技术】
[0002] 数字内容产业在下一代IP网络的应用中占有十分重要的地位。新一代互联网中, 随着宽带的发展,互联网应用已经从单纯的Web浏览转向以丰富的内容为中心的综合应 用,丰富媒体内容的分发服务将占越来越大的比重,流媒体、IPTV、大文件下载、高清视频等 应用逐渐成为宽带应用的主流。根据Cisc 〇2010年视频网络调查报告,2010年视频流量占 到整个Internet流量的三分之一,预期在2014年超过70%。这些视频应用所固有的高带 宽、高访问量和高服务质量要求对以尽力而为为核心的互联网提出了巨大的挑战,如何实 现快速的、自动伸缩、有服务质量保证的内容分发传递成为核心问题。流媒体的服务需求经 常超出应用服务提供商自身的IT架构能力,这就需要应用服务提供商不断加大系统硬件 投入来实现系统的扩展能力。为了节省成本和实现系统的可扩展性,云计算的概念和技术 不断发展。云计算(Cloud Computing),是一种基于互联网的开放共享的计算方式,通过这 种方式,共享的软硬件资源和内容可以按需求提供给用户。云计算是分布式计算、并行处 理和网格计算的进一步发展,能够向各种互联网应用提供硬件服务、基础架构服务、平台服 务、软件服务、存储服务。云计算作为一种新型的按需使用、按用付费的商业模式,它以虚 拟化技术为基础,并具备了弹性扩展,动态分配和资源共享等特点,不仅改变了当今IT基 础设施的架构模式,也改变了获取、管理和使用IT资源的方式。美国家标准与技术研究院 (National Institute of Standards and Technology,NIST)将云计算系统的部署方式划 分为私有云、社区云、公有云和混合云等四种.流媒体服务的提供商首先供给私有云资源 进行内容分发服务。由于所有物理设备均由应用服务提供商自身维护,所以它能保证数据 及网络传输过程中的性能和安全性。但是,构建私有云的成本较高,且可扩展性不强。一旦 建成私有云平台,私有云内的资源总量是固定的,无法随着需求变化自动伸缩提供资源,较 低的资源利用率以及无法满足流媒体突发请求将是内容服务提供商面临的一个重大问题。
[0003] 本发明借助混合云平台的概念,将公有云与私有云相结合。在这个模式中,由于公 有云的动态弹性,在内容服务提供商内部私有云负载达到饱和的情况下,平台可以根据预 测和实时情况自动伸缩地租用公有云资源,以应对流媒体服务中大量突发性的用户请求。 利用此机制,在降低费用成本,保证性能的情况下,用户体验度能得到进一步提升用。
[0004] 经对现有技术的文献检索发现,Amazon的S3提供了开放存储服务,Amazon 的CloudFront提供了内容分发服务,内容提供者在发布内容到CloudFront平台之后, CloudFront将为其在Amazon全球的数据中心提供透明的内容分发服务,但CloudFront 对内容提供者提供的接口并不丰富,内容提供者不能通过CloudFront接口控制其内容分 布到哪些边缘节点并进行全局管理。Akamai的Cloud Optimizer服务虽然提供了开放 接口 EdgeScape API,但功能还非常有限.Netflix公司是全美最大的视频服务提供商, 目前吸引了美国和加拿大超过两千三百万的用户,HD (高清晰度)质量的视频流平均达 到3.6 Mbps的比特率。事实上,Netflix是美国的互联网流量的最大消费源,消耗达到峰 值下行流量的29. 7%。 Netflix公司目前搭建的流媒体平台已经使用了混合分发系统, 包括自身的数据中心,Amazon的Cloud系统,和多个⑶N系统,包括Akamai、LimeLight 和Level-3.其中Amazon的Cloud系统为Netflix提供的关键功能包括:内容注入、日 志记录/分析、DRM、CDN路由、用户登录、和移动设备支持。【VYFM2012: Vijay Kumar Adhikari,Yang Guo, Fang Hao, Matteo Varvello, Volker Hilt, Moritz Steiner,Zhi-Li Zhang, Unreeling Netflix: Understanding and Improving Multi-CDN Movie Delivery, INFOCOM'12, Orlando,FL,USA,March,2012.】指出原系统虽然有3个备用的CDN,但只有 在首选服务器不能满足最低码流的情况下才会切换,利用率低下,在此背景下【VYFM2012】 提出改进方案,CDN选取最大剩余带宽的服务器,并且可以同时利用三个备选服务器同时服 务,从而提高了视频服务的QoS。这里,Netflix的一个主要问题是没有考虑云服务提供商 的全球分布情况,既没有考虑位置信息,也没有考虑云服务的价格因素。


【发明内容】

[0005] 本发明的目的在于提出一种基于混合云调度模型的自动伸缩、费用优化的内容分 发服务方法。
[0006] 本发明基于混合云系统框架,将内容分发作为目标应用,设计了调度和租用混合 云虚拟资源提供内容分发服务的方法。本发明混合云内容分发调度算法结合长期调度算法 与短期调度算法,包括负载均衡Load Balance以及自动伸缩Auto Scale,并且加入了预测 算法,使得整个调度算法更具有适用性和通用性。
[0007] 在长期调度过程中,首先通过资源预测算法,预测出较长一段时间的用户请求情 况,以及各个虚拟机负载的情况。然后根据预测结果,以及各个请求的自身限制,调用位置 感知的资源租用(LARB)方法,向各个云系统自动伸缩租用适合的资源,并预先配置好各台 服务器,以提供较长一段时间的稳定服务。
[0008] 虽然长期调度算法可以在较长一段时间内,最优化整个系统的资源,降低服务费 用。然而,实际的预测算法的精度并不可能完全精确,仍然会有一定的误差。因此,本发明 进一步提出动态调整算法,在短期调度中,进一步修正预测所带来的误差,提高自动伸缩的 精度,并用按需使用的方式总体上降低服务提供商租用云资源的费用。
[0009] 本发明提出的基于混合云调度模型的自动伸缩、费用优化的内容分发服务的方 法,具体步骤为: 第一步:资源长期租用和预留 这里将详细阐述长期调度算法的内容。由于混合云环境的具体应用场景为内容分发视 频点播服务,(1)首先建立针对应用的位置感知的资源租用模型,将整个问题转换成一个 带限制条件的最优化问题;(2)将针对模型,提出一个资源优化租用算法,以降低系统运 行的时间复杂度,并给出了算法的伪代码参考实现形式。
[0010] (1)建立位置感知的资源租用模型(Locality-aware resource booking Model) 因为需要提出一个有关价格的方案,本发明以表1为例,参考亚马逊的EC2在全球不同 地区的租用价格函数,如表2。虽然租用价格函数在不同区域是不同的,虚拟机租用函数,网 络流量函数以及存储函数相对于他们的输入而言,不是线性的,就是凹的。
[0011] 在本发明建立的模型中,将世界划分成不同地区,满足同一个地区的租用价格函 数是相同的。一个地区可以是一个小的国家,或者是一个大的省。将A定义为所有地区的 集合。本发明假设,全世界所有地区一共有N个数据中心,而他们的虚拟机、存储以及网络 的租用价格函数分别是,

【权利要求】
1. 一种基于混合云调度模型的自动伸缩、费用优化的内容分发服务方法,其特征在于 具体步骤为: 第一步:资源长期租用和预留 首先建立针对应用的位置感知的资源租用模型,将整个问题转换成一个带限制条件的 最优化问题;然后针对模型,提出一个资源优化租用算法,以降低系统运行的时间复杂度; (1)建立位置感知的资源租用模型 参考亚马逊的EC2在全球不同地区的租用价格函数,将世界划分成不同 地区,满足同一个地区的租用价格函数是相同的;一个地区可以是一个小的国 家,或者是一个大的省;将A定义为所有地区的集合;假设全世界所有地区一 共有N个数据中心,而他们的虚拟机、存储以及网络的租用价格函数分别是,
将每一个内容文件的块,记做一个内容单元;假设应用服务提供商可以提供的内容一 共有Μ个内容单元;使用向量5 = 记录每一个内容单元的存储大小;另外, 引入流的概念,定义流/f表示从地区fl发起的,请求内容单元m的用户请求数;算法的目 标是,在将每一道流分配给一个或多个云系统虚拟机的同时,保证服务的质量,优化租用成 本; 引入队:^来记录流的性能,用来体现用户接受到的服务情况;设pf?表示一个时间比 例,这个比例是数据中心n,能够向地区c ,提供传输内容单元m的时间,占整个传输时间的 比例,并且在传输过程中,必须满足一定的用户体验度;数据中心与用户之间的距离越远, ΚΓ*越低;这样,用一个人为设定的阈值參,将所有的数据中心针对地区c和内容单元m划 分为两个集合;定义&,表示一个可行的数据中心集合,在^中的数据中心,都可以向地区β 提供内容单元m的服务,且服务的性能超过阈值ρ ; 定义N维向量为数据中心η向流提供的服务比例,希望找到每一个if广的值,满 足一定的用户体验,并且最小化整体成本;根据,分配各个用户请求到不同虚拟机进行 服务,并租用相应的公有云资源; 为了建立更公式化的问题定义,引入一个指示随机变量/J1 :当数据中心η有内容单元m 时为1,否则为0; 定义问题如下:
其中,Σα , Ea Σ? ?Γ/?1, ΣΒ Σ? ι'Γ/?Γ^分别计算每一个数据中心η所对应的 存储大小,请求数,以及网络流量;总代价c是各个数据中心的租用代价总和; (2)位置感知的资源租用计算 目标是设计位置感知资源租用算法来最小化代价C; 问题(1)中,有一种赋值方法,使if"不是0就是1,并且这种赋值方法可以取得最小的C; 于是将原先的最小化问题转化成一个赋值问题,即仅需要寻找一种0, 1赋值方法,使 得整个C最小; 目标函数是凹函数,根据凸优化理论,只需要评估在凸包的一些极值点的目标函数值 即可;为此引入一些数据结构: 首先,引入一个映射函数JA表示流与数据中心的映射;如果流/被分配给数据中心η 服务,那么A?的=/?,用一个A X 3的矩阵F来表示一个流,F的行表示地区,三列分别表示内 容单元索引,请求数以及网络流量;使用表示内容单元1?平均被下载的比例,一个请求 数为r的流/a^的矩阵表示如下形式:
流/f的矩阵F表示 将所有的内容单元依据他们的块大小进行排序,并用序号标识,这样,随着内容单元序 号的递增,其大小也是递增的; 定义&为一个3 X3N的矩阵,只有第i个3 X3的矩阵是单位阵,其余均为0,矩阵Es :
定义F (? En是一个A X 3N的矩阵,第η个A X 3的矩阵是F,其余都是0 ;F ? En代表将流 F分配给数据中心η服务的结果,矩阵:
有了这些数据结构后,位置感知的资源租用算法,记为LARB,具体步骤为: 第1步,要找到所有的极值点 LARB搜寻所有解空间中的每一个与F ? -马)垂直的超平面;由于这些超平面可能 会有重复,使用一个超平面集合HPs,将每一个超平面hpCandidate =丨·^归一 化并记录;如果它没有重复,就将其加入到超平面集合; 第2步,计算每一个非重复超平面的一个内部点P,并将它们记录在集合Ps中;每一个 内部点将对应一个极值点; 第3步,评估每一个可能的赋值解;对于每一个内部点Ps eP,将它分配给一个可行的 数据中心n,这个数据中心将最小化P与F ? En的积,< P, f ? Εβ >的值;当赋值操作完成 后,评估总体的代价,并选取一个最优的赋值作为解; 第二步,资源负载预测计算 引入一个基于差分自回归移动平均模型(ARIMA模型)的负载预测算法,用来预测每一 个VM的使用负载情况以及用户服务请求情况;每台VM的CPU使用率,带宽使用,以及流请 求数作为模型的输入,从而预测未来的情况; ARIMA模型包括参数选择p和q,平均值估计,随机变量相关系数和白噪声方差; 计算未来的需求一共有五个步骤; 定义0(?和P (?分别表示在t时刻的观测值和预测值;使用T表示预测的开始时刻, S表示预测的时长;开始时刻是当前时刻;预测算法是用一系列观测值0(0〕,0⑴ 来预测未来的需求值P(r+l),PCT4 2),".,P(T+s); 首先测试数据是否具有平稳性和能迅速降低自相关的函数;如果有,算法将继续下一 步;否则,使用差分的方法,将序列平滑化,直到它是变成稳定的序列为止;然后,使用一个 变换级数来表示数据零均值处理后的结果,这样将预测转化为,基于CXjfO ^ ^ 71,预测 CXtKf > T); 接下来,针对预处理后的序列,计算自相关函数(ACF)和偏自相关函数(PACF),从而辨 别采用AR,MA还是ARMA模型; 一旦数据被转换到变换后的序列PU ,并且序列[XJ可以被应用到零均值的ARMA模型 进行拟合后,接下来的问题是,面临着选择合适的P和q的值;本算法选择被称为AIC的 Akaike信息准则; 在所有的参数都选择好之后,做模型检查以确保预测的精度;检查一共有两步,第一该 模型的稳定性和可逆性,第二残差;如果检查结果满足所有的标准,便可以开始预测,否则, 将会回到参数选择和估计,并采取更细粒度的方式找到合适的参数; 当所有的数据都适合模型后,对整个过程进行预测; 第三步,资源动态调整供应 预测有两种类型的预测误差:估高和估低;估高意味着预测的值比实际的负载高,系 统根据预测的负载将向云服务提供商租用更多的资源,而这些资源将不会被充分的利用, 这将导致租赁费用的浪费;估低表示预测值比实际负载请求量更低,有一部分的请求无法 获得系统及时响应,从而造成用户体验的下降; 考虑两个方面,资源预测的不准确和内容未命中; 引入了虚拟机的三个状态,分别是空闲,健康和负载过重即重载;如果虚拟机的CPU或 者内存使用率超过一个比例1^,就称此虚拟机是重载的;如果虚拟机的CPU和内存的使用 率都低于一个比例1?,就称此虚拟机是空闲的;其他情况下,称此虚拟机是健康的; 在系统运行过程中,每一个虚拟机的状态将被监控;如果一个数据中心中重载的虚拟 机比例超过α时,算法将自动租用新的虚拟机;相反的,当数据中心的空闲虚拟机比例超过 β时,算法会退还多余的虚拟机; 另一方面,当用户请求一个视频,但所有可行的数据中心都没有用户请求的内容文件, 此情况被称为内容未命中;对此,用内容的流行程度以及推和拉操作来进行改善: 受传统的CDN网络方法的启发,系统给每一个新的内容单元标记流行程度,并根据 LARB算法中的值来分发它,这是利用推的方式来防范;当真正的内容未命中发生时, 还设计了一种拉的方式来处理,即使用一个贪婪算法,选择一个对此用户而言,代价最低的 可行的数据中心,向这个数据中心传输用户请求的内容,使下一次不再发生内容未命中情 况;在此同时,选取一个对请求用户而言,具有最高性能的数据中心,直接对用户进行服务。
【文档编号】H04L29/06GK104065663SQ201410306179
【公开日】2014年9月24日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】吕智慧, 邓达, 吴杰 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1