CN117056310A - 一种数据迁移方法、装置、电子设备及存储介质 - Google Patents
一种数据迁移方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117056310A CN117056310A CN202311027885.XA CN202311027885A CN117056310A CN 117056310 A CN117056310 A CN 117056310A CN 202311027885 A CN202311027885 A CN 202311027885A CN 117056310 A CN117056310 A CN 117056310A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- service
- file
- target
- 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.)
- Pending
Links
- 230000005012 migration Effects 0.000 title claims abstract description 152
- 238000013508 migration Methods 0.000 title claims abstract description 152
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000012795 verification Methods 0.000 claims description 29
- 238000004519 manufacturing process Methods 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据迁移方法、装置、电子设备及存储介质。该方法应用于数据迁移服务,该方法可包括:针对源服务中待迁移的源数据,将源数据存储到初始中间库中;针对与源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;进而,将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。本发明实施例的技术方案,通过将数据迁移功能从源服务和目标服务中抽象剥离出来,单独构建出数据迁移服务,并结合初始中间库以及业务中间库进行数据迁移,由此可在无需对源服务和目标服务进行改造的情况下,实现了数据迁移,从而可避免对源服务和目标服务造成影响。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据迁移方法、装置、电子设备及存储介质。
背景技术
在近几十年的数字化发展历程中,传统行业及新兴科创行业都经历着扭转乾坤的变化,各种新型技术不断地推出,这使得服务升级改造势在必行。需要说明的是,数据迁移正是服务升级改造过程中的重要一环。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:目前采用的数据迁移方案,对服务的影响较大,有待改进。
发明内容
本发明实施例提供了一种数据迁移方法、装置、电子设备及存储介质,以在无需对服务进行改造的情况下,实现数据迁移。
根据本发明的一方面,提供了一种数据迁移方法,该方法应用于数据迁移服务,该方法可以包括:
针对源服务中待迁移的源数据,将源数据存储到初始中间库中;
针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;
将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
根据本发明的另一方面,提供了一种数据迁移装置,该装置可配置于数据迁移服务,该装置可以包括:
源数据存储模块,用于针对源服务中待迁移的源数据,将源数据存储到初始中间库中;
目标数据得到模块,用于针对与源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;
目标数据迁移模块,用于将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
根据本发明的另一方面,提供了一种电子设备,可以包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器执行时实现本发明任意实施例所提供的数据迁移方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令用于使处理器执行时实现本发明任意实施例所提供的数据迁移方法。
本发明实施例的技术方案,通过独立于源服务和目标服务的数据迁移服务,将源服务中待迁移的源数据存储到初始中间库中;根据与源服务和目标服务对应的数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;然后,将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务上。上述技术方案,通过将数据迁移功能从源服务和目标服务中抽象剥离出来,单独构建出专门服务于数据迁移工作的数据迁移服务,并结合与源服务适配的初始中间库以及与目标服务适配的业务中间库进行数据迁移,由此可在无需对源服务(的代码逻辑)和目标服务(的代码逻辑)进行改造的情况下,实现数据迁移,从而可避免对源服务和目标服务造成影响。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或是重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种数据迁移方法的流程图;
图2是根据本发明实施例提供的另一种数据迁移方法的流程图;
图3是根据本发明实施例提供的另一种数据迁移方法的流程图;
图4是根据本发明实施例提供的另一种数据迁移方法的流程图;
图5a是根据本发明实施例提供的一种数据迁移方法中可选示例的第一示意图;
图5b是根据本发明实施例提供的一种数据迁移方法中的可选示例的第二示意图;
图6是根据本发明实施例提供的一种数据迁移装置的结构框图;
图7是实现本发明实施例的数据迁移方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。“目标”、“原始”等的情况类似,在此不再赘述。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本发明实施例中所提供的一种数据迁移方法的流程图。本实施例可适用于数据迁移的情况,尤其适用于通过独立于源服务和目标服务的数据迁移服务,实现源服务与目标服务之间的数据迁移的情况。该方法可由本发明实施例提供的数据迁移装置来执行,该装置可由软件和/或硬件的方式实现,该装置可集成在电子设备上,该电子设备可以是各种用户终端或是服务器,尤其可以是部署有数据迁移服务的单个服务器或是集群服务器,即数据迁移服务可单体部署,也可集群化部署,在此未做具体限定。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、针对源服务中待迁移的源数据,将源数据存储到初始中间库中。
其中,源数据可理解为源服务中存在迁移需求的数据,具体来说可理解为源服务中待迁移至目标服务的数据。结合本发明实施例可能涉及的应用场景,可以理解的是,在目标服务上线之前,源服务持续运行,而源服务中的源数据可分为静态数据和动态数据,其中,静态数据基本不变,因此可一次性抽取以迁移至目标服务上;动态数据通常跟随时间推移而发生变化,因此可分时间段抽取,例如先抽取当前时间及其之前的动态数据,然后在目标服务上线之际,再抽取当前时间至目标服务上线之前这段时间内的动态数据。
初始中间库可理解为预先构建的数据库,用于持久化存储源服务中的落库数据(即源数据)。需要说明的是,通常情况下,初始中间库不会对源数据执行任何业务性操作,可理解为源数据直接落地存储。
通过独立于源服务的数据迁移服务,将源数据存储到初始中间库中。在此基础上,可选的,可通过数据迁移服务直接从源服务中抽取源数据;也可通过源服务将源数据存储到预设服务器中,然后通过数据迁移服务从预设服务器中读取到源数据,这有助于实现源服务与数据迁移服务之间完全无耦合交叉点;当然,数据迁移服务也可通过其余方式获取到源数据,在此未做具体限定。
S120、针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据。
其中,源服务对应的表结构与目标服务对应的表结构可能存在差异,具体来说可以是源服务的生产数据库中的生产数据表(这里也可称为源数据表)的表结构,与,目标服务的生产数据库中的生产数据表(这里也可称为目标数据表)的表结构可能存在差异,例如源数据表中的某字段在相应的目标数据表中不再涉及,再如至少两张源数据表中的字段均对应到一张目标数据表中。因此,为了将源数据成功迁移至目标服务上,可先对源数据进行处理,以使处理后的源数据(这里可称为目标数据)与目标数据表的表结构相匹配。具体的,
获取相关人员提供的数据处理逻辑,该数据处理逻辑与源服务和目标服务对应,可用于将源数据处理为目标数据,例如通过转换和/或打散源数据以得到目标数据。根据数据处理逻辑,处理初始中间库中的源数据,得到目标数据。
S130、将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
其中,业务中间库可理解为预先构建的数据库,用于持久化存储待迁移至目标服务的目标数据(这里也可称为预生产数据)。需要说明的是,第一、业务中间库并非是真实生产环境下的业务数据库(即生产数据库);第二、通常情况下,业务中间库中的业务中间表的表结构与目标数据表的表结构完全相同,这有助于在将目标数据存储到业务中间库后,可将业务中间库中的目标数据成功迁移至目标服务,具体来说可以是成功迁移至目标服务的生产数据库中。
将目标数据存储到业务中间库中,这里实现了源数据从初始中间库到业务中间库的平滑过渡。在将目标数据存储到业务中间库中后,可通过独立于目标服务的数据迁移服务(这里亦是上文中的独立于源服务的数据迁移服务),将业务中间库中的目标数据迁移到目标服务;也可在相关人员的操作下,将业务中间库中的目标数据迁移到目标服务,这有助于实现目标服务与数据迁移服务之间完全无耦合交叉点;当然,也可通过其余方式将业务中间库中的目标数据迁移到目标服务,在此未做具体限定。
在此基础上,可选的,可先校验核对业务中间库内的目标数据的准确性,例如通过数据对比工具实现目标数据的校验核对,并在校验核对通过的情况下,可于任何时间将目标数据由业务中间库平滑迁移至目标服务,即数据迁移时间不受限制。再可选的,在迁移目标数据之前,可先灰度验证业务中间库,例如将部署有目标服务的N台机器中的部分机器由生产数据库切换到业务中间库上进行验证,并且在验证通过的情况下,将业务中间库中的目标数据平推到生产数据库,通常可在线上无操作的情况下平推,由此通过这样的缓冲过渡阶段,提高了数据迁移的容错率,其中,N是大于1的整数。
根据上文阐述可知,上述数据迁移方案,至少具有如下优点:
1、通过将数据迁移功能从源服务和目标服务中抽象剥离出来,单独构建出数据迁移服务,以专门服务于数据迁移工作,由此可在无需对源服务(的代码逻辑)和目标服务(的代码逻辑)进行改造的情况下,实现了数据迁移,从而可避免出现对源服务和目标服务造成影响的情况。而且,因为数据迁移服务只负责数据迁移工作,无需负责其余工作,因此具有轻量级的特点。
2、基于中间代理层的思想,将数据迁移服务平滑地置于源服务和目标服务之间,从而实现源服务和目标服务之间完全无耦合交叉点。
3、可在任何时间进行数据迁移工作,不受时间限制。
4、无需在停止运行源服务的情况下进行数据迁移,从而可避免源服务断供,实现了平滑过渡,用户体验较好。
5、不受限制数据库厂商,以及,源数据表与目标数据表的表结构是否相同,适用场景广泛,具有较好的兼容性。
本发明实施例的技术方案,通过独立于源服务和目标服务的数据迁移服务,将源服务中待迁移的源数据存储到初始中间库中;根据与源服务和目标服务对应的数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;然后,将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务上。上述技术方案,通过将数据迁移功能从源服务和目标服务中抽象剥离出来,单独构建出专门服务于数据迁移工作的数据迁移服务,并结合与源服务适配的初始中间库以及与目标服务适配的业务中间库进行数据迁移,由此可在无需对源服务(的代码逻辑)和目标服务(的代码逻辑)进行改造的情况下,实现数据迁移,从而可避免对源服务和目标服务造成影响。
图2是本发明实施例中提供的另一种数据迁移方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,上述数据迁移方法,还包括:获取源数据的第一标识;将源数据存储到初始中间库中,包括:针对初始中间库中已存储的历史数据的第二标识,通过对比第一标识与第二标识,将源数据更新或是新增到初始中间库中。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例的方法具体可以包括如下步骤:
S210、针对源服务中待迁移的源数据,获取源数据的第一标识。
其中,第一标识可用于唯一标识源数据,具体来说可用于唯一标识源数据的业务意义。在此基础上,结合本发明实施例可能涉及的应用场景,在源数据是源数据表中的行数据的情况下,第一标识可理解为用于唯一标识行数据的行标识,即用于唯一标识行数据的业务意义的行标识。示例性的,以商品库存表为例,商品库存表中的每行数据可分别表示一个商品的商品库存,那么,不同商品的商品库存可对应有不同的行标识。
S220、针对初始中间库中已存储的历史数据的第二标识,通过对比第一标识与第二标识,将源数据更新或是新增到初始中间库中。
其中,历史数据可理解为在将本次抽取的源数据存储到初始中间库之前,先前已抽取并且已存储到初始中间库中的源数据。示例性的,结合上文示例中的动态数据可知,在目标服务上线之际,历史数据可以是先前抽取的动态数据,而源数据可以是本次抽取的动态数据。第二标识可用于唯一标识历史数据。
通过对比第一标识与第二标识,将源数据更新或是新增到初始中间库中。具体来说,通过对比两个标识,可确定初始中间库中是否已存储与源数据相同的历史数据,进而由此确定出是将源数据更新或是新增到初始中间库中。需要说明的是,上述相同可理解为业务意义上的相同,而并非内容上的相同。例如,在源数据和历史数据均表示某商品的商品库存的情况下,这二者的标识相同,这是因为它们的业务意义均是该商品库存,但它们在该商品库存下的具体取值(即内容)可能存在差异,这是因为该商品库存可能随着时间推移而发生变化。
在此基础上,可选的,通过对比第一标识与第二标识,将源数据更新或是新增到初始中间库中,包括:对比第一标识与第二标识,得到标识对比结果;在根据标识对比结果,确定第一标识与第二标识相同的情况下,基于源数据对初始中间库中的历史数据进行更新;在根据标识对比结果,确定第一标识与第二标识不同的情况下,将源数据新增到初始中间库,由此在实现源数据的有效存储的基础上,还可保证初始中间库中的不同源数据在业务意义上的唯一性。
S230、针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据。
S240、将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
本发明实施例的技术方案,通过对比标识来确定将源数据新增或是更新到初始中间库中,即将与业务意义对应的标识作为源数据的存储依据,由此保证了初始中间库中的不同源数据在业务意义上的唯一性。
一种可选的技术方案,第一标识可通过至少一个第一字段进行表示,第二标识通过至少一个第二字段进行表示;
上述数据迁移方法,还包括:
对至少一个第一字段进行处理,生成第一索引;
针对初始中间库中已存储的历史数据的第二标识,通过对比第一标识与第二标识,将源数据更新或是新增到初始中间库中,包括:
针对初始中间库中已存储的历史数据的第二索引,通过对比第一索引与第二索引,将源数据更新或是新增到初始中间库中;
其中,第二索引通过对至少一个第二字段进行处理生成。
其中,第一标识通过至少一个第一字段进行表示,具体来说可以是通过源数据表中的至少一个第一字段进行表示。第二标识通过至少一个第二字段进行表示,具体来说可以是通过目标数据表中的至少一个第二字段进行表示。在此基础上,在第一字段和/或第二字段的数量包括至少两个的情况下,这时的对比性能不佳,具体来说可体现在对比效率和对比准确度方面。为了解决上述问题,这里对至少一个第一字段进行处理,生成可保证对比性能的第一索引,然后可进行索引级别的对比,即通过对比第一索引与历史数据的第二索引,确定将源数据更新或是新增到初始中间库中。上述技术方案,可极大提升数据检索性能,便于快速甄别源数据为新增数据或是更新数据。
在此基础上,可选的,针对初始中间中的初始中间表,可在初始中间表中专门设置一个用于存储第二索引的字段,由此可将第一索引与初始中间表中的各个第二索引分别进行对比,即确定初始中间表中是否存在与第一索引相同的第二索引,并在是的情况下,基于源数据更新初始中间表中与该第二索引对应的历史数据;否则,将源数据以及源数据的第一索引新增到初始中间表中。
再可选的,结合本发明实施例可能涉及的应用场景,可通过如下方式生成第一索引:对至少一个第一字段进行消息摘要算法(Message Digest Algorithm,MD)第五版(即MD5)加密,生成哈希字符串,然后基于哈希字符串对应的列字段(即至少一个第一字段)创建哈希索引(即第一索引),具体如下:哈希索引=hashIndex(MD5(id(field1_field2_...fieldN))),其中,field1—fieldN表示若干个列字段,MD5表示加密算法,hashIndex表示哈希索引算法,被MD5加密过的哈希字符串具有天然的唯一性,由此可保证索引对比的准确性。
图3是本发明实施例中提供的另一种数据迁移方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,上述数据迁移方法,还可包括:从预设服务器中读取到数据文件,并对数据文件进行解析,得到源数据,其中,数据文件从源服务中抽取并存储到预设服务器中。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例的方法具体可以包括如下步骤:
S310、从预设服务器中读取到数据文件,并对数据文件进行解析,得到源服务中待迁移的源数据,其中,数据文件从源服务中抽取并存储到预设服务器中。
其中,数据文件可理解为包含源数据的文件,结合本发明实施例可能涉及的应用场景,数据文件的文件格式可以是逗号分隔值(Comma-Separated Values,CSV)格式或是Excel格式等,在此未做具体限定。通常情况下,在单表数据量很大的情况下,可采用CSV格式的数据文件。预设服务器可理解为预先设置的用于存储数据文件的服务器,例如可以是安全文件传送协议(Secure File Transfer Protocol,sftp)服务器或是文件服务器等,在此未做具体限定。
以数据文件的形式,从源服务中抽取出源数据,例如可通过源服务或是除源服务和数据迁移服务之外的其余服务,自动从源服务中抽取出数据文件,也可由相关人员手动从源服务中抽取出数据文件,等等;然后,将数据文件存储到预设服务器中,具体说可以是存储到预设服务器中的预设磁盘路径下。这样一来,通过数据迁移服务,可从预设服务器中读取到数据文件,具体来说可从预设磁盘路径下读取到数据文件。进一步,对读取到的数据文件进行解析,从而得到源数据。在实际应用中,可选的,由于内存有限,无法一次性解析整个数据文件,因此在内存中可对数据文件中的源数据按行进行解析。
S320、将源数据存储到初始中间库中。
其中,S310和S320相互配合,由此实现了将数据文件转化成源数据,并将源数据持久化到初始中间库中。
S330、针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据。
S340、将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
本发明实施例的技术方案,通过以数据文件形式,从源服务中抽取源数据,并将抽取出的数据文件存储到预设服务器,从而数据迁移服务可从预设服务器中读取到数据文件,并对数据文件进行解析以得到源数据,由此实现了源服务与数据迁移服务之间完全无耦合交叉点,即实现了两个服务的零接触。
一种可选的技术方案,对数据文件进行解析,得到源数据,包括:
根据文件解析逻辑,对数据文件进行解析,得到源数据,其中,文件解析逻辑针对数据文件对应的文件模板,预先开发得到。
其中,文件模板可理解为与数据文件对应的模板,文件解析逻辑可理解为针对文件模板预先开发得到的用于解析数据文件的逻辑。基于文件解析逻辑,对数据文件进行解析,得到源数据。上述技术方案,基于与数据文件所对应的文件模板适配的文件解析逻辑,解析数据文件,实现了数据文件的有效解析。
在此基础上,结合本发明实施例可能涉及的应用场景,可选的,从源服务中可能抽取出的至少一个数据文件分别对应的文件模板可能相同或不同,因此为了提高数据文件解析的准确性,可针对源服务对应的至少一个文件模板分别开发得到相应的数据处理逻辑,从而在文件解析过程中,可通过调用与待解析的数据文件对应的文件解析逻辑,对该数据文件进行解析。而且,后续若新增待迁移的数据文件,并且该数据文件对应的文件模板并非是上述至少一个文件模板中的任一个的情况下,则只需扩展该文件模板对应的文件解析逻辑,无需调整原有的文件解析逻辑,由此实现了高内聚低耦合,扩展性较好。在此基础上,针对不同的文件解析逻辑,可预先分析出这些文件解析逻辑的共性,从而基于共性开发出通用代码逻辑,然后在通用代码逻辑的基础上,结合各个文件解析逻辑的个性分别进行适应性开发,由此提高了开发效率。
在此基础上,可选的,针对待开发的至少一个文件解析逻辑
另一种可选的技术方案,上述数据迁移方法,还包括:
对数据文件的文件大小和/或文件类型进行校验,得到文件校验结果;
对数据文件进行解析,得到源数据,包括:
在根据文件校验结果,确定数据文件满足预设文件要求的情况下,对数据文件进行解析,得到源数据。
其中,可以理解的是,数据迁移服务通常只能支持某些文件类型下的数据文件的解析过程,而且为了保证数据迁移服务的应用性能,其解析的数据文件的文件大小已存在一些限制。因此,在通过数据迁移服务对数据文件进行解析之前,可先对数据文件的文件大小和/或文件类型进行校验,得到文件校验结果。然后,在根据文件校验结果,确定数据文件满足预设文件要求的情况下,例如在文件大小小于或是等于预设大小(例如可以是20M或30M),和/或,文件类型在预设类型集合内的情况下,对数据文件进行解析。上述技术方案,实现了数据文件的初步校验,从而保证了数据文件解析的有效性和效率。在实际应用中,可选的,无论文件校验结果是校验通过或是校验未通过,或者是在校验未通过的情况下,可记录相应的校验日志,这便于后续跟踪排查异常。
另一种可选的技术方案,上述数据迁移方法,还包括:
基于数据文件对应的格式校验逻辑,对源数据的数据格式进行校验,得到格式校验结果;
将源数据存储到初始中间库中,包括:
在基于格式校验结果,确定出数据格式满足预设格式要求的情况下,将源数据存储到初始中间库中。
其中,格式校验逻辑可理解为针对数据文件预先开发得到的,用于校验从数据文件中解析出的源数据的数据格式的逻辑。结合上述技术方案,格式校验逻辑,具体可理解为针对数据文件对应的文件模板预先开发得到的逻辑。需要说明的是,在数据文件解析正确的情况下,从数据文件中解析得到的源数据的数据格式应满足预设格式要求,例如可以是数字、字符串或是日期等。因此,可基于格式校验逻辑对源数据的数据格式进行校验,并在基于得到的格式校验结果,确定数据格式满足预设格式要求的情况下,将源数据存储到初始中间库中,由此保证了初始中间库中的源数据的准确性。
另一种可选的技术方案,从预设服务器中读取到数据文件,包括:
根据迁移间隔时间,定时从预设服务器中读取数据文件,其中,迁移间隔时间,根据源数据的时效性要求预先设置得到。
其中,迁移间隔时间,可理解为相关人员根据源数据的时效性要求,预先设置的用于表征每次数据迁移的时间间隔,例如可以是5分钟、10分钟或是1小时等,在此未做具体限定。示例性的,在时效性要求较高的情况下,可设置较短的迁移间隔时间;在时效性要求不高的情况下,可适度降低或是拉升迁移间隔时间。数据迁移服务可根据迁移间隔时间,定时从预设服务器中读取数据文件,由此实现了数据迁移频率与时效性要求间的匹配性,解决了在数据迁移过程中经常出现的数据延迟问题。
在此基础上,结合本发明实施例可能涉及的应用场景,可预先搭建开源的定时预警服务平台,用于人为控制数据迁移频率。具体的,相关人员可根据源数据的时效性要求,在定时预警服务平台上手动设置迁移间隔时间,从而定时预警服务平台根据迁移间隔时间,定时调用数据迁移服务,以使数据迁移服务,按照迁移间隔时间,定时从预设服务器中读取数据文件。
另一种可选的技术方案,上述数据迁移方法,还包括:
在源数据落库成功的情况下,可将预设服务器中的数据文件,移动至预设服务器中的预设成功路径下;和/或,
在源数据落库失败的情况下,可将预设服务器中的数据文件,移动至预设服务器中的预设失败路径下,并记录落库失败日志。
上述技术方案,通过将数据文件移动至预设路径下以保留原始的数据文件,并详细记录落库异常时的落库失败日志,这便于后续跟踪排查异常及预警纠错。
图4是本发明实施例中提供的另一种数据迁移方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,初始中间库中存储有至少一个初始中间表,将源数据存储到初始中间库中,包括:确定至少一个初始中间表中与数据文件对应的第一中间表,并将源数据存储到第一中间表中。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图4,本实施例的方法具体可以包括如下步骤:
S410、从预设服务器中读取到数据文件,并对数据文件进行解析,得到源服务中待迁移的源数据,其中,数据文件从源服务中抽取并存储到预设服务器中。
S420、针对初始中间库中存储的至少一个初始中间表,确定至少一个初始中间表中与数据文件对应的第一中间表,并将源数据存储到第一中间表中。
其中,初始中间表可理解为初始中间库中的数据表,其的数量可以是一个、两个或多个,在此未做具体限定。上述至少一个初始中间表,可根据从源数据中可能抽取出的至少一个数据文件预先配置得到,通常情况下,至少一个初始中间表与至少一个数据文件间存在一一对应关系。在此基础上,针对本次抽取出的数据文件,可从至少一个初始中间表中确定与该数据文件对应的第一中间表,然后将从该数据文件中解析出的源数据,存储到第一中间表中。
S430、针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据。
S440、将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
本发明实施例的技术方案,通过将从数据文件中解析出的源数据,存储到至少一个初始中间表中与数据文件对应的第一中间表内,由此实现了源数据在初始中间库中的准确存储的效果。
一种可选的技术方案,至少一个初始中间表与源服务匹配,业务中间库中存储有至少一个业务中间表,至少一个业务中间表与目标服务匹配;
针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据,包括:
根据数据处理逻辑,处理第一中间表中的源数据,得到目标数据,其中,数据处理逻辑根据第一中间表的表结构以及第二中间表的表结构预先开发得到,第二中间表包括至少一个业务中间表中与第一中间表对应的业务中间表;
在目标服务的生产数据库中存储有与至少一个业务中间表分别相同的生产数据表,相应的,将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务,包括:
将目标数据存储到第二中间表中,以将第二中间表中的目标数据,迁移到至少一个生产数据表中对应第二中间表的生产数据表中。
其中,业务中间表可理解为业务中间库中的数据表,其的数量可以是一个、两个或多个,在此未做具体限定。第二中间表可理解为至少一个业务中间表中与第一中间表对应的业务中间表。数据处理逻辑根据第一中间表的表结构以及第二中间表的表结构预先开发得到,因此根据数据处理逻辑,对第一中间表中的源数据进行处理之后得到的目标数据,与第二中间表相适配,那么可将目标数据存储到第二中间表中,以将第二中间表中的目标数据,迁移到目标服务的生产数据库中的至少一个生产数据表中与第二中间表对应的生产数据表中。
上述技术方案,实现了源数据在不同数据库之间的有效迁移的效果。
为了从整体上更好地理解上述的各个技术方案,下面结合具体示例,对其进行示例性说明。示例性的,参见图5a,将从源服务中抽取出的数据文件上传至预设服务器中的预设磁盘路径下,然后定时预警服务平台根据迁移间隔时间,定时调用数据迁移服务,以定时扫描预设磁盘路径以获取文件列表,并从文件列表中的至少一个数据文件中读取到本次待解析的目标文件。进一步,对目标文件的文件大小和文件类型进行校验,在校验未通过的情况下,记录日志表,而且由于无法对目标文件进行解析,即无法从目标文件中解析出源数据,并将源数据存储到初始中间库,因此将落库失败的目标文件移动到预设失败路径;在校验通过的情况下,基于与目标文件的文件模板对应的文件解析逻辑,解析目标文件,得到目标文件中的源数据,并将源数据存储到相应的初始中间表内,进而记录日志表以及将落库成功的目标文件移动到预设成功路径下。
参见图5b,基于数据处理逻辑,对初始中间表中的源数据进行处理,得到目标数据。然后,对目标数据进行校验,这次校验可理解为业务意义上的校验,例如校验字段内容和字段格式等,并在校验未通过的情况下,可记录日志表,方便后续跟踪排查异常;在校验通过的情况下,可基于哈希索引甄别目标数据是新增数据或是更新数据,并以此为依据,将目标数据存储到业务中间表中。再然后,相关人员可将业务中间表中的目标数据同步至生产数据表,完成数据迁移,由此实现了一种轻量级高兼容高性能的数据迁移过程。
图6为本发明实施例中提供的数据迁移装置的结构框图,该装置用于执行上述任意实施例所提供的数据迁移方法。该装置与上述各实施例的数据迁移方法属于同一个发明构思,在数据迁移装置的实施例中未详尽描述的细节内容,可以参考上述数据迁移方法的实施例。参见图6,该装置配置于数据迁移服务,该装置具体可包括:源数据存储模块510、目标数据得到模块520和目标数据迁移模块530。其中,
源数据存储模块510,用于针对源服务中待迁移的源数据,将源数据存储到初始中间库中;
目标数据得到模块520,用于针对源服务和目标服务对应的数据处理逻辑,根据数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;
目标数据迁移模块530,用于将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务。
可选的,上述数据迁移装置,还包括:
第一标识获取模块,用于获取源数据的第一标识;
源数据存储模块510,包括:
源数据第一存储单元,用于针对初始中间库中已存储的历史数据的第二标识,通过对比第一标识与第二标识,将源数据更新或是新增到初始中间库中。
在此基础上,一可选的,源数据第一存储单元,包括:
标识对比结果得到子单元,用于对比第一标识与第二标识,得到标识对比结果;
源数据更新子单元,用于在根据标识对比结果,确定第一标识与第二标识相同的情况下,基于源数据对初始中间库中的历史数据进行更新;
源数据新增子单元,用于在根据标识对比结果,确定第一标识与第二标识不同的情况下,将源数据新增到初始中间库中。
另一可选的,第一标识通过至少一个第一字段进行表示,且第二标识通过至少一个第二字段进行表示;
上述数据迁移装置,还包括:
第一索引生成模块,用于对至少一个第一字段进行处理,生成第一索引;
源数据存储单元,具体用于:
针对初始中间库中的已存储的历史数据的第二索引,通过对比第一索引与第二索引,将源数据更新或是新增到初始中间库中;
其中,第二索引通过对至少一个第二字段进行处理生成。
可选的,上述数据迁移装置,还包括:
源数据得到模块,用于从预设服务器中读取数据文件,并对数据文件进行解析,得到源数据,其中,数据文件从源服务中抽取并存储到预设服务器中。
在此基础上,一可选的,源数据得到模块,包括:
源数据第一得到子模块,用于根据文件解析逻辑,对数据文件进行解析,得到源数据,文件解析逻辑针对数据文件对应的文件模板,预先开发得到。
另一可选的,上述数据迁移装置,还包括:
文件校验结果得到模块,用于对数据文件的文件大小和/或文件类型,进行校验,得到文件校验结果;
源数据得到模块,包括:
源数据第二得到子模块,用于在根据文件校验结果,确定出数据文件满足预设文件要求的情况下,对数据文件进行解析,得到源数据。
另一可选的,上述数据迁移装置,还包括:
格式校验结果得到模块,用于基于与数据文件对应的格式校验逻辑,对源数据的数据格式进行校验,得到格式校验结果;
源数据存储模块510,包括:
源数据第二存储单元,用于在基于格式校验结果,确定数据格式满足预设格式要求的情况下,将源数据存储到初始中间库中。
另一可选的,源数据得到模块,包括:
数据文件读取单元,用于根据迁移间隔时间,定时从预设服务器中读取到数据文件,其中,迁移间隔时间,根据源数据的时效性要求预先设置得到。
另一可选的,上述数据迁移装置,还包括:
数据文件第一移动模块,用于在源数据落库成功的情况下,将预设服务器中的数据文件,移动至预设服务器中的预设成功路径下;和/或,
数据文件第二移动模块,用于在源数据落库失败的情况下,将预设服务器中的数据文件,移动至预设服务器中的预设失败路径下,并记录落库失败日志。
另一可选的,初始中间库中存储有至少一个初始中间表;
源数据存储模块510,包括:
源数据第三存储单元,用于确定至少一个初始中间表中与数据文件对应的第一中间表,并将源数据存储到第一中间表中。
在此基础上,可选的,至少一个初始中间表与源服务匹配,业务中间库中存储有至少一个业务中间表,至少一个业务中间表与目标服务匹配;
目标数据得到模块,具体用于:
根据数据处理逻辑,处理第一中间表中的源数据,得到目标数据;
其中,数据处理逻辑根据第一中间表的表结构及第二中间表的表结构预先开发得到,第二中间表包括至少一个业务中间表中的与第一中间表对应的业务中间表;
目标服务的生产数据库中可存储有与至少一个业务中间表分别相同的生产数据表,目标数据迁移模块,具体用于:
将目标数据存储到第二中间表中,以将第二中间表中的目标数据,迁移到至少一个生产数据表中对应第二中间表的生产数据表中。
本发明实施例提供的数据迁移装置,独立于源服务和目标服务的数据迁移服务,通过源数据存储模块,将源服务中待迁移的源数据存储到初始中间库中;通过目标数据得到模块,根据源服务和目标服务对应的数据处理逻辑,对初始中间库中的源数据进行处理,得到目标数据;然后,通过目标数据迁移模块,将目标数据存储到业务中间库中,以将业务中间库中的目标数据,迁移到目标服务上。上述装置,通过将数据迁移功能从源服务和目标服务中抽象剥离出来,单独构建出专门服务于数据迁移工作的数据迁移服务,并结合与源服务适配的初始中间库以及与目标服务适配的业务中间库进行数据迁移,由此可在无需对源服务(的代码逻辑)以及目标服务(的代码逻辑)进行改造的情况下,实现数据迁移,从而可避免对源服务和目标服务造成影响。
本发明实施例所提供的数据迁移装置可执行本发明任意实施例所提供的数据迁移方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述数据迁移装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
图7示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据迁移方法。
在一些实施例中,数据迁移方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的数据迁移方法的一个或多个步骤。备选地,在其他实施例中,处理器11可通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据迁移方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、以及至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、以及该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或是其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行并且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种数据迁移方法,其特征在于,应用于数据迁移服务,所述方法包括:
针对源服务中待迁移的源数据,将所述源数据存储到初始中间库中;
针对所述源服务和目标服务对应的数据处理逻辑,根据所述数据处理逻辑,对所述初始中间库中的所述源数据进行处理,得到目标数据;
将所述目标数据存储到业务中间库中,以将所述业务中间库中的所述目标数据,迁移到所述目标服务。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述源数据的第一标识;
所述将所述源数据存储到初始中间库中,包括:
针对初始中间库中已存储的历史数据的第二标识,通过对比所述第一标识与所述第二标识,将所述源数据更新或是新增到所述初始中间库中。
3.根据权利要求2所述的方法,其特征在于,所述通过对比所述第一标识与所述第二标识,将所述源数据更新或是新增到所述初始中间库中,包括:
对比所述第一标识与所述第二标识,得到标识对比结果;
在根据所述标识对比结果,确定所述第一标识与所述第二标识相同的情况下,基于所述源数据对所述初始中间库中的所述历史数据进行更新;
在根据所述标识对比结果,确定所述第一标识与所述第二标识不同的情况下,将所述源数据新增到所述初始中间库中。
4.根据权利要求2所述的方法,其特征在于,所述第一标识通过至少一个第一字段进行表示,所述第二标识通过至少一个第二字段进行表示;
所述方法还包括:
对所述至少一个第一字段进行处理,生成第一索引;
所述针对初始中间库中已存储的历史数据的第二标识,通过对比所述第一标识与所述第二标识,将所述源数据更新或是新增到所述初始中间库中,包括:
针对初始中间库中已存储的历史数据的第二索引,通过对比所述第一索引与所述第二索引,将所述源数据更新或是新增到所述初始中间库中;
其中,所述第二索引通过对所述至少一个第二字段进行处理生成。
5.根据权利要求1所述的方法,其特征在于,还包括:
从预设服务器中读取到数据文件,并对所述数据文件进行解析,得到所述源数据,其中,所述数据文件从所述源服务中抽取并存储到所述预设服务器中。
6.根据权利要求5所述的方法,其特征在于,对所述数据文件进行解析,得到所述源数据,包括:
根据文件解析逻辑,对所述数据文件进行解析,得到所述源数据,其中,所述文件解析逻辑针对所述数据文件对应的文件模板,预先开发得到。
7.根据权利要求5所述的方法,其特征在于,还包括:
对所述数据文件的文件大小和/或文件类型进行校验,得到文件校验结果;
所述对所述数据文件进行解析,得到所述源数据,包括:
在根据所述文件校验结果,确定所述数据文件满足预设文件要求的情况下,对所述数据文件进行解析,得到所述源数据。
8.根据权利要求5所述的方法,其特征在于,还包括:
基于与所述数据文件对应的格式校验逻辑,对所述源数据的数据格式进行校验,得到格式校验结果;
所述将所述源数据存储到初始中间库中,包括:
在基于所述格式校验结果,确定所述数据格式满足预设格式要求的情况下,将所述源数据存储到初始中间库中。
9.根据权利要求5所述的方法,其特征在于,所述从预设服务器中读取到数据文件,包括:
根据迁移间隔时间,定时从预设服务器中读取数据文件,其中,所述迁移间隔时间,根据所述源数据的时效性要求预先设置得到。
10.根据权利要求5所述的方法,其特征在于,还包括:
在所述源数据落库成功的情况下,将所述预设服务器中的所述数据文件,移动至所述预设服务器中的预设成功路径下;和/或,
在所述源数据落库失败的情况下,将所述预设服务器中的所述数据文件,移动至所述预设服务器中的预设失败路径下,并记录落库失败日志。
11.根据权利要求5所述的方法,其特征在于,所述初始中间库中存储有至少一个初始中间表,所述将所述源数据存储到初始中间库中,包括:
确定所述至少一个初始中间表中与所述数据文件对应的第一中间表,并将所述源数据存储到所述第一中间表中。
12.根据权利要求11所述的方法,其特征在于,所述至少一个初始中间表与所述源服务匹配,所述业务中间库中存储有至少一个业务中间表,所述至少一个业务中间表与所述目标服务匹配;
所述针对所述源服务和目标服务对应的数据处理逻辑,根据所述数据处理逻辑,对所述初始中间库中的所述源数据进行处理,得到目标数据,包括:
根据数据处理逻辑,处理所述第一中间表中的所述源数据,得到目标数据;
其中,所述数据处理逻辑根据所述第一中间表的表结构以及第二中间表的表结构预先开发得到,所述第二中间表包括所述至少一个业务中间表中与所述第一中间表对应的业务中间表;
所述目标服务的生产数据库中存储有与所述至少一个业务中间表分别相同的生产数据表,所述将所述目标数据存储到业务中间库中,以将所述业务中间库中的所述目标数据,迁移到所述目标服务,包括:
将所述目标数据存储到所述第二中间表中,以将所述第二中间表中的所述目标数据,迁移到所述至少一个生产数据表中对应所述第二中间表的生产数据表中。
13.一种数据迁移装置,其特征在于,配置于数据迁移服务,所述装置包括:
源数据存储模块,用于针对源服务中待迁移的源数据,将所述源数据存储到初始中间库中;
目标数据得到模块,用于针对所述源服务和目标服务对应的数据处理逻辑,根据所述数据处理逻辑,对所述初始中间库中的所述源数据进行处理,得到目标数据;
目标数据迁移模块,用于将所述目标数据存储到业务中间库中,以将所述业务中间库中的所述目标数据,迁移到所述目标服务。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-12中任一项所述的数据迁移方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-12中任一所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311027885.XA CN117056310A (zh) | 2023-08-15 | 2023-08-15 | 一种数据迁移方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311027885.XA CN117056310A (zh) | 2023-08-15 | 2023-08-15 | 一种数据迁移方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056310A true CN117056310A (zh) | 2023-11-14 |
Family
ID=88662151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311027885.XA Pending CN117056310A (zh) | 2023-08-15 | 2023-08-15 | 一种数据迁移方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056310A (zh) |
-
2023
- 2023-08-15 CN CN202311027885.XA patent/CN117056310A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639027B (zh) | 一种测试方法、装置及电子设备 | |
CN108933695B (zh) | 用于处理信息的方法和装置 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN115599769A (zh) | 一种数据迁移方法、装置、电子设备及存储介质 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN112988583A (zh) | 数据库语法兼容性测试的方法和装置 | |
CN115454971A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN117056310A (zh) | 一种数据迁移方法、装置、电子设备及存储介质 | |
CN116301978A (zh) | 一种系统升级方法、装置、设备及存储介质 | |
CN115757304A (zh) | 一种日志存储方法、装置、系统、电子设备及存储介质 | |
CN112559233B (zh) | 识别故障类型的方法、装置、设备和计算机可读介质 | |
CN114924742A (zh) | 用于虚拟机模拟软件的热补丁制作和应用方法、装置 | |
CN115422275A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN113326038A (zh) | 用于提供服务的方法、装置、设备、存储介质及程序产品 | |
CN113760695A (zh) | 一种定位问题代码的方法和装置 | |
CN113760765B (zh) | 代码测试方法、装置、电子设备和存储介质 | |
CN112822302A (zh) | 数据归一化的方法、装置、电子设备及存储介质 | |
CN114611155B (zh) | 一种数据治理节点的校验方法、装置、设备及介质 | |
JP7293544B2 (ja) | 質問回答システムの更新処理方法及び装置 | |
CN113609145B (zh) | 数据库处理方法、装置、电子设备、存储介质及产品 | |
CN117492822B (zh) | 变更对比方法、装置、电子设备及存储介质 | |
CN114327602B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN115567624A (zh) | 一种报文处理方法、装置、电子设备及介质 | |
CN117829073A (zh) | 一种板卡配置生成方法、装置及存储介质 | |
CN117348847A (zh) | 需求管理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |