基于商务智能的流程评估系统中ETL的研究
2014-12-23陈玉东
陈玉东,姚 青
(山东大学 计算机科学与技术学院,山东 济南250101)
0 引 言
以业务流程的优化与再造为核心的业务流程智能(business process intelligence,BPI)是以业务过程中的流程数据为基础进行知识模式的挖掘,从而实现流程的优化,进而提高企业在当今复杂多变的商业环境中的核心竞争力。数据抽取(extract)、转换(transformation)、装载(loading)作为数据仓库的基础,是BPI系统中至关重要的组成部分。ETL完成的质量决定了数据仓库中数据的准确性和完整性,进而决定了整个BPI系统的流程优化的成败。基于商务智能的评估系统是一个以业务流程优化为目的的业务流程智能系统,该系统以流程实例数据为基础,通过对流程实例的数据进行评估,实现流程的再造与优化。而ETL作为整个系统的基础更是重中之重,确保数据一致性和准确性、统一又足够深度的维度,同时兼顾数据合理性。本文结合流程数据的特点,搭建了一个业务流程数据转换架构 (business process transformation framework,BPTF),用于解决流程数据的数据转换问题;结合该架构制定了一系列适用于业务流程数据转换规则,确保转换并加载到数据仓库中的流程数据的准确性和完整性;最后给出了相应的数据转换算法。
1 相关工作
BPI已经越来越广泛的应用于企业的流程再造和优化,可以将它总结为基于商务智能在业务流程中的应用[1,2],业务流程管理系统记录了许多类型的事件,包括每个活动的开始和结束时间,它的输入输出数据,执行它需要的资源,以及活动和流程执行期间的失败。通过将流程日志清洗聚集到一个数据仓库,并且用商务智能技术分析他们,提取关于发生在过去的高或低质量的执行情况的知识,并用这些信息解释为什么会发生这样的事,并预测流程执行的潜在问题。每个业务流程智能系统都是以流程数据为基础构建的[3],而ETL是保证整个系统数据质量的关键。可见,ETL是保证业务流程智能系统得以准确高效执行的关键。
基于商务智能的流程评估系统是BPI的实际应用,通过搭建流程评估体系,利用数据挖掘中对数据处理的思想和方法,对异常、特例等噪声数据进行清洗、转换,更好地分析各个评估指标,以实现企业流程的评估、优化和再造[4]。ETL就是整个系统的基础和关键组成部分。文献[5-7]给出了ETL通用架构,并根据不同的领域设置限制条件,进而设计了适合所在领域的ETL 系统。文献 [7]给出了基于XML的通用的数据转换规则。文献 [8]通过映射的方法将数据转换描述成源数据到目标数据的映射,并给出了相应的数据转换算法。本文的研究背景中的流程评估系统需求的流程数据具有维度、粒度等的不确定性;且现有流程数据大都存在于异构的数据源中,数据格式及对同类数据的描述都具有极大的差异性,因此流程数据的数据转换过程相较通用ETL过程具有更高的准确性和完整性需求,但文献中的通用ETL 显然无法满足流程评估系统的需求。
本文在现有的通用ETL数据转换方法的基础上,结合BPI的思路给出了在商务智能需求下的流程数据的转换问题解决方案,结合流程数据的特点以及流程评估系统的具体需要,搭建了适用于业务流程数据的数据转换架构,制定了适用于流程数据的数据转换规则,并通过实例给出说明,为面向流程的数据仓库研究工作提供配合和支持。
2 ETL数据转换的分析与设计
基于商务智能的评估系统是一个通过对已执行成功的业务流程数据进行挖掘来实现流程的分析评估进而达到系统的优化。本节针对流程数据提出ETL的方法。
2.1 业务流程数据转换架构
数据转换的目的就是将存储于异构数据源中的数据转换成统一的目标数据格式,以备加载到数据仓库中,而业务流程的数据转换的源数据就是被抽取到临时数据库中的流程日志。图1给出业务流程数据转换架构。已从数据源中抽取出的流程日志存储在一个临时的数据库1中,数据转换引擎从临时数据库1中提取一个流程日志并从规则库中导入转换规则,生成数据仓库中的事实表和维表,并暂时存储在临时数据库2中,以备后续的加载工作。
图1 基于流程数据的ETL数据转换架构
临时数据库1:用于异构的数据源中的流程日志通过数据抽取获得的数据的临时存储。
ETL数据转换引擎:用于数据转换的自动化和转换规则的自动识别以及异常的处理,是整个架构的中心。
基于xml的转换规则库:存储定义好的流程转换规则。
规则解析器:解析基于xml的转换规则,以便转换引擎的识别。
临时数据库2:存储转换完成的流程数据,以便后续的加载工作。
企业的合并重组,通常会对其经营模式带来改变,其财务管理机制也将受到影响。例如,生产型企业与销售型企业合并后,新企业的经营范围将大幅扩展。若生产型企业占据了主导地位,则财务部门的管理范围将向销售、储运等环节延展。反之亦然。但在这一过程中,财务资源会密集交接,人员变更将更为频繁。传统的财务管理机制,无法应对规模扩大、审核延长等管理体系的变化。
异常处理:转换过程中出现的异常情况处理,可以与业务人员进行交互。
用户需求:流程优化需要的属性集以及相关业务领域知识和参数。
系统的工作原理:首先输入用户的具体需求,ETL 数据转换引擎调用转换规则1 (见3.3),生成目标表如图2所示,同时将相关的参数返回规则库,然后引擎从临时数据库1调入源数据,同时分析从源数据到目标表数据所需转换规则,调用相应的规则,生成目标表数据,并存储于临时数据库2中。假如客户是保险行业,则数据转换的对象就是保险行业的流程数据,首先输入的是保险行业的知识和客户的需求,例如客户满意度与流程时间和赔付的额度以及同行业的相同流程平均时间和平均赔付额度有关,流程时间低于行业相同流程平均时间,赔付额度高于平均额度则客户满意度高,如式 (1)所示,具体的a、b取值根据实际客户需求,行业平均流程时间和行业平均赔付额度以表格形式存储。若客户要求时间的最小计量单位是小时,则最小的时间粒度为时,若没有要求最小计量单位则参照规则2 (见3.3),这里数据引擎就将这个公式以及a、b等参数值以及行业平均流程时间和行业平均赔付额度的表格以及最小时间粒度返回规则库;同时数据引擎调用转换规则1 (见3.3)生成目标事实表和维表,从临时数据库1中调入数据开始数据转换。
图2 目标表
2.2 ETL数据转换的问题描述
2.3 应用于流程数据的ETL数据转换的规则
数据转换规则是数据转换的中心,它是否合理决定着数据转换的质量和效率。业务流程数据转换的转换规则更是决定着流程优化的成功与否。本节结合流程日志的特点,制定流程转换规则如下:
(1)最大维度原则,即最大满足评估系统的需求,使数据仓库事实表中的流程属性尽可能的多,确保后来的流程评估系统能够从各个需要的维度进行挖掘。
(3)最小粒度原则,即将具有维度层次的流程属性的粒度设置为可能最小,例如流程中的时间维度和地域维度,流程日志中按秒记录数据,如果我们能够确定将来我们的评估系统的数据分析是只精确到天,那么我们转换时可按天汇总数据,如不确定则按秒汇总数据,确保评估系统将来可以按秒分析数据。
(4)统一数据格式规则,即异构的数据源会有不同的数据描述方式,这里统一成相同的格式。例如在保险行业中用来描述保险种类可以采用12345,也可以采用abcde,这里统一用12345来表示。
(5)限制流程值域规则,有些数据在流程日志中是不可能存在的,例如行政审批时间应该是工作日时间,不应在8-18时之外。超出值域统一用-1表示。并做记录统一返回异常处理,经由业务人员确定并修改。
(6)聚集运算规则,即一些属性是评估系统需要的,但是流程属性中不是直接存在的需要通过一定的公式计算才能够取得的。例如服务行业中的客户满意度是日志中不存在的属性,但却是流程评估的重要指标,它是时间、花费等多个属性按照一定的公式计算而来的综合指标。
(7)没有结束节点的流程处理,没有结束节点的流程分为2种情况,一种是日志记录不完全,可能是日志记录异常,即流程时间戳存在断点或者重叠;也可能是流程异常,即日志中记录了流程异常。另一种情况是流程未完成,即同一流程不存在流程异常以及时间上的断点和重叠。第一种情况记录返回由业务人员确定,并补充完整,并加载到数据仓库,如无法补充完整则删除该流程;第二种情况则记录返回,待该流程完成以后,同后续流程日志增量抽取。
2.4 ETL数据转换算法
算法1:生成目标表算法,通过输入的相关行业知识和用户的特殊要求生成数据转换的目标表
输入:集合A:用户需求,即用户进行流程优化需要流程的属性
N 维表:相应的行业知识,即数据转换处理流程所属行业中的知识。包括特殊属性的计算公式和附属参数 (如3.1中的客户满意度),该行业一些特有知识 (如3.1中的保险行业的同等流程平均赔付时间和额度),以及部分属性的约束条件 (例如约束时间的最小粒度为天)
3 实例分析
本文采用的实例描述了一家保险公司的理赔处理过程,总共有3512个实例,其中包括了交通意外险、车险、综合意外险、健康险、家财险、投资理财险等不同险种。数据转换前对客户需求进行分析,获得客户的具体要求以及保险行业的相关行业知识如下:流程的开始时间从客户电话向保险公司开始报案并且保险公司备案开始计时,流程的结束时间为客户获得赔付时间或者保险公司通知客户不满足赔付条件时间。理财保险的开始时间为客户投保时间,结束时间为客户取回本金的时间。另外,客户满意度的预测公式采用式 (1),其中a,b分别取0.4,0.6;行业平均时间和平均赔付额度以表格形式加入数据转换引擎进行转换。本实验的时间粒度精确到小时,保险的种类按照交通意外险1、车险2、综合意外险3、健康险4、家财险5、投资理财险6统一表示。
实验开始时流程数据经过数据抽取,被存储于临时数据库1。数据引擎通过临时数据库1中的流程数据和上述的行业知识生成如图3所示目标事实表和维表。数据引擎按照转换规则完成数据转换,并存储于临时数据库2,加载到数据仓库。
图3 保险理赔流程的事实表和维表
为了验证转换数据的准确性,从数据仓库中随机查询交通意外险,综合意外伤害险,健康险等各2 个实例,按照流程ID,保险种类,流程时间,行业平均时间,赔付额度,行业平均赔付额度,预测客户满意度等项以表格形式输出见表1。
通过手动计算与上表进行对比,数据完全正确。证明本文的数据转换方案是可行性和正确性
4 结束语
数据转换是ETL过程的核心组成部分,也是整个流程评估系统的质量保证。本文的基于商务智能的流程评估评估系统中ETL 的研究是建立在流程数据的基础上的。根据流程数据的特点,建立了适合流程数据转换的ETL 数据转换架构并定制了流程数据的转换规则,实现了转换过程中的规则的自动匹配。结果显示本文研究的方法能够快速准确的实现流程数据的转换,为之后的分析评估和流程优化和再造打下良好的基础。
表1 输出的测试结果
[1]Wenan Tan.A business process intelligence system for enterprise process performance management[J].IEEE Transactions on Systems,Man and Cybernetics.Part C,Applications and Reviews,2008,38 (6):745-756.
[2]Svetlana Mansmann.OLAP technology for business process intelligence:Challenges and solutions [G].LNCS 4654:Springer Verlag Berlin Heidelberg,2007:111-122.
[3]Amadou Sienou.Business process and risk models enrichment:Considerations for business intelligence [C]//IEEE International Conference on e-Business Engineering,2008:732-735.
[4]WANG Zhenyu.The research of process mining assessment used in business intelligence [C]//Computer and Information Science,2012:179-183.
[5]BI Kun.The design and research for ETL system [J].Software Guide,2010,9 (5):172-175 (in Chinese). [毕锟.ETL系统的设计及其研究 [J].软件导报,2010,9 (5):172-175.]
[6]ZHAO Jun.Design and implementation of ETL in the common date center[J].Computer Applications and Software,2011,28 (10):167-170 (in Chinese). [赵俊,公共数据中心的ETL的设计与实现 [J].计算机应用与软件,2011,28 (10):167-170.]
[7]FAN Jinhua.Design and research of universal ETL framework in report system [J].Computer Technology and Development,2009,19 (6):202-209 (in Chinese).[范金花.报表系统中ETL通用架构的设计与研究 [J].计算机技术与发展,2009,19 (6):202-209.]
[8]YUAN Man.Data mapping algorithm between heterogeneous data sources based on metadata-driven [J].Journal of Northeast Forestry University,2011,39 (12):128-131 (in Chinese). [袁满,基于元数据驱动的异构数据模型映射算法[J].东北林业大学学报,2011,39 (12):128-131.]
[9]Malik S.A framework for ETL workflow management for efficient business decision-making [C]//International Conference on Software and Computing Technology,2010:110-114.
[10]Qin Hanlin.Research on extract,transform and load (ETL)in land and resources star schema data warehouse[C]//Fifth International Symposium on Computational Intelligence and Design,2012:120-123.
[11]Li Lunan.A framework study of ETL processes optimization based on metadata repository [C]//2nd International Conference on Computer Engineering and Technology,2010:3664-3668.