CN104731888B - 一种数据迁移的方法、装置和系统 - Google Patents
一种数据迁移的方法、装置和系统 Download PDFInfo
- Publication number
- CN104731888B CN104731888B CN201510110174.8A CN201510110174A CN104731888B CN 104731888 B CN104731888 B CN 104731888B CN 201510110174 A CN201510110174 A CN 201510110174A CN 104731888 B CN104731888 B CN 104731888B
- Authority
- CN
- China
- Prior art keywords
- platform
- data
- data slice
- transfer
- slice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005012 migration Effects 0.000 title claims abstract description 107
- 238000013508 migration Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012546 transfer Methods 0.000 claims abstract description 230
- 230000005540 biological transmission Effects 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims description 33
- 239000012634 fragment Substances 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 8
- 230000001276 controlling effect Effects 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 11
- 241001269238 Data Species 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000013509 system migration Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据迁移的方法、装置和系统,涉及互联网技术领域,能够解决数据迁移效率低和可靠性差的问题。本发明的方法,包括:控制源平台对待迁移数据进行切片,获得多个数据片;控制源平台向目标平台流水线式发送多个数据片,其中,多个数据片经过中转平台到达目标平台;控制源平台向目标平台流水线式发送多个数据片,包括:控制源平台向中转平台顺序发送多个数据片;控制中转平台从接收到第一个数据片起始,向目标平台发送接收到的数据片,并同时接收源平台发送的下一个数据片。如果数据片发送过程中有数据片发送失败,则会进行重发。本发明适用于跨平台数据迁移的场景中。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据迁移的方法、装置和系统。
背景技术
网络实现的本质是完成数据的处理以及数据的传输,在一些特定场景中,为了更有效地利用数据,需要将数据整合存放到特定的平台中,因此,跨平台及跨机房的数据迁移是不可避免的。例如,一个大型企业在相距甚远的另一个城市建立了分公司,此时他们需要将该企业中的数据库迁移到分公司的平台中,以提高数据的利用率。
现有技术中,由于源平台与目标平台的实际距离比较远,网络稳定性差,容易造成数据丢失等现象,所以为了提高数据迁移的有效性,往往在两个平台之间增加若干个中转平台进行数据转发。实际应用中,跨平台、跨机房的数据迁移一般采用多阶段顺次运行的方式,其中,数据从一个平台迁移到另一个平台为一个阶段,阶段内部采用并行、压缩等方式提高数据的迁移速度,阶段之间顺次完成数据的迁移,即当当前阶段完成所有数据的迁移之后,才进入下一阶段。虽然在阶段内部采用并行、压缩等方式进行数据迁移,可以提高数据迁移的速度,但是阶段之间的关联性很强,即下一阶段必须等待上一阶段全部进行完数据迁移后才可进行,所以整个数据迁移过程中消耗的时间为每一阶段分别完成所有数据的数据迁移任务所消耗的时间之和,并且当某一阶段发生故障造成数据迁移速度缓慢或者无法进行时,会导致后续阶段均处于等待状态,而造成整个数据迁移的效率大大降低,甚至无法完成。此外,某阶段的失败,会导致整个迁移过程失败,从而可靠性也大大降低。
发明内容
鉴于上述问题,本发明提出的数据迁移的方法、装置和系统,能够解决数据迁移效率低和可靠性差的问题。
为解决上述技术问题,第一方面,本发明提供了一种数据迁移的方法,所述方法包括:
控制源平台对待迁移数据进行切片,获得多个数据片;
控制源平台向目标平台流水线式发送所述多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送所述多个数据片;
控制所述中转平台从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片。
第二方面,本发明提供了一种数据迁移的装置,所述装置包括:
第一控制单元,用于控制源平台对待迁移数据进行切片,获得多个数据片;
第二控制单元,用于控制源平台向目标平台流水线式发送所述第一控制单元获得的多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送所述第一控制单元获得的多个数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片。
第三方面,本发明提供了一种数据迁移的系统,所述系统包括:上层管理设备、源平台、中转平台和目标平台;
所述上层管理设备,用于控制所述源平台对待迁移数据进行切片,获得多个数据片;
所述源平台,用于在所述上层管理设备的控制下向所述目标平台流水线式发送所述多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述源平台,具体用于在所述上层管理设备的控制下,向所述中转平台顺序发送所述多个数据片;
所述中转平台,用于在所述上层管理设备的控制下,从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片;
所述目标平台,用于顺序接收所述中转平台发送的多个数据片。
借由上述技术方案,本发明提供的数据迁移的方法、装置和系统,能够通过上层管理设备控制源平台对待迁移的数据进行切片,获得多个数据片,并控制源平台通过流水线的方式经中转平台向目标平台完成数据片的迁移。与现有技术中依次完成所有数据的迁移相比,本发明通过采用流水线的方式,将数据片从源平台经中转平台发送到目标平台,即在当前平台向下一级平台发送所接收到的数据片的同时,接收上一级平台向其发送的下一个数据片,从而使得各个平台均处于数据迁移状态,而不用等待将所有待迁移的数据接收完后再向下一级平台发送该待迁移的数据,进而加快了数据迁移的速度,提高了数据迁移的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了一种数据迁移的方法的流程图;
图2示出了数据块的示意图;
图3示出了数据迁移的过程示意图;
图4示出了多级中转平台的示意图;
图5示出了一种数据迁移的装置的结构示意图;
图6示出了另一种数据迁移的装置的结构示意图;
图7示出了另一种数据迁移的装置的结构示意图;
图8示出了另一种数据迁移的装置的结构示意图;
图9示出了另一种数据迁移的装置的结构示意图;
图10示出了一种数据迁移的系统示意图;
图11示出了另一种数据迁移的系统示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为提高数据迁移的效率,本发明实施例提供了一种数据迁移的方法,本实施例由上层管理设备来执行,并通过该上层管理设备控制各个平台来完成数据的迁移,如图1所示,该方法包括:
101、控制源平台对待迁移数据进行切片,获得多个数据片。
本实施例中,上层管理设备向源平台发送切片命令,源平台接收到该命令后,将待迁移数据进行切片。通常,一个数据块会包含多条数据,并且每条数据携带有用于标识数据的编号,例如,如图2所示,一个数据块中有100条数据,数据编号分别为数据001至数据100。本实施例中,源平台可以根据数据的编号的对数据进行切片,实际应用中,一种数据切片的实现方式可以为:
a1、确定切片的数量。
其中,管理员可以通过上层管理设备来设置切片的数量,设置完后,上层管理设备向源平台发送切片命令,该命令中包含待切的数据片的数量,源平台接收到该命令后进行切片。
此外,上层管理设备还可以根据管理员设置的完成数据迁移的时间,计算出需要切片的数量,其中,管理员所设置的时间越短,数据片的数量越多,相应地,每个数据片的长度越短。
a2、根据切片的数量进行切片。
在源平台确定需要切片的数量后,可以用待迁移数据的条数除以切片的数量来确定数据片中数据的条数,并按照数据的顺序进行切片。例如,图2中的100条数据,若切片的数量为5,则对该100条数据进行切片后,得到5个数据片,其中数据001至数据020为第一个数据片,数据021至数据040为第二个数据片,数据041至数据060为第三个数据片,数据061至数据080为第四个数据片,数据081至数据100为第五个数据片。
考虑到数据迁移过程中待迁移数据可能存在变动(数据的增多或减少),此种情况下源平台无法确定数据的总条数,继而无法通过上述方式进行切片。因此,在本实施例的另一实现方式中,上层管理设备还可以控制源平台采用数据轮询的方式进行切片。例如,需要切片的数量为4,则源平台将编号为001的数据分配在第一个数据片中,将编号为002的数据分配在第二个数据片中,将编号为003的数据分配在第三个数据片中,将编号为004的数据分配在第四个数据片中,将编号为005的数据分配在第一个数据片中,将编号为006的数据分配在第二个数据片中,将编号为007的数据分配在第三个数据片中,将编号为008的数据分配在第四个数据片中,按照这种方法,依次将所有的数据分别分配在四个数据片中,以完成待迁移数据的切片。
实际应用中,数据通常以文件的形式存在,一个文件包含多条数据,为了保证在进行数据分片时不会破坏文件的完整性,源平台还可以以文件为单位进行切片,即一个文件对应一个数据片。例如,待迁移数据中有100条数据,对应50个文件,则以文件为单位切片完成后,得到50个数据片,分别为文件1至文件50,其中,由于每个文件的大小可能不同,所以相对应的数据片中,有的数据片包含10条数据,有的数据片包含38条数据,有的数据片包含50条数据,但是所有数据片的总和是100条。
当上层管理设备控制源平台将待迁移数据进行切片后,控制源平台经中转平台向目标平台流水线式发送多个数据片,其具体实现方式如下面的步骤102至步骤103所述。
102、控制源平台向中转平台顺序发送多个数据片。
其中,中转平台的数量可以为一个,也可以为多个。若只有一个中转平台,则当源平台完成数据切片后,上层管理设备控制源平台向中转平台发送第一个数据片,当中转平台接收到该数据片后,向源平台发送响应信息,当源平台从响应信息中获知第一个数据片发送成功后,向中转平台发送下一个数据片,从而依次将所有数据片按顺序发送至中转平台。若中转平台有多个,则源平台向第一级中转平台顺序发送多个数据片,以便第一级中转平台向下一级中转平台发送数据片。
103、控制中转平台从接收到第一个数据片起始,向目标平台发送接收到的数据片,并同时接收源平台发送的下一个数据片。
其中,上层管理设备控制中转平台接收源平台发送的第一个数据片,当中转平台接收到第一个数据片时,向目标平台发送该第一个数据片,同时接收源平台向其发送的第二个数据片,当中转平台接收到第二个数据片时,向目标平台发送该第二个数据片,同时接收源平台向其发送的第三个数据片,按照这种流水线的方式,将所有的数据片从源平台发送至目标平台,从而完成待迁移数据的迁移。
从上述方法可以看出,如果将相邻两个平台之间的数据传输过程看作是一个迁移阶段,那么对于本实施例中所采用的流水线方式而言,当着眼于某一个阶段时,数据片是按照串行方式进行迁移的;当着眼于整体流程时,当前阶段迁移当前数据片的同时,上一阶段正在迁移下一个数据片。
示例性的,将待迁移数据分成三个长度相同的数据片,分别为数据片1、数据片2和数据片3,若源平台与中转平台之间、中转平台与目标平台之间传输数据的速度相同,则整个数据迁移的过程如图3所示。其中,源平台与中转平台之间的数据传输为第一阶段,中转平台与目标平台之间的数据传输为第二阶段,当源平台接收到上层管理设备发送的数据迁移的命令后,向中转平台发送数据片1;当中转平台接收到数据片1时,源平台向中转平台发送数据片2,同时中转平台向目标平台发送数据片1;当中转平台接收到数据片2、目标平台接收到数据片1时,源平台向中转平台发送数据片3,同时中转平台向目标平台发送数据片2;当中转平台接收到数据片3、目标平台接收到数据片2时,中转平台向目标平台发送数据片3;当目标平台接收到数据片3后,源平台向目标平台的数据迁移完成。
通过采用本方案进行数据迁移,可以提高数据迁移的效率,具体分析如下:
若将整个数据迁移过程分为M个耗时相同的阶段,需要迁移N个长度相同的数据片,并且一个数据片在一个阶段的迁移耗时为X秒,则采用现有方案时,一个数据片在一个阶段内进行数据迁移需要耗时X秒,所以将所有的数据片完成该阶段的数据迁移,需要耗时X*N秒,因此完成M个阶段的数据迁移,总耗时为X*M*N秒,而采用本方案的总耗时为(M+N-1)*X秒。当M=4,N=6,X=2时,现有方案总耗时为48秒,本方案总耗时为18秒,可知本方案相对现有方案提高了62.5%。
需要说明的是,在实际应用中,源平台、中转平台和目标平台可能位于同一个机房,也可能位于不同的机房。例如,源平台和中转平台1位于机房1中,中转平台2和中转平台3位于机房2中,目标平台位于机房3中;或者,源平台、中转平台1、中转平台2、中转平台3和目标平台均位于机房1中。本实施例仅着眼于数据在各个平台之间迁移方式,不对各平台在实际场景中的位置布局进行限制。
本发明实施例提供的数据迁移的方法,能够通过上层管理设备控制源平台对待迁移的数据进行切片,获得多个数据片,并控制源平台通过流水线的方式经中转平台向目标平台完成数据片的迁移。与现有技术中依次完成所有数据的迁移相比,本发明通过采用流水线的方式,将数据片从源平台经中转平台发送到目标平台,即在当前平台向下一级平台发送所接收到的数据片的同时,接收上一级平台向其发送的下一个数据片,从而使得各个平台均处于数据迁移状态,而不用等待将所有待迁移的数据接收完后再向下一级平台发送该待迁移的数据,进而加快了数据迁移的速度,提高了数据迁移的效率。
进一步的,作为对上述方法实施例的细化与扩展,上述步骤中提及实际应用中可以有多个中转平台,对于此种情况,上层管理设备会分别控制每一级中转平台将接收到的数据片发送给下一级中转平台,并同时接收上一级中转平台发送的下一个数据片。例如,假设有2级中转平台,则对于源平台而言,源平台向第一级中转平台顺序发送多个数据片;对于第一级中转平台而言,第一级中转平台将接收到的数据片发送给第二级中转平台,同时接收源平台发送的下一个数据片;对于第二级中转平台而言,第二级中转平台将接收到的数据片发送给目标平台,同时接收第一级平台发送的下一个数据片;对于目标平台而言,目标平台依次接收第二级中转平台发送的数据片,从而完成源平台到目标平台的数据迁移。
进一步的,在本实施例的另一种实现方式中,上述多级中转平台的每一级中转平台的数量可以为一个,也可以为多个。当每一级中转平台的数量至少为两个时,对于同一级中转平台,上层管理设备会分别控制每个中转平台将各自接收到的数据片并行发送给下一级中与其对应的中转平台,同时各自接收上一级中与其对应的中转平台继续发送的数据片。
示例性的,如图4所示,假设有两级中转平台,每一级中转平台的数量均为3,其中,源平台、中转平台1、中转平台4和目标平台实现一条数据迁移线路,源平台、中转平台2、中转平台5和目标平台实现一条数据迁移线路,源平台、中转平台3、中转平台6和目标平台实现一条数据迁移线路。其中,对于源平台来说,源平台同时向中转平台1、中转平台2和中转平台3发送不同的数据片;对于第一级中转平台来说,中转平台1、中转平台2和中转平台3分别接收源平台发送的下一数据片,同时分别向中转平台4、中转平台5和中转平台6发送当前数据片;对于第二级中转平台来说,中转平台4、中转平台5和中转平台6分别接收中转平台1、中转平台2和中转平台3发送的下一数据片,同时分别向目标平台发送当前数据片;对于目标平台来说,目标平台分别接收转平台4、中转平台5和中转平台6发送的不同数据片。
进一步的,在本实施例的另一种实现方式中,各级中转平台的数量可以不同,因此,实际应用中会出现这样的问题:某个中转平台同时接收至少两个上一级中转平台发送的数据片,或者某个中转平台同时向至少两个下一级中转平台发送数据片。对于此种情况,当一个中转平台同时接收至少两个上一级中转平台并行发送的数据片,而与其对应的下一级中转平台的数量又少于与其对应的上一级中转平台的数量时,上层管理设备控制该中转平台对接收的数据片进行缓存,以便该中转平台根据数据片向下一级中转平台依次顺序发送相应的数据片。
示例性的,若一个中转平台同时接收到三个上一级中转平台发送的数据片5、数据片6和数据片7,并且该中转平台与两个下一级中转平台进行数据迁移,则该中转平台同时向下一级的两个中转平台分别发送数据片5、数据片6,而将数据片7缓存下来,以便数据片5、数据片6发送成功后,再将数据片7发送给某个下一级中转平台。
本步骤将同一级中转平台的数量设置为至少两个,所以能够提高每一个阶段数据片迁移的并发数量,从而使得同一时间段内迁移的数据片个数增多,从而进一步加快了数据迁移的速度,提高了数据迁移的效率。
为了进一步加快数据迁移的效率,在上层管理设备控制源平台对待迁移数据进行切片之前,可以为每个平台分别建立一个线程池或者采用多进程,二者原理相似。以线程池为例,每个线程池维护预定数量的线程,其中,每个线程一次迁移一个数据片。
具体的,每个平台中线程池的线程数可以相同,也可以不相同。其中,当当前平台中的线程数大于下一级平台中的线程数时,下一级平台接收到当前平台发送的数据片后,对其进行缓存,以便下一级平台根据数据片的顺序向该下一级平台的下一级进行数据发送。
由于每个线程一次迁移一个数据片,所以一个平台可以一次迁移一组数据片,增加了数据片迁移的并发数。实际应用中,平台中的线程数是由一组数据片中数据片的个数决定的。通常,线程的建立和维护需要占用一定的资源(如CPU(Central Processing Unit,中央处理器)等),因此,当实际场景中要求在较短的时间内完成数据迁移时,上层管理设备可以控制平台在线程池中建立新的线程,以提高线程的数量,提高资源利用率;当实际场景中平台的可利用资源(如CPU、I/O(Input/Ouput,输入/输出)接口、内存等)较少时,上层管理设备可以控制平台减少线程池中的线程数,以节省资源。
具体的,在数据迁移之前,上层管理设备控制各平台根据各自的当前资源占用率计算出各平台对应的线程数,利用各自建立的线程池进行数据迁移;在数据迁移过程中,上层管理设备控制各平台定期对各自的资源占用率进行检测,当一平台的资源占用率超过预设上限值时,上层管理设备控制该平台减少线程池中的线程数,当一平台的资源占用率低于预设下限值时,上层管理设备控制该平台增加线程池中的线程数,从而实现线程池中线程数的动态调整,进而提高各平台的资源利用率。
进一步的,除了为各个平台建立线程池,实现多线程并发传输多个数据片外,上层管理设备也可以为每个平台分别建立预定数量的进程,每个进程一次迁移一个数据片,以多进程并发的方式同时传输多个数据片,从而提高数据迁移的速度。
该多进程传输方法在流水线式迁移方式中的具体实现过程为:上层管理设备控制中转平台从接收到第一组数据片起始,向目标平台发送接收到的数据片,并同时接收源平台发送的下一组数据片;其中,每组数据片的数量与进程数量相同。
进一步的,由于数据迁移过程中会受到网络传输条件的影响(如带宽小、传输质量差等),所以可能会导致一些数据片发送失败,而造成数据的丢失甚至数据迁移的终止,为保证数据片能够成功传输到目标平台中,本方案还包括:
在每发送一个数据片后,上层管理设备控制发送数据片的平台检测数据片是否发送成功;若数据片发送失败,则对发送失败的数据片进行有限次的重传,确保可靠性。
具体的,接收方的平台在接收到每个数据片后,会向发送方的平台发送响应信息(该响应信息中携带是否接收成功的标志位,如“1”表示接收成功,“0”表示接收失败)。若发送方的平台通过响应信息中的标志位判断数据片发送失败,或者,发送方的平台在一定时间内没有接收到接收方的平台反馈的响应消息,则发送方的平台向接收方的平台重新发送该数据片。
实际应用中,有些数据片在传输过程中产生了不可逆的损坏,这种情况下,数据片被重新发送多少遍都将会发送失败,所以上述方案采用的重传机制是有限次的重传,从而可以防止平台针对发送失败的数据片无限次的重传而陷入死循环,进而防止平台的I/O接口被持续占用。
进一步的,为了减少重复发送的数据量,节省传输过程中耗费的资源(CPU、I/O接口等),接收方的平台向发送方的平台发送的响应信息中还可以携带接收失败的数据的编号,发送方的平台只需对发送失败的数据片中的一条或者多条数据进行重发即可。
进一步的,发送失败的数据可能是非连续的,因此接收方的平台向发送方的平台发送的响应信息中可以携带一个数据发送情况表,该数据发送情况表中有每条数据的编号以及与之相对应的标志位。
示例性的,如表1所示,发送方的平台向接收方的平台发送了5条数据,其中数据111、数据112和数据114的标志位均为1,说明这三条数据发送成功,而数据113和数据115的标志位均为0,说明这两条数据发送失败。此时,发送方的平台只需判断哪条数据未发送成功,以便重新发送。
数据编号 | 标志位 |
数据111 | 1 |
数据112 | 1 |
数据113 | 0 |
数据114 | 1 |
数据115 | 0 |
表1
进一步的,对步骤101中的数据切片方式进行详细介绍:
方式一:
上层管理设备控制源平台按照固定的分片长度对待迁移数据进行切片,获得分片长度相等的多个数据片。
具体的,上层管理设备向源平台下发数据切片的命令,该命令为将待迁移数据平均分为相同长度的多个数据片,则源平台根据该命令,分别获取待迁移数据的总长度、需要切片的数量,从而确定每个数据片的长度,再进行切片。
示例性的,若待迁移数据的总长度为1MB,需要切片的数量为1024,则需要将待迁移数据切分为长度均为1KB的数据片,由于各条数据之间是有顺序的,所以按照顺序依次截取1KB的数据,并按照数据片获得的顺序对数据片进行编号,以获得数据片1至数据片1024。
对于用户层面来说,用户所用的数据都是以文件的形式存在的,并且不同的文件可能位于不同的文件夹中,所以为保证数据迁移过程中各个文件的完整性,避免对文件进行切割与重组的操作而简化数据迁移的过程,可以采用下述的方式二。
方式二:
上层管理设备控制源平台按照文件的数量对待迁移数据进行切片,一个待迁移文件对应一个数据片。
其中,一个文件通常包含多条数据,当源平台在上层管理设备的控制下以文件为单位进行数据切片时,通常情况下,每个文件中的数据的编号是连续的,则直接通过判断文件中数据的起始编号和末尾编号来进行切片。然而,待迁移数据中可能存在文件数据编号不连续的情况,此时,源平台可以制作一个表格,该表格中包含每条数据所属的文件名,以及每条数据在文件中的位置。源平台对各个文件进行编号,并按照文件编号的顺序依次经中转平台向目标平台发送各个文件。
示例性的,如表2所示,有6条数据,3个文件,其中文件1中有数据001、数据003,文件2中有数据004、数据005,文件3中有数据006、数据002,由于一个文件对应一个数据片,所以源平台依次向中转平台发送文件1(数据001、数据003)、文件2(数据004、数据005)和文件3(数据006、数据002),以便中转平台向目标平台发送数据,完成数据迁移。
数据编号 | 所属文件的编号 | 数据在文件中的位置 |
数据001 | 文件1 | 第1条数据 |
数据002 | 文件3 | 第2条数据 |
数据003 | 文件1 | 第2条数据 |
数据004 | 文件2 | 第1条数据 |
数据005 | 文件2 | 第2条数据 |
数据006 | 文件3 | 第1条数据 |
表2
此外,为了减小数据片的数据量,进一步提高数据迁移的速度,在控制源平台对待迁移数据进行切片,获得多个数据片之后,上层管理设备控制源平台将获得的多个数据片分别进行压缩编码,再对压缩编码后的数据片以流水线方式进行迁移,当所有数据片都迁移至目标平台后,上层管理设备控制该目标平台对数据片进行解压缩,并对解压缩后的数据片重新进行组装。
需要说明的是,除了压缩编码、解压缩解码外,本实施例中所指的编解码还包括传统意义上的编码和解码,例如,为了兼容数据传输过程中的格式要求,需要将数据进行格式转换。
进一步的,作为对上述各实施例的实现,本发明实施例还提供了一种数据迁移的装置,如图5所示,该装置包括:第一控制单元21、第二控制单元22,其中,
第一控制单元21,用于控制源平台对待迁移数据进行切片,获得多个数据片;
第二控制单元22,用于控制源平台向目标平台流水线式发送第一控制单元21获得的多个数据片,其中,多个数据片经过中转平台到达目标平台;
第二控制单元22,还用于控制源平台向中转平台顺序发送第一控制单元21获得的多个数据片;
第二控制单元22,还用于控制中转平台从接收到第一个数据片起始,向目标平台发送接收到的数据片,并同时接收源平台发送的下一个数据片。
进一步的,第二控制单元22,还用于当存在多级中转平台时,分别控制每一级中转平台将接收到的数据片发送给下一级中转平台,并同时接收上一级中转平台发送的下一个数据片。
进一步的,第二控制单元22控制的每一级中转平台的数量至少为两个;
第二控制单元22,还用于对于同一级中转平台,分别控制每个中转平台将各自接收到的数据片并行发送给下一级中转平台,同时各自接收上一级中转平台继续发送的数据片。
进一步的,如图6所示,该装置进一步包括:
第一建立单元23,用于在第一控制单元21控制源平台对待迁移数据进行切片之前,为每个平台分别建立一个线程池,每个线程池维护预定数量的线程,其中,每个线程一次迁移一个数据片;
第二控制单元22,还用于控制源平台向中转平台顺序发送多组数据片;
第二控制单元22,还用于控制中转平台从接收到第一组数据片起始,向目标平台发送接收到的数据片,并同时接收源平台发送的下一组数据片;
其中,每组数据片的数量与线程池中的线程数量相同。
进一步的,如图7所示,该装置进一步包括:
第二建立单元24,用于在第一控制单元21控制源平台对待迁移数据进行切片之前,为每个平台分别建立预定数量的进程,其中,每个进程一次迁移一个数据片;
第二控制单元22,还用于控制源平台向中转平台顺序发送多组数据片;
第二控制单元22,还用于控制中转平台从接收到第一组数据片起始,向目标平台发送接收到的数据片,并同时接收源平台发送的下一组数据片;
其中,每组数据片的数量与进程数量相同。
进一步的,如图8所示,该装置进一步包括:
检测单元25,用于在每发送一个数据片后,检测数据片是否发送成功;
第二控制单元22,还用于当检测单元25检测到数据片发送失败时,对发送失败的数据片进行有限次的重传,确保可靠性。
进一步的,第一控制单元21,还用于控制源平台按照固定的分片长度对待迁移数据进行切片,获得分片长度相等的多个数据片。
进一步的,第一控制单元21还用于控制源平台按照文件的数量对待迁移数据进行切片,一个待迁移文件对应一个数据片。
进一步的,第一控制单元21,还用于在控制源平台对待迁移数据进行切片,获得多个数据片之后,将获得的多个数据片分别进行编码。
进一步的,如图9所示,该装置进一步包括:
第三控制单元26,用于在将多个数据片迁移到目标平台之后,控制目标平台对多个数据片进行解码组装。
本发明实施例提供的数据迁移的装置,能够通过上层管理设备控制源平台对待迁移的数据进行切片,获得多个数据片,并控制源平台通过流水线的方式经中转平台向目标平台完成数据片的迁移。与现有技术中依次完成所有数据的迁移相比,本发明通过采用流水线的方式,将数据片从源平台经中转平台发送到目标平台,即在当前平台向下一级平台发送所接收到的数据片的同时,接收上一级平台向其发送的下一个数据片,从而使得各个平台均处于数据迁移状态,而不用等待将所有待迁移的数据接收完后再向下一级平台发送该待迁移的数据,进而加快了数据迁移的速度,提高了数据迁移的效率。
进一步的,参考上述装置的功能,本发明实施例还提供了一种数据迁移的系统,如图10所示,该系统包括:上层管理设备31、源平台32、中转平台33和目标平台34;
上层管理设备31,用于控制源平台32对待迁移数据进行切片,获得多个数据片;
源平台32,用于在上层管理设备31的控制下向目标平台34流水线式发送多个数据片,其中,多个数据片经过中转平台33到达目标平台34;
源平台32,具体用于在上层管理设备31的控制下,向中转平台33顺序发送多个数据片;
中转平台33,用于在上层管理设备31的控制下,从接收到第一个数据片起始,向目标平台34发送接收到的数据片,并同时接收源平台32发送的下一个数据片;
目标平台34,用于顺序接收中转平台33发送的多个数据片。
需要说明的是,由于本发明实施例可以应用于有一个中转平台的数据迁移系统中,也可以应用于有多个中转平台的数据迁移系统中,所以在图10所示的一个中转平台的基础上,添加至少一个中转平台,如图11所示。
本发明实施例提供的数据迁移的系统,能够通过上层管理设备控制源平台对待迁移的数据进行切片,获得多个数据片,并控制源平台通过流水线的方式经中转平台向目标平台完成数据片的迁移。与现有技术中依次完成所有数据的迁移相比,本发明通过采用流水线的方式,将数据片从源平台经中转平台发送到目标平台,即在当前平台向下一级平台发送所接收到的数据片的同时,接收上一级平台向其发送的下一个数据片,从而使得各个平台均处于数据迁移状态,而不用等待将所有待迁移的数据接收完后再向下一级平台发送该待迁移的数据,进而加快了数据迁移的速度,提高了数据迁移的效率。
本发明实施例还提供了如下方案:
A1、一种数据迁移的方法,所述方法包括:
控制源平台对待迁移数据进行切片,获得多个数据片;
控制源平台向目标平台流水线式发送所述多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送所述多个数据片;
控制所述中转平台从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片。
A2、根据A1所述的方法,当存在多级中转平台时,所述方法进一步包括:
分别控制每一级中转平台将接收到的数据片发送给下一级中转平台,并同时接收上一级中转平台发送的下一个数据片。
A3、根据A2所述的方法,每一级中转平台的数量至少为两个;
所述分别控制每一级中转平台将接收到的数据片发送给下一级中转平台,并同时接收上一级中转平台发送的下一个数据片,包括:
对于同一级中转平台,分别控制每个中转平台将各自接收到的数据片并行发送给下一级中转平台,同时各自接收上一级中转平台继续发送的数据片。
A4、根据A1所述的方法,在所述控制源平台对待迁移数据进行切片之前,所述方法进一步包括:
为每个平台分别建立一个线程池,每个线程池维护预定数量的线程,其中,每个线程一次迁移一个数据片;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送多组数据片;
控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与所述线程池中的线程数量相同。
A5、根据A1所述的方法,在所述控制源平台对待迁移数据进行切片之前,所述方法进一步包括:
为每个平台分别建立预定数量的进程,其中,每个进程一次迁移一个数据片;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送多组数据片;
控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与进程数量相同。
A6、根据A1所述的方法,所述方法进一步包括:
在每发送一个数据片后,检测所述数据片是否发送成功;
若所述数据片发送失败,则对发送失败的数据片进行有限次的重传。
A7、根据A1所述的方法,所述控制源平台对待迁移数据进行切片,获得多个数据片,包括:
控制所述源平台按照固定的分片长度对所述待迁移数据进行切片,获得分片长度相等的多个数据片。
A8、根据A1所述的方法,所述控制源平台对待迁移数据进行切片,获得多个数据片,包括:
控制所述源平台按照文件的数量对所述待迁移数据进行切片,一个待迁移文件对应一个数据片。
A9、根据A1所述的方法,在所述控制源平台对待迁移数据进行切片,获得多个数据片之后,所述方法进一步包括:
控制所述源平台将获得的多个数据片分别进行编码。
A10、根据A9所述的方法,在将所述多个数据片迁移到所述目标平台之后,所述方法进一步包括:
控制所述目标平台对所述多个数据片进行解码组装。
B11、一种数据迁移的装置,所述装置包括:
第一控制单元,用于控制源平台对待迁移数据进行切片,获得多个数据片;
第二控制单元,用于控制源平台向目标平台流水线式发送所述第一控制单元获得的多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送所述第一控制单元获得的多个数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片。
B12、根据11所述的装置,所述第二控制单元,还用于当存在多级中转平台时,分别控制每一级中转平台将接收到的数据片发送给下一级中转平台,并同时接收上一级中转平台发送的下一个数据片。
B13、根据B12所述的装置,所述第二控制单元控制的每一级中转平台的数量至少为两个;
所述第二控制单元,还用于对于同一级中转平台,分别控制每个中转平台将各自接收到的数据片并行发送给下一级中转平台,同时各自接收上一级中转平台继续发送的数据片。
B14、根据B11所述的装置,所述装置进一步包括:
第一建立单元,用于在所述第一控制单元控制源平台对待迁移数据进行切片之前,为每个平台分别建立一个线程池,每个线程池维护预定数量的线程,其中,每个线程一次迁移一个数据片;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送多组数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与所述线程池中的线程数量相同。
B15、根据B11所述的装置,所述装置进一步包括:
第二建立单元,用于在所述第一控制单元控制源平台对待迁移数据进行切片之前,为每个平台分别建立预定数量的进程,其中,每个进程一次迁移一个数据片;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送多组数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与进程数量相同。
B16、根据B11所述的装置,所述装置进一步包括:
检测单元,用于在每发送一个数据片后,检测所述数据片是否发送成功;
所述第二控制单元,还用于当所述检测单元检测到数据片发送失败时,对发送失败的数据片进行有限次的重传。
B17、根据B11所述的装置,所述第一控制单元,还用于控制所述源平台按照固定的分片长度对所述待迁移数据进行切片,获得分片长度相等的多个数据片。
B18、根据B11所述的装置,所述第一控制单元还用于控制所述源平台按照文件的数量对所述待迁移数据进行切片,一个待迁移文件对应一个数据片。
B19、根据B11所述的装置,所述第一控制单元,还用于在所述控制源平台对待迁移数据进行切片,获得多个数据片之后,将获得的多个数据片分别进行编码。
B20、根据B19所述的装置,所述装置进一步包括:
第三控制单元,用于在将所述多个数据片迁移到所述目标平台之后,控制所述目标平台对所述多个数据片进行解码组装。
C21、一种数据迁移的系统,所述系统包括:上层管理设备、源平台、中转平台和目标平台;
所述上层管理设备,用于控制所述源平台对待迁移数据进行切片,获得多个数据片;
所述源平台,用于在所述上层管理设备的控制下向所述目标平台流水线式发送所述多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述源平台,具体用于在所述上层管理设备的控制下,向所述中转平台顺序发送所述多个数据片;
所述中转平台,用于在所述上层管理设备的控制下,从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片;
所述目标平台,用于顺序接收所述中转平台发送的多个数据片。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (17)
1.一种数据迁移的方法,其特征在于,所述方法包括:
控制源平台对待迁移数据进行切片,获得多个数据片;
控制源平台向目标平台流水线式发送所述多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送所述多个数据片;
控制所述中转平台从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片;
当存在多级中转平台,且每一级中转平台的数量至少为两个时,所述方法进一步包括:
对于同一级中转平台,分别控制每个中转平台将各自接收到的数据片并行发送给下一级中转平台,同时各自接收上一级中转平台继续发送的数据片。
2.根据权利要求1所述的方法,其特征在于,在所述控制源平台对待迁移数据进行切片之前,所述方法进一步包括:
为每个平台分别建立一个线程池,每个线程池维护预定数量的线程,其中,每个线程一次迁移一个数据片;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送多组数据片;
控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与所述线程池中的线程数量相同。
3.根据权利要求1所述的方法,其特征在于,在所述控制源平台对待迁移数据进行切片之前,所述方法进一步包括:
为每个平台分别建立预定数量的进程,其中,每个进程一次迁移一个数据片;
所述控制源平台向目标平台流水线式发送所述多个数据片,包括:
控制所述源平台向所述中转平台顺序发送多组数据片;
控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与进程数量相同。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在每发送一个数据片后,检测所述数据片是否发送成功;
若所述数据片发送失败,则对发送失败的数据片进行有限次的重传。
5.根据权利要求1所述的方法,其特征在于,所述控制源平台对待迁移数据进行切片,获得多个数据片,包括:
控制所述源平台按照固定的分片长度对所述待迁移数据进行切片,获得分片长度相等的多个数据片。
6.根据权利要求1所述的方法,其特征在于,所述控制源平台对待迁移数据进行切片,获得多个数据片,包括:
控制所述源平台按照文件的数量对所述待迁移数据进行切片,一个待迁移文件对应一个数据片。
7.根据权利要求1所述的方法,其特征在于,在所述控制源平台对待迁移数据进行切片,获得多个数据片之后,所述方法进一步包括:
控制所述源平台将获得的多个数据片分别进行编码。
8.根据权利要求7所述的方法,其特征在于,在将所述多个数据片迁移到所述目标平台之后,所述方法进一步包括:
控制所述目标平台对所述多个数据片进行解码组装。
9.一种数据迁移的装置,其特征在于,所述装置包括:
第一控制单元,用于控制源平台对待迁移数据进行切片,获得多个数据片;
第二控制单元,用于控制源平台向目标平台流水线式发送所述第一控制单元获得的多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送所述第一控制单元获得的多个数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片;
所述第二控制单元,还用于当存在多级中转平台,每一级中转平台的数量至少为两个时,对于同一级中转平台,分别控制每个中转平台将各自接收到的数据片并行发送给下一级中转平台,同时各自接收上一级中转平台继续发送的数据片。
10.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:
第一建立单元,用于在所述第一控制单元控制源平台对待迁移数据进行切片之前,为每个平台分别建立一个线程池,每个线程池维护预定数量的线程,其中,每个线程一次迁移一个数据片;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送多组数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与所述线程池中的线程数量相同。
11.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:
第二建立单元,用于在所述第一控制单元控制源平台对待迁移数据进行切片之前,为每个平台分别建立预定数量的进程,其中,每个进程一次迁移一个数据片;
所述第二控制单元,还用于控制所述源平台向所述中转平台顺序发送多组数据片;
所述第二控制单元,还用于控制所述中转平台从接收到第一组数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一组数据片;
其中,每组数据片的数量与进程数量相同。
12.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:
检测单元,用于在每发送一个数据片后,检测所述数据片是否发送成功;
所述第二控制单元,还用于当所述检测单元检测到数据片发送失败时,对发送失败的数据片进行有限次的重传。
13.根据权利要求9所述的装置,其特征在于,所述第一控制单元,还用于控制所述源平台按照固定的分片长度对所述待迁移数据进行切片,获得分片长度相等的多个数据片。
14.根据权利要求9所述的装置,其特征在于,所述第一控制单元还用于控制所述源平台按照文件的数量对所述待迁移数据进行切片,一个待迁移文件对应一个数据片。
15.根据权利要求9所述的装置,其特征在于,所述第一控制单元,还用于在所述控制源平台对待迁移数据进行切片,获得多个数据片之后,将获得的多个数据片分别进行编码。
16.根据权利要求15所述的装置,其特征在于,所述装置进一步包括:
第三控制单元,用于在将所述多个数据片迁移到所述目标平台之后,控制所述目标平台对所述多个数据片进行解码组装。
17.一种数据迁移的系统,其特征在于,所述系统包括:上层管理设备、源平台、中转平台和目标平台;
所述上层管理设备,用于控制所述源平台对待迁移数据进行切片,获得多个数据片;
所述源平台,用于在所述上层管理设备的控制下向所述目标平台流水线式发送所述多个数据片,其中,所述多个数据片经过中转平台到达所述目标平台;
所述源平台,具体用于在所述上层管理设备的控制下,向所述中转平台顺序发送所述多个数据片;
所述中转平台,用于在所述上层管理设备的控制下,从接收到第一个数据片起始,向所述目标平台发送接收到的数据片,并同时接收所述源平台发送的下一个数据片;
所述目标平台,用于顺序接收所述中转平台发送的多个数据片;
所述上层管理设备,还用于当存在多级中转平台,且每一级中转平台的数量至少为两个时,对于同一级中转平台,分别控制每个中转平台将各自接收到的数据片并行发送给下一级中转平台,同时各自接收上一级中转平台继续发送的数据片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510110174.8A CN104731888B (zh) | 2015-03-12 | 2015-03-12 | 一种数据迁移的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510110174.8A CN104731888B (zh) | 2015-03-12 | 2015-03-12 | 一种数据迁移的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731888A CN104731888A (zh) | 2015-06-24 |
CN104731888B true CN104731888B (zh) | 2018-09-04 |
Family
ID=53455775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510110174.8A Active CN104731888B (zh) | 2015-03-12 | 2015-03-12 | 一种数据迁移的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731888B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095384B (zh) * | 2015-07-01 | 2018-09-14 | 北京京东尚科信息技术有限公司 | 数据结转的方法和装置 |
CN106487841A (zh) * | 2015-08-27 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法及设备 |
CN105872042A (zh) * | 2016-03-29 | 2016-08-17 | 国家电网公司 | 基于http协议的双边加速系统 |
CN106230990A (zh) * | 2016-09-27 | 2016-12-14 | 美的智慧家居科技有限公司 | 无线下载中数据传输的方法和装置 |
CN106331160A (zh) * | 2016-09-28 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种数据迁移方法及系统 |
CN108076085A (zh) * | 2016-11-10 | 2018-05-25 | 北京国双科技有限公司 | 一种数据传输的方法及数据传输装置 |
CN108228672B (zh) * | 2016-12-22 | 2022-05-03 | 阿里巴巴集团控股有限公司 | 一种元数据迁移方法、装置、系统及设备 |
CN106874389B (zh) | 2017-01-11 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 数据的迁移方法和装置 |
CN108763403A (zh) * | 2018-05-22 | 2018-11-06 | 中国建设银行股份有限公司 | 一种数据卸载方法和装置 |
CN109063091B (zh) * | 2018-07-26 | 2021-06-15 | 成都大学 | 混合编码的数据迁移方法、数据迁移装置和存储介质 |
CN111125058A (zh) * | 2019-12-06 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置和系统 |
CN111158933A (zh) * | 2019-12-31 | 2020-05-15 | 易票联支付有限公司 | 一种基于消息队列的分布式事务处理方法及系统 |
CN112286905A (zh) * | 2020-10-15 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 数据迁移方法及装置、存储介质、电子设备 |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
CN115103020B (zh) * | 2022-08-25 | 2022-11-15 | 建信金融科技有限责任公司 | 数据迁移处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510893A (zh) * | 2008-12-25 | 2009-08-19 | 北京大学 | 消息文件的发送、中转、接收方法、装置及传输系统 |
CN101980509A (zh) * | 2010-11-05 | 2011-02-23 | 北京云快线软件服务有限公司 | 一种文件分片传输方法及装置 |
CN103701865A (zh) * | 2013-12-06 | 2014-04-02 | 中国科学院深圳先进技术研究院 | 一种数据传输的方法及系统 |
CN103914474A (zh) * | 2013-01-05 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法及系统 |
-
2015
- 2015-03-12 CN CN201510110174.8A patent/CN104731888B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510893A (zh) * | 2008-12-25 | 2009-08-19 | 北京大学 | 消息文件的发送、中转、接收方法、装置及传输系统 |
CN101980509A (zh) * | 2010-11-05 | 2011-02-23 | 北京云快线软件服务有限公司 | 一种文件分片传输方法及装置 |
CN103914474A (zh) * | 2013-01-05 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法及系统 |
CN103701865A (zh) * | 2013-12-06 | 2014-04-02 | 中国科学院深圳先进技术研究院 | 一种数据传输的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104731888A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731888B (zh) | 一种数据迁移的方法、装置和系统 | |
US9888048B1 (en) | Supporting millions of parallel light weight data streams in a distributed system | |
CN103701900A (zh) | 基于异构集群的数据分布方法 | |
CN104219316A (zh) | 一种分布式系统中的调用请求处理方法及装置 | |
CN108282164A (zh) | 一种数据编码及解码方法和装置 | |
CN106610870B (zh) | 一种处理节点数量调整方法及装置 | |
US11212342B2 (en) | Merge trees for collaboration | |
CN111385129A (zh) | 全球化内容审核方法、装置、计算机设备及存储介质 | |
CN105208108A (zh) | Web环境下的文件上传/下载方法及系统、服务器、客户端 | |
CN109799948A (zh) | 一种数据存储方法及装置 | |
CN105408871A (zh) | 用于提供冗余数据访问的方法和装置 | |
CN109413202B (zh) | 区块链交易信息的排序系统及方法 | |
CN107103360B (zh) | 一种基于混合云的可靠应用分配分布式遗传方法 | |
CN109842458A (zh) | 一种编码方法、装置、电子设备和存储介质 | |
CN104580361A (zh) | 数据下载的方法、装置及系统 | |
CN112152825B (zh) | 家电设备的多级模组升级方法、装置和电子设备 | |
CN103678364A (zh) | 一种动态检测url重定向死循环的方法及装置 | |
CN103237206B (zh) | 远程图像显示方法、处理装置以及显示系统 | |
CN103634385A (zh) | 一种数据同步系统、方法及服务器 | |
CN105306182A (zh) | 一种数据请求处理方法和系统 | |
CN104579709A (zh) | 数据对象共享的方法和系统、及电子设备 | |
CN110378479A (zh) | 基于深度学习的图片输入方法、装置及终端设备 | |
CN105897767A (zh) | 调度方法、调度响应方法及设备和系统 | |
US20190199832A1 (en) | Data transmitting program, data transmitting device, and data transmitting method | |
CN109491807A (zh) | 一种数据交换方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220808 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |