CN113448855A - 数据库版本包检测方法及装置 - Google Patents
数据库版本包检测方法及装置 Download PDFInfo
- Publication number
- CN113448855A CN113448855A CN202110767952.6A CN202110767952A CN113448855A CN 113448855 A CN113448855 A CN 113448855A CN 202110767952 A CN202110767952 A CN 202110767952A CN 113448855 A CN113448855 A CN 113448855A
- Authority
- CN
- China
- Prior art keywords
- database
- statement
- preset
- version
- identification
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims description 16
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012937 correction Methods 0.000 claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据库版本包检测方法及装置,涉及数据库维护领域,可应用于金融领域和其他领域,所述方法包含:获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至预定位置。
Description
技术领域
本发明涉及数据库维护领域,可应用于金融领域和其他领域,尤指一种数据库版本包检测方法及装置。
背景技术
为顺应市场的瞬息变化,不断给客户提供更便捷优质的服务,抢占市场第一份额,目前在金融行业研发项目迭代多,产品敏捷开发,繁重的项目测试给测试中心的运维要求大幅提高,因此不能再和之前一样人工审查版本内容。测试中心每天收到大量版本包后,只有数据库的版本包里的程序是完全可见的,且安装出错率高。为了减少装版出错率、提早识别投产风险,需要静态检查版本包实体。
采用原有人工方式检查版本实体,存在如下困难:
1、随着项目快速迭代,版本大量增加,工作量成倍增加,在不增加人力的条件下,人工版本检查工作耗费时间过长;
2、人工版本检查的准确性依赖于检查人的工作经验;
3、版本量大,人脑无法记住发版历史,在开发程序和分析问题、跟踪问题时无法快速检索到发版版本编号。
发明内容
本发明目的在于提供一种数据库版本包检测方法及装置,基于版本包中的SQL执行语句是规则的基础,通过自动化程序思想代替人工实现版本纠错、重点语句识别、风险预警的功能,同时还可以将数据库发版历史存档入库,识别出的错误语句、高风险语句入库做标记,方便后续版本开发过程查阅和问题追踪查阅。
为达上述目的,本发明所提供的数据库版本包检测方法,所述方法包含:获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;根据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至预定位置。
在上述数据库版本包检测方法中,优选的,通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句还包含:解析所述版本包文件获得目标应用的数据库版本文件,并将所述数据库版本文件所在的版本包文件的路径记录到数据库路径表中。
在上述数据库版本包检测方法中,优选的,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果包含:根据预设语句规则分析所述数据库发版语句的实际执行情况与预定执行情况的一致性;当所述实际执行情况与所述预定执行情况不一致时,生成提示信息输出至预定位置。
在上述数据库版本包检测方法中,优选的,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果还包含:获取所述数据库发版语句中的全部语句信息和应用名信息,分析所述语句信息的数据库类型和格式信息;当所述数据库类型和所述格式信息符合预设格式时,检测所述语句信息中的预定标识获得检测结果;根据所述检测结果以分号作为分割划分所述语句信息获得实际执行语句。
在上述数据库版本包检测方法中,优选的,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果还包含:当所述数据库类型和所述格式信息不符合预设格式时,或所述语句信息中不包含预定标识时,生成提示信息输出至预定位置。
在上述数据库版本包检测方法中,优选的,根据预设语句规则分析所述数据库发版语句的实际执行情况与预定执行情况的一致性包含:实际执行情况与预定执行情况不一致的类型包含:create表已在数据库中存在、alter表增加的字段已在数据库中存在、alter表删除的字段在数据库中不存在、alter表增加的索引所在字段在数据库中不存在、alter表添加的索引已在数据库中存在、alter表删除的索引在数据库中不存在、delete表在数据库中不存在。
在上述数据库版本包检测方法中,优选的,根据识别结果与预设对应表比较获得预警策略包含:对于只有create创建语句但无创建索引的语句,按预设周期生成提示信息输出至预定位置;对于alter修改语句,表增加字段同时对增加字段赋default默认值且无not null非空设定时,查询修改表在生产数据库的表量级;当表量级超过预定阈值,提示语句执行耗时长,并生成修改版本实体,拆分语句执行策略;对于alter删除表字段和delete表语句,且无备份语句,提示确认执行前是否需提前备份策略。
本发明还提供一种数据库版本包检测装置,所述装置包含数据库语句识别模块、数据库语句纠错模块、高风险语句识别和预警模块和数据库语句发版历史存档模块;所述数据库语句识别模块用于获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;以及,通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;所述数据库语句纠错模块用于根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;以及,根据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;所述高风险语句识别和预警模块用于将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至所述数据库语句发版历史存档模块。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:在安装版本包之前,对数据库装版语句进行自动化的静态检查,减少装版报错和在生产环境装版时效超长的问题,提高测试环境的工作效率;自动识别数据库语句,并实现纠错和预警的目标,摆脱依赖人工经验的问题;数据库语句发版历史存档入库,便于查看历史变更信息,帮助分析问题,识别的错误语句和高风险语句存档入库,可作为经验积累和便于问题跟踪。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所提供的数据库版本包检测方法的流程示意图;
图2为本发明一实施例所提供的数据库版本包检测方法的应用流程示意图;
图3为本发明一实施例所提供的纠错过程的流程示意图;
图4为本发明一实施例所提供的纠错校验的预处理流程示意图;
图5为本发明一实施例所提供的数据库语句纠错的应用流程示意图;
图6为本发明一实施例所提供的数据库发版语句的识别流程示意图;
图7为本发明一实施例所提供的风险语句的识别流程示意图;
图8为本发明一实施例所提供的数据库版本包检测装置的结构示意图;
图9为本发明一实施例所提供的电子设备的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本发明所提供的数据库版本包检测方法,所述方法包含:
S101获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;
S102通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;
S103根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;
S104根据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;
S105将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至预定位置。
其中,在上述实施例中,通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句还包含:解析所述版本包文件获得目标应用的数据库版本文件,并将所述数据库版本文件所在的版本包文件的路径记录到数据库路径表中,具体请参考后续图6所示,在此就不再详述。实际工作中,本发明所提供的数据库版本包检测方法主要有以下两个使用场景:1、在版本包安装前,对其进行预安装前的静态检查,包括数据库错误语句和存在执行高风险的语句。2、对发版历史存档,包括识别出的版本包中的数据库发版语句,以及本发明装置判断出的错误语句和高风险语句;应用流程可参考图2所示,具体如下:
第一步:在当前下载目录下,遍历每一个文件,判断识别出版本包文件,转到下一步;
第二步:遍历每一个版本包,调用数据库语句识别模板,识别出数据库发版语句,记录入库,转到下一步;
第三步:针对每条语句,调用数据库语句纠错模块,判断语句是否存在错误,若存在错误则发预警邮件提醒应用技术负责人并记录入库加标签,若无则转到下一步;
第四步:针对每条语句,调用高风险语句识别和预警模块,判断语句执行是否存在风险,若存在则发预警邮件提醒应用负责人并记录入库加标签,若无转到第一步继续分析其他版本包。
其中,数据库登记入库,是指将数据库语句记录入数据库表,即识别处理日志表distinguishlog(id,appname,editionname,insertdate,sql,result,table),表字段分别为id序号、应用简称、版本包名称、插入时间、识别语句、识别结果、表名。入库加标签是指对于识别出的错误语句和高风险语句在result字段中分别做标识便于区分,对于识别出的alter等数据库模式定义语句也可在result字段做标识,便于测试人员了解和快速查询。判断是否为版本包的方法是非文件夹,且文件名以.zip结尾,且文件名包含“.”,同时文件名包含“F-”。
请参考图3所示,在本发明一实施例中,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果包含:
S301根据预设语句规则分析所述数据库发版语句的实际执行情况与预定执行情况的一致性;
S302当所述实际执行情况与所述预定执行情况不一致时,生成提示信息输出至预定位置。
其中,根据预设语句规则分析所述数据库发版语句的实际执行情况与预定执行情况的一致性包含:实际执行情况与预定执行情况不一致的类型包含:create表已在数据库中存在、alter表增加的字段已在数据库中存在、alter表删除的字段在数据库中不存在、alter表增加的索引所在字段在数据库中不存在、alter表添加的索引已在数据库中存在、alter表删除的索引在数据库中不存在、delete表在数据库中不存在。具体的,请参考图4所示,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果还包含:
S401获取所述数据库发版语句中的全部语句信息和应用名信息,分析所述语句信息的数据库类型和格式信息;
S402当所述数据库类型和所述格式信息符合预设格式时,检测所述语句信息中的预定标识获得检测结果;
S403根据所述检测结果以分号作为分割划分所述语句信息获得实际执行语句。
S404获取实际执行语句,检测语句执行前提与当前数据库实际是否相符。
在本发明一实施例中,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果还包含:当所述数据库类型和所述格式信息符合预设格式时,且所述语句信息中不包含预定标识时,生成提示信息输出至预定位置。整体上在识别出数据库语句后,对其进行校验,判断是否有执行报错或语句无法生效的问题的详细流程可参考图5所示,具体包含:获取值为当前数据库文件里所有语句的statement变量和应用名appname变量,查询dbType(appname.type)表判断该应用数据库类型是否为oracle,对于是oracle类型的语句,且数据库本身未修改设置为自动提交,主要判断是否存在语句更新未生效的问题,判断依据为数据库语句不属于创建存储过程procedure或package语句,但包含update、insert、delete的DML语句,则判断是否包含“commit;”语句且最后一个“commit;”语句后不再有其他DML语句,若满足则说明语句无问题,若不满足则说明语句存在更新未生效问题,需将纠错语句在distinguishlog表的result字段中加标签标注,发邮件提醒应用负责人该语句存在此错误;对于非oracle类型的语句,主要判断预执行的数据库语句的执行前提与当前数据库是否相符,若不符则执行语句后会报字段不存在、表已存在等错误,判断依据是拿预执行的数据库语句和现在数据库表结构做对比,若满足则说明语句无问题,若不满足则说明语句存在执行报错问题,需将纠错语句在distinguishlog表的result字段中加标签标注,发邮件提醒应用负责人该语句存在此错误。全部语句解析和判断完毕后,调用数据库高风险语句识别和预警模块,传递参数statement和appname变量。
在上述实施例中,解析所述版本包文件获得目标应用的数据库版本文件,并将所述数据库版本文件所在的版本包文件的路径记录到数据库路径表中。具体包含如下:实际工作中,在识别数据库发版语句时,若首次解析识别某应用的版本包,则识别到数据库版本文件后将文件所在版本包的路径记录到dbpath表中;若非首次解析识别某应用的版本包,则按dbpath记录的经验直接定位到数据库发版文件,进而拆分数据库语句并记录入库,进行后续纠错,具体流程可参考图6所示,包含:获取以zip为后缀的版本包,从版本包文件名中截取应用名称F-***赋值给appname变量,查询dbpath(appname,path)表是否已有此应用数据库版本所在版本包路径的记录,若有路径记录,则按照记录直接进入到数据库文件所在路径,遍历每个数据库文件,将数据库文件中的语句赋值给statement变量,用“;”为分隔符将数据库文件分隔为若干数据库语句存入distinguishlog表中,识别出数据库语句后调用数据库语句纠错模块,传递参数statement和appname变量;若无路径记录,则说明此应用的版本包没有识别经验,需先逐层遍历版本包中的每层路径和路径下的每个文件,判断出以.sql或.txt为后缀的文件时,记录该应用数据库文件所在版本包的位置到dbpath表中,然后回到识别模块进行语句识别。
在本发明一实施例中,根据识别结果与预设对应表比较获得预警策略可包含:对于只有create创建语句但无创建索引的语句,按预设周期生成提示信息输出至预定位置;对于alter修改语句,表增加字段同时对增加字段赋default默认值且无not null非空设定时,查询修改表在生产数据库的表量级;当表量级超过预定阈值,提示语句执行耗时长,并生成修改版本实体,拆分语句执行策略;对于alter删除表字段和delete表语句,且无备份语句,提示确认执行前是否需提前备份策略。在实际工作中,其高风险语句的识别流程可参考图7所示,具体包含:获取值为当前数据库文件里所有语句的statement变量和应用名appname变量,以“;”作为分隔符划分statement变量,将分隔出的数据库语句写入列表中逐个解析,1)当判断语句以“alter”开头且包含“add”关键词时,则先进一步判断是否包含“default”关键词,若包含“default”关键词,重点检查oracle数据库类型语句,对于语句中包含“default”但未包含“not null”非空设定时,识别表名赋值table变量,在TableSize(appname,table,size)表中查询该表量级,若大于设定阈值,则说明语句执行存在超时风险,需将高风险语句在distinguishlog表的result字段中加标签,发邮件提醒应用负责人该语句存在执行风险;若不包含“default”关键词,则对于表结构调整语句,若判断无备份语句,则在distinguishlog表的result字段中加标签,发邮件提醒应用负责人是否需要增加备份操作,以备回退使用。2)当判断语句以“create”开头时,识别表名赋值给table变量,进一步判断statement变量中是否包含对该表创建索引的语句,若不包含创建索引语句,则可能存在检索时间超长的问题,进而影响系统前端功能,需在distinguishlog表的result字段中加标签,发邮件提示应用负责人该创建语句存在风险,了解表的用途和定期预估表的量级。3)当判断语句以“delete”开头时,判断statement变量中是否包含备份删除表内容的语句,若不含备份语句,则在distinguishlog表的result字段中加标签,发邮件提示应用负责人该删除语句存在风险,是否需要增加备份操作,以备回退和保留数据使用。
请参考图8所示,本发明还提供一种数据库版本包检测装置,所述装置包含数据库语句识别模块、数据库语句纠错模块、高风险语句识别和预警模块和数据库语句发版历史存档模块;所述数据库语句识别模块用于获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;以及,通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;所述数据库语句纠错模块用于根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;以及,根据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;所述高风险语句识别和预警模块用于将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至所述数据库语句发版历史存档模块。
在实际工作中,所述数据库语句识别模块是通过一定规则判断和识别版本包中的数据库版本程序。若首次解析识别某应用的版本包,则识别到数据库版本文件后将文件所在版本包的路径记录到dbpath表中;若非首次解析识别某应用的版本包,则按dbpath记录的经验直接定位到数据库发版文件,进而拆分数据库语句并记录入库,调用数据库语句纠错模块。其具体工作流程可参考前述的图6所示,在此就不再一一详述。
所述数据库语句纠错模块是在识别出数据库语句后,对其进行校验,判断是否有执行报错或语句无法生效的问题。详细运行流程可参考图5所示,其中对于识别的数据库表级操作,判断当前执行语句执行前提与预期的数据库实际不相符的错误种类包括:1)create表已在数据库中存在;2)alter表增加的字段已在数据库中存在;3)alter表删除的字段在数据库中不存在;4)alter表增加的索引所在字段在数据库中不存在;5)alter表添加的索引已在数据库中存在;6)alter表删除的索引在数据库中不存在;7)delete表在数据库中不存在。对于oracle数据库,若数据库本身未修改设置为自动提交,存在语句无法生效的问题,因此额外增加判断是否存在语句无法生效的问题,判断的方法是若存在update更新、insert插入、delete删除语句,是否存在commit;语句,并且最后一个commit语句后不再有DML语句。
所述高风险语句识别和预警模块是识别数据库语句中的数据库模式定义语句,对于只有create创建语句但无创建索引的语句,提示应用装版负责人给予定期关注;对于alter修改语句,表增加字段,同时对此字段赋default默认值且无not null非空设定时,查询修改表在生产数据库的表量级,若表量级超过阈值,提示应用装版负责人语句执行耗时长,建议修改版本实体,拆分语句执行;对于alter删除表字段和delete表语句,且无备份语句,提示应用装版负责人预知,确认执行前是否需提前备份,以备版本回退,其详细流程具体可参考前述图7所示。
所述数据库语句发版历史存档模块是将发版语句,以及装置识别出来的错误和高风险语句记录在数据库表中,一方面作为经验积累、便于后续跟踪,另一方面便于查询历史发版情况,可按应用、版本号和数据库表多个维度查询。此模块中存档的操作在数据库语句识别模块、数据库语句纠错模块和高风险语句识别和预警模块中分别实现。
本发明的有益技术效果在于:在安装版本包之前,对数据库装版语句进行自动化的静态检查,减少装版报错和在生产环境装版时效超长的问题,提高测试环境的工作效率;自动识别数据库语句,并实现纠错和预警的目标,摆脱依赖人工经验的问题;数据库语句发版历史存档入库,便于查看历史变更信息,帮助分析问题,识别的错误语句和高风险语句存档入库,可作为经验积累和便于问题跟踪。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
如图9所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图9中所示的所有部件;此外,电子设备600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据库版本包检测方法,其特征在于,所述方法包含:
获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;
通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;
根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;
根据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;
将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至预定位置。
2.根据权利要求1所述的数据库版本包检测方法,其特征在于,通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句还包含:
解析所述版本包文件获得目标应用的数据库版本文件,并将所述数据库版本文件所在的版本包文件的路径记录到数据库路径表中。
3.根据权利要求1所述的数据库版本包检测方法,其特征在于,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果包含:
根据预设语句规则分析所述数据库发版语句的实际执行情况与预定执行情况的一致性;
当所述实际执行情况与所述预定执行情况不一致时,生成提示信息输出至预定位置。
4.根据权利要求3所述的数据库版本包检测方法,其特征在于,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果还包含:
获取所述数据库发版语句中的全部语句信息和应用名信息,分析所述语句信息的数据库类型和格式信息;
当所述数据库类型和所述格式信息符合预设格式时,检测所述语句信息中的预定标识获得检测结果;
根据所述检测结果以分号作为分割划分所述语句信息获得实际执行语句。
5.根据权利要求4所述的数据库版本包检测方法,其特征在于,根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果还包含:
当所述数据库类型和所述格式信息不符合预设格式时,或所述语句信息中不包含预定标识时,生成提示信息输出至预定位置。
6.根据权利要求3所述的数据库版本包检测方法,其特征在于,根据预设语句规则分析所述数据库发版语句的实际执行情况与预定执行情况的一致性包含:
实际执行情况与预定执行情况不一致的类型包含:create表已在数据库中存在、alter表增加的字段已在数据库中存在、alter表删除的字段在数据库中不存在、alter表增加的索引所在字段在数据库中不存在、alter表添加的索引已在数据库中存在、alter表删除的索引在数据库中不存在、delete表在数据库中不存在。
7.根据权利要求1所述的数据库版本包检测方法,其特征在于,根据识别结果与预设对应表比较获得预警策略包含:
对于只有create创建语句但无创建索引的语句,按预设周期生成提示信息输出至预定位置;
对于alter修改语句,表增加字段同时对增加字段赋default默认值且无not null非空设定时,查询修改表在生产数据库的表量级;当表量级超过预定阈值,提示语句执行耗时长,并生成修改版本实体,拆分语句执行策略;
对于alter删除表字段和delete表语句,且无备份语句,提示确认执行前是否需提前备份策略。
8.一种数据库版本包检测装置,其特征在于,所述装置包含数据库语句识别模块、数据库语句纠错模块、高风险语句识别和预警模块和数据库语句发版历史存档模块;
所述数据库语句识别模块用于获取数据库目标应用的下载目录中所有下载文件数据,根据预设规则识别所述下载文件数据获得版本包文件;以及,通过预设数据库语句识别模板分析所述版本包文件识别获得数据库发版语句;
所述数据库语句纠错模块用于根据预设语句规则对所述数据库发版语句进行纠错校验获得校验结果;以及,根据所述校验结果通过预设风险语句标识对所述数据库发版语句进行风险识别,根据识别结果与预设对应表比较获得预警策略;
所述高风险语句识别和预警模块用于将所述预警策略和所述识别结果对应的数据库发版语句关联后生成预警信息,将所述预警信息提供至所述数据库语句发版历史存档模块。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有由计算机执行权利要求1至7任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767952.6A CN113448855A (zh) | 2021-07-07 | 2021-07-07 | 数据库版本包检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767952.6A CN113448855A (zh) | 2021-07-07 | 2021-07-07 | 数据库版本包检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113448855A true CN113448855A (zh) | 2021-09-28 |
Family
ID=77815374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110767952.6A Pending CN113448855A (zh) | 2021-07-07 | 2021-07-07 | 数据库版本包检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448855A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023123768A1 (zh) * | 2021-12-27 | 2023-07-06 | 中国民航信息网络股份有限公司 | 一种制品管理方法、系统、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810105A (zh) * | 2014-03-06 | 2014-05-21 | 中国工商银行股份有限公司 | 应用程序版本检测方法和装置 |
CN106325902A (zh) * | 2015-06-24 | 2017-01-11 | 中兴通讯股份有限公司 | 数据库软件升级检测方法及装置 |
CN106445485A (zh) * | 2016-03-28 | 2017-02-22 | 中国电力科学研究院 | 一种软件版本一致性检测系统及其检测方法 |
WO2017197869A1 (zh) * | 2016-05-19 | 2017-11-23 | 中兴通讯股份有限公司 | 版本文件校验方法及装置、加密方法及装置和存储介质 |
CN112395305A (zh) * | 2020-11-11 | 2021-02-23 | 中国人寿保险股份有限公司 | 一种sql语句分析方法、装置、电子设备及存储介质 |
CN112612693A (zh) * | 2020-12-11 | 2021-04-06 | 广州朗国电子科技有限公司 | 自动校验应用软件版本的方法、装置及存储介质 |
-
2021
- 2021-07-07 CN CN202110767952.6A patent/CN113448855A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810105A (zh) * | 2014-03-06 | 2014-05-21 | 中国工商银行股份有限公司 | 应用程序版本检测方法和装置 |
CN106325902A (zh) * | 2015-06-24 | 2017-01-11 | 中兴通讯股份有限公司 | 数据库软件升级检测方法及装置 |
CN106445485A (zh) * | 2016-03-28 | 2017-02-22 | 中国电力科学研究院 | 一种软件版本一致性检测系统及其检测方法 |
WO2017197869A1 (zh) * | 2016-05-19 | 2017-11-23 | 中兴通讯股份有限公司 | 版本文件校验方法及装置、加密方法及装置和存储介质 |
CN112395305A (zh) * | 2020-11-11 | 2021-02-23 | 中国人寿保险股份有限公司 | 一种sql语句分析方法、装置、电子设备及存储介质 |
CN112612693A (zh) * | 2020-12-11 | 2021-04-06 | 广州朗国电子科技有限公司 | 自动校验应用软件版本的方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023123768A1 (zh) * | 2021-12-27 | 2023-07-06 | 中国民航信息网络股份有限公司 | 一种制品管理方法、系统、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460349B (zh) | 一种基于日志的测试用例生成方法和装置 | |
US8239348B1 (en) | Method and apparatus for automatically archiving data items from backup storage | |
US20130218843A1 (en) | Intelligent data archiving | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
CN109376142B (zh) | 数据迁移方法及终端设备 | |
US20210326124A1 (en) | Download system of app, determination method of installation type and storage medium | |
WO2018202172A1 (zh) | 大批量对比测试方法及系统 | |
CN103164514A (zh) | 数据引用关系检测装置和数据引用关系检测方法 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN107273449B (zh) | 一种基于内存数据库的断点处理方法及系统 | |
WO2019148657A1 (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN113448855A (zh) | 数据库版本包检测方法及装置 | |
CN111459764A (zh) | 一种日志管理方法及终端 | |
CN106529281A (zh) | 一种可执行文件处理方法及装置 | |
CN109634845B (zh) | 一种生成上下文记录文本的方法及装置 | |
CN111581110A (zh) | 一种业务数据准确性检测方法、装置、系统及存储介质 | |
CN114896641A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN112817931B (zh) | 一种增量版本文件的生成方法及装置 | |
CN110221952B (zh) | 业务数据的处理方法及装置、业务数据处理系统 | |
CN110471623B (zh) | 硬盘文件写入方法、装置、计算机设备和存储介质 | |
CN112699129A (zh) | 一种数据处理系统、方法及装置 | |
CN112434287A (zh) | 一种检测Hook的方法、装置、设备及存储介质 | |
WO2020019418A1 (zh) | 数据库配置信息适配方法、装置、计算机设备和存储介质 | |
CN108694219B (zh) | 一种数据处理方法及装置 | |
CN106921536B (zh) | 基于客户端版本信息的数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |