本发明专利技术公开了一种读取数据的方法、装置及设备,属于计算机领域。所述方法包括:根据需要读取的数据块的标识,分别获取每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息;根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,得到所述数据块。所述装置包括:获取模块和第一合并模块。本发明专利技术根据每个硬盘存储的数据块中的每个数据分片的可用信息,对每个硬盘中存储的数据块包括的数据分片进行合并,如此可以得到数据块。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种读取数据的方法、装置及设备,属于计算机领域。所述方法包括:根据需要读取的数据块的标识,分别获取每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息;根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,得到所述数据块。所述装置包括:获取模块和第一合并模块。本专利技术根据每个硬盘存储的数据块中的每个数据分片的可用信息,对每个硬盘中存储的数据块包括的数据分片进行合并,如此可以得到数据块。【专利说明】一种读取数据的方法、装置及设备
本专利技术涉及计算机领域,特别涉及一种读取数据的方法、装置及设备。
技术介绍
当前,越来越多的用户用硬盘存储数据,但由于硬盘的使用寿命有限,且通常在用户无法预知的情况下出现坏道,导致硬盘中的数据丢失,给用户带来极大的损失,因此,如何从硬盘中读取数据是一个急需解决的技术问题。目前,现有技术提供了一种读取数据的方法,该方法所应用的存储系统包括多个硬盘,每个硬盘中存储的数据都相同。当需要读取数据块时,根据该数据块的标识,在一硬盘中寻找到存储该数据块的存储区域。如果该存储区域没有故障,则从该存储区域中读取该数据块;如果该存储区域的整个或部分存储介质故障,则无法从该存储区域中读取该数据块。按上述相同方式从其他每个硬盘中读取该数据块,判断读取的数据块的个数与第一个数之和是否大于该存储系统包括的硬盘的个数,第一个数为在向该存储系统中的每个硬盘中存储该数据块时成功存储的次数,如果是,则将读取的数据块中的任一数据块作为需要读取的数据块。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:对于某个数据块,假设该数据块在每个硬盘中对应的存储区域都包括部分存储介质出现故障以及在每个硬盘中故障的存储介质并不重叠。但在这种情况下,从每个硬盘中都无法成功读取到该数据块,给用户带来极大损失。
技术实现思路
为了成功读取到数据块,本专利技术提供了一种读取数据的方法、装置及设备。所述技术方案如下:第一方面,一种读取数据的方法,所述方法包括:根据需要读取的数据块的标识,分别获取每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息;根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,得到所述数据块。结合第一方面,在第一方面的第一种可能的实现方式中,所述根据需要读取的数据块的标识,获取所述每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,包括:根据需要读取的数据块的标识,从所述每个硬盘中获取存储所述数据块的存储区域;分别在所述存储区域中的所述数据块包括的每个数据分片对应的存储单元中进行读取,读取到数据分片并同时获取所述每个数据分片对应的可用信息。结合第一方面,在第一方面的第二种可能的实现方式中,所述分别在所述存储区域中的所述数据块包括的每个数据分片对应的存储单元中进行读取,读取到数据分片并同时获取所述每个数据分片对应的可用信息,包括:在所述存储区域中的第一数据分片对应的存储单元中进行读取,所述第一数据分片为所述数据块中的任一数据分片;如果成功读取到所述第一数据分片,则获取所述第一数据分片的可用信息为可用,根据所述第一数据分片的偏移位置,将所述第一数据分片存储在所述硬盘对应的预分配存储空间中以及将所述第一数据分片的可用信息存储在所述硬盘对应的位图表中;如果没有成功读取到所述第一数据分片,则获取所述第一数据分片的可用信息为不可用,根据所述第一数据分片的偏移位置,将所述第一数据分片的可用信息存储在所述硬盘对应的位图表中。结合第一方面,在第一方面的第三种可能的实现方式中,所述分别在所述存储区域中的所述数据块包括的每个数据分片对应的存储单元中进行读取之前,还包括:根据所述存储区域的大小,分配所述硬盘对应的预分配存储空间和位图表。结合第一方面,在第一方面的第四种可能的实现方式中,所述根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,包括:发送每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,以使服务器根据每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并。结合第一方面,在第一方面的第五种可能的实现方式中,所述根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,包括:获取所述每个硬盘中存储的第二数据分片的可用信息,所述第二数据分片为所述数据块中的任一个数据分片;根据所述每个硬盘中存储的第二数据分片的可用信息,从所述每个硬盘存储的第二数据分片中确定出可用的第二数据分片;对确定出的第二数据分片进行合并,得到一个数据分片。结合第一方面,在第一方面的第六种可能的实现方式中,所述获取所述每个硬盘中存储的第二数据分片的可用信息,包括:根据第二数据分片的偏移位置,从所述每个硬盘对应的位图表中分别获取所述每个硬盘中存储的第二数据分片的可用信息。结合第一方面,在第一方面的第七种可能的实现方式中,所述根据所述每个硬盘中存储的第二数据分片的可用信息,从所述每个硬盘存储的第二数据分片中确定出可用的第二数据分片,包括:根据所述第二数据分片的偏移位置,从所述每个硬盘对应的预分配存储空间中分别获取所述每个硬盘存储的第二数据分片;从所述每个硬盘存储的第二数据分片中,获取可用信息为可用的第二数据分片。第二方面,一种读取数据的方法,所述方法包括:接收每个硬盘中存储的数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息;根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,得到所述数据块。结合第二方面,在第二方面的第一种可能的实现方式中,所述接收每个硬盘中存储的数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,包括:接收所述每个硬盘对应的位图表和数据链,所述每个硬盘对应的数据链为所述每个硬盘对应的预分配存储空间中存储的数据分片,所述每个硬盘的位图表记录了所述每个硬盘对应的预分配存储空间中存储的每个数据分片的可用信息。结合第二方面,在第二方面的第二种可能的实现方式中,所述根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,包括:获取所述每个硬盘中存储的第二数据分片的可用信息,所述第二数据分片为所述数据块中的任一个数据分片;根据所述每个硬盘中存储的第二数据分片的可用信息,从所述每个硬盘存储的第二数据分片中确定出可用的第二数据分片;对确定出的第二数据分片进行合并,得到一个数据分片。结合第二方面,在第二方面的第三种可能的实现本文档来自技高网...
【技术保护点】
一种读取数据的方法,其特征在于,所述方法包括:根据需要读取的数据块的标识,分别获取每个硬盘中存储的所述数据块包括的每个数据分片和所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息;根据所述每个硬盘中存储的所述数据块包括的每个数据分片的可用信息,对所述每个硬盘中存储的所述数据块包括的每个数据分片进行合并,得到所述数据块。
【技术特征摘要】
【专利技术属性】
技术研发人员:姜波,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。