CN115292194B - 流程调试的方法、电子设备及计算机可读存储介质 - Google Patents
流程调试的方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115292194B CN115292194B CN202211032139.5A CN202211032139A CN115292194B CN 115292194 B CN115292194 B CN 115292194B CN 202211032139 A CN202211032139 A CN 202211032139A CN 115292194 B CN115292194 B CN 115292194B
- Authority
- CN
- China
- Prior art keywords
- node
- debugged
- variable
- flow
- nodes
- 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.)
- Active
Links
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/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请属于计算机技术领域,公开了流程调试的方法、电子设备及计算机可读存储介质,该方法包括,基于待调试的RPA流程,生成包含多个流程节点的语法树;基于语法树,获取各流程节点中待调试节点的输入变量;基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点;基于待调试节点和关联节点,生成可执行代码;基于可执行代码进行调试,获得调试结果。这样,可以在不需要人工修改RPA流程的情况下针对待调试节点进行局部流程调试,提高了调试效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及流程调试的方法、电子设备及计算机可读存储介质。
背景技术
在设计机器人流程自动化(Robotics Process Automation,RPA)流程的过程中,通常需要对RPA流程进行反复修改以及调试,从而保证RPA流程的正常运行以及不断优化。
现有技术下,对RPA流程进行更新后(如,新增加一个流程节点),通常需要对整个RPA流程进行调试,这会耗费大量的时间成本。
发明内容
本申请实施例的目的在于提供流程调试的方法、电子设备及计算机可读存储介质,用以在对待调试的RPA流程进行调试时,提高调试效率。
一方面,提供一种流程调试的方法,包括:基于待调试的RPA流程,生成包含多个流程节点的语法树;基于语法树,获取各流程节点中待调试节点的输入变量;基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点;基于待调试节点和关联节点,生成可执行代码;基于可执行代码进行调试,获得调试结果。
在上述实现过程中,可以在不需要人工修改RPA流程的情况下调试RPA流程中的一个或多个流程节点,不需要用户人工分析关联节点,简化了用户的繁琐操作,提高了调试效率。
一种实施方式中,基于用户指令,获取用户在RPA流程中划分出的待调试的子流程;将待调试的子流程中的流程节点,确定为待调试节点。
在上述实现过程中,可以根据实际的调试需求,选取需要调试的子流程,进而确定待调试节点。
一种实施方式中,基于语法树,获取各流程节点中待调试节点的输入变量,包括:基于语法树,获取待调试节点中的所有变量;基于语法规则,确定各变量的操作类型;从各变量中筛选出操作类型为读操作的输入变量。
在上述实现过程中,可以按照操作类型,将变量进行分类,从而获取输入变量。
一种实施方式中,基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点,包括:
针对语法树中的目标流程节点,若确定目标流程节点中存在待调试节点的输入变量的关联变量,则将目标流程节点确定为关联节点;其中,目标流程节点为待调试节点前的任一流程节点,关联变量为用于确定待调试节点的输入变量的变量值的变量。
在上述实现过程中,可以根据不同流程节点中各变量之间的关联关系,自动分析出待调试节点的关联节点。
一种实施方式中,若确定目标流程节点中存在待调试节点的输入变量的关联变量,则将目标流程节点确定为关联节点,包括:获取目标流程节点中的输入变量和输出变量,输入变量为操作类型为读操作的变量,输出变量为操作类型为写操作的变量;若确定目标流程节点中的输出变量与待调试节点中的输入变量或关联变量匹配,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量;将目标流程节点,确定为关联节点。
在上述实现过程中,根据不同变量之间的匹配度,可以确定关联变量以及关联节点。
一种实施方式中,若确定目标流程节点中的输出变量为用于调整待调试节点中的输入变量或关联变量的变量,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量。
在上述实现过程中,将影响输入变量或关联变量的变量,确定为其匹配的变量,以准确筛选出关联节点以及关联变量。
一种实施方式中,基于待调试节点和关联节点,生成可执行代码,包括:从语法树中,去除待调试节点和关联节点之外的流程节点,获得更新后的语法树;对更新后的语法树进行编译,获得可执行代码。
在上述实现过程中,由于更新后的语法树中已经裁剪了与待调试节点不相关的流程节点,因此,基于更新后的语法树生成的可执行代码中没有不相关的流程节点(即非关联节点)对应的代码,在调试运行时,只会运行待调试节点以及关联节点。在整个过程中,用户只需设定调试范围即可进行调试,简化了用户的繁琐操作,极大地提高了调试的效率。
一种实施方式中,在基于待调试节点和关联节点,生成可执行代码之前,方法还包括:显示待调试节点以及关联节点中的输入变量的初始值;根据用户的修改指令,对初始值进行调整;根据更新后的初始值,对语法树进行更新。
在上述实现过程中,用户可以设置变量的初始值,从而可以通过不同的初始值进行调试,降低了调试难度。
一方面,提供一种流程调试的装置,包括:
第一生成单元,用于基于待调试的RPA流程,生成包含多个流程节点的语法树;获取单元,用于基于语法树,获取各流程节点中待调试节点的输入变量;筛选单元,用于基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点;第二生成单元,用于基于待调试节点和关联节点,生成可执行代码;调试单元,用于基于可执行代码进行调试,获得调试结果。
一种实施方式中,获取单元还用于:基于用户指令,获取用户在RPA流程中划分出的待调试的子流程;将待调试的子流程中的流程节点,确定为待调试节点。
一种实施方式中,获取单元用于:基于语法树,获取待调试节点中的所有变量;基于语法规则,确定各变量的操作类型;从各变量中筛选出操作类型为读操作的输入变量。
一种实施方式中,筛选单元用于:针对语法树中的目标流程节点,若确定目标流程节点中存在待调试节点的输入变量的关联变量,则将目标流程节点确定为关联节点;其中,目标流程节点为待调试节点前的任一流程节点,关联变量为用于确定待调试节点的输入变量的变量值的变量。
一种实施方式中,筛选单元用于:获取目标流程节点中的输入变量和输出变量,输入变量为操作类型为读操作的变量,输出变量为操作类型为写操作的变量;若确定目标流程节点中的输出变量与待调试节点中的输入变量或关联变量匹配,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量;将目标流程节点,确定为关联节点。
一种实施方式中,筛选单元用于:若确定目标流程节点中的输出变量为用于调整待调试节点中的输入变量或关联变量的变量,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量。
一种实施方式中,第二生成单元用于:从语法树中,去除待调试节点和关联节点之外的流程节点,获得更新后的语法树;对更新后的语法树进行编译,获得可执行代码。
一种实施方式中,第二生成单元还用于:显示待调试节点以及关联节点中的输入变量的初始值;根据用户的修改指令,对初始值进行调整;根据更新后的初始值,对语法树进行更新。
一方面,提供了一种电子设备,包括处理器以及存储器,存储器存储有计算机可读取指令,当计算机可读取指令由处理器执行时,运行如上述任一种流程调试的各种可选实现方式中提供的方法的步骤。
一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时运行如上述任一种流程调试的各种可选实现方式中提供的方法的步骤。
一方面,提供了一种计算机程序产品,计算机程序产品在计算机上运行时,使得计算机执行如上述任一种流程调试的各种可选实现方式中提供的方法的步骤。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种流程调试的方法的实施流程图;
图2为本申请实施例提供的一种RPA流程调试页面的示例图;
图3为本申请实施例提供的一种语法树的示例图;
图4为本申请实施例提供的一种流程调试的方法的详细流程图;
图5为本申请实施例提供的一种流程调试的装置的结构框图;
图6为本申请实施方式中一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端设备:可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
RPA:是指通过特定的“机器人软件”,模拟人在计算机上的操作,按规则自动执行流程任务。
语法树:用于表示程序(如,RPA流程)的结构元素及其关系。
RPA技术可以模拟员工在日常工作中通过键盘、鼠标对计算机的操作,可以代替人类执行登录系统、操作软件、读写数据、下载文件、读取邮件等操作。以自动化机器人作为企业的虚拟劳动力,可以将员工从重复、低价值的工作中解放出来,将精力投入到高附加值的工作上,从而可以使企业在数字化智能化转型的同时又做到降低成本、增加效益。
RPA是一种使用软件机器人取代业务流程中的人工任务,并且像人一样与计算机的前端系统进行交互,因此RPA可以看作是一种运行在个人PC机或服务器中的软件型程序机器人,通过模仿用户在电脑上进行的操作来替代人类自动重复这些操作,例如检索邮件、下载附件、登录系统、数据加工分析等活动,快速、准确、可靠。虽然和传统的物理机器人一样都是通过设定的具体规则来解决人类工作中速度和准确度的问题,但是传统的物理机器人是软硬件结合的机器人,需要在特定的硬件支持下配合软件才能执行工作;而RPA机器人是纯软件层面的,只要安装了相应的软件,就可以部署到任意一台PC机和服务器中来完成规定的工作。
也就是说,RPA是一种利用“数字员工”代替人进行业务操作的一种方式及其相关的技术。本质上RPA是通过软件自动化技术,模拟人实现计算机上系统、软件、网页和文档等对象的无人化操作,获取业务信息、执行业务动作,最终实现流程自动化处理、人力成本节约和处理效率提升。
在设计RPA流程的过程中,通常需要对包含多个流程节点的RPA流程进行多次修改,以及分别对每次修改后的RPA流程进行调试,以测试各次修改后的RPA流程是否正常运行。实际应用中,用户通常仅对RPA流程中的某一个或多个流程节点进行修改。在RPA调试时,通常需要从RPA初始的流程节点依次执行各流程节点,直至用户修改的流程节点执行完成。显然,采用这种方式,RPA调试效率较低,会耗费大量的时间成本。
为提高RPA调试效率,传统方式中,通常采用以下两种方式进行RPA调试:
方式1:根据RPA流程中修改的一个或多个流程节点,从RPA流程中划分出一个RPA子流程,并基于RPA子流程中各流程节点,新建一个RPA流程,以及对新建的RPA流程进行调试,从而仅对修改范围内的部分流程节点进行调试,以提高调试效率。
但是,采用这种方式,通常需要RPA流程的新建以及调试之后RPA流程的复原。由于新建RPA流程过程中,通常需要额外添加依赖的变量或者节点等才能调试,因此,新建RPA流程的操作步骤繁琐,复原RPA流程的难度也较高,导致调试效率较低。
方式2:将RPA流程中不需要调试的部分流程节点进行注释后,进行RPA流程调试,以及调试完成后,再去除注释。
但是,采用这种方式,需要进行大量的注释以及还原,在RPA流程较大时,用户通常难以区分那些流程节点是需要注释的,注释难度高,需要耗费大量的时间进行分析以及注释,调试效率也较低。
因此,为了在对待调试的RPA流程进行调试时,可以提高调试效率,简化繁琐的调试操作,本申请实施例提供了流程调试的方法、电子设备及计算机可读存储介质。
参阅图1所示,为本申请实施例提供的一种流程调试的方法的实施流程图,可以应用于电子设备,电子设备可以为服务器,也可以为终端设备,该方法的具体实施流程如下:
步骤100:基于待调试的RPA流程,生成包含多个流程节点的语法树。
作为一个示例,用户(如,RPA流程设计人员)在对RPA流程更新后,获得待调试的RPA流程(即,更新后的RPA流程),并设定待调试的RPA流程中的调试起点和调试终点,以及针对待调试的RPA流程下发包含调试起点和调试终点的调试指令。电子设备根据用户指令,获取用户在RPA流程中划分出的待调试的子流程,并将待调试的子流程中的流程节点,确定为待调试节点,以及根据用户的调试指令,采用RPA编译器生成待调试的RPA流程的语法树。
需要说明的是,RPA流程和语法树均是由多个流程节点组成的。RPA流程和语法树只是形式不同,RPA流程中的各流程节点即为语法树中的各流程节点。RPA流程以及待调试的RPA流程均是指全流程。待调试的子流程为待调试的RPA流程中局部的子流程。待调试的子流程中包含一个或多个待调试节点(即待调试的流程节点)。实际应用中,待调试的子流程可以根据实际应用场景进行选取,如,还可以根据RPA流程更新前后的差异确定子流程。
一种实施方式中,用户从待调试的RPA流程中的各流程节点中,选取调试起点和调试终点。电子设备根据用户指令,基于调试起点和调试终点,生成待调试的子流程。其中,调试起点为待调试的子流程中起始的流程节点。调试终点为待调试的子流程中终止的流程节点。
例如,参阅图2所示,为一种RPA流程调试页面的示例图。参阅图3所示,为一种语法树的示例图。用户在初始的RPA流程中新增了一个流程节点即“执行流程”节点,获得图2所示的待调试的RPA流程。电子设备根据用户指令,获取用户在待调试的RPA流程中设置的调试起点和调试终点1,并基于调试起点和调试终点1,从待调试的RPA流程划分出待调试的子流程,以及将待调试的子流程中的流程节点(即“执行流程”节点)确定为待调试节点,以及,根据用户的调试指令,对待调试的RPA流程进行语法树转换,获得图3所示的语法树。
又例如,电子设备根据用户指令,获取用户在图2所示的待调试的RPA流程中设置的调试起点以及调试终点2,并基于图2中的调试起点和调试终点2,划分出另一个待调试的子流程,以及将另一个待调试的子流程中的所有流程节点确定为待调试节点。这样,就可以针对RPA流程中的一个区块的多个流程节点进行调试。
需要说明的是,图2中仅用于示例说明RPA流程中的待调试节点以及变量,图3中仅用于示例说明语法树以及待调试节点,若图2和图3中的线条以及文字不清晰,不影响说明书的清楚。
步骤101:基于语法树,获取各流程节点中待调试节点的输入变量。
具体的,基于语法树获取待调试节点中所有变量,并基于语法规则确定各变量的操作类型,以及从各变量中筛选出操作类型为读操作的输入变量。
一种实施方式中,根据预先设置的变量与操作类型之间的对应关系,获取各变量分别对应的操作类型。
进一步的,还可以从各变量中筛选出操作类型为写操作的输出变量。
需要说明的是,读操作是输入(input)操作,对应流程节点的输入流,写操作是输出(output)操作,对应流程节点的输出流。
这样,就可以获取待调试节点中的输入变量和输出变量。
步骤102:基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点。
具体的,针对语法树中的目标流程节点,若确定目标流程节点中存在待调试节点的输入变量的关联变量,则将目标流程节点确定为关联节点。
其中,目标流程节点为第一个待调试节点前的任一流程节点。关联变量为用于确定待调试节点的输入变量的变量值的变量。
一种实施方式中,获取目标流程节点中的输入变量和输出变量;若确定目标流程节点中的输出变量与待调试节点中的输入变量或关联变量匹配,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量;将目标流程节点,确定为关联节点。
需要说明的是,目标流程节点中包含一个或多个输入变量以及一个或多个输出变量。输入变量为操作类型为读操作的变量。输出变量为操作类型为写操作的变量。关联变量是不断变化和新增的。
其中,目标流程节点中的输出变量与待调试节点中的输入变量或关联变量匹配是指:
若目标流程节点的输出变量中存在某一输出变量可以影响待调试节点中的任一输入变量,或者,存在某一输出变量可以影响已经确定出的任一关联变量。也就是说,目标流程节点的输出变量中存在可以影响待调试节点中的输入变量或关联变量的变量。
作为一个示例,若确定目标流程节点中的输出变量为用于调整待调试节点中的输入变量或关联变量的变量(即确定变量匹配),则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量。
作为另一个示例,在没有确定出关联节点之前,按照待调试节点至根节点的方向,获取某一目标流程节点(如,调试节点的前一流程节点)的输入变量和输出变量,若该目标流程节点的输出变量与待调试接待的输入变量之间存在相同的变量,则确定该目标流程节点的输入变量为关联变量,并将该目标流程节点作为关联节点。以及,在确定出至少一个关联节点之后,按照待调试节点至根节点的方向,获取某一目标流程节点的输入变量和输出变量,若该目标流程节点的输入变量与待调试接待的输入变量之间存在相同的变量,或者该目标流程节点的输入变量与已经确定出的关联变量之间存在相同的变量,则将该目标流程节点的输入变量确定为关联变量,并将该目标流程节点确定为关联节点。
这样,就可以确定出语法树中会影响待调试节点中的输入变量的关联节点。
进一步的,用户还可以修改待调试节点中输入变量以及关联节点中输入变量(即关联变量)的初始值。
一种实施方式中,在初始值配置页面,显示待调试节点以及关联节点中的输入变量的初始值;根据用户的修改指令,对初始值进行调整,基于修改后的初始值,更新语法树。
步骤103:基于待调试节点和关联节点,生成可执行代码。
具体的,从语法树中去除待调试节点和关联节点之外的流程节点,获得更新后的语法树;对更新后的语法树进行编译,获得可执行代码。
这样,就可以对语法树进行裁剪,获得会影响待调试节点的输入变量的关联节点,而不需要通过人工复制的方式,生成新的RPA流程,也不需要通过人工的方式分析关联节点,更不需要采用人工的方式进行注释以使得仅调试用户指定的流程节点。
步骤104:基于可执行代码进行调试,获得调试结果。
参阅图4所示,为一种流程调试的方法的详细流程图。结合图4对图1中的流程调试进行示例说明,该方法的具体实施流程包括:
步骤400:根据用户下发的调试指令,对待调试的RPA流程进行转换,获得语法树,并根据调试指令中的调试范围,确定语法树中的待调试节点。
作为一个示例,根据调试范围,确定用户新增的“执行流程”节点为待调试节点,并将待调试节点添加到节点集合N中。
步骤401:基于语法树,获取各流程节点中待调试节点的输入变量。
具体的,获取待调试节点中的所有变量的操作类型,并按照操作类型,将变量进行分类,获得操作类型为读操作的输入变量。作为一个示例,图3中“执行流程”节点为一个赋值表达式,该赋值表达式的左侧为变量c,右侧为一个一般表达式语句,该一般表达式语句中包含两个变量,即变量a和变量b。按照语法规则,待调试节点中采用标识符的方式引用了变量c,且对变量c的修改的是写操作,即确定变量c的操作类型为写操作,因此,变量c为输出变量;以及,待调试节点中采用标识符的方式引用了变量a和变量b,且对变量a和b的操作为读操作,因此,变量a和变量b的操作类型均为读操作,因此,变量a和变量b均为输入变量。由此,确定待调试节点中包含变量a、变量b和变量c,则将变量a和变量b添加到变量集合R中。
步骤402:根据待调试节点中的输入变量,确定关联节点。
一种实施方式中,沿着语法树向上分析,即按照待调试节点至根节点的方向,依次重复判断每一流程节点是否为改变变量集合R中的变量的关联节点,若是,则将确定出的关联节点添加到节点集合N中,并将确定出的关联节点中的输入变量添加到变量集合R,并在语法树中标记关联节点,以便后续语法树的裁剪。其中,根节点为语法树中最顶层的流程节点。
进一步的,还可以将待调试节点以及关联节点的输入变量和输出变量添加到变量集合V中,获得包含待调试节点和关联节点中所有输入变量和输出变量的集合,以便在后续语法树的裁剪步骤中,可以通过节点的变量进行节点查询以及节点删除等操作。
步骤403:根据用户的修改指令,对待调试节点中的输入变量以及关联节点中的输入变量的初始值进行修改,并基于修改后的初始值更新语法树。
需要说明的是,用户可以对调试节点和关联节点中的部分或全部输入变量的初始值进行修改,也可以不对其进行修改,在此不做限制。向用户显示变量集合R中各输入变量及其初始值,如图2中“执行流程”节点的输入变量a的初始值为0,输入变量b的初始值也为0,这样,就可以根据用户的修改操作,修改图2中各输入变量的初始值,并根据修改后的初始值更新语法树。
步骤404:基于待调试节点和关联节点裁剪语法树,获得新的语法树。
具体的,从语法树中去除待调试节点和关联节点之外的节点。
作为一个示例,基于变量集合V中包含的待调试节点以及关联节点的输入变量和输出变量,查询出语法树中不属于节点集合N中的流程节点,并移除查询出的流程节点,获得新的语法树。
需要说明的是,由于流程节点中包含变量,因此,流程节点被移除后,流程节点中的变量也同时被移除,即去除了不属于变量集合V中的变量。
需要说明的是,也可以先执行步骤404,然后执行步骤403,步骤403和步骤404执行的先后顺序不做限制。
步骤405:对新的语法树进行编译,获得可执行代码。
作为一个示例,通过RPA编译器生成新的语法树的可执行代码。
步骤406:对可执行代码进行调试,获得调试结果。
这样,在设计RPA流程的过程中,若用户增加一个新的流程节点,或者修改某一个流程节点的参数,可以针对RPA流程的待调试节点进行快速调试,以确定RPA流程是否可以正常运行,进而可以提高RPA流程设计的效率。
由于更新后的语法树中已经裁剪了与待调试节点不相关的流程节点,因此,基于更新后的语法树生成的可执行代码中没有不相关的流程节点(即非关联节点)对应的代码,在调试运行时,只会运行待调试节点以及关联节点。在整个过程中,用户只需设定调试范围即可进行调试,简化了用户的繁琐操作,极大地提高了调试的效率。
进一步的,还可以循环执行步骤403-步骤406,从而可以采用不同的初始值进行多次调试,极大地减低了调试难度。
本申请实施例中,将RPA流程转换为语法树,并基于语法树分析出待调试节点的关联节点,并从语法树中裁剪关联节点和待调试节点之外的流程节点,以及基于裁剪后的语法树生成可执行代码,并对可执行代码进行调试运行,从而可以在不需要人工修改RPA流程的情况下调试RPA流程中的一个或多个流程节点(如,指定区块中的多个流程节点),可以自动分析以及保留关联节点,不需要用户人工分析关联节点,简化了用户的繁琐操作,提高了调试效率,以及支持用户设置变量的初始值,从而可以通过不同的初始值进行调试,降低了调试难度。
基于同一发明构思,本申请实施例中还提供了一种流程调试的装置,由于上述装置及设备解决问题的原理与一种流程调试的方法相似,因此,上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,其为本申请实施例提供的一种流程调试的装置的结构示意图,包括:第一生成单元501,用于基于待调试的机器人流程自动化RPA流程,生成包含多个流程节点的语法树;获取单元502,用于基于语法树,获取各流程节点中待调试节点的输入变量;筛选单元503,用于基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点;第二生成单元504,用于基于待调试节点和关联节点,生成可执行代码;调试单元505,用于基于可执行代码进行调试,获得调试结果。
一种实施方式中,获取单元502还用于:基于用户指令,获取用户在RPA流程中划分出的待调试的子流程;将待调试的子流程中的流程节点,确定为待调试节点。
一种实施方式中,获取单元502用于:基于语法树,获取待调试节点中的所有变量;基于语法规则,确定各变量的操作类型;从各变量中筛选出操作类型为读操作的输入变量。
一种实施方式中,筛选单元503用于:针对语法树中的目标流程节点,若确定目标流程节点中存在待调试节点的输入变量的关联变量,则将目标流程节点确定为关联节点;其中,目标流程节点为待调试节点前的任一流程节点,关联变量为用于确定待调试节点的输入变量的变量值的变量。
一种实施方式中,筛选单元503用于:获取目标流程节点中的输入变量和输出变量,输入变量为操作类型为读操作的变量,输出变量为操作类型为写操作的变量;若确定目标流程节点中的输出变量与待调试节点中的输入变量或关联变量匹配,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量;将目标流程节点,确定为关联节点。
一种实施方式中,筛选单元503用于:若确定目标流程节点中的输出变量为用于调整待调试节点中的输入变量或关联变量的变量,则确定目标流程节点中的输入变量,为调试节点的输入变量的关联变量。
一种实施方式中,第二生成单元501用于:从语法树中,去除待调试节点和关联节点之外的流程节点,获得更新后的语法树;对更新后的语法树进行编译,获得可执行代码。
一种实施方式中,第二生成单元501还用于:显示待调试节点以及关联节点中的输入变量的初始值;根据用户的修改指令,对初始值进行调整;根据更新后的初始值,对语法树进行更新。
本申请实施例提供的流程调试的方法、电子设备及计算机可读存储介质中,基于待调试的RPA流程,生成包含多个流程节点的语法树;基于语法树,获取各流程节点中待调试节点的输入变量;基于待调试节点的输入变量,从语法树中的各流程节点中,筛选出待调试节点的关联节点;基于待调试节点和关联节点,生成可执行代码;基于可执行代码进行调试,获得调试结果。这样,可以在不需要人工修改RPA流程的情况下调试RPA流程中的一个或多个流程节点,不需要用户人工分析关联节点,简化了用户的繁琐操作,提高了调试效率。
图6示出了一种电子设备6000的结构示意图。参阅图6所示,电子设备6000包括:处理器6010以及存储器6020,可选的,还可以包括电源6030、显示单元6040、输入单元6050。
处理器6010是电子设备6000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器6020内的软件程序和/或数据,执行电子设备6000的各种功能,从而对电子设备6000进行整体监控。
本申请实施例中,处理器6010调用存储器6020中存储的计算机程序时执行上述实施例中的各个步骤。
可选的,处理器6010可包括一个或多个处理单元;优选的,处理器6010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器6010中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器6020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据电子设备6000的使用所创建的数据等。此外,存储器6020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
电子设备6000还包括给各个部件供电的电源6030(比如电池),电源可以通过电源管理系统与处理器6010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
显示单元6040可用于显示由用户输入的信息或提供给用户的信息以及电子设备6000的各种菜单等,本发明实施例中主要用于显示电子设备6000中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元6040可以包括显示面板6041。显示面板6041可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
输入单元6050可用于接收用户输入的数字或字符等信息。输入单元6050可包括触控面板6051以及其他输入设备6052。其中,触控面板6051,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板6051上或在触控面板6051附近的操作)。
具体的,触控面板6051可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器6010,并接收处理器6010发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6051。其他输入设备6052可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
当然,触控面板6051可覆盖显示面板6041,当触控面板6051检测到在其上或附近的触摸操作后,传送给处理器6010以确定触摸事件的类型,随后处理器6010根据触摸事件的类型在显示面板6041上提供相应的视觉输出。虽然在图6中,触控面板6051与显示面板6041是作为两个独立的部件来实现电子设备6000的输入和输出功能,但是在某些实施例中,可以将触控面板6051与显示面板6041集成而实现电子设备6000的输入和输出功能。
电子设备6000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述电子设备6000还可以包括摄像头等其它部件,由于这些部件不是本申请实施例中重点使用的部件,因此,在图6中没有示出,且不再详述。
本领域技术人员可以理解,图6仅仅是电子设备的举例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本申请实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得通信设备可以执行上述实施例中的各个步骤。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种流程调试的方法,其特征在于,包括:
基于待调试的机器人流程自动化RPA流程,生成包含多个流程节点的语法树;
基于所述语法树,获取各流程节点中待调试节点的输入变量;
基于所述待调试节点的输入变量,从所述语法树中的各流程节点中,筛选出所述待调试节点的关联节点;
基于所述待调试节点和所述关联节点,生成可执行代码;
基于所述可执行代码进行调试,获得调试结果。
2.如权利要求1所述的方法,其特征在于,在所述基于所述语法树,获取各流程节点中待调试节点的输入变量之前,所述方法还包括:
基于用户指令,获取用户在所述RPA流程中划分出的待调试的子流程;
将所述待调试的子流程中的流程节点,确定为所述待调试节点。
3.如权利要求1所述的方法,其特征在于,所述基于所述语法树,获取各流程节点中待调试节点的输入变量,包括:
基于所述语法树,获取所述待调试节点中的所有变量;
基于语法规则,确定各变量的操作类型;
从各变量中筛选出操作类型为读操作的输入变量。
4.如权利要求3所述的方法,其特征在于,所述基于所述待调试节点的输入变量,从所述语法树中的各流程节点中,筛选出所述待调试节点的关联节点,包括:
针对所述语法树中的目标流程节点,若确定所述目标流程节点中存在所述待调试节点的输入变量的关联变量,则将所述目标流程节点确定为所述关联节点;
其中,所述目标流程节点为所述待调试节点前的任一流程节点,所述关联变量为用于确定所述待调试节点的输入变量的变量值的变量。
5.如权利要求4所述的方法,其特征在于,所述若确定所述目标流程节点中存在所述待调试节点的输入变量的关联变量,则将所述目标流程节点确定为所述关联节点,包括:
获取所述目标流程节点中的输入变量和输出变量,所述输入变量为操作类型为读操作的变量,所述输出变量为操作类型为写操作的变量;
若确定所述目标流程节点中的输出变量与所述待调试节点中的输入变量或关联变量匹配,则确定所述目标流程节点中的输入变量,为所述调试节点的输入变量的关联变量;
将所述目标流程节点,确定为所述关联节点。
6.如权利要求5所述的方法,其特征在于,所述若确定所述目标流程节点中的输出变量与所述待调试节点中的输入变量或关联变量匹配,则确定所述目标流程节点中的输入变量,为所述调试节点的输入变量的关联变量,包括:
若确定所述目标流程节点中的输出变量为用于调整所述待调试节点中的输入变量或关联变量的变量,则确定所述目标流程节点中的输入变量,为所述调试节点的输入变量的关联变量。
7.如权利要求1-6任一项所述的方法,其特征在于,所述基于所述待调试节点和所述关联节点,生成可执行代码,包括:
从所述语法树中,去除所述待调试节点和所述关联节点之外的流程节点,获得更新后的语法树;
对所述更新后的语法树进行编译,获得所述可执行代码。
8.如权利要求1-6任一项所述的方法,其特征在于,在所述基于所述待调试节点和所述关联节点,生成可执行代码之前,所述方法还包括:
显示所述待调试节点以及所述关联节点中的输入变量的初始值;
根据用户的修改指令,对所述初始值进行调整;
根据更新后的初始值,对所述语法树进行更新。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-8任一所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-8任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211032139.5A CN115292194B (zh) | 2022-08-26 | 2022-08-26 | 流程调试的方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211032139.5A CN115292194B (zh) | 2022-08-26 | 2022-08-26 | 流程调试的方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115292194A CN115292194A (zh) | 2022-11-04 |
CN115292194B true CN115292194B (zh) | 2023-04-28 |
Family
ID=83832070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211032139.5A Active CN115292194B (zh) | 2022-08-26 | 2022-08-26 | 流程调试的方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292194B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860362A (zh) * | 2021-02-05 | 2021-05-28 | 达而观数据(成都)有限公司 | 一种机器人自动化流程的可视化调试方法及调试系统 |
US11301224B1 (en) * | 2019-04-30 | 2022-04-12 | Automation Anywhere, Inc. | Robotic process automation system with a command action logic independent execution environment |
CN114637676A (zh) * | 2022-03-18 | 2022-06-17 | 中国建设银行股份有限公司 | 调试方法、装置、设备、存储介质和计算机程序产品 |
CN114637450A (zh) * | 2022-03-23 | 2022-06-17 | 上海弘玑信息技术有限公司 | 业务流程的自动处理方法及系统、电子设备 |
CN114666407A (zh) * | 2022-03-21 | 2022-06-24 | 上海弘玑信息技术有限公司 | 一种rpa跨端通信方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113095B2 (en) * | 2019-04-30 | 2021-09-07 | Automation Anywhere, Inc. | Robotic process automation system with separate platform, bot and command class loaders |
-
2022
- 2022-08-26 CN CN202211032139.5A patent/CN115292194B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11301224B1 (en) * | 2019-04-30 | 2022-04-12 | Automation Anywhere, Inc. | Robotic process automation system with a command action logic independent execution environment |
CN112860362A (zh) * | 2021-02-05 | 2021-05-28 | 达而观数据(成都)有限公司 | 一种机器人自动化流程的可视化调试方法及调试系统 |
CN114637676A (zh) * | 2022-03-18 | 2022-06-17 | 中国建设银行股份有限公司 | 调试方法、装置、设备、存储介质和计算机程序产品 |
CN114666407A (zh) * | 2022-03-21 | 2022-06-24 | 上海弘玑信息技术有限公司 | 一种rpa跨端通信方法及设备 |
CN114637450A (zh) * | 2022-03-23 | 2022-06-17 | 上海弘玑信息技术有限公司 | 业务流程的自动处理方法及系统、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115292194A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109448100B (zh) | 三维模型格式转换方法、系统、计算机设备及存储介质 | |
US20180329690A1 (en) | Converting visual diagrams into code | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
CN111177113A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN111782181A (zh) | 代码生成方法、装置、电子设备以及存储介质 | |
CN112506854A (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
CN115576600A (zh) | 基于代码变更的差异处理方法、装置、终端及存储介质 | |
CN111061743A (zh) | 数据加工方法、装置和电子设备 | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
CN112528608B (zh) | 页面编辑方法、装置、电子设备和存储介质 | |
US11256603B2 (en) | Generating and attributing unique identifiers representing performance issues within a call stack | |
CN115292194B (zh) | 流程调试的方法、电子设备及计算机可读存储介质 | |
CN116483707A (zh) | 测试方法、装置、设备、存储介质及程序产品 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN114579136A (zh) | 代码处理方法、装置、计算机设备和存储介质 | |
CN116126658A (zh) | 一种屏幕操作日志流程挖掘方法、系统、设备及存储介质 | |
CN114356430A (zh) | 一种基于airflow调度系统的DAG依赖配置工具 | |
CN108960433B (zh) | 用于运行机器学习建模过程的方法及系统 | |
CN107506299B (zh) | 一种代码分析方法及终端设备 | |
CN113779117A (zh) | 一种数据监控方法、装置、存储介质和电子设备 | |
CN113778541A (zh) | 一种小程序生成方法、装置、电子设备和存储介质 | |
CN112130841B (zh) | Sql开发方法、装置及终端设备 | |
CN109284097A (zh) | 实现复杂数据分析的方法、设备、系统及存储介质 | |
CN115495387A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |