CN101552739A - 一种网络服务流程实例生命周期管理的方法及系统 - Google Patents
一种网络服务流程实例生命周期管理的方法及系统 Download PDFInfo
- Publication number
- CN101552739A CN101552739A CNA2008101034283A CN200810103428A CN101552739A CN 101552739 A CN101552739 A CN 101552739A CN A2008101034283 A CNA2008101034283 A CN A2008101034283A CN 200810103428 A CN200810103428 A CN 200810103428A CN 101552739 A CN101552739 A CN 101552739A
- Authority
- CN
- China
- Prior art keywords
- network service
- service process
- process example
- life cycle
- business datum
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络服务流程实例生命周期管理的方法及系统,以解决管理多个网络服务流程实例的问题。所述方法包括:创建网络服务流程实例,并生成唯一的标识;运行所述流程实例,每当流程运行到等待再次输入业务数据时,将所述标识、当前状态和运行时的业务数据进行保存;每当再次输入应用所需的业务数据后,根据所述标识将保存的运行时业务数据重新载入,并继续运行所述流程实例;最后销毁流程实例。本发明由于细分了网络服务流程实例的生命状态,所以能够灵活地转变实例的生命状态,并通过数据持久化的方法来存储实例和无失真地载入被存储的实例,方便用户长时间和灵活地来使用自己创建的流程实例,不需要维护这些实例的生命状态。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种网络服务流程实例生命周期管理方法及系统。
背景技术
针对不同的网络应用,例如在线医疗、电子商务等等,每种应用都有自己的处理流程,网络服务流程即指所述网络处理流程,而网络服务流程实例即指对应网络服务流程的实际运行实例。实质上,所述网络服务流程只是一个执行模板,表示业务执行逻辑,由于没有具体的业务数据而不能运行,只有当应用输入业务数据并生成对应的网络服务流程实例时才能真正的运行。因此,基于不同应用,存在多个网络服务流程;而基于不同的业务数据,一个网络服务流程通常对应多个网络服务流程实例。
参照图1,是网络服务流程实例的生成过程示意图。上层应用(即网络服务流程的使用者)首先订购自己需要的网络服务流程,然后上层应用会实际使用所述网络服务流程,每使用一次就生成一个对应所述网络服务流程的实例,此时该实例中就包含对应于这次实例的业务数据。
通常,一个网络服务流程实例在一次调用之后就会运行结束。但是,随着网络服务流程越来越复杂,在多用户、高并发量的情况下,这一个个的网络服务流程实例不会在上层应用的一次调用下就结束,而是只执行完其中的几个步骤就停止,然后等待上层应用再次调用并输入其它业务数据,才能继续运行直到结束。所述过程中,可能需要停止多次来等待数据输入。所以,就存在着管理所述多个网络服务流程实例的问题,也就是网络服务流程实例生命周期管理。其中,这些实例可能对应于同一个网络服务流程,也可能对应于多个网络服务流程。
发明内容
本发明所要解决的技术问题是提供一种网络服务流程实例生命周期管理的方法及系统,以解决管理多个网络服务流程实例的问题。
为解决上述技术问题,根据本发明提供的具体实施例,本发明公开了以下技术方案:
一种网络服务流程实例生命周期管理的方法,包括:
创建网络服务流程实例,并生成唯一的标识;
运行所述网络服务流程实例;
每当运行停止等待输入业务数据时,对所述标识、当前状态和运行时业务数据进行保存;
再次输入业务数据后,根据所述标识将保存的运行时业务数据重新载入,并继续运行所述网络服务流程实例。
所述方法还包括:当所述网络服务流程实例运行结束后,销毁所述保存的信息。
所述方法还包括:采用事务管理方式记录每次网络服务流程实例的运行。
所述方法还包括:当网络服务流程实例运行错误时,事务管理通知出错的事务回滚。
其中,所述保存是保存到数据库或内存。
一种网络服务流程实例生命周期管理的系统,包括:
实例创建单元,用于创建网络服务流程实例,并生成唯一的标识;
实例运行单元,用于运行所述网络服务流程实例;
实例存储单元,用于每当运行停止等待输入业务数据时,对所述标识、当前状态和运行时业务数据进行保存;
实例载入单元,用于再次输入业务数据后,根据所述标识从实例存储单元获取相应的运行时业务数据并重新载入实例运行单元,实例运行单元继续运行所述网络服务流程实例。
所述系统还包括:实例销毁单元,用于当所述网络服务流程实例运行结束后,销毁所述保存信息。
所述系统还包括:事务管理器,用于记录每次网络服务流程实例的运行。
其中,当网络服务流程实例运行错误时,所述事务管理器通知出错的事务回滚。
其中,所述实例存储单元为数据库存储或内存存储。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种网络服务流程实例生命周期管理的方法及系统,用来管理多用户、高并发情况下的网络服务流程实例。本发明通过为每个实例设置一个唯一标识,然后输入业务数据运行该实例,当运行到某个生命状态停止时,需要将该实例的当前状态和运行时的业务数据等信息进行保存;当再次输入业务数据后,根据所述标识将保存的运行时业务数据重新载入,并继续运行。而当该实例运行结束后,销毁实例的所有信息。这样,就能对多个并发执行的网络服务流程实例进行生命周期的管理。
本发明由于细分了网络服务流程实例的生命状态,所以能够灵活地转变实例的生命状态,并通过数据持久化的方法来存储实例,并能无失真地载入被存储的实例,方便用户长时间和灵活地来使用自己创建的流程实例,不需要维护这些实例的生命状态。
附图说明
图1是现有技术中网络服务流程实例的生成过程示意图;
图2是本发明实施例一所述一种网络服务流程实例生命周期管理方法的流程图;
图3是本发明实施例二所述一种网络服务流程实例生命周期管理方法的流程图;
图4是图3所述实施例中一个网络服务流程实例的生命状态转换图;
图5是本发明实施例一所述一种网络服务流程实例生命周期管理系统的结构图;
图6是本发明实施例二所述一种网络服务流程实例生命周期管理系统的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供了一种网络服务流程实例生命周期管理方法,在流程实例运行停止等待用户再次输入业务数据的时候,将实例状态和运行时业务数据进行保存,并在用户针对此实例再次输入业务数据时,将此实例重新载入再继续运行。
一个网络服务流程实例的生命周期分为创建、运行、挂起、载入和销毁几个阶段,其中所述挂起是指一个实例在运行到某个生命状态时停止、需要等待用户输入业务数据才能继续运行的阶段。并不是所有的网络服务流程实例都必须经过所述几个阶段,如果一个流程实例能够在一次调用之后就运行结束,则其生命周期就只经过创建、运行和销毁阶段。只有当流程实例只执行完其中的几个步骤就停止,然后等待上层应用再次调用并输入其它业务数据才能继续运行时,才会经历上述完整的生命周期。
而每个网络服务流程实例都具有自己的生命状态,所述生命状态与具体的网络服务流程有关,即与业务逻辑有关。例如,一种应用的执行流程包括4个状态,从状态1到状态4顺序执行,对应该流程的实例通过状态之间的顺次转变完成整个实例的运行。
实施例一:
参照图2,是实施例一所述网络服务流程实例生命周期管理方法的流程图。
步骤201,创建网络服务流程实例,并生成唯一的标识;
在实例的创建阶段,根据应用输入的业务数据和对应的网络服务流程模板创建一个实例,并为其分配一个标识信息,用于区别于其他流程实例,该标识信息即为后续操作所述实例的唯一标识。
步骤202,运行所述网络服务流程实例;
在实例的运行阶段,用户输入业务数据来运行所述创建的实例。
步骤203,每当运行停止等待输入业务数据时,将所述标识、当前状态和运行时的业务数据进行保存;
在实例的挂起阶段,如果实例没有全部运行完成,实例的某个生命状态需要用户输入数据才能继续执行,则运行到此状态时停止,等待用户输入。此时,需要将对应该实例的所有信息都保存起来,即进行流程实例持久化。所述保存的信息主要包括该实例的唯一标识、当前的生命状态以及对应的运行时业务数据等。
本实施例可以将对应实例的所有信息保存到数据库中,也可以保存到内存中。所述两种方式的不同在于,在后续的数据载入过程中,从内存获取数据比从数据库获取速度更快。
步骤204,再次输入业务数据后,根据所述标识将保存的运行时业务数据重新载入,并继续运行所述网络服务流程实例。
在实例的载入阶段,所述载入操作是指当用户再次输入所需要的数据后,将步骤203保存的对应该实例的所有信息都提取出来,还原原来的实例。这样,实例就能继续运行。所述载入过程中,根据实例的唯一标识找到对应的保存信息,提取出保存时的生命状态和运行时的业务数据等信息,然后根据再次输入的业务数据,继续从所述保存的生命状态运行。
优选步骤205,为了节省内存或数据库的存储空间,当所述网络服务流程实例运行结束后,销毁所述保存的所有信息。
在实例的销毁阶段,当整个流程实例运行结束后,它的生命周期就结束了,为了释放资源需要销毁该实例,例如清空内存中或数据库中相关的信息,以后用户将无法再使用被销毁的实例。
综上所述,由于细分了网络服务流程实例的生命状态,因此在网络服务流程实例的生命周期管理过程中,运行中的实例能够自动进行生命状态的转换,而且通过数据持久化的方法来存储实例,并能无失真地载入被存储的实例,方便用户长时间和灵活地来使用自己创建的流程实例,不需要自己来维护这些实例的生命状态。
优选的,在整个生命周期过程中,进行事务级处理,并能在某一生命状态出现错误时完成整个流程实例的回退和补偿。长事物处理就是将整个网络服务流程实例看作一个事务,只有当最后一个网络服务成功完成时,该流程所包含的网络服务才能正式提交;如果其中某个网络服务出错,则它之前所有已完成的网络服务都将执行回退操作至本次网络服务流程实例调用之前的状态。
下面举例说明。
实施例二:
参照图3,是本发明实施例二所述一种网络服务流程实例生命周期管理方法的流程图。
步骤301,上层应用(即网络服务流程的使用者)首先订购自己需要的网络服务流程,即设计好网络服务流程的生命状态类型及其状态转换的状态机。网络服务不同,生命状态的类型也不同。所述状态机是用于表示生命状态转换的示意图。
参照图4,是一个网络服务流程的生命状态转换图。所述网络服务流程包括8个状态,其中运行到状态2、状态3和状态5时会停止等待业务数据的输入。
步骤302,上层应用每使用所述网络服务流程一次,就生成一个对应所述网络服务流程的实例,并通过唯一的实例号来区别不同的流程实例。
针对每一个流程实例:
步骤303,用户输入业务数据,流程实例从状态1开始运行。
步骤304,当流程实例运行到状态2时,停止运行,等待用户再次输入业务数据;此时,将此实例的实例号、生命状态(即状态2)、运行时的业务数据等信息保存到数据库或内存。
步骤305,当用户针对此实例再次输入业务数据的时候,根据实例号从数据库或内存提取对应该实例的所有保存信息,进行重新载入;并根据输入的业务数据,转换到状态3或状态7。当运行到状态3和状态5的时候,也等待用户输入并重新载入。
步骤306,当运行完状态8后,所述流程实例全部运行完毕,它的生命周期结束,进行实例销毁。
如果某个流程实例在上述运行过程中,在某个状态出现错误,则执行事物回滚,即对已经操作完成的网络服务都将执行回退操作至本次网络服务流程实例调用之前的状态。
针对上述方法,本发明还提供了一种网络服务流程实例生命周期管理系统的实施例。参照图5,是实施例一所述一种网络服务流程实例生命周期管理系统的结构图。所述系统主要包括实例创建单元51、实例运行单元52、实例存储单元53和实例载入单元54。
其中,所述实例创建单元51用于创建网络服务流程实例,并生成唯一的标识;实例运行单元52用于运行所述网络服务流程实例;实例存储单元53用于每当运行停止等待输入业务数据时,将所述标识、当前状态和运行时的业务数据进行保存;实例载入单元54用于再次输入业务数据后,根据所述标识从实例存储单元53获取相应的运行时业务数据并重新载入实例运行单元,实例运行单元继续运行所述网络服务流程实例。其中,所述实例存储单元53可以是内存存储,也可以是数据库存储。
优选的,为节省实例存储单元53的存储空间,还包括实例销毁单元55,用于当所述网络服务流程实例运行结束后,销毁所述保存信息。
优选的,所述系统还包括事务管理器56,用于记录每次网络服务流程实例的运行:当开始运行的时候告诉流程中的每个子服务,这是此次实例的开始,让每个子服务开始事务;当流程成功运行并结束的时候,告诉流程中的每个子服务,这是此次实例的结束,让每个子服务结束事务,并提交;如果实例运行的过程中出现了错误,则告诉流程中的每个子服务,这是此次实例出错了,让每个子服务进行事务回滚。其中,所述子服务是指对应每个生命状态的网络服务,一个流程实例包括多个生命状态,即由多个子服务执行完成。
针对实际应用,本发明还提供了系统的实施例二。参照图6,是本发明实施例二所述一种网络服务流程实例生命周期管理系统的结构图。
所述系统包括流程实例生命周期容器61、内存数据库62或关系数据库63、流程运行引擎64和事物管理器65。所述流程实例生命周期容器61包括创建实例、保存实例、载入实例和销毁实例四个模块,分别完成实例的创建、保存、载入和销毁。其中,保存实例可以保存到内存数据库62,也可以保存到关系数据库63。保存实例和载入实例主要与内存数据库62或关系数据库63交互。流程运行引擎64用于在创建实例和载入实例后运行流程实例。事物管理器65用于对整个生命周期进行长事物管理。
图5、图6所示装置中未详述的部分可以参见图2、图3所示方法的相关部分,为了篇幅考虑,在此不再详述。
以上对本发明所提供的一种网络服务流程实例生命周期管理的方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1、一种网络服务流程实例生命周期管理的方法,其特征在于,包括:
创建网络服务流程实例,并生成唯一的标识;
运行所述网络服务流程实例;
每当运行停止等待输入业务数据时,对所述标识、当前状态和运行时业务数据进行保存;
再次输入业务数据后,根据所述标识将保存的运行时业务数据重新载入,并继续运行所述网络服务流程实例。
2、根据权利要求1所述的方法,其特征在于,还包括:当所述网络服务流程实例运行结束后,销毁所述保存的信息。
3、根据权利要求1所述的方法,其特征在于,还包括:采用事务管理方式记录每次网络服务流程实例的运行。
4、根据权利要求3所述的方法,其特征在于,还包括:当网络服务流程实例运行错误时,事务管理器通知出错的事务回滚。
5、根据权利要求1所述的方法,其特征在于:所述保存是保存到数据库或内存。
6、一种网络服务流程实例生命周期管理的系统,其特征在于,包括:
实例创建单元,用于创建网络服务流程实例,并生成唯一的标识;
实例运行单元,用于运行所述网络服务流程实例;
实例存储单元,用于每当运行停止等待输入业务数据时,对所述标识、当前状态和运行时业务数据进行保存;
实例载入单元,用于再次输入业务数据后,根据所述标识从实例存储单元获取相应的运行时业务数据并重新载入实例运行单元,实例运行单元继续运行所述网络服务流程实例。
7、根据权利要求6所述的系统,其特征在于,还包括:实例销毁单元,用于当所述网络服务流程实例运行结束后,销毁所述保存信息。
8、根据权利要求6所述的系统,其特征在于,还包括:事务管理器,用于记录每次网络服务流程实例的运行。
9、根据权利要求8所述的系统,其特征在于:当网络服务流程实例运行错误时,所述事务管理器通知出错的事务回滚。
10、根据权利要求6所述的系统,其特征在于:所述实例存储单元为数据库存储或内存存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101034283A CN101552739A (zh) | 2008-04-03 | 2008-04-03 | 一种网络服务流程实例生命周期管理的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101034283A CN101552739A (zh) | 2008-04-03 | 2008-04-03 | 一种网络服务流程实例生命周期管理的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101552739A true CN101552739A (zh) | 2009-10-07 |
Family
ID=41156739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101034283A Pending CN101552739A (zh) | 2008-04-03 | 2008-04-03 | 一种网络服务流程实例生命周期管理的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101552739A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472540A (zh) * | 2017-09-07 | 2019-03-15 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN109861838A (zh) * | 2017-11-30 | 2019-06-07 | 广东亿迅科技有限公司 | 基于流式计算生成服务拓扑与服务监控的方法及系统 |
CN109964449A (zh) * | 2016-11-17 | 2019-07-02 | 华为技术有限公司 | 网络服务生命周期管理的许可方法和装置 |
CN111080250A (zh) * | 2019-12-10 | 2020-04-28 | 东软集团股份有限公司 | 流程回退补偿方法、装置、存储介质及电子设备 |
CN113760409A (zh) * | 2021-09-09 | 2021-12-07 | 广州市百果园网络科技有限公司 | 服务实例管理方法、装置、设备及存储介质 |
-
2008
- 2008-04-03 CN CNA2008101034283A patent/CN101552739A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109964449A (zh) * | 2016-11-17 | 2019-07-02 | 华为技术有限公司 | 网络服务生命周期管理的许可方法和装置 |
US10911333B2 (en) | 2016-11-17 | 2021-02-02 | Huawei Technologies Co., Ltd. | Network service life cycle management grant method and apparatus |
US11271827B2 (en) | 2016-11-17 | 2022-03-08 | Huawei Technologies Co., Ltd. | Network service life cycle management grant method and apparatus |
CN109472540A (zh) * | 2017-09-07 | 2019-03-15 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN109861838A (zh) * | 2017-11-30 | 2019-06-07 | 广东亿迅科技有限公司 | 基于流式计算生成服务拓扑与服务监控的方法及系统 |
CN111080250A (zh) * | 2019-12-10 | 2020-04-28 | 东软集团股份有限公司 | 流程回退补偿方法、装置、存储介质及电子设备 |
CN111080250B (zh) * | 2019-12-10 | 2023-04-18 | 东软集团股份有限公司 | 流程回退补偿方法、装置、存储介质及电子设备 |
CN113760409A (zh) * | 2021-09-09 | 2021-12-07 | 广州市百果园网络科技有限公司 | 服务实例管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10133596B2 (en) | System and method for supporting application interoperation in a transactional middleware environment | |
CN104657158B (zh) | 一种业务系统中业务处理的方法和装置 | |
CN102521712B (zh) | 一种流程实例数据处理方法和装置 | |
CN104281906A (zh) | 一种业务流程中的流程引擎实现方法及其流程引擎系统 | |
KR20140147812A (ko) | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN103023805A (zh) | 一种MapReduce系统 | |
CN101552739A (zh) | 一种网络服务流程实例生命周期管理的方法及系统 | |
KR20140138670A (ko) | 2-단계 커미트 호출들의 엄격한 순서화에 근거하여 트랜잭션 복구를 지원하는 시스템들 및 방법들 | |
CN110247984A (zh) | 业务处理方法、装置及存储介质 | |
CN103226598A (zh) | 访问数据库的方法和装置以及数据库管理系统 | |
CN102662775A (zh) | 一种进程通信方法和装置 | |
CN102004663A (zh) | 一种多任务并发调度的系统及方法 | |
CN104506669B (zh) | 一种面向分布式网络仿真平台的ip地址分配系统及方法 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN109669975A (zh) | 一种工业大数据处理系统及方法 | |
CN110134646B (zh) | 知识平台服务数据存储与集成方法及系统 | |
CN106897345A (zh) | 一种数据存储的方法及装置 | |
CN104182295A (zh) | 一种数据备份方法及装置 | |
CN106874343A (zh) | 一种时序数据库的数据删除方法及系统 | |
CN107133327A (zh) | 一种支持多数据类型的数据交换方法及系统 | |
CN106250501A (zh) | 报表处理方法及报表系统 | |
CN102209016A (zh) | 一种数据处理方法、装置和数据处理系统 | |
CN111429140B (zh) | 一种实现多层级智能合约栈的原子性的方法和装置 | |
CN101833585A (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 |
Application publication date: 20091007 |