CN113420026B - 数据库表结构变更方法、装置、设备及存储介质 - Google Patents
数据库表结构变更方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113420026B CN113420026B CN202110691914.7A CN202110691914A CN113420026B CN 113420026 B CN113420026 B CN 113420026B CN 202110691914 A CN202110691914 A CN 202110691914A CN 113420026 B CN113420026 B CN 113420026B
- Authority
- CN
- China
- Prior art keywords
- table structure
- data
- change
- field
- database
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000000547 structure data Methods 0.000 claims description 31
- 238000012217 deletion Methods 0.000 claims description 30
- 230000037430 deletion Effects 0.000 claims description 30
- 230000001360 synchronised effect Effects 0.000 claims description 27
- 238000007792 addition Methods 0.000 claims description 16
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 238000002715 modification method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
-
- 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
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据领域,公开了一种数据库表结构变更方法、装置、设备及存储介质。本方法包括:获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持,提高了表结构变更的准确率。本发明中的变更数据可以存储于区块链中。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种数据库表结构变更方法、装置、设备及存储介质。
背景技术
互联网公司中,因为业务快速迭代发展,会经常涉及到关系型数据中表和数据的变更,如果没有系统支持,就会需要通过线下的沟通进行变更,这样会需要非常多的人力资源和沟通成本,同时因为是人工操作,变更的正确性和稳定性也无法保证。
正常的业务优化迭代中,也需要经常对现存的数据库表结构做变更,目前很多公司采用的是人工审核表结构,再和业务的开发人员线下确认表结构是否合理,这种方式效率不高,同时会由于语法错误造成来回的无效沟通。因此,系统自动审核表结构变更,提高系统变更的准确率成了本领域技术人员需要解决的技术问题。
发明内容
本发明主要解决了现有技术中系统变更的准确率低的技术问题。
本发明第一方面提供了一种数据库表结构变更方法,包括:获取目标数据库中的日志记录和所述目标数据库当前的表结构,其中,所述当前的表结构用于定义所述目标数据库中各个字段的属性参数;根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据;根据所述变更数据生成所述目标数据库的变更表结构;从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
可选地,在本发明第一方面的第一种实现方式中,所述获取目标数据库中的日志记录和所述目标数据库当前的表结构包括获取目标数据库中的日志记录,对所述日志记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件;若存在满足预设的采集触发条件,则获取所述目标数据库包含的数据量;当所述数据量与上一轮数据采集时目标数据库所包含的数据量不一致时,获取目标数据库中对应数据表当前的表结构。
可选地,在本发明第一方面的第二种实现方式中,所述根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据包括:将预置源数据库群的表结构数据与所述当前的表结构的表结构数据进行比对,确定与所述当前的表结构关联的数据表或者字段的变更数据;根据预置源数据库群的表结构数据与所述当前的表结构的表结构数据以及预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据。
可选地,在本发明第一方面的第三种实现方式中,所述从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中包括:从源数据库群中获取与所述变更数据对应的更新数据;根据所述更新数据,生成变更表结构对应的数据定义语句;执行所述数据定义语句,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
可选地,在本发明第一方面的第四种实现方式中,在所述从源数据库群中获取与所述变更数据对应的更新数据之前,还包括:根据所述更新数据对应数量的大小,确定所述更新数据的数据量级别;根据所述更新数据的数据量级别,设置所述更新数据对应的同步调度参数。
可选地,在本发明第一方面的第五种实现方式中,在所述从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中之后,还包括:确定所述变更数据中字段的变更类型,其中,所述变更类型包括修改、新增和删除;若所述变更类型为修改字段,则根据所述字段的条件语句生成回滚更改语句;若所述变更类型为新增字段,则根据所述字段的主键以及条件语句生成回滚删除语句;若所述变更类型为删除字段,则根据所述字段数据信息生成回滚新增语句。
可选地,在本发明第一方面的第六种实现方式中,在所述根据所述字段数据信息生成回滚新增语句之后,还包括:获取所述表结构包含的所有字段,并将所述字段与预置基准表结构中的各个基准字段进行匹配;若存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则生成替换变更记录;若不存在与所述字段匹配的基准字段,则根据所述字段生成新增变更记录;若所述表结构中不存在与所述基准字段匹配的字段,则根据所述基准字段生成删除变更记录。
本发明第二方面提供了一种数据库表结构变更装置,包括:获取模块,用于获取目标数据库中的日志记录和所述目标数据库当前的表结构,其中,所述当前的表结构用于定义所述目标数据库中各个字段的属性参数;第一匹配模块,用于根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据;生成模块,用于根据所述变更数据生成所述目标数据库的变更表结构;同步模块,用于从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
可选地,在本发明第二方面的第一种实现方式中,所述获取模块具体用于:获取目标数据库中的日志记录,对所述日志记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件;若存在满足预设的采集触发条件,则获取所述目标数据库包含的数据量;当所述数据量与上一轮数据采集时目标数据库所包含的数据量不一致时,获取目标数据库中对应数据表当前的表结构。
可选地,在本发明第二方面的第二种实现方式中,所述第一匹配模块具体用于:将预置源数据库群的表结构数据与所述当前的表结构的表结构数据进行比对,确定与所述当前的表结构关联的数据表或者字段的变更数据;根据预置源数据库群的表结构数据与所述当前的表结构的表结构数据以及预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据。
可选地,在本发明第二方面的第三种实现方式中,所述同步模块包括:获取单元,用于从源数据库群中获取与所述变更数据对应的更新数据;生成单元,用于根据所述更新数据,生成变更表结构对应的数据定义语句;同步单元,用于执行所述数据定义语句,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
可选地,在本发明第二方面的第四种实现方式中,所述数据库表结构变更装置还包括:第一确定模块,用于根据所述更新数据对应数量的大小,确定所述更新数据的数据量级别;设置模块,用于根据所述更新数据的数据量级别,设置所述更新数据对应的同步调度参数。
可选地,在本发明第二方面的第五种实现方式中,所述数据库表结构变更装置还包括:第二确定模块,用于确定所述变更数据中字段的变更类型,其中,所述变更类型包括修改、新增和删除;第二生成模块,用于当所述变更类型为修改字段时,根据所述字段的条件语句生成回滚更改语句;当所述变更类型为新增字段时,根据所述字段的主键以及条件语句生成回滚删除语句;当所述变更类型为删除字段时,根据所述字段数据信息生成回滚新增语句。
可选地,在本发明第二方面的第六种实现方式中,所述数据库表结构变更装置还包括:第二匹配模块,用于获取所述表结构包含的所有字段,并将所述字段与预置基准表结构中的各个基准字段进行匹配;第三生成模块,用于若存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则生成替换变更记录;若不存在与所述字段匹配的基准字段,则根据所述字段生成新增变更记录;若所述表结构中不存在与所述基准字段匹配的字段,则根据所述基准字段生成删除变更记录。
本发明第三方面提供了一种数据库表结构变更设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据库表结构变更设备执行上述的数据库表结构变更方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据库表结构变更方法。
本发明提供的技术方案中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
附图说明
图1为本发明数据库表结构变更方法的第一个实施例示意图;
图2为本发明数据库表结构变更方法的第二个实施例示意图;
图3为本发明数据库表结构变更方法的第三个实施例示意图;
图4为本发明数据库表结构变更方法的第四个实施例示意图;
图5为本发明数据库表结构变更方法的第五个实施例示意图;
图6为本发明数据库表结构变更装置的第一个实施例示意图;
图7为本发明数据库表结构变更装置的第二个实施例示意图;
图8为本发明数据库表结构变更设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据库表结构变更方法、装置、设备及存储介质,本发明的技术方案中,首先获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据库表结构变更方法的第一个实施例包括:
101、获取目标数据库中的日志记录和目标数据库当前的表结构;
本实施例中,获取目标数据库中的日志记录和目标数据库当前的表结构。终端设备会监测当前时刻是否满足预设的采集触发条件,继而确定是否需要执行数据表结构的获取操作。其中,该采集触发条件包括自动触发条件以及需要开发人员操作的手动触发条件。其中,不同的目标数据表可以对应不同的采集触发条件,终端设备在检测到当前时刻满足采集触发条件时,将是被该采集条件所对应的目标数据表,继而从数据库中获取该目标数据表的表结构,需要说明的是,目标数据表的个数可以为一个,也可以为多个,即终端设备在采集触发条件满足时,可同时获取数据库中多个目标数据库的表结构。当采集触发条件不包含目标数据表携带的标识时,则表示对数据库内所有数据表进行获取操作。
本实施例中,终端设备根据采集触发条件中的数据表标识,从数据库中提取对应的目标数据表,并读取该目标数据表中包含的字段数,以及各个字段对应的属性参数,生成字段与属性参数的对应关系,即目标数据表的表结构。其中,该字段的属性参数包括:该字段的数据类型、字段的数据容量上限,字段的数据描述等参数。字段的数据类型可以为:单纯数字、字符、主键或辅键等;字段的数据描述具体用于描述该字段所保存的数据的具体含义,例如:地区、性别、年龄等。
102、根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;
本实施例中,根据预置源数据库的表结构与目标数据库当前的表结构,以及预设的字段属性匹配规则,确定变更数据。可以把源数据库的表结构信息和目标数据库的表结构信息存放到一个表格(例如为该表格取名为db_info)。其中,字段属性捕获规则仅对字段属性有效,因为源数据库(业务数据库)发生新增删除操作一般是不可能提前预测到的。当字段属性发生变化时,根据字段属性捕获规则对某些字段属性变化进行有选择地过滤。
根据源数据库的表结构信息与目标数据库的表结构信息确定与表结构关联的数据表或者字段的新增删除变更信息;根据源数据库的表结构信息与目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息。
具体的,新增删除变更信息可以是新增表变更信息、删除表变更信息、新增字段变更信息和删除字段变更信息。在确定出表结构变更信息之后,还可以分别将新增删除变更信息和字段属性变更信息添加至匹配的变更记录表中,例如,将新增表变更信息添加至新增表变更记录表中,将删除表变更信息添加至删除表变更记录表中,将新增字段变更信息添加至新增字段变更记录表中,将删除字段变更信息添加至删除字段变更记录表中,将字段属性变更信息添加至字段属性变更记录表中。
103、根据变更数据生成目标数据库的变更表结构;
本实施例中,根据表结构对应的变更数据生成变更内容,并根据变更内容,对目标数据库的表结构数据进行更新。其中,变更内容为变更语句。在确定了源数据库和目标数据库的表结构变更信息之后,根据这些表结构变更信息生成变更内容,控制目标数据库执行生成的这些变更内容,以使目标数据库的表结构信息更新为与源数据库相同的表结构信息,至此,完成目标数据库与源数据库的表结构同步。
针对变更记录表中的新增表变更信息、删除表变更信息、新增字段变更信息、删除字段变更信息和字段属性变更信息这五类变更信息,要生成五种大类的变更内容,其中,适用于字段属性变更信息的变更内容最复杂,因为变更的字段可能还有例如主键等特殊属性,此时,可以选用具有特殊性的SQL语句,生成五种大类SQL语句,其中,可以抽象出针对字段属性变更的SQL语句。
104、从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。
本实施例中,从预置数据库中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。其中,预设的同步调度参数可以包括同步时间参数、同步调度时间级别参数以及同步节点权重参数,同步时间参数为预估完成变更数据同步所需要的时间,例如,配置1小时内完成变更数据的同步,同步调度时间级别为变更数据在同步过程中调度的单位同步时间,例如,5分钟级别、10分钟级别、30分钟级别、1小时级别、3小时级别以及1天级别,同步节点权重参数为变更数据在同步过程中需要同时开启的节点数量,例如,同时开启5台机器进行变更数据同步。进一步根据预先配置的同步调度参数,将变更数据同步至目标数据库中。
本实施例中,由于在接收表结构变更任务后,业务方会预先统计变更数据的同步信息,如统计哪些数据表需要进行同步,变更数据对应目标数据库的连接信息,以及同步的截止时间限制等等,进一步根据统计得到的同步信息设置同步调度参数,即完成数据同步所需要的时间、同步调度时间级别以及同步节点权重参数业务方,例如,业务方要求在3日内完成15个数据表的数据同步任务,这里设置同步调度参数为同步时间参数为3天,同步调度时间级别参数为1天级别,同步节点权重参数为5台服务器,每台服务器每日分配至少1个数据表完成数据同步任务,进一步按照预先设置的同步调度参数实现将业务方中的变更数据同步至目标数据库。
本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
请参阅图2,本发明实施例中数据库表结构变更方法的第二个实施例包括:
201、获取目标数据库中的日志记录,对日志记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件;
本实施例中,对数据库中日志的记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件。其中,该采集触发条件包括自动触发条件以及需要用户操作的手动触发条件。其中,手动触发具体为:管理员在终端设备上生成一个表结构采集指令,或通过用户终端向终端设备发送一个表结构采集指令,终端设备若接收到该表结构采集指令后,则执行本步骤的相关操作。
202、当存在满足预设的采集触发条件时,获取目标数据库包含的数据量;
本实施例中,当存在满足预设的采集触发条件时,则获取该目标数据表的数据量。该目标数据表的数据量不仅与存储与该数据表的数据多少有关,还与各个数据的属性有关。例如一个数据存储为字段的格式为char,即会为该字段内各个数据分配一个字节,即8位来存储该数据;若某一字段的格式为int,则会为该字段内各个数据分配2个字节,即16为来存储该数据。因此,即便char字段与int字段均存储数字“2”,但两者的数据量却不一样,因此数据量的变化除了表示数据数量上的变化外,还可以是由于数据格式变化而造成的。
203、当数据量与上一轮数据采集时目标数据库所包含的数据量不一致时,获取目标数据库中对应数据表当前的表结构;
本实施例中,终端设备在确定当前的数据量后,将与上一轮数据采集时机获取的数据量进行匹配,判断两个数据量是否一致,若一致,则表示该文件中包含的数据并没有发生变化,则既没有增加数据,各个数据的属性参数也没有变化,即可以判定表结构没有变动,从而无需获取该数据库的表结构。若两个数据量不一致,则表示该目标数据表中可能添加或减少了数据,或部分数据的属性参数发生了变化,即可能存在表结构变更的情况,因此需要获取当前数据库中目标数据表当前的表结构。
可选地,在本实施例中,终端设备还可以设置一数据量阈值,当本次采集的数据量与上一版本的数据量之间的差值大于预设的数据量阈值,则执行获取数据库中目标数据表当前的表结构的操作。由于表结构的变更,一般是对整个目标数据表的结构进行变更,因此涉及的数据量变化一般较大,因此,终端设备还可以这一阈值,来确定本次变化是否为数据表结构的变化。
204、将预置源数据库群的表结构数据与当前的表结构的表结构数据进行比对,确定与当前的表结构关联的数据表或者字段的变更数据;
本实施例中,根据源数据库的表结构数据与目标数据库的表结构数据确定与表结构关联的数据表或者字段的新增删除变更数据。其中,新增删除变更数据可以是新增表变更数据、删除表变更数据、新增字段变更数据和删除字段变更数据。
205、根据预置源数据库群的表结构数据与当前的表结构的表结构数据以及预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;
本实施例中,根据预置源数据库的表结构数据与目标数据库的表结构数据以及预设的字段属性匹配规则,确定与表结构关联的字段属性变更数据。其中,字段属性捕获规则具体为字段属性检测配置信息和字段属性内容过滤信息。具体的,根据源数据库的表结构数据与目标数据库的表结构数据确定至少一条待确认字段变更数据;如果待确认字段变更数据与字段属性捕获规则匹配,则将该待确认字段变更数据确定为与表结构关联的字段属性变更数据。如果源数据库和目标数据库为异构数据库,则需要先将源数据库和目标数据库中的字段属性映射为同一类型的字段属性,然后再确定新增删除变更数据和字段属性变更数据。
206、根据变更数据生成目标数据库的变更表结构;
207、从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。
本实施例中步骤206-207与第一实施例中的步骤103-104类似,此处不再赘述。
本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
请参阅图3,本发明实施例中数据库表结构变更方法的第三个实施例包括:
301、获取目标数据库中的日志记录和目标数据库当前的表结构;
302、根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;
303、根据变更数据生成目标数据库的变更表结构;
304、从源数据库群中获取与变更数据对应的更新数据;
本实施例中,从源数据库群中获取与变更数据对应的更新数据。其中,更新数据为比对不一致的各个业务场景对应的变更表结构。
具体在比对元数据对应的逻辑内容的过程中,可以首先比对业务场景对应的变更表结构中的元数据对应表的数量与目标数据库的表结构中的元数据对应表的数量,其次比对业务场景对应的变更表结构中的元数据对应表的字段与目标数据库的表结构中的元数据对应表的字段,例如,业务场景对应数据库的表结构A与目标数据库的表结构A’进行比对,将业务场景对应数据库的表结构A中有50张表,而目标数据库的表结构A’中有45张表,则此时目标数据库与业务场景对应数据库的表结构不一致,需要将业务场景对应数据库的表结构A中变更的5张表同步到目标数据库的表结构A’中。
需要说明的是,在将各个业务场景对应的变更表结构中的元数据与目标数据库的表结构中的元数据进行比对的过程中,还可以相应对比业务场景对应的变更表结构中的元数据对应的表标识与目标数据库的表结构中的元数据对应的表标识、表名称等等,这里不进行限定。
305、根据更新数据,生成变更表结构对应的数据定义语句;
本实施例中,根据更新数据,生成变更表结构对应的数据定义语句。更新数据可以为业务场景对应的数据库中新增表或者新增表结构,具体可以将比对不一致的各个业务场景对应的变更表结构拉入一个清单,通过运行软件提供简单的结构化查询语言编辑器,可以实现数据库中表的创建、删除索引或者修改字段,可以支持大多数的数据定义语句,例如:创建表、更改表、创建索引、创建序列等命令都可以通过结构化查询语言编辑器窗口运行,在输入比对不一致的各个业务方的变更表结构之后,可以在Kettle中自动生成变更表结构对应的数据定义语句。
306、执行数据定义语句,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。
本实施例中,由于不同业务场景对应的变更表结构不同,生成的变更表结构对应的数据定义语句可能会不同,为了使不同业务场景的业务数据库可以互相支持,可以实现自动监控,会对不同业务数据库中的数据类型采用相同的定义,例如,不同业务场景对应数据库中数据的精度相同,double数据类型采用相同的长度。
本实施例中,生成变更表结构对应的数据定义语句可以实现各种数据操作指令,通过在目标数据库中执行变更表结构对应的数据定义语句,可以将比对不一致的各个业务方的变更表结构映射到目标数据库的表结构中,如果业务方数据库中表结构发生改变,在执行变更表结构对应的数据定义语句后,同样在目标数据库中表结构也会发生相应改变,从而根据预设调度参数将更新数据同步至目标数据库的变更表结构中。
本实施例中步骤301-303与第一实施例中的步骤101-103类似,此处不再赘述。
本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
请参阅图4,本发明实施例中数据库表结构变更方法的第四个实施例包括:
401、获取目标数据库中的日志记录和目标数据库当前的表结构;
402、根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;
403、根据变更数据生成目标数据库的变更表结构;
404、根据更新数据对应数量的大小,确定更新数据的数据量级别;
本实施例中,由于业务场景对应的业务方在上传表结构变更任务完成数据同步之后,为了便于业务方对变更数据的同步任务进行管理,业务方会预先对变更数据对应的数据量进行统计,从而确定变更数据的数据量级别。例如,可以将统计数据量大于1000条的数据划分为一级,说明数据量较多,通常需要同步的时间较长,将统计数据量为500-1000条的数据划分为二级,说明数据量中等,需要同步的时间居中统计数据量小于5000条的数据划分为三级,说明数据量较少,通常需要同步的时间较少,这里对数据量级别的划分规则不进行限定,具体根据实际情况可以划分更多的数据量级别。
405、根据更新数据的数据量级别,设置更新数据对应的同步调度参数;
本实施例中,变更数据对应的同步调度参数可以包括同步时间参数、同步调度时间级别参数以及同步节点权重参数,同步时间参数为预估变更数据完成同步所需要的时间,例如,配置1小时内完成变更数据的同步,同步调度时间级别参数为变更数据在同步过程中调度的单位时间,例如,5分钟级别、10分钟级别、30分钟级别、1小时级别、3小时级别以及1天级别,同步节点权重参数为变更数据在同步过程中需要同时开启的节点数量,例如,同时开启5台服务器或者10台服务器进行数据同步。
406、从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
本实施例中步骤401-403、406与第一实施例中的步骤101-104类似,此处不再赘述。
本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
请参阅图5,本发明实施例中数据库表结构变更方法的第五个实施例包括:
501、获取目标数据库中的日志记录和目标数据库当前的表结构;
502、根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;
503、根据变更数据生成目标数据库的变更表结构;
504、从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中;
505、确定变更数据中字段的变更类型,其中,变更类型包括修改、新增和删除;
本实施例中,判断变更字段的变更类型,根据判断结果确定变更数据中对应字段的变更类型,变更类型包括修改、新增或删除。比如,UMD层全量数据表与ODS层数据表相比,如果存在字段个数、名称一致,但字段类型和字段长度不一致的情况,则判断变更字段的变更类型为“修改”;如果存在ODS层数据表中存在某字段,而UMD层全量数据表中没有该字段的情况,则判断变更字段的变更类型为“新增”;如果存在ODS层数据表没有某字段,而UMD层全量数据表中有该字段的情况,则判断变更字段的变更类型为“删除”。
506、根据变更类型,生成对应类型的回滚语句,其中,回滚语句包括回滚更改语句,回滚删除语句,回滚新增语句;
本实施例中,当变更类型为更新语句中的更改字段,且在执行软件删除操作时,则根据获取得到的数据信息中的所有数据字段以及条件执行字段生成回滚更改语句。
本实施例中,当操作语句为新增语句,且对应的数据只有一条数据时,可只根据主键生成回滚删除语句,当对应的数据为多条数据时,可根据条件语句生成回滚删除语句,或者对多条数据进行拆分,为每条数据设定唯一主键,根据主键以及条件语句生成相应的回滚删除语句,如此,可保证回滚语句的完整性。
本实施例中,当变更类型为更新字段中的删除字段时,即在执行物理删除操作时,则根据获取得到的数据信息中的所有数据字段生成回滚新增语句。需要说明的是,当执行语句为更新字段中的删除字段时,在根据获取得到的数据信息中的所有数据字段生成回滚新增字段时,需要排除主键字段以及一些自动生成的信息,例如新增时间、修改时间等。根据执行语句的变更类型,通过获取得到的数据信息以及主键值生成回滚字段,保证了回滚字段生成的完整性,避免在后续执行回滚操作的过程中,出现错误。
507、获取表结构包含的所有字段,并将字段与预置基准表结构中的各个基准字段进行匹配,得到匹配结果;
本实施例中,表结构变更记录包括:新增变更记录、删除变更记录以及替换变更记录。终端设备在获取到当前的表结构后,将提取该表结构中包含的各个字段以及各个字段对应的属性参数,得到字段与属性参数的对应关系列表,并将该列表中的每一条记录与基准表结构中的各个基准字段进行匹配操作,判断两者是否一致。
具体地,在本实施例中,终端设备依次提取上述字段与属性参数的对应关系列表中的每一个记录,遍历查询基准表结构中是否存在与之对应的基准字段。若遍历查询后找到对应的基准字段,则识别该字段为新增的字段;若遍历查询的过程中找到与之对应的基准字段,则判断该字段与对应的基准字段之间的属性参数是否一致,若一致,则识别为没有变更情况,继续提取下一个字段进行匹配操作;若该字段与对应的基准字段之间的属性参数不一致,则表示该字段的参数发生改变。在当前表结构的各个字段均进行匹配操作后,终端设备将查询基准表结构中是否存在未被匹配的基准字段,将该字段识别为删除字段。
508、根据匹配结果,生成对应变更记录,其中,变更记录包括替换变更记录,新增变更记录,删除变更记录。
本实施例中,终端设备在将当前的表结构中的字段遍历查询基准表结构中是否存在匹配的基准字段,若判断结果为是,则继续判定两个字段之间的属性参数是否相同,若不相同,则表示当前的字段的属性参数与上一字段的属性参数之间存在变更的情况,该变更属于属性参数替换的修改,因此生成一条替换变更记录。
在本实施例中,替换变更记录中包含发生变更操作的字段,以及该字段变更前的,即在上一采集时刻对应的基准字段中的属性参数,以及当前表结构中该字段的属性参数,当然,还包含当前的版本编号以及采集时间。
本实施例中,终端设备在将当前的表结构中的字段遍历查询基准表结构中是否存在匹配的基准字段,若判断结果为否,则表示当前的字段不存在于基准表结构内,即该字段为新增的字段,属于新增内容的修改,因此生成一条新增变更记录。替换变更记录中包含相对于基准表结构新增的字段,以及该字段包含的属性参数,当然,还包含当前的版本编号以及采集时间。
本实施例中,终端设备在将当前的表结构中的字段遍历查询基准表结构中是否存在匹配的基准字段,若在对当前表结构中各个字段均进行遍历查询后,基准字段中存在未匹配的基准字段,则表示当前的表结构中删除了部分字段,以使基准字段无法找到对应的字段,即上述基准字段被删除了,因此生成一条删除变更记录。
本实施例中,删除变更记录中包含相对于基准表结构被删除的字段,即基准表结构中为匹配成功的基准字段,以及上述基准字段包含的属性参数,当然,还包含当前的版本编号以及采集时间。
本实施例中步骤501-504与第一实施例中的101-104类似,此处不再赘述。
在本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
上面对本发明实施例中数据库表结构变更方法进行了描述,下面对本发明实施例中数据库表结构变更装置进行描述,请参阅图6,本发明实施例中数据库表结构变更装置的第一个实施例包括:
获取模块601,用于获取目标数据库中的日志记录和所述目标数据库当前的表结构,其中,所述当前的表结构用于定义所述目标数据库中各个字段的属性参数;
第一匹配模块602,用于根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据;
第一生成模块603,用于根据所述变更数据生成所述目标数据库的变更表结构;
同步模块604,用于从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
请参阅图7,本发明实施例中数据库表结构变更装置的第二个实施例,该数据库表结构变更装置具体包括:
获取模块601,用于获取目标数据库中的日志记录和所述目标数据库当前的表结构,其中,所述当前的表结构用于定义所述目标数据库中各个字段的属性参数;
第一匹配模块602,用于根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据;
第一生成模块603,用于根据所述变更数据生成所述目标数据库的变更表结构;
同步模块604,用于从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
本实施例中,所述获取模块601具体用于:
获取目标数据库中的日志记录,对所述日志记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件;
若存在满足预设的采集触发条件,则获取所述目标数据库包含的数据量;
当所述数据量与上一轮数据采集时目标数据库所包含的数据量不一致时,获取目标数据库中对应数据表当前的表结构。
本实施例中,所述第一匹配模块602具体用于:
将预置源数据库群的表结构数据与所述当前的表结构的表结构数据进行比对,确定与所述当前的表结构关联的数据表或者字段的变更数据;
根据预置源数据库群的表结构数据与所述当前的表结构的表结构数据以及预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据。
本实施例中,所述同步模块604包括:
获取单元6041,用于从源数据库群中获取与所述变更数据对应的更新数据;
生成单元6042,用于根据所述更新数据,生成变更表结构对应的数据定义语句;
同步单元6043,用于执行所述数据定义语句,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
本实施例中,所述数据库表结构变更装置还包括:
第一确定模块605,用于根据所述更新数据对应数量的大小,确定所述更新数据的数据量级别;
设置模块606,用于根据所述更新数据的数据量级别,设置所述更新数据对应的同步调度参数。
本实施例中,所述数据库表结构变更装置还包括:
第二确定模块607,用于确定所述变更数据中字段的变更类型,其中,所述变更类型包括修改、新增和删除;
第二生成模块608,用于当所述变更类型为修改字段时,根据所述字段的条件语句生成回滚更改语句;当所述变更类型为新增字段时,根据所述字段的主键以及条件语句生成回滚删除语句;当所述变更类型为删除字段时,根据所述字段数据信息生成回滚新增语句。
本实施例中,所述数据库表结构变更装置还包括:
第二匹配模块609,用于获取所述表结构包含的所有字段,并将所述字段与预置基准表结构中的各个基准字段进行匹配;
第三生成模块610,用于若存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则生成替换变更记录;若不存在与所述字段匹配的基准字段,则根据所述字段生成新增变更记录;若所述表结构中不存在与所述基准字段匹配的字段,则根据所述基准字段生成删除变更记录。
本发明实施例中,通过获取目标数据库中的日志记录和目标数据库当前的表结构;根据目标数据库的预置表结构和预设的字段属性匹配规则,对当前的表结构中的字段进行匹配,确定当前的表结构的变更数据;根据变更数据生成目标数据库的变更表结构;从源数据库群中获取与变更数据对应的更新数据,根据预设调度参数将更新数据同步至目标数据库的变更表结构中。通过线上系统支持解决了表结构变更的准确率低的技术问题。
上面图6和图7从模块化功能实体的角度对本发明实施例中的数据库表结构变更装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据库表结构变更设备进行详细描述。
图8是本发明实施例提供的一种数据库表结构变更设备的结构示意图,该数据库表结构变更设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据库表结构变更设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在数据库表结构变更设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的数据库表结构变更方法的步骤。
数据库表结构变更设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的数据库表结构变更设备结构并不构成对本申请提供的数据库表结构变更设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述数据库表结构变更方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据库表结构变更方法,其特征在于,所述数据库表结构变更方法包括:
获取目标数据库中的日志记录和所述目标数据库当前的表结构,其中,所述当前的表结构用于定义所述目标数据库中各个字段的属性参数;
根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据;
根据所述变更数据生成所述目标数据库的变更表结构;
从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中,其中,所述源数据库群包括至少一个目标数据库;
所述获取目标数据库中的日志记录和所述目标数据库当前的表结构包括:
获取目标数据库中的日志记录,对所述日志记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件;
若存在满足预设的采集触发条件,则获取所述目标数据库包含的数据量;
当所述数据量与上一轮数据采集时目标数据库所包含的数据量不一致时,获取目标数据库中对应数据表当前的表结构;
在所述从源数据库群中获取与所述变更数据对应的更新数据之前,还包括:
根据所述更新数据对应数量的大小,确定所述更新数据的数据量级别;
根据所述更新数据的数据量级别,设置所述更新数据对应的同步调度参数,所述同步调度参数包括同步时间参数、同步调度时间级别参数以及同步节点权重参数,所述同步时间参数为预估完成变更数据同步所需要的时间,所述同步调度时间级别为变更数据在同步过程中调度的单位同步时间,所述同步节点权重参数为变更数据在同步过程中需要同时开启的节点数量。
2.根据权利要求1所述的数据库表结构变更方法,其特征在于,所述根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据包括:
将预置源数据库群的表结构数据与所述当前的表结构的表结构数据进行比对,确定与所述当前的表结构关联的数据表或者字段的变更数据;
根据预置源数据库群的表结构数据与所述当前的表结构的表结构数据以及预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据。
3.根据权利要求1所述的数据库表结构变更方法,其特征在于,所述从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中包括:
从源数据库群中获取与所述变更数据对应的更新数据;
根据所述更新数据,生成变更表结构对应的数据定义语句;
执行所述数据定义语句,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
4.根据权利要求3所述的数据库表结构变更方法,其特征在于,在所述从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中之后,还包括:
确定所述变更数据中字段的变更类型,其中,所述变更类型包括修改、新增和删除;
若所述变更类型为修改字段,则根据所述字段的条件语句生成回滚更改语句;
若所述变更类型为新增字段,则根据所述字段的主键以及条件语句生成回滚删除语句;
若所述变更类型为删除字段,则根据所述字段的数据信息生成回滚新增语句。
5.根据权利要求4所述的数据库表结构变更方法,其特征在于,在所述根据所述字段的数据信息生成回滚新增语句之后,还包括:
获取所述表结构包含的所有字段,并将所述字段与预置基准表结构中的各个基准字段进行匹配;
若存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则生成替换变更记录;
若不存在与所述字段匹配的基准字段,则根据所述字段生成新增变更记录;
若所述表结构中不存在与所述基准字段匹配的字段,则根据所述基准字段生成删除变更记录。
6.一种数据库表结构变更装置,其特征在于,所述数据库表结构变更装置包括:
获取模块,用于获取目标数据库中的日志记录和所述目标数据库当前的表结构,其中,所述当前的表结构用于定义所述目标数据库中各个字段的属性参数;
第一匹配模块,用于根据所述目标数据库的预置表结构和预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据;
第一生成模块,用于根据所述变更数据生成所述目标数据库的变更表结构;
同步模块,用于从源数据库群中获取与所述变更数据对应的更新数据,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中;
所述获取模块具体用于:获取目标数据库中的日志记录,对所述日志记录和表结构进行变更检测,确定是否存在满足预设的采集触发条件;若存在满足预设的采集触发条件,则获取所述目标数据库包含的数据量;当所述数据量与上一轮数据采集时目标数据库所包含的数据量不一致时,获取目标数据库中对应数据表当前的表结构;
第一确定模块,用于根据所述更新数据对应数量的大小,确定所述更新数据的数据量级别;设置模块,用于根据所述更新数据的数据量级别,设置所述更新数据对应的同步调度参数,所述同步调度参数包括同步时间参数、同步调度时间级别参数以及同步节点权重参数,所述同步时间参数为预估完成变更数据同步所需要的时间,所述同步调度时间级别为变更数据在同步过程中调度的单位同步时间,所述同步节点权重参数为变更数据在同步过程中需要同时开启的节点数量。
7.根据权利要求6所述的数据库表结构变更装置,其特征在于,所述第一匹配模块具体用于:
将预置源数据库群的表结构数据与所述当前的表结构的表结构数据进行比对,确定与所述当前的表结构关联的数据表或者字段的变更数据;
根据预置源数据库群的表结构数据与所述当前的表结构的表结构数据以及预设的字段属性匹配规则,对所述当前的表结构中的字段进行匹配,确定所述当前的表结构的变更数据。
8.根据权利要求6所述的数据库表结构变更装置,其特征在于,所述同步模块包括:
获取单元,用于从源数据库群中获取与所述变更数据对应的更新数据;
生成单元,用于根据所述更新数据,生成变更表结构对应的数据定义语句;
同步单元,用于执行所述数据定义语句,根据预设调度参数将所述更新数据同步至所述目标数据库的变更表结构中。
9.一种数据库表结构变更设备,其特征在于,所述数据库表结构变更设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据库表结构变更设备执行如权利要求1-5中任一项所述的数据库表结构变更方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的数据库表结构变更方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691914.7A CN113420026B (zh) | 2021-06-22 | 2021-06-22 | 数据库表结构变更方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691914.7A CN113420026B (zh) | 2021-06-22 | 2021-06-22 | 数据库表结构变更方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113420026A CN113420026A (zh) | 2021-09-21 |
CN113420026B true CN113420026B (zh) | 2023-10-31 |
Family
ID=77716038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691914.7A Active CN113420026B (zh) | 2021-06-22 | 2021-06-22 | 数据库表结构变更方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420026B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969083A (zh) * | 2022-06-24 | 2022-08-30 | 在线途游(北京)科技有限公司 | 一种实时数据分析方法及系统 |
CN115794827B (zh) * | 2022-11-29 | 2023-07-21 | 广发银行股份有限公司 | 一种数据表结构管理系统和方法 |
CN115878631B (zh) * | 2023-02-03 | 2023-05-12 | 北京智芯微电子科技有限公司 | 用于变更数据库表的表结构的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255925A (zh) * | 2017-11-10 | 2018-07-06 | 平安普惠企业管理有限公司 | 一种数据表结构变更情况的显示方法及其终端 |
CN109885581A (zh) * | 2019-03-14 | 2019-06-14 | 苏州达家迎信息技术有限公司 | 数据库的同步方法、装置、设备及存储介质 |
WO2019232832A1 (zh) * | 2018-06-06 | 2019-12-12 | 平安科技(深圳)有限公司 | 数据监控方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-22 CN CN202110691914.7A patent/CN113420026B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255925A (zh) * | 2017-11-10 | 2018-07-06 | 平安普惠企业管理有限公司 | 一种数据表结构变更情况的显示方法及其终端 |
WO2019232832A1 (zh) * | 2018-06-06 | 2019-12-12 | 平安科技(深圳)有限公司 | 数据监控方法、装置、计算机设备及存储介质 |
CN109885581A (zh) * | 2019-03-14 | 2019-06-14 | 苏州达家迎信息技术有限公司 | 数据库的同步方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113420026A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113420026B (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
US9116968B2 (en) | Methods and apparatus related to graph transformation and synchronization | |
EP2702510B1 (en) | Joining tables in a mapreduce procedure | |
US10191932B2 (en) | Dependency-aware transaction batching for data replication | |
US7162499B2 (en) | Linked value replication | |
CN108647357B (zh) | 数据查询的方法及装置 | |
CN110908997A (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN114168418A (zh) | 用于在日志分析系统中实现日志解析器的方法和系统 | |
US10521407B2 (en) | Grouping of database objects | |
JP2019212272A (ja) | ソースデータベースの負荷を最小化したデータ整合性検証方法およびシステム | |
EP3674918A2 (en) | Column lineage and metadata propagation | |
CN114116716A (zh) | 一种层次数据检索方法、装置和设备 | |
CN115543402B (zh) | 一种基于代码提交的软件知识图谱增量更新方法 | |
EP4189914B1 (en) | Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems | |
CN111324604A (zh) | 数据库表的处理方法、装置、电子设备及存储介质 | |
CN115858513A (zh) | 数据治理方法、装置、计算机设备和存储介质 | |
CN109446262B (zh) | 一种数据汇聚方法及装置 | |
CN111400303B (zh) | 智能合约数据提取和同步方法、系统 | |
CN112749197B (zh) | 数据分片刷新方法、装置、设备及存储介质 | |
CN110837365A (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
CN113553320B (zh) | 数据质量监控方法及装置 | |
CN114153830B (zh) | 数据验证方法及其装置、计算机存储介质、电子设备 | |
CN116541377B (zh) | 任务的物化视图的处理方法、系统和电子设备 | |
CN113626423B (zh) | 业务数据库的日志管理方法、装置、系统 | |
CN115408284A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |