当前位置: 首页 > 专利查询>山东大学专利>正文

一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用技术方案

技术编号:15899145 阅读:84 留言:0更新日期:2017-07-28 21:44
本发明专利技术涉及一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用。本发明专利技术基于Openstack云平台,结合CouchDB技术和Openstack的可扩展的存储方案。以Openstack云平台作为基础设施,在该平台上构建CouchDB数据库集群。一方面,充分利用Openstack云平台组件和虚拟化技术构建良好的数据存储平台,满足可扩展性的需求;另一方面,利用CouchDB数据库的存储优势,构建数据库集群,通过复制机制同步数据,满足一致性需求。

【技术实现步骤摘要】
一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用
本专利技术涉及一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用,属于云环境下存储优化的

技术介绍
云存储是在云计算(cloudcomputing)概念上延伸和衍生发展出来的一个新的概念,也是云计算应用在存储领域的产物。云存储通过集群应用、网格技术或分布式系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协调工作,共同对外提供数据存储和业务访问功能,从而保证了数据的安全性,并节约存储空间。云存储系统的结果模型由4层组成:(1)存储层:是云存储最基础的部分。存储设备可以是FC光纤通道,可以是NAS和ISCSI等IP存储设备,也可以是SAS等DAS存储设备。云存储中的存储设备往往数量庞大且分布在不同地域,彼此通过广域网、互联网连接在一起。(2)基础管理层:这是云存储最核心的部分,也是云存储中最难以实现的部分。基础管理层通过集群、分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。(3)应用接口层:这是云存储中最灵活多变的部分。不同的云存储运营单位可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务。比如视频监控应用平台、网络硬盘应用平台、远程数据备份应用平台等。(4)访问层:任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统,享受云存储服务。云存储运营单位不同,云存储提供的访问类型和访问手段也不同。Openstack是一种开源的基础设施及服务的云计算平台。2010年7月以Apache2.0许可授权开源,源代码来自于NASA的Nebula云平台和Rackspace的分布式云存储(Swift)项目。从最早的Essex版本,Openstack社区已经推出了14个版本,其对应的组件也不断完善。目前,Openstack的最新的版本Newton由Nova、Glance、Cinder、Keystone、Horizon、Netron等六个核心模块组成。一方面,这些模块分别独立地提供各自不同的基础服务功能。另一个方面,各个组件之间又互相联系,共同合作,旨在为所有类型的云提供简单可实现、大规模可扩展的云主机管理方案。CouchDB(ClusterOfUnreliableCommodityHardware),是一个开源的面向文档的数据库管理系统,可以通过RESETfulJavaScriptObjectNotation(JSON)API访问。具有高度可伸缩性,提供了高可用性和高可靠性,即使运行在容易出现故障的硬件上也是如此。CouchDB是基于JSON和REST的面向文档的分布式数据库,其最大的意义在于它是一个面向web应用的新一代存储系统。具有如下特点:(1)CouchDB是分布式的数据库,它可以把存储系统分布到n台物理节点上,并且很好的协调和同步节点之间的数据读写一致性。对于基于web的大规模应用文档应用,分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。(2)CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS、电话本、地址等应用,在这些应用场合,文档数据库比关系数据库要更加方便。(3)CouchDB支持RESTAPI,可以让用户通过javaScript来操作CouchDB数据库,也可以使用javaScript编写查询语句,这样开发的系统操作会很简单和方便。CouchDB文档数据以JSON格式的文档存储在数据库中,每个文档通过唯一ID和版本号标识。因此,CouchDB可以在同一数据库中存储任意格式的数据文档,满足不同格式的数据存储需求。随着互联网的发展与数据量的增加,越来越多的企业和用户利用云存储解决数据存储问题,网络中的数据呈指数级增长,这些数据来自不同的领域,有着各种不同格式。对于这样的格式多样的海量数据而言,传统的集中式存储方案已经无法满足现有的存储需求。采用分布式存储技术,通过添加节点的方式动态伸缩以保证可扩展性,已经成为必然的选择。NoSQL做为云存储的解决方法之一,没有表结构和数据类型的约束,提供数据实时存储、检索和维护,满足海量数据存储的并发性、高可用性和可扩展性,成为重点考虑的对象。作为NoSQL的典型代表,CouchDB既可以扩展移植到移动设备上,同时也支持分布式节点的精确同步复制,确保了大量数据的存储和查询性能。然而,CouchDB结构简单,不支持自主扩展,可伸缩性差,应用过程中可能由于资源不足导致节点失效。所以,寻找一种既能够充分利用CouchDB数据库的优越性,同时也可以克服其缺点的云存储方案,十分必要。
技术实现思路
针对现有技术的不足,本专利技术提供一种基于Openstack云平台实现海量数据可伸缩性存储的系统。本专利技术还提供一种上述存储系统的构建方法。本专利技术还提供一种利用上述系统进行数据检索的方法。专利技术概述:针对传统的集中式存储方案已经无法满足现有的存储需求,本专利技术提出了一种基于Openstack云平台,结合CouchDB技术和Openstack的可扩展的存储方案。其核心是以Openstack云平台作为基础设施,在该平台上构建CouchDB数据库集群。一方面,充分利用Openstack云平台组件和虚拟化技术构建良好的数据存储平台,满足可扩展性的需求;另一方面,利用CouchDB数据库的存储优势,构建数据库集群,通过复制机制同步数据,满足一致性需求。本专利技术的技术方案为:一种基于Openstack云平台实现海量数据可伸缩性存储的系统,包括基础设施模块、数据存储模块和数据检索模块;基础设施模块对计算资源、存储资源和网络资源进行管理并对用户身份进行认证;数据存储模块实现数据弹性存储和维护;数据弹性存储通过构建CouchDB数据库集群实现,所述CouchDB数据库集群利用openstack云平台提供的云主机构建,采用扁平化结构部署;每台云主机构建一个CouchDB数据库,提供数据存储与检索功能;所述openstack云平台上的云主机通过CouchDB的复制机制实现对等。所述复制机制,是涉及到两个数据库之间的一种增量处理方法,旨在将源数据库中所有活跃的文档复制到目标数据库中,从而实现各CouchDB实例之间互相同步。根据本专利技术优选的,CouchDB的复制机制对于实现分布式数据复制包括一次性复制和持久性复制;一次性复制发送POST请求到指定数据库的_replicateURL;其中,请求题为JSON文档,包含以下内容:POST/_replicateHTTP/1.1{“source”:“example-database”,“target”:“http://example.org/example-database”};source与target分别表示复制的源数据库和目的数据库。其中,可以只使用数据库名字表示一个本地数据库,而使用一个完整的URL地址来表示一个远程数据库。根据本专利技术优选的,基础设施模块包括主控制节点和计算节点;主控制节点管理和监控整个Openstac本文档来自技高网
...
一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用

【技术保护点】
一种基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,包括基础设施模块、数据存储模块和数据检索模块;基础设施模块对计算资源、存储资源和网络资源进行管理并对用户身份进行认证;数据存储模块实现数据弹性存储和维护;数据弹性存储通过构建CouchDB数据库集群实现,所述CouchDB数据库集群利用openstack云平台提供的云主机构建,采用扁平化结构部署;每台云主机构建一个CouchDB数据库,提供数据存储与检索功能;所述openstack云平台上的云主机通过CouchDB的复制机制实现对等。

【技术特征摘要】
1.一种基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,包括基础设施模块、数据存储模块和数据检索模块;基础设施模块对计算资源、存储资源和网络资源进行管理并对用户身份进行认证;数据存储模块实现数据弹性存储和维护;数据弹性存储通过构建CouchDB数据库集群实现,所述CouchDB数据库集群利用openstack云平台提供的云主机构建,采用扁平化结构部署;每台云主机构建一个CouchDB数据库,提供数据存储与检索功能;所述openstack云平台上的云主机通过CouchDB的复制机制实现对等。2.根据权利要求1所述的基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,CouchDB的复制机制对于实现分布式数据复制包括一次性复制和持久性复制;一次性复制发送POST请求到指定数据库的_replicateURL;其中,请求题为JSON文档,包含以下内容:POST/_replicateHTTP/1.1{“source”:“example-database”,“target”:“http://example.org/example-database”};source与target分别表示复制的源数据库和目的数据库。3.根据权利要求1所述的基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,基础设施模块包括主控制节点和计算节点;主控制节点管理和监控整个Openstack云平台,提供用户界面功能、RESTfulAPI功能、网络资源管理功能和安全认证功能;计算节点为用户提供云主机资源和存储资源,提供云主机管理功能、虚拟网络管理功能和数据存储功能。4.根据权利要求3所述的基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,计算节点包括KVM模块、neutron模块和nova模块;通过配置计算节点的nova模块,在nova.conf配置文件中添加主控制节点的IP及主控制节点中keystone的认证令牌tenant,实现主控制节点对计算节点的控制操作。5.根据权利要求3所述的基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,所述安全认证功能包括openstack权限管理、用户身份认证、组件服务的注册和访问端点的注册。6.根据权利要求1所述的基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,数据检索模块通过CouchDB视图实现文档检索,CouchDB视图通过JavaScript函数定义,并保存于designdocuments文档中;数据检索模块通过MapReduce运行。7.根据权利要求6所述的基于Openstack云平台实现海量数据可伸缩性存储的系统,其特征在于,CouchDB视图要完成的文档过滤和索引描述,在designdocuments中的map和reduce函数中定义;其中,Map函数实现对数据的过滤或者查询,reduce函数实现对Map函数返回结果的聚合。8.一种如权利要求1-7任意一项所述存储...

【专利技术属性】
技术研发人员:张卫品戴鸿君孙宇清
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1