解决方案:谈MDM主数据管理系统设计和实现关键点
优采云 发布时间: 2022-12-21 03:07解决方案:谈MDM主数据管理系统设计和实现关键点
简介:多年SOA规划建设,私有云PaaS平台架构设计经验,长期一线项目经验
今天就来谈谈MDM主数据系统设计中的一些关键点。 之前分享了一个MDM主数据平台解决方案的PPT,但是在解决方案层面,很多技术实现的重点内容都没有讲到,所以今天就来说说。 将进一步阐述MDM主数据管理系统的设计与实现。
MDM 主数据管理概述
主数据是描述核心业务实体(例如客户、供应商、位置、产品和库存)的一个或多个属性。 所以主数据是企业业务架构分析中发现的核心业务对象。 换句话说,主数据是企业中已经存在的、涉及价值链核心业务流程的各个IT系统的基础数据。
对于ERP系统来说,客户、供应商、物料、BOM、产品、合同、订单等应该是最基础的数据。 对于项目管理系统来说,项目信息和WBS信息是最基本的基础数据。 对于CRM系统来说,客户和销售项目是最基本的基础数据。 基础数据上升到主数据的高度还有一个条件,即数据在一个源IT系统中产生,但会在多个其他IT系统中使用。
*敏*感*词*数据管理缺失带来的最大问题是完整性和一致性。 部分主数据不完整或缺失,部分主数据在多个系统中复制更新,造成数据不一致。 导致业务主数据问题的重要因素之一是信息彼此隔离。 在许多企业中,主数据分布在许多孤立的系统中。 客服、生产、采购都有自己的系统。
即使在一个业务部门内,也有许多收录对业务至关重要的数据的前端和后端系统,但通常无法与其他系统共享这些信息。 正是这种建立在各种架构之上的不兼容系统中的部门化数据,使得企业几乎不可能创建和维护主数据的“单一”视图。
原有的主数据管理解决方案,一方面是建立数据中心和数据仓库,可以非常高效地保存系统数据。 遗憾的是,数据仓库通常收录已清理用于分析和报告的数据,因此数据仓库是对主数据管理解决方案的有用补充,但不是解决方案本身。
还提出以ERP为核心系统和其他*敏*感*词*系统,使ERP的基础数据管理升级为主要数据管理。 但企业资源规划 (ERP) 解决方案旨在管理特定的应用程序流程,而且这些解决方案需要使用主数据,而不是主数据管理解决方案。 此外,非 ERP 系统无法访问 ERP 解决方案中的数据。
因此,IBM的MDM提出了一种超越单一视图,使用正确视图的新的主数据管理思想。 在正确的时间以正确的视图将正确的信息传递给正确的对象。 这就是主数据管理 (MDM) 的目标。 主数据管理描述了一组程序、技术和解决方案,用于为所有利益相关者(例如用户、应用程序、数据仓库、流程和贸易伙伴)创建和维护一致的业务数据的完整性、相关性和准确性。
主数据管理的关键是“管”。 主数据管理不会创建新数据或新数据垂直结构。 相反,它提供了一种方法,使企业能够有效地管理存储在分布式系统中的数据。 主数据管理利用现有系统,从这些系统中提取最新信息,并提供先进的技术和流程,用于在整个企业范围内自动、准确、及时地分发、分析和验证数据。
主数据管理解决方案具有以下特点:
MDM主数据平台总体设计
今年的一个重要任务是对现有的MDM主数据管理平台进行重构设计,形成一个完整的主数据管理平台。 该平台不仅可以满足主数据的整合和分发,还可以充分满足主数据的日常内容管理,并结合服务共享层能力,实现主数据服务的共享和发布。
在原有架构的基础上,对主数据管理平台进行了重新分层,分为基础层、应用层和共享层三层。 基础层主要提供基础引擎和技术服务能力。 对于应用层,围绕着主数据的整个生命周期展开。 在应用层形成完整的主数据视图后,通过最上层的服务共享层提供的能力实现主数据。 快速对外发布和共享数据服务。
基层
在基础层,主要实现最基本的底层技术能力。 一是ETL引擎部分的数据集成能力,在数据采集、清洗、集成时需要用到; 其次,MDM平台应该有一个标准的工作流引擎技术组件。 , 实现主数据内容管理所需的可视化流程设计和建模; 最后是4A能力和权限管理。 当然,对于组织、用户、权限的统一也是一个完整的工作流引擎需要具备的能力。
应用层
任何主数据的管理都涉及两个方面。 一个是动态流程维度,一个是静态数据模型维度。
对于数据模型维度,在实施主数据管理时,往往首先进行主数据的识别和详细定义。 比如基于标准的企业架构和数据架构规划思路,先进行流程分析,通过流程找到关键数据。 域,然后通过数据域识别关键数据对象,进而设计出完整的概念模型、逻辑模型和物理模型。
对于MDM系统来说,数据建模的所有能力都会体现在元数据管理模块中,包括数据目录的定义、数据对象的定义、子对象的定义、数据层次结构和关联关系的定义、数据对象的各个定义详细的数据项和属性、数据校验规则的定义、数据源的定义、数据采集和分发规则的定义等,这些内容在主数据对象建模时将以可配置的方式灵活定义。
简单来说,只要完全定义主数据模型,那么主数据就可以完全自动生成后台数据库对象和结构,以自动化和可配置的方式实现数据采集、匹配、清洗等各种操作。
其次,对于流程部分,主要包括常说的主数据内容管理,包括主数据的创建、修改、处置、编码应用等各种主数据管理流程。 这部分流程首先要在业务上定义清楚,包括涉及到的业务组织和职位,实际的数据生成者、用户和受让人。 流程定义明确后,我们可以通过流程引擎的能力,实现流程灵活的可视化设计和配置。
对于表单部分,一些MDM产品会提供完整的主数据接口建模能力,类似于BPM业务系统提供的能力。 但是,我们的 MDM 不包括这部分功能。 核心原因在于,对于界面建模和设计,并不是简单的界面生成,而是涉及到大量复杂业务规则的实现。 这部分是很难通过类似的快速开发来实现的。 该平台方法是完全自动化和零编码的。
该过程的第二部分是数据采集和整合。 对于这部分,MDM平台可以充分灵活配置数据采集任务和调度,实现数据的自动采集和清洗。
共享层
在主数据管理形成完整的主数据视图后,更重要的是能够快速灵活地开放和共享已有的完整主数据,供其他业务系统使用。 因此,它涉及到将主数据快速发布为数据接口服务的能力,也涉及到第三方业务系统查看和申请主数据服务的服务提供和管理能力。
目前的MDM平台可以灵活地将系统中已有的主数据对象发布为Web Service服务接口,可以灵活配置输入参数和输出数据项,也支持发布为SOAP WebService或Http WebService等多种服务接口方式.
为实现服务接口的发布,需要从服务元数据的数据对象定义-》服务定义,数据集成接口-》服务接口,形成数据对象与服务接口的完整映射。 这部分内容在MDM平台。 我们已经完成了全面整合。 即形成了从服务生命周期管理到数据服务能力快速开放共享的一整套完整解决方案。
构建基于元数据驱动的MDM主数据平台
这部分主要讲了元数据驱动的MDM主数据管理平台的核心建设思路。 因为一个MDM系统应该更多的被理解为一个结合了元数据驱动和建模、流程引擎和ETL服务能力的快速开发和配置平台。
这个思路和我们讲的构建IBM-CQ变更和缺陷管理系统的思路是完全一致的。 也就是说,我们目前很难搭建一个覆盖所有业务场景的快速开发配置平台,而是在某个业务领域,比如变更管理、基于表单的工作流、主数据管理等。 ,这些业务场景本身就已经实现了。 可能的要求和规则的范围是有限的。 如果了解实际的业务场景和底层核心模型,那么实现快速开发配置平台就容易多了。
再次强调,主数据管理平台的核心是元数据建模,类似于快速开发平台中的对象建模。 所以,还是要先说说元数据和对象建模的核心内容。
以供应商主数据为例,常规做法可能是在后台建立供应商数据库表和相关的关联子表,然后根据需求开发供应商CRUD管理功能和流程处理功能。 那么在对象建模的思想下,我们需要考虑的是,供应商是一个完整的主数据对象,这个对象应该如何建模清楚。
对象建模
通过完整的对象建模,一方面可以直接生成后台数据库表,另一方面可以用于后续的界面建模和主数据质量管理。
对象是有属性的,即首先要明确定义对象的属性信息。 对应特定领域。 对于每个对象属性,我们应该明确定义该属性的业务完整性和数据约束规则。 对象本身可能有子对象,我们应该可以进一步详细定义一个对象的子对象。 子对象会对应后台数据库表中主表下关联的从表。 对象之间存在关联和映射信息,我们应该能够对应到对象之间的关联和映射。 对象属性和对象之间存在关联信息,应该可以定义属性和对象之间的关联和映射。
可见,对象建模的核心在于对象与子对象、对象属性的业务规则定义、对象与对象之间的关联映射。 当然,我们也可以通过数据库表反向生成对象。 对象建模完成后,将对象建模的相关信息存储到元数据管理的相关数据表中,这是核心内容。 可以实现完整的元数据,完全自动生成基于对象的基本简单增删改查功能。
表单建模
对象建模完成后,接下来要考虑的是表单建模。 主要数据对象的CRUD功能接口可以通过表单建模灵活配置。 这类似于快速开发平台中的自定义表单,即详细定义CRUD各自表单的布局,以及表单中各个属性元素具体呈现的UI组件。
通过表单建模,可以实现具体主数据录入表单的布局,进而实现各个属性的录入,无论是录入还是选择框,还是需要从关联的子表中进行选择,等。 表单建模后的元数据建议与对象建模数据分离,即存储在独立的元数据表中。
流程建模
在一个完整的主数据管理平台中,必须涉及到主数据的内容和流程管理。 类似主数据的创建、修改或处置可能涉及相应的流程审批操作,审批完成后最终生效。 因此,在实现完整的表单功能后,接下来要考虑的是通过工作流引擎进行流程建模,将最终建立的工作流模板附加到表单上。 流程引擎本身涉及组织、人员、角色等4A相关内容。 这部分内容可以维护在MDM系统中,也应该从4A或者门户系统同步过来。
说到这个地方,基本上可以看到一个完整的供应商主数据管理功能。 通过围绕供应商的基础业务对象进行对象建模,在接口建模和流程建模后,完全自动生成相应的CRUD功能。 包括审批程序的执行。 但任何快速开发平台都很难真正对特殊的业务规则进行深加工。
对于复杂业务规则的处理,类似于供应商基础数据的报废,在报废前可能需要查看该供应商在其他业务系统中的使用情况。 遇到这种场景,我们原来的做法是在原有模型的基础上定义相应的脚本语句进行二次处理,但最大的问题是后期的脚本维护起来相当困难。 因此,更新的解决方案是,我们可以在标准功能的基础上,扩展相应的业务规则逻辑实现的插件或*敏*感*词*。 这种*敏*感*词*可以拦截对象属性输入前后、对象保存前后、查询前后等相应的事件。具体*敏*感*词*的业务规则和逻辑我们还是通过自定义扩展类来实现的。 这样才能保证整个主数据管理平台有足够的可扩展性。
在早期的MDM主数据管理平台中,不建议立即引入复杂的规则引擎来实现规则建模和规则可配置。 自己开发扩展代码往往更容易维护和扩展这部分内容。
前面的基本能力实现之后,我们再说两个重点,即主数据集成管理和主数据质量管理。
数据整合管理
主数据的集成管理其实包括两部分,一是ETL,二是SOA服务接口。 对于ETL,主要实现初始数据的采集、清洗和存储。 对于SOA服务接口,可以通过接口服务暴露主数据服务能力,也可以通过消息发布订阅机制实现主数据在MDM主数据管理平台中的实时分发和事件通知。
ETL部分的功能就不用多说了。 我们可以集成构建一个轻量级的ETL工具和功能。 SOA服务部分的功能涉及基于前面对象建模中定义的元数据发布标准服务。 即我们定义一个完整的对象后,可以通过向导将主要数据发布为WebService服务接口,可以是rest服务接口,也可以是soap webservice服务接口。 而具体发布的接口需要哪些输入输出应该可以灵活配置。 当然,我们也可以在MDM平台维护主数据的消息发布订阅机制,即通过消息订阅的方式,将MDM主数据的变更内容实时发布到业务系统中。
数据质量管理
数据质量管理是主数据管理中的难点,包括两个方面。 一种是对单个数据对象的数据质量分析,可以通过对象建模时定义的业务规则和完整性规则来完成。 当然,我们也可以单独定义数据质量,我们可以将规则绑定到具体的业务对象或者业务对象的属性上。 基于这些规则,对单个对象进行数据质量分析。 二是多表之间的数据审计。 我们已经提到,主数据管理平台最终是为了解决多业务系统主数据不一致的问题。 数据内容审计,实时发现数据不一致并预警。 对于数据审计的核心思想,我之前有文章专门讲过,作为参考。
如果以上内容都实现了,那么最终提供的主数据平台就是一个可以快速实现各类*敏*感*词*数据的基础平台。 该平台基本上可以使80%的主数据实现工作可配置。 同时,还可以更加注重主数据业务流程和管控规范的梳理,主数据集成,主数据专用业务规则的实现。 .
从主数据定制开发到快速配置开发
纵观最近1~2年的MDM主数据交换,很多企业希望的是完全灵活可配置的主数据平台产品,而不是主数据规划咨询和实施能力。
对我们来说,更重要的能力是策划、咨询和实施的能力,包括主数据管理标准体系、流程、数据模型、主数据质量管理、历史数据清洗和导入、数据能力共享。 这些通常不收录在标准产品中,但需要经验丰富的顾问和实施顾问的现场输入。
当然,对于一个标准的主数据产品,我们可以看到它已经逐渐类似于一个快速开发平台的能力,我们可以简单总结下一个标准的MDM主数据平台需要具备的快速开发和可配置能力。
4A和权限模型:实现组织、用户、权限等的灵活配置 流程引擎:实现灵活可配置的审批流程 对象建模:实现主数据对象模型的灵活创建和配置,包括对象与数据表的连接和创建映射表单模型:实现表单的自定义和可视化设计配置,以及表单和对象模型之间的映射。 实现数据集成的自动化配置和集成
上面的内容大家会觉得很眼熟,也就是这些和我们经常看到的快速开发平台很相似,就是一个产品和主数据平台基本涵盖了一个快速开发平台所需要的所有能力。
那么当企业实施主数据平台的时候,需要实施一种新型的主数据的时候,比如我们要实施物料主数据,我们希望的是数据模型、形式、流程、集成接口的材料可以完全配置。 无需开发代码。 在这种情况下,主数据平台的灵活性是最大的,但实际上我们看到,接口和规则往往很难通过配置来完成,尤其是一些复杂规则的实现更难通过简单的配置来完成。
主数据平台具备快速开发平台关键基础能力后,增加关键技术基础能力,即
ETL数据集成:可实现数据集成、数据清洗转换和存储 SOA集成:可实现数据对象作为接口服务的快速发布,标准化的消息发布和订阅
加上这两个能力,基本具备标准化主数据管理平台的能力。
事实上,我们现在的主数据平台具备4A、流程引擎、对象建模、集成建模、ETL的所有关键技术能力,但缺少的是动态表单建模和规则建模。 实现了一个简单的技术组件,但是通过实现,我们仍然发现对于一些复杂场景的主数据管理,通过简单的配置很难完成功能的设计和开发。
我们已经有了表单设计器和自定义表单,但即使是表单和规则,仍然需要自定义开发,其他技术组件和能力完全可以灵活配置。 这是我们主数据平台目前的能力状态。 对于强调策划、咨询和执行能力的企业,我们还是有足够的优势的。
主数据平台的趋势一定是从技术平台到业务平台
举个简单的例子,如果你一直在做汽车制造行业的MDM主数据系统,实施多了之后,自然就会知道汽车制造行业涉及到哪些主数据,每个主数据对象应该是什么包括哪些公共基域和扩展域。 这些通用的主数据模型通常也适用于其他汽车制造行业。
那么这个时候你的主数据平台已经简单的从技术平台变成了业务平台,也就是你的MDM主数据平台经过多年的建设和实施,你将积累的实施经验转化为主数据的数据资产平台。 这种数据资产本身就很有价值。
MDM系统——数据建模
如前所述,MDM平台后续的构建思路都是围绕数据模型构建的,数据模型是关键的元数据驱动。 从数据建模延伸到业务规则建模、流程建模和接口建模,最终将接口服务集成能力扩展到*敏*感*词*。 建模能力是否强大、灵活和可扩展,往往直接影响到MDM平台的易用性和可扩展性。
接下来,让我们解释一下如何对主数据建模。 主数据建模的本质应该是树状层次可扩展结构,便于子对象和层级的自动附着,适用于具有多个子对象的主数据。 *敏*感*词*。
整个主数据建模的关键流程和步骤应该如下:
创建数据对象,例如供应商、材料数据对象。 数据对象可以具有多级结构。 创建数据对象的子对象,即数据对象可以有子对象,子对象也可以有子对象。 创建数据对象或子对象的数据项信息,包括数据项的名称、类型和其他扩展属性。
以上三个关键步骤就可以实现基础数据对象的创建。 每个数据对象和子对象对应数据库中的一张表。 这个数据对象与我们领域设计中的领域对象非常相似。 子对象没有单独存在的意义,必须与父对象一起存在。 建模中对应的每一个数据项,就是实际数据表中的数据字段信息。
这样数据建模完成后,可以直接形成动态Sql语句,直接创建后台数据库表结构。
在数据对象建模中,可以考虑增加文件夹创建功能,也可以单独增加为数据对象创建属性组的功能,即可以对不同的属性和子对象进行分组管理。 这种分组一方面是为了我们维护和管理它,另一方面是在界面建模时直接将不同的分组属性映射到不同的选项卡。
数据项本身的类型至少应包括以下内容:
简单输入数据类型:字符型、数字型、日期型列表型数据类型,从下拉列表中选择:支持从数据字典中选择,也支持从独立数据表对象中选择跳转窗口选择类型:即, supports linking to another external data table object file type: supports uploading files, 注意可以支持为一个数据对象上传多个附件的能力。默认为表格类型
对于列表数据类型,往往需要支持多级分类联动方式。 比如在维护物料信息时,可能会出现先选择物料类别,再选择子类别,再选择子类别。 存在三个小列表框链接关系。 .
以上是最基本的数据项类型的维护能力,其次是基本的字段完整性校验能力,包括场景是否为空、数字类型检查、长度检查、值大小检查、自定义脚本检查(如果一个>0 and b>0 then c>0), etc. 这些确保数据输入的基本完整性。
以上所有的验证都可以在输入单个主数据记录时完成,然后再进行多行记录之间的相互验证。 最常见的是为了避免主数据的重复录入,我们需要进行相似性验证测试,并对相似的主数据进行提示。
例如,在输入供应商时,我们可以根据名称进行相似性验证,在输入材料信息时,我们可以根据规格、型号、参数组合进行相似性验证。 相似性检查功能不仅可以用于数据清洗阶段的重复检查,还可以用于后续的新增数据录入和修改检查。
还有跨多个数据对象的验证。 例如,当有数据在途时,不允许更改或删除供应商的类型或名称。 这是最常见的外部业务规则验证,也需要这种能力来支持。
一个完整的主数据模型定义,其实应该包括数据元数据、业务规则元数据、界面元数据,包括界面应该展示什么,展示布局规则等等,都属于界面元数据。 这些也可以在数据模型维护时统一维护。
对于对象级别的主数据,还需要维护额外的属性信息,包括:
元数据定义完成后要达到的一个效果是可以生成底层数据库表,可以用来自动生成接口,可以用于数据的采集和整合,也可以根据数据进行主数据质量管理商业规则。
数据质量管理
数据质量管理(Data Quality Management)是指识别、测量、监测、预警等一系列管理活动,通过改进和提高组织的管理水平,进一步提高数据质量。
数据质量的评价维度主要包括以下几个方面:
完整性完整性:完整性用于衡量哪些数据丢失或哪些数据不可用。 一致性:一致性用于衡量哪些数据没有以统一的格式存储。 Consistency 一致性:一致性用来衡量哪些数据值在信息含义上存在冲突。 准确性准确性:准确性用于衡量哪些数据和信息不正确,或者数据是否过期。 Uniqueness Uniqueness: Uniqueness is used to measure which data is repeated or which attributes of the data are repeated. Relational Integration: Relevance is used to measure which associated data is missing or not indexed.
The above contents are all things that need to be considered and supported when we are doing the data quality management module of the MDM master data management system, including the implementation of data conversion and cleaning in the ETL tool.
As for data quality management, it should cover the whole life cycle management of data birth, old age, sickness and death. For convenience, we will focus on two common stages of implementing data quality management, one is the data 采集 and integration stage realized with the help of ETL tools, and the other is daily real-time Data checks and audits performed. Let's talk about these two common stages separately.
Data 采集 and Integration Phase
Many of the current ETL operations have been transformed into ELT operations, that is, some of the contents of the Transform transformation we are talking about are completed during the ETL transmission process, and some have been transformed into data 采集 to the target database and then the data transformation is completed on the target database side.
Note that the role of conversion is more to standardize and standardize data, such as converting names into codes through conversion and mapping, or merging the contents of two data items, etc. These are things that can be performed during conversion.
One of the key points in data uniqueness is deduplication and desimilarity. For deduplication, we can complete the conversion configuration in the ETL tool, and for desimilarity, it is often necessary to write independent code or script to analyze after the subsequent data 采集 is completed. Similarity data, and after manual confirmation, remove the similarity data or merge the data.
One type of master data often involves multiple tables, such as supplier master data, which involves multiple sub-objects such as basic information, contact information, and account information. These sub-objects can be a hierarchical relationship or an association relationship. This will be defined in detail when we define master data objects and association relationships. This association brings about referential integrity constraints. For example, the supplier contact information is there, but the corresponding supplier header cannot be found. This kind of data cannot be processed on the ETL, but it can be found through scripts. Abnormal data are processed and cleaned manually.
Data checks performed on a daily basis
The master data itself is also constantly increasing. Therefore, after the data cleaning and initialization are completed and the master data platform starts to run normally, we still need to carry out daily data inspection and control of the master data content. This is also an important content of data quality management.
For daily data inspection and auditing, the overall steps can be considered as
Define data inspection rules, including single-table attribute inspection, cross-row duplicate inspection, multi-table association dependency inspection, and consistency inspection. Define inspection tasks and checklists. Configure checklists as a plan and schedule, and automatically execute regularly and regularly to view data inspection reports. For Abnormal data is processed manually or automatically
The data accuracy, uniqueness, data duplication or similarity checks mentioned above can also be done at this stage. At the same time, we see that there is another core job, namely the consistency check and data audit of the data itself.
For example, when supplier data is 采集 from both systems, how to match and check the differences and consistency of the supplier data of the two systems requires an independent data audit function. Data audit firstly has a unique matching keyword for data objects, and secondly defines the fields that need to be audited. For the two data sheets of A and B, common data audit and comparison results mainly include the following aspects.
Which data in the two tables A and B are exactly the same? Which data table A has, B table does not, or vice versa. Which data A and B have both, but there is a situation where the content of the data item is inconsistent.
The above is the simplest data audit. The results of data audit can be triggered by the system to automatically perform data synchronization and integration again, including cleaning and conversion during the data integration process; secondly, data audit reports can be output for manual use by business personnel. Handle exception data.
Finally, I would like to emphasize that although data quality management is a matter of the whole life cycle, the real improvement of data quality must not be to conduct data inspection and audit afterwards, but to really start from the source of data problems. For example, solve the problem of multiple multi-point entry of data sources, solve the problem that the same data can be modified in multiple systems, solve the problem that the data constraints defined in the data model are not controlled during data entry, etc.
MDM system - interface and data service
When it comes to the main data platform, interfaces and data services or integrated management are must-have capabilities of MDM. In the MDM solution, more will be used to discuss how these two parts are realized in conjunction with ETL and ESB service bus.
First of all, we can see that MDM involves external integration, which mainly includes two aspects. One is the data 采集 process, and the other is the data distribution and data service capability provision process. Therefore, we need to discuss the integration process from these two aspects.
data 采集
For the data 采集 process, it needs to be divided into two different scenarios to illustrate:
It can be seen that in the initialization stage, the 采集 and initialization data import is completed through ETL tools. After the official launch, because the master data change frequency itself is not high, service 采集 can be performed directly through the service interface. MDM provides data import interface services, data The source generation system invokes the service interface in real time to import data into MDM when there is a master data change.
当然如果是采用的集中化建设模式,即主数据本身就是在MDM系统创建产生的,那么在这种情况下就不存在主数据还需要采集的过程了。
数据的分发
对于数据的分发本身又分为两种情况:
当前使用的比较多的还是数据落地分发,对于数据落地分发,如果订阅MDM的业务系统相对多,最好是采用消息发布订阅模式进行主数据分发,当然仍然采用WS服务进行分发也可以,但是就需要MDM系统调用多次服务接口进行数据的分发操作,以方面对分发过程进行监控。
对于数据分发,如果存在批量数据的分发,比如人员或组织主数据出现了批量变更,那么这种场景下采用消息或WS分发都可能存在大数据下的性能问题。或者说一个数据分发涉及到更高的安全要求后跨网段集成,那么这个时候还可以采用将需要分发的主数据导出为文件格式,通过文件将主数据分发给目标系统。
对于数据不落地情况下,MDM系统只需要提供标准的数据查询服务接口即可。在这种情况下需要确保该接口服务本身在大并发调用下的性能问题。
主数据平台如何提供数据接口和服务集成能力?
在前面谈MDM的文章的时候,我已经谈到过,我们希望的是MDM系统本身就集成了接口和服务集成的能力,最大化的建设接口集成时候的实施工作量。更好的模式就是MDM本身也具备了部分ETL和ESB服务集成的功能在里面,而不是要完全依赖于外部的能力。
对于数据采集模块,我们可以集成最基本的数据集成能力,即在MDM系统里面就可以配置简单的ETL操作,任务调度操作,将外部数据源的数据根据某种业务规则采集到MDM平台中来。
对于数据分发模块,有两种情况
1. 数据分发场景
1.1 由MDM制定导入服务接口,生成服务规范和契约,MDM将数据模型映射到服务规范。
1.2 外部已有的WSDL服务,MDM直接进行服务映射和分发服务配置,无需编码。
1.3 将MDM数据模型直接发布到JMS消息中间件,同时支持外部系统进行消息订阅。
2. 数据不落地场景
2.1 由MDM提供数据模型直接发布为主数据服务的功能,即模型可以直接发布为服务。
2.2 仍然采用契约先行模式,先定义数据查询接口契约,MDM数据模型映射到服务规范上面。
对于发布的接口本身还需要支持场景的SOAP WS和Rest两种服务接口模式。同时MDM系统本身还需要提供对服务接口的实时监控能力,分发异常告警能力,分发日志的详细统计分析能力等。
解决方案:「安化百度排名优化」如何处理百度快照有病毒的现象
先排查木马,清除页面木马,不要以为清空内容就是好办法,因为你要上传,百度已经考虑到这一层了,所以清空内容一定不是最佳做法,页面没有变化。 本例中挂马的根目录(很重要打开源码可以看到大部分JS挂马都被隐藏了,手动打开可能看不到挂马,只供蜘蛛访问,可以查看百度挂马的快照。
也许使用网站的东西和百度来模仿检测源代码。 如果发现问题,请删除页面并上马,然后带网站参与百度云监控,扫描全站,如果安全,请去百度申诉,但是有一点,没有不管测试是否安全,都要检查网站源代码,检查木马后门。 通常,黑色工作站都有后门(比如菜刀)。 一般人真的不确定。 我建议你打包你的源代码。 用加密狗或电脑将其放入服务器以扫描代码。 通常,可以检测到*敏*感*词*木马。 当然,如果你有其他的扫描,你可以用这个代替文件。
就是给网站打补丁,比如说如果是通用的CMS系统它会更新程序,可能会重新安装新版本,一般人真的修复不了,不知道人家用网站什么gap,除非他们看到了网站是渗入日志的,不然会有一些跟踪,但是我个人不建议你这样做,很麻烦,一般公司网站不需要这样做,请更新程序,如果是VPS云服务器,然后安装安全狗,把围棋放进去,保护机制稍微高一点,可以一定程度上保护一些马!
完成以上三步后,发现完全没有问题。 后来想起客户前段时间要求换网站服务器,才明白原来ip不稳定的原因是知道问题的真正原因,立马通知了客户。 紧跟最新资讯更新百度快照! 打开,百度快照没几天就更新了,危险告示没有了!
本文由可靠网络阿升哥采集整理,由可靠网络提供:网站建设、网站优化,详情请联系:(微信同号)