副本数据的存储方法及装置的制造方法

文档序号:9810212阅读:419来源:国知局
副本数据的存储方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种副本数据的存储方法及装置。
【背景技术】
[0002]随着互联网技术的发展,实现可靠的海量数据存储变为一个巨大的挑战。现有技术方案一般采用分布式数据存储系统来存储数据,分布式数据存储系统就是将数据分散存储在多台独立的设备上,为具有很多数据节点的集群系统,也就是说,针对一份数据,一般备份三个副本,将数据的三个副本分别存储在三个数据节点中,从而在三个不同位置分别对数据进行存储以提高数据存储的可靠性。然而,针对一份数据,存储三个副本,将会占用大量的存储空间,对于存储空间固定的分布式数据存储系统而言,这明显限制了存储数据的数量。
[0003]然而,基于这种分布式数据存储系统的存储成本过高。由于数据被存储在三个不同的位置,所以冗余数据占用了大约66.7%的存储空间。随着存储数据量的增加,将会造成严重的存储空间冗余。对于存储空间固定的分布式数据存储系统,这将严重减少数据量的存储,增加存储成本。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的副本数据的存储方法和相应的副本数据的存储装置。
[0005]根据本发明的一个方面,提供了一种副本数据的存储方法,应用于包括多个数据节点的数据存储系统,该方法包括:
[0006]将一份副本数据划分为η个数据分片,η为自然数;
[0007]利用η个数据分片计算得到m个校验数据分片,m为自然数,进而得到n+m个待存储的数据分片,其中,n+m个待存储的数据分片中至少包含一个数据分片群组,根据数据分片群组中的一部分数据分片能够恢复得到数据分片群组中的剩余部分数据分片;
[0008]将n+m个待存储的数据分片分别存储于多个数据节点上,其中,数据分片群组的一部分数据分片与剩余部分数据分片存储在不同的数据节点中。
[0009]根据本发明的另一方面,提供了一种副本数据的存储装置,应用于包括多个数据节点的数据存储系统,该装置包括:
[0010]划分模块,适于将一份副本数据划分为η个数据分片,η为自然数;
[0011 ]计算模块,适于利用η个数据分片计算得到m个校验数据分片,!11为自然数,进而得至IJn+m个待存储的数据分片,其中,n+m个待存储的数据分片中至少包含一个数据分片群组,根据数据分片群组中的一部分数据分片能够恢复得到数据分片群组中的剩余部分数据分片;
[0012]存储模块,适于将n+m个待存储的数据分片分别存储于多个数据节点上,其中,数据分片群组的一部分数据分片与剩余部分数据分片存储在不同的数据节点中。
[0013]根据本发明提供的方案,将一份副本数据划分为η个数据分片,利用η个数据分片计算得到m个校验数据分片,进而得到n+m个待存储的数据分片,其中,n+m个待存储的数据分片中至少包含一个数据分片群组,根据数据分片群组中的一部分数据分片能够恢复得到数据分片群组中的剩余部分数据分片,将n+m个待存储的数据分片分别存储于多个数据节点上,其中,数据分片群组的一部分数据分片与剩余部分数据分片存储在不同的数据节点中,从而仅需要存储n+m个待存储的数据分片,即存储一份副本数据和m个校验数据分片,便可实现现有技术方案中,针对一份数据,存储N份副本数据所能实现的高可用性,节省了存储空间,降低了存储成本,同时还提升了存储的数据量。
[0014]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0015]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0016]图1示出了根据本发明一个实施例的副本数据的存储方法的流程示意图;
[0017]图2示出了根据本发明另一个实施例的副本数据的存储方法的流程示意图;
[0018]图3示出了根据本发明一个实施例的副本数据的存储装置的功能框图;
[0019]图4示出了根据本发明一个实施例的副本数据的存储装置的功能框图。
【具体实施方式】
[0020]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0021]图1示出了根据本发明一个实施例的副本数据的存储方法的流程示意图。如图1所示,该方法应用于包括多个数据节点的数据存储系统,包括以下步骤:
[0022]步骤SlOO,将一份副本数据划分为η个数据分片,η为自然数。
[0023]在本发明实施例中,可以随机的将一份副本数据划分为η个数据分片,S卩,每个数据分片的数据量也是随机分配的;还可以根据副本数据的数据量将一份副本数据等量划分为η个数据分片,也就是说,η个数据分片的数据量都相等。
[0024]步骤SlOl,利用η个数据分片计算得到m个校验数据分片,m为自然数,进而得到n+m个待存储的数据分片,其中,n+m个待存储的数据分片中至少包含一个数据分片群组,根据数据分片群组中的一部分数据分片能够恢复得到数据分片群组中的剩余部分数据分片。
[0025]举例说明,可以将一份副本数据划分为6个数据分片,分别编号为1、2、3、4、5、6,利用6个数据分片计算得到3个校验数据分片,分别编号为7、8、9,得到9个待存储的数据分片,其中,这9个待存储的数据分片至少包含一个数据分片群组,例如,利用6个数据分片1、2、3、
4、5、6计算得到3个校验数据分片7、8、9,9个待存储的数据分片包含一个数据分片群组,也就是说9个待存储的数据分片为一个数据分片群组;还利用数据分片1、4计算得到7校验数据分片,利用数据分片2、5计算得到8校验数据分片,利用数据分片3、6计算得到9校验数据分片,9个待存储的数据分片包含三个数据分片群组,也就是说,数据分片1、4和校验数据分片7是一个数据分片群组,数据分片2、5和校验数据分片8是一个数据分片群组,数据分片3、6和校验数据分片9是一个数据分片群组。
[0026]根据数据分片群组中的一部分数据分片能够恢复得到数据分片群组中的剩余部分数据分片,指当数据分片1、4和校验数据分片7这个数据分片群组中的数据分片I丢失后,可以根据数据分片4和校验数据分片7恢复得到数据分片I。
[0027]步骤S102,将n+m个待存储的数据分片分别存储于多个数据节点上,其中,数据分片群组的一部分数据分片与剩余部分数据分片存储在不同的数据节点中。
[0028]在根据步骤SlOl得到n+m个待存储的数据分片,将这n+m个待存储的数据分片分别存储于分布式数据存储系统的多个数据节点上,而且需要将数据分片群组内的数据分片存储在不同的数据节点中,这里将数据分片群组内的数据分片存储在不同的数据节点中主要是为了避免若将一个数据分片群组都存储到一个数据节点中,当该数据节点宕机时,该数据节点中的数据将无法使用,而该数据分片群组由于都存储到一个数据节点中,也就导致数据无法再恢复。
[0029]这里,以步骤SlOl中得到的9个待存储的数据分片,这9个待存储的数据分片包含3个数据分片群组为例,将这3个数据分片群组存储到3个数据节点中,分别编号为数据节点
1、2、3,在步骤SlOl中说明了:数据分片1、4和校验数据分片7是一个数据分片群组,数据分片2、5和校验数据分片8是一个数据分片群组,数据分片3、6和校验数据分片9是一个数据分片群组,因此,在存储时,可以将数据分片1、2、3存储到数据节点I中,数据分片4、5、6存储到数据节点2中,数据分片7、8、9存储到数据节点3中,从而将同一个数据分片群组内的数据分片分别存储到不同的数据节点中。
[0030]根据本发明上述实施例提供的方法,将一份副本数据划分为η个数据分片,利用η个数据分片计算得到m个校验数据分片,进而得到n+m个待存储的数据分片,其中,n+m个待存储的数据分片中至少包含一个数据分片群组,根据数据分片群组中的一部分数据分片能够恢复得到数据分片群组中的剩余部分数据分片,将n+m个待存储的数据分片分别存储于多个数据节点上,其中,数据分片群组的一部分数据分片与剩余部分数据分片存储在不同的数据节点中,从而仅需要存储n+m个待存储的数据分片,即存储一份副本数据和m个校验数据分片
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1