一种分布式存储系统的数据分布控制方法、系统及装置制造方法及图纸

技术编号:18525931 阅读:35 留言:0更新日期:2018-07-25 12:45
一种分布式存储系统的数据分布控制方法、系统及装置,分布控制系统从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;然后根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。本申请增加了数据的分布属性设置,可以适应数据的差异性要求。

【技术实现步骤摘要】
一种分布式存储系统的数据分布控制方法、系统及装置
本专利技术涉及分布式存储系统,更具体地,涉及一种分布式存储系统的数据分布控制方法及系统、装置。
技术介绍
当前的大规模分布式存储系统中,为了实现在某个容错域出现问题时数据仍然可以被访问到,采用数据多个副本跨容错域存储的方式,以抵御单个容错域故障导致的数据可用性问题。例如,Hadoop分布式文件系统(HDFS:HadoopDistributedFileSystem)中,将数据的多个副本分布到不同的机架进行存储。HDFS中一个机架构成一个容错域(也称为错误域),容错域代表出错的一个物理单元,通过将容错域放置在不同机架中,在某个机架的电源或者相应交换机出现故障时,仍然可以访问数据。有些分布式存储系统会跨地域分布,在一个国家区域范围内,也会出现某个地域的供电或者网络基础设施出现故障,导致存储系统在地域内的数据不可访问,进而引起上层应用的故障。相关技术进行分布式存储系统的数据分布控制时,先收集分布式存储系统的拓扑关系,生成整个分布式存储系统中存储节点间的拓扑关系,并自动划分好容错域。在创建数据时,指定数据要写入的副本数量,将数据的多个副本保存在多个容错域中即跨容错域分布。当有容错域出现故障导致数据的副本缺失时,可以通过数据复制过程恢复数据的副本数。本申请的专利技术人发现,上述数据分布控制方法实际是认为容错域是等价的,容错域间网络带宽相同,单位价格一样,且容错域间网络传输的延迟是一样的。但是实际情况并非如此,例如在一个分层网络架构下的数据中心内部,同一机架下机器间的网络带宽可以达到网卡带宽,延迟在0.3ms以内,但是在经过汇聚交换机(PSW)后,机器间的网络带宽会缩小到原来的1/3,同时延时会接近0.5ms。而在存储系统跨地域部署时,不同地域的网络一般都有流量限制,带宽更小。同时由于传输距离的增长,导致传输延迟呈现正比关系的增加。相关技术对所有数据采用相同的分布策略,没有考虑不同数据的差异性。例如,有些数据对可用性要求很高,数据量不大,而有些数据没有很高的可用性要求,但数据量大,读写吞吐量很高。采用相同的分布策略,对于可用性要求高的数据可能满足不了防御大范围故障的要求,而对于可用性要求低的数据,却不能满足其对数据读写速度的要求,还会给网络带来沉重的负担。此外,相关技术采用单一层次的容错域划分,如均按照机架划分,很难表现出不同层次容错域间的区别,给数据分布的合理性和有效性造成困扰。例如,由于网络的分层架构,两个机架之间的带宽并不一定都是一样的,可能要经过核心交换机甚至经过互联网,一旦数据分布到的两个机架之间带宽较小,会造成数据写变慢。为了弥补这样的问题,一种做法是调整网络架构,使得系统中任意两个节点间的带宽是一样的,但网络设备和架构调整的代价相对较大,也提高了机房内部网络布线的难度,降低了网络可以承载的规模,不能做到成本降低的目的。
技术实现思路
有鉴于此,本专利技术实施例提供了一种分布式存储系统的数据分布控制方法,包括:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。本专利技术实施例还提供了一种分布式存储系统中的数据分布控制系统,包括策略确定模块和分配及写入模块,其中:所述策略确定模块设置为:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;所述分配及写入模块设置为:根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。本专利技术实施例还提供了一种分布式存储系统中的分布控制装置,包括处理器和存储器,其特征在于:所述存储器设置为:保存程序代码;所述处理器设置为:读取所述程序代码以执行以下数据分布控制处理:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。上述方案增加了数据的分布属性设置,可以适应数据的差异性要求。例如,可以实现关键数据跨容错域分布,在单个容错域出现故障时,仍然可以提供读写服务;而非关键数据在容错域内分布,不增加域间网络带宽成本,并且可提升数据的读写性能。附图说明图1是本专利技术实施例一分布式存储系统中存储节点的分层网络架构图;图2是本专利技术实施例一数据分布控制方法的流程图;图3是本专利技术实施例一分布控制系统的模块图;图4是本专利技术实施例二分布式存储系统中存储节点的分层网络架构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。实施例一图1所示是本实施例分布式存储系统(文中也简称系统)中存储节点的分层网络架构,包括以下节点:存储节点,存储节点是存储数据的实体,也称为机器(host,Machine)。接入交换机(ASW),是为存储节点提供网络接入的交换机,在实际部署时,通常将一个机架上的多台机器连接到同一接入交换机。汇聚交换机(PSW),是多台接入层交换机的汇聚点,处理来自接入层设备的所有通信量,并提供到核心层的上行链路。核心交换机(DSW),部署在核心层(网络主干部分)的交换机称之为核心交换机。核心层通过高速转发通信,提供优化、可靠的骨干传输结构。本实施例的分布式存储系统跨地域部署,不同地域的设备之间通过骨干网相连。这里的地域是指地理区域,如北京、上海、广州等,但也可以是一个国家或多个国家或其他地理区域,这取决于网络部署。除上述存储节点外,分布式存储系统还包括分布控制系统和客户端,分布控制系统用于实现数据分布策略的确定、容错域的分配和数据写入、接收用户指令并执行等功能。客户端可以与分布控制系统进行信令交互,并与存储节点之间进行数据读写。需要说明的是,不同规模和需求的分布式存储系统的网络架构是不同的。例如,有些分布式存储系统部署在同一地域内,而且上述架构中有些层次的节点如汇聚交换机等也是可选的。文中提到的分布式存储系统的拓扑关系是指存储节点的拓扑关系,包括上述分层网络架构,还包括各个存储节点的名称、各个容错域的存储空间等属性信息。基于本实施例的上述网络架构,本实施例将分布式存储系统划分为多个层次的容错域,按层次从低到高的顺序包括:机器层的容错域,接入到同一接入交换机的一台或一组机器可组成该层次的一个容错域,每台机器可以包括多个磁盘来写入同一数据的多个副本。机器层容错域在图中用Machine表示。接入层的容错域,连接到同一上层交换机(本实施例是PSW,也可以是DSW)的一台或多台接入交换机及其下连接的设备可组成该层次的一个容错域,一个接入层的容错域可以包括一个或多个机器层的容错域。接入层的容错域通常对应于一个或多个机架,图中用Rack表示。汇聚层的容错域,连接到同一上层交换机(本实施例是DSW)的一台或多台汇聚交换机及其下连接的设备可组成该层次的一个容错域,一个汇聚层的容错域可以包括一个或多本文档来自技高网
...

