掌桥专利:专业的专利平台
掌桥专利
首页

一种指令改写方法、装置、电子设备、计算机可读介质

文献发布时间:2024-04-18 20:01:23


一种指令改写方法、装置、电子设备、计算机可读介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种指令改写方法、装置、电子设备、计算机可读介质。

背景技术

对于一些数据引擎,如flink、spark等数据引擎来说,该数据引擎中的任务需要在经历开发、调试、发布、上线等步骤之后才可以用于向用户提供相应的服务。

另外,在调试阶段,相关人员需要通过多次手动改写试错的方式获取到满足调试需求的调试指令,如结构化查询语言(Structured Query Language,SQL)语句等,如此导致调试过程的耗时比较长。其中,该调试指令是指在对上文任务进行调试处理时所需使用的指令。

发明内容

为了解决上述技术问题,本申请提供了一种指令改写方法、装置、电子设备、计算机可读介质,有利于调试效率。

为了实现上述目的,本申请提供的技术方案如下:

本申请提供一种指令改写方法,所述方法包括:

在接收到调试请求之后,依据所述调试请求携带的指令描述信息,生成调试指令;

获取所述调试指令对应的调试运行日志,所述调试运行日志是通过对所述调试指令进行处理所得到的;

若所述调试运行日志表示运行异常,则依据所述异常对应的异常处理信息,对所述调试指令进行改写处理,得到改写后指令;

若所述调试运行日志表示运行正常,则依据所述调试请求携带的预期调试结果与所述调试指令对应的实际调试结果之间的差异描述信息,对所述调试指令进行改写处理,得到改写后指令;所述实际调试结果是通过对所述调试指令进行处理所得到的。

在一种可能的实施方式下,所述改写后指令是利用预先构建的指令改写模型对所述调试指令进行改写处理所得到的。

在一种可能的实施方式下,所述指令改写模型用于依据数据引擎对应的指令约束、所述数据引擎对应的数据源约束以及所述数据引擎对应的改写约束进行改写处理的;所述数据引擎用于对所述调试指令进行处理。

在一种可能的实施方式下,所述异常对应的异常处理信息的确定过程,包括:

若所述调试运行日志表示运行异常,则将所述调试运行日志进行向量化处理,得到调试日志向量;

依据所述调试日志向量,从至少一个候选异常表征向量中查找目标异常表征向量,所述目标异常表征向量与所述调试日志向量之间的相似度高于所述至少一个候选异常表征向量中除了所述目标异常表征向量以外的其他任意一个候选异常表征向量与所述调试日志向量之间的相似度;

依据所述目标异常表征向量对应的异常处理信息,确定所述异常对应的异常处理信息。

在一种可能的实施方式下,所述调试指令是利用预先构建的指令生成模型对所述指令描述信息进行指令生成处理所得到的。

在一种可能的实施方式下,所述得到改写后指令之后,所述方法还包括:

依据所述改写后指令,生成所述调试请求对应的响应信息。

在一种可能的实施方式下,所述响应信息包括指令调整提示信息,所述指令调整提示信息是依据所述改写后指令与所述调试指令之间的差异描述信息所确定的。

在一种可能的实施方式下,若所述调试运行日志表示运行正常,则所述响应信息是依据所述改写后指令和所述实际调试结果所生成的。

在一种可能的实施方式下,所述响应信息包括所述预期调试结果与所述实际调试结果之间的差异描述信息。

在一种可能的实施方式下,所述响应信息是利用预先构建的封装模型所生成的,所述封装模型用于对所述封装模型的输入数据进行可读性封装处理。

在一种可能的实施方式下,所述生成所述调试请求对应的响应信息之后,所述方法还包括:

展示所述响应信息;

若接收到指令使用请求,则将所述改写后指令确定为所述调试指令;

若接收到指令调整请求,则依据所述指令调整请求携带的指令调整描述信息,更新所述调试指令。

本申请提供了一种指令改写装置,包括:

指令生成单元,用于在接收到调试请求之后,依据所述调试请求携带的指令描述信息,生成调试指令;

日志获取单元,用于获取所述调试指令对应的调试运行日志,所述调试运行日志是通过对所述调试指令进行处理所得到的;

第一改写单元,用于若所述调试运行日志表示运行异常,则依据所述异常对应的异常处理信息,对所述调试指令进行改写处理,得到改写后指令;

第二改写单元,用于若所述调试运行日志表示运行正常,则依据所述调试请求携带的预期调试结果与所述调试指令对应的实际调试结果之间的差异描述信息,对所述调试指令进行改写处理,得到改写后指令;所述实际调试结果是通过对所述调试指令进行处理所得到的。

本申请提供了一种电子设备,所述设备包括:处理器和存储器;

所述存储器,用于存储指令或计算机程序;

所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行本申请提供的指令改写方法。

本申请提供了一种计算机可读介质,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行本申请提供的指令改写方法。

本申请提供了一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行本申请提供的指令改写方法的程序代码。

与相关技术相比,本申请至少具有以下优点:

本申请提供的技术方案中,在接收到调试请求之后,先依据该调试请求携带的指令描述信息,生成调试指令,以使该调试指令满足由该指令描述信息所描述指令需求;再获取该调试指令对应的调试运行日志,该调试运行日志是通过对该调试指令进行处理所得到的,以使该调试运行日志能够描述出在针对该调试指令进行处理时所呈现的状态;若该调试运行日志表示运行异常,则依据该异常对应的异常处理信息,对该调试指令进行改写处理,得到改写后指令,以使在针对该改写后指令进行处理时不会出现该异常;但是,若该调试运行日志表示运行正常,则依据该调试请求携带的预期调试结果与该调试指令对应的实际调试结果之间的差异描述信息,对该调试指令进行改写处理,得到改写后指令,以使针对该改写后指令进行处理所得结果尽可能地与该预期调试结果保持一致,如此能够实现自动改写指令,从而能够有效地克服因手动改写指令所导致的缺陷,如耗时长、改写次数较多等缺陷,进而有利于提高调试效率。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的一种指令改写方法的流程图;

图2为本申请实施例提供的一种调试流程的示意图;

图3为本申请实施例提供的一种指令改写装置的结构示意图;

图4为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了更好地理解本申请所提供的技术方案,下面先结合一些附图对本申请提供的指令改写方法进行说明。如图1所示,本申请实施例提供的指令改写方法,包括下文S1-S4。其中,该图1为本申请实施例提供的一种指令改写方法的流程图。

S1:在接收到调试请求之后,依据该调试请求携带的指令描述信息,生成调试指令。

其中,调试请求是指在针对数据引擎中的任务进行调试处理时所需触发的请求。例如,该调试请求可以采用图2所示的调试请求进行实施。

需要说明的是,本申请不限定数据引擎的实施方式,比如,其可以采用现有的或者未来出现的任意一种数据引擎,如类似于flink之类的流式计算引擎或者类似于spark之类的数据分析引擎等,进行实施。

另外,对于上述调试请求来说,该调试请求可以携带有指令描述信息和预期调试结果,以使该调试请求不仅能够描述出在针对数据引擎中的任务进行调试处理时所需使用的指令,还能够描述出用户希望按照该指令进行调试处理所得到的结果。

指令描述信息用于描述在针对数据引擎中的任务进行调试处理时所需使用的指令;而且本申请不限定该指令描述信息的实施方式,比如,该指令描述信息可以包括输入指令以及指令描述文本中的至少一个。该输入指令是指由用户针对数据引擎中的任务所手动编写的指令;而且本申请不限定该输入指令,比如,当该数据引擎为flink时,该输入指令可以为由用户手动输入的flinkSQL语句。该指令描述文本用于以文本形式描述出在针对数据引擎中的任务进行调试处理时所需使用的指令是什么或者具有何种特点,以使该指令描述文本能够描述出由用户所指定的指令需求;而且本申请不限定该指令描述文本的实施方式,比如,该指令描述文本可以采用用户手动编写的提示文本(prompt)进行实施。

预期调试结果用于描述在按照上文指令描述信息所描述的指令进行调试处理时预期所得的结果;而且本申请不限定该预期调试结果的实施方式。

此外,本申请不限定上文调试请求的触发方式,比如,该调试请求的触发方式可以采用现有的或者未来出现的任意一种请求触发方法进行实施。又如,在一些应用场景下,用户可以借助图2所示的交互服务模块触发该调试请求。其中,该交互服务模块用于向用户提供人机交互服务;而且本申请不限定该交互服务模块的实施方式,比如,该交互服务模块可以采用协调者(Orchestrator)进行实施。其中,该Orchestrator用于分发请求、向用户反馈响应结果。

调试指令是指基于上文调试请求携带的指令描述信息所生成的指令,如SQL语句等指令;而且本申请不限定该调试指令的生成过程,比如,在一些应用场景下,为了更好地提高指令生成效果,该调试指令可以是利用预先构建的指令生成模型对该指令描述信息进行指令生成处理所得到的。其中,该指令生成模型用于针对该指令生成模型的输入数据进行指令生成处理;而且本申请不限定该指令生成模型的实施方式,比如,该指令生成模型可以采用现有的或者未来出现的任意一种能够实现指令生成处理的模型,如大语言模型(Large Language Models,LLM)等,进行实施。又如,该指令生成模型可以采用图2所示的指令生成模型进行实施。另外,本申请也不限定该指令生成模型的构建过程。

基于上文S1的相关内容可知,在一些应用场景下,对于数据引擎中的某个需要进行调试处理的任务,如flink中的流式任务来说,在该任务的调试阶段,如果检测到由用户触发的调试请求,则可以利用预先构建的指令生成模型,对该调试请求携带的指令描述信息进行指令生成处理,得到并输出调试指令,以便后续由该数据引擎处理该调试指令,得到该调试指令的相关处理信息。

S2:获取调试指令对应的调试运行日志,该调试运行日志是通过对该调试指令进行处理所得到的。

其中,调试运行日志用于描述按照上文调试指令进行调试处理时所产生的日志,以使该调试运行日志能够描述出在针对该调试指令进行处理时所呈现的状态。可见,在一种可能的实施方式下,该调试运行日志可以是通过对该调试指令进行处理所得到的,以使该调试运行日志能够描述出在针对该调试指令进行处理时所呈现的状态。

另外,在一些应用场景下,可以利用数据引擎处理上文调试指令。基于此,本申请还提供了上文调试运行日志的一种可能的实施方式,在该实施方式下,该调试运行日志可以是由该数据引擎对该调试指令进行处理所得到的,以使该调试运行日志能够描述出当由该数据引擎按照该调试指令进行调试处理时所产生的日志,从而使得该调试运行日志能够表示出当由该数据引擎处理该调试指令时所呈现的运行状态。

基于上文S2的相关内容可知,对于一些应用场景来说,在利用上文指令生成模型生成调试指令之后,可以由该数据引擎按照该调试指令进行调试处理,得到调试运行日志,以使该调试运行日志能够表示出当由该数据引擎处理该调试指令时所呈现的运行状态。

S3:若调试运行日志表示运行异常,则依据该异常对应的异常处理信息,对调试指令进行改写处理,得到改写后指令。

其中,运行异常用于表示在上文调试指令的处理过程中出现了异常报错;而且本申请不限定该运行异常的判定过程,比如,其具体可以为:如果上文调试运行日志中存在异常报错记录,则可以确定在针对该调试指令进行处理时出现了运行异常这一问题,从而可以确定该调试指令的处理过程因异常而发生中断,进而可以确定无法获取到针对该调试指令的处理结果。

另外,上文异常对应的异常处理信息用于描述如何解决由上文调试运行日志所描述的运行异常这一问题;而且本申请不限定该异常处理信息的获取过程。

此外,为了更好地提高异常解决方案的获取效果,本申请还提供了上文异常对应的异常处理信息的确定过程的一种可能的实施方式,其具体可以包括下文步骤11-步骤13。

步骤11:若上文调试运行日志表示运行异常,则将该调试运行日志进行向量化处理,得到调试日志向量。

其中,调试日志向量是指针对上文调试运行日志进行向量化处理所得的结果,以使该调试日志向量能够表示出由该调试运行日志所描述的运行异常所具有的特点。

另外,在一些应用场景下,为了提高异常解决方案的确定效率,本申请还提供了上文步骤11的一种可能的实施方式,在该实施方式下,该步骤11具体可以为:若上文调试运行日志表示运行异常,则将该调试运行日志中的异常报错记录进行向量化处理,得到调试日志向量,以使该调试日志向量用于表征由该异常报错记录所描述的异常所具有的特点,如此有利于降低该调试日志向量所携带的信息量,进而有利于降低后续向量化搜索的耗时。其中,该异常报错记录用于描述该运行异常。

步骤12:依据上文调试日志向量,从至少一个候选异常表征向量中查找目标异常表征向量,该目标异常表征向量与该调试日志向量之间的相似度高于该至少一个候选异常表征向量中除了该目标异常表征向量以外的其他任意一个候选异常表征向量与该调试日志向量之间的相似度。

其中,第n个候选异常表征向量用于表征预先提供的第n个候选异常所具有的特点。n为正整数,n≤N,N为正整数,N表示上文至少一个候选异常表征向量中的向量个数。

另外,本申请不限定上文至少一个候选异常表征向量的获取方式,比如,其具体可以为:先从预先构建的语料库中搜索一些异常描述信息以及各个异常描述信息对应的异常处理信息;然后,对搜索到的各个异常描述信息进行向量化处理,得到该至少一个候选异常表征向量,以使该至少一个候选异常表征向量包括这些搜索到的异常描述信息的向量化处理结果;最后,从这些搜索到的异常描述信息对应的异常处理信息中确定各个候选异常表征向量对应的异常处理信息,以便后续能够基于这些候选异常表征向量及其对应的异常处理信息快速地查找到任意一种异常的解决方案。其中,语料库用于描述上文数据引擎的相关内容;而且本申请不限定该语料库,比如,该语料库可以包括多个异常提供信息库,如图2所示的信息库1至信息库4等,以使该语料库能够尽可能地覆盖各种异常相关信息。其中,对于任意一个异常提供信息库,该异常提供信息库可以用于提供至少一种异常相关信息。

需要说明的是,对于上文图2所示的信息库1至信息库4来说,本申请不限定这四个信息库的实施方式,比如,信息库1可以采用预先构建的答疑文档进行实施,而且该答疑文档可以至少用于记录一些常见的异常报错相关知识。该信息库2可以采用预先针对数据引擎所构建的开源文档进行实施。该信息库3可以采用预先针对该数据引擎所构建的代码库进行实施,而且该代码库可以至少用于记录一些源码报错信息。该信息库可以采用预先构建的与该数据引擎相关联的一些代码库,而且这些代码库可以至少用于记录一些与该数据引擎相关联的源码报错信息。

还需要说明的是,对于从预先构建的语料库中搜索到的任意一个异常描述信息来说,该异常描述信息用于描述一种异常所具有的特点;而且该异常描述信息对应的异常处理信息用于描述如何解决由该异常描述信息所描述的异常。

目标异常表征向量是指从上文至少一个候选异常表征向量中查找到的、与上文调试日志向量最相似的候选异常表征向量。可见,该目标异常表征向量与该调试日志向量之间的相似度高于该至少一个候选异常表征向量中除了该目标异常表征向量以外的其他任意一个候选异常表征向量与该调试日志向量之间的相似度。需要说明的是,本申请不限定该相似度的计算方式,比如,其可以采用现有的或者未来出现的任意一种能够计算两个向量之间的相似度的方法,如欧式距离、或者基于预先构建的具有相似度计算功能的模型等,进行实施。

步骤13:依据上文目标异常表征向量对应的异常处理信息,确定上文异常对应的异常处理信息。

需要说明的是,本申请不限定上文步骤13的实施方式,比如,其具体可以为:直接将上文目标异常表征向量对应的异常处理信息,确定为上文异常对应的异常处理信息。

基于上文步骤11至步骤13的相关内容可知,对于一些应用场景来说,若上文调试运行日志表示运行异常,则可以利用预先构建的数据库,如图2所示的数据库中,对该调试运行日志进行向量化搜索处理,得到该异常对应的异常处理信息,以便后续能够基于该异常对应的异常处理信息,对调试指令进行改写处理,得到改写后指令,以使在针对该改写后指令进行处理时不会发生这种运行异常。其中,该数据库用于记录一些候选异常表征向量以及各候选异常表征向量对应的异常处理信息,以使该数据库能够尽可能地描述出各种异常问题以及对应的解决方案。

上文改写后指令是指对上文调试指令的改写处理结果;而且本申请不限定该改写后指令的确定过程,比如,其具体可以包括:若上文调试指令对应的调试运行日志表示运行异常,则依据该异常对应的异常处理信息,对该调试指令进行改写处理,得到改写后指令,以使在按照该改写后指令进行调试处理时不会出现由该异常处理信息所克服的异常问题。

另外,在一些应用场景下,为了更好地提高指令改写效果,本申请还提供了上文S3的一种可能的实施方式,在该实施方式下,该S3具体可以为:若上文调试指令对应的调试运行日志表示运行异常,则依据上文调试请求携带的预期调试结果、以及该异常对应的异常处理信息,对该调试指令进行改写处理,得到改写后指令,以使在按照该改写后指令进行调试处理时不会出现由该异常处理信息所克服的异常问题,还使得按照该改写后指令进行调试处理所得到的结果尽可能地接近于该预期调试结果,如按照该改写后指令进行调试处理所得到的结果与该预期调试结果保持一致等。

此外,在一些应用场景下,为了更好地提高改写效果,本申请还提供了上文改写后指令的获取过程的一种可能的实施方式,在该实施方式下,该改写后指令可以是利用预先构建的指令改写模型对上文调试指令进行改写处理所得到的。可见,在一种可能的实施方式下,上文S3具体可以为:若该调试指令对应的调试运行日志表示运行异常,则将该异常对应的异常处理信息输入该指令改写模型,以使该指令改写模型能够依据该异常处理信息对该调试指令进行改写处理,得到并输出改写后指令,以使在按照该改写后指令进行调试处理时不会出现由该异常处理信息所克服的异常问题。在另一种可能的实施方式下,该S3具体可以为:若该调试指令对应的调试运行日志表示运行异常,则将上文调试请求携带的预期调试结果以及该异常对应的异常处理信息输入该指令改写模型,以使该指令改写模型能够依据该预期调试结果以及该异常处理信息,对该调试指令进行改写处理,得到并输出改写后指令,以使在按照该改写后指令进行调试处理时不会出现由该异常处理信息所克服的异常问题,还使得按照该改写后指令进行调试处理所得到的结果尽可能地接近于该预期调试结果,如按照该改写后指令进行调试处理所得到的结果与该预期调试结果保持一致等。

上文指令改写模型用于针对该指令改写模型的输入数据进行指令改写处理;而且本申请不限定该指令改写模型的实施方式,比如,其可以采用现有的或者未来出现的任意一种能够进行指令改写处理的模型,如LLM模型等,进行实施。又如,该指令改写模型可以采用图2所示的指令改写模型进行实施。

