本发明属于计算机存储,特别涉及一种分布式存储管理方法及系统。
背景技术:
1、分布式存储系统(distributed storage system,dss),也指分布式文件系统(distributed file system,dfs)。从原理上讲,分布式存储是将数据文件分散地存储到集群服务器上,而构建集群的服务器往往由低成本的商用硬件组成。用户利用系统提供的接口方便、快捷地访问存储系统,系统内部通过软件和硬件共同协作完成用户操作指令。
2、分布式存储系统不仅解决了集中存储模式的数据存储效率问题,也基本解决了集中存储模式的安全及隐私性的问题。但是目前的分布式存储系统大多基于中心化管理节点实现,例如,hdfs系统(hadoop distributed file system)。一个hdfs系统是由一个namenode节点和若干个datanode节点组成的。其中,namenode节点作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;datanode节点为存储单元,用于存储数据。
3、利用中心化管理节点的分布式框架在元数据存储上做到了分布式,但是这对于数据管理层面依然是中心化管理,也就是依据元数据生成数据字典(数据目录)。当客户端请求元数据时,依据数据目录在中心化管理节点查找到对应元数据存储位置信息,并进行回调返回。一旦中心化管理节点出现故障,例如宕机,丢失等等,会影响整个存储生态的运行。
技术实现思路
1、针对上述问题,本发明提供了一种分布式存储管理系统,所述管理系统包括若干相互连接的逻辑模块,每个逻辑模块与若干存储单元连接;所述逻辑模块包括:
2、数据处理单元,用于获取元数据文件,对元数据文件进行分片处理,得到若干数据对象;用于对每个数据对象进行编号处理,每个数据对象对应一个对象标识码;
3、定位单元,用于对对象标识码进行定位计算,确定逻辑模块编号,将数据对象转发至逻辑模块编号对应的管理单元;
4、管理单元,用于获取数据对象,为数据对象分配存储单元;
5、存储单元,用于存储数据对象。
6、进一步的,所述数据处理单元包括:
7、文件编号单元,用于获取并对元数据文件进行编号处理,每个元数据文件对应一个文件标识码;
8、分片单元,用于对元数据文件进行分片处理,得到若干数据对象;
9、对象编号单元,用于对数据对象进行编号处理,每个数据对象对应一个对象标识码。
10、进一步的,所述管理系统中的各数据处理单元间相互连接,用于实时同步文件标识码的使用信息。
11、进一步的,所述定位单元包括:
12、特征码单元,用于对对象标识码进行转码计算,得到特征码;
13、逻辑模块编号单元,用于根据特征码和逻辑模块数量进行取模计算,生成逻辑模块编号;
14、数据转发单元,用于将数据对象转发至逻辑模块编号对应的管理单元。
15、进一步的,所述管理单元根据副本数量对数据对象进行复制,并通过crush算法将数据对象存储到对应存储单元中。
16、进一步的,所述逻辑模块还包括:
17、备份单元,用于存储当前逻辑模块的所有数据信息;其中,所述数据信息包括但不限于当前逻辑模块编号、当前逻辑模块管理的存储单元地址信息、已用对象标识码和已用文件标识码。
18、进一步的,所述备份单元还用于获取请求信息,根据请求信息调取对象标识码和读取指令;
19、所述定位单元还用于获取对象标识码和读取指令,并根据对象标识码进行定位计算,确定逻辑模块编号,将对象标识码和读取指令转发至逻辑模块编号对应的管理单元;
20、所述管理单元还用于获取对象标识码和读取指令,基于对象标识码遍历其管理的存储单元,查找并调取对象标识码对应的数据对象。
21、本发明还提供了一种分布式存储管理方法,所述管理方法包括:
22、获取元数据文件,对元数据文件进行分片处理,得到若干数据对象;
23、对每个数据对象进行编号处理,每个数据对象对应一个对象标识码;
24、对对象标识码进行定位计算,确定逻辑模块编号,将数据对象转发至逻辑模块编号对应的管理单元;
25、为数据对象分配存储单元。
26、进一步的,所述定位计算包括:
27、对对象标识码进行转码计算,得到特征码;
28、对特征码和逻辑模块数量进行取模计算,生成逻辑模块编号;
29、将数据对象转发至逻辑模块编号对应的管理单元。
30、进一步的,所述管理方法还包括:
31、获取请求信息,根据请求信息调取对象标识码和读取指令;
32、根据对象标识码进行定位计算,确定逻辑模块编号,将对象标识码和读取指令转发至逻辑模块编号对应的管理单元;
33、管理单元基于对象标识码遍历其管理的存储单元,查找并调取对象标识码对应的数据对象。
34、本发明的有益效果是:
35、1、本发明通过若干相互连接的逻辑模块对数据进行存储管理,摒弃了传统的中心化管理节点进行数据寻址的方案。本发明提供的管理系统没有中心节点,每个客户端可以对应一个或多个逻辑模块,各逻辑模块可通过相同的映射关系计算出来数据对象的对应的管理单元,再由该管理单元执行具体数据存储操作。即使其中一个逻辑模块出现故障,也不会影响整个存储系统的正常运行,保障了数据的安全及隐私性。
36、2、通过同步各数据处理单元的文件标识码的使用信息,即可避免文件标识码和对象标识码出现重复使用。而且管理系统中各数据处理单元的文件标识码和对象标识码的生成算法相同,在获得最新文件标识码情况下,可基于最新文件标识码继续生成新的文件标识码。
37、3、本发明中逻辑模块数量多寡直接决定了管理系统存储数据分布的均匀性,所以合理设置的逻辑模块数量可以很好地提升管理系统的性能并使数据均匀分布。进一步说明了本发明提出的管理系统易于管理、易于实现。
38、4、本发明的管理系统中数据迁移是以逻辑模块为单位进行操作。在进行数据迁移时,将需要移出的逻辑模块的备份单元中的数据完整迁移至新入逻辑模块的备份单元中,即可完成数据迁移。相当于该新入逻辑模块取代了移出逻辑模块在管理系统中位置,不影响后续数据存储、读取管理。
39、5、本发明提供的管理系统和方法是将每个数据对象映射进一个逻辑模块的管理单元中,在进行数据读取时,只需要先确定该数据对象所属管理单元,然后遍历这个管理单元管理的所有存储单元中的数据对象即可,无需遍历管理系统中所有数据对象。优化了分布式存储系统的计算量,提升了系统性能。
40、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所指出的结构来实现和获得。
1.一种分布式存储管理系统,其特征在于,所述管理系统包括若干相互连接的逻辑模块,每个逻辑模块与若干存储单元连接;所述逻辑模块包括:
2.根据权利要求1所述的一种分布式存储管理系统,其特征在于,所述数据处理单元包括:
3.根据权利要求1所述的一种分布式存储管理系统,其特征在于,所述管理系统中的各数据处理单元间相互连接,用于实时同步文件标识码的使用信息。
4.根据权利要求2所述的一种分布式存储管理系统,其特征在于,所述定位单元包括:
5.根据权利要求1所述的一种分布式存储管理系统,其特征在于,所述管理单元根据副本数量对数据对象进行复制,并通过crush算法将数据对象存储到对应存储单元中。
6.根据权利要求1-5中任一所述的一种分布式存储管理系统,其特征在于,所述逻辑模块还包括:
7.根据权利要求6所述的一种分布式存储管理系统,其特征在于,所述备份单元还用于获取请求信息,根据请求信息调取对象标识码和读取指令;
8.一种分布式存储管理方法,其特征在于,所述管理方法包括:
9.根据权利要求8所述的一种分布式存储管理方法,其特征在于,所述定位计算包括:
10.根据权利要求8所述的一种分布式存储管理方法,其特征在于,所述管理方法还包括:
