(一体化数据治理和共享平台)

引言

  • 数据服务交换和服务工具作为一体化数据治理和共享平台一个重要组成部分,包含了数据采集服务、数据交换服务、数据加工服务、数据共享服务等模块。数据交换和服务工具采用面向微服务的插座式架构,实现数据交换、数据整合、数据复制、数据传输、数据共享等功能。支持跨组织、跨网段、跨区域、上下级组织之间海量数据交换和服务、适应基于前置机、逻辑隔离的数据交换和服务等多种应用场景,数据总线能够确保数据完整性、安全性、可靠性和传输性能,能够提升数据质量与及应用价值,为数据需求部门提供准确可用的数据。

本文详细描述数据总线功能和基础结构,以及典型的应用场景。

一、数据服务交换和服务工具的三个阶段

  • 数据服务交换和服务工具处于第三个阶段,是统一的数据服务平台。也属于一体化数据治理和共享平台的重要组成部分。
    数据服务交换和服务工具发展阶段

    数据服务交换和服务工具发展阶段

    第一个阶段比较原始,此阶段缺少工具

  • 通过按需编写脚本、针对项目的开发实现,工具化程度差,项目实施和运维成本较高。

    第二个阶段多样化的工具阶段,提供了能解决特定功能的工具产品

  • 如消息中间件、ETL、文件传输等,但对于复杂环境下的大型项目有诸多不足,需要多个工具集成,缺少统一的架构、有孤岛,集成实施成本高,交换过程中面临丢包、系统堵塞等问题,安全稳定性差。
  • 点对点复制软件,已经在数据互联互通的过程中,逐渐体现出力不从心,由于其配置复杂,管理复杂,本地灾备,异地容灾,多中心结构、部门内、多部门之间关系,再有各系统之间的数据业务复杂度急剧膨胀,数据共享、企业数据共享与风控管理等面临极具挑战。

    第三个阶段是统一的数据交换和服务平台

  • 提供面向服务的插座式架构,基于统一的规则和元数据、统一架构、统一工具能可视化配置出数据采集、数据交换、数据加工、数据按需共享等不同的数据服务方案,能满足客户不同项目的数据交换和数据管理需要。提供端对端的数据交换和整合服务,保证了交换过程中的可靠传输,避免了丢包、系统堵塞等一系列问题。

    二、传统方案面临的挑战与解决思路

    传统的数据交换工具面临的挑战

  • 传统的数据交换解决方案是基于多个模块/产品集成实现跨网段数据交换,当一个环节出现问题时易造成数据不一致
  • 当采用异步交换方式时,异步的交换机制造成IO等系统资源占用、文件锁死、堵塞挂起等现象
  • 当采用同步的交换方式时,同步交换机制在交换数据量比较大,需要传输或者装载时间比较长时,易造成通讯挂起、堵塞等现象
    一体化数据交换和治理示意图
    基于统一的数据交换服务实现了端对端的数据交换。通过事务处理机制保证交换的数据一致性。状态监听器技术解决了分布式传输过程的状态感知,避免了需要长时间处理情况下的通讯挂起现象,保证了传输的畅通,跨网段情况下的大数据量的交换能力强。配置、部署、运维简单。

三、ZCBUS技术概览

数据交换平台架构设计

采用数据库复制技术

  • 数据交换平台是自主研发的一款数据融合产品,无需任何代码,通过可视化图形配置界面只需几分钟即可自服务部署一条实时数据管道,并提供丰富的管理功能:数据批流一体、数据质量管控、数据任务流管理,可视化运维管理、错误队列管理、用户管理、元数据管理等,帮助客户实现高效地连接复杂的异构数据源和目的地,大数据量高并发数据同步,可视化实时监测保障数据质量等价值,为客户灵活的数据消费需求提供强有力的技术驱动。
  • ZCBUS与传统复制技术不同,采用针对数据库提供的基于逻辑交易复制的方式,直接或者间接获取到数据库的交易,将数据发布到分布式集群平台【与KAFKA集成】,分布式数据管理对数据进行数据流整理;据客户实际需求,重新打包订阅把数据输送到目标对象【关系型数据库,NOSQL数据库,大数据平台】中。
  • 目前支持ORACLE\MYSQL\POSTGRESQL\MSSQL\DB2等数据库,以及非结构化数据等。

数据总线介绍

  • 数据服务交换和服务工具包含数据采集服务、数据交换服务、数据加工服务、数据共享服务等模块,并提供统一的工具实现可视化配置、任务的管理、安全管理、运维监控等。
    总线流程处理

    主要特点

    数据交换服务组件,在遵循一定的交换策略条件下进行数据交换及消息传递,支持数据资源在不同单位、不同区域的快速交换和共享,提供配置工具生成交换节点,此外在数据传输过程中应保证数据完整性、安全性、可靠性和传输性能。
    数据交换服务组件:支持全量、批量、实时的数据交换;支持大数据量的数据交换;支持复杂网络环境下的可靠数据交换;支持跨网段、跨单位的数据交换;支持基于通道、文件的加密传输;支持多种数据接口和传输协议;提供数据交换日志;支持断点续传功能。
    在整体数据交换过程中,对于文件介入,结构化,非结构化数据输入,均遵循统一格式,可以接受外部任意数据介入服务工作。
    含有模块化服务,以及对第三方软件接口对接服务能力。
    标准数据格式对外的标准规范,并且规范支持各种格式与标准格式转换方式,支持统一标准的SDK驱动,以及标准API规范。

四、平台介绍

提供面向服务的插座式架构,基于统一的规则和元数据、统一架构、统一工具能可视化配置出数据采集、数据交换、数据加工、数据共享等不同的数据服务方案,能满足客户不同项目的数据交换和数据管理需要。提供端对端的数据交换和整合服务,保证了交换过程中的可靠传输,避免了丢包、系统堵塞等问题。
始终以平台绑定,插件组合的形式存在。主要分为以下几个部分:
1、 管理平台
2、 数据抓取&发布组价
3、 ETL数据转换组件
4、 多集群数据共享组件
5、 数据订阅&应用组件
平台对系统内部的所有数据库重新编排,编码,为集群内部建立数据库统一编号,库与库之间的同步,管理,全部依赖此编号。

平台组织结构


捕获支持的数据库列表:

ORACLE【logmnr/xstream】
SQLSERVER 【2005以上】
MYSQL
POSTGRESQL 【9.4以上】
SYBASE
DB2

适配器支持的数据库类型:
关系数据库类型:

ORACLE
SQLSERVER
MYSQL
POSTGRESQL
SYBASE
SYBASEIQ
KINGBASE
TIDB
DB2
达梦

集群数据库:

GREENPLUM
华为MPP
阿里RDS\AnalyticDB\POLARDB

非关系型数据库:

MONGODB
REDIS
HBASE

消息中间件:

KAFKA
ACTIVEMQ

其他:
文本,JSON
业务处理主要分为数据发布、数据预处理、数据订阅等几大功能
辅助业务处理分为数据比对、数据修复等
其他:开放式服务平台,提供对外API组件,通过API组件可以提取数据到客户指定的对象中。
对企业内的数据实现数据加工、合并、广播、分发,以及多集群之间数据共享等多种场景

数据捕获&发布组件

  • 支持ORACLE\SQLSERVER\MYSQL\RDB\POSTGRESQL数据库全量、增量发布
  • 自动发布到KAFKA集群平台
  • 统一管理,根据需实现其业务逻辑,上层操作仅为用户名,表名,对列名,以及数据库组件等信息

异构、异地的数据交换

ZCBUS提供基于流加工技术的数据交换和共享,在一个服务内实现数据库、文件、JSON、XML、传输队列、适配器等之间的相互交换。具有以下交换功能:

  1. 支持数据库:Oracle、SQL Server、DB2、My SQL、Postgresql、Sybase等;
  2. 支持SQL语句作为数据源。
  3. No SQL的交换:支持与MongoDB的交换,支持与Hive的交换,支持与HBASE的交换,支持与Elastic Search的交换。
  4. 支持文件:文本文件(分隔符、定长等)、Excel文件、DBF文件、MDB文件等。分隔符文件要支持组合分隔符。能可视化配置文件与异构系统的交换。
  5. 支持XML, XML可以是文件,也可以是来源消息队列、API、 Web URL等。能可视化配置XML与异构系统的交换。
  6. 支持JSON, JSON可以是文件,也可以是来源消息队列、API、 Web URL等。能可视化配置JSON与异构系统的交换。
    提供内存对象映射满足API、传输队列数据抽取。可视化定义内存表与异构系统的交换;可视化配置数据采集结果可输出到通道中,实现数据传输服务的绑定。
    跨网段的数据交换能力。跨网段是指数据源和数据目标位于不同的网段,每个网段不能访问跨网段的数据库。能配置跨网段的数据交换服务;能实现跨网段的实时联动的数据交换;支持CLob字段、blob字段等。

异构、异地的数据结构自动适配

