一种分布式文件系统集群高可用方法和装置的制作方法

文档序号:6375837阅读:190来源:国知局
专利名称:一种分布式文件系统集群高可用方法和装置的制作方法
技术领域
本发明涉及文件系统,尤其涉及一种分布式文件系统集群高可用方法和装置。
背景技术
目前在集群文件系统高可用机制是重要组成部分,如果没有高可用,就不能完全保证数据的安全性,而且如果集群节点出现故障,会中断用户的应用,可能会给用户带来较大的损失;另外,市场上有很多高可用软件,大部分高可用软件采用主从切换模式,即存储用户数据的卷作为一个高可用资源,该卷是共享存储,这样当一个节点出现故障后,其他节点可以接管该资源,保证数据不丢失。该方式下还是会中断用户的应用,因此,现有高可用方法需要改进。

发明内容
本发明要解决的技术问题是提供一种分布式文件系统集群高可用方法和装置,提高数据的安全性。为了解决上述问题,本发明提供了一种分布式文件系统集群高可用方法,包括接收到数据写入请求时,为待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群。
进一步的,上述方法还可具有以下特点接收到数据读取请求时,从所述数据存储集群存储数据或数据副本的位置读取所请求的数据。进一步的,上述方法还可具有以下特点将所述数据和数据副本其中之一写入所述数据存储集群中的主集群,另一写入从集群;当接收到所述数据读取请求时,根据所述主集群和所述从集群的当前负载决定从所述主集群中读取所请求的数据还是从所述从集群中读取所请求的数据的数据副本。进一步的,上述方法还可具有以下特点读取所述数据或数据副本后,将其当成一份数据输出。本发明还提高一种分布式文件系统集群高可用装置,包括客户端模块、高可用模块和数据存储集群,其中所述客户端模块用于,接收数据写入请求和待写入的数据,发送写请求给所述高可用模块;所述高可用模块用于,接收到所述客户端模块的写请求后,为所述待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群;所述数据存储集群用于,存储所述数据及其数据副本。进一步的,上述装置还可具有以下特点,所述装置还包括读加速模块,其中所述客户端模块还用于,接收到数据读取请求时,发送读请求给所述读加速模块;所述读加速模块用于,接收到所述读请求后,从所述数据存储集群存储数据或数据副本的位置读取所请求的数据。进一步的,上述装置还可具有以下特点,所述高可用模块还用于,将所述数据和数据副本其中之一写入所述数据存储集群中的主集群,另一写入从集群;所述读加速模块还用于,接收到所述读请求时,根据所述主集群和所述从集群的当前负载决定从所述主集群中读取所请求的数据还是从所述从集群中读取所请求的数据的数据副本。进一步的,上述装置还可具有以下特点,所述读加速模块还用于读取所述数据或数据副本后,将其当成一份数据输出。进一步的,上述装置还可具有以下特点,所述装置还包括元数据集群,其中所述客户端模块还用于将所述待写入数据的元数据存储到所述元数据集群。
本发明提供的一种分布式文件系统集群高可用方法和装置,通常适用于分布式、并行文件系统中,能够最大化的保证数据不丢失,维护数据安全性;并且提高集群的读性倉泛。


