CN101211276A - 用于处理业务过程中的中断的方法和系统 - Google Patents

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

Info

Publication number
CN101211276A
CN101211276A CNA2007101927541A CN200710192754A CN101211276A CN 101211276 A CN101211276 A CN 101211276A CN A2007101927541 A CNA2007101927541 A CN A2007101927541A CN 200710192754 A CN200710192754 A CN 200710192754A CN 101211276 A CN101211276 A CN 101211276A
Authority
CN
China
Prior art keywords
interruption
task
business procedure
interrupt flow
interrupt
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.)
Pending
Application number
CNA2007101927541A
Other languages
English (en)
Inventor
J·H·弗兰克
J·E·拉姆鲍
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101211276A publication Critical patent/CN101211276A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及用于处理业务过程中的中断的方法和系统,其实施例解决关于过程流中断的过程建模的现有技术缺陷,并提供一种用于对业务过程中的中断进行建模的新颖且非显而易见的方法、系统和计算机程序产品。在本发明的一个实施例中,可以提供一种用于对业务过程中的中断进行建模的方法。该方法可以包括执行业务过程流中的任务,检测当任务执行时发生的中断,确定该中断的定时要求,其可以调用立即响应或者可以在任务完成执行之后调用响应,以及发起可以取代或补充任务的常规输出的中断的中断流。

Description

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

Claims (7)

1.一种用于处理业务过程中的中断的方法,所述方法包括:
执行业务过程流中的任务;
检测对所述任务的中断;
确定对所述中断的定时要求;以及
当定时要求规定时立即处理所述中断流,否则在所述任务完成之后处理所述中断流。
2.根据权利要求1所述的方法,还包括:
确定所述中断的并发性要求;以及
当所述并发性要求表明为取代时,发起所述中断流来取代所述业务过程流;否则当所述并发性要求表明附加属性时,除了所述业务过程流之外还发起所述中断流。
3.根据权利要求1所述的方法,还包括:
加载对所述中断的监护;
评估所述监护以确定是否允许发起所述中断流;以及
只有当所述监护允许时才发起所述中断流。
4.一种业务过程数据处理系统,所述系统包括:
业务过程引擎;以及
中断处理器逻辑,包括能够完成以下功能的程序代码:检测对受所述业务过程引擎管理的业务过程流的执行任务的中断,确定对所述中断的定时要求,当所述定时要求规定时立即发起中断流,否则在所述被中断的任务完成之后发起中断流。
5.根据权利要求4所述的系统,其中所述中断包括并发性属性,所述并发性属性规定了是作为对将在所述被中断的任务正常完成之后进行的业务过程流的补充而发起相应的中断流,还是代替所述业务过程流来发起所述中断流。
6.根据权利要求4所述的系统,还包括连接到所述中断的监护,所述监护包括布尔表达式,当被评估时所述表达式表明是否要发起相应的中断流。
7.一种计算机程序产品,包括包含用于处理业务过程中的中断的计算机可用程序代码的计算机可用介质,所述计算机程序产品包括:
用于执行根据权利要求1-3中任一项所述的方法步骤的计算机可用程序代码。
CNA2007101927541A 2006-12-29 2007-11-16 用于处理业务过程中的中断的方法和系统 Pending CN101211276A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/618,182 US20080163224A1 (en) 2006-12-29 2006-12-29 Modeling interrupts in a business process
US11/618,182 2006-12-29

Publications (1)

Publication Number Publication Date
CN101211276A true CN101211276A (zh) 2008-07-02

Family

ID=39585929

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101927541A Pending CN101211276A (zh) 2006-12-29 2007-11-16 用于处理业务过程中的中断的方法和系统

Country Status (2)

Country Link
US (1) US20080163224A1 (zh)
CN (1) CN101211276A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292236A (zh) * 2015-11-30 2018-07-17 华为技术有限公司 一种信息处理方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460304B1 (en) * 2012-09-28 2016-10-04 Emc Corporation Data services generation
US10007554B2 (en) * 2013-03-13 2018-06-26 Microsoft Technology Licensing, Llc Task scheduling based on user interaction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487066A (en) * 1988-03-21 1996-01-23 First Pacific Networks, Inc. Distributed intelligence network using time and frequency multiplexing
US5430850A (en) * 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
US5675807A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Interrupt message delivery identified by storage location of received interrupt data
US6369855B1 (en) * 1996-11-01 2002-04-09 Texas Instruments Incorporated Audio and video decoder circuit and system
US5873071A (en) * 1997-05-15 1999-02-16 Itg Inc. Computer method and system for intermediated exchange of commodities
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6476814B1 (en) * 1998-06-25 2002-11-05 Wordgraph, Inc. Display structure for representation of complex systems
US7330895B1 (en) * 2001-03-15 2008-02-12 Microsoft Corporation Representation, decision models, and user interface for encoding managing preferences, and performing automated decision making about the timing and modalities of interpersonal communications
US7076474B2 (en) * 2002-06-18 2006-07-11 Hewlett-Packard Development Company, L.P. Method and system for simulating a business process using historical execution data
US7350188B2 (en) * 2002-07-31 2008-03-25 Sap Aktiengesellschaft Aggregation of private and shared workflows
US7698338B2 (en) * 2002-09-18 2010-04-13 Netezza Corporation Field oriented pipeline architecture for a programmable data streaming processor
US7062537B2 (en) * 2002-11-25 2006-06-13 Microsoft Corporation Workflow services architecture
US20050021502A1 (en) * 2003-05-23 2005-01-27 Benjamin Chen Data federation methods and system
EP1639458A4 (en) * 2003-06-12 2010-05-05 Reuters America BUSINESS PROCESS AUTOMATION
US20050132011A1 (en) * 2003-12-12 2005-06-16 International Business Machines Corporation Method for managing interruptions to a network user
US7870184B2 (en) * 2004-04-05 2011-01-11 Avaya Inc. Communications services for business process design
CA2604312C (en) * 2005-04-15 2014-12-09 Esprida Corporation Apparatus and method for managing a network of intelligent devices
US7685259B2 (en) * 2006-02-24 2010-03-23 Michael J. Strand Locally responsive kiosk signage from on-line source

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292236A (zh) * 2015-11-30 2018-07-17 华为技术有限公司 一种信息处理方法及装置

Also Published As

Publication number Publication date
US20080163224A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
US10101991B2 (en) Managing a software-patch submission queue
WO2019024674A1 (zh) 智能合约处理方法及装置
CN107247619B (zh) 虚拟机热迁移方法、装置、系统、存储介质及设备
CN106201878B (zh) 测试程序的执行方法和装置
US7870424B2 (en) Parallel computer system
CN107148617B (zh) 日志协调存储组的自动配置
CN106095483A (zh) 服务的自动化部署方法及装置
CN112486466B (zh) 一种基于微服务架构的快速通用基础框架实现方法
CN109302321A (zh) 服务器、业务需求处理系统、方法和监控系统
CN106406980B (zh) 一种虚拟机的部署方法和装置
US10248686B2 (en) Shared data with relationship information
CN103309796A (zh) 一种组件对象模型对象的监控方法和装置
JP2018067302A (ja) ソフトウェアサービス実行装置、システム、及び方法
CN108628733B (zh) 批量业务处理操作的测试方法及装置
CN101211276A (zh) 用于处理业务过程中的中断的方法和系统
CN103019809B (zh) 业务处理装置和方法、及业务处理控制装置
JP5040970B2 (ja) システム制御サーバ、ストレージシステム、設定方法および設定プログラム
JP4798395B2 (ja) リソース自動構築システム及び自動構築方法並びにそのための管理用端末
CN116974874A (zh) 数据库的测试方法、装置、电子设备及可读存储介质
JP6564067B2 (ja) サービス管理方法及び装置
CN114996955A (zh) 一种云原生混沌工程实验的靶场环境构建方法及装置
KR101974091B1 (ko) 머신러닝 기반 쓰레드풀을 관리하는 방법 및 이를 사용한 컴퓨팅 장치
US20080282262A1 (en) Automatic and configurable loading of loosely coupled service oriented software components
CN116842000B (zh) 一种数据库的运维管理方法及系统
CN106293897B (zh) 组件自动化调度系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080702