支持各种数据库异构、异地DDL解析,转换,适配等工作

  • ORACLE\MYSQL\SQLSERVER\SYBASE\POSTGRESQL\DB2之间各种数据库DDL语句转换,包括创建表、修改表、删除表,以及表上约束、索引等。
  • 支持数据输送到国产数据库(kingbase/dm/gbase)的支持,以及快速支持其他数据库的能力
  • 支持表上任何索引创建修改等操作,在异构数据库之间任意传输,保证数据能够正常安全的复制到不同的目标中。
  • 支持基础平台SQL语句随数据库选择自动转换等方式。

    数据交换过程中的数据加工

    数据交换过程中的数据加工,实现如下加工能力:
    1. 多种数据转换方法:包括字符串转换、字段赋值、时间类1. 转换、数据比对与翻译、数学运算、身份证格式转换等。
    2. 交换过程中的数据质量检查,根据数据逻辑判断规则,将干净的数据装载到目标中,将判断有问题的数据路由到数据库表或者数据文件中。
    3. 多种逻辑处理,包括:格式匹配检查(如日期格式、数据格式、身份证格式、自定义格式等)、字符串逻辑检查(包含、以结束、以开始、
    4. 在列表中、等于等)、内容为空检查、重复记录检查、范围内检查(如在列表内、字典或代码表内、包含、等于)、表表外键关联检查、逻辑检查(=、>、>=、<、<=、为空、非空、<And<、<=And<、<And<=、<=And<=、为真、为假等)、复合逻辑检查(以上逻辑的and、or、&&、||组合)、自定义逻辑检查等。并能可视化配置。
    5. 多种路由策略,路由条件可以是逻辑判断,也可以是等于、不等于、小于、小于等于、大于、大于等于、大于且小于、大于等于且小于、大于且小于等于、大于等于且小于等于、规则表达、是空、非空、在列表中、包含、开始为、结束为、为真、为假等方法。数据路由也可以是条件的组合,可以是and 也可以是Or,&&,||等
    6. 在满足上述条件的同时,支持IN/NOT IN 等where条件的操作,使业务编写更为灵活,保证业务开发效率等
    7. 支持SQL语句验证,可以支持SQL语句在任何数据库,任何节点中执行,保证业务能够尽可能的扩展到支持各种相适应业务逻辑,更有效的保证业务正常运行。
      SQL CACHE功能,针对某些SQL,可能存在数据数据映射匹配等关系,可以支持SQL查询之后的结果,在内存中缓存,减少对校验库压力,并且能够有效的提高数据验证效率

      事件触发

      当生产数据变化后,事后触发功能,参考触发器功能,实现业务动作衍生。
      核心功能:实时ETL数据转换,对生产零影响。
      支持触发方式:SQL语句,存储过程【数据库不受限制】,BAT/SHELL处理,UDO【外部程序】处理
    • 如何保证交换的可靠性、性能、实时性
    1. 支持断点续传。在数据交换任务运行过程中由于各种不确定原因造成网络中断,网络恢复后重新运行服务后保证数据一致。
    2. 支持实时交换。实现通过字符串报文、XML、JSON等格式实时交换数据。
    3. 自定义BSD格式,更高效保证数据在各种系统、数据库之间进行安全有效的传输
    4. 支持通过分析日志捕捉变化数据的实时交换。支持数据库CDC技术,能捕捉指定表的变化数据,增量抽取变化数据,经过转换等处理后按照条件路由到多个数据目标中。
    5. 支持数据分组分块平行加工。在一个数据交换服务中实现数据分块及数据并行加工处理,保证加工性能。

      数据共享模型溯源

  • 针对每个共享出去的表,ETL转换模型,以及应用的目的地,进行表应用流程溯源,保证每个表从任何一个节点,均能找到其来源以及预计输送【若干个】目标。实现数据多对一,一对多,多对多的数据复制,消息合并,数据合并,增加辅助消息【生产操作时间、操作类型】等功能
    • 核心功能:数据集中复制、分发订阅、重新整理。
    • 在数据溯源的过程中,能很快的知道那个表传输到几个目标端,以及某些从哪个地方过来的,经过几次流转之后到达的。
    • 可以根据设置条件,找到某条数据信息的变化轨迹。在缓存中,检索某些具体数据变化轨迹,以及变化轨迹的数据以及存放到那些目标对象中【数据库,文件,消息中间件,以及其他接口中】

      数据订阅&应用组件

    • 支持任意一份数据,1:N输送到多个目标端
    • 支持对集群中任意表进行组合,提高业务灵活性
    • 支持数据应用到ORACLE\MYSQL\SQLSERVER\RDB\POSTGRESQL等关系型数据库中
    • 支持数据输送到REDIS\ROCKSDB\LEVELDB\HBASE等NOSQL数据库中
    • 支持按列复制
    • 支持补充生产操作的时间戳
    • 补充生产操作的类型

      数据比对组件

    • 支持条数级别数据比对
      实现生产库和目标库记录数比对【效率高】
    • 支持数据分流模型中,分流数据比对
      在使用ETL数据转化会后,实现数据分流,或者数据转换,则对数据分流之后的数据进行统计,比对。
    • 支持全量、实时数据比对
      支持对整体数据库表中的数据进行数据比对【效率低下】
      支持模拟生产业务变化,对插入,更新,删除等动作进行数据比对,比对分为比对主键和比对内容两种模式
    • 支持模拟业务增量数据比对功能
      可以选择开始、结束的时间戳。然后让比对软件,仅仅比对某个时间段变化的数据。
    • 支持条件、行级别数据比对
      同库【ORACLE等】,使用DBLINK等方式进行数据比对实现数据内容全量比对【效率低】。
    • 支持数据库异构比对【MYSQL\ORACLE\MSSQL\POSTGRESQL】
    • 指定条件比对
    • 指定列比对

      数据修复组件

    • 支持表级全量数据修复
    • 支持表级行级数据修复功能
    • 支持指定时间段之内业务重新模拟变化,重新应用数据

      数据加载,并发加载功能

    • 统计每个表变化情况
    • 智能分析每个队列中延迟情况,根据装载压力,计算其是某些表是否要移动到其他队列
    • 机器学习算法,通过原来的数据自我练习,找出更为合理的拆分队列的方式,从装载条数,延迟时间,表的数量,以及表装载压力分类等多中结果计算其调整性能指标
      ![自动加载算法](/uploads/zcbus/images/m_acbebe357ed512b6d0a28ab6b593ed5a_r.png "自动加载算法")
      #### 数据自动检查强修复机制 在数据丢失,或者被篡改的情况下,软件可以实行强修复机制,在数据复制的过程中,进行自我修复,尽可能保证数据流复制安全有效的应用到数据库中。

