CN111158606A - 存储方法、装置、计算机设备和存储介质 - Google Patents

存储方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111158606A
CN111158606A CN201911418326.5A CN201911418326A CN111158606A CN 111158606 A CN111158606 A CN 111158606A CN 201911418326 A CN201911418326 A CN 201911418326A CN 111158606 A CN111158606 A CN 111158606A
Authority
CN
China
Prior art keywords
data block
data
offset
read
uploading
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
CN201911418326.5A
Other languages
English (en)
Other versions
CN111158606B (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.)
Scutech Corp
Original Assignee
Scutech Corp
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 Scutech Corp filed Critical Scutech Corp
Priority to CN201911418326.5A priority Critical patent/CN111158606B/zh
Publication of CN111158606A publication Critical patent/CN111158606A/zh
Application granted granted Critical
Publication of CN111158606B publication Critical patent/CN111158606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种存储方法、装置、计算机设备和存储介质。所述方法包括:根据原始文件获取多个数据块;获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息;在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。采用本方法可以摆脱传统对象存储系统中对于上传文件大小的限制。

Description

存储方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种存储方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,大数据的应用越来越广泛,而大数据的应用离不开大量的数据支持,这些数据需要进行存储以供很多平台对数据的资源共享,因此,面对庞大的数据存储需求,对数据存储提出了更多的挑战。
对象存储具有海量存储、无限扩容、存取快速、低成本等优点,是一个非常适用于静态数据的存储系统。其支持两种上传文件的接口:普通上传和分片上传。普通上传接口是将文件内容通过一个HTTP请求一次性上传到对象存储服务器,生成对象;分片上传接口是将文件分成多个分片,每次上次一个分片,最后再将分片组合成对象。普通上传接口对文件大小有限制,典型的最大大小为5G字节;分片上传接口有两个方面的限制:1)分片数量2)分片大小,这两个限制组合决定了使用分片上传接口可以创建保存的最大对象的大小,主流的公有云对象存储服务,该最大值一般为5T字节。
若需要存储的文件数据较大,如对于备份虚拟机、分布式数据库等应用生成的备份集文件进行存储时,由于超过了存储对象的最大限制,传统的存储技术无法满足相应的存储需求,且传统的存储技术无法支持稀疏文件的存储需求。
发明内容
基于此,有必要针对上述技术问题,提供一种时效性好且准确度高的存储方法、装置、计算机设备和存储介质。
第一方面,本发明实施例提供一种存储方法,所述方法包括:
根据原始文件获取多个数据块;
获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
在本申请的一个实施例中,所述将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,包括:
将所述数据块上传至所述对象存储系统中的当前数据对象,作为所述当前数据对象的分片,并记录所述当前数据对象的分片数;
若所述当前数据对象的分片数达到预设的分片阈值或所述数据块为最后一个需要上传的数据块,发送合并指令至所述对象存储系统,并获取新的初始数据对象作为当前数据对象;所述合并指令用于将所述当前数据对象中的分片合并为所述数据对象。
在本申请的一个实施例中,在各所述数据块上传完成后,及在所述将所述元数据文件上传至所述对象存储系统,并作为元数据对象的步骤之前,所述方法还包括:
根据各所述数据块在所述原始文件中的第一偏移,生成各所述数据块对应的索引信息;
将各所述数据块对应的索引信息保存至所述元数据文件中的索引信息部。
在本申请的一个实施例中,所述方法还包括:
获取对所述原始文件中待读取数据的读取请求,所述读取请求包括待读取数据在所述原始文件中的起始偏移及结束偏移;
根据所述起始偏移及所述结束偏移,在所述元数据文件中获取至少一个待读取数据块;
根据各所述待读取数据块的数据块信息,所述起始偏移及所述结束偏移,获取各所述待读取数据块中的待读取子数据;
根据各所述待读取数据块中的待读取子数据确定所述待读取数据。
在本申请的一个实施例中,所述根据所述起始偏移及所述结束偏移,在所述元数据文件中获取至少一个待读取数据块,包括:
若所述元数据文件中包括索引信息部,在所述索引信息部中获取所述起始偏移对应的起始索引信息及所述结束偏移对应的结束索引信息,根据所述起始索引信息及所述结束索引信息在所述索引信息部中确定所述至少一个待读取数据块;
若所述元数据文件中不包括索引信息部,获取所述数据块信息部中各数据块的第一偏移及数据块大小,确定各所述数据块对应的数据块起始偏移及数据块结束偏移;根据各所述数据块对应的数据块起始偏移及数据块结束偏移,与所述起始偏移及所述结束偏移的位置关系,确定所述至少一个待读取数据块。
在本申请的一个实施例中,所述根据各所述待读取数据块的数据块信息,及所述起始偏移及所述结束偏移,获取各所述待读取数据块中的待读取子数据,包括:
获取各所述待读取数据块的数据类型;
若所述待读取数据块的数据类型为有效数据,根据所述待读取数据的第一偏移、数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移、所述起始偏移及所述结束偏移,获取所述待读取子数据的起终点;根据所述待读取子数据的起终点在对应的数据对象中获取所述待读取子数据;
若所述待读取数据块的数据类型为无效数据,根据所述待读取数据的第一偏移、数据块大小、所述起始偏移及所述结束偏移,获取所述待读取子数据的空值长度,并生成与所述空值长度对应的无效数据作为所述待读取子数据。
第二方面,本发明实施例提供一种存储装置,所述装置包括:
数据块生成模块,用于根据原始文件获取多个数据块;
数据块上传模块,用于获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
元数据文件上传模块,用于在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据原始文件获取多个数据块;
获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据原始文件获取多个数据块;
获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
上述存储方法、装置、计算机设备和存储介质,通过根据原始文件获取多个数据块;获取各数据块的数据类型,若数据块的数据类型为有效数据,将数据块上传至对象存储系统中与数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录数据块对应的第一数据块信息;第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在原始文件中的第一偏移、对应的数据对象的数据对象标识及在数据对象中的第二偏移;若数据块的数据类型为无效数据,则停止上传数据块至对象存储系统,并在初始元数据文件中的数据块信息部中记录数据块的第二数据块信息,第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在原始文件中的第一偏移;在各数据块上传完成后,将元数据文件上传至对象存储系统,并作为元数据对象。通过本申请提供的存储方法,由于将原始文件分为多个数据块并存储至不同的数据对象中,摆脱了传统对象存储系统中对于文件大小的限制,由于对原始文件中有效数据块及无效数据块分别进去对应的存储步骤,实现了在对象存储系统中存储系数文件的方案,由于通过生成元数据对象并上传至对象存储系统中,可以保证存储在不同的数据对象中的数据块可以被快速有效的读取。
附图说明
图1为本申请实施例提供的存储方法的实施环境图;
图2为本申请实施例提供的一种存储方法的流程图;
图3为本申请实施例提供的另一种存储方法的流程图;
图4为本申请实施例提供的另一种存储方法的流程图;
图5为本申请实施例提供的另一种存储方法的流程图;
图6为本申请实施例提供的另一种存储方法的流程图;
图7为本申请实施例提供的另一种存储方法的流程图;
图8为本申请实施例提供的一种存储装置的框图;
图9为本申请实施例提供的另一种存储装置的框图;
图10为本申请实施例提供的一种计算机设备的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的存储方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。所述服务器中设置有对象存储系统,用于存储终端102上传的数据。
请参考图2,其示出了本实施例提供的一种存储方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,根据原始文件获取多个数据块。
在本申请的一个实施例中,在终端接收到用户对原始文件的上传指令后,终端会将该原始文件划分为多个数据块,在一个实施例中,终端对该原始文件进行数据块分块操作时,可以采用任意一种分块方式,分块得到的多个数据块大小可以为相同大小,也可以为不同大小,本申请对此不作限定。在生成各所述数据块的同时,会记录各所述数据块在该原始文件中的第一偏移及各所述数据块的数据块大小,具体的,该第一偏移用于表征数据块的开始字节在原始元件中的位置。
在本申请的一个实施例中,终端可以根据预设的分块方法,对该原始文件进行数据块的划分,其中,可以在终端对将该原始文件完成所有数据块的分块操作后,进行各数据块的上传,也可以在每得到一个数据块时,将得到的数据块上传至对象存储系统。具体的,该原始文件可以包括普通文件类型及数据流类型,当该原始文件为普通文件类型时,终端可以预知该原始文件的文件信息,该文件信息可以包括文件大小及文件构成,终端可以根据该文件信息对该原始文件进行分块处理。当该原始文件为数据流类型时,在数据读取完毕之前无法获取该原始文件的文件信息,仅仅通过该数据流的结束符或其他控制方式判断数据流的开始和结束,此时,终端会根据获取到的数据流生成随机大小的数据块,并在数据块生成时,将该数据块上传至对象存储系统。
在本申请的一个实施例中,若该原始文件中存在部分的空白数据时,即该原始文件为稀疏文件时,可以将该原始文件中连续的空白数据划分为一个数据块,该数据块的大小为连续空白数据的长度。例如,若原始文件中共包括1000个字节,其中,该原始文件中第100个字节到第300个字节为空白数据,可以将该第100个字节到第300个字节划分为同一个数据块,该数据块的大小为201个字节。
步骤204,获取各数据块的数据类型,若数据块的数据类型为有效数据,将数据块上传至对象存储系统中与数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录数据块对应的第一数据块信息;第一数据块信息包括数据块编号,数据块大小、数据块在原始文件中的第一偏移、对应的数据对象的数据对象标识及在数据对象中的第二偏移;若数据块的数据类型为无效数据,则停止上传数据块至对象存储系统,并在初始元数据文件中的数据块信息部中记录数据块的第二数据块信息,第二数据块信息包括数据块编号,数据块大小、数据块在原始文件中的第一偏移。
在本申请的一个实施例中,在终端得到各数据块时,会根据各数据块的数据类型,执行对应的存储操作。具体的,数据块的数据类型可以包括有效数据及无效数据,其中,若数据块中存在真实(非空)字节时,该数据块的数据类型为有效数据;若数据块中的各个字节均为空字节时,该数据块的数据类型为无效数据。
在本申请的一个实施例中,若该数据块的数据类型为有效数据,则使用分片上传接口,将该数据块上传至对象存储系统中的与该数据块对应的数据对象中,在上传过程中,若完成了该数据块的上传操作,则在预设的元数据文件中的数据块信息部记录该数据块及该数据块对应的第一数据块信息。其中,在记录该数据块时,会根据该数据块上传完成的顺序生成该数据块的数据块编号,保存至数据信息部中与该数据块对应的第一数据块信息中;在记录该数据块对应的数据块信息时,会根据该数据块上传的数据对象及该数据块在该数据对象中的位置得到该数据块对应的数据对象的数据对象标识及在数据对象中的第二偏移,保存至数据信息部中与该数据块对应的第一数据块信息中;同时,还将该数据块的数据块大小、数据块在原始文件中的第一偏移记录在元数据文件中的数据块信息部中与该数据块对应的第一数据块信息中,具体的,该第二偏移用于表征数据块的开始字节在数据对象中的位置。
在本申请的一个实施例中,终端可以同时上传多个数据块至该对象存储系统中对应的数据对象中,例如,存在a、b、c三个数据块,在该对象存储系统中存在a数据块对应的数据对象1,b数据块对应的数据对象2及c数据块对应的数据对象3。在同一时刻,终端可以通过多个线程分别上传a、b、c三个数据块至对应的数据对象1、数据对象2及数据对象3,若上传完成的顺序为b、a、c,且b对应的数据块编号为m,则a对应的数据块编号为m+1,c对应的数据块编号为m+2。对于数据块b,在该数据块b完成上传至对应的数据对象2时,在终端的元数据文件的数据块信息部中,记录该数据块b,及其对应的第一数据块信息,包括数据块编号m,数据块b的大小,数据块b在原始文件中的第一偏移,数据对象2的数据对象标识,及该数据块b在该数据对象2中的第二偏移。
稀疏文件(sparse file)是一种计算机文件,它能尝试在文件内容大多为空时更有效率地使用文件系统的空间。它的原理是以简短的信息(元数据)表示空数据块,而不是在在磁盘上占用实际空间来存储空数据块,只有真实(非空)的数据块会按原样写入磁盘。向对象存储系统中存储时,需要完整的文件数据或分片数据,不支持在数据对象中存储空数据块,在实际使用中,将稀松文件保存至对象存储系统,需要使用NULL(0)来填充文件中空数据块,这会浪费大量的实际存储空间和传输带宽。因此,在本申请的一个实施例中,当终端判定该数据块的数据类型为无效数据时,即该数据块中所有字节均为无效数据时,不会将该数据块上传至该对象存储系统,同时,终端会在该元数据文件中记录该数据块及该数据块对应的第二数据块信息,相比于有效数据对应的第一数据块信息,第二数据块信息不会存储数据块在原始文件中的第一偏移、对应的数据对象的数据对象标识及在数据对象中的第二偏移。
在本申请的一个实施例中,该数据类型为无效数据的数据块对应的第二数据块信息被保存至该元数据文件中,在对该数据块进行读取过程中,通过读取元数据对象中该元数据文件中该数据块对应的第二数据块信息,可以准确的还原该数据块。
步骤206,在各数据块上传完成后,将元数据文件上传至对象存储系统,并作为元数据对象。
在本申请的一个实施例中,当该终端完成了对该原始文件对应的所有的数据块的上传操作后,该元数据文件也包括了所有数据块及各数据块对应的第一数据块信息。终端会将包括所有数据块及对应的第一数据块信息的元数据文件上传至该对象存储系统,生成对应的元数据对象,此时,远端的对象存储系统中已经存储了该原始文件对应的元数据对象及至少一个数据对象,上传存储完成。
在本申请的一个实施例中,该元数据文件中还包括属性信息部,该属性信息部用于存储该原始文件的文件属性,具体的,该文件属性可以包括原始文件的文件大小、生成时间、修改时间、所有者等属性,可选的,该属性信息部还用于存储该原始文件使用的多个数据对象的统一前缀、数据块信息部在元数据文件中的存储偏移。
在本申请实施例提供的存储方法中,通过根据原始文件获取多个数据块;获取各数据块的数据类型,若数据块的数据类型为有效数据,将数据块上传至对象存储系统中与数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录数据块对应的第一数据块信息;第一数据块信息包括数据块编号,数据块大小、数据块在原始文件中的第一偏移、对应的数据对象的数据对象标识及在数据对象中的第二偏移;在各数据块上传完成后,将元数据文件上传至对象存储系统,并作为元数据对象。通过本申请提供的存储方法,由于将原始文件分为多个数据块并存储至不同的数据对象中,摆脱了传统对象存储系统中对于文件大小的限制,由于通过生成元数据对象并上传至对象存储系统中,可以保证存储在不同的数据对象中的数据块可以被快速有效的读取。
请参考图3,其示出了本实施例提供的另一种存储方法的流程图,该存储方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,上述步骤202具体可以包括以下步骤:
步骤302,将数据块上传至对象存储系统中的当前数据对象,作为当前数据对象的分片,并记录当前数据对象的分片数。
在本申请的一个实施例中,当需要向对象存储系统上传第一个数据块时,终端会通过分片上传接口启动一个新的初始数据对象,即对象存储系统会给终端分配该初始数据对象的唯一标识,该唯一标识可以表征该初始数据对象在对象存储系统中的位置,该初始数据对象为空,不包括任何分片。终端会根据用户的设定为该初始数据对象生成对应的数据对象名称,并将该初始数据对象作为当前数据对象,在上传数据块时,会将需要上传的数据块上传至该当前数据对象中,作为该数据对象的一个分片,同时,记录该当前数据对象的分片数。
步骤304,若当前数据对象的分片数达到预设的分片阈值或数据块为最后一个需要上传的数据块,发送合并指令至对象存储系统,并获取新的初始数据对象作为当前数据对象;合并指令用于将当前数据对象中的分片合并为数据对象。
在本申请的一个实施例中,若在上传一个数据块后,使得该当前数据对象的分片数达到预设的分片阈值,此时,表示该当前数据对象已经无法存储新上传的数据块。对象存储系统会给终端重新分配一个新的初始数据对象作为当前数据对象,以接收新的数据块。在进一步的实施例中,当该当前数据对象的分片数已经达到预设的分片阈值后,会向对象存储系统发送对该当前数据对象的合并指令,该对象存储系统会根据该合并指令将该当前数据对象中的分片合并为最终的数据对象。
在本申请的一个实施例中,若上传的数据块为最后一个需要上传的数据块,即当完成该数据块的上传操作后,已经没有其他数据块需要上传时,终端会向对象存储系统发送对该当前数据对象的合并指令,该对象存储系统会根据该合并指令将该当前数据对象中的分片合并为最终的数据对象。在一个具体的实施例中,若存在a、b、c三个数据块仍未被上传,在一个时间点中,正在执行a数据块上传至对应的数据对象1及b数据块上传至对应的数据对象2的上传步骤,之后,当a数据块完成上传过程,此时,还有c数据块需要上传,在数据对象1中分片数未达到预设的分片阈值时,终端会继续执行将c数据块上传至数据对象1的上传操作,之后当b数据块完成上传过程后,此时,已经没有数据块需要被上传,因此,终端会向数据对象2发送合并指令,使对象存储系统对数据对象2中的分片进行合并,同理,当c数据块完成上传过程后,终端会向数据对象1发送合并指令。
在本申请实施例提供的存储方法中,通过将所述数据块上传至所述对象存储系统中的当前数据对象,作为所述当前数据对象的分片,并记录所述当前数据对象的分片数;若所述当前数据对象的分片数达到预设的分片阈值或所述数据块为最后一个需要上传的数据块,发送合并指令至所述对象存储系统,并获取新的初始数据对象作为当前数据对象;所述合并指令用于将所述当前数据对象中的分片合并为所述数据对象。根据本申请实施例提供的存储方法,由于在达到数据对象对应的预设分片阈值后,继续上传数据块至新的数据对象中,可以在满足现有对象存储规则的同时,解除了对待存储的原始文件的大小限制。
请参考图4,其示出了本实施例提供的另一种存储方法的流程图,该存储方法可以应用于上文所述的实施环境中的终端102中。在上述实施例的基础上,所述方法还可以包括以下步骤:
步骤402,根据各数据块在原始文件中的第一偏移,生成各数据块对应的索引信息。
在本申请的一个实施例中,在将该元数据文件上传至对象存储系统之前,还可以获取各数据块在原始文件中的第一偏移,根据各第一偏移在原始文件中的顺序,生成各数据块对应的索引信息。该索引信息包括各数据块在该原始文件中的相对顺序,及各数据块对应的第一偏移。在一个具体的实施例中,若存在a、b、c三个数据块,其中,a数据块对应的第一偏移为第50字节,b数据块对应的第一偏移为第0字节,c数据块对应的第一偏移为第150字节,则可以按照第一偏移的顺序,对各数据块进行排序,排序结果为b,a,c,则可以生成a、b、c三个数据块分别对应的索引信息为2,1,3。
步骤404,将各数据块对应的索引信息保存至元数据文件中的索引信息部。
在本申请的一个实施例中,在得到各数据块对应的索引信息之后,会将各数据块对应的索引信息记录保存至元数据文件中的索引信息部。
在本申请的一个实施例中,在该元数据文件中生成该索引信息部之后,还可以将该索引信息部在该元数据文件中的存储偏移记录在该元数据文件中的属性信息部。
在本申请实施例提供的存储方法中,通过根据各所述数据块在所述原始文件中的第一偏移,生成各所述数据块对应的索引信息;将各所述数据块对应的索引信息保存至所述元数据文件中的索引信息部。根据本申请实施例提供的存储方法,由于在元数据文件中的索引信息部存储各数据块的索引信息,即存储了各数据块在原始文件中的存储顺序,可以在读取各数据块时,通过各数据块的索引信息,快速还原对应的原始文件,提高了文件的读取效率。
请参考图5,其示出了本实施例提供的另一种存储方法的流程图,该存储方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,所述方法,还可以包括以下步骤:
步骤502,获取对原始文件中待读取数据的读取请求,读取请求包括待读取数据在原始文件中的起始偏移及结束偏移。
在本申请的一个实施例中,在终端将该原始文件上传至对象存储系统中后,形成了该原始文件对应的元数据对象及至少一个数据对象。若接收到用户对该原始文件的读取请求,会提取该读取请求中待读取数据在原始文件中的起始偏移及结束偏移,其中,该起始偏移为该待读取数据起始字节在该原始文件中的位置,该结束偏移为该待读取数据结束字节在该原始文件中的位置。通过该起始偏移及该结束偏移可以在原始文件中截取所述待读取数据。
步骤504,根据起始偏移及结束偏移,在元数据文件中获取至少一个待读取数据块。
在本申请的一个实施例中,终端会先在本地查找是否存在该原始文件对应的元数据文件,若本地中存在该元数据文件,会根据该元数据文件中的数据块信息部或索引信息部确定需要获取的至少一个待读取数据块,即该待读取数据对应的至少一个待读取数据块。
在本申请的一个实施例中,若终端在本地中未查找到该原始文件对应的元数据文件,则访问对象存储系统中该原始文件对应的元数据对象,并根据该元数据对象中属性信息部中数据块信息部的存储偏移获取该数据块信息部;或根据该元数据对象中属性信息部中索引信息部的存储偏移获取该索引信息部。
请参考图6,其示出了本实施例提供的另一种存储方法的流程图,该存储方法可以应用于上文所述的实施环境中的终端102中。在上述图5所示实施例的基础上,上述步骤504具体可以包括以下步骤:
步骤602,若元数据文件中包括索引信息部,在索引信息部中获取所述起始偏移对应的起始索引信息及所述结束偏移对应的结束索引信息,根据起始索引信息及结束索引信息在索引信息部中确定至少一个待读取数据块。
在本申请的一个实施例中,当该元数据文件中包括索引信息部时,可以通过该索引信息部中各数据块的第一偏移确定所述起始偏移对应的起始数据块及所述结束偏移对应的结束数据块,获取起始数据块对应的起始索引信息及结束数据块对应的结束索引信息,根据起始索引信息及结束索引信息在索引信息部中确定至少一个待读取数据块。
在一个具体的实施例中,若存在a至h共8个数据块,分别对应的索引信息可以表示为1至8,其中b数据块对应的第一偏移为第30个字节,c数据块对应的第一偏移为第40个字节,f数据块对应的第一偏移为第210个字节,g数据块对应的第一偏移为第240个字节,此时,起始偏移为第36个字节,结束偏移为第230个字节,该起始数据块为b数据块,对应的起始索引信息为2,该结束数据块为f数据块,对应的结束索引信息为6,根据该起始索引信息2及结束索引信息6,可以得到至少一个待读取数据块的索引信息为2至6,即待读取数据块为b至f。
步骤604,若元数据文件中不包括索引信息部,获取数据块信息部中各数据块的第一偏移及数据块大小,确定各数据块对应的数据块起始偏移及数据块结束偏移;根据各数据块对应的数据块起始偏移及数据块结束偏移,与起始偏移及结束偏移的位置关系,确定至少一个待读取数据块。
在本申请的一个实施例中,若该元数据文件中不包括索引信息部时,可以在该元数据文件中的数据块信息部中获取各数据块的第一偏移及数据块大小,根据各数据块的第一偏移Boff及数据块大小L,可以确定各数据块在原始文件中的数据块起始偏移Boff及结束偏移(Boff+L),并确定该待读取文件的起始偏移Rs及结束偏移Re,判断各数据块对应的[Boff,Boff+L]与[Rs,Re]是否存在交集,若存在交集,则判定该数据块为待读取数据块。
步骤506,根据各待读取数据块的数据块信息,起始偏移及结束偏移,获取各待读取数据块中的待读取子数据。
请参考图7,其示出了本实施例提供的另一种存储方法的流程图,该存储方法可以应用于上文所述的实施环境中的终端102中。在上述图5所示实施例的基础上,上述步骤506具体可以包括以下步骤:
步骤702,获取各待读取数据块的数据类型。
步骤704,若待读取数据块的数据类型为有效数据,根据待读取数据的第一偏移、数据块大小、数据块在原始文件中的第一偏移、对应的数据对象的数据对象标识及在数据对象中的第二偏移、起始偏移及结束偏移,获取待读取子数据的起终点;根据待读取子数据的起终点在对应的数据对象中获取待读取子数据。
在本申请的一个实施例中,当该待读取数据块为有效数据时,获取该待读取数据块的第一偏移Boff、数据块大小L、在数据对象中的第二偏移Soff、待读取数据在该原始文件中的起始偏移Rs,结束偏移为Re,来计算从数据对象中读取数据的起点S和终点E公式为:
Figure BDA0002351738240000181
Figure BDA0002351738240000182
根据得到的起终点SE,可以在该数据对象标识对应的数据对象中获取每一待读取数据块对应的待读取子数据。
步骤706,若待读取数据块的数据类型为无效数据,根据待读取数据的第一偏移、数据块大小、起始偏移及结束偏移,获取待读取子数据的空值长度,并生成与空值长度对应的无效数据作为待读取子数据。
步骤508,根据各待读取数据块中的待读取子数据确定待读取数据。
在本申请的一个实施例中,根据各待读取数据块的第一偏移,确定各待读取数据块中的待读取子数据的排列顺序,根据该排列顺序可以将各待读取子数据合并为该待读取数据。
在本申请实施例提供的存储方法中,通过获取对所述原始文件中待读取数据的读取请求,所述读取请求包括待读取数据在所述原始文件中的起始偏移及结束偏移;根据所述起始偏移及所述结束偏移,在所述元数据文件中获取至少一个待读取数据块;根据各所述待读取数据块的数据块信息,及所述起始偏移及所述结束偏移,获取各所述待读取数据块中的待读取子数据;根据各所述待读取数据块中的待读取子数据确定所述待读取数据。根据本申请实施例提供的存储方法,可以根据待读取数据对应的起始偏移及结束偏移在对象存储系统中获取对应的待读取数据块,并根据各待读取数据块获取该待读取数据,提升了数据读取的速度及稳定性。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参考图8,其示出了本申请实施例提供的一种存储装置800的框图。如图8所示,所述存储装置800可以包括:数据块生成模块801、数据块上传模块802及元数据文件上传模块803,其中:
所述数据块生成模块801,用于根据原始文件获取多个数据块;
所述数据块上传模块802,用于获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
所述元数据文件上传模块803,用于在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
在本申请的一个实施例中,所述数据块上传模块802,具体用于:
将数据块上传至对象存储系统中的当前数据对象,作为当前数据对象的分片,并记录当前数据对象的分片数;
若当前数据对象的分片数达到预设的分片阈值或数据块为最后一个需要上传的数据块,发送合并指令至对象存储系统,并获取新的初始数据对象作为当前数据对象;合并指令用于将当前数据对象中的分片合并为数据对象。
请参考图9,其示出了本申请实施例提供的一种存储装置900的框图。如图9所示,所述存储装置900除了包括存储装置800包括的各模块外,可选的,还可以包括:索引信息生成模块804及读取模块805。其中:
所述索引信息生成模块804,用于根据各数据块在原始文件中的第一偏移,生成各数据块对应的索引信息;将各数据块对应的索引信息保存至元数据文件中的索引信息部。
所述读取模块805,用于获取对原始文件中待读取数据的读取请求,读取请求包括待读取数据在原始文件中的起始偏移及结束偏移;根据起始偏移及结束偏移,在元数据文件中获取至少一个待读取数据块;根据各待读取数据块的数据块信息,起始偏移及结束偏移,获取各待读取数据块中的待读取子数据;根据各待读取数据块中的待读取子数据确定待读取数据。
在本申请的一个实施例中,所述读取模块805,还具体用于:
若元数据文件中包括索引信息部,在索引信息部中获取起始偏移对应的起始索引信息及结束偏移对应的结束索引信息,根据起始索引信息及结束索引信息在索引信息部中确定至少一个待读取数据块;
若元数据文件中不包括索引信息部,获取数据块信息部中各数据块的第一偏移及数据块大小,确定各数据块对应的数据块起始偏移及数据块结束偏移;根据各数据块对应的数据块起始偏移及数据块结束偏移,与起始偏移及结束偏移的位置关系,确定至少一个待读取数据块。
在本申请的一个实施例中,所述读取模块805,还具体用于:
获取各待读取数据块的数据类型;
若待读取数据块的数据类型为有效数据,根据待读取数据的第一偏移、数据块大小、数据块在原始文件中的第一偏移、对应的数据对象的数据对象标识及在数据对象中的第二偏移、起始偏移及结束偏移,获取待读取子数据的起终点;根据待读取子数据的起终点在对应的数据对象中获取待读取子数据;
若待读取数据块的数据类型为无效数据,根据待读取数据的第一偏移、数据块大小、起始偏移及结束偏移,获取待读取子数据的空值长度,并生成与空值长度对应的无效数据作为待读取子数据。
关于存储装置的具体限定可以参见上文中对于存储方法的限定,在此不再赘述。上述存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
根据原始文件获取多个数据块;
获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
在各数据块上传完成后,将元数据文件上传至对象存储系统,并作为元数据对象。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据原始文件获取多个数据块;
获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
在各数据块上传完成后,将元数据文件上传至对象存储系统,并作为元数据对象。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种存储方法,其特征在于,所述方法包括:
根据原始文件获取多个数据块;
获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
2.根据权利要求1所述的方法,其特征在于,所述将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,包括:
将所述数据块上传至所述对象存储系统中的当前数据对象,作为所述当前数据对象的分片,并记录所述当前数据对象的分片数;
若所述当前数据对象的分片数达到预设的分片阈值或所述数据块为最后一个需要上传的数据块,发送合并指令至所述对象存储系统,并获取新的初始数据对象作为当前数据对象;所述合并指令用于将所述当前数据对象中的分片合并为所述数据对象。
3.根据权利要求1至2任一项所述的方法,其特征在于,在各所述数据块上传完成后,及在所述将所述元数据文件上传至所述对象存储系统,并作为元数据对象的步骤之前,所述方法还包括:
根据各所述数据块在所述原始文件中的第一偏移,生成各所述数据块对应的索引信息;
将各所述数据块对应的索引信息保存至所述元数据文件中的索引信息部。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取对所述原始文件中待读取数据的读取请求,所述读取请求包括待读取数据在所述原始文件中的起始偏移及结束偏移;
根据所述起始偏移及所述结束偏移,在所述元数据文件中获取至少一个待读取数据块;
根据各所述待读取数据块的数据块信息,所述起始偏移及所述结束偏移,获取各所述待读取数据块中的待读取子数据;
根据各所述待读取数据块中的待读取子数据确定所述待读取数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述起始偏移及所述结束偏移,在所述元数据文件中获取至少一个待读取数据块,包括:
若所述元数据文件中包括索引信息部,在所述索引信息部中获取所述起始偏移对应的起始索引信息及所述结束偏移对应的结束索引信息,根据所述起始索引信息及所述结束索引信息在所述索引信息部中确定所述至少一个待读取数据块。
6.根据权利要求5所述的方法,其特征在于,所述根据所述起始偏移及所述结束偏移,在所述元数据文件中获取至少一个待读取数据块,包括:
若所述元数据文件中不包括索引信息部,获取所述数据块信息部中各数据块的第一偏移及数据块大小,确定各所述数据块对应的数据块起始偏移及数据块结束偏移;根据各所述数据块对应的数据块起始偏移及数据块结束偏移,与所述起始偏移及所述结束偏移的位置关系,确定所述至少一个待读取数据块。
7.根据权利要求5所述的方法,其特征在于,所述根据各所述待读取数据块的数据块信息,及所述起始偏移及所述结束偏移,获取各所述待读取数据块中的待读取子数据,包括:
获取各所述待读取数据块的数据类型;
若所述待读取数据块的数据类型为有效数据,根据所述待读取数据的第一偏移、数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移、所述起始偏移及所述结束偏移,获取所述待读取子数据的起终点;根据所述待读取子数据的起终点在对应的数据对象中获取所述待读取子数据;
若所述待读取数据块的数据类型为无效数据,根据所述待读取数据的第一偏移、数据块大小、所述起始偏移及所述结束偏移,获取所述待读取子数据的空值长度,并生成与所述空值长度对应的无效数据作为所述待读取子数据。
8.一种存储装置,其特征在于,所述装置包括:
数据块生成模块,用于根据原始文件获取多个数据块;
数据块上传模块,用于获取各所述数据块的数据类型,若所述数据块的数据类型为有效数据,将所述数据块上传至对象存储系统中与所述数据块对应的数据对象中,并在元数据文件中的数据块信息部中记录所述数据块对应的第一数据块信息;所述第一数据块信息包括有效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移、对应的数据对象的数据对象标识及在所述数据对象中的第二偏移;若所述数据块的数据类型为无效数据,则停止上传所述数据块至所述对象存储系统,并在所述初始元数据文件中的数据块信息部中记录所述数据块的第二数据块信息,所述第二数据块信息包括无效数据块标识,数据块编号,数据块大小、数据块在所述原始文件中的第一偏移;
元数据文件上传模块,用于在各所述数据块上传完成后,将所述元数据文件上传至所述对象存储系统,并作为元数据对象。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201911418326.5A 2019-12-31 2019-12-31 存储方法、装置、计算机设备和存储介质 Active CN111158606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911418326.5A CN111158606B (zh) 2019-12-31 2019-12-31 存储方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911418326.5A CN111158606B (zh) 2019-12-31 2019-12-31 存储方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111158606A true CN111158606A (zh) 2020-05-15
CN111158606B CN111158606B (zh) 2020-11-03

Family

ID=70560455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911418326.5A Active CN111158606B (zh) 2019-12-31 2019-12-31 存储方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111158606B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381995A (zh) * 2021-06-08 2021-09-10 珠海格力电器股份有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114630192A (zh) * 2022-03-16 2022-06-14 深圳法政信息技术有限公司 一种视频存证方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595523A (zh) * 2003-09-12 2005-03-16 联想(北京)有限公司 一种磁盘存储方法
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
US20140089264A1 (en) * 2012-09-24 2014-03-27 Fusion-Io, Inc. Snapshots for a non-volatile device
CN103744875A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 基于文件系统的数据快速迁移方法及系统
CN104462141A (zh) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 一种数据存储与查询的方法、系统及存储引擎装置
CN105612491A (zh) * 2013-09-16 2016-05-25 网络装置公司 分布式存储架构中基于具有密集树结构的元数据的盘区的管理
CN106657213A (zh) * 2016-09-14 2017-05-10 深圳峰创智诚科技有限公司 文件传输方法和装置
CN107872489A (zh) * 2016-09-28 2018-04-03 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595523A (zh) * 2003-09-12 2005-03-16 联想(北京)有限公司 一种磁盘存储方法
US20140089264A1 (en) * 2012-09-24 2014-03-27 Fusion-Io, Inc. Snapshots for a non-volatile device
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN105612491A (zh) * 2013-09-16 2016-05-25 网络装置公司 分布式存储架构中基于具有密集树结构的元数据的盘区的管理
CN104462141A (zh) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 一种数据存储与查询的方法、系统及存储引擎装置
CN103744875A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 基于文件系统的数据快速迁移方法及系统
CN106657213A (zh) * 2016-09-14 2017-05-10 深圳峰创智诚科技有限公司 文件传输方法和装置
CN107872489A (zh) * 2016-09-28 2018-04-03 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381995A (zh) * 2021-06-08 2021-09-10 珠海格力电器股份有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114630192A (zh) * 2022-03-16 2022-06-14 深圳法政信息技术有限公司 一种视频存证方法

Also Published As

Publication number Publication date
CN111158606B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
CN105190573B (zh) 存储数据的减少冗余
US9377959B2 (en) Data storage method and apparatus
EP2933733A1 (en) Data processing method and device in distributed file storage system
EP3376393B1 (en) Data storage method and apparatus
KR102031588B1 (ko) 파일 저장 시의 색인 구현 방법 및 시스템
WO2015199577A1 (en) Metadata structures for low latency and high throughput inline data compression
CN105468642A (zh) 数据的存储方法及装置
CN110866491A (zh) 目标检索方法、装置、计算机可读存储介质和计算机设备
US11494403B2 (en) Method and apparatus for storing off-chain data
CN111158606B (zh) 存储方法、装置、计算机设备和存储介质
CN103067519A (zh) 一种异构平台下数据分布存储的方法及装置
CN105653209A (zh) 一种对象存储数据传输方法及装置
EP3207461A1 (en) Compression of cascading style sheet files
CN102282545B (zh) 存储系统
CN112416880A (zh) 一种基于实时归并的海量小文件存储性能优化方法及装置
US20110153677A1 (en) Apparatus and method for managing index information of high-dimensional data
CN115840731A (zh) 文件处理方法、计算设备及计算机存储介质
CN112817962B (zh) 基于对象存储的数据存储方法、装置和计算机设备
CN112632070B (zh) 海量多元化复杂航天器仿真数据的存储复盘方法和装置
CN111143130B (zh) 数据恢复方法、装置、计算机可读存储介质和计算机设备
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN115168499B (zh) 数据库表的分片方法、装置、计算机设备和存储介质
CN114792016A (zh) 一种处理方法及电子设备
CN113934362A (zh) 数据存储方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant