数据存储方法、装置及存储介质制造方法及图纸

技术编号:18458445 阅读:20 留言:0更新日期:2018-07-18 12:34
本发明专利技术提供了一种数据存储方法、装置及计算机可读存储介质,该方法包括以下步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;接收用户向分布式存储系统存储数据文件的请求;根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;将所述数据文件均匀切分为多个数据块,利用CRUSH算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。本发明专利技术通过为各业务组分配OSD,实现资源的合理配置,通过在集群的拓扑结构中加入子集群的逻辑划分,将OSD故障对存储系统的影响控制在子集群的范围内。

Data storage methods, devices and storage media

The present invention provides a data storage method, a device and a computer readable storage medium. The method includes the following steps: each predetermined period determines the number of OSD used by the business groups according to the preset rule, and assigns a unique subset group to the OSD of the same business group; the receiving user is to the distributed storage system. A request for a data file is stored; the sub cluster identification of the business group and the business group OSD of the user is determined according to the user's identification information; the data file is evenly divided into multiple data blocks, and multiple copies of each data block are stored in the OSD with the corresponding sub cluster identity using the CRUSH algorithm. This invention realizes the rational allocation of resources by assigning OSD to various business groups. By adding the logical partition of the sub cluster to the topology of the cluster, the influence of the OSD fault on the storage system is controlled within the scope of the sub cluster.

【技术实现步骤摘要】
数据存储方法、装置及存储介质
本专利技术涉及数据存储
,尤其涉及一种数据存储方法、装置及计算机可读存储介质。
技术介绍
分布式存储系统是将数据分散地存储在多台独立的设备上的系统,Ceph是一种广泛应用的开源的分布式存储系统,它将数据视为对象(Object),通过在可扩展散列下的受控复制(ControlledReplicationUnderScalableHashing,CRUSH)算法将对象均匀分布到存储设备集群之中,并提供动态扩展、平衡和恢复。目前,在分布式存储系统中,多采用三副本机制在三个不同的位置对数据进行存储以提高数据存储的可靠性,数据在以三副本的形式保存的时候,分别以数据中心、机房、机柜、主机、对象存储设备(ObjectStorageDevice,OSD)的层次结构来进行故障域的规划。一旦其中一个OSD出现故障,则为了保证其三副本的可用性,将进行整个集群的数据迁移,该数据迁移的过程占用大量的系统资源,大大影响系统性能。
技术实现思路
为解决现有技术存在的不足,本专利技术提供一种存储方法、装置及计算机可读存储介质,可以为各业务组分配OSD,在集群的拓扑结构中主机的层次上面加入一个子集群的逻辑划分,实现资源的合理配置并将OSD故障对存储系统的影响控制在子集群的范围内。为实现上述目的,本专利技术提供一种数据存储方法,应用于电子装置,该电子装置通过网络连接分布式存储系统,分布式存储系统提供一系列主机及OSD,其特征在于,该方法包括:设备分配步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;请求接收步骤:接收用户向分布式存储系统存储数据文件的请求;业务组确定步骤:根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;及文件存储步骤:将所述数据文件均匀切分为多个数据块,利用CRUSH算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。优选地,所述设备分配步骤中的预设规则包括:统计各业务组在一个预设周期内在分布式存储系统中存储数据的历史资料,包括总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量;根据各业务组的总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量计算得到所有业务组在该预设周期内在该分布式存储系统中存储数据的平均数据大小、平均OSD数量和发生数据迁移的OSD平均数量;当某个业务组的总数据大小与所有业务组的平均数据大小之差每大于第一预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第一预设数量的OSD;当某个业务组发生数据迁移的OSD数量与所有业务组发生数据迁移的OSD平均数量之差每大于第二预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第二预设数量的OSD。优选地,具有不同子集群标识的OSD位于不同的主机上。优选地,所述文件存储步骤包括以下步骤:将所述数据文件均匀切分为多个数据块;将每个数据块映射到一个PG中;利用CRUSH算法将每个PG的多个副本存储在具有对应子集群标识的OSD中。优选地,该方法还包括:当一个OSD发生故障时,利用该OSD所属子集群的其它OSD存储的副本数据恢复该OSD中存储的数据。本专利技术还提供一种电子装置,该电子装置包括存储器和处理器,所述存储器中包括数据存储程序。该电子装置的处理器执行存储器中的数据存储程序时,实现以下步骤:设备分配步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;请求接收步骤:接收用户向分布式存储系统存储数据文件的请求;业务组确定步骤:根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;及文件存储步骤:将所述数据文件均匀切分为多个数据块,利用CRUSH算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。优选地,所述设备分配步骤中的预设规则包括:统计各业务组在一个预设周期内在分布式存储系统中存储数据的历史资料,包括总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量;根据各业务组的总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量计算得到所有业务组在该预设周期内在该分布式存储系统中存储数据的平均数据大小、平均OSD数量和发生数据迁移的OSD平均数量;当某个业务组的总数据大小与所有业务组的平均数据大小之差每大于第一预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第一预设数量的OSD;当某个业务组发生数据迁移的OSD数量与所有业务组发生数据迁移的OSD平均数量之差每大于第二预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第二预设数量的OSD。优选地,具有不同子集群标识的OSD位于不同的主机上。优选地,所述文件存储步骤包括以下步骤:将所述数据文件均匀切分为多个数据块;将每个数据块映射到一个PG中;利用CRUSH算法将每个PG的多个副本存储在具有对应子集群标识的OSD中。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中包括数据存储程序,所述数据存储程序被处理器执行时,实现如上所述的数据存储方法中的任意步骤。本专利技术提供的数据存储方法、装置及计算机可读存储介质,根据预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识,以此在集群的拓扑结构中主机的层次上面加入一个子集群的逻辑划分,然后,将数据文件均匀切分成多个数据块,再将每个数据块映射到一个PG中,最后利用CRUSH算法将每个PG的多个副本分别存储在具有对应子集群标识的OSD中。利用本专利技术,实现了资源的合理配置,还可将OSD故障对存储系统的影响控制在子集群的范围内。附图说明图1为本专利技术电子装置较佳实施例的应用环境图。图2为图1中数据存储程序的程序模块图。图3为本专利技术的数据文件存储的示意图。图4为本专利技术数据存储方法较佳实施例的流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式本领域的技术人员知道,本专利技术的实施方式可以实现为一种方法、装置、设备、系统或计算机程序产品。因此,本专利技术可以具体实现为完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。下面将参考若干具体实施例来描述本专利技术的原理和精神。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1所示,为本专利技术电子装置较佳实施例的应用环境图。在该实施例中,电子装置1通过网络2与分布式存储系统3连接,通过网络4与客户端5连接。分布式存储系统3包含若干间机房,每间机房中有若干台机柜,每台机柜中安装有若干台主机,每台主机中包含若干个OSD,主机之间通过光纤高速交换机进行连接,机柜之间通过带宽更高的光纤交换完成交互连接。电子装置1利用本专利技术提供的数据存储程序10将用户在客户端5发送的数据文件存储至分布式存储系统3的OSD中。电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有存储和运算功能的终端设备。该电子装置1包括存储器11、处理器12、网络接口13及通信总线14。网络接口13可以包括标准的有线接口、无线接口(如WI-FI接口)。通信总线14用于实现这本文档来自技高网...

