CN114185873A - 数据迁移方法、装置、服务器及存储介质 - Google Patents
数据迁移方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN114185873A CN114185873A CN202111549860.7A CN202111549860A CN114185873A CN 114185873 A CN114185873 A CN 114185873A CN 202111549860 A CN202111549860 A CN 202111549860A CN 114185873 A CN114185873 A CN 114185873A
- Authority
- CN
- China
- Prior art keywords
- source
- target
- data table
- field
- database
- 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
Images
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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于人工智能技术领域,提供了一种数据迁移方法、装置、服务器及存储介质,该方法包括:接收迁移配置信息;根据源地址确定源数据库及源数据库的源类型,根据目标地址确定目标数据库及目标数据库的目标类型;遍历源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件;按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中。本申请通过信息配置的方式实现数据库之间的数据迁移,有助于提高数据迁移效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种数据迁移方法、装置、服务器及存储介质。
背景技术
软件研发过程中,经常需要在数据源之间进行数据迁移,即:从作为源端的数据库中导出数据,并将导出的数据导入到作为目的端的数据库中。
相关技术中,由于不同数据库的类型可能不同,数据库中的数据表的结构可能不同,数据表中的字段取值也可能存在差别,因此,相关技术中,若针对两个数据库之间的差异进行手工处理,操作繁琐,将导致降低数据迁移效率。
发明内容
有鉴于此,本申请实施例提供了一种数据迁移方法、装置、服务器及存储介质,以解决相关技术中,在数据库之间进行数据迁移的效率不够高的问题。
本申请实施例的第一方面提供了一种数据迁移方法,包括:
接收迁移配置信息,迁移配置信息包括源地址和目标地址,其中,源地址为源数据库的地址,以及目标地址为目标数据库的地址;
根据源地址确定源数据库及源数据库的源类型,根据目标地址确定目标数据库及目标数据库的目标类型,以及分别与源数据库和目标数据库建立连接;
遍历源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件;
按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中。
进一步地,根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件,包括:
将相应源数据表中的各源字段的字段名称,组合生成源字段字符串,以及将相应源数据表的表名称、源字段字符串、源类型、目标类型,写入预设配置模板,得到针对相应源数据表的迁移配置文件。
进一步地,在根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件之后,还包括:
根据预先存储的针对目标数据库的表命名规则和字段命名规则,确定针对相应源数据表的目标表名称,以及确定针对相应源数据表中各源字段的目标字段名称;
将相应源数据表中的、各源字段的目标字段名称,组合生成目标字段字符串,以及将相应源数据表的目标表名称和目标字段字符串,写入迁移配置文件。
进一步地,按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中,包括:
针对源数据库中的各源数据表,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段;
从相应源数据表中分别读取各源字段的取值,以及按照与源类型和目标类型对应的格式转换关系,对所读取的源字段的取值进行转换后,将转换得到的取值写入目标数据库中的对应目标字段中。
进一步地,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段,包括:
若相应源数据表对应的迁移配置文件中包括与相应源数据表的表名称对应的目标表名称和与相应源数据表中各源字段分别对应的目标字段名称,则从相应源数据表对应的迁移配置文件中,查找与相应源数据表的表名称对应的目标表名称,记作第一名称,以及查找相应源数据表中各源字段分别对应的目标字段名称,记作第二名称,在目标数据库中建立名称为第一名称的目标数据表,以及在所建立的目标数据表中建立名称为第二名称的目标字段。
进一步地,方法还包括:
针对目标数据库中的各目标数据表,根据相应目标数据表对应的迁移配置文件,确定相应目标数据表在源数据库中的对应表位置,以及确定相应目标数据表中各目标字段在源数据中的对应字段位置;
根据对应表位置和对应字段位置,将相应目标数据表中的各字段的取值与对应的源数据表中的相应字段的取值进行一致性比对,以及针对比对不一致的字段,生成用于提示比对结果不一致的提示信息。
进一步地,分别与源数据库和目标数据库建立连接,包括:
若迁移配置信息还包括源登录账号、源密码、目标登录账号、目标密码,则根据源地址、源登录账号和源密码,与源数据库建立连接,以及根据目标地址、目标登录账号和目标密码,与目标数据库建立连接。
本申请实施例的第二方面提供了一种数据迁移装置,包括:
信息接收单元,用于接收迁移配置信息,迁移配置信息包括源地址和目标地址,其中,源地址为源数据库的地址,以及目标地址为目标数据库的地址;
连接建立单元,用于根据源地址确定源数据库及源数据库的源类型,根据目标地址确定目标数据库及目标数据库的目标类型,以及分别与源数据库和目标数据库建立连接;
文件生成单元,用于遍历源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件;
迁移执行单元,用于按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中。
进一步地,文件生成单元,具体用于:将相应源数据表中的各源字段的字段名称,组合生成源字段字符串,以及将相应源数据表的表名称、源字段字符串、源类型、目标类型,写入预设配置模板,得到针对相应源数据表的迁移配置文件。
进一步地,文件生成单元,具体还用于:根据预先存储的针对目标数据库的表命名规则和字段命名规则,确定针对相应源数据表的目标表名称,以及确定针对相应源数据表中各源字段的目标字段名称;将相应源数据表中的、各源字段的目标字段名称,组合生成目标字段字符串,以及将相应源数据表的目标表名称和目标字段字符串,写入迁移配置文件。
进一步地,迁移执行单元,具体用于:针对源数据库中的各源数据表,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段;从相应源数据表中分别读取各源字段的取值,以及按照与源类型和目标类型对应的格式转换关系,对所读取的源字段的取值进行转换后,将转换得到的取值写入目标数据库中的对应目标字段中。
进一步地,迁移执行单元中,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段,包括:若相应源数据表对应的迁移配置文件中包括与相应源数据表的表名称对应的目标表名称和与相应源数据表中各源字段分别对应的目标字段名称,则从相应源数据表对应的迁移配置文件中,查找与相应源数据表的表名称对应的目标表名称,记作第一名称,以及查找相应源数据表中各源字段分别对应的目标字段名称,记作第二名称,在目标数据库中建立名称为第一名称的目标数据表,以及在所建立的目标数据表中建立名称为第二名称的目标字段。
进一步地,装置还包括位置确定单元和数据验证单元。
位置确定单元,用于针对目标数据库中的各目标数据表,根据相应目标数据表对应的迁移配置文件,确定相应目标数据表在源数据库中的对应表位置,以及确定相应目标数据表中各目标字段在源数据中的对应字段位置;
数据验证单元,用于根据对应表位置和对应字段位置,将相应目标数据表中的各字段的取值与对应的源数据表中的相应字段的取值进行一致性比对,以及针对比对不一致的字段,生成用于提示比对结果不一致的提示信息。
进一步地,连接建立单元,具体用于:若迁移配置信息还包括源登录账号、源密码、目标登录账号、目标密码,则根据源地址、源登录账号和源密码,与源数据库建立连接,以及根据目标地址、目标登录账号和目标密码,与目标数据库建立连接。
本申请实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在服务器上运行的计算机程序,处理器执行计算机程序时实现第一方面提供的数据迁移方法的各步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现第一方面提供的数据迁移方法的各步骤。
实施本申请实施例提供的一种数据迁移方法、装置、服务器及存储介质具有以下有益效果:可以通过信息配置的方式,自动实现数据库之间的数据迁移,有助于提高数据迁移效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据迁移方法的实现流程图;
图2是本申请实施例提供的一种迁移执行过程的实现流程图;
图3是本申请实施例提供的一种用于对迁移后的数据进行验证的实现流程图;
图4是本申请实施例提供的一种数据迁移装置的结构框图;
图5是本申请实施例提供的一种服务器的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,基于人工智能技术,以实现数据库之间的有效数据迁移。
本申请实施例所涉及的数据迁移方法,可以由服务器执行。数据迁移方法由服务器执行时,执行主体为服务器。
需要指出的是,上述服务器可以包括但不限于服务器、计算机、手机、平板或可穿戴智能设备等。另外,上述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参阅图1,图1示出了本申请实施例提供的一种数据迁移方法的实现流程图,包括:
步骤101,接收迁移配置信息。
其中,上述迁移配置信息包括源地址和目标地址。其中,上述源地址为源数据库的地址,以及上述目标地址为目标数据库的地址。
上述迁移配置信息通常是用于对数据迁移过程进行配置的信息。实践中,迁移配置信息还可以包括但不限于:源登录账号、源密码、目标登录账号、目标密码、源类型、目标类型等。
其中,上述源登录账号通常为上述源数据库的登录账号。上述源密码通常为上述源数据库的登录密码。上述目标登录账号通常为上述目标数据库的登录账号。上述目标密码通常为上述目标数据库的登录密码。上述源类型通常为上述源数据库的数据库类型。上述目标类型通常为上述目标数据库的数据库类型。
实践中,数据库类型可以包括但不限于MySQL、MariaDB、Cassandra、MongoDB、Dynamo、LevelDB。其中,MySQL、MariaDB为关系型数据库,Cassandra、MongoDB为非关系型数据库,Dynamo、LevelDB为键值数据库。
其中,源数据库和目标数据库,通常是用于存储数据的服务器。
这里,上述数据迁移方法的执行主体通常为服务器。上述执行主体可以接收用户直接输入的迁移配置信息,也可以接收用户通过用户终端输入的迁移配置信息。
步骤102,根据源地址确定源数据库及源数据库的源类型,根据目标地址确定目标数据库及目标数据库的目标类型,以及分别与源数据库和目标数据库建立连接。
其中,上述源类型通常为上述源数据库的数据库类型。上述目标类型通常为上述目标数据库的数据库类型。
这里,上述执行主体可以采用上述源地址,找到上述源数据库,以及可以通过多种方式确定源数据库的数据库类型,如,可以通过数据库特有的函数、字符串处理方式、注释方式等,确定源数据库的数据库类型。同理,上述执行主体也可以采用目标地址找到上述目标数据库,以及确定上述目标数据库的数据库类型。
之后,上述执行主体可以与上述源数据库建立通信连接,以及与上述目标数据库建立通信连接。如,上述执行主体可以直接采用上述源数据库的地址,向上述源数据库发起通信连接请求,从而实现与上述源数据库建立通信连接。
在本申请的各个实施例的一些可选的实现方式中,上述分别与源数据库和目标数据库建立连接,可以包括:若迁移配置信息还包括源登录账号、源密码、目标登录账号、目标密码,则根据源地址、源登录账号和源密码,与源数据库建立连接,以及根据目标地址、目标登录账号和目标密码,与目标数据库建立连接。
其中,上述源登录账号通常为上述源数据库的登录账号。上述源密码通常为上述源数据库的登录密码。上述目标登录账号通常为上述目标数据库的登录账号。上述目标密码通常为上述目标数据库的登录密码。
这里,上述执行主体可以采用上述源数据库的登录密码和登录账号,登录上述源数据库,实现与上述源数据库建立通信连接。同理的,上述执行主体可以采用上述目标数据库的登录密码和登录账号,登录上述目标数据库,实现与上述目标数据库建立通信连接。
步骤103,遍历源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件。
其中,上述源数据表通常是指源数据库中的数据表。源字段通常是指源数据表中的字段。每个数据表中通常包括多个字段,如,一个用于记录某个年级的学生的各科成绩的数据表中,可以包括“姓名”字段、“班级”字段、“语文成绩”字段、“数学成绩”字段等。
这里,上述执行主体可以遍历源数据库中的每个源数据表。针对源数据库中的每个源数据表,上述执行主体可以获取该源数据表的表名称、该源数据表中各源字段的字段名称。然后,上述执行主体可以采用该源数据表的表名称、各源字段的字段名称、上述源类型和上述目标类型,生成该源数据表的迁移配置文件。如,可以将上述四者组合生成上述迁移配置文件。
在本实施例的一些可选的实现方式中,上述根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件,可以包括:将相应源数据表中的各源字段的字段名称,组合生成源字段字符串,以及将相应源数据表的表名称、源字段字符串、源类型、目标类型,写入预设配置模板,得到针对相应源数据表的迁移配置文件。
其中,上述预设配置模板,通常是预先设定的用于配置信息的模板。实践中,模板中通常具有多个变量,在将信息写入模板时,通常是将信息写入模板的对应变量位置。
这里,针对上述相应源数据表,上述执行主体可以将该源数据表中的各源字段的字段名称组合生成源字段字符串。如,若该源数据表中存在3个字段,字段名称分别为“name”、“sex”、“age”,则所生成的源字段字符串可以为:“name-sex-age”。之后,上述执行主体可以将源数据表的表名称、所生成的源字段字符串、源类型、目标类型,分别写入预设配置模板的对应变量位置,得到针对该源数据表的迁移配置文件。这样,针对每一个源数据表可以得到一个迁移配置文件。
在一些可选的实现方式中,在根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件之后,还可以包括如下步骤一至步骤二。
步骤一,根据预先存储的针对目标数据库的表命名规则和字段命名规则,确定针对相应源数据表的目标表名称,以及确定针对相应源数据表中各源字段的目标字段名称。
其中,上述表命名规则,通常是预先设定的用于对目标数据库中的数据表进行命名的规则。上述字段命名规则,通常是用于对目标数据库中的字段进行命名的规则。
这里,上述执行主体可以采用表命名规则对源数据表的表名称进行处理,得到与目标数据库适配的表名称。以及可以采用字段命名规则对源数据库中的字段名称进行处理,得到与目标数据库适配的字段名称。这样,针对源数据库中的每个源数据表,可以得到该数据表在目标数据库中的目标表名称,以及可以得到该数据表中的各字段在目标数据库中的目标字段名称。
本实施例可以实现对源数据库中的各源数据表的表名称进行自适应修改,以及对源数据表中的字段名称进行自适应修改。
步骤二,将相应源数据表中的、各源字段的目标字段名称,组合生成目标字段字符串,以及将相应源数据表的目标表名称和目标字段字符串,写入迁移配置文件。
这里,针对每个源数据表,上述执行主体可以将所得到的各目标字段名称组合生成目标字段字符串,以及将所生成的目标字段字符串写入上述迁移配置文件中。这样,可以实现在迁移配置文件中,记录源数据库中的各源数据表在目标数据库中的表名称和其中的各字段在目标数据库中的字段名称。这样,可以实现基于数据迁移前后的名称映射关系,找到对应的数据,从而实现数据一致性验证,以实现及时确定数据迁移是否有误。
步骤104,按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中。
这里,上述执行主体可以按照迁移配置文件中的所有配置信息,将各源数据表迁移至目标数据库中。如,针对上述源数据库中的每个源数据表,上述执行主体可以按照该源数据表对应的迁移配置文件,在上述目标数据库中建立一个与该源数据表对应的目标数据表,以及在所建立的目标数据表中建立与该源数据表的各源字段对应的目标字段,然后,将该源数据表中的各字段的取值存入对应的目标数据表的相应目标字段中。
本实施例提供的方法,可以通过信息配置的方式,自动实现数据库之间的数据迁移,有助于提高数据迁移效率。
在本实施例的一些可选的实现方式中,上述按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中,包括如下步骤201-步骤202。图2为本申请实施例提供的迁移执行过程的实现流程图。
步骤201,针对源数据库中的各源数据表,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段。
这里,上述执行主体可以针对每个源数据表,先在目标数据库中建立与该源数据表的表名称相同的目标数据表,以及在该目标数据表中建立与源数据表中各字段名称相同的目标字段。
步骤202,从相应源数据表中分别读取各源字段的取值,以及按照与源类型和目标类型对应的格式转换关系,对所读取的源字段的取值进行转换后,将转换得到的取值写入目标数据库中的对应目标字段中。
其中,上述格式转换关系,通常是预先设定的针对上述源类型的数据库与上述目标类型的数据库之间进行数值转换的映射关系。
这里,针对上述相应源数据表中的每个源字段,上述执行主体可以将该源字段的取值进行转换后迁移至目标字段中,从而实现将源数据表迁移至目标数据库中。
在本实施例的一些可选的实现方式中,上述根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段,可以包括:若相应源数据表对应的迁移配置文件中包括与相应源数据表的表名称对应的目标表名称和与相应源数据表中各源字段分别对应的目标字段名称,则从相应源数据表对应的迁移配置文件中,查找与相应源数据表的表名称对应的目标表名称,记作第一名称,以及查找相应源数据表中各源字段分别对应的目标字段名称,记作第二名称,在目标数据库中建立名称为第一名称的目标数据表,以及在所建立的目标数据表中建立名称为第二名称的目标字段。
这里,针对每个源数据表,若该源数据表对应的迁移配置文件中包括该源数据表的表名称对应的目标表名称、该源数据表中各源字段分别对应的目标字段名称。此时,上述执行主体可以从该配置文件中找到该源数据表的表名称对应的目标表名称,为了便于描述,记作第一名称,以及从该配置文件中找到该源数据表中各个源字段分别对应的目标字段名称,为了便于描述,记作第二名称。需要指出的是,针对每个源字段可以得到一个第二名称。之后,上述执行主体可以采用第一名称,在目标数据库中建立表名称为第一名称的目标数据表,以及在该目标数据表中建立字段名称为第二名称的目标字段。
本实施例可以实现按照迁移配置文件中所配置的目标表名称和目标字段名称在目标数据库中建立目标数据表和目标字段,更加灵活实用。
在本实施例的一些可选的实现方式中,上述数据迁移方法还可以包括如下步骤301-步骤302。图3为本申请实施例提供的用于对迁移后的数据进行验证实现流程图。
步骤301,针对目标数据库中的各目标数据表,根据相应目标数据表对应的迁移配置文件,确定相应目标数据表在源数据库中的对应表位置,以及确定相应目标数据表中各目标字段在源数据中的对应字段位置。
其中,目标数据表对应的迁移配置文件,与相对应的源数据表对应的迁移配置文件为同一文件。
这里,针对目标数据库中迁移进入的每个目标数据表,由于迁移配置文件中记录了相对应的源数据表与目标数据表之间的对应关系,故上述执行主体可以采用该目标数据表对应的迁移配置文件,确定得到该目标数据表在源数据表中的位置,以及确定得到该目标数据表中各字段在相对应的源数据表中的位置。
步骤302,根据对应表位置和对应字段位置,将相应目标数据表中的各字段的取值与对应的源数据表中的相应字段的取值进行一致性比对,以及针对比对不一致的字段,生成用于提示比对结果不一致的提示信息。
这里,上述执行主体可以针对每个目标数据表,针对该目标数据表中的每个目标字段,可以采用该目标字段的取值,与该目标字段在对应的源数据表的该字段的取值进行一致性比对。如,可以采用数据直接进行比对,也可以采用哈希值进行比对。若比对结果指示二者一致,则认为该字段数据迁移无误。若比对结果指示二者不一致,则该字段数据可以迁移有误。
举例来说,针对某一字段,该字段在源数据库中的取值为2021年11月16日,而在目标数据库下的取值为2021.11.16。二者的格式存在差异,此时,二者比对不一致,上述执行主体可以生成针对该字段的取值比对不一致的提示信息。这样,开发人员可以针对该提示信息进行及时处理,从而有助于提高数据迁移的效率和准确率。
请参阅图4,图4是本申请实施例提供的一种数据迁移装置400的结构框图。本实施例中该数据迁移装置包括的各单元用于执行图1-图3对应的实施例中的各步骤。具体请参阅图1-图3以及图1-图3所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,数据迁移装置400包括:
信息接收单元401,用于接收迁移配置信息,迁移配置信息包括源地址和目标地址,其中,源地址为源数据库的地址,以及目标地址为目标数据库的地址;
连接建立单元402,用于根据源地址确定源数据库及源数据库的源类型,根据目标地址确定目标数据库及目标数据库的目标类型,以及分别与源数据库和目标数据库建立连接;
文件生成单元403,用于遍历源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、源类型、目标类型,生成针对相应源数据表的迁移配置文件;
迁移执行单元404,用于按照源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至目标数据库中。
作为本申请一实施例,文件生成单元403,具体用于:将相应源数据表中的各源字段的字段名称,组合生成源字段字符串,以及将相应源数据表的表名称、源字段字符串、源类型、目标类型,写入预设配置模板,得到针对相应源数据表的迁移配置文件。
作为本申请一实施例,文件生成单元403,具体还用于:根据预先存储的针对目标数据库的表命名规则和字段命名规则,确定针对相应源数据表的目标表名称,以及确定针对相应源数据表中各源字段的目标字段名称;将相应源数据表中的、各源字段的目标字段名称,组合生成目标字段字符串,以及将相应源数据表的目标表名称和目标字段字符串,写入迁移配置文件。
作为本申请一实施例,迁移执行单元404,具体用于:针对源数据库中的各源数据表,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段;从相应源数据表中分别读取各源字段的取值,以及按照与源类型和目标类型对应的格式转换关系,对所读取的源字段的取值进行转换后,将转换得到的取值写入目标数据库中的对应目标字段中。
作为本申请一实施例,迁移执行单元404中,根据相应源数据表对应的迁移配置文件,在目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段,包括:若相应源数据表对应的迁移配置文件中包括与相应源数据表的表名称对应的目标表名称和与相应源数据表中各源字段分别对应的目标字段名称,则从相应源数据表对应的迁移配置文件中,查找与相应源数据表的表名称对应的目标表名称,记作第一名称,以及查找相应源数据表中各源字段分别对应的目标字段名称,记作第二名称,在目标数据库中建立名称为第一名称的目标数据表,以及在所建立的目标数据表中建立名称为第二名称的目标字段。
作为本申请一实施例,装置还包括位置确定单元和数据验证单元(图中未示出)。
位置确定单元,用于针对目标数据库中的各目标数据表,根据相应目标数据表对应的迁移配置文件,确定相应目标数据表在源数据库中的对应表位置,以及确定相应目标数据表中各目标字段在源数据中的对应字段位置;
数据验证单元,用于根据对应表位置和对应字段位置,将相应目标数据表中的各字段的取值与对应的源数据表中的相应字段的取值进行一致性比对,以及针对比对不一致的字段,生成用于提示比对结果不一致的提示信息。
作为本申请一实施例,连接建立单元402,具体用于:若迁移配置信息还包括源登录账号、源密码、目标登录账号、目标密码,则根据源地址、源登录账号和源密码,与源数据库建立连接,以及根据目标地址、目标登录账号和目标密码,与目标数据库建立连接。
本实施例提供的装置,可以通过信息配置的方式,自动实现数据库之间的数据迁移,有助于提高数据迁移效率。
应当理解的是,图4示出的数据迁移装置的结构框图中,各单元用于执行图1-图3对应的实施例中的各步骤,而对于图1-图3对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1-图3以及图1-图3所对应的实施例中的相关描述,此处不再赘述。
图5是本申请另一实施例提供的一种服务器的结构框图。如图5所示,该实施例的服务器500包括:处理器501、存储器502以及存储在存储器502中并可在处理器501上运行的计算机程序503,例如数据迁移方法的程序。处理器501执行计算机程序503时实现上述各个数据迁移方法各实施例中的步骤,例如图1所示的步骤101至步骤104。或者,处理器501执行计算机程序503时实现上述图4对应的实施例中各单元的功能,例如,图4所示的单元401至404的功能,具体请参阅图4对应的实施例中的相关描述,此处不赘述。
示例性的,计算机程序503可以被分割成一个或多个单元,一个或者多个单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序503在服务器500中的执行过程。例如,计算机程序503可以被分割成信息接收单元,连接建立单元,文件生成单元,迁移执行单元,各单元具体功能如上。
服务器可以包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图5仅仅是服务器500的示例,并不构成对服务器500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以是服务器500的内部存储单元,例如服务器500的硬盘或内存。存储器502也可以是服务器500的外部存储设备,例如服务器500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器502还可以既包括服务器500的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及转台设备所需的其他程序和数据。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法包括:
接收迁移配置信息,所述迁移配置信息包括源地址和目标地址,其中,所述源地址为源数据库的地址,以及所述目标地址为目标数据库的地址;
根据所述源地址确定源数据库及源数据库的源类型,根据所述目标地址确定目标数据库及目标数据库的目标类型,以及分别与所述源数据库和所述目标数据库建立连接;
遍历所述源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、所述源类型、所述目标类型,生成针对相应源数据表的迁移配置文件;
按照所述源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至所述目标数据库中。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述根据相应源数据表的表名称、各源字段的字段名称、所述源类型、所述目标类型,生成针对相应源数据表的迁移配置文件,包括:
将相应源数据表中的各源字段的字段名称,组合生成源字段字符串,以及将相应源数据表的表名称、所述源字段字符串、源类型、目标类型,写入预设配置模板,得到针对相应源数据表的迁移配置文件。
3.根据权利要求2所述的数据迁移方法,其特征在于,在所述根据相应源数据表的表名称、各源字段的字段名称、所述源类型、所述目标类型,生成针对相应源数据表的迁移配置文件之后,还包括:
根据预先存储的针对所述目标数据库的表命名规则和字段命名规则,确定针对相应源数据表的目标表名称,以及确定针对相应源数据表中各源字段的目标字段名称;
将相应源数据表中的、各源字段的目标字段名称,组合生成目标字段字符串,以及将相应源数据表的目标表名称和所述目标字段字符串,写入所述迁移配置文件。
4.根据权利要求1所述的数据迁移方法,其特征在于,所述按照所述源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至所述目标数据库中,包括:
针对所述源数据库中的各源数据表,根据相应源数据表对应的迁移配置文件,在所述目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段;
从相应源数据表中分别读取各源字段的取值,以及按照与所述源类型和所述目标类型对应的格式转换关系,对所读取的源字段的取值进行转换后,将转换得到的取值写入所述目标数据库中的对应目标字段中。
5.根据权利要求4所述的数据迁移方法,其特征在于,所述根据相应源数据表对应的迁移配置文件,在所述目标数据库中建立与相应源数据表对应的目标数据表,以及在所建立的目标数据表中建立与相应源数据表的各源字段对应的目标字段,包括:
若相应源数据表对应的迁移配置文件中包括与相应源数据表的表名称对应的目标表名称和与相应源数据表中各源字段分别对应的目标字段名称,则从相应源数据表对应的迁移配置文件中,查找与相应源数据表的表名称对应的目标表名称,记作第一名称,以及查找相应源数据表中各源字段分别对应的目标字段名称,记作第二名称,在所述目标数据库中建立名称为所述第一名称的目标数据表,以及在所建立的目标数据表中建立名称为所述第二名称的目标字段。
6.根据权利要求4所述的数据迁移方法,其特征在于,所述方法还包括:
针对所述目标数据库中的各目标数据表,根据相应目标数据表对应的迁移配置文件,确定相应目标数据表在所述源数据库中的对应表位置,以及确定相应目标数据表中各目标字段在所述源数据中的对应字段位置;
根据所述对应表位置和所述对应字段位置,将相应目标数据表中的各字段的取值与对应的源数据表中的相应字段的取值进行一致性比对,以及针对比对不一致的字段,生成用于提示比对结果不一致的提示信息。
7.根据权利要求1-6中任一项所述的数据迁移方法,其特征在于,所述分别与所述源数据库和所述目标数据库建立连接,包括:
若所述迁移配置信息还包括源登录账号、源密码、目标登录账号、目标密码,则根据所述源地址、所述源登录账号和所述源密码,与所述源数据库建立连接,以及根据所述目标地址、所述目标登录账号和所述目标密码,与所述目标数据库建立连接。
8.一种数据迁移装置,其特征在于,所述装置包括:
信息接收单元,用于接收迁移配置信息,所述迁移配置信息包括源地址和目标地址,其中,所述源地址为源数据库的地址,以及所述目标地址为目标数据库的地址;
连接建立单元,用于根据所述源地址确定源数据库及源数据库的源类型,根据所述目标地址确定目标数据库及目标数据库的目标类型,以及分别与所述源数据库和所述目标数据库建立连接;
文件生成单元,用于遍历所述源数据库中的各个源数据表,针对所遍历的相应源数据表,获取相应源数据表的表名称,提取相应源数据表中各源字段的字段名称,以及根据相应源数据表的表名称、各源字段的字段名称、所述源类型、所述目标类型,生成针对相应源数据表的迁移配置文件;
迁移执行单元,用于按照所述源数据库中各源数据表对应的迁移配置文件,将各源数据表迁移至所述目标数据库中。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111549860.7A CN114185873A (zh) | 2021-12-17 | 2021-12-17 | 数据迁移方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111549860.7A CN114185873A (zh) | 2021-12-17 | 2021-12-17 | 数据迁移方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185873A true CN114185873A (zh) | 2022-03-15 |
Family
ID=80544304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111549860.7A Pending CN114185873A (zh) | 2021-12-17 | 2021-12-17 | 数据迁移方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185873A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816578A (zh) * | 2022-05-11 | 2022-07-29 | 上海柯林布瑞信息技术有限公司 | 基于配置表的程序配置文件生成方法、装置及设备 |
CN115543969A (zh) * | 2022-11-28 | 2022-12-30 | 建信金融科技有限责任公司 | 一种数据迁移方法、装置、设备及介质 |
-
2021
- 2021-12-17 CN CN202111549860.7A patent/CN114185873A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816578A (zh) * | 2022-05-11 | 2022-07-29 | 上海柯林布瑞信息技术有限公司 | 基于配置表的程序配置文件生成方法、装置及设备 |
CN114816578B (zh) * | 2022-05-11 | 2024-05-17 | 上海柯林布瑞信息技术有限公司 | 基于配置表的程序配置文件生成方法、装置及设备 |
CN115543969A (zh) * | 2022-11-28 | 2022-12-30 | 建信金融科技有限责任公司 | 一种数据迁移方法、装置、设备及介质 |
CN115543969B (zh) * | 2022-11-28 | 2023-03-10 | 建信金融科技有限责任公司 | 一种数据迁移方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2745518C9 (ru) | Изоляция данных в сети блокчейн | |
CN114185873A (zh) | 数据迁移方法、装置、服务器及存储介质 | |
CN111352935B (zh) | 一种块链式账本中的索引创建方法、装置及设备 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN109558525B (zh) | 一种测试数据集的生成方法、装置、设备和存储介质 | |
CN104639517A (zh) | 利用人体生物特征进行身份验证的方法和装置 | |
CN110705235B (zh) | 业务办理的信息录入方法、装置、存储介质及电子设备 | |
CN110399306B (zh) | 软件模块自动化测试方法及装置 | |
WO2019161645A1 (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
US20160019266A1 (en) | Query generating method and query generating device | |
CN111435367A (zh) | 知识图谱的构建方法、***、设备及存储介质 | |
CN111897828A (zh) | 数据批处理实现方法、装置、设备及存储介质 | |
CN110362630B (zh) | 数据管理方法、装置、设备与计算机可读存储介质 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN111124541A (zh) | 一种配置文件的生成方法、装置、设备及介质 | |
CN117349267B (zh) | 一种数据库迁移处理方法及*** | |
CN108228312A (zh) | 通过解释器执行代码的***和方法 | |
CN114116691A (zh) | 数据导入校验方法、***、装置及计算机可读介质 | |
US11449461B2 (en) | Metadata-driven distributed dynamic reader and writer | |
KR100762712B1 (ko) | 규칙기반의 전자문서 변환방법 및 그 시스템 | |
CN110704635B (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
CN116860941A (zh) | 问答方法、装置、电子设备及存储介质 | |
CN103440231A (zh) | 用于比较文本的设备和方法 | |
KR20210052496A (ko) | Ai 창작물의 검증 장치 | |
CN116467279A (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 |