一种数据迁移方法及装置与流程

文档序号:26956741发布日期:2021-10-16 04:24阅读:92来源:国知局
一种数据迁移方法及装置与流程

1.本发明涉及计算机技术领域,更具体地说,涉及一种数据迁移方法及装置。


背景技术:

2.随着数据库系统的不断发展,原有的旧系统从启用到被新系统取代,在其使用期间往往积累了大量珍贵的历史数据,其中,许多历史数据都是新系统顺利启用所必须的。数据迁移,就是将这些历史数据装载到新系统中的过程。
3.在现有技术中,可以通过数据泵迁移工具实现不同oracle数据库服务器之间的数据迁移。但是,这种方式需要人工全程操作数据泵迁移工具来实现数据迁移,具体的,通过人工操作数据泵迁移工具将要迁移的数据全部导出后,再进行数据传输,在传输完成后,才能进行数据导入,整个数据迁移的过程不仅时间长,还需要占用工作人大量的工作时间,人工成本高,并且,人工操作,还可能出现操作失误导致数据迁移失败的问题。


技术实现要素:

4.有鉴于此,本发明提供一种数据迁移方法及装置,以解决现有技术中,数据迁移时间长、人工成功高,以及由于人工操作失误导致数据迁移失败的问题。
5.本发明第一方面公开一种数据迁移方法,应用于源端服务器,所述方法包括:
6.根据用户输入的导出信息,生成导出脚本和传输脚本,其中,所述导出信息包括源端本地存放目录、目标端ip地址和目标端存放目录;
7.执行所述导出脚本,以依次将预先划分的各个子任务对应的数据导出至所述源端本地存放目录中,并生成所述子任务对应的dump文件,并在执行所述导出脚本的同时执行所述传输脚本,以将所述源端本地存放目录中的各个所述dump文件传输至目标服务器的所述目标端存放目录中,以便所述目标服务器通过执行导入脚本,将所述目标端存放目录中的各个所述dump文件导入目标端本地数据库;
8.其中,一个子任务对应的所述dump文件利用所述子任务对应的数据生成,所述目标服务器为所述目标端ip地址对应的服务器,预先划分的多个所述子任务是通过预先设置的数据划分脚本,基于预先设置的数据查询信息,从数据库中查询与所述预先设置的数据查询信息对应的数据,并对所述数据进行划分得到的。
9.可选的,所述导出信息还包括数据迁移开始时间,所述执行所述导出脚本之前,所述方法还包括:
10.判断所述源端服务器的当前时间是否到达所述数据迁移开始时间;
11.相应的,所述执行所述导出脚本,包括:
12.若所述源端服务器的当前时间达到所述数据迁移开始时间,执行所述导出脚本。
13.可选的,所述执行所述导出脚本,以依次将预先划分的各个子任务对应的数据导出至所述源端本地存放目录中,并生成所述子任务对应的dump文件的同时,所述方法还包括:
14.生成所述子任务对应的标志文件,以及基于所述子任务对应的数据,生成与所述子任务对应的导出日志。
15.可选的,所述在执行所述导出脚本的同时执行所述传输脚本,以依次将所述源端本地存放目录中的各个所述dump文件传出至目标服务器的所述目标端存放目录中,包括:
16.在执行所述导出脚本的同时执行所述传输脚本,以当检测到所述源端本地存放目录中存在满足第一预设条件的所述标志文件时,将所述标志文件对应所述子任务对应的所述dump文件传输至目标服务器的所述目标存放目录中,并将写入finished关键字的所述标志文件传输至所述目标服务器的所述目标存放目录中,直至将所有的所述子任务对应的dump文件,以及对应的写入所述finished关键字的所述标志文件传输至所述目标服务器的所述目标端存放目录为止;
17.其中,所述第一预设条件为不包含所述finished关键字的所述标志文件。
18.本发明第二方面公开一种数据迁移方法,应用于目标服务器,所述方法包括:
19.根据用户输入的导入信息,生成导入脚本,所述导入脚本至少包括目标端存放目录和目标端本地数据库;
20.执行所述导入脚本,以将所述目标端存放目录中的各个dump文件导入所述目标端本地数据库中,其中,所述目标端存放目录中的各个所述dump文件是由源端服务器通过执行传输脚本将源端本地存放目录中的各个所述dump文件传入的,所述源端本地存放目录中的所述dump文件是由所述源端服务器执行导出脚本根据导出的预先划分的子任务对应的数据生成的。
21.可选的,所述导入信息还包括数据迁移开始时间,所述方法还包括:
22.判断所述目标服务器的当前时间是否到达所述数据迁移开始时间;
23.相应的,所述执行所述导入脚本,包括:
24.当所述目标服务器的当前时间达到所述数据迁移开始时间时,执行所述导入脚本。
25.可选的,所述执行所述导入脚本,以将所述目标端存放目录中的各个dump文件导入所述目标端本地数据库中,包括:
26.执行所述导入脚本,以当检测到所述目标端存放目录中存在满足第二预设条件的标志文件时,将所述标志文件对应的dump文件导入所述目标端本地数据库中,并将写入completed关键字的所述标志文件导入所述目标端本地数据库中,直至将所有的所述dump文件,以及对应的写入所述completed关键字的所述标志文件导入所述目标端本地数据库为止;
27.其中,第二预设条件为不包含所述completed关键字的所述标志文件,所述目标端存放目录中的各个所述dump文件对应的所述标志文件是由源端服务器通过执行传输脚本将源端本地存放目录中的各个所述dump文件对应的所述标志文件传入的,所述源端本地存放目录中的每个所述dump文件对应的标志文件是由所述源端服务器执行导出脚本根据导出的预先划分的子任务对应的数据生成的,其中,所述目标端存放目录中的每个所述dump文件对应的所述标志文件至少包括finished关键字。
28.可选的,所述执行所述导入脚本,以当检测到所述目标端存放目录中存在满足第二预设条件的标志文件时,将所述标志文件对应的dump文件导入所述目标端本地数据库
中,并将写入completed关键字的所述标志文件导入所述目标端本地数据库之后,所述方法还包括:
29.基于所述dump文件,在所述目标端本地数据库中生成与所述dump文件对应所述子任务对应的导入日志,将所述子任务对应的导出日志和所述子任务对应的导入日志进行比对,其中,所述子任务对应的导出日志是所述源端服务器执行所述导出脚本将所述子任务对应的数据导出至所述源端本地存放目录时,基于所述子任务对应的数据生成的;
30.若所述子任务对应的导出日志与所述子任务对应的导入日志比对成功,确定所述子任务对应的数据迁移成功。
31.本发明第三方面公开一种数据迁移装置,应用于源端服务器,所述装置包括:
32.第一生成单元,用于根据用户输入的导出信息,生成导出脚本和传输脚本,其中,所述导出信息包括源端本地存放目录、目标端ip地址和目标端存放目录;
33.导出单元,用于执行所述导出脚本,以依次将预先划分的各个子任务对应的数据导出至所述源端本地存放目录中,并生成所述子任务对应的dump文件,并在执行所述导出脚本的同时执行所述传输脚本,以将所述源端本地存放目录中的各个所述dump文件传输至目标服务器的所述目标端存放目录中,以便所述目标服务器通过执行导入脚本,将所述目标端存放目录中的各个所述dump文件导入本地数据库;
34.其中,一个子任务对应的所述dump文件利用所述子任务对应的数据生成,所述目标服务器为所述目标端ip地址对应的服务器,预先划分的多个所述子任务是通过预先设置的数据划分脚本,基于预先设置的数据查询信息,从数据库中查询与所述预先设置的数据查询信息对应的数据,并对所述数据进行划分得到的。
35.本发明第四方面公开一种数据迁移装置,应用于目标端服务器,所述装置包括:
36.第三生成单元,用于根据用户输入的导入信息,生成导入脚本,所述导入脚本至少包括目标端存放目录和目标端本地数据库;
37.导入单元,用于执行所述导入脚本,以将所述目标端存放目录中的各个dump文件导入所述目标端本地数据库中,其中,所述目标端存放目录中的各个所述dump文件是由源端服务器通过执行传输脚本将源端本地存放目录中的各个所述dump文件传入的,所述源端本地存放目录中的所述dump文件是由所述源端服务器执行导出脚本根据导出的预先划分的子任务对应的数据生成的。
38.本发明提供一种数据迁移方法及装置,通过在源端服务器上部署导出脚本和传输脚本,在目标服务器上部署导入脚本,其中,导出脚本和传输脚本是根据用户输入的导出信息生成的,导入脚本是根据用户输入的导入信息生成的。同时执行源端服务器上的导出脚本和传输脚本,以便通过导出脚本将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成每个子任务对应的dump文件,并通过传输脚本对源端本地存放目录进行实时检测,以便在检测到源端本地存放目录中存在dump文件时,将存在的dump文件传输至目标服务器的目标端存放目录中,直至将每个子任务对应的dump文件均传输到目标服务器的目标端存放目录为止;在执行源端服务器的导出脚本和传输脚本的同时,执行目标服务器上的导入脚本,以便导入脚本在检测到目标端存放目录中存在dump文件时,将目标端存放目录中的dump文件导入目标端本地数据库中,直至将每个子任务对应的dump文件均导入目标端本地数据库为止,整个数据迁移过程不需要人工参与,不仅提高了迁移时间,还减少
了人工成功,以及避免了由于人工操作失误导致数据迁移失败的问题。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
40.图1为本发明实施例提供的一种数据迁移方法的流程示意图;
41.图2为本发明实施例提供的另一种数据迁移方法的流程示意图;
42.图3为本发明实施例提供的一种数据迁移装置的结构示意图;
43.图4为本发明实施例提供的另一种数据迁移装置的结构示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
46.需要注意,本发明公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
47.需要注意,本发明公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
48.参见图1,示出了本发明实施例提供的一种数据迁移方法的流程示意图,该数据迁移方法具体包括以下步骤:
49.s101:源端服务器根据用户输入的导出信息,生成导出脚本和传输脚本,其中,导出信息包括源端本地存放目录、目标端ip地址和目标端存放目录。
50.在步骤s101中,用户在确定需要进行数据迁移的源端服务器后,可在所确定的源端服务器上输入相应的导出信息,即向所确定的源端服务器发送相应的导出信息,其中,导出信息至少包括源端本地存放目录、要迁入数据的目标服务器对应的目标端ip地址以及目标端存放目录;源端本地存放目录用于临时存储由源端服务器导出的数据,目标端存放目录用于临时存储由源端服务器传输至目标端ip地址对应的目标服务器的数据。
51.在具体执行步骤s101的过程中,源端服务器在接收到用户发送的导出信息后,根据接收到的导出信息生成相应的导出脚本和传输脚本。
52.s102:源端服务器执行导出脚本,以依次将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成子任务对应的dump文件,并在执行导出脚本的同时执行
传输脚本,以将源端本地存放目录中的各个dump文件传输至目标服务器的目标端存放目录中。
53.在步骤s102中,预先在源端服务器上设置有数据划分脚本,当源端服务器接收到用户发送的数据查询信息时,执行预先设置的数据划分脚本,基于接收到的数据查询信息,从源端数据库中查询与接收到数据查询信息查询的数据,并对查询到的数据进行划分,得到n个子任务。其中,n为大于1的正整数,数据查询信息包括待查询的各个数据表的表名、各个表对应的用户以及每个表的大小。
54.作为本技术实施例的一种优选方式,查询到的与数据查询信息对应的数据包括多个表,可以按照每个表对应的表名对查询到的数据进行划分,比如,查询到的与数据查询信息对应的数据包括10个表,进而可以根据每个表名,将查询到的数据划分成10个子任务,每个子任务对应一个表的表数据。
55.作为本技术实施例的另一种优选方式,可以将查询到的与数据查询信息对应的数据进行平均划分,得到n个子任务,其中,每个子任务对应的数据大小相同。比如,查询到的与数据查询信息对应的数据大小为500g,可以将数据平均划分为10子任务,每个子任务对应的数据大小为50g。
56.以上仅仅是本发明实施例提供的对查询到的数据进行划分的优选方式,有关于对查询到的数据进行划分的具体方式,发明人可根据实际应用进行划分,本发明实施例不加以限定。
57.在具体执行步骤s102的过程中,源端服务器在根据用户输入的导出信息生成相应的导出脚本和传输脚本后,同时执行所生成的导出脚本和传输脚本,针对每个子任务,通过导出脚本根据该子任务对应的数据的表名,将该表名对应的数据导出至源端本地存放目录中,并利用导出至源端本地存放目录中的该子任务对应的数据生成与该子任务对应的dump文件和该dump文件对应的dump文件名,直至将所有子任务对应的数据全部导出到源端本利存放目录,以及生成每个子任务对应的dump文件和每个dump文件对应的dump文件名为止。
58.通过传输脚本实时检测源端本地存放目录中是否存在dump文件,当检测到源端本地存放目录中存在dump文件时,根据该dump文件对应的dump文件名将该dump文件传输至目标端ip地址对应的目标服务器的目标端存放目录中,直至将所有子任务对应的dump文件均传输至目标服务器的目标端存放目录为止。
59.进一步的,在本技术实施例中,为了避免传输重复的子任务对应dump文件,针对每个子任务而言,在执行导出脚本将该子任务对应的数据导出至源端本地存放目标,并生成该子任务对应的标志文件和日志文件,以便在执行传输脚本检测到源端本地存放目录中存在满足第一预设条件的标志文件时,将标志文件对应的子任务对应的dump文件传输至目标服务器的目标端存放目录,并在源端本地存放目录中的该标志文件中写入finished关键字,并将写入finished关键字的标志文件一起传输至目标服务器的目标端存放目录中。
60.其中,第一预设条件为不包含finished关键字的标志文件,也就是说,当执行传输脚本在检测到源端本地存放目录中的标志文件中存在finished关键字时,确定该标志文件不满足第一预设条件,即该标志文件对应的子任务对应的dump文件已经被传输过了,则不再传输该标志文件对应的子任务对应的dump文件,相应的,当执行传输标本在检测到源端本地存放目录中的标志文件中不存在finished关键字时,确定该标志文件满足第一预设条
件,即该标志文件对应的子任务对应dump文件未被传输过,则将该标志文件对应的子任务对应的dump文件传输至目标服务器的目标端存放目录中。
61.需要说明的是,在本技术实施例中,源端服务器还是可以执行传输脚本每隔预设时间段检测依次源端本地存放目录中是否存在满足第一预设条件的标志文件。
62.进一步需要说明的是,预设时间段可以为5秒、10秒、12秒。有关于预设时间段的具体数值发明人可根据实际应用进行设置,本技术实施例不加以限定。
63.s103:目标服务器根据用户输入的导入信息,生成导入脚本,导入脚本至少包括目标端存放目录和本地数据存放目录。
64.在步骤s103中,用户在确定需要进行数据迁移的目标服务器后,可以在所确定的目标服务器上输入相应的导入信息,即向目标服务器发送导入信息,其中,导入信息至少包括目标端存放目录和目标端本地数据库。
65.在具体执行步骤s103的过程中,目标服务器在接收到用户输入的导入信息时,根据接收到的导入信息生成导入脚本。
66.s104:目标服务器执行导入脚本,以将目标端存放目录中的各个dump文件导入目标端本地数据库中。
67.在具体执行步骤s104的过程中,目标服务器在根据用户输入的导入信息生成导入脚本后,在执行源端服务器上的导出脚本和传输脚本的同时,执行导入脚本,以使导入脚本实时检测目标端存放目录中是否存在dump文件,当检测到目标端存放目录中存在dump文件时,根据该dump文件对应的dump文件名将该dump文件导入目标服务器的目标端本地数据库中,直至将所有子任务对应的dump文件全部导入目标服务器的目标端本地数据库中。
68.进一步的,在本技术实施例中,针对每个子任务而言,在源端服务器执行导出脚本将该子任务对应的数据导出至源端本地存放目录,并生成相应的dump文件的同时,也生成相应的标志文件和日志文件的情况下,传输脚本在将该子任务对应的dump文件传输至目标端存放目录时,会将对应的标志文件和导入日志传输至目标端存放目录,进而目标服务器在检测目标端存放目录中存在满足第二预设条件的标志文件的情况下,将该标志文件对应的子任务对应的dump文件和导出日志导入目标服务器的目标端本地数据库中,并在该标志文件中写入completed关键,并将写入completed关键字的标志文件导入目标端本地数据库中。
69.其中,第二预设条件为不包含completed关键字的标志文件,也就是说,当执行导入脚本在检测到目标端存放目录中的标志文件中存在completed关键字时,确定该标志文件不满足第二预设条件,即该标志文件对应的子任务对应的dump文件已经被导入过了,则不再导入该标志文件对应的子任务对应的dump文件,相应的,当执行导入标本在检测到目标端存放目录中的标志文件中不存在completed关键字时,确定该标志文件满足第二预设条件,即该标志文件对应的子任务对应dump文件未被导入过,则将该标志文件对应的子任务对应的dump文件导入至目标服务器的目标端本地数据库中。
70.进一步在,在本技术实施例中,针对每个子任务,在将该子任务对应的dump文件导入目标服务器的目标端本地数据库后,可以为该dump文件进行解压,得到该子任务对应的数据,并根据该子任务对应的数据生成相应的导入日志,并将该子任务对应的导入日志和该子任务对应导出日志进行比对,在若子任务对应的导出日志与子任务对应的导入日志比
对成功,确定子任务对应的数据迁移成功。
71.本发明提供一种数据迁移方法,通过在源端服务器上部署导出脚本和传输脚本,在目标服务器上部署导入脚本,其中,导出脚本和传输脚本是根据用户输入的导出信息生成的,导入脚本是根据用户输入的导入信息生成的。同时执行源端服务器上的导出脚本和传输脚本,以便通过导出脚本将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成每个子任务对应的dump文件,并通过传输脚本对源端本地存放目录进行实时检测,以便在检测到源端本地存放目录中存在dump文件时,将存在的dump文件传输至目标服务器的目标端存放目录中,直至将每个子任务对应的dump文件均传输到目标服务器的目标端本地数据库为止;在执行源端服务器的导出脚本和传输脚本的同时,执行目标服务器上的导入脚本,以便导入脚本在检测到目标端存放目录中存在dump文件时,将目标端存放目录中的dump文件导入目标端本地数据存放目录中,直至将每个子任务对应的dump文件均导入目标端本地数据库为止,整个数据迁移过程不需要人工参与,不仅提高了迁移时间,还减少了人工成功,以及避免了由于人工操作失误导致数据迁移失败的问题。
72.参见图2,示出了本发明实施例提供的另一种数据迁移方法的流程示意图,该数据迁移方法具体包括以下步骤:
73.s201:源端服务器根据用户输入的导出信息,生成导出脚本和传输脚本,其中,导出信息包括源端本地存放目录、目标端ip地址、目标端存放目录和数据迁移开始时间。
74.在步骤s201中,用户在确定需要进行数据迁移的源端服务器后,可在所确定的源端服务器上输入相应的导出信息,即向所确定的源端服务器发送相应的导出信息,其中,导出信息至少包括源端本地存放目录、要迁入数据的目标服务器对应的目标端ip地址、目标端存放目录和数据迁移开始时间。
75.在具体执行步骤s201的过程中,源端服务器在接收到用户发送的导出信息后,根据接收到的导出信息生成相应的导出脚本和传输脚本。
76.s202:源端服务器判断自身当前时间是否到达数据迁移开始时间;若自身当前时间未到达数据迁移开始时间,执行步骤s202;若自身当前时间到达数据迁移开始时间,执行步骤s203。
77.在具体执行步骤s202的过程中,源端服务器在根据用户输入的导出信息生成相应的导出脚本和传输脚本后,判断自身当前时间是否到达数据迁移开始时间,若自身当前时间未到达数据迁移开始时间,执行步骤s202,直至自身当前时间到达数据迁移开始时间,同时执行生成的导出脚本和传输脚本,以依次将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成子任务对应的dump文件,并在执行导出脚本的同时执行传输脚本,以依次将源端本地存放目录中的各个dump文件传输至目标服务器的目标端存放目录中。
78.s203:源端服务器执行导出脚本,以依次将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成子任务对应的dump文件,并在执行导出脚本的同时执行传输脚本,以依次将源端本地存放目录中的各个dump文件传输至目标服务器的目标端存放目录中。
79.在具体执行步骤s203的过程中,步骤s203的具体执行过程和实现原理,与上述本发明实施例公开的图1中的步骤s102的具体执行过程和实现原理相同,可参见上述本发明
实施例公开的图1中的相应部分,这里不再进行赘述。
80.s204:目标服务器根据用户输入的导入信息,生成导入脚本,导入脚本至少包括目标端存放目录、目标端本地数据存放目录和数据迁移开始时间。
81.在步骤s204中,用户在确定需要进行数据迁移的目标服务器后,可在所确定的目标服务器上输入相应的导入信息,即向所确定的目标服务器发送相应的导入信息,其中,导入信息至少包括目标端存放目录、目标端本地数据存放目录和数据迁移开始时间。
82.在具体执行步骤s204的过程中,目标服务器在接收到用户发送的导入信息后,根据接收到的导入信息生成相应的导入脚本。
83.s205:目标服务器判断自身当前时间是否到达数据迁移开始时间;若自身当前时间未到达数据迁移开始时间,执行步骤s205;若自身当前时间达到数据迁移开始时间,执行步骤s206。
84.在具体执行步骤s205的过程中,目标服务器在根据用户输入的导入信息生成相应的导入脚本后,判断自身当前时间是否到达数据迁移开始时间,若自身当前时间未到达数据迁移开始时间,执行步骤s205,直至自身当前时间到达数据迁移开始时间,执行生成的导入脚本,以将目标端存放目录中的各个dump文件导入目标端本地数据库中。
85.s206:目标服务器执行导入脚本,以将目标端存放目录中的各个dump文件导入目标端本地数据库中。
86.在具体执行步骤s206的过程中,步骤s206的具体执行过程和实现原理,与上述本发明实施例公开的图1中的步骤s104的具体执行过程和实现原理相同,可参见上述本发明实施例公开的图1中的相应部分,这里不再进行赘述。
87.在本技术实施例中,可以通过在导出信息和导入信息中加入数据迁移开始时间,以便源端服务器在根据导出信息生成导出脚本和传输脚本后,实时检测自身时间是否达到数据迁移开始时间,当检测到自身时间达到数据迁移开始时间后,同时执行导出脚本和传输脚本,相应的目标服务器在根据导入信息生成导入脚本后,实时检测自身时间是否达到数据迁移开始时间,当检测到自身时间达到数据迁移开始时间后,执行导入脚本。
88.与上述本发明实施例公开的一种数据迁移方法相对应,参考图3,本发明实施例还提供了一种数据迁移装置的结构示意图,该数据迁移装置应用于源端服务器,该数据迁移装置300包括:
89.第一生成单元31,用于根据用户输入的导出信息,生成导出脚本和传输脚本,其中,导出信息包括源端本地存放目录、目标端ip地址和目标端存放目录;
90.导出单元32,用于执行导出脚本,以依次将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成子任务对应的dump文件,并在执行导出脚本的同时执行传输脚本,以将源端本地存放目录中的各个dump文件传输至目标服务器的目标端存放目录中,以便目标服务器通过执行导入脚本,将目标端存放目录中的各个dump文件导入目标端本地数据库;
91.其中,一个子任务对应的dump文件利用子任务对应的数据生成,目标服务器为目标端ip地址对应的服务器,预先划分的多个子任务是通过预先设置的数据划分脚本,基于预先设置的数据查询信息,从数据库中查询与预先设置的数据查询信息对应的数据,并对数据进行划分得到的。
92.上述本发明实施例公开的数据迁移装置中各个单元具体的原理和执行过程,与上述本发明实施例图1公开的数据迁移方法相同,可参见上述本发明实施例图1公开的数据迁移方法中相应的部分,这里不再进行赘述。
93.本发明提供一种数据迁移装置,通过在源端服务器上部署导出脚本和传输脚本,在目标服务器上部署导入脚本,其中,导出脚本和传输脚本是根据用户输入的导出信息生成的,导入脚本是根据用户输入的导入信息生成的。同时执行源端服务器上的导出脚本和传输脚本,以便通过导出脚本将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成每个子任务对应的dump文件,并通过传输脚本对源端本地存放目录进行实时检测,以便在检测到源端本地存放目录中存在dump文件时,将存在的dump文件传输至目标服务器的目标端存放目录中,直至将每个子任务对应的dump文件均传输到目标服务器的目标端存放目录为止;在执行源端服务器的导出脚本和传输脚本的同时,执行目标服务器上的导入脚本,以便导入脚本在检测到目标端存放目录中存在dump文件时,将目标端存放目录中的dump文件导入目标端本地数据库中,直至将每个子任务对应的dump文件均导入目标端本地数据库为止,整个数据迁移过程不需要人工参与,不仅提高了迁移时间,还减少了人工成功,以及避免了由于人工操作失误导致数据迁移失败的问题。
94.进一步的,导出信息还包括数据迁移开始时间,本发明提供的数据迁移装置还包括:
95.第一判断单元,用于判断源端服务器的当前时间是否到达数据迁移开始时间;
96.相应的,导出单元,还用于若源端服务器的当前时间达到数据迁移开始时间,执行导出脚本。
97.进一步的,执行导出脚本,以依次将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成子任务对应的dump文件的同时,本发明提供的数据迁移装置还包括:
98.第二生成单元,用于生成子任务对应的标志文件,以及基于子任务对应的数据,生成与子任务对应的导出日志。
99.可选的,导出单元,包括:
100.传输单元,用于在执行导出脚本的同时执行传输脚本,以当检测到源端本地存放目录中存在满足第一预设条件的标志文件时,将标志文件对应子任务对应的dump文件传输至目标服务器的目标存放目录中,并将写入finished关键字的标志文件传输至目标服务器的目标存放目录中,直至将所有的子任务对应的dump文件,以及对应的写入finished关键字的标志文件传输至目标服务器的目标端存放目录为止;
101.其中,第一预设条件为不包含finished关键字的标志文件。
102.与上述本发明实施例公开的一种数据迁移方法相对应,参考图4,本发明实施例还提供了一种数据迁移装置的结构示意图,该数据迁移装置应用于目标服务器,该数据迁移装置400包括:
103.第三生成单元41,用于根据用户输入的导入信息,生成导入脚本,导入脚本至少包括目标端存放目录和目标端本地数据库;
104.导入单元42,用于执行导入脚本,以将目标端存放目录中的各个dump文件导入目标端本地数据库中,其中,目标端存放目录中的各个dump文件是由源端服务器通过执行传
输脚本将源端本地存放目录中的各个dump文件传入的,源端本地存放目录中的dump文件是由源端服务器执行导出脚本根据导出的预先划分的子任务对应的数据生成的。
105.上述本发明实施例公开的数据迁移装置中各个单元具体的原理和执行过程,与上述本发明实施例图1公开的数据迁移方法相同,可参见上述本发明实施例图1公开的数据迁移方法中相应的部分,这里不再进行赘述。
106.本发明提供一种数据迁移装置,通过在源端服务器上部署导出脚本和传输脚本,在目标服务器上部署导入脚本,其中,导出脚本和传输脚本是根据用户输入的导出信息生成的,导入脚本是根据用户输入的导入信息生成的。同时执行源端服务器上的导出脚本和传输脚本,以便通过导出脚本将预先划分的各个子任务对应的数据导出至源端本地存放目录中,并生成每个子任务对应的dump文件,并通过传输脚本对源端本地存放目录进行实时检测,以便在检测到源端本地存放目录中存在dump文件时,将存在的dump文件传输至目标服务器的目标端存放目录中,直至将每个子任务对应的dump文件均传输到目标服务器的目标端存放目录为止;在执行源端服务器的导出脚本和传输脚本的同时,执行目标服务器上的导入脚本,以便导入脚本在检测到目标端存放目录中存在dump文件时,将目标端存放目录中的dump文件导入目标端本地数据库中,直至将每个子任务对应的dump文件均导入目标端本地数据库为止,整个数据迁移过程不需要人工参与,不仅提高了迁移时间,还减少了人工成功,以及避免了由于人工操作失误导致数据迁移失败的问题。
107.可选的,导入单元,具体用于执行导入脚本,以当检测到目标端存放目录中存在满足第二预设条件的标志文件时,将标志文件对应的dump文件导入本地数据存放目录中,并将写入completed关键字的标志文件导入目标端本地数据库中,直至将所有的dump文件,以及对应的写入completed关键字的标志文件导入目标端本地数据库为止;
108.其中,其中,第二预设条件为不包含completed关键字的标志文件,所述目标端存放目录中的各个dump文件对应的标志文件是由源端服务器通过执行传输脚本将源端本地存放目录中的各个dump文件对应的标志文件传入的,源端本地存放目录中的每个dump文件对应的标志文件是由源端服务器执行导出脚本根据导出的预先划分的子任务对应的数据生成的,其中,目标端存放目录中的每个dump文件对应的标志文件至少包括finished关键字。
109.进一步的,本发明提供的数据迁移装置还包括:
110.比对单元,用于基于dump文件,在目标端本地数据库中生成与dump文件对应子任务对应的导入日志,将子任务对应的导出日志和子任务对应的导入日志进行比对,其中,子任务对应的导出日志是源端服务器执行导出脚本将子任务对应的数据导出至源端本地存放目录时,基于子任务对应的数据生成的;
111.确定单元,用于若子任务对应的导出日志与子任务对应的导入日志比对成功,确定子任务对应的数据迁移成功。
112.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也
可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
113.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
114.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
115.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1