另外,为了更好地提高指令改写效果,本申请还提供了上文指令改写模型的一种可能的实施方式,在该实施方式下,当利用数据引擎对上文调试指令进行处理时,该指令改写模型可以用于依据该数据引擎对应的指令约束、该数据引擎对应的数据源约束以及该数据引擎对应的改写约束进行改写处理的,以使由该指令改写模型所输出的改写后指令能够满足该指令约束、数据源约束以及改写约束,如此有利于提高指令改写效果。其中,该指令约束用于描述由该数据引擎所处理的指令具有何种特点;而且本申请不限定该指令约束的实施方式,比如,该指令约束可以采用该数据引擎的指令解析服务,如flink SQL parser等,进行实施,以使该指令改写模型能够依据该指令约束实现指令表达等方面的修改。该数据源约束用于描述由该数据引擎所处理的指令中出现的数据描述信息具有何种特点;而且本申请不限定该数据源约束的实施方式,比如,该数据源约束可以采用元数据服务(catalog server)等,进行实施,以使该指令改写模型能够依据该数据源约束实现类似于数据源名、数据库名、表名等数据描述方面的修改。该改写约束用于描述预先针对该数据引擎所配置的一些指令改写规则;而且本申请不限定该改写约束的实施方式,比如,该改写约束可以采用预先针对该数据引擎所构建的的改写服务,如flink rewrite server等,进行实施,以使该指令改写模型能够依据该改写约束确定出在进行指令改写处理时所需注意的规则。

需要说明的是,为了更好地提高改写效果,上文指令改写模型还可以用于进行字段缺失修复和/或拼写错误修复等。

基于上文S3的相关内容可知,对于一些应用场景来说,在获取到上文调试指令对应的调试运行日志之后,若该调试运行日志表示运行异常,则依据预先构建的指令改写模型以及该异常对应的异常处理信息,对该调试指令进行改写处理,得到改写后指令,以使在按照该改写后指令进行调试处理时不会出现由该异常处理信息所克服的异常问题。

S4:若调试运行日志表示运行正常,则依据调试请求携带的预期调试结果与调试指令对应的实际调试结果之间的差异描述信息,对该调试指令进行改写处理,得到改写后指令;该实际调试结果是通过对该调试指令进行处理所得到的。

其中,运行正常用于表示在上文调试指令的处理过程中没有出现异常报错;而且本申请不限定该运行正常的判定过程,比如,其具体可以为:如果上文调试运行日志中不存在异常报错记录,则可以确定在针对该调试指令进行处理时没有发生异常,从而可以确定该调试指令的处理过程没有发生中断,进而可以确定能够获取到针对该调试指令的处理结果,也就是,该调试指令对应的实际调试结果。

对于上文调试指令对应的实际调试结果来说,该实际调试结果是指按照该调试指令进行调试处理所得到的结果,以使该实际调试结果能够表示出通过针对该调试指令进行处理所得到的处理结果。可见,在一种可能的实施方式下,该实际调试结果可以是通过对该调试指令进行处理所得到的,以使该实际调试结果能够描述出该调试指令的处理结果。

另外,在一种可能的实施方式下,上文实际调试结果可以是由数据引擎对该调试指令进行处理所得到的,以使该实际调试结果能够表示由该数据引擎按照该调试指令进行调试处理所得到的调试运行结果,从而使得该实际调试结果能够表示出由该数据引擎处理该调试指令所得的结果。

此外,对于上文调试指令对应的实际调试结果来说,上文调试请求携带的预期调试结果与该调试指令对应的实际调试结果之间的差异描述信息用于描述该预期调试结果与该实际调试结果之间的差异;而且本申请不限定该差异描述信息的实施方式。

还有,本申请不限定上段中的差异描述信息的获取方式,比如,其可以采用现有的或者未来出现的任意一种差异确定方法进行实施。又如,该差异描述信息可以借助图2所示的差异分析模块进行确定。其中,该差异分析模块用于分析两个数据之间存在的差异;而且本申请不限定该差异分析模块的实施方式,比如,该差异分析模块可以采用预先构建的差异分析模型进行实施。

再者,本申请不限定上文S4的实施方式,比如,其具体可以为:若上文调试指令对应的调试运行日志表示运行正常,则依据上文调试请求携带的预期调试结果与该调试指令对应的实际调试结果之间的差异描述信息,对该调试指令进行改写处理,得到改写后指令,以使按照该改写后指令进行调试处理所得到的结果尽可能地接近于该预期调试结果,如按照该改写后指令进行调试处理所得到的结果与该预期调试结果保持一致等。

实际上,在一些应用场景下,为了更好地提高改写效果,本申请还提供了上文S4的一种可能的实施方式,在该实施方式下,该S4具体可以为:若上文调试指令对应的调试运行日志表示运行正常,则可以先获取上文调试请求携带的预期调试结果与该调试指令对应的实际调试结果之间的差异描述信息;再将该差异描述信息输入预先构建的指令改写模型,以使该指令改写模型能够依据该差异描述信息,对该调试指令进行改写处理,得到并输出改写后指令。需要说明的是,该指令改写模型的实施方式类似于参见上文S3所涉及的指令改写模型的实施方式,如该指令改写模型可以至少用于依据该预期调试结果和该实际调试结果进行字段缺失修复等。

基于上文S1至S4的相关内容可知,对于本申请实施例提供的指令改写方法来说,在接收到调试请求之后,先依据该调试请求携带的指令描述信息,生成调试指令,以使该调试指令满足由该指令描述信息所描述指令需求;再获取该调试指令对应的调试运行日志,该调试运行日志是通过对该调试指令进行处理所得到的,以使该调试运行日志能够描述出在针对该调试指令进行处理时所呈现的状态;若该调试运行日志表示运行异常,则依据该异常对应的异常处理信息,对该调试指令进行改写处理,得到改写后指令,以使在针对该改写后指令进行处理时不会出现该异常;但是,若该调试运行日志表示运行正常,则依据该调试请求携带的预期调试结果与该调试指令对应的实际调试结果之间的差异描述信息,对该调试指令进行改写处理,得到改写后指令,以使针对该改写后指令进行处理所得结果尽可能地与该预期调试结果保持一致,如此能够实现自动改写指令,从而能够有效地克服因手动改写指令所导致的缺陷,如耗时长、改写次数较多等缺陷,进而有利于提高调试效率。

另外,本申请不限定本申请实施例提供的指令改写方法的执行主体,例如,本申请实施例提供的指令改写方法可以应用于终端设备或服务器。又如,本申请实施例提供的指令改写方法也可以借助终端设备与服务器之间的数据交互过程进行实现。其中,该终端设备可以为智能手机、计算机、个人数字助理(Personal Digital Assitant,PDA)、平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。

此外,为了更好地提高调试体验,本申请还提供了上文指令改写方法的一种可能的实施方式,在该实施方式下,该指令改写方法不仅包括上文S1-S4,可以还包括下文步骤21。其中,该步骤21的执行时间晚于上文S3的执行时间或者上文S4的执行时间。

步骤21:依据上文改写后指令,生成上文调试请求对应的响应信息。

其中,响应信息用于描述针对上文调试请求所确定的响应内容。比如,该响应信息可以采用图2所示的响应信息进行实施。

另外,本申请不限定上文响应信息的实施方式,比如,该响应信息可以至少包括上文改写后指令,以使用户能够从该响应信息中获知该改写后指令。

此外,在一些应用场景下,为了更好地提高调试体验,本申请还提供了上文响应信息的一种可能的实施方式,在该实施方式下,该响应信息可以至少包括指令调整提示信息,以使用户能够从该响应信息中获知如何优化该用户所提供的指令描述信息。其中,该指令调整提示信息用于描述针对上文调试请求携带的指令描述信息的一些优化建议;而且该指令调整提示信息可以是依据上文改写后指令与上文调试指令之间的差异描述信息所确定的,以使该指令调整提示信息能够向用户传达出这些差异描述信息以及这些差异描述信息所对应的优化建议,从而使得用户能够从该指令调整提示信息中快速地了解到一些指令优化方面的内容。

还有,在一些应用场景下,为了更好地提高调试体验,本申请还提供了上文响应信息的一种可能的实施方式,在该实施方式下,若上文调试指令对应的调试运行日志表示运行正常,则该响应信息是依据上文改写后指令和该调试指令对应的实际调试结果所生成的,以使用户能够从该响应信息中直接获知或者间接地分析出该改写后指令以及该实际调试结果。

再者,本申请不限定上段中的响应信息的实施方式,比如,在一些应用场景下,为了更好地提高调试体验,该响应信息可以至少包括上文预期调试结果与上文实际调试结果之间的差异描述信息,以使用户能够从该响应信息中获知该预期调试结果与该实际调试结果之间存在的差异,从而使得该用户能够从该响应信息中间接地分析出该实际调试结果,如此有利于提高响应信息的丰富性,从而有利于提高调试体验。

实际上,在一些应用场景下,为了更好地提高调试体验,本申请提供了上文响应信息的一种可能的实施方式,在该实施方式下,该响应信息是利用预先构建的封装模型所生成的。其中,因该封装模型用于对该封装模型的输入数据进行可读性封装处理,以使由该封装模型所输出的响应信息的可读性比较高,从而使得用户能够从该响应信息中更好地了解到当前轮调试的一些相关内容,如此能够有效地避免因调试运行日志和实际调试结果的可读性比较差而导致的缺陷,从而有利于提高用户的调试体验。

基于上文步骤21的相关内容可知,在一些应用场景下,在获取到上文改写后指令之后,可以依据该改写后指令,生成上文调试请求对应的响应信息,以使该响应信息能够更好地向用户传达出当前轮调试过程的一些相关内容,从而使得该用户能够基于该响应信息更好地进行指令调整,如此能够有效地避免由用户自己分析调试运行日志和实际调试结果等而导致的缺陷,如分析耗时长、易发生分析错误等方面的缺陷,从而有利于提高用户的调试体验。

实际上,在一些应用场景下,为了更好地提高指令调试效果,本申请还提供了上文指令改写方法的一种可能的实施方式,在该实施方式下,该指令改写方法不仅包括上文S1-S4、以及上文步骤21,可以还包括下文步骤22-步骤24。其中,该步骤22的执行时间晚于该步骤21的执行时间。

步骤22:展示上文调试请求对应的响应信息。

需要说明的是,本申请不限定上文响应信息的展示方式,比如,该响应信息可以借助信息展示界面进行展示;而且本申请不限定该信息展示界面的实施方式,比如,该信息展示界面可以包括下文①至④所示的四个模块。

①初始输入信息展示模块。其中,该初始输入信息展示模块用于描述当前轮调试的初始状态,如用户输入的指令描述信息、预期调试结果、基于该指令描述信息所生成的调试指令等。

②可操作模块。其中,该可操作模块包括自动修复控件和编辑控件。该自动修复控件用于触发指令自动修复流程,以使当该自动修复控件被触发时可以按照上文改写后指令自动执行下一轮调试过程;而且本申请不限定该自动修复控件的实施方式,比如,其可以采用按钮进行实施。该编辑控件用于在用户不接受指令自动修复结果时向用户提供文本输入服务,以使该用户能够借助该编辑控件重新输入新的指令描述信息;而且本申请不限定该编辑控件的实施方式,比如,其可以采用输入框进行实施。

③结果差异展示模块。其中,该结果差异展示模块用于展示上文预期调试结果与上文实际调试结果之间存在的差异。

④调试结束条件配置模块。其中,该调试结束条件配置模块用于向用户提供调试结束条件的配置服务,如经过多少轮调试后输出最终结果等。

步骤23:若接收到指令使用请求,则将上文改写后指令确定为调试指令,并返回继续执行上文S2及其后续步骤。

其中,指令使用请求用于请求按照上文改写后指令执行下一轮调试过程,以使该指令使用请求能够表示出用户接受上文指令自动修复结果;而且本申请不限定该指令使用请求的触发方式,比如,其可以采用针对上文自动修复控件的触发操作进行实施。

基于上文步骤23的相关内容可知,对于一些应用场景来说,在将上文调试请求对应的响应信息展示给用户之后,如果检测到用户触发的指令使用请求,则可以确定该用户接受指令自动修复结果,故可以直接将上文改写后指令确定为调试指令,并返回继续执行上文S2及其后续步骤,以实现下一轮调试过程。

步骤24:若接收到指令调整请求,则依据该指令调整请求携带的指令调整描述信息,更新调试指令,并返回继续执行上文S2及其后续步骤。

其中,指令调整请求用于请求针对上文调试指令进行指令调整处理,以使该指令调整请求能够表示出用户不接受上文指令自动修复结果。

另外,对于上文指令调整请求来说,该指令调整请求携带的指令调整描述信息是指由该指令调整请求所携带的文本信息,以使该指令调整描述信息能够描述出针对上文调试指令进行何种调整;而且本申请不限定该指令调整描述信息的实施方式,比如,该指令调整描述信息可以包括由用户通过文本框所输入的新文本内容。

此外,本申请不限定上文步骤23中“依据该指令调整请求携带的指令调整描述信息,更新调试指令”这一步骤的实施方式,比如,该步骤可以借助现有的或者未来出现的任意一种指令更新方法进行实施,如借助LLM模型进行指令更新的方法等,进行实施。又如,该步骤可以借助图2所示的指令生成模型进行实施。其中,该指令生成模型可以用于借助图2所示的指令改写模型的指令改写能力实现指令更新处理。

基于上文步骤24的相关内容可知,对于一些应用场景来说,在将上文调试请求对应的响应信息展示给用户之后,如果检测到用户触发的指令调整请求,则依据该指令调整请求携带的指令调整描述信息,更新调试指令,并返回继续执行上文S2及其后续步骤,如此能够实现下一轮调试过程,如此有利于提高调试体验。

基于上文步骤22至步骤24的相关内容可知,在一些应用场景下,在将上文调试请求对应的响应信息展示给用户之后,用户可以基于该响应信息快速地确定下一轮调试过程所需使用的指令,如此有利于提高调试效率。

基于上文指令改写方法的相关内容可知,本申请提供的技术方案能够实现自动分析调试相关信息,如调试运行日志+实际调试结果等信息,如此能够有效地克服因调试相关信息不易读而导致的缺陷,如问题分析耗时长、分析成本高等缺陷,从而有利于提高问题发现效率并降低分析成本,如调试报错分析成本、实际调试结果分析成本等。另外,本申请提供的技术方案能够实现自动改写调试指令,如此能够有效地克服因手动改写调试指令而导致的缺陷,如耗时比较长、成本比较高等缺陷,从而有利于提高调试效率并降低指令改写成本。可见,本申请提供的技术方案能够从整体上降低数据引擎中的任务的调试成本以及提高调试效率。

基于本申请实施例提供的指令改写方法,本申请实施例还提供了一种指令改写装置,下面结合图3进行解释和说明。其中,图3为本申请实施例提供的一种指令改写装置的结构示意图。需要说明的是,本申请实施例提供的指令改写装置的技术详情,请参照上文指令改写方法的相关内容。

