Nothing Special   »   [go: up one dir, main page]

CN109597566B - 一种数据读取、存储方法及装置 - Google Patents

一种数据读取、存储方法及装置 Download PDF

Info

Publication number
CN109597566B
CN109597566B CN201710922962.6A CN201710922962A CN109597566B CN 109597566 B CN109597566 B CN 109597566B CN 201710922962 A CN201710922962 A CN 201710922962A CN 109597566 B CN109597566 B CN 109597566B
Authority
CN
China
Prior art keywords
data
target
storage
multimedia
read
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.)
Active
Application number
CN201710922962.6A
Other languages
English (en)
Other versions
CN109597566A (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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201710922962.6A priority Critical patent/CN109597566B/zh
Publication of CN109597566A publication Critical patent/CN109597566A/zh
Application granted granted Critical
Publication of CN109597566B publication Critical patent/CN109597566B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • 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

Landscapes

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

Abstract

本申请实施例提供了一种数据读取、存储方法及装置,涉及数据处理技术领域,上述方法包括:接收数据读取请求,数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;根据数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:待读取多媒体数据包含的数据组;依据所确定的存储位置信息,读取待读取多媒体数据。应用本申请实施例提供的技术方案,能够减少读取按照纠删码方式存储的多媒体数据时失败的次数。

Description

一种数据读取、存储方法及装置
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据读取、存储方法及装置。
背景技术
随着社会发展,人们在工作、生活中需要存储的多媒体等数据越来越多,为满足人们的上述需求,在越来越多的应用场景中选择将多媒体等数据存储在分布式存储系统中。
在分布式存储系统中进行数据存储时,考虑到数据完整性、增强数据保护等因素,常常以纠删码的方式进行数据存储。
其中,以纠删码的方式进行数据存储可以理解为,将数据划分为k段存储在k个数据块中,然后再根据上述k段数据以及特定的数据处理算法得到m段冗余数据,并存储在m个数据块中,上述(k+m)个数据块构成一个条带。
当上述(k+m)个数据块中处于损坏状态的数据块不超过m个时,可以根据剩余处于非损坏状态的数据块中存储的数据,恢复出处于损坏状态的数据块中存储的数据。
读取按照上述方式进行数据存储而得到的一个条带中的部分数据时,在(k+m)个数据块中存储的数据均存在的情况下,才能确定要读取的部分数据在(k+m)个数据块中的存储位置,从而实现数据读取。当其中若干个数据块处于损坏状态时,需要先通过处于非损坏状态的数据块中存储的数据恢复出处于损坏状态的数据块中存储的数据,再进行数据读取。
虽然大多数情况下应用上述方式可以实现数据读取,但是当处于损坏状态的数据块的数量超过m个时,通过处于非损坏状态的数据块中存储的数据,无法恢复出处于损坏状态的数据块中存储的数据,也就无法保证(k+m)个数据块中存储的数据均存在,进而导致数据读取失败。
发明内容
本申请实施例的目的在于提供一种数据读取、存储方法及装置,以减少读取按照纠删码方式存储的多媒体数据时失败的次数。具体技术方案如下:
第一方面,本申请实施例提供了一种数据读取方法,所述方法包括:
接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
依据所确定的存储位置信息,读取所述待读取多媒体数据。
本申请的一种实现方式中,在所述接收数据读取请求的步骤之后,还包括:
确定用于存储所述待读取多媒体数据的条带包含的数据块;
获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
判断所获得数量是否超过预设数量;
若为是,执行所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件获得目标数据组的存储位置信息的步骤;
所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息的步骤,包括:
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
本申请的一种实现方式中,所述目标索引文件,还用于存储以纠删码方式存储的多媒体数据包含的每一数据组的长度;
在所述接收数据读取请求的步骤之后,还包括:
根据所述目标索引文件中存储的数据组的长度,获得目标数据组的长度;
所述依据所确定的存储位置信息,读取所述待读取多媒体数据的步骤,包括:
依次从所确定的每一目标数据组的存储位置信息指示的位置开始,按照该目标数据组的长度读取数据,实现读取所述待读取多媒体数据。
本申请的一种实现方式中,所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所述待读取多媒体数据的条带所属的对象。
第二方面,本申请实施例提供了一种数据存储方法,所述方法包括:
获得待存储的多媒体数据;
以纠删码方式存储所获得的多媒体数据;
确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中。
本申请的一种实现方式中,在所述获得待存储的多媒体数据的步骤之后,还包括:
确定所获得的多媒体数据包含的每一数据组的长度;
将所获得的多媒体数据包含的每一数据组的长度存储至所述目标索引文件中。
本申请的一种实现方式中,所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所获得多媒体数据的条带所属的对象。
第三方面,本申请实施例提供了一种数据读取装置,所述装置包括:
请求接收模块,用于接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
信息获得模块,用于根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
数据读取模块,用于依据所确定的存储位置信息,读取所述待读取多媒体数据。
本申请的一种实现方式中,所述数据读取装置还包括:
数据块确定模块,用于在所述请求接收模块接收数据读取请求之后,确定用于存储所述待读取多媒体数据的条带包含的数据块;
数量获得模块,用于获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
数量判断模块,用于判断所获得数量是否超过预设数量,若为是,所述信息获得模块;
所述信息获得模块,具体用于根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
本申请的一种实现方式中,所述目标索引文件,还用于存储以纠删码方式存储的多媒体数据包含的每一数据组的长度;
所述数据读取装置还包括:
长度获得模块,用于在所述请求接收模块接收数据读取请求后,根据所述目标索引文件中存储的数据组的长度,获得目标数据组的长度;
所述数据读取模块,具体用于依次从所确定的每一目标数据组的存储位置信息指示的位置开始,按照该目标数据组的长度读取数据,实现读取所述待读取多媒体数据。
本申请的一种实现方式中,所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所述待读取多媒体数据的条带所属的对象。
第四方面,本申请实施例提供了一种数据存储装置,所述装置包括:
数据获得模块,用于获得待存储的多媒体数据;
数据存储模块,用于以纠删码方式存储所获得的多媒体数据;
信息确定模块,用于确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
信息存储模块,用于将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中。
本申请的一种实现方式中,所述数据存储装置还包括:
长度确定模块,用于在所述数据获得模块获得待存储的多媒体数据之后,确定所获得的多媒体数据包含的每一数据组的长度;
长度存储模块,用于将所获得的多媒体数据包含的每一数据组的长度存储至所述目标索引文件中。
本申请的一种实现方式中,所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所获得多媒体数据的条带所属的对象。
第五方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现前述第一方面实施例所述的方法步骤。
第六方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现前述第二方面实施例所述的方法步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面实施例所述的方法步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述第二方面实施例所述的方法步骤。
由以上可见,本申请实施例提供的上述技术方案中,在读取以纠删码方式存储的待读取多媒体数据时,根据待读取多媒体数据对应的存储时间信息,从目标索引文件中获得待读取多媒体数据包含的数据组的存储位置信息,进而根据所获得的存储位置信息实现读取待读取多媒体数据。与现有技术中,只有在保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,才能确定待读取数据中各个数据组的存储位置信息相比,本申请实施例提供的方案中,能够从索引文件中直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据存储方法的流程示意图;
图2为本申请实施例提供的一种数据读取方法的流程示意图;
图3为本申请实施例提供的一种数据存储系统的结构示意图;
图4为本申请实施例提供的一种数据存储装置的结构示意图;
图5为本申请实施例提供的一种数据读取装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图;
图7为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面先对本申请实施例中涉及的概念进行说明。
1、多媒体数据
本申请实施例中所提及的多媒体数据可以是视频数据、音频数据、图像数据等等。
多媒体数据可以是流式数据,也可以是非流式数据,本申请并不对此进行限定。
2、数据组
数据组可以理解为多媒体数据基本数据单位的集合,其中,多媒体数据的基本数据单位因多媒体数据的具体内容而异。
例如,多媒体数据为视频数据时,基本数据单位为视频帧,相邻视频帧之间具有较强的时间相关性,这种情况下,数据组可以理解为:GOP(Group Of Pictures,图像组);
多媒体数据为音频数据时,基本数据单位为音频帧,这种情况下,数据组可以理解为:按照音频采集顺序一定数量的音频帧的集合;
多媒体数据为图像数据时,基本数据单位为图像,这种情况下,数据组可以理解为:一张图像。
3、数据组的长度
数据组的长度可以理解为数据组中所包含基本数据单位的数量。
例如,多媒体数据为视频数据时,数据组为GOP,则数据组的长度为:GOP中所包含视频帧的数量;
多媒体数据为音频数据时,数据组的长度为:数据组中所包含音频帧的数量;
多媒体数据为图像数据时,数据组的长度为:1。
4、数据组的存储位置信息
数据组的存储位置信息可以理解为:用于表示数据组在数据块中的存储位置的信息,这些信息可以包括:用于存储数据组的数据块的信息(例如,数据块的标识、数据块的起始存储位置等等)、用于存储数据组的数据块所属条带的信息(例如,条带的标识、条带的起始存储位置等等)、数据组的存储位置在数据块中的偏移量等等。
其中,上述数据组的存储位置在数据块中的偏移量可以仅仅包含:数据组的起始存储位置在数据块中偏移量,还可以包含:数据组的终止存储位置在数据块中的偏移量,本申请并不对此进行限定。
以多媒体数据为视频数据为例,数据组为GOP,则一个GOP的存储位置信息可以包括:用于存储该GOP的数据块的信息、该GOP中第一个I帧的存储位置在数据块中的偏移量、用于存储该GOP的数据块所属条带的信息等等。
以多媒体数据为图像为例,一个数据组包含一张图像,则一个数据组的存储位置信息可以包括:用于存储该数据组所对应图像的数据块的信息、该数据组所对应图像的存储位置在数据块中的偏移量、用于存储该数据组所对应图像的数据块所属条带的信息。
5、数据组的存储时间信息
数据组的存储时间信息可以理解为:用于表示数据组在数据块中的存储时间的信息,这些信息中可以仅仅包括:对数据组中的数据进行存储时的起始存储时间,还可以包括:对数据组中的数据进行存储是的终止存储时间,本申请并不对此进行限定。
以多媒体数据为视频数据为例,数据组为GOP,则一个GOP的存储时间信息可以包括:该GOP中I帧的存储时间、该GOP中最后存储图像的存储时间等等。
以多媒体数据为图像为例,一个数据组包含一张图像,则一个数据组的存储位置信息可以包括:该数据组所对应图像的存储时间。
下面再对本申请实施例提供的数据读取方法进行整体说明。
由于现有技术中在读取按照纠删码方式存储的多媒体数据时,若目标条带包含的数据块中处于损坏状态的数据块的数量超过一定数量,通过目标条带中处于非损坏状态的数据块中存储的数据,无法恢复出处于损坏状态的数据块中存储的数据,这样无法保证目标条带中各个数据块中存储的数据均存在,也就无法确定待读取多媒体数据在目标条带的各个数据块中的存储位置,进而导致数据读取失败。其中,上述目标条带为:用于存储待读取多媒体数据的条带。
为解决上述技术问题,本申请实施例提供了一种数据读取方法,该数据读取方法包括:
接收数据读取请求,其中,数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
根据数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:待读取多媒体数据包含的数据组;
依据所确定的存储位置信息,读取待读取多媒体数据。
由以上可见,本申请实施例提供的上述技术方案中,在读取以纠删码方式存储的待读取多媒体数据时,根据待读取多媒体数据对应的存储时间信息,从目标索引文件中获得待读取多媒体数据包含的数据组的存储位置信息,进而根据所获得的存储位置信息实现读取待读取多媒体数据。与现有技术中,只有在保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,才能确定待读取数据中各个数据组的存储位置信息相比,本申请实施例提供的方案中,能够从索引文件中直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
为了能够更加清楚的对本申请实施例提供的数据读取方法和数据接收方法进行说明,下面按照先介绍本申请实施例提供数据存储方法,再介绍本申请实施例提供的数据读取方法的顺序进行详细说明。
图1为本申请实施例提供的一种数据存储方法的流程示意图,该方法包括:
S101:获得待存储的多媒体数据。
由于多媒体数据原始数据的数据量一般较大,所以,若直接存储原始数据会导致存储资源过度消耗,基于此,对多媒体数据进行存储时,所存储的数据为进行压缩之后的数据。
鉴于上述情况,本步骤中待存储的多媒体数据可以理解为多媒体数据的原始数据,还可以理解为对原始数据进行压缩后的多媒体数据。
S102:以纠删码方式存储所获得的多媒体数据。
一种实现方式中,当S101中获得的多媒体数据为原始数据时,本步骤中以纠删码方式存储所获得的多媒体数据时,可以先对所获得的多媒体数据进行压缩,然后以纠删码方式对压缩后的数据进行存储。
另一种实现方式中,当S101中获得的多媒体数据为对原始数据进行压缩后的多媒体数据时,本步骤中以纠删码方式存储所获得的多媒体数据时,直接以纠删码方式对所获得的多媒体数据进行存储即可。
S103:确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息。
其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块。
确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息时,可以是在以纠删码方式存储所获得的多媒体数据过程中确定的,也就是,所获得的多媒体数据中的数据一旦被存储,即可获得其存储位置信息以及存储时间信息。另外,还可以是在以纠删码方式对所获得的多媒体数据进行存储后,对存储过程中产生的存储位置信息以及存储时间信息进行整理得到的。本申请并不对此进行限定。
S104:将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中。
一种实现方式中,在获得待存储的多媒体数据的步骤之后,还可以确定所获得的多媒体数据包含的每一数据组的长度,并将所获得的多媒体数据包含的每一数据组的长度存储至目标索引文件中。将每一数据组的长度存储至目标索引文件中后,无需在已存储的数据中进行标识性信息(例如,GOP头信息等)检测,即可从目标索引文件中获知每一数据组的长度。
另一实现方式中,对于以纠删码方式进行数据存储的整个数据存储系统而言,可以仅仅存在一个索引文件,也就是,目标索引文件可以是整个存储系统共用的,用于存储整个数据存储系统中所存储的每一多媒体数据包含的数据组的存储位置信息、存储时间信息、长度等信息。
再一实现方式中,以纠删码方式进行数据存储的数据存储系统中可以具有较多的存储资源,也就是可以存储大量的数据。进行数据存储后,为便于后期进行数据查找、数据读取等操作,可以将数据存储系统的存储资源划分为不同的object(对象),每一object中存储至少一个条带。这种情况下,可以为每一object生成一个索引文件,每一object的索引文件也可以称之为索引object。基于上述情况,目标索引文件可以理解为:目标对象对应的索引文件,目标对象为:用于存储所获得多媒体数据的条带所属的对象。
由以上可见,上述各个实施例中提供的方案中,在以纠删码方式对多媒体数据进行存储时,除了要存储多媒体数据本身,还在目标索引文件中存储多媒体数据所包含各个数据组的存储位置信息和存储时间信息,这样在对按照上述各个实施例提供的方案存储的数据进行读取时,无需保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,从目标索引文件中即可直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
图2为本申请实施例提供的一种数据读取方法的流程示意图,该方法包括:
S201:接收数据读取请求。
其中,数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息。
具体的,上述待读取多媒体数据对应的存储时间信息可以包括:待读取多媒体数据的起始存储时间、时长,当然上述待读取多媒体数据对应的存储时间信息也可以包括:待读取多媒体数据的起始存储时间、终止存储时间等等,本申请并不对此进行限定。
S202:根据数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息。
其中,目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:待读取多媒体数据中包含的数据组。
具体的,根据数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息时,可以先在目标索引文件中查找与数据读取请求中携带的存储时间信息相匹配的、目标数据组的存储时间信息,然后确定查找到的存储时间信息对应的存储位置信息,上述确定出的存储位置信息即为目标数据组的存储位置信息。
S203:依据所确定的存储位置信息,读取上述待读取多媒体数据。
一种实现方式中,在接收数据读取请求的步骤(S201)之后,还可以确定用于存储待读取多媒体数据的条带包含的数据块,获得第一类数据块的数量,并判断所获得数量是否超过预设数量,当所获得的数量超过预设数量时,在执行上述根据数据读取请求中携带的存储时间信息,从目标索引文件获得目标数据组的存储位置信息的步骤(S202);
其中,上述第一类数据块为:所确定数据块中处于损坏状态的数据块。
基于上述情况根据数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息(S202)时,可以根据数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,第二类数据块为:所确定数据块中处于非损坏状态的数据块。
上述预设数量可以理解为采用纠删码方式存储数据时,规定的用于存储冗余数据的数据块的数量。
可见,本实现方式中,当用于存储待读取多媒体数据的条带中处于损坏状态的数据块数量较多时,根据上述条带中处于非损坏状态的数据块中存储的数据,可能无法恢复出上述处于损坏状态的数据块中存储的数据,而由于本实现方式中能够根据目标索引文件,确定出存储于上述第二类数据块中的数据组的存储位置信息,因此,依然能够为用户提供待读取数据的部分或者全部数据,不仅能够大大降低数据读取失败的次数,还能够大大提供用户体验。
另一种实现方式中,上述目标索引文件,还用于存储以纠删码方式存储的多媒体数据包含的每一数据组的长度;
在接收数据读取请求的步骤(S201)之后,还可以根据目标索引文件中存储的数据组的长度,获得目标数据组的长度;
这种情况下,依据所确定的存储位置信息,读取上述待读取多媒体数据的步骤(S203),包括:
依次从所确定的每一目标数据组的存储位置信息指示的位置开始,按照该目标数据组的长度读取数据,实现读取上述待读取多媒体数据。
在目标索引文件中还存储有多媒体数据包含的每一数据组的长度的情况下,进行数据读取时,根据目标索引文件中记录的数据组的长度即可知道要读取的每一数据组的长度,也就知道了读取多少数据后这一数据组结束,而无需在读取数据过程中检测后续数据中是否存在标识性信息(例如,GOP头信息等),进而提高了数据读取速度。
另一实现方式中,对于以纠删码方式进行数据存储的整个数据存储系统而言,可以仅仅存在一个索引文件,也就是,目标索引文件可以是整个存储系统共用的,用于存储整个数据存储系统中所存储的每一多媒体数据包含的数据组的存储位置信息、存储时间信息、长度等信息。
再一实现方式中,以纠删码方式进行数据存储的数据存储系统中可以具有较多的存储资源,也就是可以存储大量的数据。进行数据存储后,为便于后期进行数据查找、数据读取等操作,可以将数据存储系统的存储资源划分为不同的object(对象),这样上述数据存储系统也可以称之为对象存储系统,每一object中存储至少一个条带。这种情况下,可以为每一object生成一个索引文件,每一object的索引文件也可以称之为索引object。基于上述情况,目标索引文件可以理解为:目标对象对应的索引文件,目标对象为:用于存储所获得多媒体数据的条带所属的对象。
基于上述存储资源被划分为不同object的实现方式,对象存储系统中可以包含元数据服务器,参见图3所示的对象存储系统的结构示意图,其中,元数据服务器用于存储索引类信息,例如,各个object所存储条带的信息、每一条带在object中的偏移、各个索引object所对应数据块的存储时间段等等。从图3中可以看出,上述对象存储系统中除了包含元数据服务器外,还包含对象存储资源,图3中所示出的对象存储资源为:对象存储系统中所包含的存储服务器具有的存储资源的集合,假设,对象存储系统中包含存储服务器1、存储服务器2……存储服务器N,其中,N为自然数,则上述对象存储资源可以理解为:上述存储服务器1-N具有的存储资源的集合。
对象存储系统中的对象存储资源被划分为不同的object,每一object中存储有条带,每个object具有一个索引object,如,
object1中存储有条件1、条带2,object1与索引object1相对应;
object2中存储有条件3、条带4、条带5,object2与索引object2相对应;
object3中存储有条件6、条带7、条带8、条带9,object3与索引object3相对应;
各个条带中存储有以纠删码方式所存储数据的数据块,如图3中条带1中包含:
存储于硬盘1中的数据块1、存储于硬盘2中的数据块2、存储于硬盘3中的数据块3和存储于硬盘4中的数据块4,上述硬盘1-硬盘4可以是位于同一存储服务器中的硬盘,也可以是位于不同存储服务器中的硬盘,本申请并不对此进行限定。
其他条带的情况与条带1相似,图3中未一一列出。
这种情况下,根据数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息时,执行主体可以先将数据读取请求中携带的存储时间信息发送给元数据服务器,由元数据服务器根据其存储的上述索引类信息确定上述存储时间信息对应的索引object的信息,也就是目标索引文件的信息,例如,目标索引文件的标识等,并将上述索引object的信息反馈给执行主体,执行主体解析接收的索引object的信息对应的索引object的内容,也就是解析目标索引文件的内容,根据解析结果确定上述存储时间信息对应的数据组所在数据块所属的条带,从元数据服务器获得所确定每一条带在object中的偏移,再结合目标索引文件中记录的内容,如,目标数据组所在的数据块、数据块在条带中的偏移、目标数据组在数据块中的偏移等等,获得目标数据组的存储位置信息。
由以上可见,上述各个实施例提供的上述技术方案中,在读取以纠删码方式存储的待读取多媒体数据时,根据待读取多媒体数据对应的存储时间信息,从目标索引文件中获得待读取多媒体数据包含的数据组的存储位置信息,进而根据所获得的存储位置信息实现读取待读取多媒体数据。与现有技术中,只有在保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,才能确定待读取数据中各个数据组的存储位置信息相比,上述实施例提供的方案中,能够从索引文件中直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
与上述数据存储方法相对应,本申请实施例还提供了一种数据存储装置。
图4为本申请实施例提供的一种数据存储装置的结构示意图,该装置包括:
数据获得模块301,用于获得待存储的多媒体数据;
数据存储模块302,用于以纠删码方式存储所获得的多媒体数据;
信息确定模块303,用于确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
信息存储模块304,用于将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中。
一种实现方式中,上述数据存储装置还可以包括:
长度确定模块,用于在所述数据获得模块获得待存储的多媒体数据之后,确定所获得的多媒体数据包含的每一数据组的长度;
长度存储模块,用于将所获得的多媒体数据包含的每一数据组的长度存储至所述目标索引文件中。
一种实现方式中,所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所获得多媒体数据的条带所属的对象。
由以上可见,上述各个实施例中提供的方案中,在以纠删码方式对多媒体数据进行存储时,除了要存储多媒体数据本身,还在目标索引文件中存储多媒体数据所包含各个数据组的存储位置信息和存储时间信息,这样在对按照上述各个实施例提供的方案存储的数据进行读取时,无需保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,从目标索引文件中即可直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
与上述数据读取方法相对应,本申请实施例还提供了一种数据读取装置。
图5为本申请实施例提供的一种数据读取装置的结构示意图,该装置包括:
请求接收模块401,用于接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
信息获得模块402,用于根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
数据读取模块403,用于依据所确定的存储位置信息,读取所述待读取多媒体数据。
一种实现方式中,上述数据读取装置还可以包括:
数据块确定模块,用于在所述请求接收模块接收数据读取请求之后,确定用于存储所述待读取多媒体数据的条带包含的数据块;
数量获得模块,用于获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
数量判断模块,用于判断所获得数量是否超过预设数量,若为是,所述信息获得模块;
所述信息获得模块,具体用于根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
一种实现方式中,所述目标索引文件,还用于存储以纠删码方式存储的多媒体数据包含的每一数据组的长度;
所述数据读取装置还可以包括:
长度获得模块,用于在所述请求接收模块接收数据读取请求后,根据所述目标索引文件中存储的数据组的长度,获得目标数据组的长度;
所述数据读取模块,具体用于依次从所确定的每一目标数据组的存储位置信息指示的位置开始,按照该目标数据组的长度读取数据,实现读取所述待读取多媒体数据。
一种实现方式中,所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所述待读取多媒体数据的条带所属的对象。
由以上可见,上述各个实施例提供的上述技术方案中,在读取以纠删码方式存储的待读取多媒体数据时,根据待读取多媒体数据对应的存储时间信息,从目标索引文件中获得待读取多媒体数据包含的数据组的存储位置信息,进而根据所获得的存储位置信息实现读取待读取多媒体数据。与现有技术中,只有在保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,才能确定待读取数据中各个数据组的存储位置信息相比,上述实施例提供的方案中,能够从索引文件中直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
与上述数据存储方法相对应,本申请实施例还提供了一种电子设备。
图6为本申请实施例提供的一种电子设备的结构示意图,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本申请实施例所述的数据存储方法。
本申请的一个实施例中,上述数据存储方法,包括:
获得待存储的多媒体数据;
以纠删码方式存储所获得的多媒体数据;
确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中。
需要说明的是,上述处理器501执行存储器503上所存放的程序而实现的数据存储方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
由以上可见,本实施例中提供的方案中,电子设备在以纠删码方式对多媒体数据进行存储时,除了要存储多媒体数据本身,还在目标索引文件中存储多媒体数据所包含各个数据组的存储位置信息和存储时间信息,这样在对按照本实施例提供的方案存储的数据进行读取时,无需保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,从目标索引文件中即可直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
与前述数据读取方法相对应,本申请实施例提供了另一种电子设备。
图7为本申请实施例提供的另一种电子设备的结构示意图,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本申请实施例提供的数据读取方法。
本申请的一个实施例中,上述数据读取方法,包括:
接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
依据所确定的存储位置信息,读取所述待读取多媒体数据。
需要说明的是,上述处理器601执行存储器603上所存放的程序而实现的数据读取方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
由以上可见,本实施例提供的上述技术方案中,电子设备在读取以纠删码方式存储的待读取多媒体数据时,根据待读取多媒体数据对应的存储时间信息,从目标索引文件中获得待读取多媒体数据包含的数据组的存储位置信息,进而根据所获得的存储位置信息实现读取待读取多媒体数据。与现有技术中,只有在保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,才能确定待读取数据中各个数据组的存储位置信息相比,本实施例提供的方案中,电子设备能够从索引文件中直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
上述各种电子设备提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述各种电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
与上述数据存储方法相对应,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例所述的数据存储方法。
本申请的一个实施例中,上述数据存储方法,包括:
获得待存储的多媒体数据;
以纠删码方式存储所获得的多媒体数据;
确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中。
需要说明的是,上述计算机可读存储介质内存储的计算机程序被处理器执行而实现的数据存储方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
由以上可见,本实施例中提供的方案中,通过执行计算机可读存储介质内存储的计算机程序,以纠删码方式对多媒体数据进行存储时,除了要存储多媒体数据本身,还在目标索引文件中存储多媒体数据所包含各个数据组的存储位置信息和存储时间信息,这样在对按照上述各个实施例提供的方案存储的数据进行读取时,无需保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,从目标索引文件中即可直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
与前述数据读取方法相对应,本申请实施例提供了另一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的数据读取方法。
本申请的一个实施例中,上述数据读取方法,包括:
接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
依据所确定的存储位置信息,读取所述待读取多媒体数据。
需要说明的是,上述计算机可读存储介质内存储的计算机程序被处理器执行而实现的数据读取方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
由以上可见,本实施例提供的上述技术方案中,通过执行上述计算机可读存储介质中存储的计算机程序,读取以纠删码方式存储的待读取多媒体数据时,根据待读取多媒体数据对应的存储时间信息,从目标索引文件中获得待读取多媒体数据包含的数据组的存储位置信息,进而根据所获得的存储位置信息实现读取待读取多媒体数据。与现有技术中,只有在保证用于存储待读取多媒体数据的条带中各数据块存储的数据均存在的情况下,才能确定待读取数据中各个数据组的存储位置信息相比,本实施例提供的方案中,能够从索引文件中直接获得待读取多媒体数据中各个数据组的存储位置信息,进而能够减少读取按照纠删码方式存储的多媒体数据的失败次数。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (12)

1.一种数据读取方法,其特征在于,所述方法包括:
接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
依据所确定的存储位置信息,读取所述待读取多媒体数据;
在所述接收数据读取请求的步骤之后,还包括:
确定用于存储所述待读取多媒体数据的条带包含的数据块;
获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
判断所获得数量是否超过预设数量;
若为是,执行所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件获得目标数据组的存储位置信息的步骤;
所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息的步骤,包括:
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
2.根据权利要求1所述的方法,其特征在于,
所述目标索引文件,还用于存储以纠删码方式存储的多媒体数据包含的每一数据组的长度;
在所述接收数据读取请求的步骤之后,还包括:
根据所述目标索引文件中存储的数据组的长度,获得目标数据组的长度;
所述依据所确定的存储位置信息,读取所述待读取多媒体数据的步骤,包括:
依次从所确定的每一目标数据组的存储位置信息指示的位置开始,按照该目标数据组的长度读取数据,实现读取所述待读取多媒体数据。
3.根据权利要求1-2中任一项所述的方法,其特征在于,
所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所述待读取多媒体数据的条带所属的对象。
4.一种数据存储方法,其特征在于,所述方法包括:
获得待存储的多媒体数据;
以纠删码方式存储所获得的多媒体数据;
确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中;
所述数据组在目标数据块中的存储位置信息和存储时间信息,具体用于:
在数据读取时,
接收数据读取请求,根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息;
依据所确定的存储位置信息,读取待读取多媒体数据;其中,所述接收数据读取请求之后,还包括:
确定用于存储所述待读取多媒体数据的条带包含的数据块;获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
判断所获得数量是否超过预设数量;若为是,执行所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件获得目标数据组的存储位置信息的步骤;
所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息的步骤,包括:
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
5.根据权利要求4所述的方法,其特征在于,在所述获得待存储的多媒体数据的步骤之后,还包括:
确定所获得的多媒体数据包含的每一数据组的长度;
将所获得的多媒体数据包含的每一数据组的长度存储至所述目标索引文件中。
6.根据权利要求4或5所述的方法,其特征在于,
所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所获得多媒体数据的条带所属的对象。
7.一种数据读取装置,其特征在于,所述装置包括:
请求接收模块,用于接收数据读取请求,其中,所述数据读取请求中携带:以纠删码方式存储的待读取多媒体数据对应的存储时间信息;
信息获得模块,用于根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息,其中,所述目标索引文件,用于存储以纠删码方式存储的多媒体数据包含的每一数据组在目标数据块中的存储位置信息和存储时间信息,目标数据块为:存储多媒体数据的条带包含的数据块,目标数据组为:所述待读取多媒体数据包含的数据组;
数据读取模块,用于依据所确定的存储位置信息,读取所述待读取多媒体数据;
所述装置还包括:
数据块确定模块,用于在所述请求接收模块接收数据读取请求之后,确定用于存储所述待读取多媒体数据的条带包含的数据块;
数量获得模块,用于获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
数量判断模块,用于判断所获得数量是否超过预设数量,若为是,所述信息获得模块;
所述信息获得模块,具体用于根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
8.根据权利要求7所述的装置,其特征在于,
所述目标索引文件,还用于存储以纠删码方式存储的多媒体数据包含的每一数据组的长度;
所述装置还包括:
长度获得模块,用于在所述请求接收模块接收数据读取请求后,根据所述目标索引文件中存储的数据组的长度,获得目标数据组的长度;
所述数据读取模块,具体用于依次从所确定的每一目标数据组的存储位置信息指示的位置开始,按照该目标数据组的长度读取数据,实现读取所述待读取多媒体数据。
9.根据权利要求7-8中任一项所述的装置,其特征在于,
所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所述待读取多媒体数据的条带所属的对象。
10.一种数据存储装置,其特征在于,所述装置包括:
数据获得模块,用于获得待存储的多媒体数据;
数据存储模块,用于以纠删码方式存储所获得的多媒体数据;
信息确定模块,用于确定所获得的多媒体数据包含的数据组在目标数据块中的存储位置信息和存储时间信息,其中,目标数据块为:用于存储所获得的多媒体数据的条带包含的数据块;
信息存储模块,用于将所获得的多媒体数据包含的、每一数据组的存储位置信息和存储时间信息存储至目标索引文件中;
所述数据组在目标数据块中的存储位置信息和存储时间信息,具体用于:
在数据读取时,便于数据读取模块:
接收数据读取请求,根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息;
依据所确定的存储位置信息,读取待读取多媒体数据;其中,所述接收数据读取请求之后,还包括:
确定用于存储所述待读取多媒体数据的条带包含的数据块;获得第一类数据块的数量,其中,所述第一类数据块为:所确定数据块中处于损坏状态的数据块;
判断所获得数量是否超过预设数量;若为是,执行所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件获得目标数据组的存储位置信息的步骤;
所述根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得目标数据组的存储位置信息的步骤,包括:
根据所述数据读取请求中携带的存储时间信息,从目标索引文件中获得存储于第二类数据块中的目标数据组的存储位置信息,其中,所述第二类数据块为:所确定数据块中处于非损坏状态的数据块。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
长度确定模块,用于在所述数据获得模块获得待存储的多媒体数据之后,确定所获得的多媒体数据包含的每一数据组的长度;
长度存储模块,用于将所获得的多媒体数据包含的每一数据组的长度存储至所述目标索引文件中。
12.根据权利要求10或11所述的装置,其特征在于,
所述目标索引文件为:目标对象对应的索引文件;
目标对象为:用于存储所获得多媒体数据的条带所属的对象。
CN201710922962.6A 2017-09-30 2017-09-30 一种数据读取、存储方法及装置 Active CN109597566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710922962.6A CN109597566B (zh) 2017-09-30 2017-09-30 一种数据读取、存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710922962.6A CN109597566B (zh) 2017-09-30 2017-09-30 一种数据读取、存储方法及装置

Publications (2)

Publication Number Publication Date
CN109597566A CN109597566A (zh) 2019-04-09
CN109597566B true CN109597566B (zh) 2022-03-04

Family

ID=65956918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710922962.6A Active CN109597566B (zh) 2017-09-30 2017-09-30 一种数据读取、存储方法及装置

Country Status (1)

Country Link
CN (1) CN109597566B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100150B (zh) * 2019-06-17 2024-10-29 深圳市茁壮网络股份有限公司 一种数据读取方法及系统
CN111782588A (zh) * 2019-11-22 2020-10-16 西安宇视信息科技有限公司 一种文件读取方法、装置、设备和介质
CN111026580A (zh) * 2019-11-29 2020-04-17 浪潮电子信息产业股份有限公司 一种数据读取方法、装置、设备及存储介质
CN111245928A (zh) * 2020-01-09 2020-06-05 深圳物控智联科技有限公司 基于超融合架构的资源调节方法、物联网服务器及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法
CN102945679A (zh) * 2012-09-29 2013-02-27 华为技术有限公司 视频数据处理方法和视频数据读写设备
CN104462141A (zh) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 一种数据存储与查询的方法、系统及存储引擎装置
CN104699816A (zh) * 2015-03-25 2015-06-10 成都华迈通信技术有限公司 一种数据处理方法及装置
CN104965845A (zh) * 2014-12-30 2015-10-07 浙江大华技术股份有限公司 一种小文件的定位方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272274B (zh) * 2013-12-31 2017-06-09 华为技术有限公司 一种分布式文件存储系统中的数据处理方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法
CN102945679A (zh) * 2012-09-29 2013-02-27 华为技术有限公司 视频数据处理方法和视频数据读写设备
CN104462141A (zh) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 一种数据存储与查询的方法、系统及存储引擎装置
CN104965845A (zh) * 2014-12-30 2015-10-07 浙江大华技术股份有限公司 一种小文件的定位方法及系统
CN104699816A (zh) * 2015-03-25 2015-06-10 成都华迈通信技术有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN109597566A (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
CN109597566B (zh) 一种数据读取、存储方法及装置
CN108683826B (zh) 视频数据处理方法、装置、计算机设备和存储介质
CN108076377B (zh) 一种视频的存储、播放方法、装置、电子设备及存储介质
CN109756760B (zh) 视频标签的生成方法、装置及服务器
US11316925B2 (en) Video data storage method and device in cloud storage system
CN111159436A (zh) 一种推荐多媒体内容的方法、装置及计算设备
US11057626B2 (en) Video processing device and method for determining motion metadata for an encoded video
US11032584B2 (en) Picture storage method, apparatus and video monitoring system
US9348832B2 (en) Method and device for reassembling a data file
CN112019788B (zh) 数据存储方法、装置、系统及存储介质
CN113435328B (zh) 视频片段处理方法、装置、电子设备及可读存储介质
US20110069146A1 (en) System and method for processing images
CN110389715B (zh) 数据存储方法、存储服务器及云存储系统
CN108491315A (zh) 页面驻留时长的统计方法、装置及计算机可读存储介质
CN112565886A (zh) 一种视频抽帧方法、装置、电子设备及可读存储介质
CN110602483B (zh) 视频故障确定方法、装置及计算机可读存储介质
CN112235422A (zh) 数据处理方法、装置、计算机可读存储介质及电子装置
CN110941597B (zh) 解压缩文件的清理方法、装置、计算设备及计算机存储介质
CN106998436B (zh) 录像备份方法及装置
WO2023083213A1 (zh) 一种数据解码方法、装置、电子设备及可读存储介质
CN104462422A (zh) 对象的处理方法及装置
CN112449209B (zh) 视频存储方法、装置、云服务器及计算机可读存储介质
CN109784226B (zh) 人脸抓拍方法及相关装置
CN109947978B (zh) 一种音频存储、播放方法及装置
CN115334350B (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