HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

企业主数据实践初探

  • 2020-06-20
  • 本文字数:3168 字

    阅读完需:约 10 分钟

企业主数据实践初探

企业所面临的数据问题

企业都会使用不止一个系统(除非是非常小的企业),同一个现实实体的细节会出现在不止一个系统中,例:员工会被定义在财务系统、OA 系统等。因此就会带来如下问题:


  • 可能需要在每个系统中重新存储数据

  • 系统之间可能不同步(新数据,更新数据)

  • 重复数据:"ABC Ltd"和"ABC Limited"是同一个东西么?

  • 报表或者分析:难以从多个系统去合并数据


因此以下场景,屡见不爽




为了解决上述问题,我们需要为企业的信息集成、管理和共享提供一个系统化的解决方案。MDM(Master Data Management)便是方案之一。

主数据的定义

主数据可以简单理解成,数据被一处以上的应用所使用到,此类数据就可以成为主数据

主数据管理系统

MDM 是在业务和 IT 协同工作下确保企业业务关键的主数据资产(如员工、组织、地理信息等)的权威、可靠、可持续、精确、安全的数据环境。


MDM 的主要功能分为四类:


  1. Master Data Lifecycle Management(Master Data 生命周期管理)

  2. Data Quality Management(数据质量管理)

  3. Master Data Harmonization(Master Data 协调与分发)

  4. Analysis and InsightCapabilities(分析功能)



主数据管理系统核心功能

主数据管理的成熟度等级

Level 0 :没有实施任何主数据管理(MDM)


在 Level 0 的情况下,意味着企业的 各个应用之间没有任何的数据共享,整个企业没有数据定义元素存在。各个系统间不共享、数据不互通是常态。


Level 1 :提供列表


不管公司大还是小,列表管理是我们常用的一种方式。在公司内部,会通过手工的方式维护一个逻辑或物理的列表。当各个异构的系统和用户需要某些数据的时候,就可以索取该列表了。对于这个列表的维护,包括数据添加、删除、更新以及冲突处理,都是由各个部门的工作人员通过一系列的讨论和会议进行处理的。业务规则(Business Rules)是用来反映价值的一致性,当业务规则发生改变或者出现类似的情况时,这样高度手工管理的流程容易发生错误。由于列表管理是通过手工管理的,其列表维护的质量取决于谁参加了变更管理流程,一旦某人缺席,将会影响列表的维护。


Level 2 :同等访问(通过接口的方式,各个系统与主数据主机之间直接互联)


MDM Level 2 与 MDM Level 1 相比,引入了 对主数据的(自动)管理。通过建立数据标准,定义对存储在中央知识库(Central Repository)中详细数据的访问和共享,为各个系统间共享使用数据提供了严密的支持。中央知识库(Central Repository)通常会被称为“主数据主机(Master Data Host)”。这个知识库可以是一个数据库或者一个应用系统,通过在线的方式支持数据的访问和共享


Level 3 :集中总线处理


与 MDM Level 2 相比,MDM Level 3 打破了各个独立应用的组织边界,使用各个系统都能接受的 数据标准统一建立和维护主数据(MDM Level 2 的主数据主机上存储的数据还是按照各个系统分开存储的,没有真正的整合在一起)。


集中处理意味着为 MDM 构建了一个通用的、基于目标构建的平台。大多数公司发现 MDM 正在挑战他们现有的 IT 架构:他们拥有太多的独立平台处理主数据。MDM Level 3 集中数据访问、控制跨不同应用和系统使用数据。集中 MDM 处理-通过 一个公共的平台作为一个总线 (HUB)-说明一个共识,从多个系统整合主题域数据,意味着使用 集中、标准化的方法转换异构操作数据,不管其在源系统中是什么样子,都会被整合起来。在 MDM Level 3,公司对主题域内容采用集中管理方式。这意味着应用系统,作为消费者或使用主数据,拥有一个共识就是 数据是主题数据内容的映像,打破了各个独立应用的组织边界。MDM Level 3 支持分布主参考数据的存在。


