一种增量版本文件的生成方法及装置制造方法及图纸

技术编号:28489523 阅读:15 留言:0更新日期:2021-05-19 22:08
本申请实施例提供了一种增量版本文件的生成方法及装置,其中方法包括:从预设的版本升级配置表中获取目标升级信息,所述目标升级信息至少包括:原版本路径、目标版本路径、第一数据库、第二数据库;将所述原版本路径中的全量版本文件安装至所述第一数据库中,以及,将所述目标版本路径中的全量版本文件安装至所述第二数据库中;将所述第一数据库中的数据表和第二数据库中的数据表分别进行对比,得到增量版本文件。本申请有助于降低人工成本,提高增量升级的效率和准确度。增量升级的效率和准确度。增量升级的效率和准确度。

【技术实现步骤摘要】
一种增量版本文件的生成方法及装置


[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]全量版本安装模块,用于将所述原版本路径中的全量版本文件安装至所述第一数据库中,以及,将所述目标版本路径中的全量版本文件安装至所述第二数据库中;
[0026]增量版本文件生成模块,用于将所述第一数据库中的数据表和第二数据库中的数据表分别进行对比,得到增量版本文件。
[0027]可选地,所述增量版本文件包括:第一删除文件、第一增加文件,所述目标升级信息还包括:无延展性表,所述增量版本文件生成模块,包括:
[0028]第一数据表获取子模块,用于对于所述第二数据库中的每个第二数据表,从所述第一数据库中获取与所述第二数据表具有相同标识的第一数据表;
[0029]第一删除文件生成子模块,用于对于所述第一数据表中的每条第一数据,若所述第一数据表为第一类数据表、所述无延展性表之外的第二类数据表、第三类数据表中的其中一种,且所述第一数据的关键属性不存在于所述第二数据表中,则生成删除所述第一数据的第一删除文件;
[0030]第一增加文件生成子模块,用于对于所述第二数据表中的每条第二数据,若所述第二数据表为第一类数据表、所述无延展性表之外的第二类数据表、第三类数据表中的其中一种,且所述第二数据的关键属性不存在于所述第一数据表中,则生成增加所述第二数据的第一增加文件。
[0031]可选地,所述增量版本文件还包括:第二删除文件、第二增加文件、第一升级文件、第二升级文件、第三升级文件,所述增量版本文件生成模块还包括:
[0032]第二脚本生成子模块,用于对于所述第二数据表中的每条第二数据,若所述第二数据表为第一类数据表,且所述第二数据的关键属性与所述第一数据的关键属性相同,且所述第一数据的非关键属性和所述第二数据的非关键属性不同,则根据所述第一数据中不存在于所述第二数据中的属性,生成删除所述属性的第二删除文件,以及,根据所述第二数据中不存在于所述第一数据中的属性,生成增加所述属性的第二增加文件,以及,生成将所述第一数据中的第一目标属性升级为所述第二数据中的第二目标属性的第一升级文件,所述第一目标属性与所述第二目标属性对应相同的属性标识但对应不同的属性类型;
[0033]第二升级本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种增量版本文件的生成方法,其特征在于,包括:从预设的版本升级配置表中获取目标升级信息,所述目标升级信息至少包括:原版本路径、目标版本路径、第一数据库、第二数据库;将所述原版本路径中的全量版本文件安装至所述第一数据库中,以及,将所述目标版本路径中的全量版本文件安装至所述第二数据库中;将所述第一数据库中的数据表和第二数据库中的数据表分别进行对比,得到增量版本文件。2.根据权利要求1所述的方法,其特征在于,所述增量版本文件包括:第一删除文件、第一增加文件,所述目标升级信息还包括:无延展性表,所述将所述第一数据库中的数据表和第二数据库中的数据表分别进行对比,得到增量版本文件,包括:对于所述第二数据库中的每个第二数据表,从所述第一数据库中获取与所述第二数据表具有相同标识的第一数据表;对于所述第一数据表中的每条第一数据,若所述第一数据表为第一类数据表、所述无延展性表之外的第二类数据表、第三类数据表中的其中一种,且所述第一数据的关键属性不存在于所述第二数据表中,则生成删除所述第一数据的第一删除文件;对于所述第二数据表中的每条第二数据,若所述第二数据表为第一类数据表、所述无延展性表之外的第二类数据表、第三类数据表中的其中一种,且所述第二数据的关键属性不存在于所述第一数据表中,则生成增加所述第二数据的第一增加文件。3.根据权利要求2所述的方法,其特征在于,所述增量版本文件还包括:第二删除文件、第二增加文件、第一升级文件、第二升级文件、第三升级文件,所述方法还包括:对于所述第二数据表中的每条第二数据,若所述第二数据表为第一类数据表,且所述第二数据的关键属性与所述第一数据的关键属性相同,且所述第一数据的非关键属性和所述第二数据的非关键属性不同,则根据所述第一数据中不存在于所述第二数据中的属性,生成删除所述属性的第二删除文件,以及,根据所述第二数据中不存在于所述第一数据中的属性,生成增加所述属性的第二增加文件,以及,生成将所述第一数据中的第一目标属性升级为所述第二数据中的第二目标属性的第一升级文件,所述第一目标属性与所述第二目标属性对应相同的属性标识但对应不同的属性类型;对于所述第二数据表中的每条第二数据,若所述第二数据表为所述无延展性表之外的第二类数据表,且所述第二数据的关键属性与所述第一数据的关键属性相同,且所述第一数据的非关键属性和所述第二数据的非关键属性不同,则生成第二升级文件,所述第二升级文件用于将所述第一数据升级为所述第二数据;对于所述第二数据表中的每条第二数据,若所述第二数据表为所述第三类数据表,且所述第二数据的关键属性与所述第一数据的关键属性相同,且所述第一数据的非关键属性和所述第二数据的非关键属性不同,则生成第三升级文件,所述第三升级文件用于删除所述第一数据之后增加所述第二数据。4.根据权利要求2所述的方法,其特征在于,所述增量版本文件还包括:第四升级文件,所述从所述第一数据库中获取与所述第二数据表具有相同标识的第一数据表之后,所述方法还包括:若所述第一数据表为第四类数据表或所述无延展性表,则生成第四升级文件,所述第
四升级文件用于清空所述第一数据表中的数据之后,增加所述第二数据表中的数据。5.根据权利要求1至4其中任一项所述的方法,其特征在于,其特征在于,所述目标升级信息还包括:增量输出路径,将所述第一数据库和第二数据库中的数据表分别进行对比,得到增量版本文件之后,所述方法还包括:根据所述增量版本文件生成安装启动文件;将所述增量版本文件和所述安装启动文件添加至所述增量输出路径中。6.一种增量版本文件的生成装置,其特征在于,包括:升级信息获取模块,用于...

【专利技术属性】
技术研发人员:陈怡赵晗
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:

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

1