CN101770504A - 数据存储、读取方法及设备 - Google Patents

数据存储、读取方法及设备 Download PDF

Info

Publication number
CN101770504A
CN101770504A CN200910252582A CN200910252582A CN101770504A CN 101770504 A CN101770504 A CN 101770504A CN 200910252582 A CN200910252582 A CN 200910252582A CN 200910252582 A CN200910252582 A CN 200910252582A CN 101770504 A CN101770504 A CN 101770504A
Authority
CN
China
Prior art keywords
data
object data
correspondence
write request
data 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.)
Granted
Application number
CN200910252582A
Other languages
English (en)
Other versions
CN101770504B (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.)
Tsinghua University
Chengdu Huawei Technology Co Ltd
Original Assignee
Tsinghua University
Huawei Symantec Technologies Co Ltd
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 Tsinghua University, Huawei Symantec Technologies Co Ltd filed Critical Tsinghua University
Priority to CN200910252582A priority Critical patent/CN101770504B/zh
Publication of CN101770504A publication Critical patent/CN101770504A/zh
Application granted granted Critical
Publication of CN101770504B publication Critical patent/CN101770504B/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

数据存储、读取方法及设备
技术领域
本发明涉及信息技术领域,特别涉及数据存储、读取方法及设备。
背景技术
在如今的海量数据信息中,有超过75%的信息是属于固定内容(FixedContent)的数据,而基于内容存储(Content Aware Storage,CAS)技术是近年来提出来的一种适合于固定内容存储的存储技术,这一技术越来越多的集成到现有的各种应用系统和网络存储系统中。
一个典型的CAS系统包括客户端和服务器,客户端通过网络存储传输协议,如网络文件系统协议(NFS),通用网络文件系统(CIFS)等,并以文件的方式访问服务器中的数据。在上述现有技术进行实践和研究的过程中,本发明的发明人发现:当客户端发送写请求给服务器请求储存文件时,服务器会经过制造对象(Make_object)子过程、制造对象标识(Make_object_ID)子过程、查找对象元数据(Search_object_metadata)子过程、输入输出(IO)子过程和写对象元数据(Write_object_metadata)子过程。当客户端发送读请求给服务器请求读取文件时,服务器会经过查找对象标识子过程和数据读取子过程。在上述系统对数据进行存储和读取的过程中,对多个请求的操作过程复杂,会消耗比较大的系统资源。
发明内容
本发明实施例提供数据存储、读取方法及设备,降低了系统的消耗资源,优化了系统性能。
本发明实施例提供一种数据存储方法,包括:
将第一写请求中请求储存的文件分割成对象数据;
将第二写请求中请求储存的文件分割成对象数据,同时对所述第一写请求对应的对象数据进行储存。
本发明实施例提供一种数据存储方法,包括:
将写请求中请求储存的文件分割成对象数据;
将所述对象数据分成两份以上片段数据;
同时计算所述两份以上片段数据对应的片段数据内容标识;
将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
根据所述对象数据内容标识,储存所述文件对应的对象数据。
本发明实施例提供一种数据读取方法,包括:
查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括第一读请求中携带的对象数据的数据内容标识;
如果所述映射关系表中包括第一读请求中携带的对象数据的数据内容标识,则读取所述第一读请求中请求读取的对象数据,同时确定所述映射关系标识表中是否包括第二读请求中携带的对象数据的数据内容标识。
本发明实施例提供一种数据存储设备,包括:
第一分割单元,用于将第一写请求中请求储存的文件分割成对象数据,之后将第二写请求中请求储存的文件分割成对象数据,并将所述第一写请求对应的对象数据传送给第一存储单元进行储存;
第一存储单元,用于对所述第一分割单元传送的第一写请求对应的对象数据进行储存。
本发明实施例提供一种数据存储设备,包括:
第二分割单元,用于将写请求中请求储存的文件分割成对象数据;
第二片段划分单元,用于将所述第二分割单元分割的对象数据分成两份以上片段数据;
第二片段标识计算单元,用于同时计算所述第二片段划分单元划分的两份以上片段数据对应的片段数据内容标识;
第二拼接单元,用于将所述第二片段标识计算单元计算的两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
第二存储单元,用于根据所述第二拼接单元得到的对象数据内容标识,储存所述文件对应的对象数据。
本发明实施例提供一种数据读取设备,包括:
查找确定单元,用于查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括:第一读请求中携带的对象数据的数据内容标识,若包含,通知所述读取单元读取所述第一请求中请求读取的对象数据,并确定所述映射关系标识表中是否包括:第二读请求中携带的对象数据的数据内容标识;
读取单元,用于读取读请求中,请求读取的对象数据。
本发明实施例中的数据存储方法包括:将第一写请求中请求储存的文件分割成对象数据,将第二写请求中请求储存的文件分割成对象数据,同时对所述第一写请求对应的对象数据进行储存;数据读取方法包括:确定所述映射关系表中是否包括:第一读请求中携带的对象数据的数据内容标识,如果包括,则读取所述第一读请求中请求读取的对象数据,同时确定所述映射关系标识表中是否包括:第二读请求中携带的对象数据的数据内容标识。和现有技术中需要将一个写请求中请求储存的数据进行储存后,再处理另一写请求中请求储存的数据,及需要将一个读请求中请求的数据进行读取后,再读取另一读请求中请求的数据相比,本实施例的数据存储方法可以同步对不同的写请求进行处理,数据读取方法可以同步对不同的读请求进行处理,可以降低系统的消耗资源,提升数据储存的速率,从而优化系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是方法实施例一提供的数据存储方法的流程图;
图2是方法实施例二提供的数据存储方法的流程图;
图3是方法实施例二提供的数据存储方法中根据数据内容标识储存写请求对应的对象数据的流程图;
图4是方法实施例二提供的数据存储方法中计算写请求对应的对象数据的数据内容标识的流程图;
图5是方法实施例三提供的数据存储方法的流程图;
图6是方法实施例四提供的数据读取方法的流程图;
图7是设备实施例一提供的数据存储设备的结构示意图;
图8是设备实施例二提供的数据存储设备的结构示意图;
图9是设备实施例二提供的数据存储设备中标识计算单元的结构示意图;
图10是设备实施例三提供的数据存储设备的结构示意图;
图11是设备实施例四提供的数据读取设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例一
一种数据存储方法,且本实施例的方法可适用于数据处理系统,当服务器接收到客户端的写请求后,对数据的存储方法,流程图如图1所示,包括:
步骤101、第一线程池单元将第一写请求中请求储存的文件分割成对象数据;
步骤102、第一线程池单元将第二写请求中请求储存的文件分割成对象数据,同时第二线程池单元对所述第一写请求对应的对象数据进行储存。
本实施例中需要将文件分割成对象数据的过程,即制造对象子过程,与储存对象数据的过程,在不同的线程池单元中执行,分别用不同的中央处理单元(CPU)同时执行各自的步骤。
且上述第一写请求和第二写请求并不是表示顺序关系,而是为了区别不同的写请求,以下文件中提到的第一、第二等也是为了区别不同的信息、数据、请求或消息等。
可见,本发明实施例中的数据存储方法包括:将第一写请求中请求储存的文件分割成对象数据,将第二写请求中,请求储存的文件分割成对象数据,同时对所述第一写请求对应的对象数据进行储存。和现有技术中需要将一个写请求中请求储存的数据进行储存后,再处理另一写请求中请求储存的数据相比,本实施例的数据存储方法可以同步对不同的写请求进行处理,可以降低系统的消耗资源,提升数据储存的速率,从而优化系统性能。
方法实施例二
一种数据存储方法,且本实施例的方法可适用于数据处理系统,当服务器接收到客户端的写请求后,对数据的存储方法,流程图如图2所示,包括:
步骤201、第一线程池单元将第一写请求中请求储存的文件分割成对象数据,将第二写请求中请求储存的文件分割成对象数据;
在第一线程池单元将第二写请求中,请求储存的文件分割成对象数据的同时,第二线程池单元对所述第一写请求对应的对象数据进行储存;
本实施例中,第二线程池单元对所述第一写请求对应的对象数据进行储存是通过如下步骤来实现,主要是通过第一子单元和第二子单元来完成:
步骤202、第一子单元计算所述第一写请求对应的对象数据的第一数据内容标识;
这里,第一数据内容标识是能唯一标识对象数据的,具体地,可以通过哈希(Hash)算法,如利用信息-摘要算法5(MD5)和安全哈希算法(SHA1)计算,得到的Hash值即为对象数据对应的数据内容标识。
步骤203、第二子单元根据所述第一数据内容标识储存所述第一写请求对应的对象数据;
在本实施例中,第一子单元在执行步骤202所述的计算第一数据内容标识后,且在第二子单元执行步骤203所述的根据所述第一数据内容标识储存对象数据的同时,步骤202还包括:第一子单元计算第二写请求对应的对象数据的第二数据内容标识;而步骤203中第二子单元在储存第一写请求对应的对象数据后,储存第二写请求对应的对象数据。
上述步骤201通过第一线程池单元完成,步骤202和203通过第二线程池单元完成,比如,通过第一线程池单元中包括的第一子单元和第二子单元分别完成步骤202和203。
这里的第一数据内容标识和第二数据内容标识并不代表顺序关系,而是表示不同的数据内容标识。
本实施例中是将文件分割成对象数据的过程,即制造对象子过程、计算数据内容标识即制造对象标识子过程,及根据数据内容标识储存对象数据的过程,这几个过程用不同的功能单元如第一线程池单元、第一子单元和第二子单元实现,每个功能单元分别利用不同的CPU同步执行各自的步骤。
参考图3所示,在其它的实施例中,步骤203所述的第二子单元根据所述第一数据内容标识储存所述第一写请求对应的对象数据可以通过如下步骤来实现,主要通过第三子单元、第四子单元和第五子单元来完成,而其他步骤如上述实施例中所述,在此不再赘述:
A1、第三子单元查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括第一数据内容标识,若确定不包括,则执行步骤B1;若确定包括,则说明系统中已经储存了第一数据内容标识对应的元数据,则不进行对象数据的储存;
B1、第四子单元储存所述第一写请求对应的对象数据;可以通过扇区号为数据在硬盘上找到一段存储空间,调用硬盘输入-输出(I/O)将数据写入到分配好的硬盘扇区中存储;
C1、第五子单元根据步骤B1中的储存,创建新的映射关系,即步骤B1中储存的对象数据与第一数据内容标识的映射关系。
可以理解,在第三子单元执行步骤A1所述的确定是否包括第一数据内容标识后,第四子单元执行步骤B1所述的在储存所述第一写请求对应的对象数据的同时,步骤A1还包括:第三子单元确定所述映射关系表中是否包括第二数据内容标识;
如果映射关系表中也不包括第二数据内容标识,第四子单元在执行步骤B1所述的储存第一写请求对应的对象数据后,第五子单元在执行步骤C1所述的创建对象数据与第一数据内容标识的同时,步骤B1还包括:第四子单元储存第二数据内容标识对应的对象数据;
且步骤C1中第五子单元储存的对象数据与第一数据内容标识的映射关系后,第二写请求对应的对象数据与第二数据内容标识的映射关系。
上述步骤A1到C1是通过第二子单元完成,具体地,通过第二子单元中包括的第三子单元、第四子单元和第五子单元分别完成步骤A1到C1。
本实施例中,将系统中制造对象子过程、制造对象标识子过程、查找预置的映射关系表即查找对象元数据子过程、储存对象数据即输入输出子过程,和创建新映射关系即写对象元数据子过程,这5个子过程通过不同的功能单元如第一线程池单元、第一子单元、第三子单元、第四子单元和第五子单元来实现,组成流水线,且每个功能单元分别利用不同的CPU同时执行各自的步骤,并行处理多个写请求。
参考图4所示,在另一个实施例中,第一子单元执行步骤202所述的计算所述第一写请求对应的对象数据的第一数据内容标识时,可以通过如下步骤来实现:
A2、将所述第一写请求对应的对象数据分成两份以上片段数据;可以理解,在将对象数据分成片段数据时,可以按照数据大小,将一个写请求对应的对象数据平均分成两份以上片段数据,具体是几份可以在系统中进行预置;也可以按照系统中预置的其它规则来划分片段数据;
B2、同时计算所述两份以上片段数据对应的片段数据内容标识;可以利用不同的CPU来同步进行两份以上片段数据内容标识的计算。
C2、将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述第一写请求对应的对象数据的第一数据内容标识。
例如,计算a片段数据得到片段数据内容标识A,计算b片段数据得到片段数据内容标识B,则拼接成的新的标识为AB,即为第一数据内容标识。而不仅仅是在计算第一数据内容标识时,可以使用本实施例中的方法,在计算每个对象数据对应的数据内容标识时,都可以使用本发明实施例的方法。和现有技术中串行计算数据内容标识相比,本实施例的方法能减少计算数据内容标识的消耗时间,加快计算速度,提升系统性能。
上述的数据存储方法可以应用各种典型的基于内容存储系统中,如基于内容存储的系统,从写入不同长度的文件,得到写请求,直到对文件的存储完成返回这个过程中,记录写数据的吞吐率和CPU使用率。结果显示,采用本发明方法实施例中数据存储方法能提高25%左右的系统吞吐率,优化了系统的性能。
方法实施例三
一种数据存储方法,流程图如图5所示,包括:
步骤301、将写请求中请求储存的文件分割成对象数据;
步骤302、将所述对象数据分成两份以上片段数据;
可以理解,在将对象数据分成片段数据时,可以按照数据大小,将一个写请求对应的对象数据平均分成两份以上片段数据,具体是几份可以在系统中进行预置;也可以按照系统中预置的其它规则来划分片段数据;
步骤303、同时计算所述两份以上片段数据对应的片段数据内容标识;
可以利用不同的CPU来同步进行两份以上片段数据内容标识的计算。
步骤304、将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
例如,计算a片段数据得到片段数据内容标识A,计算b片段数据得到片段数据内容标识B,则拼接成的新的标识为AB,即为第一数据内容标识,而不仅仅是在计算第一数据内容标识时,可以使用本实施例中的方法,在计算每个对象数据对应的数据内容标识时,都可以使用本发明实施例的方法。和现有技术中串行计算数据内容标识相比,本实施例的方法能减少计算数据内容标识的消耗时间,加快计算速度,提升系统性能。
步骤305、根据所述对象数据内容标识,储存所述文件对应的对象数据。
储存对象数据的方法可以如实施例二中的方法所述,在此不再赘述。
在其它具体的实施例中,在步骤301将写请求中请求储存的文件分割成对象数据后,在对在将所述对象数据分成两份以上片段数据的同时,将另一写请求中,请求储存的文件分割成对象数据。且本方法实施例中的5个步骤可以在不同的CPU上同步实现,这样提高了系统的性能。
方法实施例四
一种数据读取方法,流程图如图6所示,包括:
步骤401、第一读取线程池单元查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括:第一读请求中携带的对象数据的数据内容标识,如果包括,则第二读取线程池单元执行步骤402;
具体地,可以根据读请求中包含的对象数据的Hash值查找预置的Hash-Metadata映射表,如果Hash值不存在,则确定为不包括;如果在映射表中查找到相应的Metadata数据,则确定包括。
步骤402、第二读取线程池单元读取所述第一读请求中请求读取的对象数据,同时第一读取线程池单元确定所述映射关系标识表中是否包括:第二读请求中携带的对象数据的数据内容标识。
具体地,在进行数据读取时可以通过硬盘I/O得到对象数据。
本发明方法实施例中的数据读取方法是,通过将系统中查找对象标识子过程和数据读取子过程,这2个子过程分布在2个线程池单元中实现,组成流水线,这样2个线程池单元即可同时进行工作,来并行处理多个读请求,但对于同一个读请求来说,还是现有的步骤顺序进行。
可见,本发明实施例中的数据读取方法包括:确定所述映射关系表中是否包括第一读请求中携带的对象数据的数据内容标识后,如果包括,则读取所述第一读请求中请求读取的对象数据,同时在确定所述映射关系标识表中是否包括第二读请求中携带的对象数据的数据内容标识。和现有技术中需要将一个读请求中请求的数据进行读取后,再读取另一读请求中请求的数据相比,本实施例的数据读取方法可以同步对不同的读请求进行处理,可以降低系统的消耗资源,提升数据读取的速率,从而优化系统性能。
设备实施例一
一种数据存储设备,结构示意图如图7所示,包括:
第一分割单元10,用于将第一写请求中请求储存的文件分割成对象数据,之后将第二写请求中请求储存的文件分割成对象数据,并将所述第一写请求对应的对象数据传送给第一存储单元20进行储存;
第一存储单元20,用于对所述第一分割单元10传送的第一写请求对应的对象数据进行储存。
本实施例的设备中第一分割单元10与第一存储单元20可以同步进行并行处理。且第一分割单元10将文件分割成对象数据,及第二存储单元20对对象数据进行储存的具体过程如方法实施例一中所述,在此不再赘述。
本发明实施例中的数据存储设备中:第一分割单元10将第一写请求中请求储存的文件分割成对象数据,将第二写请求中请求储存的文件分割成对象数据,并将第一写请求对应的对象数据传送给第一存储单元20进行储存。和现有技术中数据存储设备需要将一个写请求中请求储存的数据进行储存后,再处理另一写请求中请求储存的数据相比,本实施例的数据存储设备可以同步对不同的写请求进行处理,可以降低设备的消耗资源,提升数据储存的速率,从而优化设备性能。
设备实施例二
一种数据存储设备,本实施例的设备是在设备实施例一中设备的基础上,细化了第一存储单元20,结构示意图如图8所示,所述第一存储单元20具体包括:
标识计算单元210,用于计算所述第一写请求对应的对象数据的第一数据内容标识,之后计算所述第二写请求对应的对象数据的第二数据内容标识,并将所述第一数据内容标识传送给查找单元220;
本实施例中在第一分割单元10是将所述第一写请求对应的对象数据传送给第一存储单元20中的标识计算单元210。这里,第一数据内容标识和第二数据内容标识是能唯一标识对象数据的,具体地,可以通过Hash算法,如MD5和SHA1计算,得到的Hash值即为对象数据对应的数据内容标识。
查找单元220,用于查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括第一数据内容标识,若不包含,则将所述第一数据内容标识传送给数据存储单元230,并确定所述映射关系表中是否包括第二数据内容标识;
数据存储单元230,用于储存所述查找单元220传送的第一写请求对应的对象数据,创建所述第一写请求对应的对象数据与第一数据内容标识的映射关系。
本实施例的设备中,标识计算单元210、查找单元220和数据存储单元230可以同步执行各自单元的步骤,能节省设备的消耗能源,优化设备的性能。
参考图9所示,在一个具体的实施例中,标识计算单元210可以包括:
第一片段划分单元2101,用于将一个写请求对应的对象数据分成两份以上片段数据;可以理解,在将对象数据分成片段数据时,可以按照数据大小,将一个写请求对应的对象数据平均分成两份以上片段数据,具体是几份可以在系统中进行预置;也可以按照系统中预置的其它规则来划分片段数据;
第一片段标识计算单元2102,用于同时计算所述第一片段划分单元2101划分的两份以上片段数据对应的片段数据内容标识;
可以利用不同的CPU来同步进行两份以上片段数据内容标识的计算。
第一拼接单元2103,用于将所述第一片段标识计算单元2102计算的两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所一个写请求对应的对象数据的第一数据内容标识。
例如,计算a片段数据得到片段数据内容标识A,计算b片段数据得到片段数据内容标识B,则拼接成的新的标识为AB,即为第一数据内容标识,而不仅仅是在计算第一数据内容标识时,而且在计算每个对象数据对应的数据内容标识时,都可以使用本发明实施例的方法。和现有技术中存储设备利用串行计算数据内容标识相比,本实施例设备采用的方法能减少计算数据内容标识的消耗时间,加快计算速度,提升设备性能。
设备实施例三
一种数据存储设备,流程图如图10所示,包括:
第二分割单元30,用于将写请求中请求储存的文件分割成对象数据;
第二片段划分单元31,用于将所述第二分割单元30分割的对象数据分成两份以上片段数据;
可以理解,第二片段划分单元31在将对象数据分成片段数据时,可以按照数据大小,将一个写请求对应的对象数据平均分成两份以上片段数据,具体是几份可以在系统中进行预置;也可以按照系统中预置的其它规则来划分片段数据;
第二片段标识计算单元32,用于同时计算所述第二片段划分单元31划分的两份以上片段数据对应的片段数据内容标识;
第二拼接单元33,用于将所述第二片段标识计算单元32计算的两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
例如,计算a片段数据得到片段数据内容标识A,计算b片段数据得到片段数据内容标识B,则拼接成的新的标识为AB,即为第一数据内容标识,不仅仅是在计算第一数据内容标识时,而且在计算每个对象数据对应的数据内容标识时,都可以使用本发明实施例的方法。和现有技术中存储设备利用串行计算数据内容标识相比,本实施例的设备采用的方法能减少计算数据内容标识的消耗时间,加快计算速度,提升设备性能。
第二存储单元34,用于根据所述第二拼接单元33得到的对象数据内容标识,储存所述文件对应的对象数据。
设备实施例四
一种数据读取设备,流程图如图11所示,包括:
查找确定单元40,用于查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括:第一读请求中携带的对象数据的数据内容标识,若包含,通知所述读取单元41读取所述第一请求中请求读取的对象数据,并确定所述映射关系标识表中是否包括:第二读请求中携带的对象数据的数据内容标识;
读取单元41,用于读取读请求中请求读取的对象数据。
本发明实施例中的数据读取设备中:查找确定单元40确定所述映射关系表中是否包括第一读请求中携带的对象数据的数据内容标识,如果包括,通知读取单元41读取数据,并确定所述映射关系标识表中是否包括第二读请求中携带的对象数据的数据内容标识。和现有技术中数据读取设备需要将一个读请求中请求的数据进行读取后,再读取另一读请求中请求的数据相比,本实施例的数据读取设备可以同步对不同的读请求进行处理,可以降低系统的消耗资源,提升数据读取的速率,从而优化系统性能。
本发明实施例中的数据存储方法包括:将第一写请求中请求储存的文件分割成对象数据,将第二写请求中请求储存的文件分割成对象数据,同时对所述第一写请求对应的对象数据进行储存。和现有技术中需要将一个写请求中请求储存的数据进行储存后,再处理另一写请求中请求储存的数据相比,本实施例的数据存储方法可以同步对不同的写请求进行处理,可以降低系统的消耗资源,提升数据储存的速率,从而优化系统性能。
本发明实施例中的数据读取方法包括:确定所述映射关系表中是否包括:第一读请求中携带的对象数据的数据内容标识,如果包括,则读取所述第一读请求中请求读取的对象数据,同时确定所述映射关系标识表中是否包括:第二读请求中携带的对象数据的数据内容标识。和现有技术中需要将一个读请求中请求的数据进行读取后,再读取另一读请求中请求的数据相比,本实施例的数据读取方法可以同步对不同的读请求进行处理,可以降低系统的消耗资源,提升数据读取的速率,从而优化系统性能。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的数据存储、读取方法及设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种数据存储方法,其特征在于,包括:
将第一写请求中请求储存的文件分割成对象数据;
将第二写请求中请求储存的文件分割成对象数据,同时对所述第一写请求对应的对象数据进行储存。
2.如权利要求1所述的方法,其特征在于,所述对所述第一写请求对应的对象数据进行储存包括:
计算所述第一写请求对应的对象数据的第一数据内容标识;
根据所述第一数据内容标识储存所述第一写请求对应的对象数据;
所述方法还包括:根据所述第一数据内容标识储存所述第一写请求对应的对象数据的同时,计算所述第二写请求对应的对象数据的第二数据内容标识。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一数据内容标识储存所述第一写请求对应的对象数据包括:
查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括第一数据内容标识;
若确定不包括,则储存所述第一写请求对应的对象数据,创建所述第一写请求对应的对象数据与第一数据内容标识的映射关系;
所述方法的还包括:在确定所述映射关系表中是否包括第一数据内容标识后,在储存所述一个写请求对应的对象数据的同时,确定所述映射关系表中是否包括第二数据内容标识。
4.如权利要求3所述的方法,其特征在于,若确定所述映射关系表中不包括第二数据内容标识,则在储存所述第一写请求对应的对象数据之后,创建所述第一写请求对应的对象数据与第一数据内容标识的映射关系的同时还包括:储存所述第二写请求内容标识对应的对象数据。
5.如权利要求2或3或4所述的方法,其特征在于,所述计算所述第一写请求对应的对象数据的第一数据内容标识包括:
将所述第一写请求对应的对象数据分成两份以上片段数据;
同时计算所述两份以上片段数据对应的片段数据内容标识;
将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述第一写请求对应的对象数据的第一数据内容标识。
6.一种数据存储方法,其特征在于,包括:
将写请求中请求储存的文件分割成对象数据;
将所述对象数据分成两份以上片段数据;
同时计算所述两份以上片段数据对应的片段数据内容标识;
将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
根据所述对象数据内容标识,储存所述文件对应的对象数据。
7.一种数据读取方法,其特征在于,包括:
查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括第一读请求中携带的对象数据的数据内容标识;
如果所述映射关系表中包括第一读请求中携带的对象数据的数据内容标识,则读取所述第一读请求中请求读取的对象数据,同时确定所述映射关系标识表中是否包括第二读请求中携带的对象数据的数据内容标识。
8.一种数据存储设备,其特征在于,包括:
第一分割单元,用于将第一写请求中请求储存的文件分割成对象数据,之后将第二写请求中请求储存的文件分割成对象数据,并将所述第一写请求对应的对象数据传送给第一存储单元进行储存;
第一存储单元,用于对所述第一分割单元传送的第一写请求对应的对象数据进行储存。
9.如权利要求8所述的设备,其特征在于,所述第一存储单元包括:
标识计算单元,用于计算所述第一写请求对应的对象数据的第一数据内容标识,之后计算所述第二写请求对应的对象数据的第二数据内容标识,并将所述第一数据内容标识传送给查找单元;
查找单元,用于查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括第一数据内容标识,若不包含,则将所述第一数据内容标识传送给数据存储单元,并确定所述映射关系表中是否包括第二数据内容标识;
数据存储单元,用于储存所述查找单元传送的一个写请求对应的对象数据,之后创建所述第一写请求对应的对象数据与第一数据内容标识的映射关系。
10.如权利要求9所述的设备,其特征在于,所述标识计算单元包括:
第一片段划分单元,用于将一个写请求对应的对象数据分成两份以上片段数据;
第一片段标识计算单元,用于同时计算所述第一片段划分单元划分的两份以上片段数据对应的片段数据内容标识;
第一拼接单元,用于将所述第一片段标识计算单元计算的两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述一个写请求对应的对象数据的第一数据内容标识。
11.一种数据存储设备,其特征在于,包括:
第二分割单元,用于将写请求中请求储存的文件分割成对象数据;
第二片段划分单元,用于将所述第二分割单元分割的对象数据分成两份以上片段数据;
第二片段标识计算单元,用于同时计算所述第二片段划分单元划分的两份以上片段数据对应的片段数据内容标识;
第二拼接单元,用于将所述第二片段标识计算单元计算的两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
第二存储单元,用于根据所述第二拼接单元得到的对象数据内容标识,储存所述文件对应的对象数据。
12.一种数据读取设备,其特征在于,包括:
查找确定单元,用于查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括:第一读请求中携带的对象数据的数据内容标识,若包含,通知所述读取单元读取所述第一请求中请求读取的对象数据,并确定所述映射关系标识表中是否包括:第二读请求中携带的对象数据的数据内容标识;
读取单元,用于读取读请求中请求读取的对象数据。
CN200910252582A 2009-12-29 2009-12-29 数据存储、读取方法及设备 Active CN101770504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910252582A CN101770504B (zh) 2009-12-29 2009-12-29 数据存储、读取方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910252582A CN101770504B (zh) 2009-12-29 2009-12-29 数据存储、读取方法及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2011102759304A Division CN102722506A (zh) 2009-12-29 2009-12-29 数据存储方法及设备

