CN101504670A - 数据操作方法、系统、客户端和数据服务器 - Google Patents
数据操作方法、系统、客户端和数据服务器 Download PDFInfo
- Publication number
- CN101504670A CN101504670A CNA2009101181709A CN200910118170A CN101504670A CN 101504670 A CN101504670 A CN 101504670A CN A2009101181709 A CNA2009101181709 A CN A2009101181709A CN 200910118170 A CN200910118170 A CN 200910118170A CN 101504670 A CN101504670 A CN 101504670A
- Authority
- CN
- China
- Prior art keywords
- sub
- block
- sign
- file
- client
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Abstract
本发明实施例公开了数据操作方法、系统、客户端和数据服务器,所述方法包括:向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;根据所述对应关系将子数据块写入相应的存储服务器。本发明实施例可以根据是否保存了子数据块标识判断子数据块是否已经写入,由此保证系统中不会存储重复数据,提高了系统的可存储空间。
Description
技术领域
本发明涉及数据库技术领域,特别涉及一种数据操作方法、系统、客户端和数据服务器。
背景技术
随着数据存储技术的发展,分布式文件系统逐步应用到数据存储领域。如图1所示,为现有技术中分布式文件系统的结构示意图,该系统包括:n个Client(客户端)、一个MD(Metadata Server,元数据服务器)和m个OSS(Object Storage Server,对象存储服务器)。基于该分布式文件系统架构,以Client进行数据写操作为例,Client首先向MDS发送写请求,MDS接收到写请求后,进行对象分配,即按照一定策略将不同对象(待写入的数据)分配给不同的OSS,并将分配结果通知Client,分配结果中包含OSS的标识信息,Client向与该OSS标识信息对应的OSS写数据。
发明人在对现有技术的研究过程中发现,当不同Client通过MDS向OSS写数据时,可能由于写入的数据相同,从而导致OSS中存在大量重复数据,这些重复数据会占用系统存储空间,降低系统可存储空间容量。
发明内容
本发明实施例提供一种数据操作方法、系统、客户端和数据服务器,可以减少分布式文件系统中的重复数据减小系统存储空间的问题。
本发明实施例提供一种数据操作方法,包括:
向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;
根据所述对应关系将子数据块写入相应的存储服务器。
一种数据操作方法,包括:
接收客户端发送的文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
查找所述子数据块的标识,并为未查找到的子数据块的标识分配存储服务器;
将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
一种数据操作系统,包括客户端、数据服务器和存储服务器,
所述客户端,用于向所述数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识,并根据所述数据服务器返回的子数据块标识与存储服务器的对应关系,将子数据块写入相应的存储服务器;
所述数据服务器,用于接收所述文件写请求后,查找所述子数据块的标识,并为未查找到的子数据块的标识分配存储服务器,将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
一种客户端,包括:
发送单元,用于向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
接收单元,用于接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;
写入单元,用于根据所述对应关系将子数据块写入相应的存储服务器。
一种数据服务器,包括:
接收单元,用于接收客户端发送的文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
查找单元,用于查找所述子数据块的标识;
分配单元,用于为未查找到的子数据块的标识分配存储服务器;
返回单元,用于将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
由以上本发明实施例提供的技术方案可见,本发明实施例中客户端向数据服务器发送文件写请求,写请求中包含组成文件的子数据块的标识,数据服务器查找子数据块的标识,并为未查找到的子数据块的标识分配存储服务器,将对应关系返回客户端,客户端根据对应关系将子数据块写入相应的存储服务器。应用本发明实施例进行写文件操作时,由于数据服务器上对未记录的子数据块标识进行保存,并相应写入该子数据块标识对应的子数据块,因此可以根据是否保存了子数据块标识判断子数据块是否已经写入,由此可以减少系统中的重复数据,提高了系统的可存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术分布式文件系统的结构示意图;
图2为本发明数据操作方法的第一实施例流程图;
图3为本发明数据操作方法的第二实施例流程图;
图4为本发明数据操作方法的第三实施例流程图;
图5为本发明数据操作方法的第四实施例流程图;
图6为本发明数据操作系统的实施例框图;
图7为本发明客户端的第一实施例框图;
图8为本发明客户端的第二实施例框图;
图9为本发明数据服务器的第一实施例框图;
图10为本发明数据服务器的第二实施例框图。
具体实施方式
本发明实施例提供了基于分布式文件系统的数据操作方法和装置,为了使本技术领域的人员更好地理解本发明方案,开使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明基于分布式文件系统的数据操作方法的第一实施例流程如图2所示:
步骤201:客户端向数据服务器发送文件写请求。
其中,文件写请求中包含组成该文件的子数据块的标识。优选的,文件的子数据块的标识包括对该文件的子数据块进行哈希计算后的哈希结果值。
具体的,可以按照预先设置的长度切分文件,生成至少一个子数据块,对至少一个子数据块分别进行哈希计算后,将每个子数据块的哈希结果值作为子数据块的标识,并将所有子数据块标识的集合作为文件的标识,在发送的文件写请求中包含所述文件的标识。
步骤202:数据服务器查找子数据块的标识,并为未查找到的子数据块的标识分配存储服务器。
步骤203:数据服务器将所有子数据块的标识与存储服务器的对应关系返回客户端。
步骤204:客户端根据对应关系将子数据块写入相应的存储服务器。
要实现本发明数据操作方法的实施例,需要对分布式文件系统中的客户端、元数据服务器MDS和对象存储服务器OSS分别进行改进,下面分别进行描述:
1、客户端
客户端除了发送操作请求(读请求或写请求等)和从OSS读取或写入数据外,其改进在于对文件进行切分生成多个子数据块,对切分后的子数据块进行HASH(哈希)计算,将计算出的HASH结果值的集合作为文件的标识。举例来说,假设File被切分成了n个子数据块,分别为chunk-1、chunk-2、......chunk-n,对上述每个子数据块进行HASH计算,用HASH结果值(HASHKey)作为各个子数据块的标识,分别为h(chunk-1)、h(chunk-2)、......h(chunk-n),在进行HASH计算时,可以采用现有技术中的方法,包括:SHA-1、SHA-2、SHA-256、SHA-512、Oen-way HASH等,本发明实施例不再赘述;相应的,File的标识用子数据块的HASH结果值的集合表示:h(File)={h(chunk-1)、h(chunk-2)、......h(chunk-n)}。
客户端将切分成子数据块时,通常将文件进行等长度切分,即切分出的子数据块的长度相等,切分的长度可以根据系统配置进行调整,例如,可以为1KB、2KB、4KB、8KB、16KB、32KB、64KB、128KB、256KB、512KB、1M、2M、4M、8M或16M。当在文件末尾处切分出不足一个子数据块的文件数据时,对不足的部分进行填充,对于不足一个数据块的小文件,也可以对不足部分进行填充。填充的方式可以包括:采用空数据填充、采用全“0”填充、或采用随机数填充等。
2、元数据服务器MDS
MDS修改了文件系统架构,从现有的Super Block→Inode Tree→Data Block的三层结构,转换为Super Block→IMAP Tree→Inode Tree→Data Block的四层结构。其中,增加的IMAP Tree(子数据块节点映射树)用来保存子数据块标识与子数据块节点的映射关系,通过查询IMAP Tree可以判断子数据块是否已经保存在OSS,由于子数据块标识用子数据块的HASH结果表示,因此每个HASH结果值可以唯一表示一个子数据块。也就是说,MDS上除了保存每个子数据块标识与OSS的对应关系外,还进一步保存了每个子数据块标识(HASHKey)与子数据块节点(Inode)的映射关系。
例如,有三个子数据块Block1、Block2、Block3,对应的子数据块标识为H(B1)、H(B2)、H(B3),对应的子数据块节点表示为B1、B2、B3,分别用于保存上述子数据块的OSS为OSS1、OSS2、OSS3,则在MDS上保存的子数据块标识与OSS的对应关系(HASHKey,OSS)如下表1所示:
表1
H(B1) | H(B2) | H(B3) |
OSS1 | OSS2 | OSS3 |
每个子数据块标识(HASHKey)与子数据块节点(Inode)的映射关系(HASHKey,Inode)如下表2所示:
表2
H(B1) | H(B2) | H(B3) |
B1 | B2 | B3 |
客户端要进行文件写入操作时,将文件标识h(File)发送到MDS,MDS根据h(File)中的每个子数据块标识查询IMAP Tree,如果IMAPTree中已经有保存了某个子数据标识,则不再对该子数据块标识对应的子数据块进行存储,如果没有保存某个子数据块标识,则保存该子数据块标识与子数据块节点的对应关系,然后为该子数据块分配OSS,并保存子数据块标识与OSS的对应关系,以备后续查询,防止写入重复数据,从而实现重复数据的删除。
3、对象存储服务器OSS
OSS根据子数据块标识保存对应的子数据块,客户端通过MDS查询子数据块标识与OSS的对应关系后,以查询到的OSS标识为索引,可以将子数据块存储到该OSS上,或者从OSS上读取数据。
本发明基于分布式文件系统的数据操作方法的第二实施例流程如图3所示,该实施例示出了在分布式文件系统中,客户端向OSS写入数据的过程:
步骤301:客户端在本地完成写操作后创建一个完整的文件File,将该文件切分成n个子数据块chunk-1、chunk-2、......chunk-n,对每个子数据块进行HASH计算得到每个子数据标识h(chunk-1)、h(chunk-2)、......h(chunk-n),根据子数据块标识建立“文件-子数据块”的映射关系,即File的标识,用h(File)={h(chunk-1)、h(chunk-2)、......h(chunk-n)}表示。
步骤302:客户端向MDS发送写请求,该写请求中包含了文件标识h(File)。
步骤303:MDS接收到写请求后,根据文件标识中包含的子数据块的标识,在已建立的IMAP Tree上检索子数据块标识。当检索到某个子数据块标识已存在时,不再为该子数据块标识创建新的IMAP信息;当未检索到子数据块标识时,建立子数据块标识与子数据块节点的对应关系,即建立新的IMAP=map{h(chunk),inode},为新建的IMAP中的子数据块标识分配OSS,并保存子数据块标识与OSS的对应关系。
本发明实施例中假设在IMAP Tree上未检索到子数据标识。
步骤304:MDS向客户端返回查询到的OSS信息,即将子数据块标识与OSS的对应关系反馈给客户端。
步骤305:客户端接收到OSS信息后,根据子数据块标识与OSS的对应关系,向相应的OSS发送写入子数据块。
步骤306:OSS接收到子数据块后,将子数据标识作为索引保存子数据块,并可以将保存结果通知客户端。
本发明实施例通过将文件切分成多个子数据块,然后对子数据块的内容做HASH计算,并根据HASHKey进行子数据块的写入。由于采用了基于内容寻址HASH算法和IMAP Tree的文件系统架构,因此解决了分布式存储系统中存在大量重复数据的问题,提高了存储容量;在写入文件比较频繁的情况下,可以将重复数据的写操作重定向到已有的映射表中,不进行后续的数据写入过程,因此提高了分布式存储文件系统的写入性能,降低了因为频繁写入相同数据所造成的网络负荷。
本发明基于分布式文件系统的数据操作方法的第三实施例流程如图4所示,该实施例示出了在分布式文件系统中,客户端从OSS读出数据的过程:
步骤401:客户端接收到读文件请求后,根据文件名查找在写入文件时建立的“文件-子数据块”映射关系,然后向MDS发送读文件请求,该读文件请求中包含查找到的映射关系h(File)={h(chunk-1)、h(chunk-2)、......h(chunk-n)}。
步骤402:MDS接收到读请求后,根据文件标识中包含的子数据块的标识,在已建立的IMAP Tree上检索子数据块标识。
步骤403:MDS向客户端返回查询到的OSS信息,即将子数据块标识与OSS的对应关系反馈给客户端。
步骤404:客户端接收到OSS信息后,根据子数据块标识与OSS的对应关系,向相应的OSS发送读请求,该读请求中包含子数据块标识。
步骤405:OSS接收到读请求后,以子数据块标识为索引查找相应的子数据块。
步骤406:OSS将查找到的子数据块发送给客户端,使客户端实现读文件操作。
本发明基于分布式文件系统的数据操作方法的第四实施例流程如图5所示,该实施例示出了在分布式文件系统中,客户端修改OSS中数据的过程:
步骤501:当客户端需要对某个文件进行修改时,需要将该文件读取到本地,因此客户端接收到修改文件请求后,根据文件名查找在写入文件时建立的“文件-子数据块”映射关系,然后向MDS发送读文件请求,该读文件请求中包含查找到的映射关系h(File)={h(chunk-1)、h(chunk-2)、......h(chunk-n)}。
步骤502:MDS接收到读请求后,根据文件标识中包含的子数据块的标识,在已建立的IMAP Tree上检索子数据块标识。
步骤503:MDS向客户端返回查询到的OSS信息,即将子数据块标识与OSS的对应关系反馈给客户端。
步骤504:客户端接收到OSS信息后,根据子数据块标识与OSS的对应关系,向相应的OSS发送读请求,该读请求中包含子数据块标识。
步骤505:OSS接收到读请求后,以子数据块标识为索引查找相应的子数据块。
步骤506:OSS将查找到的子数据块发送给客户端。
步骤507:客户端接收整个文件的子数据块后,实现了将文件读取到本地的操作,客户端对该文件的内容进行修改。
步骤508:对修改后的文件进行切分操作,与原始文件切分出的子数据块相比,在修改后文件切分出的子数据块中,有些子数据块内容发生改变,有些子数据块内容未发生变化,对所有子数据块依然进行HASH计算,得到修改后的文件的标识h’(File)。
步骤509:客户端向MDS发送写请求,该写请求中包含了文件标识h’(File)。
步骤510:MDS接收到写请求后,根据文件标识中包含的子数据块的标识,在已建立的IMAP Tree上检索子数据块标识。对于内容未发生改变的子数据块,其经过HASH计算生成的子数据块标识检索到,因此不再为该子数据块标识创建新的IMAP信息;对于内容未发生改变的子数据块,其经过HASH计算生成的子数据块标识无法检索到,因此建立未检索到的子数据块标识与子数据块节点的对应关系,即建立新的IMAP=map{h(chunk),inode},为新建的IMAP中的子数据块标识分配OSS,并保存子数据块标识与OSS的对应关系。
步骤511:MDS向客户端返回新建的子数据块标识与OSS的对应关系。
步骤512:客户端接收到OSS信息后,根据子数据块标识与OSS的对应关系,向相应的OSS发送写入子数据块。
步骤512:OSS接收到子数据块后,将子数据标识作为索引保存子数据块,并可以将保存结果通知客户端,至此完成文件的改写。
在进行上述修改操作时,OSS并不删除已修改的子数据块对应的原始子数据块,因为该原始子数据块可能是其它文件的一部分,因此仍然保留。
与本发明数据操作方法的实施例相对应,本发明还提供了数据操作系统、客户端和数据服务器的实施例。
本发明数据操作系统的实施例框图如图6所示,该系统包括:客户端610、数据服务器620和存储服务器630。其中,客户端和存储服务器可以分别有若干个,为了示例方便,图6中分别示出了一个。
其中,客户端610用于向所述数据服务器620发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识,并根据所述数据服务器620返回的子数据块标识与存储服务器630的对应关系,将子数据块写入相应的存储服务器630;数据服务器620用于接收所述文件写请求后,查找所述子数据块的标识,并为未查找到的子数据块的标识分配存储服务器630,将所述组成文件的子数据块的标识与存储服务器630的对应关系返回所述客户端610。
本发明客户端的第一实施例框图如图7所示,该客户端包括:发送单元710、接收单元720和写入单元730。
其中,发送单元710用于向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;接收单元720用于接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;写入单元730用于根据所述对应关系将子数据块写入相应的存储服务器。
本发明客户端的第二实施例框图如图8所示,该客户端包括:切分单元810、计算单元820、发送单元830、接收单元840、写入单元850、获取单元860和修改单元870。
其中,切分单元810用于按照预先设置的长度切分待写入的文件,生成至少一个子数据块;计算单元820用于对所述至少一个子数据块分别进行哈希计算后,将每个子数据块的哈希结果值作为所述子数据块的标识,并将所有子数据块标识的集合作为所述文件的标识,所述文件写请求中包含所述文件的标识;
其中,发送单元830用于向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;接收单元840用于接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;写入单元850用于根据所述对应关系将子数据块写入相应的存储服务器。
其中,发送单元830还用于向数据服务器发送文件读请求,所述读请求中包含组成所述文件的子数据块的标识;接收单元840还用于接收所述数据服务器根据所述读请求返回的子数据块标识与存储服务器的对应关系;获取单元860用于根据所述对应关系从存储服务器获取相应的子数据块,完成读取所述文件的操作。
其中,修改单元870用于对所述获取单元860获取的文件进行修改,然后返回所述发送单元830执行向数据服务器发送文件写请求。
本发明数据服务器的第一实施例框图如图9所示,该数据服务器包括:接收单元910、查找单元920、分配单元930和返回单元940。
其中,接收单元910用于接收客户端发送的文件写请求,所述写请求中包含组成所述文件的子数据块的标识;查找单元920用于查找所述子数据块的标识;分配单元930用于为未查找到的子数据块的标识分配存储服务器;返回单元940用于将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
本发明数据服务器的第二实施例框图如图10所示,该数据服务器包括:接收单元1010、查找单元1020、分配单元1030、存储单元1040和返回单元1050。
其中,接收单元1010用于接收客户端发送的文件写请求,所述写请求中包含组成所述文件的子数据块的标识;查找单元1020用于查找所述子数据块的标识;分配单元1030用于为未查找到的子数据块的标识分配存储服务器;存储单元1040用于保存所述未查找到的子数据块的标识与存储服务器的对应关系;返回单元1050用于将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
其中,接收单元1010还用于接收客户端发送的文件读请求,所述读请求中包含组成所述文件的子数据块的标识;查找单元1020还用于根据所述子数据块的标识查找所述对应关系;返回单元1050还用于将查找到的所述对应关系返回所述客户端。
通过本发明实施例的描述可知,本发明实施例中客户端向数据服务器发送文件写请求,写请求中包含组成文件的子数据块的标识,数据服务器查找子数据块的标识,并为未查找到的子数据块的标识分配存储服务器,将对应关系返回客户端,客户端根据对应关系将子数据块写入相应的存储服务器。应用本发明实施例进行写文件操作时,由于数据服务器上对未记录的子数据块标识进行保存,并相应写入该子数据块标识对应的子数据块,因此可以根据是否保存了子数据块标识判断子数据块是否已经写入,由此保证系统中不会存储重复数据,提高了系统的可存储空间。
本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (17)
1、一种数据操作方法,其特征在于,包括:
向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;
根据所述对应关系将子数据块写入相应的存储服务器。
2、根据权利要求1所述的方法,其特征在于,还包括:
向数据服务器发送文件读请求,所述读请求中包含组成所述文件的子数据块的标识;
接收所述数据服务器根据所述读请求返回的子数据块标识与存储服务器的对应关系;
根据所述对应关系从存储服务器获取相应的子数据块,完成读取所述文件的操作。
3、根据权利要求2所述的方法,其特征在于,还包括:
对所述读取的文件进行修改,执行所述向数据服务器发送文件写请求的步骤。
4、根据权利要求1至3任意一项所述的方法,其特征在于,所述向数据服务器发送请求之前,还包括:
按照预先设置的长度切分所述文件,生成至少一个子数据块;
对所述至少一个子数据块分别进行哈希计算后,将每个子数据块的哈希结果值作为所述子数据块的标识,并将所有子数据块标识的集合作为所述文件的标识,所述文件写请求中包含所述文件的标识。
5、根据权利要求1至3任意一项所述的方法,其特征在于,所述文件的子数据块的标识包括:对所述文件的子数据块进行哈希计算后的哈希结果值。
6、一种数据操作方法,其特征在于,包括:
接收客户端发送的文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
查找所述子数据块的标识,并为未查找到的子数据块的标识分配存储服务器;
将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
7、根据权利要求6所述的方法,其特征在于,还包括:
保存所述未查找到的子数据块的标识与所述分配的存储服务器的对应关系。
8、根据权利要求7所述的方法,其特征在于,还包括:
接收客户端发送的文件读请求,所述读请求中包含组成所述文件的子数据块的标识;
根据所述子数据块的标识查找所述对应关系;
将查找到的所述对应关系返回所述客户端。
9、根据权利要求6至8任意一项所述的方法,其特征在于,所述文件的子数据块的标识包括:对所述文件的子数据块进行哈希计算后的哈希结果值。
10、一种数据操作系统,其特征在于,包括客户端、数据服务器和存储服务器,
所述客户端,用于向所述数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识,并根据所述数据服务器返回的子数据块标识与存储服务器的对应关系,将子数据块写入相应的存储服务器;
所述数据服务器,用于接收所述文件写请求后,查找所述子数据块的标识,并为未查找到的子数据块的标识分配存储服务器,将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
11、一种客户端,其特征在于,包括:
发送单元,用于向数据服务器发送文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
接收单元,用于接收所述数据服务器根据所述写请求返回的子数据块标识与存储服务器的对应关系;
写入单元,用于根据所述对应关系将子数据块写入相应的存储服务器。
12、根据权利要求11所述的客户端,其特征在于,所述发送单元还用于,向数据服务器发送文件读请求,所述读请求中包含组成所述文件的子数据块的标识;
所述接收单元还用于,接收所述数据服务器根据所述读请求返回的子数据块标识与存储服务器的对应关系;
所述客户端还包括:
获取单元,用于根据所述对应关系从存储服务器获取相应的子数据块,完成读取所述文件的操作。
13、根据权利要求12所述的客户端,其特征在于,还包括:
修改单元,用于对所述获取单元获取的文件进行修改,然后返回所述发送单元执行向数据服务器发送文件写请求。
14、根据权利要求11所述的客户端,其特征在于,还包括:
切分单元,用于按照预先设置的长度切分所述文件,生成至少一个子数据块;
计算单元,用于对所述至少一个子数据块分别进行哈希计算后,将每个子数据块的哈希结果值作为所述子数据块的标识,并将所有子数据块标识的集合作为所述文件的标识,所述文件写请求中包含所述文件的标识。
15、一种数据服务器,其特征在于,包括:
接收单元,用于接收客户端发送的文件写请求,所述写请求中包含组成所述文件的子数据块的标识;
查找单元,用于查找所述子数据块的标识;
分配单元,用于为未查找到的子数据块的标识分配存储服务器;
返回单元,用于将所述组成文件的子数据块的标识与存储服务器的对应关系返回所述客户端。
16、根据权利要求15所述的数据服务器,其特征在于,还包括:
存储单元,用于保存所述未查找到的子数据块的标识与存储服务器的对应关系。
17、根据权利要求16所述的数据服务器,其特征在于,
所述接收单元还用于,接收客户端发送的文件读请求,所述读请求中包含组成所述文件的子数据块的标识;
所述查找单元还用于,根据所述子数据块的标识查找所述对应关系;
所述返回单元还用于,将查找到的所述对应关系返回所述客户端。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009101181709A CN101504670A (zh) | 2009-03-04 | 2009-03-04 | 数据操作方法、系统、客户端和数据服务器 |
PCT/CN2010/070700 WO2010099715A1 (zh) | 2009-03-04 | 2010-02-22 | 数据操作方法、系统、客户端和数据服务器 |
US13/225,268 US20110320532A1 (en) | 2009-03-04 | 2011-09-02 | Data operating method, system, client, and data server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009101181709A CN101504670A (zh) | 2009-03-04 | 2009-03-04 | 数据操作方法、系统、客户端和数据服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101504670A true CN101504670A (zh) | 2009-08-12 |
Family
ID=40976916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009101181709A Pending CN101504670A (zh) | 2009-03-04 | 2009-03-04 | 数据操作方法、系统、客户端和数据服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110320532A1 (zh) |
CN (1) | CN101504670A (zh) |
WO (1) | WO2010099715A1 (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010099715A1 (zh) * | 2009-03-04 | 2010-09-10 | 成都市华为赛门铁克科技有限公司 | 数据操作方法、系统、客户端和数据服务器 |
WO2011072552A1 (zh) * | 2009-12-16 | 2011-06-23 | 中兴通讯股份有限公司 | 一种访问文件资源的方法及装置 |
WO2011147077A1 (zh) * | 2010-05-25 | 2011-12-01 | 中兴通讯股份有限公司 | 一种生成数据块标识的方法及系统 |
CN102387179A (zh) * | 2010-09-02 | 2012-03-21 | 联想(北京)有限公司 | 分布式文件系统及其结点、存储方法和存储控制方法 |
CN102629247A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和系统 |
CN102799608A (zh) * | 2012-05-31 | 2012-11-28 | 新奥特(北京)视频技术有限公司 | 一种快速获取数据的方法 |
CN102932754A (zh) * | 2011-08-10 | 2013-02-13 | 国民技术股份有限公司 | 用于射频通信的数据发送、接收方法 |
CN103049508A (zh) * | 2012-12-13 | 2013-04-17 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN103078907A (zh) * | 2012-12-26 | 2013-05-01 | 华为技术有限公司 | 上传、云备份、查找、恢复数据的方法及装置 |
CN103246730A (zh) * | 2013-05-08 | 2013-08-14 | 网易(杭州)网络有限公司 | 文件存储方法和设备、文件发送方法和设备 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103414759A (zh) * | 2013-07-22 | 2013-11-27 | 华为技术有限公司 | 网盘文件传输方法和装置 |
CN103595782A (zh) * | 2013-11-11 | 2014-02-19 | 中安消技术有限公司 | 一种分布式存储系统及其下载文件的方法 |
CN103634144A (zh) * | 2013-11-15 | 2014-03-12 | 新浪网技术(中国)有限公司 | 多idc集群的配置文件管理方法、系统和设备 |
CN103955528A (zh) * | 2014-05-09 | 2014-07-30 | 北京华信博研科技有限公司 | 写入文件数据的方法、读取文件数据的方法以及装置 |
CN104268500A (zh) * | 2014-10-11 | 2015-01-07 | 合肥华凌股份有限公司 | 一种产品的电子条码信息写入方法 |
CN104424316A (zh) * | 2013-09-06 | 2015-03-18 | 华为技术有限公司 | 一种数据存储方法、数据查询方法、相关装置和系统 |
CN104468665A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据分布式存储的实现方法和系统 |
CN104580439A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储系统中使数据均匀分布的方法 |
CN105094992A (zh) * | 2015-09-25 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种处理文件请求的方法与系统 |
CN105915574A (zh) * | 2015-12-14 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于文件同步的方法、接收方设备及系统 |
CN107273050A (zh) * | 2012-11-08 | 2017-10-20 | Dssd股份有限公司 | 用于采用一致性散列的全局命名空间的方法 |
WO2017201977A1 (zh) * | 2016-05-25 | 2017-11-30 | 杭州海康威视数字技术股份有限公司 | 一种数据写、读方法、装置及分布式对象存储集群 |
CN107526691A (zh) * | 2016-06-21 | 2017-12-29 | 深圳市中兴微电子技术有限公司 | 一种缓存管理方法及装置 |
CN108009025A (zh) * | 2017-12-13 | 2018-05-08 | 北京小米移动软件有限公司 | 数据存储方法及装置 |
CN109299117A (zh) * | 2017-07-25 | 2019-02-01 | 北京国双科技有限公司 | 数据请求的处理方法和装置、存储介质、处理器 |
CN109299183A (zh) * | 2018-11-20 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据处理方法、装置、终端设备和存储介质 |
CN104113566B (zh) * | 2013-04-18 | 2019-05-21 | 蓝网科技股份有限公司 | 一种医疗影像的云存储的实现方法 |
CN110035130A (zh) * | 2019-04-24 | 2019-07-19 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN113360287A (zh) * | 2021-06-21 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069471B2 (en) * | 2011-09-30 | 2015-06-30 | Hitachi, Ltd. | Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access |
US10230809B2 (en) * | 2016-02-29 | 2019-03-12 | Intel Corporation | Managing replica caching in a distributed storage system |
US10884642B2 (en) * | 2019-03-27 | 2021-01-05 | Silicon Motion, Inc. | Method and apparatus for performing data-accessing management in a storage server |
CN112711608B (zh) * | 2019-10-25 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 数据展示方法、装置、计算机可读存储介质和计算机设备 |
US20230171099A1 (en) * | 2021-11-27 | 2023-06-01 | Oracle International Corporation | Methods, systems, and computer readable media for sharing key identification and public certificate data for access token verification |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233455A1 (en) * | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
CN100459497C (zh) * | 2004-06-18 | 2009-02-04 | 千橡世纪科技发展(北京)有限公司 | 一种实现文件加速下载的系统及方法 |
US7529967B2 (en) * | 2004-11-04 | 2009-05-05 | Rackable Systems Inc. | Method and system for network storage device failure protection and recovery |
US7870353B2 (en) * | 2005-08-15 | 2011-01-11 | International Business Machines Corporation | Copying storage units and related metadata to storage |
CN100490380C (zh) * | 2005-12-26 | 2009-05-20 | 北大方正集团有限公司 | 轻量级分布式文件存储系统文件上传的方法 |
CN100579016C (zh) * | 2006-01-24 | 2010-01-06 | 华为技术有限公司 | 一种网络数据的分布式存储下载系统、设备及方法 |
EP1860846B1 (en) * | 2006-05-23 | 2014-11-26 | Noryan Holding Corporation | Method and devices for managing distributed storage |
US8296337B2 (en) * | 2006-12-06 | 2012-10-23 | Fusion-Io, Inc. | Apparatus, system, and method for managing data from a requesting device with an empty data token directive |
CN101504670A (zh) * | 2009-03-04 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 数据操作方法、系统、客户端和数据服务器 |
-
2009
- 2009-03-04 CN CNA2009101181709A patent/CN101504670A/zh active Pending
-
2010
- 2010-02-22 WO PCT/CN2010/070700 patent/WO2010099715A1/zh active Application Filing
-
2011
- 2011-09-02 US US13/225,268 patent/US20110320532A1/en not_active Abandoned
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010099715A1 (zh) * | 2009-03-04 | 2010-09-10 | 成都市华为赛门铁克科技有限公司 | 数据操作方法、系统、客户端和数据服务器 |
WO2011072552A1 (zh) * | 2009-12-16 | 2011-06-23 | 中兴通讯股份有限公司 | 一种访问文件资源的方法及装置 |
WO2011147077A1 (zh) * | 2010-05-25 | 2011-12-01 | 中兴通讯股份有限公司 | 一种生成数据块标识的方法及系统 |
CN103026353A (zh) * | 2010-05-25 | 2013-04-03 | 中兴通讯股份有限公司 | 一种生成数据块标识的方法及系统 |
CN102387179A (zh) * | 2010-09-02 | 2012-03-21 | 联想(北京)有限公司 | 分布式文件系统及其结点、存储方法和存储控制方法 |
CN102387179B (zh) * | 2010-09-02 | 2016-08-10 | 联想(北京)有限公司 | 分布式文件系统及其结点、存储方法和存储控制方法 |
CN102932754B (zh) * | 2011-08-10 | 2016-02-03 | 国民技术股份有限公司 | 用于射频通信的数据发送、接收方法 |
CN102932754A (zh) * | 2011-08-10 | 2013-02-13 | 国民技术股份有限公司 | 用于射频通信的数据发送、接收方法 |
CN102629247A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和系统 |
CN102629247B (zh) * | 2011-12-31 | 2014-09-17 | 华为数字技术(成都)有限公司 | 一种数据处理方法、装置和系统 |
CN103327052B (zh) * | 2012-03-22 | 2018-04-03 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN102799608A (zh) * | 2012-05-31 | 2012-11-28 | 新奥特(北京)视频技术有限公司 | 一种快速获取数据的方法 |
CN107273050B (zh) * | 2012-11-08 | 2020-11-03 | Emc知识产权控股有限公司 | 用于采用一致性散列的全局命名空间的方法 |
CN107273050A (zh) * | 2012-11-08 | 2017-10-20 | Dssd股份有限公司 | 用于采用一致性散列的全局命名空间的方法 |
CN103049508B (zh) * | 2012-12-13 | 2017-08-11 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN103049508A (zh) * | 2012-12-13 | 2013-04-17 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN103078907A (zh) * | 2012-12-26 | 2013-05-01 | 华为技术有限公司 | 上传、云备份、查找、恢复数据的方法及装置 |
CN104113566B (zh) * | 2013-04-18 | 2019-05-21 | 蓝网科技股份有限公司 | 一种医疗影像的云存储的实现方法 |
CN103246730A (zh) * | 2013-05-08 | 2013-08-14 | 网易(杭州)网络有限公司 | 文件存储方法和设备、文件发送方法和设备 |
CN103246730B (zh) * | 2013-05-08 | 2016-08-10 | 网易(杭州)网络有限公司 | 文件存储方法和设备、文件发送方法和设备 |
CN103414759A (zh) * | 2013-07-22 | 2013-11-27 | 华为技术有限公司 | 网盘文件传输方法和装置 |
CN103414759B (zh) * | 2013-07-22 | 2016-12-28 | 华为技术有限公司 | 网盘文件传输方法和装置 |
CN104424316B (zh) * | 2013-09-06 | 2018-06-05 | 华为技术有限公司 | 一种数据存储方法、数据查询方法、相关装置和系统 |
CN104424316A (zh) * | 2013-09-06 | 2015-03-18 | 华为技术有限公司 | 一种数据存储方法、数据查询方法、相关装置和系统 |
CN104468665A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据分布式存储的实现方法和系统 |
CN104468665B (zh) * | 2013-09-18 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 数据分布式存储的实现方法和系统 |
CN103595782A (zh) * | 2013-11-11 | 2014-02-19 | 中安消技术有限公司 | 一种分布式存储系统及其下载文件的方法 |
CN103634144B (zh) * | 2013-11-15 | 2017-06-13 | 新浪网技术(中国)有限公司 | 多idc集群的配置文件管理方法、系统和设备 |
CN103634144A (zh) * | 2013-11-15 | 2014-03-12 | 新浪网技术(中国)有限公司 | 多idc集群的配置文件管理方法、系统和设备 |
CN103955528A (zh) * | 2014-05-09 | 2014-07-30 | 北京华信博研科技有限公司 | 写入文件数据的方法、读取文件数据的方法以及装置 |
CN104268500A (zh) * | 2014-10-11 | 2015-01-07 | 合肥华凌股份有限公司 | 一种产品的电子条码信息写入方法 |
CN104580439A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储系统中使数据均匀分布的方法 |
CN104580439B (zh) * | 2014-12-30 | 2020-01-03 | 深圳创新科技术有限公司 | 一种云存储系统中使数据均匀分布的方法 |
CN105094992A (zh) * | 2015-09-25 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种处理文件请求的方法与系统 |
CN105094992B (zh) * | 2015-09-25 | 2018-11-02 | 浪潮(北京)电子信息产业有限公司 | 一种处理文件请求的方法与系统 |
CN105915574A (zh) * | 2015-12-14 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于文件同步的方法、接收方设备及系统 |
WO2017101426A1 (zh) * | 2015-12-14 | 2017-06-22 | 乐视控股(北京)有限公司 | 用于文件同步的方法、接收方设备及系统 |
CN107436725A (zh) * | 2016-05-25 | 2017-12-05 | 杭州海康威视数字技术股份有限公司 | 一种数据写、读方法、装置及分布式对象存储集群 |
WO2017201977A1 (zh) * | 2016-05-25 | 2017-11-30 | 杭州海康威视数字技术股份有限公司 | 一种数据写、读方法、装置及分布式对象存储集群 |
US11216187B2 (en) | 2016-05-25 | 2022-01-04 | Hangzhou Hikvision Digital Technology Co., Ltd. | Data writing and reading method and apparatus, and distributed object storage cluster |
CN107526691A (zh) * | 2016-06-21 | 2017-12-29 | 深圳市中兴微电子技术有限公司 | 一种缓存管理方法及装置 |
CN109299117A (zh) * | 2017-07-25 | 2019-02-01 | 北京国双科技有限公司 | 数据请求的处理方法和装置、存储介质、处理器 |
CN108009025A (zh) * | 2017-12-13 | 2018-05-08 | 北京小米移动软件有限公司 | 数据存储方法及装置 |
CN109299183A (zh) * | 2018-11-20 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据处理方法、装置、终端设备和存储介质 |
CN110035130A (zh) * | 2019-04-24 | 2019-07-19 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN110035130B (zh) * | 2019-04-24 | 2021-07-13 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN113360287A (zh) * | 2021-06-21 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2010099715A1 (zh) | 2010-09-10 |
US20110320532A1 (en) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504670A (zh) | 数据操作方法、系统、客户端和数据服务器 | |
US10169366B2 (en) | Deduplicated file system | |
US8131687B2 (en) | File system with internal deduplication and management of data blocks | |
CN102629247B (zh) | 一种数据处理方法、装置和系统 | |
CN102467572B (zh) | 支持重复数据删除程序的数据区块查询方法 | |
US9047301B2 (en) | Method for optimizing the memory usage and performance of data deduplication storage systems | |
CN103080910B (zh) | 存储系统 | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
CN103577123B (zh) | 一种基于hdfs的小文件优化存储方法 | |
US20170316028A1 (en) | Key value file system | |
CN103970875B (zh) | 一种并行重复数据删除方法和系统 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
US9430492B1 (en) | Efficient scavenging of data and metadata file system blocks | |
US9965383B2 (en) | File system indirection technique for directly managing solid state devices | |
KR20200122994A (ko) | 키 값 첨부 | |
JP2015537283A (ja) | 階層キャッシュを用いたメールのインデックス化および検索 | |
CN106155934B (zh) | 一种云环境下基于重复数据的缓存方法 | |
CN105808622A (zh) | 一种文件存储的方法和装置 | |
CN103942301A (zh) | 一种面向多数据类型访问应用的分布式文件系统 | |
US8156126B2 (en) | Method for the allocation of data on physical media by a file system that eliminates duplicate data | |
CN103530067B (zh) | 一种数据操作的方法和设备 | |
US20200019539A1 (en) | Efficient and light-weight indexing for massive blob/objects | |
CN106934066A (zh) | 一种元数据处理方法、装置和存储设备 | |
CN104537023A (zh) | 一种反向索引记录的存储方法及装置 | |
US11663234B2 (en) | Storage of a small object representation in a deduplication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090812 |