【技术保护点】
1.一种分布式存储系统的数据分布控制方法,包括:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。

【技术特征摘要】
1.一种分布式存储系统的数据分布控制方法,包括:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。2.如权利要求1所述的方法,其特征在于:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,包括:根据所述第一数据的可用性要求,确定所述第一数据采用的分布策略;或者将用户为所述第一数据指定的分布策略,确定为所述第一数据采用的分布策略;或者根据用户为所述第一数据指定的一个或多个容错域,确定所述第一数据采用的分布策略。3.如权利要求2所述的方法,其特征在于:根据所述第一数据的可用性要求,确定所述第一数据采用的分布策略,包括:如第一数据为要求在单个容错域故障时仍可访问的高可用数据,确定所述第一数据采用跨容错域分布的策略;如第一数据为在容错域故障时可停止访问并重新生成的低可用数据,确定所述第一数据采用在一个容错域内分布的策略;所述第一数据的可用性要求根据系统默认配置或用户定制或外部系统的指示确定。4.如权利要求1所述的方法,其特征在于:所述分布式存储系统划分有机器层、接入层、汇聚层、数据中心层和地域层中的一个或多个层次的容错域。5.如权利要求1所述的方法,其特征在于:所述确定第一数据采用的分布策略,包括:在确定所述第一数据采用跨容错域分布的策略时,还根据系统默认配置或用户定制确定所跨的容错域的层次。6.如权利要求1-5中任一所述的方法,其特征在于:所述第一数据采用在一个容错域内分布的策略时,根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入,包括:为所述第一数据分配所述第一数据的生成者所在的容错域,且优先将所述第一数据的多个副本写入所分配容错域内的同一存储节点。7.如权利要求1-5中任一所述的方法,其特征在于:所述第一数据采用跨容错域分布的策略时,根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入,包括:采用同时写入方式,在分布式存储系统正常容错域的数量M大于或等于采用的所述分布策略要求的容错域数量N时,为所述第一数据分配N个容错域并同时写入;在M<N时,为所述第一数据分配M个容错域并同时写入,在正常容错域的数量达到N个后,再通过数据复制使所述第一数据分布到N个容错域,其中N,M为正整数,N≥2;或者采用分时写入方式,先将所述第一数据写入到分配的一个容错域,再通过数据复制使所述第一数据分布到N个容错域。8.如权利要求4所述的方法,其特征在于:为所述第一数据分配容错域并进行数据写入之后,所述方法还包括:因机器层的容错域故障导致所述第一数据的副本缺失时,立即发起数据复制以补充所述第一数据缺失的副本;除机器层之外其他层的容错域故障导致所述第一数据的副本缺失时,先经过设定的故障等待时间,所述故障等待时间到时后,如所述故障还未排除,再发起数据复制以补充所述第一数据缺失的副本。9.如权利要求4所述的方法,其特征在于:为所述第一数据分配容错域并进行数据写入之后,所述方法还包括:在所述第一数据的副本缺失而发起的数据复制过程中,先确定数据复制的源位置和目标位置,在所述源位置到目标位置经过的每一层次的容错域上申请相应的流量额度,申请成功后再开始数据复制。10.如权利要求1所述的方法,其特征在于:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,包括以下确定方式中的一种或多种:所述第一数据为要存储在高可用云盘的数据时,采用跨域分布的策略;所述第一数据为要存储在低可用云盘的数据时,采用在同一容错域内分布的策略;根据第一数据相关的服务等级协议确定第一数据采用的分布策略,其中,在所述服务等级协议大于等于99.9%时,确定所述第一数据采用跨域分布的策略;所述第一数据为大数据计算的输入输出数据时,采用跨域分布策略;所述第一数据为大数据计算产生的中间数据时,采用在一个容错域内分布的策略。11.如权利要求7所述的方法,其特征在于:所述第一数据为数据库备份数据时,采用分时写入方式;所述第一数据为数据库备份时产生的状态信息的数据时,采用同时写入方式。12.一种分布式存储系统中的数据分布控制系统,包括策略确定模块和分配及写入模块,其特征在于:所述策略确定模块设置为:从分布式存储系统提供的多种分布策略中确定第一数据采用的分布策略,所述多种分布策略包括跨容错域分布的策略和在一个容错域内分布的策略;所述分配及写入模块设置为:根据采用的所述分布策略和分布式存储系统的拓扑关系,为所述第一数据分配容错域并进行数据写入。13.如权利要求12所述的分布控制系统,其特征在于:所述策略确定模块从分布式存储系统提...

【专利技术属性】
技术研发人员:姚文辉陆靖吕鹏程常艳军朱家稷
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1