[发明专利]一种基于状态变化的流程控制中消息订阅和分发方法有效
申请号: | 200810222436.X | 申请日: | 2008-09-17 |
公开(公告)号: | CN101676933A | 公开(公告)日: | 2010-03-24 |
发明(设计)人: | 孙伟;王弋珵 | 申请(专利权)人: | 新奥特(北京)视频技术有限公司 |
主分类号: | G06Q10/00 | 分类号: | G06Q10/00 |
代理公司: | 北京天悦专利代理事务所 | 代理人: | 田 明;任晓航 |
地址: | 100080北京市海淀区西草场*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态 变化 流程 控制 消息 订阅 分发 方法 | ||
技术领域
本发明涉及一种消息订阅分发方法,尤其是涉及一种基于状态变化的流 程控制中消息订阅和分发方法。
背景技术
目前,常见的流程引擎主要表现为两种形式:一种是基于顺序的,另一 种是基于状态的。基于状态的流程控制,顾名思义,其核心是状态。这里的 状态,既包括流程实例的状态,又包括流程任务的状态。它区别于基于顺序 的流程具体表现为:不限制流程的流向,节点的处理顺序完全依赖于节点的 状态变化,以及对状态变化所作的配置。这些配置将决定节点状态发生变化 时的其他节点的后续动作。
基于状态的流程控制的定义部分主要包括流程定义、流程节点、流程实 例和流程任务。流程定义是对流程引擎的一种工作模式的描述,其实体为一个 XML,描述了流程需要经历哪些节点,并采用何种顺序经历这些节点,以及其他 一些完成该流程所必需的配置属性。流程节点是流程定义的子对象,描述流程 中每一个需要处理的部分。流程实例是对流程定义的一次对象化,即从流程开 始到流程结束的一个独立过程。流程任务是流程实例的子对象,是流程节点的 一次对象化。
图1出示了基于状态的流程运行示意图,其中描述的节点流向箭头不再 具有约束作用,而起决定作用的是在流程定义中配置的节点状态依赖关系, 状态依赖关系配置表如下表所示。
流程定义定义了流程引擎的基本工作模式,但是如果让流程真正的运转 起来,需要外部应用系统参与流程的处理过程,包括发起、执行、中断和关 闭等。然而让外部应用系统参与流程的处理过程仅仅依靠对状态的设置是不 够的,应用系统必须及时地知悉流程当前执行到哪个节点、该节点的状态如 何、状态何时变化以及流程的进度等信息。当前,应用系统获得流程状态变 化的信息主要通过轮询方式或者回调方式。轮询方式是应用系统不断地询问 流程的状态是否发生变化,这种方式的效率较低。回调方式是流程引擎主动 调用参与流程的应用系统,通知流程状态的变化情况,这种方式流程引擎与 参与方的耦合性较大,如果调用阻塞或者失败,会对流程的执行产生影响。 而且,流程的状态一旦发生变化系统便会产生消息,而一些消息是无用的信 息,从而造成了系统数据的冗余。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种基于状态变化的 流程控制中消息订阅和分发方法,该方法能够提高参与流程的应用系统获得 流程状态变化消息的效率,并减少数据冗余。
为了实现上述目的,本发明采用的技术方案是,一种基于状态变化的流 程控制中消息订阅和分发方法,包括如下步骤:
(1)消息订阅方订阅流程执行过程中产生的消息;
(2)当流程实例的状态或流程任务的状态发生变化时,生成消息订阅方订阅 的消息;
(3)将步骤(2)中生成的消息放入一个消息队列中,消息订阅方定期或不定 期的从该消息队列中获取自己订阅的消息。
如上所述的基于状态变化的流程控制中消息订阅和分发方法,步骤(1)中订 阅消息的方式分为静态订阅和动态订阅;所述的静态订阅是指在流程定义中定 义了消息订阅方,在每次应用该流程定义的流程实例的执行过程中产生的符合 该流程定义的消息均发送给该消息订阅方;所述的动态订阅是指消息订阅方任 意在任何一个流程实例中订阅消息。
如上所述的基于状态变化的流程控制中消息订阅和分发方法,其中,所述 的静态订阅包括流程实例的订阅和流程任务的订阅;所述的流程实例的订阅是 指订阅流程中的任意状态发生变化时生成的消息;所述的流程任务的订阅是指 订阅流程中的节点所对应的流程任务的状态发生变化时生成的消息。
如上所述的基于状态变化的流程控制中消息订阅和分发方法,其中,所述 的动态订阅通过调用接口的方式实现,所述的接口包括所有实例消息订阅接口、 具体实例消息订阅接口、订阅消息取消接口和订阅消息获取接口。
如上所述的基于状态变化的流程控制中消息订阅和分发方法,其中,所述 的动态订阅分为流程发起方的订阅和流程参与方的订阅。
如上所述的基于状态变化的流程控制中消息订阅和分发方法,其中,流程 发起方的订阅过程为:当流程发起成功后,发起方得到该次流程实例的ID,然 后利用该次流程实例的ID订阅该次流程实例的所有消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810222436.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双体车
- 下一篇:多功能自行车座套及其应用
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理