掌桥专利:专业的专利平台
掌桥专利
首页

一种数据库表结构调整自动处理方法、系统、设备及介质

文献发布时间:2024-04-18 20:01:23


一种数据库表结构调整自动处理方法、系统、设备及介质

技术领域

本发明涉及数据库管理和运维技术领域,特别是涉及一种数据库表结构调整自动处理方法、系统、设备及介质。

背景技术

随着大资管时代的到来,资管投资业务范围日益复杂,为解决业务发展不规范、多层嵌套、规避金融监管和宏观调控等问题,监管机构颁布了各类监管新规及内控管理要求。投资管理人在进行投资交易时,需要规范投资避免触发风控。

目前市面上成熟的资管合规风控系统虽然能够满足资管风控的业务需求,但面对处于快速发展的投资业务,需要经常通过系统升级进行风控规则更新。系统升级频率高,发生生产事故的风险也逐步上升。为了降低资管合规风控系统的运维风险,有必要采用新的技术方案来减少业务发展变化导致的系统升级。

合规风控系统进行规则计算主要依赖投资交易及金融市场资讯这两类数据。发生风控规则调整时,除了业务新增,一般投资交易相关的表字段结构发生变化的情况比较少,相反金融市场资讯数据发生变化的情况比较多。因此,优化合规风控系统支持自动处理金融市场资讯数据的表字段结构修改,将会有效地减少升级频率,保障系统的稳定运行,极大的提升资管合规风控的业务延续性。

发明内容

本发明的目的是提供一种数据库表结构调整自动处理方法、系统、设备及介质,通过对资管合规风控系统的数据库表结构调整进行自动处理,能够降低系统升级频率,保障系统的稳定运行,提升资管合规风控的业务延续性。

为实现上述目的,本发明提供了如下方案:

一种数据库表结构调整自动处理方法,包括:

创建检查关系维护表;所述检查关系维护表用于存储数据库表结构差异化检查的表范围以及原表与目标表的对应关系;

创建检查结果存储表;所述检查结果存储表用于存储数据库表结构差异化检查的差异化检查结果;

根据所述检查关系维护表对原表及目标表进行差异化检查,得到差异化检查结果;所述差异化检查结果包括:新增字段检查结果、减少字段检查结果、字段属性变更检查结果和表索引变更检查结果;

将所述差异化检查结果存储至所述检查结果存储表中;

创建数据库表结构差异化检查结果的处理模型;所述处理模型用于对新增字段、减少字段、字段属性变更和表索引变更进行处理;

利用所述处理模型,根据所述检查结果存储表中存储的差异化检查结果对目标表进行处理。

可选地,根据所述检查关系维护表对原表及目标表进行差异化检查,得到差异化检查结果,具体包括:

根据所述检查关系维护表确定原表和目标表;

通过左连接查询数据库表列信息视图和右连接查询对原表及目标表的新增字段、减少字段和字段属性变更进行差异化检查,得到新增字段检查结果、减少字段检查结果和字段属性变更检查结果;

通过左连接查询元数据信息数据视图和右连接查询对原表及目标表的表索引变更进行差异化检查,得到表索引变更检查结果。

可选地,将所述差异化检查结果存储至所述检查结果存储表中,具体包括:

根据所述差异化检查结果中的新增字段检查结果,将新增字段名称、新增字段类型和新增字段长度存储至检查结果存储表的新增字段信息字段中;

根据所述差异化检查结果中的减少字段检查结果,将减少字段名称存储至检查结果存储表的减少字段信息字段中;

根据所述差异化检查结果中的字段属性变更检查结果,将变更前及变更后的字段名称、字段类型和字段长度存储至检查结果存储表的字段属性变更信息字段中;

根据所述差异化检查结果中的表索引变更检查结果,将变更前及变更后的索引字段存储至检查结果存储表的表索引变更信息字段中。

可选地,利用所述处理模型,根据所述检查结果存储表中存储的差异化检查结果对目标表进行处理,具体包括:

