CN117520181A - 一种业务流程的调试方法、装置、电子设备及存储介质 - Google Patents
一种业务流程的调试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117520181A CN117520181A CN202311554679.4A CN202311554679A CN117520181A CN 117520181 A CN117520181 A CN 117520181A CN 202311554679 A CN202311554679 A CN 202311554679A CN 117520181 A CN117520181 A CN 117520181A
- Authority
- CN
- China
- Prior art keywords
- debugging
- target
- node
- flow
- code
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 264
- 230000008569 process Effects 0.000 title claims abstract description 207
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000012986 modification Methods 0.000 claims abstract description 20
- 230000004048 modification Effects 0.000 claims abstract description 20
- 238000012216 screening Methods 0.000 claims abstract description 14
- 238000003780 insertion Methods 0.000 claims description 16
- 230000037431 insertion Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- 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
- Y02D—CLIMATE 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/00—Energy 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 (10)
1.一种业务流程的调试方法,其特征在于,包括:
获取目标业务流程,确定所述目标业务流程对应的节点组件;
在每个所述节点组件的执行步骤前,插入对应的停顿代码;
响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;
针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;
响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
2.根据权利要求1所述的方法,其特征在于,所述获取目标业务流程,确定所述目标业务流程对应的节点组件,具体包括:
响应于用户在预设调试面板的调试触发操作,通过预设的代理服务部件,在预设类库中查询携带有每个业务流程对应JVM进程的JVM列表;
通过所述预设调试面板向用户展示所述JVM列表,响应于用户针对所述JVM列表中所述JVM进程的选择操作,确定目标JVM进程;
将所述目标JVM进程对应的业务流程确定为所述目标业务流程;
关联所述目标JVM进程与当前调试,确定所述目标JVM进程包括的所述节点组件。
3.根据权利要求2所述的方法,其特征在于,所述针在每个所述节点组件的执行步骤前,插入对应的停顿代码,具体包括:
通过所述代理服务部件,在JAVAagent的Transform类中,通过JAVAssist字节码编译停顿插入逻辑;
通过所述目标JVM进程中包括的预设执行单元执行所述停顿插入逻辑,在每个所述节点组件的执行步骤前插入对应的所述停顿代码;
其中,所述停顿代码包括中断所述JVM进程执行的代码断点状态,以及允许所述JVM进程正常执行的代码执行状态。
4.根据权利要求2所述的方法,其特征在于,所述响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点,具体包括:
通过所述调试面板展示包含全部所述节点组件的组件列表;
响应于用户针对所述组件列表中,所述节点组件的选择操作,确定业务流程中需要进行中断调试的所述目标调试节点;
在所述目标JVM进程中,针对每个所述目标调试节点,将该目标调试节点对应的所述停顿代码触发为所述代码断点;
通过所述代理服务部件将触发断点后的所述目标JVM进程反馈至所述调试面板。
5.根据权利要求2所述的方法,其特征在于,针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息,具体包括:
根据所述目标业务流程依次执行所述节点组件,并在对应所述代码断点的所述目标调试节点处中断执行;
确定执行所述目标业务流程至所述目标调试节点处的执行结果集,将所述执行结果集确定为所述流程上下文信息;
通过所述代理服务部件将所述流程上下文信息反馈至所述预设调试面板。
6.根据权利要求2所述的方法,其特征在于,所述响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件,具体包括:
响应于用户在所述调试面板中,针对所述流程上下文信息的修改操作,确定流程调试信息;
通过所述代理服务部件将所述流程调试信息转发至正在执行的所述目标JVM进程对应的流程引擎;
在所述目标业务流程的执行过程中,根据所述流程调试信息实时更新所述目标JVM进程。
7.根据权利要求1所述的方法,其特征在于,在响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件之后,所述方法还包括:
响应于用户的调试终止操作,撤销所述停顿代码,将所述目标业务流程恢复至停顿插入前的基础状态。
8.一种业务流程的调试装置,其特征在于,包括:
流程关联模块,用于获取目标业务流程,确定所述目标业务流程对应的节点组件;
停顿插入模块,用于在每个所述节点组件的执行步骤前,插入对应的停顿代码;
断点设置模块,用于响应于用户针对所述节点组件的筛选操作,确定目标调试节点,并触发所述目标调试节点对应的所述停顿代码为代码断点;
上下文信息确定模块,用于针对每个所述代码断点,确定所述目标业务流程执行至该代码断点对应的流程上下文信息;
流程更新模块,用于响应于用户针对所述流程上下文信息的修改操作,将修改后的所述流程上下文信息更新至对应的所述节点组件。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6中任一项所述的业务流程的调试方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7中任一项所述的业务流程的调试方法的步骤。
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 true CN117520181A (zh) | 2024-02-06 |
CN117520181B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118151948A (zh) * | 2024-05-13 | 2024-06-07 | 恒生电子股份有限公司 | 编译处理方法、装置、设备、存储介质以及程序产品 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102160037A (zh) * | 2008-07-18 | 2011-08-17 | 赛贝斯股份有限公司 | 只需设计一次就能在任何平台应用的移动应用开发框架 |
US20120151488A1 (en) * | 2010-12-10 | 2012-06-14 | International Business Machines Corporation | Measuring Transaction Performance Across Application Asynchronous Flows |
CN106462488A (zh) * | 2014-05-29 | 2017-02-22 | 微软技术许可有限责任公司 | 调试期间的性能优化提示呈现 |
US20190197181A1 (en) * | 2017-12-21 | 2019-06-27 | 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 |
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 | 中国移动通信有限公司政企客户分公司 | 业务流程执行方法、装置、设备及存储介质 |
-
2023
- 2023-11-21 CN CN202311554679.4A patent/CN117520181B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102160037A (zh) * | 2008-07-18 | 2011-08-17 | 赛贝斯股份有限公司 | 只需设计一次就能在任何平台应用的移动应用开发框架 |
US20120151488A1 (en) * | 2010-12-10 | 2012-06-14 | International Business Machines Corporation | Measuring Transaction Performance Across Application Asynchronous Flows |
CN106462488A (zh) * | 2014-05-29 | 2017-02-22 | 微软技术许可有限责任公司 | 调试期间的性能优化提示呈现 |
US20190197181A1 (en) * | 2017-12-21 | 2019-06-27 | 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 |
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)
Title |
---|
A. CARACAŞ 等: "Compiling business process models for sensor networks", 《2011 INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING IN SENSOR SYSTEMS AND WORKSHOPS (DCOSS)》, 11 August 2011 (2011-08-11), pages 1 - 8 * |
黄俊峰 等: "组件化服务与业务流程提取模型", 《计算机工程与设计》, vol. 29, no. 22, 16 February 2009 (2009-02-16), pages 5766 - 5769 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118151948A (zh) * | 2024-05-13 | 2024-06-07 | 恒生电子股份有限公司 | 编译处理方法、装置、设备、存储介质以及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117520181B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117520181B (zh) | 一种业务流程的调试方法、装置、电子设备及存储介质 | |
US7702959B2 (en) | Error management system and method of using the same | |
CN106649084B (zh) | 函数调用信息的获取方法及装置、测试设备 | |
US9892021B2 (en) | Injection of code modifications in a two session debug scripting environment | |
CN104679532B (zh) | 内核模块加载方法和装置 | |
CN104756086A (zh) | 用于调试依领域而定的语言的系统和方法 | |
CN104461625A (zh) | 一种热补丁实现方法和系统 | |
CN102681878A (zh) | 无需修改现有代码即可增加新软件特征的方法 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN103984626A (zh) | 一种生成测试用例脚本的方法及装置 | |
CN109101410B (zh) | 一种风险驱动测试方法和装置以及计算机可读存储介质 | |
CN108536451A (zh) | 应用程序的埋点注入方法和装置 | |
CN104391787A (zh) | 一种针对目标方法的监控、热切入方法及装置 | |
CN112148278A (zh) | 可视化的区块链智能合约框架及智能合约开发部署方法 | |
CN109766139B (zh) | 配置文件的配置方法及装置 | |
CN111126027A (zh) | 一种列表生成方法、装置、设备及介质 | |
CN115469833A (zh) | 动态规则引擎的实现方法和装置、电子设备和存储介质 | |
KR101416065B1 (ko) | 안드로이드 어플리케이션의 액티비티 기반 상태도 생성방법 | |
US7137043B1 (en) | Method and system for error handling | |
CN113778878A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
Tsumaki et al. | A framework of requirements tracing using UML | |
CN111078562A (zh) | 接口测试方法、终端设备及计算机可读存储介质 | |
US20160180262A1 (en) | System and method for testing enterprise transactions | |
CN108563578A (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN114741296A (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 |