一种面向云存储的数据存储方法及装置制造方法及图纸

技术编号:12897716 阅读:65 留言:0更新日期:2016-02-24 09:10
本发明专利技术公开了一种面向云存储的数据存储方法及装置,包括:接收客户端发起的数据写请求;获取所述客户端的用户的元数据信息,并将所述元数据信息保存至MongoDB非关系型数据库中;在HDFS存储节点上创建新的数据块;根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。本发明专利技术所提供的面向云存储的数据存储方法及装置中,控制流和数据流是分离的,这样一方面降低了MongoDB元数据服务的负担,使得其处理能力更强,另一方面将数据读写的负担分担到各存储节点,使得系统的整体性能得到了提高。

【技术实现步骤摘要】

本专利技术涉及云计算数据
,特别是涉及一种面向云存储的数据存储方法及 目.ο
技术介绍
云存储是是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。由于云存储服务面向的是用户,以用户为单位。因此在Hadoop上即HDFS架构的基础上,引入MongoDB非关系型数据库进行相应的改进,能够优化HDFS的存储。
技术实现思路
本专利技术的目的是提供一种面向云存储的数据存储方法及装置,目的在于在Hadoop云平台上搭建HDFS和MongoDB存储系统来实现非结构化海量资源的存储。为解决上述技术问题,本专利技术提供一种面向云存储的数据存储方法,包括:接收客户端发起的数据写请求;获取所述客户端的用户的元数据信息,并将所述元数据信息保存至MongoDB非关系型数据库中;在HDFS存储节点上创建新的数据块;根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。可选地,所述获取所述客户端的用户的元数据信息,并将所述元数据信息保存至MongoDB非关系型数据库中包括:获取所述客户端的用户的元数据信息、文件存储大小以及偏移值,将所述元数据信息、所述文件存储大小以及偏移值保存至所述MongoDB非关系型数据库中。可选地,所述在HDFS存储节点上创建新的数据块包括:MongoDB元数据服务器根据各个HDFS存储节点的工作和使用信息,基于负载均衡原理,在所述HDFS存储节点上创建新的数据块。可选地,所述根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储包括:所述客户端根据得到的HDFS存储节点的信息,向对应HDFS存储节点发出数据写请求,并向所述HDFS存储节点发送数据;所述HDFS存储节点接收所述数据并存储到对应数据块,同时向其他存储节点进行备份;当本地写以及备份成功后,所述HDFS存储节点将成功信息返回至所述客户端。可选地,还包括:当集合的数据量较大时,采用自动分片的方式进行数据处理。本专利技术还提供了一种面向云存储的数据存储装置,包括:接收模块,用于接收客户端发起的数据写请求;获取模块,用于获取所述客户端的用户的元数据信息,并将所述元数据信息保存至MongoDB非关系型数据库中;创建模块,用于在HDFS存储节点上创建新的数据块;存储模块,用于根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。可选地,所述获取模块具体用于:获取所述客户端的用户的元数据信息、文件存储大小以及偏移值,将所述元数据信息、所述文件存储大小以及偏移值保存至所述MongoDB非关系型数据库中。可选地,所述创建模块具体用于:根据各个HDFS存储节点的工作和使用信息,基于负载均衡原理,在所述HDFS存储节点上创建新的数据块。可选地,所述存储模块包括:发送单元,用于根据得到的HDFS存储节点的信息,向对应HDFS存储节点发出数据写请求,并向所述HDFS存储节点发送数据;备份单元,用于接收所述数据并存储到对应数据块,同时向其他存储节点进行备份;返回单元,用于当本地写以及备份成功后,所述HDFS存储节点将成功信息返回至所述客户端。可选地,还包括:分片模块,用于当集合的数据量较大时,采用自动分片的方式进行数据处理。本专利技术所提供的面向云存储的数据存储方法及装置,通过接收客户端发起的数据写请求,获取客户端的用户的元数据信息,并将该元数据信息保存至MongoDB非关系型数据库中;在HDFS存储节点上创建新的数据块;根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。本专利技术所提供的面向云存储的数据存储方法及装置中,控制流和数据流是分离的,这样一方面降低了 MongoDB元数据服务的负担,使得其处理能力更强,另一方面将数据读写的负担分担到各存储节点,使得系统的整体性能得到了提尚ο【附图说明】图1为本专利技术所提供的面向云存储的数据存储方法的一种【具体实施方式】的流程图;图2为本专利技术所提供的面向云存储的数据存储方法的另一种【具体实施方式】的流程图;图3为本专利技术所提供的面向云存储的数据存储装置的一种【具体实施方式】的结构框图。【具体实施方式】为了使本
的人员更好地理解本专利技术方案,下面结合附图和【具体实施方式】对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术所提供的面向云存储的数据存储方法的一种【具体实施方式】的流程图如图1所述,该方法包括:步骤S101:接收客户端发起的数据写请求;步骤S102:获取所述客户端的用户的元数据信息,并将所述元数据信息保存至MongoDB非关系型数据库中;作为一种【具体实施方式】,步骤S102可以为:获取所述客户端的用户的元数据信息、文件存储大小以及偏移值,将所述元数据信息、所述文件存储大小以及偏移值保存至所述MongoDB非关系型数据库中。步骤S103:在HDFS存储节点上创建新的数据块;步骤S104:根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。本专利技术所提供的面向云存储的数据存储方法,通过接收客户端发起的数据写请求,获取客户端的用户的元数据信息,并将该元数据信息保存至MongoDB非关系型数据库中;在册?5存储节点上创建新的数据块;根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。本专利技术所提供的面向云存储的数据存储方法及装置中,控制流和数据流是分离的,这样一方面降低了 MongoDB元数据服务的负担,使得其处理能力更强,另一方面将数据读写的负担分担到各存储节点,使得系统的整体性能得到了提高。具体地,本专利技术在原有HDFS架构的基础上,采用MongoDB存储每个用户数据的元数据信息,用HDFS存储实际的数据。在云存储系统中,当新用户成功注册后,在HDFS中为该用户建立一个专有的用户文件userlD.file,用户文件中存放该用户所有的数据,用户文件名与用户ID—一对应。用户文件中的所有数据的详细元数据信息则存储在MongoDB中,MongoDB中的数据结构记录了每个用户的所有数据在该用户文件中的偏移值(offset)和大小(length),具体定义为userid, meta。当用户需要在HDFS添加一个非结构化数据文件时,应用服务器获取该用户的的元数据信息,获知该用户的文件存储大小,以作为新添加文件的偏移值。新的文件元数据信息,连同该文件的偏移值和大小等信息作为一条记录写入MongoDB数据结构中。然后应用服务器获取HDFS系统上该用户文件的输出流,以追加的方本文档来自技高网
...

【技术保护点】
一种面向云存储的数据存储方法,其特征在于,包括:接收客户端发起的数据写请求;获取所述客户端的用户的元数据信息,并将所述元数据信息保存至MongoDB非关系型数据库中;在HDFS存储节点上创建新的数据块;根据得到的HDFS存储节点的信息,向对应HDFS存储节点发送数据,以进行存储。

【技术特征摘要】

【专利技术属性】
技术研发人员:魏坤
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1