在分布式存储系统中写入数据副本的方法、装置及其系统与流程

文档序号:12890091阅读:442来源:国知局
在分布式存储系统中写入数据副本的方法、装置及其系统与流程

本发明涉及通信领域,特别涉及一种在分布式存储系统中写入数据副本的方法、装置及其系统。



背景技术:

近年来,随着云存储技术的发展,可扩展成本低的分布式存储方法收到广泛关注。考虑到单个存储节点出现故障时系统数据的可靠性问题,通常,一份数据会在多个存储节点上存储。目前分布式存储系统在存储多副本的情况下,写入数据通常采用并发写入模式和串行写入模式,这两种方法在副本数量较多时都存在明显缺陷,前者的缺点是并发同时向多个副本的存储节点写入数据会导致网络带宽不足,且平均到每个存储节点上的带宽非常小,后者的缺点是多副本情况下数据需要在多个存储节点之间串行传递,且副本位于不同的网络节点,使得传输延时非常高。



技术实现要素:

本发明的目的在于提供一种在分布式存储系统中写入数据副本的方法、装置及其系统,能够根据实际需求调节将副本写入分布式存储系统时所需的网络带宽或者传输延时,有效解决多副本写入分布式存储系统时,存储网络带宽不足或者网络传输延时过高的问题。

为解决上述技术问题,本发明的实施方式公开了一种在分布式存储系统中写入多个数据副本的方法,该方法包括以下步骤:

获取步骤,获取待写入数据和与该待写入数据相对应的存储节点信息;

写入步骤,根据获取的存储节点信息,将待写入数据写入由多个存储节点组成的存储节点集中以存储待写入数据的多个副本;

其中,存储节点信息为表示存储节点集中各存储节点间的传输关系的信息;并且

存储节点集包括至少两个级别的存储节点,至少两个级别的存储节点包括至少一个一级存储节点和至少两个由该一级存储节点传输待写入数据的二级存储节点。

此外,在一实例中,该方法还包括以下步骤:

设置步骤,设置存储节点间的传输关系,以得到副本的存储节点信息,其中,存储节点的数目与待写入数据需保存的副本数目相同。

此外,在一实例中,上述设置步骤包括以下子步骤:

设置子步骤,根据存储节点的带宽和在将待写入数据写入存储节点中时单次写入的数据包的大小,设置存储节点间的传输关系。

此外,在一实例中,每个存储节点的带宽相同;并且在设置步骤的设置子步骤之后,还包括以下子步骤:

第一调整子步骤,如果单次写入的数据包的大小大于预定大小阈值,则调整增加存储节点集中存储节点的级别数。

此外,在一实例中,在设置步骤的设置子步骤之后,还包括以下子步骤:

第二调整子步骤,如果将待写入数据写入存储节点集中的存储节点的写入延时大于预定延时阈值,则调整减少存储节点集中存储节点的级别数。

此外,在一实例中,在设置步骤的设置子步骤之后,还包括以下子步骤:

第三调整子步骤,如果写入待写入数据的最小写入带宽小于预定带宽,则调整增加存储节点集中存储节点的级别数。

最小写入带宽是指在将待写入数据写入存储节点集中的各存储节点中时,各存储节点接收写入数据所具有的网络带宽中的最小网络带宽。

本发明的实施方式还公开了一种在分布式存储系统中写入多个数据副本的装置,包括:

获取单元,用于获取待写入数据和与该待写入数据相对应的存储节点信息;

写入单元,用于根据获取的存储节点信息,将待写入数据写入由多个存储节点组成的存储节点集中以存储待写入数据的多个副本;

其中,存储节点信息为表示存储节点集中各存储节点间的传输关系的信息;并且

存储节点集包括至少两个级别的存储节点,至少两个级别的存储节点包括至少一个一级存储节点和至少两个由该一级存储节点传输待写入数据的二级存储节点。

能够根据实际需求调节将副本写入分布式存储系统时所需的网络带宽或者传输延时,有效解决多副本写入分布式存储系统时,存储网络带宽不足或者网络传输延时过高的问题。

此外,在一实例中,该装置还包括:

设置单元,用于设置存储节点间的传输关系,以得到副本的存储节点信息。

此外,在一实例中,该装置的设置单元包括以下子单元:

设置子单元,用于根据存储节点的带宽和在将待写入数据写入存储节点中时单次写入的数据包的大小,设置存储节点间的传输关系;

第一调整子单元,用于在单次写入的数据包的大小大于预定大小阈值时调整增加存储节点集中存储节点的级别数;

第二调整子步骤,用于在将待写入数据写入存储节点集中的存储节点的写入延时大于预定延时阈值时调整减少存储节点集中存储节点的级别数。

第三调整子单元,用于在写入待写入数据的最小写入带宽小于预定带宽时调整增加存储节点集中存储节点的级别数。

本发明的实施方式还公开了一种分布式存储系统,包括上述在分布式存储系统中写入多个数据副本的装置。

本发明的实施方式还公开了一种分布式存储系统,包括由多个用于存储待写入数据的副本的存储节点组成的存储节点集,其中,存储节点集包括至少两个级别的存储节点,至少两个级别的存储节点包括至少一个一级存储节点和至少两个由该一级存储节点传输待写入数据的二级存储节点。

本发明实施方式与现有技术相比,主要区别及其效果在于:

能够根据实际需求调节将副本写入分布式存储系统时所需的网络带宽或者传输延时,有效解决多副本写入分布式存储系统时,存储网络带宽不足或者网络传输延时过高的问题。

进一步地,可以根据实际需要设置存储节点间的传输关系,如对带宽要求较高时,可减少高级别存储节点的下一级别节点的数目,增加节点的级别数目,对带宽要求较低时,相应地减少节点的级别数目。

进一步地,在实际需要中,如果对写入延时要求较高,可忽略带宽要求,较少存储节点的级别数目,以减少写入延时。

进一步地,在实际需要中,如果对写入带宽有特定要求,则可在某一存储节点具有的最小带宽不满足传输要求时,增加存储节点的级别,增大相应存储节点的带宽。

附图说明

图1是本发明第一实施方式的在分布式存储系统中写入多个数据副本的方法的流程示意图;

图2是本发明第一实施方式中的分布式存储系统中的存储节点集的待写入数据的传输示意图;

图3是本发明第一实施方式中的分布式存储系统中的存储节点集的待写入数据的传输示意图;

图4是本发明第三实施方式中的在分布式存储系统中写入多个数据副本的装置的结构示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

本发明第一实施方式涉及一种在分布式存储系统中写入多个数据副本的方法。图1是该方法的流程示意图。

具体地,如图1所示,该方法包括以下步骤:

获取步骤101,获取待写入数据和与该待写入数据相对应的存储节点信息。存储节点信息为表示存储节点集中各存储节点间的传输关系的信息

此后,进入步骤102。

在写入步骤102中,根据获取的存储节点信息,将待写入数据写入由多个存储节点组成的存储节点集中以存储待写入数据的多个副本。存储节点集包括至少两个级别的存储节点,至少两个级别的存储节点包括至少一个一级存储节点和至少两个由该一级存储节点传输待写入数据的二级存储节点。

例如,如图2所示,某个存储节点集包括三个级别的存储节点,其中,一级存储节点包括a1-a3,二级存储节点包括b1-b5,三级存储节点包括c1-c4,待写入数据的传输方向如图中箭头所示,如在写入副本时,由输入/输出端发送待写入的数据给一级存储节点a1-a3,其中,a1向其二级存储节点b1和b2传输待写入的数据,二级存储节点b1向其三级存储节点c1和c2传输待写入的数据。

此后结束本流程。

此外,在一优选例中,上述方法还包括以下步骤:

设置步骤,设置存储节点间的传输关系,以得到副本的存储节点信息。

可以根据实际需要设置存储节点间的传输关系,如对带宽要求较高时,可减少高级别存储节点的下一级别节点的数目,增加节点的级别数目,对带宽要求较低时,相应地减少节点的级别数目。

在该方法中,在写入的副本数目保持不变的情况下,减少存储节点集中存储节点的级别数,增加高级别存储节点的下级次存储节点数目,可以减少数据的写入延时;而增加存储节点的级别数,减少高级别存储节点的下级存储节点的数目,能够提高各存储节点可利用的带宽,故通过调节存储节点集中存储节点的级别数,能够在写入副本数目不变的情况下,根据实际需求控制写入副本时所需的写入延时和写入带宽。

值得注意的是,在本发明的各实施方式中,增加或者减少存储节点集中存储节点的级别数,表示在副本数目保持不变或者相应的存储节点集中存储节点数目不变的情况下,需要对较高级的存储节点的分支存储节点数目进行调节。例如,在图2所示的存储节点集中,假设各存储节点的带宽相同,如果各存储节点对接收待写入数据的带宽要求较高,则可在设置存储节点信息时,减少一级存储节点的数目,例如将节点a3及其二级存储节点b4和b5分别加入三级和四级存储节点,如图3所示。或者说,在存储同样的数据的同样数量的副本时,图2中的存储节点集接收待写入数据的网络带宽小于图3中的,而且图2写入所述数据副本所需的写入延时小于图3中的。可以理解,在本发明的各实施方式中,写入延时是指由于待写入的数据在各级存储节点间纵向传输所引入的时间开销。

此外,在本发明的各实施方式中,存储节点的数目与待写入数据需保存的副本数目可以相同,也可以不同,即在一个存储节点也可以存储多个副本,在此不做限制。所述带宽为各存储节点的网络带宽。

可以理解,在本发明各实施方式中,低级别存储节点作为其上一存储节点的分支存在,接收其上一级别存储节点发送的待写入的数据。此处的级别之分仅仅是为了表明待写入数据的传输方向,在物理结构上各存储节点可以相同或者相似,如都为服务器。

