CN117520181B - 一种业务流程的调试方法、装置、电子设备及存储介质 - Google Patents

一种业务流程的调试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117520181B
CN117520181B CN202311554679.4A CN202311554679A CN117520181B CN 117520181 B CN117520181 B CN 117520181B CN 202311554679 A CN202311554679 A CN 202311554679A CN 117520181 B CN117520181 B CN 117520181B
Authority
CN
China
Prior art keywords
target
debugging
node
code
flow
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
Application number
CN202311554679.4A
Other languages
English (en)
Other versions
CN117520181A (zh
Inventor
修宾彬
邵伏巧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lingyan Technology Co ltd
Original Assignee
Beijing Lingyan Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Lingyan Technology Co ltd filed Critical Beijing Lingyan Technology Co ltd
Priority to CN202311554679.4A priority Critical patent/CN117520181B/zh
Publication of CN117520181A publication Critical patent/CN117520181A/zh
Application granted granted Critical
Publication of CN117520181B publication Critical patent/CN117520181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种业务流程的调试方法、装置、电子设备及存储介质,通过获取目标业务流程,确定目标业务流程对应的节点组件;在每个节点组件的执行步骤前,插入对应的停顿代码;响应于用户针对节点组件的筛选操作,确定目标调试节点,并触发目标调试节点对应的停顿代码为代码断点;针对每个代码断点,确定目标业务流程执行至该代码断点对应的流程上下文信息;响应于用户针对流程上下文信息的修改操作,将修改后的流程上下文信息更新至对应的节点组件。可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。

Description

一种业务流程的调试方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种业务流程的调试方法、装置、电子设备及存储介质。
背景技术
目前,在业务开发的过程中,随着业务复杂化,针对不同业务的处理需求,往往会针对性的设置对应的业务处理流程进而实现规范化、流程化的业务实现。在现有的业务流程调试过程中,主要在工程具体的组件代码中显性埋点,即在具体需要停顿的组件的执行前键入调试标志及下属的范围的停止的代码逻辑,并且在编译的过程中或者执行参数打开调试标志。
但是,目前业界只有业务流程编排的开发态工具及基于业务流程本体的功能性测试,在业务流程的运行中,中间过程中的上下文的正确无法检测和查询,只能等待整体流程运行结束,得到最终结果查看,因此其仍存在执行的中间过程无法监测到业务流程执行错误与否的问题,并且调试过程需要具有一定编码基础的专业开发人员,所需技术门槛较高。
发明内容
本公开实施例至少提供一种业务流程的调试方法、装置、电子设备及存储介质,可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。
本公开实施例提供了一种业务流程的调试方法,包括:
获取目标业务流程,确定所述目标业务流程对应的节点组件;
在每个所述节点组件的执行步骤前,插入对应的停顿代码;
响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;
针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;
响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
一种可选的实施方式中,所述获取目标业务流程,确定所述目标业务流程对应的节点组件,具体包括:
响应于用户在预设的调试面板的调试触发操作,通过预设的代理服务部件,在预设类库中查询携带有每个业务流程对应JVM进程的JVM列表;
通过所述预设调试面板向用户展示所述JVM列表,响应于用户针对所述JVM列表中所述JVM进程的选择操作,确定目标JVM进程;
将所述目标JVM进程对应的业务流程确定为所述目标业务流程;
关联所述目标JVM进程与当前调试,确定所述目标JVM进程包括的所述节点组件。
一种可选的实施方式中,所述针在每个所述节点组件的执行步骤前,插入对应的停顿代码,具体包括:
通过所述代理服务部件,在JAVAagent的Transform类中,通过JAVAssist字节码编译停顿插入逻辑;
通过所述目标JVM进程中包括的预设执行单元执行所述停顿插入逻辑,在每个所述节点组件的执行步骤前插入对应的所述停顿代码;
其中,所述停顿代码包括中断所述JVM进程执行的代码断点状态,以及允许所述JVM进程正常执行的代码执行状态。
一种可选的实施方式中,所述响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点,具体包括:
通过所述调试面板展示包含全部所述节点组件的组件列表;
响应于用户针对所述组件列表中,所述节点组件的选择操作,确定业务流程中需要进行中断调试的所述目标调试节点;
在所述目标JVM进程中,针对每个所述目标调试节点,将该目标调试节点对应的所述停顿代码触发为所述代码断点;
通过所述代理服务部件将触发断点后的所述目标JVM进程反馈至所述调试面板。
一种可选的实施方式中,针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息,具体包括:
根据所述目标业务流程依次执行所述节点组件,并在对应所述代码断点的所述目标调试节点处中断执行;
确定执行所述目标业务流程至所述目标调试节点处的执行结果集,将所述执行结果集确定为所述流程上下文信息;
通过所述代理服务部件将所述流程上下文信息反馈至所述预设调试面板。
一种可选的实施方式中,所述响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件,具体包括:
响应于用户在所述调试面板中,针对所述流程上下文信息的修改操作,确定流程调试信息;
通过所述代理服务部件将所述流程调试信息转发至正在执行的所述目标JVM进程对应的流程引擎;
在所述目标业务流程的执行过程中,根据所述流程调试信息实时更新所述目标JVM进程。
一种可选的实施方式中,在响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件之后,所述方法还包括:
响应于用户的调试终止操作,撤销所述停顿代码,将所述目标业务流程恢复至停顿插入前的基础状态。
本公开实施例还提供一种业务流程的调试装置,包括:
流程关联模块,用于获取目标业务流程,确定所述目标业务流程对应的节点组件;
停顿插入模块,用于在每个所述节点组件的执行步骤前,插入对应的停顿代码;
断点设置模块,用于响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;
上下文信息确定模块,用于针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;
流程更新模块,用于响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述业务流程的调试方法,或上述业务流程的调试方法中任一种可能的实施方式中的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述业务流程的调试方法,或上述业务流程的调试方法中任一种可能的实施方式中的步骤。
本公开实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序、指令被处理器执行时实现上述业务流程的调试方法,或上述业务流程的调试方法中任一种可能的实施方式中的步骤。
本公开实施例提供的一种业务流程的调试方法、装置、电子设备及存储介质,通过获取目标业务流程,确定所述目标业务流程对应的节点组件;在每个所述节点组件的执行步骤前,插入对应的停顿代码;响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种业务流程的调试方法的流程图;
图2示出了本公开实施例所提供的另一种业务流程的调试方法的流程图;
图3示出了本公开实施例所提供的一种业务流程的调试装置的示意图;
图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,目前业界只有业务流程编排的开发态工具及基于业务流程本体的功能性测试,在业务流程的运行中,中间过程中的上下文的正确无法检测和查询,只能等待整体流程运行结束,得到最终结果查看,因此其仍存在执行的中间过程无法监测到业务流程执行错误与否的问题,并且调试过程需要具有一定编码基础的专业开发人员,所需技术门槛较高。
基于上述研究,本公开提供了一种业务流程的调试方法、装置、电子设备及存储介质,通过获取目标业务流程,确定所述目标业务流程对应的节点组件;在每个所述节点组件的执行步骤前,插入对应的停顿代码;响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种业务流程的调试方法进行详细介绍,本公开实施例所提供的业务流程的调试方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该业务流程的调试方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种业务流程的调试方法的流程图,所述方法包括步骤S101~S105,其中:
S101、获取目标业务流程,确定所述目标业务流程对应的节点组件。
在具体实施中,本申请实施例可应用于包括调试面板、断点管理列表以及内部代理服务部件的调试系统,当需要针对某一也流程进行调试时,用户可通过启动调试面板开启当前业务流程的调试工作。
这里,当业务流程调试工作开始时,需要选择待调试的目标业务流程,并确定目标业务流程对应的JVM进程,以及JVM进程中包含的实现目标业务流程中每个流程节点的节点组件。
具体的,响应于用户在预设的调试面板的调试触发操作,通过预设的代理服务部件,在预设类库中查询携带有每个业务流程对应JVM进程的JVM列表;通过预设调试面板向用户展示JVM列表,响应于用户针对JVM列表中JVM进程的选择操作,确定目标JVM进程;将目标JVM进程对应的业务流程确定为目标业务流程;关联目标JVM进程与当前调试,确定目标JVM进程包括的节点组件。
在具体实施中,用户在调试开始时开启调试面板触发当前调试,之后点击调试面板中预设的JVM进程关联按键进入调试流程,触发内部代理服务部件调用attach模块类库,查询列举当前已知JVM进程的JVM列表,并将该JVM列表返回至调试面板,以下拉框的形式向用户展示。
这里,JVM列表中罗列有每个JVM进程对应的JVM进程名称或JVM进程号,用户可以点击JVM列表中所列举的JVM进程名称或JVM进程号进而选择目标JVM进程。
进一步的,在选择出目标JVM进程后,该目标JVM进程对应的业务流程即为用户需要进行调试的目标业务流程,进而建立了当前业务调试工作与目标业务流程之间的关联。
示例性的,针对退货交易业务流程,对应的流程节点组件可以为:客户提出退货诉求节点以及了解退货原因节点,在了解退货原因节点下划分为七天无理由退货类、售后问题类;针对七天无理由退货类,其下包括发回货物节点、验收货物节点;针对售后问题类,包括质量问题节点、快递责任节点等。
S102、在每个所述节点组件的执行步骤前,插入对应的停顿代码。
在具体实施中,在建立当前业务调试工作与用户需要进行调试的目标业务流程之间的关联之后,基于该关联,在目标业务流程对应的目标JVM进程包含的每个节点组件的执行步骤前,插入停顿代码。
这里,由于流程中节点过多,因此势必要有断点管理,在本申请实施例中,由于在每个节点组件的执行步骤前均插入了停顿代码,即每个节点组件前均可以被设置为断点,因此可以将节点组件的列表作为断点管理列表。
需要说明的是,当前目标业务流程处于可编辑状态下,因此可以借助于流程编排工具获得当前业务流程的节点组件列表等信息。
具体的,可以通过以下步骤1-步骤2实现停顿代码的插入:
步骤1、通过所述代理服务部件,在JAVAagent的Transform类中,通过JAVAssist字节码编译停顿插入逻辑;
步骤2、通过所述目标JVM进程中包括的预设执行单元执行所述停顿插入逻辑,在每个所述节点组件的执行步骤前插入对应的所述停顿代码;其中,所述停顿代码包括中断所述JVM进程执行的代码断点状态,以及允许所述JVM进程正常执行的代码执行状态。
在具体实施中,代理服务部件基于当前业务调试工作与目标业务流程对应的目标JVM进程的关联,通过使用JAVAagent技术的Transform类,在Transform类中通过JAVAssist字节码编译用于在每个节点组件的执行步骤前插入停顿代码的停顿插入逻辑。
这里,可以通过JVM进程中预设的执行单元,根据停顿插入逻辑将停顿代码插入至每个节点组件的执行步骤前,停顿代码包括代码断点状态与代码执行状态,JVM进程执行至代码断点状态下的停顿代码,则中断执行;反之,JVM进程执行至代码执行状态下的停顿代码,则继续执行下一节点组件。
需要说明的是,停顿代码的初始状态默认设置为代码执行状态。
进一步的,在停顿代码插入完成后,当前业务流程提示工作可进入调试状态,由JVM进程中预设的执行单元将插入停顿代码后的节点组件列表通过内部代理服务部件返回至调试面板,以供用户进行查看。
S103、响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点。
在具体实施中,用户可以根据调试需求,在节点组件列表中筛选需要进行中断调试的目标调试节点,并将目标调试节点执行步骤前插入的停顿代码触发为代码断点状态,即将该处代码停顿设定为代码断点。
具体的,通过调试面板展示包含全部节点组件的组件列表;响应于用户针对组件列表中,节点组件的选择操作,确定业务流程中需要进行中断调试的目标调试节点;在目标JVM进程中,针对每个目标调试节点,将该目标调试节点对应的停顿代码触发为代码断点;通过代理服务部件将触发断点后的目标JVM进程反馈至调试面板。
这里,在当前目标业务流程进入调试状态后,在调试面板中弹出罗列有每个节点组件的组件列表作为断点管理列表,用户可以通过勾选等选择操作,根据调试需求在组件列表中选择目标调试节点。
其中,组件列表携带有发送至内部代理服务部件断点传递的指令,在用户选择出目标调试节点后,将其通过内部代理服务部件,传递至目标JVM进程对应的执行单元,由执行单元将目标调试节点执行步骤前插入的停顿代码触发为代码断点。
进一步的,内部代理服务部件可以将触发断点后的目标JVM进程反馈至调试面板进而向用户展示。
S104、针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息。
在具体实施中,代码断点传入完成后,目标业务流程在执行过程中,会在代码断点处停顿,并将当前节点组件对应的业务流程上下文信息回传至内部代理服务部件,通过内部代理服务部件发送至调试面板向用户展示。
这里,用户可以根据调试面板中展示的流程上下文信息,判断整体业务流程的执行正确与错误情况。
具体的,根据目标业务流程依次执行节点组件,并在对应代码断点的目标调试节点处中断执行;确定执行目标业务流程至目标调试节点处的执行结果集,将执行结果集确定为流程上下文信息;通过代理服务部件将流程上下文信息反馈至预设调试面板。
示例性的,针对退货交易业务流程,正常交易进入后,在指定的客户提出退货诉求节点组件处断点停顿后,用户在调试面板的上下文展示区域能看到进入客户提出退货诉求节点组件处前的流程上下文信息。
需要说明的是,流程上下文信息可以采用表格的形式在调试面板中进行展示,降低非专业开发人员的调试技术门槛。
S105、响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
在具体实施中,响应于用户在调试面板中,针对流程上下文信息的修改操作,确定流程调试信息;通过代理服务部件将流程调试信息转发至正在执行的目标JVM进程对应的流程引擎;在目标业务流程的执行过程中,根据流程调试信息实时更新目标JVM进程。
这里,用户可以在某个断点的节点组件处停顿后,根据流程上下文信息判断出的业务流程执行正确与错误情况,更改其中的流程上下文信息,并由内部代理服务部件传递给目标JVM进程正在运行的当前流程引擎,并实时生效。
示例性的,针对退货交易业务流程,正常交易进入后,在指定的客户提出退货诉求节点组件处断点停顿后,用户在调试面板的上下文展示区域能看到进入客户提出退货诉求节点组件处前的流程上下文信息。在上下文展示区域可编辑更改流程上下文信息,并传入正在调试中的交易流程;交易流程停顿后,可点击调式,流程路由下一步,在了解退货原因节点组件处停顿,后续的过程同上一个组件。
本公开实施例提供的一种业务流程的调试方法,通过获取目标业务流程,确定所述目标业务流程对应的节点组件;在每个所述节点组件的执行步骤前,插入对应的停顿代码;响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。
参见图2所示,为本公开实施例提供的另一种业务流程的调试方法的流程图,所述方法包括步骤S201~S206,其中:
S201、获取目标业务流程,确定所述目标业务流程对应的节点组件。
S202、在每个所述节点组件的执行步骤前,插入对应的停顿代码。
S203、响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点。
S204、针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息。
S205、响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
这里,步骤S201-步骤S205与步骤S101-步骤S105实质相同,具有相同的实施方式并且可以达到相同的技术效果,对此不再进行赘述。
S206、响应于用户的调试终止操作,撤销所述停顿代码,将所述目标业务流程恢复至停顿插入前的基础状态。
在具体实施中,用户可以通过关闭调试面板触发当前业务流程终止调试,由于当前目标JVM进程当前流程在处在attach状态,JAVAagent的Transform类在工作状态中,可以采用RemoveTransform操作即可撤销通过JAVAssist字节码编译停顿插入逻辑,当前业务流程恢复至停顿代码插入之前的状态,动态完成全部停顿的撤销。
本公开实施例提供的一种业务流程的调试方法,通过获取目标业务流程,确定所述目标业务流程对应的节点组件;在每个所述节点组件的执行步骤前,插入对应的停顿代码;响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与业务流程的调试方法对应的业务流程的调试装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述业务流程的调试方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3,图3为本公开实施例提供的一种业务流程的调试装置的示意图。如图3中所示,本公开实施例提供的业务流程的调试装置300包括:
流程关联模块310,用于获取目标业务流程,确定所述目标业务流程对应的节点组件。
停顿插入模块320,用于在每个所述节点组件的执行步骤前,插入对应的停顿代码。
断点设置模块330,用于响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点。
上下文信息确定模块340,用于针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息。
流程更新模块350,用于响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例提供的一种业务流程的调试装置,通过获取目标业务流程,确定所述目标业务流程对应的节点组件;在每个所述节点组件的执行步骤前,插入对应的停顿代码;响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。可以在业务流程调试中关注到中间运行结果,实现在业务流程的运行状态下进行执行阻塞并返回可编辑修改的上下文信息,同时不需要专业开发人员也可以进行业务流程调试工作,所需技术门槛较低。
对应于图1与图2中的业务流程的调试方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:
处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行图1与图2中的业务流程的调试方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的业务流程的调试方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的业务流程的调试方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (6)

1.一种业务流程的调试方法,其特征在于,包括:
获取目标业务流程,确定所述目标业务流程对应的节点组件;
在每个所述节点组件的执行步骤前,插入对应的停顿代码;
响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;
针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;
响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件;
所述获取目标业务流程,确定所述目标业务流程对应的节点组件,具体包括:
响应于用户在预设调试面板的调试触发操作,通过预设的代理服务部件,在预设类库中查询携带有每个业务流程对应JVM进程的JVM列表;
通过所述预设调试面板向用户展示所述JVM列表,响应于用户针对所述JVM列表中所述JVM进程的选择操作,确定目标JVM进程;
将所述目标JVM进程对应的业务流程确定为所述目标业务流程;
关联所述目标JVM进程与当前调试,确定所述目标JVM进程包括的所述节点组件;
所述在每个所述节点组件的执行步骤前,插入对应的停顿代码,具体包括:
通过所述代理服务部件,在JAVAagent的Transform类中,通过JAVAssist字节码编译停顿插入逻辑;
通过所述目标JVM进程中包括的预设执行单元执行所述停顿插入逻辑,在每个所述节点组件的执行步骤前插入对应的所述停顿代码;
其中,所述停顿代码包括中断所述JVM进程执行的代码断点状态,以及允许所述JVM进程正常执行的代码执行状态;
所述响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点,具体包括:
通过所述调试面板展示包含全部所述节点组件的组件列表;
响应于用户针对所述组件列表中,所述节点组件的选择操作,确定业务流程中需要进行中断调试的所述目标调试节点;
在所述目标JVM进程中,针对每个所述目标调试节点,将该目标调试节点对应的所述停顿代码触发为所述代码断点;
通过所述代理服务部件将触发断点后的所述目标JVM进程反馈至所述调试面板;
针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息,具体包括:
根据所述目标业务流程依次执行所述节点组件,并在对应所述代码断点的所述目标调试节点处中断执行;
确定执行所述目标业务流程至所述目标调试节点处的执行结果集,将所述执行结果集确定为所述流程上下文信息;
通过所述代理服务部件将所述流程上下文信息反馈至所述预设调试面板。
2.根据权利要求1所述的方法,其特征在于,所述响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件,具体包括:
响应于用户在所述调试面板中,针对所述流程上下文信息的修改操作,确定流程调试信息;
通过所述代理服务部件将所述流程调试信息转发至正在执行的所述目标JVM进程对应的流程引擎;
在所述目标业务流程的执行过程中,根据所述流程调试信息实时更新所述目标JVM进程。
3.根据权利要求1所述的方法,其特征在于,在响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件之后,所述方法还包括:
响应于用户的调试终止操作,撤销所述停顿代码,将所述目标业务流程恢复至停顿插入前的基础状态。
4.一种业务流程的调试装置,其特征在于,包括:
流程关联模块,用于获取目标业务流程,确定所述目标业务流程对应的节点组件;
停顿插入模块,用于在每个所述节点组件的执行步骤前,插入对应的停顿代码;
断点设置模块,用于响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;
上下文信息确定模块,用于针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;
流程更新模块,用于响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件;
所述流程关联模块具体用于,响应于用户在预设调试面板的调试触发操作,通过预设的代理服务部件,在预设类库中查询携带有每个业务流程对应JVM进程的JVM列表;
通过所述预设调试面板向用户展示所述JVM列表,响应于用户针对所述JVM列表中所述JVM进程的选择操作,确定目标JVM进程;
将所述目标JVM进程对应的业务流程确定为所述目标业务流程;
关联所述目标JVM进程与当前调试,确定所述目标JVM进程包括的所述节点组件;
所述停顿插入模块具体用于,通过所述代理服务部件,在JAVAagent的Transform类中,通过JAVAssist字节码编译停顿插入逻辑;
通过所述目标JVM进程中包括的预设执行单元执行所述停顿插入逻辑,在每个所述节点组件的执行步骤前插入对应的所述停顿代码;
其中,所述停顿代码包括中断所述JVM进程执行的代码断点状态,以及允许所述JVM进程正常执行的代码执行状态;
通过所述调试面板展示包含全部所述节点组件的组件列表;
所述停顿插入模块还用于,响应于用户针对所述组件列表中,所述节点组件的选择操作,确定业务流程中需要进行中断调试的所述目标调试节点;
在所述目标JVM进程中,针对每个所述目标调试节点,将该目标调试节点对应的所述停顿代码触发为所述代码断点;
通过所述代理服务部件将触发断点后的所述目标JVM进程反馈至所述调试面板;
所述上下文信息确定模块具体用于,根据所述目标业务流程依次执行所述节点组件,并在对应所述代码断点的所述目标调试节点处中断执行;
确定执行所述目标业务流程至所述目标调试节点处的执行结果集,将所述执行结果集确定为所述流程上下文信息;
通过所述代理服务部件将所述流程上下文信息反馈至所述预设调试面板。
5.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至3中任一项所述的业务流程的调试方法的步骤。
6.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至3中任一项所述的业务流程的调试方法的步骤。
CN202311554679.4A 2023-11-21 2023-11-21 一种业务流程的调试方法、装置、电子设备及存储介质 Active CN117520181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311554679.4A CN117520181B (zh) 2023-11-21 2023-11-21 一种业务流程的调试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311554679.4A CN117520181B (zh) 2023-11-21 2023-11-21 一种业务流程的调试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN117520181A CN117520181A (zh) 2024-02-06
CN117520181B true CN117520181B (zh) 2024-05-14

Family

ID=89752768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311554679.4A Active CN117520181B (zh) 2023-11-21 2023-11-21 一种业务流程的调试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117520181B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160037A (zh) * 2008-07-18 2011-08-17 赛贝斯股份有限公司 只需设计一次就能在任何平台应用的移动应用开发框架
CN106462488A (zh) * 2014-05-29 2017-02-22 微软技术许可有限责任公司 调试期间的性能优化提示呈现
CN113282444A (zh) * 2020-02-20 2021-08-20 北京京东振世信息技术有限公司 用于业务流程调试的可视化方法和装置
CN115083434A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 一种情绪识别方法、装置、计算机设备及存储介质
CN115934566A (zh) * 2022-12-29 2023-04-07 上海艺赛旗软件股份有限公司 一种调试信息显示方法、装置、电子设备及存储介质
CN116090808A (zh) * 2023-03-06 2023-05-09 北京神州光大科技有限公司 一种rpa断点重建方法、装置、电子设备和介质
CN116911588A (zh) * 2023-07-21 2023-10-20 中国移动通信有限公司政企客户分公司 业务流程执行方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151488A1 (en) * 2010-12-10 2012-06-14 International Business Machines Corporation Measuring Transaction Performance Across Application Asynchronous Flows
US10942955B2 (en) * 2017-12-21 2021-03-09 Shanghai Xiaoi Robot Technology Co., Ltd. Questioning and answering method, method for generating questioning and answering system, and method for modifying questioning and answering system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160037A (zh) * 2008-07-18 2011-08-17 赛贝斯股份有限公司 只需设计一次就能在任何平台应用的移动应用开发框架
CN106462488A (zh) * 2014-05-29 2017-02-22 微软技术许可有限责任公司 调试期间的性能优化提示呈现
CN113282444A (zh) * 2020-02-20 2021-08-20 北京京东振世信息技术有限公司 用于业务流程调试的可视化方法和装置
CN115083434A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 一种情绪识别方法、装置、计算机设备及存储介质
CN115934566A (zh) * 2022-12-29 2023-04-07 上海艺赛旗软件股份有限公司 一种调试信息显示方法、装置、电子设备及存储介质
CN116090808A (zh) * 2023-03-06 2023-05-09 北京神州光大科技有限公司 一种rpa断点重建方法、装置、电子设备和介质
CN116911588A (zh) * 2023-07-21 2023-10-20 中国移动通信有限公司政企客户分公司 业务流程执行方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Compiling business process models for sensor networks;A. Caracaş 等;《2011 International Conference on Distributed Computing in Sensor Systems and Workshops (DCOSS)》;20110811;1-8 *
组件化服务与业务流程提取模型;黄俊峰 等;《计算机工程与设计》;20090216;第29卷(第22期);5766-5769 *

Also Published As

Publication number Publication date
CN117520181A (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US7702959B2 (en) Error management system and method of using the same
EP1014265B1 (en) Method and apparatus for testing event driven software
CN106649084B (zh) 函数调用信息的获取方法及装置、测试设备
US8307379B2 (en) Determining an extension to use to process an input object to a call in a program
US7321988B2 (en) Identifying a code library from the subset of base pointers that caused a failure generating instruction to be executed
CN108874926A (zh) 海量数据查询方法、装置、计算机设备和存储介质
CN102681878A (zh) 无需修改现有代码即可增加新软件特征的方法
CN104461625A (zh) 一种热补丁实现方法和系统
CN109101410B (zh) 一种风险驱动测试方法和装置以及计算机可读存储介质
CN103984626A (zh) 一种生成测试用例脚本的方法及装置
CN108536451A (zh) 应用程序的埋点注入方法和装置
CN112148278A (zh) 可视化的区块链智能合约框架及智能合约开发部署方法
CN109766139B (zh) 配置文件的配置方法及装置
CN111538659B (zh) 业务场景的接口测试方法、系统、电子设备和存储介质
US20080126430A1 (en) Intermediary document for critical change control
CN115033317B (zh) 弹框处理方法、装置、电子设备和可读存储介质
KR101416065B1 (ko) 안드로이드 어플리케이션의 액티비티 기반 상태도 생성방법
CN107153615A (zh) 软件测试的方法及系统、服务终端
CN117520181B (zh) 一种业务流程的调试方法、装置、电子设备及存储介质
CN114003293B (zh) 接口管理方法、装置、电子设备以及可读存储介质
CN110147294A (zh) 调试信息的获取方法、装置、终端及计算机可读存储介质
CN114741296A (zh) 单元测试方法、装置、电子设备和存储介质
CN115469833A (zh) 动态规则引擎的实现方法和装置、电子设备和存储介质
CN113220586A (zh) 一种自动化的接口压力测试执行方法、装置和系统
CN109840213A (zh) 一种gui测试的测试数据创建方法、装置、终端及存储介质

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