一种数据分散存储方法和系统与流程

文档序号:27907157发布日期:2021-12-11 05:45阅读:76来源:国知局
一种数据分散存储方法和系统与流程

1.本发明涉及数据存储技术领域,具体是涉及一种数据分散存储方法和系统。


背景技术:

2.分散存储是指将数据分散存储在多个存储服务器上,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器容易成为系统性能的瓶颈,也是数据可靠性和安全性的焦点,当存储服务器遭受损坏时,数据都会遭到损坏甚至丢失;而分散存储系统能够利用多台存储服务器分担存储负荷,大幅度提高了系统的可靠性、可用性和存取效率,当一台存储服务器遭受损坏时,只有该台存储服务器上的数据遭到损坏,对整体的影响相对较小,安全性更高,且分散存储系统具有更好的拓展性。
3.但是,当一台存储服务器遭受损坏时,仍然会造成数据的损坏和丢失,影响整个存储系统的完整性,因此,需要提供一种数据分散存储方法和系统,旨在解决上述问题。


技术实现要素:

4.针对现有技术存在的不足,本发明的目的在于提供一种数据分散存储方法和系统,以解决上述背景技术中存在的问题。
5.本发明是这样实现的,一种数据分散存储方法,所述方法包括以下步骤:对存储数据进行备份形成原始存储数据和备份存储数据;将同一份数据的原始存储数据和备份存储数据存储到不同的存储服务器中;对数据存储路径进行记录并保存;当需要拓展存储空间时,增加新的存储服务器,将原来的存储服务器中的部分数据迁移到新的存储服务器中,迁移到新的存储服务器中的数据不包括同一份数据的原始存储数据和备份存储数据;对数据迁移路径进行记录并保存。
6.作为本发明进一步的方案:所述将同一份数据的原始存储数据和备份存储数据存储到不同的存储服务器中的步骤,具体包括:对所有的存储服务器的剩余存储空间进行读取,得到服务器剩余空间值;对服务器剩余空间值进行降序排序,将排序前两位的服务器剩余空间值所对应的存储服务器标记为第一存储服务器和第二存储服务器;将原始存储数据和备份存储数据分别存储到第一存储服务器和第二存储服务器中。
7.作为本发明进一步的方案:所述将原来的存储服务器中的部分数据迁移到新的存储服务器中的步骤,具体包括:对原来的服务器剩余空间值进行求和得到原本剩余存储空间值;对新的存储服务器的存储空间进行读取,得到服务器拓展空间值;将原本剩余存储空间值与服务器拓展空间值进行求和得到剩余存储总空间值;
根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中,以使得每个存储服务器的服务器剩余空间值相当。
8.作为本发明进一步的方案:所述根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中的步骤,具体包括:将剩余存储总空间值除以存储服务器的总数量得到每台存储服务器的理论剩余空间值;将原来的每个服务器剩余空间值与理论剩余空间值进行差值计算得到待迁移数据量,提取出与待迁移数据量大小相当的待迁移数据;对所有的待迁移数据进行汇总得到整体迁移数据,将整体迁移数据迁移到新的存储服务器中。
9.作为本发明进一步的方案:所述对所有的待迁移数据进行汇总得到整体迁移数据的步骤,具体包括:对所有的待迁移数据进行汇总得到汇总数据;对汇总数据进行检验,判定汇总数据中是否存在同一份数据的原始存储数据和备份存储数据;当汇总数据中存在同一份数据的原始存储数据和备份存储数据时,将所述原始存储数据存储到原来的存储服务器中,并从原来的存储服务器中提取出与所述原始存储数据大小相当的其它数据,将所述其它数据添加至汇总数据中得到整体迁移数据;当汇总数据中不存在同一份数据的原始存储数据和备份存储数据时,所述汇总数据即为整体迁移数据。
10.作为本发明进一步的方案:所述将整体迁移数据迁移到新的存储服务器中的步骤,具体包括:对每个新的存储服务器的空间大小与理论剩余空间值进行差值计算得到待迁入数据量;从整体迁移数据中提取出与待迁入数据量大小相当的数据,并将提取出的数据存储到新的存储服务器中。
11.本发明的另一目的在于提供一种数据分散存储系统,所述系统包括:数据备份模块,用于对存储数据进行备份形成原始存储数据和备份存储数据;数据存储模块,用于将同一份数据的原始存储数据和备份存储数据存储到不同的存储服务器中;存储路径记录模块,用于对数据存储路径进行记录并保存;数据迁移模块,当需要拓展存储空间时,增加新的存储服务器,将原来的存储服务器中的部分数据迁移到新的存储服务器中,迁移到新的存储服务器中的数据不包括同一份数据的原始存储数据和备份存储数据;以及迁移路径记录模块,用于对数据迁移路径进行记录并保存。
12.作为本发明进一步的方案:所述数据存储模块包括:剩余存储空间读取单元,用于对所有的存储服务器的剩余存储空间进行读取,得到服务器剩余空间值;剩余空间值排序单元,用于对服务器剩余空间值进行降序排序,将排序前两位的
服务器剩余空间值所对应的存储服务器标记为第一存储服务器和第二存储服务器;以及数据存储单元,用于将原始存储数据和备份存储数据分别存储到第一存储服务器和第二存储服务器中。
13.作为本发明进一步的方案:所述数据迁移模块包括:空间值求和单元,用于对原来的服务器剩余空间值进行求和得到原本剩余存储空间值;拓展空间值读取单元,用于对新的存储服务器的存储空间进行读取,得到服务器拓展空间值;总空间值计算单元,用于将原本剩余存储空间值与服务器拓展空间值进行求和得到剩余存储总空间值;以及数据迁移单元,用于根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中,以使得每个存储服务器的服务器剩余空间值相当。
14.作为本发明进一步的方案:所述数据迁移单元包括:理论剩余空间值计算子单元,用于将剩余存储总空间值除以存储服务器的总数量得到每台存储服务器的理论剩余空间值;待迁移数据提取子单元,用于将原来的每个服务器剩余空间值与理论剩余空间值进行差值计算得到待迁移数据量,提取出与待迁移数据量大小相当的待迁移数据;以及整体迁移数据子单元,用于对所有的待迁移数据进行汇总得到整体迁移数据,将整体迁移数据迁移到新的存储服务器中。
15.与现有技术相比,本发明的有益效果是:本发明通过对存储数据进行备份形成原始存储数据和备份存储数据,然后将原始存储数据和备份存储数据存储到不同的存储服务器中,这样即使某一台存储服务器遭受损坏,也有其它服务器中的数据可以替代使用,不影响数据的完整性;另外,当增加新的存储服务器时,本发明能够将原来的存储服务器中的部分数据迁移到新的存储服务器中,保证所有的存储服务器都有存储空间可以使用,进而保证数据能够分散存储到更多的服务器中,安全性更高。
附图说明
16.图1为一种数据分散存储方法的流程图。
17.图2为一种数据分散存储方法中将原始存储数据和备份存储数据存储到不同的存储服务器中的流程图。
18.图3为一种数据分散存储方法中将原来的存储服务器中的部分数据迁移到新的存储服务器中的流程图。
19.图4为一种数据分散存储方法中根据剩余存储总空间值对数据进行迁移的流程图。
20.图5为一种数据分散存储方法中对所有的待迁移数据进行汇总得到整体迁移数据的流程图。
21.图6为一种数据分散存储方法中将整体迁移数据迁移到新的存储服务器中的流程图。
22.图7为一种数据分散存储系统的结构示意图。
23.图8为一种数据分散存储系统中数据存储模块的结构示意图。
24.图9为一种数据分散存储系统中数据存储模块的结构示意图。
25.图10为一种数据分散存储系统中数据迁移单元的结构示意图。
具体实施方式
26.为了使本发明的目的、技术方案及优点更加清晰,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
27.以下结合具体实施例对本发明的具体实现进行详细描述。
28.如图1所示,本发明实施例提供了一种数据分散存储方法,包括以下步骤:s100,对存储数据进行备份形成原始存储数据和备份存储数据;s200,将同一份数据的原始存储数据和备份存储数据存储到不同的存储服务器中;s300,对数据存储路径进行记录并保存;s400,当需要拓展存储空间时,增加新的存储服务器,将原来的存储服务器中的部分数据迁移到新的存储服务器中,迁移到新的存储服务器中的数据不包括同一份数据的原始存储数据和备份存储数据;s500,对数据迁移路径进行记录并保存。
29.本发明实施例中,分散存储是指将数据分散存储在多个存储服务器上,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是数据可靠性和安全性的焦点,当存储服务器遭受损坏时,数据都会遭到损坏甚至丢失;而分散存储系统能够利用多台存储服务器分担存储负荷,大幅度提高了系统的可靠性、可用性和存取效率,当一台存储服务器遭受损坏时,只有该台存储服务器上的数据遭到损坏,安全性更高,此外,分散存储系统还易于扩展。
30.本发明实施例中,为了保证一台存储服务器遭受损坏时,不影响整个存储系统的完整性,首先对存储数据进行备份形成原始存储数据和备份存储数据,然后将原始存储数据和备份存储数据存储到不同的存储服务器中,这样的话,就算某一台存储服务器遭受损坏,也有其它服务器中的数据可以使用,不影响数据的完整性;此外,当需要拓展存储空间时,就会增加新的存储服务器,此时需要将原来的存储服务器中的部分数据迁移到新的存储服务器中,这样就可以避免原来的存储服务器因为没有存储空间不能存储数据,保证所有的存储服务器都可以正常使用,进而能够保证原始存储数据和备份存储数据存储到不同的存储服务器中,需要注意的是,迁移到新的存储服务器中的数据不包括同一份数据的原始存储数据和备份存储数据,避免新的存储服务器遭受损坏时,数据缺乏完整性,可以理解的是,需要对数据存储路径进行记录并保存,也需要对数据迁移路径进行记录并保存,方便后续对数据进行查找和读取。
31.如图2所示,作为本发明一个优选的实施例,所述将同一份数据的原始存储数据和备份存储数据存储到不同的存储服务器中的步骤,具体包括:s201,对所有的存储服务器的剩余存储空间进行读取,得到服务器剩余空间值;
s202,对服务器剩余空间值进行降序排序,将排序前两位的服务器剩余空间值所对应的存储服务器标记为第一存储服务器和第二存储服务器;s203,将原始存储数据和备份存储数据分别存储到第一存储服务器和第二存储服务器中。
32.本发明实施例中,为了尽可能使用全部的存储服务器,且尽可能让每个存储服务器的剩余存储空间相等,需要对所有的存储服务器的剩余存储空间进行读取,得到服务器剩余空间值,然后对服务器剩余空间值进行降序排序,将排序第一位和第二位的服务器剩余空间值所对应的存储服务器标记为第一存储服务器和第二存储服务器,最后将原始存储数据和备份存储数据分别存储到第一存储服务器和第二存储服务器中,例如有10个存储服务器,10个存储服务器的剩余存储空间分别为500tb、512tb、523tb、546tb、570tb、485b、498tb、432tb、496tb以及452tb,那么,此时第一存储服务器和第二存储服务器就是570tb和546tb所对应的存储服务器,可以理解的是,随着存储数据的不断变化,第一存储服务器和第二存储服务器也会发生变化,且所有存储服务器的剩余存储空间会趋于一致,保证每个存储服务器都能够被利用,数据存储更加分散、更加安全。
33.如图3所示,作为本发明一个优选的实施例,所述将原来的存储服务器中的部分数据迁移到新的存储服务器中的步骤,具体包括:s401,对原来的服务器剩余空间值进行求和得到原本剩余存储空间值;s402,对新的存储服务器的存储空间进行读取,得到服务器拓展空间值;s403,将原本剩余存储空间值与服务器拓展空间值进行求和得到剩余存储总空间值;s404,根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中,以使得每个存储服务器的服务器剩余空间值相当。
34.本发明实施例中,当增加新的存储服务器时,需要将原来的存储服务器中的部分数据迁移到新的存储服务器中,如果不将部分数据迁移到新的存储服务器中,那么新的存储服务器的剩余存储空间基本是最大的,这样,数据大都会存储到新的存储服务器中,原来的存储服务器的利用率变低,数据存储不够分散、不够安全;因此需要对原来的服务器剩余空间值进行求和得到原本剩余存储空间值,并对新的存储服务器的存储空间进行读取,得到服务器拓展空间值,然后将原本剩余存储空间值与服务器拓展空间值进行求和得到剩余存储总空间值,最后根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中,以使得每个存储服务器的服务器剩余空间值相当。
35.如图4所示,作为本发明一个优选的实施例,所述根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中的步骤,具体包括:s4041,将剩余存储总空间值除以存储服务器的总数量得到每台存储服务器的理论剩余空间值;s4042,将原来的每个服务器剩余空间值与理论剩余空间值进行差值计算得到待迁移数据量,提取出与待迁移数据量大小相当的待迁移数据;s4043,对所有的待迁移数据进行汇总得到整体迁移数据,将整体迁移数据迁移到新的存储服务器中。
36.本发明实施例中,例如剩余存储总空间值为7000tb,存储服务器的总数量为12台
(其中10台是原本的存储服务器,2台是拓展的存储服务器),则理论剩余空间值为583.33tb,然后将原来的每个服务器剩余空间值与理论剩余空间值进行差值计算得到待迁移数据量,提取与待迁移数据量大小相当的待迁移数据,需要注意的是,提取出的每份数据是完整的,在保证数据完整性的前提下,提取出的数据大小与待迁移数据量大小相接近即可,最后对所有的待迁移数据进行汇总得到整体迁移数据,将整体迁移数据迁移到新的存储服务器中。
37.如图5所示,作为本发明一个优选的实施例,所述对所有的待迁移数据进行汇总得到整体迁移数据的步骤,具体包括:s40431,对所有的待迁移数据进行汇总得到汇总数据;s40432,对汇总数据进行检验,判定汇总数据中是否存在同一份数据的原始存储数据和备份存储数据;s40433,当汇总数据中存在同一份数据的原始存储数据和备份存储数据时,将所述原始存储数据存储到原来的存储服务器中,并从原来的存储服务器中提取出与所述原始存储数据大小相当的其它数据,将所述其它数据添加至汇总数据中得到整体迁移数据;s40434,当汇总数据中不存在同一份数据的原始存储数据和备份存储数据时,所述汇总数据即为整体迁移数据。
38.本发明实施例中,需要注意的是,整体迁移数据中不能够包括同一份数据的原始存储数据和备份存储数据,因此需要对汇总数据进行检验,当汇总数据中存在同一份数据的原始存储数据和备份存储数据时,将所述原始存储数据存储到原来的存储服务器中,并从原来的存储服务器中提取出与所述原始存储数据大小相当的其它数据,将所述其它数据添加至汇总数据中得到整体迁移数据。
39.如图6所示,作为本发明一个优选的实施例,所述将整体迁移数据迁移到新的存储服务器中的步骤,具体包括:s40435,对每个新的存储服务器的空间大小与理论剩余空间值进行差值计算得到待迁入数据量;s40436,从整体迁移数据中提取出与待迁入数据量大小相当的数据,并将提取出的数据存储到新的存储服务器中。
40.本发明实施例中,需要说明的是,对于新的存储服务器,迁入数据之后,应该保证新的存储服务器的剩余空间值与理论剩余空间值相当,因此,需要对每个新的存储服务器的空间大小与理论剩余空间值进行差值计算得到待迁入数据量;然后从整体迁移数据中提取出与待迁入数据量大小相当的数据,并将提取出的数据存储到新的存储服务器中,最后的结果是:整体迁移数据全部存储到新的存储服务器中,且所有存储服务器的剩余空间值相当。
41.如图7所示,本发明实施例还提供了一种数据分散存储系统,所述系统包括:数据备份模块100,用于对存储数据进行备份形成原始存储数据和备份存储数据;数据存储模块200,用于将同一份数据的原始存储数据和备份存储数据存储到不同的存储服务器中;存储路径记录模块300,用于对数据存储路径进行记录并保存;数据迁移模块400,当需要拓展存储空间时,增加新的存储服务器,将原来的存储
服务器中的部分数据迁移到新的存储服务器中,迁移到新的存储服务器中的数据不包括同一份数据的原始存储数据和备份存储数据;以及迁移路径记录模块500,用于对数据迁移路径进行记录并保存。
42.本发明实施例中,为了保证一台存储服务器遭受损坏时,不影响整个存储系统的完整性,首先对存储数据进行备份形成原始存储数据和备份存储数据,然后将原始存储数据和备份存储数据存储到不同的存储服务器中,这样的话,就算某一台存储服务器遭受损坏,也有其它服务器中的数据可以使用,不影响数据的完整性;此外,当需要拓展存储空间时,就会增加新的存储服务器,此时需要将原来的存储服务器中的部分数据迁移到新的存储服务器中,这样就可以避免原来的存储服务器因为没有存储空间不能存储数据,保证所有的存储服务器都可以正常使用,进而能够保证原始存储数据和备份存储数据存储到不同的存储服务器中,需要注意的是,迁移到新的存储服务器中的数据不包括同一份数据的原始存储数据和备份存储数据,避免新的存储服务器遭受损坏时,数据缺乏完整性,可以理解的是,需要对数据存储路径进行记录并保存,也需要对数据迁移路径进行记录并保存,方便后续对数据进行查找和读取。
43.如图8所示,作为本发明一个优选的实施例,所述数据存储模块200包括:剩余存储空间读取单元201,用于对所有的存储服务器的剩余存储空间进行读取,得到服务器剩余空间值;剩余空间值排序单元202,用于对服务器剩余空间值进行降序排序,将排序前两位的服务器剩余空间值所对应的存储服务器标记为第一存储服务器和第二存储服务器;以及数据存储单元203,用于将原始存储数据和备份存储数据分别存储到第一存储服务器和第二存储服务器中。
44.本发明实施例中,为了尽可能使用全部的存储服务器,且尽可能让每个存储服务器的剩余存储空间相等,需要对所有的存储服务器的剩余存储空间进行读取,得到服务器剩余空间值,然后对服务器剩余空间值进行降序排序,将排序前两位的服务器剩余空间值所对应的存储服务器标记为第一存储服务器和第二存储服务器,最后将原始存储数据和备份存储数据分别存储到第一存储服务器和第二存储服务器中,例如有10个存储服务器,10个存储服务器的剩余存储空间分别为500tb、512tb、523tb、546tb、570tb、485b、498tb、432tb、496tb以及452tb,那么,此时第一存储服务器和第二存储服务器就是570tb和546tb所对应的存储服务器,可以理解的是,随着存储数据的不断变化,第一存储服务器和第二存储服务器也会发生变化,且所有存储服务器的剩余存储空间会趋于一致,保证每个存储服务器都能够被利用,数据存储更加分散、更加安全。
45.如图9所示,作为本发明一个优选的实施例,所述数据迁移模块400包括:空间值求和单元401,用于对原来的服务器剩余空间值进行求和得到原本剩余存储空间值;拓展空间值读取单元402,用于对新的存储服务器的存储空间进行读取,得到服务器拓展空间值;总空间值计算单元403,用于将原本剩余存储空间值与服务器拓展空间值进行求和得到剩余存储总空间值;以及数据迁移单元404,用于根据剩余存储总空间值将原来的存储服务器中的部分数
据迁移到新的存储服务器中,以使得每个存储服务器的服务器剩余空间值相当。
46.本发明实施例中,当增加新的存储服务器时,需要将原来的存储服务器中的部分数据迁移到新的存储服务器中,如果不将部分数据迁移到新的存储服务器中,那么新的存储服务器的剩余存储空间基本是最大的,这样,数据大都会存储到新的存储服务器中,原来的存储服务器的利用率变低,数据存储不够分散、不够安全;因此需要将对原来的服务器剩余空间值进行求和得到原本剩余存储空间值,并对新的存储服务器的存储空间进行读取,得到服务器拓展空间值,然后将原本剩余存储空间值与服务器拓展空间值进行求和得到剩余存储总空间值,最后根据剩余存储总空间值将原来的存储服务器中的部分数据迁移到新的存储服务器中,以使得每个存储服务器的服务器剩余空间值相当。
47.如图10所示,作为本发明一个优选的实施例,所述数据迁移单元404包括:理论剩余空间值计算子单元4041,用于将剩余存储总空间值除以存储服务器的总数量得到每台存储服务器的理论剩余空间值;待迁移数据提取子单元4042,用于将原来的每个服务器剩余空间值与理论剩余空间值进行差值计算得到待迁移数据量,提取出与待迁移数据量大小相当的待迁移数据;以及整体迁移数据子单元4043,用于对所有的待迁移数据进行汇总得到整体迁移数据,将整体迁移数据迁移到新的存储服务器中。
48.本发明实施例中,例如剩余存储总空间值为7000tb,存储服务器的总数量为12台(其中10台是原本的存储服务器,2台是拓展的存储服务器),则理论剩余空间值为583.33tb,然后将原来的每个服务器剩余空间值与理论剩余空间值进行差值计算得到待迁移数据量,提取与待迁移数据量大小相当的待迁移数据,需要注意的是,提取出的每份数据是完整的,在保证数据完整性的前提下,提取出的数据大小与待迁移数据量大小相接近即可,最后对所有的待迁移数据进行汇总得到整体迁移数据,将整体迁移数据迁移到新的存储服务器中。
49.以上仅对本发明的较佳实施例进行了详细叙述,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
50.应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
51.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编
程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
52.本领域技术人员在考虑说明书及实施例处的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1