成批处理工作流中数据流管

上传人:j****9 文档编号:54675018 上传时间:2018-09-17 格式:PPT 页数:29 大小:1.65MB
返回 下载 相关 举报
成批处理工作流中数据流管_第1页
第1页 / 共29页
成批处理工作流中数据流管_第2页
第2页 / 共29页
成批处理工作流中数据流管_第3页
第3页 / 共29页
成批处理工作流中数据流管_第4页
第4页 / 共29页
成批处理工作流中数据流管_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《成批处理工作流中数据流管》由会员分享,可在线阅读,更多相关《成批处理工作流中数据流管(29页珍藏版)》请在金锄头文库上搜索。

1、成批处理工作流中数据流的管理与控制,中南大学 信息科学与工程学院 湖南科技大学 知识处理与网络化制造湖南省普通高校重点实验室,文一凭 (),Outline,问题的提出:研究背景,成批处理工作流 一类包含成批处理区的特殊业务过程 成批处理区中同一类型工作流活动的多个活动实例可进行合并处理 原本分别执行的多个活动实例可成组合并执行例:某公司处理共享租车的工作流 活动A提出租车申请;活动B审批租车申请;若租车申请未被审批通过,则选择活动G发送拒绝通知 反之,活动C安排出租车;活动D为通知司机;活动E为通知乘车人;活动F为乘车人缴费,问题的提出:研究背景,问题的提出:研究背景,当BG1、BG2执行完后

2、,需要将BG1、BG2的输出数据进行拆分,即根据乘客数量将乘车费用分摊到C1、C3与C2、C4中,问题的提出:研究背景,问题的提出:研究的问题,从这个例子可以看出,活动分组实例与活动分组执行实例间的数据交互具有以下特点: 活动分组实例来自多个不同的并发过程实例 需进行合并与拆分等数据操作因此,为提高成批处理工作流执行的自动化程度,需要提供一种对成批处理工作流中数据流进行管理与控制的机制。,问题的提出:相关概念的形式化描述,问题的提出:相关概念的形式化描述,问题的提出:相关概念的形式化描述,问题的提出:相关概念的形式化描述,Outline,数据流管理机制:成批处理数据模型,设A为成批处理区中的一

3、个活动,下面先对与活动A成批处理过程相关的数据操作进行描述。,数据流管理机制:成批处理数据模型,数据流管理机制:成批处理数据模型,数据流管理机制:成批处理数据模型,上述定义说明,活动分组实例与活动分组执行实例间的数据交互可通过一系列数据操作来完成因此,可定义与过程模型相对应的成批处理数据模型,数据流管理机制:数据管理组件,数据管理组件主要包括一个成批处理数据模型解释器,一组数据表结构及一个数据处理模块 活动实例的输入输出数据使用关系表结构存储 分组映射信息使用分组映射表结构存储,Outline,数据流控制机制,我们的前期工作已设计了一个基于事件驱动机制的成批处理调度引擎(DBP),数据流控制机

4、制,DBP采用事件触发机制来组织成批处理工作流的执行过程ECA规则解释器对事件队列中的新到事件进行处理,当某条ECA规则满足,则其被解释执行对原有DBP中的事件与ECA规则进行扩展与修改,便可使引擎的原有组件与数据管理组件配合实现对数据流的管理与控制,数据流控制机制,数据流控制机制,对于缓冲区管理器,可新增一个Acti_Ins_ Arrival事件 在工作流引擎将新的活动实例送入到缓冲区管理器时由缓冲区管理器产生 新增一条可由该事件触发的ECA规则:ON Event Acti_Ins_ Arrival DO Action Record_Info( ); 在原有ECA规则Rule 2与Rule

5、3的未尾均加入操作函数CreateGroupRule1的未尾加入操作函数DecomposeGroup算法1-3分别描述了这三个操作函数,数据流控制机制,算法1:Record_Info aid=GetInstanceID( ); /获取活动实例ID pid= GetProcessID( ); /获取过程实例ID ActivityName=GetInstanceInfo( ); /获取活动名 AddToInsList(aid, pid, ActivityName, Initial); /将活动实例加入到InsList TableName= GetDataTable (ActivityName);

6、/获取活动的数据表名 SaveInfo(TableName, GetInputData(aid, pid); /将活动实例的输入数据存入数据表,数据流控制机制,算法2:CreateGroup ActivityName= GetScheduleInfo( ); /获取活动名 InstanceSet= SelectPartition(ActivityName); /选择一组活动实例 SetInsStatus(InstanceSet, Scheduled); /将该组活动实例设为调度态 GID= CreateGroup(InstanceSet); /创建活动分组实例,返回分组ID TableName

7、=GetGDataTable(ActivityName); /获取活动分组实例的数据表名 BAID= CreateGroupInstance(GID); /创建一个活动分组执行实例,返回该实例ID SetMapTable(GID, BAID); /建立分组映射关系 SaveInfo(TableName, Projection(GID, BAID, ActivityName); /将执行投影操作获取的数据存入数据表 SaveInfo(TableName, Combination(GID, BAID, ActivityName); /将执行合并操作获取的数据存入数据表 ArrangeTask(BA

8、ID, ActivityName); /分发工作项给执行者,数据流控制机制,算法3:DecomposeGroupBAID= GetInstanceID( ); /获取活动实例ID ActivityName=GetInstanceInfo( ); /获取活动名 TableName=GetGDataTable(ActivityName); /获取活动实例的数据表名 SaveInfo(TableName, GetOutputData(BAID); /将活动实例的输出数据存入数据表 GID= GetMapInfo(BAID); /获取分组映射关系 TableName=GetDataTable(Acti

9、vityName); /获取活动的数据表名 SaveInfo(TableName, Distribution(GID, BAID, ActivityName); /将执行分发操作获取的数据存入数据表 SaveInfo(TableName, DeComb(GID, BAID, ActivityName); /将执行拆分操作获取的数据存入数据表 SetInsStatus(GetGroupSet(GID), Completed); /根据分组映射关系将该组活动实例设为完成态,Outline,应用实例,TCGIS(Trusted Car-pooling Geographic Information System,可信拼车地理信息系统 )用于解决现实拼车中最优化行车路线选择、费用分摊、拼车双方(乘客和驾驶员)信誉评级等问题通过应用GPS、LBS(Location-based Service, 基于位置的服务)、Google API等技术,为拼车用户提供更多其它服务本文的研究为该平台自动化处理拼车信息提供了技术支持,应用实例,TCGIS系统体系结构图,Thank you!,Q & A,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号