CN116204509A - 数据接入脚本生成方法、装置、电子设备及存储介质 - Google Patents
数据接入脚本生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116204509A CN116204509A CN202310159956.5A CN202310159956A CN116204509A CN 116204509 A CN116204509 A CN 116204509A CN 202310159956 A CN202310159956 A CN 202310159956A CN 116204509 A CN116204509 A CN 116204509A
- Authority
- CN
- China
- Prior art keywords
- template
- data
- script
- type
- 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
- 238000013515 script Methods 0.000 title claims abstract description 246
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000006978 adaptation Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 5
- 238000011068 loading method Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000013075 data extraction Methods 0.000 description 6
- 238000013480 data collection Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种数据接入脚本生成方法及装置,属于计算机技术领域。所述方法包括:通过预先设置数据采集脚本的模板文件,并编排指定类型的数据存储实体之间进行数据接入时的模板执行流程,生成模板编排信息;在应用阶段,用户仅需要配置数据接入任务的数据源类型、目标端类型和动态参数信息,客户端即可基于数据源类型和目标端类型进行模板编排信息适配,获取目标模板编排信息;最后,根据前述动态参数信息、目标模板编排信息中描述的模板文件和脚本执行顺序,通过对模板文件进行实例化,生成数据接入任务对应的可执行脚本。采用本申请实施例公开的数据接入脚本生成方法生成的可执行脚本,可读性和可维护性更强。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及数据接入脚本生成方法、装置、电子设备及存储介质。
背景技术
在数据中台建设过程中,数据集成平台承担数据收集阶段的任务及工作。数据的收集需要通过适配各类源端数据库表、数据文件等,面对多元数据的接入,数据集成平台需要与数据库、文件服务器、大数据平台等一种或多种数据源对接,以采集数据。与数据源对接的过程中,现有技术中常用的方法是提供各类可执行的脚本语言的数据接入脚本,供使用人员管理监控部署,以对接各种数据源,进行数据采集。
传统的做法是开发人员编写匹配各类数据源的数据接入脚本,完成目标端对源端数据的接入与采集。由于开发人员对于脚本的实现理解不同,以及技术水平能力等因素的制约,导致最终输出的数据接入脚本可维护性和可读性较差。
发明内容
本申请实施例提供一种数据接入脚本生成方法、装置、电子设备及存储介质,有助于提升生成的数据接入脚本的可读性和可维护性,同时,可以提升数据接入任务可执行脚本的生成效率。
第一方面,本申请实施例公开了一种数据接入脚本生成方法,包括:
获取数据接入任务对应的数据源类型、目标端类型和动态参数信息;
基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序;
根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本,其中,所述目标模板编排信息描述的所述模板文件是根据目标数据操作的脚本预先对应生成的,所述目标数据操作包括:数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时,数据采集工具执行的数据操作。
第二方面,本申请实施例公开了一种数据接入脚本生成装置,所述装置包括:
任务配置信息获取模块,用于获取数据接入任务对应的数据源类型、目标端类型和动态参数信息;
模板编排信息获取模块,用于基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序;
任务可执行脚本生成模块,用于根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本,其中,所述目标模板编排信息描述的所述模板文件是根据目标数据操作的脚本预先对应生成的,所述目标数据操作包括:数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时,数据采集工具执行的数据操作。
第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的数据接入脚本生成方法。
第四方面,本申请实施例公开了一种存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的数据接入脚本生成方法的步骤。
本申请实施例公开的数据接入脚本生成方法,通过预先设置数据库或大数据平台等存储实体中数据采集脚本的模板文件,并编排指定类型的数据存储实体之间进行数据接入时的模板执行流程生成模板编排信息,在应用阶段,用户仅需要配置数据接入任务的数据源类型、目标端类型和动态参数信息,客户端即可基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序;最后,根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本。采用本申请实施例公开的数据接入脚本生成方法生成的数据接入任务对应的可执行脚本,由按照预先编排的脚本执行顺序排列的模板文件生成,通过将可执行脚本的生成过程模板化、流程化,提升可执行脚本的可读性,可维护性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例公开的数据接入脚本生成方法的流程图;
图2是本申请实施例公开的数据接入脚本生成方法的另一流程图;
图3是本申请实施例公开的第一配置界面的一个示意图;
图4是本申请实施例公开的数据接入脚本生成方法的又一流程图;
图5是本申请实施例公开的第二配置界面的一个示意图;
图6是本申请实施例公开的数据接入脚本生成装置结构示意图之一;
图7是本申请实施例公开的数据接入脚本生成装置结构示意图之二;
图8示意性地示出了用于执行根据本申请的方法的电子设备的框图;以及
图9示意性地示出了用于保持或者携带实现根据本申请的方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开的一种数据接入脚本生成方法,如图1所示,所述方法包括:步骤110至步骤130。
步骤110,获取数据接入任务对应的数据源类型、目标端类型和动态参数信息。
本申请实施例中,所述的数据接入任务可以为不同类型的数据存储实体之间的数据接入任务。
其中,所述数据源类型和所述目标端类型为不同的存储实体类型。其中,所述存储实体类型包括但不限于:数据库、文件服务器、大数据平台中的任意一种类型。例如,所述数据接入任务可以为:将数据从数据库接入到文件服务器的数据接入任务。又例如,数据接入任务可以为将数据从Oracle数据库接入到MySQL数据库的数据接入任务。
本申请的实施例中,所述数据源类型指作为数据源的存储实体的类型(例如可以为:数据库),所述目标端类型作为接入目标端的存储实体的类型(例如可以为:大数据平台)。
本申请实施例中公开的数据接入脚本生成方法,可以应用于数据采集系统中的数据中台,或其他数据同步应用中。在工程应用中,所述数据接入脚本生成方法通过在客户端展示配置界面,实现人机交互,获取用户对数据接入任务的配置信息、动态参数的配置信息,获取用户上传的模板文件,以及,进行模板编排等。
可选的,用户可以通过客户端的配置界面配置数据接入任务需要的参数信息。例如,配置数据源类型、目标端类型。所述数据源类型包括以下任意一种:数据库、大数据平台、文件服务器;所述目标端类型包括以下任意一种不同于所述数据源类型的存储实体类型:数据库、大数据平台、文件服务器。具体举例而言,用户可以配置数据源类型为:数据库,配置目标端类型为:大数据平台;还可以配置数据源类型为:大数据平台,配置目标端类型为:MySQL数据库。
可选的,用户还可以通过客户端的配置界面配置动态参数信息。可选的,所述动态参数信息包括但不限于以下一种或多种信息:数据接入过程中的预设数据采集工具的标准参数对应的参数值、自定义参数的自定义参数名称的参数值等。例如,在数据库接入过程中,所述预设数据采集工具包括但不限于:JDBC(Java DataBase Connectivity,java数据库连接)工具、原生工具。
对于不同类型的存储实体,用户可配置的参数种类和参数值有所不同。可选的,可以根据不同类型的存储实体的数据采集指令和业务需求确定可动态配置的参数。例如,对于数据库类型的存储实体,可以通过配置界面配置分隔符的动态取值、可以配置接入字段、schema(数据库的名字空间)、自定义字段名称和参数值等。
本申请的实施例中,对不同类型的存储实体的数据接入任务可动态配置的参数不做限定。
当用户在配置界面完成数据接入任务配置,并确认保存任务配置之后,客户端可以通过界面处理程序获取用户配置的数据接入任务对应的数据源类型、目标端类型和动态参数信息。
步骤120,基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序。
其中,所述目标模板编排信息描述的所述模板文件是根据目标数据操作的脚本预先对应生成的,所述目标数据操作包括:数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时,数据采集工具执行的数据操作。可选的,所述目标数据操作包括但不限于以下一种或多种:数据加载操作、数据卸载操作、数据抽取操作。
本申请的实施例中,在根据用户配置信息自动生成数据接入任务的可执行脚本之前,首先需要上传模板文件,并基于上传的模板文件的信息,进行任务流程编排,生成并存储模板编排信息。
在获取到数据接入任务对应的数据源类型、目标端类型和动态参数信息之后,进一步的,基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取与所述数据接入任务匹配的模板编排信息,作为目标模板编排信息。
本申请的一些实施例中,如图2所示,基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息之前,还包括:步骤106和步骤108。
步骤106,获取用户配置的模板文件,存储为预设模板文件。
其中,所述预设模板文件包括:根据数据采集工具针对预设类型数据源或预设类型目标端执行指定数据操作的脚本生成的模板文件。
本申请的一些实施例中,在模板编排信息中,可以通过所述预设模板文件的信息描述依顺序执行的模板文件。可选的,所述预设模板文件的信息,可以为模板文件名称等可以唯一标识脚本模板文件的符号或字符串等形式的信息。
其中,预设模板文件为预先上传并存储在数据中台或数据同步应用中的模板文件。模板文件的上传方法参见下文中的相关描述,此处不再赘述。
本申请的一些实施例中,所述指定数据操作包括但不限于以下一种或多种:数据加载操作、数据卸载操作、数据抽取操作;相应的,所述预设模板文件包括但不限于以下一或多种:数据加载模板文件、数据卸载模板文件、数据抽取模板文件。可选的,预设类型数据源包括但不限于以下任意一种:数据库、文件服务器、大数据平台;预设类型目标端包括但不限于以下任意一种:数据库、文件服务器、大数据平台。
步骤108,根据用户配置的数据源类型、目标端类型,以及,数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时各执行步骤执行的脚本对应的预设模板文件,存储模板编排信息。
本申请的一些实施例中,可以在客户端展示第一配置界面,所述第一配置界面为模板编排功能对应的配置界面。如图3所示,在第一配置界面,用户可以配置数据源类型、目标端类型,以及,数据由所述数据源类型的存储实体接入到所述目标端类型的存储实体时各执行步骤执行的脚本对应的模板名称。
本申请的一些实施例中,根据用户配置的数据源类型、目标端类型,以及,数据由所述数据源类型的存储实体接入到所述目标端类型的存储实体时各执行步骤执行的脚本对应的预设模板文件,存储模板编排信息,包括:获取用户配置的数据源类型、目标端类型,以及,数据由所述数据源类型的存储实体接入到所述目标端类型的存储实体时各执行步骤执行的脚本对应的预设模板文件的信息;根据各所述执行步骤执行的脚本对应的所述预设模板文件的信息,获取各所述预设模板文件对应的脚本执行顺序;将所述数据源类型、所述目标端类型,以及,所述预设模板文件的信息和对应的所述脚本执行顺序进行关联存储,得到模板编排信息。
以维护人员在第一配置界面配置的数据源类型为数据库、目标端类型为HDFS(Hadoop Distributed File System,即大数据平台)为例,维护人员首现需要配置数据源类型为数据库、目标端类型为HDFS。之后,根据业务经验,数据由数据库同步至HDFS需要执行两个步骤,分别为数据库导出步骤和数据加载到HDFS的步骤,维护人员则需要在第一配置界面配置两个步骤,并配置每个步骤需要执行的脚本对应的模板文件的模板文件名称。例如,步骤1需要执行的数据库导出脚本对应的模板文件的模板文件名称为“db_export.ftl”,步骤2需要执行的本地数据上传到大数据平台(即HDFS)的脚本对应的模板文件的模板文件名称为“localToHdfs.ftl”。
可选的,第一配置界面还支持输入当前配置的描述信息,以增强生成的模板编排信息的区分度。
通过第一配置界面,可以将多个模板按照顺序进行组织,定义一个业务场景中需要使用的模板及模板组织顺序,模板编排决定对应业务场景中如何使用模板,并按照什么样的顺序组织其执行步骤的过程。可选的,可以通过模板列表选择上述各步骤对应的模板文件。
当确认保存上述配置信息之后,第一配置界面对应的界面处理程序根据上述步骤对应的所述模板标识,获取所述模板标识对应的脚本执行顺序,之后,将所述数据源类型、所述目标端类型,以及,所述模板标识对应的所述脚本执行顺序进行关联存储,得到一条模板编排信息。每条模板编排信息中记录了该条模板编排信息适用的数据源类型、目标端类型,以及,数据由数据源类型的存储实体同步至目标端类型的存储实体时需要顺序执行的一个或多个脚本对应的模板文件的信息。
本申请的一些实施例中,当数据源类型为数据库时,在第一配置界面,还可以配置具体数据库类型(如Oracle、MySQL),此时,数据库作为粗分数据源类型,Oracle或MySQL等具体数据库类型作为细分数据源类型。同样的,当目标端类型为数据库时,在第一配置界面,还可以配置具体目标端数据库类型(如Oracle、MySQL),此时,数据库作为粗分目标端类型,Oracle或MySQL等具体数据库类型作为细分目标端类型。相应的,在每条模板编排信息中记录了该条模板编排信息适用的数据源类型可以包括:粗分数据源类型和细分数据源类型,目标端类型可以包括:粗分目标端类型和细分目标端类型。
在基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息时,通过将进行数据接入任务配置时配置的数据源类型和目标端类型,与预先存储的每条模板编排信息中记录的数据源类型和目标端类型,分别进行匹配,以获取适用于当前配置的数据接入任务的模板编排信息。例如,对于预先存储的某条模板编排信息,当进行数据接入任务配置时配置的数据源类型和目标端类型,分别与该条模板编排信息中记录的数据源类型和目标端类型相同时,可以认为该条模板编排信息适用于当前配置的数据接入任务。
本申请的一些实施例中,所述数据源类型包括:粗分数据源类型和细分数据源类型中的一种或多种类型;所述目标端类型包括:粗分目标端类型和细分目标端类型中的一种或多种类型。当进行数据接入任务配置时配置的数据源类型和目标端类型包括细分类型时,优先基于细分类型进行匹配,在细分类型匹配失败的情况下,再基于粗分类型机型进行匹配。
可选的,基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息时,按照由细分类型到粗分类型的匹配顺序,将所述数据源类型和所述目标端类型,与预先存储的模板编排信息中的数据源类型和目标端类型进行匹配,获取匹配成功的所述模板编排信息,作为目标模板编排信息。
本申请的一些实施例中,基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,包括:响应于所述数据源类型指示数据库和第一数据库类型,将所述第一数据库类型作为第一数据源类型,否则,将所述数据源类型作为第一数据源类型;响应于所述目标端类型指示数据库和第二数据库类型,将所述第二数据库类型作为第一目标端类型,否则,将所述目标端类型作为第一目标端类型;将所述第一数据源类型和所述第一目标端类型,分别与预先存储的各条模板编排信息中的数据源类型和目标端类型的进行由细到粗的类型匹配,获取匹配成功的所述模板编排信息;将匹配成功的所述模板编排信息,作为目标模板编排信息。
例如,当粗分数据源类型为数据库时,可以进一步配置细分数据源类型为指定的一种数据库类型(如MySQL、Oracle等)。这种情况下,在进行模板编排信息适配时,优先匹配数据源类型中细分数据源类型为第一数据库类型的模板编排信息(即优先匹配具体数据库类型),若匹配不到,则放宽匹配条件,匹配粗分数据源类型为数据库的模板编排信息。如果用户在数据接入任务配置时未配置细分数据源类型,则直接基于粗分数据源类型进行匹配。
可选的,在将所述第一数据源类型和所述第一目标端类型,分别与预先存储的各条模板编排信息中的数据源类型和目标端类型的进行由细到粗的类型匹配时,首先基于同一存储实体分类层级进行比配,若匹配失败,再匹配更粗一级分类层级对应的类型信息。例如,若第一数据源类型为指定的一种数据库类型,则首先将第一数据源类型与模板编排信息中的细分数据源类型进行匹配,若匹配失败,再将第一数据源类型与模板编排信息中的粗分数据源类型进行匹配;若第一数据源类型为数据库类型,则首先将第一数据源类型与模板编排信息中的粗分数据源类型进行匹配。
具体举例而言,当进行数据接入任务配置时配置的数据源类型的粗分类型为数据库,细分类型为Oracle数据库,目标端类型的粗分类型为数据库,细分类型为MySQL数据库时,首先在预先存储的模板编排信息中,匹配数据源类型为Oracle且目标端类型为MySQL的模板编排信息,若匹配成功,则将匹配到的模板编排信息作为目标模板编排信息;若匹配失败,则放宽匹配条件,在预先存储的模板编排信息中,匹配数据源类型为Oracle且目标端类型为数据库,或者,预先存储的模板编排信息中,匹配数据源类型为数据库且目标端类型为MySQL的模板编排信息。若仍然匹配失败,则进一步放宽匹配条件,在预先存储的模板编排信息中,匹配数据源类型和目标端类型为数据库的模板编排信息。
通过由细到粗进行类型匹配,适配模板编排信息,可以提升适配得到的模板文件的准确度。
步骤130,根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本。
对于不同的数据采集工具都通过脚本的方式完成,针对不同的采集类型及工具需要配置不同的脚本模板。例如针对Oracle类型数据库使用原生工具的方式完成对数据采集时,即在脚本中使用对应可执行命令完成数据采集。同时,对于脚本执行过程中需要的参数,可以动态配置参数的取值,之后,该参数可以在脚本中直接使用。
本申请的一些实施例中,所述预设模板文件通过第三配置界面导入,所述预设模板文件包括:对应指定数据源类型的原生工具的数据加载模板文件、对应指定目标端类型的原生工具的数据卸载模板文件、对应指定数据源类型和目标端类型的原生工具的数据抽取模板文件、数据传输模板文件等。
可选的,开发人员线下编写预设类型的存储实体的数据加载脚本、数据卸载脚本、不同类型存储实体之间的数据传输脚本,以及,数据处理脚本等脚本的模板文件。之后,通过配置界面,将编写好的对应不同类型存储实体(如数据库、大数据平台、文件服务器等)对应的数据加载脚本、数据卸载脚本、数据抽取脚本、数据传输脚本等的模板文件上传到数据接入平台存储,用于后续在模板编排以及生成可执行脚本时选择使用。
本申请的实施例中,针对一种类型的存储实体(如数据库),可以仅编写通用的加载脚本模板、卸载脚本模板,也可以针对每个细分类型的存储实体(如Oracle数据库),单独编写对应的脚本模板文件。在实际工程应用中,编写的脚本模板文件可以被多个数据接入任务重用,使得基于模板文件生成的可执行脚本具有一致的格式,可读性和可维护性更强,而且,可以提升数据接入任务的可执行脚本的生成效率。
本申请的一些实施例中,所述动态参数信息是用户在数据接入任务配置时配置的模板文件中某个或某些参数的动态参数值。对于不同数据源类型和不同目标端类型,可以配置的动态参数根据业务需求确定。
本申请的一些实施例中,可以对如数据库等存储实体的操作脚本中的标准参数的参数值进行动态配置,还可以对自定义参数的参数值进行动态配置。通过配置动态参数,使得数据接入任务可以对用户自定义的数据结构进行接入。
本申请的一些实施例中,所述根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本,包括:根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本;根据所述脚本执行顺序,组装所述模板文件对应的所述可执行脚本,生成所述数据接入任务对应的可执行脚本。
在获取到当前配置的数据接入任务适配的模板文件和脚本执行顺序之后,对于每个模板文件,可以通过配置的动态参数及其取值,对模板文件中相应参数名称的参数进行实例化相应的模板文件,得到每个模板文件对应的可执行脚本。例如,模板文件中对于动态参数需要通过${key}的方式接收动态参数key的参数值,用于生成该模板文件的最终可执行脚本。最后,将生成的每个模板文件的可执行脚本,按照前述步骤获取的脚本执行顺序,顺序拼接得到的可以执行脚本文件,即可作为当前配置的数据接入任务的可执行脚本文件。
本申请的一些实施例中,所述动态参数信息包括:标准参数名称和参数值的对应关系,根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本,包括:基于所述标准参数名称对应的所述参数值,对获取到的所述目标模板编排信息描述的模板文件中所述标准参数名称对应的动态参数赋值,生成所述模板文件对应的可执行脚本。例如,对于数据库原生工具中使用的标准参数,用户可以在配置数据接入任务的界面配置某个或某些标准参数名称对应的参数值。这样,对于将该标准参数名称配置为动态参数的脚本模板,在生成可执行脚本时,${}中内容为动态参数对应的key值,最终使用该动态参数名称对应参数的参数值替换脚本模板中的动态参数,生成可以执行的脚本,从而实现参数与模板的结合,达到参数可以对模板功能的增强。具体举例而言,脚本模板中的脚本语句“if${count}>10”在生成可执行脚本时,count的参数值将被用来替换${count},从而生成如“if 15>10”的可执行脚本语句。其中,count的取值是通过数据接入任务的配置界面配置的。
本申请的一些实施例中,所述动态参数信息包括:自定义参数名称和参数值的对应关系。即数据接入任务处理的数据中包括自定义参数,例如,作为数据源的数据库中包括自定义参数,则在进行数据接入任务配置时,需要进一步配置该自定义参数的参数值。例如,在数据接入任务的配置界面,可以展示自定义参数名称和相应自定义参数名称的参数值的设置入口,使得用户可以设置各自定义参数名称对应的自定义参数的参数值。
相应的,在脚本模板中,可以将该自定义参数设置为动态参数。
本申请的一些实施例中,在脚本模板中,通过索引键引用各动态参数的取值。因此,需要预先对动态参数进行配置,如配置各自定义参数名称和索引键的对应关系。
本申请的一些实施例中,如图4所示,所述根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本之前,包括:步骤102和步骤104。
步骤102,获取用户配置的自定义参数的自定义参数名称,以及,所述自定义参数名称对应的索引键。
参数配置主要是根据处理类型(如原生工具或其他工具)以及角色(如数据源或目标端)配置自定义参数的显示名称(即自定义参数名称)、参数key(即索引键)、参数类型以及在任务配置界面的排版顺序等信息。其中参数类型可以包括:文本型、数据值型、日期型、下拉型等。如果是下拉型,还需要配置来源信息,并在来源信息中添加对应的代码值相关内容。
本申请的实施例中,可以在客户端展示第二配置界面,供用户在第二配置界面进行自定义参数的配置。用户可以在第二配置界面配置进行数据接入时,采用的数据采集或传输工具使用的脚本文件中相应指令的自定义参数的显示名称和在脚本中的索引键。如图5所示,用户可以在第二配置界面配置将数据从数据源类型的数据库同步至目标端类型的数据库时,采用的数据库原生工具对应的脚本文件中作为动态参数的自定义参数的显示名称(即自定义参数名称)和参数key(即索引键)。第二配置界面的数据处理程序可以获取用户配置的自定义参数的参数名称,以及该自定义参数的参数key。
步骤104,将所述自定义参数名称和所述索引键的对应关系,存储为所述动态参数配置信息。
在用户确认当前自定义参数配置之后,第二配置界面的数据处理程序可以进一步将用户配置的自定义参数名称和所述参数key作为一组动态参数配置信息进行存储。这样,在进行数据接入任务配置时,可以在配置界面显示自定义参数的自定义参数名称,以增强配置界面的可读性,而在脚本的模板文件中,采用参数key作为变量,提升模板文件的可维护性。
本申请的一些实施例中,所述根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本,包括:根据所述动态参数配置信息,获取所述自定义参数名称对应的所述索引键;基于所述自定义参数名称对应的所述参数值,对获取到的所述目标模板编排信息描述的模板文件中所述自定义参数名称对应的所述索引键赋值,生成所述模板文件对应的可执行脚本。
具体举例而言,可以首先配置某个动态参数的自定义参数名称和索引键(即参数key),该自定义参数名称在数据接入任务的任务配置界面展示,用于指示用户为该名称的动态参数配置参数值,该索引键将在模板文件中作为变量被引用。之后,在数据接入任务配置过程中,用户通过配置界面设置该自定义参数名称的参数值之后,配置界面的数据处理程序获取该自定义参数名称的动态参数的参数值,并以该参数值对该自定义参数名称对应的索引键(即参数key)赋值。之后,在基于包含“${key}”语句的模板文件生成可执行脚本时,${key}将被该参数值替换,从而实现基于用户配置的动态参数的参数值生成可执行脚本。
本申请的另一些实施例中,在根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本时,还可以首先根据所述脚本执行顺序,组装获取到的所述目标模板编排信息描述的模板文件,生成所述数据接入任务对应的组合模板文件,之后,根据所述动态参数信息,实例化组合模板文件,生成所述数据接入任务对应可执行脚本。根据所述动态参数信息,实例化组合模板文件,生成所述数据接入任务对应可执行脚本的具体实施方式,参照前述对模板文件进行实例化的具体实施方式,此处不再赘述。
为了便于读者理解本申请,下面对本申请实施例公开的数据接入脚本生成方法在数据采集场景中的应用进行进一步举例说明。
在数据采集场景中,可以基于客户端-服务端的系统架构构建数据采集系统。
可选的,客户端用于展示配置界面,并执行配置界面对应的交互处理,以及与服务端的数据交互。可选的,服务端可以用于存储和管理预先编写并上传的模板文件、维护人员配置的动态参数信息、模板编排信息、针对用户配置的每个数据接入任务生成的可执行脚本等数据;服务端还可以用于根据用户针对数据接入任务的配置信息进行模板编排信息匹配,以及,用于根据匹配成功模板编排信息和预先存储的模板文件、动态参数配置信息等生成数据接入任务的可执行脚本。
在具体实施过程中,首先,脚本开发人员针对数据采集系统支持的可以作为数据源类型或目标端类型的存储实体的类型,根据各类型存储实体的数据采集工具执行指定数据操作的脚本,生成模板文件。例如,针对数据库类型的存储实体,基于数据库原生工具中的数据加载脚本、数据卸载脚本,生成数据库类型对应的数据加载模板文件、数据卸载模板文件。
然后,维护人员可以通过客户端的配置界面将模板文件上传至数据采集系统中的模板管理模块,存储为预设模板文件,由模板管理模块进行管理。预设模板文件的生成方法参见前文步骤106对应的相关描述,此处不再赘述。
为了提高模板文件的通用性,并兼容用户自定义的数据结构,在模板文件中,可以采用动态参数的形式声明需要动态获取参数取值的参数。模板文件中动态参数的定义方法参见前文描述,此处不再赘述。
之后,维护人员需要通过客户端的配置界面(如图5所示的第二配置界面)进行动态参数配置,以配置模板文件中各动态参数在任务配置界面展示的参数名称和该动态参数在模板文件中引用时对应的索引值,使得在实例化模板文件时,可以成功获取到用户配置的动态参数的取值。
动态参数的配置方法参见前文步骤102和步骤104的具体实施方式的相关描述,此处不再赘述。
接下来,维护人员可以通过客户端的配置界面(如图3所示的第一配置界面)进行模板编排,定义数据采集系统支持的每个业务场景对应的数据源类型、目标端类型,以及,该业务场景下执行数据接入任务时需要顺序执行的每个执行步骤执行的脚本对应的模板文件。客户端将根据维护人员对每个业务场景的配置信息,生成该业务场景对应的模板编排信息。
模板编排信息的生成方法参见前文针对步骤108的具体实施方式的相关描述,此处不再赘述。
在维护人员完成上述配置之后,用户则可以根据需要进行数据接入任务的配置,从而通过数据采集系统的客户端自动生成数据接入任务的可执行脚本。
在用户进行数据接入任务配置时,用户可以通过数据采集系统的客户端的任务配置界面配置当前数据接入任务的数据源类型、目标端类型,客户端可以根据用户配置的数据源类型和目标端类型检索服务端存储的相应数据接入任务需要配置的动态参数(如前文所述的标准参数和自定义参数)的参数名称,并展示在任务配置界面,以提示用户配置相应参数的取值。
在用户完成数据接入任务配置之后,客户端将根据用户在任务配置界面配置的信息,获取当前数据接入任务对应的数据源类型、目标端类型和动态参数信息。客户端获取当前数据接入任务对应的数据源类型、目标端类型和动态参数信息的具体实施方式参见前述步骤110,此处不再赘述。
接下来,客户端可以将上述数据接入任务对应的数据源类型、目标端类型和动态参数信息,发送至服务端,触发服务端在接收到上述数据接入任务对应的数据源类型、目标端类型和动态参数信息之后,通过执行前述步骤120和步骤130,生成当前配置的数据接入任务对应的可执行脚本。
在本申请的其他实施例中,上述步骤110、步骤120和步骤130还可以部分或全部在客户端执行,本申请实施例公开的数据接入脚本生成方法,对上述步骤的执行主体不做限制。
本申请实施例公开的数据接入脚本生成方法,通过预先设置数据库或大数据平台等存储实体中数据采集脚本的模板文件,并编排指定类型的数据存储实体之间进行数据接入时的模板执行流程生成模板编排信息,在应用阶段,用户仅需要配置数据接入任务的数据源类型、目标端类型和动态参数信息,客户端即可基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板信息和脚本执行顺序;最后,根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本。采用本申请实施例公开的数据接入脚本生成方法生成的数据接入任务的可执行脚本时,对于生成的可执行数据接入脚本,通过模板化及流程化的方式定义,用户只需要通过可视化配置界面提供对应的参数即可以完成对不同类型存储实体的数据接入脚本的开发,标准化和自动化程度高,可读性和可维护性更强。
并且,采用本申请实施例公开的数据接入脚本生成方法,通过复用预先编写的脚本模板,结合动态参数化,可以快速生成数据接入任务的可执行脚本,相对于现有技术中针对每个数据接入任务单独编写可执行脚本而言,生成可执行脚本的效率更高。
对于动态参数、脚本模板、模板编排信息的配置是为了方便数据采集人员对采集任务的配置,数据接入任务的配置界面通过动态参数定义的参数名称进行信息填报,保存后按照对应的脚本模板使用填报的内容进行标准化、格式化,之后,按照模板编排信息串接脚本,完成整个数据的抽取到转移以及最终加载的可执行脚本制作,极大提升了数据采集任务的可执行脚本生成效率。
采用本申请实施例公开的数据接入脚本生成方法生成可执行脚本,通过提供数据抽取、转移、加载过程中常用的标准参数、脚本模板,以及模板编排信息,简化了数据采集项目中的实施步骤,提高了数据集成开发效率。
相应的,本申请实施例还公开了一种数据接入脚本生成装置,如图6所示,所述装置包括:
任务配置信息获取模块610,用于获取数据接入任务对应的数据源类型、目标端类型和动态参数信息;
模板编排信息获取模块620,用于基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序,其中,所述目标模板编排信息描述的所述模板文件是根据目标数据操作的脚本预先对应生成的,所述目标数据操作包括:数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时,数据采集工具执行的数据操作;
任务可执行脚本生成模块630,用于根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本。
其中,所述数据源类型和所述目标端类型为不同的存储实体类型。
本申请的一些实施例中,所述基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息之前,如图7所示,所述装置还包括:
模板编排模块606,用于根据用户配置的数据源类型、目标端类型,以及,数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时各执行步骤执行的脚本对应的预设模板文件,存储模板编排信息。
本申请的一些实施例中,如图7所示,所述装置还包括:
模板管理模块604,用于获取用户配置的模板文件,存储为预设模板文件,其中,所述预设模板文件包括:根据数据采集工具针对预设类型数据源或预设类型目标端执行指定数据操作的脚本生成的模板文件。
本申请的一些实施例中,所述指定数据操作包括但不限于以下一种或多种:数据加载操作、数据卸载操作、数据抽取操作;相应的,所述预设模板文件包括但不限于以下一或多种:数据加载模板文件、数据卸载模板文件、数据抽取模板文件。可选的,预设类型数据源包括但不限于以下任意一种:数据库、文件服务器、大数据平台;预设类型目标端包括但不限于以下任意一种:数据库、文件服务器、大数据平台。
本申请的一些实施例中,所述模板编排信息获取模块620,进一步用于:
响应于所述数据源类型指示数据库和第一数据库类型,将所述第一数据库类型作为第一数据源类型,否则,将所述数据源类型作为第一数据源类型;
响应于所述目标端类型指示数据库和第二数据库类型,将所述第二数据库类型作为第一目标端类型,否则,将所述目标端类型作为第一目标端类型;
将所述第一数据源类型和所述第一目标端类型,分别与预先存储的各条模板编排信息中的数据源类型和目标端类型进行由细到粗的类型匹配,获取匹配成功的所述模板编排信息;
将匹配成功的所述模板编排信息,作为目标模板编排信息。
本申请的一些实施例中,所述任务可执行脚本生成模块630,进一步用于:
根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本;
根据所述脚本执行顺序,组装所述模板文件对应的所述可执行脚本,生成所述数据接入任务对应的可执行脚本。
本申请的一些实施例中,所述动态参数信息包括:标准参数名称和参数值的对应关系,根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本,包括:
基于所述标准参数名称对应的所述参数值,对获取到的所述目标模板编排信息描述的模板文件中所述标准参数名称对应的动态参数赋值,生成所述模板文件对应的可执行脚本。
本申请的一些实施例中,所述动态参数信息包括:自定义参数名称和参数值的对应关系,在根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本之前,如图7所示,所述装置还包括:
动态参数配置模块602,用于获取用户配置的自定义参数的自定义参数名称,以及,所述自定义参数名称对应的索引键;
所述动态参数配置模块602,还用于将所述自定义参数名称和所述索引键的对应关系,存储为所述动态参数配置信息;
所述根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本,包括:
根据所述动态参数配置信息,获取所述自定义参数名称对应的所述索引键;
基于所述自定义参数名称对应的所述参数值,对获取到的所述目标模板编排信息描述的模板文件中所述自定义参数名称对应的所述索引键赋值,生成所述模板文件对应的可执行脚本。
本申请实施例公开的数据接入脚本生成装置,用于实现本申请实施例中所述的数据接入脚本生成方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
本申请实施例公开的一种数据接入脚本生成装置,通过预先设置数据库或大数据平台等存储实体中数据采集脚本的模板文件,并编排指定类型的数据存储实体之间进行数据接入时的模板执行流程生成模板编排信息,在应用阶段,用户仅需要配置数据接入任务的数据源类型、目标端类型和动态参数信息,客户端即可基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板信息和脚本执行顺序;最后,根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本。采用本申请实施例公开的数据接入脚本生成装置生成的数据接入任务的可执行脚本时,对于生成的可执行数据接入脚本,通过模板化及流程化的方式定义,用户只需要通过可视化配置界面提供对应的参数即可以完成对不同类型存储实体的数据接入脚本的开发,标准化和自动化程度高,可读性和可维护性更强。
并且,采用本申请实施例公开的数据接入脚本生成装置,通过复用预先编写的脚本模板,结合动态参数配置,可以快速生成数据接入任务的可执行脚本,相对于现有技术中针对每个数据接入任务单独编写可执行脚本而言,生成可执行脚本的效率更高。
对于动态参数、脚本模板、模板编排信息的配置是为了方便数据采集人员对采集任务的配置,数据接入任务的配置界面通过动态参数定义的参数名称进行信息填报,保存后按照对应的脚本模板使用填报的内容进行标准化、格式化,之后,按照模板编排信息串接脚本,完成整个数据的抽取到转移以及最终加载的可执行脚本制作,极大提升了数据采集任务的可执行脚本生成效率。
采用本申请实施例公开的数据接入脚本生成装置生成可执行脚本,通过提供数据抽取、转移、加载过程中常用的标准参数、脚本模板,以及模板编排信息,简化了数据采集项目中的实施步骤,提高了数据集成开发效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种数据接入脚本生成方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的电子设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图8示出了可以实现根据本申请的方法的电子设备。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器810和存储器820及存储在所述存储器820上并可在处理器810上运行的程序代码830,所述处理器810执行所述程序代码830时实现上述实施例中所述的方法。所述存储器820可以为计算机程序产品或者计算机可读介质。存储器820可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器820具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码830的存储空间8201。例如,用于程序代码830的存储空间8201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码830为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的数据接入脚本生成方法的步骤。
这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图8所示的电子设备中的存储器820类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图9所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码830’,所述计算机可读代码830’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据接入脚本生成方法,其特征在于,所述方法包括:
获取数据接入任务对应的数据源类型、目标端类型和动态参数信息;
基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序;
根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本,其中,所述目标模板编排信息描述的所述模板文件是根据目标数据操作的脚本预先对应生成的,所述目标数据操作包括:数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时,数据采集工具执行的数据操作。
2.根据权利要求1所述的方法,其特征在于,所述基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息之前,还包括:
根据用户配置的数据源类型、目标端类型,以及,数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时各执行步骤执行的脚本对应的预设模板文件,存储模板编排信息。
3.根据权利要求2所述的方法,其特征在于,所述根据用户配置的数据源类型、目标端类型,以及,数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时各执行步骤执行的脚本对应的预设模板文件,存储模板编排信息之前,还包括:
获取用户配置的模板文件,存储为预设模板文件,其中,所述预设模板文件包括:根据数据采集工具针对预设类型数据源或预设类型目标端执行指定数据操作的脚本生成的模板文件。
4.根据权利要求1所述的方法,其特征在于,所述基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,包括:
响应于所述数据源类型指示数据库和第一数据库类型,将所述第一数据库类型作为第一数据源类型,否则,将所述数据源类型作为第一数据源类型;
响应于所述目标端类型指示数据库和第二数据库类型,将所述第二数据库类型作为第一目标端类型,否则,将所述目标端类型作为第一目标端类型;
将所述第一数据源类型和所述第一目标端类型,分别与预先存储的各条模板编排信息中的数据源类型和目标端类型进行由细到粗的类型匹配,获取匹配成功的所述模板编排信息;
将匹配成功的所述模板编排信息,作为目标模板编排信息。
5.根据权利要求1所述的方法,其特征在于,所述根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本,包括:
根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本;
根据所述脚本执行顺序,组装所述模板文件对应的所述可执行脚本,生成所述数据接入任务对应的可执行脚本。
6.根据权利要求5所述的方法,其特征在于,所述动态参数信息包括:标准参数名称和参数值的对应关系,根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本,包括:
基于所述标准参数名称对应的所述参数值,对获取到的所述目标模板编排信息描述的模板文件中所述标准参数名称对应的动态参数赋值,生成所述模板文件对应的可执行脚本。
7.根据权利要求5所述的方法,其特征在于,所述动态参数信息包括:自定义参数名称和参数值的对应关系,所述根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本之前,包括:
获取用户配置的自定义参数的自定义参数名称,以及,所述自定义参数名称对应的索引键;
将所述自定义参数名称和所述索引键的对应关系,存储为所述动态参数配置信息;
所述根据所述动态参数信息,实例化获取到的所述目标模板编排信息描述的模板文件,生成所述模板文件对应的可执行脚本,包括:
根据所述动态参数配置信息,获取所述自定义参数名称对应的所述索引键;
基于所述自定义参数名称对应的所述参数值,对获取到的所述目标模板编排信息描述的模板文件中所述自定义参数名称对应的所述索引键赋值,生成所述模板文件对应的可执行脚本。
8.一种数据接入脚本生成装置,其特征在于,所述装置包括:
任务配置信息获取模块,用于获取数据接入任务对应的数据源类型、目标端类型和动态参数信息;
模板编排信息获取模块,用于基于所述数据源类型和所述目标端类型进行模板编排信息适配,获取目标模板编排信息,其中,所述目标模板编排信息可描述执行所述数据接入任务时执行的脚本对应的模板文件和脚本执行顺序;
任务可执行脚本生成模块,用于根据获取到的所述目标模板编排信息描述的模板文件和脚本执行顺序,以及所述动态参数信息,生成所述数据接入任务对应的可执行脚本,其中,所述目标模板编排信息描述的所述模板文件是根据目标数据操作的脚本预先对应生成的,所述目标数据操作包括:数据由所述数据源类型对应的存储实体接入到所述目标端类型对应的存储实体时,数据采集工具执行的数据操作。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的程序代码,其特征在于,所述处理器执行所述程序代码时实现权利要求1至7任意一项所述的数据接入脚本生成方法。
10.一种存储介质,其上存储有程序代码,其特征在于,该程序代码被处理器执行时实现权利要求1至7任意一项所述的数据接入脚本生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310159956.5A CN116204509A (zh) | 2023-02-14 | 2023-02-14 | 数据接入脚本生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310159956.5A CN116204509A (zh) | 2023-02-14 | 2023-02-14 | 数据接入脚本生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204509A true CN116204509A (zh) | 2023-06-02 |
Family
ID=86509084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310159956.5A Pending CN116204509A (zh) | 2023-02-14 | 2023-02-14 | 数据接入脚本生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204509A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492863A (zh) * | 2023-11-08 | 2024-02-02 | 浙江预策科技有限公司 | 一种数据接入的方法、装置和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469218A (zh) * | 2010-11-03 | 2012-05-23 | 中兴通讯股份有限公司 | 客服自动化方法及系统 |
CN111367883A (zh) * | 2020-02-25 | 2020-07-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN112099768A (zh) * | 2020-08-04 | 2020-12-18 | 北京奇艺世纪科技有限公司 | 业务流程处理方法、装置及计算机可读存储介质 |
CN112364049A (zh) * | 2020-11-10 | 2021-02-12 | 中国平安人寿保险股份有限公司 | 数据同步脚本生成方法、系统、终端及存储介质 |
US20220091826A1 (en) * | 2020-09-18 | 2022-03-24 | Arganteal, Corp. | Automation and orchestration platform for software development and deployment |
CN114240382A (zh) * | 2021-12-21 | 2022-03-25 | 中国建设银行股份有限公司 | 基于结构化流程模板的流程实例生成方法及装置 |
-
2023
- 2023-02-14 CN CN202310159956.5A patent/CN116204509A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469218A (zh) * | 2010-11-03 | 2012-05-23 | 中兴通讯股份有限公司 | 客服自动化方法及系统 |
CN111367883A (zh) * | 2020-02-25 | 2020-07-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN112099768A (zh) * | 2020-08-04 | 2020-12-18 | 北京奇艺世纪科技有限公司 | 业务流程处理方法、装置及计算机可读存储介质 |
US20220091826A1 (en) * | 2020-09-18 | 2022-03-24 | Arganteal, Corp. | Automation and orchestration platform for software development and deployment |
CN112364049A (zh) * | 2020-11-10 | 2021-02-12 | 中国平安人寿保险股份有限公司 | 数据同步脚本生成方法、系统、终端及存储介质 |
CN114240382A (zh) * | 2021-12-21 | 2022-03-25 | 中国建设银行股份有限公司 | 基于结构化流程模板的流程实例生成方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492863A (zh) * | 2023-11-08 | 2024-02-02 | 浙江预策科技有限公司 | 一种数据接入的方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107958057B (zh) | 一种用于异构数据库中数据迁移的代码生成方法及装置 | |
CN104866599B (zh) | 可视化报表的生产方法和系统 | |
CN112052242A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN106598612B (zh) | 一种数据库中数据表的操作方法及系统 | |
CN111061733B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN106445536B (zh) | 自动化业务设计管理系统 | |
CN111078702B (zh) | 一种sql语句分类管理及统一查询方法和装置 | |
CN110990274B (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
CN111126019A (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
CN116204509A (zh) | 数据接入脚本生成方法、装置、电子设备及存储介质 | |
CN113901117A (zh) | 用于多源试验数据引接处理方法 | |
CN116975116A (zh) | 一种大数据分析系统的数据条件筛选方法 | |
CN114661715A (zh) | 数据库的数据处理方法及装置、存储介质和电子设备 | |
CN109117173B (zh) | 一种基于项目版本开发的配制文件管理方法 | |
CN116737113B (zh) | 面向海量科学数据的元数据目录管理系统及方法 | |
CN116483707A (zh) | 测试方法、装置、设备、存储介质及程序产品 | |
CN111008011A (zh) | 一个面向电力平台应用开发的系统构建器 | |
CN113934710B (zh) | 数据采集方法及装置 | |
CN113515445B (zh) | 业务数据测试方法、装置及设备 | |
CN116955393A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113722337B (zh) | 业务数据确定方法、装置、设备及存储介质 | |
CN113901025A (zh) | 数据库管理方法、装置、设备和存储介质 | |
CN114185871A (zh) | 数据迁移方法、数据迁移装置、介质及电子设备 | |
KR102282159B1 (ko) | Xml 기반 다국어 매뉴얼 저작 장치 및 그 방법 |
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 |