增加单表追踪功能

如果在某个别表出现问题,数据不准确的时候,可以启用单表追踪功能,更有效的保证数据能够准确,有效的复制到指定目标端。

组件开放

为了更为快速,有效的为企业提供服务,平台提供给开放式组件API服务,为应用厂商提供更为灵活的客户端数据应用方式
开发公司可以根据自定义业务,进行二次数据加工服务,为企业提供更为优质是数据共享服务。
开发公司转换之后的数据,也可以在数送回平台,平台可以通过套餐,权限等管控,为二次转换的数据流提供更为优质的服务。

架构高可用性

存储采用分布式冗余模式,在保证节点一半以上的存活节点,系统对外服务永不停止和暂停。
在任何节点【少于设计总数一半】出现故障的情况下,都有相应的故障解决方案,保障数据流转中心高效,稳定,安全的与运行。

平台运维管理

通过可视化运维平台,一站式综合管控内部所有数据的交换进展,提供多样化的图表,直观可视,打造数据交换的“管理驾驶舱”。
核心功能:任务看板、速率进度展示、报表统计、日志分析。
全部采用容器化方式部署,安装。在面临大量数据交换的项目中,拥有相对较大的优势,为以后企业运行提供相对较为合理的平台,使运维更为简洁方便,可扩展。

多集群数据共享组件

在客户多中心:云上云下数据共享,多中心数据共享等情况下,可以支持多集群中数据共享动作。为企业,私有云,公有云,以及私有云和公有云之间进行数据共享提供基线,为企业数据流服务提供更为灵活,宽广的思路。

后台支撑组件

后台管控组件提供可视化工具方便数据服务的管理,支持数据服务集中管控,主要包括配置管理、任务管理、安全管理、监控管理。
支撑平台运行之后,内部服务,全部进行自制,跟进软件自身需求,进行过部分组件自助处理服务。

配置管理提供统一的配置管理平台

在同一个平台内,可视化实现数据节点的管理、交换服务建模、数据加工建模、共享服务建模、数据质量的管理、服务目录管理、资源目录管理、运行及监控管理等。通过相应服务的可视化操作界面生成相应类型的服务模型,可以根据业务需要创建文件传输、ETL、数据交换和处理、数据质量、安全共享、流程等各类服务,并可以根据需要分类、编码形成服务目录,便于重用、编辑、安全授权等需要,提供服务创建、编辑、删除、部署、查看等功能。支持按单位、部门、业务分类管理,支持服务模型的一致性检查,支持团队分工协同开发等。

任务管理

