一种基于BCube(n,b)数据中心的数据存取方法技术

技术编号:18940217 阅读:16 留言:0更新日期:2018-09-15 11:00
本发明专利技术公开了一种基于BCube(

A data access method based on BCube (n, b) data center

The invention discloses a BCube based system.

【技术实现步骤摘要】
一种基于BCube(n,b)数据中心的数据存取方法
本专利技术涉及数据中心的数据传输领域,特别是指一种基于BCube()数据中心的数据存取方法。
技术介绍
近年来,全球的数据正在以爆炸的形式增长。根据国际数据公司IDC的统计,从2010年到2020年,全球的数据体量将增加50倍,预计到达40ZB。同时,数据存储的需求正在以每年50%到62%的速度增长。这种增长对数据中心存储的可靠性提出了更高的要求。以Facebook部署的Hadoop机群为例,整个机群有3000个节点,涉及45PB的数据,平均每天有22个节点失效,而且单日最高失效节点数超过100。如何确保数据的可靠性成为了数据中心的首要问题。BCube数据中心是微软研究人员提出的一种新的以服务器为中心的拓扑结构,通过小型交换机和服务器来递归地构建大规模数据中心网络,可以用于数据的存储,在GuoC,LuG,LiD等人在2009年39(4)的AcmSigcommComputerCommunicationReview所发表的文献《BCube:ahighperformance,server-centricnetworkarchitectureformodulardatacenters[J]》中,详细的介绍了BCube数据中心的结构及原理。为了提升数据存储的可靠性,目前主要通过两种机制来实现。一种机制是副本机制,该方法通过对原文件进行复制来增加冗余度。将数据复制成多份并分散地存储在数据中心的不同位置。当一份文件损坏时,其副本可以被传回本地来代替原文件,从而保证数据存储的可靠性。例如,在HDFS(HadoopDistributedFilesystem,Hadoop分布式文件系统)、Ceph、Swift等存储系统中,一份文件包含3个副本。理论上,只要有一个副本或者原文件存在时,数据就是可恢复的。这种方法虽然简单,但是副本会造成大量的冗余,导致大量存储空间的浪费。另一种机制是纠删码机制,可以通过对数据的计算等处理来减少数据存储的冗余,其中比较有代表性的是Reed-Solomon(RS)编码。在RS(k,m)中,数据被划分成k个部分,然后经过处理产生m个冗余部分。只要在这k+m个数据块中存在k个数据块,那么数据就可以被恢复。相比于副本系统,纠删码机制有效地减少了数据存储的成本。例如,如果想要容忍2个失败,对于大小为Dbytes的数据来说,副本的方法需要3Dbytes的存储空间,而RS(4,2)编码只需要1.5Dbytes。然而,RS编码的缺点是在修复过程中对流量的消耗较大。在数据中心中,由于磁盘等原因造成Cbytes的数据损坏时,RS(k,m)需要k×Cbytes的流量来修复,而副本的方法只需要Cbytes。目前,副本系统和纠删码系统所存在的最大问题之一是传输效率的问题。对于一个需要R副本的多副本系统来说,存储一份文件需要R次的传输。如果传输一个副本所需的时间为t,那么完成所有副本的传输需要R×t的时间。类似的,当文件需要更新时,仍需R×t的时间来完成。而对于纠删码系统,在一个(k,m)纠删码系统中,如果想要存储一份文件,需要k+m次的传输。如果数据块较大,会浪费大量的时间,而且写入这k+m个数据块也是一笔巨大的时间开销。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种基于BCube()数据中心的数据存取方法。基于上述目的本专利技术提供的一种基于BCube()数据中心的数据存取方法,将该方法应用于多副本系统中,在BCube()数据中心中,表示交换机的端口数,表示所述BCube()数据中心的层级,BCube()数据中心包括:作为节点的个服务器及具有个端口的个交换机;BCube()数据中心包括:个所述BCube()数据中心及具有个端口的个交换机;BCube()数据中心包括:个BCube()数据中心及具有个端口的个交换机;所述BCube()数据中心比所述BCube()数据中心多出的交换机中的第个交换机与各所述BCube()数据中心中的第个服务器连接;其中,采用数字编码的(,)来表示各服务器,所述方法包括:确定至少一组第一节点,各组内的各所述第一节点之间在各位上的数字均不相同;根据第二节点和各所述第一节点确定所述第二节点与各所述第一节点之间的传输路径;将所述第二节点存储的数据分别通过各所述传输路径并行传输至各所述第一节点。在一实施例中,所述确定至少一组第一节点,包括:随机选择一个节点作为第1个节点;对所述第1个节点的每个位上的数字都加设定数,得到第2个节点;对第个节点的每个位数都加所述设定数,得到第个节点,所述第1个节点至所述第个节点构成第一组不相交节点,所述第一组不相交节点在各位上的数字互不相同,其中,,表示所述BCube数据中心的交换机的端口数;基于所述多副本系统的副本数量从所述第一组不相交节点中选择对应数量的不相交节点作为第一组所述第一节点。在一实施例中,当所述副本数量大于时,所述基于所述多副本系统的副本数量从所述第一组不相交节点中选择对应数量的不相交节点作为第一组所述第一节点,包括:将所述第1个节点的最后1位加所述设定数,得到第个节点;基于所述第个节点生成第二组不相交节点;基于所述多副本系统的副本数量将所述第一组不相交节点中的全部不相交节点确定为第一组所述第一节点,将所述第二组不相交节点中的部分不相交节点确定为第二组所述第一节点。在一实施例中,所述根据第二节点和所述第一节点确定传输路径,包括:对各组中的所述第一节点进行排序,使得排序在第位的第一节点的第位数字与所述第二节点的第位数字不同;对排序在第位的第一节点,从所述第二节点的第位数字开始变换,得到第条传输路径,所述第条传输路径用于所述第二节点和所述第位的第一节点之间的数据传输,其中,,表示所述BCube数据中心的交换机的端口数。在一实施例中,所述方法还包括:将所述第一节点上存储的数据通过各所述传输路径反向并行传输至各所述第二节点。基于上述目的本专利技术还提供一种基于BCube()数据中心的数据存取方法,应用于纠删码系统中,在BCube()数据中心中,表示交换机的端口数,表示所述BCube()数据中心的层级,BCube()数据中心包括:作为节点的个服务器及具有个端口的个交换机;BCube()数据中心包括:个所述BCube()数据中心及具有个端口的个交换机;BCube()数据中心包括:个BCube()数据中心及具有个端口的个交换机;BCube()数据中心比所述BCube()数据中心多出的交换机中的第个交换机与各所述BCube()数据中心中的第个服务器连接;其中,采用数字编码的(,)来表示各服务器,所述方法包括:确定一组第一节点,组内的多个所述第一节点之间在各位上的数字均不相同,基于所述第一节点确定多组第三节点,每组内的各第三节点之间在各位上的数字至少有两位不相同;根据各组所述第三节点中位于相同位置的任一第一选定节点和第二节点确定第一传输路径,所述第一选定节点之间在各位上的数字均不相同,并根据所述第三节点中除所述第一选定节点之外的、位于相同位置的任一第二选定节点和所述第二节点确定第二传输路径,所述第二选定节点之间在各位上的数字均不相同;将所述第一选定节点存储的数据通过所述第一传输路径传输至所述第二节点,将各组内所述第三节点本文档来自技高网
...

【技术保护点】
1.一种基于BCube(

【技术特征摘要】
1.一种基于BCube()数据中心的数据存取方法,应用于多副本系统中,其特征在于,在BCube()数据中心中,表示交换机的端口数,表示所述BCube()数据中心的层级,BCube()数据中心包括:作为节点的个服务器及具有个端口的个交换机;BCube()数据中心包括:个所述BCube()数据中心及具有个端口的个交换机;BCube()数据中心包括:个BCube()数据中心及具有个端口的个交换机;所述BCube()数据中心比所述BCube()数据中心多出的交换机中的第个交换机与各所述BCube()数据中心中的第个服务器连接;其中,采用数字编码的(,)来表示各服务器,所述方法包括:确定至少一组第一节点,各组内的各所述第一节点之间在各位上的数字均不相同;根据第二节点和各所述第一节点确定所述第二节点与各所述第一节点之间的传输路径;将所述第二节点存储的数据分别通过各所述传输路径并行传输至各所述第一节点。2.根据权利要求1所述的方法,其特征在于,所述确定至少一组第一节点,包括:随机选择一个节点作为第1个节点;对所述第1个节点的每个位上的数字都加设定数,得到第2个节点;对第个节点的每个位数都加所述设定数,得到第个节点,所述第1个节点至所述第个节点构成第一组不相交节点,所述第一组不相交节点在各位上的数字互不相同,其中,,表示所述BCube数据中心的交换机的端口数;基于所述多副本系统的副本数量从所述第一组不相交节点中选择对应数量的不相交节点作为第一组所述第一节点。3.根据权利要求2所述的方法,其特征在于,当所述副本数量大于时,所述基于所述多副本系统的副本数量从所述第一组不相交节点中选择对应数量的不相交节点作为第一组所述第一节点,包括:将所述第1个节点的最后1位加所述设定数,得到第个节点;基于所述第个节点生成第二组不相交节点;基于所述多副本系统的副本数量将所述第一组不相交节点中的全部不相交节点确定为第一组所述第一节点,将所述第二组不相交节点中的部分不相交节点确定为第二组所述第一节点。4.根据权利要求1所述的方法,其特征在于,所述根据第二节点和所述第一节点确定传输路径,包括:对各组中的所述第一节点进行排序,使得排序在第位的第一节点的第位数字与所述第二节点的第位数字不同;对排序在第位的第一节点,从所述第二节点的第位数字开始变换,得到第条传输路径,所述第条传输路径用于所述第二节点和所述第位的第一节点之间的数据传输,其中,,表示所述BCube数据中心的交换机的端口数。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述第一节点上存储的数据通过各所述传输路径反向并行传输至各所述第二节点。6.一种基于BCube()数据中心的数据存取方法,应用于纠删码系统中,其特征在于,在所述BCube()数据中心中,表示交换机的端口数,表示所述BCube()数据中心的层级,BCube()数据中心包括:作为节点的个服务器及具有个端口的个交换机;BCube()数据中心包括:个所述BCube()数据中心及具有个端口的个交换机;BCube()数据中心包括:个BCube()数据中心及具有个端口的个交换机;BCube()数据中心比所述BCube()数据中心多出的交换机中的第个交换机与各所述BCube()数据中心中的第个服务器连接;其中,采用数字编码的(,)来表示...

【专利技术属性】
技术研发人员:郭得科夏俊旭唐国明
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

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

1