首页 > 范文大全 > 正文

面向企业应用集成的主数据管理系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇面向企业应用集成的主数据管理系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对企业数据集成中存在的数据质量问题,为解决集成数据的不一致性问题,提出基于CFD、CIND进行数据一致性检测和基于订阅规则进行数据的主数据管理系统。系统搭建于SOA架构之上,通过主数据抽取、主数据质量控制、主数据等组件功能为各应用系统提供透明的“单一”主数据视图,并实现了主数据变更流程的自动管理。应用结果表明,使用主数据管理有效地解决了在各应用系统中流转数据的一致性问题,从而提高了集成数据的质量。

关键词:主数据管理;数据质量;条件函数依赖;条件包含依赖

中图分类号:TP274文献标识码:A文章编号:1009-3044(2011)19-4521-03

Master Data Management for EAI

LIN Yong-qin

(Network Center, Guangzhou University, Guangzhou 510006, China)

Abstract: Aiming at the data quality problems in data integration, the paper proposes a master data management system to solve the inconsistency problem in data integration, which is based on CFD, CIND for consistency checking and based on subscription rules for maser data promulgation. The system is built on SOA architecture, through the components of master data extraction, quality control of master data, master data publishing to provide the single view of master data and to achieve the automatic management of master data change process. The application results show that the use of master data management can effectively solve the inconsistency problem of the sharing data from various systems, thus improving the quality of integrated data.

Key words: Master Data Management(MDM); data quality; conditional functional dependencies (CFD); conditional inclusion dependencies(CIND)

文献[1]指出,数据质量问题导致大部分中国企业数据集成项目难以达到预期,数据完整性、一致性、准确性难以得到保障,并指出中国企业在实施数据集成时遇到的主要困扰有:企业数据描述不完整、不准确;几乎无法在多个项目中复用资产或技术;高额的维护和管理成本;基础架构不堪一击,实施更改极其困难等。它并建议从准确性、合规性、一致性、重复性、及时性、完备性六个方面来评估集成数据的质量。目前,在数据集成的具体实现中,工作重点通常放在解决数据模式冲突和数据类型转换上,而忽略了数据实例层次上存在的数据质量问题。

主数据(Master Data,MD)定义为已清洗,合理化的并参与企业各系统核心业务活动的数据[3]。主数据管理(Master Data Management,MDM)是过程和技术框架,它旨在创建和维护一个权威、可靠、可持续、准确和安全的数据环境,从而提供数据的“单一视图”[3]。文献[2]指出集成、共享、数据质量、数据治理是主数据管理的四大要素,主数据管理实现的是从企业的多个业务系统中整合核心的、最需要共享的数据,集中进行数据的清洗和丰富,并且以服务的方式把统一的、完整的、准确的、具有权威性的主数据分发给全企业范围内需要使用这些数据的操作型应用和分析型应用,包括各个业务系统、业务流程和决策支持系统等。

文献[4]指出,“Your SOA Could Be DOA Without MDM”,近期对主数据管理的研究有文献[5-8]等,文献[5]从管理的层面,通过标准化主数据,以本体注册的方式实现主数据的管理;文献[6]从主数据分析建模、主数据表达建模两个方面来陈述主数据管理总体框架;文献[7]提出了基于XML的数据集成方案,方案内嵌了基于UML规范的主数据管理功能;文献[8-9]通过IBM的MDM Hub,主要是针对客户数据,从客户数据分类和表关系发现方面提出基于语义的数据管理;文献[10]从概念层给出了MDM、SOA和复杂事件处理等相互接连的总体框架,也给出了主数据集成和管理方案的流程设计方案。

主数据是各应用系统共享的数据,是相对于各应用系统的业务数据而言的,目前,IBM、Oracle等也提供了主数据管理解决方案,提供了主数据的“单一视图”,但它们在处理主数据变更的实现中对主数据变更可能引发应用系统业务数据一系列变更的影响欠缺考虑,本文针对企业数据集成中存在的数据质量问题,通过创建基于CFD、CIND进行数据质量控制和基于订阅规则进行数据的主数据管理系统,为解决企业数据集成中存在的数据质量问题提供一种可行的解决方案。

1 条件函数依赖和包含函数依赖及其在数据一致性检测中的应用

1.1 条件函数依赖

文献[11]给出了条件函数依赖(Conditional Functional Dependency,CFD)的定义和推理。

定义1:关系R上的一个CFD可以表达为φ:(R:XY,Tp),其中(1)R是关系模式,X,Y∈attr(R),attr(R)为R的属性集合;(2)XY为R上传统的函数依赖;(3)Tp是型表,属性由X∪Y组成,Tp的元组由常量或变量“-”构成。

例子:关系R上的实例customers如下表所示:

其中,country编号为44的用户,存在着Zipstreet的函数依赖,明显Zipstreet的函数依赖作用范围不在整个customers实例表上,而仅在条件为country=44的元组集合上,这种条件函数依赖表示为:φ0=Customers([country=44,Zip][street],Tp),其中Tp为

推理1:一个关系R的实例r满足一个CFD(R:XY,Tp),并设t1、t2是r中的任意元组,tp为型表Tp中的任意元组,如果t1[X]=t2[X]≈tp[X],则有t1[Y]=t2[Y]≈tp[Y]。

关系R上的实例r满足某个CFDφ,记为r│ =φ,设定义在R上的所有φ的集合为∑,若r满足∑中的每一个φ,则记为r│ =Σ。从上表中可以看出,元组1和元组2都满足φ0,若存在另一条记录(5,Jack,44,07974,Oak Ave),则通过φ0检测,可以找到元组5跟元组1和元组2不满足Zipstreet的约束规则,违背了φ0的约定,成为了问题数据。

与传统的函数依赖(Function Dependency,FD)相比,传统的FD主要应用于数据库的范式设计、模式匹配、查询优化等方面,而CFD侧主要用于数据的输入控制、数据维护及数据清洗等方面,并通过特定的数据约束表达式提供了计算机自动检测的功能;另外,传统的FD只涉及关系模式层次的信息,面对数据实例层次的数据质量问题往往无能为力,而CFD能检测实例层次的数据质量问题,它通过绑定关系属性及其语义相关的数据,定义数据子集上成立的约束,用于细粒度的数据不一致性检测。文献[11][12][13]在理论和实践上已对基于条件函数依赖进行数据的自动清洗作了理论和实践上的深入研究。

1.2 包含函数依赖

文献[14]给出了条件包含依赖(Conditional Inclusion Dependencies, CIND)的定义。

定义2:定义在关系R1和R2上的条件包含依赖φ为(R1[X;Xp] ?哿 R2[Y;Yp],Tp),其中(1)R1[X] ?哿 R2[Y],是传统的包含依赖;(2)Tp为型表,其属性为X∪Xp∪Y∪Yp,它的元组取值要么是常量,要么为未命名的变量“-”。

举例:教职工信息表(职工编号,职工名称,…)

学生信息表(学号,学生名称,…)

用户表(用户ID,用户名称,口令,权限标志,用户类别)

其中假定用户类别0代表学生,1代表教职工,明显当用户类别为1时,它的数据来源于教职工信息表,即是包含依赖于教职工信息表;当用户类别为0时,它包含依赖于学生信息表,这种条件函数依赖表示为:

用户表[用户ID,用户名称,用户类别='1']?哿教职工信息表[职工编号,职工名称]

同理,传统的IND也是CIND的一个特例,它可以表示为(R1[X;nil]?哿R2[Y;nil],Tp)。

1.3 CFD和CIND在数据质量控制组件中的应用

为了检测数据实例层次的不一致性,条件函数依赖理论绑定关系模式中属性及其语义相关的数据,条件包含依赖理论绑定了关系模式之间的相关语义数据,通过它们能定义满足约束的正确数据的模式。实例中存在的错误或不一致数据通过破坏约束的形式被检测出来,从而应用CFD和CIND指导数据清洗,控制集成数据的质量问题。

文献[12]给出了检测数据实例是否破坏条件函数依赖D的检测方法。在本系统中,CFD和CIND主要用于数据不一致性检测和模式匹配上,它们表达成业务规则,保存在业务规则库。它们在本系统应用中的改进点有:(1)分别整合了CFD和传统的FD,以及CIND和传统的IND,将部分的业务规则绑定到CFD和CIND中,让其参与问题数据的检测(2)在主数据订阅规则中通过CIND来描述数据的依赖关系,通过依赖关系再访来生成相应的主数据消息,以实现各应用系统所有相关业务数据都能反映主数据的变更。

2 主数据管理系统

主数据管理系统的主要框架图示如图1,其中长方体框代表的功能模块为系统的关键组件。

目前MDM的实现方式可分为Registry技术、Hub技术和EMDM技术三种,Hub实现方式扩展了实体注册的实现方式,在实现实体注册的基础上增加了主数据集成服务,这些服务用于创建和维护主数据并在应用系统之间主数据,而EMDM的实现功能比前两者更强,除了前两者能实现的功能外,还提供了主数据建模和主数据管理的功能,并跟踪主数据和元数据的变更。本系统在实现上采用的是第三种方式。

MDM系统中的元数据存储包括了主数据业务模型、主数据规则和定义,其中主数据业务模型定义了主数据实体、属性、关系和他们的业务含义。当主数据记录详细资料被修改后,其相应的元数据都将被更新。

本系统中主数据的变更分为两种情况:一种是源头在应用系统上的,如教务系统中的学生主数据、人事系统中的教职工信息等,通过主数据抽取组件捕捉应用系统上主数据的变化来更新和同步主数据管理系统上的主数据;另一种是通过主数据管理系统客户端进行主数据更新的,如学院、各处室等部门信息,由于没有应用系统生成部门信息并可作为其权威数据源的,这种情况下,通过MDM客户端进行主数据的统一更新,这种更新也同样要经过一致性等检测才能进入主数据数据库。

