1、10申请公布号CN102323945A43申请公布日20120118CN102323945ACN102323945A21申请号201110258766622申请日20110902G06F17/3020060171申请人南京中兴力维软件有限公司地址211153江苏省南京市江宁区东善桥正方中路888号中兴软件园72发明人向稳新唐璐74专利代理机构深圳市世纪恒程知识产权代理事务所44287代理人胡海国54发明名称一种基于SQL的数据库管理方法和装置57摘要本发明公开了一种基于SQL的数据库管理方法及装置,所述方法包括针对各个数据库管理任务项编写相应的SQL脚本,形成SQL脚本集;建立各数据库管理任务
2、项与对应SQL脚本的逻辑映射文件;将SQL脚本集以及逻辑映射文件部署于数据库管理客户端可访问的位置。本发明可通过配置数据库管理任务项和以及相应的SQL脚本的映射关系,实现数据库管理任务项的自动批量执行,实现数据库管理任务项的结果解析保存,从而可以减少数据库管理过程中的人工干预,提高执行效率,降低维护成本。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书9页附图3页CN102323955A1/1页21一种基于SQL的数据库管理方法,其特征在于,包括针对各个数据库管理任务项编写相应的SQL脚本,形成SQL脚本集;建立各数据库管理任务项与对应SQL脚本的逻辑映射文件
3、;将SQL脚本集以及逻辑映射文件部署于数据库管理客户端可访问的位置。2如权利要求1所述的基于SQL的数据库管理方法,其特征在于,所述逻辑映射文件保存为XML类型文件。3如权利要求1所述的基于SQL的数据库管理方法,其特征在于,在执行所有步骤之后还包括用户在数据库管理客户端上激活数据库管理任务项;依据逻辑映射文件,获取与数据库管理任务项相对应的SQL脚本;对待管理数据库执行所述SQL脚本。4如权利要求1所述的基于SQL的数据库管理方法,其特征在于,在执行所有步骤之后还包括定时器到,则依据逻辑映射文件,获取与预先设置的数据库管理任务项相对应的SQL脚本;对待管理数据库执行所述SQL脚本。5如权利要
4、求3或4所述的基于SQL的数据库管理方法,其特征在于,当有多项数据库管理任务项时,对应的多个SQL脚本采用多线程并行方式执行。6如权利要求3或4所述的基于SQL的数据库管理方法,其特征在于,在执行所有步骤之后还包括保存每个SQL脚本执行后的结果,并形成SQL脚本执行结果集。7一种基于SQL的数据库管理装置,其特征在于,包括存储模块,用于存储与各个数据库管理任务项相对应的SQL脚本形成的SQL脚本集,以及,数据库管理任务项与对应SQL脚本的逻辑映射文件;控制模块,用于根据用户对数据库管理任务项的激活操作或定时器的对数据库管理任务项自动激活操作,并依据逻辑映射文件,获取与数据库管理任务项相对应的S
5、QL脚本;数据库访问模块,用于对待管理数据库执行所述SQL脚本。8如权利要求7所述的基于SQL的数据库管理装置,其特征在于,还包括人机交互模块,用于呈现并设置数据库管理任务项,以及呈现SQL脚本的执行进度以及SQL脚本的执行结果。9如权利要求7所述的基于SQL的数据库管理装置,其特征在于,还包括日志模块,用于记录每个SQL脚本执行后的结果所形成SQL脚本执行结果集。10如权利要求7所述的基于SQL的数据库管理装置,其特征在于,还包括脚本编辑模块,用于针对各个数据库管理任务项编写相应的SQL脚本。权利要求书CN102323945ACN102323955A1/9页3一种基于SQL的数据库管理方法和
6、装置技术领域0001本发明涉及计算机应用技术领域,尤其涉及一种基于SQL的数据库管理方法和装置。背景技术0002目前,在很多的计算机应用系统中,以SQLSTRUCTUREDQUERYLANGUAGE,结构化查询语言语言为基础的数据库承担了系统业务数据的存储和业务逻辑的计算。而在系统的长期运行中,对于数据库系统的维护和升级却存在着高成本、低效率的问题。例如0003场景1数据库系统经过长时间的现场运行,由于多种因素的影响,其业务数据可能会存在错误、冗余,以及不一致等情况。常见的检查和修正方法是由专业技术人员针对每种检查和修正需求,编写对应的数据库脚本,由现场工程人员将这些脚本在数据库自带的客户端中
7、依次执行,并将每个脚本对应的执行结果保存至文件后发回给专业技术人员分析。这种方式存在以下缺陷首先,工程人员需手动执行每个脚本,专业技术人员需分析每个工程人员返回的执行结果,因此其工作效率较低。其次,还可能存在因为执行结果和执行脚本的映射错误问题,导致分析结果产生错误。0004场景2应用系统的升级更新涉及数据库系统的升级和更新,常见的数据库系统的升级和更新方法是由专业技术人员编写升级脚本,由现场工程人员在实际环境中执行,为了提高效率,常常编写脚本批处理所有升级脚本。采用这种方式存在难以甚至无法判断和保存每个脚本执行情况的问题。发明内容0005本发明实施例的目的在于提供一种基于SQL的数据库管理方
8、法及装置,其可以自动执行SQL脚本集合,保存SQL脚本执行结果信息,并据此生成应用分析报告,采用本发明可以减少数据库的运维错误、提高数据库的运维效率,以及降低数据库的运维成本。0006为了达到上述本发明的目的,本发明采用以下技术方案实现0007一种基于SQL的数据库管理方法,包括0008针对各个数据库管理任务项编写相应的SQL脚本,形成SQL脚本集;0009建立各数据库管理任务项与对应SQL脚本的逻辑映射文件;0010将SQL脚本集以及逻辑映射文件部署于数据库管理客户端可访问的位置。0011优选地,所述逻辑映射文件保存为XML类型文件。0012优选地,在执行所有步骤之后还包括0013用户在数据
9、库管理客户端上激活数据库管理任务项;0014依据逻辑映射文件,获取与数据库管理任务项相对应的SQL脚本;0015对待管理数据库执行所述SQL脚本。0016优选地,在执行所有步骤之后还包括0017定时器到,则依据逻辑映射文件,获取与预先设置的数据库管理任务项相对应的说明书CN102323945ACN102323955A2/9页4SQL脚本;0018对待管理数据库执行所述SQL脚本。0019优选地,当有多项数据库管理任务项时,对应的多个SQL脚本采用多线程并行方式执行。0020优选地,在执行所有步骤之后还包括0021保存每个SQL脚本执行后的结果,并形成SQL脚本执行结果集。0022一种基于SQL
10、的数据库管理装置,包括0023存储模块,用于存储与各个数据库管理任务项相对应的SQL脚本形成的SQL脚本集,以及,数据库管理任务项与对应SQL脚本的逻辑映射文件;0024控制模块,用于根据用户对数据库管理任务项的激活操作或定时器的对数据库管理任务项自动激活操作,并依据逻辑映射文件,获取与数据库管理任务项相对应的SQL脚本;0025数据库访问模块,用于对待管理数据库执行所述SQL脚本。0026优选地,所述基于SQL的数据库管理装置还包括人机交互模块,用于呈现并设置数据库管理任务项,以及呈现SQL脚本的执行进度以及SQL脚本的执行结果。0027优选地,所述基于SQL的数据库管理装置还包括日志模块,
11、用于记录每个SQL脚本执行后的结果所形成SQL脚本执行结果集。0028优选地,所述基于SQL的数据库管理装置还包括脚本编辑模块,用于针对各个数据库管理任务项编写相应的SQL脚本。0029通过以上本发明的技术方案可以看出,使用本发明可通过配置数据库管理任务项和以及相应的SQL脚本的映射关系,实现数据库管理任务项的自动批量执行,实现数据库管理任务项的结果解析保存,从而可以减少数据库管理过程中的人工干预,提高执行效率,降低维护成本。附图说明0030图1是本发明实施例提供的基于SQL的数据库管理方法配置阶段流程图;0031图2是本发明实施例提供的基于SQL的数据库管理方法运行阶段配置流程图;0032图
12、3是本发明实施例提供的基于SQL的数据库管理方法运行阶段运行流程图;0033图4是本发明实施例提供的基于SQL的数据库管理装置结构示意图。0034本发明目的的实现、功能特点及优异效果,下面将结合具体实施例以及附图做进一步的说明。具体实施方式0035下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。0036本发明提供了一种基于SQL的数据库管理方法,包括如下步骤0037S300、针对各个数据库管理任务项编写相应的SQL脚本,形成SQL脚本集;0038S301、建立各数据库管理任务项与对应SQL脚
13、本的逻辑映射文件;说明书CN102323945ACN102323955A3/9页50039S302、将SQL脚本集以及逻辑映射文件部署于数据库管理客户端可访问的位置。0040优选实施方式下,所述逻辑映射文件保存为XML类型文件。当然,除此之外,所述逻辑映射文件还可保存为其他类型的可编辑的文件。0041一种优选的实施方式下,在执行S300S302的所有步骤之后,所述基于SQL的数据库管理方法还包括如下步骤0042S303、用户在数据库管理客户端上激活数据库管理任务项;0043S304、依据逻辑映射文件,获取与数据库管理任务项相对应的SQL脚本;0044S305、对待管理数据库执行所述SQL脚本。
14、0045在该实施方式下,对待管理数据库的维护工作由人工触发,当用户选择好了相应的数据库管理任务项之后,在数据库管理客户端上激活数据库管理任务项,并最终执行对应的SQL脚本,以对数据库进行维护。0046另一种优选的实施方式下,在执行S300S302的所有步骤之后,所述基于SQL的数据库管理方法还包括如下步骤0047S303、定时器到,则依据逻辑映射文件,获取与预先设置的数据库管理任务项相对应的SQL脚本;0048S304、对待管理数据库执行所述SQL脚本。0049在该实施方式下,对待管理数据库的维护工作是由系统自动运行的,对于该基于SQL的数据库管理方法的执行是由预先设置的定时器进行触发,当定时
15、器时间到,则遍历逻辑映射文件,找到与预先设置的数据库管理任务项对应的SQL脚本,并最终将其执行,从而实现对数据库的维护工作。0050优选实施方式下,为了提高执行的效率,当有多项数据库管理任务项时,对应的多个SQL脚本采用多线程并行方式执行。0051在基于以上两种优选实施方式下的情形下,在执行S300S302的所有步骤之后,所述基于SQL的数据库管理方法还包括下述步骤S306或S3050052S306S305、保存每个SQL脚本执行后的结果,并形成SQL脚本执行结果集。0053参照图1,其描述了本发明实施例提供的基于SQL的数据库管理方法配置阶段流程,具体如下0054步骤101,分类数据库管理应
16、用需求,确定数据库管理任务项集合。0055步骤102,根据每个数据库管理任务项编写,调试相应的SQL脚本,确保其可被应用数据库执行。0056其中,SQL脚本内容必须包含可执行的SQL语句若干,同时可使用注释等方式对SQL语句进行特征描述,表明其执行目的。例如,某SQL语句有返回集的类型例如,SELECT,可描述其查询意图,并为该结果集起个易懂的表名,为后面的执行结果保存及查看提供便利。0057步骤103,配置数据库管理任务项和SQL脚本之间的逻辑映射文件,逻辑映射文件可采用任何可解析的文本格式,推荐使用XMLEXTENSIBLEMARKUPLANGUAGE,可扩展标记语言类型文件,方便阅读编辑
17、和解析。逻辑映射文件必须包含数据库管理任务项和SQL脚本的映射关系,同时也可包含数据库管理任务项的描述信息,配置方式可采用最简单的文本编辑方式,或者定制相应的图形化编辑方式。说明书CN102323945ACN102323955A4/9页60058步骤104,将步骤102和103输出的SQL脚本集和逻辑映射文件,放置于数据库管理客户端可访问到的位置,例如放置方式可以涉及网络传输方式进行放置。0059参照图2,其描述了本发明实施例提供的基于SQL的数据库管理方法运行阶段配置流程,具体如下0060步骤201,数据库管理客户端解析逻辑映射文件,在内存中建立数据库管理任务项和SQL脚本的映射关系集合,解
18、析数据库管理任务项的描述信息。0061步骤202,通过人机交互方式,呈现可执行的数据库管理任务项。0062步骤203,通过人机交互方式,设置执行数据库参数和执行动作参数,数据库参数包括服务器地址,数据库名称,数据库用户名,数据库密码,数据库连接超时时间等;执行动作参数包括执行方式,自动执行的周期,自动执行的时间等。0063步骤204,数据库管理客户端根据执行动作参数确定执行时刻。例如,人工执行方式下,人工触发执行即为执行时刻,自动执行方式下,一般使用定时器线程,定时判断当前时刻是否为目标时刻。0064步骤205,数据库管理客户端在执行时刻,遍历内存中的逻辑映射文件,执行每个数据库管理任务项。在
19、有多个数据库管理任务项的情形下,对于其执行可使用多线程并行方式提高效率。0065参照图3,其描述了本发明实施例提供的基于SQL的数据库管理方法运行阶段运行流程,具体如下0066步骤301,数据库管理客户端根据逻辑映射文件找到该数据库管理任务项映射的SQL脚本,读取该数据库管理任务项的SQL脚本内容。解析该SQL脚本的可执行SQL语句集合及SQL语句的执行目的。0067步骤302,对待管理数据库依次执行每个SQL语句。0068步骤303,在执行每个SQL语句时,数据库管理客户端记录其执行返回是否成功,若失败,需记录其失败的原因。若该SQL语句有执行目的,例如其执行后会得到一个结果集,则根据执行目
20、的信息记录保存该结果集。0069步骤304,数据库管理任务项执行完毕后,通过人机交互方式,实时更新任务的执行进度,任务项的执行返回,结果集信息等。数据库管理客户端记录数据库管理任务项的执行过程。0070本发明还提供了一种基于SQL的数据库管理装置,如图4所示,其包括0071存储模块20,用于存储与各个数据库管理任务项相对应的SQL脚本形成的SQL脚本集,以及,数据库管理任务项与对应SQL脚本的逻辑映射文件;0072控制模块10,用于根据用户对数据库管理任务项的激活操作或定时器的对数据库管理任务项自动激活操作,并依据逻辑映射文件,获取与数据库管理任务项相对应的SQL脚本;0073数据库访问模块3
21、0,用于对待管理数据库70执行所述SQL脚本。0074优选实施方式下,所述基于SQL的数据库管理装置还包括人机交互模块40,用于呈现并设置数据库管理任务项,以及呈现SQL脚本的执行进度以及SQL脚本的执行结果。0075优选实施方式下,所述基于SQL的数据库管理装置还包括日志模块50,用于记录每个SQL脚本执行后的结果所形成SQL脚本执行结果集。说明书CN102323945ACN102323955A5/9页70076优选实施方式下,所述基于SQL的数据库管理装置还包括脚本编辑模块60,用于针对各个数据库管理任务项编写相应的SQL脚本。0077下面将举3个不同的实施例来分别说明本发明提供的基于SQ
22、L的数据库管理方法及装置对待管理数据库进行不同的维护工作的过程。0078实施例1数据库业务升级0079场景描述因业务需求的升级,待管理数据库的相应数据需要进行更新。例如,在该实施例中,升级的目标包括如下几项00801、增加某表;00812、某表增加字段。0082其实施步骤包括如下配置阶段以及运行阶段,分别介绍如下0083配置阶段00841、根据应用需求,确定数据库管理任务项集合0085数据库管理任务项1增加表;0086数据库管理任务项2更新表。00872、根据数据库管理任务项编写SQL脚本,例如0088ADDTABLESQL文本内容0089CREATETABLE;0090UPDATETABLE
23、SQL文本内容0091ALTERTABLE;00923、配置逻辑映射文件FUNCTIONXML,其包含数据库管理任务项和SQL脚本的映射关系,类似下文009300944、将ADDTABLESQL、UPDATETABLESQL、FUNCTIONXML放置于数据库管理客户端上该基于SQL的数据库管理装置指定的位置。0095运行阶段00961、运行该基于SQL的数据库管理装置,装置解析逻辑映射文件FUNCTIONXML,建立如下的映射关系,并将数据库管理任务项呈现于装置界面。0097增加表ADDTABLESQL0098更新表UPDATETABLESQL00992、现场工程人员设置数据库参数,设置执行
24、方式为手工执行。01003、现场工程人员手工触发执行,装置遍历执行任务项集合。当执行数据库管理任务项1时,读取ADDTABLESQL脚本内容,将脚本内容作用于目标数据库。当执行数据库管理任务项2时,读取UPDATETABLESQL脚本内容,将脚本内容作用于目标数据库。装置实时说明书CN102323945ACN102323955A6/9页8显示数据库管理任务项的执行进度和执行结果。01014、装置将数据库管理任务项的执行过程和执行结果记录至本地或指定网络位置,便于日后工程人员查阅。0102适用范围0103此实施例一般适用于下列情况0104任务项无返回集。0105SQL脚本只需运行一次。0106实
25、施例2数据库业务人工维护0107场景描述现场系统出现故障,需要查询数据库中特定数据进行故障排查。例如,排查目标包括01081、查询某种错误数据的个数;01092、查询数据库服务器存储空间;01103、清除某种错误的数据。0111其实施步骤包括如下配置阶段以及运行阶段,分别介绍如下0112配置阶段01131、根据应用需求,确定数据库管理任务项集合0114数据库管理任务项1统计错误数据。0115数据库管理任务项2统计存储空间。0116数据库管理任务项3修复错误数据。01172、根据数据库管理任务项编写SQL脚本,文本中用注释中的TABLENAME这个关键字来表明查询内容会返回一个数据表。0118E
26、RRORSQL文本内容,该脚本执行后会返回一个“错误数据”表0119TABLENAME错误数据0120SELECTCOUNTAS错误个数FROMXXXWHERE;0121SPACESQL文本内容,该脚本执行后会返回一个“存储空间”表0122TABLENAME存储空间0123IFOBJECT_IDNT,NUISNOTNULL0124DROPTABLET0125CREATETABLET01260127表名VARCHAR255,0128记录数BIGINT,0129分配总空间VARCHAR20,0130数据使用空间VARCHAR20,0131索引使用空间VARCHAR20,0132未使用空间VARCH
27、AR2001330134EXECSP_MSFOREACHTABLEINSERTINTOTEXECSP_SPACEUSED0135SELECTFROMT说明书CN102323945ACN102323955A7/9页90136DROPTABLET;0137REPAIRSQL文本内容0138UPDATEXXXSETXXXXXXWHEREXXXXXX01393、配置逻辑映射文件FUNCTIONXML,其包含数据库管理任务项和SQL脚本的映射关系,类似下文014001412、将ERRORSQL、SPACESQL、REPAIRSQL、FUNCTIONXML放置于数据库管理客户端上该基于SQL的数据库管理装
28、置指定的位置。0142运行阶段01431、运行装置,该基于SQL的数据库管理装置解析逻辑映射文件FUNCTIONXML,建立如下的映射关系,并将任务项呈现于装置界面。0144统计错误数据ERRORSQL0145统计存储空间SPACESQL0146修复错误数据REPAIRSQL01472、现场工程人员设置数据库参数,设置执行方式为手工执行。01483、现场工程人员手工触发执行,装置遍历执行数据库管理任务项集合。当执行数据库管理任务项1时,读取ERRORSQL脚本内容,将脚本内容中SQL语句作用于目标数据库,并将执行返回集作为“错误数据”表保存。当执行数据库管理任务项2时,读取SPACESQL脚本
29、内容,将脚本内容中SQL语句作用于目标数据库,并将执行返回集作为“存储空间”表保存。装置实时显示数据库管理任务项的执行进度和执行结果。当执行数据库管理任务项3时,读取REPAIRSQL脚本内容,将脚本内容中SQL语句作用于目标数据库。装置实时显示数据库管理任务项的执行进度和执行结果。现场工程人员可以通过装置界面查看“错误数据”表和“存储空间”表,通过其中的数据判断故障定位。01494装置将数据库管理任务项的执行过程和执行结果记录至本地或指定网络位置,便于日后工程人员查阅。0150适用范围0151此实施例一般适用于下列情况01521数据库管理任务项有返回集或无返回集,返回集名称和内容需要明了易懂
30、。01532SQL脚本的执行由人工控制。01543数据库管理任务项的执行结果需要及时呈现和保存。0155实施例3数据库业务自动维护0156场景描述受某些因素影响,现场数据库需要定期进行维护,维护内容包括数据的说明书CN102323945ACN102323955A8/9页10统计,整理和清理。例如,维护目标包括01571统计某类数据,出具报表;01582将某类数据分类后,迁移至其他表存储;01593清除某类垃圾数据;01604周期为一周。0161其实施步骤包括如下配置阶段以及运行阶段,分别介绍如下0162配置阶段01631、根据应用需求,确定数据库任务项集合0164数据库管理任务项1统计数据。0
31、165数据库管理任务项2迁移数据。0166数据库管理任务项3清理数据。01672、根据数据库管理任务项编写SQL脚本,文本中用注释中的TABLENAME这个关键字来表明查询内容会返回一个数据表。0168STATISTICSSQL文本内容,该脚本执行后会返回一个“统计报表”0169TABLENAME统计报表0170SELECTXXXFROM;0171MOVESQL文本内容0172INSERTINTO;0173DELETESQL文本内容0174DELETEFROM01753、配置逻辑映射文件FUNCTIONXML,其包含数据库管理任务项和SQL脚本的映射关系,类似下文017601774、将STAT
32、ISTICSSQL、MOVESQL、DELETESQL、FUNCTIONXML放置于数据库管理客户端上该基于SQL的数据库管理装置指定的位置。0178运行阶段01791、运行该基于SQL的数据库管理装置,装置解析逻辑映射文件FUNCTIONXML,建立如下的映射关系0180统计数据STATISTICSSQL0181迁移数据MOVESQL0182清理数据DELETESQL01832、现场工程人员设置数据库参数,设置执行方式为自动执行,执行时刻为每周X说明书CN102323945ACN102323955A9/9页11的XX时XX分XX秒。01843、该基于SQL的数据库管理装置长期在线运行,其内部
33、定期器在每周X的XX时XX分XX秒触发执行,装置遍历执行数据库管理任务项集合。当执行数据库管理任务项1时,读取STATISTICSSQL脚本内容,将脚本内容中SQL语句作用于目标数据库,并将执行返回集作为“统计报表”表保存。当执行数据库管理任务项2时,读取MOVESQL脚本内容,将脚本内容中SQL语句作用于目标数据库。当执行数据库管理任务项3时,读取DELETESQL脚本内容,将脚本内容中SQL语句作用于目标数据库。01854、装置将数据库管理任务项的执行过程和执行结果记录至本地或指定网络位置,便于日后工程人员查阅。0186适用范围0187此实施例一般适用于下列情况01881数据库管理任务项有
34、返回集或无返回集,返回集名称和内容需要明了易懂。01892SQL脚本的执行需定期自动执行。01903数据库管理任务项的执行结果需要作为维护日志长期记录和保存。0191以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。说明书CN102323945ACN102323955A1/3页12图1图2说明书附图CN102323945ACN102323955A2/3页13图3说明书附图CN102323945ACN102323955A3/3页14图4说明书附图CN102323945A
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1