论文部分内容阅读
随着云计算的迅猛发展,海量的数据被集中到云服务器上,为用户提供存储、检索、计算等远程应用服务。在云服务器上,海量数据的存取操作往往是性能瓶颈,所以设计并优化数据布局算法,以提升存储器利用率和数据访问速度,是云计算的一个重要研究课题。考虑到海量数据的爆炸式发展和防灾的安全需求,使得数据不可能只集中于一个数据中心,所以数据布局算法不仅要研究在同一个数据中心的本地服务器集群中的分配问题,还要研究跨数据中心的数据布局,以及跨数据中心数据访问业务的效率问题。前一个可看成是战术层面的数据布局优化,后一个可看成是战略层面的数据布局优化,本文主要针对后一个战略层面问题,设计了相应的数据布局算法。论文的主要工作如下:(1)设计了一个基于数据关联性聚类的数据布局算法(DPBDD Data PlacementBased On Data Dependence)。云服务器上的众多应用往往会使用多种来源的数据,也会相互之间共享某一类数据,这种应用与数据之间的多对多关系导致了数据之间存在复杂的关联性。现有的只考虑数据中心负载均衡的数据布局算法不考虑数据之间的关联性,当执行某个跨数据中心的应用时,往往会产生大量的数据迁移,降低数据访问的效率。本文首先定义了不可被分割执行的元应用,同一个元应用所使用的数据单元被认为是有关联的,从而建立数据关联矩阵,再通过运用BEA算法对数据关联矩阵进行变换得到聚类关联矩阵,使得关联度高的数据在矩阵中排列得比较靠近,然后通过分割聚类关联矩阵把数据类分配给各个数据中心。通过仿真实验,与一致hash算法和基于数据中心容量聚类的布局算法进行了比较,结果表明DPBDD算法在数据迁移量指标上明显改善。(2)考虑到增量数据的布局问题,基于K-means算法设计了一个DPBDD-k算法。云服务器上的海量数据始终在高速增长,DPBDD算法适合用于云系统的初始静态规划和结构性升级规划,云系统运行时的动态规划则必须研究如何将新增数据合理的布局到各个数据中心。DPBDD-k算法以DPBDD算法得到的k个分类作为K-means算法的聚类中心,计算新增数据与这k个聚类中心的关联度,选取关联度最大的数据中心来存储这个新数据。仿真实验中通过与就近原则布局算法进行了对比,DPBDD-k算法的数据迁移量指标在不断新增数据的情况下更有优势。