基于加权计算的自动审核算法
2014-08-23王晓磊余长江连毅春
王晓磊,余长江,连毅春,苏 强
(1.国网新疆电力公司信息通信公司,新疆 乌鲁木齐 830002;2.新疆信息产业有限责任公司,新疆 乌鲁木齐 830026)
0 引言
信息技术正在助力于企业改善经营管理活动,业务部门在分析业务实际需求,整理业务操作规范,梳理业务操作流程的基础上,借助工作流技术来提升业务操作的标准化、自动化处理过程[1]。目前,在企业管理系统的申报、审批流程中,对流程申请、任务分发和通知等操作过程的自动化处理已经有较好支持[2],对流程审核环节的自动化处理还有待加强。
流程审核是工作流的一个重要环节,由于各行业对审核判断的标准不一致,导致审核过程主要通过人工判断实现,大部分系统仅仅支持审核意见填报、审核结果是否通过等操作。在一些项目申报审批系统中,通过对申报项目多轮、多人次审核的评分结果加权平均值的计算[3],实现最后评分结果的自动化计算过程,从而在一定程度上减少了人为因素的干扰。但是,这种方式没有支持对审核过程的自动化处理,不能完全避免人为因素的干扰。
为降低审核流程的复杂性,减少业务流程人为因素的干预,在审核流程中引入加权项[4],通过加权计算方法,在流程审核节点按照用户自定义条件实现加权自动判断,辅助管理人员实现申请流程的快速、科学审核,可以有效减少项目相关方因人为因素引起的各类纠纷,增加流程各环节决策和判断的科学性、规范性。
1 加权计算原理
加权计算的思路就是按照影响因子对目标对象的影响程度进行综合计算,以期获得最接近实际情况、最全面考虑所有因素的结果。在工作流程中的审核节点引入加权计算,其原理包含如下2个方面:(1)确定加权计算方法;(2)从业务数据中抽象出加权项。
1.1 加权计算方法
选择加权计算的方法主要从2个方面考虑:(1)目标对象的影响因子之间的关系;(2)计算方法的复杂性[5]。从项目资金申请流程的角度考虑,影响资金申请审核的因素包括项目质量、历史项目实施信誉、合同规定的阶段支付比例、项目难度等,这些影响因素之间不存在关联或者关联性较少,呈现一种线性关系。从计算方法的复杂性考虑,线性计算实现的技术难度较低,且在各类业务中具有通用性。所以,在流程审核节点引入加权计算,选择的加权方法是线性加权和法。
线性加权和法有2个重要参数:(1)影响因子,即权值;(2)影响程度,即权重。其计算方法如公式(1)所示:
其中,xi表示权值;ki表示权重;xiki表示当影响因子的权值为xi,影响程度为ki的时候,对目标对象的影响结果,即影响因子的值;f表示所有影响因子整体对目标对象的影响结果。影响程度ki表示权重,因此在一次加权计算过程中,应满足公式(2):
从业务流程的角度考虑,xi表示审核中该影响因素的本次分值,是本项目或历史项目对该影响因子的评分;ki表示该影响因素占整体影响因素的百分比,由用户协商决定;f表示所有影响因素最后计算得分,如果结果满足用户设定的阈值则审核通过,否则判定不通过。尤其是在资金申请审核中,f还可以表示申请资金的支付比例。
1.2 加权项抽象
加权项是从业务特性中抽取出来的数据项,是被审核项的影响因子中用户所关注的可度量属性。加权项被抽取后,由用户赋予名称、编码、关联数据项、权值、权重、值域等属性。其中,关联数据项、权值、权重、值域等属性的含义和之间的关系如下所述:
(1)关联数据项:表示该加权项与项目资源中的数据项的对应关系;
(2)值域:是一个二元组集合,每个二元组表示一段取值范围,是从关联数据项获取的项目数据的取值范围;
(3)权值:从关联数据项得到的项目数据,在值域的某一个二元组内,该二元组对应的值即加权项的权值;
(4)权重:该加权项对被审核项的影响程度,是一个百分比小数,由用户设置。
加权项的抽取遵循如下规则:
(1)影响因子均来自于已经建立的项目、合同等资源数据;
(2)抽取的影响因子是一个可以量化的加权项;
(3)抽取的加权项的权值可以经过计算得到;
(4)影响因子之间无关联性,则可以直接抽取为加权项;
(5)如果抽取出来的影响因子之间存在关联性,则可以通过合并方式形成一个加权项。
2 加权计算自动审核流程
加权计算的自动审核算法,首先由用户定义加权项属性,建立权值与项目数据的关联关系;其次,将定义的加权项添加到流程加权项集合中;然后,在项目计划申请节点引入加权计算过程,当项目执行到该节点时自动启动加权计算;最后,发布自动审核结果。加权计算自动审核的全流程如图1所示。
图1 加权计算自动审核流程
2.1 加权项定义
定义加权项有2种方式:(1)从已有的公共加权项资源池中选择一个加权项(例如项目进度),可以作为所有项目业务的公共加权项,在项目实施执行之前就可以定义好;(2)构造专属于该项目特定阶段的加权项,例如,环保指标这个加权项,对于工程建造类项目是必须的,而对于软件开发类项目就可以忽略。
加权项定义的完整流程包括:首先,定义专属流程的加权项,或者从公共加权项资源池中选择加权项;然后,将加权项添加到某一个流程中,构建该流程的加权项集合;最后,在申请流程中设置触发自动审核算法的节点。具体流程如图2所示。
图2 加权项定义流程
2.2 加权项计算
加权计算流程包括计算加权项的权值、自动审核2个子流程。在项目执行过程中,当启动申请流程时,在如图2所示的已经设置好的自动审核节点,可以通过表单事件触发加权计算自动审核逻辑。
加权项的权值是一个动态生成的数据,是在触发加权计算自动审核算法后首先执行的计算流程。首先通过加权项的关联数据项,从项目资源中获取映射值,然后从加权项的值域属性获取映射值的取值范围,最后按照公式(3):
计算权值。公式(3)表达含义为:如果值域中存在一个二元组[7],使得映射值xi在这个二元组的取值范围内,即满足(ai≤xi≤bi)条件,则返回权值yi。加权项的权值计算过程如图3所示。
图3 加权项的权值计算
当完成加权项的权值计算后,获取加权项的权值权重,按照线性加权和方法的公式(1),计算该加权值的影响因子的值,从而完成一轮加权项的计算。当计算完成流程加权项集合中全部加权项的影响因子值后,对所有影响因子值求和,形成最后的自动审核计算结果。自动审核过程如图4所示。
图4 基于加权计算的自动审核
3 应用实例
基于加权计算的自动审核算法被封装为一个独立的模块,与现有信息系统的集成包括3个层次:界面层次的集成,将算法的功能界面页面以iframe方式二次加载到信息系统的主界面中;数据访问层次的集成,在信息系统中创建加权审核库,引入本算法的数据访问方法;功能接口层次的集成,在信息系统的流程中,以表单事件触发或者设置定时触发的方式,调用算法接口,从而引入加权计算的自动审核算法。加权计算的自动审核算法已经成功应用于实际企业生活经营系统中,图5所示为在资金申请表单中触发算法,启动流程的截图。
图5 加权计算自动审核算法的应用
4 结束语
本文将加权计算的概念引入流程审核的自动化过程,目标是降低申请审核流程的复杂性,减少人为因素的干扰,辅助管理人员进行审核。本文首先介绍引入加权计算的必要性,然后阐述加权计算方法,加权项的概念和构建原理,最后论述了申请流程中加权计算自动审核计算的整体流程、加权项的权值计算子流程和加权自动审核子流程。
本算法也在根据用户的需求不断完善,目前在加权项定义的界面易操作性上做了一些完善和优化,后期将增加加权项模板功能、Excel定义文档导入功能等,在加权项的权值计算上增加自定义公式等,以期算法能够得到更广泛的应用。
:
[1]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907.
[2]刘来,王兴芬.基于Web的科研项目申报与审批系统的设计与实现[J].东北农业大学学报,2005,36(6):790-793.
[3]曲美霞,弭希庆.企业自动审批流程管理系统的实现[J].计算机技术与发展,2006,16(2):67-69.
[4]Kenneth E Kendall,Julie E Kendall.系统分析与设计[M].施平安,郝清赋,等译.北京:机械工业出版社,2010:168-196.
[5]梁俊锋,张祖平,龙军.动态工作流挖掘模型及算法研究[J].计算机科学,2011,38(1):185-189.
[6]杨春辉,孙伟.系统架构设计师教程[M].北京:清华大学出版社,2009:418-478.
[7]方旭华,颜慧佳.基于工作流的办公自动化系统的设计方案[J].计算机时代,2010(10):62-63.
[8]董荣胜,古天龙.计算机科学与技术方法论[M].北京:人民邮电出版社,2002:132-147.
[9]龙腾芳.数据挖掘技术在农业领域中的应用研究[J].微计算机信息,2005,21(23):42-43.
[10]周国烛,杨洪雪.Java Web项目开发教程[M].北京:机械工业出版社,2012:143-150.
[11]刘磊.程序分析方法[M].北京:机械工业出版社,2013:43-72.
[12]孙卫琴.Java面向对象编程[M].北京:电子工业出版社,2009:312-365.
[13]阴艳超,孙林夫.基于可拓元模型架构的产品资源全性能模型[J].计算机集成制造系统,2009,15(5):840-843.
[14]余虎,姚建刚,葛亮.数字电力系统基础架构平台技术研究[J].湖南大学学报,2008,35(4):63-65.