Level 4 :业务规则和政策支持


一旦数据从多个数据源整合在一起,主题域视图超越单独的应用并表现为一个企业视图,你将获得事实的单一版本。当事实的单一版本已经能够提供出来时,来自业务主管和执行人员的必然反应经常是:“证明它”。MDM Level 4 可以保证 主数据反映一个公司业务规则和流程,并证实其正确性。MDM Level 4 通过 引入主数据来支持规则,并 对 MDM 总线以及其它外部系统进行完整性检查


举例来说,在一个 HMO 内,需要多个应用来支持一个病人的护理。一个单一的访问(visit)可能包括入院、房间和床位分配、监控设备、化验、身体检查以及其他程序等。一旦一个病人准备离开医院,出院流程需要确保和这个病人相关的所有活动、资源都被结清。MDM 技术在召集多个应用系统一起保证病人辨识方面是十分有效的,处理是正确的。虽然病人辨识很重要,业务规则整合同样重要。临床系统依靠一系列的业务流程和数据规则来辨别所有显著的病人详细资料。这包括返回所有基于房间的资源(监护设备、床位等)以得到有用的详细目录,当病人要出院时分解其所有的费用。MDM 保证当 John Smith 出院时,正确的房间和设备放入到该 John Smith 的详细目录中,而不是其他的 John Smith(正在另一个楼层做身体治疗)。


MDM 系统必须不仅支持基于规则的整合,还要能够整合外部的工作流。MDM Level 4 支持集中规则管理,但是规则本身和相关的处理是可以分开的。换句话说,MDM 总线需要保证规则是集中应用的,即便这个规则是在总线外居住的


Level 5 :企业数据集中


在 MDM Level 5 , 总线和相关的主数据被集成到独立的应用中。主数据和应用数据之间没有明显的分隔。他们是一体的,当主数据记录详细资料被修改后,所有应用的相关数据元素都将被更新。因此,MDM Level 5 提供一个集成的,同步的架构,当一个有权限的系统更新一个数据值时,公司内所有的系统将反映这个变更。系统更新完数据值后不要单选其他系统中相应值的更新:MDM 将使这种更新变的透明。


MDM Level 5 是把 数据概念作为一种 service 来实现。MDM Level 5 保证了一个一致的主数据主题域企业映像。定义“客户”和其他应用接受客户主数据业务规则变化实际上是一回事。MDM Level 5 移走了主数据的最后一个障碍:统一采用数据定义、授权使用和变更传播



企业主数据生态构建


主数据的生态圈,包括数据的提供方,主数据系统及其使用数据的下游系统。



主数据

主数据安全问题

主数据中会保存一些敏感数据,一旦泄露将会造成不同程度的影响。因此,如何安全访问主数据,是建设主数据的关键环节。


一般来说,可以通过以下策略来进行基本的安全访问控制


  1. 支持数据的 行列权限 控制

  2. 支持 离线脱敏 ,包括数仓脱敏和下线环境数据脱敏

  3. 尽量 减少高密类型数据的下发

  4. 支持数据 安全定期审核 与分析

  5. 支持元数据的管理审批权限



对于敏感数据的使用,往往会和业务产生一定冲突。假设员工的邮箱为敏感数据,而给人员发送邮箱是一个非常合理的需求,自然也就需要获取邮箱数据。在不下发邮箱的前提下,如何满足业务使用?这里有一种简单的做法。一般来说,邮件服务,是一个公共能力。因此我们可以在此基础上,抽象出一个邮件代理服务,业务系统只需要传递员工 ID,再由此代理服务,通过调用主数据来获取邮箱数据,将数据获取和泄露的风险降低至一个服务。以上是借助代理服务,来避免主数据系统中敏感数据下发。