【技术保护点】
1.一种数据存储方法,应用于电子装置,该电子装置通过网络连接分布式存储系统,分布式存储系统提供一系列主机及对象存储设备(Object Storage Device,OSD),其特征在于,该方法包括:设备分配步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;请求接收步骤:接收用户向分布式存储系统存储数据文件的请求;业务组确定步骤:根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;及文件存储步骤:将所述数据文件均匀切分为多个数据块,利用在可扩展散列下的受控复制(Controlled Replication Under Scalable Hashing,CRUSH)算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。

【技术特征摘要】
1.一种数据存储方法,应用于电子装置,该电子装置通过网络连接分布式存储系统,分布式存储系统提供一系列主机及对象存储设备(ObjectStorageDevice,OSD),其特征在于,该方法包括:设备分配步骤:每隔预设周期按照预设规则确定各业务组使用的OSD的数量,并为同一个业务组的OSD分配一个唯一的子集群标识;请求接收步骤:接收用户向分布式存储系统存储数据文件的请求;业务组确定步骤:根据用户的识别信息确定该用户所属的业务组及该业务组OSD的子集群标识;及文件存储步骤:将所述数据文件均匀切分为多个数据块,利用在可扩展散列下的受控复制(ControlledReplicationUnderScalableHashing,CRUSH)算法将每个数据块的多个副本存储在具有对应子集群标识的OSD中。2.如权利要求1所述的数据存储方法,其特征在于,所述设备分配步骤中的预设规则包括:统计各业务组在一个预设周期内在分布式存储系统中存储数据的历史资料,包括总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量;根据各业务组的总数据大小、涉及的OSD总数量和发生数据迁移的OSD数量计算得到所有业务组在该预设周期内在该分布式存储系统中存储数据的平均数据大小、平均OSD数量和发生数据迁移的OSD平均数量;当某个业务组的总数据大小与所有业务组的平均数据大小之差每大于第一预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第一预设数量的OSD;当某个业务组发生数据迁移的OSD数量与所有业务组发生数据迁移的OSD平均数量之差每大于第二预设阈值时,在所述涉及的OSD总数量的基础上,为该业务组增加第二预设数量的OSD。3.如权利要求1或2所述的数据存储方法,其特征在于,具有不同子集群标识的OSD位于不同的主机上。4.如权利要求1所述的数据存储方法,其特征在于,所述文件存储步骤包括以下步骤:将所述数据文件均匀切分为多个数据块;将每个数据块映射到一个归置组(placementgroup,PG)中;利用CRUSH算法将每个PG的多个副本存储在具有对应子集群标识的OSD中。5.如权利要求1或2所述的数据存储方法,其特征在于,该方法还包括:当一个...

【专利技术属性】
技术研发人员:刘源
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1