一种金字塔存储算法在云计算数据库中的应用研究
2014-12-09石锋
摘 要:伴随着云计算的出现,传统数据库的存储功能已不适合云端下的服务操作要求。在分析了目前的云数据库的架构及数据库的组成形式后,采用树型数据库的方式作为云计算数据库组织方式。然后在原有的金字塔中的瓦片存储算法的基础上,利用探测法思想对其进行改进。通过仿真实验证明改进后的算法在数据存储上缩短了时间,提高了效率,为云计算下的数据库其他操作提供了较好的访问基础。
关键词:云计算;金字塔算法;树型服务器
引言
伴随着互联网技术的不断发展,云计算受到人们广泛关注,应用领域也在不断扩大,人们希望降低设备投入与管理成本,但又需要具有可伸缩的扩展性高的服务商提供服务,如何高效存储和管理企业的庞大数据成为数据库服务的问题。云计算服务器概念的提出满足了这方面的需求。它是一种很好的解决方案,将数据迁入到云服务中,通过云存储的方式可以更好的满足数据信息存储的要求。
文章在云服务的数据存储方式中,采用树型数据库进行数据存储,同时在金字塔模型的瓦片思想的基础上对存储算法进行了改进,通过实验证明,这种改进后算法能够在树型数据库中缩小数据存储的时间,同时为数据库中的其他操作提供基础。
1 云计算数据库
云计算数据库的构架共分为三层。第一层为应用层,负责向用户提供服务SDK和OSS机制。第二层是服务层,负责向应用层提供服务,第三层为数据存储层,提供数据物理的存储。
应用层中SDK主要解决对象和关系型数据的映射关系,根据应用程序的对象类,自动生成关系型结构和索引。OSS机制本质就是Web服务的组合,主要是对服务层进行封装,为应用层提供安全服务、数据服务等。服务层主要是由分布服务层和应用服务层组成,分布服务层采用主节点和子节点的组成方式,当主节点和子节点运行程序的时候,主节点接受来自应用服务层的查询,并将结果返回应用服务层,应用服务层主要来自应用层的OSS的请求和来自数据存储层的检索请求。数据存储层是由程序和数据库实例组成,其主要功能是存储数据和处理数据的操作。数据存储层可以采用物理机或者虚拟机。数据库实例用来存储和处理数据的要求。
云计算平台下使用关系型数据库来进行存储,与原来的本地数据库存储方式不同,这是因为云计算下的服务器承受来自不同用户的数据访问要求,这些用户所需要的数据可能具有异构性,在云计算中要满足大量来自应用层的客户数据存储和访问的要求,这些需要满足实时性高的要求。
2 一种金字塔云数据库算法
金字塔模型是使用在影像数据管理中的一种有效模型,其利用多分辨金字塔模型和影像分块技术,对原始图像进行分层,再对每层进行分块,这样可提高数据的存储率。使用MapReduce思想来提高影像金字塔的构建和查询速度。金字塔模型在云数据库中数据存储会消耗较长时间,不利于云服务中数据的存储,并对数据的查询和修改产生影响。
2.1 金字塔瓦片描述
金字塔模型采用瓦片来进行数据的存储描述,瓦片采用坐标(level,tx,ty)来进行标识,其中level表示瓦片所在的层,tx标识瓦片所在行,ty标识瓦片所在列。文章将这个概念应用到云服务数据库中进行数据描述。假设在第N层上有row行和col列,则一共有row*col个瓦片。对每一个瓦片采用从上到下,从左到右定义为(leveli,txi,tyi),其中leveli表示第i个瓦片所在的层数,txi表示第i个瓦片的横坐标,tyi表示第i个瓦片的纵坐标。
2.2 改进型的瓦片层间的映射方法
根据分层分块原则,第N层上一个瓦片对应着第N+1层上的有且仅有的4个瓦片,为了能够显示瓦片,提高数据存储的最大利用率,文章采用探测式的瓦片存储方式,步骤如下:
(1)对节点个数进行判断,如果是奇数个节点,进行节点个数+1,否则就不变。
(2)根据瓦片编码原则,将瓦片分布在不同的位置上。
(3)采用探测的方式,当前的数据节点进行选择瓦片,瓦片的编号(numx+ky)%(numtotal+i)i∈(0,3)。其中,numx为瓦片编号,ky为数据点编号,numtotal为瓦片总个数。
(4)当出现一次选择的瓦片数与前面相同时,自动将后一次选择的瓦片数自动往后移动一个,直至空位置为止。
3 实验分析
文章以学校为例,将局域网中分布位置不同的4台PC机作为客户端模拟云计算中的客户端,设置一台服务器在模拟云计算的服务器,采用CloudSim平台,采用3.0GHZ的酷睿CPU和2GDDR3,Windows xp操作系统。
4 结束语
文章在研究了目前云计算服务架构的基础上,通过引入树型数据库来进一步优化数据的存储问题,通过引入金字塔模型中的瓦片思想,对其进行了改进,通过仿真实验表明,改进后的算法能够较好的解决数据存储的问题,对于提高网络使用效率,增加网络运营都具有一定的参考价值。
参考文献
[1]林子雨,赖永炫,林 ,等.云数据库研究[J].软学报,2012,23(5):1148-1166.
[2]张龙立.云存储技术探讨[J].电信科学,2010(S1):71-74.
[3]高建秀.云存储在数字资源长期保存中的应用探讨[J].现代图书情报技术,2010(6):1-6.
[4]彭英,万剑华,吴楠.一种基于云计算的分布式油田物探数据存储与服务平台[J].计算机研究与发展,2012(S1):224-228.
作者简介:石锋(1971,5-),男,陕西澄城,西北工业大学本科毕业,西安航空学院工作,副教授,专业方向:软件技术。