CN101854398B - 文件副本均衡分布的方法、装置及系统 - Google Patents
文件副本均衡分布的方法、装置及系统 Download PDFInfo
- Publication number
- CN101854398B CN101854398B CN201010194843.1A CN201010194843A CN101854398B CN 101854398 B CN101854398 B CN 101854398B CN 201010194843 A CN201010194843 A CN 201010194843A CN 101854398 B CN101854398 B CN 101854398B
- Authority
- CN
- China
- Prior art keywords
- bundling
- document
- node
- duplicate
- chained list
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件副本均衡分布的方法、装置及系统,属于分布式存储领域。该方法包括:控制服务器接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;所述存储服务器根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷。该方法包括:接收单元、分配单元和发送单元。本发明的技术方案可以实现文件副本均衡分布,提高数据的安全性,有利于业务的开展。
Description
技术领域
本发明涉及分布式存储领域,特别涉及一种文件副本均衡分布的方法、装置及系统。
背景技术
在分布式存储环境下,存在多个存储设备,每个存储设备上存在多个分卷。一个文件为了数据安全性和文件访问效率可能存在不同数目的副本,副本需要均匀分布在不同设备的不同分卷上,此时,既要保证存储设备和分卷的使用率均衡,同时要最大程度避免一个文件的多个副本聚集在某个存储设备或是分卷上。为此需要提出一种文件副本的均衡分布的技术方案,保证以上需求。
发明内容
为了实现文件副本的均衡分布,提高数据的安全性,本发明实施例提供了一种文件副本均衡分布的方法、装置及系统,技术方案如下:
一种文件副本均衡分布的方法,包括:
控制服务器接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;
所述存储服务器根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
进一步地,该方法还包括:所述控制服务器在文件副本分布出现不均衡时,根据文件副本均衡分布因子和文件副本个数进行再均衡的步骤。
进一步地,该方法还包括:所述控制服务器控制写入文件副本写入速率的步骤,包括:
假设存储设备维度为i,分卷维度为j,选择顺序为先j后i,在选择完成后,根据分卷映像中分卷的选中计数,分别进行分卷链表和存储设备链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数,其中,存储设备节点加权选中计数为select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为分别第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
进一步地,所述根据分卷映像中分卷的选中计数,进行存储设备链表的重新排序,包括:
重新计算被选中的存储设备节点加权选中计数,将被选中的存储设备节点移除,将被移除的存储设备节点重新插入所述存储设备链表。
进一步地,所述根据分卷映像中分卷的选中计数,进行分卷链表的重新排序,包括:
判断链表头节点选中计数是否为起始计数值,如果不是,则判断链表头选中计数是否大于起始计数值,如果是,则遍历分卷链表,节点计数减去头节点的计数值加预设值,并从分卷链表头节点,找到第一个计数为起始计数值的节点,以此节点为界,将链表分为两段,将两段链表交换顺序,重新组合;如果不是大于起始计数值,从分卷链表头节点,找到第一个选中计数为起始计数值的节点,以此节点为界,将分卷链表分为两段,将两段链表交换顺序,重新组合。
进一步地,所述文件副本均衡分布因子包括至少以下信息之一或其组合:
分卷输入输出,存储服务器的中央处理器使用率、存储服务器存储空间使用率和存储服务器带宽使用率。
一种文件副本均衡分布的装置,包括:
接收单元,用于接收包含文件副本个数的写文件副本请求;
分配单元,用于根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配;
发送单元,用于所述分配单元在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令,使所述存储服务器根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
进一步地,所述分配单元,还用于在文件副本分布出现不均衡时,根据文件副本均衡分布因子和文件副本个数进行再均衡的步骤。
进一步地,所述分配单元,还用于控制写入文件副本写入速率,具体地,假设存储设备维度为i,分卷维度为j,选择顺序为先j后i,在选择完成后,根据分卷映像中分卷的选中计数select,分别进行分卷链表和存储设备链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数,其中,存储设备节点加权选中计数为select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为分别第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
进一步地,所述分配单元根据分卷映像中分卷的选中计数,进行存储设备链表的重新排序,包括:
所述分配单元重新计算被选中的存储设备节点加权选中计数,将被选中的存储设备节点移除,将被移除的存储设备节点重新插入所述存储设备链表。
进一步地,所述分配单元根据分卷映像中分卷的选中计数,进行分卷链表的重新排序,包括:
所述分配单元判断链表头节点选中计数是否为起始计数值,如果不是,则判断链表头选中计数是否大于起始计数值,如果是,则遍历分卷链表,节点计数减去头节点的计数值加预设值,并从分卷链表头节点,找到第一个计数为起始计数值的节点,以此节点为界,将链表分为两段,将两段链表交换顺序,重新组合;如果不是大于起始计数值,从分卷链表头节点,找到第一个选中计数为起始计数值的节点,以此节点为界,将分卷链表分为两段,将两段链表交换顺序,重新组合。
进一步地,所述文件副本均衡分布因子包括至少以下信息之一或其组合:
分卷输入输出,存储服务器的中央处理器使用率、存储服务器存储空间使用率和存储服务器带宽使用率。
一种文件副本均衡分布的系统,包括:
控制服务器,用于接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;
所述存储服务器,用于根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
在本发明的技术方案中,控制服务器接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令,使存储服务器根据文件副本写入指令获取文件副本,并写入存储设备的指定分卷,可以实现文件副本均衡分布,提高数据的安全性,有利于业务的开展。
附图说明
图1是本发明实施例提供的一种文件副本均衡分布的方法的流程图;
图2是本发明实施例的应用场景架构和数据流图;
图3是本发明实施例提供的存储设备的数据抽象;
图4是本发明实施例提供的基于分卷映像的volumn选择顺序示意图;
图5是本发明实施例提供的cluster链表重排流程图;
图6是本发明实施例提供的volumn链表重排流程图;
图7是本发明实施例提供的系统存储空间再均衡流程图;
图8是本发明实施例提供的基于分卷映像的volumn选择实例示意图;
图9是本发明实施例提供的重排后的存储设备数据抽象图;
图10是本发明实施例提供的一种文件副本均衡分布的装置的结构图;
图11是本发明实施例提供的一种文件副本均衡分布的系统的结构图。
具体实施方式
本发明的核心思想在于,控制服务器接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令,使存储服务器根据文件副本写入指令获取文件副本,并写入存储设备的指定分卷,可以实现文件副本均衡分布,提高数据的安全性,有利于业务的开展。
本发明提供了一种文件副本均衡分布的方法,如图1所示,包括:
101,控制服务器接收包含文件副本个数的写文件副本请求,根据写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;
102,存储服务器根据文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
进一步地,该方法还包括:该控制服务器在文件副本分布出现不均衡时,根据文件副本均衡分布因子和文件副本个数进行再均衡的步骤。
进一步地,该方法还包括:该控制服务器控制写入文件副本写入速率的步骤,包括:
假设存储设备维度为i,分卷维度为j,选择顺序为先j后i,在选择完成后,根据分卷映像中分卷的选中计数select,分别进行分卷链表和存储设备链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数,其中,存储设备节点加权选中计数为select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为分别第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
进一步地,该根据分卷映像中分卷的选中计数,进行存储设备链表的重新排序,包括:
重新计算被选中的存储设备节点加权选中计数,将被选中的存储设备节点移除,将被移除的存储设备节点重新插入该存储设备链表。
进一步地,根据分卷映像中分卷的选中计数,进行分卷链表的重新排序,包括:
判断链表头节点选中计数是否为起始计数值,如果不是,则判断链表头选中计数是否大于1起始计数值,如果是,则遍历分卷链表,节点计数减去头节点的计数值加预设值,并从分卷链表头节点,找到第一个计数为起始计数值的节点,以此节点为界,将链表分为两段,将两段链表交换顺序,重新组合;如果不是大于起始计数值,从分卷链表头节点,找到第一个选中计数为起始计数值的节点,以此节点为界,将分卷链表分为两段,将两段链表交换顺序,重新组合。
其中,选中计数是非负整数。
其中,文件副本均衡分布因子包括至少以下信息之一或其组合:
分卷输入输出,存储服务器的中央处理器使用率、存储服务器存储空间使用率和存储服务器带宽使用率。
下面结合附图以及具体的实施例对本发明实施例进行详细的描述。
本发明实施例提出一种文件副本均衡分布的方法,该方法可以对文件副本进行均衡分布,以及在系统出现设备更换,异常情况时的对文件副本再均衡方法。该方法应用的系统架构如图2所示,包括:控制服务器用以管理文件副本存储位置分配,并通知存储服务器进行文件副本写入;存储服务器,用以根据控制服务器的通知在存储设备的分卷上写入文件副本;存储设备,用以存储文件副本。其中,控制服务器对存储位置的分配为本发明的关键步骤,可以包括如下部分:
1)存储设备的数据抽象。
根据存储设备(cluster)和分卷(volumn)的从属关系,以及分级管理的需要,使用存储设备和分卷两级链表来进行管理,具体的组织结构如附图3所示,下面对数据抽象的链表结构和节点属性进行说明:
cluster链表数为1,链表节点数为系统中可用的cluster数。
volumn链表数为cluster数。每个volumn链表的节点数,为cluster上可用的volumn数。
cluster权重(right):为cluster下挂volumn数目的最小公倍数除以volumn的数目,该权重描述cluster下的volumn每选中一次,对于cluster节点排序的影响大小。以cluster服务能力相同为例,假如没有这个参数,因为分卷数不同,会造成cluster负载与分卷数成正比,所以需要此参数来抵消分卷数差异的影响。进一步,当cluster服务能力有差异时,只需在上述基础上乘上服务能力的比例即可。
cluster权重倍数(multi):用于控制cluster节点在链表中的位置变化快慢,以达到控制存储设备选中概率的目的。通过加大或减小权重倍数,可以影响cluster节点的升降快慢,从而影响选中概率。
cluster加权选中计数(select):用于标识cluster的负荷轻重,数值大,代表负荷大,数值小,代表负荷小,其等于cluster权重(right)与权重倍数(multi)乘积的加权和,用于cluster节点排序,其中,加权和公式可以是select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
cluster链表的排序:采用cluster加权选中计数(select)升序排序,以保证优选负荷最轻的cluster节点。
volumn链表的排序:采用轮选算法,每次选中链表头节点,然后将头节点从链表移出,并插到链表尾部。
2)基于分卷映像的分卷选择算法。
在保证文件副本不存在于相同的cluster或volumn上时,优选地,为了提高选择效率,需要在分配文件副本存储位置时,根据文件副本个数,生成分卷映像,从分卷映像中进行分卷的选取。选取结束后,根据分卷映像中分卷的选中计数,对cluster链表和volumn链表进行参数调整和重新排序。
分卷映像为存储设备数据抽象的一个子集。即分卷映像中的cluster链表节点数等于申请文件的副本个数。当可用的cluster数目小于文件副本数时,分卷映像与存储设备数据抽象相同。基于分卷映像的volumn选择顺序示意图如附图4所示,选择算法描述如下:
假设cluster维度为i,volumn维度为j。选择顺序为先j后i。一次性选择完毕后,根据分卷映像中volumn的选中计数,分别进行volumn链表,cluster链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数。
其中,cluster链表节点根据加权选中计数(select)进行升降排列,具体流程参考图5如下:重新计算被选中的cluster节点加权选中计数(步骤501),将被选中的cluster节点移除(步骤502),将被移除的cluster节点重新插入链表(步骤503)。
其中,对volumn链表节点采用轮转排序,具体流程参考图6如下:判断链表头节点选中计数是否为0(步骤601),如果是,则结束(步骤602);如果不是,则判断链表头选中计数是否大于1(步骤603),如果是,则遍历链表,节点计数减去头节点的计数值加1(步骤604),并转入步骤605。如果不是,则从链表头节点,找到第一个计数为0的节点,以此节点为界,将链表分为两段(步骤605),将两段链表交换顺序,重新组合(步骤606),并结束(步骤602)。
3)存储设备的写入速率控制。
在系统实际运行过程中,需要提供对存储设备写入速率的控制的方法,使得存储设备使用率达到动态均衡。例如,根据分卷输入输出(volumn IO)均衡,根据存储服务器的中央处理器(cpu)使用率均衡,根据存储服务器存储空间使用率均衡,根据存储服务器带宽使用率均衡等。以上四个均衡因子只是举例需要,实际应用中,均衡因子的选择,可以是其中的一种或其组合,当然,也可以根据实际需要参考更多的均衡因子。
通过提供一种反馈函数,综合上述几种均衡因子,输出调节系数,作用于cluster权重倍数(multi),即可调节存储设备的选中概率,从而控制其使用率。即:multi=function(volumn_IO,cpu_rate,mem_rate,bandwidth_rate)例如,multi=0.5*(2000/100)+0.2*(60/10)+0.1*(80/10)+0.2*(50/10))。
4)文件副本的迁移。
在下面几种应用场景下,可能会发生文件副本的迁移需求,相应的,需要提供文件副本的迁移机制。例如:人工指定文件副本迁移,文件副本数扩大触发迁移,存储设备损坏触发迁移等。人工指定迁移,按照指定的位置进行,基本不需要控制。另外两种迁移,需要一定的算法来保证副本的均匀分布。副本迁移算法实际上是基于分卷映像的分卷选择算法的一个特例。算法设计如下:对分卷选择算法进行扩展,增加对选中volumn节点的过滤:在有其他volumn可选的情况下,不能选中已经存在该文件副本的volumn。当所有volumn都存在该文件副本,选择文件副本数最少的volumn。
5)文件副本再均衡。
当系统由于种种原因(例如存储设备增加或减少存储空间,增删设备,设备异常损坏,分卷损坏等等),在某个时间点,出现较大程度的存储空间使用率不均,cpu负载不均,volumn IO不均,带宽使用率不均等种种异常时。需要提供一种机制,使得副本存储按照均衡策略进行再均衡。以存储空间再均衡为例予以说明。
基本原理是以分卷为单位,按照分卷的存储空间使用率进行忙闲排序,将文件副本从使用率高的分卷,同步到使用率低的分卷,直到整体使用率基本均衡为止。
数据组织:分卷采用双向链表来组织,按照存储空间使用率由高到低排序。
副本的选择策略:顺序选取
副本迁移频率:根据系统使用率进行控制,最大每秒钟m个,例如200个,m的取值需要根据实际测试而定,并不限于该数值。
副本迁移定时器时长:应该基本等于文件系统迁移一个文件副本的时长。
偏差容忍:因为系统是动态运行的,无法做到绝对均衡,所以应该允许有一定的偏差,以偏差在3%以内为标准,具体根据需要测试而定,并不限于该数值。
终止条件:当存储空间使用率基本均衡时结束。或者当副本迁移计数达到门限值,视为异常,也应该予以终止。
下面结合图2所示的系统架构,本发明实施例的具体实施过程进行详细的描述。其中:文件副本位置分布算法基于volumn IO均衡,文件副本再均衡基于存储空间均衡。参考图2,具体如下:
外部向控制服务器发起写文件副本请求,该请求包括文件副本个数。可选地,该请求还可以包括文件信息。
控制服务器根据当前系统资源情况(存储空间使用率,cpu使用率,内存使用率,带宽使用率等)和申请的文件副本个数,进行存储位置分配,并在分配完成后,向存储服务器发送文件副本写入指令,该指令包括写入存储设备的分卷位置。优选地,该请求还可以包括文件数据源位置、文件控制信息等。
如附图3所示,当前系统中有三个存储设备cluster_1,cluster_2,cluster_3。cluster_1下有3个分卷:volumn_1,volumn_2,volumn_3。cluster_2下有2个分卷:volumn_4,volumn_5。cluster_3下有1个分卷:volumn_6。根据cluster下volumn个数的不同,cluster_1,cluster_2,cluster_3的权重值(right)分别为2,3,6。
初始状态下cluster节点的加权选中计数为0。因为是基于volumn选中均衡,所以权重倍数(multi)的值为1。
此时有一个写文件副本请求,申请4个文件副本。
生成的分卷映像如图8所示,根据分卷映像的选择算法,按照先j后i的顺序,选择volumn的选中顺序如图8所示。
选择完毕后,根据volunn选中情况,进行volumn节点和cluster节点的重新排序。
参照图3,首先重新计算cluster节点的加权选中计数。
因为cluster_1的权重值为2,cluster_1下有2个volumn被选中。所以cluster_1的加权选中计数select等于0+2*2=4。
因为cluster_2的权重值为3,cluster_2下有1个volumn被选中。所以cluster_2的加权选中计数select等于0+3*1=3。
因为cluster_3的权重值为6,cluster_3下有1个volumn被选中。所以cluster_3的加权选中计数select等于0+6*1=6。
然后,参照图5所示,根据cluster节点的加权选中计数大小,进行cluster节点的重新排序。参照图6所示,volunn节点的重新排序相对简单,直接采用轮转排序:将选中过的节点从链表头依次放到链表尾。
重新排序后的数据结构如图9所示。
按照此种算法,可以保证经过多次申请后,volumn的选中概率相同。并能最大程度保证文件副本分布于不同的cluster和volumn上。
存储服务器根据该指令将从文件数据源获取的文件副本,并写入到指定存储设备的指定分卷上。
此外,在某些情况下,会出现volumn的存储空间不均衡,此时需要对文件副本进行再均衡。具体地,假设当前volunn_1,volunn_2,volunn_3,volunn_4,volunn_5,volunn_6的存储空间使用率分别为90%,80%,70%,60%,50%,40%,存储空间使用率需要再均衡。参照图7所示,具体步骤如下:
701,将分卷按照存储空间使用率高低放入双向链表。
702,判断链表头节点和尾节点的偏差是否大于容忍值,如果是,继续执行步骤703;如果否,则转向712。
703,判断副本迁移计数是否小于门限值200,如果小于,继续执行步骤704;否则执行步骤711。
704,从链表头节点对应的分卷中找到200个文件副本,向其他链表节点对应的分卷进行副本迁移,链表节点选择顺序为从链表尾部向顶部查找,同步到的链表节点中不能存在该文件副本。
705,副本迁移计数加1。
706,发起文件副本迁移,把文件副本迁移到负荷较轻的volumn上。
707,更新分卷上文件副本数据索引。
708,更新链表节点参数,链表重新排序。
709,设置定时器。
为了不影响系统正常运行,需要控制文件副本均衡的频率,设置定时器,当定时器时间到,继续进行均衡。
710,定时器时间到,继续下一次文件副本同步。
711,当到达文件副本迁移门限,仍没有迁移完毕,则认为出现异常,给出告警并退出。
712,结束执行。
基于与方法相同的发明构思,本发明实施例提供了一种文件副本均衡分布的装置,如图10所示,包括:
接收单元,用于接收包含文件副本个数的写文件副本请求;
分配单元,用于根据该写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配;
发送单元,用于该分配单元在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令,使该存储服务器根据该文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
进一步地,该分配单元,还用于在文件副本分布出现不均衡时,根据文件副本均衡分布因子和文件副本个数进行再均衡的步骤。
进一步地,该分配单元,还用于控制写入文件副本写入速率,具体地,假设存储设备维度为i,分卷维度为j,选择顺序为先j后i,在选择完成后,根据分卷映像中分卷的选中计数select,分别进行分卷链表和存储设备链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数,其中,存储设备节点加权选中计数为select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为分别第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
进一步地,分配单元根据分卷映像中分卷的选中计数,进行存储设备链表的重新排序,包括:
该分配单元重新计算被选中的存储设备节点加权选中计数,将被选中的存储设备节点移除,将被移除的存储设备节点重新插入该存储设备链表。
进一步地,分配单元根据分卷映像中分卷的选中计数,进行分卷链表的重新排序,包括:
该分配单元判断链表头节点选中计数是否为起始计数值,如果不是,则判断链表头选中计数是否大于起始计数值,如果是,则遍历分卷链表,节点计数减去头节点的计数值加预设值,并从分卷链表头节点,找到第一个计数为起始计数值的节点,以此节点为界,将链表分为两段,将两段链表交换顺序,重新组合;如果不是大于起始计数值,从分卷链表头节点,找到第一个选中计数为起始计数值的节点,以此节点为界,将分卷链表分为两段,将两段链表交换顺序,重新组合。
其中,文件副本均衡分布因子包括至少以下信息之一或其组合:
分卷输入输出,存储服务器的中央处理器使用率、存储服务器存储空间使用率和存储服务器带宽使用率。
基于与方法相同的发明构思,本发明实施例提供了一种文件副本均衡分布的系统,图11所示,包括:
控制服务器,用于接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;
所述存储服务器,用于根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
其中,关于控制服务器的详细功能可以参见装置的实施例,在此不再赘述。
在本发明的技术方案中,控制服务器接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令,使存储服务器根据文件副本写入指令获取文件副本,并写入存储设备的指定分卷,可以实现文件副本均衡分布,提高数据的安全性,有利于业务的开展。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权力要求的保护范围内。
Claims (11)
1.一种文件副本均衡分布的方法,其特征在于,包括:
控制服务器接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;
所述存储服务器根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷;
所述控制服务器控制写入文件副本写入速率的步骤,包括:
假设存储设备维度为i,分卷维度为j,选择顺序为先j后i,在选择完成后,根据分卷映像中分卷的选中计数,分别进行分卷链表和存储设备链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数,其中,存储设备节点加权选中计数为select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为分别第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
2.如权利要求1所述的方法,其特征在于,还包括:所述控制服务器在文件副本分布出现不均衡时,根据文件副本均衡分布因子和文件副本个数进行再均衡的步骤。
3.如权利要求1所述的方法,其特征在于,所述根据分卷映像中分卷的选中计数,进行存储设备链表的重新排序,包括:
重新计算被选中的存储设备节点加权选中计数,将被选中的存储设备节点移除,将被移除的存储设备节点重新插入所述存储设备链表。
4.如权利要求1所述的方法,其特征在于,所述根据分卷映像中分卷的选中计数,进行分卷链表的重新排序,包括:
判断链表头节点选中计数是否为起始计数值,如果不是,则判断链表头选中计数是否大于起始计数值,如果是,则遍历分卷链表,节点计数减去头节点的计数值加预设值,并从分卷链表头节点,找到第一个计数为起始计数值的节点,以此节点为界,将链表分为两段,将两段链表交换顺序,重新组合;如果不是大于起始计数值,从分卷链表头节点,找到第一个选中计数为起始计数值的节点,以此节点为界,将分卷链表分为两段,将两段链表交换顺序,重新组合。
5.如权利要求1-4任意一项权利要求所述的方法,其特征在于,所述文件副本均衡分布因子包括至少以下信息之一或其组合:
分卷输入输出、存储服务器的中央处理器使用率、存储服务器存储空间使用率和存储服务器带宽使用率。
6.一种文件副本均衡分布的装置,其特征在于,包括:
接收单元,用于接收包含文件副本个数的写文件副本请求;
分配单元,用于根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配;
发送单元,用于所述分配单元在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令,使所述存储服务器根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷;
所述分配单元,还用于控制写入文件副本写入速率,具体地,假设存储设备维度为i,分卷维度为j,选择顺序为先j后i,在选择完成后,根据分卷映像中分卷的选中计数select,分别进行分卷链表和存储设备链表的重新排序,其中,i和j的取值范围为大于或等于1的自然数,其中,存储设备节点加权选中计数为select_n=select_n-1+(multi*right)*(被选中的volumn数目),其中,select_n第n个cluster的select值,select_n-1为第n-1个cluster的select值,multi和right为分别第n个cluster的权重倍数和权重,n为大于或等于1的自然数。
7.如权利要求6所述的装置,其特征在于,所述分配单元,还用于在文件副本分布出现不均衡时,根据文件副本均衡分布因子和文件副本个数进行再均衡的步骤。
8.如权利要求6所述的装置,其特征在于,所述分配单元根据分卷映像中分卷的选中计数,进行存储设备链表的重新排序,包括:
所述分配单元重新计算被选中的存储设备节点加权选中计数,将被选中的存储设备节点移除,将被移除的存储设备节点重新插入所述存储设备链表。
9.如权利要求6所述的装置,其特征在于,所述分配单元根据分卷映像中分卷的选中计数,进行分卷链表的重新排序,包括:
所述分配单元判断链表头节点选中计数是否为起始计数值,如果不是,则判断链表头选中计数是否大于起始计数值,如果是,则遍历分卷链表,节点计数减去头节点的计数值加预设值,并从分卷链表头节点,找到第一个计数为起始计数值的节点,以此节点为界,将链表分为两段,将两段链表交换顺序,重新组合;如果不是大于起始计数值,从分卷链表头节点,找到第一个选中计数为起始计数值的节点,以此节点为界,将分卷链表分为两段,将两段链表交换顺序,重新组合。
10.如权利要求6-9任意一项权利要求所述的装置,其特征在于,所述文件副本均衡分布因子包括至少以下信息之一或其组合:
分卷输入输出、存储服务器的中央处理器使用率、存储服务器存储空间使用率和存储服务器带宽使用率。
11.一种文件副本均衡分布的系统,其特征在于,包括:
控制服务器,包括如权利要求6所述的装置,用于接收包含文件副本个数的写文件副本请求,根据所述写文件副本请求和文件副本均衡分布因子对文件副本进行存储位置分配,并在分配完成后,向存储服务器发送包含文件副本存储位置的文件副本写入指令;
所述存储服务器,用于根据所述文件副本写入指令获取文件副本,并写入存储设备的指定分卷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010194843.1A CN101854398B (zh) | 2010-06-07 | 2010-06-07 | 文件副本均衡分布的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010194843.1A CN101854398B (zh) | 2010-06-07 | 2010-06-07 | 文件副本均衡分布的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101854398A CN101854398A (zh) | 2010-10-06 |
CN101854398B true CN101854398B (zh) | 2014-12-10 |
Family
ID=42805661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010194843.1A Active CN101854398B (zh) | 2010-06-07 | 2010-06-07 | 文件副本均衡分布的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101854398B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457571B (zh) * | 2011-09-15 | 2014-11-05 | 中标软件有限公司 | 一种云存储中数据均衡分布方法 |
CN102375893A (zh) * | 2011-11-17 | 2012-03-14 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统及其建立副本的方法 |
CN104376025B (zh) * | 2013-08-16 | 2017-10-10 | 华为技术有限公司 | 分布式数据库的数据存储方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN101187931A (zh) * | 2007-12-12 | 2008-05-28 | 浙江大学 | 分布式文件系统多文件副本的管理方法 |
US7707337B2 (en) * | 2004-12-20 | 2010-04-27 | Electronics And Telecommunications Research Institute | Object-based storage device with low process load and control method thereof |
-
2010
- 2010-06-07 CN CN201010194843.1A patent/CN101854398B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707337B2 (en) * | 2004-12-20 | 2010-04-27 | Electronics And Telecommunications Research Institute | Object-based storage device with low process load and control method thereof |
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN101187931A (zh) * | 2007-12-12 | 2008-05-28 | 浙江大学 | 分布式文件系统多文件副本的管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101854398A (zh) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101502896B1 (ko) | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 | |
CN104317650A (zh) | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 | |
WO2012144647A1 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム | |
CN106843745A (zh) | 容量扩展方法及装置 | |
CN103176849B (zh) | 一种基于资源分类的虚拟机集群的部署方法 | |
CN104239123B (zh) | 面向校园云平台的虚拟机管理调度方法和系统 | |
CN103139302A (zh) | 考虑负载均衡的实时副本调度方法 | |
EP3163446B1 (en) | Data storage method and data storage management server | |
CN103530189A (zh) | 一种面向流式数据的自动伸缩及迁移的方法及装置 | |
CN110058940B (zh) | 一种多线程环境下的数据处理方法及装置 | |
CN106909554B (zh) | 一种数据库文本表数据的加载方法及装置 | |
CN103491024A (zh) | 一种面向流式数据的作业调度方法及装置 | |
CN105446653A (zh) | 一种数据合并方法和设备 | |
CN101854398B (zh) | 文件副本均衡分布的方法、装置及系统 | |
JP2019121334A (ja) | データストレージとダイナミックマイグレーション方法及びデータストレージとダイナミックマイグレーション装置 | |
Anderson et al. | Algorithms for data migration | |
CN103778222A (zh) | 一种分布式文件系统存储文件的方法及系统 | |
CN113590281A (zh) | 基于动态集中式调度的分布式并行模糊测试方法及系统 | |
CN107391039B (zh) | 一种数据对象存储方法和装置 | |
CN106101010A (zh) | 基于端局云化的vBRAS流量负载均衡方法及装置 | |
US8924676B1 (en) | Efficient storage load redistribution | |
CN105915626A (zh) | 一种面向云存储的数据副本初始放置方法 | |
CN109426439A (zh) | 对分布式存储系统进行扩容的方法及装置 | |
CN104767822A (zh) | 一种基于版本的数据存储方法 | |
CN107172193A (zh) | 一种基于集群的负载均衡方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |