数据库更新装置和数据库更新方法

文档序号:8258518阅读:311来源:国知局
数据库更新装置和数据库更新方法
【技术领域】
[0001]本发明涉及数据处理技术领域,具体而言,涉及一种数据库更新装置和一种数据库更新方法。
【背景技术】
[0002]由于信息化应用系统的灵活性,使得客户的个性化需求异常丰富。通过配置参数的调配,可以使一套信息化应用系统针对不同的客户,开放不同的应用模块及功能,达到一套代码支持多个项目的目的。
[0003]在开发信息化系统过程中,一套代码如果要满足不同项目的需求,就需要使用大量的系统配置参数,而在项目部署时,配置参数的调配、修改项目数据信息等操作对实施人员的要求很高,有时甚至需要开发人员介入,所以项目部署和升级的成本很高。
[0004]因此,需要一种新的技术方案,可以提供一种适用于多项目的系统部署和升级方法,以解决系统部署和升级成本过高的问题。

【发明内容】

[0005]本发明正是基于上述问题,提出了一种新的技术方案,可以提供一种适用于多项目的系统部署和升级方法,以解决系统部署和升级成本过高的问题。
[0006]有鉴于此,本发明提出了一种数据库更新装置,包括:获取单元,用于获取预设的脚本文件;解析单元,用于对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;提取单元,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;更新单元,根据所述脚本执行列表更新所述任一数据库。
[0007]项目标识组合中包括一个或多个项目标识,在项目标识组合中包括当前数据库的项目标识时,即说明项目标识组合对应的脚本内容适用于当前的数据库。这样,通过上述技术方案,可以自动解析脚本文件,自动升级多个项目的多个数据库,极大的降低了数据库升级实施的复杂程度以及系统部署和升级的成本。
[0008]在上述技术方案中,优选地,所述提取单元包括:对象获取子单元,在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;第一判断子单元,判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,触发第二判断子单元;所述第二判断子单元,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;输出子单元,在检测到所述对象获取子单元已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表至所述更新单元。
[0009]在该技术方案中,通过版本的比较和项目标识的匹配从多个脚本对象中找到适合本数据库的脚本内容,并通过找到的脚本内容对数据库进行更新,这样,可以自动更新多个项目的不同数据库,减少用户的操作。
[0010]在上述技术方案中,优选地,所述更新单元还包括:版本确定单元,将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
[0011]在该技术方案中,在更新数据库内容的同时更新数据库的版本,优选地,脚本执行列表中的脚本内容可以按照脚本版本的先后顺序进行排列,这样,在执行的时候按照脚本版本的先后顺序执行,在确定脚本版本的时候可以直接将最后一个脚本版本作为当前的脚本版本。这样,方便用户根据版本号进行版本控制、版本追溯和问题排查等操作。
[0012]在上述技术方案中,优选地,所述提取单元还用于:根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
[0013]在该技术方案中,一个项目对应一个数据库,其中,各个项目的数据库拥有相同的数据结构,但是业务数据和功能控制参数信息不同。在数据库更新执行前可根据数据库链接读取数据库中保存的项目标识和脚本版本。
[0014]在上述技术方案中,优选地,还包括:设置单元,根据接收到的设置指令,设置所述脚本文件;以及存储单元,用于存储所述脚本文件。
[0015]在该技术方案中,开发人员可以根据脚本编写规则,针对不同的项目需求,编写相应的SQL脚本,并记录到脚本文件中,以根据脚本文件去更新数据库。
[0016]根据本发明的另一方面,还提供了一种数据库更新方法,包括:步骤202,获取预设的脚本文件;步骤204,对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;步骤206,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;步骤208,根据所述脚本执行列表更新所述任一数据库。
[0017]项目标识组合中包括一个或多个项目标识,在项目标识组合中包括当前数据库的项目标识时,即说明项目标识组合对应的脚本内容适用于当前的数据库。这样,通过上述技术方案,可以自动解析脚本文件,自动升级多个项目的多个数据库,极大的降低了数据库升级实施的复杂程度以及系统部署和升级的成本。
[0018]在上述技术方案中,优选地,所述步骤206包括:在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;在检测到已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表。
[0019]在该技术方案中,通过版本的比较和项目标识的匹配从多个脚本对象中找到适合本数据库的脚本内容,并通过找到的脚本内容对数据库进行更新,这样,可以自动更新多个项目的不同数据库,减少用户的操作。
[0020]在上述技术方案中,优选地,所述步骤208还包括:将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
[0021]在该技术方案中,在更新数据库内容的同时更新数据库的版本,优选地,脚本执行列表中的脚本内容可以按照脚本版本的先后顺序进行排列,这样,在执行的时候按照脚本版本的先后顺序执行,在确定脚本版本的时候可以直接将最后一个脚本版本作为当前的脚本版本。这样,方便用户根据版本号进行版本控制、版本追溯和问题排查等操作。
[0022]在上述技术方案中,优选地,在所述步骤204之前还包括:根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
[0023]在该技术方案中,一个项目对应一个数据库,其中,各个项目的数据库拥有相同的数据结构,但是业务数据和功能控制参数信息不同。在数据库更新执行前可根据数据库链接读取数据库中保存的项目标识和脚本版本。
[0024
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1