一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据库语句的处理方法、装置及电子设备与流程

2022-12-31 14:38:56 来源:中国专利 TAG:
1.本发明涉及金融科技领域或其他领域,具体而言,涉及一种数据库语句的处理方法、装置及电子设备。
背景技术
::2.应用的数据库程序在安装过程中,由于用于安装数据库的源代码(如:数据库语句)版本需要迭代修改,从而导致可能出现较多中断,为了保证数据库安装准确,运维需要在数据版本安装中断后,检查版本安装日志,确保报错信息无需处理后再重新启动安装流程。但由于部分的中断是可被识别并且忽略的,而相关技术中数据库语句执行时发现问题通常直接中断并需要人为确认,从而造成数据库语句执行效率低下的问题,影响版本投产自动化的效果。3.针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:4.本发明实施例提供了一种数据库语句的处理方法、装置及电子设备,以至少解决现有技术中数据库语句执行时发现问题直接中断所造成的执行效率低下的技术问题。5.根据本发明实施例的一个方面,提供了一种数据库语句的处理方法、装置及电子设备,包括:识别目标数据库语句中当前语句的语句类型,并构建第一对象,其中,语句类型至少包括第一类型和第二类型,其中,第一类型至少用于确定目标数据库语句允许忽略的异常事件,第二类型用于在目标数据库中执行;若当前语句的语句类型为第一类型,则基于当前语句确定第一对象的第一属性,并识别第一目标语句的语句类型,其中,第一目标语句为目标数据库语句中当前语句对应的下一语句,第一属性表征当前对象对应的忽略范围,忽略范围至少包括允许忽略的异常事件;若第一目标语句的语句类型为第二类型,则基于第一目标语句确定第一对象的第二属性,并依据第二属性执行第一对象,得到第一对象的执行结果,其中,第二属性表征当前对象对应的执行内容;若基于第一属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。6.进一步地,数据库语句的处理方法还包括:识别目标数据库语句中当前语句中的至少一个关键字;确定至少一个关键字的语法类型;基于至少一个关键字的语法类型,识别目标数据库语句中当前语句的语句类型。7.进一步地,数据库语句的处理方法还包括:根据预设的匹配规则,基于至少一个关键字的语法类型,识别出与当前语句匹配的语法格式;基于语法格式以及当前语句,确定当前语句所对应的忽略范围;基于忽略范围,确定第一对象的第一属性。8.进一步地,数据库语句的处理方法还包括:维持当前执行状态,识别第二目标语句的语句类型,并构建下一对象,其中,第二目标语句为第一目标语句对应的下一语句;若第二目标语句的语句类型为第一类型,则基于第二目标语句确定下一对象的第一属性,并识别第二目标语句对应的下一语句的语句类型;若第二目标语句的语句类型为第二类型,则基于第二目标语句确定第一对象的第二属性,并确定下一对象继承第一对象的第一属性;在下一对象的第二属性非空的情况下,依据下一对象的第二属性执行下一对象。9.进一步地,数据库语句的处理方法还包括:根据预设的匹配规则,基于第一目标语句中至少一个关键字的语法类型,识别出与第一目标语句匹配的语法格式;基于与第一目标语句匹配的语法格式以及第一目标语句,确定第一对象的第二属性。10.进一步地,数据库语句的处理方法还包括:若基于第一属性以及第二属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。11.进一步地,数据库语句的处理方法还包括:在依据第二属性执行第一对象,得到第一对象的执行结果之后,若基于第一属性确定禁止忽略执行结果中的异常事件,则中断当前执行状态。12.根据本发明实施例的另一方面,还提供了一种数据库语句的处理装置,包括:识别模块,用于识别目标数据库语句中当前语句的语句类型,并构建第一对象,其中,语句类型至少包括第一类型和第二类型,其中,第一类型至少用于确定目标数据库语句允许忽略的异常事件,第二类型用于在目标数据库中执行;第一确定模块,用于若当前语句的语句类型为第一类型,则基于当前语句确定第一对象的第一属性,并识别第一目标语句的语句类型,其中,第一目标语句为目标数据库语句中当前语句对应的下一语句,第一属性表征当前对象对应的忽略范围,忽略范围至少包括允许忽略的异常事件;第二确定模块,用于若第一目标语句的语句类型为第二类型,则基于第一目标语句确定第一对象的第二属性,并依据第二属性执行第一对象,得到第一对象的执行结果,其中,第二属性表征当前对象对应的执行内容;第一处理模块,用于若基于第一属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。13.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据库语句的处理方法。14.根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据库语句的处理方法。15.在本发明实施例中,采用对数据库语句执行中的错误进行部分忽略的方式,通过识别目标数据库语句中当前语句的语句类型,并构建第一对象,然后,若当前语句的语句类型为第一类型,则基于当前语句确定第一对象的第一属性,并识别第一目标语句的语句类型,接着,若第一目标语句的语句类型为第二类型,则基于第一目标语句确定第一对象的第二属性,并依据第二属性执行第一对象,得到第一对象的执行结果,从而若基于第一属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。其中,第一类型至少用于确定目标数据库语句允许忽略的异常事件,第二类型用于在目标数据库中执行,第一目标语句为目标数据库语句中当前语句对应的下一语句,第一属性表征当前对象对应的忽略范围,忽略范围至少包括允许忽略的异常事件,第二属性表征当前对象对应的执行内容。16.在上述过程中,通过在目标数据库语句中设置语句类型为第一类型的语句,实现了该目标数据库语句中可忽略的异常事件的有效确定。进一步地,通过在确定目标数据库语句对应的执行结果中出现的异常事件命中第一类型的语句所对应的忽略范围时,维持当前执行状态而不进行中断,避免了现有技术中在出现任何异常事件时,均需中断数据库语句的执行并由人工进行异常事件的判断与处理造成的人力成本高且执行效率低下的问题,提高了目标数据库语句的执行效率。此外,通过构建对象,并将不同类型的语句设置为对象的不同属性,实现了对第一类型的语句与第二类型的语句的有效匹配,从而便于更加方便、准确的确定出每个第二类型的语句对应的忽略范围。17.由此可见,本技术所提供的方案达到了对数据库语句执行中的错误进行部分忽略的目的,从而实现了提高执行效率的技术效果,进而解决了现有技术中数据库语句执行时发现问题直接中断所造成的执行效率低下的技术问题。附图说明18.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:19.图1是根据本发明实施例的一种可选的数据库语句的处理方法的示意图;20.图2是根据本发明实施例的一种可选的数据库语句的处理方法的流程图;21.图3是根据本发明实施例的一种可选的数据库语句的处理方法的时序图;22.图4是根据本发明实施例的一种可选的数据库语句的处理装置的示意图;23.图5是根据本发明实施例的一种可选的电子设备的示意图。具体实施方式24.为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。25.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。26.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。27.实施例128.根据本发明实施例,提供了一种数据库语句的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。29.图1是根据本发明实施例的一种可选的数据库语句的处理方法的示意图,如图1所示,该方法包括如下步骤:30.步骤s101,识别目标数据库语句中当前语句的语句类型,并构建第一对象,其中,语句类型至少包括第一类型和第二类型,其中,第一类型至少用于确定目标数据库语句允许忽略的异常事件,第二类型用于在目标数据库中执行。31.在步骤s101中,可以通过电子设备、应用系统、服务器等装置识别目标数据库语句中当前语句的语句类型,并构建第一对象,在本实施例中,通过目标处理系统识别目标数据库语句中当前语句的语句类型,并构建第一对象。32.可选的,如图2所示,在识别目标数据库语句中当前语句的语句类型之前,目标处理系统可以先识别相关参数,以便与目标数据库构建连接并执行后续步骤。其中,前述的相关参数可以是文本读取编码、数据库连接、特定控制符(如:全部忽略报错、跳过等),前述的目标数据库为待安装某一新功能或待更新某一功能的数据库,目标数据库语句用于在目标数据库中执行以实现对目标数据库的安装或更新。33.之后,如图2所示,目标处理系统可以基于所识别的参数构建数据库连接。之后,目标处理系统可以初始化目标处理系统中相关的状态机,然后进入语句识别阶段。其中,在语句识别过程中,目标处理系统可以先获取所需要执行的脚本(即前述的目标数据库语句),然后按句读取目标数据库语句中的语句,并对当前所正在读取的语句进行语义识别,以识别出当前语句的语句类型,同时构建第一对象。其中,目标数据库语句由多条语句组成,目标处理系统可以通过java程序实现对目标数据库语句的分段分句功能,例如,当目标处理系统在读取语句的过程中,识别到预设的断句符(如:“;”)时,则确认当前语句结束。34.可选的,首先对本技术中所处理的目标数据库语句的语句内容进行说明。在本实施例中,目标数据库语句至少包括忽略语句和执行语句。执行语句也即语句类型为第二类型的语句,执行语句为相关技术中在安装或更新数据库时所使用的语句,其为目标数据库语句在目标数据库内的执行过程中对目标数据库产生实际效果的语句。其中,执行语句可以以外部sql脚本文件功能(如:“《路径/文件”和“《《路径/文件”命令等)写入目标数据库语句内,且可以写有块注释“/**/”和行注释“#”、“‑‑”、“rem”等标识。35.忽略语句也即语句类型为第一类型的语句,忽略语句为相关工作人员预先在仅由执行语句所组成的目标数据库语句中所插入的,其为目标数据库语句在目标数据库内的执行过程中对目标数据库不产生实际效果的语句,执行语句至少用于确定目标数据库语句允许忽略的异常事件,例如,当基于某一忽略语句确定允许目标数据库语句内的所有语句在执行过程中均忽略904报错时,若目标处理系统在执行目标数据库语句中的某一语句时发现了904报错,则目标处理系统可以不进行中断,而是继续执行该语句的下一语句。其中,忽略语句可以通过“select‘xx’”语法进行语义植入。36.进一步地,目标处理系统可以基于语句中的关键字的含义、格式等信息,识别识别出当前语句的语句类型,并同时构建第一对象。其中,前述的第一对象至少包括第一属性、第二属性和第三属性,当第一对象的第二属性为非空时,确定第一对象构建完成。37.其中,需要说明的是,通过在目标数据库语句中设置语句类型为第一类型的语句,实现了该目标数据库语句中可忽略的异常事件的有效确定。38.步骤s102,若当前语句的语句类型为第一类型,则基于当前语句确定第一对象的第一属性,并识别第一目标语句的语句类型,其中,第一目标语句为目标数据库语句中当前语句对应的下一语句,第一属性表征当前对象对应的忽略范围,忽略范围至少包括允许忽略的异常事件。39.在步骤s102中,目标处理系统可以在确定当前语句为忽略语句时,确定当前语句所对应的忽略范围,从而将所确定的忽略范围作为第一对象的忽略属性,其中,忽略属性也即前述的第一属性。可选的,忽略范围至少包括允许忽略的异常事件,还可以包括允许忽略前述的异常事件的语句范围,例如,前述的语句范围可以是全局语句、局部语句、局部特定部分语句或特定语法的语句等。40.进一步地,由于此时第一对象的第二属性为空,因此,目标处理系统可以继续识别目标数据库语句中当前语句对应的下一语句。41.步骤s103,若第一目标语句的语句类型为第二类型,则基于第一目标语句确定第一对象的第二属性,并依据第二属性执行第一对象,得到第一对象的执行结果,其中,第二属性表征当前对象对应的执行内容。42.在步骤s103中,目标处理系统可以在确定第一目标语句为执行语句时,将第一目标语句直接作为第一对象的执行属性,其中,执行属性也即前述的第二属性。从而使得目标处理系统可以执行第一对象的执行属性中所记载的内容,进而实现对第一对象的执行。之后,目标处理系统可以获取第一对象执行结束后的执行结果,该执行结果可以是第一对象完成执行,第一对象出现了xxx报错等,且目标处理系统可以基于执行结果确定第一对象的第三属性。其中,在前述执行第一对象的过程中,目标处理系统可以基于jdbc构建数据库连接,从而将第一对象的执行属性中所记载的内容导入到目标数据库内进行执行,也即将第一目标语句导入到目标数据库内进行执行。43.可选的,若目标处理系统确定第一目标语句为非执行语句时,如,第一目标语句的语句类型为第三类语句,第三类语句可以是注释语句的语句类型,则目标处理系统可以继续识别第一目标语句对应的下一语句,直至识别到语句类型为第二类型的语句,也即直至使得第一对象的第二属性非空时,确定第一对象构建完成,此时可以执行第一对象。44.需要说明的是,通过构建对象,并将不同类型的语句设置为对象的不同属性,实现了对第一类型的语句与第二类型的语句的有效匹配,从而便于更加准确的确定出每个第二类型的语句对应的忽略范围,此外,通过在当前语句的语句类型为第一类型时,基于该语句确定第一对象的第一属性,而并不执行,避免了在目标数据库语句中增加额外的输入逻辑,降低了对目标数据库语句的侵入性,通过在第一目标语句语句类型为第二类型时,基于该语句确定第一对象的第二属性,并进行执行,实现了目标数据库语句的有效执行,从而实现了对目标数据库的有效安装或更新。45.步骤s104,若基于第一属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。46.在步骤s104中,如图2所示,目标处理系统可以将执行结果的信息内容与第一属性的信息内容进行比对,以确定执行结果中的异常事件是否命中的第一属性所对应的忽略范围,若命中,则目标处理系统可以维持当前执行状态,继续构建下一对象,并在确定下一对象构建完成时,执行下一对象。47.需要说明的是,通过在确定执行结果中出现的异常事件命中第一属性所对应的忽略范围时,维持当前执行状态而不进行中断,避免了现有技术中在出现任何异常事件时均需中断数据库语句的执行并由人工进行异常事件的判断与处理造成的人力成本高且执行效率低下的问题。48.基于上述步骤s101至步骤s104所限定的方案,可以获知,在本发明实施例中,采用对数据库语句执行中的错误进行部分忽略的方式,通过识别目标数据库语句中当前语句的语句类型,并构建第一对象,然后,若当前语句的语句类型为第一类型,则基于当前语句确定第一对象的第一属性,并识别第一目标语句的语句类型,接着,若第一目标语句的语句类型为第二类型,则基于第一目标语句确定第一对象的第二属性,并依据第二属性执行第一对象,得到第一对象的执行结果,从而若基于第一属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。其中,第一类型至少用于确定目标数据库语句允许忽略的异常事件,第二类型用于在目标数据库中执行,第一目标语句为目标数据库语句中当前语句对应的下一语句,第一属性表征当前对象对应的忽略范围,忽略范围至少包括允许忽略的异常事件,第二属性表征当前对象对应的执行内容。49.容易注意到的是,在上述过程中,通过在目标数据库语句中设置语句类型为第一类型的语句,实现了该目标数据库语句中可忽略的异常事件的有效确定。进一步地,通过在确定目标数据库语句对应的执行结果中出现的异常事件命中第一类型的语句所对应的忽略范围时,维持当前执行状态而不进行中断,避免了现有技术中在出现任何异常事件时,均需中断数据库语句的执行并由人工进行异常事件的判断与处理造成的人力成本高且执行效率低下的问题,提高了目标数据库语句的执行效率。此外,通过构建对象,并将不同类型的语句设置为对象的不同属性,实现了对第一类型的语句与第二类型的语句的有效匹配,从而便于更加方便、准确的确定出每个第二类型的语句对应的忽略范围。50.由此可见,本技术所提供的方案达到了对数据库语句执行中的错误进行部分忽略的目的,从而实现了提高执行效率的技术效果,进而解决了现有技术中数据库语句执行时发现问题直接中断所造成的执行效率低下的技术问题。51.在一种可选的实施例中,在识别目标数据库语句中当前语句的语句类型的过程中,如图2所示,目标处理系统可以识别目标数据库语句中当前语句中的至少一个关键字,然后确定至少一个关键字的语法类型,从而基于至少一个关键字的语法类型,识别目标数据库语句中当前语句的语句类型。52.可选的,以如下代码为例,对目标处理系统识别目标数据库语句中当前语句的语句类型的过程进行具体说明:53.promptvaimwarnora-01430ora-0095754.@ddl55.@data56.@program57.@compile.sql58.如上所示,若将第一行代码确定为当前语句,则目标处理系统可以从“prompt”开始读取,当读取到“prompt”之后的空格分隔符时,目标处理系统可以确定该空格分隔符前的“prompt”为一个关键字。由此,实现对目标数据库语句中当前语句中的至少一个关键字的识别。59.之后,目标处理系统可以确定前述所确定的关键字的语法类型,语法类型包括但不限于语句、分隔符、换行符、多语句结束符(\),指令关键字(如:prompt、set等)、忽略策略、注释等。例如,对于前述的关键字,目标处理系统可以确定“prompt”的语法类型为指令关键字。若目标处理系统确认基于该语法类型无法识别当前语句的语句类型时,目标处理系统可以继续向后读取,从而基于前述方法确定“vaimwarn”同样为一个关键字,并可以确定“vaimwarn”为忽略策略,由此,目标处理系统可以识别前述语句的语句类型为第一类型。60.可选的,如上所示,若将第二行代码确定为当前语句,则目标处理系统可以从“@”开始读取,并在读取到“@ddl”之后的换行符时,目标处理系统可以确定该换行符前的“@ddl”为一个关键字,并可以确定该关键字的语法类型为语句,由此,目标处理系统可以识别前述语句的语句类型为第二类型。61.需要说明的是,通过识别目标数据库语句中当前语句中的至少一个关键字,并基于语句中的关键字确定语句的语句类型,实现了对语句的语句类型的准确确定。62.在一种可选的实施例中,在基于当前语句确定第一对象的第一属性的过程中,目标处理系统可以根据预设的匹配规则,基于至少一个关键字的语法类型,识别出与当前语句匹配的语法格式,然后基于语法格式以及当前语句,确定当前语句所对应的忽略范围,从而基于忽略范围,确定第一对象的第一属性。63.可选的,在前述确定了当前语句的语句类型后,如图2所示,若当前语句的语句类型为第一类型,则目标处理系统可以通过状态机,结合预设的匹配规则对当前语句所匹配的语法格式进行识别,例如,基于前述读取到的“promptvaimwarn”,目标处理系统可以通过状态机,基于匹配规则以及“promptvaimwarn”中各关键字的语法类型,确定“promptvaimwarn”对应的语法格式为“指令关键字 忽略策略 忽略码”,从而可以确定在当前语句中,“promptvaimwarn”后的内容为忽略码。64.进一步地,如图2所示,目标处理系统可以基于语法格式以及当前语句,确定当前语句所对应的忽略范围,即先确定当前语句中与语法格式中的忽略策略对应的字段内容,以及确定当前语句中与语法格式中的忽略码对应的字段内容,从而基于对应的字段内容确定忽略范围,完成对语句的语句识别。其中,忽略码用于确定允许忽略的异常事件,如,前述的“ora-01430”表征可以忽略1430错误,“ora-00957”表征可以忽略“ora-00957”错误。忽略策略用于确定允许忽略忽略码中所指出的异常事件的语句范围。例如,当忽略语句为“select'vaimwarnxxxxxxxx'”时,可以确定忽略策略为“vaimwarn”,确定其对应的语句范围为全局忽略,全局忽略是指在该忽略语句之后,所有的语句执行都会忽略忽略码中指定的错误代码;当忽略语句为“select'vaimwarnlocal《局部忽略名称》xxxxxxxx'”时,可以确定忽略策略为“vaimwarnlocal”,确定其对应的语句范围为局部忽略,且该语句为局部忽略开始语句,并具有对应的局部忽略结束语句“select'vaimwarnlocal《局部忽略名称》end”,局部忽略是指在局部忽略开始语句和局部忽略结束语句之间的语句执行都会忽略局部忽略中的忽略码所指定的错误代码。当忽略语句为“select'vaimwarnfilexxxxxxxx'”时,可以确定忽略策略为“vaimwarnfile”,确定其对应的语句范围为文件忽略,文件忽略是指当前文件和当前文件执行的子文件的语句执行都会该忽略语句的忽略码中所指定的错误代码,其它文件的语句则不会忽略。其中,前述示例的忽略语句中忽略策略之后的内容均表示忽略码。65.更进一步地,当确定了忽略范围之后,目标处理系统可以基于忽略范围确定第一对象的第一属性。例如,将忽略范围以语句原型的方式将语句中的重要信息或全部信息直接填充至第一对象的第一属性,目标处理系统也可以将语句转换为文字描述的方式填充至第一对象的第一属性。66.需要说明的是,通过根据预设的匹配规则,确定当前语句所对应的忽略范围,实现了对当前语句的忽略范围的准确确定,进而便于在后续的忽略工作时,实现有效忽略。67.在一种可选的实施例中,在维持当前执行状态并执行下一对象的过程中,目标处理系统可以维持当前执行状态,识别第二目标语句的语句类型,并构建下一对象,若第二目标语句的语句类型为第一类型,则基于第二目标语句确定下一对象的第一属性,并识别第二目标语句对应的下一语句的语句类型,若第二目标语句的语句类型为第二类型,则基于第二目标语句确定第一对象的第二属性,并确定下一对象继承第一对象的第一属性,在下一对象的第二属性非空的情况下,依据下一对象的第二属性执行下一对象。其中,第二目标语句为第一目标语句对应的下一语句。68.可选的,当目标处理系统基于第一属性确定第一对象的执行结果中出现的异常事件允许被忽略后,目标处理系统可以开始识别第一目标语句对应的下一语句(也即第二目标语句),并构建下一对象。具体地,若第二目标语句为忽略语句,则可以基于第二目标语句确定下一对象的忽略属性,且由于此时下一对象的执行属性为空,因此,在确定了忽略属性后,目标处理系统应当继续识别第二目标语句的下一语句的语句类型。其中,当前述的忽略语句为局部忽略开始语句时,可以确定忽略属性对应的忽略范围至少为局部忽略开始语句中忽略码所指定的错误代码,当前述的忽略语句为局部忽略结束语句时,可以确定忽略属性对应的忽略范围为无可忽略内容。69.进一步地,在前述的基于第二目标语句确定下一对象的忽略属性的过程中,还可以结合第一对象的忽略属性与第二目标语句一起确定下一对象的忽略属性。具体地,目标处理系统可以根据第二目标语句对应的忽略范围确定其是否能结合第一对象的忽略属性。例如,当第二目标语句为“select'vaimwarnlocal《局部忽略名称》xxxxxxxx'”时,目标处理系统可以基于语法格式确定这一语句可以结合第一对象的忽略属性一起确定下一对象的忽略属性,又例如,当第二目标语句为局部忽略结束语句“select'vaimwarnlocal《局部忽略名称》end'”时,目标处理系统可以确定在该语句之前一定有局部忽略开始语句,从而可以确定这一语句可以结合第一对象的忽略属性一起确定下一对象的忽略属性。其实现的效果可以如下所示:70.select'vaimwarn10011002';71.《具体的语句》这些语句会忽略10011002错误72.select'vaimwarnlocaltest110031004';73.《具体的语句》这些语句会忽略1001100210031004错误74.select'vaimwarnlocaltest210051006';75.《具体的语句》这些语句会忽略100110021003100410051006错误76.select'vaimwarnlocaltest2end';77.select'vaimwarnlocaltest1end';78.进一步地,若第二目标语句为执行语句,则可以基于第二目标语句确定第一对象的执行属性,且由于此时,下一对象的忽略属性为空,因此,可以确定下一对象继承第一对象的忽略属性。79.更进一步地,当确定下一对象的第二属性非空时,目标处理系统可以依据下一对象的第二属性执行下一对象。80.需要说明的是,通过在对象的第二属性非空的情况下,再执行第二对象,实现了对目标数据库语句中每个执行语句的有效执行,同时避免了对目标数据库语句中忽略语句的无效执行,从而可以进一步地提高对目标数据库语句的执行效率。81.在一种可选的实施例中,在基于第一目标语句确定第一对象的第二属性的过程中,目标处理系统可以根据预设的匹配规则,基于第一目标语句中至少一个关键字的语法类型,识别出与第一目标语句匹配的语法格式,从而基于与第一目标语句匹配的语法格式以及第一目标语句,确定第一对象的第二属性。82.可选的,若第一目标语句为执行语句,目标处理系统也可以根据预设的匹配规则,以及第一目标语句中至少一个关键字的语法类型,识别出与当前语句匹配的语法格式,例如,确定第一目标语句匹配的语法格式为第一语法格式,则可以将第一目标语句以及第一语法格式一并作为第一对象的执行属性,并在执行时仅执行执行属性中的第一目标语句。83.需要说明的是,通过在语句为执行语句时,同样基于预设的匹配规则进行匹配,并将所确定的语法格式一并作为第一对象的第二属性,便于后续实现更加具有针对性的忽略效果,从而提高本技术的适用性。84.在一种可选的实施例中,若基于第一属性以及第二属性确定允许忽略执行结果中的异常事件,则目标处理系统维持当前执行状态并执行下一对象。85.可选的,当第一对象的第二属性包括语法格式,且第一对象的第一属性对应的忽略语句为针对于特定语法时,则目标处理系统可以结合第一属性以及第二属性确定是否允许忽略执行结果中的异常事件。也即如果当前报错的语句的语法能匹配上忽略语句中限定的语法,则可以忽略忽略语句指定的错误,反之,中断执行并报错。一种可选的限定了特定语法的忽略语句可以为“select'vaimwarn1146{droptable*|deletefrom*whereaa=?}'”,其中,“*”代表0个或多个单词;“?”代表一个单词;“|”表示分隔符;所限定的特定语法在“{}”内编写。如果忽略语句没有针对于特定语法,则所有语句都会忽略忽略语句指定的错误。且在基于第一属性与第二属性确定是否允许忽略执行结果中的异常事件的过程中,执行语句中的注释和换行不会影响判断结果。86.需要说明的是,通过结合第二属性一起确定执行结果中的异常事件是否可以被忽略,更进一步地提高了忽略准确性以及本技术的适用性。87.在一种可选的实施例中,如图2所示,在依据第二属性执行第一对象,得到第一对象的执行结果之后,若基于第一属性确定禁止忽略执行结果中的异常事件,或者,基于第一属性以及第二属性确定禁止忽略执行结果中的异常事件,则中断当前执行状态,并可以执行报错,以供相关工作人员查验。88.需要说明的是,通过在基于第一属性确定禁止忽略执行结果中的异常事件时及时中断,避免了数据库安装出现问题,从而提高了目标数据库语句执行的稳定性。89.在一种可选的实施例中,针对目标数据库语句中在运行过程中所发生的不能修改单个语句文件的,可以通过修改目标处理系统所在的运行环境的运行变量实现对其整个文件的跳过。90.可选的,如图3所示,对本技术中目标处理系统另一种可选的工作流程进行说明。具体地,如图3所示,目标处理系统包括第一模块、第二模块、第三模块以及第四模块,第一模块可以执行前述的识别参数,并在识别成功后,向第二模块发送指令,以使得第二模块初始化相关的状态机,接着,第二模块可以通过第三模块获取目标数据库语句,并对目标数据库语句中的语句进行划分。之后,通过第四模块构建第一对象,并对目标数据库语句中的当前语句进行关键字进行识别,接着确定关键字的语法类型,进而确定对应的忽略范围,并确定第一对象是否构建完成。接着,当第四模块确定第一对象构建完成后,第二模块可以获取第三模块及第四模块的处理结果,并执行第一对象,也即执行对应的语句,从而根据执行结果确定是否需要中断当前执行状态,并将确定的结果返回给第一模块,由第一模块进行最终决策。91.需要说明的是,本发明涉及制品管理技术在开源软件漏洞信息管理方面的应用,特别金融与通讯领域。涉及海量开源软件制品在大型互联网金融行业及通讯领域使用时如何漏洞的识别、自隔离与自动升级及回退的使用。92.本发明克服了数据库脚本更新出错中断影响持续交付效率的问题,通过将特定语法无损植入语句、全局、局部最近生效范围、语义模式匹配等方式灵活标志忽略语句以及语句的作用范围,达到语句更新过程识别风险低的中断,提高版本部署的自动化效果。本发明可以实现全流程自动化操作,无需人工介入,使用人员可以直接针对应用、团队成熟度进行中断忽略,同时,相比人力处理中断问题的过程中,避免了安装运维人员需要了解开发脚本语义以及影响范围,运维需要和开发反复沟通确认信息的问题,此外,本发明不仅可以最小以某个语句为维度来定义执行结果中断,也可以全局针对一次性定义,即根据影响范围进行定制,从而具有操作简单、效率高、忽略中断灵活性高等优点。93.实施例294.根据本发明实施例,提供了一种数据库语句的处理装置的实施例,其中,图4是根据本发明实施例的一种可选的数据库语句的处理装置的示意图,如图4所示,该装置包括:95.识别模块401,用于识别目标数据库语句中当前语句的语句类型,并构建第一对象,其中,语句类型至少包括第一类型和第二类型,其中,第一类型至少用于确定目标数据库语句允许忽略的异常事件,第二类型用于在目标数据库中执行;96.第一确定模块402,用于若当前语句的语句类型为第一类型,则基于当前语句确定第一对象的第一属性,并识别第一目标语句的语句类型,其中,第一目标语句为目标数据库语句中当前语句对应的下一语句,第一属性表征当前对象对应的忽略范围,忽略范围至少包括允许忽略的异常事件;97.第二确定模块403,用于若第一目标语句的语句类型为第二类型,则基于第一目标语句确定第一对象的第二属性,并依据第二属性执行第一对象,得到第一对象的执行结果,其中,第二属性表征当前对象对应的执行内容;98.第一处理模块404,用于若基于第一属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。99.需要说明的是,上述识别模块、第一确定模块、第二确定模块以及第一处理模块对应于上述实施例中的步骤s101至步骤s104,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。100.可选的,识别模块还包括:第一识别子模块,由于识别目标数据库语句中当前语句中的至少一个关键字;第一确定子模块,用于确定至少一个关键字的语法类型;第二识别子模块,用于基于至少一个关键字的语法类型,识别目标数据库语句中当前语句的语句类型。101.可选的,第一确定模块还包括:第三识别子模块,用于根据预设的匹配规则,基于至少一个关键字的语法类型,识别出与当前语句匹配的语法格式;第二确定子模块,用于基于语法格式以及当前语句,确定当前语句所对应的忽略范围;第三确定子模块,用于基于忽略范围,确定第一对象的第一属性。102.可选的,处理模块还包括:第四识别子模块,用于维持当前执行状态,识别第二目标语句的语句类型,并构建下一对象,其中,第二目标语句为第一目标语句对应的下一语句;第四确定子模块,用于若第二目标语句的语句类型为第一类型,则基于第二目标语句确定下一对象的第一属性,并识别第二目标语句对应的下一语句的语句类型;第五确定子模块,用于若第二目标语句的语句类型为第二类型,则基于第二目标语句确定第一对象的第二属性,并确定下一对象继承第一对象的第一属性;第一处理子模块,用于在下一对象的第二属性非空的情况下,依据下一对象的第二属性执行下一对象。103.可选的,第二确定模块还包括:第五识别子模块,用于根据预设的匹配规则,基于第一目标语句中至少一个关键字的语法类型,识别出与第一目标语句匹配的语法格式;第六确定子模块,用于基于与第一目标语句匹配的语法格式以及第一目标语句,确定第一对象的第二属性。104.可选的,处理模块还包括:第二处理子模块,用于若基于第一属性以及第二属性确定允许忽略执行结果中的异常事件,则维持当前执行状态并执行下一对象。105.可选的,数据库语句的处理装置还包括:第二处理模块,用于若基于第一属性确定禁止忽略执行结果中的异常事件,则中断当前执行状态。106.实施例3107.根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据库语句的处理方法。108.实施例4109.根据本发明实施例的另一方面,还提供了一种电子设备,其中,图5是根据本发明实施例的一种可选的电子设备的示意图,如图5所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据库语句的处理方法。110.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。111.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。112.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。113.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。114.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。115.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。116.以上仅是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献