业务系统在进行一些关键操作,比如查询薪资,可能就需要员工的手机验证码校验后才能查询。自然的,就需要从主数据获取员工手机号,而不巧的是,手机号也是敏感数据。我们是否可以参考上述例子,通过抽象一个上层代理服务,来完成手机验证码的发送和验证? 如果公司的验证码服务,除了给公司内部使用,又支持外部用户使用。此时,员工 ID 就非唯一标识。这时,主数据系统就要承载起业务服务化的能力,自身去提供代理业务的能力。因此,在缺少代理服务的情况下,主系统系统自身要承载起重担,保证满足下游业务的同时,减少数据泄露的风险。


小结


如何建设好主数据,是中大型企业都需要去思考和解决的。本文只是简单提及了主数据系统的一些概念,在安全管控方面的一些简单实践经验。对于主数据本身来说,还有非常多的点可以去挖掘,例如主数据的生命周期管控、数据权威验证等等。


2020-06-20 18:361850

评论

发布
暂无评论
发现更多内容

质量基础设施“一站式”平台,NQI一站式云平台开发

电微13828808271

不愧是阿里p8大佬!终于把Java 虚拟机底层原理讲清楚了,请签收

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

为什么要做漏洞扫描呢?

华为云开发者联盟

安全 风险 漏洞 漏洞扫描 安全认证

Go语言学习查缺补漏ing Day9

Regan Yue

Go 语言 11月日更

react源码解析1.开篇介绍和面试题

buchila11

React

基于Serverless的端边云一体化媒体网络

华为云开发者联盟

Serverless 端边云 媒体网络 视频云 边缘云

Alibaba5轮视频面:同事+组长+主管+项目+HR,收割Java岗offer

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

精选2021年大厂高频Java面试真题集锦(含答案),面试一路开挂

热爱java的分享家

Java 架构 面试 程序人生 经验分享

智慧警务系统开发,警务通app搭建

电微13828808271

46道史上最全Redis面试题,面试官能问的都被我找到了(含答案)

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

在 Flutter 中使用 dio【Flutter专题3】

坚果

flutter 签约计划第二季

技术解析+代码实战,带你入门华为云政务区块链平台

华为云开发者联盟

区块链 华为云 政务 Baas 异构链

网络安全是一门高级学科,如何入门,看这里!

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

网络协议之:一定要大写的SOCKS

程序那些事

网络协议 程序那些事 11月日更 SOCKS

归并排序,我举个例子你就看懂了

华为云开发者联盟

算法 归并排序 序列 归并 分治法

Python 可以满足你任何 API 使用需求

华为云开发者联盟

Python API 程序 网络通信 公共数据

系统架构性能优化思路

五分钟学大数据

11月日更

深入了解Netty原理篇

邱学喆

Netty

数据网格简史

俞凡

架构 数据

写代码的思路

king

Flutter 的动画包【Flutter专题4】

坚果

flutter 签约计划第二季

基于实践:一套百万消息量小规模IM系统技术要点总结

JackJiang

网络编程 架构设计 即时通讯 IM

DDD领域驱动设计落地实践系列:初识DDD

慕枫技术笔记

架构 后端 签约计划第二季

Vue前端开发规范

CRMEB

Hadoop 企业级生产调优手册 (二)

大数据技术指南

11月日更

5年crud经验,三个月啃透888页Java王者级核心宝典,竟翻身阿里p6

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

大厂算法面试之leetcode精讲8.滑动窗口

全栈潇晨

算法面试 Leet Code

微博评论高性能高可用的设计

云里雾花

react源码解析2.react的设计理念

buchila11

React React Hooks

五面阿里拿下飞猪事业部offer,2021新鲜出炉阿里巴巴面试真题

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

六年Java老鸟,写给1-3年程序员的几点建议,满满硬货指导

热爱java的分享家

Java 架构 面试 程序人生 编程语言

企业主数据实践初探_文化 & 方法_技术琐话_InfoQ精选文章