如图3所示,本申请实施例提供的指令改写装置300,包括:

指令生成单元301,用于在接收到调试请求之后,依据所述调试请求携带的指令描述信息,生成调试指令;

日志获取单元302,用于获取所述调试指令对应的调试运行日志,所述调试运行日志是通过对所述调试指令进行处理所得到的;

第一改写单元303,用于若所述调试运行日志表示运行异常,则依据所述异常对应的异常处理信息,对所述调试指令进行改写处理,得到改写后指令;

第二改写单元304,用于若所述调试运行日志表示运行正常,则依据所述调试请求携带的预期调试结果与所述调试指令对应的实际调试结果之间的差异描述信息,对所述调试指令进行改写处理,得到改写后指令;所述实际调试结果是通过对所述调试指令进行处理所得到的。

在一种可能的实施方式下,所述改写后指令是利用预先构建的指令改写模型对所述调试指令进行改写处理所得到的。

在一种可能的实施方式下,所述指令改写模型用于依据数据引擎对应的指令约束、所述数据引擎对应的数据源约束以及所述数据引擎对应的改写约束进行改写处理的;所述数据引擎用于对所述调试指令进行处理。

在一种可能的实施方式下,所述异常对应的异常处理信息的确定过程,包括:若所述调试运行日志表示运行异常,则将所述调试运行日志进行向量化处理,得到调试日志向量;依据所述调试日志向量,从至少一个候选异常表征向量中查找目标异常表征向量,所述目标异常表征向量与所述调试日志向量之间的相似度高于所述至少一个候选异常表征向量中除了所述目标异常表征向量以外的其他任意一个候选异常表征向量与所述调试日志向量之间的相似度;依据所述目标异常表征向量对应的异常处理信息,确定所述异常对应的异常处理信息。

在一种可能的实施方式下,所述调试指令是利用预先构建的指令生成模型对所述指令描述信息进行指令生成处理所得到的。

在一种可能的实施方式下,所述指令改写装置300还包括:

信息生成单元,用于依据所述改写后指令,生成所述调试请求对应的响应信息。

在一种可能的实施方式下,所述响应信息包括指令调整提示信息,所述指令调整提示信息是依据所述改写后指令与所述调试指令之间的差异描述信息所确定的。

在一种可能的实施方式下,若所述调试运行日志表示运行正常,则所述响应信息是依据所述改写后指令和所述实际调试结果所生成的。

在一种可能的实施方式下,所述响应信息包括所述预期调试结果与所述实际调试结果之间的差异描述信息。

在一种可能的实施方式下,所述响应信息是利用预先构建的封装模型所生成的,所述封装模型用于对所述封装模型的输入数据进行可读性封装处理。

在一种可能的实施方式下,所述指令改写装置300还包括:

信息展示单元,用于展示所述响应信息;

第一个更新单元,用于若接收到指令使用请求,则将所述改写后指令确定为所述调试指令;

第二更新单元,用于若接收到指令调整请求,则依据所述指令调整请求携带的指令调整描述信息,更新所述调试指令。

基于上述指令改写装置300的相关内容可知,对于本申请实施例提供的指令改写装置300来说,在接收到调试请求之后,先依据该调试请求携带的指令描述信息,生成调试指令,以使该调试指令满足由该指令描述信息所描述指令需求;再获取该调试指令对应的调试运行日志,该调试运行日志是通过对该调试指令进行处理所得到的,以使该调试运行日志能够描述出在针对该调试指令进行处理时所呈现的状态;若该调试运行日志表示运行异常,则依据该异常对应的异常处理信息,对该调试指令进行改写处理,得到改写后指令,以使在针对该改写后指令进行处理时不会出现该异常;但是,若该调试运行日志表示运行正常,则依据该调试请求携带的预期调试结果与该调试指令对应的实际调试结果之间的差异描述信息,对该调试指令进行改写处理,得到改写后指令,以使针对该改写后指令进行处理所得结果尽可能地与该预期调试结果保持一致,如此能够实现自动改写指令,从而能够有效地克服因手动改写指令所导致的缺陷,如耗时长、改写次数较多等缺陷,进而有利于提高调试效率。

另外,本申请实施例还提供了一种电子设备,所述设备包括处理器以及存储器:所述存储器,用于存储指令或计算机程序;所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行本申请实施例提供的指令改写方法的任一实施方式。

参见图4,其示出了适于用来实现本公开实施例的电子设备400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。

本公开实施例提供的电子设备与上述实施例提供的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。

本申请实施例还提供了一种计算机可读介质,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行本申请实施例提供的指令改写方法的任一实施方式。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备可以执行上述方法。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种采用新型工艺方法的智能镜片检测分拣一体机
  • 一种AR镜片及AR镜片的点胶叠合封边方法和AR眼镜
  • 一种便于镜片翻面的AR镜片治具和AR镜片双面键合装置
技术分类

06120116551436