【技术实现步骤摘要】
通过工作流事务的批处理来同步运行库和应用状态
本专利技术的实施例一般涉及工作流建模的领域,尤其涉及通过批处理未提交工作来跨通信组件维护持久状态的一致性。
技术介绍
现有的软件系统试图通过对商业问题建模将商业问题映射到高级工作流。一般而言,工作流处理涉及一系列任务或动作、必须执行它们的顺序、定义谁能够执行它们的许可、以及对每一动作执行的脚本。工作流也可按照状态和事件来描述。工作流引擎可以是启用工作流的软件系统的组件,它实施工作流定义并执行工作流动作。工作流引擎具有三个主要功能。首先,它验证改变对当前工作流状态是否有效。其次,它检查当前用户是否具有执行工作流事件的许可。第三,如果事件是有效的,且用户具有执行该事件的许可,则工作流引擎准许执行。例如,在管理诸如发布新闻文章所涉及的一系列任务时,必须执行一系列工作项。在本示例中,任务包括写文章、编辑所写的文章、审阅所编辑的文章、以及发布所编辑的文章。典型的工作流引擎可请求不同的服务提供者组件(例如,写组件、编辑组件、审阅组件和发布组件)执行这些工作项或任务。软件系统的工作流引擎/组件有规律地与其它组件(例如,写组件、编辑 ...
【技术保护点】
一种用于管理工作流中的状态的方法,所述方法包括: 定义要执行的一个或多个工作项; 将所述一个或多个定义的工作项分配给一个或多个服务提供者组件用于执行; 在稍后的时间使所述一个或多个分配的工作项由所述一个或多个服务提供者组件批处理; 持久保存所述一个或多个批处理的工作项的状态;以及 提交所述一个或多个服务提供者组件以执行所述一个或多个批处理的工作项,其中,所述一个或多个服务提供者组件执行所述一个或多个提交的工作项。
【技术特征摘要】
US 2004-11-22 11/023,7691.一种用于管理工作流中的状态的方法,所述方法包括:定义要执行的一个或多个工作项;将所述一个或多个定义的工作项分配给一个或多个服务提供者组件用于执行;在稍后的时间使所述一个或多个分配的工作项由所述一个或多个服务提供者组件批处理;持久保存所述一个或多个批处理的工作项的状态;以及提交所述一个或多个服务提供者组件以执行所述一个或多个批处理的工作项,其中,所述一个或多个服务提供者组件执行所述一个或多个提交的工作项。2.如权利要求1所述的方法,其特征在于,所述提交过程包括以下的至少一个:创建事务;以及将所述一个或多个批处理的工作项追加到事务。3.如权利要求2所述的方法,其特征在于,追加包括根据所述一个或多个定义的工作项对所述事务中一个或多个追加的工作项进行分段。4.如权利要求1所述的方法,其特征在于,所述一个或多个服务提供者组件是以下的一个或多个的一部分:一个或多个宿主环境以及远离所述一个或多个定义的工作项的一个或多个宿主环境,以及所述一个或多个工作项包括以下的至少一个或多个:消息通信、实例、事务、持久性、线程化、定时、角色和跟踪。5.如权利要求1所述的方法,其特征在于,还包括由所述一个或多个服务提供者组件在执行所述一个或多个提交的工作项失败之后发送消息。6.如权利要求1所述的方法,其特征在于,持久保存包括将所述一个或多个批处理的工作项的状态保存在计算机可读介质中,其中,所述一个或多个分配的工作项的状态包括以下的至少一个:已完成、正在执行和已放弃。7.如权利要求1所述的方法,其特征在于,一个或多个计算机可读介质具有用于执行如权利要求1所述的方法的计算机可执行指令。8.一个或多个具有用于管理工作流中的状态的计算机可执行组件的计算机可读介质,所述组件包括:工作流组件,用于分配要执行的一个或多个工作项,其中,所述工作流组件定义所述一个或多个工作项,其中,所述工作流组件在稍后的时间批处理所述一个或多个分配的工作项;以及一个或多个服务提供者组件,用于提交执行所述一个或多个批处理的工作项。9.如权利要求8所述的计算机可读介质,其特征在于,还包括用于储存所述一个或多个批处理的工作项的持久状态的存储器,其中,所述一个或多个批处理的...
【专利技术属性】
技术研发人员:A索玛瑟卡兰,PE梅比,SR塔特,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。