常州市金保工程智能任务调度系统设计与实现
2018-12-27解宜
解宜
(常州市人力资源和社会保障公共服务与技术保障中心,江苏 常州 213000)
随着常州市金保工程不断发展变化,业务流程越来越多,业务流程也成为管理运行的核心。在管理服务细节不断要求精细化、规范化、透明化的背景下,以及更严格的规章制度下,执行和管理业务流程将愈发复杂。同时,传统的管理模式注重的是组织结构和管理的角色,“流程”本身被大大忽视,主要表现为以职能为中心的组织形式,即:对业务更是多以岗位的“责任”和“关系”来体现。在此背景下,业务流程管理(BPM—BusinessProcess Management)智能调度的理念得以迅速发展和普及,管理已经把重点投向了对流程的支持和持续改进上来。
作为智能调度系统,其核心价值是帮助我们分析、构建业务流程,控制、监管流程流转,提供高价值的决策数据,提高业务效率和战略执行力。智能调度系统带来的关键价值包括:(1)流程的自动化和高效的团队合作,自动化带来了流程处理效率的提升;并对业务参与人的要求简单、清晰,无需了解更多的业务。同时,在以职能为中心的管理模式下,频繁的交流、合作才能保证过程的完成,在涉及到跨部门、跨企业时,更加麻烦,很容易导致责任人、部门之间权责不清的局面,而通过业务流程管理系统,将自动地串连起各资源,实现高效合作。(2)持续改进流程,在流程流转过程中,通过系统所提供的监控、统计分析模块,可以为决策者提供科学合理的决策依据(而不是单靠经验)从而达到不断优化、改进业务流程的目的。(3)随需应变个性化需求,在迅速发展、变化的市场背景下,以客户为中心、个性化、快速响应变化等能力是企业生存的必要条件,而产品在业务流程维护上的“灵活性”和“易维护性”等特征,决定了其在满足客户需求方面的卓越能力。同时,开放的技术架构,使得实现客户个性化成为可能。(4)信息知识资产化,在业务的流程管理知识资产中,除了人和规章,业务的知识还应如何管理?在这个问题上,业务流程管理智能调度系统的优势再次体现!——通过固化流程,让那些与流程相关的业务知识固化在流程里、数据里,并且可以随着流程的不断积累和改进,形成人社自己的管理方法和过程方法知识库。一个新人将更加容易融入流程中,因为复杂的业务知识已经被固化在业务流程的定义信息当中。
1 常州金保工程智能调度特性
1.1 开放的架构体系
常州市金保工程智能任务调度系统基于J2EE平台构建,采用开放的三层体系架构,适应各种主流操作系统和数据库系统,支持在各种主流应用服务器上部署。调度系统由丰富的功能模块构成:图形化的流程设计器、工作流服务、工作流接口和终端用户访问客户端等,如图1所示。
图1 工作流总体架构
常州市金保工程智能任务调度系统以流程服务为中心,通过标准的接口与其它模块或外部系统进行交互。其中在业务流程的构建阶段,通过流程设计器完成业务流程的定义,其输出的结果是工作流的“流程模板”(ProcessDefinition),该模板在运行阶段被执行服务所解释。系统运行后,用户通过Web客户端,办理和管理业务流程、执行工作流的相关操作;其发生的请求,由工作流各服务进行处理。
常州市金保工程智能任务调度系统提供功能丰富的WebService接口;同时支持调用第三方WebService接口,方便业务流程执行过程中调度其他系统的资源,采用面向SOA体系架构。
1.2 稳定、高效的流程引擎
常州市金保工程智能任务调度系统可满足大规模生产型工作流应用场景。支持每天上百万条的流程实例处理量,并支持1000以上的并发请求。整个系统可保证在高并发请求下7d×24h稳定运行。
支持集群部署,保障了性能弹性扩展,规避了关键业务系统的单点故障。
异常数据的自动恢复功能,以及详细、完备的日志体系保证了系统运行过程中出现异常也可快速的恢复。完善的审计功能保证流程的每次操作都清晰记录。
1.3 图形化的流程设计和管控
流程设计器提供了向导、自动提示、图形自动规避、自动布局等多种功能,减少了用户操作;提供节点模板功能,用户可以把通用的节点发布为模板,重复使用。提供流程模板的分类管理,当系统中流程数量繁多时可以将流程模板归类,以便使用时快速找到需要的模板。
流程设计器为定义业务流程时提供了多种常用的结构,支持并行、选择、同步子流程、异步子流程、循环、递归、异(与)或等结构;还提供了优先级机制,可不仅设置分支的条件,还可设置分支的优先级,使得流程运行时在多分支且分支条件都满足的情况下,可按照各分支定义时的优先级选择最高优先级的分支进行流转。
流程设计器支持定义多种业务环节的任务分配策略,如并审、会审、并签、会签、串行等;还支持为任务设置多种类型的办理人,如人员、角色、变量、节点、流程创建者等。流程设计器支持自定义属性,可以为特殊的业务环节增加特殊的属性以满足业务逻辑的需要,例如定义某个业务环节不允许回退、不允许指派他人代办等。流程设计器绘图区界面如图2所示。
图2 流程设计器
提供图形化的流程实例监控工具,实时监控流程实例的流转情况(如图3所示),跟踪各项工作的进度和信息,并可对其进行相应的操作;对已经完成的流程步骤,可以查看流转路径和数据信息等。
图3 流程实例监控
1.4 满足特色的流程管理要求
针对常州人社应用场景,提供丰富、灵活的流程管理功能。
办理人员处理任务时可与其他人员进行沟通,此时系统为沟通人员分配任务并将办理人员的任务挂起,待沟通人员完成了该任务后,办理人员可继续办理自己的任务;办理人员处理任务时可转办给其他人员,此时系统为转办人员分配任务,并将办理人员的任务废弃;在流程实例运行期,办理人员或系统管理员可对某节点的参与人和办理方式进行重新设置,系统会在该节点运行时按照最新设置的参与人和办理方式进行分配任务。在流程运行期动态改变节点实例办理人,使流程更具灵活性。
强化对参与人的处理,提供灵活的设置方式,依据业务的复杂度,可以设置人员、角色、岗位、变量、实例起草人等多种参与者类型。在运行期,也可以动态指定一组人,顺序、或并行处理某个任务等。
业务代理功能可使用户指定某个时间段内将自己的待办任务由他人办理。该功能支持代理给多个人、多个角色,同时支持针对特定流程进行代理设置。
流程定义期有时无法明确流程的部分属性值,而需要依赖运行期业务数据的实际情况。在流程定义时,支持指定动态(变量)参与人、动态子流程、动态分支、动态条件、动态时限、动态应用程序等多种功能。
支持流程的多版本管理,在IT系统正式运行之后往往会因为业务的变化必须调整流程,如果在原有模板上修改可能对该模板已生成的未流转结束的实例造成破坏。因此,在不破坏原有流程的基础上通过版本控制机制衍生出一个新版本,新启动的实例基于新版本,已启动实例仍基于旧模板运行,这种灵活的版本控制机制使得企业的流程调整变更更加灵活。
定义流程时,可设置流程或节点的催办时限和超时时限,并可设置催办和超时处理的具体动作。流程运行时,在人员处理任务超过催办时限或超时时限时,系统会执行定义时所设置的动作,保障工作执行的效率。
1.5 灵活的集成、扩展能力
支持与业务系统的组织机构进行无缝集成,通过提供完备的组织机构接口,在与业务系统集成时,业务系统开发人员只须根据用户的组织机构模型实现该接口即可。这样,在工作流定义和运行时,即可直接读取业务系统中的组织机构数据。
系统提供的事件处理机制,可在监控流程实例运行过程中,促使流程向下推动的每个事件(动作),如创建流程实例、创建业务环节、分配任务、沟通任务、转办任务、完成任务、结束业务环节、结束流程实例等。定义流程时,只需在业务环节上设置与事件关联的应用程序,系统即可在流程实例运行期事件发生时,调用与事件关联的应用程序。
可设置人员对流程模板的可见性和是否可根据该模板创建流程这两大权限,并提供相关接口供获取这些信息。另外,系统对流程、节点、应用程序等资源进行了分类管理,并提供了分类信息相关接口,可实现按分类进行授权。
2 任务调度影响因素分析
影响任务调度的主要因素包括:
(1)业务类型。业务按照大类,可以划分为经办类业务和复核审批类业务,这两种不同的业务,在任务调度过程中,分配策略应该有所不同,如业务流程中,针对同一对象的经办类业务,应该尽量分配给同一操作员,但复核类业务,必须分配给其他人员,不允许自己复核自己办理的业务。
(2)业务优先级。根据每个业务的特点,应该定义出业务的优先级,当多笔业务同时发生时,需要优先分配优先级高的业务。如必须先办理完增减员才能办理缴费核定。
(3)业务风险等级。不同业务的风险等级各不相同,对于风险等级高的业务,在任务调度时,需要考虑降低风险等级,如,分配给业务最熟练的操作员办理。
(4)业务地域。业务对象所属区域及业务经办流程中上一环节的经办人员所属区域,对任务调度分配也会有影响。如:某一区域的业务对象申办的业务,是只分配给对应区域的经办人员,还是可以跨区域分配。
(5)经办人员在岗状态。经办人员可能会出现休假或临时有事离岗情况,对于非在岗人员,应该不分配任务。
(6)经办人员权限。经办人员的权限也是任务调度时需要重点考虑的因素,任务只能分配给具备经办权限的人员,无权限的人员不能考虑,权限发生调整时,已分配未完成的任务也需要重新分配。
(7)经办人员星级。根据经办人员的工作经验及业务办理情况,将对经办人员定义星级,在任务调度时,经办人员星级也是需要考虑的因素之一,如可以将风险等级较高业务分配给星级较高人员办理。
(8)经办人员工作量。在进行任务调度分配时,还需要考虑经办人员已分配的工作量,应考虑工作量均衡原则,优先将任务分配给工作量较少人员。
(9)经办人员工作效率。经办人员的工作效率是各不相同的,对于工作效率较高的人员,在分配任务时,应当适当多分配点任务。
3 任务调度原则
3.1 有效性原则
任务只能分配给有权限办理并且当前在线能够办理的人员。
3.2 一致性原则
任务分配是一致的,不会出现因任务分配不合理而造成业务办理混乱。一致性原则主要包括:业务按优先顺序进行分配和办理,前面的任务未完成,后面的任务不能办理;同一业务对象(单位或人员)的任务,在权限范围内,尽量分配给同一经办人员办理。
3.3 公平性原则
分配给业务人员的任务量应该尽量保持均衡,避免分配的工作量出现较大不一致。
3.4 安全性原则
任务分配应该尽量规避业务经办风险,经办难度较大及业务风险等级较高的业务应优先分配给星级较高的经办人员。
4 任务调度算法描述
4.1 任务调度流程
任务调度分配流程如图4所示。
4.2 一致性分配算法
一致性分配算法比较简单,在分配任务时,将判断本批次或最近是否分配过同样业务对象的任务,如果分配过,并且分配的人员在岗,则直接分配给上次分配的经办人员。
一致性分配需要设定一致性时间窗阀值,可选的阀值包括:一个批次内、同一天内、最近若干天内(具体天数可动态调整)。
图4 任务调度分配流程图
4.3 权值分配算法
权值计算方法是综合考虑影响任务分配的工作量及经办风险等因素,计算出符合分配条件经办人员的权值,最后将任务优先分配给权值小的经办人员。
权值计算可以分为工作量权值和风险权值两部分分别计算,权值计算公式为:
权值=工作量权值+风险权值
其中:
工作量权值=(待分配任务效率工作量+经办任务当天已分配效率工作量+经办人员当天未完成效率工作量×余量调整系数)/日均已分配工作量×工作量权值系数
风险权值=(业务风险/经办人员星级)×风险权值系数
效率工作量=任务工作量/人员该任务效率值
工作量权值计算公式中的余量调整系数用于调整已分配未完成工作量对本次任务分配的影响,如果系数为0,则不考虑未完成的任务,系数值越大,则未完成任务对本次影响越大。
以人员特殊补收业务为例,假定业务估计工作量=2,风险等级系数=3,余量调整系数=0.5,工作量权值系数=0.6,风险权值系数=0.4,符合分配条件人员列表如表1。
表1经办人员工作量表
三人特殊补收业务的效率值如表2。
表2经办人员业务星级与效率表
则日均已分配工作量=(8+4+6)/3,结果为6
工作量权值计算结果:
张三工作量权值 =(2/0.5+8+4×0.5)/6×0.6=1.4
李四工作量权值 =(2/1+4+2×0.5)/6×0.6=0.7
王五工作量权值 =(2/2+6+3×0.5)/6×0.6=0.85
风险权值计算结果:
张三风险权值=3/2×0.4=0.6
李四风险权值=3/3×0.4=0.4
王五风险权值=3/4×0.4=0.3
最终权值结算结果:
张三权值=1.4+0.6=2.0
李四权值=0.7+0.4=1.1
王五权值=0.85+0.3=1.15
根据权值计算结果,该项任务将分配给李四。
余量调整系数影响曲线:用于调整已分配未完成工作量对本次任务分配的影响,如果系数为0,则不考虑未完成的任务,系数值越大,则未完成任务对本次影响越大,以人员特殊补收业务为例,假定业务预计工作量=2,风险等级系数=3,工作量权值系数=0.55,风险权值系数=0.45,经办人员效率工作量表见表3,经办人员业务星级表急见表4,余量调整对分配的影响见表5,图5是余量调整对分配的影响曲线。
根据表3,计算出日均已分配工作量=(8+6+8)/3,结果为 7.33。
表3经办人员工作量表
表4经办人员业务星级与效率表
表5余量调整对分配的影响表
图5 余量调整对分配的影响曲线图
算法实现:
(1)根据业务来源查询是否有指定业务员处理,如果没有指定经办人,则计算经办人。
(2)计算可用经办人
根据业务分类(申办或预约)计算经办机构,根据经办机构查询可办理人员,从可办理人员中计算出一个最佳经办人
(3)计算最佳经办人
是否只有一个可选经办人,计算经办人工作量,获取业务星级,如果业务星级是1级,最低星级,则任何操作员均可以办理,选择待办工作量最小的,高于1级,计算可办理操作员:没有满足星级条件的,则任何操作员均可以办理,选择待办工作量最小的;只有一个,从满足条件的选择待办工作量最小的。
5 总 结
常州市金保工程智能任务调度系统,为业务流程应用的构建和集成提供了全面的解决方案,完全能够满足常州人社流程信息化建设中的各类应用需要,系统具备工作流中间件所需要的各种必要特性,很好地支持了常州人社各行业应用对工作流技术的要求。系统融入了新一代管理软件关注的重点思想,从架构和功能设计上,支持业务个性化需求,通过系统的应用,减少管理和运营成本,通过智能化流程管理,合理的资源配置,提高了经办的工作效率,提升了精细化管理水平。