CN102184260A - 一种云计算环境下的海量数据存取方法 - Google Patents

一种云计算环境下的海量数据存取方法 Download PDF

Info

Publication number
CN102184260A
CN102184260A CN2011101532717A CN201110153271A CN102184260A CN 102184260 A CN102184260 A CN 102184260A CN 2011101532717 A CN2011101532717 A CN 2011101532717A CN 201110153271 A CN201110153271 A CN 201110153271A CN 102184260 A CN102184260 A CN 102184260A
Authority
CN
China
Prior art keywords
data
data block
block
disk partition
piece
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.)
Granted
Application number
CN2011101532717A
Other languages
English (en)
Other versions
CN102184260B (zh
Inventor
廖湘科
付松龄
黄辰林
李姗姗
何连跃
吴庆波
戴华东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN 201110153271 priority Critical patent/CN102184260B/zh
Publication of CN102184260A publication Critical patent/CN102184260A/zh
Application granted granted Critical
Publication of CN102184260B publication Critical patent/CN102184260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云计算环境下的海量数据存取方法,包括步骤:格式化磁盘分区并在磁盘分区中设置一随用户操作实时更新的分区元数据信息;将经应用层中的数据管理系统分块处理后的数据块,逐块依次写入磁盘分区中并顺序编索引号,用户通过输入所述索引号从磁盘分区中读取对应的数据块。本发明具有步骤极度简化,能提高云计算环境下的数据存取效率、减少系统内核资源的消耗和提高系统性能等优点。

Description

一种云计算环境下的海量数据存取方法
技术领域
本发明涉及计算机领域的数据管理方法,特指一种云计算环境下的海量数据存取方法。
背景技术
云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使各种应用程序能够根据需要获取计算力、存储空间和信息服务;对于数据密集型服务而言,海量数据存储于云中,在用户需要时按需提取部分数据,并将计算结果返回给用户。其将位于网络中的各种资源整合在一起,为用户提供服务,用户按需取用、按用付费,就像水和电一样方便、快捷。随着信息技术的高速发展,云计算已经成为一种趋势。
如图1所示,现有的用于云计算环境数据管理方法,一般是运行于应用层,采用应用层的数据管理系统,所有针对应用数据特点做的优化全部在应用层完成,在底层仍然采用操作系统已有的传统文件系统来存取数据。如:Google的数据管理系统google文件系统(google File System GFS)。Google首先利用网络爬虫将网络上的海量网页信息收集到自己的云中,然后在用户搜索时,将包含用户指定关键字的网页按一定顺序返回给用户。这些网页信息作为一种资源在相当长的时间里都会保存下来,具有“一旦写入不再更改”的特点。GFS将数据按块(称为Chunk,每块大小64M)存储,每个数据块至少在3个数据服务器上冗余备份,每个数据块副本对应一个文件系统中的64M文件,通过一个元数据服务器对这些数据块文件进行管理。GFS不修改操作系统已有的传统文件系统,运行于应用层。
传统文件系统以文件的方式为用户提供数据存取的功能。要使用传统文件系统,首先需要用磁盘分区工具将磁盘进行分区,然后用传统文件系统格式化工具将分区格式化为特定的格式。用户就可以在该分区中创建目录,目录里再创建子目录,形成一个层次式的数据存储目录结构。用户可以在任意目录中创建数据文件,并将数据写入文件中。读取该数据时,首先通过分区根目录逐级向下遍历该数据文件的每一级父目录,直到找到该文件为止,然后打开文件读取其中的数据。其具体步骤如下:
1、格式化磁盘分区:格式化磁盘分区的主要工作是在磁盘分区头部划分一个区域,存储该磁盘分区的一些元数据信息。
为了支持文件系统所提供的层次式数据存储功能,元数据信息通常比较庞杂,以FreeBSD操作系统所采用的UFS文件系统为例,其分区元数据包括超级块信息、柱面组信息、inode节点表等。超级块存储有关文件系统参数的大量信息,包括柱面组大小,数据块大小,碎片的大小,还包括文件系统最后挂载时间等,通常位于文件系统起始位置的64KB处。柱面组信息主要包括该柱面组的目录数,空闲块数,空闲inode节点数,空闲碎片数等。每一个柱面组都拥有一个inode节点表,它用于存放本柱面组内的inode节点。每一个inode节点存储一个文件的元数据信息。每一个柱面组的inode节点表都位于柱面组的固定位置,一般为第32个碎片处,它的大小由inode节点大小和为柱面组分配的inode节点数决定。
2、打开文件:其主要工作是根据用户所请求的文件路径查询并取出目标文件的inode节点信息,并根据访问类型的不同,为文件加不同的锁,以维护数据一致性。在层次式的数据存储结构中,可以从任意目录的inode节点信息中检索到该目录中的所有文件和子目录的inode节点信息。下面以打开/a/b/c.txt文件为例,说明查询目标文件c.txt的inode节点信息的流程:
在磁盘分区的固定位置读取根目录的inode节点信息;
(1)读取根目录下的所有目录,从中匹配目标文件路径中位于根目录下的目录名,即a;
(2)读取a对应的inode节点信息,从中匹配目标文件路径中位于a下的目录名,即b;
(3)读取b对应的inode节点信息,从中匹配目标文件路径中位于b下的文件名,即c.txt;
(4)读取目标文件(即c.txt)的inode节点信息;
(5)为目标文件(即c.txt)加锁。
3、写入文件:该操作在请求写入数据的起始位置开始写入用户数据,并更新相关的文件元数据和文件系统元数据。
4、读取文件:该操作在请求读取数据的起始位置开始读取所需要长度的数据,并更新相关的文件元数据和文件系统元数据。
5、删除文件:该操作在磁盘中删除文件,删除相关的文件元数据,并更新文件系统元数据。
6、关闭文件:该操作执行解锁、清内存等操作。
由以上步骤可知,传统文件系统中的层次式目录结构为用户提供了灵活便利的数据存取方式,但其并没有针对云计算环境下的“一旦写入不再更改”的数据做专门的优化,其中的文件寻址、文件打开和关闭、文件的读写锁机制等功能都对系统性能有很大的影响,因而效率不高。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的技术问题,本发明提供一种极度简化、能提高云计算环境下的数据存取效率、减少系统内核资源的消耗和提高系统性能的云计算环境下的海量数据存取方法。
为解决上述技术问题,本发明采用以下技术方案:
一种云计算环境下的海量数据存取方法,其特征在于包括以下步骤:
1)格式化磁盘分区并在磁盘分区中设置一随用户操作实时更新的分区元数据信息;
2)将经应用层中的数据管理系统分块处理后的数据块,逐块依次写入磁盘分区中并顺序编索引号,用户通过输入所述索引号从磁盘分区中读取对应的数据块。
作为本发明的方法的进一步改进:
上述的方法中,写入数据块时,在数据块后存储一相应的用于检查数据块正确性的校验数据块,所述校验数据块根据所述数据块的内容计算得到且与数据块一一对应。
上述的方法中,所述分区元数据信息存储在磁盘分区中的保留数据区域内,所述保留数据区域为两块,一块位于所述磁盘分区的头部,另一块位于所述磁盘分区的尾部。
上述的方法中,所述步骤1),具体包括以下步骤:
1.1)确定分区元数据信息;
1.2)将分区元数据信息写入磁盘分区头部保留数据区域中;
1.3)将分区元数据信息写入磁盘分区尾部保留数据区域中,作为冗余备份。
上述的方法中,所述写入数据块,具体包括以下步骤:
2.1)读取分区元数据信息,并校验其完整性;
2.2)判断磁盘分区是否已满,若满则返回“磁盘已满”的错误,否则继续;
2.3)计算数据块的校验数据块;
2.4)将数据块写入磁盘分区中,并将校验数据块写于数据块后;
2.5)更新分区元数据信息;
2.6)将新的分区元数据信息写入磁盘分区中;
2.7)根据数据块的写入位置返回相应的索引号。
上述的方法中,所述计算数据块的校验数据块,具体包括以下步骤:将所述数据块分为A个新的校验块,定义一校验变量,并将所述A个新的校验块中的每个字节依次与所述校验变量做异或运算,每个校验块算出1个字节的校验值,共计算出A个字节的校验值,即为数据块的校验数据块,所述A为校验数据块大小。
上述的方法中,所述读取数据块,具体包括以下步骤:
3.1)从磁盘分区中读取分区元数据信息,并校验其完整性;
3.2)导入用户输入的索引号,并检查其合法性;
3.3)若所述索引号合法,则根据索引号计算数据块在磁盘分区中的位置;
3.4)在计算得到的位置处读取数据块;
3.5)在该数据块后读取校验数据块;
3.6)根据校验数据块检查数据块的正确性;
3.7)若数据块正确,则将读取的数据块返回给用户,否则返回错误。
上述的方法中,所述根据校验数据块检查数据块的正确性,具体包括以下步骤:
3.6.1)根据读取的数据块,重新计算一新校验数据块;
3.6.2)将所述新校验数据块与从磁盘分区中读取的校验数据块逐字节进行比较,若两者相同,则判定数据块正确,否则判定数据块不正确。
上述的方法中,所述分区元数据信息包括:元数据校验值、分区元数据大小、数据块大小、校验数据块大小、数据块总量、已使用数据块数量和新数据块起始位置。
与现有技术相比,本发明的优点在于:
1、本发明的云计算环境下的海量数据存取方法,针对云计算环境的“一旦写入不再更改”的海量数据特点,直接对经应用层数据管理程序分块后的数据块进行处理,取消了传统文件系统中的层次式数据存储结构,同时取消了文件锁等功能,通过索引号直接读写磁盘分区,仅提供最基本的数据存取功能,极度简化了数据存取步骤,且减少了内核资源的消耗,可将性能提高到最优。
2、本发明的云计算环境下的海量数据存取方法,为每个数据块设置一校验数据块,以检查数据块是否遭到破坏,可保证数据的正确性。
3、本发明的云计算环境下的海量数据存取方法,格式化磁盘分区时,分区元数据信息中仅保留最基本的文件系统元数据信息,进一步减少和优化了数据存取的步骤;将分区元数据信息存于分区头部和尾部,互为备份,提高了可靠性。
附图说明
图1是现有技术的数据存取方法的模块关系示意图;
图2是本发明的应用实例中的模块组成关系示意图;
图3是本发明中的总体流程示意图;
图4是本发明的格式化磁盘分区的流程示意图;
图5是本发明的写入数据块流程示意图;
图6是本发明的读取数据块流程示意图;
图7为具体实施例中的分区元数据信息的物理存储格式示意图;
图8为具体实施例中的分区元数据信息在内存中的数据结构示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明作进一步详细说明。
如图2所示,用本发明的云计算环境下的海量数据存取方法,应用于Linux操作系统中,可实现一可配置块式文件系统(Configurable Block File System  以下简称CBFS)。该可配置块式文件系统与操作系统内核中其它相关模块的关系如图2所示,其直接通过磁盘驱动读写磁盘数据,不采用虚拟文件系统或传统的文件系统,步骤较传统的数据存取方法更简单,效率较高。
如图3、图4、图5、图6所示,本发明的云计算环境下的海量数据存取方法,包括以下步骤:
1、格式化磁盘分区:
1.1 确定分区元数据信息;
1.1.1 系统管理员指定待格式化的磁盘分区和支持的数据块大小。
1.1.2 判断数据块大小是否介于4K至1G之间并且是4K的倍数,如果不是,则返回错误,否则继续下一步。
1.1.3 判断磁盘分区大小是否大于(DataBlockSize + 2 * MetaDataSize),如果不是则返回错误,否则继续下一步。
1.1.4 定义一个全局指针变量gpCBFSPartionHeadCache,在内存中创建分区元数据信息,其在内存中的数据结构如图8所示,其物理存储格式如图7所示,并将其地址赋给全局指针变量gpCBFSPartionHeadCache。分区元数据信息的大小为4K,分区元数据信息的前192字节包括12个16字节的字段,依次为:
元数据校验值MetaDataVerifyValue,字段值的计算公式如下:
MetaDataVerifyValue =Version^CreateTime  ^PartitionSize  ^MetaDataSize  ^DataBlockSize  ^VerifyDataBlockSize  ^VerifyBlockSize  ^TotalDataBlock  ^DataBlockUsed  ^NextNewPosition  ^LastMTime;
软件版本号Version,字段值为1.0;
分区创建时间CreateTime,字段值为当前时间;
分区大小PartitionSize,字段值为当前磁盘分区大小;
分区元数据大小MetaDataSize,字段值为4K;
数据块大小DataBlockSize,字段值为管理员指定的数据块大小;
校验数据块大小VerifyDataBlockSize,字段值为1K;
校验块大小VerifyBlockSize,字段值的计算公式为:
VerifyBlockSize = DataBlockSize/VerifyDataBlockSize;
数据块总量TotalDataBlock,字段值的计算公式为:
TotalDataBlock = (PartitionSize – 2 * MetaDataSize) / DataBlockSize;
已使用数据块数量DataBlockUsed,字段值为0;
新数据块起始位置NextNewPosition,字段值为0;
最新分区修改时间LastMTime,字段值为当前时间;
分区元数据信息的第192字节以后的区域为保留字段。
1.2将分区元数据信息写入磁盘分区头部的保留数据区域(即磁盘分区的第一个4K空间)中:
将gpCBFS PartionHeadCache内的地址所指向的数据结构中的各字段值依序写入磁盘分区头部的第0到191字节中,并用0将磁盘分区头部的保留字段填满。
1.3将分区元数据信息写入磁盘分区尾部的保留数据区域(即磁盘分区的最后一个4K空间)中,作为冗余备份:
将gpCBFSPartionHeadCache内的地址所指向的数据结构中的各字段值依序写入磁盘分区尾部的第0到191字节中,并用0将磁盘分区尾部的保留字段填满。
2、存取数据——写入数据块,将经应用层中的数据管理系统分块处理后的数据块,逐块依次写入磁盘分区中并顺序编索引号,具体包括以下步骤:
2.1 读取分区元数据信息,并校验其完整性:
如果gpCBFSPartionHeadCache内存储的地址不为空(分区元数据信息已经缓存到内存,不用再到磁盘读取),则跳转到2.2步骤;否则从磁盘分区头部读取磁盘分区元数据信息到内存,具体包括以下步骤:
2.1.1在内存中创建一个如图8的数据结构,作为全局元数据信息缓存空间,并将其地址赋给全局指针变量gpCBFSPartionHeadCache。
2.1.2读取磁盘分区头部保留区域内的前192个字节,将这192个字节的内容作为全局指针变量gpCBFSPartionHeadCache内的地址所指向的数据结构中的各字段值,即将第一个16字节作为gpCBFSPartionHeadCache内的地址所指向的数据结构中的第一个字段的值,第二个16字节作为gpCBFSPartionHeadCache内的地址所指向的数据结构中的第一个字段的值,依此类推。
2.1.3在内存中分配一个16字节的内存空间作为元数据校验值的存储空间。
2.1.4 按照元数据校验值MetaDataVerifyValue的计算公式,以2.1.2步骤所读取的分区元数据信息作为输入,重新计算元数据校验值并存入2.1.3步骤分配的元数据校验值的存储空间中。
2.1.5 将2.1.4步骤计算出来元数据校验值与2.1.2步骤所读取的分区元数据信息中的元数据校验值做比较,如果相同,则返回正确,如果不同,则继续下一步。
2.1.6定义一个指针变量pCBFSPartitionTail,在内存中建立如图8所示的数据结构,作为存储在磁盘分区尾部的元数据校验值的存储空间,并将该数据结构的地址赋给指针变量pCBFSPartitionTail。
2.1.7 读取磁盘分区尾部的前192个字节,将这192个字节的内容作为2.1.6步骤分配的指针变量pCBFSPartitionTail内的地址所指向的数据结构中的各字段值:即将第一个16字节作为指针变量pCBFSPartitionTail内的地址所指向的数据结构中的第一个字段的值,第二个16字节作为指针变量pCBFSPartitionTail内的地址所指向的数据结构中的第二个字段的值,依此类推。
2.1.8 按元数据校验值MetaDataVerifyValue的计算公式,以2.1.7步骤所读取的分区元数据信息作为输入,重新计算元数据校验值并存入2.1.3步骤分配的元数据校验值的存储空间。
2.1.9 将2.1.8步骤计算出来的元数据校验值与2.1.7步骤所读取的分区元数据信息中的元数据校验值做比较,如果相同,则继续下一步,否则返回错误。
2.1.10用2.1.7步骤读取的分区元数据信息存入2.1.1步骤分配的全局元数据信息缓存空间,并写入磁盘分区头部的元数据存储区域。
2.2 判断磁盘分区是否已满,具体方法为:
判断gpCBFSPartionHeadCache内地址所指向的数据结构中的NextNewPosition的值是否为16个0xFF,如果是,则判定磁盘分区已满,返回“磁盘已满”的错误,否则继续;
2.3 计算数据块的校验数据块,具体包括以下步骤:
2.3.1 将数据块分为A个新的校验块,A为校验数据块大小VerifyDataBlockSize。
2.3.2 定义一校验变量VerifyByte,为校验变量VerifyByte赋初值为0x00。
2.3.3 将A个新的校验块中的每个字节依次与校验变量VerifyByte做异或运算,每个校验块算出1个字节的校验值,共计算出A个字节的校验值,即为数据块的校验数据块。
2.4将数据块写入磁盘分区中,并将校验数据块写于数据块后,具体步骤为:
2.4.1 将数据块写入磁盘分区中gpCBFSPartionHeadCache内地址所指向的数据结构中的NextNewPosition位置处。
2.4.2将校验数据块存入磁盘分区中紧挨数据块的后面位置,即(NextNewPosition + DataBlockSize )处。
2.5更新分区元数据信息,包括以下步骤:
2.5.1将分区元数据信息中的DataBlockUsed的值加1。
2.5.2更新分区元数据信息中的“新数据块的起始位置”,具体方法为:
2.5.2.1如果分区元数据信息中的DataBlockUsed的值等于TotalDataBlock的值,则将NextNewPosition中的每一个字节设为0xFF表示磁盘分区已满,返回正确;否则继续下一步。
2.5.2.2计算出紧挨校验数据块的第一个未使用字节的位置作为新数据块的起始位置,计算公式为:
NextNewPosition = NextNewPosition + DataBlockSize + VerifyDataBlockSize
2.5.3将分区元数据信息中的“最新分区修改时间”更新为当前时间。
2.5.4以最新分区元数据信息作为输入,按照分区元数据校验值计算方法重新计算分区元数据校验值。
2.6将新的分区元数据信息写入磁盘分区中,具体包括以下步骤:
2.6.1将分区元数据信息中的“元数据校验值”、“已使用数据块数量”、“新数据块起始位置”和“最新分区修改时间”的值分别按顺序写入磁盘分区头部的保留数据区域中的第0到15字节、第144到159字节、第160到175字节和第179到191字节中(即为分区元数据信息的第1、第10、第11和第12个字段)。
2.6.2将分区元数据信息中的“元数据校验值”、“已使用数据块数量”、“新数据块起始位置”和“最新分区修改时间”的值分别按顺序写入磁盘分区尾部的保留数据区域中的第0到15字节、第144到159字节、第160到175字节和第179到191字节中(即为分区元数据信息的第1、第10、第11和第12个字段)。
2.7 根据数据块的写入位置返回相应的索引号给用户,具体步骤为:
将该已使用数据块数量DataBlockUsed的值作为数据块索引号返回给用户。
3、存取数据——读取数据块:根据用户输入的索引号,从磁盘分区中读取数据块并将数据块内容返回给用户,具体包括以下步骤:
3.1读取分区元数据信息,并校验其完整性,详细步骤与2.1步骤相同。
3.2 导入用户输入的索引号num,并检查其合法性,具体方法为:
3.2.1如果索引号num大于0,则继续,否则返回错误。
3.2.2 比较索引号num与DataBlockUsed的值。如果num小于或者等于DataBlockUsed,则判定索引号num合法,继续下一步;否则判定索引号num不合法,返回错误。
3.3根据索引号计算数据块在磁盘分区中的位置(ReadPosition),计算公式为:
ReadPosition = MetaDataSize + (Num – 1) * (DataBlockSize + VerifyDataBlockSize)
3.4 在计算得到的位置处读取数据块,即:
从3.3步骤计算的结果ReadPosition位置处读取DataBlockSize字节的数据作为用户请求的数据块到内存。
3.5 并在该数据块后读取校验数据块,即:
从(ReadPosition+DataBlockSize)位置处读取VerifyDataBlockSize字节的数据作为数据块的校验数据块到内存。
3.6 根据校验数据块检查数据块的正确性;具体包括以下步骤:
3.6.1 根据读取的数据块,重新计算一新校验数据块(步骤与2.3步骤相同);
3.6.2 将新校验数据块与从磁盘分区中读取的校验数据块逐字节进行比较,若两者每一个字节都相同,则判定数据块正确,否则判定数据块不正确。
3.7)若数据块正确,则将读取的数据块返回给用户,否则返回错误。
采用上述步骤,取消了传统文件系统中所有不必要的功能,对用户仅提供两个接口:写入数据块和读取数据块,仅提供最基本的数据存取功能,用户直接读写磁盘分区,这种极度简化的设计使本发明在性能上做到了最优,能提高云计算环境下的数据存取效率、提高系统性能。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (9)

