一种基于云端大数据迁移和处理成本的优化算法的制作方法

文档序号:11774183阅读:919来源:国知局

技术领域:

本发明涉及云端大数据迁移优化的算法问题,属于云计算应用技术领域。



背景技术:
:

随着网络技术和移动通讯技术的迅猛发展,数据量的增长呈现出指数增长的规律。1998年图灵奖获得者jimgray提出一个新的经验定律:

现在每18个月新增的存储量等于有史以来存储量之和,到目前为止,数据量的增长基本满足这个规律,根据预测,2020年数据宇宙将达到35.2zb(1zb=1百万pb),比2009的0.8zb增加44倍。在如此强大的实际需求推动下,人们不断追求海量存储容量、高性能、高安全性、高可用性、可扩展性、可管理性等特性,对存储的需求不断提高。信息量呈现爆炸式增长趋势,使得存储性能已经成为急需提高的瓶颈。使用云端来存储企业的数据将大大提高可用空间,但前提是数据迁移要做好,最重要的是最大限度的安全、有效、最低成本地将这些海量大数据迁移到云端,这是一个系统工程,并且不是容易完成的工作,对于大数据迁移需求现在成几何式增长,据idc统计,数据迁移成本占整个大数据应用费用的40%以上。

云计算按照即付即用的模式运行,使得用户能够根据自身所需动态调整租用的资源,并且具有高性能以及高容错特性,为大数据处理提供了一种高效而经济的解决方案.在云计算模式下,如何对数据与云资源进行有效管理为数据管理者降低数据处理成本至关重要。其中,最为重要的问题要数:1)如何动态地将不同位置的实时产生的大规模数据分配至地理分布的数据中心?2)需要在这些数据中心中提供多少计算资源以保证服务质量同时又最小化运行费用?由于数据产生的动态性、多源性以及资源价格的动态性使得上述问题变得极具挑战。

当前,对大数据的研究主要集中在不同类型数据的高速并行处理(比如针对批量数据处理的mapreduce框架,针对交互式数据的spark系统,针对流式数据处理的dreme系统,以及针对图数据的prege系统)、大数据分析应用(如个性化推荐,软件分类,基因选择)以及大数据处理基础技术等方面,但将大规模数据传输到云端并对其数据与资源进行管理的研究很少.目前,为了解决数据迁移问题,常常采用一些简单低效的方法.例如,将数据拷贝至大容量的硬盘中再进行物理运输、甚至直接将整台机器搬运到数据中心等.这些方法不仅会产生不可容忍的数据处理延迟,而且考虑到运输过程中硬盘会毁坏,具有极大的安全隐患.也有实际项目实现了在数据中心之间根据需要自动复制和传送数据,但主要聚焦数据的业务需求,未考虑数据处理所需要的资源。



技术实现要素:

本发明对多源大数据云端处理的数据和资源管理问题进行研究,以优化大数据云端处理的成本,提高其服务质量;基于此,首先将大数据云端处理的数据迁移和资源供给问题转化为联合随机优化问题,然后应用李雅普诺夫优化技术对模型进行求解并设计相应的在线决策算法;该算法不需要预测系统的未来状态,仅仅基于系统的当前状态做出决定。发明内容如下:

表一符号表示含义

(1)提出了一种跨数据中心联合优化数据迁移以及资源供给统一模型,考虑了多数据源数据产生的动态性以及云端不同虚拟机类型及其价格的动态性.

(2)通过利用李雅普诺夫优化技术解决联合随机优化问题.基于所推导的解析解设计了相应的高效在线决策算法,该算法能够同时作出数据迁移以及资源供给决策并能分布式实现。

具体包括如下步骤:

(1)一般情况下,由于不同vpn一般属于不同互联网服务提供商,其带宽价格各不相同,令为从数据源r∈r传输1gb数据到数据中心d∈d的价格,则t时刻的带宽总费用可定义为:

(2)由于大数据分析应用的数据规模的庞大,数据的存储成本也是影响数据中心选择的一个重要因素.令sd为单时隙内数据中心d∈d上储存1gb数据所需要的成本,则t时刻系统产生的储存的总成本为:

(3)由于各云服务提供商通常采用动态定价机制,因而从数据中心租用的虚拟机的数量对系统的总成本和服务质量有重要影响.令为t时刻从数据中心d中租用的k类型虚拟机数量.令为t时刻数据中心d中k类型的虚拟机的价格,则数据处理所需要的计算成本为:

(4)考虑到数据源与数据中心分布在不同地理位置,本文将延迟作为数据处理需要考虑的一个重要性能指标,数据迁移时要尽可能减小延迟造成的影响,为数据源r∈r传输数据到数据中心d的延迟。α为将延迟转换为经济成本的权重系数.则延迟转换的计算成本为:

其中α为将延迟转换为经济成本的权重系数.基于以上的成本公式,可以导出系统中产生的总成本为:

c(t)=cp(t)+cs(t)+cb(t)+cl(t)(5)

设ar(t)为t时刻数据源r生成的数据量.由于从任意数据源生成的数据可移动到任意数据中心进行处理,我们设为在t时刻从数据源r移动到数据中心d的数据量,为数据源r产生的最大数据量.则有:

基于以上各费用成本的定义,根据本文所研究的目标,最小化时间段[0,t]内数据迁移和处理的时间平均成本可以形式化为:

其中,约束(10)是为了确保在单时隙内分配给各数据中心数据的总和等于在该时刻产生的总数据量.约束(11)确保了所需的虚拟机数量不超过数据中心可以提供的范围.从问题p1表达来看,由于数据生成是未知且动态的,资源变量是整数型,因此以上问题是一个约束随机整数优化问题.本发明的目标是在长期运行状态下,通过优化分配给每个数据中心的数据以及数据中心租用的虚拟机的数量以使长期数据处理平均成本最小化.为了处理此问题,采用了一项最近开发的优化技术-李雅普诺夫优化框架来对问题进行求解,解决方案的细节将详细介绍。

令hd(t)时间序列上数据中心d中未处理的数据量.首先,我们定义hd(0)=0,则队列hd(t)的演化可以描述如下:

上述队列的更新规则意味着所处理的数据量为新到达的数据量为为了保证队列hd(t),在最坏情况下的延迟处于最大工作负载延迟l内,我们略设计了一个相关虚拟队列zd(t)(可视为延迟容忍队列).其中,虚拟队列zd(t)的负载初始化为zd(0)=0,且更新如下规则:

其中指示函数表示当hd(t)>0时等于1,否则等于0.同样地,表示当hd(t)=0时为1,否则为0.εd为预设常数,用来控制队列延迟的范围.由此可以证明,若所提算法能够保证队列hd(t)和zd(t)在长时间的稳定,则所有数据都可以在至多l个时隙延迟内得到处理,并且,l可设置为其中分别是队列hd(t)和zd(t)的上限;

令z(t)=(zd(t)),h(t)=(hd(t)),分别表示虚拟队列和实际队列的矩阵,则可以用θ(t)=[h(t),z(t)]来表示实际队列和虚拟队列的联合矩阵。据李雅普诺夫框架,我们定义李雅普诺夫函数如下:

其中l(θ(t))为系统中负载积压的度量.则单时隙的李雅普诺夫漂移函数则可定义为:

δ(θ(t))=e{l(θ(t+1))l(θ(t))|θ(t)}(16)

为在保证系统队列稳定的同时还最小化系统所产生的花费,则李雅普诺夫漂移-惩罚项可以在上式(16)

漂移函数中增加系统总成本函数获得,即:

δ(θ(t))+v·e{c(t)|θ(t)}(17)

其中v为非负参数,它可以在系统稳定性和成本之间进行折衷.v越大,系统产生的成本就越小,反之成本就越大.因此,原来的问题p1就变成了下面的问题p2:

