本技术涉及数据处理,特别是涉及一种数据迁移方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、在一些场景中,可能会将数据从源数据表插入至目标数据表,然后将目标数据表进行保存,从而完成数据的迁移。如果需要迁移的数据是树形格式数据,在对数据进行迁移的过程中,数据的自增标识可能发生变化,因此可能会出现数据上下级关系错乱的问题。
2、为了解决上述技术问题,传统方案主要是:在数据迁移过程中,在目标数据表中新增一个字段来保存源数据表的自增标识,以便数据插入完成后通过源数据表的自增标识来还原上下级关系。然而,采用传统方案进行数据迁移时,需要改变目标数据表的结构,从而增加了数据迁移的工作量且影响数据迁移的速度。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种数据迁移方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够在不改变目标数据表的结构的前提下实现对数据快速迁移。
2、第一方面,本技术提供了一种数据迁移方法。所述方法包括:
3、将第一变量表中的数据写入第二变量表;所述第一变量表中的数据和所述第二变量表中的数据分别为树形结构数据;根据所述第二变量表中的自增标识对所述第二变量表中的父子关系标识进行修改,得到修改后的第二变量表;将修改后的所述第二变量表插入至目标数据表中,并按照预设自增策略对插入的所述第二变量表中的自增标识进行自增处理,得到处理后变量表;依据处理后的所述自增标识对所述处理后变量表中的父子关系标识进行修复,得到修复后的目标数据表;对修复后的所述目标数据表进行存储。
4、在其中一个实施例中,所述将第一变量表中的数据写入第二变量表包括:
5、将待迁移数据表中的数据加载至第一变量表;所述第一变量表中包含自增标识、待迁移数据和表示各所述待迁移数据之间父子关系的父子关系标识;将所述第一变量表中的自增标识、待迁移数据和父子关系标识,写入至第二变量表。
6、在其中一个实施例中,所述根据所述第二变量表中的自增标识对所述第二变量表中的父子关系标识进行修改包括:
7、读取所述第二变量表中的自增标识;将所述第二变量表中的父子关系标识修改为读取的所述自增标识。
8、在其中一个实施例中,所述依据处理后的所述自增标识对所述处理后变量表中的父子关系标识进行修复包括:
9、在所述第一变量表中查找目标节点对应的数据,得到第一数据条目;在所述处理后变量表中,查找父子关系标识等于所述第一数据条目中的自增标识所对应的数据,得到第二数据条目;在所述处理后变量表中,查找与所述第一数据条目中的父子关系标识相同的父子关系标识对应的数据,得到第三数据条目;根据所述第三数据条目中的自增标识,对所述第二数据条目中的父子关系标识进行修复。
10、在其中一个实施例中,所述方法还包括:
11、当所述目标节点不是根节点时,循环执行对所述处理后变量表中的父子关系标识进行修复的步骤,直至完成对所述处理后变量表中非跟节点对应的父子关系标识的修复。
12、第二方面,本技术还提供了一种数据迁移装置。所述装置包括:
13、写入模块,用于将第一变量表中的数据写入第二变量表;所述第一变量表中的数据和所述第二变量表中的数据分别为树形结构数据;
14、修改模块,用于根据所述第二变量表中的自增标识对所述第二变量表中的父子关系标识进行修改,得到修改后的第二变量表;
15、处理模块,用于将修改后的所述第二变量表插入至目标数据表中,并按照预设自增策略对插入的所述第二变量表中的自增标识进行自增处理,得到处理后变量表;
16、修复模块,用于依据处理后的所述自增标识对所述处理后变量表中的父子关系标识进行修复,得到修复后的目标数据表;
17、存储模块,用于对修复后的所述目标数据表进行存储。
18、在其中一个实施例中,所述写入模块,还用于将待迁移数据表中的数据加载至第一变量表;所述第一变量表中包含自增标识、待迁移数据和表示各所述待迁移数据之间父子关系的父子关系标识;将所述第一变量表中的自增标识、待迁移数据和父子关系标识,写入至第二变量表。
19、在其中一个实施例中,所述修改模块,还用于读取所述第二变量表中的自增标识;将所述第二变量表中的父子关系标识修改为读取的所述自增标识。
20、在其中一个实施例中,所述修复模块,还用于在所述第一变量表中查找目标节点对应的数据,得到第一数据条目;在所述处理后变量表中,查找父子关系标识等于所述第一数据条目中的自增标识所对应的数据,得到第二数据条目;在所述处理后变量表中,查找与所述第一数据条目中的父子关系标识相同的父子关系标识对应的数据,得到第三数据条目;根据所述第三数据条目中的自增标识,对所述第二数据条目中的父子关系标识进行修复。
21、在其中一个实施例中,所述修复模块,当所述目标节点不是根节点时,循环执行对所述处理后变量表中的父子关系标识进行修复的步骤,直至完成对所述处理后变量表中非跟节点对应的父子关系标识的修复。
22、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
23、将第一变量表中的数据写入第二变量表;所述第一变量表中的数据和所述第二变量表中的数据分别为树形结构数据;根据所述第二变量表中的自增标识对所述第二变量表中的父子关系标识进行修改,得到修改后的第二变量表;将修改后的所述第二变量表插入至目标数据表中,并按照预设自增策略对插入的所述第二变量表中的自增标识进行自增处理,得到处理后变量表;依据处理后的所述自增标识对所述处理后变量表中的父子关系标识进行修复,得到修复后的目标数据表;对修复后的所述目标数据表进行存储。
24、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
25、将第一变量表中的数据写入第二变量表;所述第一变量表中的数据和所述第二变量表中的数据分别为树形结构数据;根据所述第二变量表中的自增标识对所述第二变量表中的父子关系标识进行修改,得到修改后的第二变量表;将修改后的所述第二变量表插入至目标数据表中,并按照预设自增策略对插入的所述第二变量表中的自增标识进行自增处理,得到处理后变量表;依据处理后的所述自增标识对所述处理后变量表中的父子关系标识进行修复,得到修复后的目标数据表;对修复后的所述目标数据表进行存储。
26、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
27、将第一变量表中的数据写入第二变量表;所述第一变量表中的数据和所述第二变量表中的数据分别为树形结构数据;根据所述第二变量表中的自增标识对所述第二变量表中的父子关系标识进行修改,得到修改后的第二变量表;将修改后的所述第二变量表插入至目标数据表中,并按照预设自增策略对插入的所述第二变量表中的自增标识进行自增处理,得到处理后变量表;依据处理后的所述自增标识对所述处理后变量表中的父子关系标识进行修复,得到修复后的目标数据表;对修复后的所述目标数据表进行存储。
28、上述数据迁移方法、装置、计算机设备、存储介质和计算机程序产品,首先将待迁移的第一变量表中的数据写入第二变量表,根据第二变量表中的自增标识对第二变量表中的父子关系标识进行修改,将修改后的第二变量表插入至目标数据表中,并按照预设自增策略对插入的第二变量表中的自增标识进行自增处理,得到处理后变量表;依据处理后的自增标识对处理后变量表中的父子关系标识进行修复,从而不需要在目标数据表中新增字段来保存第一变量表中的自增标识,无需改变目标数据表的结构便可得到修复后的目标数据表,平滑地完成数据的迁移,有利于减少代码冗余和降低工作量,而且还可以有效地避免了结构改变而影响目标数据表中的数据,进而提升了数据迁移的速度。