CN116303433A - 一种表结构的变更方法、装置、存储介质以及电子设备 - Google Patents
一种表结构的变更方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN116303433A CN116303433A CN202310124950.4A CN202310124950A CN116303433A CN 116303433 A CN116303433 A CN 116303433A CN 202310124950 A CN202310124950 A CN 202310124950A CN 116303433 A CN116303433 A CN 116303433A
- Authority
- CN
- China
- Prior art keywords
- data table
- target
- view
- name
- field
- 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
- 238000000034 method Methods 0.000 title claims abstract description 155
- 230000008859 change Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 93
- 238000011144 upstream manufacturing Methods 0.000 claims description 53
- 230000004048 modification Effects 0.000 claims description 34
- 238000012986 modification Methods 0.000 claims description 34
- 238000013507 mapping Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition 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/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/23—Updating
-
- 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
- G06F16/275—Synchronous replication
-
- 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及金融科技、数字医疗以及人工智能技术领域,本申请公开了一种表结构的变更方法、装置、存储介质及电子设备。其中方法包括:获取各第一数据表以及第二数据表;基于各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各第一字段的第二字段,对第一数据表的表结构以及第一配置文件进行修改,得到第一目标数据表以及第一目标配置文件;基于各视图名称、各第一字段和各第二字段对第二数据表的表结构以及第一目标配置文件进行修改,得到第二目标数据表以得到不影响第一数据表与各第二数据表数据同步的表结构的变更结果。本申请在不影响第一数据表以及第二数据表数据同步的基础上实现表结构的变更,提高了工作效率。
Description
技术领域
本发明涉及金融、数字医疗以及人工智能技术领域,特别涉及一种表结构的变更方法、装置、存储介质以及电子设备。
背景技术
在传统的企业中,大部分的公司都在用后端的数据同步方案来替代应用端进行的数据迁移工作。在使用数据同步工具中大部分使用的OGG(oracle goldengate)工具来实现上下游的数据准实时同步需求,历史数据同步需求,报表库数据实时同步需求等。
针对上下游数据同步需求的核心数据表的字段修改,成为了业内的一个巨大难题,因为修改字段会导致上下游数据库的数据无法同步的问题。
因此,亟需一种表结构的变更方法,在不影响上游数据库和下游数据库数据同步的基础上对字段进行更改。
发明内容
有鉴于此,本发明提供了一种表结构的变更方法、装置、存储介质以及电子设备,主要目的在于解决有上下游数据同步依赖的核心数据表的列名修改,导致上下游数据库的数据无法同步的问题。
为解决上述问题,本申请提供一种表结构的变更方法,包括:
获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;
基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。
可选的,在基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改之前,所述方法还包括:创建各第一数据表分别对应的第一视图,包括:
确定各所述第一数据表的表名;
确定各第一数据表分别对应的视图名称;
基于各所述表名、各所述视图名称、各所述第一字段、各所述第二字段创建各第一数据表分别对应的第一视图。
可选的,所述基于各所述表名、各所述视图名称、各所述第一字段、各所述第二字段创建各第一数据表分别对应的第一视图,具体包括:
建立各所述表名与各所述视图名称的第一映射关系;
建立各所述第一字段与各所述第二字段的第二映射关系;
基于各所述第一映射关系以及各所述第二映射关系进行创建,得到与各所述第一数据表分别对应的第一视图。
可选的,所述基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件,包括:
暂停目标下游数据库的第一目标进程;
基于各所述第二字段针对各所述第一数据表中的各所述第一字段进行字段修改;
在配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称;
开启目标下游数据库的第二目标进程,得到与各所述第一数据表对应的第一目标数据表。
可选的,所述基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,包括:
暂停上游数据库的第二目标进程;
基于各所述第二字段针对所述第二数据表中的各所述第一字段进行字段修改;
暂停目标下游数据库的第一目标进程;
在第一目标配置文件中将第一视图的视图名称修改为第一目标数据表的表名,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表。
可选的,所述在目标配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,包括:
基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一数据表对应的第一配置文件;
把第一配置文件中的第一数据表的表名修改成第一视图的视图名称,生成第一目标配置文件。
可选的,所述在配置文件中将第一视图的视图名称修改为第一目标数据表的表名,包括:
基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一目标数据表对应的第一目标配置文件;
把第一目标配置文件中的第一视图的视图名称修改成第一数据表的表名。
为解决上述问题,本申请提供一种表结构的变更装置,其特征在于,包括:
获取模块:用于获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
第一修改模块:用于基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;
第二修改模块:用于基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。
为解决上述问题,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述表结构的变更方法的步骤。
为解决上述问题,本申请提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述所述表结构的变更方法的步骤。
本申请通过获取有上下游同步依赖关系的目标下游数据库对应的第一数据表以及上游数据库对应的第二数据表;基于预先创建的与各所述第一数据表对应的第一视图的视图名称、待变更的第一字段和对第一字段进行替换的第二字段,对各所述第一数据表的表结构以及第一数据表对应的配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表;基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标数据表的配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。本申请中的表结构变更方法可以在不影响上下游数据库数据同步的基础上对上下游数据库中的第一数据表以及第二数据表的表结构进行更改,提高工作效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例一种表结构的变更方法的流程图;
图2为本申请又一实施例一种表结构的变更方法的流程图;
图3为本申请又一实施例一种表结构的变更装置的结构框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例提供一种表结构的变更方法,如图1所示,包括:
步骤S101:获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
本步骤在具体实施过程中,所述第一数据表与所述第二数据表是具有数据同步依赖的数据表,可以是金融科技、数字医疗、以及人工智能等领域的数据表,例如:医疗统计表,财务数据表,交易数据表等等。本申请是在不影响第一数据表和第二数据表的数据同步的基础上对第一数据表以及第二数据表的表结构进行更改,不会对现有的OGG链路进程造成损害,且工作量极低,可以实现规模化作业。
步骤S102:基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;
本步骤在具体实施过程中,首先,基于各所述第一数据表的表名、各第一数据表分别对应的视图名称、各待变更的第一字段、各对第一字段进行替换的第二字段创建各第一数据表分别对应的第一视图,暂停目标下游数据库的第一目标进程后,基于各所述第二字段针对各所述第一数据表中的各所述第一字段进行字段修改;在第一配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,生成第一目标配置文件;开启目标下游数据库的第二目标进程,得到与第一数据表对应的第一目标数据表。为后续基于第一目标数据表对应的配置文件对第二数据表的属性进行修改奠定了基础。
步骤S103:基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。
本步骤在具体实施过程中,暂停上游数据库的第二目标进程;基于各所述第二字段针对所述第二数据表中的各所述第一字段进行字段修改;暂停目标下游数据库的第一目标进程;在第一目标配置文件中将第一视图的视图名称修改为第一目标数据表的表名,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表。
本申请通过获取有上下游同步依赖关系的目标下游数据库对应的第一数据表以及上游数据库对应的第二数据表;基于预先创建的与各所述第一数据表对应的第一视图的视图名称、待变更的第一字段和对第一字段进行替换的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。本申请中的表结构变更方法可以在不影响上下游数据库数据同步的基础上对上下游数据库中的第一数据表以及第二数据表的表结构进行更改,提高工作效率。
本申请又一实施例,提供一种表结构变更方法,如图2所示,包括:
步骤S201:获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
本步骤在具体实施过程中,所述第一数据表与所述第二数据表是具有数据同步依赖的数据表,本申请是在不影响第一数据表和第二数据表的数据同步的基础上对第一数据表以及第二数据表的表结构进行更改。
步骤S202:创建各第一数据表分别对应的第一视图;
本步骤在具体实施过程中,首先,基于各所述第一数据表,确定与各所述第一数据表对应的表名,例如:“tab1”、“tab2”、“tab3”等等;然后,确定各第一数据表分别对应的视图名称;例如:“view1”、“view2”、“view3”等等;然后基于各所述表名、各所述视图名称、各待变更的第一字段和对第一字段进行替换的第二字段,创建各第一数据表分别对应的第一视图。具体的,首先,创建各所述表名与各所述视图名称的第一映射关系;例如:创建“tab1”与“view1”的第一映射关系;创建“tab2”与“view2”的第一映射关系;创建“tab3”与“view3”的第一映射关系等等;然后,建立各所述第一字段与各所述第二字段的第二映射关系;例如:将第一字段为“姓名”,变更成第二字段“name”;建立“姓名”与“name”的第二映射关系;又例如第一字段为“地址”,变更成第二字段“address”,建立第一字段“地址”与第二字段“address”的第二映射关系等等;最后基于各所述第一映射关系以及各所述第二映射关系进行创建,得到与各所述第一数据表分别对应的第一视图。第一视图可以采用create view语句进行创建,并在创建的视图语句中基于as select语句写好第一字段与第二字段的替换关系,得到与各第一数据表分别对应的第一视图,为后续基于第一视图的视图名对第一数据表的表名、进行修改奠定了基础。
步骤S203:暂停目标下游数据库的第一目标进程,基于各所述第二字段针对各所述第一数据表中的各所述第一字段进行字段修改;
本步骤在具体实施过程中,上游数据库与下游数据库的数据链路比较繁杂,当链路上的表结构同时变动时,会造成数据缺失、损坏的风险,因此针对上述问题本申请中的方法可以让上游数据库和下游数据库在数据表结构改变的情况下运行一段过渡时间,先变更下游数据库表结构,再变更上游数据库表结构,最后在不破坏原来上游数据库第一数据表与下游数据库的第二数据表数据同步的基础上完成上游数据库第一数据表的表结构与下游数据库第二数据表的表结构的变更。具体的,首先对下游数据库的第一数据表的表结构进行变更,首先暂停目标下游数据库的第一目标进程,所述第一目标进程是与所述第一数据表对应的进程。然后,在目标下游数据库中对第一数据表的表结构进行更改,将第一数据表中的第一字段变更成与所述第一字段对应的第二字段;例如:将第一数据表中的第一字段“姓名”变更成第二字段“name”;将第一数据表中的第一字段“地址”变更成第二字段“address”等等。
步骤S204:在第一配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,开启目标下游数据库的第一目标进程,得到与第一数据表对应的第一目标数据表以及第一目标配置文件;
本步骤在具体实施过程中,首先,基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一数据表对应的第一配置文件;具体的,在同一数据库环境下会存在很多进程,需要查找到到第一数据表对应的配置文件,需要在第一数据表对应的进程中进行查找,第一进程名称可以为“oggp1”,通过第一进程名称进行配置文件查找,查找到储存第一数据表的第一配置文件内容,然后把所述第一配置文件中的第一数据表的表名修改成第一视图的视图名称,生成第一目标配置文件。具体的,可以修改程序中“target”关键字后边的对象名字,例如:将“target”关键字后边的对象名字“tab1”修改成“view1”。最后开启目标下游数据库的第二目标进程,得到与第一数据表对应的表结构变更后的第一目标数据表。
步骤S205:暂停上游数据库的第二目标进程,基于各所述第二字段针对所述第二数据表中的各所述第一字段进行字段修改;
本步骤在具体实施过程中,当各下游数据库对应的第一数据表的表结构变更完成后,运行稳定后可以开始对上游数据库的第二数据表进行表结构的变更。具体的,首先对上游数据库的第二数据表的表结构进行变更,首先暂停上游数据库的第二目标进程,所述第二目标进程是与所述第二数据表对应的进程。然后,在上游数据库中对第二数据表的表结构进行更改,将第二数据表中的第一字段变更成与所述第一字段对应的第二字段;例如:将第二数据表中的第一字段“姓名”变更成第二字段“name”;将第二数据表中的第一字段“地址”变更成第二字段“address”等等。直接对上下游数据库中表结构进行更改,会造成数据损失等风险,本方案实现了在上下游数据库的表结构不同的情况下运行一段过渡时间,当下游数据库表结构变更运行稳定后再对上游数据库中的表结构进行更改,使得数据库的数据更加安全。
步骤S206:暂停目标下游数据库的第一目标进程;在第一目标配置文件中将第一视图的视图名称修改为第一目标数据表的表名,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表,得到不影响上游数据库与各所述下游数据库数据同步的表结构的变更结果。
首先,基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一目标数据表对应的第一目标配置文件;具体的,第一目标进程名称可以为“oggp1”,通过第一进程名称“oggp1”进行配置文件查找,查找到第一目标数据表对应的第一目标配置文件内容,然后,把第一目标配置文件中的第一视图的视图名称修改成第一数据表的表名。具体的,修改程序中“target”关键字后边的对象名字,例如:将“target”关键字后边的对象名字第一视图的视图名称“view1”修改成第一数据表的表名“tab1”。最后,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表。经过结构变更后最终得到的第一目标数据表与第二目标数据表的表结构相同,并且不影响第一数据表与第二数据表的数据同步。
本申请通过获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;分别创建与各第一数据表对应的第一视图,首先对各下游数据库对应的表结构以及第一数据表对应的第一配置文件进行变更修改,得到与各第一数据表对应的第一目标数据表以及第一目标配置文件;然后对上游数据库对应的表结构以及第一目标配置文件进行变更修改,得到与第二数据表对应的第二目标数据表。本申请中经过表结构变更后最终得到的第一目标数据表与第二目标数据表的表结构相同,并且是在不影响第一数据表与第二数据表数据同步的基础上进行表结构变更的,本申请中的方法工作量低,可以实现大规模的数据表的字段修改,提高工作效率。
本申请又一实施例提供一种表结构的变更装置,如图3所示,包括:
获取模块1:用于获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
第一修改模块2:用于基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;
第二修改模块3:用于基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。
在具体实施过程中,所述表结构的变更装置还包括:第一视图创建模块,所述第一视图创建模块具体用于:确定各所述第一数据表的表名;确定各第一数据表分别对应的视图名称;基于各所述表名、各所述视图名称、各所述第一字段、各所述第二字段创建各第一数据表分别对应的第一视图。
在具体实施过程中,所诉第一视图创建模块还用于:建立各所述表名与各所述视图名称的第一映射关系;建立各所述第一字段与各所述第二字段的第二映射关系;基于各所述第一映射关系以及各所述第二映射关系进行创建,得到与各所述第一数据表分别对应的第一视图。
在具体实施过程中,所述第一修改模块2具体用于:暂停目标下游数据库的第一目标进程;基于各所述第二字段针对各所述第一数据表中的各所述第一字段进行字段修改;在第一配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,生成第一目标配置文件;开启目标下游数据库的第二目标进程,得到与第一数据表对应的第一目标数据表。
在具体实施过程中,所述第二修改模块3具体用于:暂停上游数据库的第二目标进程;基于各所述第二字段针对所述第二数据表中的各所述第一字段进行字段修改;暂停目标下游数据库的第一目标进程;在第一目标配置文件中将第一视图的视图名称修改为第一目标数据表的表名,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表。
在具体实施过程中,所述第一修改模块2还用于:基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一数据表对应的第一配置文件;把第一配置文件中的第一数据表的表名修改成第一视图的视图名称,生成第一目标配置文件。
在具体实施过程中,所述第一修改模块3还用于:基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一目标数据表对应的第一目标配置文件;把第一目标配置文件中的第一视图的视图名称修改成第一数据表的表名。
本申请通过获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;分别创建与各第一数据表对应的第一视图,首先对各下游数据库对应的表结构以及第一数据表对应的第一配置文件进行变更修改,得到与各第一数据表对应的第一目标数据表以及第一目标配置文件;然后对上游数据库对应的表结构以及第一目标配置文件进行变更修改,得到与第二数据表对应的第二目标数据表。本申请中经过表结构变更后最终得到的第一目标数据表与第二目标数据表的表结构相同,并且是在不影响第一数据表与第二数据表数据同步的基础上进行表结构变更的,本申请中的方法工作量低,可以实现大规模的数据表的字段修改,提高工作效率。
本申请另一实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
步骤一、获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
步骤二、基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;
步骤三、基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。
在具体实施过程中,所述计算机程序被处理器执行实现所述在基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改之前,所述方法还包括:创建各第一数据表分别对应的第一视图之前,所述方法还包括:创建各第一数据表分别对应的第一视图,包括:确定各所述第一数据表的表名;确定各第一数据表分别对应的视图名称;基于各所述表名、各所述视图名称、各所述第一字段、各所述第二字段创建各第一数据表分别对应的第一视图。
在具体实施过程中,所述计算机程序被处理器执行实现所述基于各所述表名、各所述视图名、各所述第一字段、各所述第二字段创建各第一数据表分别对应的第一视图,具体包括:建立各所述表名与各所述视图名称的第一映射关系;建立各所述第一字段与各所述第二字段的第二映射关系;基于各所述第一映射关系以及各所述第二映射关系进行创建,得到与各所述第一数据表分别对应的第一视图。
在具体实施过程中,所述计算机程序被处理器执行实现所述基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件,包括:暂停目标下游数据库的第一目标进程;基于各所述第二字段针对各所述第一数据表中的各所述第一字段进行字段修改;在第一配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,生成第一目标配置文件;开启目标下游数据库的第二目标进程,得到与各所述第一数据表对应的第一目标数据表。
在具体实施过程中,所述计算机程序被处理器执行实现所述基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,包括:暂停上游数据库的第二目标进程;基于各所述第二字段针对所述第二数据表中的各所述第一字段进行字段修改;暂停目标下游数据库的第一目标进程;在第一目标配置文件中将第一视图的视图名称修改为第一目标数据表的表名,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表。
在具体实施过程中,所述计算机程序被处理器执行实现所述在第一目标配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,包括:基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一数据表对应的第一配置文件;把第一配置文件中的第一数据表的表名修改成第一视图的视图名称,生成第一目标配置文件。
在具体实施过程中,所述计算机程序被处理器执行实现所述在配置文件中将第一视图的视图名称修改为第一目标数据表的表名,包括:基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一目标数据表对应的第一目标配置文件;把第一目标配置文件中的第一视图的视图名称修改成第一数据表的表名。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.如权利要求2所述的方法,其特征在于,所述基于各所述表名、各所述视图名、各所述第一字段、各所述第二字段创建各第一数据表分别对应的第一视图,具体包括:
建立各所述表名与各所述视图名称的第一映射关系;
建立各所述第一字段与各所述第二字段的第二映射关系;
基于各所述第一映射关系以及各所述第二映射关系进行创建,得到与各所述第一数据表分别对应的第一视图。
4.如权利要求1所述的方法,其特征在于,所述基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件,包括:
暂停目标下游数据库的第一目标进程;
基于各所述第二字段针对各所述第一数据表中的各所述第一字段进行字段修改;
在第一配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,生成第一目标配置文件;
开启目标下游数据库的第二目标进程,得到与各所述第一数据表对应的第一目标数据表。
5.如权利要求4所述的方法,其特征在于,所述基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,包括:
暂停上游数据库的第二目标进程;
基于各所述第二字段针对所述第二数据表中的各所述第一字段进行字段修改;
暂停目标下游数据库的第一目标进程;
在第一目标配置文件中将第一视图的视图名称修改为第一目标数据表的表名,开启目标下游数据库的第一目标进程以及上游数据库的第二目标进程,得到与所述第二数据表对应的第二目标数据表。
6.如权利要求4所述的方法,其特征在于,所述在第一配置文件中,把目标下游数据库的第一数据表的表名修改为第一视图的视图名称,包括:
基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一数据表对应的第一配置文件;
把第一配置文件中的第一数据表的表名修改成第一视图的视图名称,生成第一目标配置文件。
7.如权利要求5所述的方法,其特征在于,所述在配置文件中将第一视图的视图名称修改为第一目标数据表的表名,包括:
基于第一目标进程的第一进程名称在目标下游数据库的OGG程序中进行配置文件查找,获得与所述第一目标数据表对应的第一目标配置文件;
把第一目标配置文件中的第一视图的视图名称修改成第一数据表的表名。
8.一种表结构的变更装置,其特征在于,包括:
获取模块:用于获取各下游数据库对应的第一数据表以及上游数据库对应的第二数据表;
第一修改模块:用于基于预先创建的与各第一数据表对应的第一视图的视图名称、待变更的各第一字段和用于替换各所述第一字段的第二字段,对各所述第一数据表的表结构以及第一数据表对应的第一配置文件进行修改,得到与各所述第一数据表对应的第一目标数据表以及第一目标配置文件;
第二修改模块:用于基于各所述第一视图的视图名称、各所述第一字段和各所述第二字段对所述第二数据表的表结构以及第一目标配置文件进行修改,得到与所述第二数据表对应的第二目标数据表,以得到不影响第一数据表与各所述第二数据表数据同步的表结构的变更结果。
9.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-7任一项所述表结构的变更方法的步骤。
10.一种电子设备,其特征在于,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述权利要求1-7任一项所述表结构的变更方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310124950.4A CN116303433A (zh) | 2023-02-09 | 2023-02-09 | 一种表结构的变更方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310124950.4A CN116303433A (zh) | 2023-02-09 | 2023-02-09 | 一种表结构的变更方法、装置、存储介质以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116303433A true CN116303433A (zh) | 2023-06-23 |
Family
ID=86791546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310124950.4A Pending CN116303433A (zh) | 2023-02-09 | 2023-02-09 | 一种表结构的变更方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303433A (zh) |
-
2023
- 2023-02-09 CN CN202310124950.4A patent/CN116303433A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678969B2 (en) | Metadata updating method and apparatus based on columnar storage in distributed file system, and host | |
US9953102B2 (en) | Creating NoSQL database index for semi-structured data | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN112579602B (zh) | 多版本数据存储方法、装置、计算机设备及存储介质 | |
CN111324577B (zh) | 一种Yml文件读写的方法及装置 | |
CN111651519B (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN110795499A (zh) | 基于大数据的集群数据同步方法、装置、设备及存储介质 | |
CN114780641B (zh) | 多库多表同步方法、装置、计算机设备和存储介质 | |
CN105447172A (zh) | 一种Hadoop平台下的数据处理方法和系统 | |
CN105677904A (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN113177021B (zh) | 一种不同数据源的数据导出方法及装置 | |
CN112699195B (zh) | 地理空间数据处理方法、装置、计算机设备及存储介质 | |
CN105631010A (zh) | 一种基于hdfs小文件存储的优化方法 | |
CN116303433A (zh) | 一种表结构的变更方法、装置、存储介质以及电子设备 | |
CN112015819A (zh) | 分布式图数据库的数据更新方法、装置、设备及介质 | |
CN102495838B (zh) | 数据处理方法及装置 | |
CN105808451A (zh) | 一种数据缓存方法以及相关装置 | |
CN113220713B (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN110222105B (zh) | 数据汇总处理方法及装置 | |
CN114036226A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN112765168A (zh) | 星型数据治理存储方法、装置、终端设备及存储介质 | |
CN113254427B (zh) | 一种数据库扩展方法和装置 | |
CN115374218B (zh) | 一种异构数据库的数据同步方法、装置、设备及介质 | |
CN115221249B (zh) | 跨库数据查询方法、装置、计算机设备和存储介质 | |
CN115080581A (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 |