CN116361369A - 数据抽取加载方法及系统 - Google Patents

数据抽取加载方法及系统 Download PDF

Info

Publication number
CN116361369A
CN116361369A CN202310157850.1A CN202310157850A CN116361369A CN 116361369 A CN116361369 A CN 116361369A CN 202310157850 A CN202310157850 A CN 202310157850A CN 116361369 A CN116361369 A CN 116361369A
Authority
CN
China
Prior art keywords
database
information
file
loading
extraction
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
Application number
CN202310157850.1A
Other languages
English (en)
Inventor
张广太
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Financial Technology Co Ltd
Original Assignee
Bank of China Financial Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Financial Technology Co Ltd filed Critical Bank of China Financial Technology Co Ltd
Priority to CN202310157850.1A priority Critical patent/CN116361369A/zh
Publication of CN116361369A publication Critical patent/CN116361369A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种数据抽取加载方法及系统,该方法包括:根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;将所述纯文本文件加载到所述目标数据库。本发明通过将源数据库中的表数据抽取到预设格式的文件中,形成纯文本文件,进而将纯文本文件加载到目标数据库中,从而避免了现有ETL工具在进行数据库之间表到表的ETL加工时,对部分数据库不兼容或不支持的问题,提高了数据抽取加载效率。

Description

数据抽取加载方法及系统
技术领域
本发明涉及数据迁移技术领域,尤其涉及一种数据抽取加载方法及系统。
背景技术
在目前的数据仓库技术领域中,有多种开源或商业的ETL(Extract-Transform-Load)工具,这些ETL工具一般对市场上占有率较高的数据库的支持较为完备。而对于一些占有率较低或者新开发设计的数据库功能,当企业在这些数据库上使用ETL工具时,势必面临不兼容甚至不支持的情况,特别是数据库到数据库直传场景下,兼容性问题更加突出。
在实际应用中,当ETL工具对于某些数据库不支持时,对于开源的ETL工具可以基于其二次开发,实现自身需求;而对于较为封闭的商业软件ETL工具,只能通过定制化开发,导致灵活性不足,数据ETL处理效率较低,成本也较高;或者,有的企业通过放弃使用已采购的商业软件,重新采用当前数据库支持的ETL工具,进一步造成资源浪费。
因此,现在亟需一种数据抽取加载方法及系统来解决上述问题。
发明内容
针对现有技术存在的问题,本发明提供一种数据抽取加载方法及系统。
本发明提供一种数据抽取加载方法,包括:
根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;
抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;
将所述纯文本文件加载到所述目标数据库。
根据本发明提供的一种数据抽取加载方法,在所述根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库之前,所述方法还包括:
根据第一服务器信息和第二服务器信息,构建数据库登录信息,所述第一服务器信息包括所述源数据库所在服务器对应的登录信息,所述第二服务器信息包括所述目标数据库所在服务器对应的登录信息;
根据所述第一数据库表在所述源数据库中的目录路径信息,构建工作流信息;
根据所述第一数据库表、加载数据名称、第二数据库表和文件目录信息,构建所述源数据库与所述目标数据库之间的映射关系表,所述加载数据名称为所述纯文本文件在所述目标数据库中对应的文件名;所述第二数据库表为所述纯文本文件在所述目标数据库中待加载的数据库表;所述文件目录信息包括所述纯文本文件在所述目标数据库中的存放路径;
根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息;
所述将所述纯文本文件加载到所述目标数据库,包括:
根据所述映射关系表,确定所述目标数据库中对应的所述第二数据库表;
将所述纯文本文件加载到所述第二数据库表。
根据本发明提供的一种数据抽取加载方法,所述根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息,包括:
通过所述映射关系表,对所述数据库登录信息和所述工作流信息进行参数校验;
若校验通过,根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息。
根据本发明提供的一种数据抽取加载方法,所述方法还包括:
根据表数据抽取结果、纯文本文件加载结果和映射关系表校验结果,构建对应的日志信息。
根据本发明提供的一种数据抽取加载方法,所述方法还包括:
获取多个所述抽取任务配置信息;
在多个所述抽取任务配置信息对应的任务进程总量大于预设任务进程量时,将获取到的新的所述抽取任务配置信息对应的数据抽取任务标记为抽取任务等待状态。
根据本发明提供的一种数据抽取加载方法,所述方法还包括:
接收第一输入,所述第一输入包括确定目标文件处理方式的操作,所述目标文件处理方式包括文件备份、文件转存和文件压缩中的一种或多种;
响应于所述第一输入,通过所述目标文件处理方式,对所述纯文本文件进行处理,得到处理后的纯文本文件。
本发明还提供一种数据抽取加载系统,包括:
任务配置信息解析模块,用于根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;
数据抽取模块,用于抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;
数据加载模块,用于将所述纯文本文件加载到所述目标数据库。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据抽取加载方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据抽取加载方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据抽取加载方法。
本发明提供的数据抽取加载方法及系统,通过将源数据库中的表数据抽取到预设格式的文件中,形成纯文本文件,进而将纯文本文件加载到目标数据库中,从而避免了现有ETL工具在进行数据库之间表到表的ETL加工时,对部分数据库不兼容或不支持的问题,提高了数据抽取加载效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的数据抽取加载方法的流程示意图;
图2为本发明提供的数据抽取加载过程的整体流程示意图;
图3为本发明提供的数据抽取加载系统的结构示意图;
图4为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
多数支持Linux服务器部署的商业或者开源ETL工具,都会提供调用其核心程序的接口,以通过ETL工具将一个数据库的表通过抽取加载到另外一个数据库的表中。Informatica作为一种ETL工具,可以在不同数据库之间通过库到库直传的方式,对表数据进行ETL加工。然而,ETL工具并不能兼容目前市面上所有的数据库,例如,Informatica不支持Gbase数据库,在企业已采购Informatica工具后,如果要通过直传方式使用Gbase数据库,那就需通过定制化开发Informatica,实现对Gbase数据库的支持,会带来大量的成本增加,也会造成数据抽取加载效率较低。
本发明提供的数据抽取加载方法,涉及多个系统,不同服务器之间的信息交互可通过shell脚本实现;同时,支持Linux服务器部署的Gbase数据库提供有gccli客户端工具,可通过命令访问数据库。本发明以Informatica工具进行说明,首先使用Informatica工具将上游源系统(即源数据库)中的数据库表抽取到文本文件(如CSV文件)中,然后使用GbaseLoad data命令将文件中的数据加载到Gbase数据库对应的表中,从而可利用现有ETL工具,实现对数据库中表数据之间的ETL加工,无需对现有ETL工具进行额外定制开发,降低了企业运营开发成本,解决企业使用国产gbase数据的问题,同时支持其他类型的ETL工具,同时本发明部署灵活,可以快速移植到使用其他ETL工具的项目中,进一步提升数据抽取加载的效率。
图1为本发明提供的数据抽取加载方法的流程示意图,如图1所示,本发明提供了一种数据抽取加载方法,包括:
步骤101,根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表。
在本发明中,以ETL工具为Informatica,目标数据库为Gbase进行说明。为实现使用Informatica工具将上游数据库(即源数据库,本发明对源数据库的类型不作具体限定)中的表数据传输到Gbase数据库,同时支持上游表(即第一数据库表)来源于不同数据库的功能。首先可根据源数据库信息(如服务器登录信息)、目标数据库(如服务器登录信息)、Informatica工作流信息以及映射关系表(源数据库的数据加载到目标数据库后的纯文本文件名称和Gbase表之间的映射关系),构建作为批量数据抽取时的抽取任务配置表,进而根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库。在本发明中,Informatica工作流信息是进行数据加工时的执行单位,代表一个从源到目标的加工任务,源表信息、目标文件名称(纯文本文件在目标数据库中对应的文件名)、文件分隔符等配置信息保存在其中,其中,Informatica工作流信息可通过后台命令调用其对应接口入参。
步骤102,抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件。
在本发明中,可通过构建一个shell程序,将源数据库中的表数据抽取到预设格式的文件(如CSV格式),再将该文件加载到目标数据库的数据库表的过程串联起来,最后形成的shell程序可供实现ETL工具的调用,进而实现整个功能。在本发明中,通过shell程序,调用Informatica的Linux接口执行Informatica工作流,每一个工作流对应一个上游表,工作流的最终输出为纯文本文件(如CSV文件)。
在本发明中,由于shell程序一般不与Informatica部署在同一服务器,因此在执行抽数操作时,需要通过ssh命令登陆到Informatica服务器,传入执行命令所需的参数,如命令所在路径、工作流名称等执行器命令。在数据抽取之前,需要对Informatica服务器和shell服务器执行授信命令,之后会根据结果会返回是否成功的标志,进而判断是否进行下一步的抽取操作。
步骤103,将所述纯文本文件加载到所述目标数据库。
在本发明中,通过Informatica工具完成对源数据库中的表数据的数据抽取之后,进而将获取到的纯文本文件加载到Gbase数据库。字在本发明中,可通过Gbase Linux客户端工具gccli命令传入相关参数,执行Load data命令,从而将纯文本文件加载到目标数据库(即Gbase数据库)。
本发明提供的数据抽取加载方法,通过将源数据库中的表数据抽取到预设格式的文件中,形成纯文本文件,进而将纯文本文件加载到目标数据库中,从而避免了现有ETL工具在进行数据库之间表到表的ETL加工时,对部分数据库不兼容或不支持的问题,提高了数据抽取加载效率。
在上述实施例的基础上,在所述根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库之前,所述方法还包括:
根据第一服务器信息和第二服务器信息,构建数据库登录信息,所述第一服务器信息包括所述源数据库所在服务器对应的登录信息,所述第二服务器信息包括所述目标数据库所在服务器对应的登录信息;
根据所述第一数据库表在所述源数据库中的目录路径信息,构建工作流信息;
根据所述第一数据库表、加载数据名称、第二数据库表和文件目录信息,构建所述源数据库与所述目标数据库之间的映射关系表,所述加载数据名称为所述纯文本文件在所述目标数据库中对应的文件名;所述第二数据库表为所述纯文本文件在所述目标数据库中待加载的数据库表;所述文件目录信息包括所述纯文本文件在所述目标数据库中的存放路径;
根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息;
所述将所述纯文本文件加载到所述目标数据库,包括:
根据所述映射关系表,确定所述目标数据库中对应的所述第二数据库表;
将所述纯文本文件加载到所述第二数据库表。
在本发明中,抽取任务配置信息主要包括当前数据抽取加载任务涉及到的各数据库服务器信息,需要对这些服务器中的用户登录信息以及密码等敏感信息进行加解密处理,例如,Informatica服务器的登录信息和Gbase数据库服务器的登录信息,进而根据这些登录信息实现在不同系统之间的授信和数据交互。
进一步地,通过构建工作流信息,使得数据抽取任务中的任意一个工作流对应一个上游表以及该上游表在源数据库中的目录路径信息,当执行这个工作流时,工作流的最终输出为上游表对应的纯文本文件(如CSV文件)。
进一步地,本发明通过shell程序实现数据抽取加载的批量操作,需要构建源数据库与目标数据库之间的映射关系表,使得在数据抽取过程时,可基于该映射关系表,确定当前数据抽取任务中对应的源表(即第一数据库表)、源表中的表数据被抽取加载后在目标数据库中形成的纯文本文件的名称信息,以及该纯文本文件在目标数据库的存放路径。
同时,抽取任务配置信息中也包含一些内部流程性的配置信息,例如,接收文件目录(即抽取到的文本文件在目标数据库中的存放文件目录)、文件备份目录、日志目录、脚本绝对路径(如shell程序的存放路径)以及表数据保留期数等。在本发明中,对于抽取任务配置信息,可将该配置信息单独保存在config.ini文件中,当shell程序运行时读取该配置文件,从而实现本发明中涉及到的Informatica服务器、Gbase服务器之间的交互、服务器授信、文件处理以及并发控制等一系列功能。
在一实施例中,抽取任务配置信息也包含shell程序的入参校验,例如,Informatica工作流信息对应的名称信息,需要根据抽取任务配置信息,判断该名称信息是否已注册,以及是否冲突,根据判断结果完成相应的提示。
在上述实施例的基础上,所述根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息,包括:
通过所述映射关系表,对所述数据库登录信息和所述工作流信息进行参数校验;
若校验通过,根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息。
在本发明中,待校验的参数可以是源系统信息(如数据库登录信息)、工作流信息和数据日期等信息,校验的内容主要有参数个数和参数顺序等校验过程。在一实施例中,利用shell程序,通过gccli客户端登陆Gbase数据库,检查当前执行的工作流是否在映射关系表中已配置,并检查工作流中的数据日期格式是否正确,并满足时限要求,从而提高数据抽取加载的稳定性。
在上述实施例的基础上,所述方法还包括:
根据表数据抽取结果、纯文本文件加载结果和映射关系表校验结果,构建对应的日志信息。
在本发明中,通过shell程序涉及多个系统之间的交互,例如,ETL服务器与源数据库之间的交互,ETL服务器与目标数据库之间的交互等,同时,各类检查控制流程较多(如监控数据抽取是否成功,纯文本文件是否加载到目标数据库中等),因此,可通过记录各个阶段的日志信息,便于调试和观察数据抽取加载的整体情况,便于故障排查。
在一实施例中,将纯文本文件加载到目标数据库时,在加载过程结束后,根据返回结果判断下一步操作。如果加载过程失败,需要从Gbase服务器中对应加载日志目录中,下载当前加载任务对应的日志文件,以提供相应的加载失败分析信息。在本实施例中,下载功能可通过scp命令实现,如果下载的日志文件需要发送到远端服务器(如用户端所在服务器),同样需要在不同服务器(即Gbase数据库服务器与用户端所在服务器)之间执行授信命令。
在上述实施例的基础上,所述方法还包括:
获取多个所述抽取任务配置信息;
在多个所述抽取任务配置信息对应的任务进程总量大于预设任务进程量时,将获取到的新的所述抽取任务配置信息对应的数据抽取任务标记为抽取任务等待状态。
在本发明中,不同的上游数据库的输入/输出(Input/Output,简称IO)性能不一致,能并发支持的最大抽数任务有限,同时Informatica工具本身的并发任务也有限制,因此对不同的源数据库中待进行抽取的数据库表和抽数总任务量需要进行控制。具体地,当新的抽取任务启动时,判断当前正在执行抽取的任务进程数,当任务进程量超过设定的阈值上限后,后续抽取任务需要排队等待,直到之前的抽取任务完成之后,再启动后续抽取任务,在提高数据抽取过程效率的同时,也保证了数据抽取的稳定性。
在上述实施例的基础上,所述方法还包括:
接收第一输入,所述第一输入包括确定目标文件处理方式的操作,所述目标文件处理方式包括文件备份、文件转存和文件压缩中的一种或多种;
响应于所述第一输入,通过所述目标文件处理方式,对所述纯文本文件进行处理,得到处理后的纯文本文件。
在本发明中,为了追溯历史数据,可在数据加载结束之后,对加载到目标数据库的数据进行备份转存处理,也可通过对该数据进行压缩处理,从而降低存储空间占用。优选地,在一实施例中,还可根据文件期数和增全量信息增加相应标识。在另一实施例中,也可对工作流执行成功后的纯文本文件进行上述文件处理过程。
在一实施例中,对本发明提供的数据抽取加载方法的整体流程进行说明,图2为本发明提供的数据抽取加载过程的整体流程示意图,可参考图2所示,在数据抽取加载过程开始执行之前,各个服务器之间的授信操作需要提前执行,因为在执行数据抽取、加载以及日志下载的过程,都存在跨服务器交互;另外,抽取任务配置信息是提前根据数据抽取需求配置好的,在配置完成之后,需要进行参数校验,若校验成功,则获取到配置好的参数,即抽取任务配置信息,如果校验未通过,则将校验失败原因汇总至日志记录中。在本发明中,各个服务器的授信是一种操作命令,如果服务器之间已经授信就不需要进行授信操作。
进一步地,通过shell程序中的ssh命令登陆Informatica服务器,调用其后台命令执行已提前配置好的工作流,一个工作流代表一个从上游表抽取表数据到纯文本文件的任务,在本发明中,针对多个工作流,可采用并发控制的方式,在满足最大同时抽数任务线程数的情况下,将后续的任务设置为排队等待状态。在当前抽取数据务执行结束后,根据任务执行情况返回相应的标志,如果存在抽取失败的情况,则将抽取失败信息汇总至日志记录中,若抽取成功,则对抽取得到的纯文本文件进行处理。相应地,如果存在文件处理失败的情况,将文件处理失败信息也汇总到日志记录中。
进一步地,在纯文本文件处理之后,通过shell程序中,利用gccli客户端登陆Gbase数据库执行Load data命令,从而将纯文本文件加载到当前抽取任务对应的Gbase数据库表中。
在本发明中,如果文件加载失败,从Gbase服务器下载加载日志,并推送给用户端,用于分析失败原因。同样地,对于加载失败的情况,可将加载失败信息汇总到日志记录中。本发明中的日志记录,可对程序执行的各阶段记录调试信息,报错信息以及流程信息等进行统计。
在一实施例中,可参考图2所示,加载日志下载的过程是在文件加载失败时,才需要从Gbase服务器下载相应的加载失败信息;而在加载成功时并不需要下周,日志信息作为观察程序执行过程和结果的窗口,可提供给前端页面展示。
本发明提供的数据抽取加载方法,解决了目前ETL工具与部分数据库之间不兼容的问题,例如,Informatica工具不支持表到表直传Gbase数据库。本发明通过在一个任务流程中完成数据抽取、文件加载以及文件处理等功能,不需要对现有ETL工具额外定制化开发,可以实现不同ETL工具和不同数据库系统之间的数据抽取和加载。
下面对本发明提供的数据抽取加载系统进行描述,下文描述的数据抽取加载系统与上文描述的数据抽取加载方法可相互对应参照。
图3为本发明提供的数据抽取加载系统的结构示意图,如图3所示,本发明提供了一种数据抽取加载系统,包括任务配置信息解析模块301、数据抽取模块302和数据加载模块303,其中,任务配置信息解析模块301用于根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;数据抽取模块302用于抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;数据加载模块303用于将所述纯文本文件加载到所述目标数据库。
本发明提供的数据抽取加载系统,通过将源数据库中的表数据抽取到预设格式的文件中,形成纯文本文件,进而将纯文本文件加载到目标数据库中,从而避免了现有ETL工具在进行数据库之间表到表的ETL加工时,对部分数据库不兼容或不支持的问题,提高了数据抽取加载效率。
本发明提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
图4为本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(Processor)401、通信接口(Communications Interface)402、存储器(Memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行数据抽取加载方法,该方法包括:根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;将所述纯文本文件加载到所述目标数据库。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的数据抽取加载方法,该方法包括:根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;将所述纯文本文件加载到所述目标数据库。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的数据抽取加载方法,该方法包括:根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;将所述纯文本文件加载到所述目标数据库。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据抽取加载方法,其特征在于,包括:
根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;
抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;
将所述纯文本文件加载到所述目标数据库。
2.根据权利要求1所述的数据抽取加载方法,其特征在于,在所述根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库之前,所述方法还包括:
根据第一服务器信息和第二服务器信息,构建数据库登录信息,所述第一服务器信息包括所述源数据库所在服务器对应的登录信息,所述第二服务器信息包括所述目标数据库所在服务器对应的登录信息;
根据所述第一数据库表在所述源数据库中的目录路径信息,构建工作流信息;
根据所述第一数据库表、加载数据名称、第二数据库表和文件目录信息,构建所述源数据库与所述目标数据库之间的映射关系表,所述加载数据名称为所述纯文本文件在所述目标数据库中对应的文件名;所述第二数据库表为所述纯文本文件在所述目标数据库中待加载的数据库表;所述文件目录信息包括所述纯文本文件在所述目标数据库中的存放路径;
根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息;
所述将所述纯文本文件加载到所述目标数据库,包括:
根据所述映射关系表,确定所述目标数据库中对应的所述第二数据库表;
将所述纯文本文件加载到所述第二数据库表。
3.根据权利要求2所述的数据抽取加载方法,其特征在于,所述根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息,包括:
通过所述映射关系表,对所述数据库登录信息和所述工作流信息进行参数校验;
若校验通过,根据所述数据库登录信息、所述工作流信息和所述映射关系表,生成所述抽取任务配置信息。
4.根据权利要求3所述的数据抽取加载方法,其特征在于,所述方法还包括:
根据表数据抽取结果、纯文本文件加载结果和映射关系表校验结果,构建对应的日志信息。
5.根据权利要求1所述的数据抽取加载方法,其特征在于,所述方法还包括:
获取多个所述抽取任务配置信息;
在多个所述抽取任务配置信息对应的任务进程总量大于预设任务进程量时,将获取到的新的所述抽取任务配置信息对应的数据抽取任务标记为抽取任务等待状态。
6.根据权利要求1所述的数据抽取加载方法,其特征在于,所述方法还包括:
接收第一输入,所述第一输入包括确定目标文件处理方式的操作,所述目标文件处理方式包括文件备份、文件转存和文件压缩中的一种或多种;
响应于所述第一输入,通过所述目标文件处理方式,对所述纯文本文件进行处理,得到处理后的纯文本文件。
7.一种数据抽取加载系统,其特征在于,包括:
任务配置信息解析模块,用于根据抽取任务配置信息,确定源数据库、第一数据库表以及目标数据库,其中,所述第一数据库表为所述源数据库中待进行数据抽取的数据库表;
数据抽取模块,用于抽取所述第一数据库表中对应的表数据至预设格式的文件中,得到纯文本文件;
数据加载模块,用于将所述纯文本文件加载到所述目标数据库。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述数据抽取加载方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据抽取加载方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据抽取加载方法。
CN202310157850.1A 2023-02-23 2023-02-23 数据抽取加载方法及系统 Pending CN116361369A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310157850.1A CN116361369A (zh) 2023-02-23 2023-02-23 数据抽取加载方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310157850.1A CN116361369A (zh) 2023-02-23 2023-02-23 数据抽取加载方法及系统

Publications (1)

Publication Number Publication Date
CN116361369A true CN116361369A (zh) 2023-06-30

Family

ID=86931162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310157850.1A Pending CN116361369A (zh) 2023-02-23 2023-02-23 数据抽取加载方法及系统

Country Status (1)

Country Link
CN (1) CN116361369A (zh)

Similar Documents

Publication Publication Date Title
US9465718B2 (en) Filter generation for load testing managed environments
US20110179398A1 (en) Systems and methods for per-action compiling in contact handling systems
CN107302476B (zh) 一种测试异步交互系统的自动化测试方法与系统
US20180357143A1 (en) Testing computing devices
CA3131079A1 (en) Test case generation method and device, computer equipment and storage medium
WO2018120965A1 (zh) 自动化测试方法、计算机可读存储介质及装置
CN116204438A (zh) 测试用例生成方法、自动化测试方法和相关装置
CN103593293A (zh) 一种并行自动化测试方法
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
WO2019148657A1 (zh) 关联环境测试方法、电子装置及计算机可读存储介质
EP2913757A1 (en) Method, system, and computer software product for test automation
CN117056240B (zh) 一种支持离线Jar包的数据元件开发调试方法和系统
WO2016165461A1 (zh) 一种电信网网管系统软件自动化测试方法和装置
CN108984757A (zh) 一种数据导入方法及设备
CN111694724B (zh) 分布式表格系统的测试方法、装置、电子设备及存储介质
US9176797B1 (en) Workflow processing and methods for auditing and playback of data
CN116361369A (zh) 数据抽取加载方法及系统
CN114500348B (zh) 一种cdn网关测试方法及系统
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
CN110365627B (zh) 应用程序同步方法、装置、计算设备以及存储介质
CN111400117B (zh) 一种自动化测试Ceph集群的方法
CN114879977A (zh) 应用部署方法、装置及存储介质
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN115878448A (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