企业主数据共享管理平台设计

2015-01-02 12:10廖华元
中国科技信息 2015年4期
关键词:数据仓库数据源数据管理

于 慧 方 坚 廖华元

随着企业信息化建设的不断应用、推广与深入,企业内部间的信息交流愈加紧密。主数据作为核心、关键数据元素贯穿企业产品生命周期管理全过程,被各信息系统识别和调用。本文中的主数据共享管理平台将主数据从应用系统中分离出来,以数据仓库作为核心业务系统重要主数据的存储与共享中心,并通过面向服务架构(SOA)技术发布主数据分发、共享服务,使其成为一个集中的、高质量的、可管理的、可重用的核心数据资源。

主数据存在于企业各应用系统中,如企业资源计划系统(ERP)、人力资源管理系统(HR)、供应商关系管理系统(SRM)等,是描述企业核心业务的实体数据,在多业务实例中被反复使用,是业务开展过程中所必须的关键信息及其元数据。相较于业务交易数据来说,主数据变化频率相对较低,如人员、组织结构、物料、客户、供应商等。随着企业信息化建设的不断应用、推广与深入,企业内部间的信息交流愈加紧密。主数据作为核心、关键数据元素贯穿企业产品生命周期管理全过程,被各信息系统识别和调用。

企业主数据管理特点和现状分析

基于主数据在企业数据管理中的重要地位和可能存在的问题,需通过一系列的管理办法、系统、应用配置等保障其在各信息系统中的一致性、完整性、有效性。

企业主数据管理存在的问题和管理需求

分析主数据在企业数据管理中可能存在的问题主要有以下三种。

(1)存在数据冗余,数据缺乏一致性、完整性:没有主数据管理功能,企业各信息系统独立管理主数据信息,彼此隔离,采用不同的流程收集、录入信息片段,形成数据孤岛。且信息反复录入,造成信息差异,维护效率低,准确性不高。

(2)数据有效性低:数据管理职责分散,无统一的数据定义标准,导致各系统间业务数据无对应标准,无法进行共享和交换。

(3)可重用性差:因数据信息分散存储,需通过对源系统进行定制化接口开发、视图定义等方法进行数据的获取,功能单一,只能解决特定系统的数据交换问题。

因此从功能上划分主数据管理需求可分为两个方面:一是维护流程的需求,即通过统一的申请、维护、审批流程,对主数据的创建、修改过程进行控制、校验与管理,保障其一致性和完整性;另一方面则是数据共享的需求,从多信息系统中抽取出主数据,对数据进行转换、整合和集中式存储,以服务的方式将数据分发给需要使用这些数据的系统,提高数据有效性和可重用性。

公司主数据管理现状分析

目前本公司已对核心主数据制定了相关编码规范、维护管理办法,并将这些技术标准、管理规范融入到应用系统的设置中,通过企业流程平台定制开发或业务系统主数据维护流程,保证每一类主数据均有统一的录入窗口,这从一定程度上保证了主数据的一致性、完整性、有效性,但这些数据最终仍保存在不同的信息系统中。

公司内部署的应用系统大多采用成熟的产品,这些产品在开发时采用不同的编程语言和实现平台,所使用的数据库平台不一致,采用的数据交换格式和通信协议存在差异,因而使得公司在不同系统间实现信息互相传递与共享非常困难,对原有应用系统与实施的新应用系统不能进行合理化的集成,系统与系统之间的交互接口越来越多、开发维护成本与代价越来越大、关系越来越复杂。

共享管理平台建设思路

为了解决公司主数据共享、分发面临的现状,本文中的主数据共享管理平台功能主要侧重于将主数据从应用系统中分离出来,通过企业ESB 总线平台提供相关主数据和元数据的服务,实现重要主数据的跨平台同步和共享。

主数据共享管理平台概述

主数据共享平台从ERP 系统、PLM 系统、HR 系统等数据源获取主数据,将这些主数据统一放置在数据仓库中,根据需要和设定再将这些主数据通过各种方式发布出去。主数据共享平台可以将现在各个系统之间互联获取主数据的方式变为统一从该平台获取。

公司数据仓库使用SAP BW 产品,为构建企业级数据中心,会将企业分析需求相关的数据通过ETL 抽取至BW,形成多个面向主题的分析模型,主数据则需要作为这些分析主题的关联结构,存储在数据仓库中。为了避免数据的重复存储,提高数据的可利用性,主数据共享管理平台的数据直接存放于数据仓库中,可作为数据仓库的ODS 层,供上层模型转换、调用。

主数据共享管理平台主要功能

主数据共享管理平台主要包括数据采集、数据管理与数据发布三个功能。数据采集通过各种数据集成技术把不同来源、格式、特点的数据在物理上有机的集中起来;数据管理则包含数据匹配、同步、转换和版本管理,并提供系统监控日志;数据发布则是根据分发机制和权限配置,将已通过系统采集、管理后的主数据全量或增量的方式分发、共享给目标应用系统。系统逻辑框架图如下图1 所示。

图1 主数据平台系统逻辑框架图

1.数据采集

平台支持从Oracle 数据库、SQL Server 数据库、SAP ECC 系统、ESB 的Web Service 等数据源采集主数据,采集地址、数据内容可以通过配置的方式添加或修改。因传统数据仓库的ETL 工具不能满足主数据准实时读取和发布的要求,因此采用不同类型的“连接器”从不同数据源获取数据。

为避免对数据源的全量抽取,采用增量方式降低对源系统的性能影响,平台主要采取以下两种方式进行数据的增量识别:(1)触发器:主要针对普通数据库数据源,如ORACLE 或SQL SERVER 等,在指定抽取的数据表上建立触发器,当源表数据发生变化时,变化的数据则被触发写入一个临时表中,数据采集进程从该临时表中抽取数据;(2)日志表和时间戳:主要针对SAP ECC 的数据获取,先通过日志表和时间戳获取需要更新的数据列表;基于SAP 系统数据表结构的特殊性,有些表内容无法通过直接读取数据库的方式获取,因此需要用通过二次开发,改造SAP 系统中原有RFC_READ_TABLE 函数的功能。并且为了减少每次采集的数据量,可定义每次采集的数据包大小。针对一些系统发布的WEB SERVICE 服务,系统能够通过配置的ESB Web Service 或JMS 地址获取信息进行数据采集。

通过系统“检查引擎”来定期保持该表结构的一致性,在数据采集前“检查引擎”首先获取源数据的表结构,将源表的结构与目标表的结构进行对比,并将结构变化提示给系统管理员。系统预留参数控制分批采集数据的批次大小,以满足不同场景的需要。

2.数据管理

本平台侧重点不在于数据的质量治理和清洗,因此只提供一定的管理功能,主要包括:可以列表的形式进行查看主数据;简单的主数据合并功能,将从不同系统获取的主数据根据“编码”或“主键”合并在一起;将历史版本保存到历史表中。

系统将所有的数据采集、发布过程细节记录在“系统日志”中,系统管理员可通过监控功能随时查看,并定制采集、发布控制参数。

3.数据发布

该平台通过不同类型的“连接器”将主数据发布到Oracle 数 据 库、SQL Server 数 据 库、ESB 的Web Service 等不同目标系统,系统在发布主数据的同时,将主数据的管理信息和概要信息一同发布,例如系统会发布现在有多少个主数据可以被获取,主数据的条数是多少等。

分发、共享功能主要通过发布Web Service、在ESB 上注册服务的方式实现。目标系统可以根据需要全量或增量获取主数据信息。传统的Web Service 数据发布方式需要执行以下两个步骤:(1)当有新的主数据需要发布时,需要开发新的Web Service 接口;(2)当有新的主数据需要发布时,需要手工生成WSDL 文件,并手工部署Web Service。为了减少开发工作量,提高工作效率,主数据共享平台需在上两个方面实现自动化,即当有新的主数据需要发布的时,系统管理员只需选择主数据,系统自动完成上述工作,主要设计思路为:(1)选择需要发布的主数据,设置需要发布的字段;(2)设置发布的Web Service 的名称等参数;(3)系统自动将该主数据发布成Web Service,并自动生成WSDL文件,最终由ESB 系统管理人员在ESB 平台上注册该Web Service。

主数据承载着有价值的企业信息,其保密性也应受到关注,因此在数据发布时需考虑数据分发的范围和组织级别权限,在系统中设置权限管理功能。可将某个“数据发布”分配给一个多个系统用户,并为了保证数据分发的灵活可配置性,定义“数据发布”时,需能设定发布的字段和记录过滤条件。

主数据管理工作展望

主数据管理是一个非常复杂和耗费资源的信息管理过程,理想的主数据管理方式应该是一个“封闭式闭环管理”模式,该模式应至少包含统一数据维护、数据获取、格式整理、数据清洗、数据验证、数据分类和数据分析等方面,本文中的主数据共享管理平台是实现这种“封闭式闭环管理”模式的第一步,我们可以在后续的应用实施过程中逐步实现完善的、科学的主数据管理流程。

猜你喜欢
数据仓库数据源数据管理
企业级BOM数据管理概要
定制化汽车制造的数据管理分析
海洋环境数据管理优化与实践
基于数据仓库的数据倾斜解决方案研究
CTCS-2级报文数据管理需求分析和实现
基于数据仓库的住房城乡建设信息系统整合研究
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
探析电力系统调度中数据仓库技术的应用
基于真值发现的冲突数据源质量评价算法