CN110515899A - 文件定位方法及装置 - Google Patents
文件定位方法及装置 Download PDFInfo
- Publication number
- CN110515899A CN110515899A CN201910704329.9A CN201910704329A CN110515899A CN 110515899 A CN110515899 A CN 110515899A CN 201910704329 A CN201910704329 A CN 201910704329A CN 110515899 A CN110515899 A CN 110515899A
- Authority
- CN
- China
- Prior art keywords
- file
- disk
- magnetic disc
- information
- data block
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 238000012360 testing method Methods 0.000 claims description 11
- 238000005538 encapsulation Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分布式存储技术领域,特别是涉及一种文件定位方法及装置,该方法包括:当检测到用户发送文件定位指令时,确定待定位文件;获取待定位文件的文件信息,及分布式存储系统中的条带大小;基于文件信息及条带大小,确定与待定位文件对应的文件偏移量;获取文件信息中的待定位文件的唯一标识号,及待定位文件所归属的磁盘组的存储编号,并调用分布式算法,计算唯一标识号、存储编号及文件偏移量,获得与各个磁盘ID;确定与每个磁盘ID对应的磁盘,完成对待定位文件的定位。应用本发明提供的方法,可通过文件信息、分布式存储系统中的条带大小及分布式算法计算获得各个磁盘ID,确定待定位文件当前所属的各个磁盘,完成对文件的定位。
Description
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种文件定位方法及装置。
背景技术
随着信息技术的不断发展,大数据时代的到来,各种各样的存储方式应运而生,其中,分布式存储是当前阶段中最为热门的存储方式。分布式存储系统一般由多个节点构成,每个节点中分布多个磁盘,每个磁盘中存储着大量的文件。在分布式存储系统中,通常采用副本规则或丢删规则对各个文件进行分布式存储,以保证数据的安全性,防止存在任意一个磁盘损坏时该磁盘内的所有文件数据丢失。
在分布式存储系统的交付过程中,需要对分布式存储系统中的各个文件进行冗余度测试,以保证当存在任意一个磁盘损坏时,能在该分布式存储系统中查找到预先存储在其他磁盘中的副本文件。通常做法是通过拔盘的方式模拟磁盘损坏,并在分布式存储系统对该被拔磁盘中所存储的文件进行查找,以确定该文件是否丢失。但在现有技术中,即使能查找到被拔磁盘所存储的文件,但无法确定该文件具体存储的磁盘位置,也无法直观地观察到该分布式存储系统中各个文件的冗余情况,降低了用户的使用体验。
发明内容
本发明所要解决的技术问题是提供一种文件定位方法,通过该方法,可以在分布式存储系统中对待定位文件进行定位,确定在分布式存储系统中存储该待定位文件的各个磁盘,以使用户确定该待定位文件的冗余情况,提高用户的使用体验。
本发明还提供了一种文件定位装置,用以保证上述方法在实际中的实现及应用。
一种文件定位方法,包括:
当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
上述的方法,可选的,所述基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量,包括:
获取所述文件信息中包含的所述待定位文件的文件大小;
基于所述文件大小及所述条带大小,计算所述待定位文件存储在所述分布式存储系统的任意一个磁盘时所需的数据块的数量;
按照预先设置的编号规则及所述封装所述待定位文件的数据块的数量,确定最后一个封装所述待定位文件的数据块对应的编号;
将所述编号确定为所述待定位文件的文件偏移量。
上述的方法,可选的,所述调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID,包括:
按照预先设置的第一换算规则,将所述唯一标识号转换成十六进制的第一字符串;
按照预先设置的第二换算规则,将所述文件偏移量转换成八位十六进制的第二字符串;
调用预先设置的分布式算法,计算所述第一字符串、存储编号及第二字符串,获得与所述磁盘组对应的各个磁盘ID。
上述的方法,可选的,所述确定与每个所述磁盘ID对应的磁盘,包括:
解析每个所述磁盘ID,获得每个所述磁盘ID中包含的磁盘盘符及节点信息;
对于每个所述磁盘ID,确定所述磁盘ID中包含的节点信息对应的节点,并在所述节点中查找所述磁盘ID中包含的磁盘盘符对应的磁盘。
上述的方法,可选的,确定与每个所述磁盘ID对应的磁盘后,还包括:
将每个所述磁盘对应的磁盘盘符及节点信息记录在预先设置的记录表格中,并触发每个所述磁盘开启与其对应的预先设置的磁盘指示灯,以使用户依据已开启的磁盘指示灯执行与所述待定位文件对应的冗余度测试。
上述的方法,可选的,还包括:
当接收到所述用户发送的关闭指令时,依据所述记录表格中记录的每个所述磁盘对应的磁盘盘符及节点信息,关闭与每个所述磁盘对应的磁盘指示灯。
一种文件定位装置,包括:
第一确定单元,用于当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
获取单元,用于获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
第二确定单元,用于基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
计算单元,用于获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
定位单元,用于确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
上述的装置,可选的,所述第二确定单元,包括:
获取子单元,用于获取所述文件信息中包含的所述待定位文件的文件大小;
第一计算子单元,用于基于所述文件大小及所述条带大小,计算所述待定位文件存储在所述分布式存储系统的任意一个磁盘时所需的数据块的数量;
第一确定子单元,用于按照预先设置的编号规则及所述封装所述待定位文件的数据块的数量,确定最后一个封装所述待定位文件的数据块对应的编号;
第二确定子单元,用于将所述编号确定为所述待定位文件的文件偏移量。
上述的装置,可选的,所述计算单元,包括:
第一换算单元,用于按照预先设置的第一换算规则,将所述唯一标识号转换成十六进制的第一字符串;
第二换算单元,用于按照预先设置的第二换算规则,将所述文件偏移量转换成八位十六进制的第二字符串;
第二计算子单元,用于调用预先设置的分布式算法,计算所述第一字符串、存储编号及第二字符串,获得与所述磁盘组对应的各个磁盘ID。
上述的装置,可选的,所述定位单元,包括:
解析子单元,用于解析每个所述磁盘ID,获得每个所述磁盘ID中包含的磁盘盘符及节点信息;
查找子单元,用于对于每个所述磁盘ID,确定所述磁盘ID中包含的节点信息对应的节点,并在所述节点中查找所述磁盘ID中包含的磁盘盘符对应的磁盘。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的文件定位方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的文件定位方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种文件定位方法,包括:当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。应用本发明提供的方法,可通过文件信息、分布式存储系统中的条带大小及分布式算法计算获得各个磁盘ID,确定待定位文件当前所属的各个磁盘,完成对文件的定位。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供一种文件定位方法的方法流程图;
图2为本发明实施例提供一种文件定位方法的又一方法流程图;
图3为本发明实施例提供一种文件定位方法的又一方法流程图;
图4为本发明实施例提供一种文件定位装置的装置结构图;
图5位本发明实施例提供一电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种文件定位方法,该方法可以应用在多种系统平台,其执行主体可以为计算机终端或各种移动设备的处理器、分布式存储系统或其他系统控制平台等,所述方法的方法流程图如图1所示,具体包括:
S101:当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
在本发明实施例中,当用户需要进行冗余度测试,或确定该分布式存储系统中文件的存储情况时,可向分布式存储系统发送定位指令。当分布式存储系统、处理器或第三方的系统控制平台检测到用户发送文件定位指令时,确定与该定位指令对应的待定位文件。
需要说明的是,当用户需要得知待定位文件的具体冗余情况时,可直接向该分布式存储系统发送文件的文件名或文件信息。
S102:获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
在本发明实施例中,根据该定位指令对应的待定位文件,获取该待定位文件的文件信息,其中,该待定位文件的文件信息包括该待定位文件的唯一标识号、文件大小及该待定位文件归属的磁盘组。同时获取该分布式存储系统中数据块的条带大小。其中,数据块设置于分布式存储系统的各个磁盘当中,该数据块用于封装文件。
需要说明的是,该待定位文件的唯一标识号具体可以是索引节点inode号。待定位文件的文件大小为该待定位所占用存储空间的大小。分布式存储系统中包含多个磁盘组,每个磁盘组由多个磁盘组成,每个磁盘中存在多个数据块。
S103:基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
在本发明实施例中,根据该文件信息及该分布式存储系统中数据块的条带大小,确定与该待定位文件对应的文件偏移量。
需要说明的是,该分布式存储系统中各个数据块的条带大小均一致。该条带大小具体为封装文件或数据的容量,例如,条带大小为4M,则该数据块可封装4M的文件;当文件大小大于数据块的条带大小时,可将文件拆分成多份封装至多个数据块中。
S104:获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
在本发明实施例中,根据该文件信息中的唯一标识号、磁盘组对应的存储编号及文件偏移量,通过预先设置的分布式算法进行计算,获得各个磁盘ID。其中,该分布式算法可以是crush算法。
需要说明的是,为了保证分布式存储系统中文件的冗余情况,分布式存储系统中通常采用冗余规则中的副本规则或丢删规则存储文件,并按照该冗余规则将文件分布存储在多个磁盘中。因此在通过分布式计算后,可获得与该待定位文件对应的磁盘ID。
S105:确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
在本发明实施例中,由于每个磁对应一个磁盘ID,因此,在获取到各个磁盘ID后,可确定存储该待定位文件的各个磁盘,完成对该待定位文件的定位。
需要说明的是,该磁盘ID具体可以是对象存储设备(Object-based StorageDevice,osd)ID。
本发明实施例提供的文件定位方法中,在检测到用户向分布式存储系统发送文件定位查询指令时,根据该文件定位指令确定待定位文件,并获取与该待定位文件对应的文件信息。其中,该文件信息中包括该待定位文件的唯一标识号、文件大小及该待定位文件所归属的磁盘组。根据该分布式存储系统中预先设置的数据块对应的条带大小及文件信息,确定与该待定位文件的文件偏移量。再调用预先设置的分布式算法,对该文件偏移量及该文件信息中的唯一标识号和所属磁盘组对应的存储编号进行计算,获得至少一个磁盘ID。并根据各个磁盘ID,确定存储该待定位文件的各个磁盘,完成对文件的定位。
可选的,当确定存储该待定位文件的各个磁盘后,可以向用户发送提示指令,以提示用户各个待定位文件当前存储的各个磁盘的磁盘信息。
应用本发明实施例提供的方法,可通过文件信息、分布式存储系统中的条带大小及分布式算法获得各个磁盘ID,确定待定位文件当前所属的各个磁盘,完成对文件的定位,以使用户可以了解待定位文件在分布式存储系统中的冗余情况,提高用户的使用体验。
本发明实施例提供的方法中,基于上述步骤S103,所述基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量的过程如图2所示,具体包括:
S201:获取所述文件信息中包含的所述待定位文件的文件大小;
在本发明实施例中,该文件信息中包含该待定位文件的唯一标识号、文件大小及该待定位文件所属的磁盘组。在需要确定偏移量时,从该文件信息中获取该待定位文件的文件大小。
S202:基于所述文件大小及所述条带大小,计算所述待定位文件存储在所述分布式存储系统的任意一个磁盘时所需的数据块的数量;
在本发明实施例中,基于文件大小及条带大小,计算该待定位文件存储在磁盘中时所需要数据块的数量,即,需要多少数量的数据块才能将该待定位文件封装完。
需要说明的是,该分布式存储系统中的每个数据块对应的条带大小均一致。
S203:按照预先设置的编号规则及所述封装所述待定位文件的数据块的数量,确定最后一个封装所述待定位文件的数据块对应的编号;
在本发明实施例中,在确定封装该待定位文件的各个数据块的数量后,按照预先设置的编号规则及数据块的数量,确定最后一个封装该待定位文件的数据块对应的编号。
需要说明的是,该编号规则具体可以是,根据数据块的数量,对各个数据块从零开始编号。例如数据块的条带大小为4M,文件大小为10M时,需要数据块的数量为3个,则编号分别为0、1、2,最后一个封装该待定位文件数据块对应的编号则为2;若条带大小为4M,文件大小为3M,则只需要一个数据块封装待定位文件,此时最后一个封装该待定位文件的数据块对应的编号为0。
S204:将所述编号确定为所述待定位文件的文件偏移量。
在本发明实施例中,在确定最后一个封装该待定位文件的数据块对应的编号后,将该编号确定为该待定位文件的文件偏移量。例如最后一个封装该待定位文件的数据块对应的编号为2时,文件偏移量则为2,;最后一个封装该待定位文件的数据块对应的编号为0时,文件偏移量为0。
本发明实施例提供的文件定位方法中,由该文件信息中的文件大小及分布式存储系统中的条带大小确定该待定位文件的文件偏移量。其中,在确定文件大小及条带大小后,确定各个数据块需要封装该待定位文件时所需要的数据块数量,并根据该数据块的数量按照预先设置的编号规则进行编号,即,由零开始进行编号,将最后一个数据块的编号确定为该待定位文件的文件偏移量。
需要说明的是,由于分布式存储系统中所存储的各个文件的文件的文件大小不一定相同,需要封装每个文件的数据块的数量不一定相同,可通过计算待定位文件偏移量的方式,缩小对该待定位文件的定位范围。
应用本发明实施例提供的方法,通过计算待定位文件的偏移量,进一步缩小对该待定位文件的定位范围,有效得知各个待定位文件当前存储各个磁盘所在位置。
本发明实施例提供的方法中,基于上述步骤S104,所述调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID的过程如图3所示,具体包括:
S301:按照预先设置的第一换算规则,将所述唯一标识号转换成十六进制的第一字符串;
在本发明实施例中,按照预先设置的第一换算规则,将该唯一标识号换算成十六进制的第一字符串,其中,该唯一标识号可以是二进制字符串、八进制字符串或十进制字符串。若唯一标识号为二进制字符串,则根据二进制转十六进制的换算规则进行换算,若为八进制或十进制也按照与八进制或十进制对应的换算规则进行换算,此处不复赘述。
S302:按照预先设置的第二换算规则,将所述文件偏移量转换成八位十六进制的第二字符串;
在本发明实施例中,按照第二换算规则,将文件偏移量转换成八位十六进制的第二字符串,其中,该第二换算规则可以与第一换算规则一致。换算过程与第一换算过程基本一致,此处不复赘述。
需要说明的是,在将偏移量转换成八位十六进制时,若不足八位,则在转换后的获得的字符串左边补0,得到八位十六进制的第二字符串。
S303:调用预先设置的分布式算法,计算所述第一字符串、存储编号及第二字符串,获得与所述磁盘组对应的各个磁盘ID。
在本发明实施例中,调用预先设置的分布式算法对第一字符串、存储编号及第二字符串进行计算,其中,该分布式算法具体可以是crush算法。在计算后获得与该文件信息中包含磁盘组对应的各个磁盘ID。
本发明实施例提供的文件定位方法中,按照预先设置的第一换算规则及预先设置的第二换算规则,分别将唯一标识号及文件偏移量都转换成十六进制的字符串,分别获得与唯一标识号对应的第一字符串以及与文件偏移量对应的第二字符串,其中第二字符串为八位十六进制的字符串。在通过预先设置的crush算法,对第一字符串、第二字符串和磁盘组对应的存储编号,获得各个磁盘ID。
应用本发明实施例提供的方法,通过预先设置的分布式算法,获得各个磁盘ID,由于每个磁盘ID对应一个磁盘,因此可根据该磁盘ID对待定位文件进行定位,确定该待定位文件在该分布式存储系统中的冗余情况,提高用户的使用体验。
本发明实施例提供的方法中,基于上述步骤S105,确定与各个磁盘ID对应的磁盘的过程,具体包括:
解析每个所述磁盘ID,获得每个所述磁盘ID中包含的磁盘盘符及节点信息;
对于每个所述磁盘ID,确定所述磁盘ID中包含的节点信息对应的节点,并在所述节点中查找所述磁盘ID中包含的磁盘盘符对应的磁盘。
本发明实施例提供的文件定位方法中,由于每个磁盘ID对应的一个磁盘,对磁盘ID进行解析,获得与该磁盘ID对应的磁盘盘符及节点信息。其中,该磁盘盘符为磁盘上的标识信息,节点信息为磁盘当前所存储的节点的节点信息。分布式存储系统中有多个分布式节点组成,每个节点相当于一个服务器。由于每个节点中存储多个磁盘,因此各个节点之间可能存在相同的磁盘盘符,例如节点1中有磁盘盘符SDA,节点2中可能也存在磁盘盘符SDA。但同一个节点中的磁盘盘符都是不一样的。因此,根据磁盘ID中的节点信息,确定该磁盘盘符在哪个节点中,以确定该待定位文件具体的存储位置,完成对该待定位文件的定位。
应用本发明实施例提供的方法,解析磁盘ID获得节点信息和磁盘盘符,对该待定位文件当前所存储位置进行精准的定位,确定该待定位文件在该分布式存储系统中的冗余情况,提高用户的使用体验。
本发明实施例提供的方法中,在确定待定位当前存储的各个磁盘的位置后,用户可根据已定位的文件进行冗余度测试,具体还包括:
将每个所述磁盘对应的磁盘盘符及节点信息记录在预先设置的记录表格中,并触发每个所述磁盘开启与其对应的预先设置的磁盘指示灯,以使用户依据已开启的磁盘指示灯执行与所述待定位文件对应的冗余度测试。
本发明实施例提供的方法中,在用户完成对该待定位文件的冗余度测试之后,具体还包括:
当接收到所述用户发送的关闭指令时,依据所述记录表格中记录的每个所述磁盘对应的磁盘盘符及节点信息,关闭与每个所述磁盘对应的磁盘指示灯。
本发明实施例提供的文件定位方法中,在根据磁盘盘符以及节点信息确定待定位文件具体存储的磁盘的所在位置后,先将每个存储待定位文件的磁盘对应的磁盘盘符与节点信息保存到预先设置记录表格当中。同时,由于每个磁盘上对应设置一个磁盘指示灯,可触发每个存储该待定位文件的磁盘开启与其对应磁盘指示灯。用户可通过磁盘指示灯直观地观察到待定位文件具体存储在哪一个磁盘当中。此时,用户可根据已亮灯的磁盘进行冗余度测试。当冗余度测试结束时,用户可向分布式存储系统发送关闭指令。当接收到用户向该分布式存储系统发送关闭指令,根据原先在记录表格记录的磁盘盘符和节点信息,将已亮灯各个磁盘上的磁盘指示灯关闭。
需要说明的是,冗余度测试是用户为了检验分布式存储系统中,当存在任意一个磁盘损坏时该磁盘中的文件在其他磁盘的冗余情况。当确定待定位文件当前存储的各个磁盘并亮灯后,用户可通过拔盘的形式模拟磁盘损坏。并在拔盘后再分布式存储系统再次查找该文件,若能查找到,则证明该文件的冗余情况良好。
可选的,在确定存储该待定位文件的各个磁盘后,还可以通过连接该分布式存储系统的终端对应的终端显示屏,在该显示屏上对该文件在各个磁盘中分布的情况进行显示。
应用本发明实施例提供的方法,通过对各个存储待定文件的磁盘进行点灯处理,以使用户能够更加直观地观察到该文件在分布式存储系统中的分布情况,并进行冗余度测试,确定该待定位文件在该分布式存储系统中的冗余情况,提高用户的使用体验。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种文件定位装置,用于对图1中方法的具体实现,本发明实施例提供的文件定位装置可以应用计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:
第一确定单元401,用于当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
获取单元402,用于获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
第二确定单元403,用于基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
计算单元404,用于获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
定位单元405,用于确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
本发明实施例提供的装置中,所述第二确定单元403,包括:
获取子单元,用于获取所述文件信息中包含的所述待定位文件的文件大小;
第一计算子单元,用于基于所述文件大小及所述条带大小,计算所述待定位文件存储在所述分布式存储系统的任意一个磁盘时所需的数据块的数量;
第一确定子单元,用于按照预先设置的编号规则及所述封装所述待定位文件的数据块的数量,确定最后一个封装所述待定位文件的数据块对应的编号;
第二确定子单元,用于将所述编号确定为所述待定位文件的文件偏移量。
本发明实施例提供的装置中,所述计算单元404,包括:
第一换算单元,用于按照预先设置的第一换算规则,将所述唯一标识号转换成十六进制的第一字符串;
第二换算单元,用于按照预先设置的第二换算规则,将所述文件偏移量转换成八位十六进制的第二字符串;
第二计算子单元,用于调用预先设置的分布式算法,计算所述第一字符串、存储编号及第二字符串,获得与所述磁盘组对应的各个磁盘ID。
本发明实施例提供的装置中,所述定位单元405,包括:
解析子单元,用于解析每个所述磁盘ID,获得每个所述磁盘ID中包含的磁盘盘符及节点信息;
查找子单元,用于对于每个所述磁盘ID,确定所述磁盘ID中包含的节点信息对应的节点,并在所述节点中查找所述磁盘ID中包含的磁盘盘符对应的磁盘。
本发明实施例提供的装置中,还包括:
记录单元,用于将每个所述磁盘对应的磁盘盘符及节点信息记录在预先设置的记录表格中,并触发每个所述磁盘开启与其对应的预先设置的磁盘指示灯,以使用户依据已开启的磁盘指示灯执行与所述待定位文件对应的冗余度测试。
本发明实施例提供的装置中,还包括:
关闭单元,用于当接收到所述用户发送的关闭指令时,依据所述记录表格中记录的每个所述磁盘对应的磁盘盘符及节点信息,关闭与每个所述磁盘对应的磁盘指示灯。
以上本发明实施例公开的文件定位装置中的第一确定单元401、获取单元402、第二确定单元403、计算单元404及定位单元405的具体工作过程,可参见本发明上述实施例公开的文件定位方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述文件定位方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件定位方法,其特征在于,包括:
当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
2.根据权利要求1所述的方法,其特征在于,所述基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量,包括:
获取所述文件信息中包含的所述待定位文件的文件大小;
基于所述文件大小及所述条带大小,计算所述待定位文件存储在所述分布式存储系统的任意一个磁盘时所需的数据块的数量;
按照预先设置的编号规则及所述封装所述待定位文件的数据块的数量,确定最后一个封装所述待定位文件的数据块对应的编号;
将所述编号确定为所述待定位文件的文件偏移量。
3.根据权利要求1所述的方法,其特征在于,所述调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID,包括:
按照预先设置的第一换算规则,将所述唯一标识号转换成十六进制的第一字符串;
按照预先设置的第二换算规则,将所述文件偏移量转换成八位十六进制的第二字符串;
调用预先设置的分布式算法,计算所述第一字符串、存储编号及第二字符串,获得与所述磁盘组对应的各个磁盘ID。
4.根据权利要求1所述的方法,其特征在于,所述确定与每个所述磁盘ID对应的磁盘,包括:
解析每个所述磁盘ID,获得每个所述磁盘ID中包含的磁盘盘符及节点信息;
对于每个所述磁盘ID,确定所述磁盘ID中包含的节点信息对应的节点,并在所述节点中查找所述磁盘ID中包含的磁盘盘符对应的磁盘。
5.根据权利要求4所述的方法,其特征在于,确定与每个所述磁盘ID对应的磁盘后,还包括:
将每个所述磁盘对应的磁盘盘符及节点信息记录在预先设置的记录表格中,并触发每个所述磁盘开启与其对应的预先设置的磁盘指示灯,以使用户依据已开启的磁盘指示灯执行与所述待定位文件对应的冗余度测试。
6.根据权利要求5所述的方法,其特征在于,还包括:
当接收到所述用户发送的关闭指令时,依据所述记录表格中记录的每个所述磁盘对应的磁盘盘符及节点信息,关闭与每个所述磁盘对应的磁盘指示灯。
7.一种文件定位装置,其特征在于,包括:
第一确定单元,用于当检测到用户向分布式存储系统发送文件定位指令时,确定与所述文件定位指令对应的待定位文件;
获取单元,用于获取所述待定位文件的文件信息,及所述分布式存储系统中预先设置的数据块的条带大小;所述文件信息包括所述待定位文件的唯一标识号、文件大小及所述待定位文件所归属的磁盘组,所述磁盘组包含多个磁盘,每个所述磁盘中设置多个数据块,所述数据块用于封装所述磁盘中的文件;
第二确定单元,用于基于所述文件信息及所述条带大小,确定与所述待定位文件对应的文件偏移量;
计算单元,用于获取所述文件信息中的所述待定位文件的唯一标识号,及所述待定位文件所归属的磁盘组的存储编号,并调用预先设置的分布式算法,计算所述唯一标识号、存储编号及文件偏移量,获得与所述磁盘组对应的各个磁盘ID;
定位单元,用于确定与每个所述磁盘ID对应的磁盘,完成对所述待定位文件的定位。
8.根据权利要求7所述的装置,其特征在于,所述第二确定单元,包括:
获取子单元,用于获取所述文件信息中包含的所述待定位文件的文件大小;
第一计算子单元,用于基于所述文件大小及所述条带大小,计算所述待定位文件存储在所述分布式存储系统的任意一个磁盘时所需的数据块的数量;
第一确定子单元,用于按照预先设置的编号规则及所述封装所述待定位文件的数据块的数量,确定最后一个封装所述待定位文件的数据块对应的编号;
第二确定子单元,用于将所述编号确定为所述待定位文件的文件偏移量。
9.根据权利要求7所述的装置,其特征在于,所述计算单元,包括:
第一换算单元,用于按照预先设置的第一换算规则,将所述唯一标识号转换成十六进制的第一字符串;
第二换算单元,用于按照预先设置的第二换算规则,将所述文件偏移量转换成八位十六进制的第二字符串;
第二计算子单元,用于调用预先设置的分布式算法,计算所述第一字符串、存储编号及第二字符串,获得与所述磁盘组对应的各个磁盘ID。
10.根据权利要求7所述的装置,其特征在于,所述定位单元,包括:
解析子单元,用于解析每个所述磁盘ID,获得每个所述磁盘ID中包含的磁盘盘符及节点信息;
查找子单元,用于对于每个所述磁盘ID,确定所述磁盘ID中包含的节点信息对应的节点,并在所述节点中查找所述磁盘ID中包含的磁盘盘符对应的磁盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704329.9A CN110515899A (zh) | 2019-07-31 | 2019-07-31 | 文件定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704329.9A CN110515899A (zh) | 2019-07-31 | 2019-07-31 | 文件定位方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515899A true CN110515899A (zh) | 2019-11-29 |
Family
ID=68625041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910704329.9A Pending CN110515899A (zh) | 2019-07-31 | 2019-07-31 | 文件定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515899A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857577A (zh) * | 2020-06-29 | 2020-10-30 | 烽火通信科技股份有限公司 | 一种分布式存储系统下物理硬盘的管理方法与装置 |
CN113970998A (zh) * | 2020-07-24 | 2022-01-25 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、装置、终端及存储介质 |
CN115712390A (zh) * | 2022-11-14 | 2023-02-24 | 安超云软件有限公司 | 可用数据条带分片数确定方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598168A (zh) * | 2015-01-23 | 2015-05-06 | 华为技术有限公司 | 一种数据恢复方法及对象存储设备 |
CN107622123A (zh) * | 2017-09-28 | 2018-01-23 | 焦点科技股份有限公司 | 一种面向asm文件系统的文件解析方法 |
-
2019
- 2019-07-31 CN CN201910704329.9A patent/CN110515899A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598168A (zh) * | 2015-01-23 | 2015-05-06 | 华为技术有限公司 | 一种数据恢复方法及对象存储设备 |
CN107622123A (zh) * | 2017-09-28 | 2018-01-23 | 焦点科技股份有限公司 | 一种面向asm文件系统的文件解析方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857577A (zh) * | 2020-06-29 | 2020-10-30 | 烽火通信科技股份有限公司 | 一种分布式存储系统下物理硬盘的管理方法与装置 |
CN113970998A (zh) * | 2020-07-24 | 2022-01-25 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、装置、终端及存储介质 |
CN115712390A (zh) * | 2022-11-14 | 2023-02-24 | 安超云软件有限公司 | 可用数据条带分片数确定方法及系统 |
CN115712390B (zh) * | 2022-11-14 | 2023-05-09 | 安超云软件有限公司 | 可用数据条带分片数确定方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515899A (zh) | 文件定位方法及装置 | |
CN105550252B (zh) | 一种文件定位方法、装置及电子设备 | |
WO2005017703A3 (en) | System to facilitate pipeline management, software, and related methods | |
CN107329888A (zh) | 智能合约操作码覆盖率计算方法和系统 | |
CN107066246B (zh) | 一种软件开发方法及装置 | |
CN105718354A (zh) | 一种故障信息的重现方法和重现装置 | |
CN104732159B (zh) | 一种文件处理方法及装置 | |
CN106203077B (zh) | 一种复制信息的处理方法、装置及电子设备 | |
CN108399072A (zh) | 应用页面更新方法和装置 | |
CN108415831A (zh) | 测试用例生成方法及装置、电子设备和可读存储介质 | |
CN109947635A (zh) | 一种数据上报方法、装置、存储介质及终端设备 | |
CN102566986A (zh) | Td无线固话软件版本管理系统及其应用方法 | |
CN107832448A (zh) | 数据库操作方法、装置及设备 | |
CN110119386A (zh) | 数据处理方法、数据处理装置、介质和计算设备 | |
CN110515758A (zh) | 一种故障定位方法、装置、计算机设备及存储介质 | |
CN109711189A (zh) | 数据脱敏方法及装置、存储介质、终端 | |
CN109241037A (zh) | 一种实现数据库处理的方法、装置、设备及存储介质 | |
CN110019363A (zh) | 一种校验数据的方法和装置 | |
CN109726083A (zh) | 机箱的运行状态管理方法、系统、装置及可读存储介质 | |
CN109783321A (zh) | 监控数据管理方法、装置、终端设备 | |
CN104899908A (zh) | 生成事件组演化图的方法和装置 | |
CN110457318A (zh) | 区块链中数据字段的更新方法、装置、介质、电子设备 | |
CN115002011B (zh) | 流量双向测试方法、装置、电子设备及存储介质 | |
CN106302011A (zh) | 基于多端的测试方法及终端 | |
CN110275877A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |
|
RJ01 | Rejection of invention patent application after publication |