CN104007936A - 访问数据的方法及装置 - Google Patents

访问数据的方法及装置 Download PDF

Info

Publication number
CN104007936A
CN104007936A CN201410007103.0A CN201410007103A CN104007936A CN 104007936 A CN104007936 A CN 104007936A CN 201410007103 A CN201410007103 A CN 201410007103A CN 104007936 A CN104007936 A CN 104007936A
Authority
CN
China
Prior art keywords
state
data
band
disk
disk group
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
CN201410007103.0A
Other languages
English (en)
Other versions
CN104007936B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410007103.0A priority Critical patent/CN104007936B/zh
Publication of CN104007936A publication Critical patent/CN104007936A/zh
Priority to ES14878327.7T priority patent/ES2664795T3/es
Priority to EP14878327.7A priority patent/EP3079054B1/en
Priority to KR1020167020719A priority patent/KR101743411B1/ko
Priority to JP2016544792A priority patent/JP6229067B2/ja
Priority to PCT/CN2014/095668 priority patent/WO2015103933A1/zh
Priority to EP17205748.1A priority patent/EP3385832A1/en
Priority to RU2016132295A priority patent/RU2626091C1/ru
Priority to US15/203,645 priority patent/US10585600B2/en
Application granted granted Critical
Publication of CN104007936B publication Critical patent/CN104007936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0653Monitoring storage devices or systems
    • 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
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/103Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms

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)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种访问数据的方法及装置,属于信息技术领域。方法包括:获取携带有读取地址的第一磁盘组的数据读请求;根据读取地址确定第一磁盘组的第一条带位置范围;依次读取第一条带位置范围内的每个第一条带上的数据;将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果。本发明通过将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果,从而实现未成功读取数据时,减少数据的丢失和访问的中断时间。

Description

访问数据的方法及装置
技术领域
本发明涉及信息技术领域,特别涉及一种访问数据的方法及装置。
背景技术
随着信息技术的飞速发展,依靠设备存储数据的方式得到广泛的应用。但是设备中的存储区域存在损坏的风险,致使存储的数据丢失,这给人们带来不便,甚至是难以挽回的损失。由于不同领域对数据可靠性的要求不同,而对于数据可靠性要求不高的应用场景,存储区域中残存的数据也是有价值的。因此,如何在存储区域损坏的情况下,减少数据的丢失,从而有效地访问数据是人们需要考虑的问题。
现有技术在访问数据时会使用RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)技术,RAID是将多个磁盘组成一个磁盘组,每个磁盘又分为多个条带;数据被划分为多个数据块,分别存储在多个磁盘中的不同条带中,每个条带存储一个数据块。以RAID5为例,RAID5包括一个磁盘组,该磁盘组包括n+1个磁盘,n个磁盘用于存储访问的数据,1个磁盘用于存储冗余数据。当磁盘组中一个磁盘发生故障时,通过磁盘组中其他磁盘的数据可以计算出故障磁盘中的未知数据,进而访问全部数据。当磁盘组中多于一个磁盘发生故障时,通过磁盘组中其他磁盘的数据无法计算出故障磁盘中的未知数据,磁盘组会进入失效状态,并且无法访问磁盘组中的数据,在这种情况下可以采用RAID内置的方法或者第三方服务来访问磁盘组中的残存数据,该残存数据为磁盘组中除故障磁盘外的其他磁盘的数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当多于一个磁盘发生故障时,如果不采取其它措施,则磁盘组中的数据将全部丢失,不能有效地访问数据。另外,即使采用RAID内置和第三方服务的方式来访问数据,但RAID内置和第三方服务没有实时性,不能方便、快捷地读取数据,还会导致业务长时间中断,并且第三方介入不能保证数据的保密性。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种访问数据的方法及装置。所述技术方案如下:
一方面,提供了一种访问数据的方法,所述方法应用于独立磁盘冗余阵列,所述独立磁盘冗余阵列至少包括第一磁盘组,所述第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,所述方法包括:
获取第一磁盘组的数据读请求,所述数据读请求中携带有读取地址;
根据所述读取地址确定所述第一磁盘组的第一条带位置范围,所述第一条带位置范围内包括至少一个第一条带;
依次读取所述第一条带位置范围内的每个第一条带上的数据;
如果当前的第一条带上的数据未成功读取,则将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果。
结合第一方面,在第一方面的第一种可能的实现方式中,所述独立磁盘冗余阵列还包括第二磁盘组,所述方法还包括:
获取所述第一磁盘组的数据写请求,所述数据写请求中携带有写入地址;
根据所述写入地址确定所述第一磁盘组的第二条带位置范围,所述第二条带位置范围内包括至少一个第二条带;
依次向所述第二条带位置范围内的每个第二条带写入数据;
如果当前的第二条带上的数据未成功写入,则扫描所述第一磁盘组的状态,所述第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
如果所述第一磁盘组的状态为只读状态,则在所述第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述扫描所述第一磁盘组的状态之后,还包括:
如果所述第一磁盘组的状态为降级状态,则响应告警。
结合第一方面至第一方面的第一种至第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
检测所述第一磁盘组中各个磁盘的状态是否发生改变,所述磁盘的状态为新盘状态、正常状态和故障状态中的一种;
如果所述第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态,则对所述第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述将划分得到的每个条带的状态设置为未写入状态之后,还包括:
在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
结合第一方面至第一方面的第一种至第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
检测所述第一磁盘组的当前状态是否为只读状态,所述只读状态为所述第一磁盘组中至少两个磁盘的状态为故障状态;
如果所述第一磁盘组的当前状态为非只读状态,则确定上次检测到的所述第一磁盘组的状态是否为只读状态;
如果上次检测到的所述第一磁盘组的状态为只读状态,则将所述第一磁盘组的状态设置为非只读状态,所述非只读状态包括降级状态和正常读写状态。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述检测所述第一磁盘组的当前状态是否为只读状态之后,还包括:
如果所述第一磁盘组的当前状态为只读状态,则确定上次检测到的所述第一磁盘组的状态是否为非只读状态;
如果上次检测到的所述第一磁盘组的状态为非只读状态,则将所述第一磁盘组的状态设置为只读状态。
第二方面,提供了一种访问数据的装置,所述装置应用于独立磁盘冗余阵列,所述独立磁盘冗余阵列至少包括第一磁盘组,所述第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,所述装置包括:
第一获取模块,用于获取第一磁盘组的数据读请求,所述数据读请求中携带有读取地址;
第一确定模块,用于根据所述读取地址确定所述第一磁盘组的第一条带位置范围,所述第一条带位置范围内包括至少一个第一条带;
读取模块,用于依次读取所述第一条带位置范围内的每个第一条带上的数据;
第一设置模块,用于在当前的第一条带上的数据未成功读取时,将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕;
返回模块,用于返回各个第一条带的数据读取结果。
结合第二方面,在第二方面的第一种可能的实现方式中,所述独立磁盘冗余阵列还包括第二磁盘组,所述装置还包括:
第二获取模块,用于获取所述第一磁盘组的数据写请求,所述数据写请求中携带有写入地址;
第二确定模块,用于根据所述写入地址确定所述第一磁盘组的第二条带位置范围,所述第二条带位置范围内包括至少一个第二条带;
第一写入模块,用于依次向所述第二条带位置范围内的每个第二条带写入数据;
扫描模块,用于在当前的第二条带上的数据未成功写入时,扫描所述第一磁盘组的状态,所述第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
第二写入模块,用于当所述第一磁盘组的状态为只读状态时,在所述第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置,还包括:
响应模块,用于当所述第一磁盘组的状态为降级状态时,响应告警。
结合第二方面至第二方面的第一种至第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述装置,还包括:
第一检测模块,用于检测所述第一磁盘组中各个磁盘的状态是否发生改变,所述磁盘的状态为新盘状态、正常状态和故障状态中的一种;
格式化模块,用于当所述第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态时,对所述第一磁盘进行格式化;
划分模块,用于对格式化后的第一磁盘进行条带划分;
第二设置模块,用于将划分得到的每个条带的状态设置为未写入状态。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一设置模块,还用于在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
结合第二方面至第二方面的第一种至第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述装置还包括:
第二检测模块,用于检测所述第一磁盘组的当前状态是否为只读状态,所述只读状态为所述第一磁盘组中至少两个磁盘的状态为故障状态;
第三确定模块,用于当所述第一磁盘组的当前状态为非只读状态时,确定上次检测到的所述第一磁盘组的状态是否为只读状态;
第三设置模块,用于当上次检测到的所述第一磁盘组的状态为只读状态时,将所述第一磁盘组的状态设置为非只读状态,所述非只读状态包括降级状态和正常读写状态。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述装置,还包括:
第四确定模块,用于当所述第一磁盘组的当前状态为只读状态时,确定上次检测到的所述第一磁盘组的状态是否为非只读状态;
第四设置模块,用于当上次检测到的所述第一磁盘组的状态为非只读状态时,将所述第一磁盘组的状态设置为只读状态。
本发明实施例提供的技术方案带来的有益效果是:
将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果,从而实现未成功读取数据时,减少数据的丢失和访问的中断时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的访问数据的方法流程图;
图2是本发明实施例二提供的访问数据的方法流程图;
图3是本发明实施例二提供的第一磁盘的结构示意图;
图4是本发明实施例二提供的划分的条带的示意图;
图5是本发明实施例二提供的第一种第一磁盘组的结构示意图;
图6是本发明实施例二提供的第二种第一磁盘组的结构示意图;
图7是本发明实施例二提供的访问数据的软件的结构示意图;
图8是本发明实施例二提供的软件独立磁盘冗余阵列的结构示意图;
图9是本发明实施例二提供的访问数据的硬件的结构示意图;
图10是本发明实施例三提供的访问数据的方法流程图;
图11是本发明实施例三提供的显示界面的示意图;
图12是本发明实施例四提供的访问数据的装置的结构示意图。
具体实施方式
为了访问数据,需要确定存储数据的设备。确定存储设备时需要考虑存储设备的性能、可靠性和成本,而独立磁盘冗余阵列在性能、可靠性和成本之间取得了比较好的平衡。因此,民用存储设备大部分都采用了独立磁盘冗余阵列技术来构建存储环境。
本发明实施例提供的访问数据的方法,除了应用于流媒体数据存储的场景外,针对数据可靠性要求不高的应用场景,例如纯文本的存储、互联网缓存等场景,也可应用本发明实施例提供的访问数据的方法。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种访问数据的方法,应用于独立磁盘冗余阵列,该独立磁盘冗余阵列至少包括第一磁盘组,该第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,参见图1,本实施例提供的方法流程包括:
101:获取第一磁盘组的数据读请求,数据读请求中携带有读取地址;
102:根据读取地址确定第一磁盘组的第一条带位置范围,第一条带位置范围内包括至少一个第一条带;
103:依次读取第一条带位置范围内的每个第一条带上的数据;
104:如果当前的第一条带上的数据未成功读取,则将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果。
优选地,独立磁盘冗余阵列还包括第二磁盘组,方法还包括:
获取第一磁盘组的数据写请求,数据写请求中携带有写入地址;
根据写入地址确定第一磁盘组的第二条带位置范围,第二条带位置范围内包括至少一个第二条带;
依次向第二条带位置范围内的每个第二条带写入数据;
如果当前的第二条带上的数据未成功写入,则扫描第一磁盘组的状态,第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
如果第一磁盘组的状态为只读状态,则在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
优选地,扫描第一磁盘组的状态之后,还包括:
如果第一磁盘组的状态为降级状态,则响应告警。
优选地,方法还包括:
检测第一磁盘组中各个磁盘的状态是否发生改变,磁盘的状态为新盘状态、正常状态和故障状态中的一种;
如果第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态,则对第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
优选地,将划分得到的每个条带的状态设置为未写入状态之后,还包括:
在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
优选地,方法还包括:
检测第一磁盘组的当前状态是否为只读状态,只读状态为第一磁盘组中至少两个磁盘的状态为故障状态;
如果第一磁盘组的当前状态为非只读状态,则确定上次检测到的第一磁盘组的状态是否为只读状态;
如果上次检测到的第一磁盘组的状态为只读状态,则将第一磁盘组的状态设置为非只读状态,非只读状态包括降级状态和正常读写状态。
优选地,检测第一磁盘组的当前状态是否为只读状态之后,还包括:
如果第一磁盘组的当前状态为只读状态,则确定上次检测到的第一磁盘组上次的状态是否为非只读状态;
如果上次检测到的第一磁盘组的状态为非只读状态,则将第一磁盘组的状态设置为只读状态。
本发明实施例提供的方法,通过根据获取到的第一磁盘组的数据读请求中携带的读取地址确定的第一磁盘组的第一条带位置范围依次读取数据,将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果,从而实现未成功读取数据时,减少数据的丢失和访问的中断时间,且由于未引入第三方介入,因而能够保证数据的保密性。
实施例二
本发明实施例提供了一种访问数据的方法,应用于独立磁盘冗余阵列,该独立磁盘冗余阵列至少包括第一磁盘组,该第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,结合上述实施例一的内容,对本发明实施例提供的方法进行详细地解释说明,参见图2,方法流程包括:
201:获取第一磁盘组的数据读请求,数据读请求中携带有读取地址;
关于获取数据读请求的方式,本实施例不作具体限定。具体实施时,可以采用接收消息的方式来获取数据读请求。当然,除了上述方式外,还可以采用其他方式。
进一步地,为了确定读取范围,数据读请求中携带有读取地址,用于根据读取地址确定读取范围。数据读请求中除了携带有读取地址外,还可以携带其他信息,本实施例对此不作具体限定。例如,数据读请求中携带读取顺序等。
202:根据读取地址确定第一磁盘组的第一条带位置范围,第一条带位置范围内包括至少一个第一条带;
具体地,根据读取地址确定第一磁盘组的第一条带位置范围,包括但不限于:根据读取地址计算对应读取地址的第一磁盘组中的第一磁盘,计算每个第一磁盘的第一条带位置范围,则第一条带位置范围为每个第一磁盘的第一条带位置范围的累加。当然,除了上述方式外,还可以采用其他方式根据读取地址确定第一磁盘组的第一条带位置范围,本实施例对此不作具体限定。
需要说明的是,第一条带位置范围内包括至少一个第一条带,则后续步骤中可依次读取第一条带位置范围内的每个第一条带上的数据。
为了便于理解,以第一磁盘组中包括磁盘D1至D8为例进行说明。其中,读取地址为D1条带1至D4条带1,D1条带1为磁盘D1中的条带1,D4条带1为磁盘D4中的条带1。根据读取地址计算对应读取地址的第一磁盘组中的第一磁盘为D1至D4,计算磁盘D1的第一条带位置范围是条带1,磁盘D2的第一条带位置范围是条带1,磁盘D3的第一条带位置范围是条带1,磁盘D4的第一条带位置范围是条带1,则第一条带位置范围为磁盘D1中的条带1、磁盘D2中的条带1、磁盘D3中的条带1及磁盘D4中的条带1,即第一条带位置范围内包括4个第一条带。
203:依次读取第一条带位置范围内的每个第一条带上的数据;
由于已经根据读取地址确定第一磁盘组的第一条带位置范围,则可直接依次读取第一条带位置范围内的每个第一条带上的数据。关于读取条带上的数据的方式,本实施例不作具体限定。例如,访问的数据如果是连续数据,则可提前读取未被请求的数据,并将读取到的数据存储在内存中,在获取到数据读请求后,直接从内存中读取数据,加快数据的读取速度;又例如,访问的数据如果是随机数据,则在获取到数据读请求后,直接从对应的存储区域读取数据。
204:在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据;
为了能够确定条带的状态,本实施例提供的方法还包括:检测第一磁盘组中各个磁盘的状态是否发生改变,磁盘的状态为新盘状态、正常状态和故障状态中的一种;如果第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态,则对第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
其中,关于触发检测第一磁盘组中各个磁盘的状态的方式,本实施例不作具体限定。具体实施时,可以定期触发检测磁盘的状态。当然,除了上述方式外,还可以采用其他方式触发检测磁盘的状态。磁盘的状态为新盘状态、正常状态和故障状态中的一种。新盘状态的磁盘为新插入磁盘组的磁盘,正常状态的磁盘为磁盘组中可以进行读取、写入数据的磁盘,故障状态的磁盘为磁盘组中出现故障或拔出磁盘组的磁盘。
如果第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态,则该第一磁盘可能被人工更换为新的第一磁盘。为了正常使用新的第一磁盘,对新的第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。本实施例不对条带的状态作具体限定,条带的状态包括但不限于:已写入状态和未写入状态。需要说明的是,对第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分后,第一磁盘可正常读写数据,则第一磁盘的状态由新盘状态变为正常状态。
为了便于理解,以如图3所示的第一磁盘为例进行说明。第一磁盘被分为两个区域存储数据,分别为数据区域和元数据区域。数据区域被划分为条带1至条带5,由于第一磁盘的状态由故障状态变为新盘状态,则条带1至条带5的状态都被设置为未写入状态。元数据区域又被分为全局元数据区域和本磁盘元数据区域;全局元数据区域以B+树的形式存储第一磁盘组的元数据,本磁盘元数据区域根据全局元数据区域存储的第一磁盘组的元数据将第一磁盘中条带状态为未写入状态的条带的标志存储在“空闲条带链表”,将第一磁盘中条带状态为已写入状态的条带的标志存储在“已用条带链表”;其中,第一磁盘组的元数据在第一磁盘组中的每个第一磁盘中的全局元数据区域镜像存储,即第一磁盘组中的每个第一磁盘的全局元数据区域都记录相同的第一磁盘组的元数据。
另外,本实施例不对条带划分的大小作具体限定。具体实施时,可以根据不同的数据进行不同的划分。以流媒体数据为例,尤其是对于高清视频来说,损失一两个条带的数据时,损坏的可能仅仅是几帧图像,在25帧每秒的播放帧率下,损坏的几帧图像对视觉影像不大。绝大多数解码器和播放器可以兼容这样的错误。当损失的条带的数据增加时,视频的播放可能会变得断断续续。在视频监控的场景下,这样的视频数据一般也极具价值。
为了便于理解,以如图4(1)所示的划分的条带为例进行说明。第一行为划分后的条带,条带的大小为1MB,条带中的数据a、b、c、e、f、h、i、j、k、m、n、p、q、r、s、u、v、x未丢失,标0的条带中的数据丢失;第二行为视频数据分类,I表示关键帧(I帧),P表示前向预测帧(P帧);数据为0的条带对应I帧和P帧为损坏的帧。后续在读取数据时,第一个I帧和第一个至第三个P帧对应的条带成功读取,并可渲染到屏幕;第四个和第五个P帧对应的条带未成功读取,如果解码器解出混乱的数据,则屏幕上出现短时花屏;后续帧的显示效果可参照上述内容,针对8Mbps码率的视频数据,播放的视频基本连贯,偶尔卡顿,花屏的现象较少。
又例如,以如图4(2)所示的划分的条带为例进行说明。第一行为划分后的条带,条带的大小为256kb;第二行为视频数据分类,码率大小同图4(1)。从图4(2)可以看出,一个帧对应的条带数目增加,损坏的帧的数目也增加。因此,合适的条带大小是和媒体数据的码率大小相关的,较大的条带大小可以降低I帧连续被破坏的概率,但是一个条带包含的帧数也会变多,播放媒体数据时跳跃的时间增加;较小的条带会增大I帧连续损坏的概率,导致媒体数据的播放效果不佳。对于8MBps码率的1080p视频来说,1MB条带大小是比较好的选择,其他码率的视频文件可按照上述码率和条带的比例酌减。
进一步地,在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。由于读取未写入状态的条带没有存储数据,则在读取未写入状态的条带上的数据时,并不会实际读取数据,而是将未写入状态的条带的数据读取结果设置为预设的填充数据。本实施例不对预设的填充数据的数值作具体限定,具体实施时,预设的填充数据的数值可以为零。当然,除了上述数值外,还可以预设其他数值。
205:如果当前的第一条带上的数据未成功读取,则将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果。
为了使第一磁盘组中多于一个第一磁盘的状态为故障状态时,还可以读取磁盘组中其他第一磁盘的数据,本实施例提供的方法在当前的第一条带上的数据未成功读取时,将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据。其中,预设的填充数据参见上述步骤204中的内容,此处不再赘述。在第一条带位置范围内的每个第一条带上的数据全部读取完毕后,返回各个第一条带的数据读取结果,从而避免了第一磁盘组失效时,不能读取第一磁盘组中的任一第一磁盘的数据。
需要说明的是,在RAID5中,如果一个磁盘的状态为故障状态,可以根据磁盘组中的冗余数据恢复该磁盘中的数据。为了便于理解,以如图5所示的第一磁盘组为例进行说明,该第一磁盘组中包括D1至D9这9个磁盘,数据abcdefghijklmnopqrstuvwx被划分为数据块a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p、q、r、s、t、u、v、w、x,分别存储在磁盘D1至D9的条带中。数据a、i、q分别存储在磁盘D1的三个条带中,数据b、j、r分别存储在磁盘D2的三个条带中,数据c、k、s分别存储在磁盘D3的三个条带中,数据d、l、t分别存储在磁盘D4的三个条带中,数据e、m、u分别存储在磁盘D5的三个条带中,数据f、n、v分别存储在磁盘D6的三个条带中,数据g、o、w分别存储在磁盘D7的三个条带中,数据h、p、x分别存储在磁盘D8的三个条带中。冗余数据xor1、xor2、xor1分别存储在磁盘D9的三个条带中,xor1=a^b^c^d^e^f^g^h,xor2=i^j^k^l^m^n^o^p,xor3=q^r^s^t^u^v^w^x;其中,^表示异或。当D1至D8中任一磁盘的状态为故障状态时,可通过冗余计算恢复任一磁盘中的数据。
例如,磁盘D3的状态为故障状态,则数据c的冗余计算过程为:
xor1^a^b^d^e^f^g^h
=(a^b^c^d^e^f^g^h)^a^b^d^e^f^g^h
=(a^a)^(b^b)^c^(d^d)^(e^e)^(f^f)^(g^g)^(h^h)
=0^0^c^0^0^0^0^0
=c
数据k和数据s的冗余计算过程可参见数据c的冗余计算过程,此处不再赘述。
又例如,磁盘D4和D7的状态为故障状态,如图6所示,由于通过冗余计算不能得到磁盘D4和D7中的数据,则不能成功读取磁盘D4和D7中的数据。设置预设的填充数据为0,磁盘D4和D7中的数据中的数据的读取结果都为0。如果根据读取地址确定第一磁盘组的第一条带位置范围为D1至D8中的每个条带,则返回的数据读取结果为abc0ef0hijk0mn0pqrs0uv0x。
进一步地,本发明实施例提供的访问数据的方法可通过软件实现,还可通过硬件实现。为了便于理解,以如图7所示的访问数据的软件的结构为例进行说明。软件RAID位于VFS(Virtual File System,虚拟文件系统)和XFS(X-FileSystem,X文件系统)之间,并且提供WebUI(User Interface,用户界面)和CLI(Command Line Interface,命令行接口)用于控制软件RAID;RAID用户可通过VFS控制软件RAID。其中,软件RAID的结构可以如图8(1)所示,还可以如图8(2)所示。相对于图8(1)中的软件RAID,图8(2)中的软件RAID没有RAID文件系统和读写缓存,虚拟块设备直接连接标准文件系统,在磁盘组满足失效条件时,丢失的数据可能是标准文件里的关键数据,导致标准文件系统损坏,因此该软件RAID通常不应用于文件系统。
另外,如图9所示的访问数据的硬件的结构中,可通过RAID卡等来实现本发明实施例提供的访问数据的方法。其中,RAID卡位于操作系统和磁盘之间。
本实施例提供的方法,通过根据获取到的第一磁盘组的数据读请求中携带的读取地址确定的第一磁盘组的第一条带位置范围依次读取数据,将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果,从而实现未成功读取数据时,减少数据的丢失和访问的中断时间,且由于未引入第三方介入,因而能够保证数据的保密性。
实施例三
本实施例提供了一种访问数据的方法,应用于独立磁盘冗余阵列,该独立磁盘冗余阵列包括第一磁盘组和第二磁盘组,第一磁盘组和第二磁盘组分别包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,参见图10,方法流程包括:
1001:获取第一磁盘组的数据写请求,数据写请求中携带有写入地址;
为了能够访问磁盘组中的数据,获取第一磁盘组的数据写请求。关于获取数据写请求的方式,本实施例不作具体限定。具体实施时,可以采用接收消息的方式来获取数据写请求。当然,除了上述方式外,还可以采用其他方式。
进一步地,为了确定写入范围,数据写请求中携带有写入地址,用于根据写入地址确定写入范围。数据写请求中除了携带有写入地址外,还可以携带其他信息,本实施例对此不作具体限定。例如,数据写请求中携带写入顺序等。
1002:根据写入地址确定第一磁盘组的第二条带位置范围,第二条带位置范围内包括至少一个第二条带;
具体地,根据写入地址确定第一磁盘组的第二条带位置范围,包括但不限于:根据写入地址计算对应写入地址的第一磁盘组中的第一磁盘,计算每个第一磁盘的第二条带位置范围,则第二条带位置范围为每个第一磁盘的第二条带位置范围的累加。当然,除了上述方式外,还可以采用其他方式根据写入地址确定第一磁盘组的第二条带位置范围,本实施例对此不作具体限定。
需要说明的是,第一条带位置范围内包括至少一个第一条带,则后续步骤中可依次向第二条带位置范围内的每个第二条带写入数据。
为了便于理解,以第一磁盘组中包括磁盘D1至D8为例进行说明。其中,写入地址为D1条带1至D4条带1,D1条带1为磁盘D1中的条带1,D4条带1为磁盘D4中的条带1。根据写入地址计算对应写入地址的第一磁盘组中的第一磁盘为D1至D4,计算磁盘D1的第二条带位置范围是条带1,磁盘D2的第二条带位置范围是条带1,磁盘D3的第二条带位置范围是条带1,磁盘D4的第二条带位置范围是条带1,则第二条带位置范围为磁盘D1中的条带1、磁盘D2中的条带1、磁盘D3中的条带1及磁盘D4中的条带1,即第二条带位置范围内包括4个第二条带。
1003:依次向第二条带位置范围内的每个第二条带写入数据;
由于已经根据写入地址确定第一磁盘组的第二条带位置范围,则可直接依次向第二条带位置范围内的每个第二条带写入数据。关于向条带写入数据的方式,本实施例不作具体限定。具体实施时,可以将待写入的数据划分为多个数据块,并行写入第二条带位置范围内的每个第二条带写入数据,从而提高写入数据的速度。当然,除了上述方式外,还可以采用其他方式。
1004:如果当前的第二条带上的数据未成功写入,则扫描第一磁盘组的状态,第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
为了将数据成功写入独立磁盘冗余阵列,本实施例提供的方法在当前的第二条带上的数据未成功写入时,扫描第一磁盘组的状态。需要说明的是,除了在当前的第二条带上的数据未成功写入时触发扫描第一磁盘组的状态,还可以定期触发扫描第一磁盘组的状态。其中,第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;只读状态为第一磁盘组中的每个第一磁盘只能进行读取数据的操作,不能进行写入数据的操作;正常读写状态为第一磁盘中的每个第一磁盘既能进行读取数据的操作,还能进行写入数据的操作;降级状态为第一磁盘中的每个第一磁盘既能进行读取数据的操作,还能进行写入数据的操作,并且第一磁盘组中有至少一个第一磁盘的状态为故障状态;降级状态介于只读状态和正常读写状态之间。针对不同的独立磁盘冗余阵列,第一磁盘组的状态对应不同的第一磁盘的状态。
为了便于理解,以RAID5为例进行说明。如果第一磁盘组中有多于一个第一磁盘的状态为故障状态,则扫描到的第一磁盘组的状态为只读状态;如果第一磁盘组中没有第一磁盘的状态为故障状态,则扫描到的第一磁盘组的状态为正常读写状态;如果第一磁盘组中有一个第一磁盘的状态为故障状态,则扫描到的第一磁盘组的状态为降级状态。
1005:如果第一磁盘组的状态为只读状态,则在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
如果第一磁盘组的状态为只读状态,则只能读取第一磁盘组中的数据,而不能在第一磁盘组中的条带上继续写入数据。为了能够继续向写入独立磁盘冗余阵列中写入数据,在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
优选地,为了将第一磁盘组的状态恢复为正常读写状态,本实施例提供的方法还包括但不限于:显示第一磁盘组中磁盘状态为故障状态的第一磁盘。关于显示第一磁盘的方式,本实施例不作具体限定。为了便于理解,以图11所示的显示界面为例进行说明。根据第一磁盘组中的每个第一磁盘实际对应的插卡槽的位置显示每个第一磁盘对应的标志,分别为D1至D8;在磁盘D4和磁盘D7的位置标注,表明磁盘D4和磁盘D7的状态为故障状态。
由于已经标注故障状态的第一磁盘的位置,便于人工更换第一磁盘,为了检测第一磁盘是否被更换,本实施例提供的方法包括但不限于:检测第一磁盘组中各个磁盘的状态是否发生改变,磁盘的状态为新盘状态、正常状态和故障状态中的一种;如果第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态,则对第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
进一步地,在检测第一磁盘组中各个磁盘的状态是否发生改变之后,本实施例提供的方法还包括但不限于:
(1)检测第一磁盘组的当前状态是否为只读状态,只读状态为第一磁盘组中至少两个磁盘的状态为故障状态;如果第一磁盘组的当前状态为非只读状态,则执行(2);如果第一磁盘组的当前状态为只读状态,则执行(4);
(2)确定上次检测到的第一磁盘组的状态是否为只读状态;
(3)如果上次检测到的第一磁盘组的状态为只读状态,则将第一磁盘组的状态设置为非只读状态,非只读状态包括降级状态和正常读写状态。
(4)确定上次检测到的第一磁盘组的状态是否为非只读状态;
(5)如果上次检测到的第一磁盘组的状态为非只读状态,则将第一磁盘组的状态设置为只读状态。
另外,为了尽量避免磁盘组失效条件,在扫描第一磁盘组的状态之后,如果第一磁盘组的状态为降级状态,则响应告警。第一磁盘组的状态为降级状态时,表明第一磁盘组中有一个第一磁盘的状态为故障状态。通过响应警告,可提醒人工更换磁盘。关于响应告警的方式,本实施例不作具体限定。具体实施时,可以采用发出告警信息的方式来响应告警。另外,告警信息中还可携带磁盘的位置信息,便于更换磁盘。
需要说明的是,本发明实施例提供的访问数据的方法可通过软件实现,还可通过硬件实现,具体详见上述实施例二中关于软件实现和硬件实现的具体描述内容,此处不再赘述。
本发明实施例提供的方法,通过在当前的第二条带上的数据未成功写入时,扫描到第一磁盘组的状态为只读状态,在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕,从而无需重新组建磁盘组就实现了写入数据,减少访问的中断时间,且由于未引入第三方介入,因而能够保证数据的保密性。
实施例四
参见图12,本发明实施例提供了一种访问数据的装置,该装置应用于独立磁盘冗余阵列,独立磁盘冗余阵列至少包括第一磁盘组,第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,该装置包括:
第一获取模块1201,用于获取第一磁盘组的数据读请求,数据读请求中携带有读取地址;
第一确定模块1202,用于根据读取地址确定第一磁盘组的第一条带位置范围,第一条带位置范围内包括至少一个第一条带;
读取模块1203,用于依次读取第一条带位置范围内的每个第一条带上的数据;
第一设置模块1204,用于在当前的第一条带上的数据未成功读取时,将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕;
返回模块1205,用于返回各个第一条带的数据读取结果。
优选地,独立磁盘冗余阵列还包括第二磁盘组,该装置,还包括:
第二获取模块,用于获取第一磁盘组的数据写请求,数据写请求中携带有写入地址;
第二确定模块,用于根据写入地址确定第一磁盘组的第二条带位置范围,第二条带位置范围内包括至少一个第二条带;
第一写入模块,用于依次向第二条带位置范围内的每个第二条带写入数据;
扫描模块,用于在当前的第二条带上的数据未成功写入时,扫描第一磁盘组的状态,第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
第二写入模块,用于当第一磁盘组的状态为只读状态时,在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
优选地,该装置,还包括:
响应模块,用于当第一磁盘组的状态为降级状态时,响应告警。
优选地,该装置,还包括:
第一检测模块,用于检测第一磁盘组中各个磁盘的状态是否发生改变,磁盘的状态为新盘状态、正常状态和故障状态中的一种;
格式化模块,用于当第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态时,对第一磁盘进行格式化;
划分模块,用于对格式化后的第一磁盘进行条带划分;
第二设置模块,用于将划分得到的每个条带的状态设置为未写入状态。
优选地,第一设置模块1204,还用于在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
优选地,装置还包括:
第二检测模块,用于检测第一磁盘组的当前状态是否为只读状态,只读状态为第一磁盘组中至少两个磁盘的状态为故障状态;
第三确定模块,用于当第一磁盘组的当前状态为非只读状态时,确定上次检测到的第一磁盘组的状态是否为只读状态;
第三设置模块,用于当上次检测到的第一磁盘组的状态为只读状态时,将第一磁盘组的状态设置为非只读状态,非只读状态包括降级状态和正常读写状态。
优选地,该装置,还包括:
第四确定模块,用于当第一磁盘组的当前状态为只读状态时,确定上次检测到的第一磁盘组的状态是否为非只读状态;
第四设置模块,用于当上次检测到的第一磁盘组的状态为非只读状态时,将第一磁盘组的状态设置为只读状态。
本实施例提供的装置,通过根据获取到的第一磁盘组的数据读请求中携带的读取地址确定的第一磁盘组的第一条带位置范围依次读取数据,将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果,从而实现未成功读取数据时,减少数据的丢失和访问的中断时间,且由于未引入第三方介入,因而能够保证数据的保密性。
实施例五
本发明实施例提供了一种访问数据的终端,该终端应用于独立磁盘冗余阵列,独立磁盘冗余阵列至少包括第一磁盘组,第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,该终端包括处理器、发射机和接收机。
其中,接收机,用于获取第一磁盘组的数据读请求,数据读请求中携带有读取地址;
处理器,用于根据读取地址确定第一磁盘组的第一条带位置范围,第一条带位置范围内包括至少一个第一条带;
处理器,还用于依次读取第一条带位置范围内的每个第一条带上的数据;
处理器,还用于在当前的第一条带上的数据未成功读取时,将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕;
发射机,用于返回各个第一条带的数据读取结果。
作为一种可选实施例,处理器,还用于检测第一磁盘组中各个磁盘的状态是否发生改变,磁盘的状态为新盘状态、正常状态和故障状态中的一种;
处理器,还用于在第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态时,对第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
作为一种可选实施例,处理器,还用于在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
作为一种可选实施例,处理器,还用于检测第一磁盘组的当前状态是否为只读状态,只读状态为第一磁盘组中至少两个磁盘的状态为故障状态;
处理器,还用于在第一磁盘组的当前状态为非只读状态时,确定上次检测到的第一磁盘组的状态是否为只读状态;
处理器,还用于在上次检测到的第一磁盘组的状态为只读状态时,将第一磁盘组的状态设置为非只读状态,非只读状态包括降级状态和正常读写状态。
作为一种可选实施例,处理器,还用于在第一磁盘组的当前状态为只读状态时,确定上次检测到的第一磁盘组的状态是否为非只读状态;
处理器,还用于在上次检测到的第一磁盘组的状态为非只读状态时,将第一磁盘组的状态设置为只读状态。
本实施例提供的终端,通过根据获取到的第一磁盘组的数据读请求中携带的读取地址确定的第一磁盘组的第一条带位置范围依次读取数据,将未成功读取的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果,从而实现未成功读取数据时,减少数据的丢失和访问的中断时间,且由于未引入第三方介入,因而能够保证数据的保密性。
实施例六
本发明实施例提供了一种访问数据的终端,该终端应用于独立磁盘冗余阵列,独立磁盘冗余阵列至少包括第一磁盘组和第二磁盘组,第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,该终端包括处理器和接收机。
其中,接收机,用于获取第一磁盘组的数据写请求,数据写请求中携带有写入地址;
处理器,用于根据写入地址确定第一磁盘组的第二条带位置范围,第二条带位置范围内包括至少一个第二条带;
处理器,还用于依次向第二条带位置范围内的每个第二条带写入数据;
处理器,还用于在当前的第二条带上的数据未成功写入时,扫描第一磁盘组的状态,第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
处理器,还用于在如果第一磁盘组的状态为只读状态时,在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
作为一种可选实施例,处理器,还用于在第一磁盘组的状态为降级状态时,响应告警。
作为一种可选实施例,处理器,还用于检测第一磁盘组中各个磁盘的状态是否发生改变,磁盘的状态为新盘状态、正常状态和故障状态中的一种;
处理器,还用于在第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态时,对第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
作为一种可选实施例,处理器,还用于检测第一磁盘组的当前状态是否为只读状态,只读状态为第一磁盘组中至少两个磁盘的状态为故障状态;
处理器,还用于在第一磁盘组的当前状态为非只读状态时,确定上次检测到的第一磁盘组的状态是否为只读状态;
处理器,还用于在上次检测到的第一磁盘组的状态为只读状态时,将第一磁盘组的状态设置为非只读状态,非只读状态包括降级状态和正常读写状态。
作为一种可选实施例,处理器,还用于在第一磁盘组的当前状态为只读状态时,确定上次检测到的第一磁盘组的状态是否为非只读状态;
处理器,还用于在上次检测到的第一磁盘组的状态为非只读状态时,将第一磁盘组的状态设置为只读状态。
本发明实施例提供的终端,通过在当前的第二条带上的数据未成功写入时,扫描到第一磁盘组的状态为只读状态,在第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕,从而无需重新组建磁盘组就实现了写入数据,减少访问的中断时间,且由于未引入第三方介入,因而能够保证数据的保密性。
需要说明的是:上述实施例提供的访问数据的装置在访问数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的访问数据的装置与访问数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种访问数据的方法,其特征在于,所述方法应用于独立磁盘冗余阵列,所述独立磁盘冗余阵列至少包括第一磁盘组,所述第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,所述方法包括:
获取第一磁盘组的数据读请求,所述数据读请求中携带有读取地址;
根据所述读取地址确定所述第一磁盘组的第一条带位置范围,所述第一条带位置范围内包括至少一个第一条带;
依次读取所述第一条带位置范围内的每个第一条带上的数据;
如果当前的第一条带上的数据未成功读取,则将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕,返回各个第一条带的数据读取结果。
2.根据权利要求1所述的方法,其特征在于,所述独立磁盘冗余阵列还包括第二磁盘组,所述方法还包括:
获取所述第一磁盘组的数据写请求,所述数据写请求中携带有写入地址;
根据所述写入地址确定所述第一磁盘组的第二条带位置范围,所述第二条带位置范围内包括至少一个第二条带;
依次向所述第二条带位置范围内的每个第二条带写入数据;
如果当前的第二条带上的数据未成功写入,则扫描所述第一磁盘组的状态,所述第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
如果所述第一磁盘组的状态为只读状态,则在所述第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
3.根据权利要求2所述的方法,其特征在于,所述扫描所述第一磁盘组的状态之后,还包括:
如果所述第一磁盘组的状态为降级状态,则响应告警。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述方法还包括:
检测所述第一磁盘组中各个磁盘的状态是否发生改变,所述磁盘的状态为新盘状态、正常状态和故障状态中的一种;
如果所述第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态,则对所述第一磁盘进行格式化,并对格式化后的第一磁盘进行条带划分,将划分得到的每个条带的状态设置为未写入状态。
5.根据权利要求4所述的方法,其特征在于,所述将划分得到的每个条带的状态设置为未写入状态之后,还包括:
在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述方法还包括:
检测所述第一磁盘组的当前状态是否为只读状态,所述只读状态为所述第一磁盘组中至少两个磁盘的状态为故障状态;
如果所述第一磁盘组的当前状态为非只读状态,则确定上次检测到的所述第一磁盘组的状态是否为只读状态;
如果上次检测到的所述第一磁盘组的状态为只读状态,则将所述第一磁盘组的状态设置为非只读状态,所述非只读状态包括降级状态和正常读写状态。
7.根据权利要求6所述的方法,其特征在于,所述检测所述第一磁盘组的当前状态是否为只读状态之后,还包括:
如果所述第一磁盘组的当前状态为只读状态,则确定上次检测到的所述第一磁盘组的状态是否为非只读状态;
如果上次检测到的所述第一磁盘组的状态为非只读状态,则将所述第一磁盘组的状态设置为只读状态。
8.一种访问数据的装置,其特征在于,所述装置应用于独立磁盘冗余阵列,所述独立磁盘冗余阵列至少包括第一磁盘组,所述第一磁盘组包括至少一个磁盘,每个磁盘预先被划分为至少一个条带,所述装置包括:
第一获取模块,用于获取第一磁盘组的数据读请求,所述数据读请求中携带有读取地址;
第一确定模块,用于根据所述读取地址确定所述第一磁盘组的第一条带位置范围,所述第一条带位置范围内包括至少一个第一条带;
读取模块,用于依次读取所述第一条带位置范围内的每个第一条带上的数据;
第一设置模块,用于在当前的第一条带上的数据未成功读取时,将当前的第一条带的数据读取结果设置为预设的填充数据,并继续读取下一个第一条带上的数据,直至每个第一条带上的数据全部读取完毕;
返回模块,用于返回各个第一条带的数据读取结果。
9.根据权利要求8所述的装置,其特征在于,所述独立磁盘冗余阵列还包括第二磁盘组,所述装置还包括:
第二获取模块,用于获取所述第一磁盘组的数据写请求,所述数据写请求中携带有写入地址;
第二确定模块,用于根据所述写入地址确定所述第一磁盘组的第二条带位置范围,所述第二条带位置范围内包括至少一个第二条带;
第一写入模块,用于依次向所述第二条带位置范围内的每个第二条带写入数据;
扫描模块,用于在当前的第二条带上的数据未成功写入时,扫描所述第一磁盘组的状态,所述第一磁盘组的状态为只读状态、正常读写状态和降级状态中的一种;
第二写入模块,用于当所述第一磁盘组的状态为只读状态时,在所述第二磁盘组中对应的条带上继续写入数据,直至将数据全部写入完毕。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
响应模块,用于当所述第一磁盘组的状态为降级状态时,响应告警。
11.根据权利要求8至10中任一权利要求所述的装置,其特征在于,所述装置,还包括:
第一检测模块,用于检测所述第一磁盘组中各个磁盘的状态是否发生改变,所述磁盘的状态为新盘状态、正常状态和故障状态中的一种;
格式化模块,用于当所述第一磁盘组中的第一磁盘的状态由故障状态变为新盘状态时,对所述第一磁盘进行格式化;
划分模块,用于对格式化后的第一磁盘进行条带划分;
第二设置模块,用于将划分得到的每个条带的状态设置为未写入状态。
12.根据权利要求11所述的装置,其特征在于,所述第一设置模块,还用于在读取未写入状态的条带上的数据时,将未写入状态的条带的数据读取结果设置为预设的填充数据。
13.根据权利要求8-12中任一权利要求所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于检测所述第一磁盘组的当前状态是否为只读状态,所述只读状态为所述第一磁盘组中至少两个磁盘的状态为故障状态;
第三确定模块,用于当所述第一磁盘组的当前状态为非只读状态时,确定上次检测到的所述第一磁盘组的状态是否为只读状态;
第三设置模块,用于当上次检测到的所述第一磁盘组的状态为只读状态时,将所述第一磁盘组的状态设置为非只读写状态,所述非只读状态包括降级状态和正常读写状态。
14.根据权利要求13所述的装置,其特征在于,所述装置,还包括:
第四确定模块,用于当所述第一磁盘组的当前状态为只读状态时,确定上次检测到的所述第一磁盘组的状态是否为非只读状态;
第四设置模块,用于当上次检测到的所述第一磁盘组的状态为非只读状态时,将所述第一磁盘组的状态设置为只读状态。
CN201410007103.0A 2014-01-07 2014-01-07 访问数据的方法及装置 Active CN104007936B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201410007103.0A CN104007936B (zh) 2014-01-07 2014-01-07 访问数据的方法及装置
JP2016544792A JP6229067B2 (ja) 2014-01-07 2014-12-30 データアクセス方法及び装置
EP14878327.7A EP3079054B1 (en) 2014-01-07 2014-12-30 Method and apparatus for data access
KR1020167020719A KR101743411B1 (ko) 2014-01-07 2014-12-30 데이터 액세스 방법 및 장치
ES14878327.7T ES2664795T3 (es) 2014-01-07 2014-12-30 Procedimiento y aparato de acceso a datos
PCT/CN2014/095668 WO2015103933A1 (zh) 2014-01-07 2014-12-30 访问数据的方法及装置
EP17205748.1A EP3385832A1 (en) 2014-01-07 2014-12-30 Data access method and apparatus
RU2016132295A RU2626091C1 (ru) 2014-01-07 2014-12-30 Способ и устройство доступа к данным
US15/203,645 US10585600B2 (en) 2014-01-07 2016-07-06 Data access method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410007103.0A CN104007936B (zh) 2014-01-07 2014-01-07 访问数据的方法及装置

Publications (2)

Publication Number Publication Date
CN104007936A true CN104007936A (zh) 2014-08-27
CN104007936B CN104007936B (zh) 2017-09-29

Family

ID=51368607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410007103.0A Active CN104007936B (zh) 2014-01-07 2014-01-07 访问数据的方法及装置

Country Status (8)

Country Link
US (1) US10585600B2 (zh)
EP (2) EP3079054B1 (zh)
JP (1) JP6229067B2 (zh)
KR (1) KR101743411B1 (zh)
CN (1) CN104007936B (zh)
ES (1) ES2664795T3 (zh)
RU (1) RU2626091C1 (zh)
WO (1) WO2015103933A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015103933A1 (zh) * 2014-01-07 2015-07-16 华为技术有限公司 访问数据的方法及装置
CN107783784A (zh) * 2016-08-24 2018-03-09 衡宇科技股份有限公司 由主机到设备控制器传输命令的方法及使用其的系统
CN110515761A (zh) * 2018-05-22 2019-11-29 杭州海康威视数字技术股份有限公司 一种数据获取方法及装置
CN111427508A (zh) * 2019-01-09 2020-07-17 深圳市茁壮网络股份有限公司 一种文件均衡分布方法及装置
CN111435286A (zh) * 2019-01-14 2020-07-21 深圳市茁壮网络股份有限公司 一种数据存储方法、装置和系统
CN115904255A (zh) * 2023-01-19 2023-04-04 苏州浪潮智能科技有限公司 一种数据请求方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020162076A1 (en) * 2001-04-30 2002-10-31 Talagala Nisha D. Storage array employing scrubbing operations using multiple levels of checksums
CN102023809A (zh) * 2009-09-21 2011-04-20 成都市华为赛门铁克科技有限公司 存储系统、从存储系统读取数据的方法及写入数据的方法
CN102207895A (zh) * 2011-05-27 2011-10-05 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置
CN102226892A (zh) * 2011-05-20 2011-10-26 杭州华三通信技术有限公司 一种磁盘容错处理方法及设备
US8417987B1 (en) * 2009-12-01 2013-04-09 Netapp, Inc. Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
JPH11232048A (ja) * 1998-02-19 1999-08-27 Sony Corp データ処理装置およびデータ処理方法
RU2303822C2 (ru) * 2002-04-01 2007-07-27 Сони Корпорейшн Способ записи данных на носитель записи
RU2305330C2 (ru) * 2002-04-01 2007-08-27 Сони Корпорейшн Носитель записи и способ записи на носитель записи
AU2003201837A1 (en) 2002-04-01 2003-10-23 Sony Corporation Storage medium and storage medium recording method
US6944791B2 (en) * 2002-07-18 2005-09-13 Lsi Logic Corporation Method of handling unreadable blocks during write of a RAID device
JP4426262B2 (ja) * 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
TWI346944B (en) * 2007-12-31 2011-08-11 Qnap Systems Inc Method of raid level migration and system for the same
US8049980B1 (en) * 2008-04-18 2011-11-01 Network Appliance, Inc. Partial disk failures and improved storage resiliency
KR20100004792A (ko) * 2008-07-04 2010-01-13 삼성전자주식회사 손상된 정보를 저장하는 방법, 손상된 정보를 저장할 수있는 정보 처리 장치, 손상된 정보를 저장 가능하게송신하는 정보 저장 장치, 손상된 정보를 저장하기 위한소프트웨어가 기록된, 정보 처리 장치로 읽을 수 있는 매체
US20100125695A1 (en) * 2008-11-15 2010-05-20 Nanostar Corporation Non-volatile memory storage system
US7904749B2 (en) * 2008-10-24 2011-03-08 Hitachi, Ltd. Fast data recovery from HDD failure
WO2011151859A1 (en) * 2010-06-01 2011-12-08 Hitachi, Ltd. Data transfer device and method of controlling the same
JP5519573B2 (ja) * 2011-05-12 2014-06-11 株式会社日立製作所 映像処理装置、映像処理方法、および、映像処理プログラム
US9021339B2 (en) * 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9277208B2 (en) * 2013-11-12 2016-03-01 Oovoo, Llc System and method for estimating quality of video with frame freezing artifacts
CN104007936B (zh) * 2014-01-07 2017-09-29 华为技术有限公司 访问数据的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020162076A1 (en) * 2001-04-30 2002-10-31 Talagala Nisha D. Storage array employing scrubbing operations using multiple levels of checksums
CN102023809A (zh) * 2009-09-21 2011-04-20 成都市华为赛门铁克科技有限公司 存储系统、从存储系统读取数据的方法及写入数据的方法
US8417987B1 (en) * 2009-12-01 2013-04-09 Netapp, Inc. Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system
CN102226892A (zh) * 2011-05-20 2011-10-26 杭州华三通信技术有限公司 一种磁盘容错处理方法及设备
CN102207895A (zh) * 2011-05-27 2011-10-05 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015103933A1 (zh) * 2014-01-07 2015-07-16 华为技术有限公司 访问数据的方法及装置
US10585600B2 (en) 2014-01-07 2020-03-10 Huawei Technologies Co., Ltd. Data access method and apparatus
CN107783784A (zh) * 2016-08-24 2018-03-09 衡宇科技股份有限公司 由主机到设备控制器传输命令的方法及使用其的系统
CN110515761A (zh) * 2018-05-22 2019-11-29 杭州海康威视数字技术股份有限公司 一种数据获取方法及装置
US11269713B2 (en) 2018-05-22 2022-03-08 Hangzhou Hikvision Digital Technology Co., Ltd. Data obtaining method and apparatus
CN110515761B (zh) * 2018-05-22 2022-06-03 杭州海康威视数字技术股份有限公司 一种数据获取方法及装置
CN111427508A (zh) * 2019-01-09 2020-07-17 深圳市茁壮网络股份有限公司 一种文件均衡分布方法及装置
CN111427508B (zh) * 2019-01-09 2023-07-21 深圳市茁壮网络股份有限公司 一种文件均衡分布方法及装置
CN111435286A (zh) * 2019-01-14 2020-07-21 深圳市茁壮网络股份有限公司 一种数据存储方法、装置和系统
CN111435286B (zh) * 2019-01-14 2023-12-05 深圳市茁壮网络股份有限公司 一种数据存储方法、装置和系统
CN115904255A (zh) * 2023-01-19 2023-04-04 苏州浪潮智能科技有限公司 一种数据请求方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2017502424A (ja) 2017-01-19
ES2664795T3 (es) 2018-04-23
CN104007936B (zh) 2017-09-29
EP3385832A1 (en) 2018-10-10
KR101743411B1 (ko) 2017-06-02
US10585600B2 (en) 2020-03-10
EP3079054A4 (en) 2016-11-09
EP3079054B1 (en) 2018-02-21
US20160313937A1 (en) 2016-10-27
WO2015103933A1 (zh) 2015-07-16
JP6229067B2 (ja) 2017-11-08
RU2626091C1 (ru) 2017-07-21
KR20160104671A (ko) 2016-09-05
EP3079054A1 (en) 2016-10-12

Similar Documents

Publication Publication Date Title
CN104007936A (zh) 访问数据的方法及装置
US20110238507A1 (en) Combining user content with supplemental content at a data storage device
US8305463B2 (en) Video data saving device and video data saving method
CN104091617A (zh) 一种闪存存储设备检测的方法及装置
US10572335B2 (en) Metadata recovery method and apparatus
CN104484427B (zh) 一种录像文件存储装置及方法
CN113220239A (zh) 一种flash存储的擦写方法、装置、设备及可读存储介质
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비
CN107608624A (zh) 一种提升固态硬盘性能的方法
CN107967118A (zh) 一种实现硬盘数据快速转储和查看的方法及设备
US20100174880A1 (en) Method for fast format of a fully allocated volume when copied from a space efficient volume
CN104200831A (zh) 车载多媒体终端sd卡的存储方法
CN107748651A (zh) 磁盘阵列的挂载方法、Android设备和存储介质
US7006416B1 (en) Record medium with mechanism of secrecy protection
US7565483B2 (en) Method and apparatus for exchanging data with a hard disk
KR101111400B1 (ko) 임베디드 시스템의 데이터 복원 장치 및 방법
CN104504349B (zh) 一种录像数据安全存储装置及方法
CN111399774B (zh) 分布式存储系统下基于快照的数据处理方法和装置
US8487777B2 (en) Semiconductor storage apparatus and early-warning systems and methods for the same
CN114155906A (zh) 一种数据块修复方法、装置、设备及存储介质
CN107704205A (zh) Raid管理方法、装置及计算机可读存储介质
US20120089790A1 (en) Storage device and method for accessing data using the same
CN110515761B (zh) 一种数据获取方法及装置
CN102646434B (zh) 影像存储装置与影像纪录器
CN111324280B (zh) 基于Raid5的数据写入方法和装置

Legal Events

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