用于处理业务过程中的中断的方法和系统的制作方法

文档序号:6614567阅读:170来源:国知局
专利名称:用于处理业务过程中的中断的方法和系统的制作方法
技术领域
本发明涉及业务过程管理领域,并且更特别地涉及管理用于业务过 程的过程流中引起中断的事件。
背景技术
业务过程程序范例代表了对广泛范围的分布式数据处理的革命性 方法。业务过程程序利用杠、散耦合的集成模型来允许在包括企业-消费 者、企业-企业以及企业应用集成的各种领域内灵活地集成异类系统。 通过利用消息传送协议、用于描迷业务过程逻辑的公共语法以及用于以 系统方式发布和发现服务的基础设施,业务过程可以"找到"服务,(其 实现可以是另 一 业务过程),并且可以遵循一种松散耦合的独立于平台 的模型来与这些服务进行交互。最近,业务过程程序的交互模型可以被看作是同步或请求性异步交 互的无状态模型。用于业务交互的模型通常假设在涉及两方或多方的有 状态长时间运行交互内同步和异步的对等消息交换序列。然而,系统集 成需要的不仅仅是利用标准协议进行筒单交互的能力。相反,只有当应 用和业务过程能够通过使用还包括支持对不经请求的自发交互(称为中 断)的标准过程集成模型来集成他们的复杂交互时,才有可能获得作为 集成平台的业务过程程序范例的全部潜力。此外,必须能够对处理运行 过程中的中断的定时(其可以是立即或推迟的)以及中断与过程中过程 流的并发性(中断可以补充或取代该过程流)进行建模。工作流语言即使没有实现标准过程集成模型的所有方面,也实现了 其很多方面。在这一点上,典型的工作流语言规范定义了用于集成跨企 业业务过程的技术。通过协调松散耦合服务跨企业边界的有状态交互, 工作流语言可以提供对企业与其业务伙伴之间、供货商与消费者之间的
交互进行建模的手段,并且由此提供企业的价值链。更重要的是,工作 流语言可以定义用于规定在业务过程程序中使用的业务过程行为的符弓—工作流语言与旧的、更传统的过程化编程语言的不同之处在于,工 作流语言致力于允许应用程序开发者规定业务过程程序中现有处理逻 辑之间的交互而不是要求开发者从无到有地设计业务过程程序及其伴 随的处理逻辑。作为结果,在工作流范例中,执行环境将程序指令分成 多个不相交的任务,通常称为活动,它们可以通过对活动之间依赖关系 的描述(通常称为连接)耦合在一起。通常,活动可以包括可以被过程引擎调用的程序逻辑。例如,程序 逻辑可以是本地或远程可调用的程序对象,其可以^^过程引擎激活。过 程引擎可以基于为不同程序对象规定的连接确定调用程序逻辑的顺序。 因此,业务过程程序可以在概念上被视为在运行时环境中执行的活动和 连接的分组。注意,与传统的过程化程序逻辑不同,业务过程程序的处 理逻辑或程序对象不需要以开发者规定的确切顺序调用。相反,过程引 擎可以保留以任何顺序执行程序对象的自由,只要满足关系连接的约束 即可。业务过程通常被建模为有向图,其节点代表步骤或任务,并且其弧 线代表控制或数据依赖关系。任务的开始基于其依赖关系的完成。在真 实世界业务过程计算机模型外部的真实世界过程中,过程可以在不进行警告的情况下以不可预知的方式被破坏(disrupt)。破坏的影响依赖于过 程执行的当前状态,其可能涉及一个或多个(并发的)任务。对于中断 发生时正在执行的每个任务,影响可以是其结果被丟弃(被中断"取代") 或被使用(中断是"附加性的,,)。此外,中断所引起的任何附加的流可 以是立即的,或者延迟的(等待任务完成)。某些过程建模技术允许对过程流的中断进行建模。通常,在这少数 几种允许对中断进行建模的建模技术中,当接收到中断通知之后,当前 执行的任务可能终止和被放弃。此后,可能开始不同的任务,而不是开 始在流中本来跟随在该终止的任务之后的任务。这就是"立即的且取代
性的"中断的情况。本领域普通技术人员可以理解,这少数几种允许对 中断进行建模的建模技术保持灵活性的原因在于它们全部忽略了处理中断的三种其他可能性"立即的且附加性的,,(中断流立即发生,但是 被中断的任务仍然完成并且其后续流仍然如其正常的方式发生);"延迟 的且取代性的"(被中断的任务被允许完成,但是动作的后续过程是不 同的流,其可以使用该任务的结果);以及"延迟的且附加性的,,(被中 断的任务被允许完成,但是动作的后续过程现在具有附加性的流,其可 以使用该任务的结果)。发明内容本发明的实施例解决关于过程流中断的过程建模的现有技术缺陷, 并提供一种用于对业务过程中的中断进行建模的新颖且非显而易见的 方法、系统和计算机程序产品。在本发明的一个实施例中,可以提供一 种用于对业务过程中的中断进行建模的方法。该方法可以包括执行业务 过程流中的任务,检测任务的中断,确定该中断的定时要求,以及用中 断流取代或补充任务完成之后的常规流。同样,发起用于中断的中断流 可以包括加载对所述中断的监护;评估所述监护以确定是否允许发起所 述中断流;以及只有当所述监护允许时才发起所述中断流。在本发明的另 一个实施例中,可以提供一种业务过程数据处理系 统。该系统可以包括配置为通过计算机通信网络通信连接到在远程主机 内提供的服务的服务目录的业务过程引擎。该系统还可以包括中断处理 器逻辑。该逻辑可以包括能够完成下述功能的程序代码检测对受所述 业务过程引擎管理的业务过程流的执行任务的中断,以确定对所述中断 的定时要求,当所述定时要求规定时立即发起中断流,否则只有在所述 任务完成之后发起中断流,以及允许和不允许正常情况下将随后进行的流o本发明的其他方面将在后面的描述部分中给出,并且部分地将才艮据 描述变得明显,或者可以通过实践本发明而理解。本发明的各个方面可 以借助在所附权利要求中特别指出的元素和组合来实现和获得。应当理
解,上述概述和以下的具体描述都仅仅是示例性的和解释性的,并且不 构成对要求保护的本发明的限制。


可以包含在本说明书中并作为本说明书构成部分的附图例示了本 发明的实施例,其与描述内容一起用于解释本发明的原理。在此示出的 实施例是目前优选的实施例,然而可以理解,本发明不限于所示出的具体安排和手段,附图中图1A-图1D共同作为对安排用于对业务过程中的中断进行建模的 业务过程;漠型的图示;图2是配置用于处理业务过程中的中断的业务过程执行系统的示意 图;以及图3是例示用于在业务过程执行系统中处理中断的逻辑流的过程图。
具体实施方式
本发明的实施例提供了 一种用于对业务过程中的中断进行建模的 方法、系统和计算机程序产品。根据本发明的一个实施例,业务过程中 的中断可以才艮据定时和并发性进行分类。特别地,业务过程中的中断可 以被分为立即的或延迟的,以及附加性的或取代性的。响应于检测到在 业务过程流中任务执行过程中接收到中断,可以检查该中断的分类并相 应地进行动作。在这一点上,立即类別的中断可以导致中断流的立即发 起。相反,延迟类别的中断可以允许中断流的延迟发起。同样的,取代 性特征的中断可以致使为了执行中断流放弃在被中断任务之后的"正 常"流的执行。相反,附加性特征的中断可以导致中断流与正常流的并 发执行。在进一步的例示中,图1A-图1D共同作为安排用于对业务过程中 的中断进行建模的业务过程模型的图示。如图1A-1D所示,中断可以 被建模为离开业务过程流100中节点110的流120。中断可以是"待命
的(armed)",也就是说,该中断对引起中断的事件的发生较敏感,只要 所耦合的节点110或节点组是活动的。如果引起中断的事件在此时间内 发生,则中断已经发生。因此,中断流120的发生依赖于中断定时属性 的定时特征。如图1A和图1B所示,对于立即性的中断,只要引起中断的事件被 处理,中断流120就开始。相反,如图1C和图1D所示,对于延迟的中 断,当被中断的节点UO(或者节点的组IOO)完成时,中断流120开始。 然而应当理解,尽管过程执行在节点的"区域,,或组100的范围内,中 断也可以是待命的。在这种特定情形下,可以在代表节点的组IOO的虚 线矩形的内部而不是在节点的组100内的特定节点IIO的内部画出中断 流120开始的中空圆形。此外,"推迟的,,中断可以在节点的区域或组 IOO上被禁止,原因是可能很难确定节点的区域或组IOO何时完成执行。中断流120的第二个特征是它与中断节点(任务2 ) 110或节点的组 100的常M^输出的关系。如图1B和图1D所示,对于附加性的中断,中 断流120作为对来自被中断节点(任务2) 110的任何常规输出流的补充 而发生。相反,对于取代性的中断,如图1A和图1C所示,中断流120 取代被中断节点(任务2) 110的常规输出流而发生。任选地,除了上述的中断流120的定时属性和并发性属性,中断可 以包括监护130。监护130可以包括依赖于过程流状态的布尔(Boolean) 条件。如果存在,监护130可以在中断的时间被评估。在响应中,只有 所有的监护130评估为真,中断流120才发生。如果有任何监护130为 假,则中断对于规定了中断流120的节点110或节点的组100没有影响。在进一步的例示中,图2是配置用于对业务过程中的中断进行建模 的业务过程建模数据处理系统的示意图。系统可以包括主机计算平台 210,其被配置用于通过计算机通信网络230通信地连接到一个或多个 计算客户端220。主机计算平台210可以支持安排用于基于一个或多个 业务过程定义280发起业务过程流的业务过程引擎270的操作。为了发 起业务过程流,业务过程引擎270可以包括用于询问服务目录240以识 别和获取通过计算机通信网络230在远程主才几250提供的服务实例260 的配置。注意,中断处理器逻辑300可以连接到业务过程引擎270。中断处 理器逻辑300可以包括能够处理中断事件290以作为对正在进行的业务 过程流的补充或取代性地代替正在进行的业务过程流而发起中断流的 程序代码。中断处理器逻辑300的程序代码还可以支持基于中断290的 属性确定是否立即处理正在发生的中断的影响。具体而言,图3是例示能够在业务过程建模系统中处理中断的过程 执行引擎内的逻辑流的过程图。开始于方框305,可以获取要执行的过 程流,并且在方框310中,可以选择过程流中要执行的第一个任务。随 后,在方框315中,可以开始第一个任务的任务执行。在判决方框320中,可以确定是否已经中断过程流。如果没有,在 判决方框325中,可以确定是否已经完成任务。如果没有,过程可以回 到判决方框320。否则,过程可以继续到判决方框330。在判决方框330 中,可以确定过程流之前是否已经被中断取代。如果是这样,过程在方 框380中结束。否则,在判决方框335中,可以确定在过程流中是否还 有其他任务仍需要处理。如果是,则可以获取过程流中要执行的下一个 任务,并且在方框315中可以执行该任务。随后,过程可以重复至判决 方框325。当没有更多的任务需要在流中执行时,过程在方框380中结 束。返回到判决方框320中,如果确定过程流已经-故中断,则在方框345 中,可以确定中断的定时和并发性,并且在判决方框350中,可以确定 定时是否是立即的。如果不是,在方框355中,过程可以等待任务完成。 在这一点上,在判决方框360中如果确定任务已经完成,则在判决方框 365中,还可以确定中断的并发性是附加性的还是取代性的。如果确定 并发性是取代性的,则在方框370中不允许其与的过程流。在任何一种 情况下,在方框375中可以发起中断流。随后,过程可以继续到判决方 框335,直到没有需要在过程流中获取的其余任务为止。本发明的实施例可以采取整体硬件实施例的形式、整体软件实施例 的形式或包含了硬件元素和软件元素的实施例的形式。在优选的实施例 中,本发明以软件形式实现,其包括但不限于固件、驻留软件、微码等。 此外,本发明可以采取可以从计算机可用或计算机可读介质中访问的计 算机程序产品的形式,其提供由计算机或任何指令执行系统使用或结合 计算机或任何指令执行系统使用的程序代码。为了描述的目的,计算机可用或计算机可读介质可以是能够容纳、 存储、传送、传播或传输由指令执行系统、设备或装置使用或结合指令 执行系统、设备或装置使用的程序的任何介质。该介质可以是电、磁、 光、电磁、红外、或半导体系统(或者设备或装置)或传播介质。计算 机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘和光盘。光盘的 现有例子包括光盘-只读存储器(CD-ROM )、光盘-读/写(CD - R/W) 和DVD。适合于存储和/或执行程序代码的数据处理系统将包括至少 一个直 接或通过系统总线间接连接到存储器单元的处理器。存储器单元可以包 括在程序代码实际执行期间使用的本地存储器、大容量存储装置以及高 速緩沖存储器,高速緩存存储器提供对至少某些程序代码的临时存储, 以便减少在执行期间代码必须从大容量存储装置中获取的次数。输入/ 输出或I/0装置(包括但不限于键盘、显示器、指示设备等)可以直接 或通过中间I/O控制器连接到系统。网络适配器也可以连接到系统以使得数据处理系统能够通过中间的专用网或公共网连接到其他的数据处 理系统或远程打印机或存储装置。调制解调器、线缆调制解调器和以太 网卡仅仅是网络适配器的一些当前可用类型。
权利要求
1.一种用于处理业务过程中的中断的方法,所述方法包括执行业务过程流中的任务;检测对所述任务的中断;确定对所述中断的定时要求;以及当定时要求规定时立即处理所述中断流,否则在所述任务完成之后处理所述中断流。
2. 根据权利要求1所述的方法,还包括 确定所述中断的并发性要求;以及当所述并发性要求表明为取代时,发起所述中断流来取代所述业务 过程流;否则当所述并发性要求表明附加属性时,除了所述业务过程流 之外还发起所述中断 流o
3. 根据权利要求1所述的方法,还包括 加载对所述中断的监护;评估所述监护以确定是否允许发起所述中断流;以及 只有当所述监护允许时才发起所述中断流。
4. 一种业务过程数据处理系统,所述系统包括 业务过程引擎;以及中断处理器逻辑,包括能够完成以下功能的程序代码检测对受所 述业务过程引擎管理的业务过程流的执行任务的中断,确定对所述中断 的定时要求,当所述定时要求规定时立即发起中断流,否则在所述被中 断的任务完成之后发起中断流。
5. 根据权利要求4所述的系统,其中所述中断包括并发性属性,所 述并发性属性规定了是作为对将在所述被中断的任务正常完成之后进 行的业务过程流的补充而发起相应的中断流,还是代替所述业务过程流 来发起所述中断 流o
6. 根据权利要求4所述的系统,还包括连接到所述中断的监护,所 述监护包括布尔表达式,当被评估时所述表达式表明是否要发起相应的中断流。
7. —种计算机程序产品,包括包含用于处理业务过程中的中断的计算机可用程序代码的计算机可用介质,所述计算机程序产品包括用于执行根据权利要求1-3中任一项所述的方法步骤的计算机可 用程序代码。
全文摘要
本发明涉及用于处理业务过程中的中断的方法和系统,其实施例解决关于过程流中断的过程建模的现有技术缺陷,并提供一种用于对业务过程中的中断进行建模的新颖且非显而易见的方法、系统和计算机程序产品。在本发明的一个实施例中,可以提供一种用于对业务过程中的中断进行建模的方法。该方法可以包括执行业务过程流中的任务,检测当任务执行时发生的中断,确定该中断的定时要求,其可以调用立即响应或者可以在任务完成执行之后调用响应,以及发起可以取代或补充任务的常规输出的中断的中断流。
文档编号G06F9/48GK101211276SQ20071019275
公开日2008年7月2日 申请日期2007年11月16日 优先权日2006年12月29日
发明者J·E·拉姆鲍, J·H·弗兰克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1