冯贤凤,陈威
(贵州黎阳航空动力有限公司, 贵州 贵阳 550014)
缺乏统一的数据标准则增加了数据对照和映射关系的复杂程度,降低了企业数据分析工作的实时性和准确性,不利于数据资产价值的实现,难以为企业做出未来的经营发展决策提供有效数据支撑。作为企业信息数据的重要构成,统一管理主数据可使企业的效益得以显著提升,企业缺少统一的主数据标准是制约企业发展的因素之一。建设并完善企业主数据管理平台是目前的研究热点之一。
快速发展的网络信息技术促使企业的信息化水平不断提高,以信息化支撑业务工作成为企业提高经营管理能力的重要手段,信息系统成为企业必备工具。而企业不同阶段的信息化建设通常是为满足不同的业务需求,不断增加的信息系统数量易导致部分业务数据的重复输入及管理,各业务系统通常独立运行,增加了数据抽取、 汇总分析过程的难度,需通过建立点对点的共享方式实现数据同步;企业整体层面的数据交互共享程序均为以实际需要为依据定制开发,增加了维护的难度; 缺乏统一的数据标准则降低了数据应用的实时性和准确性,不同系统中同一事务的定义通常不同,不利于企业数据的统一整合[1]。
随着公司规模的不断扩大,为满足不同业务需求需建立不同的应用系统,企业通常面临着不同信息应用系统间的相互协调,数据在各系统中的存储及维护方式通常不一致,导致各应用系统间分块信息孤岛的出现,阻碍了数据在不同系统间的共享与使用。本文以信息化整合中存在的两方面问题为主对企业主数据管理平台进行设计:(1) 利用主数据管理功能实现企业不同业务应用系统间数据标准及来源的统一, 提升数据质量以确保后续数据的有效共享和使用过程的实现。 (2) 各个系统均能通过数据管理平台实现数据交互过程,采用星型数据交互模式代替传统的点对点数据交互方式,使数据交互效率得到显著提高。尤其是对于企业的核心数据资产能够来源可溯、 安全可控,提升数据安全水平,最终实现企业数据的标准化、规范化管控功能。
作为企业描述核心业务的数据,主数据涵盖了整个企业范围内的数据,具体由操作及业务管理应用系统在内的所有系统间需共享及使用的数据构成,造成主数据不统一的原因主要包括:(1) 企业在初始建设相关信息系统时对数据标准化的重视程度不足,导致数据管理制度及规范不健全;(2) 数据管控体系有待完善,涉及多项业务的企业通常根据业务条线对信息系统进行建设, 各业务条线的数据由对应的业务部门负责管理,管理架构及体系不统一;(3) 受到变动的组织机构的影响统计维度变化大,工业企业的主数据范围涵盖较广,包括生产原料、 生产辅助、原料采购、 设备、物资、班组、销售、科技与工艺、 人力资源等领域,主数据管理平台需实现包括主数据及参考实体、主数据接入同步质量、审批、 订阅分发、 日志查询、应用系统维护等方面的数据管理功能,同时需以本企业实际信息系统建设规范要求为依据, 遵从主数据标准建立和维护信息系统, 已上线运行的应用系统接收的数据为主数据编码格式, 以便同其他系统相互交换数据,推送数据完成通主数据编码格式相对应后企业实时数据库推送[1]。
本文所构建的企业主数据管理平台的功能架构,如图1所示。
图1 主数据管理平台功能架构
主要功能模块包括数据共享模块、平台管理模块,元数据管理模块及系统管理模块。
2.2.1 数据共享
数据共享模块的主要功能在于全面整合企业内、外部数据,实现数据信息在各个业务系统间的交互,共享平台采用星型交互模式代替点对点的数据共享及交互方式进行数据采集与分发,具体可划分为展示层、 平台层、 数据层、 基础层,其中,用户通过提供统一展示界面的展示层即可完成多种查询; 平台层主要负责提供各种服务以确保数据交互及共享功能的实现,数据通过该层同共享平台进行交互;数据的存储及管理由资源层负责完成, 将数据支持功能提供给上层;基础层负责通过使用软硬件支撑平台的运行。数据交互过程需遵循平台提供的定制流程,作为主数据管理平台的核心数据共享模块提供了可视化界面,用户通过对数据共享规则进行配置(支持匹配字段)即可获取已存储于共享数据中心的业务数据,能够完成数据合并/拆分/字段运算、 条件过滤、 查重等功能, 实现同平台数据中心间的数据交互过程。数据提供者需根据平台的数据存储及管理规范对业务数据进行梳理,并同共享数据中心的管理员协商后, 再向数据共享中心发布数据[2]。
2.2.2 平台管理
作为整个主数据管理平台的监控中心, 该模块将各类包括数据接入、导出、审核、 规则设置、 共享等在内的数据管理的交互需求提供给管理员(通过可视化界面),同时负责对平台运行情况进行监控,对于出现的数据异常能够及时发出报警信息。对新的应用系统数据接入需通过数据审核后才能存入数据库,在审核数据时将不符合标准及要求的数据过滤掉(包括不完整、错误、无用类的数据),过滤数据依据具体的规则设置完成,从而在确保数据同主数据对应性的同时保证入库数据的准确可用及完整。规则的执行有两种选择即抽取加载数据时定期执行或管理员审核时执行。考虑到企业各业务系统的技术水平可能存在差异性,部分重要业务数据没有全面覆盖或业务数据的准确性不足,因此在平台上完成数据的补录、修正或删除,此过程中需对用户权限进行严格控制, 详细记录操作时间及操作者。 此外还需进一步固化处理共享数据中心的数据以供后续挖掘和利用[3]。
2.2.3 元数据管理及系统管理
(1) 元数据管理,通过主数据管理平台能够对元数据进行相应的操作(包括定义、查询、 修改、 删除等),元数据主要负责对数据的属性及特征进行描述,对于企业复杂繁多的数据, 在主数据管理平台中需基于元数据完成数据的管理功能, 平台中的元数据具体负责对数据基本属性及数据相关信息(包括抽取、转换、装载、展现等)进行记录,从而显著提高数据的管理效率。(2) 系统管理,负责实现用户、机构、权限、角色管理功能,为满足各个系统均的数据共享需求,通过统一用户管理功能的提供实现统一的用户授权及身份认证过程,采用菜单级及按钮级授权。为满足主数据管理平台对大量数据的存储和管理需求,支持准能一万五千人的查询量(可根据企业信息系统建设需求进行扩增),普通查询统计时间不超过 5 秒,统计报表查询时间不超过 20 秒,对使用终端不做限制。
不断发展的开发工具及架构催生出了基于开放的标准的SOA 架构,SOA作为一种面向服务的体系结构具备灵活性、 可重用性、 松耦合性等优势,可有效简化企业主数据管理平台的开发过程,服务提供者在创建服务时无需明确具体的请求方式,请求者同样无需明确实现服务的技术细节,基于 SOA的主数据管理平台示意图,如图2所示。
图2 基于 SOA的企业主数据管理平台
为确保平台的工作效率采用ESB(企业服务总线)作为基础的数据服务框架, 部分应用程序架构的任务功能通过ESB即可实现(包括路由寻址、数据交换、消息及管理服务、 事件管理、安全认证等),使用者无需掌握ESB的内部工作原理及流程, 使用其所提供的功能即可在ESB 上发布业务服务以及相关服务的调用[4]。
主数据管理平台软件需通过数据接口实现数据的相互交互,目前接口技术发展较为完善, 开发接口时采用消息队列,WebService等技术完成,接口包含主动推送和被动接收两种数据传输模式, 根据企业各子系统间的需要协商使用。设计主数据管理平台时采用了两种接口设计方式即松耦合和紧耦合可满足不同系统的数据管理需求,业务系统定制化开发的接口采用紧耦合,主数据的订阅及共享注意通过松耦合方式的使用完成,业务数据的共享通常较强较高的实时性, 使业务数据(如生产类、实时类数据)能够及时在其他相关系统中体现出来,需使用紧耦合的接口方式,能够快速响应避免了数据消息的滞后性。业务系统的通用接口采用松耦合, 使数据传输过程基本不受接收方系统的制约, 响应速度不及紧耦合[5]。
本文所构建的主数据管理平台结合运用了经典MVC 架构以及SOA 架构,数据库采用 Oracle ,设置了ETL 及接口服务器,软件开发语言采用Java 语言, 提供多种方式的数据交互组件(包括数据库层、 WebService等),采用 Bootstrap完成平台前端可视化界面的设置,提升了人机交互性能。 整体基于企业虚拟化平台部署, 以便统一进行运维。
(1) 基于数据库间的数据交互,根据企业自主建设的应用系统,平台管理员具有读、 写各子应用系统数据库的权限,完成对指定权限数据库表的读写操作。 ETL 工具选用了HiRIS10 产品,数据提供方在数据入库前先在影子表内写入数据(具体采用触发器方式完成),ETL 工具则以预定规则为依据定期从中读取数据并将其写入到主数据管理平台的数据共享中心。 应用系统对数据进行使用时,所需推送数据需先通过使用ETL 工具按照规则完成到数据影子表(由使用方提供)内的写入, 使用方自定义读取相关数据的频次以供后续使用。(2) 基于消息队列的数据交互,适用于自建/统建信息系统间或同其他应用系统间的数据交互,数据的传输过程为:由发送端启动本地 ETL流程并将所需发送信息以XML 流并切片的形式输出,再通过传输媒介向主数据管理平台传送,然后由平台向接收端发送消息,启动本地 ETL 流程的接收端处理并保存数据。发送端完成同所需发送的数据库表或视图对应的具体字段的选择后,依次经过业务逻辑处理及XML 转换器处理完成字段到XML 文档最终到消息的转换过程,然后发送给主数据管理平台。同发送端处理流程相反的接收端则在业务表内存储相关数据。(3) 基于 Web Service 接口的数据交互,在共享平台通过相应服务及调用地址的配置即可实现跨编程语言的远程调用功能[5]。
该模块主要负责统计交换数据及监控作业,对于作业监控,不受数据交互方式的影响均需校对及验证相关数据,本文采用了存储过程(基于统一的日志记录功能)结合定时 Job的方式,从而便于清洗规则定义并能够根据实际需要补充识别过程。提供监控告警查询功能,记录数据清洗执行及异常处理情况,数据清洗发现的异常数据通过人工检查进一步确定,在存储过程中针对适用于系统自动处理的数据可通过具体规则的定义完成自动处理过程,并在处理日志中记录;系统对无法自动处理的数据会进行标识、 记录并发出报警信息,提醒运维人员解决。对于统计交换历史,用户通过可视化查询界面根据相关条件(包括时间段、数据流向、 数据提供方或使用方等)条件筛选出统计结果[6]。
(1) 元数据管理,元数据倾向业务交互数据,定义数据时(通常包括核心、共享元和参考3类元数据)以元数据共享交互过程作为唯一依据,同时需对已建主数据进行充分考虑,以便同主数据合理区分,元数据的属性包括校验规则、标题、字段类型及长度等。(2) 系统管理模块,通过统一身份认证平台管理用户,用户成功登录平台后即可访问相应 Web 应用系统进行数据处理,由平台管理员配置系统访问链接权限, 赋予用户相应权限; 平台管理员根据业务性质完成审批流程的定制, 控制数据的接入与接出[7]。
企业的各项业务数据随着信息化建设的不断深入而不断增加, 不同来源及结构的数据导致数据相互隔离问题的出现, 使数据价值的发挥大打折扣,难以满足大数据时代背景下的数据资产管控需求, 为提高对企业相关数据的利用率并为实现数据价值的深入挖掘提供支撑,本文完成了统一的企业主数据管理平台的构建,该平台以主数据为基础,能够对元数据进行规范化管理,完成数据的集中统一管理和定制分发,实现对基础数据的标准化及后续共享使用过程的管理。后续研究将通过大数据技术的使用实现管理平台中数据价值的充分挖掘, 以便为管理层的相关决策提供数据支持。