一种数据迁移的方法、装置及计算机可读存储介质与流程

文档序号:31941073发布日期:2022-10-26 03:05阅读:38来源:国知局
一种数据迁移的方法、装置及计算机可读存储介质与流程

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.可选的,所述装置还包括:
29.更新单元,用于检测所述索引表中的数据表是否发生变更;
30.当检测到所述索引表中存在变更的数据表时,自动生成所述变更的数据表对应的更新记录,并存储所述变更的数据表对应的更新记录到所述索引表中。
31.可选的,所述数据处理单元具体用于:
32.获取所述待更新数据中每个数据块对应的当前数据结构;所述当前数据结构为所述与所述待迁移数据对应的数据表的更新记录中与所述数据块的数据结构相同的数据结构;所述当前数据结构所对应的更新时间早于所述更新后的数据结构所对应的更新时间;
33.获取所述每个数据块对应的当前数据结构与所述更新后的数据结构之间的差异数据;
34.根据所述差异数据对所述待更新数据中每个数据块对应的当前数据结构进行更新,使得所述待更新数据中每个数据块的数据结构与所述更新后的数据结构相同。
35.可选的,所述数据处理单元具体用于:
36.获取所述与所述待迁移数据对应的数据表的更新记录中更新时间早于所述更新后的数据结构所对应的更新时间的数据结构集;
37.将所述数据结构集中的数据结构按照更新时间由晚到早的顺序进行排序;按照所述更新时间由晚到早的顺序,依次将所述数据结构集中的数据结构与所述待更新数据中每个数据块的数据结构进行比对;当正在进行比对的数据结构与所述待更新数据中的任意一个数据块的数据结构相同时,将所述正在进行比对的数据结构作为与所述数据块对应的所述当前数据结构,直至所述待更新数据中的每个数据块均比对到对应的所述当前数据结构。
38.第三方面,本发明实施例公开了一种计算机可读存储介质,其特征在于,包括计算机操作指令,当所述计算机操作指令在计算机上运行时,使得所述计算机执行上述任一项所述的数据迁移的方法。
39.相对于现有技术,本发明具有以下有益效果:
40.通过建立索引表,确定出数据表的更新后的数据结构,根据更新后的数据结构将待迁移数据迁移至新数据表中,判断待迁移数据中是否包含无法按照更新后的数据结构进行迁移的待更新数据,若存在待更新数据则对待更新数据进行更新,得到更新数据,使得更新数据能够迁入至更新后的数据结构,从而通过改变脏数据的数据结构,使脏数据能够正常迁入至新系统中,完成所有待迁移数据的迁移,使得新系统能够完整保存旧系统中的数据。
附图说明
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
42.图1是本技术实施例中数据迁移方法的流程图;
43.图2是本技术实施例中数据迁移装置的示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
46.如图1所示,本技术实施例公开了一种数据迁移的方法,所述方法包括:
47.s101:预先建立索引表;所述索引表包括各个数据表每次进行更新时的更新记录;所述更新记录包括数据表更新时的数据结构以及更新时间。
48.针对系统中的所有数据表建立一张索引表,索引表中包括每个数据表的更新记录,更新记录可以以行、列等形式进行表示,在此不进行限定。每个更新记录表中包括数据结构、数据表名称、更新时间以及数据结构。数据结构中包括多个栏位,栏位的数量及具体内容可结合实际情况进行设置。从而通过建立索引表,反馈出每个数据表的更新时间及更新的具体内容。
49.s102:当需要对待迁移数据进行迁移时,从所述索引表中筛选出与所述待迁移数据对应的数据表的所有更新记录,得到与所述待迁移数据对应的各个数据结构的更新时间。
50.当将旧系统替换为新系统时,需要进行数据的迁移,此时,从索引表中确定出与待迁移数据所对应的数据表,得到对应的数据表的更新记录,确定出数据表的更新时间和更新的数据结构,从而得到更新时间和数据结构的对应关系。
51.s103:根据所述与所述待迁移数据对应的数据表的更新记录,获取所述待迁移数据对应的数据表的更新后的数据结构。
52.根据数据表的更新时间和更新的数据结构,确定出新数据表的数据结构,以便后续对待迁移数据进行数据迁移。
53.s104:将所述待迁移数据迁入至与所述更新后的数据结构对应的新数据表中。
54.根据更新时间和数据结构的对应关系,确定出数据表的更新后的数据结构,将待迁移数据按照更新后的数据结构迁移至新数据表中,使得无需进行数据结构变更的待迁移数据直接迁移至新数据表中。
55.需要说明的是,数据表的更新后的数据结构为新系统的数据结构。
56.s105:当所述待迁移数据中存在无法按照所述更新后的数据结构进行迁移的数据时,则将所述无法按照所述更新后的数据结构进行迁移的数据作为待更新数据;对所述待更新数据进行更新,得到更新数据;将所述更新数据迁移至所述新数据表中。
57.在将待迁移数据按照更新后的数据结构进行数据迁移时,判断待迁移数据是否均能够落入到新系统的数据表中,当有数据无法落入时,则将无法落入的数据作为待更新数据,从而得到数据结构与更新后的数据结构不同的待更新数据,对得到的待更新数据进行更新,得到已经更新后的待更新数据,并将已经更新后的待更新数据作为更新数据,将更新数据迁入至新数据表中。需要说明的是,更新数据的数据结构与待迁移数据对应的数据表的更新后的数据结构相同,从而使待更新数据能够正常落入到新系统的数据表中。当待迁移数据均能落入到新系统的数据表中时,此时不存在待更新数据,无需对数据结构进行修改,从而保证进行数据迁移时的数据完整性。
58.通过建立索引表,确定出数据表的更新后的数据结构,根据更新后的数据结构将待迁移数据迁移至新数据表中,判断待迁移数据中是否包含无法按照更新后的数据结构进行迁移的待更新数据,若存在待更新数据则对待更新数据进行更新,得到更新数据,使得更新数据能够迁入至更新后的数据结构,从而通过改变脏数据的数据结构,使脏数据能够正常迁入至新系统中,完成所有待迁移数据的迁移,使得新系统能够完整保存旧系统中的数据。
59.在一种实施例中,所述数据迁移的方法还包括:
60.s1011:检测所述索引表中的数据表是否发生变更;
61.s1012:当检测到所述索引表中存在变更的数据表时,自动生成所述变更的数据表对应的更新记录,并存储所述变更的数据表对应的更新记录到所述索引表中。
62.通过实时对索引表中的数据表是否发生变更进行检测,在数据表存在变更时,根据数据表变更的内容自动生成对应的更新记录,并存储到索引表中,从而实现对索引表的实时更新。
63.在一种实施例中,步骤s105具体包括s1051-s1053,:
64.s1051:获取所述待更新数据中每个数据块对应的当前数据结构;所述当前数据结构为所述与所述待迁移数据对应的数据表的更新记录中与所述数据块的数据结构相同的数据结构;所述当前数据结构所对应的更新时间早于所述更新后的数据结构所对应的更新时间。
65.步骤s1051具体包括:
66.a1:获取所述与所述待迁移数据对应的数据表的更新记录中更新时间早于所述更新后的数据结构所对应的更新时间的数据结构集。
67.将与待迁移数据对应的数据表的更新记录中更新时间早于新数据表的数据结构所对应的更新时间的数据结构进行提取,并根据提取到的数据结构生成数据结构集,数据结构集中的每个数据结构的更新时间均早于新数据表的数据结构的更新时间。
68.a2:将所述数据结构集中的数据结构按照更新时间由晚到早的顺序进行排序。
69.a3:按照所述更新时间由晚到早的顺序,依次将所述数据结构集中的数据结构与所述待更新数据中每个数据块的数据结构进行比对;当正在进行比对的数据结构与所述待更新数据中的任意一个数据块的数据结构相同时,将所述正在进行比对的数据结构作为与所述数据块对应的所述当前数据结构,直至所述待更新数据中的每个数据块均比对到对应的所述当前数据结构。
70.将排序后的数据结构按照由更新时间由晚到早的顺序,依次与待更新数据中的每个数据块的数据结构进行比对,根据比对结果确定出数据块的当前数据结构。如,更新记录中与待迁移数据对应的数据表的数据结构共有n个,第n个数据结构为更新后的数据结构,此时数据结构集中包括n-1个数据结构,分别为第1个数据结构、第2个数据结构、第3个数据结构
……
第n-1个数据结构。按照更新时间由晚到早的顺序,将第n-1个数据结构与待更新数据中的数据块进行比对,若待更新数据中存在与第n-1个数据结构相同数据结构的数据块a,则将第n-1个数据结构作为数据块a的当前数据结构,并将数据结构集中的第n-2个数据结构与待更新数据中剩余的数据块继续进行比对,直至所有的数据块均比对到对应的当前数据结构,从而确定出待更新数据中的每个数据块的数据结构。
71.需要说明的是,在将数据结构集中的数据结构与待更新数据中的每个数据块的数据结构进行匹配时,若当前比对所采用的数据结构与待更新数据中的任意一个数据块的数据结构相同时,将该数据块作为合格数据,并将待更新数据中的剩余的数据块作为不合格数据,将不合格数据,继续按照更新时间由晚到早的顺序选取更新时间早于当前比对所采用的数据结构所对应的时间更新时间的数据结构,对不合格数据进行比对。
72.在一种实施例中,所述按照所述更新时间由晚到早的顺序,依次将所述数据结构集中的数据结构与所述待更新数据中每个数据块的数据结构进行比对,包括:
73.b1:按照所述更新时间由晚到早的顺序依次从所述数据结构集中确定出与所述更新时间对应的数据结构,根据所述与所述更新时间对应的数据结构,对所述待更新数据中的每个数据块进行迁移。
74.b2:判断所述待更新数据中是否存在迁移到与所述更新时间对应的数据结构中的数据块。
75.b3:若所述待更新数据中存在落入到与所述更新时间对应的数据结构中的数据块,则比对结果为所述数据块与所述更新时间对应的数据结构相同。
76.根据更新时间对应的数据结构,对待更新数据中的每个数据块进行迁移,若数据块能够迁移至更新时间对应的数据结构,则比对结果为数据块的数据结构与更新时间对应的数据结构相同,若数据块不能迁移至更新时间对应的数据结构,则比对结果为数据块的数据结构与更新时间对应的数据结构不同,从而通过迁移结果,判断数据块的数据结构与更新时间对应的数据结构是否相同。
77.需要说明的是,在对数据进行迁移时,若数据结构与数据表的结构相同,则数据逐条落入到数据表中,若数据结构与数据表的结构不同,则数据无法落入至数据表中。
78.s1052:获取所述每个数据块对应的当前数据结构与所述更新后的数据结构之间的差异数据。
79.将更新后的数据结构与当前数据结构进行对比,得到更新后的数据结构与当前数据结构的差异性。
80.s1053:根据所述差异数据对所述待更新数据中每个数据块对应的当前数据结构进行更新,使得所述待更新数据中每个数据块的数据结构与所述更新后的数据结构相同。
81.根据更新后的数据结构与当前数据结构的差异性对待更新数据进行数据更新,得到更新数据,更新数据的数据结构与数据包更新后的数据结构相同,从而使更新数据能够落入新系统的数据表中。
82.为便于理解,下面进行举例说明:
83.如表1所示,索引表a中包括m条记录,当需要将数据从旧系统中迁移至新系统中时,若需要对数据表1进行数据迁移,则先筛选出索引表中数据表1的所有更新记录,得到m条更新记录。按照数据表更新后的数据表结构,也就是第m条更新记录中的数据结构,使数据一条一条的落入到新系统的数据表中。当存在无法落入的数据时,将无法落入的数据存放至待更新数据表b中,并将待更新数据表b中的数据与第m-1条更新记录中的数据结构进行比对,将数据结构相同的数据作为合格数据c,结构不同的数据作为不合格数据d,根据第m条数据结构与第m-1条数据结构的差异,对合格数据c进行更新,并将不合格数据d与第m-2条更新记录中的数据结构进行比对,直至待更新数据表b中的数据均为合格数据。
84.若第m条数据结构与第m-1条数据结构的差异为第m条数据结构的客户号位数为10,第m-1条数据结构的客户号位数为9位,则对合格数据c进行数据处理可以为在客户号的第一位前进行补0操作,使得合格数据c的客户号位数变为10位,与第m条数据结构一致。
[0085][0086]
表1
[0087]
本发明通过建立索引表,确定出数据表的更新后的数据结构,根据更新后的数据结构将待迁移数据迁移至新数据表中,判断迁移数据中是否包含待更新数据,若包含,则对待更新数据进行更新,使得待更新数据能够按照更新后的数据结构进行迁移,从而改变脏数据的数据结构,使脏数据能够正常迁入至新系统中,完成所有待迁移数据的迁移,使得新系统能够完整保存旧系统中的数据。
[0088]
如图2所示,本技术实施例公开了一种数据迁移装置,所述装置包括:
[0089]
创建单元201,用于预先建立索引表;所述索引表包括各个数据表每次进行更新时的更新记录;所述更新记录包括数据表更新时的数据结构以及更新时间。
[0090]
筛选单元202,用于当需要对待迁移数据进行迁移时,从所述索引表中筛选出与所述待迁移数据对应的数据表的更新记录,得到与所述待迁移数据对应的各个数据结构的更新时间;根据所述与所述待迁移数据对应的数据表的更新记录,获取所述待迁移数据对应的数据表的更新后的数据结构。
[0091]
数据处理单元203,用于将所述待迁移数据迁入至与所述更新后的数据结构对应的新数据表中;当所述待迁移数据中存在无法按照所述更新后的数据结构进行迁移的数据时,则将所述无法按照所述更新后的数据结构进行迁移的数据作为待更新数据;对所述待更新数据进行更新,得到更新数据;将所述更新数据迁移至所述新数据表中。在一种实施例中,所述装置还包括:
[0092]
更新单元,用于检测所述索引表中的数据表是否发生变更,当检测到所述索引表中存在变更的数据表时,自动生成所述变更的数据表对应的更新记录,并存储所述变更的数据表对应的更新记录到所述索引表中。
[0093]
在一种实施例中,数据处理单元203,具体用于:
[0094]
获取所述待更新数据中每个数据块对应的当前数据结构;所述当前数据结构为所述与所述待迁移数据对应的数据表的更新记录中与所述数据块的数据结构相同的数据结构;所述当前数据结构所对应的更新时间早于所述更新后的数据结构所对应的更新时间;
[0095]
获取所述每个数据块对应的当前数据结构与所述更新后的数据结构之间的差异
数据;
[0096]
根据所述差异数据对所述待更新数据中每个数据块对应的当前数据结构进行更新,使得所述待更新数据中每个数据块的数据结构与所述更新后的数据结构相同。
[0097]
数据处理单元203,具体用于:
[0098]
获取所述与所述待迁移数据对应的数据表的更新记录中更新时间早于所述更新后的数据结构所对应的更新时间的数据结构集;
[0099]
将所述数据结构集中的数据结构按照更新时间由晚到早的顺序进行排序;按照所述更新时间由晚到早的顺序,依次将所述数据结构集中的数据结构与所述待更新数据中每个数据块的数据结构进行比对;当正在进行比对的数据结构与所述待更新数据中的任意一个数据块的数据结构相同时,将所述正在进行比对的数据结构作为与所述数据块对应的所述当前数据结构,直至所述待更新数据中的每个数据块均比对到对应的所述当前数据结构。
[0100]
本发明通过建立索引表,确定出数据表的更新后的数据结构,根据更新后的数据结构将待迁移数据迁移至新数据表中,判断迁移数据中是否包含待更新数据,若包含,则对待更新数据进行更新,使得待更新数据能够按照更新后的数据结构进行迁移,从而改变脏数据的数据结构,使脏数据能够正常迁入至新系统中,完成所有待迁移数据的迁移,使得新系统能够完整保存旧系统中的数据。
[0101]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0102]
本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机操作指令,当计算机操作指令在计算机上运行时,使得计算机执行上述任意一种数据迁移的方法。
[0103]
本发明提供的一种数据迁移的方法、装置及计算机可读存储介质可用于金融领域或其他领域,例如,可用于金融领域中的系统升级应用场景。其他领域为除金融领域之外的任意领域,例如,数据处理领域。上述仅为示例,并不对本发明提供的一种数据迁移的方法、装置及计算机可读存储介质的应用领域进行限定。
[0104]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1