1. 一种云计算环境下的海量数据存取方法,其特征在于包括以下步骤:
1)格式化磁盘分区并在磁盘分区中设置一随用户操作实时更新的分区元数据信息;
2)将经应用层中的数据管理系统分块处理后的数据块,逐块依次写入磁盘分区中并顺序编索引号,用户通过输入所述索引号从磁盘分区中读取对应的数据块。
2. 根据权利要求1所述的云计算环境下的海量数据存取方法,其特征在于,写入数据块时,在数据块后存储一相应的用于检查数据块正确性的校验数据块,所述校验数据块根据所述数据块的内容计算得到且与数据块一一对应。
3. 根据权利要求2所述的云计算环境下的海量数据存取方法,其特征在于,所述分区元数据信息存储在磁盘分区中的保留数据区域内,所述保留数据区域为两块,一块位于所述磁盘分区的头部,另一块位于所述磁盘分区的尾部。
4. 根据权利要求3所述的云计算环境下的数据存取方法,其特征在于,所述步骤1),具体包括以下步骤:
1.1)确定分区元数据信息;
1.2)将分区元数据信息写入磁盘分区头部保留数据区域中;
1.3)将分区元数据信息写入磁盘分区尾部保留数据区域中,作为冗余备份。
5. 根据权利要求3所述的云计算环境下的海量数据存取方法,其特征在于,所述写入数据块,具体包括以下步骤:
2.1)读取分区元数据信息,并校验其完整性;
2.2)判断磁盘分区是否已满,若满则返回“磁盘已满”的错误,否则继续;
2.3)计算数据块的校验数据块;
2.4)将数据块写入磁盘分区中,并将校验数据块写于数据块后;
2.5)更新分区元数据信息;
2.6)将新的分区元数据信息写入磁盘分区中;
2.7)根据数据块的写入位置返回相应的索引号。
6. 根据权利要求5所述的云计算环境下的海量数据存取方法,其特征在于,所述计算数据块的校验数据块,具体包括以下步骤:将所述数据块分为A个新的校验块,定义一校验变量,并将所述A个新的校验块中的每个字节依次与所述校验变量做异或运算,每个校验块算出1个字节的校验值,共计算出A个字节的校验值,即为数据块的校验数据块,所述A为校验数据块大小。
7. 根据权利要求3所述的云计算环境下的海量数据存取方法,其特征在于,所述读取数据块,具体包括以下步骤:
3.1)从磁盘分区中读取分区元数据信息,并校验其完整性;
3.2)导入用户输入的索引号,并检查其合法性;
3.3)若所述索引号合法,则根据索引号计算数据块在磁盘分区中的位置;
3.4)在计算得到的位置处读取数据块;
3.5)在该数据块后读取校验数据块;
3.6)根据校验数据块检查数据块的正确性;
3.7)若数据块正确,则将读取的数据块返回给用户,否则返回错误。
8. 根据权利要求7所述的云计算环境下的海量数据存取方法,其特征在于,所述根据校验数据块检查数据块的正确性,具体包括以下步骤:
3.6.1)根据读取的数据块,重新计算一新校验数据块;
3.6.2)将所述新校验数据块与从磁盘分区中读取的校验数据块逐字节进行比较,若两者相同,则判定数据块正确,否则判定数据块不正确。
9. 根据权利要求1~8中任一项所述的云计算环境下的海量数据存取方法,其特征在于,所述分区元数据信息包括:元数据校验值、分区元数据大小、数据块大小、校验数据块大小、数据块总量、已使用数据块数量和新数据块起始位置。
CN 201110153271 2011-06-09 2011-06-09 一种云计算环境下的海量数据存取方法 Active CN102184260B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110153271 CN102184260B (zh) 2011-06-09 2011-06-09 一种云计算环境下的海量数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110153271 CN102184260B (zh) 2011-06-09 2011-06-09 一种云计算环境下的海量数据存取方法

Publications (2)

Publication Number Publication Date
CN102184260A true CN102184260A (zh) 2011-09-14
CN102184260B CN102184260B (zh) 2013-07-10

Family

ID=44570437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110153271 Active CN102184260B (zh) 2011-06-09 2011-06-09 一种云计算环境下的海量数据存取方法

Country Status (1)

Country Link
CN (1) CN102184260B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102355502A (zh) * 2011-10-13 2012-02-15 罗立群 存储系统远程接入桌面操作系统的远程接入方法
WO2013091244A1 (zh) * 2011-12-23 2013-06-27 华为技术有限公司 文件系统中数据的存储方法、访问方法及装置
CN103581214A (zh) * 2012-07-20 2014-02-12 中国电信股份有限公司 云硬盘容量伸缩的方法和装置
CN103678026A (zh) * 2012-09-18 2014-03-26 杭州海康威视系统技术有限公司 可修复的视频监控数据存储和修复方法及其装置
CN104090829A (zh) * 2014-08-06 2014-10-08 浪潮电子信息产业股份有限公司 一种实现逻辑卷元数据备份存储的方法
CN104424238A (zh) * 2013-08-27 2015-03-18 华为技术有限公司 一种海量文件生成的方法、装置
CN104778018A (zh) * 2015-04-23 2015-07-15 南京道熵信息技术有限公司 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法
CN105027106A (zh) * 2013-03-14 2015-11-04 英特尔公司 使用管理元数据在云计算环境中管理数据
CN106776369A (zh) * 2016-12-12 2017-05-31 郑州云海信息技术有限公司 一种缓存镜像的方法及装置
CN106776363A (zh) * 2016-12-27 2017-05-31 郑州云海信息技术有限公司 缓存性能优化方法、系统及数据写入方法
CN107196991A (zh) * 2017-04-06 2017-09-22 暨南大学 一种面向网络编码集群系统的数据更新方法
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN108959639A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 一种数据保护方法、装置、终端及计算机可读存储介质
WO2019053665A1 (en) * 2017-09-18 2019-03-21 Auguz Limited ARCHIVING AND CONTENT MANAGEMENT SYSTEM WITH CODE READERS
CN110457398A (zh) * 2019-08-15 2019-11-15 广州蚁比特区块链科技有限公司 区块数据存储方法及装置
CN111176885A (zh) * 2019-12-31 2020-05-19 浪潮电子信息产业股份有限公司 一种分布式存储系统的数据校验方法及相关装置
CN111221467A (zh) * 2018-11-26 2020-06-02 深圳市茁壮网络股份有限公司 数据写入、读取方法及对应的装置
CN111309678A (zh) * 2020-02-22 2020-06-19 呼和浩特市奥祥电力自动化有限公司 一种数据循环存储方法及网络报文记录分析装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517906A (zh) * 2003-01-14 2004-08-04 联想(北京)有限公司 文件系统及文件管理方法
CN1963814A (zh) * 2006-11-29 2007-05-16 珠海市泰德企业有限公司 存储器数据管理方法
US20080082590A1 (en) * 2006-09-28 2008-04-03 Network Appliance, Inc. Write-in-place within a write-anywhere filesystem
CN101446976A (zh) * 2008-12-26 2009-06-03 中兴通讯股份有限公司 一种分布式文件系统中的文件存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517906A (zh) * 2003-01-14 2004-08-04 联想(北京)有限公司 文件系统及文件管理方法
US20080082590A1 (en) * 2006-09-28 2008-04-03 Network Appliance, Inc. Write-in-place within a write-anywhere filesystem
CN1963814A (zh) * 2006-11-29 2007-05-16 珠海市泰德企业有限公司 存储器数据管理方法
CN101446976A (zh) * 2008-12-26 2009-06-03 中兴通讯股份有限公司 一种分布式文件系统中的文件存储方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102355502A (zh) * 2011-10-13 2012-02-15 罗立群 存储系统远程接入桌面操作系统的远程接入方法
CN102355502B (zh) * 2011-10-13 2015-02-04 罗立群 存储系统远程接入桌面操作系统的远程接入方法
WO2013091244A1 (zh) * 2011-12-23 2013-06-27 华为技术有限公司 文件系统中数据的存储方法、访问方法及装置
CN103581214A (zh) * 2012-07-20 2014-02-12 中国电信股份有限公司 云硬盘容量伸缩的方法和装置
CN103678026B (zh) * 2012-09-18 2017-05-10 杭州海康威视系统技术有限公司 可修复的视频监控数据存储和修复方法及其装置
CN103678026A (zh) * 2012-09-18 2014-03-26 杭州海康威视系统技术有限公司 可修复的视频监控数据存储和修复方法及其装置
CN105027106A (zh) * 2013-03-14 2015-11-04 英特尔公司 使用管理元数据在云计算环境中管理数据
CN105027106B (zh) * 2013-03-14 2018-03-27 英特尔公司 使用管理元数据在云计算环境中管理数据
CN104424238B (zh) * 2013-08-27 2018-12-14 华为技术有限公司 一种海量文件生成的方法、装置
CN104424238A (zh) * 2013-08-27 2015-03-18 华为技术有限公司 一种海量文件生成的方法、装置
CN104090829A (zh) * 2014-08-06 2014-10-08 浪潮电子信息产业股份有限公司 一种实现逻辑卷元数据备份存储的方法
CN104778018A (zh) * 2015-04-23 2015-07-15 南京道熵信息技术有限公司 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法
CN104778018B (zh) * 2015-04-23 2018-06-05 南京道熵信息技术有限公司 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法
CN106776369A (zh) * 2016-12-12 2017-05-31 郑州云海信息技术有限公司 一种缓存镜像的方法及装置
CN106776363A (zh) * 2016-12-27 2017-05-31 郑州云海信息技术有限公司 缓存性能优化方法、系统及数据写入方法
CN106776363B (zh) * 2016-12-27 2020-05-12 苏州浪潮智能科技有限公司 缓存性能优化方法、系统及数据写入方法
CN107196991A (zh) * 2017-04-06 2017-09-22 暨南大学 一种面向网络编码集群系统的数据更新方法
WO2019053665A1 (en) * 2017-09-18 2019-03-21 Auguz Limited ARCHIVING AND CONTENT MANAGEMENT SYSTEM WITH CODE READERS
TWI713898B (zh) * 2017-09-18 2020-12-21 香港商賀岡茲有限公司 使用讀碼器的內容分檔和管理系統
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN108959639A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 一种数据保护方法、装置、终端及计算机可读存储介质
CN111221467A (zh) * 2018-11-26 2020-06-02 深圳市茁壮网络股份有限公司 数据写入、读取方法及对应的装置
CN110457398A (zh) * 2019-08-15 2019-11-15 广州蚁比特区块链科技有限公司 区块数据存储方法及装置
CN111176885A (zh) * 2019-12-31 2020-05-19 浪潮电子信息产业股份有限公司 一种分布式存储系统的数据校验方法及相关装置
CN111309678A (zh) * 2020-02-22 2020-06-19 呼和浩特市奥祥电力自动化有限公司 一种数据循环存储方法及网络报文记录分析装置
CN111309678B (zh) * 2020-02-22 2023-01-03 呼和浩特市奥祥电力自动化有限公司 一种数据循环存储方法及网络报文记录分析装置

Also Published As

Publication number Publication date
CN102184260B (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN102184260B (zh) 一种云计算环境下的海量数据存取方法
Kwon et al. Strata: A cross media file system
US9043334B2 (en) Method and system for accessing files on a storage system
US7673099B1 (en) Affinity caching
JP6664218B2 (ja) 効率的なデータオブジェクトストレージ及び検索
US8954383B1 (en) Analyzing mapping objects of file systems
US7640262B1 (en) Positional allocation
US7720892B1 (en) Bulk updates and tape synchronization
KR100962055B1 (ko) 컴퓨터 시스템들간의 객체 공유
US7930559B1 (en) Decoupled data stream and access structures
US7363540B2 (en) Transaction-safe FAT file system improvements
US6883074B2 (en) System and method for efficient write operations for repeated snapshots by copying-on-write to most recent snapshot
US7174420B2 (en) Transaction-safe FAT file system
US10482065B1 (en) Managing deletion of replicas of files
US11755427B2 (en) Fast recovery and replication of key-value stores
US11347600B2 (en) Database transaction log migration
CN106326229B (zh) 一种嵌入式系统的文件存储方法和装置
US11100083B2 (en) Read only bufferpool
CN103207883A (zh) 用于元数据持久存储的方法
US11403176B2 (en) Database read cache optimization
US9411692B2 (en) Applying write elision
CN113986826A (zh) 存储系统容量使用率估计
US11409720B2 (en) Metadata reduction in a distributed storage system
US11829291B2 (en) Garbage collection of tree structure with page mappings
Chen et al. A unified framework for designing high performance in-memory and hybrid memory file systems

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