Publications (2)

Publication Number Publication Date
CN101770504A true CN101770504A (zh) 2010-07-07
CN101770504B CN101770504B (zh) 2012-08-29

Family

ID=42503367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910252582A Active CN101770504B (zh) 2009-12-29 2009-12-29 数据存储、读取方法及设备

Country Status (1)

Country Link
CN (1) CN101770504B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968795A (zh) * 2010-09-03 2011-02-09 清华大学 一种数据块长度可变的文件系统缓存方法
CN107357685A (zh) * 2017-07-11 2017-11-17 清华大学 一种数据存储的容错冗余方法及设备
WO2018000817A1 (zh) * 2016-07-01 2018-01-04 中兴通讯股份有限公司 一种信息处理方法及装置、计算机存储介质
CN108737473A (zh) * 2017-04-20 2018-11-02 贵州白山云科技有限公司 一种数据处理方法、装置及系统
CN105260374B (zh) * 2015-07-17 2019-03-15 中国科学院计算技术研究所 异步流水线式的图查询方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078907B (zh) * 2012-12-26 2016-03-30 华为技术有限公司 上传、云备份、查找、恢复数据的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1166134C (zh) * 1999-05-12 2004-09-08 华为技术有限公司 用于atm交换结构中的流水线式共享存储器读写方法
EP1508862A1 (en) * 2003-08-21 2005-02-23 Deutsche Thomson-Brandt GmbH Method for seamless real-time splitting and concatenating of a data stream
CN201149691Y (zh) * 2007-11-06 2008-11-12 孙国仲 存储装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968795A (zh) * 2010-09-03 2011-02-09 清华大学 一种数据块长度可变的文件系统缓存方法
CN105260374B (zh) * 2015-07-17 2019-03-15 中国科学院计算技术研究所 异步流水线式的图查询方法及系统
WO2018000817A1 (zh) * 2016-07-01 2018-01-04 中兴通讯股份有限公司 一种信息处理方法及装置、计算机存储介质
CN108737473A (zh) * 2017-04-20 2018-11-02 贵州白山云科技有限公司 一种数据处理方法、装置及系统
CN108737473B (zh) * 2017-04-20 2019-12-20 贵州白山云科技股份有限公司 一种数据处理方法、装置及系统
CN107357685A (zh) * 2017-07-11 2017-11-17 清华大学 一种数据存储的容错冗余方法及设备

