CN110515761A - 一种数据获取方法及装置 - Google Patents

一种数据获取方法及装置 Download PDF

Info

Publication number
CN110515761A
CN110515761A CN201810496123.7A CN201810496123A CN110515761A CN 110515761 A CN110515761 A CN 110515761A CN 201810496123 A CN201810496123 A CN 201810496123A CN 110515761 A CN110515761 A CN 110515761A
Authority
CN
China
Prior art keywords
data
disk
address information
stored
frame
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
CN201810496123.7A
Other languages
English (en)
Other versions
CN110515761B (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 Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810496123.7A priority Critical patent/CN110515761B/zh
Priority to US17/057,013 priority patent/US11269713B2/en
Priority to PCT/CN2019/081474 priority patent/WO2019223432A1/zh
Publication of CN110515761A publication Critical patent/CN110515761A/zh
Application granted granted Critical
Publication of CN110515761B publication Critical patent/CN110515761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2326Scheduling disk or memory reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请实施例提供了一种数据获取方法及装置。所述方法包括:确定待获取数据的地址信息,判断待获取数据的地址信息对应的磁盘是否属于已损坏磁盘,如果不属于,则根据待获取数据的地址信息获取待获取数据,得到当前数据;如果属于,则确定下一待获取数据的地址信息,返回执行判断待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤。应用本申请实施例提供的方案,能够在发生超冗余坏盘时获取到磁盘阵列中的未损坏数据。

Description

一种数据获取方法及装置
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据获取方法及装置。
背景技术
随着计算机技术的发展,需要存储的数据量呈几何级数增长。为了提高数据存储时的存储性能,目前常用的存储模式为独立磁盘冗余阵列(Redundant Array ofIndependent Disks,RAID)模式。该RAID模式采用许多磁盘组合成一个容量巨大的磁盘阵列,在存储数据时将数据切割成许多数据块,分别存放在各个磁盘上。对各个数据块进行一定的逻辑运算,可以得到校验块,数据块和校验块共同组成条带,例如,条带可以包括n个数据块和m个校验块。由于条带中数据块和校验块之间存在上述逻辑运算关系,因此从条带中任取不少于n个数据块或校验块,即能根据上述逻辑运算关系得到条带中的其他数据块或校验块。每个数据块和校验块均分布在不同的磁盘上。
当存在小于或等于m个磁盘发生损坏时,这种情况属于冗余坏盘,磁盘阵列处于可用状态。在这种情况下,针对每个条带,可以利用未损坏磁盘上该条带的数据恢复出该条带在已损坏磁盘上的数据。例如,在4+1的条带存储模式中(n=4,m=1),当存在1块磁盘发生损坏时,还可以利用剩余的4块磁盘对已损坏磁盘上的数据进行恢复,并将恢复的数据重新移至新磁盘。
但是,当存在大于m个磁盘发生损坏时,无法利用未损坏磁盘上条带的数据恢复出该条带在已损坏磁盘上的数据。这种情况属于超冗余坏盘,磁盘阵列处于不可用状态,磁盘阵列中的所有数据都无法被获取出来。对于用户来说,磁盘阵列中的未损坏数据可能也是非常重要的,用户存在获取这部分数据的需求。
发明内容
本申请实施例的目的在于提供了一种数据获取方法及装置,以在发生超冗余坏盘时获取到磁盘阵列中的未损坏数据。
为了达到上述目的,本申请实施例提供了一种数据获取方法,该方法包括:
确定待获取数据的地址信息;
判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
如果不属于,则根据所述待获取数据的地址信息获取所述待获取数据,得到当前数据;
如果属于,则确定下一待获取数据的地址信息,返回执行所述判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤。
可选的,当所述待获取数据包含至少一个数据块数据时,所述根据所述待获取数据的地址信息获取所述待获取数据的步骤,包括:
获取所述待获取数据的地址信息对应的数据块数据,作为当前数据。
可选的,所述判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤,包括:
确定所述待获取数据的地址信息映射的物理地址,判断所述物理地址是否为损坏磁盘上的地址,如果是,则确定所述待获取数据的地址信息对应的磁盘属于已损坏磁盘。
可选的,所述待获取数据为视频数据;在得到所述当前数据之后,所述方法还包括:
播放所述当前数据。
可选的,所述播放所述当前数据的步骤,包括:
将所述当前数据加入待播放数据中;
当所述待播放数据中包括I帧时,播放所述I帧;
当所述待播放数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
可选的,所述确定待获取数据的地址信息的步骤,包括:
确定以视频数据的完整GOP为单位的待获取数据的地址信息;
所述播放所述当前数据的步骤,包括:
当所述当前数据中包括I帧时,播放所述I帧;
当所述当前数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
可选的,所述待获取数据包含至少一个数据块数据;当所述待获取数据为视频数据时,所述数据块的数据量为:所述待获取数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
可选的,当检测到存在大于预设的指定数量个磁盘发生损坏时,所述方法还包括:
获取未损坏磁盘的数量,根据所述未损坏磁盘的数量,确定第一条带存储模式;所述第一条带存储模式不同于第二条带存储模式,所述第二条带存储模式为未检测到磁盘发生损坏时采用的存储模式;
当获取到待存储数据时,按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘。
可选的,所述按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘的步骤,包括:
按照所述第一条带存储模式,确定所述待存储数据的地址信息;
判断所述待存储数据的地址信息对应的磁盘是否属于未损坏磁盘;
如果属于,则根据所述待存储数据的地址信息存储所述待存储数据;
如果不属于,则重新确定所述待存储数据的地址信息,返回执行所述判断所述待存储数据的地址信息对应的磁盘是否属于未损坏磁盘的步骤。
可选的,所述根据所述未损坏磁盘的数量,确定第一条带存储模式的步骤,包括:
当所述未损坏磁盘的数量大于预设数量阈值时,确定带冗余保护的第一条带存储模式;
当所述未损坏磁盘的数量不大于预设数量阈值时,确定不带冗余保护的第一条带存储模式。
可选的,所述待存储数据包含至少一个数据块数据;当所述待存储数据为视频数据时,所述数据块的数据量为:所述待存储数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
本申请实施例还提供了一种数据获取装置,该装置包括:
确定模块,用于确定待获取数据的地址信息;
判断模块,用于判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
获取模块,用于当所述待获取数据的地址信息对应的磁盘不属于已损坏磁盘时,根据所述待获取数据的地址信息获取所述待获取数据,得到当前数据;
所述确定模块,还用于当所述待获取数据的地址信息对应的磁盘属于已损坏磁盘时,确定下一待获取数据的地址信息,触发所述判断模块。
可选的,所述待获取数据为视频数据;所述装置还包括:
播放模块,用于在得到所述当前数据之后,播放所述当前数据。
可选的,所述播放模块,具体用于:
将所述当前数据加入待播放数据中;
当所述待播放数据中包括I帧时,播放所述I帧;
当所述待播放数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
可选的,所述第一确定模块,具体用于:
确定以视频数据的完整GOP为单位的待获取数据的地址信息
所述播放模块,具体用于:
当所述当前数据中包括I帧时,播放所述I帧;
当所述当前数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
可选的,所述待获取数据包含至少一个数据块数据;当所述待获取数据为视频数据时,所述数据块的数据量为:所述待获取数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
可选的,所述装置还包括:存储模块;
所述获取模块,还用于当检测到存在大于预设的指定数量个磁盘发生损坏时,获取未损坏磁盘的数量;
所述确定模块,还用于根据所述未损坏磁盘的数量,确定第一条带存储模式;所述第一条带存储模式不同于第二条带存储模式,所述第二条带存储模式为未检测到磁盘发生损坏时采用的存储模式;
存储模块,用于当获取到待存储数据时,按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘。
可选的,所述存储模块,具体用于:
按照所述第一条带存储模式,确定所述待存储数据的地址信息;
判断所述待存储数据的地址信息对应的磁盘是否属于所述未损坏磁盘;
如果属于,则根据所述待存储数据的地址信息存储所述待存储数据;
如果不属于,则重新确定所述待存储数据的地址信息,判断所述待存储数据的地址信息对应的磁盘是否属于所述未损坏磁盘。
本申请实施例还提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本申请实施例提供的数据获取方法。该方法包括:
确定待获取数据的地址信息;
判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
如果不属于,则根据所述待获取数据的地址信息获取所述待获取数据,得到当前数据;
如果属于,则确定下一待获取数据的地址信息,返回执行所述判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的数据获取方法。该方法包括:
确定待获取数据的地址信息;
判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
如果不属于,则根据所述待获取数据的地址信息获取所述待获取数据,得到当前数据;
如果属于,则确定下一待获取数据的地址信息,返回执行所述判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤。
本申请实施例提供的数据获取方法及装置,可以根据待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的判断结果,确定待获取数据存储于已损坏磁盘还是存储于未损坏磁盘。在发生超冗余坏盘时,已损坏磁盘上的数据已经损坏,无法被获取,而未损坏磁盘上的数据仍旧完好。当待获取数据存储于未损坏磁盘时,可以根据待获取数据的地址信息获取待获取数据,进而能够在发生超冗余坏盘时获取到磁盘阵列中的未损坏数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据获取方法的一种流程示意图;
图2a为本申请实施例中磁盘阵列的一种示意图;
图2b为本申请实施例提供的电子设备的一种内部结构示意图;
图3为本申请实施例提供的数据获取方法的另一种流程示意图;
图4为本申请实施例提供的数据存储过程的一种流程示意图;
图5为本申请实施例提供的数据获取装置的一种结构示意图;
图6为本申请实施例提供的数据获取装置的另一种结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)存储模式中,采用许多磁盘组合成一个容量巨大的磁盘阵列,在存储数据时将数据切割成许多数据块,分别存放在各个磁盘上。对各个数据块进行一定的逻辑运算,可以得到校验块,数据块和校验块共同组成条带,例如,条带可以包括n个数据块和m个校验块,n不小于m,n和m均为整数。由于条带中数据块和校验块之间存在上述逻辑运算关系,因此从条带中任取不少于n个数据块或校验块,即能根据上述逻辑运算关系得到条带中的其他数据块或校验块。每个数据块和校验块均分布在不同的磁盘上。
当存在小于或等于m个磁盘发生损坏时,这种情况属于冗余坏盘,磁盘阵列处于可用状态。在这种情况下,针对每个条带,可以利用未损坏磁盘上该条带的数据恢复出该条带在已损坏磁盘上的数据。例如,在4+1的条带存储模式中(n=4,m=1),当存在1块磁盘发生损坏时,还可以利用剩余的4块磁盘对已损坏磁盘上的数据进行恢复,并将恢复的数据重新移至新磁盘。
当存在大于m个磁盘发生损坏时,无法利用未损坏磁盘上条带的数据恢复出该条带在已损坏磁盘上的数据。这种情况属于超冗余坏盘,磁盘阵列处于不可用状态,磁盘阵列中的所有数据都无法被获取出来。对于用户来说,磁盘阵列中的未损坏数据可能也是非常重要的,用户存在获取这部分数据的需求。
为了在发生超冗余坏盘时获取到未损坏数据,本申请实施例提供了一种数据获取、存储方法及装置。下面通过具体实施例,对本申请进行详细说明。
图1为本申请实施例提供的数据获取方法的一种流程示意图。本实施例应用于电子设备。该电子设备可以为具有计算处理功能的设备。
本实施例的一种应用场景为,用于存储数据的磁盘阵列位于电子设备内部。
另一种应用场景为,用于存储数据的磁盘阵列位于电子设备的外部。电子设备可以为分布式存储系统中的管理设备,磁盘阵列分别位于分布式存储系统中各个存储设备内部。分布式存储系统可以包括一个或多个存储设备。
本实施例包括以下步骤S101~S104:
步骤S101:确定待获取数据的地址信息。
电子设备可以在接收到其他设备发送的数据获取请求时,根据数据获取请求确定待获取数据的地址信息。也可以是,电子设备在接收到数据获取指令时,根据数据获取指令确定待获取数据的地址信息。
其中,上述地址信息可以理解为逻辑地址。逻辑地址也叫相对地址,逻辑地址经过寻址方式的计算或变换后可以得到存储器中的实际有效地址,即物理地址。物理地址又称为实际地址或绝对地址。该地址信息可以以待获取数据的起始地址和待获取数据的数据量表示。
步骤S102:判断上述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘,如果不属于,则执行步骤S103;如果属于,则执行步骤S104。
在具体实施时,本步骤可以为,确定上述待获取数据的地址信息映射的物理地址,判断该物理地址是否为已损坏磁盘上的地址,如果是,则确定上述待获取数据的地址信息对应的磁盘属于已损坏磁盘。
确定上述待获取数据的地址信息映射的物理地址时,可以采样相关技术中的方式确定,本实施例不再详述。
例如,电子设备包括5个磁盘,每个磁盘的存储容量均为1T。已知磁盘1~磁盘5的物理地址范围分别为:0~1T,1T~2T,2T~3T,3T~4T,4T~5T。当磁盘4和磁盘5发生损坏时,物理地址3T~5T为已损坏磁盘上的地址,当物理地址处于3T~5T之间时,可以确定地址信息对应的磁盘属于已损坏磁盘。
当上述待获取数据的地址信息对应的磁盘属于已损坏磁盘时,认为该地址信息对应的待获取数据已经损坏,无法被获取到,该待获取数据属于已损坏数据。当上述待获取数据的地址信息对应的磁盘不属于已损坏磁盘时,认为该地址信息对应的待获取数据未损坏,可以被获取到。
本实施例中,可以在检测到存在大于预设的指定数量个磁盘发生损坏时,判断上述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘。指定数量可以根据电子设备所连接的磁盘阵列中磁盘的数量以及条带存储模式确定。条带存储模式可以理解为包括条带中数据块和校验块的数量信息的存储模式。当存在超过指定数量个磁盘发生损坏时,发生超冗余坏盘。例如,当磁盘阵列中包括4个、5个或者6个磁盘时,条带存储模式可以分别为3+1、4+1和5+1存储模式,此时指定数量可以设置为1个。当存在2个及2个以上个磁盘发生损坏时,发生超冗余坏盘。此时可以采用本申请实施例的数据获取方法获取未损坏数据。
当存在小于或等于指定数量个磁盘发生损坏时,也可以采用本申请实施例的数据获取方法获取未损坏数据。
步骤S103:根据上述待获取数据的地址信息获取待获取数据,得到当前数据。
在获取待获取数据时,可以从上述待获取数据的地址信息映射的物理地址中获取待获取数据。
当磁盘阵列位于电子设备内部时,可以直接根据上述地址信息从电子设备内部获取待获取数据。
在分布式存储系统中,电子设备可以根据上述待获取数据的地址信息从存储设备中获取待获取数据。
获得的当前数据可以为待获取数据的全部,也可以是待获取数据中的部分。
步骤S104:确定下一待获取数据的地址信息,返回执行步骤S102。
当待获取数据存储于已损坏磁盘时,该待获取数据无法被获取到,此时不再获取该待获取数据,可以继续确定下一待获取数据的地址信息,开始获取下一待获取数据。
确定下一待获取数据的地址信息时,具体实施方式可以参见步骤S101中对确定待获取数据的地址信息的说明,此处不再赘述。
由上述内容可知,本实施例可以根据待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的判断结果,确定待获取数据存储于已损坏磁盘还是存储于未损坏磁盘。在发生超冗余坏盘时,已损坏磁盘上的数据已经损坏,无法被获取,而未损坏磁盘上的数据仍旧完好。当待获取数据存储于未损坏磁盘时,可以根据地址信息获取待获取数据,进而能够在发生超冗余坏盘时获取到磁盘阵列中的未损坏数据。
在本申请的另一实施例中,图1所示实施例中,当待获取数据包含至少一个数据块(CHUNK)数据时,步骤S101确定待获取数据的地址信息时,所确定的待获取数据的地址信息包括待获取数据中各个数据块数据的地址信息。待获取数据可以包括一个或多个数据块。
例如,待获取数据的数据量为256kB,每个数据块的数据量为64kB,则待获取数据包括4个数据块。待获取数据的地址信息包括:起始地址0+数据量256kB,那么可知待获取数据中各个数据块的地址信息可以分别为0+63kB,64+63kB,128+63kB,192+63kB。
在步骤S102中,可以针对待获取数据中的每个数据块,分别判断该数据块的地址信息对应的磁盘是否属于已损坏磁盘,也可以整体判断待获取数据的地址信息对应的磁盘是否属于已损坏磁盘。
步骤S103,根据上述待获取数据的地址信息获取待获取数据时,可以包括,获取上述待获取数据的地址信息对应的数据块数据,作为当前数据。
其中,当前数据可以为待获取数据的所有数据块数据,也可以是待获取数据中的部分数据块数据。当待获取数据中的部分数据块数据存储于已损坏磁盘,部分数据块存储于未损坏磁盘时,可以获取存储于未损坏磁盘的部分数据块数据。
当待获取数据中的部分数据块的地址信息对应的磁盘为未损坏磁盘时,则根据该地址信息获取该部分数据块数据,这种情况下只能获取到待获取数据中的部分数据块数据。待获取数据中的其他部分数据块的地址信息对应的磁盘为已损坏磁盘,则无法获取到该其他部分数据块数据。
例如,图2a为本申请实施例中磁盘阵列的一种示意图。图2中包括5个磁盘,条带为4+1模式,每个条带中的4个数据块和1个校验块,分别位于不同的磁盘上,图2中的D表示数据块,P表示校验块。当存在2个已损坏磁盘时,例如磁盘4和磁盘5发生损坏,如果待获取数据包括条带4中的D0、D1和D2、D3时,由于D0、D1和D2存储于磁盘1、磁盘2和磁盘3,因此D0、D1和D2中的数据可以被获取到;由于D3存储于磁盘4,因此D3中的数据无法被获取到。
步骤S104,确定下一待获取数据的地址信息时,所确定的地址信息包括下一待获取数据包含的数据块数据的地址信息。
综上,本实施例中,待获取数据可以包括一个或多个数据块数据,在获取待获取数据时,可以按照数据块进行获取,能够更准确地获取未损坏磁盘上的数据。
当磁盘阵列中存储的数据为视频数据,例如监控视频或录像视频等时,发生超冗余坏盘时,未损坏磁盘中的视频数据对于用户来说,可能也非常重要。用户不但需要获取未损坏磁盘中的视频数据,还可能需要回放这部分视频数据。因此,本申请还提供了以下实施例。
在本申请的另一实施例中,当待获取数据为视频数据时,在图1所示实施例的基础上可以得到图3所示实施例。图3为本申请实施例提供的数据获取方法的另一种结构示意图。本实施例的执行主体和应用场景可以均与图1所示实施例相同,此处不再赘述。本实施例包括以下步骤S301~步骤S305:
步骤S301:确定待获取数据的地址信息。
步骤S302:判断上述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘,如果不属于,则执行步骤S303;如果属于,则执行步骤S304。
步骤S303:根据上述待获取数据的地址信息获取待获取数据,得到当前数据。
步骤S304:确定下一待获取数据的地址信息,返回执行步骤S302。
步骤S305:在得到当前数据之后,播放上述当前数据。
由于视频数据是由多个画面组(Group Of Pictures,GOP)组成的,画面组中包括I帧和其他帧,其他帧包括P帧和B帧。I帧为视频中的关键帧,包含完整的画面。P帧和B帧的解析依赖于I帧。GOP可以理解为包含一个I帧以及所有依赖于该I帧的其他帧的组。当视频数据中每n帧配置一个I帧时,GOP为包含n个帧的组。例如,2M码流的视频数据,若每50帧配置一个I帧,则每个完整GOP数据的数据量为512kB,即2s的视频数据。
当I帧被获取到,或者I帧以及依赖于该I帧进行解析的其他帧被获取到时,该I帧或者I帧以及依赖于该I帧进行解析的其他帧可以被播放出来。
本步骤中,播放上述当前数据时,可以包括以下实施方式:
将当前数据加入待播放数据中,当待播放数据中包括I帧时,播放I帧;当待播放数据中包括I帧以及依赖于该I帧进行解析的其他帧时,播放该I帧和其他帧。
在将当前数据加入待播放数据中之前,待播放数据中可以有上一次获取的数据,也可以没有上一次获取的数据。
例如,当待获取数据不是以视频数据的完整GOP为单位的数据时,比如待获取数据为一个完整GOP的一部分,在将当前数据加入待播放数据中之前,待播放数据中可能有上一次获取的数据。当待获取数据是以视频数据的完整GOP为单位的数据时,比如待获取数据为一个完整GOP,在将当前数据加入待播放数据中之前,待播放数据中可以没有上一次获取的数据。
当待获取数据为非完整GOP数据时,可采用本实施例的方式播放当前数据。其中,待获取数据为完整GOP数据的M分之一,M为正整数,或者,待获取数据为完整GOP数据加上完整GOP数据的M分之一。例如,待获取数据为完整GOP数据的一半,或者待获取数据为一个或多个完整GOP数据加上部分GOP数据时,可采用本实施例播放当前数据。
当待播放数据中存在长时间未被播放的数据时,可以丢弃该长时间未被播放的部分数据。这部分数据可能是完整GOP数据中的碎片数据,该完整GOP数据中除了这部分数据之外的数据可能存储在已损坏磁盘上,已经无法被获取到,因此可以将这部分数据丢弃掉。
当待获取数据为视频数据的至少一个完整GOP数据时,也可以采用本实施例的方式播放当前数据,也可以采用以下实施例的方式播放当前数据。
在本申请的另一实施例中,确定待获取数据的地址信息的步骤,可以包括:
确定以视频数据的完整GOP为单位的待获取数据的地址信息。
步骤S305,播放当前数据的步骤,可以包括:
当当前数据中包括I帧时,播放上述I帧;当当前数据中包括I帧以及依赖于该I帧进行解析的其他帧时,播放该I帧和其他帧。
针对当前数据中完整GOP数据之外的部分数据,可以丢弃。
例如,待获取数据包括2个完整GOP数据,当前数据包含一个完整GOP数据data1和一个不完整GOP数据data2。在播放已获取数据时,可以播放该当前数据时,可以播放data1。针对不完整的GOP数据data2,当不完整的GOP数据中缺失了I帧时,该data2的所有帧均不能播放,这种情况下可以丢弃data2;当不完整的GOP数据中的I帧还存在,缺失的是部分B帧,这种情况下data2能够被播放。
不完整GOP数据可以是完整GOP数据中缺少I帧,或者缺少部分P帧,或者缺少部分B帧后的数据。
综上,本实施例中,当磁盘阵列中存储有视频数据时,在磁盘阵列发生超冗余坏盘的情况下,能够实现从未损坏磁盘中获取视频数据,得到当前数据,并播放当前数据,供用户查看,进而满足用户查看未损坏视频数据的需求。
在本申请的另一实施例中,图3所示实施例中,待获取数据包含至少一个数据块数据,且当待获取数据为视频数据时,数据块的数据量为:待获取数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。例如,N可以取1,2,3或4等数值。
当数据块的数据量为待获取数据对应的视频数据的完整GOP大小的1/N时,每个完整GOP数据可以存储于连续数据块中。连续数据块可以理解为同一条带中的连续数据块,也可以理解为连续条带中的连续数据块。连续数据块是指各个数据块的逻辑地址是连续的。
当数据块的数据量为待获取数据对应的视频数据的完整GOP大小的N倍时,每个数据块均包含完整GOP数据。在这种情况下,未损坏磁盘上的数据块数据均可以被播放,也就是当前数据中的所有数据均可以被播放。
当数据块的数据量为待获取数据对应的视频数据的完整GOP大小的1/N时,由于一个完整GOP数据分布在N个连续数据块中,N个连续数据块中的所有数据块均分布在未损坏磁盘的可能性会增大,这样能够提高已获取数据中可播放数据的数据量。
例如,针对2M码流的视频数据,若每50帧配置一个I帧,则每个完整GOP数据的数据量为512kB,即2s的视频数据。当数据块的数据量为512kB时,每个数据块均包含完整GOP数据,当前数据中的所有数据均可以被播放。当数据块数据量为256kB时,连续两个数据块中的数据组成一个完整GOP数据。
在图2a中,已知D0和D1,D2和D3,D4和D5,D6和D7,D8和D9,D10和D11,D12和D13,D14和D15分别两两组成一个完整GOP数据。当磁盘4和磁盘5损坏时,可以获取到的数据(即当前数据)包括以下数据块中的数据:D0,D1,D2,D4,D5,D6,D8,D9,D12和D13。当前数据中可播放的数据包括以下数据块中的数据:D0和D1,D4和D5,D8和D9,D12和D13;当前数据中无法播放的数据包括以下数据块中的数据:D2和D6。已获取数据中可播放数据的比例为80%,不可播放数据的比例为20%。
在相关技术中,图2a中组成一个完整GOP数据的数据块组包括:D0,D1和D2组;D3,D4和D5组;D6,D7和D8组;D9,D10和D11组;D12,D13和D14。当磁盘4和磁盘5损坏时,可以获取到的数据(即当前数据)包括以下数据块中的数据:D0,D1,D2,D4,D5,D6,D8,D9,D12和D13。当前数据中可播放的数据包括以下数据块中的数据:D0,D1,D2和D4。当前数据中无法播放的数据包括以下数据块中的数据:D5,D6,D8,D9,D12和D13。当前数据中可播放数据的比例为40%,不可播放数据的比例为60%。从上述举例的对比可见,本实施例能够提高当前数据中可播放数据的比例,提高可播放数据量。
本实施例中,条带中各个数据块和校验块可以存储在不同磁盘上。当发生超冗余坏盘时,可以降低整块视频丢失的风险,尽可能提高可回放数据的持续性。
当条带中各个数据块和校验块存储在不同磁盘上时,在播放当前数据时,当前数据可能是不连续的,存在跳帧现象。跳帧现象可以理解为,视频数据在播放时画面的不连续跳变现象。跳帧时的跳帧间隔可大可小。跳帧间隔可以理解为,不连续画面之间的时间间隔。
当数据块的数据量取值越大时,数据播放时跳帧间隔越大。当数据块的数据量取值较小时,数据播放时跳帧间隔较小。因此,可以根据用户需求设置数据块的数据量。
综上,本实施例中,通过设置数据块的数据量为待获取数据对应的视频数据的完整GOP大小的N倍或者1/N,可以提高当前数据中可播放数据的数据量。同时,本实施例通过设置以上数据块的数据量,可以使得丢失的数据分散在不同的时间段,这样能够使得不同时间段都存在可播放的部分视频数据。例如,对于监控视频来说,相比于连续的整块视频数据丢失(例如两个磁盘上的监控视频丢失),不同时间段均存在部分数据可播放的情况更能满足用户对监控视频的查看需求。
下面结合具体实例对本申请再做详细说明。
图2b为本申请实施例提供的电子设备的一种内部结构示意图。其中,录像业务单元,用于负责录像业务的下发、回放、查询。RAID管理单元,用于提供一个标准的块设备接口。RAID管理单元包括IO处理单元和CHUNK空间管理单元。IO处理单元,用于处理来自录像业务单元对数据的读写请求,并且可以与磁盘1~磁盘n进行交互。CHUNK空间管理单元,用于确定数据块的逻辑地址映射的物理地址。
录像业务单元在确定待获取数据包含的数据块数据的逻辑地址之后,向RAID管理单元发送数据获取请求,该数据获取请求携带数据块数据的逻辑地址。RAID管理单元中的CHUNK空间管理单元接收到录像业务单元发送的数据获取请求时,确定各个数据块数据的逻辑地址映射的物理地址,并判断该物理地址对应的磁盘是否为已损坏磁盘,如果属于,则向录像业务单元返回无效消息;如果不属于,则将该物理地址发送至IO处理单元。IO处理单元接收到该物理地址时,从该物理地址对应的磁盘中获取对应的数据块数据,并将获取的数据块数据发送至录像业务单元。
录像业务单元接收到RAID管理单元发送的数据块数据时,可以对该数据块数据进行解析并回放。
当录像业务单元接收到RAID管理单元发送的无效消息时,可以跳过该数据块数据,确定下一待获取数据。
相关技术中,当磁盘阵列发生超冗余坏盘时,未损坏磁盘无法再存储数据。未损坏磁盘中的存储空间将会被浪费掉。为了在发生超冗余坏盘时充分利用未损坏磁盘中的存储空间,提高磁盘利用率,本申请还提供了图4所示的向未损坏磁盘中存储数据的过程。
在本申请的另一实施例中,图1所示实施例还可以包括图4所示流程示意图中的数据存储过程。该数据存储过程可以是在图1所示实施例的数据获取方法之前、之后或任一步骤中间执行。该数据存储过程包括以下步骤S401~S402:
步骤S401:当检测到存在大于预设的指定数量个磁盘发生损坏时,获取未损坏磁盘的数量,根据未损坏磁盘的数量,确定第一条带存储模式。
其中,第一条带存储模式不同于第二条带存储模式,第二条带存储模式为未检测到磁盘发生损坏时采用的存储模式。
例如,当不存在已损坏磁盘时,第二条带存储模式为5+1。当两个磁盘发生损坏时,未损坏磁盘的数量为4,第一条带存储模式可以为3+1或者4+0等。其中,x+y中x为数据块,y为校验块。
当发生磁盘损坏的情况时,电子设备可以根据检测到的已损坏磁盘以及预设的电子设备所连接的磁盘阵列中的总磁盘数量,得到未损坏磁盘的数量。例如,总磁盘数量为5,当检测到2块磁盘损坏时,未损坏磁盘的数量为5-2=3。
在根据未损坏磁盘的数量,确定第一条带存储模式时,可以从预设的未损坏磁盘的数量与条带存储模式的对应关系中,确定上述未损坏磁盘的数量对应的第一条带存储模式。
例如,预设的未损坏磁盘的数量与条带存储模式的对应关系可以包括:未损坏磁盘为2个时,条带存储模式为2+0;未损坏磁盘为3个时,条带存储模式为3+0;未损坏磁盘为4个时,条带存储模式为3+1;未损坏磁盘为5个时,条带存储模式为5+1。当确定未损坏磁盘的数量为4时,可以确定第一条带存储模式为3+1。
又如,对于第二条带存储模式为16+4的EC-RAID,当坏掉5块磁盘后,还剩15块磁盘,若配置新的冗余保护模式(第一条带存储模式)为14+1,则在存储待存储数据时将按照14+1的方式写入到剩余磁盘上,这样不仅可以继续业务,而且还能带冗余保护,满足不同的用户需求。
本实施例中,当存在大于指定数量个磁盘发生损坏时,发生超冗余坏盘,此时可以采用本实施例的数据存储过程将待存储数据存储至未损坏磁盘。指定数量可以根据电子设备所连接的磁盘阵列中磁盘的数量以及条带存储模式确定。
步骤S402:当获取到待存储数据时,按照第一条带存储模式将待存储数据存储至未损坏磁盘。
获取待存储数据时,电子设备可以接收其他设备发送的待存储数据。
综上,本实施例可以在产生超冗余坏盘时,确定第一条带存储模式,当获取到待存储数据时,按照第一条带存储模式对待存储数据进行存储,将待存储数据存储至未损坏磁盘上,这样能够充分利用未损坏磁盘的存储空间。
在本申请的另一实施例中,步骤S402具体可以按照以下步骤1~4所示的实施方式进行:
步骤1:按照第一条带存储模式,确定上述待存储数据的地址信息。
其中,上述地址信息可以理解为逻辑地址。该地址信息可以以待存储数据的起始地址和待存储数据的数据量表示。
按照第一条带存储模式,确定上述待存储数据的地址信息时,可以根据第一条带存储模式中每个条带的数据块数量,以及每个数据块的数据量,从待存储数据中确定位于同一条带的每个数据块数据,并确定位于同一条带的每个数据块数据的地址信息。
例如,第一条带存储模式为3+1,每个条带有3个数据块,每个数据块为512kB,待存储数据为数据量为3072kB,则可以从待存储数据中确定块1、块2、块3~块6这6个数据块.这6个数据块分别属于2个条带,块1~块3属于条带1,块4~块6属于条带2。在确定数据块的逻辑地址时,属于同一个条带的各个数据块的逻辑地址是连续的,即块1~块3的逻辑地址是连续的,块4~块6的逻辑地址是连续的。也可以是,块1~块6的逻辑地址是依次连续的。
在待存储数据的地址信息时,可以根据已存储数据的末尾存储地址和待存储数据的数据量,确定待存储数据的地址信息。具体的,可以将已存储数据的末尾存储地址作为待存储数据的起始地址,根据待存储数据的数据量,确定待存储数据的地址信息。
例如,已存储数据的末尾存储地址为aa,待存储数据的数据量为512kB,则可以确定待存储数据的逻辑地址为:aa+511kB。
步骤2:判断上述待存储数据的地址信息对应的磁盘是否属于未损坏磁盘,如果属于,则执行步骤3;如果不属于,则执行步骤4。
在具体实施时,本步骤可以为,确定上述待存储数据的地址信息映射的物理存储地址,判断上述物理地址是否为未损坏磁盘上的地址,如果是,则确定上述地址信息对应的磁盘属于未损坏磁盘。
确定上述待存储数据的地址信息映射的物理地址时,可以采样相关技术中的方式确定,本实施例不再详述。
当上述待存储数据的地址信息对应的磁盘属于未损坏磁盘时,认为可以将该待存储数据按照该地址信息进行存储;当上述地址信息对应的磁盘不属于未损坏磁盘时,认为无法将该待存储数据按照该地址信息进行存储。
步骤3:根据上述待存储数据的地址信息存储待存储数据。
在存储待存储数据时,可以将待存储数据存储至上述地址信息映射的物理地址中。
当磁盘阵列位于电子设备内部时,可以直接根据上述地址信息存储待存储数据。
在分布式存储系统中,电子设备可以根据上述地址信息将待存储数据存储至存储设备的磁盘中。
步骤4:重新确定待存储数据的地址信息,返回执行步骤2。
当上述地址信息指向已损坏磁盘时,无法根据该地址信息存储待存储数据。为了能将待存储数据存储至未损坏磁盘,可以重新确定待存储数据的地址信息,返回执行步骤2,直至将待存储数据存储至未损坏磁盘。
在存储待存储数据之后,还可以根据第一条带存储模式确定是否需要计算校验块。当第一条带存储模式表示条带中存在校验块时,即带冗余保护时,可以在存储了条带中的各个数据块数据之后,根据存储的数据块数据计算校验块数据,并将校验块数据存储至未损坏磁盘。也可以是,在确定条带的各个数据块数据时,根据确定的条带的各个数据块数据计算校验块数据,将条带的各个数据块数据和校验块数据均存储至未损坏磁盘。
将校验块数据存储至未损坏磁盘时,可以确定校验块数据的地址信息,并判断该地址信息对应的磁盘是否属于未损坏磁盘,如果属于,则根据该地址信息存储该校验块数据;如果不属于,则重新确定校验块数据的地址信息,返回执行判断该地址信息对应的磁盘是否属于未损坏磁盘,直至将校验块数据存储至未损坏磁盘。校验块数据的逻辑地址与同条带中的数据块数据的逻辑地址可以是不连续的,也可以的连续的。
综上,本实施例可以根据地址信息对应的磁盘是否属于已损坏磁盘的判断结果,确定待存储数据的地址信息是否指向已损坏磁盘。当待存储数据的地址信息指向未损坏磁盘时,对待存储数据进行存储;当待存储数据指向已损坏磁盘时,重新确定待存储数据的地址信息。这样能够准确地将待存储数据存储至未损坏磁盘。
在本申请的另一实施例中,步骤S401,在根据未损坏磁盘的数量,确定第一条带存储模式时,具体可以包括以下实施方式:
当未损坏磁盘的数量大于预设数量阈值时,确定带冗余保护的第一条带存储模式。
当未损坏磁盘的数量不大于预设数量阈值时,确定不带冗余保护的第一条带存储模式。
其中,带冗余保护的条带存储模式可以理解为,包含校验块的条带存储模式。在带冗余保护的条带存储模式下,当存在小于指定数量个磁盘发生损坏时,可以根据未损坏数据(包括校验块数据和数据块数据)对已损坏数据进行恢复,能够提高已存储数据的安全性。因此,校验块的设置可以提高数据的安全性。
预设数量阈值可以为预先根据用户需求设定的数值。例如,预设数量阈值可以为3或其他值。
不带冗余保护的条带存储模式可以理解为,不包含校验块的条带存储模式。当未损坏磁盘的数量较小时,为了充分利用磁盘空间,此时可以采用不带冗余保护的条带存储模式存储数据,这样可以最大程度地利用未损坏磁盘上的存储空间。
例如,当未损坏磁盘的数量为3时,可以采用不带冗余保护的条带存储模式3+0。当未损坏磁盘的数量为4时,可以采用带冗余保护的条带存储模式3+1。
磁盘中的存储空间可以分为P区和D区,其中,P区用于存储校验块,D区用于存储数据块。例如,参见图2a,字母D表示数据块存储空间,字母P表示校验块存储空间。在不带冗余保护的条带存储模式下,未损坏磁盘上的P区和D区均可以存储数据,充分利用了磁盘的存储空间。
在本申请的另一实施例中,图4所示实施例中,待存储数据包含至少一个数据块数据,且当待存储数据为视频数据时,数据块的数据量可以为:待存储数据对应的视频数据的GOP大小的N倍或者1/N,N为正整数。
当数据块的数据量为待存储数据对应的视频数据的完整GOP大小的1/N时,每个完整GOP数据可以存储于连续数据块中。连续数据块可以理解为同一条带中的连续数据块,也可以理解为连续条带中的连续数据块。
当数据块的数据量为待存储数据对应的视频数据的完整GOP大小的N倍时,每个数据块均包含完整GOP数据。在这种情况下,存储至未损坏磁盘上的数据块数据均可以被播放。
当数据块的数据量为待存储数据对应的视频数据的完整GOP大小的1/N时,由于一个完整GOP数据分布在N个连续数据块中,N个连续数据块中的所有数据块均分布在未损坏磁盘的可能性会增大,这样能够在再次发生超冗余坏盘时提高已存储数据中可播放数据的数据量。
本实施例中,条带中各个数据块和校验块可以存储在不同磁盘上。当再次发生超冗余坏盘时,可以降低整块视频丢失的风险,尽可能提高可回放数据的持续性。
当条带中各个数据块和校验块存储在不同磁盘上时,在播放已获取数据时,已获取数据可能是不连续的,存在跳帧现象。跳帧时的跳帧间隔可大可小。
当数据块的数据量取值越大时,数据播放时跳帧间隔越大。当数据块的数据量取值较小时,数据播放时跳帧间隔较小。因此,可以根据用户需求设置数据块的数据量。
综上,本实施例中,通过设置数据块的数据量为待存储数据对应的视频数据的完整GOP大小的N倍或者1/N,在发生超冗余坏盘时可以提高已存储数据中可播放数据的数据量。
下面结合具体实例对本申请再做详细说明。
在图2b所示实例中,CHUNK空间管理子单元,还可以用于当检测到存储大于指定数量个磁盘发生损坏时,配置第一条带存储模式。配置第一条带存储模式可以包括配置数据块的数据量,以及当发生超冗余坏盘后选择可配置项1或可配置项2。当选择可配置项1时,表示配置不带冗余保护,即条带中不包含校验块,未损坏磁盘中的所有区域(例如包括图2a中的D区和P区)均可以写入数据,这样可以提高可写入数据的数据量。当选择可配置项2时,表示配置了待冗余保护,即条带中包含校验块,为损坏磁盘既存储数据块又存储校验块,这样可以提高对数据的保护,尽可能避免数据丢失。
录像业务单元在确定待存储数据包含的数据块数据的逻辑地址之后,向RAID管理单元发送数据存储请求,该数据存储请求携带数据块数据的逻辑地址。RAID管理单元中的CHUNK空间管理单元接收到录像业务单元发送的数据存储请求时,确定各个数据块数据的逻辑地址映射的物理地址,并判断该物理地址对应的磁盘是否为未损坏磁盘,如果不属于,则向录像业务单元返回无效消息;如果属于,则将该数据块数据和对应的物理地址发送至IO处理单元。IO处理单元接收到该数据块数据和物理地址时,将该数据块数据存储至该物理地址对应的磁盘存储空间中。
当录像业务单元接收到RAID管理单元发送的无效消息时,可以重新确定数据块数据的逻辑地址,重新向RAID管理单元发送数据存储请求,直至将该数据块数据存储至未损坏磁盘中。
本实施例提供的数据获取方法以及数据存储过程,并不限定独立磁盘冗余阵列的版本,例如在带冗余保护的RAID1、RAID5、RAID6、RAID10等版本中均可以应用;在不带冗余保护的RAID中(比如RAID0)也能适用。本实施例针对新产生的可以冗余超过2块坏盘的RAID类型(比如RAID2.0,即EC-RAID),依然适用。冗余超过2块坏盘的RAID,可以理解为条带存储模式(n+m)中的m为2以上数值的RAID。
图5为本申请实施例提供的数据获取装置的一种结构示意图。本实施例应用于电子设备。本实施例与图1所示方法实施例相对应,本装置实施例包括:
确定模块501,用于确定待获取数据的地址信息;
判断模块502,用于判断待获取数据地址信息对应的磁盘是否属于已损坏磁盘;
获取模块503,用于当待获取数据地址信息对应的磁盘不属于已损坏磁盘时,根据所述地址信息获取待获取数据,得到当前数据;
确定模块501,还用于当待获取数据地址信息对应的磁盘属于已损坏磁盘时,确定下一待获取数据的地址信息,触发判断模块502。
在本申请的另一实施例中,图5所示实施例中的获取模块503具体用于:
获取待获取数据的地址信息对应的数据块数据,作为当前数据。
在本申请的另一实施例中,图5所示实施例中判断模块502具体用于:
确定待获取数据的地址信息映射的物理地址,判断所述物理地址是否为已损坏磁盘上的地址,如果是,则确定待获取数据的地址信息对应的磁盘属于已损坏磁盘。
在本申请的另一实施例中,当待获取数据为视频数据时,在图5所示实施例的基础上可以得到图6所示实施例。图6为本申请实施例提供的数据获取方法的另一种结构示意图。图6所示实施例与图3所示方法实施例相对应。本实施例包括:确定模块601、判断模块602、获取模块603和播放模块604。其中,确定模块601、判断模块602和获取模块603分别与图5所示实施例中的确定模块501、判断模块502、获取模块503相同,具体说明内容参见图5所示实施例,本实施例不再赘述。
其中,播放模块604,用于在得到当前数据之后,播放当前数据。
在本申请的另一实施例中,图6所示实施例中的播放模块604具体用于:
将当前数据加入待播放数据中;
当待播放数据中包括I帧时,播放所述I帧;
当待播放数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放I帧和所述其他帧。
在本申请的另一实施例中,图6所示实施例中的确定模块601具体用于:
确定以视频数据的完整GOP为单位的待获取数据的地址信息;
播放模块604具体用于:
当当前数据中包括I帧时,播放所述I帧;
当当前数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
在本申请的另一实施例中,图6所示实施例中,待获取数据包含至少一个数据块数据;当所述待获取数据为视频数据时,所述数据块的数据量为:所述待获取数据对应的视频数据的GOP大小的N倍或者1/N,N为正整数。
在本申请的另一实施例中,上述装置还可以包括存储模块(图中未示出)。本实施例与图4所述方法实施例相对应。
获取模块503,还用于当检测到存在大于预设的指定数量个磁盘发生损坏时,获取未损坏磁盘的数量;
确定模块501,还用于根据所述未损坏磁盘的数量,确定第一条带存储模式;所述第一条带存储模式不同于第二条带存储模式,所述第二条带存储模式为未检测到磁盘发生损坏时采用的存储模式;
存储模块,用于当获取到待存储数据时,按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘。
在本申请的另一实施例中,上述存储模块具体用于:
按照所述第一条带存储模式,确定所述待存储数据的地址信息;
判断所述待存储数据的地址信息对应的磁盘是否属于所述未损坏磁盘;
如果属于,则根据所述待存储数据的地址信息存储所述待存储数据;
如果不属于,则重新确定所述待存储数据的地址信息,判断所述待存储数据的地址信息对应的磁盘是否属于所述未损坏磁盘。
在本申请的另一实施例中,确定模块501具体用于:
当所述未损坏磁盘的数量大于预设数量阈值时,确定带冗余保护的第一条带存储模式;
当所述未损坏磁盘的数量不大于预设数量阈值时,确定不带冗余保护的第一条带存储模式。
在本申请的另一实施例中,待存储数据包含至少一个数据块数据;当待存储数据为视频数据时,数据块的数据量为:待存储数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
图7为本申请实施例提供的电子设备的一种结构示意图。该电子设备包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现本申请实施例提供的数据获取方法。该数据获取方法包括:
确定待获取数据的地址信息;
判断待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
如果不属于,则根据待获取数据的地址信息获取待获取数据,得到当前数据;
如果属于,则确定下一待获取数据的地址信息,返回执行所述判断待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,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 (20)

1.一种数据获取方法,其特征在于,所述方法包括:
确定待获取数据的地址信息;
判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
如果不属于,则根据所述待获取数据的地址信息获取所述待获取数据,得到当前数据;
如果属于,则确定下一待获取数据的地址信息,返回执行所述判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤。
2.根据权利要求1所述的方法,其特征在于,当所述待获取数据包含至少一个数据块数据时,所述根据所述待获取数据的地址信息获取所述待获取数据的步骤,包括:
获取所述待获取数据的地址信息对应的数据块数据,作为当前数据。
3.根据权利要求1或2所述的方法,其特征在于,所述判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘的步骤,包括:
确定所述待获取数据的地址信息映射的物理地址,判断所述物理地址是否为损坏磁盘上的地址,如果是,则确定所述待获取数据的地址信息对应的磁盘属于已损坏磁盘。
4.根据权利要求1所述的方法,其特征在于,所述待获取数据为视频数据;在得到所述当前数据之后,所述方法还包括:
播放所述当前数据。
5.根据权利要求4所述的方法,其特征在于,所述播放所述当前数据的步骤,包括:
将所述当前数据加入待播放数据中;
当所述待播放数据中包括I帧时,播放所述I帧;
当所述待播放数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
6.根据权利要求4所述的方法,其特征在于,所述确定待获取数据的地址信息的步骤,包括:
确定以视频数据的完整GOP为单位的待获取数据的地址信息;
所述播放所述当前数据的步骤,包括:
当所述当前数据中包括I帧时,播放所述I帧;
当所述当前数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
7.根据权利要求4~6任一项所述的方法,其特征在于,所述待获取数据包含至少一个数据块数据;当所述待获取数据为视频数据时,所述数据块的数据量为:所述待获取数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
8.根据权利要求1所述的方法,其特征在于,当检测到存在大于预设的指定数量个磁盘发生损坏时,所述方法还包括:
获取未损坏磁盘的数量,根据所述未损坏磁盘的数量,确定第一条带存储模式;所述第一条带存储模式不同于第二条带存储模式,所述第二条带存储模式为未检测到磁盘发生损坏时采用的存储模式;
当获取到待存储数据时,按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘。
9.根据权利要求8所述的方法,其特征在于,所述按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘的步骤,包括:
按照所述第一条带存储模式,确定所述待存储数据的地址信息;
判断所述待存储数据的地址信息对应的磁盘是否属于未损坏磁盘;
如果属于,则根据所述待存储数据的地址信息存储所述待存储数据;
如果不属于,则重新确定所述待存储数据的地址信息,返回执行所述判断所述待存储数据的地址信息对应的磁盘是否属于未损坏磁盘的步骤。
10.根据权利要求8所述的方法,其特征在于,所述根据所述未损坏磁盘的数量,确定第一条带存储模式的步骤,包括:
当所述未损坏磁盘的数量大于预设数量阈值时,确定带冗余保护的第一条带存储模式;
当所述未损坏磁盘的数量不大于预设数量阈值时,确定不带冗余保护的第一条带存储模式。
11.根据权利要求8~10任一项所述的方法,其特征在于,所述待存储数据包含至少一个数据块数据;当所述待存储数据为视频数据时,所述数据块的数据量为:所述待存储数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
12.一种数据获取装置,其特征在于,所述装置包括:
确定模块,用于确定待获取数据的地址信息;
判断模块,用于判断所述待获取数据的地址信息对应的磁盘是否属于已损坏磁盘;
获取模块,用于当所述待获取数据的地址信息对应的磁盘不属于已损坏磁盘时,根据所述待获取数据的地址信息获取所述待获取数据,得到当前数据;
所述确定模块,还用于当所述待获取数据的地址信息对应的磁盘属于已损坏磁盘时,确定下一待获取数据的地址信息,触发所述判断模块。
13.根据权利要求12所述的装置,其特征在于,所述待获取数据为视频数据;所述装置还包括:
播放模块,用于在得到所述当前数据之后,播放所述当前数据。
14.根据权利要求13所述的装置,其特征在于,所述播放模块,具体用于:
将所述当前数据加入待播放数据中;
当所述待播放数据中包括I帧时,播放所述I帧;
当所述待播放数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
15.根据权利要求13所述的装置,其特征在于,所述第一确定模块,具体用于:
确定以视频数据的完整GOP为单位的待获取数据的地址信息
所述播放模块,具体用于:
当所述当前数据中包括I帧时,播放所述I帧;
当所述当前数据中包括I帧以及依赖于所述I帧进行解析的其他帧时,播放所述I帧和所述其他帧。
16.根据权利要求13~15任一项所述的装置,其特征在于,所述待获取数据包含至少一个数据块数据;当所述待获取数据为视频数据时,所述数据块的数据量为:所述待获取数据对应的视频数据的完整GOP大小的N倍或者1/N,N为正整数。
17.根据权利要求12所述的装置,其特征在于,所述装置还包括:存储模块;
所述获取模块,还用于当检测到存在大于预设的指定数量个磁盘发生损坏时,获取未损坏磁盘的数量;
所述确定模块,还用于根据所述未损坏磁盘的数量,确定第一条带存储模式;所述第一条带存储模式不同于第二条带存储模式,所述第二条带存储模式为未检测到磁盘发生损坏时采用的存储模式;
存储模块,用于当获取到待存储数据时,按照所述第一条带存储模式将所述待存储数据存储至所述未损坏磁盘。
18.根据权利要求17所述的装置,其特征在于,所述存储模块,具体用于:
按照所述第一条带存储模式,确定所述待存储数据的地址信息;
判断所述待存储数据的地址信息对应的磁盘是否属于所述未损坏磁盘;
如果属于,则根据所述待存储数据的地址信息存储所述待存储数据;
如果不属于,则重新确定所述待存储数据的地址信息,判断所述待存储数据的地址信息对应的磁盘是否属于所述未损坏磁盘。
19.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-11任一所述的方法步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11任一所述的方法步骤。
CN201810496123.7A 2018-05-22 2018-05-22 一种数据获取方法及装置 Active CN110515761B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810496123.7A CN110515761B (zh) 2018-05-22 2018-05-22 一种数据获取方法及装置
US17/057,013 US11269713B2 (en) 2018-05-22 2019-04-04 Data obtaining method and apparatus
PCT/CN2019/081474 WO2019223432A1 (zh) 2018-05-22 2019-04-04 一种数据获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810496123.7A CN110515761B (zh) 2018-05-22 2018-05-22 一种数据获取方法及装置

Publications (2)

Publication Number Publication Date
CN110515761A true CN110515761A (zh) 2019-11-29
CN110515761B CN110515761B (zh) 2022-06-03

Family

ID=68615503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810496123.7A Active CN110515761B (zh) 2018-05-22 2018-05-22 一种数据获取方法及装置

Country Status (3)

Country Link
US (1) US11269713B2 (zh)
CN (1) CN110515761B (zh)
WO (1) WO2019223432A1 (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112319A (en) * 1998-02-20 2000-08-29 Micron Electronics, Inc. Method and system for verifying the accuracy of stored data
US20030016596A1 (en) * 2001-07-17 2003-01-23 Chiquoine Kenneth F. Data transmission from raid devices
CN101526907A (zh) * 2008-03-04 2009-09-09 深圳市爱国者嵌入式系统科技有限公司 避免电子产品开机错误的闪存管理方法
US20090327840A1 (en) * 2008-06-25 2009-12-31 Stec, Inc. Redundant data distribution in a flash storage device
US7743284B1 (en) * 2007-04-27 2010-06-22 Netapp, Inc. Method and apparatus for reporting storage device and storage system data
US20110041037A1 (en) * 2009-08-11 2011-02-17 Texas Memory Systems, Inc. FLASH-based Memory System with Static or Variable Length Page Stripes including Data Protection Information and Auxiliary Protection Stripes
CN102063273A (zh) * 2010-12-22 2011-05-18 杭州海康威视数字技术股份有限公司 硬盘管理方法及管理装置
US20130145208A1 (en) * 2011-12-01 2013-06-06 Chih-Hung Yen Method for a Plurality of RAID Systems and Data Storage System Thereof
CN103605479A (zh) * 2013-10-16 2014-02-26 北京奇虎科技有限公司 数据文件写入方法及系统、数据文件读取方法及系统
CN103729275A (zh) * 2014-01-21 2014-04-16 北京众诚天合系统集成科技有限公司 硬盘固件修复系统及硬盘固件修复方法
CN103970487A (zh) * 2014-05-23 2014-08-06 浙江宇视科技有限公司 一种独立磁盘冗余阵列及实现方法
CN104007936A (zh) * 2014-01-07 2014-08-27 华为技术有限公司 访问数据的方法及装置
CN203950299U (zh) * 2014-01-21 2014-11-19 北京众诚天合系统集成科技有限公司 硬盘固件修复系统
CN104866239A (zh) * 2015-05-26 2015-08-26 浙江宇视科技有限公司 一种高可用性的视频存储方法
US20170123733A1 (en) * 2013-01-22 2017-05-04 Seagate Technology Llc Storage system with application to nvm address, span, and length
CN107992430A (zh) * 2017-12-20 2018-05-04 北京京存技术有限公司 闪存芯片的管理方法、装置及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308644A (ja) * 2002-04-09 2003-10-31 Toshiba Corp ディスク記憶装置及び同装置における代替セクタアクセス方法
JP4492218B2 (ja) * 2004-06-07 2010-06-30 ソニー株式会社 半導体記憶装置
US7653840B1 (en) * 2007-04-27 2010-01-26 Net App, Inc. Evaluating and repairing errors during servicing of storage devices
US8495423B2 (en) * 2009-08-11 2013-07-23 International Business Machines Corporation Flash-based memory system with robust backup and restart features and removable modules
US8458511B2 (en) * 2010-09-17 2013-06-04 Oracle International Corporation Fault isolation using code paths
US20130212440A1 (en) * 2012-02-13 2013-08-15 Li-Raz Rom System and method for virtual system management
US9292389B2 (en) * 2014-01-31 2016-03-22 Google Inc. Prioritizing data reconstruction in distributed storage systems
CN105892934B (zh) * 2014-12-19 2020-11-03 伊姆西Ip控股有限责任公司 用于存储设备管理的方法和装置
US10136190B2 (en) * 2015-05-20 2018-11-20 Echostar Technologies Llc Apparatus, systems and methods for song play using a media device having a buffer
US11146795B2 (en) * 2017-03-10 2021-10-12 Qualcomm Incorporated Intra filtering flag in video coding

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112319A (en) * 1998-02-20 2000-08-29 Micron Electronics, Inc. Method and system for verifying the accuracy of stored data
US20030016596A1 (en) * 2001-07-17 2003-01-23 Chiquoine Kenneth F. Data transmission from raid devices
US7743284B1 (en) * 2007-04-27 2010-06-22 Netapp, Inc. Method and apparatus for reporting storage device and storage system data
CN101526907A (zh) * 2008-03-04 2009-09-09 深圳市爱国者嵌入式系统科技有限公司 避免电子产品开机错误的闪存管理方法
US20090327840A1 (en) * 2008-06-25 2009-12-31 Stec, Inc. Redundant data distribution in a flash storage device
US20110041037A1 (en) * 2009-08-11 2011-02-17 Texas Memory Systems, Inc. FLASH-based Memory System with Static or Variable Length Page Stripes including Data Protection Information and Auxiliary Protection Stripes
CN102063273A (zh) * 2010-12-22 2011-05-18 杭州海康威视数字技术股份有限公司 硬盘管理方法及管理装置
US20130145208A1 (en) * 2011-12-01 2013-06-06 Chih-Hung Yen Method for a Plurality of RAID Systems and Data Storage System Thereof
US20170123733A1 (en) * 2013-01-22 2017-05-04 Seagate Technology Llc Storage system with application to nvm address, span, and length
CN103605479A (zh) * 2013-10-16 2014-02-26 北京奇虎科技有限公司 数据文件写入方法及系统、数据文件读取方法及系统
CN104007936A (zh) * 2014-01-07 2014-08-27 华为技术有限公司 访问数据的方法及装置
CN203950299U (zh) * 2014-01-21 2014-11-19 北京众诚天合系统集成科技有限公司 硬盘固件修复系统
CN103729275A (zh) * 2014-01-21 2014-04-16 北京众诚天合系统集成科技有限公司 硬盘固件修复系统及硬盘固件修复方法
CN103970487A (zh) * 2014-05-23 2014-08-06 浙江宇视科技有限公司 一种独立磁盘冗余阵列及实现方法
CN104866239A (zh) * 2015-05-26 2015-08-26 浙江宇视科技有限公司 一种高可用性的视频存储方法
CN107992430A (zh) * 2017-12-20 2018-05-04 北京京存技术有限公司 闪存芯片的管理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN110515761B (zh) 2022-06-03
WO2019223432A1 (zh) 2019-11-28
US20210191800A1 (en) 2021-06-24
US11269713B2 (en) 2022-03-08

Similar Documents

Publication Publication Date Title
CN109542342B (zh) 元数据管理与数据重构方法、设备及存储介质
CN102508733B (zh) 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN104007936B (zh) 访问数据的方法及装置
US20190138421A1 (en) Real-time hierarchical protocol decoding
CN111857592A (zh) 基于对象存储系统的数据存储方法及装置、电子设备
CN103037203A (zh) 一种基于块存储的索引恢复方法和装置
CN106980468A (zh) 触发raid阵列重建的方法及装置
US8924642B2 (en) Monitoring record management method and device
CN106484313A (zh) 数据信息备份方法、数据备份方法及装置
CN110413454A (zh) 基于存储阵列的数据重建方法、装置及存储介质
CN113311993A (zh) 数据存储方法及数据读取方法
CN104216664B (zh) 网络卷创建方法、数据存储方法、存储设备和存储系统
CN109196458B (zh) 存储系统可用容量计算方法及装置
CN102033717B (zh) 基于磁盘阵列的数据存储方法及系统
CN111007988B (zh) 一种raid内部磨损均衡方法、系统、终端及存储介质
CN106708445B (zh) 链路选择方法及装置
CN109298979A (zh) 硬盘故障处理方法及装置
CN116339643B (zh) 一种磁盘阵列的格式化方法、装置、设备和介质
CN116339644B (zh) 一种独立磁盘冗余阵列创建方法、装置、设备及介质
CN110515761A (zh) 一种数据获取方法及装置
CN101464790B (zh) 命令排程装置及其方法
CN106648969A (zh) 一种磁盘中损坏数据巡检方法及系统
CN113626381B (zh) 一种基于分布式文件系统交织读预读的优化方法、装置
CN106998436B (zh) 录像备份方法及装置
CN104598171A (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