1.一种数据存储方法,应用于电子装置,该电子装置通过网络连接分布式存储系统,分布式存储系统提供一系列主机及对象存储设备(Object Storage Device,OSD),其特征在于,该方法包括:设备分配步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;
请求接收步骤:接收用户向分布式存储系统存储数据文件的请求;
业务组确定步骤:根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;及文件存储步骤:将所述数据文件均匀切分为多个数据块,利用在可扩展散列下的受控复制(Controlled Replication Under Scalable Hashing,CRUSH)算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。
2.如权利要求1所述的数据存储方法,其特征在于,所述设备分配步骤中的预设规则包括:统计各业务组在一个预设周期内在分布式存储系统中存储数据的历史资料,包括总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量;
根据各业务组的总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量计算得到所有业务组在该预设周期内在该分布式存储系统中存储数据的平均数据大小、平均OSD数量和发生数据迁移的OSD平均数量;
当某个业务组的总数据大小与所有业务组的平均数据大小之差每大于第一预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第一预设数量的OSD;
当某个业务组发生数据迁移的OSD数量与所有业务组发生数据迁移的OSD平均数量之差每大于第二预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第二预设数量的OSD。
3.如权利要求1或2所述的数据存储方法,其特征在于,具有不同子集群标识的OSD位于不同的主机上。
4.如权利要求1所述的数据存储方法,其特征在于,所述文件存储步骤包括以下步骤:将所述数据文件均匀切分为多个数据块;
将每个数据块映射到一个归置组(placement group,PG)中;
利用CRUSH算法将每个PG的多个副本存储在具有对应子集群标识的OSD中。
5.如权利要求1或2所述的数据存储方法,其特征在于,该方法还包括:当一个OSD发生故障时,利用该OSD所属子集群的其它OSD存储的副本数据恢复该OSD中存储的数据。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中包括数据存储程序,所述数据存储程序被所述处理器执行时实现如下步骤:设备分配步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;
请求接收步骤:接收用户向分布式存储系统存储数据文件的请求;
业务组确定步骤:根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;及文件存储步骤:将所述数据文件均匀切分为多个数据块,利用CRUSH算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。
7.如权利要求6所述的电子装置,其特征在于,所述设备分配步骤中的预设规则包括:统计各业务组在一个预设周期内在分布式存储系统中存储数据的历史资料,包括总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量;
根据各业务组的总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量计算得到所有业务组在该预设周期内在该分布式存储系统中存储数据的平均数据大小、平均OSD数量和发生数据迁移的OSD平均数量;
当某个业务组的总数据大小与所有业务组的平均数据大小之差每大于第一预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第一预设数量的OSD;
当某个业务组发生数据迁移的OSD数量与所有业务组发生数据迁移的OSD平均数量之差每大于第二预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第二预设数量的OSD。
8.如权利要求6或7所述的电子装置,其特征在于,具有不同子集群标识的OSD位于不同的主机上。
9.如权利要求6所述的电子装置,其特征在于,所述文件存储步骤包括以下步骤:将所述数据文件均匀切分为多个数据块;
将每个数据块映射到一个归置组(placement group,PG)中;
利用CRUSH算法将每个PG的多个副本存储在具有对应子集群标识的OSD中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括数据存储程序,所述数据存储程序被处理器执行时,实现如权利要求1至5中任一项所述的数据储存方法的步骤。