一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

集群间数据迁移的方法、装置、存储介质以及电子设备与流程

2022-11-30 15:49:39 来源:中国专利 TAG:


1.本发明涉及计算机领域,具体而言,涉及一种集群间数据迁移的方法、装置、存储介质以及电子设备。


背景技术:

2.现有技术中,在集群之间迁移数据的时候,可以通过分布式引擎(elasticsearch,es)提供的reindex进行跨集群的方式迁移,或者通过写程序,调用reindex进行迁移。
3.然而,上述方法往往迁移的速度很慢,而且当一个索引的reindex失败了,需要重头开始迁移该索引。


技术实现要素:

4.本发明实施例提供了一种集群间数据迁移的方法、装置、存储介质以及电子设备,以至少解决集群间迁移数据效率低的技术问题。
5.根据本发明实施例的一个方面,提供了一种集群间数据迁移的方法,包括:查找第一集群中待迁移数据的第一索引;查找上述第一索引的主分片;对上述主分片和上述主分片对应的存储路径下的第一数据进行压缩,得到压缩数据;将上述压缩数据采用断点续传的方式传输给第二集群;对传输到上述第二集群的上述压缩数据进行解压缩,得到上述第一数据;将上述第一数据存储到上述第二集群中与上述主分片对应的存储路径下。
6.根据本发明实施例的另一方面,提供了一种集群间数据迁移的装置,包括:第一查找模块,用于查找第一集群中待迁移数据的第一索引;第二查找模块,用于查找上述第一索引的主分片;压缩模块,用于对上述主分片和上述主分片对应的存储路径下的第一数据进行压缩,得到压缩数据;传输模块,用于将上述压缩数据采用断点续传的方式传输给第二集群;解压缩模块,用于对传输到上述第二集群的上述压缩数据进行解压缩,得到上述第一数据;存储模块,用于将上述第一数据存储到上述第二集群中与上述主分片对应的存储路径下。
7.作为一种可选的示例,上述第一查找模块包括:调整单元,用于将上述待迁移数据的所有索引中,索引状态为关闭的索引的索引状态调整为打开,其中,所述索引状态为关闭的索引禁止读写;第一确定单元,用于将上述所有索引中,每一个上述索引状态为打开的索引作为一个上述第一索引。
8.作为一种可选的示例,上述压缩模块包括:压缩单元,用于将每一个上述第一索引作为当前索引,将上述当前索引的主分片和上述当前索引的上述主分片对应的存储路径下的上述第一数据压缩为一个压缩数据包。
9.作为一种可选的示例,上述传输模块包括:第二确定单元,用于确定上述压缩数据在上述第一集群中所在的第一集群服务器;映射单元,用于在上述第二集群中确定与上述第一集群服务器映射的第二集群服务器;迁移单元,用于将上述压缩数据从上述第一集群服务器迁移到上述第二集群服务器。
10.作为一种可选的示例,上述映射单元包括:映射子单元,用于为每一个第一集群服务器在所述第二集群中确定出一个集群服务器作为所述第二集群服务器;或者在所述第二集群中确定出1个集群服务器作为所述第二集群服务器。
11.作为一种可选的示例,上述传输模块包括:传输单元,用于将所述压缩数据划分为多个部分;将所述多个部分中的每一个部分按照顺序传输到所述第二集群中;在所述压缩数据中的当前部分传输失败的情况下,在再次传输所述压缩数据时,从所述压缩数据的当前部分,继续向所述第二集群传输所述压缩数据。
12.作为一种可选的示例,上述装置还包括:处理模块,用于在将上述待迁移数据存储到上述第二集群中与上述主分片对应的存储路径下之后,删除上述主分片的状态目录;在删除所述状态目录成功的情况下,调用加载接口将所述第一索引刷新到所述第二集群中。
13.根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述集群间数据迁移的方法。
14.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的集群间数据迁移的方法。
15.在本发明实施例中,采用了查找第一集群中待迁移数据的第一索引;查找上述第一索引的主分片;对上述主分片和上述主分片对应的存储路径下的第一数据进行压缩,得到压缩数据;将上述压缩数据采用断点续传的方式传输给第二集群;对传输到上述第二集群的上述压缩数据进行解压缩,得到上述第一数据;将上述第一数据存储到上述第二集群中与上述主分片对应的存储路径下的方法,由于在上述方法中,在迁移待迁移数据时,先查找第一索引的主分片,从而降低了传输数据的数据量,然后,对主分片和对应路径下的第一数据进行压缩,从而进一步降低了传输数据的数据量,最后,采用断点续传的方式传输压缩后的数据,从而避免了数据传输中断时需要重新传输数据的情况,从而实现了提高集群间迁移数据的效率的目的,进而解决了集群间迁移数据效率低的技术问题。
附图说明
16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
17.图1是根据本发明实施例的一种可选的集群间数据迁移的方法的流程图;
18.图2是根据本发明实施例的一种可选的集群间数据迁移的系统示意图;
19.图3是根据本发明实施例的一种可选的集群间数据迁移的装置的结构示意图;
20.图4是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
22.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.根据本发明实施例的第一方面,提供了一种集群间数据迁移的方法,可选地,如图1所示,上述方法包括:
24.s102,查找第一集群中待迁移数据的第一索引;
25.s104,查找所述第一索引的主分片;
26.s106,对所述主分片和所述主分片对应的存储路径下的第一数据进行压缩,得到压缩数据;
27.s108,将所述压缩数据采用断点续传的方式传输给第二集群;
28.s110,对传输到所述第二集群的所述压缩数据进行解压缩,得到所述第一数据与所述主分片;
29.s112,将所述第一数据存储到所述第二集群中与所述主分片对应的存储路径下。
30.可选的,本实施例中的第一索引可以为对待迁移数据的某一列或多列的值进行排序的存储结构。第一索引可以包括对应待迁移数据在第一集群中的存储地址。通过第一索引的存储地址,可以查找到对应的待迁移数据。
31.第一索引可以有不同的分片,分片可以包括主分片和副本分片。主分片和副本分片中的内容是相同的。找到第一索引的主分片,按照主分片的存储路径查找主分片下的第一数据,并压缩主分片和第一数据,得到压缩数据。
32.本实施例中采用的断点续传的方式,可以在传输压缩数据的过程中,如果压缩数据传输失败,则记录下传输失败的数据节点。在再次传输压缩数据时,从中断的数据节点继续传输压缩数据,无需重复传输压缩数据中已经传输成功的部分。
33.本实施例中,上述待迁移数据可以为第一集群中的部分数据或者全部数据,可以指定所要迁移的待迁移数据。在确定待迁移数据之后,可以查找待迁移数据的第一索引,并查找第一索引的分片。第一索引可以包括主分片和副本分片。在迁移数据时,查找第一索引的主分片。在查找到主分片的情况下,对主分片和对应路径下的第一数据进行压缩,得到压缩数据。压缩数据的体积更小,更方便传输。当压缩数据从第一集群传输到第二集群中之后,在第二集群中对压缩数据进行解压缩,得到第一数据与主分片。按照主分片的存储路径将第一数据存储在第二集群中。
34.由于在上述方法中,在迁移待迁移数据时,先查找第一索引的主分片,从而降低了传输数据的数据量,然后,对主分片和对应路径下的第一数据进行压缩,从而进一步降低了传输数据的数据量,最后,采用断点续传的方式传输压缩后的数据,从而避免了数据传输中断时需要重新传输数据的情况,从而实现了提高集群间迁移数据的效率的目的。
35.作为一种可选的示例,所述查找第一集群中待迁移数据的第一索引包括:将所述待迁移数据的所有索引中,索引状态为关闭的索引的索引状态调整为打开,其中,所述索引
状态为关闭的索引禁止读写;将所述所有索引中,每一个所述索引状态为打开的索引作为一个所述第一索引。
36.可选的,本实施例中,待迁移数据的所有索引中,索引的索引状态可能不同。索引状态包含了多种,如包含打开open状态,表示索引状态为打开,关闭close状态,表示索引状态为关闭,关闭状态的索引禁止被读写,打开状态的索引可以被读写。yellow,表示索引状态为异常,red,表示索引状态为故障,red的严重程度高于yellow。yellow和red状态的索引都不允许被读写。如果一个索引出现异常,则将该索引的状态置为yellow,如果一个索引的异常时间过长,则将索引状态调整为red。对于正常的索引,可以将索引状态至于close,对于将要被读写或者正在被读写的索引,索引状态置为open。对于不同索引状态的索引,将close状态的索引调整为open状态。然后,将待迁移数据的所有索引中,open状态的索引作为第一索引。本实施例可以去除异常状态索引的干扰,提高迁移数据的效率。
37.作为一种可选的示例,所述对所述主分片和所述主分片对应的存储路径下的第一数据进行压缩,得到压缩数据包括:将每一个所述第一索引作为当前索引,将所述当前索引的主分片和所述当前索引的所述主分片对应的存储路径下的所述第一数据压缩为一个压缩数据包。
38.可选的,本实施例中,在对数据进行迁移之前,在查找到待迁移数据的第一索引之后,查找第一索引的主分片,主分片对应的存储路径之下记录了第一数据。将每一个第一索引的主分片与第一数据压缩为一个压缩数据包,从而有几个第一索引,就得到几个压缩数据包。压缩数据包即为可以进行迁移的压缩数据。
39.作为一种可选的示例,所述将所述压缩数据采用断点续传的方式传输给第二集群包括:确定所述压缩数据在所述第一集群中所在的第一集群服务器;在所述第二集群中确定与所述第一集群服务器映射的第二集群服务器;将所述压缩数据从所述第一集群服务器迁移到所述第二集群服务器。
40.在迁移压缩数据时,将压缩数据从第一集群的第一集群服务器迁移到第二集群的第二集群服务器,在第一集群服务器与第二集群服务器之间建立映射关系,然后完成迁移。
41.作为一种可选的示例,所述在所述第二集群中确定与所述第一集群服务器映射的第二集群服务器包括:为每一个第一集群服务器在所述第二集群中确定出一个集群服务器作为所述第二集群服务器;或者在所述第二集群中确定出1个集群服务器作为所述第二集群服务器。
42.本实施例中,在将第一集群的第一集群服务器与第二集群的第二集群服务器之间进行映射时,可以根据集群服务器的数量进行灵活映射。如果第一集群服务器的数量与所述第二集群服务器的数量相同,则第一集群服务器与第二集群服务器可以一对一映射。如果第一集群服务器的数量大于所述第二集群服务器的数量,那么将第一集群服务器中的多个集群服务器与第二集群服务器中的一个集群服务器之间进行映射。如果第一集群服务器的数量小于所述第二集群服务器的数量,那么可以从第二集群服务器中选择出多台集群服务器,与第一集群服务器一对一映射。
43.作为一种可选的示例,所述将所述压缩数据采用断点续传的方式传输给第二集群包括:将所述压缩数据划分为多个部分;将所述多个部分中的每一个部分按照顺序传输到所述第二集群中;在所述压缩数据中的当前部分传输失败的情况下,在再次传输所述压缩
数据时,从所述压缩数据的当前部分,继续向所述第二集群传输所述压缩数据。
44.本实施例中,可以将压缩数据划分为多个部分,每一个部分可以使用一个线程传输到第二集群。传输时,在将压缩数据传输到第二集群时,如果由于网络等原因的抖动传输失败,则已经传输到第二集群的部分无需再次传输,再次传输时,从断点处继续将压缩数据中剩余未传输到第二集群的部分传输到第二集群中。
45.作为一种可选的示例,在将所述第一数据存储到所述第二集群中与所述主分片对应的存储路径下之后,所述方法还包括:删除所述主分片的状态目录;在删除所述状态目录成功的情况下,调用加载接口将所述第一索引刷新到所述第二集群中。
46.本实施例中,当压缩数据从第一集群迁移到第二集群之后,当第二集群对迁移数据进行解压缩得到第一数据和主分片之后,可以按照主分片将第一数据存储在第二集群中。存储第一数据之后,删除主分片的状态目录,删除主分片的状态目录如果成功,则将主分片对应的第一索引刷新到第二集群中。从而,第二集群可以通过第一索引查找存储到第二索引中的第一数据。
47.图2是本实施例的系统示意图。本实施例主要有由状态维护模块,检索模块,压缩模板,点对点互信传输模块,解压缩模块,索引加载模块组成。
48.状态维护模块:将要迁移的数据,找到对应的所有索引,将close的索引状态改成open。将迁移完的数据,根据迁移前的索引状态,如果需要更改索引状态,进行更改。
49.索引:索引是数据迁移的独立单元,维护着这类数据的状态。
50.索引状态:每个索引有open,close,red,yellow的状态,如果为close的时候,该模块需要将其打开,变成open状态。后续迁移的时候,只对open状态的索引进行数据迁移。open状态的索引即为第一索引。
51.检索模块:根据第一索引名找到该第一索引的每个分片在该集群中对应服务器的磁盘路径。每台服务器会有多块数据盘磁盘路径。
52.分片:一个索引由多个分片组成,分片数》=1,分片还分为主分片,和副本分片,这里需要将主分片找到,为后期迁移做好准备。
53.分片是存储在服务器某个磁盘路径下的一个文件目录,由索引文件,状态文件组成,索引文件用于存放索引的数据,状态文件表示索引的状态。每个服务器会挂载多块磁盘,所以需要找到该分片对应所在的磁盘及路径。
54.压缩模板:找到的主分片对应的磁盘路径的索引文件数据,也就是第一数据,进行压缩,得到压缩数据,减少文件大小和文件数量。
55.压缩:通过常见的压缩算法,可以将数据压缩到很小的体积,根据实际的压缩率,平均为56%,即压缩完后数据为原来的56%。如下表1。
56.表1
57.索引大小压缩后大小压缩率9.1g5.1g0.5610.2g5.7g0.565.4g3.1g0.5712.7g7.0g0.55
58.点对点互信传输模块:将原集群的服务器(第一集群服务器)与目标集群的服务器
(第二集群服务器)进行点对点互信设置,通过支持断点续传的文件传输方式,将原集群(第一集群)的数据同步到目标集群(第二集群)。
59.点对点:根据原集群和目标集群的服务器数量,进行1对1映射。如表2为映射的举例
60.表2
[0061][0062]
互信:搭建安全外壳协议(secure shell,ssh)互信,实现两个集群间可以互信传输数据。
[0063]
断点续传:由于待传数据较大,传输时间较长,为了防止传输所以传输方式需要支持断点续传,大大的节约了网络传输成本。
[0064]
传输速度在实际中的统计如表3,其中,文件传输速度是本实施例的传输速度,reindex是现有方案的速度.可以明显看到文件传输速度是reindex的100倍以上,可以充分的使用网络带宽。
[0065]
表3
[0066]
并发数文件传输速度reindex速度140mb/s0.83mb/s280mb/s1.66mb/s5190mb/s3.01mb/s20710mb/s5.41mb/s40950mb/s7.43mb/s
[0067]
解压缩模块:将传输到目标集群的索引进行解压缩,解压缩到与原索引文件对应的磁盘目录,并将索引的状态目录删除,便于后期能加载到新集群。解压缩:将传输过来的压缩文件解开还原。
[0068]
目录对应:为了数据分片的平衡,解压过来的分片与原始的分片对应起来,防止数据倾斜。
[0069]
状态目录:状态目录是记录索引的分片的一个状态情况的数据目录,对于新集群来说,有了状态目录就没法加入进来,只有删除了,才能正常的加入到新集群里。
[0070]
索引加载模块:将迁移完所有分片的索引,通过调用加载接口,刷新进新集群中。
[0071]
索引加载接口:为了不重启目前集群的服务,不影响对外服务,提供改接口用于加
载索引。
[0072]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0073]
根据本技术实施例的另一方面,还提供了一种集群间数据迁移的装置,如图3所示,包括:
[0074]
第一查找模块302,用于查找第一集群中待迁移数据的第一索引;
[0075]
第二查找模块304,用于查找第一索引的主分片;
[0076]
压缩模块306,用于对主分片和主分片对应的存储路径下的第一数据进行压缩,得到压缩数据;
[0077]
传输模块308,用于将压缩数据采用断点续传的方式传输给第二集群;
[0078]
解压缩模块310,用于对传输到第二集群的压缩数据进行解压缩,得到第一数据;
[0079]
存储模块312,用于将第一数据存储到第二集群中与主分片对应的存储路径下。
[0080]
可选的,本实施例中的第一索引可以为对待迁移数据的某一列或多列的值进行排序的存储结构。第一索引可以包括对应待迁移数据在第一集群中的存储地址。通过第一索引的存储地址,可以查找到对应的待迁移数据。
[0081]
第一索引可以有不同的分片,分片可以包括主分片和副本分片。主分片和副本分片中的内容是相同的。找到第一索引的主分片,按照主分片的存储路径查找主分片下的第一数据,并压缩主分片和第一数据,得到压缩数据。
[0082]
本实施例中采用的断点续传的方式,可以在传输压缩数据的过程中,如果压缩数据传输失败,则记录下传输失败的数据节点。在再次传输压缩数据时,从中断的数据节点继续传输压缩数据,无需重复传输压缩数据中已经传输成功的部分。
[0083]
本实施例中,上述待迁移数据可以为第一集群中的部分数据或者全部数据,可以指定所要迁移的待迁移数据。在确定待迁移数据之后,可以查找待迁移数据的第一索引,并查找第一索引的分片。第一索引可以包括主分片和副本分片。在迁移数据时,查找第一索引的主分片。在查找到主分片的情况下,对主分片和对应路径下的第一数据进行压缩,得到压缩数据。压缩数据的体积更小,更方便传输。当压缩数据从第一集群传输到第二集群中之后,在第二集群中对压缩数据进行解压缩,得到第一数据与主分片。按照主分片的存储路径将第一数据存储在第二集群中。
[0084]
由于在上述方法中,在迁移待迁移数据时,先查找第一索引的主分片,从而降低了传输数据的数据量,然后,对主分片和对应路径下的第一数据进行压缩,从而进一步降低了传输数据的数据量,最后,采用断点续传的方式传输压缩后的数据,从而避免了数据传输中断时需要重新传输数据的情况,从而实现了提高集群间迁移数据的效率的目的。
[0085]
作为一种可选的示例,上述第一查找模块包括:调整单元,用于将上述待迁移数据的所有索引中,索引状态为关闭的索引的索引状态调整为打开,其中,所述索引状态为关闭的索引禁止读写;第一确定单元,用于将上述所有索引中,每一个上述索引状态为打开的索引作为一个上述第一索引。
[0086]
可选的,本实施例中,待迁移数据的所有索引中,索引的索引状态可能不同。索引状态包含了多种,如包含open,表示索引状态为打开,close,表示索引状态为关闭,yellow,表示索引状态为异常,red,表示索引状态为故障,red的严重程度高于yellow。对于不同索引状态的索引,将close状态的索引调整为open状态。然后,将待迁移数据的所有索引中,open状态的索引作为第一索引。本实施例可以去除异常状态索引的干扰,提高迁移数据的效率。
[0087]
作为一种可选的示例,上述压缩模块包括:压缩单元,用于将每一个上述第一索引作为当前索引,将上述当前索引的主分片和上述当前索引的上述主分片对应的存储路径下的上述第一数据压缩为一个压缩数据包。
[0088]
将每一个所述第一索引作为当前索引,将所述当前索引的主分片和所述当前索引的所述主分片对应的存储路径下的所述第一数据压缩为一个压缩数据包。
[0089]
可选的,本实施例中,在对数据进行迁移之前,在查找到待迁移数据的第一索引之后,查找第一索引的主分片,主分片对应的存储路径之下记录了第一数据。将每一个第一索引的主分片与第一数据压缩为一个压缩数据包,从而有几个第一索引,就得到几个压缩数据包。压缩数据包即为可以进行迁移的压缩数据。
[0090]
作为一种可选的示例,上述传输模块包括:第二确定单元,用于确定上述压缩数据在上述第一集群中所在的第一集群服务器;映射单元,用于在上述第二集群中确定与上述第一集群服务器映射的第二集群服务器;迁移单元,用于将上述压缩数据从上述第一集群服务器迁移到上述第二集群服务器。
[0091]
在迁移压缩数据时,将压缩数据从第一集群的第一集群服务器迁移到第二集群的第二集群服务器,在第一集群服务器与第二集群服务器之间建立映射关系,然后完成迁移。
[0092]
作为一种可选的示例,上述映射单元包括:映射子单元,用于为每一个第一集群服务器在所述第二集群中确定出一个集群服务器作为所述第二集群服务器;或者在所述第二集群中确定出1个集群服务器作为所述第二集群服务器。
[0093]
本实施例中,在将第一集群的第一集群服务器与第二集群的第二集群服务器之间进行映射时,可以根据集群服务器的数量进行灵活映射。如果第一集群服务器的数量与所述第二集群服务器的数量相同,则第一集群服务器与第二集群服务器可以一对一映射。如果第一集群服务器的数量大于所述第二集群服务器的数量,那么将第一集群服务器中的多个集群服务器与第二集群服务器中的一个集群服务器之间进行映射。如果第一集群服务器的数量小于所述第二集群服务器的数量,那么可以从第二集群服务器中选择出多台集群服务器,与第一集群服务器一对一映射。
[0094]
作为一种可选的示例,上述传输模块包括:传输单元,用于将所述压缩数据划分为多个部分;将所述多个部分中的每一个部分按照顺序传输到所述第二集群中;在所述压缩数据中的当前部分传输失败的情况下,在再次传输所述压缩数据时,从所述压缩数据的当前部分,继续向所述第二集群传输所述压缩数据。
[0095]
本实施例中,可以将压缩数据划分为多个部分,每一个部分可以使用一个线程传输到第二集群。传输时,在将压缩数据传输到第二集群时,如果由于网络等原因的抖动传输失败,则已经传输到第二集群的部分无需再次传输,再次传输时,从断点处继续将压缩数据中剩余未传输到第二集群的部分传输到第二集群中。
[0096]
作为一种可选的示例,上述装置还包括:处理模块,用于在将上述待迁移数据存储到上述第二集群中与上述主分片对应的存储路径下之后,删除上述主分片的状态目录;在删除所述状态目录成功的情况下,调用加载接口将所述第一索引刷新到所述第二集群中。
[0097]
本实施例中,当压缩数据从第一集群迁移到第二集群之后,当第二集群对迁移数据进行解压缩得到第一数据和主分片之后,可以按照主分片将第一数据存储在第二集群中。存储第一数据之后,删除主分片的状态目录,删除主分片的状态目录如果成功,则将主分片对应的第一索引刷新到第二集群中。从而,第二集群可以通过第一索引查找存储到第二索引中的第一数据。
[0098]
本实施例的其他示例请参见上述示例,在此不在赘述。
[0099]
图4是根据本技术实施例的一种可选的电子设备的结构框图,如图4所示,包括处理器402、通信接口404、存储器406和通信总线408,其中,处理器402、通信接口404和存储器406通过通信总线408完成相互间的通信,其中,
[0100]
存储器406,用于存储计算机程序;
[0101]
处理器402,用于执行存储器406上所存放的计算机程序时,实现如下步骤:
[0102]
查找第一集群中待迁移数据的第一索引;
[0103]
查找第一索引的主分片;
[0104]
对主分片和主分片对应的存储路径下的第一数据进行压缩,得到压缩数据;
[0105]
将压缩数据采用断点续传的方式传输给第二集群;
[0106]
对传输到第二集群的压缩数据进行解压缩,得到第一数据与主分片;
[0107]
将第一数据存储到第二集群中与主分片对应的存储路径下。
[0108]
可选地,在本实施例中,上述的通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
[0109]
存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0110]
作为一种示例,上述存储器406中可以但不限于包括上述集群间数据迁移的装置中的第一查找模块302、第二查找模块304、压缩模块306、传输模块308、解压缩模块310以及存储模块312。此外,还可以包括但不限于上述集群间数据迁移的装置中的其他模块单元,本示例中不再赘述。
[0111]
上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0112]
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0113]
本领域普通技术人员可以理解,图4所示的结构仅为示意,实施上述集群间数据迁
移的方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图4并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示的不同的配置。
[0114]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
[0115]
本实施例中,可以将压缩数据划分为多个部分,每一个部分可以使用一个线程传输到第二集群。在将压缩数据传输到第二集群时,如果由于网络等原因的抖动传输失败,则已经传输到第二集群的部分无需再次传输,再次传输时,从断点处继续将压缩数据中剩余未传输到第二集群的部分传输到第二集群中。
[0116]
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述集群间数据迁移的方法中的步骤。
[0117]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0118]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0119]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0120]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0121]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0122]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0123]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0124]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献