用于调试多个工作流实例的系统和方法

文档序号:6478787阅读:140来源:国知局
专利名称:用于调试多个工作流实例的系统和方法
技术领域
一般来说,本文所述的系统和方法涉及调试(debug)工作流实例,更具体来说,涉 及同时监测(monitor)和调试整个分布式网络的多个工作流实例。
背景技术
至少部分已知调试工具允许对网络上正运行工作流(workflow)实例的远程调 试。部分这类调试工具使用图形客户机界面。但是,这类工具要求将调试服务安装在运行 工作流实例的计算机或装置上。此外,当用户连接到装置以便调试工作流实例时,该装置上 运行的所有其它工作流实例停止。此外,对于至少部分已知调试工具,当使用具有图形客户机界面的工具时,每次只 能调试一个工作流实例。类似地,对于至少部分已知调试工具,在任一时刻只有一个具有图 形客户机界面的调试工具可连接到装置。

发明内容
在一个方面,一种用于监测网络上进程(process)的方法包括附连到在远程装置 上运行的复数个进程中的第一进程,使得复数个进程中的第二进程不被中断。该方法还包 括在客户机显示第一进程的细节。在另一个方面,一种用于调试工作流实例的方法包括向工作流引擎传递请求以附 连到复数个工作流实例中的第一工作流实例,使得复数个工作流实例中的第二工作流实例 不被中断。该方法还包括向至少一个客户机传递与第一工作流实例相关的消息,所述消息 包括断点(breakpoint)状态和工作流实例状态中至少之一。在另一个方面,提供一种用于监测和调试网络上复数个进程的系统。该系统包括 通信上耦合到网络的至少一个客户机以及包括工作流服务提供商和工作流引擎的至少一 个服务器。至少一个服务器在通信上耦合到网络。该系统还包括通信上耦合到网络并且配 置成运行复数个进程的至少一个装置。工作流引擎配置成监测复数个进程中的第一进程, 使得复数个进程中的第二进程不被中断。至少一个客户机配置成显示第一进程的细节,其 中细节包括在第一进程向第二进程传递了数据时引发的告警、在第一进程遇到故障时引发 的告警以及在第一进程完成时引发的告警中至少之一。