在主数据功能上,变化的主数据流通过主数据组件,根据主数据订阅规则,将变更后的主数据信息分发到各个应用系统并更新相应的实例表。例如,对部门信息(部门信息在结构上设计为学院系别科室的三级或多级可扩展结构),其中教务系统只需要订阅一级的学院信息,人事系统则需要订阅前两级的部门信息,资产管理系统则订阅三级的部门信息,且资产管理系统中存在着多张业务数据表跟部门数据主表是有依赖关系的,更新资产管理系统的部门数据主表时,必须同时更新跟其相关的其他业务数据表。不同应用系统所订阅的主数据信息通过配置订阅规则文件(XML文件)来实现,在订阅规则中指定变化的主数据所推向的目标服务器、目标数据库及类别、目标表、目标表跟主数据对应的字段列表、订阅筛选条件、跟目标表存在依赖关系的其他数据库表以及所执行的更新(Insert、delete、update)操作等。按照订阅规则生成的消息格式为:(主数据类别,SQL集,目标服务器,目标数据库)。

举例,资产管理系统对部门信息的订阅:

上图显示的为对部门主数据的其中一条订阅规则,MD_Fields和Target_Fields定义的字段一一对应,必要时还可进行类型等的转换设置,Rule_Condition指出资产管理系统订阅三级的部门信息(部门信息表中长度两位的为学院级,四位的为系别级,六位为科室级),RelTable为跟目标表相关的业务数据表,跟部门主数据相关的业务表有设备信息表deviceinfo和用户表users,上面的写法实质上表达了deviceinfo[takedeptid,nil] ?哿 departments[deptid],users[deptid,nil] ?哿 departments[deptid]这样的条件包含依赖。

当主数据库中修改了一条部门信息,例如,将部门编号为020101改为020105,按照资产管理系统的订阅信息,发向资产管理系统的消息内容为:(2,"update deptments set deptid=' 020105'where deptid='020101';update deviceinfo set takedeptid='020105' where takedeptid='020101';update userinfo set deptid='020105' where deptid='020101' ",172.22.21.200,ZCGL)。其他应用系统的主数据订阅原理相同,其他更新操作也类同,都是通过捆绑SQL到消息服务来实现。

3 运行结果和系统评价

文献[12]证实了基于CFD的一致性检测的有效性,其测试结果表明,使用CFD的性能接近传统FD的性能,在关系元组的数据量较大时,CFD的性能甚至超过了传统FD的性能。本系统内嵌于ESB上的数字化校园数据集成平台,负责主数据的同步和变更管理,目前集成了14个应用系统的600多条数据交换流程,基于表依赖关系和业务规则创建的CFD和CIND近1k条,校园网内主数据实时同步响应时间在1秒内。

4 结论

本文基于条件函数依赖CFD和条件包含依赖CIND,将其作为形式化的规则实现了对主数据的一致性检测,并通过基于订阅规则的主数据实现了主数据变更引发应用系统一系列业务数据的变更。搭建的主数据平台,为各应用系统提供透明的“单一”主数据视图,从而保证主数据在各应用系统之间流通的正确性,为解决企业集成中存在的数据冗余、数据不一致等数据质量问题提供一种解决方案。

参考文献:

[1] 刘飞.中国企业数据集成与数据质量市场白皮书[EB/OL].cn.2008.

[2] 蒋志明.理想的数据架构的研究和实现[J].中国科技信息,2009(4):84-87.

[3] PAlex Berson,Larry Dubov.Master Data Management and Customer Data Integration for Global Enterprise[M].New York:McGraw-Hill,Inc.2007.

[4] Forrester Research.Your SOA Could Be DOA Without MDM.2006

[5] 王波,陈德规,史亚贝.通过标准化主数据实现高校数据交换[J].组合机床与自动化加工技术,2008(12):100-103.

[6] 张德进,王磊,尤静,等.企业主数据分析与表达技术研究[J].机械设计与研究,2008(2):67-71.

[7] Ludovic Menet,Myriam Lamolle,Amar Zerdazi.Managing Master Data with XML Schema and UML[J].International Workshop on Advanced Information Systems for Enterprises,2008:52-58.

[8] Li Ma,Xingzhi Sun,Feng Cao,et al.Semantic Enhancement for Enterprise Data Management[J].2009 Proceedings of the 8th International Semantic Web Conference,2009:863-878.

[9] Xiaoyuan Wang,Xingzhi Sun,Feng Cao,et al.SMDM:Enhancing Enterprise Wide Master Data Management Using Semantic Web Technologies[J].2009 Proceedings of the VLDB Endowment,2009,2(2):1594-1597.

[10] Anca Andreescu,Marinela bining Actual Trends in Software Systems for Business Management[J].2008 Proceedings of the 9th International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing,2008,V9-1-V9-6.

[11] Bohannon P,Fan W,Geerts F,et al.Conditional functional dependencies for data cleaning[J].ICDE,2007.

[12] W ENFEI FAN,FLORIS GEERTS,XIBEI JIA,et al.Conditional Functional Dependencies for Capturing Data Inconsistencies[J].ACM Transactions on Database Systems,2008:1-44.

[13] Fan W.Dependencies Revisited for Improving Data Quality.ACM Symposium on Principles of Database Systems(PODS(invited),2008.

[14] Loreto Bravo,Wenfei Fan,Shuai Ma.Extending dependencies with condition[M].VLDB,2007.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文