利用所述处理模型,根据比对日期从所述检查结果存储表中筛选待处理的差异化检查结果,并根据所述待处理的差异化检查结果对目标表进行处理。

可选地,根据所述待处理的差异化检查结果对目标表进行处理,具体包括:

若所述待处理的差异化检查结果中的新增字段信息字段的数据不为空,则根据目标表表名和所述新增字段信息字段的数据生成目标表新增字段的可执行SQL脚本;所述目标表新增字段的可执行SQL脚本用于实现对目标表的新增字段操作;

若所述待处理的差异化检查结果中的减少字段信息字段的数据不为空,则根据目标表表名和所述减少字段信息字段的数据生成目标表删除字段的可执行SQL脚本;所述目标表删除字段的可执行SQL脚本用于实现对目标表的删除字段操作;

若所述待处理的差异化检查结果中的字段属性变更信息字段的数据不为空,则根据目标表表名和所述字段属性变更信息字段的数据生成更新目标表字段属性的可执行SQL脚本;所述更新目标表字段属性的可执行SQL脚本用于实现对目标表的字段属性变更操作;

若所述待处理的差异化检查结果中的表索引变更信息字段的数据不为空,则根据目标表表名和所述表索引变更信息字段的数据生成更新目标表索引的可执行SQL脚本;所述更新目标表索引的可执行SQL脚本用于实现对目标表的表索引变更操作。

可选地,利用所述处理模型,根据所述检查结果存储表中存储的差异化检查结果对目标表进行处理,还包括:

在对目标表进行处理之前,利用所述处理模型,根据目标表的表数据生成可执行表备份SQL脚本。

可选地,所述检查关系维护表的字段包括:ID、原表表名、目标表表名、检查状态和维护日期;所述检查结果存储表的字段包括:ID、比对日期、原表表名、目标表表名、新增字段信息、减少字段信息、字段属性变更信息、表索引变更信息。

一种数据库表结构调整自动处理系统,包括:

维护表创建模块,用于创建检查关系维护表;所述检查关系维护表用于存储数据库表结构差异化检查的表范围以及原表与目标表的对应关系;

存储表创建模块,用于创建检查结果存储表;所述检查结果存储表用于存储数据库表结构差异化检查的差异化检查结果;

差异化检查模块,用于根据所述检查关系维护表对原表及目标表进行差异化检查,得到差异化检查结果;所述差异化检查结果包括:新增字段检查结果、减少字段检查结果、字段属性变更检查结果和表索引变更检查结果;

结果存储模块,用于将所述差异化检查结果存储至所述检查结果存储表中;

处理模型创建模块,用于创建数据库表结构差异化检查结果的处理模型;所述处理模型用于对新增字段、减少字段、字段属性变更和表索引变更进行处理;

目标表处理模块,用于利用所述处理模型,根据所述检查结果存储表中存储的差异化检查结果对目标表进行处理。

一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的数据库表结构调整自动处理方法。

一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据库表结构调整自动处理方法。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供的数据库表结构调整自动处理方法,通过根据检查关系维护表对原表及目标表进行差异化检查,得到差异化检查结果,并将差异化检查结果存储至检查结果存储表中,能够直接确认原表数据库表结构是否发生了变化,无需人工对数据库表结构进行比对,且变化前后的信息能够直观的展示在检查结果存储表中,通过创建数据库表结构差异化检查结果的处理模型,并利用处理模型,根据检查结果存储表中存储的差异化检查结果对目标表进行处理,能够实现对数据原表结构变化的自动处理,有效降低了系统升级频率,保障了系统的稳定运行,使得资管合规风控业务的延续性得到了极大的提升。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的数据库表结构调整自动处理方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种数据库表结构调整自动处理方法、系统、设备及介质,通过对资管合规风控系统的数据库表结构调整进行自动处理,能够降低系统升级频率,保障系统的稳定运行,提升资管合规风控的业务延续性。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明提供一种数据库表结构调整自动处理方法。如图1所示,该方法包括:

步骤S1:创建检查关系维护表;所述检查关系维护表用于存储数据库表结构差异化检查的表范围以及原表与目标表的对应关系。

创建数据库表结构差异化检查的“检查关系维护表”,表字段如下:ID、原表表名、目标表表名、检查状态、维护日期等。

步骤S2:创建检查结果存储表;所述检查结果存储表用于存储数据库表结构差异化检查的差异化检查结果。

创建数据库表结构差异化检查结果存储表(以下简称结果表),所有的差异化检查结果均存储在结果表中。结果表包含如下字段:ID、差异化检查日期(即比对日期)、差异化检查原表表名(即原表表名)、差异化检查目标表表名(即目标表表名)、新增字段信息、减少字段信息、字段属性变更信息、表索引变更信息等。

步骤S3:根据所述检查关系维护表对原表及目标表进行差异化检查,得到差异化检查结果;所述差异化检查结果包括:新增字段检查结果、减少字段检查结果、字段属性变更检查结果和表索引变更检查结果。

该步骤具体包括:根据所述检查关系维护表确定原表和目标表;通过左连接查询数据库表列信息视图和右连接查询对原表及目标表的新增字段、减少字段和字段属性变更进行差异化检查,得到新增字段检查结果、减少字段检查结果和字段属性变更检查结果;通过左连接查询元数据信息数据视图和右连接查询对原表及目标表的表索引变更进行差异化检查,得到表索引变更检查结果。

作为一种具体的实施方式,创建数据库表结构差异化检查的SQL存储过程,包含新增字段、减少字段、字段属性变更(不含字段名称变化)及表索引变更的差异化检查。原表及目标表发生新增字段、减少字段及字段属性变更的差异化检查,可通过左连接查询“LEFTJOIN”数据库表列信息视图“DBA_TAB_COLUMNS”,再加上右连接查询“RIGHTJOIN”共同实现。原表及目标表的表索引差异化检查,可通过左连接查询“LEFTJOIN”元数据信息数据视图“INFORMATION_SCHEMA”,再加上右连接查询“RIGHT JOIN”共同实现。差异化检查的表范围及原表、目标表对应关系均读取自“检查关系维护表”。

步骤S4:将所述差异化检查结果存储至所述检查结果存储表中,存储后的检查结果存储表示例参见表1。

该步骤具体包括:根据所述差异化检查结果中的新增字段检查结果,将新增字段名称、新增字段类型和新增字段长度存储至检查结果存储表的新增字段信息字段中;根据所述差异化检查结果中的减少字段检查结果,将减少字段名称存储至检查结果存储表的减少字段信息字段中;根据所述差异化检查结果中的字段属性变更检查结果,将变更前及变更后的字段名称、字段类型和字段长度存储至检查结果存储表的字段属性变更信息字段中;根据所述差异化检查结果中的表索引变更检查结果,将变更前及变更后的索引字段存储至检查结果存储表的表索引变更信息字段中。

作为一种具体的实施方式,创建差异化检查结果数据落地的SQL存储过程如下:如差异化检查发现有新增字段,则将新增字段名称、新增字段类型及新增字段长度通过符号“.”连接后存储在结果表的“新增字段信息”字段中,多个新增字段则通过符号“,”进行数据分割。如差异化检查发现有减少字段,则将减少字段名称存储在结果表的“减少字段信息”字段中,多个减少的字段则通过符号“,”分割。如差异化检查发现有字段属性发生变更(不含字段名称变化),则将变更前及变更后的字段名称、字段类型及字段长度通过特殊符号“.”分别进行连接后存储在结果表的“字段属性变更信息”字段中,变更前后通过“,”分割,多个变更则在集合之间通过“,”分割。如检查发现有表索引发生变更,则将变更前及变更后的索引字段通过符号“,”分割,多个字段作为索引的在字段间通过特殊符号“.”进行连接后存储在结果表的“表索引变更信息”字段中,变更前、后无索引的填入NULL空。

进一步地,如检查发现原表当天存在多种修改,则按照如上逻辑在一条数据中更新多个字段,未发生的变更场景字段则填入NULL空。特殊情况如表字段名称修改或当天同一张表既存在新增字段又存在减少字段,则不直接落地数据,而是将数据缓存在临时表,并在系统前台页面弹出提醒,由人工进行核实后,手工确认是发生了“字段属性变更”还是当天分别发生了“新增字段”及“减少字段”或三种变更同时发生,系统将根据确认结果将字段变更数据分别落地在结果表的对应字段中。

表1检查结果存储表示例

步骤S5:创建数据库表结构差异化检查结果的处理模型;所述处理模型用于对新增字段、减少字段、字段属性变更和表索引变更进行处理。

创建表结构差异化检查结果的处理模型JAVA方法(以下简称处理模型),包含新增字段、减少字段、字段属性变更及表索引变更的处理。处理模型通过结果表的“比对日期”字段筛选需要处理的差异化检查结果,筛选结果为空时无需处理,不为空时对差异化结果数据逐条进行场景判断及自动处理。对目标表处理前,通过处理模型生成可执行的表备份SQL语句,完成目标表的表数据备份操作。

步骤S6:利用所述处理模型,根据所述检查结果存储表中存储的差异化检查结果对目标表进行处理。

该步骤具体包括:利用所述处理模型,根据比对日期从所述检查结果存储表中筛选待处理的差异化检查结果,并根据所述待处理的差异化检查结果对目标表进行处理。此外,在对目标表进行处理之前,利用所述处理模型,根据目标表的表数据生成可执行表备份SQL脚本。

根据所述待处理的差异化检查结果对目标表进行处理的具体过程如下:

若所述待处理的差异化检查结果中的新增字段信息字段的数据不为空,则根据目标表表名和所述新增字段信息字段的数据生成目标表新增字段的可执行SQL脚本;所述目标表新增字段的可执行SQL脚本用于实现对目标表的新增字段操作。具体地,处理模型判断“新增字段信息”字段数据不等于NULL的,通过JAVA代码根据“目标表表名”及“新增字段信息”字段值生成目标表新增字段的可执行SQL脚本,完成对目标表的字段新增操作;“新增字段信息”字段通过符号“.”分割获取新增字段的属性,第一段值为新增字段名称,第二段值为新增字段的字段类型,第三段值为新增字段的字段长度;目标表新增多个字段的情况下,通过“,”符号分割“新增字段信息”字段值,生成的SQL脚本一次新增多个字段。

若所述待处理的差异化检查结果中的减少字段信息字段的数据不为空,则根据目标表表名和所述减少字段信息字段的数据生成目标表删除字段的可执行SQL脚本;所述目标表删除字段的可执行SQL脚本用于实现对目标表的删除字段操作。具体地,处理模型判断“减少字段信息”不等于NULL的,通过JAVA代码根据“目标表表名”及“减少字段信息”字段值生成目标表删除字段的可执行SQL脚本,完成对目标表的字段删除操作;目标表删除多个字段的情况下,通过“,”符号分割“减少字段信息”字段值,生成的SQL脚本一次删除多个字段。

若所述待处理的差异化检查结果中的字段属性变更信息字段的数据不为空,则根据目标表表名和所述字段属性变更信息字段的数据生成更新目标表字段属性的可执行SQL脚本;所述更新目标表字段属性的可执行SQL脚本用于实现对目标表的字段属性变更操作。具体地,处理模型判断“字段属性变更信息”不为NULL的,通过JAVA代码根据“目标表表名”及“字段属性变更信息”字段值生成更新目标表字段属性的可执行SQL脚本,完成目标表的字段属性变更操作;目标表变更多个字段属性的情况下,通过“},”符号分割“字段属性变更信息”字段值获取多个字段属性变更信息集合;再通过“,”符号分割集合获取变更字段集合中变更前及变更后的字段属性,第一段值为变更前,第二段值为变更后;最后通过“.”符号分割第二段值获取数据集合对应变更后的字段属性,第一段值为变更字段名称,第二段值为变更字段的字段类型,第三段值为变更字段的字段长度,生成的SQL脚本一次修改多个字段的属性。

若所述待处理的差异化检查结果中的表索引变更信息字段的数据不为空,则根据目标表表名和所述表索引变更信息字段的数据生成更新目标表索引的可执行SQL脚本;所述更新目标表索引的可执行SQL脚本用于实现对目标表的表索引变更操作。具体地,处理模型判断“表索引变更信息”不为NULL的,则通过JAVA代码根据“目标表表名”及“表索引变更信息”字段值生成更新目标表索引的可执行SQL脚本,完成目标表索引变更操作;通过“,”符号分割“表索引变更信息”字段值获取变更前及变更后的表索引字段名称,第一段值为变更前,第二段值为变更后;表索引变更涉及到多个字段作为索引的情况下,再通过“.”符号分割第二段值获取新索引的所有索引字段名称,生成的SQL将分割后的多个字段一起作为索引字段完成索引更新。

综上所述,本发明基于SQL及JAVA语言,定义了一套数据库表结构差异化检查方法,并根据表结构差异化处理模型对检查结果进行系统处理。其中,步骤S1~S4通过优化合规风控系统,实现对金融市场资讯数据的原表、目标表的数据库表结构差异化检查,将能够直接确认原表数据库表结构是否发生了变化,无需人工对数据库表结构进行比对。所有发生变化的表结构,变化前、变化后的信息能够直观的展示在系统中。步骤S5~S6结合表结构差异化处理模型,资管合规风控系统能够完成对金融市场资讯数据原表结构变化的自动处理,有效的降低了系统升级频率,使得合规风控业务延续性得到极大的提升。

为了执行上述方法,以实现相应的功能和技术效果,下面提供一种数据库表结构调整自动处理系统,该系统包括:

维护表创建模块,用于创建检查关系维护表;所述检查关系维护表用于存储数据库表结构差异化检查的表范围以及原表与目标表的对应关系。

存储表创建模块,用于创建检查结果存储表;所述检查结果存储表用于存储数据库表结构差异化检查的差异化检查结果。

差异化检查模块,用于根据所述检查关系维护表对原表及目标表进行差异化检查,得到差异化检查结果;所述差异化检查结果包括:新增字段检查结果、减少字段检查结果、字段属性变更检查结果和表索引变更检查结果。

结果存储模块,用于将所述差异化检查结果存储至所述检查结果存储表中。

处理模型创建模块,用于创建数据库表结构差异化检查结果的处理模型;所述处理模型用于对新增字段、减少字段、字段属性变更和表索引变更进行处理。

目标表处理模块,用于利用所述处理模型,根据所述检查结果存储表中存储的差异化检查结果对目标表进行处理。

本发明还提供一种电子设备,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于运行计算机程序以使电子设备执行上述的数据库表结构调整自动处理方法。所述电子设备可以是服务器。

另外,本发明还提供一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现上述的数据库表结构调整自动处理方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 膜用树脂组合物、膜、带有基材的膜、金属/树脂层叠体、树脂固化物、半导体装置以及膜的制造方法
  • 树脂组合物、树脂膜、半导体层叠体、半导体层叠体的制造方法及半导体装置的制造方法
  • 树脂组合物、树脂膜、半导体层叠体、半导体层叠体的制造方法及半导体装置的制造方法
  • 树脂组合物、层叠体、带有树脂组合物层的半导体晶圆、带有树脂组合物层的半导体搭载用基板和半导体装置
  • 树脂组合物及树脂片、预浸料坯、层叠板、金属基板、印刷配线板和功率半导体装置
  • 聚酰亚胺、树脂组合物、树脂膜、层叠体、覆盖膜、带树脂铜箔、覆金属层叠板及电路基板
  • 聚酰亚胺组合物、树脂膜、层叠体、覆盖膜、带树脂的铜箔、覆金属层叠板及电路基板
技术分类

06120116552379