图I是分布式文件系统集群数据写入示意图;图2是分布式文件系统集群数据读取示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本发明实施例提供一种实现数据高可用的方法,在数据写入时同时生成一份或者多份数据副本,并且数据和数据副本能够并行写入到数据存储集群中,这样变相的实现了集群之间的高可用。本发明实施提供一种分布式文件系统集群高可用方法,包括接收到数据写入请求时,为待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群。其中,可以只生成一份数据副本,也可以生成多份数据副本。其中,所述方法还包括接收到数据读取请求时,从所述数据存储集群存储数据或数据副本的位置读取所请求的数据。其中,所述方法还包括,将所述数据和数据副本其中之一写入所述数据存储集群中的主集群,另一写入从集群;当接收到所述数据读取请求时,根据所述主集群和所述从集群的当前负载决定从所述主集群中读取所请求的数据还是从所述从集群中读取所请求的数据的数据副本。其中,所述方法还包括读取所述数据或数据副本后,将其当成一份数据输出。即不管读取的是数据,还是数据副本,不会区分显示,仅显示一份数据,比如,读取数据A时,不管读取的是数据A还是数据A的副本,显示给用户的都是数据A,而不会显示给用户两份数据,一份数据A,一份数据A的副本。
本发明实施例还提供一种分布式文件系统集群高可用装置,包括客户端模块、高可用模块和数据存储集群,其中所述客户端模块用于,接收数据写入请求和待写入的数据,发送写请求给所述高可用模块;所述高可用模块用于,接收到所述客户端模块的写请求后,为所述待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群;所述数据存储集群用于,存储所述数据及其数据副本。其中,所述装置还包括读加速模块所述客户端模块还用于,接收到数据读取请求时,发送读请求给所述读加速模块; 所述读加速模块用于,接收到所述读请求后,从所述数据存储集群存储数据或数据副本的位置读取所请求的数据。其中,所述高可用模块还用于,将所述数据和数据副本其中之一写入所述数据存储集群中的主集群,另一写入从集群;所述读加速模块还用于,接收到所述读请求时,根据所述主集群和所述从集群的当前负载决定从所述主集群中读取所请求的数据还是从所述从集群中读取所请求的数据的数据副本。其中,所述读加速模块还用于读取所述数据或数据副本后,将其当成一份数据输出。其中,所述装置还包括元数据集群,其中所述客户端模块还用于将所述待写入数据的元数据存储到所述云数据集群。如图1,2所示,本发明实施提供的一种分布式文件系统集群高可用装置包括客户端模块1,元数据集群2,数据存储集群3,高可用模块4和读加速模块5,其中客户端模块I是访问文件系统的入口,主要是负责用户的数据请求,包括数据写入请求和数据读取请求。元数据集群2负责存储用户数据的元数据部分。数据存储集群3提供数据存储单元,负责存储数据(去掉元数据之后的数据)。高可用模块4用于生成副本,并存储数据和数据副本,从而保证集群之间的高可用,并且当一个节点出现故障,数据不会丢失。读加速模块5 :提高客户端的读数据性能,能读取数据和数据副本。其中,高可用模块4,保证写入数据时,同时生成至少一份数据副本,将数据和数据副本并行写入到数据存储集群3中,这样能够实现当一个数据节点出现故障时,保证数据的完整性。读加速模块5,能够同时读取主(primary)集群和从(passive)集群中的数据,从而提高数据读取性能。下面通过一具体实施例对一种分布式文件系统集群高可用方法详细过程说明首先客户端模块I建立与集群文件系统的链接;假设客户端模块I要写入的数据为dataFile文件,将其分成2个条带块(D0,D1),在写入到数据存储集群3之前,会在高可用模块4生成一份副本(D0’,D1’ );
然后数据(DO,Dl)和数据副本(DO’,D1’ )会同时并行写入到数据存储集群3,保证数据写入的性能;实现了当一个节点失效时,数据还是完整的。数据读取的时候,读加速模块5会读取数据存储集群中的数据或数据副本,并能根据集群系统的负载情况,确定读取主集群还是从集群中的数据,这样降低了系统的平均负载并且保证了系统的整体性能。本发明中,实现了数据备份,能够保证数据不丢失,维护数据安全性。另外,数据和备份数据并行写入,相比在数据写入之后,再进行备份的方法,提高了数据备份效率;以及,在有多个用户的时候,由于可以同时读取数据和数据副本,可以加快响应速度,提高用户体验。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
权利要求
1.一种分布式文件系统集群高可用方法,其特征在于,包括 接收到数据写入请求时,为待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群。
2.如权利要求I所述的方法,其特征在于,所述方法还包括接收到数据读取请求时,从所述数据存储集群存储数据或数据副本的位置读取所请求的数据。
3.如权利要求2所述的方法,其特征在于,所述方法还包括,将所述数据和数据副本其中之一写入所述数据存储集群中的主集群,另一写入从集群; 当接收到所述数据读取请求时,根据所述主集群和所述从集群的当前负载决定从所述主集群中读取所请求的数据还是从所述从集群中读取所请求的数据的数据副本。
4.如权利要求2所述的方法,其特征在于,所述方法还包括读取所述数据或数据副本后,将其当成一份数据输出。
5.一种分布式文件系统集群高可用装置,其特征在于,包括客户端模块、高可用模块和数据存储集群,其中 所述客户端模块用于,接收数据写入请求和待写入的数据,发送写请求给所述高可用模块; 所述高可用模块用于,接收到所述客户端模块的写请求后,为所述待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群; 所述数据存储集群用于,存储所述数据及其数据副本。
6.如权利要求5所述的装置,其特征在于,所述装置还包括读加速模块,其中 所述客户端模块还用于,接收到数据读取请求时,发送读请求给所述读加速模块; 所述读加速模块用于,接收到所述读请求后,从所述数据存储集群存储数据或数据副本的位置读取所请求的数据。
7.如权利要求6所述的装置,其特征在于, 所述高可用模块还用于,将所述数据和数据副本其中之一写入所述数据存储集群中的主集群,另一写入从集群; 所述读加速模块还用于,接收到所述读请求时,根据所述主集群和所述从集群的当前负载决定从所述主集群中读取所请求的数据还是从所述从集群中读取所请求的数据的数据副本。
8.如权利要求6所述的装置,其特征在于,所述读加速模块还用于读取所述数据或数据副本后,将其当成一份数据输出。
9.如权利要求6所述的装置,其特征在于,所述装置还包括元数据集群,其中 所述客户端模块还用于将所述待写入数据的元数据存储到所述元数据集群。
全文摘要
本发明提供了一种分布式文件系统集群高可用方法,包括接收到数据写入请求时,为待写入的数据生成至少一份数据副本,将所述待写入的数据及其数据副本并行写入数据存储集群。本发明还提供了一种分布式文件系统集群高可用装置,客户端模块接收数据写入请求和待写入的数据,发送写请求给高可用模块;高可用模块为待写入的数据生成至少一份数据副本,将待写入的数据及其数据副本并行写入数据存储集群。本发明能够最大化的保证数据不丢失,维护数据安全性;并且提高集群的读性能。
文档编号G06F17/30GK102867035SQ201210311569
公开日2013年1月9日 申请日期2012年8月28日 优先权日2012年8月28日
发明者胡振 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1