CN114153909A - 一种基于Velocity模板引擎的数据库表结构翻译方法和装置 - Google Patents
一种基于Velocity模板引擎的数据库表结构翻译方法和装置 Download PDFInfo
- Publication number
- CN114153909A CN114153909A CN202111422231.8A CN202111422231A CN114153909A CN 114153909 A CN114153909 A CN 114153909A CN 202111422231 A CN202111422231 A CN 202111422231A CN 114153909 A CN114153909 A CN 114153909A
- Authority
- CN
- China
- Prior art keywords
- velocity
- table structure
- target
- field information
- format conversion
- 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.)
- Granted
Links
- 238000013519 translation Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000006243 chemical reaction Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种基于Velocity模板引擎的数据库表结构翻译方法和装置;其中,方法包括:构建异构数据库之间的目标格式转换文件,基于目标接口获取源端的表字段信息,初始化Velocity后,构建Velocity上下文对象,将表字段信息输入Velocity上下文对象,在Velocity中加载目标格式转换文件对Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。由此,通过采用Velocity模板引擎进行表结构翻译,提高表结构翻译效率和准确性。
Description
技术领域
本公开涉及数据库技术领域,尤其涉及一种基于Velocity模板引擎的数据库表结构翻译方法和装置。
背景技术
通过在数据库中,利用数据同步工具进行数据实时同步时需要对存量数据的初始化装载;其中,存量数据的初始化装载主要包括两部分工作:表结构的初始化装载和存量数据的初始化装载。
通常,在表结构的初始化装载阶段中,针对异构数据库一般以XML(ExtensibleMarkup Language,可扩展标记语言)或者JSON(JavaScript Object Notation,轻量级的数据交换格式)等结构化文本的形式存储类型映射表,然后读取源端数据库的表结构信息,通过映射表翻译到目标数据库的类型来实现,针对映射表的读取和翻译,都需要软件的设计者自行实现。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种一种基于Velocity模板引擎的数据库表结构翻译方法和装置。
本公开提供了一种基于Velocity模板引擎的数据库表结构翻译方法,包括:
构建异构数据库之间的目标格式转换文件;
基于目标接口获取源端的表字段信息;
初始化Velocity后,构建Velocity上下文对象;
将所述表字段信息输入所述Velocity上下文对象;
在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。
在本公开可选实施例中,所述构建异构数据库之间的目标格式转换文件,包括:
确定创建表的模式和表的名字;
遍历所述源端数据库表的所有列信息;
根据所述所有列信息的类型和翻译目标同类型生成所述目标格式转换文件。
在本公开可选实施例中,所述基于目标接口获取源端的表字段信息,包括:
基于数据库统一编程接口的获取列表接口获取源端数据库表的字段信息;
获取每个所述字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为所述表字段信息。
在本公开可选实施例中,所述在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端,包括:
调用合并操作将所述表字段信息加载到所述目标格式转换文件的目标位置;
运行所述目标格式转换文件,得到所述表结构翻译结果并发送给目标端。
本公开提供了另一种基于Velocity模板引擎的数据库表结构翻译装置,包括:
构建文件模块,用于构建异构数据库之间的目标格式转换文件;
获取信息模块,用于基于目标接口获取源端的表字段信息;
构建对象模块,用于初始化Velocity后,构建Velocity上下文对象;
输入模块,用于将所述表字段信息输入所述Velocity上下文对象;
处理模块,用于在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。
在本公开可选实施例中,所述构建文件模块,具体用于:
确定创建表的模式和表的名字;
遍历所述源端的所有列信息;
根据所述所有列信息的类型和翻译目标同类型生成所述目标格式转换文件。
在本公开可选实施例中,所述获取信息模块,具体用于:
基于数据库统一编程接口的获取列表接口获取源端数据库表的字段信息;
获取每个所述字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为所述表字段信息。
在本公开可选实施例中,所述处理模块,具体用于:
调用合并操作将所述表字段信息加载到所述目标格式转换文件的目标位置;
运行所述目标格式转换文件,得到所述表结构翻译结果并发送给目标端。
根据本公开实施例的另一方面,电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的基于Velocity模板引擎的数据库表结构翻译方法。
根据本公开实施例的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的基于Velocity模板引擎的数据库表结构翻译方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过构建异构数据库之间的目标格式转换文件,基于目标接口获取源端的表字段信息,初始化Velocity后,构建Velocity上下文对象,将表字段信息输入Velocity上下文对象,在Velocity中加载目标格式转换文件对Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。由此,通过采用Velocity模板引擎进行表结构翻译,提高表结构翻译效率和准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种基于Velocity模板引擎的数据库表结构翻译方法的流程示意图;
图2为本公开实施例提供的另一种基于Velocity模板引擎的数据库表结构翻译方法的流程示意图;
图3为本公开实施例提供的一种基于Velocity模板引擎的数据库表结构翻译装置的结构示意图;
图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在实际应用中,在利用数据同步工具进行数据实时同步时分为三个阶段,第一阶段进行存量数据的初始化装载,获得数据同步的基础点;第二阶段以初始化数据装载建立的同步基础点为基准进行增量数据同步;第三阶段定期对数据同步的源端数据和目标数据进行比对校验,以确认在数据同步过程中没有丢失数据。其中,第二阶段和第三阶段会处于长时间并行状态。
其中,第一阶段存量数据的初始化装载主要包括两部分工作:表结构的初始化装载和存量数据的初始化装载,本公开实施例提出的基于Velocity模板引擎的数据库表结构翻译方法主要针对的是表结构的初始化装载阶段,通常的表结构装载工具针对同构数据库之间和异构数据库之间有不同的处理办法。其中,同构数据库之间一般采用数据库自带的备份还原工具,通过表结构的备份和还原实现数据同步场景中目标数据库的表结构初始化状态;针对异构数据库一般以XML或者JSON等结构化文本的形式存储类型映射表,然后读取源端数据库的表结构信息,通过映射表翻译到目标数据库的类型来实现,针对映射表的读取和翻译,都需要软件的设计者自行实现。
针对上述问题,本公开实施例提出的基于Velocity模板引擎的数据库表结构翻译方法,通过采用Velocity模板引擎进行表结构翻译,也就是说将表结构翻译任务交给Velocity模板引擎,从而简化翻译操作步骤,提高表结构翻译效率和准确性。
具体地,图1为本公开实施例提供的一种基于Velocity模板引擎的数据库表结构翻译方法的流程示意图,如图1所示,包括:
步骤101,构建异构数据库之间的目标格式转换文件。
在本公开实施例中,异构数据库指的是相关的多个数据库系统的集合,可以实现数据的共享和透明访问。比如Oracle数据库和SQL Server数据库(关系型数据库管理系统)为异构数据库。
在本公开实施例中,目标格式转换文件可以根据应用需要选择设置,具体地,目标格式转换文件为velocity模板文件,即VM文件。
在本公开实施例中,可以基于表的模式和名字,以及源端的列信息对应的类型和翻译的目标类型生成目标格式转换文件。
步骤102,基于目标接口获取源端的表字段信息。
在本公开实施例中,目标接口可以根据应用需要选择设置,具体地,在数据库场景中主要指的是Java数据库连接(Java Database Connectivity,简称JDBC),是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口。
在本公开实施例,源端指的是任一异构数据库,存储的是待进行翻译的表字段信息。
在本公开一个具体实施例中,通过基于数据库统一编程接口的获取列表接口获取源端数据库表的字段信息,获取每个字段信息对应的名称、长度等信息作为表字段信息。
步骤103,初始化Velocity后,构建Velocity上下文对象。
步骤104,将表字段信息输入Velocity上下文对象。
在公开实施例中,通过预设代码初始化Velocity,具体地,通过Java伪代码“Velocity.init()”实现Velocity模板引擎初始化。
在本公开实施例中,上下文对象可以理解为数据对象传送者,可以将生成的不同类型的数据对象放入上下文对象中,具体地,通过“VelocityContext context=newVelocityContext()”实现Velocity上下文对象的构建。
在本公开实施例中,将表字段信息输入Velocity上下文对象可以实现表字段信息后续能够被引用,具体地,通过“context.put("table",Table)”实现将表字段信息输入Velocity上下文对象。
步骤105,在Velocity中加载目标格式转换文件对Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。
在本公开实施例中,在Velocity中加载目标格式转换文件,调用合并操作调用合并操作将表字段信息加载到目标格式转换文件的目标位置,运行目标格式转换文件,得到表结构翻译结果并发送给目标端。
综上所述,本公开实施例的基于Velocity模板引擎的数据库表结构翻译方法,通过构建异构数据库之间的目标格式转换文件,基于目标接口获取源端的表字段信息,初始化Velocity后,构建Velocity上下文对象,将表字段信息输入Velocity上下文对象,在Velocity中加载目标格式转换文件对Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。由此,通过采用Velocity模板引擎进行表结构翻译,提高表结构翻译效率和准确性。
图2为本公开实施例提供的另一种基于Velocity模板引擎的数据库表结构翻译方法的流程示意图,如图2所示,包括:
步骤201,确定创建表的模式和表的名字,遍历源端的所有列信息,根据所有列信息的类型和翻译目标同类型生成目标格式转换文件。
在本公开实施例中,创建表的模式和表的名字,遍历表的字段,获取源端的所有列信息,根据不同的类型翻译到目标的不同类型,比如把源端的类型为DOUBLE(双精度浮点型)翻译到目标的类型为FLOAT(浮点型)等,其中,创建表的模式为“第一列名字、第一列类型”,“第二列名字、第二列类型”等,源端有多少列,上面的语句就有多少列,列名字和源端的一样,类型是按照目标格式转换文件里边定义的转换规则翻译的。
步骤202,基于数据库统一编程接口的获取列表接口获取源端数据库表的字段信息,获取每个字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为表字段信息。
具体地,比如源端有一个表:SCHEMA1.TABLE1(C1 INT;C2 DOUBLE(4,2);C3ARCHAR(10)NOT NULL;C4 TIMESTAMP),表的模式为SCHEMA1,表的名字为TABLE1,allColumns就是它的列的一个列表(这个例子里边有4个列表),每个列的定义就是下面那个Column,比如C2列就是:名称是C2、长度是4、精度是2、是否为空为真、类型描述信息为C2,其他的C1、C3、C4和C2类似。
步骤203,初始化Velocity后,构建Velocity上下文对象。
步骤204,将表字段信息输入Velocity上下文对象。
在公开实施例中,通过预设代码初始化Velocity,具体地,通过Java伪代码“Velocity.init()”实现Velocity模板引擎初始化。
在本公开实施例中,上下文对象可以理解为数据对象传送者,可以将生成的不同类型的数据对象放入上下文对象中,具体地,通过“VelocityContext context=newVelocityContext()”实现Velocity上下文对象的构建。
在本公开实施例中,将表字段信息输入Velocity上下文对象可以实现表字段信息后续能够被引用,具体地,通过“context.put("table",Table)”实现将表字段信息输入Velocity上下文对象。
步骤205,调用合并操作将表字段信息加载到目标格式转换文件的目标位置,运行目标格式转换文件,得到表结构翻译结果并发送给目标端。
具体地,Velocity引擎按照目标格式转换文件,把源端的表字段信息进行翻译输出一个字符串作为表结构翻译结果。
综上所述,本公开实施例的基于Velocity模板引擎的数据库表结构翻译方法,通过确定创建表的模式和表的名字,遍历源端的所有列信息,根据所有列信息的类型和翻译目标同类型生成目标格式转换文件,基于数据库统一编程接口的获取列表接口获取源端的数据库表的字段信息,获取每个字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为表字段信息,初始化Velocity后,构建Velocity上下文对象,将表字段信息输入Velocity上下文对象,调用合并操作将表字段信息加载到目标格式转换文件的目标位置,运行目标格式转换文件,得到表结构翻译结果并发送给目标端。由此,通过采用Velocity模板引擎进行表结构翻译,提高表结构翻译效率和准确性。
对应于前述基于Velocity模板引擎的数据库表结构翻译方法,本公开实施例提供了一种基于Velocity模板引擎的数据库表结构翻译装置,图3为本公开实施例提供的一种基于Velocity模板引擎的数据库表结构翻译装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中,如图3所示,基于Velocity模板引擎的数据库表结构翻译装置包括如下模块:
构建文件模块301,用于构建异构数据库之间的目标格式转换文件。
获取信息模块302,用于基于目标接口获取源端的表字段信息。
构建对象模块303,用于初始化Velocity后,构建Velocity上下文对象。
输入模块304,用于将所述表字段信息输入所述Velocity上下文对象。
处理模块305,用于在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。
在一些实施例中,所述构建文件模块301,具体用于:
确定创建表的模式和表的名字;
遍历所述源端的所有列信息;
根据所述所有列信息的类型和翻译目标同类型生成所述目标格式转换文件。
在一些实施例中,所述获取信息模块302,具体用于:
基于数据库统一编程接口的获取列表接口获取源端的数据库表的字段信息;
获取每个所述字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为所述表字段信息。
在一些实施例中,所述处理模块305,具体用于:
调用合并操作将所述表字段信息加载到所述目标格式转换文件的目标位置;
运行所述目标格式转换文件,得到所述表结构翻译结果并发送给目标端。
综上所述,本公开实施例的基于Velocity模板引擎的数据库表结构翻译装置,通过构建异构数据库之间的目标格式转换文件,基于目标接口获取源端的表字段信息,初始化Velocity后,构建Velocity上下文对象,将表字段信息输入Velocity上下文对象,在Velocity中加载目标格式转换文件对Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。由此,通过采用Velocity模板引擎进行表结构翻译,提高表结构翻译效率和准确性。
本发明实施例所提供的基于Velocity模板引擎的数据库表结构翻译装置可执行本发明任意实施例所提供的基于Velocity模板引擎的数据库表结构翻译方法,具备执行方法相应的功能模块和有益效果。
图4是本公开实施例提供的一种电子设备的结构示意图。如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的关系型数据库SQL语句外连接转内连接方法对应的程序指令/模块。处理器710通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现本发明实施例所提供的基于Velocity模板引擎的数据库表结构翻译方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘、鼠标等。输出装置440可包括显示屏等显示设备。
本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现本发明实施例所提供的基于Velocity模板引擎的数据库表结构翻译方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于Velocity模板引擎的数据库表结构翻译方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于Velocity模板引擎的数据库表结构翻译方法,其特征在于,包括:
构建异构数据库之间的目标格式转换文件;
基于目标接口获取源端的表字段信息;
初始化Velocity后,构建Velocity上下文对象;
将所述表字段信息输入所述Velocity上下文对象;
在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。
2.根据权利要求1所述的基于Velocity模板引擎的数据库表结构翻译方法,其特征在于,所述构建异构数据库之间的目标格式转换文件,包括:
确定创建表的模式和表的名字;
遍历所述源端的所有列信息;
根据所述所有列信息的类型和翻译目标同类型生成所述目标格式转换文件。
3.根据权利要求1所述的基于Velocity模板引擎的数据库表结构翻译方法,其特征在于,所述基于目标接口获取源端的表字段信息,包括:
基于数据库统一编程接口的获取列表接口获取源端数据库表的字段信息;
获取每个所述字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为所述表字段信息。
4.根据权利要求1所述的基于Velocity模板引擎的数据库表结构翻译方法,其特征在于,所述在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端,包括:
调用合并操作将所述表字段信息加载到所述目标格式转换文件的目标位置;
运行所述目标格式转换文件,得到所述表结构翻译结果并发送给目标端。
5.一种基于Velocity模板引擎的数据库表结构翻译装置,其特征在于,包括:
构建文件模块,用于构建异构数据库之间的目标格式转换文件;
获取信息模块,用于基于目标接口获取源端的表字段信息;
构建对象模块,用于初始化Velocity后,构建Velocity上下文对象;
输入模块,用于将所述表字段信息输入所述Velocity上下文对象;
处理模块,用于在所述Velocity中加载所述目标格式转换文件对所述Velocity上下文对象中的表字段信息进行处理,得到表结构翻译结果并发送给目标端。
6.根据权利要求1所述的基于Velocity模板引擎的数据库表结构翻译装置,其特征在于,所述构建文件模块,具体用于:
确定创建表的模式和表的名字;
遍历所述源端的所有列信息;
根据所述所有列信息的类型和翻译目标同类型生成所述目标格式转换文件。
7.根据权利要求1所述的基于Velocity模板引擎的数据库表结构翻译装置,其特征在于,所述获取信息模块,具体用于:
基于数据库统一编程接口的获取列表接口获取源端数据库表的字段信息;
获取每个所述字段信息对应的名称、长度、精度、是否为空的真假信息和类型描述信息作为所述表字段信息。
8.根据权利要求1所述的基于Velocity模板引擎的数据库表结构翻译装置,其特征在于,所述处理模块,具体用于:
调用合并操作将所述表字段信息加载到所述目标格式转换文件的目标位置;
运行所述目标格式转换文件,得到所述表结构翻译结果并发送给目标端。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-4中任一所述的基于Velocity模板引擎的数据库表结构翻译方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-4中任一所述的基于Velocity模板引擎的数据库表结构翻译方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111422231.8A CN114153909B (zh) | 2021-11-26 | 2021-11-26 | 一种基于Velocity模板引擎的数据库表结构翻译方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111422231.8A CN114153909B (zh) | 2021-11-26 | 2021-11-26 | 一种基于Velocity模板引擎的数据库表结构翻译方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114153909A true CN114153909A (zh) | 2022-03-08 |
CN114153909B CN114153909B (zh) | 2024-06-07 |
Family
ID=80458008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111422231.8A Active CN114153909B (zh) | 2021-11-26 | 2021-11-26 | 一种基于Velocity模板引擎的数据库表结构翻译方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153909B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996589B1 (en) * | 2002-01-16 | 2006-02-07 | Convergys Cmg Utah, Inc. | System and method for database conversion |
CN101634942A (zh) * | 2008-07-24 | 2010-01-27 | 北大方正集团有限公司 | 一种动态创建数据表的方法和系统 |
CN103488738A (zh) * | 2013-09-18 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种自动实现java对象及数据表sql文件的方法及系统 |
CN106126564A (zh) * | 2016-06-17 | 2016-11-16 | 浙江万朋教育科技股份有限公司 | 一种基于动态模板语言渲染的方法 |
JP2018037031A (ja) * | 2016-09-02 | 2018-03-08 | 東芝情報システム株式会社 | データ移行プログラム作成システム及びデータ移行プログラム作成用プログラム |
CN108268253A (zh) * | 2017-05-05 | 2018-07-10 | 平安科技(深圳)有限公司 | 接口代码生成方法及终端设备 |
US20190377713A1 (en) * | 2018-05-25 | 2019-12-12 | Walmart Apollo, Llc | Multi-platform database schema management |
US20200097413A1 (en) * | 2018-09-25 | 2020-03-26 | Ati Technologies Ulc | External memory based translation lookaside buffer |
CN111291049A (zh) * | 2020-01-19 | 2020-06-16 | 软通动力信息技术有限公司 | 一种创建表的方法、装置、设备和存储介质 |
CN111382226A (zh) * | 2018-12-29 | 2020-07-07 | 北京神州泰岳软件股份有限公司 | 一种数据库查询检索方法、装置和电子设备 |
KR20200103133A (ko) * | 2019-02-07 | 2020-09-02 | 한국전자통신연구원 | 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치 |
CN112631576A (zh) * | 2020-12-31 | 2021-04-09 | 杭州天宽科技有限公司 | Java通用代码生成优化方法和系统 |
-
2021
- 2021-11-26 CN CN202111422231.8A patent/CN114153909B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996589B1 (en) * | 2002-01-16 | 2006-02-07 | Convergys Cmg Utah, Inc. | System and method for database conversion |
CN101634942A (zh) * | 2008-07-24 | 2010-01-27 | 北大方正集团有限公司 | 一种动态创建数据表的方法和系统 |
CN103488738A (zh) * | 2013-09-18 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种自动实现java对象及数据表sql文件的方法及系统 |
CN106126564A (zh) * | 2016-06-17 | 2016-11-16 | 浙江万朋教育科技股份有限公司 | 一种基于动态模板语言渲染的方法 |
JP2018037031A (ja) * | 2016-09-02 | 2018-03-08 | 東芝情報システム株式会社 | データ移行プログラム作成システム及びデータ移行プログラム作成用プログラム |
CN108268253A (zh) * | 2017-05-05 | 2018-07-10 | 平安科技(深圳)有限公司 | 接口代码生成方法及终端设备 |
US20190377713A1 (en) * | 2018-05-25 | 2019-12-12 | Walmart Apollo, Llc | Multi-platform database schema management |
US20200097413A1 (en) * | 2018-09-25 | 2020-03-26 | Ati Technologies Ulc | External memory based translation lookaside buffer |
CN111382226A (zh) * | 2018-12-29 | 2020-07-07 | 北京神州泰岳软件股份有限公司 | 一种数据库查询检索方法、装置和电子设备 |
KR20200103133A (ko) * | 2019-02-07 | 2020-09-02 | 한국전자통신연구원 | 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치 |
CN111291049A (zh) * | 2020-01-19 | 2020-06-16 | 软通动力信息技术有限公司 | 一种创建表的方法、装置、设备和存储介质 |
CN112631576A (zh) * | 2020-12-31 | 2021-04-09 | 杭州天宽科技有限公司 | Java通用代码生成优化方法和系统 |
Non-Patent Citations (2)
Title |
---|
TOWAN: "一种基于java语言的模板引擎velocity的使用", Retrieved from the Internet <URL:https://blog.csdn.net/htw2012/article/details/17716031> * |
丁岚等: "基于Velocity的代码生成器设计与实现", 《软件研发与应用》, 18 August 2019 (2019-08-18) * |
Also Published As
Publication number | Publication date |
---|---|
CN114153909B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107918666B (zh) | 一种区块链上的数据同步方法和系统 | |
CN109062952B (zh) | 一种数据查询方法、装置及电子设备 | |
US9229697B2 (en) | Speculative object shapes | |
CN111414350B (zh) | 一种服务生成方法及装置 | |
US20090030902A1 (en) | Schematized data intelligent assistance for development environments | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
JP5677319B2 (ja) | ウェブに基づくダイアグラム視覚性の拡張性 | |
CN110941655B (zh) | 一种数据格式转换方法及装置 | |
EP3207473B1 (en) | System, method, and device for index compilation to optimize index usage | |
KR102172255B1 (ko) | 분산형 컴퓨팅 태스크를 실행하기 위한 방법 및 장치 | |
US20200142674A1 (en) | Extracting web api endpoint data from source code | |
CN111159215A (zh) | Java类与关系型数据库的映射方法、装置及计算设备 | |
CN103678396A (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN114218278A (zh) | http接口的数据表字段查询方法及系统 | |
US7673289B1 (en) | Ignoring output arguments of functions in programming environments | |
CN114153909B (zh) | 一种基于Velocity模板引擎的数据库表结构翻译方法和装置 | |
JP5766651B2 (ja) | 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法 | |
CN115455006A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
RU2715803C2 (ru) | Система компонентно-ориентированного программного обеспечения и способ разработки | |
CN114968350A (zh) | 一种代码方法调用链的搜索方法、装置及设备 | |
CN114371886A (zh) | 前端框架组件转换方法、装置、计算机设备及存储介质 | |
CN111459584B (zh) | 页面渲染方法、装置和电子设备 | |
CN114115908A (zh) | 一种指令集生成、程序解析方法装置、设备以及存储介质 | |
US20100332469A1 (en) | Systems and methods for accessing data from a database | |
JP7449190B2 (ja) | データ移行システムおよびデータ移行方法 |
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 | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Patentee after: China Electronics Technology Group Jincang (Beijing) Technology Co.,Ltd. Country or region after: China Address before: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Patentee before: BEIJING KINGBASE INFORMATION TECHNOLOGIES Inc. Country or region before: China |
|
CP03 | Change of name, title or address |