图1和图2示出本文所述系统和方法的示范实施例。图1和图2所示并且结合图 1和图2所述的系统和方法只是示范性的。图1是示范远程调试系统的示意图;以及图2是示出使用图1所示调试系统调试工作流实例的示范方法的流程图。
具体实施例方式下面提出的是用于调试和监测自动化系统中正运行工作流实例的示范系统和方法 的描述,并且提供多个技术效果。一种这样的技术效果是提供使一个或多个客户机能够同时 调试整个分布式网络上的多个工作流实例而没有影响其它正运行工作流实例的系统和方法。本文所使用的术语“工作流实例”是指被执行或运行的进程或程序。工作流实例 在电耦合到网络的装置、例如计算机或自动化控制器上运行。图1是示范工作流实例调试系统100的示意图。在示范实施例中,系统100包括至 少一个客户机102、至少一个服务器104和至少一个远程装置106。系统100通过网络108 互连。在一个实施例中,网络108是广域网(WAN),例如因特网。在一个备选实施例中,网络 108是局域网(LAN),例如内联网。网络108包括连接上述系统100的单元的物理介质和中 间装置(未示出)、例如路由器和交换机。在示范实施例中,客户机102经由网络接口(未示出)在通信上连接到网络108。 用户接入、例如拨号到或者直接登录到内联网或因特网,以便获得对系统100的访问。客户 机102可通过包括例如WAN或LAN的不同网络(未示出)、拨号连接、电缆调制解调器、无线 网络和专用高速ISDN线的任何适当接口连接到网络108。客户机102包括能够与网络108 互连的任何适当装置,非限制性地包括基于万维网的电话或者其它基于万维网的可连接设 备。客户机102可以是仅运行操作系统以及访问系统100并且与其通信的应用程序的独立 客户机、例如瘦(thin)客户机。备选地,客户机102可操作为安装在个人计算机(PC)上的 应用程序,并且可与其它程序类似地和/或并发地运行。客户机102还包括电连接到系统 总线(未示出)的系统存储器(未示出),并且在一个实施例中包括操作系统以及面向用户 的程序和数据。客户机102还包括用户交互装置,例如显示器110、键盘112和鼠标114。服务器104经由网络接口(未示出)在通信上耦合到网络108。服务器104包括电 连接到系统总线(未示出)的系统存储器(未示出),并且在一个实施例中包括操作系统。 在示范实施例中,服务器104包括工作流服务提供商116。服务器104还包括至少一个处理 器(未示出),其支持正运行服务提供商、如服务提供商116的枚举(enumeration)。另外, 服务器104包括工作流引擎118。在示范实施例中,服务器104主管(host)工作流服务提 供商116和工作流引擎118。在一个备选实施例中,系统100包括一个以上服务器104,使 得第一服务器主管工作流服务提供商116,而第二服务器主管工作流引擎118。在另一备选 实施例中,服务器104配置为集群或复制环境中多个服务器的集合。系统100还包括至少一个远程装置106。各远程装置106可以是自动化系统装置, 例如但不限于制造机器和/或数据传感器。备选地,各远程装置106可以是操作上耦合到 自动化系统装置的计算机。在操作期间,客户机102经由网络108向服务器104传送调试命令。更具体来说, 客户机102向工作流服务提供商116传送调试命令,工作流服务提供商116又将这些命令 传送给工作流引擎118。调试命令可包括其中包含但并不限于仅包含调试初始化命令和/ 或调试释放命令的命令。工作流服务提供商116跟踪请求工作流引擎118附连到正运行工 作流实例以便进行调试的客户机102的标识符。工作流服务提供商116还跟踪正被调试工 作流实例的标识符。因此,工作流服务提供商116使用这类标识符来管理调试会话。例如, 工作流服务提供商跟踪在装置上运行并且正被第一客户机进行调试的第一工作流实例,同时还跟踪在装置上运行并且正被第二客户机进行调试的第二工作流实例。相应地,工作流 服务提供商116使多个客户机102能够调试在同一装置106上运行的工作流实例。类似地, 工作流服务提供商116使多个客户机102能够调试在装置上运行的同一工作流实例。举例 来说,工作流服务提供商跟踪在装置上运行并且正被第一客户机和第二客户机同时调试的 工作流实例。此外,工作流服务提供商116使多个客户机102能够调试在多个装置106上 运行的多个工作流实例。工作流引擎118响应于由客户机102传送给工作流服务提供商116的调试请求而 附连到所请求的工作流实例。然后,工作流引擎118向工作流服务提供商116传送与工作 流实例相关的消息,工作流服务提供商116又将消息传送给客户机102。消息包括但不限于 关于正等待外部数据的工作流实例已接收到该数据的通知、关于已经发生故障的通知和/ 或关于被调试的工作流实例已经完成的通知。消息由客户机102接收并且使用显示器110 显不。客户机102还管理被调试工作流实例内断点的添加和删除。断点是当发生预定动 作时和/或当值设置成预定值或预定值范围之内时在工作流实例中的定义点。当发起调试 会话时,客户机102传送对那个特定工作流实例的当前所定义断点的列表(若有的话)。客 户机102使用户能够在调试会话正运行时添加新的断点。此外,客户机102使用户能够从 正运行调试会话删除断点。当遇到断点时,工作流引擎118暂停工作流实例,并且等待来自 客户机102的命令。在一个实施例中,客户机102指示工作流引擎118从所遇到的断点继 续工作流实例或者停止工作流实例。在备选实施例中,客户机102还可指示工作流引擎118 从工作流实例中与所遇到的断点不同的点继续工作流实例。在另一备选实施例中,客户机 102还可指示工作流引擎118切换到执行不同的工作流实例。在另一备选实施例中,客户 机102可动态修改工作流实例的流程控制逻辑。例如,客户机102可修改工作流实例逻辑 中的“while”循环,使得工作流实例相对于经修改的流程控制逻辑以不同方式起作用。另外,客户机102可请求修改被调试工作流实例的工作流实例变量值。客户机102 向工作流服务提供商116传送该请求,工作流服务提供商116又将该请求传送给工作流引 擎118。工作流引擎118尝试修改变量值,并且传送指明该值是否被成功修改的响应。图2是示出使用系统100 (图1所示)调试工作流实例的示范方法200的流程图。 在示范实施例中,客户机102(图1所示)经由网络108(图1所示)向服务器104(图1所 示)传递(202)请求。更具体来说,客户机102向工作流服务提供商116(图1所示)传递 (202)调试请求。然后,工作流服务提供商116向工作流引擎118(图1所示)传递该请求。此外,在示范实施例中,工作流引擎118响应于由客户机102向工作流服务提供商 116所传送的调试请求而附连到(204)装置106(图1所示)上正运行的所请求工作流实例。 然后,工作流引擎118向工作流服务提供商116传送(206)与工作流实例相关的消息,工作 流服务提供商116又将消息传送给客户机102。消息包括但不限于关于正等待外部数据的 工作流实例已接收到该数据的通知、关于发生故障的通知和/或关于被调试的工作流实例 已经完成的通知。消息由客户机102接收并且使用显示器110(图1所示)显示(208)。在备选实施例中,当发起调试会话时,客户机102传送对那个特定工作流实例的 当前所定义断点的列表(若有的话)。更具体来说,客户机102向工作流服务提供商116传 送当前所定义断点的列表。客户机102使用户能够在调试会话正运行时添加新的断点。此
6外,客户机102使用户能够从正运行调试会话删除断点。当遇到断点时,工作流引擎118暂 停工作流实例,并且等待来自客户机102的命令。在一个实施例中,客户机102指示工作流 引擎118从所遇到的断点继续工作流实例或者停止工作流实例。在备选实施例中,客户机 102还可指示工作流引擎118从工作流实例中与所遇到的断点不同的点继续工作流实例。 在另一备选实施例中,客户机102还可指示工作流引擎118切换到执行不同的工作流实例。 在另一备选实施例中,客户机102可动态修改工作流实例的流程控制逻辑。在另一备选实施例中,客户机102请求修改被调试工作流实例的工作流实例变量 值。客户机102向工作流服务提供商116传送该请求,工作流服务提供商116又将该请求 传送给工作流引擎118。工作流引擎118尝试修改变量值,并且传送指明该值是否被成功修 改的响应。上述系统和方法便于在不中断在同一装置上运行的其它工作流实例的情况下 远程调试正运行工作流实例。此外,使用户能够远程调试工作流实例便于用户提供场外 (offsite)帮助而无需在远程装置上添加额外调试软件。此外,上述系统和方法便于同时调 试在同一装置上运行的多个工作流实例,无论是从一个客户机进行调试还是从多个客户机 进行调试。总之,在一个实施例中,提供一种用于监测网络上进程的方法。该方法包括附连到 在远程装置上运行的复数个进程中的第一进程,使得复数个进程中的第二进程不被中断。 在一个具体实施例中,附连到第一进程包括将调试命令从容户机传递给工作流引擎。工作 流引擎响应于客户机命令而附连到第一进程。在另一实施例中,附连到第一进程包括将调 试命令从复数个客户机传递给工作流引擎,这些命令与多个进程相关。工作流引擎附连到 各客户机所请求的进程。此外,在一个实施例中,该方法还包括在第一进程中定义至少一个断点,并且向工 作流引擎传递所述至少一个断点。在备选实施例中,该方法包括向工作流引擎传递修改进 程变量值的客户机请求,并且从工作流引擎传递关于变量值修改是否成功的响应。此外,在一个实施例中,该方法还包括在客户机显示第一进程的细节。在另一实 施例中,显示第一进程的细节包括向客户机传递与第一进程相关的消息。消息包括进程变 量值、断点状态、关于第一进程向第二进程传递了数据的告警、故障告警和/或进程完成告 警。在另一实施例中,如果第一进程遇到了断点,则显示第一进程的细节包括显示一组选 项,这组选项包括停止第一进程、从断点继续第一进程、跳到第二进程、跳到第一进程中的 不同位置和/或修改第一进程的流程控制逻辑。本文所使用的、以单数形式所述并冠有词“一个”或“一种”的单元或步骤应该被 理解为不排除复数个所述单元或步骤的情况,除非明确说明了这种排除情况。此外,本发明 对“一个实施例”的说法不是要被理解为排除也结合了所述特征的其它实施例的存在。以上详细描述了用于实现远程调试和/或监测一个或多个正运行工作流实例的 系统和方法的示范实施例。所述系统和方法并不局限于本文所述的具体实施例,而是所述 系统的组件和/或所述方法的步骤可单独且独立于本文所述的其它组件和/或步骤地使 用。此外,所述系统组件和/或方法步骤也可在其它系统和/或方法中定义或者与其结合 使用,而并不局限于仅采用本文所述的系统和方法来实施。虽然按照各个具体实施例描述了系统和方法,但是本领域技术人员要领会,在权利要求书的精神和范围之内,可经过修改来实施所述系统和方法。
权利要求
一种用于监测网络上进程的方法,所述方法包括附连到在远程装置上运行的复数个进程中的第一进程,使得所述复数个进程中的第二进程不被中断;以及在客户机显示所述第一进程的细节。
2.如权利要求1所述的方法,其中,附连到第一进程包括将调试命令从所述客户机传 递到工作流引擎,所述工作流引擎响应于所述客户机命令而附连到所述第一进程。
3.如权利要求1所述的方法,其中,附连到第一进程包括将调试命令从复数个客户机 传递到工作流引擎,所述调试命令与所述复数个进程中的多个进程相关,所述工作流引擎 附连到各客户机所请求的进程。
4.如权利要求1所述的方法,还包括在所述第一进程中定义至少一个断点;以及向所述工作流引擎传递所述至少一个断点。
5.如权利要求4所述的方法,其中,显示所述第一进程的细节包括向所述客户机传递 与所述第一进程相关的消息,所述消息包括进程变量值、断点状态、关于所述第一进程向所 述第二进程传递了数据的告警、故障告警和进程完成告警中至少之一。
6.如权利要求4所述的方法,其中,所述第一进程遇到了所述至少一个断点,显示所述 第一进程的细节包括显示包含停止所述第一进程、从所述断点继续所述第一进程、跳到所 述第二进程、跳到所述第一进程中的不同位置和修改所述第一进程的流程控制逻辑中至少 之一的一组选项。
7.如权利要求1所述的方法,还包括向所述工作流引擎传递客户机请求以修改进程变量值;以及从所述工作流引擎传递指明所述变量值修改是否成功的响应。
8.一种用于调试工作流实例的方法,所述方法包括向工作流引擎传递请求以附连到复数个工作流实例中的第一工作流实例,使得所述复 数个工作流实例中的第二工作流实例不被中断;以及向至少一个客户机传递与所述第一工作流实例相关的消息,所述消息包括断点状态和 工作流实例状态中至少之一。
9.如权利要求8所述的方法,其中,向工作流引擎传递请求以附连到第一工作流实例 包括将所述请求从所述至少一个客户机传递到工作流服务提供商;将所述请求从所述工作流服务提供商传递到所述工作流引擎;以及附连到所述第一工作流实例,所述附连由所述工作流引擎响应于所述请求而进行。
10.如权利要求8所述的方法,还包括在所述第一工作流实例中定义至少一个断点,所述断点由所述至少一个客户机定义;以及向所述工作流引擎传递所述至少一个断点。
11.如权利要求10所述的方法,还包括删除与所述第一工作流实例相关的现有断点。
12.如权利要求8所述的方法,其中,传递与所述第一工作流实例相关的消息包括向所 述至少一个客户机传递消息,所述消息包括在所述第一工作流实例向所述第二工作流实例传递了数据时引发的告警、在所述第一工作流实例遇到故障时引发的告警以及在所述第一 工作流实例完成时引发的告警中至少之一。
13.如权利要求8所述的方法,还包括向所述工作流引擎传递请求以修改所述第一工作流实例的变量值; 向所述至少一个客户机传递指明所述变量值是否被成功修改的响应。
14.一种用于监测和调试网络上复数个进程的系统,所述系统包括 至少一个客户机,在通信上耦合到所述网络;至少一个服务器,包括工作流服务提供商和工作流引擎,所述至少一个服务器在通信 上耦合到所述网络;以及至少一个装置,在通信上耦合到所述网络,所述至少一个装置配置成运行复数个进程, 所述工作流引擎配置成监测所述复数个进程中的第一进程,使得所述复数个进程中的第二 进程不被中断,所述至少一个客户机配置成显示所述第一进程的细节,所述细节包括在所 述第一进程向所述第二进程传递了数据时引发的告警、在所述第一进程遇到故障时引发的 告警以及在所述第一进程完成时引发的告警中至少之一。
15.如权利要求14所述的系统,其中,所述工作流服务提供商配置成 从所述至少一个客户机接收请求以监测所述第一进程;将所述请求传递到所述工作流引擎,所述工作流引擎响应于所述请求而监测所述第一 进程;接收受所述工作流引擎监测的所述第一进程的细节;以及 将所述细节传递到所述至少一个客户机。
16.如权利要求15所述的系统,其中,所述工作流服务提供商还配置成 跟踪已经进行所述请求的所述至少一个客户机的标识符;以及跟踪被监测的所述第一进程的标识符。
17.如权利要求14所述的系统,其中,所述至少一个客户机还配置成 在所述第一进程中定义新断点;以及删除所述第一进程中的现有断点。
18.如权利要求17所述的系统,其中,所述至少一个客户机还配置成在所述第一进程 中遇到断点时显示与所述断点相关的一组选项,所述选项包括停止所述第一进程、从所述 断点继续所述第一进程、跳到所述第一进程中的不同操作、跳到所述第二进程以及修改所 述第一进程中的流程控制逻辑中至少之一。
19.如权利要求17所述的系统,其中,所述工作流引擎还配置成在遇到断点时暂停所 述第一进程。
20.如权利要求14所述的系统,其中,所述工作流服务提供商配置成通过所述至少一个客户机向所述工作流引擎传递请求以修改所述第一进程的变量值;以及向所述至少一个客户机传递指明所述变量值是否被成功修改的响应。
全文摘要
提供用于远程监测和调试分布式网络上进程的系统和方法。在一个方面,一种方法包括附连到在远程装置上运行的复数个进程中的第一进程,使得复数个进程中的第二进程不被中断;以及在客户机显示第一进程的细节。
文档编号G06F11/36GK101861570SQ200880113415
公开日2010年10月13日 申请日期2008年8月14日 优先权日2007年10月19日
发明者D·德贝内德托, J·加古斯, P·A·维瑟比 申请人:通用电气智能平台有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1