一种支持多种存储方式的统一存储方法

文档序号:6623066阅读:397来源:国知局
一种支持多种存储方式的统一存储方法
【专利摘要】本发明公开了一种支持多种存储方式的统一存储方法,其具体实现过程为:设置数据库,该数据库包括以下四个表,容器表、元数据表、存储表、存储区域表;将数据库接入客户端,在客户端根据文件大小设定一个阈值,将文件分成N块,开启若干线程,将各个分块的文件并发上传;文件上传后,设置文件存储路径,该路径内置id,即其url为唯一;配置文件,确定文件的存储方式,配置存储容器的默认虚拟空间,将上述分块文件合并为一体并存入数据库中。该一种支持多种存储方式的统一存储方法与现有技术相比,适应不同规模、不同场景、不同数据量的数据资源的统一集中存储,维护成本较低,实用性强。
【专利说明】一种支持多种存储方式的统一存储方法

【技术领域】
[0001]本发明涉及数据存储【技术领域】,具体地说是一种实用性强、支持多种存储方式的统一存储方法。

【背景技术】
[0002]传统存储方式中,信息资源大都保存在应用服务器的硬盘上,也有一部分,保存在个人的电脑、移动硬盘或其他存储设备上。传统存储方式的数据可能存放在多个设备上,管理和维护这些数据都比较困难,存在数据唯一性难以保证、存储设备有容量限制,不好扩展等问题,在使用数据上,从多个设备上找到想要的数据也很困难,影响办公效率。综合而言,传统存储模式中的数据管理混乱、存储设备扩展困难,新型的云存储集群模式,部署比较复杂,维护成本高,对于数据量比较小的企事业单位显得大材小用。
[0003]云存储的出现可极大改善企业或组织在数据存储上存在的问题,云存储是在云计算上衍生出来的一个新概念,通过集群应用、网格技术或分布式文件系统等功能,将网络中的大量存储设备通过软件集合起来协同工作,共同对外提供存储服务,云存储是一个以数据存储和管理为核心的云计算系统。但是这种模式对于一些数据量较小、企业规模较小的用户显得就有些大材小用了。
[0004]针对以上问题,本发明提出了提供一种适应不同规模、不同场景、不同数据量的数据资源的统一集中存储方法。


【发明内容】

[0005]本发明的技术任务是针对以上不足之处,提供一种实用性强、支持多种存储方式的统一存储方法。
一种支持多种存储方式的统一存储方法,其具体实现过程为:
一、设置数据库,该数据库包括以下四个表,
容器表:存储数据资源,为来源不同的数据分配至少一个虚拟容器,该虚拟的容器中包括虚拟空间、使用空间以及访问权限;
元数据表:存储资源元数据信息,存储文件的基本信息,这里的基本信息包括创建者、文件名、文件大小;
存储表:存储文件的存储路径、文件唯一标识hash值;
存储区域表:该表指定文件的存储方式、存储地址、路径生成规则;
二、将数据库接入客户端,在客户端根据文件大小设定一个阈值,将文件分成N块,开启若干线程,将各个分块的文件并发上传;
三、文件上传后,设置文件存储路径,该路径内置id,即其url为唯一;
四、配置文件,确定文件的存储方式,配置存储容器的默认虚拟空间,将上述分块文件合并为一体并存入数据库中。
[0006]所述步骤二中的存储方式包括本地文件系统存储、网络文件系统存储、分布式文件系统存储。
[0007]所述步骤二中的客户端还设置有分块信息存储表,该分块信息存储表内存储文件的分块大小、已上传成功块的数量、剩余块的数量。
[0008]所述步骤三中的文件存储路径生成方式为:/{type}/{year}/{month}/{day}/{id}/ 或 /{type}/pic/{id}。
[0009]所述步骤四中分块文件合并后,数据库中的存储表根据文件内容的hash值判断文件是否已经存储过,并将未存储过的存储到该数据库中。
[0010]本发明的一种支持多种存储方式的统一存储方法,具有以下优点:
本发明的一种支持多种存储方式的统一存储方法针对不同规模的企事业单位、不同数据量的各种资源可以灵活选取存储方式,实现按照客户的不同需求,定制不同的存储方式;根据配置文件判断采用哪种存储模式,可根据企业规模、数据量的大小、系统运行周期灵活选择;随着数据量增加,可以灵活扩展存储设备以及可以灵活切换存储模式,前期数据不用移植;根据文件内容的hash值判断文件是否已经存储过,节省存储空间;解决传统存储模式数据存储混乱、设备扩展困难、数据移植困难的问题;支持随着数据量的不断增大,可以随时切换存储模式,随时扩展存储物理设备,而且前期数据不用移植;支持大文件的分片上传,提高存储速度;实用性强,适用范围广泛,易于推广。

【专利附图】

【附图说明】
[0011]附图1为本发明的实现示意图。