包括任务菜单树管理、调度管理、任务监控等功能。提供菜单生成器生成任务菜单树,方便人工交互调度管理,包括运行、终止任务等;调度管理提供任务调度功能,可以可视化配置定时、文件触发、服务代理调用、分布式调度、文件分类调度等策略。任务中心实现数据服务工厂和资源目录的一体化,可以通过资源目录查找到共享数据服务,经过申请、审批等流程后,通过服务控制中心得到授权的数据服务,进而通过数据服务平台进行数据的交换和共享。

安全管理

主要包括部门管理、用户管理、安全管理、角色管理、分级授权、安全审计、交换节点的安全认证等。提供统一的安全管理,实现对交换和共享数据的分级授权和访问控制、交换和共享服务的分级授权和访问控制、交换和共享资源目录的分级授权和访问控制,交换和共享服务的安全审计和身份鉴定等。

监控管理

对数据服务全流程监控管理,主要包括交换节点的监控、数据服务运行流程监控、运行统计等。
支持邮件告警,角色过期告警,用户过期告警,软件故障告警等
告警通知:邮件告警,短信告警,大屏警告灯通知方式  

应用场景

数据服务交换和服务工具作为一体化数据治理和共享平台一个组件,提供面向服务的插座式架构,基于统一的规则和元数据、统一架构、统一工具能可视化配置出数据采集、数据交换、数据加工、数据共享等不同的数据服务方案,能满足客户不同项目的数据交换和数据管理需要,提供端对端的数据交换和整合服务,保证了交换过程中的可靠传输,避免了丢包、系统堵塞等问题。支持跨组织、跨网段的、上下级单位数据交换、基于前置机的数据交换、物理隔绝的数据交换等多种应用场景。

组织内部数据交换

组织内部数据交换,同一单位内各信息系统数据将由各单位内部交换区内的交换节点进行交换共享,交换节点提供数据加解密管理,交换过程支持数据加密(支持SM2、SM4等国密算法加密)。

上下级单位数据交换

平台支持上下级单位数据交换,各部门跨层级数据交换先由内部交换节点将数据加密(支持SM2、SM4等国密算法加密)并交换至本单位前置机上的前置交换节点,交换完成后平台将对上下级单位进行单位认证、用户身份鉴定及访问权限验证,验证通过后本单位前置机的前置交换节点再将数据交换至上下级单位的前置机上的前置交换节点,再由上下级单位的前置机上的前置交换节点将数据交换至上下级单位的内部交换区,实现跨层级的数据交换共享。

基于前置机的数据交换

平台提供基于前置机的数据交换,基于前置机的数据交换先由内部交换节点将单位内各信息系统数据加密(支持SM2、SM4等国密算法加密)并交换至前置机,交换完成后平台将对目标方单位进行单位认证、用户身份鉴定及访问权限验证,若验证通过,由前置机将数据对外共享,满足跨部门、跨网络的数据交换的需要。

多中心数据共享服务平台

平台在为企业提供数据交换服务的同时,为企业内的各种业务分别进行了隔离,数据共享服务均通过总线来完成,数据库的容灾环境也因此有了极大提升,可以让企业内数据库灾备切换,因此而更灵活。不再受企业内数据共享约束,而存在大量的切换模型,导致灾备环境非常复杂。

数据总线平台对IT企业优化

完全隔离各个系统之间互相访问的途径,更为有效的保障了系统之间访问安全性提供保障,企业内部,在任何厂家,服务商,以及互联网运维访问到内网服务器的时候,均通过总线实现数据隔离,保证其他系统避免因为某些业务造成对其他系统无辜损害等操作。
与外部网络,企业环境提供数据服务和接收数据服务的同时,对数据分别进行有效验证,保证数据进入数据库的收,按照设置的规则进入到数据库,以及违反规则的数据,均进行编外存储,以备后期查阅。
减少了各个厂家之间因为数据对接而造成的大量接口二次开发,对产品应用企业以及业务厂家均能够再此基础上更友好的发展自己的业务。
灾备环境升级,由于原有企业数据共享,为DBLINK,ETL,以及第三方复制软件等工具,数据总线的提升,讲使灾备变得更为简单可靠。切换成功率将大幅度提高。

数据提供单位

  • 可视化配置异构源到数据、文件传输
  • 运行时完成异构源到数据BSD内部格式
  • 文件名称动态编码等处理、文件传递

    数据需求单位

  • 可视化配置数据文件到异构数据目标
  • 根据文件名称编码调用不同数据文件到异构目标处理
  • 传输和加工过程可视化监控和管理。
文档更新时间: 2020-12-28 23:09   作者:阿力