p2.min(17)(18)

s.t.:(9)(10)(11)(12)(19)

为了解决p2,本文不直接最小化漂移-惩罚函数,而是致力于最小化它的上界.然而,理论证明此方式并不破坏算法的最优性和性能.因此,求解p2的关键是找到其上界.通过理论推导可证明,式子(17)的界为:

其中

通过仔细研究不等式(20)右边,发现该优化问题可以等价地分解成两个子问题:即数据分配问题和资源供应问题.求解以上两个子问题的细节如下所述.

a、数据迁移:为最小化式(20)右边,通过观察变量之间的关系,其中与数据分配相关的部分可被提取为:

此外,由于各数据源的数据是独立生成的,式子(21)所述的多数据源整体优化方式可以分别在各数据源独立执行.考虑t时刻数据源r上数据分配,则问题转化为解决如下问题:

事实上,上述问题是一个广义的最小权重问题,从数据源r迁移到数据中心d的权重为它与数据积压hd(t),带宽成本储存成本sd,延迟成本有关.通过使用线性规划理论,我们可以求得以下解决方案:

其中显然,t时刻算法倾向于将数据源r产生的数据迁移至该时刻具有最短任务队列和最小运行成本的数据中心进行处理。

b、资源配置:如去掉式子(20)右边的常数项b,则变量相关的部分可以被认为是资源供应问题。因此,我们可以通过解决如下问题得到虚拟机最优供应策略:

同理,由于各数据中心中的资源供给是独立的,与数据分配问题相似,式子(23)可以在每个数据中心建分布地求解。因而,对于单个数据中心d,资源供应问题可以进一步改写为:

易得上述线性问题的解为:

上述解决方案表明,当t时刻k类虚拟机的价格越小,而其虚拟机容量vk越大时,k类型的虚拟机有更大可能将被租用.至此,通过利用李雅普诺夫框架对原问题进行转化,长时间内数据迁移和资源供给的成本最小化问题得到有效求解.以上简单解决方案有助于在真实系统在线部署所提算法.其在线算法的细节如算法1所示.

形式化地,本问题考虑地理分布的数据中心集合d,其总数为d=|d|,取值为d(1≤d≤d).各数据中心配置有不同类型的虚拟机k(具有大小k=|k|),每类虚拟机有不同的cpu和内存配置,并设k类虚拟机的能力为vk,表示该类虚拟机处理数据的速率.其与mapreduce具体应用有关,不同的数据处理具有不同的速率.数据管理者管理着r=|r|个数据源(表示为集合r),且各数据源(取值为1≤r≤r)动态产生需要处理的数据.为此,任何数据源的数据可通过虚拟专用网(virtualprivatenetwork,vpn)移动到其所租用的数据中心来进行分析.为模拟真实场景,我们假设从数据源r到数据中心d上的vpn连接(r,d)的带宽是有限的,并且是系统瓶颈之一.此外,每个地理位置生成的数据量是独立的,每个数据中心的资源价格(例如,虚拟机,存储)是不同的,并且随时间变化.

该系统依照时间序列运行,划分为t=0,1,...,t.在每个时间序列中,数据管理者需要决定从数据源r移动多少数据到数据中心d以及每个数据中心租用多少资源来支持数据处理.所优化的目标为最小化云端对大数据分析的总成本,

具体实施方式:

在线算法步骤:

1、输入hd(t),zd(t),ar(t),vk,

2、输出

3、资源配置

对于每一个数据中心d∈d,虚拟机类型k∈kdo

通过应用

解决问题(24)

得到虚拟机供给策略

4、数据迁移

对于每一个数据源r∈r,数据中心d∈ddo

通过应用(23)

解决问题(21)

得到数据分配策略(xd(t))

根据队列动态等式(13)(14)分别更新队列hd(t),zd(t).

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1