CN111488394A - 一种数据导入方法、装置、计算机设备及存储介质 - Google Patents
一种数据导入方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111488394A CN111488394A CN202010229851.9A CN202010229851A CN111488394A CN 111488394 A CN111488394 A CN 111488394A CN 202010229851 A CN202010229851 A CN 202010229851A CN 111488394 A CN111488394 A CN 111488394A
- Authority
- CN
- China
- Prior art keywords
- data
- variable
- information
- query statement
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据导入方法、装置、计算机设备及存储介质。所述方法包括:获取目标数据表的输入信息,输入信息包括查询语句和变量替换信息;从数据库中提取与所述目标数据表对应的数据导入工具模板,数据导入工具模板中变量标识;根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序;通过文件传送协议将数据同步程序发送至服务端,以使服务端运行数据同步程序,实现数据的导入。本发明的技术方案可以大大的减少开发人员对Kettle程序手工执行调试,提升了开发人员的工作效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据导入方法、装置、计算机设备及存储介质。
背景技术
Kettle(Kettle E.T.T.L.Environment)是一款开源免费的数据同步工具。大数据分析时需要将业务系统中的相关表同步至大数据集群中,其中同步表中数据,可选的工具就有Kettle。Kettle可以通过图形化拖拉配置的方式就可以简单的开发一个表数据的同步。
但是如果是大量的同步数据表,重复性的工作就会比较多。开发测试的工作量相对较大。导致Kettle工具在处理大量同步数据时,影响开发和测试的效率。
发明内容
本发明实施例提供一种数据导入方法、装置、计算机设备及存储介质,以解决利用Kettle工具处理大量的同步数据表,重复性的工作比较多,开发测试的工作量相对较大的问题。
一种数据导入方法,包括:
获取目标数据表的输入信息,所述输入信息包括查询语句和变量替换信息;
从数据库中提取与所述目标数据表对应的数据导入工具模板,所述数据导入工具工具模板中包括变量标识;
根据所述查询语句和所述变量替换信息对所述数据导入工具工具模板中的变量标识进行替换,得到数据同步程序;
通过文件传送协议将所述数据同步程序发送至服务端,以使所述服务端运行所述数据同步程序,实现数据的导入。
一种数据导入装置,包括:
信息获取模块,用于获取目标数据表的输入信息,所述输入信息包括查询语句和变量替换信息;
模板获取模块,用于从数据库中提取与所述目标数据表对应的数据导入工具模板,所述数据导入工具模板中包括变量标识;
变量替换模块,用于根据所述查询语句和所述变量替换信息对所述数据导入工具模板中的变量标识进行替换,得到数据同步程序;
程序执行模块,用于通过文件传送协议将所述数据同步程序发送至服务端,以使所述服务端运行所述数据同步程序,实现数据的导入。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据导入方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据导入方法的步骤。
上述数据导入方法、装置、计算机设备及存储介质中,通过获取目标数据表的输入信息,输入信息包括查询语句和变量替换信息;从数据库中提取与目标数据表对应的数据导入工具模板,数据导入工具模板中包括变量标识;根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序;通过文件传送协议将数据同步程序发送至服务端,以使服务端运行数据同步程序,实现数据的导入。结合Kettle工具,将Kettle工具集合成数据导入工具模板,以数据导入工具模板的形式,得到数据同步程序,达到批量导入数据的目的,增加工作效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据导入方法的一应用环境示意图;
图2是本发明一实施例中数据导入方法的一流程图;
图3是本发明一实施例中数据导入方法的一流程图;
图4是本发明一实施例中数据导入方法的步骤S30的一流程图;
图5是本发明一实施例中数据导入方法的步骤S30的一流程图;
图6是本发明一实施例中数据导入方法的一流程图;
图7是本发明一实施例中数据导入装置的一示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的数据导入方法,可应用在如图1所示的应用环境中,该应用环境包括服务端和客户端,其中,服务端和应用客户端之间通过网络进行连接,该网络可以是有线网络或者无线网络,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机和平板电脑和便携式可穿戴设备,应用服务端和推送服务端具体均可以用独立的服务器或者多个服务器组成的服务器集群实现。服务端从数据库中提取与目标数据表对应的数据导入工具模板,数据导入工具模板中包括变量标识;根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序;通过文件传送协议将数据同步程序发送至服务端,以使服务端运行数据同步程序,实现数据的导入。
在一实施例中,如图2所示,提供一种数据导入方法,以该方法应用在图1中的服务端为例进行说明,具体包括步骤S10至步骤S40,详述如下:
S10:获取目标数据表的输入信息,输入信息包括查询语句和变量替换信息。
具体地,输入信息的获取可以是通过输入界面进行获取。输入界面可以是由开发人员设计的人机交互界面,输入界面可以通过客户端显示屏呈现,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机和平板电脑和便携式可穿戴设备,通过输入界面可以完成输入信息的单独输入或者批量输入。输入信息的输入可以是通过客户端的常用的外部设备输入,示例性地,如鼠标,键盘,触摸屏等;也可以是通过语音输入,使输入信息的输入更加的便捷。需要说明的是,由于不同数据表的数据表信息不同,当数据导入工具需要批量同步数据时,通过建立数据导入工具模板的方式,可以快速大量的实现数据的同步或导入。其中,数据导入工具模板为数据导入工具进行数据导入时的固定导入形式。
示例性地,批量同步或者导入数据表时集成一个数据导入工具模板,并将目标数据表信息在模板中以变量的方式替代,其中,目标数据表为待同步或者待导入的数据表。当批量同步目标数据表时只需要根据目标数据表信息替换掉数据导入工具模板模板中对应的变量。输入信息为同步或导入目标数据表时所需的信息,包括查询语句和变量替换信息。查询语句主要用于根据目标数据表中的字段查目标数据库中的源端数据表。示例性地,通过输入界面输入包含源端数据表字段的SQL(Structured Query Language,结构化查询语言)查询语句就能通过识别表的字段查询到目标数据库中源端数据表。变量替换信息为替换数据导入模板中的变量时的主要参数。
在一个具体实施方式中,变量替换信息可以包括:
1.源端数据源,需要将源端数据表同步到目标数据库的源端数据库;
2.目标端数据源,需要同步数据表的目标数据库;
3.目标表,将要被源端数据表同步的目标数据表;
4.字段映射关系,即目标表字段与源端表字段的映射关系。
S20:从数据库中提取与所述目标数据表对应的数据导入工具模板,数据导入工具模板中包括变量标识。
具体地,从数据库中提取与目标数据表所对应的数据导入工具模板,为了能更加准确的替换数据导入工具模板中的变量,在数据导入工具模板中不同变量的位置添加对应的标识,数据导入工具模板中的变量标识与变量替换信息和查询语句一一对应。其中,数据导入工具模板为数据导入工具进行数据导入时的固定导入形式。变量标识为数据导入工具模板中的变量所在位置添加对应标识后的变量。
示例性地,通过Kettle(Kettle E.T.T.L.Environment,数据同步工具)导入或同步数据时,其中,Kettle为一种开源的数据同步工具。在Kettle模板中,在源端数据源上标识“${source_db};”;在目标端数据源上标识“${target_db}”。可理解地,变量标识为Kettle模板中的与变量替代信息和查询语句一一对应的带有标识的变量。
S30:根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序。
具体地,将从输入界面获取到的输入信息,即变量替换信息和查询语句等参数替换数据导入工具模板中与变量替换信息和查询语句一一对应的变量标识,并将变量标识已被替换的数据导入工具模板导出为XML内容的文件。其中,XML(Extensible MarkupLanguage,可扩展标记语言)为一种能够管理XML数据的数据库管理系统,支持对XML格式文档进行存储和查询等操作的数据管理系统。在系统中,开发人员可以对数据库中的XML文档进行查询、导出和指定格式的序列化,对数据内容进行描述,使得系统能够根据标记对数据进行有效管理。进一步地,将数据导入工具模板导出为XML内容的文件后,通过计算机编程语言将数据导入工具模板集成到开发工程中,根据输入界面中循环批量获取到的不同的输入信息,替换掉数据导入工具模板中的变量标识,得到一个个不同的数据同步程序。示例性地,将输入信息替换Kettle模板中的变量标识,并将替换变量标识后的Kettle模板导出为XML内容的文件,通过JAVA将Kettle模板集成到JAVA开发工程中,根据输入界面中循环批量获取到的不同的输入信息,替换掉Kettle模板中的变量标识,得到一个个不同的Kettle同步程序,最后的到生成的同步程序后缀为ktl/kjb两种。
S40:通过文件传送协议将数据同步程序发送至服务端,以使服务端运行数据同步程序,实现数据的导入。
具体地,文件传送协议为互联网中公用的文件传输规则。优选地,文件传送协议可以是sftp协议,其中,sftp(SSH File Transfer Protocol,安全文件传送协议)能为传输文件提供一种安全的网络加密方法。能够对传送文件进行加密,提高文件传输的安全性。数据同步程序为Kettle同步程序。示例性地,通过将Kettle模板集成到开发工程的计算机编程语言来操作sftp协议根据Kettle的变量标识将生成的一个个不同的Kettle同步程序发送到对应的服务器后,使用SSH指令触发Kettle中自带的执行脚本,其中,SSH(Secure Shell,远程执行命令)专为远程登录会话和其他网络服务提供安全性的协议。Kettle中自带的执行脚本为kitchen.sh,当程序运行,将同步数据导入到目标端数据源,并将运行的日志存放在预先创建的文件中。SSH(Secure Shell,远程执行命令)专为远程登录会话和其他网络服务提供安全性的协议。示例性地,如运行指令:kitchen.sh-file=/home/job/test.kjb>>/home/log/Kettle.log;。通过kitchen.sh执行了test.kjb的任务,其中test.kjb为试运行的Kettle同步程序,并将运行的日志存放在预先创建的Kettle.log文件中。
本实施例中,通过获取输入的查询语句和变量替换信息来替换从数据库中获取的Kettle模板中的变量标识,进而得到Kettle同步程序。获取到Kettle同步程序后,通过sftp协议将Kettle同步程序发送至服务端,服务端执行Kettle同步程序,实现数据的导入。能方便、快捷地处理数据的同步,充分的利用Kettle中的组件,提高效率。同时使用sftp协议发送数据能保证数据的安全性和可靠性。
在一实施例中,如图3所示,在步骤S40之后,在通过文件传送协议将数据同步程序发送至服务端之后,该数据导入方法还包括:
S50:实时获取程序运行日志。
具体地,每运行一个Kettle同步程序便会生成一个运行日志,并将这些生成的每一个运行日志进行实时收集并存放到本地文件中预先创建存放收集到的运行日志的文件夹中,即预设的文件夹。示例性地,在Kettle同步程序本地文件中,创建一个文件夹,并将文件夹命名为Kettle.log,将Kettle同步程序的运行日志实时收集并存放到Kettle.log文件夹中。
S60:对程序运行日志进行异常捕捉,若获取到运行日志中的异常程序运行日志,则发出提示信息。
具体地,在首次程序运行时,通过JAVA的后台对预先创建存放收集到的运行日志的文件夹中的运行日志进行异常捕捉,其中,异常捕捉为将收集到的运行日志进行筛选,对运行日志中筛选出的异常日志进行抓取。对运行日志进行异常捕捉可以是按照一定的时间间隔对运行日志进行异常捕捉,示例性地,每间隔一分钟对Kettle.log文件夹中的运行日志进行一次异常捕捉;也可以是对运行日志进行实时异常捕捉。当捕捉到异常日志,即程序运行异常时,及时通知运行程序的人员。通知的方式可以是警报,也可以是通过输入界面的弹窗,也可以是警报和输入界面弹窗的组合。若首次运行程序正常,将不会触发JAVA后台对异常日志的捕捉。
本实施例中,通过实时获取Kettle同步程序的运行日志,并对异常日志进行捕获,及时监控程序的运行,若运行异常,则及时通知运行程序的相关人员,能提高Kettle同步程序运行的可靠性。
在一实施例中,如图4所示,在步骤S30中,根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序,包括:
S31:若查询语句中存在变量标识,则通过变量替换信息对查询语句中的变量标识进行替换,得到目标查询语句。
具体地,当从输入界面输入的查询语句中存在与Kettle模板中的变量标识对应的变量标识,则根据从输入界面输入的变量替换信息中对应的数据信息将查询语句中的变量标识替换,得到目标查询语句。其中,目标查询语句为根据数据表字段编写的能够根据数据表字段查找数据表的数据库查询语句。示例性地,若查询语句中存在与Kettle模板中源端数据源变量标识对应的变量标识,从输入界面输入的变量替换信息中对应的数据信息为源端数据源信息,则将输入的源端数据源信息将对应的查询语句中的源端数据源变量标识行替换。
S32:从目标查询语句中提取字段映射关系信息。
具体地,目标查询语句中包括了源端数据源中的数据表字段信息,根据输入界面中输入的变量替换信息来获取目标端数据源中数据表的字段信息,当源端数据源中的数据表字段与目标端数据源中的数据表字段一致时,通过目标查询语句自动生成字段映射关系,得到源端数据源与目标端数据源之间的字段映射关系信息。可以理解地,字段映射关系都是一一映射。
S33:通过字段映射关系信息和变量替换信息对数据导入工具模板中的对应变量标识进行替换,得到数据同步程序。
具体地,获取到字段映射关系信息和变量替换信息后,便可以对Kettle模板中的对应的变量标识进行替换。进一步地,将Kettle模板集成到JAVA开发工程中得到Kettle同步程序,Kettle同步程序可以根据字段映射关系信息锁定目标端数据源,并根据变量替换信息中的源端数据源实现将源端数据源中的数据同步到目标端数据源中。
本实施例中,通过查询语句中的变量标识查询对应的Kettle模板,并通过变量替换信息将查询语句中的变量标识替换,得到目标查询语句。通过目标查询语句得到字段映射关系信息,最后根据字段映射关系信息和变量替换信息对Kettle模板中的对应变量标识进行替换,得到Kettle同步程序。通过数据表字段的查询能对数据表进行精确的同步,有较高的可靠性。
在一实施例中,变量替换信息,查询语句包括N条源端查询语句,其中,N>0,如图5所示,在步骤S30中,根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序,包括:
S41:从查询语句中确定目标源端查询语句。
具体地,查询语句中包括Kettle模板中的源端数据源变量标识,通过源端数据源和输入的变量替换信息中的源端数据源中的字段信息替换查询语句中的源端数据源变量标识,查询语句根据源端数据源中的字段信息找到对应的源端数据源,然后提取源端数据源中数据表字段,根据源端数据源中数据表字段确定目标源端查询语句。其中,目标源端查询语句为根据源端数据源数据表字段编写的能够根据源端数据源数据表字段查找源端数据源数据表中的数据的数据库查询语句。
S42:从目标源端查询语句中提取字段映射关系信息。
具体地,目标源端查询语句中包括了源端数据源中的数据表字段信息,根据输入界面中输入的变量替换信息中的目标端数据源中数据表的字段信息,当源端数据源中的数据表字段与目标端数据源中的数据表字段一致时,通过目标查询语句自动生成字段映射关系,得到源端数据源与目标端数据源之间的字段映射关系信息。可以理解地,字段映射关系都是一一映射。
S43:通过字段映射关系信息和变量替换信息对数据导入工具模板中的对应变量标识进行替换,得到数据同步程序。
具体地,获取到字段映射关系信息和变量替换信息后,便可以对Kettle模板中的对应的变量标识进行替换。进一步地,将Kettle模板集成到JAVA开发工程中得到Kettle同步程序,Kettle同步程序可以根据字段映射关系信息锁定目标端数据源,并根据变量替换信息中的源端数据源实现数据表的同步。
S44:根据预设的方式更新目标源端查询语句,并返回执行从目标源端查询语句中提取字段映射关系信息的步骤,直至遍历完N条源端查询语句,得到N个数据同步程序,其中,N>0。
具体地,根据预设的方式更新目标源端查询语句,其中预设的方式可以为按照源端查询语句的输入顺序依次的更新目标源端查询语句。进一步的,若源端数据源中有N张数据表需要同步到目标端数据源中时,可以按照如下方式得到批量的Kettle同步程序:
输入源端数据源,即输入界面中输入源端数据源信息;
输入N条目标源端查询语句;
输入目标端数据源,即输入界面中输入目标端数据源信息;
按照Kettle模板,以及所输入的目标端查询语句,依次的将Kettle模板中的变量标识替换,即按照变量替换信息将变量标识替换,直至遍历完N条目标源端查询语句。最后得到N个Kettle同步程序。
可以理解地,获取到用户选择的变量替换信息中的源端数据源和目标端数据源以及N条目标源端查询语句后,从数据库中获取Kettle模板和所输入的目标端查询语句,通过JAVA开发工程依次的将Kettle模板中的变量标识替换,即按照变量替换信息将变量标识替换,生成Kettle同步程序,然后返回重新执行Kettle同步程序的过程,直至遍历完N条目标源端查询语句。最后得到N个Kettle同步程序。
在本实施例中,通过查询语句中的变量标识查询对应的Kettle模板,并通过变量标识和输入的变量替换信息能找到相对应的源端数据源,然后提取源端数据源中数据表字段,根据源端数据源中数据表字段确定目标源端查询语句。通过目标查询语句得到字段映射关系信息,最后根据字段映射关系信息和变量替换信息对Kettle模板中的对应变量标识进行替换,得到Kettle同步程序。同时能通过预设的方式更新目标源端查询语句,进行批量的得到Kettle同步程序。通过数据表字段的查询能对数据表进行精确的同步,有较高的可靠性。通过依次更新目标源端查询语句,并重复提取字段映射关系信息的步骤,能简化数据表的同步,提高效率。
在一实施例中,如图6所示,在步骤S10之前,在获取目标数据表的输入信息,输入信息包括查询语句和变量替换信息之前,包括:
S51:获取数据导入程序,选择变量信息,生成数据导入工具模板。
具体地,根据数据导入工具,手动开发一个数据导入程序,该程序能将不同的结构的数据同步到其他数据库管理系统中,例如:能将关系数据库管理系统中的表数据同步到构建于Hadoop(Hadoop Distributed File System,分布式文件系统)顶层的数据仓库中。选择数据导入程序中的变量信息,根据变量信息生成数据导入工具模板。示例性地,首先获取一个手动开发的Kettle程序,其中,手动开发的Kettle为用户自定义变量信息的Kettle程序。进一步的,选择Kettle程序中的变量信息,其中变量信息为:源端数据源、目标端数据源、目标表、目标表字段对应源端表字段的映射关系。最后根据变量信息将Kettle程序集成,生成Kettle模板。
S52:采用变量标识替换数据导入工具模板中的变量信息。
具体地,变量信息为在通过数据导入模板进行数据导入时,模板中根据不同的导入数据对应的变量的信息。具体的将变量信息作上标识,以使查询语句能准确的查询到。例如,在源端数据源上标识“${source_db};”;在目标端数据源上标识“${target_db}”。然后将变量信息替换成带有标识的变量信息,即变成变量标识。
S53:将带有变量标识的数据导入工具模板集成到计算机程序语言开发工程中。
具体地,将带有变量标识的Kettle模板导出为能够携带标记信息的XML文档,然后将XML文档集成到计算机程序语言开发工程中。示例性地,可以将Kettle模板集成到JAVA开发工程中,将Kettle模板中的变量标识发送到JAVA后台,JAVA后台读取模板的变量标识,然后将输入的变量替换信息替换变量标识,得到Kettle同步程序。
在本实施例中,通过集成Kettle模板,在数据同步中只需替换Kettle模板中的变量标识就能完成数据表的同步。很大程度的提高了数据表同步的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据导入装置,该数据导入装置与上述实施例中数据导入方法一一对应。如图7所示,该数据导入装置包括:信息获取模块10、模板获取模块20、变量替换模块30、程序执行模块40。各功能模块详细说明如下:
信息获取模块10,用于获取目标数据表的输入信息,输入信息包括查询语句和变量替换信息;
模板获取模块20,用于从数据库中提取与目标数据表对应的数据导入工具模板,数据导入工具模板中包括变量标识;
变量替换模块30,用于根据查询语句和变量替换信息对数据导入工具模板中的变量标识进行替换,得到数据同步程序;
程序执行模块40,用于通过文件传送协议将数据同步程序发送至服务端,以使服务端运行数据同步程序,实现数据的导入。
进一步地,数据导入装置还包括:
日志获取模块50,用于实时获取程序运行日志;
异常捕捉模块60,用于对程序运行日志进行异常捕捉,若获取到运行日志中的异常程序运行日志,则发出提示信息。
进一步地,变量替换模块30包括:
目标查询子模块31,用于查询语句中存在变量标识,通过变量替换信息对查询语句中的变量标识进行替换,得到目标查询语句;
目标字段子模块32,用于从目标查询语句中提取字段映射关系信息;
同步程序子模块33,用于通过字段映射关系信息和变量替换信息对数据导入工具模板中的对应变量标识进行替换,得到数据同步程序。
进一步地,变量替换模块30还包括:
源端查询子模块41,用于从查询语句中确定目标源端查询语句;
源端字段子模块42,用于从目标源端查询语句中提取字段映射关系信息;
同步程序子模块43,用于通过字段映射关系信息和变量替换信息对数据导入工具模板中的对应变量标识进行替换,得到数据同步程序;
更新源端子模块44,用于根据预设的方式更新目标源端查询语句,并返回执行从目标源端查询语句中提取字段映射关系信息的步骤,直至遍历完N条源端查询语句,得到N个数据同步程序,其中,N>0。
进一步地,数据导入装置还包括:
模板生成模块101,用于获取数据导入程序,选择变量信息,生成数据导入工具模板;
变量标识模块102,用于采用变量标识替换数据导入工具模板中的变量信息;
模板集成模块103,用于将带有变量标识的数据导入工具模板集成到计算机程序语言开发工程中。
关于数据导入装置的具体限定可以参见上文中对于数据导入方法的限定,在此不再赘述。上述数据导入装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据导入方法。
在一实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中数据导入方法的步骤,例如步骤S10至步骤S40。或者,处理器执行计算机程序时实现上述实施例中数据导入装置的各模块/单元的功能,例如模块10至模块40的功能。为避免重复,此处不再赘述。
在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中数据导入方法,或者,该计算机程序被处理器执行时实现上述装置实施例中数据导入装置中各模块/单元的功能。为避免重复,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据导入方法,其特征在于,所述数据导入方法包括:
获取目标数据表的输入信息,所述输入信息包括查询语句和变量替换信息;
从数据库中提取与所述目标数据表对应的数据导入工具模板,所述数据导入工具模板中包括变量标识;
根据所述查询语句和所述变量替换信息对所述数据导入工具模板中的变量标识进行替换,得到数据同步程序;
通过文件传送协议将所述数据同步程序发送至服务端,以使所述服务端运行所述数据同步程序,实现数据的导入。
2.如权利要求1所述的数据导入方法,其特征在于,在通过文件传送协议将所述数据同步程序发送至服务端之后,所述数据导入方法还包括:
实时获取程序运行日志;
对所述程序运行日志进行异常捕捉,若获取到所述运行日志中的异常程序运行日志,则发出提示信息。
3.如权利要求1所述的数据导入方法,其特征在于,所述根据所述查询语句和所述变量替换信息对所述数据导入工具模板中的变量标识进行替换,得到数据同步程序,包括:
若所述查询语句中存在变量标识,则通过所述变量替换信息对所述查询语句中的变量标识进行替换,得到目标查询语句;
从所述目标查询语句中提取字段映射关系信息;
通过所述字段映射关系信息和所述变量替换信息对所述数据导入工具模板中的对应变量标识进行替换,得到数据同步程序。
4.如权利要求1所述的数据导入方法,其特征在于,所述查询语句包括N条源端查询语句,所述根据所述查询语句和所述变量替换信息对所述数据导入工具模板中的变量标识进行替换,得到数据同步程序还包括:
从查询语句中确定目标源端查询语句;
从所述目标源端查询语句中提取字段映射关系信息;
通过所述字段映射关系信息和所述变量替换信息对所述数据导入工具模板中的对应变量标识进行替换,得到数据同步程序;
根据预设的方式更新所述目标源端查询语句,并返回执行所述从所述目标源端查询语句中提取字段映射关系信息的步骤,直至遍历完所述N条源端查询语句,得到N个数据同步程序,其中,N>0。
5.如权利要求1所述的数据导入方法,其特征在于,在所述获取目标数据表的输入信息,所述输入信息包括查询语句和变量替换信息之前,所述数据导入方法还包括:
获取数据导入程序,选择变量信息,生成数据导入工具模板;
采用变量标识替换所述数据导入工具模板中的所述变量信息;
将所述带有变量标识的所述数据导入工具模板集成到计算机程序语言开发工程中。
6.一种数据导入装置,其特征在于,所述数据导入装置包括:
信息获取模块,用于获取目标数据表的输入信息,所述输入信息包括查询语句和变量替换信息;
模板获取模块,用于从数据库中提取与所述目标数据表对应的数据导入工具模板,所述数据导入工具模板中包括变量标识;
变量替换模块,用于根据所述查询语句和所述变量替换信息对所述数据导入工具模板中的变量标识进行替换,得到数据同步程序;
程序执行模块,用于通过文件传送协议将所述数据同步程序发送至服务端,以使所述服务端运行所述数据同步程序,实现数据的导入。
7.如权利要求6所述的数据导入装置,其特征在于,所述变量替换模块包括:
目标查询子模块,用于所述查询语句中存在变量标识,通过所述变量替换信息对所述查询语句中的变量标识进行替换,得到目标查询语句;
目标字段子模块,用于从所述目标查询语句中提取字段映射关系信息;
同步程序子模块,用于通过所述字段映射关系信息和所述变量替换信息对所述数据导入工具模板中的对应变量标识进行替换,得到数据同步程序。
8.如权利要求6所述的数据导入装置,其特征在于,所述变量替换模块还包括:
源端查询子模块,用于从查询语句中确定目标源端查询语句;
源端字段子模块,用于从所述目标源端查询语句中提取字段映射关系信息;
同步程序子模块,用于通过所述字段映射关系信息和所述变量替换信息对所述数据导入工具模板中的对应变量标识进行替换,得到数据同步程序;
更新源端子模块,用于根据预设的方式更新所述目标源端查询语句,并返回执行所述从所述目标源端查询语句中提取字段映射关系信息的步骤,直至遍历完所述N条源端查询语句,得到N个数据同步程序,其中,N>0。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的数据导入方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据导入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010229851.9A CN111488394A (zh) | 2020-03-27 | 2020-03-27 | 一种数据导入方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010229851.9A CN111488394A (zh) | 2020-03-27 | 2020-03-27 | 一种数据导入方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111488394A true CN111488394A (zh) | 2020-08-04 |
Family
ID=71791479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010229851.9A Pending CN111488394A (zh) | 2020-03-27 | 2020-03-27 | 一种数据导入方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488394A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307108A (zh) * | 2020-11-25 | 2021-02-02 | 科大国创云网科技有限公司 | 一种基于简单配置方式的数据抽取方法及系统 |
CN112364101A (zh) * | 2020-11-11 | 2021-02-12 | 深圳前海微众银行股份有限公司 | 数据的同步方法、装置、终端设备及介质 |
CN113626460A (zh) * | 2021-07-12 | 2021-11-09 | 武汉千屏影像技术有限责任公司 | 不同病理系统的数据交互方法、装置和存储介质 |
CN114661751A (zh) * | 2022-03-22 | 2022-06-24 | 医渡云(北京)技术有限公司 | 基于sql知识库的数据生产方法、装置、系统、设备及介质 |
CN115174555A (zh) * | 2022-06-28 | 2022-10-11 | 平安科技(深圳)有限公司 | 文件传输方法、装置、电子设备及存储介质 |
-
2020
- 2020-03-27 CN CN202010229851.9A patent/CN111488394A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364101A (zh) * | 2020-11-11 | 2021-02-12 | 深圳前海微众银行股份有限公司 | 数据的同步方法、装置、终端设备及介质 |
CN112307108A (zh) * | 2020-11-25 | 2021-02-02 | 科大国创云网科技有限公司 | 一种基于简单配置方式的数据抽取方法及系统 |
CN113626460A (zh) * | 2021-07-12 | 2021-11-09 | 武汉千屏影像技术有限责任公司 | 不同病理系统的数据交互方法、装置和存储介质 |
CN113626460B (zh) * | 2021-07-12 | 2023-11-03 | 武汉千屏影像技术有限责任公司 | 不同病理系统的数据交互方法、装置和存储介质 |
CN114661751A (zh) * | 2022-03-22 | 2022-06-24 | 医渡云(北京)技术有限公司 | 基于sql知识库的数据生产方法、装置、系统、设备及介质 |
CN114661751B (zh) * | 2022-03-22 | 2023-01-31 | 医渡云(北京)技术有限公司 | 基于sql知识库的数据生产方法、装置、系统、设备及介质 |
CN115174555A (zh) * | 2022-06-28 | 2022-10-11 | 平安科技(深圳)有限公司 | 文件传输方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488394A (zh) | 一种数据导入方法、装置、计算机设备及存储介质 | |
CN112507027B (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
US10061578B2 (en) | System and method of configuring a data store for tracking and auditing real-time events across different software development tools in agile development environments | |
CN108804618B (zh) | 数据库配置方法、装置、计算机设备和存储介质 | |
US20100145978A1 (en) | Techniques to provide unified logging services | |
US20090164979A1 (en) | System landscape trace | |
CN111752843B (zh) | 用于确定影响面的方法、装置、电子设备及可读存储介质 | |
US10402310B1 (en) | Systems and methods for reducing storage required for code coverage results | |
CN111414350B (zh) | 一种服务生成方法及装置 | |
CN112416327A (zh) | 项目构建方法、装置、计算机设备及存储介质 | |
JP2014081811A (ja) | ログ管理システム、および、ログ管理方法 | |
US20210304142A1 (en) | End-user feedback reporting framework for collaborative software development environments | |
CN111737227B (zh) | 数据修改方法及系统 | |
CN111078559A (zh) | java代码中函数调用的提取方法、装置、介质及计算机设备 | |
CN112613067A (zh) | 用户行为数据采集方法、装置、计算机设备及存储介质 | |
CN111324510B (zh) | 日志处理方法、装置及电子设备 | |
CN111460241A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
WO2023134134A1 (zh) | 一种关联查看模型的生成方法、装置、计算机设备及存储介质 | |
CN111047434B (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
US10915510B2 (en) | Method and apparatus of collecting and reporting database application incompatibilities | |
CN112506969A (zh) | 一种bmc地址查询方法、系统、设备及可读存储介质 | |
US11461288B2 (en) | Systems and methods for database management system (DBMS) discovery | |
US20230394483A1 (en) | Blockchain-based data processing method and apparatus | |
CN112286557B (zh) | 一种非覆盖式更新代码内容的方法和装置 | |
CN110688305B (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 |