Also Published As

Publication number Publication date
CN101770504B (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN101770504B (zh) 数据存储、读取方法及设备
CN106657213B (zh) 文件传输方法和装置
CN101944124B (zh) 分布式文件系统管理方法、装置以及对应的文件系统
CN102725755B (zh) 文件访问方法及系统
CN107704202B (zh) 一种数据快速读写的方法和装置
US20100312749A1 (en) Scalable lookup service for distributed database
CN110321466B (zh) 一种基于语义分析的证券资讯查重方法及系统
CN107943572B (zh) 数据迁移方法、装置、计算机设备和存储介质
CN102722506A (zh) 数据存储方法及设备
CN107037978A (zh) 数据迁移校正方法及系统
CN106708443B (zh) 数据读写方法及装置
CN103399823A (zh) 业务数据的存储方法、设备和系统
CN101963977A (zh) 无城市搜索方法及移动终端
CN103353850A (zh) 虚拟机热迁移内存处理方法、装置和系统
CN106375425A (zh) 分布式缓存的处理方法和装置
CN105353987A (zh) 一种文件处理方法及装置
CN102308296A (zh) 哈希计算处理方法及装置
CN110134646B (zh) 知识平台服务数据存储与集成方法及系统
CN107423321B (zh) 适用大批量小文件云存储的方法及其装置
CN108399175B (zh) 一种数据存储、查询方法及其装置
CN109739854A (zh) 一种数据存储方法及装置
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN106934066A (zh) 一种元数据处理方法、装置和存储设备
CN111427917A (zh) 搜索数据处理方法及相关产品
CN114401239B (zh) 元数据传输方法、装置、计算机设备和存储介质

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
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Patentee after: TSINGHUA University

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

Patentee before: Tsinghua University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221114

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Patentee after: TSINGHUA University

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Patentee before: TSINGHUA University