数据脚本的生成方法及装置制造方法及图纸

技术编号:32649148 阅读:15 留言:0更新日期:2022-03-12 18:37
本发明专利技术公开了一种数据脚本的生成方法及装置。该方法包括:对目标业务场景对应的资源信息进行解析,得到资源信息对应的至少一个数据脚本,资源信息为在目标业务场景下采用单元化部署方式部署的资源;获取至少一个数据脚本对应的表名信息;基于表名信息确定目标业务场景的分库分表配置信息;基于分库分表配置信息对至少一个数据脚本进行修改,得到目标业务场景的数据脚本。该方法利用目标业务场景对应的资源信息进行解析得到数据脚本,获取数据脚本对应的表名信息,从而确定目标业务场景的分库分表配置信息,进而解决了现有技术中业务分库分表由于需要人工介入,容易出现错误,可靠性比较低的技术问题。比较低的技术问题。比较低的技术问题。

【技术实现步骤摘要】
数据脚本的生成方法及装置


[0001]本专利技术涉及数据处理
,具体而言,涉及一种数据脚本的生成方法及装置。

技术介绍

[0002]随着系统承载的数据量越来越大,也就必然需要解决数据拆分的问题,需要关注分库分表水平扩展,同时也需要依据单元化部署对分库分表的拆分方案提供具体的物理脚本。
[0003]然而由于开发、测试以及生产环境上分库分表的规模以及数量不同导致真实的分库分表建表脚本会随着环境变化,当前采用人工维护该工作会带来大量的人力成本且极易出错。
[0004]在传统的模式中,通常是让开发人员根据部署环境的信息以及每个表的分库分表规则,提供具体的物理脚本进行执行。当环境比较多,或者分库分表规则变化比较多时,就需要开发人员维护很多数据脚本。这个过程,会给开发人员带来额外的资源维护工作,影响部署效率,同时由于人工介入过多也很容易出错。
[0005]针对上述相关技术中业务分库分表由于需要人工介入,容易出现错误,可靠性比较低的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本专利技术实施例提供了一种数据脚本的生成方法及装置,以至少解决现有技术中业务分库分表由于需要人工介入,容易出现错误,可靠性比较低的技术问题。
[0007]根据本专利技术实施例的一个方面,提供了一种数据脚本的生成方法,包括:对目标业务场景对应的资源信息进行解析,得到所述资源信息对应的至少一个数据脚本,其中,所述资源信息为在所述目标业务场景下采用单元化部署方式部署的资源;获取所述至少一个数据脚本对应的表名信息;基于所述表名信息确定所述目标业务场景的分库分表配置信息;基于所述分库分表配置信息对所述至少一个数据脚本进行修改,以得到所述目标业务场景的数据脚本。
[0008]进一步地,对所述目标业务场景对应的资源信息进行解析,得到所述资源信息对应的至少一个数据脚本,包括:利用预定插件读取所述资源信息;对所述资源信息进行解析,得到所述资源信息对应的至少一个数据脚本。
[0009]进一步地,获取所述至少一个数据脚本对应的表名信息,包括:确定所述至少一个数据脚本的结构化查询语句;对所述结构化查询语句进行表名识别,以得到所述至少一个数据脚本对应的表名信息。
[0010]进一步地,基于所述表名信息确定所述目标业务场景的分库分表配置信息,包括:按照所述表名信息确定其对应的分库分表规则以及分库分表键值,其中,所述分库分表键值为可定义键值;基于所述分库分表规则以及所述分库分表键值生成目标业务场景的分库分表配置信息。
[0011]进一步地,所述分库分表规则包括以下至少之一信息:客户维度信息、客户号信息、预定键值。
[0012]进一步地,在按照所述表名信息确定其对应的分库分表规则以及分库分表键值之前,所述方法还包括:获取多个业务场景对应的资源信息;对所述多个业务场景对应的资源信息进行特征提取,得到所述分库分表规则。
[0013]进一步地,在按照所述表名信息确定其对应的分库分表规则以及分库分表键值之前,所述方法还包括:获取多个业务场景对应的资源信息;基于所述多个业务场景对应的资源信息确定所述分库分表键值。
[0014]进一步地,基于所述分库分表配置信息对所述至少一个数据脚本进行修改,以得到所述目标业务场景的数据脚本,包括:利用所述分库分表配置信息对所述至少一个数据脚本中的结构化查询语句进行修改,以得到所述目标业务场景的数据脚本。
[0015]根据本专利技术实施例的另一方面,还提供了一种数据脚本的生成装置,包括:解析单元、第一获取单元、第一确定单元以及修改单元,所述解析单元用于对目标业务场景对应的资源信息进行解析,得到所述资源信息对应的至少一个数据脚本,其中,所述资源信息为在所述目标业务场景下采用单元化部署方式部署的资源;所述第一获取单元用于获取所述至少一个数据脚本对应的表名信息;所述第一确定单元用于基于所述表名信息确定所述目标业务场景的分库分表配置信息;所述修改单元用于基于所述分库分表配置信息对所述至少一个数据脚本进行修改,以得到所述目标业务场景的数据脚本。
[0016]进一步地,所述解析单元包括:读取模块和解析模块,其中,所述读取模块用于利用预定插件读取所述资源信息;所述解析模块用于对所述资源信息进行解析,得到所述资源信息对应的至少一个数据脚本。
[0017]进一步地,所述第一获取单元包括:第一确定模块和识别模块,其中,所述第一确定模块用于确定所述至少一个数据脚本的结构化查询语句;所述识别模块用于对所述结构化查询语句进行表名识别,以得到所述至少一个数据脚本对应的表名信息。
[0018]进一步地,所述第一确定单元包括:第二确定模块和生成模块,其中,所述第二确定模块用于按照所述表名信息确定其对应的分库分表规则以及分库分表键值,其中,所述分库分表键值为可定义键值;所述生成模块用于基于所述分库分表规则以及所述分库分表键值生成目标业务场景的分库分表配置信息。
[0019]进一步地,所述分库分表规则包括以下至少之一信息:客户维度信息、客户号信息、预定键值。
[0020]进一步地,所述装置还包括:第二获取单元和提取单元,所述第二获取单元用于在按照所述表名信息确定其对应的分库分表规则以及分库分表键值之前,获取多个业务场景对应的资源信息;所述提取单元用于对所述多个业务场景对应的资源信息进行特征提取,得到所述分库分表规则。
[0021]进一步地,所述装置还包括:第三获取单元和第二确定单元,其中,所述第三获取单元用于在按照所述表名信息确定其对应的分库分表规则以及分库分表键值之前,获取多个业务场景对应的资源信息;所述第二确定单元用于基于所述多个业务场景对应的资源信息确定所述分库分表键值。
[0022]进一步地,所述修改单元包括:修改模块,所述修改模块用于利用所述分库分表配
置信息对所述至少一个数据脚本中的结构化查询语句进行修改,以得到所述目标业务场景的数据脚本。
[0023]根据本专利技术实施例的另外一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任一种所述的数据脚本的生成方法。
[0024]根据本专利技术实施例的另外一个方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一种所述的数据脚本的生成方法。
[0025]在本专利技术实施例中,通过对目标业务场景对应的资源信息进行解析,得到所述资源信息对应的至少一个数据脚本,其中,所述资源信息为在所述目标业务场景下采用单元化部署方式部署的资源;获取所述至少一个数据脚本对应的表名信息;基于所述表名信息确定所述目标业务场景的分库分表配置信息;基于所述分库分表配置信息对所述至少一个数据脚本进行修改,以得到所述目标业务场景的数据脚本。本申请数据脚本的生成方法中,利用目标业务场景对应的资源信息进行解析得到数据脚本,获取数据脚本对应的表名信息,从而确定目标业务场景的分库分表配置信息,针对不同业务场景的部署资源和不同的分库分表规则,自动修改数据脚本为具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据脚本的生成方法,其特征在于,包括:对目标业务场景对应的资源信息进行解析,得到所述资源信息对应的至少一个数据脚本,其中,所述资源信息为在所述目标业务场景下采用单元化部署方式部署的资源;获取所述至少一个数据脚本对应的表名信息;基于所述表名信息确定所述目标业务场景的分库分表配置信息;基于所述分库分表配置信息对所述至少一个数据脚本进行修改,以得到所述目标业务场景的数据脚本。2.根据权利要求1所述的方法,其特征在于,对所述目标业务场景对应的资源信息进行解析,得到所述资源信息对应的至少一个数据脚本,包括:利用预定插件读取所述资源信息;对所述资源信息进行解析,得到所述资源信息对应的至少一个数据脚本。3.根据权利要求2所述的方法,其特征在于,获取所述至少一个数据脚本对应的表名信息,包括:确定所述至少一个数据脚本的结构化查询语句;对所述结构化查询语句进行表名识别,以得到所述至少一个数据脚本对应的表名信息。4.根据权利要求1所述的方法,其特征在于,基于所述表名信息确定所述目标业务场景的分库分表配置信息,包括:按照所述表名信息确定其对应的分库分表规则以及分库分表键值,其中,所述分库分表键值为可定义键值;基于所述分库分表规则以及所述分库分表键值生成目标业务场景的分库分表配置信息。5.根据权利要求4所述的方法,其特征在于,所述分库分表规则包括以下至少之一信息:客户维度信息、客户号信息、预定键值。6.根据权利要求4所述的方法,其特征在于,在按照所述表名信息确定其对应的分库分表规则以及分库分表键值之前,所述方法还包...

【专利技术属性】
技术研发人员:牛新庄尉苗苗马庆斌倪一鸣
申请(专利权)人:中国邮政储蓄银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1