CN102722506A - 数据存储方法及设备 - Google Patents
数据存储方法及设备 Download PDFInfo
- Publication number
- CN102722506A CN102722506A CN2011102759304A CN201110275930A CN102722506A CN 102722506 A CN102722506 A CN 102722506A CN 2011102759304 A CN2011102759304 A CN 2011102759304A CN 201110275930 A CN201110275930 A CN 201110275930A CN 102722506 A CN102722506 A CN 102722506A
- Authority
- CN
- China
- Prior art keywords
- data
- object data
- request
- fragment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000013500 data storage Methods 0.000 title claims abstract description 21
- 239000012634 fragment Substances 0.000 claims description 94
- 238000003860 storage Methods 0.000 claims description 60
- 238000013507 mapping Methods 0.000 claims description 33
- 238000005520 cutting process Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 abstract 2
- 238000007726 management method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 210000000352 storage cell Anatomy 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了数据存储方法及设备,应用于信息管理技术领域。本发明实施例中的数据存储方法包括:将写请求中请求储存的文件分割成对象数据;将所述对象数据分成两份以上片段数据;同时计算所述两份以上片段数据对应的片段数据内容标识;将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;根据所述对象数据内容标识,储存所述文件对应的对象数据。和现有技术中在对写请求中请求储存的数据储存的过程中,串行计算数据内容标识相比,本实施例的方法可以同时计算多个片段数据对应的片段数据内容标识,这样可以减少计算对象数据内容标识的消耗时间,加快计算速度,从而优化了系统性能。
Description
本申请是申请日为2009年12月29日、申请号为200910252582.1、发明名称为“数据存储、读取方法及设备”的中国专利申请的分案申请。
技术领域
本发明涉及信息技术领域,特别涉及数据存储方法及设备。
背景技术
在如今的海量数据信息中,有超过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 (7)
1.一种数据存储方法,其特征在于,包括:
将写请求中请求储存的文件分割成对象数据;
将所述对象数据分成两份以上片段数据;
同时计算所述两份以上片段数据对应的片段数据内容标识;
将所述两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
根据所述对象数据内容标识,储存所述文件对应的对象数据。
2.如权利要求1所述的方法,其特征在于,所述将所述对象数据分成两份以上片段数据具体包括:按照数据大小,将一个写请求对应的对象数据平均分成两份以上片段数据;或按照系统中预置的规则来划分片段数据。
3.如权利要求1所述的方法,其特征在于,在所述将写请求中请求储存的文件分割成对象数据后,在对所述对象数据分成两份以上片段数据的同时,将另一写请求中请求储存的文件分割成对象数据。
4.如权利要求1所述的方法,其特征在于,在不同的中央处理单元CPU上同步并行执行各自步骤,所述步骤为:所述分割成对象数据、分成片段数据、计算片段数据内容标识、拼接或储存。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述对象数据内容标识,储存所述文件对应的对象数据具体包括:
查找预置的数据内容标识与元数据的映射关系表,确定所述映射关系表中是否包括所述对象数据内容标识;
若确定不包括,则储存所述文件对应的对象数据,创建所述文件对应的对象数据与对象数据内容标识的映射关系。
6.如权利要求5所述的方法,其特征在于,所述在确定所述映射关系表中是否包括所述对象数据内容标识后,在储存所述文件对应的对象数据的同时,确定所述映射关系表中是否包括另一对象数据内容标识,所述另一对象数据内容标识是另一写请求中请求储存的文件分割成的对象数据的内容标识。
7.一种数据存储设备,其特征在于,包括:
第二分割单元,用于将写请求中请求储存的文件分割成对象数据;
第二片段划分单元,用于将所述第二分割单元分割的对象数据分成两份以上片段数据;
第二片段标识计算单元,用于同时计算所述第二片段划分单元划分的两份以上片段数据对应的片段数据内容标识;
第二拼接单元,用于将所述第二片段标识计算单元计算的两份以上片段数据对应的片段数据内容标识,拼接成新的标识作为所述对象数据的对象数据内容标识;
第二存储单元,用于根据所述第二拼接单元得到的对象数据内容标识,储存所述文件对应的对象数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102759304A CN102722506A (zh) | 2009-12-29 | 2009-12-29 | 数据存储方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102759304A CN102722506A (zh) | 2009-12-29 | 2009-12-29 | 数据存储方法及设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910252582A Division CN101770504B (zh) | 2009-12-29 | 2009-12-29 | 数据存储、读取方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102722506A true CN102722506A (zh) | 2012-10-10 |
Family
ID=46948273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102759304A Pending CN102722506A (zh) | 2009-12-29 | 2009-12-29 | 数据存储方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722506A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065096A (zh) * | 2012-12-18 | 2013-04-24 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
CN103078907A (zh) * | 2012-12-26 | 2013-05-01 | 华为技术有限公司 | 上传、云备份、查找、恢复数据的方法及装置 |
CN106326241A (zh) * | 2015-06-15 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 在将数据表拆分的过程中读写数据表的方法和装置 |
CN106775437A (zh) * | 2015-11-24 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置 |
CN107229427A (zh) * | 2017-06-22 | 2017-10-03 | 上海七牛信息技术有限公司 | 一种文件存储方法、系统及计算机存储介质 |
CN108737473A (zh) * | 2017-04-20 | 2018-11-02 | 贵州白山云科技有限公司 | 一种数据处理方法、装置及系统 |
-
2009
- 2009-12-29 CN CN2011102759304A patent/CN102722506A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065096A (zh) * | 2012-12-18 | 2013-04-24 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
CN103065096B (zh) * | 2012-12-18 | 2016-06-08 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
CN103078907A (zh) * | 2012-12-26 | 2013-05-01 | 华为技术有限公司 | 上传、云备份、查找、恢复数据的方法及装置 |
CN103078907B (zh) * | 2012-12-26 | 2016-03-30 | 华为技术有限公司 | 上传、云备份、查找、恢复数据的方法及装置 |
CN106326241A (zh) * | 2015-06-15 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 在将数据表拆分的过程中读写数据表的方法和装置 |
CN106775437A (zh) * | 2015-11-24 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置 |
CN106775437B (zh) * | 2015-11-24 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置 |
CN108737473A (zh) * | 2017-04-20 | 2018-11-02 | 贵州白山云科技有限公司 | 一种数据处理方法、装置及系统 |
CN108737473B (zh) * | 2017-04-20 | 2019-12-20 | 贵州白山云科技股份有限公司 | 一种数据处理方法、装置及系统 |
CN107229427A (zh) * | 2017-06-22 | 2017-10-03 | 上海七牛信息技术有限公司 | 一种文件存储方法、系统及计算机存储介质 |
CN107229427B (zh) * | 2017-06-22 | 2019-10-18 | 上海七牛信息技术有限公司 | 一种文件存储方法、系统及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10346363B2 (en) | Deduplicated file system | |
US20210294778A1 (en) | Small-file storage optimization system based on virtual file system in kubernetes user-mode application | |
CN101770504B (zh) | 数据存储、读取方法及设备 | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN102722506A (zh) | 数据存储方法及设备 | |
CN101860449A (zh) | 一种数据查询方法、装置及系统 | |
CN107037978A (zh) | 数据迁移校正方法及系统 | |
CN106708443B (zh) | 数据读写方法及装置 | |
CN102169491B (zh) | 一种多数据集中重复记录动态检测方法 | |
CN105205143A (zh) | 一种文件存储及处理方法、设备和系统 | |
CN103399823A (zh) | 业务数据的存储方法、设备和系统 | |
CN101963977A (zh) | 无城市搜索方法及移动终端 | |
CN105353987A (zh) | 一种文件处理方法及装置 | |
CN105677904A (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN111159235A (zh) | 数据预分区方法、装置、电子设备及可读存储介质 | |
CN112948330A (zh) | 数据合并方法、装置、电子设备、存储介质及程序产品 | |
CN109787884A (zh) | 一种消息推送方法和装置 | |
CN109739854A (zh) | 一种数据存储方法及装置 | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
CN107423321B (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN102201922B (zh) | 一种数据计费方法和相关装置 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
Nguyen et al. | An index scheme for similarity search on cloud computing using mapreduce over docker container | |
CN116755637B (zh) | 交易数据存储方法、装置、设备及介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 |
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 |
Application publication date: 20121010 |