数据库脚本管理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:25478873 阅读:13 留言:0更新日期:2020-09-01 23:00
本发明专利技术公开一种数据库脚本管理方法、装置、计算机设备及存储介质。该方法包括:获取业务系统发送的当前DB脚本,对当前DB脚本的脚本名称进行检测,提取当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型;基于业务编码对当前DB脚本进行维护,确定目标DB脚本和目标执行顺序;基于目标执行顺序,在数据库实例对应的目标数据库中执行目标DB脚本,获取脚本执行结果;若脚本类型为DDL脚本,则获取与DDL脚本相对应的目标接口文档,基于目标接口文档进行关联文档汇总,获取汇总接口文档,基于汇总接口文档和脚本执行结果对目标DB脚本进行处理,获取封版处理结果。该方法可以节省目标DB脚本管理和测试成本,同步更新接口文档,保障执行过程的准确性。

【技术实现步骤摘要】
数据库脚本管理方法、装置、计算机设备及存储介质
本专利技术涉及数据库开发
,尤其涉及一种数据库脚本管理方法、装置、计算机设备及存储介质。
技术介绍
随着互联网技术的飞速发展,企业之间或者企业内部各自开发的业务系统之间通过云服务器关联,使得同一云服务器上的不同业务系统之间可以共享数据。数据是业务系统的根本,为了便于管理业务系统中的数据,需创建不同数据库脚本进行管理,以提高对业务系统中的数据进行管理的有效性。其中,数据库脚本是包含不属于数据库架构定义的Transact-SQL(T-SQL)语句或实用工具(如SQLCMD)的附加文件,以下简称DB脚本。当前同一云服务器上的不同业务系统中,在数据库版本管理过程中存在如下问题:其一是,每个业务系统的数据库脚本均由开发人员单独提交互数据库管理员(DatabaseAdministrator,简称DBA)执行,增加人力和沟通成本,随着业务系统的增多,使得这一问题更明显。其二是,需配备数据库管理员人工监管数据库版本的生命周期,随着业务系统的增加,使得管理难度增大,出错风险增加。其三是,各个业务系统各自管理自身的数据库脚本,使得存在关联关系的业务系统之间,其数据库脚本的版本不能及时同步更新。
技术实现思路
本专利技术实施例提供一种数据库脚本管理方法、装置、计算机设备及存储介质,以解决不同业务系统之间的数据库脚本管理过程存在的成本高、效率低以及无法实时同步问题。一种数据库脚本管理方法,包括:获取业务系统发送的当前DB脚本,对所述当前DB脚本的脚本名称进行检测,提取所述当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型;基于所述业务编码对所述当前DB脚本进行维护,确定目标DB脚本和目标执行顺序;基于所述目标执行顺序,在所述数据库实例对应的目标数据库中执行所述目标DB脚本,获取脚本执行结果;若所述脚本类型为DDL脚本,则获取与所述DDL脚本相对应的目标接口文档,基于所述目标接口文档进行关联文档汇总,获取汇总接口文档,基于所述汇总接口文档和所述脚本执行结果对所述目标DB脚本进行处理,获取封版处理结果。一种数据库脚本管理装置,包括:当前脚本获取模块,用于获取业务系统发送的当前DB脚本,对所述当前DB脚本的脚本名称进行检测,提取所述当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型;目标脚本获取模块,用于基于所述业务编码对所述当前DB脚本进行维护,确定目标DB脚本和目标执行顺序;目标脚本执行模块,用于基于所述目标执行顺序,在所述数据库实例对应的目标数据库中执行所述目标DB脚本,获取脚本执行结果;第一脚本封版模块,用于若所述脚本类型为DDL脚本,则获取与所述DDL脚本相对应的目标接口文档,基于所述目标接口文档进行关联文档汇总,获取汇总接口文档,基于所述汇总接口文档和所述脚本执行结果对所述目标DB脚本进行处理,获取封版处理结果。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库脚本管理方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库脚本管理方法。上述数据库脚本管理方法、装置、计算机设备及存储介质,云服务器可以对业务系统上传的当前DB脚本的脚本名称进行检测识别,可以简单快速出版本号、业务编码、数据库实例和脚本类型等脚本信息;利用业务编码对当前DB脚本进行维护,以确定需要执行测试的目标DB脚本和目标执行顺序,在数据库实例对应的目标数据库中执行目标DB脚本,可以实现利用云服务器对业务系统的目标DB脚本进行统筹管理和测试,有助于节省开发、测试过程中的人力成本和沟通成本;在脚本类型为DDL脚本时,需获取目标接口文档并进行关联文档汇总,以确定汇总接口文档,以便利用汇总接口文档对目标DB脚本进行处理,获取封版处理结果,可利用该汇总接口文档克服目标DB脚本在目标数据库中执行过程中因业务系统与关联系统之间的执行时间差引起的执行结果不准确的问题,即可以同步更新业务系统和关联系统的接口文档,保障执行过程的准确性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例中数据库脚本管理方法的一应用环境示意图;图2是本专利技术一实施例中数据库脚本管理方法的一流程图;图3是本专利技术一实施例中数据库脚本管理方法的另一流程图;图4是本专利技术一实施例中数据库脚本管理方法的另一流程图;图5是本专利技术一实施例中数据库脚本管理方法的另一流程图;图6是本专利技术一实施例中数据库脚本管理方法的另一流程图;图7是本专利技术一实施例中数据库脚本管理装置的一示意图;图8是本专利技术一实施例中计算机设备的一示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供的数据库脚本管理方法,该数据库脚本管理方法可应用如图1所示的应用环境中。具体地,该数据库脚本管理方法应用在数据库脚本管理系统中,该数据库脚本管理系统包括如图1所示的云服务器和与云服务器通信相连的云存储器、目标数据库和至少一个业务系统,用于实现对每一业务系统上传的当前DB脚本进行自动化管理和测试,提高数据库脚本管理效率和测试效率,降低成本,并保证不同业务系统中相互关联的数据库脚本同步更新。本示例中,云服务器和每一业务系统均包括客户端和服务器,客户端与服务器通过网络进行通信。客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一实施例中,如图2所示,提供一种数据库脚本管理方法,以该方法应用在图1中的云服务器为例进行说明,包括如下步骤:S201:获取业务系统发送的当前DB脚本,对当前DB脚本的脚本名称进行检测,提取当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型。其中,业务系统是指企业自主开发的用于完成特定业务的计算机系统。当前DB脚本是指业务系统当前向云服务器发送的DB脚本,是云服务器最新接收到的需要进行管理和测试的DB脚本。版本号是指当前DB脚本的版本编号,即当前DB脚本每次更新之后形成的唯一编号,采用特定格式进行编号。业务编码是基于业务线或者业务项目所形成的唯一编码,主要用于确定是否存在相互关联系统。数据本文档来自技高网...

【技术保护点】
1.一种数据库脚本管理方法,其特征在于,包括云服务器执行的如下步骤:/n获取业务系统发送的当前DB脚本,对所述当前DB脚本的脚本名称进行检测,提取所述当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型;/n基于所述业务编码对所述当前DB脚本进行维护,确定目标DB脚本和目标执行顺序;/n基于所述目标执行顺序,在所述数据库实例对应的目标数据库中执行所述目标DB脚本,获取脚本执行结果;/n若所述脚本类型为DDL脚本,则获取与所述DDL脚本相对应的目标接口文档,基于所述目标接口文档进行关联文档汇总,获取汇总接口文档,基于所述汇总接口文档和所述脚本执行结果对所述目标DB脚本进行处理,获取封版处理结果。/n

【技术特征摘要】
1.一种数据库脚本管理方法,其特征在于,包括云服务器执行的如下步骤:
获取业务系统发送的当前DB脚本,对所述当前DB脚本的脚本名称进行检测,提取所述当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型;
基于所述业务编码对所述当前DB脚本进行维护,确定目标DB脚本和目标执行顺序;
基于所述目标执行顺序,在所述数据库实例对应的目标数据库中执行所述目标DB脚本,获取脚本执行结果;
若所述脚本类型为DDL脚本,则获取与所述DDL脚本相对应的目标接口文档,基于所述目标接口文档进行关联文档汇总,获取汇总接口文档,基于所述汇总接口文档和所述脚本执行结果对所述目标DB脚本进行处理,获取封版处理结果。


2.如权利要求1所述的数据库脚本管理方法,其特征在于,在所述获取脚本执行结果之后,所述数据库脚本管理方法还包括:
若所述脚本类型不为DDL脚本,则基于所述脚本执行结果对所述目标DB脚本进行处理,获取封版处理结果。


3.如权利要求1所述的数据库脚本管理方法,其特征在于,所述对所述当前DB脚本的脚本名称进行检测,提取所述当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型,包括:
基于预设分隔符对所述当前DB脚本的脚本名称进行分隔,获取分隔字符串;
对所述分隔字符串进行格式检测,若格式检测通过,则提取所述当前DB脚本对应的版本号、业务编码、数据库实例和脚本类型。


4.如权利要求1所述的数据库脚本管理方法,其特征在于,所述基于所述业务编码对所述当前DB脚本进行维护,确定目标DB脚本和目标执行顺序,包括:
基于所述业务编码查询云存储器,判断所述云存储器中是否存在与所述业务编码相同的状态为未执行完成的原始DB脚本;
若所述云存储器中存在所述原始DB脚本,则将所述当前DB脚本和所述原始DB脚本确定为目标DB脚本,并确定所述目标DB脚本对应的目标执行顺序;
若所述云存储器中不存在所述原始DB脚本,则将所述当前DB脚本确定为目标DB脚本,并确定目标执行顺序。


5.如权利要求1所述的数据库脚本管理方法,其特征在于,所述基于所述目标执行顺序,在所述数据库实例对应的目标数据库中执行所述目标DB脚本,获取脚本执行结果,包括:
基于所述目标执行顺序,在所述数据库实例对应的开发数据库中执行所述目标DB脚本,获取开发执行结果;
基...

【专利技术属性】
技术研发人员:程祥
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

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

1