此外,可以理解,在本发明的各实施方式中,存储节点信息的设置可以利用分布式存储系统中各存储节点的地址来设置,如设置各存储节点的地址间的信息传输方向,以此将存储数据副本的存储节点组成与各待存储数据对应的存储节点信息。在各存储节点为实体的服务器设备时,也可以基于各服务器设备的mac地址(码分多址)或者标识来设置存储节点信息。

能够根据实际需求调节将副本写入分布式存储系统时所需的网络带宽或者传输延时,有效解决多副本写入分布式存储系统时,存储网络带宽不足或者网络传输延时过高的问题。

本发明第二实施方式涉及一种在分布式存储系统中写入多个数据副本的方法。

第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:对第一实施方式中设置步骤的具体设置方式进行了描述,具体如下:

上述设置步骤包括以下子步骤:

设置子步骤,根据存储节点的带宽和在将待写入数据写入存储节点中时单次写入的数据包的大小,设置存储节点间的传输关系。

第一调整子步骤,如果单次写入的数据包的大小大于预定大小阈值,则调整增加存储节点集中存储节点的级别数。其中,每个存储节点的带宽相同。例如,假设各存储节点的网络带宽相同,则如果写入数据包较大,写入对带宽的要求较高,故可增加存储节点的级别,减少较高级别存储节点的分支数目,以增加每个存储节点的写入带宽,相应地,如果写入数据包较小,写入对带宽的要求较低,可以减少存储节点的级别,以较少写入延时。

第二调整子步骤,如果将待写入数据写入存储节点集中的存储节点的写入延时大于预定延时阈值,则调整减少存储节点集中存储节点的级别数。

第三调整子步骤,如果写入待写入数据的最小写入带宽小于预定带宽,则调整增加存储节点集中存储节点的级别数。

在实际需要中,如果对写入延时要求较高,可忽略带宽要求,较少存储节点的级别数目,以减少写入延时。如果对写入带宽有特定要求,则可在某一存储节点具有的最小带宽不满足传输要求时,增加存储节点的级别,增大相应存储节点的网络带宽。

此外,可以理解,本发明各实施方式中的写入带宽是指在将待写入数据写入存储节点集中的各存储节点中时,各存储节点接收写入数据所具有的网络带宽。而最小写入带宽是指在将待写入数据写入存储节点集中的各存储节点中时,各存储节点接收写入数据所具有的网络带宽中的最小网络带宽。

本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmablearraylogic,简称“pal”)、随机存取存储器(randomaccessmemory,简称“ram”)、可编程只读存储器(programmablereadonlymemory,简称“prom”)、只读存储器(read-onlymemory,简称“rom”)、电可擦除可编程只读存储器(electricallyerasableprogrammablerom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digitalversatiledisc,简称“dvd”)等等。

本发明第三实施方式涉及一种在分布式存储系统中写入多个数据副本的装置。图4是该装置的结构示意图。

具体地,如图4所示,该装置包括:

设置单元,用于设置存储节点间的传输关系,以得到副本的存储节点信息。其中,存储节点信息为表示存储节点集中各存储节点间的传输关系的信息。

获取单元,用于获取待写入数据和与该待写入数据相对应的存储节点信息。

写入单元,用于根据获取的存储节点信息,将待写入数据写入由多个存储节点组成的存储节点集中以存储待写入数据的多个副本。存储节点集包括至少两个级别的存储节点,至少两个级别的存储节点包括至少一个一级存储节点和至少两个由该一级存储节点传输待写入数据的二级存储节点。

此外,在一实施例中,上述设置单元包括以下子单元:

设置子单元,用于根据存储节点的带宽和在将待写入数据写入存储节点中时单次写入的数据包的大小,设置存储节点间的传输关系。

第一调整子单元,用于在单次写入的数据包的大小大于预定大小阈值时调整增加存储节点集中存储节点的级别数。其中,每个存储节点的带宽相同。

第二调整子步骤,用于在将待写入数据写入存储节点集中的存储节点的写入延时大于预定延时阈值时调整减少存储节点集中存储节点的级别数。

第三调整子单元,用于在写入待写入数据的最小写入带宽小于预定带宽时调整增加存储节点集中存储节点的级别数。

能够根据实际需求调节将副本写入分布式存储系统时所需的网络带宽或者传输延时,有效解决多副本写入分布式存储系统时,存储网络带宽不足或者网络传输延时过高的问题。

第一和第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一和第二实施方式互相配合实施。第一和第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一和第二实施方式中。

本发明的第五实施方式公开了一种分布式存储系统,该分布式存储系统包括第四实施方式所描述的在分布式存储系统中写入多个数据副本的装置。

本发明的第五实施方式公开了一种分布式存储系统,该系统包括由多个用于存储待写入数据的副本的存储节点组成的存储节点集,其中,存储节点集包括至少两个级别的存储节点,至少两个级别的存储节点包括至少一个一级存储节点和至少两个由该一级存储节点传输待写入数据的二级存储节点。

可以理解,本实施方式中的分布式存储系统可以是第一至第四实施方式中所涉及的分布式存储系统。本实施方式可与第一至第四实施方式互通技术细节,在此不做限制。

需要说明的是,本发明各设备实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。

需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1