【具体实施方式】
[0012]下面结合附图和具体实施例对本发明作进一步说明。
[0013]云存储的出现,极大地改善了数据存储和利用方面的难题,存储方式有很多种,基于此,现提供一种支持多种存储方式的统一存储方法,本方法旨在提供一种适应不同规模、不同场景、不同数据量的数据资源的统一集中存储解决方案,使其既可适应海量数据的分布式集群应用,又可适应小数据量的本地存储应用。如附图1所示,该方法的具体实现过程为:
一、设置数据库,该数据库包括以下四个表,
doC_disk表,是数据资源存储的容器表,本表可以为来源不同的数据分配一个或者多个虚拟容器,容器中包括虚拟空间、使用空间、以及访问权限等,虚拟空间可以弹性扩展。
[0014]doc_info表是资源元数据信息存储表,存储了文件的基本信息,包括创建者、文件名、大小等等。
[0015]file_store表是存储表,存储了文件的存储路径、文件内容唯一标识hash值等等。
[0016]file_storearea表是文件存储区域表,该表是可配置的,主要是用来指定文件存储方式、存储地址、路径生成规则等;
二、将数据库接入客户端,在客户端根据文件大小设定一个阈值,将文件分成N块,开启若干线程,将各个分块的文件并发上传;
三、文件上传后,设置文件存储路径,该路径内置id,即其url为唯一;
四、配置文件,确定文件的存储方式,配置存储容器的默认虚拟空间,将上述分块文件合并为一体并存入数据库中。
[0017]所述步骤二中的存储方式包括本地文件系统、网络文件系统、分布式文件系统,在实际中,上述三种存储方式涉及的系统包括Hbase、MongDB,HDFS, GFS, GridFS, TFS等,当采用分布式文件系统时,步骤四中的配置根据文件大小判断是存hdfs,还是存hbase。
[0018]所述步骤二中的客户端还设置有file_upload_temp表,也就是文件分块信息存储表,该表中存储了文件分块大小,已上传了多少块、剩余多少块等等。
[0019]所述步骤三中的文件存储一般需要一个路径规则,也就是文件的存放路径规则,还有就是文件名的生成规则,至少保证整个url是唯一的,路径生成示例如下:
/{type}/{year}/{month}/{day}/{id}/。
[0020]上面的这些变量都是预先设定好的,可以根据自己的需求进行修改,当然也可以使用一些常量。比如/pic/Ud},其中Pic就是常量。
[0021 ] 所述步骤四中分块文件合并后,数据库中的存储表根据文件内容的hash值判断文件是否已经存储过,并将未存储过的存储到该数据库中。
[0022]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的一种支持多种存储方式的统一存储方法的权利要求书的且任何所属【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【权利要求】
1.一种支持多种存储方式的统一存储方法,其特征在于其具体实现过程为: 一、设置数据库,该数据库包括以下四个表, 容器表:存储数据资源,为来源不同的数据分配至少一个虚拟容器,该虚拟的容器中包括虚拟空间、使用空间以及访问权限; 元数据表:存储资源元数据信息,存储文件的基本信息,这里的基本信息包括创建者、文件名、文件大小; 存储表:存储文件的存储路径、文件唯一标识hash值; 存储区域表:该表指定文件的存储方式、存储地址、路径生成规则; 二、将数据库接入客户端,在客户端根据文件大小设定一个阈值,将文件分成N块,开启若干线程,将各个分块的文件并发上传; 三、文件上传后,设置文件存储路径,该路径内置id,即其url为唯一; 四、配置文件,确定文件的存储方式,配置存储容器的默认虚拟空间,将上述分块文件合并为一体并存入数据库中。
2.根据权利要求1所述的一种支持多种存储方式的统一存储方法,其特征在于:所述步骤二中的存储方式包括本地文件系统存储、网络文件系统存储、分布式文件系统存储。
3.根据权利要求1或2所述的一种支持多种存储方式的统一存储方法,其特征在于:所述步骤二中的客户端还设置有分块信息存储表,该分块信息存储表内存储文件的分块大小、已上传成功块的数量、剩余块的数量。
4.根据权利要求1所述的一种支持多种存储方式的统一存储方法,其特征在于:所述步骤三中的文件存储路径生成方式为:/{type}/{year}/{ month}/{day}/{id}/或/{type}/pic/ {id}。
5.根据权利要求1所述的一种支持多种存储方式的统一存储方法,其特征在于:所述步骤四中分块文件合并后,数据库中的存储表根据文件内容的hash值判断文件是否已经存储过,并将未存储过的存储到该数据库中。
【文档编号】G06F17/30GK104182487SQ201410391312
【公开日】2014年12月3日 申请日期:2014年8月11日 优先权日:2014年8月11日
【发明者】寇立强, 高传集 申请人:浪潮软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1