CN104572644A - 数据库更新装置和数据库更新方法 - Google Patents

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

Info

Publication number
CN104572644A
CN104572644A CN201310470751.5A CN201310470751A CN104572644A CN 104572644 A CN104572644 A CN 104572644A CN 201310470751 A CN201310470751 A CN 201310470751A CN 104572644 A CN104572644 A CN 104572644A
Authority
CN
China
Prior art keywords
script
database
version
list
scripting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310470751.5A
Other languages
English (en)
Other versions
CN104572644B (zh
Inventor
韩宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201310470751.5A priority Critical patent/CN104572644B/zh
Publication of CN104572644A publication Critical patent/CN104572644A/zh
Application granted granted Critical
Publication of CN104572644B publication Critical patent/CN104572644B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种数据库更新装置,包括:获取单元,用于获取预设的脚本文件;解析单元,用于对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;提取单元,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;更新单元,根据所述脚本执行列表更新所述任一数据库。相应地,本发明还提供了一种数据库更新方法。通过本发明的技术方案,降低了数据库升级实施的复杂程度以及***部署和升级的成本。

Description

数据库更新装置和数据库更新方法
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据库更新装置和一种数据库更新方法。
背景技术
由于信息化应用***的灵活性,使得客户的个性化需求异常丰富。通过配置参数的调配,可以使一套信息化应用***针对不同的客户,开放不同的应用模块及功能,达到一套代码支持多个项目的目的。
在开发信息化***过程中,一套代码如果要满足不同项目的需求,就需要使用大量的***配置参数,而在项目部署时,配置参数的调配、修改项目数据信息等操作对实施人员的要求很高,有时甚至需要开发人员介入,所以项目部署和升级的成本很高。
因此,需要一种新的技术方案,可以提供一种适用于多项目的***部署和升级方法,以解决***部署和升级成本过高的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以提供一种适用于多项目的***部署和升级方法,以解决***部署和升级成本过高的问题。
有鉴于此,本发明提出了一种数据库更新装置,包括:获取单元,用于获取预设的脚本文件;解析单元,用于对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;提取单元,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;更新单元,根据所述脚本执行列表更新所述任一数据库。
项目标识组合中包括一个或多个项目标识,在项目标识组合中包括当前数据库的项目标识时,即说明项目标识组合对应的脚本内容适用于当前的数据库。这样,通过上述技术方案,可以自动解析脚本文件,自动升级多个项目的多个数据库,极大的降低了数据库升级实施的复杂程度以及***部署和升级的成本。
在上述技术方案中,优选地,所述提取单元包括:对象获取子单元,在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;第一判断子单元,判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,触发第二判断子单元;所述第二判断子单元,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;输出子单元,在检测到所述对象获取子单元已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表至所述更新单元。
在该技术方案中,通过版本的比较和项目标识的匹配从多个脚本对象中找到适合本数据库的脚本内容,并通过找到的脚本内容对数据库进行更新,这样,可以自动更新多个项目的不同数据库,减少用户的操作。
在上述技术方案中,优选地,所述更新单元还包括:版本确定单元,将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
在该技术方案中,在更新数据库内容的同时更新数据库的版本,优选地,脚本执行列表中的脚本内容可以按照脚本版本的先后顺序进行排列,这样,在执行的时候按照脚本版本的先后顺序执行,在确定脚本版本的时候可以直接将最后一个脚本版本作为当前的脚本版本。这样,方便用户根据版本号进行版本控制、版本追溯和问题排查等操作。
在上述技术方案中,优选地,所述提取单元还用于:根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
在该技术方案中,一个项目对应一个数据库,其中,各个项目的数据库拥有相同的数据结构,但是业务数据和功能控制参数信息不同。在数据库更新执行前可根据数据库链接读取数据库中保存的项目标识和脚本版本。
在上述技术方案中,优选地,还包括:设置单元,根据接收到的设置指令,设置所述脚本文件;以及存储单元,用于存储所述脚本文件。
在该技术方案中,开发人员可以根据脚本编写规则,针对不同的项目需求,编写相应的SQL脚本,并记录到脚本文件中,以根据脚本文件去更新数据库。
根据本发明的另一方面,还提供了一种数据库更新方法,包括:步骤202,获取预设的脚本文件;步骤204,对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;步骤206,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;步骤208,根据所述脚本执行列表更新所述任一数据库。
项目标识组合中包括一个或多个项目标识,在项目标识组合中包括当前数据库的项目标识时,即说明项目标识组合对应的脚本内容适用于当前的数据库。这样,通过上述技术方案,可以自动解析脚本文件,自动升级多个项目的多个数据库,极大的降低了数据库升级实施的复杂程度以及***部署和升级的成本。
在上述技术方案中,优选地,所述步骤206包括:在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;在检测到已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表。
在该技术方案中,通过版本的比较和项目标识的匹配从多个脚本对象中找到适合本数据库的脚本内容,并通过找到的脚本内容对数据库进行更新,这样,可以自动更新多个项目的不同数据库,减少用户的操作。
在上述技术方案中,优选地,所述步骤208还包括:将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
在该技术方案中,在更新数据库内容的同时更新数据库的版本,优选地,脚本执行列表中的脚本内容可以按照脚本版本的先后顺序进行排列,这样,在执行的时候按照脚本版本的先后顺序执行,在确定脚本版本的时候可以直接将最后一个脚本版本作为当前的脚本版本。这样,方便用户根据版本号进行版本控制、版本追溯和问题排查等操作。
在上述技术方案中,优选地,在所述步骤204之前还包括:根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
在该技术方案中,一个项目对应一个数据库,其中,各个项目的数据库拥有相同的数据结构,但是业务数据和功能控制参数信息不同。在数据库更新执行前可根据数据库链接读取数据库中保存的项目标识和脚本版本。
在上述技术方案中,优选地,在所述步骤202之前还包括:根据接收到的设置指令,设置所述脚本文件;以及存储所述脚本文件。
在该技术方案中,开发人员可以根据脚本编写规则,针对不同的项目需求,编写相应的SQL脚本,并记录到脚本文件中,以根据脚本文件去更新数据库。
通过以上技术方案,解决了现有的项目部署或升级工作量大的问题,使项目部署和升级更为便利,降低了项目部署和升级的成本。
附图说明
图1示出了根据本发明的实施例的数据库更新装置的框图;
图2示出了根据本发明的实施例的数据库更新方法的流程图;
图3示出了根据本发明的实施例的数据库更新装置的结构图;
图4示出了根据本发明的实施例的数据库更新方法的具体流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的数据库更新装置的框图。
如图1所示,根据本发明的实施例的数据库更新装置100,包括:获取单元102,用于获取预设的脚本文件;解析单元104,连接至所述获取单元102,用于对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;提取单元106,连接至所述解析单元104,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;更新单元108,连接至所述提取单元106,用于根据所述脚本执行列表更新所述任一数据库。
项目标识组合中包括一个或多个项目标识,在项目标识组合中包括当前数据库的项目标识时,即说明项目标识组合对应的脚本内容适用于当前的数据库。这样,通过上述技术方案,可以自动解析脚本文件,自动升级多个项目的多个数据库,极大的降低了数据库升级实施的复杂程度以及***部署和升级的成本。
在上述技术方案中,优选地,所述提取单元106包括:对象获取子单元1062,在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;第一判断子单元1064,连接至所述对象获取子单元1062,用于判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,触发第二判断子单元;所述第二判断子单元1066,连接至所述第一判断子单元1064,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;输出子单元1068,连接至所述对象获取子单元1062和所述第二判断子单元1066,在检测到所述对象获取子单元1062已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表至所述更新单元108。
在该技术方案中,通过版本的比较和项目标识的匹配从多个脚本对象中找到适合本数据库的脚本内容,并通过找到的脚本内容对数据库进行更新,这样,可以自动更新多个项目的不同数据库,减少用户的操作。
在上述技术方案中,优选地,所述更新单元108还包括:版本确定单元1082,将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
在该技术方案中,在更新数据库内容的同时更新数据库的版本,优选地,脚本执行列表中的脚本内容可以按照脚本版本的先后顺序进行排列,这样,在执行的时候按照脚本版本的先后顺序执行,在确定脚本版本的时候可以直接将最后一个脚本版本作为当前的脚本版本。这样,方便用户根据版本号进行版本控制、版本追溯和问题排查等操作。
在上述技术方案中,优选地,所述提取单元106还用于:根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
在该技术方案中,一个项目对应一个数据库,其中,各个项目的数据库拥有相同的数据结构,但是业务数据和功能控制参数信息不同。在数据库更新执行前可根据数据库链接读取数据库中保存的项目标识和脚本版本。
在上述技术方案中,优选地,还包括:设置单元110,根据接收到的设置指令,设置所述脚本文件;以及存储单元112,连接至所述设置单元110和所述获取单元102,用于存储所述脚本文件。
在该技术方案中,开发人员可以根据脚本编写规则,针对不同的项目需求,编写相应的SQL脚本,并记录到脚本文件中,以根据脚本文件去更新数据库。
图2示出了根据本发明的实施例的数据库更新方法的流程图。
如图2所示,根据本发明的实施例的数据库更新方法,包括:步骤202,获取预设的脚本文件;步骤204,对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;步骤206,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;步骤208,根据所述脚本执行列表更新所述任一数据库。
项目标识组合中包括一个或多个项目标识,在项目标识组合中包括当前数据库的项目标识时,即说明项目标识组合对应的脚本内容适用于当前的数据库。这样,通过上述技术方案,可以自动解析脚本文件,自动升级多个项目的多个数据库,极大的降低了数据库升级实施的复杂程度以及***部署和升级的成本。
在上述技术方案中,优选地,所述步骤206包括:在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;在检测到已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表。
在该技术方案中,通过版本的比较和项目标识的匹配从多个脚本对象中找到适合本数据库的脚本内容,并通过找到的脚本内容对数据库进行更新,这样,可以自动更新多个项目的不同数据库,减少用户的操作。
在上述技术方案中,优选地,所述步骤208还包括:将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
在该技术方案中,在更新数据库内容的同时更新数据库的版本,优选地,脚本执行列表中的脚本内容可以按照脚本版本的先后顺序进行排列,这样,在执行的时候按照脚本版本的先后顺序执行,在确定脚本版本的时候可以直接将最后一个脚本版本作为当前的脚本版本。这样,方便用户根据版本号进行版本控制、版本追溯和问题排查等操作。
在上述技术方案中,优选地,在所述步骤204之前还包括:根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
在该技术方案中,一个项目对应一个数据库,其中,各个项目的数据库拥有相同的数据结构,但是业务数据和功能控制参数信息不同。在数据库更新执行前可根据数据库链接读取数据库中保存的项目标识和脚本版本。
在上述技术方案中,优选地,在所述步骤202之前还包括:根据接收到的设置指令,设置所述脚本文件;以及存储所述脚本文件。
在该技术方案中,开发人员可以根据脚本编写规则,针对不同的项目需求,编写相应的SQL脚本,并记录到脚本文件中,以根据脚本文件去更新数据库。
图3示出了根据本发明的实施例的数据库更新装置的结构图。
如图3所示,根据本发明的又一实施例的数据库更新装置300包括:数据库初始化模块302(包括设置单元)和数据库升级模块304(包括获取单元、解析单元、提取单元和更新单元),数据升级模块304包括脚本解析引擎3042(即解析单元)。下面对各模块进行详细说明。
数据库初始化模块302:在首次部署数据库时调用,数据库初始化时需要实施人员提供项目标识等信息,数据库初始化后会生成基础数据库,基础数据库保存了项目标识和默认的脚本版本等信息。
数据库升级模块304:在项目调用数据库初始化模块302后或项目升级时调用。其作用是获取脚本文件,并将脚本文件传入脚本解析引擎,将脚本解析引擎解析出的脚本更新到数据库中,最后将最后一组脚本的脚本版本更新到数据库中,作为数据库当前的脚本版本。
脚本解析引擎3042:脚本解析引擎根据项目数据库中保存的脚本版本、项目标识,再结合脚本文件,拼接、生成与该项目对应的数据库升级脚本。
图3中还示出数据库更新装置300读取并解析脚本文件,将解析后得到的脚本内容交由数据库,以供数据库进行更新。其中,数据库中保存了项目配置信息及业务信息。而脚本文件,是由开发人员在项目开发时依照脚本编写规则编写,脚本编写规则示意如下:
前分组符【脚本版本1项目标识组合1脚本描述1】后分组符
脚本内容1
前分组符【脚本版本2项目标识组合2脚本描述2】后分组符
脚本内容2
……
下面对上述出现的各名词的含义进行解释:
前分组符、后分组符:程序定义的特殊字符串,仅用来做脚本分组使用。
脚本版本:格式为yyyy-MM-dd-3位当天脚本版本号,如2013-09-16-001。数据库中保存该项目最后一次执行的脚本版本,脚本解析引擎解析脚本文件时会将数据库当前脚本版本作为获取脚本的过滤条件。
项目标识:项目标识用英文字符串表示,如abc,代表abc项目,通用项目标识为common(表示所有项目)。项目标识不可含有空格。
项目标识组合:项目标识组合由一个或多个项目标识组成,多个项目标识用半角逗号分隔,排除项目用半角叹号开头。项目在部署时由实施人员配置到数据库中一个项目标识,脚本解析引擎解析脚本文件时会将项目标识组合作为获取脚本的过滤条件。通常有两种项目标识组合的拼组方式
(1)并集,如:“abc,cctv,nfc”,表示项目abc,cctv,nfc三个项目需执行于该脚本。
(2)非,如common,!abc,!nfc,表示除了abc,nfc项目外,其他所有项目都需执行于该脚本。
脚本描述:该组脚本的简要描述。
脚本内容:该组脚本的SQL脚本内容,须符合SQL语言编写规范。
下面结合图3和图4详细说明本发明的技术方案。
图4示出了根据本发明的实施例的数据库更新方法的具体流程图。
如图4所示,根据本发明的实施例的数据库更新方法的具体流程如下:
步骤402,获取脚本文件。脚本解析引擎3042从数据库升级模块304中获取脚本文件的文件流信息。
步骤404,解析脚本文件,生成脚本对象列表(脚本对象包括脚本版本、脚本标识组合、SQL脚本内容)。该阶段脚本解析引擎首先将脚本文件流信息转换为字符串数据,然后顺序读取脚本字符串数据,依次执行如下操作:根据脚本分组符,获取一段脚本字符串数据,将该段数据根据脚本编写规则提取出脚本版本、项目标识组合、脚本内容三项信息,组成脚本对象,***脚本对象列表。循环此操作直至读完脚本文件字符串,完成脚本对象列表的拼装。
步骤406,依次遍历脚本对象列表。
步骤408,判断脚本对象列表是否已遍历结束。如果判断结果为是,则进入步骤418;否则执行步骤410。
步骤410,顺序获取一个脚本对象。
步骤412,判断该脚本对象的脚本版本是否大于当前数据库脚本版本,若判断结果为是,则进入步骤414,若判断结果为否,则进入步骤408。
步骤414,判断该脚本对象的项目标识组合是否适用于当前数据库对应项目。如果判断结果为是,则进入步骤416,若判断结果为否,则进入步骤408。
步骤416,将该脚本对象的脚本内容加入到数据库脚本执行列表,并进入步骤408。
步骤418,输出数据库脚本执行列表,供数据库升级模块304更新数据库。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,实现了如下技术效果:1、各项目升级脚本可维护、追溯。通过脚本文件,可以查看到各项目不同时间对数据库的修改脚本,便于版本控制、版本追溯和问题的排查。2、降低了***部署和升级的成本。通过脚本解析引擎自动化解析脚本文件,自动升级数据库,极大的降低了实施人员的技术要求,降低了实施的复杂程度,从而降低了***部署和升级的成本。这样,同一信息化***面对不同项目的部署与升级,开发人员可以专注于脚本的维护,实施人员可以专注于硬件、网络、安全策略等方面的部署与维护,一定程度上解放了生产力,满足了信息化***产品化部署,减少差异化实施的需求。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据库更新装置,其特征在于,包括:
获取单元,用于获取预设的脚本文件;
解析单元,连接至所述获取单元,用于对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;
提取单元,连接至所述解析单元,用于根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;
更新单元,连接至所述提取单元,用于根据所述脚本执行列表更新所述任一数据库。
2.根据权利要求1所述的数据库更新装置,其特征在于,所述提取单元包括:
对象获取子单元,在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;
第一判断子单元,连接至所述对象获取子单元,判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,触发第二判断子单元;
所述第二判断子单元,连接至所述第一判断子单元,用于判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;
输出子单元,连接至所述对象获取子单元和所述第二判断子单元,在检测到所述对象获取子单元已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表至所述更新单元。
3.根据权利要求1所述的数据库更新装置,其特征在于,所述更新单元还包括:
版本确定单元,将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
4.根据权利要求1所述的数据库更新装置,其特征在于,所述提取单元还用于:
根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
5.根据权利要求1至4中任一项所述的数据库更新装置,其特征在于,还包括:
设置单元,根据接收到的设置指令,设置所述脚本文件;以及
存储单元,连接至所述设置单元和所述获取单元,用于存储所述脚本文件。
6.一种数据库更新方法,其特征在于,包括:
步骤202,获取预设的脚本文件;
步骤204,对所述脚本文件进行解析,从中解析出一个或多个脚本对象,生成脚本对象列表,其中,所述脚本对象中包括脚本版本、项目标识组合和脚本内容;
步骤206,根据多个数据库中任一数据库的脚本版本和项目标识,遍历所述脚本对象列表,从所述脚本对象列表的一个或多个脚本对象中提取出与所述任一数据库对应的一个或多个所述脚本内容,以得到脚本执行列表;
步骤208,根据所述脚本执行列表更新所述任一数据库。
7.根据权利要求6所述的数据库更新方法,其特征在于,所述步骤206包括:
在接收到获取指令时,从所述脚本对象列表中获取一个当前的脚本对象;
判断所述当前的脚本对象的脚本版本是否大于所述任一数据库的脚本版本,在判断结果为是时,判断所述当前的脚本对象的项目标识组合是否与所述任一数据库的项目标识相匹配,在判断结果为是时,提取出所述当前的脚本对象的脚本内容,并将所述脚本内容添加至所述脚本执行列表;
在检测到已获取完所述脚本对象列表中的所有脚本对象时,输出所述脚本执行列表。
8.根据权利要求6所述的数据库更新方法,其特征在于,所述步骤208还包括:
将所述脚本执行列表中的每个脚本内容对应的脚本版本进行比较,并将版本号最大的脚本版本作为所述任一数据库的当前脚本版本。
9.根据权利要求6所述的数据库更新方法,其特征在于,在所述步骤204之前还包括:
根据接收到的获取指令,获取与所述任一数据库对应的所述脚本版本和所述项目标识。
10.根据权利要求6至9中任一项所述的数据库更新方法,其特征在于,在所述步骤202之前还包括:
根据接收到的设置指令,设置所述脚本文件;以及
存储所述脚本文件。
CN201310470751.5A 2013-10-10 2013-10-10 数据库更新装置和数据库更新方法 Expired - Fee Related CN104572644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310470751.5A CN104572644B (zh) 2013-10-10 2013-10-10 数据库更新装置和数据库更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310470751.5A CN104572644B (zh) 2013-10-10 2013-10-10 数据库更新装置和数据库更新方法

Publications (2)

Publication Number Publication Date
CN104572644A true CN104572644A (zh) 2015-04-29
CN104572644B CN104572644B (zh) 2018-05-22

Family

ID=53088746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310470751.5A Expired - Fee Related CN104572644B (zh) 2013-10-10 2013-10-10 数据库更新装置和数据库更新方法

Country Status (1)

Country Link
CN (1) CN104572644B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488170A (zh) * 2015-11-30 2016-04-13 金蝶软件(中国)有限公司 一种erp***的信息管理方法及装置
CN106250485A (zh) * 2016-07-29 2016-12-21 北京北信源软件股份有限公司 数据库升级方法、装置及***
CN106844772A (zh) * 2017-02-28 2017-06-13 东软集团股份有限公司 应用数据库的更新方法及装置
CN107066627A (zh) * 2017-05-15 2017-08-18 郑州云海信息技术有限公司 一种kdb数据库管理方法及其装置
CN107315764A (zh) * 2017-05-11 2017-11-03 北京奇艺世纪科技有限公司 一种非关系型数据库关联数据的更新方法及***
CN107357558A (zh) * 2016-05-10 2017-11-17 阿里巴巴集团控股有限公司 构建代码的方法及装置
CN107688531A (zh) * 2017-06-20 2018-02-13 平安科技(深圳)有限公司 数据库集成测试方法、装置、计算机设备及存储介质
CN107818102A (zh) * 2016-09-12 2018-03-20 平安科技(深圳)有限公司 数据提取方法和装置
CN108108392A (zh) * 2017-11-23 2018-06-01 北京百度网讯科技有限公司 商品数据管理方法、装置、计算机设备及存储介质
CN109213748A (zh) * 2018-08-13 2019-01-15 中国平安人寿保险股份有限公司 一种数据库脚本文件的更新方法、服务器及介质
CN110275699A (zh) * 2018-03-15 2019-09-24 拉扎斯网络科技(上海)有限公司 一种代码构建方法及Serverless平台、对象存储平台
CN112631643A (zh) * 2019-10-08 2021-04-09 华晨宝马汽车有限公司 综合运维管理方法、***、设备和介质
CN110019212B (zh) * 2017-11-29 2021-06-18 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及数据库服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1971556A (zh) * 2005-11-26 2007-05-30 华为技术有限公司 在后台管理***中实现数据库升级的***和方法
CN101183361A (zh) * 2006-11-13 2008-05-21 中兴通讯股份有限公司 一种关系数据库应用自动升级的方法
US7610298B2 (en) * 2006-02-01 2009-10-27 Microsoft Corporation Difference-based database upgrade
CN101650663A (zh) * 2009-08-27 2010-02-17 中兴通讯股份有限公司 一种数据库***及其升级的方法
CN102495733A (zh) * 2011-12-08 2012-06-13 方正国际软件有限公司 应用程序与相关数据库脚本兼容性检测和升级维护的方法
CN102737028A (zh) * 2011-04-01 2012-10-17 深圳市赛格导航科技股份有限公司 一种数据库的同步方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1971556A (zh) * 2005-11-26 2007-05-30 华为技术有限公司 在后台管理***中实现数据库升级的***和方法
US7610298B2 (en) * 2006-02-01 2009-10-27 Microsoft Corporation Difference-based database upgrade
CN101183361A (zh) * 2006-11-13 2008-05-21 中兴通讯股份有限公司 一种关系数据库应用自动升级的方法
CN101650663A (zh) * 2009-08-27 2010-02-17 中兴通讯股份有限公司 一种数据库***及其升级的方法
CN102737028A (zh) * 2011-04-01 2012-10-17 深圳市赛格导航科技股份有限公司 一种数据库的同步方法及***
CN102495733A (zh) * 2011-12-08 2012-06-13 方正国际软件有限公司 应用程序与相关数据库脚本兼容性检测和升级维护的方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488170B (zh) * 2015-11-30 2019-02-12 金蝶软件(中国)有限公司 一种erp***的信息管理方法及装置
CN105488170A (zh) * 2015-11-30 2016-04-13 金蝶软件(中国)有限公司 一种erp***的信息管理方法及装置
CN107357558B (zh) * 2016-05-10 2020-07-24 阿里巴巴集团控股有限公司 构建代码的方法及装置
CN107357558A (zh) * 2016-05-10 2017-11-17 阿里巴巴集团控股有限公司 构建代码的方法及装置
CN106250485A (zh) * 2016-07-29 2016-12-21 北京北信源软件股份有限公司 数据库升级方法、装置及***
CN107818102B (zh) * 2016-09-12 2020-03-27 平安科技(深圳)有限公司 数据提取方法和装置
CN107818102A (zh) * 2016-09-12 2018-03-20 平安科技(深圳)有限公司 数据提取方法和装置
CN106844772A (zh) * 2017-02-28 2017-06-13 东软集团股份有限公司 应用数据库的更新方法及装置
CN107315764B (zh) * 2017-05-11 2020-04-21 北京奇艺世纪科技有限公司 一种非关系型数据库关联数据的更新方法及***
CN107315764A (zh) * 2017-05-11 2017-11-03 北京奇艺世纪科技有限公司 一种非关系型数据库关联数据的更新方法及***
CN107066627A (zh) * 2017-05-15 2017-08-18 郑州云海信息技术有限公司 一种kdb数据库管理方法及其装置
WO2018233037A1 (zh) * 2017-06-20 2018-12-27 平安科技(深圳)有限公司 数据库集成测试方法、装置、服务器及存储介质
CN107688531B (zh) * 2017-06-20 2019-02-22 平安科技(深圳)有限公司 数据库集成测试方法、装置、计算机设备及存储介质
CN107688531A (zh) * 2017-06-20 2018-02-13 平安科技(深圳)有限公司 数据库集成测试方法、装置、计算机设备及存储介质
CN108108392A (zh) * 2017-11-23 2018-06-01 北京百度网讯科技有限公司 商品数据管理方法、装置、计算机设备及存储介质
CN110019212B (zh) * 2017-11-29 2021-06-18 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及数据库服务器
CN110275699A (zh) * 2018-03-15 2019-09-24 拉扎斯网络科技(上海)有限公司 一种代码构建方法及Serverless平台、对象存储平台
CN109213748A (zh) * 2018-08-13 2019-01-15 中国平安人寿保险股份有限公司 一种数据库脚本文件的更新方法、服务器及介质
CN109213748B (zh) * 2018-08-13 2023-10-27 中国平安人寿保险股份有限公司 一种数据库脚本文件的更新方法、服务器及介质
CN112631643A (zh) * 2019-10-08 2021-04-09 华晨宝马汽车有限公司 综合运维管理方法、***、设备和介质
CN112631643B (zh) * 2019-10-08 2024-05-24 华晨宝马汽车有限公司 综合运维管理方法、***、设备和介质

Also Published As

Publication number Publication date
CN104572644B (zh) 2018-05-22

Similar Documents

Publication Publication Date Title
CN104572644A (zh) 数据库更新装置和数据库更新方法
US10824691B2 (en) Page rendering method, device, and data storage medium
CN107370786B (zh) 一种基于微服务架构的通用信息管理***
CN111045655B (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
CN111683066B (zh) 异构***集成方法、装置、计算机设备和存储介质
CN106293664A (zh) 代码生成方法及装置
CN101977121A (zh) 配置文件处理方法、装置及***
CN104679532B (zh) 内核模块加载方法和装置
CN104407863A (zh) 抽象控件模型编程装置和方法
CN113986241B (zh) 一种基于知识图谱的业务规则的配置方法以及装置
CN105868311A (zh) 一种数据解析的方法和装置
CN106155769A (zh) 一种工作流处理方法、装置及工作流引擎
CN113821565B (zh) 一种多数据源同步数据的方法
CN109669976A (zh) 基于etl的数据服务方法及设备
WO2023065746A1 (zh) 算法应用元生成方法、装置、电子设备、计算机程序产品及计算机可读存储介质
CN114064213A (zh) 基于Kubernets容器环境的快速编排服务方法及***
CN110597896A (zh) 一种数据展示方法、数据展示装置及终端设备
CN106802928B (zh) 电网历史数据管理方法及其***
CN103109289A (zh) 基于web的脚本语言编辑方法、***和web客户端
CN115017182A (zh) 一种可视化的数据分析方法及设备
CN111241152A (zh) 政策信息挖掘方法、装置及云服务器
CN113268232B (zh) 一种页面皮肤生成方法、装置和计算机可读存储介质
CN113031944B (zh) 基于模板的业务开通装置及方法
CN107885582B (zh) 异构容器集群迁移方法和控制器
CN112235124A (zh) 一种皮基站配置方法、装置、存储介质和电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220621

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180522

CF01 Termination of patent right due to non-payment of annual fee