本发明涉及文件存储领域,特别是涉及一种公有云分布式文件存储方法、系统及设备。
背景技术:
1、目前主流的分布式文件存储系统多为hdfs,其本质是文件管理系统,hdfs是虚拟的文件系统,将磁盘集群抽象为一个文件操作系统,外部想要获取/写入数据都是通过操作文件系统(基于路径来定位数据)来进行的。但hdfs需要占用大量内存来存储文件目录和块信息,不适合大量小文件存储、延时高,对硬件设备要求较高,并且容错性需要靠大量保存副本来支撑。
技术实现思路
1、本发明的目的是提供一种公有云分布式文件存储方法、系统及设备,能够快速处理大量分布式的文件,且提高数据存储的安全性。
2、为实现上述目的,本发明提供了如下方案:
3、一种公有云分布式文件存储方法,包括:
4、根据文件系统中的数据盘创建底层文件目录,并形成文件桶bucket的逻辑空间;
5、将文件桶bucket以meta数据写为xl.json格式文件;每个xl.json格式文件用于记载文件桶bucket名称bucket_name、版本version、对象锁object_locking和策略配置quota;
6、从分布式的业务系统中进行文件的上传;并将上传后的文件作为对象,同时生成对象的元数据;
7、对对象以及相应的元数据进行加密以及上传;
8、将上传后的数据分为多个block,并进行纠删码计算;
9、将纠删码计算后的block划分n个数据分片;
10、将分片后的数据通过并行的写操作进行数据落盘;
11、数据落盘时,将落盘的数据生成meta数据以json格式,与文件桶bucket的xl.json格式文件在同一底层文件目录中进行存储;
12、当业务系统访问文件桶bucket或操作资源时,根据密钥以及对应的文件桶bucket的策略配置quota进行访问控制。
13、可选地,所述元数据包括:用户信息account。
14、可选地,所述对对象以及相应的元数据进行加密以及上传,具体包括:
15、使用密钥管理系统kms对对象以及相应的元数据进行服务器端加密;
16、对服务器端加密后的数据进行tls证书加密。
17、可选地,所述落盘的数据生成的meta数据包括:用户信息account、文件桶bucket以及文件桶bucket索引bucket index。
18、可选地,所述当业务系统访问文件桶bucket或操作资源时,根据密钥以及对应的文件桶bucket的策略配置quota进行访问控制,具体包括:
19、使用aws-iam工具,基于策略配置quota进行访问控制。
20、一种公有云分布式文件存储系统,包括:
21、文件桶bucket创建模块,用于根据文件系统中的数据盘创建底层文件目录,并形成文件桶bucket的逻辑空间;
22、格式文件生成模块,用于将文件桶bucket以meta数据写为xl.json格式文件;每个xl.json格式文件用于记载文件桶bucket名称bucket_name、版本version、对象锁object_locking和策略配置quota;
23、文件处理模块,用于从分布式的业务系统中进行文件的上传;并将上传后的文件作为对象,同时生成对象的元数据;
24、加密上传模块,用于对对象以及相应的元数据进行加密以及上传;
25、纠删码计算模块,用于将上传后的数据分为多个block,并进行纠删码计算;
26、数据分片模块,用于将纠删码计算后的block划分n个数据分片;
27、数据落盘模块,用于将分片后的数据通过并行的写操作进行数据落盘;
28、存储模块,用于数据落盘时,将落盘的数据生成meta数据以json格式,与文件桶bucket的xl.json格式文件在同一底层文件目录中进行存储;
29、访问模块,用于当业务系统访问文件桶bucket或操作资源时,根据密钥以及对应的文件桶bucket的策略配置quota进行访问控制。
30、一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行所述的一种公有云分布式文件存储方法。
31、可选地,所述存储器为计算机可读存储介质。
32、根据本发明提供的具体实施例,本发明公开了以下技术效果:
33、本发明所提供的一种公有云分布式文件存储方法、系统及设备,基于对象存储,支持不同类型、不同大小的文件存储,效率更高,适用于公有云大量文件存储的场景;利用文件桶的逻辑空间方式进行策略配置,并基于策略进行有效的访问控制;结合纠删码算法,保护数据免受硬件故障而损坏,只要保证n个分片存在,无论数据分片还是冗余分片,数据就是可修复的。
1.一种公有云分布式文件存储方法,其特征在于,包括:
2.根据权利要求1所述的一种公有云分布式文件存储方法,其特征在于,所述元数据包括:用户信息account。
3.根据权利要求1所述的一种公有云分布式文件存储方法,其特征在于,所述对对象以及相应的元数据进行加密以及上传,具体包括:
4.根据权利要求1所述的一种公有云分布式文件存储方法,其特征在于,所述落盘的数据生成的meta数据包括:用户信息account、文件桶bucket以及文件桶bucket索引bucketindex。
5.根据权利要求1所述的一种公有云分布式文件存储方法,其特征在于,所述当业务系统访问文件桶bucket或操作资源时,根据密钥以及对应的文件桶bucket的策略配置quota进行访问控制,具体包括:
6.一种公有云分布式文件存储系统,其特征在于,包括:
7.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1至6中任一项所述的一种公有云分布式文件存储方法。
8.根据权利要求7所述的一种电子设备,其特征在于,所述存储器为计算机可读存储介质。