CN102314480B - 一种针对海量数据的分布式数据存储方法 - Google Patents
一种针对海量数据的分布式数据存储方法 Download PDFInfo
- Publication number
- CN102314480B CN102314480B CN 201110186644 CN201110186644A CN102314480B CN 102314480 B CN102314480 B CN 102314480B CN 201110186644 CN201110186644 CN 201110186644 CN 201110186644 A CN201110186644 A CN 201110186644A CN 102314480 B CN102314480 B CN 102314480B
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- storage
- storage area
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种针对海量数据的分布式数据存储方法,其特征在于,步骤为:分别建立存储代理***及元数据目录***,存储数据时,用户输入需要存储的具体数据内容及希望使用的存储区域的存储区域标识符,计算机***将数据内容存入该存储区域后,产生一个唯一定位该数据的URI并注册到元数据目录表中;查询数据时,元数据目录***通过用户提供的查询字找到符合要求的元数据内容及该元数据内容对应的URI,用户根据该URI找到相应的具体数据内容。本发明采用一种以元数据管理为核心的分布式存储方案,能够为许多业务领域提供一种有效的、低成本的存储解决方案。
Description
技术领域
本发明涉及一种数据存储的方法。
背景技术
随着信息化的深入开展,各行各业的业务***所产生的数据越来越多,传统的集中式存储方案显得越来越力不从心了。集中式存储是指为待存储的数据制定一个特定的存储区域,将所有都存储在该区域中。上述集中式存储方案的主要缺点是:对现有计算机***的利用率低、成本高、存在性能瓶颈、存在单点故障等。
发明内容
本发明的目的是提供一种能最大限度利用现有计算机资源且成本较低、不易发生单点故障的数据存储方法。
为了达到上述目的,本发明的技术方案是提供了一种针对海量数据的分布式数据存储方法,其特征在于,步骤为:
步骤1、查找并得到某一计算机***的所有存储区域的起始物理地址、端口信息以及存储区域的,为每一个存储区域分配唯一的存储区域标识符,根据上述信息建立存储区域映射表;
步骤2、建立元数据目录***,为元数据目录***建立元数据目录表,该表包括主关键字、元数据内容及数据的统一资源标识符(以下简称为URI),将计算机***内每个存储区域内现有的数据通过元数据目录***注册到元数据目录表内;
步骤3、存储数据时,用户输入需要存储的具体数据内容及希望使用的存储区域的存储区域标识符,计算机***将数据内容存入该存储区域后,产生一个唯一定位该数据的URI,将生成的URI与用户输入的具体数据内容所对应的元数据内容合并后通过元数据目录***注册到元数据目录表中;
查询数据时,元数据目录***通过用户提供的查询字找到符合要求的元数据内容及该元数据内容对应的URI,用户根据该URI找到相应的具体数据内容。
本发明采用一种以元数据管理为核心的分布式存储方案,能够为许多业务领域提供一种有效的、低成本的存储解决方案。
具体实施方式
以下结合实施例来具体说明本发明。
本发明提供了一种针对海量数据的分布式数据存储方法,步骤为:
步骤1、构建存储代理***,存储代理***的主要任务是建立和维护一张存储区域映射表,该表包括以下内容:
存储区域标识符:该标识符是该存储代理***中的唯一标识符,每一个存储区域唯一对应一个存储区域标识符。
存储区域地址:存储区域的物理地址。
存储区域端口:存储区域的端口信息。
存储区域类型:存储区域的类型,如sqlserver、oracle、Berkley DB、Cassandra等等。
在***初始化的时候,存储代理***查找并得到某一计算机***的所有存储区域的起始物理地址、端口信息以及存储区域的,为每一个存储区域分配唯一的存储区域标识符,依据上述信息建立存储区域映射表;
存储代理***有两个对外接口:
数据提交接口:该接口接受2个参数,一个是存储区域标识符,一个是具体的数据内容。该接口负责将用户提交的数据存储到指定存储区域中。提交成功后,产生一个唯一定位该数据的URI,然后该接口会调用下面步骤中提到的元数据目录***的注册接口将该URI信息与该数据元数据信息合并,然后进行注册。
URI——即通用资源标识符,是语义和语法由具体协议规定的类URL字符串的规范文法。
数据提取接口:该接口接收1个参数,该参数是一个URI信息,它准确地定位了该数据在整个分布式存储区域中的位置。该接口负责按照用户提供URI信息到具体的存储区域中提取数据并返回给用户。
步骤2、建立元数据目录***,元数据目录***是一个轻量级的***,为了使***具有更强的适应性,本发明采用XML DB技术来存储元数据信息。这样,当业务需求发生变化时,譬如用户关注的元数据内容发生改变时,目录***可以自动适应,而无需修改表结构。但是数据的URI信息没有必要存放在XML字段,仍然是存放在传统的关系字段中。目前Oralce和DB2的XML DB技术日臻成熟,能够支持关系与XML混合的表结构。因此,本发明为目录***建立如下表结构:
字段名称 | 字段类型 | 字段说明 |
ID | String Type | 主键 |
Metadata | XML Type | 元数据内容 |
URI | String Type | 数据的统一资源标识符 |
在初始化时,将计算机***内每个存储区域内现有的数据通过元数据目录***注册到元数据目录表内;
元数据目录***提供2个接口:
注册接口:该接口负责存储代理***提交的元数据和URI信息注册到元数据目录中。
查询接口:该接口依据用户提供的元数据内容查询符合要求的元数据信息和URI信息,并返回给用户;
步骤3、存储数据时,用户输入需要存储的具体数据内容及希望使用的存储区域的存储区域标识符,计算机***将数据内容存入该存储区域后,产生一个唯一定位该数据的URI信息,将生成的URI信息与用户输入的具体数据内容所对应的元数据内容合并后通过元数据目录***注册到元数据目录表中;
查询数据时,元数据目录***通过用户提供的查询字找到符合要求的元数据内容及该元数据内容对应的URI,用户根据该URI找到相应的具体数据内容。
本发明提供的方法最大限度的利用***中已有的软硬件设施,将数据内容的分散存储在各个***的存储区域。这个存储区域可能是关系数据库也可能是BerkleyDB等非关系数据库,也可能只是文件***。我们在各类存储区域之上研制一套存储代理***,通过抽象,消除各种存储类型的差异,改存储代理***对外提供统一的存储和提取接口。然后,我们在通过提取各类数据的元数据信息,将其注册在一个轻量级存储目录中。该元数据信息不但包括其所对应数据的概要信息,也还包含该数据的存储位置信息。当我们需要调取数据时,将以该存储位置信息为参数调用存储代理***,存储代理***即可返回该数据内容。
Claims (1)
1.一种针对海量数据的分布式数据存储方法,其特征在于,步骤为:
步骤1、查找并得到某一计算机***的所有存储区域的起始物理地址、端口信息以及为每一个存储区域分配唯一的存储区域标识符,根据上述查找并得到的信息建立存储区域映射表;
步骤2、建立元数据目录***,为元数据目录***建立元数据目录表,该元数据目录表包括主关键字、元数据内容及数据的统一资源标识符,将计算机***内每个存储区域内现有的数据通过元数据目录***注册到元数据目录表内;
步骤3、存储数据时,用户输入需要存储的具体数据内容及希望使用的存储区域的存储区域标识符,计算机***将数据内容存入该存储区域后,产生一个唯一定位该数据的统一资源标识符,将生成的统一资源标识符与用户输入的具体数据内容所对应的元数据内容合并后通过元数据目录***注册到元数据目录表中;
查询数据时,元数据目录***通过用户提供的查询字找到符合要求的元数据内容及该元数据内容对应的统一资源标识符,用户根据该统一资源标识符找到相应的具体数据内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110186644 CN102314480B (zh) | 2011-07-05 | 2011-07-05 | 一种针对海量数据的分布式数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110186644 CN102314480B (zh) | 2011-07-05 | 2011-07-05 | 一种针对海量数据的分布式数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102314480A CN102314480A (zh) | 2012-01-11 |
CN102314480B true CN102314480B (zh) | 2013-04-10 |
Family
ID=45427649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110186644 Active CN102314480B (zh) | 2011-07-05 | 2011-07-05 | 一种针对海量数据的分布式数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102314480B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577440B (zh) * | 2012-07-27 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN103001945B (zh) * | 2012-10-23 | 2015-04-15 | 中国科学院信息工程研究所 | 一种多元化资源标识安全访问方法 |
CN103902632B (zh) * | 2012-12-31 | 2018-01-02 | 华为技术有限公司 | 键值存储***中构建文件***的方法、装置及电子设备 |
CN104239222B (zh) * | 2013-06-20 | 2018-01-23 | 华为技术有限公司 | 一种内存访问方法、设备和*** |
CN104765749B (zh) * | 2014-01-07 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 一种数据存储方法及装置 |
CN106933892B (zh) * | 2015-12-31 | 2019-05-31 | 北京国双科技有限公司 | 描述信息的存储方法及装置 |
CN109165136B (zh) * | 2018-07-25 | 2021-09-28 | 平安科技(深圳)有限公司 | 终端运行数据的监控方法、终端设备及介质 |
CN109597834B (zh) * | 2018-10-22 | 2024-05-07 | 平安科技(深圳)有限公司 | 基于redis的海量数据存储方法、装置、介质和设备 |
CN111611418A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 数据存储方法及数据查询方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006012418A2 (en) * | 2004-07-21 | 2006-02-02 | Beach Unlimited Llc | Distributed storage architecture based on block map caching and vfs stackable file system modules |
CN101022397A (zh) * | 2007-03-15 | 2007-08-22 | 上海交通大学 | 分布式交通信息存储文件*** |
CN101187930A (zh) * | 2007-12-04 | 2008-05-28 | 浙江大学 | 分布式文件***虚拟目录及命名空间的实现方法 |
CN101794261A (zh) * | 2009-11-24 | 2010-08-04 | 深圳市硅格半导体有限公司 | 映射表数据恢复方法及装置 |
-
2011
- 2011-07-05 CN CN 201110186644 patent/CN102314480B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006012418A2 (en) * | 2004-07-21 | 2006-02-02 | Beach Unlimited Llc | Distributed storage architecture based on block map caching and vfs stackable file system modules |
CN101022397A (zh) * | 2007-03-15 | 2007-08-22 | 上海交通大学 | 分布式交通信息存储文件*** |
CN101187930A (zh) * | 2007-12-04 | 2008-05-28 | 浙江大学 | 分布式文件***虚拟目录及命名空间的实现方法 |
CN101794261A (zh) * | 2009-11-24 | 2010-08-04 | 深圳市硅格半导体有限公司 | 映射表数据恢复方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102314480A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102314480B (zh) | 一种针对海量数据的分布式数据存储方法 | |
CN109299102B (zh) | 一种基于Elastcisearch的HBase二级索引***及方法 | |
EP3285178B1 (en) | Data query method in crossing-partition database, and crossing-partition query device | |
US10635675B2 (en) | Supporting pluggable databases with heterogeneous database character sets in a container database | |
CN106227800B (zh) | 一种高度关联大数据的存储方法及管理*** | |
US10346399B2 (en) | Searching relational and graph databases | |
CN103064875B (zh) | 一种服务化空间数据分布式查询方法 | |
CN103729447A (zh) | 一种数据库快速检索的方法 | |
CN107463632A (zh) | 一种分布式NewSQL数据库***和数据查询方法 | |
US20130117290A1 (en) | Platform for software as a service and method for provisioning service for supporting multi-tenants using the platform | |
US20110010379A1 (en) | Database system with query interception and redirection | |
CN104102710A (zh) | 一种海量数据查询方法 | |
CN103049521B (zh) | 可实现多属性复合条件查询的虚拟表索引***及方法 | |
CN104160381A (zh) | 多租户环境中租户特定数据集的管理 | |
JP2006244499A5 (zh) | ||
CN102867070A (zh) | 更新key-value分布式存储***缓存的方法 | |
US20130018918A1 (en) | Repetitive Query Recognition and Processing | |
CN105335479A (zh) | 一种基于sql的文本数据统计实现方法 | |
CN102253980A (zh) | 数据处理方法及数据处理*** | |
CN103778251A (zh) | 面向大规模rdf图数据的sparql并行查询方法 | |
CN102999607A (zh) | 一种数据存储方法、数据访问方法以及相关装置 | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
CN103336782A (zh) | 一种关系型分布式数据库*** | |
CN105335482B (zh) | 面向海量分布式数据库的批量***方法 | |
US9053207B2 (en) | Adaptive query expression builder for an on-demand data service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |