CN111625502A - 数据读取方法及装置、存储介质、电子装置 - Google Patents

数据读取方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN111625502A
CN111625502A CN202010470325.1A CN202010470325A CN111625502A CN 111625502 A CN111625502 A CN 111625502A CN 202010470325 A CN202010470325 A CN 202010470325A CN 111625502 A CN111625502 A CN 111625502A
Authority
CN
China
Prior art keywords
data
target data
object file
target
information
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
CN202010470325.1A
Other languages
English (en)
Other versions
CN111625502B (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202010470325.1A priority Critical patent/CN111625502B/zh
Publication of CN111625502A publication Critical patent/CN111625502A/zh
Application granted granted Critical
Publication of CN111625502B publication Critical patent/CN111625502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/13File access structures, e.g. distributed indices
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供了一种数据读取方法及装置、存储介质、电子装置,该方法包括:确定对象文件的状态信息;在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;利用目标数据的写入信息读取目标数据。通过本发明,解决了相关技术中对数据管理的问题,达到高效管理数据的效果。

Description

数据读取方法及装置、存储介质、电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据读取方法及装置、存储介质、电子装置。
背景技术
在对流式数据的存储中,由于网络或者业务特点等原因,例如摄像头和流媒体服务之间的网络不好的场景下。可能导致流式数据写入文件中断,以及频繁切换新文件写入。导致海量的碎、小文件产生,导致对象存储的元数据量激增。一方面,由于对象存储元数据量是有规格上线的,频繁的切换文件,会导致元数据规格很容易达到上线,进一步导致对象存储服务异常。另一方面,海量的元数据信息,对元数据服务的性能影响很大。并且海量的元数据存储,带来了服务器、硬盘、网络等成本的增加。
针对上述技术问题,相关技术中尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据读取方法及装置、存储介质、电子装置,以至少解决相关技术中对数据存储的问题。
根据本发明的一个实施例,提供了一种数据读取方法,包括:确定对象文件的状态信息;在上述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至上述对象文件中;在上述对象文件中存储上述目标数据的写入信息,其中,上述写入信息用于标识上述目标数据的属性;利用上述目标数据的写入信息读取上述目标数据。
根据本发明的另一个实施例,提供了一种数据读取装置,包括:第一确定模块,用于确定对象文件的状态信息;写入模块,用于在上述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至上述对象文件中;存储模块,用于在上述对象文件中存储上述目标数据的写入信息,其中,上述写入信息用于标识上述目标数据的属性;读取模块,用于利用上述目标数据的写入信息读取上述目标数据。
可选地,确定对象文件的状态信息,包括:从元数据服务器处获取所述对象文件;确定所述对象文件的状态信息,其中,所述状态信息包括:所述对象文件内的存储空间,所述对象文件的异常情况。
可选地,在所述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至所述对象文件中之前,所述方法还包括:确定所述对象文件中包括的N个对象,其中,所述N个对象中每个对象均包括M个存储块,所述M个存储块被拆解为P个条带,所述N、M以及P均是大于或等于1的自然数。
可选地,在所述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至所述对象文件中,包括:将所述目标数据划分为O个数据段,其中,所述O是大于或等于1的自然数,所述O个数据段是流式数据段;从所述N个对象中确定出存储所述O个数据段的目标对象;将所述O个数据段中的部分或全部数据段依次写入至的P个条带中。
可选地,将所述O个数据段中的部分或全部数据段依次写入至P个条带中,包括:在确定所述O小于或等于所述P的情况下,将所述O个数据段中的全部数据段按照条带对齐的方式写入至P个条带中,在所述P个条带中未存储数据段的条带填充标识信息。
可选地,将所述O个数据段中的部分或全部数据段依次写入至P个条带中,包括:在确定所述O大于所述P的情况下,将所述O个数据段中的部分数据段依次写入至所述目标对象的M个存储块中的P个条带中,并将所述O个数据段中剩余的数据段存储至所述目标对象下一对象中,其中,所述下一对象处于可用状态。
可选地,在所述对象文件中存储所述目标数据的写入信息,其中,所述写入信息用于标识所述目标数据的属性,包括:在确定所述目标数据写入至目标对象中的情况下,在所述目标对象中的M个存储块对应的标签中存储所述目标数据的写入信息,其中,所述目标对象包括在所述N个对象中。
可选地,利用所述目标数据的写入信息读取所述目标数据,包括:获取数据读取请求,其中,所述数据读取请求用于请求读取所述目标文件中的目标数据;响应所述数据读取请求,从所述写入信息中确定出所述目标文件所在的目标对象的组成信息,其中,所述组成信息中包括M个存储块,所述M个存储块被拆解为P个条带,所述M以及P均是大于或等于1的自然数;从所述P个条带中获取有效数据段的信息,其中,所述有效数据段的信息包括所述有效数据段的起始写入时间、在所述目标对象中的偏移和长度,所述偏移和长度用于下载所述目标数据;基于所述起始写入时间确定读取所述目标数据的目标时间点;将与所述目标时间点对应的数据段确定为所述目标数据段,其中,所述目标数据段包括在所述目标数据中;
以所述目标数据段为起始数据段读取所述目标数据。
可选地,在所述对象文件中存储所述目标数据的写入信息之后,所述方法还包括:在所述对象文件出现异常的情况下,按照写入信息中的恢复所述目标数据:所述目标数据的写入时间,所述目标数据的长度,所述目标数据在所述对象文件中的偏移信息。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于确定对象文件的状态信息;在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;利用目标数据的写入信息读取目标数据。可以实现通过对象文件对数据进行存储的目的,并不需要不需要建立任何小文件到大文件的索引关系。因此,可以解决了相关技术中对数据管理的问题,达到高效管理数据的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据读取方法的移动终端的硬件结构框图;
图2是根据本发明实施例的数据读取方法的流程图;
图3是根据本发明实施例的将目标数据写入至对象文件的流程图;
图4是根据本发明实施例对象文件信息视图;
图5是根据本发明可选实施例的写入对象文件示意图;
图6是根据本发明可选实施例的读取对象文件的流程图;
图7是根据本发明实施例的数据读取装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据读取方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据读取方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据读取方法,图2是根据本发明实施例的数据读取方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定对象文件的状态信息;
可选地,在本实施例中,对象文件是对象存储系统对外提供的文件访问入口,对象文件逻辑上由多个对象构造,每个对象由多个块Block文件组合构成。对象文件的一级管理结构,有多个Block构成,对象文件的最小存储分割单位,文件大小可配置,例如128M,256MB,Block文件存在于数据节点中。
步骤S204,在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;
可选地,在本实施例中,对对象文件的状态的判断包括以下至少之一:
判断对象文件是否可以追加写入,判断的依据为:对象文件是否已经写满,例如已经到了最大配置2T(大小可配置);判断对象文件是否已经异常损坏。如果不满足条件,则在元数据服务中新建一个对象存储文件,记录该对象文件的创建时间。通常在对象存储系统稳定的情况,对象文件基本都是可以追加写入的。元数据服务负责对象文件、对象的组成和异常恢复,管理整个对象存储的资源,管理数据节点信息。
可选地,目标数据包括但不限于是流式数据,流式数据是指数据来源不断,无确切数据量,需要持续写入流式数据段,流式数据段为独立的文件,可以是小文件,也可以是大文件。例如,安防场景下的录像数据。
步骤S206,在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;
可选地,在本实施例中,写入信息存储在目标对象中的Block Meta文件中,BlockMeta是对Block文件对应的描述信息。
步骤S208,利用目标数据的写入信息读取目标数据。
通过上述步骤,由于确定对象文件的状态信息;在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;利用目标数据的写入信息读取目标数据。可以实现通过对象文件对数据进行存储的目的,并不需要不需要建立任何小文件到大文件的索引关系。因此,可以解决了相关技术中对数据管理的问题,达到高效管理数据的效果。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
可选地,确定对象文件的状态信息,包括:
S1,从元数据服务器处获取对象文件;
S2,确定对象文件的状态信息,其中,状态信息包括以下至少之一:对象文件内的存储空间,对象文件的异常情况。
可选地,在本实施例中,对象文件内的存储空间未满,且对象文件未出现异常的情况下,可以将目标数据存储至对象文件中。
可选地,在本实施例中,按照条带对齐方式写入到各个对应数据节点的Block文件中,直到对象文件大小达到最大配置,正常关闭对象文件。
可选地,当发生网络异常,流媒体需要关闭对象文件,但是可能存在最后一个非满的条带,包括但不限于条带补0,计算校验数据之后,再一起写入存储系统;一段时间之后网络恢复,流式数据继续写入。
在一个可选的实施例中,在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中之前,方法还包括:
S1,确定对象文件中包括的N个对象,其中,N个对象中每个对象均包括M个存储块,M个存储块被拆解为P个条带,N、M以及P均是大于或等于1的自然数。
在一个可选的实施例中,在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中,包括:
S1,将目标数据划分为O个数据段,其中,O是大于或等于1的自然数,O个数据段是流式数据段;O个流式数据段之间,可以是时间连续的,也可以是不连续的。
S2,从N个对象中确定出存储O个数据段的目标对象;
S3,将O个数据段中的部分或全部数据段依次写入至P个条带中。
在一个可选的实施例中,将O个数据段中的部分或全部数据段依次写入至P个条带中,包括:
S1,在确定O小于或等于P的情况下,将O个数据段中的全部数据段按照条带对齐的方式写入P个条带中,在P个条带中未存储数据段的条带填充标识信息。
可选地,标识信息包括但不限于是0。
在一个可选的实施例中,将O个数据段中的部分或全部数据段依次写入至P个条带中,包括:
S1,在确定O大于P的情况下,将O个数据段中的部分数据段依次写入至目标对象的M个存储块中的P个条带中,并将O个数据段中剩余的数据段存储至目标对象下一对象中,其中,下一对象处于可用状态。
在一个可选的实施例中,在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性,包括:
S1,在确定目标数据写入至目标对象中的情况下,在目标对象中的M个存储块对应的标签中存储目标数据的写入信息,其中,目标对象包括在N个对象中。
可选地,在本实施例中,M个存储块对应的标签是一个标签文件,和Block文件一一对应,存在在各个数据节点中。
可选地,在上述实施例中,对将目标数据写入至对象文件的流程如图3所示,包括以下步骤:
S301:流式数据通过流媒体接入之后,需要存储到对象存储系统中,获取最新可用的对象文件的信息;
S302:判断对象文件是否可以追加复用写入;
S303:在对象文件不可以追加复用的情况下,创建新的对象文件获取新对象文件信息;
S304:在对象文件可以追加复用的情况下,流式数据按照条带对齐方式追加写入到对象文件尾部;
S305:流式写入中断;
S306:判断最后一个条带是否是满条带;
S307:在最后一个条带不是满条带的情况下,对于非满条带空余部分进行数据补0再写入;
S308:在最后一个条带是满条带的情况下,数据全部写入完成,关闭对象文件。
可选地,在多个间断的流式数据写入对象文件成功之后,业务端看到的对象文件信息视图如图4所示,在每个数据段中,为连续的流式数据写入,“填充0”是为了条带对齐。对象文件的长度为:所有数据段的长度,加上所有填充0的长度。每个有效数据段:在逻辑视图上,都记录有在对象文件中的偏移和长度,以及数据段开始的时间。
可选地,写入对象文件具体逻辑为如图5所示,对象文件由多个对象构成,每个对象由N+M个Block构成,需要说明的是,N用于表示N个数据块,M用于表示M个冗余块。
可选地,不连续的流式数据片段,写入同一个对象文件的流程为:
S1,流式数据段1写入,对应条带为stripe_1和stripe_2,其中最后一个stripe_2非满,进行数据补0,计算校验数据块P,写入到各个DN中对应的Block文件中。并且在对应Block_meta文件中记录数据段初始写入时间、实际有效数据偏移和长度。例如,针对Block1,Block1_meta中增加记录time=X1,offset=0,len=64KB;针对Block3,Block1_meta中增加记录time=X1,offset=0,len=32KB;
S2,流式数据段2写入,对应stripe_3,最后一个条带属于满条带写入。直接计算校验数据块P,写入到各个DN中对应的Block文件中。并且在对应Block_meta文件中记录数据段初始写入时间、实际有效数据偏移和长度。例如针对Block1,Block1_meta中增加记录time=X2,offset=64KB,len=32KB;针对Block3,Block1_meta中增加记录time=X2,offset=64KB,len=32KB;
S3,各个流式数据片段,按照上述S1、S2方式进行写入,直到对象1对应的5个Block空间写满。然后元数据服务分配对象2空间,流式数据继续追加写入到对象2中。
S4,依次按照ABC方式进行数据追加写入。直到对象文件达到最大配置值,关闭对象文件。
在本实施例中,Strip是指条带;P:校验块数据;填充0:非满条带补0;1-1,2-1:为条带单元,默认32KB,可配置;Block:对象文件最小存储单元,通常为128MB,可配置;Block_meta:Block对应的描述文件,记录Block中各个有效数据段信息;DN:数据节点,存储Block、以及Block对应的meta信息。
在一个可选的实施例中,利用目标数据的写入信息读取目标数据,包括:
S1,获取数据读取请求,其中,数据读取请求用于请求读取目标文件中的目标数据;
S2,响应数据读取请求,从写入信息中确定出目标文件所在的目标对象的组成信息,其中,组成信息中包括M个存储块,M个存储块被拆解为P个条带,M以及P均是大于或等于1的自然数;
S3,从P个条带中获取有效数据段的信息,其中,有效数据段的信息包括有效数据段的起始写入时间、在目标对象中的偏移和长度,偏移和长度用于下载目标数据;
S4,基于起始写入时间确定读取目标数据的目标时间点;
S5:将与目标时间点对应的数据段确定为目标数据段,其中,目标数据段包括在目标数据中;
S6:以目标数据段为起始数据段读取目标数据。
可选地,在本实施例中,针对流式数据的回放,指定时间点开始,根据对象文件中实际有效数据段进行读取,如图6所示,包括以下步骤:
S601:流媒体服务指定从某个时间点开始读取和回放流式数据,根据指定时间XX,从管理节点中的元数据服务获取该时间点最接近的对象文件信息。
S602-S603:管理节点中的元数据服务,根据对象文件的组成,获取所有的对象信息,以及所有对象的所有Block对应的Meta信息。
S604-S605:元数据服务根据所有对象中的所有Block Meta信息,特别是各个Block中的有效数据偏移和长度,以及对应的流式数据写入时间信息,完成整个对象文件信息构建,特别是对象文件中包含的各个有效数据段的信息。关键信息为:各个有效数据段的起始写入时间,在对象文件中的偏移和长度。
S606:流媒体服务获取完整对象文件信息之后,根据时间点XX,找到与时间点XX最接近的有效数据段,根据偏移和长度,从对象存储系统中下载数据、并进行回放。该时间点XX之后的有效数据段,依次进行。
在一个可选的实施例中,在对象文件中存储目标数据的写入信息之后,方法还包括:
S1,在对象文件出现异常的情况下,按照写入信息中的恢复目标数据:目标数据的写入时间,目标数据的长度,目标数据在对象文件中的偏移信息。
可选地,在本实施例中,对象文件元数据信息恢复流程如下:
S1,如果管理节点故障,所有对象文件元数据丢失,则可以根据所有数据节点中的所有Block Meta信息,恢复出元数据服务中的对象文件信息:
S2,所有数据节点,根据Block Meta文件,全量方式上报所有的Block信息到元数据服务;
S3,元数据服务根据所有Block Meta信息,构建对应的对象信息。关键在于,该Block在对象中的编号和位置。以及各个有效数据段的长度、起始时间等;
S4,元数据服务进一步根据所有的构建完成的对象信息,找到一组有匹配关联关系的对象,构建出完整的对象文件信息并持久化。对象文件关键信息,创建时间可以使用第一个对象中的第一个有效数据段的起始时间,对象文件长度可以由所有的对象长度累加得到。
综上所述,本实施例基于对象存储,汇聚多个文件写入到一个大对象文件中,即每个汇聚文件写入时进行条带补0对齐写入;数据节点每个Block Meta文件中,增加所有汇聚文件的起始时间,在Block文件中的偏移和长度。
通过将多个文件汇聚成一个大的对象文件方式,即通过汇聚方式减少元数据服务中的文件总量,从而减少元数据量的存储规模,间接提升元数据服务的整体性能。
本实施例提供了汇聚文件的便捷读取方法。即先获取对象文件基本信息和所有的Block Meta信息,计算出各个汇聚文件在大对象文件中的起始偏移和长度,以及开始时间,下载、回放需要的数据。
本实施例还提供了一种重建对象文件的元数据的方法,即数据节点上报所有的Block Meta信息,然后依次组装对象,对象文件信息,并保存对象文件信息在管理节点的元数据中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据读取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的数据读取装置的结构框图,如图7所示,该装置包括:
第一确定模块72,用于确定对象文件的状态信息;
写入模块74,用于在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;
存储模块76,用于在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;
读取模块78,用于利用目标数据的写入信息读取目标数据。
可选地,通过以下方式确定对象文件的状态信息:从元数据服务器处获取对象文件;确定对象文件的状态信息,其中,状态信息包括以下至少之一:对象文件内的存储空间,对象文件的异常情况。
可选地,在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中之前,上述装置还用于:确定对象文件中包括的N个对象,其中,N个对象中每个对象均包括M个存储块,M个存储块被拆解为P个条带,N、M以及P均是大于或等于1的自然数。
可选地,在对象文件处于可用状态的情况下,通过以下方式将获取的目标数据以条带对齐的方式写入至对象文件中:将目标数据划分为O个数据段,其中,O是大于或等于1的自然数,O个数据段是流式数据段;从N个对象中确定出存储O个数据段的目标对象;将O个数据段中的部分或全部数据段依次写入至P个条带中。
可选地,通过以下方式将O个数据段中的部分或全部数据段依次写入至P个条带中:在确定O小于或等于P的情况下,将O个数据段中的全部数据段按照条带对齐的方式写入至P个条带中,在P个条带中未存储数据段的条带填充标识信息。
可选地,通过以下方式将O个数据段中的部分或全部数据段依次写入至P个条带中:在确定O大于P的情况下,将O个数据段中的部分数据段依次写入至目标对象的M个存储块中的P个条带中,并将O个数据段中剩余的数据段存储至目标对象下一对象中,其中,下一对象处于可用状态。
可选地,通过以下方式在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性:在确定目标数据写入至目标对象中的情况下,在目标对象中的M个存储块对应的标签中存储目标数据的写入信息,其中,目标对象包括在N个对象中。
可选地,通过以下方式利用目标数据的写入信息读取目标数据:获取数据读取请求,其中,数据读取请求用于请求读取目标文件中的目标数据;响应数据读取请求,从写入信息中确定出目标文件所在的目标对象的组成信息,其中,组成信息中包括M个存储块,M个存储块被拆解为P个条带,M以及P均是大于或等于1的自然数;从P个条带中获取有效数据段的信息,其中,有效数据段的信息包括有效数据段的起始写入时间、在目标对象中的偏移和长度,偏移和长度用于下载目标数据;基于起始写入时间确定读取目标数据的目标时间点;将与目标时间点对应的数据段确定为目标数据段,其中,目标数据段包括在目标数据中;以目标数据段为起始数据段读取目标数据。
可选地,在对象文件中存储目标数据的写入信息之后,上述装置还用于:在对象文件出现异常的情况下,按照写入信息中的恢复目标数据:目标数据的写入时间,目标数据的长度,目标数据在对象文件中的偏移信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定对象文件的状态信息;
S2,在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;
S3,在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;
S4,利用目标数据的写入信息读取目标数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定对象文件的状态信息;
S2,在对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至对象文件中;
S3,在对象文件中存储目标数据的写入信息,其中,写入信息用于标识目标数据的属性;
S4,利用目标数据的写入信息读取目标数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种数据读取方法,其特征在于,包括:
确定对象文件的状态信息;
在所述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至所述对象文件中;
在所述对象文件中存储所述目标数据的写入信息,其中,所述写入信息用于标识所述目标数据的属性;
利用所述目标数据的写入信息读取所述目标数据。
2.根据权利要求1所述的方法,其特征在于,确定对象文件的状态信息,包括:
从元数据服务器处获取所述对象文件;
确定所述对象文件的状态信息,其中,所述状态信息包括:所述对象文件内的存储空间,所述对象文件的异常情况。
3.根据权利要求1所述的方法,其特征在于,在所述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至所述对象文件中之前,所述方法还包括:
确定所述对象文件中包括的N个对象,其中,所述N个对象中每个对象均包括M个存储块,所述M个存储块被拆解为P个条带,所述N、M以及P均是大于或等于1的自然数。
4.根据权利要求3所述的方法,其特征在于,在所述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至所述对象文件中,包括:
将所述目标数据划分为O个数据段,其中,所述O是大于或等于1的自然数,所述O个数据段是流式数据段;
从所述N个对象中确定出存储所述O个数据段的目标对象;
将所述O个数据段中的部分或全部数据段依次写入至所述P个条带中。
5.根据权利要求4所述的方法,其特征在于,将所述O个数据段中的部分或全部数据段依次写入至所述P个条带中,包括:
在确定所述O小于或等于所述P的情况下,将所述O个数据段中的全部数据段按照条带对齐的方式写入所述P个条带中,在所述P个条带中未存储数据段的条带填充标识信息。
6.根据权利要求4所述的方法,其特征在于,将所述O个数据段中的部分或全部数据段依次写入至所述P个条带中,包括:
在确定所述O大于所述P的情况下,将所述O个数据段中的部分数据段依次写入至所述P个条带中,并将所述O个数据段中剩余的数据段存储至所述目标对象下一对象中,其中,所述下一对象处于可用状态。
7.根据权利要求3所述的方法,其特征在于,在所述对象文件中存储所述目标数据的写入信息,其中,所述写入信息用于标识所述目标数据的属性,包括:
在确定所述目标数据写入至目标对象中的情况下,在所述目标对象中的M个存储块对应的标签中存储所述目标数据的写入信息,其中,所述目标对象包括在所述N个对象中。
8.根据权利要求1所述的方法,其特征在于,利用所述目标数据的写入信息读取所述目标数据,包括:
获取数据读取请求,其中,所述数据读取请求用于请求读取所述目标文件中的目标数据;
响应所述数据读取请求,从所述写入信息中确定出所述目标文件所在的目标对象的组成信息,其中,所述组成信息中包括M个存储块,所述M个存储块被拆解为P个条带,所述M以及P均是大于或等于1的自然数;
从所述P个条带中获取有效数据段的信息,其中,所述有效数据段的信息包括所述有效数据段的起始写入时间、在所述目标对象中的偏移和长度,所述偏移和长度用于下载所述目标数据;
基于所述起始写入时间确定读取所述目标数据的目标时间点;
将与所述目标时间点对应的数据段确定为所述目标数据段,其中,所述目标数据段包括在所述目标数据中;
以所述目标数据段为起始数据段读取所述目标数据。
9.根据权利要求1所述的方法,其特征在于,在所述对象文件中存储所述目标数据的写入信息之后,所述方法还包括:
在所述对象文件出现异常的情况下,按照写入信息恢复所述目标数据:所述目标数据的写入时间,所述目标数据的长度,所述目标数据在所述对象文件中的偏移信息。
10.一种数据读取装置,其特征在于,包括:
第一确定模块,用于确定对象文件的状态信息;
写入模块,用于在所述对象文件处于可用状态的情况下,将获取的目标数据以条带对齐的方式写入至所述对象文件中;
存储模块,用于在所述对象文件中存储所述目标数据的写入信息,其中,所述写入信息用于标识所述目标数据的属性;
读取模块,用于利用所述目标数据的写入信息读取所述目标数据。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
CN202010470325.1A 2020-05-28 2020-05-28 数据读取方法及装置、存储介质、电子装置 Active CN111625502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010470325.1A CN111625502B (zh) 2020-05-28 2020-05-28 数据读取方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010470325.1A CN111625502B (zh) 2020-05-28 2020-05-28 数据读取方法及装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN111625502A true CN111625502A (zh) 2020-09-04
CN111625502B CN111625502B (zh) 2024-02-23

Family

ID=72270011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010470325.1A Active CN111625502B (zh) 2020-05-28 2020-05-28 数据读取方法及装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN111625502B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821176A (zh) * 2021-09-29 2021-12-21 重庆紫光华山智安科技有限公司 一种数据迁移的处理方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7375801B1 (en) * 2005-04-13 2008-05-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Video sensor with range measurement capability
CN110471894A (zh) * 2019-07-22 2019-11-19 腾讯科技(深圳)有限公司 一种数据预取方法、装置、终端及存储介质
CN110874182A (zh) * 2018-08-31 2020-03-10 杭州海康威视系统技术有限公司 一种条带索引的处理方法、装置及设备
CN111124280A (zh) * 2019-11-29 2020-05-08 浪潮电子信息产业股份有限公司 一种数据追加写入方法、装置及电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7375801B1 (en) * 2005-04-13 2008-05-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Video sensor with range measurement capability
CN110874182A (zh) * 2018-08-31 2020-03-10 杭州海康威视系统技术有限公司 一种条带索引的处理方法、装置及设备
CN110471894A (zh) * 2019-07-22 2019-11-19 腾讯科技(深圳)有限公司 一种数据预取方法、装置、终端及存储介质
CN111124280A (zh) * 2019-11-29 2020-05-08 浪潮电子信息产业股份有限公司 一种数据追加写入方法、装置及电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821176A (zh) * 2021-09-29 2021-12-21 重庆紫光华山智安科技有限公司 一种数据迁移的处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN111625502B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
US11474972B2 (en) Metadata query method and apparatus
WO2021115021A1 (zh) 数据处理方法、装置、终端设备及计算机可读存储介质
CN110134338B (zh) 一种分布式存储系统及其数据冗余保护方法和相关设备
CN105824846B (zh) 数据迁移方法及装置
US7657533B2 (en) Data management systems, data management system storage devices, articles of manufacture, and data management methods
US10804930B2 (en) Compressed data layout with variable group size
US20170262463A1 (en) Method and system for managing shrinking inode file space consumption using file trim operations
CN109918352B (zh) 存储器系统和存储数据的方法
CN115292266A (zh) 一种基于存储器的高可靠日志存储方法
CN110597655A (zh) 一种迁移与基于纠删码的重构相耦合的快速预知修复方法和实现
CN113391764A (zh) 一种信息处理方法及装置、存储介质
CN114428764B (zh) 文件写入方法、系统、电子设备及可读存储介质
CN108304142A (zh) 一种数据管理方法和装置
CN111625502B (zh) 数据读取方法及装置、存储介质、电子装置
CN111435286A (zh) 一种数据存储方法、装置和系统
CN110019347A (zh) 一种区块链的数据处理方法、装置及终端设备
CN111435323B (zh) 信息的传输方法、装置、终端、服务器及存储介质
CN115934999A (zh) 一种基于块文件的视频流数据存储方法、装置及介质
CN106998436B (zh) 录像备份方法及装置
CN113360095B (zh) 硬盘数据管理方法、装置、设备及介质
CN115878381A (zh) 基于srm盘的数据恢复方法及装置、存储介质、电子装置
CN116225314A (zh) 数据写入方法、装置、计算机设备和存储介质
CN114513469A (zh) 分布式系统的流量整形方法、装置和存储介质
CN111399759B (zh) 读数据、写数据的方法、以及对象文件系统
CN111831206B (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