一、产品概述
数据交换平台提供数据的抽取、集中、加载、转换、传输及共享,采用分布式架构,从而保障服务的高可用性。支持多源异构数据的采集与管理,加入多种加密、解密算法,保障数据在传输中的安全、数据存储的安全。同时平台支持数据实时交换与批量数据交换,实现一源多用,大大减少资源消耗、提高了数据交换速度。 数据交换共享平台,既可以单机处理也可以基于低成本的X86分布式平台展开系统设计,既支持传统关系数据库,也支持基于HADOOP组件实现数据的并行数据处理。其核心功能紧紧围绕构建数据系统在数据处理层面上涉及到的数据清洗、转换、加载、作业调度以及对外的数据开放涉及到的服务注册、服务开发,服务开放授权。按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标库转化的过程,是实施数据仓库的重要支撑工具。 产品中内置了丰富的数据处理应用组件(Data Process Component),能够结合元数据信息,采用可视化操作等方式,对数据处理过程涉及的逻辑和处理流程进行配置管理,同时组件能够完全融合至作业流程,使用统一调度来驱动数据处理过程来完成对业务数据处理计算操作,从而满足不同业务应用对数据处理过程的不同诉求。数据处理组件内置了由开发人员编写程序实现特定转换处理功能,能够帮助降低了学习曲线、减少维护工作量、屏蔽了移植复杂性;另外对外开放相关接口,允许系统用户可以自行定义相关数据处理过程,来达到个性化数据处理需求目标。 在架构可扩展性方面,在分布式计算的理念下将计算与平台之间是关系进行了弱化,从而使得系统具备高度扩展性,具备动态调度系统计算容量的能力,系统支持在保障系统计算性能的前提条件下通过横向水平扩展方式来提升能力。在系统可伸缩性方面产品对目前主流的硬件资源平台保持兼容,在系统设计实现过程中充分考虑到平台移植方面的诉求而选择具备多种平台无关性的技术来实现以保障系统具备高可伸缩性;在易用性方面,产品以统一任务调度为枢纽,提供完善的图形化操作管理界面,降低产品使用门槛与操作复杂度。
在系统稳定性方面,产品的研发过程严格遵循软件工程思想指导进行,在研发过程中采用测试同步跟进策略,对产品功能点全覆盖、高密度、多轮次质量测试;同时,在功能集成、系统集成环节,通过专业质量保障手段,提升产品质量,保障系统稳定性。
二、产品功能-etl能力
1. 数据采集
数据采集在整个ETL过程中处于第一步位置,采集具备按要求从各个数据源中采集数据供后续数据处理流程使用的能力,在数据采集过程同步需要对采集执行过程的关键环节信息以日志文件的形式记录相关操作过程,为后续数据稽核与流程排查提供基础输入数据。
数据交换共享平台中数据采集功能具备不同数据源(DB2、ORACLE、MYSQL、DM、Hadoop、MPP、文件、消息等)中进行指定规则的数据提取作业,实现数据的统一采集。抽取后的数据存储支持落地与不落地二大类进行,抽取后的数据可以为数据清洗环节提供输入,也可以直接进行处理或者加载。从抽取支持的方式上来看,主要包括全量抽取和增量抽取两种方式,其中全量抽取可将所有历史数据一次性抽取完成;单次抽取根据规则要求进行抽取。
不论数据采集面临的数据源是何种,也不管采用的抽取方式是全量或增量,数据采集过程的工作原理基本相同,仅在处理实现层面针对不同数据源可能会进行部分个性化处理,总体数据采集的工作原理如下:
Ø 默认情况下提供基础通用的抽取功能,支持从不同数据源中抽取数据,抽取到的数据支持生成数据文件或流向管道,为后续数据处理提供输入数据。
Ø 选择抽取方式进行配置,假设为批量抽取则需要指明相应数据采集数据源描述信息,如果设置为单次抽取则需要提供抽取数据特征规则数据,数据采集开始前将获取到相应的配置规则再结合不同数据源特征开启相应的数据采集作业。
Ø 在抽取实现过程中支持提供SQL脚本,数据采集执行组件将根据定义行为脚本类型调起相应的脚本执行来获取到数据。
Ø 数据交换共享平台对数据采集提供了全方面支持,在抽取触发模式上支持自动触发与手工执行的二大类型;在数据采集形式上支持全量抽取与增量数据采集二大类;在抽取数据源类别上支持RDBMS、MPP、HADOOP等多种类型;支持批量采集和实时采集两种模式,具体支持功能的如下表所示:
序号 | 功能 | 功能描述 |
1 | 支持手工和自动两种抽取方式 | 手工方式通过人为方式启动任务,自动方式基于调度程序,定期定时执行抽取任务 |
2 | 支持多种抽取模式与策略定义 | 具备全量和增量数据采集;允许灵活定义多种抽取策略;允许对抽取的字段进行动态修改;支持在抽取过程中设置断点,对抽取行为进行跟踪与监控 |
3 | 具备灵活的数据源定义管理能力 | 支持对数据源的统一管理,对可支持的各种不同类型的数据源,允许以统一方式进行配置并获取访问 |
4 | 支持异构数据源进行数据采集 | 支持异构数据源系统的数据采集、支持多种数据采集接口,现阶段主要支持的数据源包括:各种主流的关系型数据库、MPP数据库、主流大数据平台厂家产品、文本文件、XML文件、JSON文件等 |
5 | 支持多种数据库连接方式 | 支持使用包括专用数据库驱动接口、JDBC、ODBC接口等数据库连接方式 |
6 | 支持基于日志的增量数据捕获能力(OGG) | 具备对日志进行增量数据捕获抽取能力,能够在变化数据捕捉和数据清洗过程进行无缝连接且提供图形化界面设计和监控变化数据的过程 |
7 | 提供丰富的数据采集作业执行状态监控管理能力 | 提供丰富的图形化界面设计和监控数据采集过程结果 |
8 | 批量采集 | 支持文件批量采集,能够按照指定周期进行采集,如小时、日、月等 |
9 | 实时采集 | 支持实时采集,包括对文件中增量数据采集、消息数据的实时采集等。 |
2. 数据清洗
数据交换共享平台的数据清洗功能主要进行不一致的数据清洗、数据粒度的转换和一些业务规则的计算。其中不一致转换过程是数据整合的过程,侧重于将来源于不同业务系统的相同类型的数据进行统一处理;数据粒度转换需要按照数据仓库粒度对数据进行统一归整;业务规则计算按照设计的计算规则对数据进行重新计算。
具体数据交换共享平台在数据清洗方面主要功能如下表所示。
序号 | 功能 | 功能描述 |
1 | 数据清洗规则配置 | 提供图形化的界面来实现灵活的数据处理规则配置,主要提供的数据清洗规则设置包括:对数据进行计算、合并、拆分的规则配置、对空值替换规则的配置、对数据格式化规则的配置等; |
2 | 数据处理过程记录 | 支持对数据处理过程的日志记录,记录的信息主要包括:元数据记录、转换后数据记录、运用的转换规则、转换的时间等内容; |
3 | 内置丰富的数据处理组件 |
|
4 | 数据清洗异常处理 |
|
数据交换共享平台数据清洗功能,采用拖拽式图形化配置界面,对单个或者多个数据结构相同的接口文件进行清洗,在数据不落地的情况下,可以直接从管道中读取接口文件的数据内容进行处理完成之后,既可以以文件的方式存储,也可以直接写入管道中。正确的数据文件通过装载控件完成数据文件装载,错误的数据以日志文件的方式保存到错误日志中,保证有据可查。
3. 数据转换
在数据流转过程中为了提升数据可靠性,需要对数据进行转换、过滤、清洗等数据处理操作。数据转换在ETL过程中处于承上启下的中间环节,同时也是保证数据质量的重要手段。数据处理能力实现了数据检查、数据标准化处理、汇总、装载、库内处理等功能。其中数据标准化处理强调对不同数据源的数据进行统一标准化数据格式转换、统一映射、统一编码等转换等功能。
数据交换共享平台对接单个或者多个数据结构相同的接口文件进行转换,在数据不落地的情况下,可以直接从管道中读取接口文件的数据内容进行转换。转换处理完成之后,既可以以文件的方式存储,也可以直接写入管道中。具体的转换类型包括:
Ø 字段值转换处理:字段隐私化处理,数字类型字段的加减乘除运算,字段内容替换,在字段值前统一加上另外字段的值或者加上指定的值,一个字段按字段长度拆分成2个字段,将日期字段的内容统一转换为单月的XXX号。
Ø 文件整体内容转换:字符集转换(如文件为UTF-8的字符集转换为GBK然后入到GBK库中),文件内容过滤(如去掉日期字段大于20140425的内容)等。
映射关系配置
数据转换以可视化界面方式配置映射关系,配置过程中支持增删改查操作,主要映射关系支持直接映射、编码转换。
直接映射关系指将源系统提供的接口文件中的某个维度值直接转换为数仓系统的维度值。编码转换则是通过关系映射将源文件中的字段值替换成新的字段值 。 数据加解密为了保护用户隐私,在数据清洗过程中提供关键字段加密、解密功能,支持对文件中多字段进行加解密处理。
Ø 数据加密
数据加密就是把在数据加载流程中敏感的数据信息通过加密算法转换为不可识别的密文信息的过程,如果需要获取信息的明文信息,可以将其解密成明文。依据去隐私化处理必须要可逆、高效及简化管理流程的原则,要求采用对称加密算法,一方面简化密钥的保存与管理流程,另一方面保证加解密处理的效率。目前支持业界主流的对称加密算法如AES、DES、RC4、RC5、3DES等及非对称算法如MD5等。
Ø 数据解密
数据解密主要指在平台提取数据的过程中,通过提交完整的敏感信息访问审批流程并获通过后,可以将存储在平台的敏感信息进行数据解密复原为明文传递。如果用户想查看明文,系统才会调用解密程序将数据解密为明文字段。
4. 数据分发
数据交换共享平台支持多种异构数据分发方式,包括内存不落地异构数据分发和文件落地异构数据分发方式及第三方开源工具。数据交换主要支持的场景包括:文件到数据库、文件到HDFS、文件到HBase、数据库到HDFS、数据库到HBase、流数据到数据库、流数据到HDFS、RDBMS与RDBMS、HDFS与RDBMS等异构平台之间数据分发。
“内存不落地异构数据分发”实现异构数据在内存中的分发,分发支持不落地分布式处理,以多进程管道方式并行读取数据(支持读取增量数据),在内存中完成通用转换,再经过分发路由转换成适应各种类型数据库的多路数据,最后通过分布式并行分发到多个不同的目标数据库或者写入文件。图-内存不落地数据传输和分发
“文件落地方式”实现异构数据以文件的方式交换,交换以多进程管道方式并行读取数据(支持读取增量数据),完成通用转换,再经过分发路由转换成适应各种类型数据库的多路数据,写入文件,将数据文件分布式并行分发加载至各个异构目标数据库。
图-文件落地数据传输和分发
5. 数据加载
数据交换共享平台中数据加载功能具备将采集、处理后的数据源文件加载到不同数据库(DB2、GP、HDFS、ORACLE、ASTER、GBASE等)中的能力。在实际实现过程中通过标准化的方法或通用工具来驱动,借助专业的、标准化、专业的加载处理功能模块,实现将多样化、海量数据装载至不同的数据库中。同时,进行加载数据之间的完整性的检查校验工作,以确保加载的所有的记录数据质量合规。
数据交换共享平台遵循业界技术规范标准要求,结合不同行业行业应用诉求特点对数据装载功能模块进行了个性化能力扩展,内置了全量装载、增量装载、增量更新装载、月初全量其他增量加载、双加载等多种装载方案,能够满足在海量数据规模情况下通过远程分布式多节点并行对数据装载能力的诉求。
具体支持功能的如下表所示:
序号 | 功能 | 功能描述 |
1 | 支持对多类型数据目标的加载 | 支持主流关系型数据库DB2、Oracle、Teradata等、支持主流的MPP数据库Greenplum、Aster、Gbase、Vertica等、支持Hadoop生态的HDFS、HBase、Hive等 |
2 | 支持数据批量加载 | 支持数据批量进行加载 |
3 | 支持多种加载模式与策略定义 | 具备全量、实时、双加载;允许灵活定义加载策略;允许对加载事物提交过程进行自定义配置,支持加载过程中断点续传。 |
4 | 支持文件落地和不落地两种存储加载 | 落地加载是将数据源保存在ETL物理服务器中,进行接口保存加载。不落地加载是指将数据源写入缓冲池中,不在物理机上保存而实现的加载。 |
5 | 支持自动和手工两种加载方式 | 支持数据自动加载的设计与执行,当数据加载出错时,应提供操作界面以人工干预的方式来重新启动数据的接收和加载。 |
6 | 支持多任务并行加载 | 具备支持数据的并行装载,即支持多个数据库连接同一装载任务的并发执行。 |
7 | 支持加载对象的参数配置 | 具备加载对象的参数配置功能,将数据加载过程中需要设置的命令、参数、规则进行配置,控件会自动生成相应的可执行代码,来完成作业。 |
8 | 过滤 | 具备基于数据属性值的过滤加载。 |
9 | 支持脚本加载事务处理 | 在加载实现过程中支持提供SQL、HQL、SHELL等不同类别的行为定义脚本,数据加载执行组件将根据定义行为脚本类型调起相应的脚本执行来加载到数据。 |
10 | 支持数据加载对目标表的操作 | 支持数据加载对目标表的追加、更新、删除等 |
11 | 支持异构目标库多加载 | 支持异构目标库多加载,如同时加载Hadoop、ORACLE、MPP库等 |
12 | 支持数据加载的错误限制 | 支持数据加载的错误限制,如发现最多1000条错误数据记录时停止加载 |
13 | 支持文件推送功能 | 支持文件推送功能,具备将文件通过FTP/SFTP推送到外部系统,例如CRM/BOSS等 |
14 | 提供丰富的数据加载作业执行状态监控管理能力 | 提供丰富的图形化界面设计和监控数据加载过程执行状态 |
15 | 数据加载过程日志记录 | 支持在数据加载过程中对数据记录条数、开始时间、完成时间,错误信息等信息进行记录保存 |
数据加载综述
数据交换共享平台数据加载到数据库,加载过程支持分布式加载,按照集群的负载均衡原则,由集群的多个节点并行加载,提升加载性能;同时支持数据存储落地和不落地两大类,支持增量加载、全量加载,支持实时流加载和批量加载,加载数据进入传统关系型数据库、Hadoop、MPP及流处理平台进行后续分析与运算。
对于不同的数据库加载、不同的方式加载,在数据加载过程的工作原理基本相同,仅在实现层面针对不同数据库或者方式进行个性化控件处理,总体数据加载工作原理如下:
Ø 默认情况下提供基础通用的加载控件,支持将数据源加载到不同的数据库中,加载的数据支持接口、文件加载策略或流式策略;
Ø 在加载实现过程中支持提供SQL脚本,数据加载执行组件将根据定义行为脚本类型调起相应的脚本执行来加载到数据。
Ø 数据加载结束或失败时,都需要向在ETL系统相应的数据库日志表中记录操作日志,为后续数据稽核与问题排查提供详细信息。
Ø 在加载触发模式上支持自动加载与手工执行的二大类型。支持数据自动加载的设计与执行,当数据加载出错时,应提供操作界面以人工干预的方式来重新启动数据的接收和加载。
数据交换共享平台中数据加载功能具备双加载功能,指支持在一个作业中像多个目标加载数据。主要加载方式如下:
Ø 采用文件落地加载
² 支持文件从接口机到ETL服务器不同的传输方式;
² 支持FTP传输、VFS传输等传输方式;
² 支持调用数据库的快速装载命令接口进行加载;
Ø 采用内存不落地加载
ETL应用创建通信管道、一个内存块、两个内存缓冲池,这两个缓冲池的数据会分别写入两个库,其中,一个内存缓冲池的大小尽量大于内存块的大小。不落地加载流程如下图所示:
图-不落地加载工作原理
数据交换共享平台针对运营商系统跨平台、跨系统的情况,对数据转载能力进行了封装,形成了相关平台、数据库的装载控件。
Ø DB2装载:封装了IBM DB2数据装载能力。
Ø HDFS装载:封装了Hadoop平台数据装载能力,实现对HDFS文件装载。
Ø HBASE装载:封装了对HBAS数据库数据转载能力。
Ø MYSQL装载:封装了对MYSQL数据库数据加载能力。
Ø HIVE装载:封装了对HIVE数据库数据加载能力。
Ø ORACLE装载: 封装了对oracle数据库数据加载能力。
Ø DM装载: 封装了对DM数据加载能力。
可以方便快速的扩展加载目标数据库类型。
加载策略配置
数据交换共享平台提供图形化的加载策略配置界面,降低运维人员使用难度,提升产品的易用性,配置内容包括数据源配置如源文件名、目标库表名并发装载文件数、质量控制阀值等。加载策略包括全量装载、增量装载、增量更新装载、月初全量其他增量加载等。增量更新主要以原数据主键为准,以加载数据为准,发现数据库中主键存在重复即报错。支持加载时事务提交的参数配置,允许设定数据文件相关输入路径与加载文件匹配规则等信息,由数据装载完成发现文件、文件获取、加载数据、数据校验等操作流程后完成数据入库操作。
图-加载流程
数据交换共享平台针对数据加载不同的使用场景诉求提供种类丰富的加载手段支持,具体来讲主要包括以下几种方式支持:全量数据加载
全量加载是将数据一次性加载到接口机上,是准实时加载,主要应对数据源文件较大的情况。数据加载前删除上一周期的数据,加载成功后库表中只存在接口文件中有的记录,加载过程超过质量控制阈值则报错,过程回滚。
增量数据加载
增量加载是将指定周期时间间隔(如每天、每小时或每10分钟,甚至实时)的数据以增量数据的方式加载到目标库,即通过追加导入的方式加载,加载成功后库表中的原有其它记录都存在,加载过程超过质量控制阈值则报错,过程回滚。
增量更新加载
增量更新数据在增量加载的过程中,发现库表里的主键和待加载的数据存在重复,这种情况需要将库表中的数据更新为待加载的数据,即先删除库表中主键存在重复的记录,再将待加载的增量数据加载到数据库,保证数据是最新周期数据。加载过程超过质量控制阈值则报错,过程回滚。
多协议数据加载
提供了文件和数据库等多种目标数据库进行加载,包括支持:高性能关系型数据仓库、MPP分布式数据仓库、HDFS等,接口协议可以根据需要随时添加。
全量加载
全量加载是将数据一次性加载到接口机上,是准实时加载,主要应对数据源文件较大的情况。数据加载前删除上一周期的数据,加载成功后库表中只存在接口文件中有的记录,加载过程超过质量控制阈值则报错,过程回滚。主要应用于初始化数据或数据迁移等业务场景,全量加载提供两种加载方式,手工加载和自动加载,手工加载通过手工在前台界面触发加载任务,将数据加载到目标库表;自动加载通过配置加载任务的调度周期,由调度定期 加载任务,将数据加载到目标库表。两种方式加载成功后,会删除上一个周期的数据,保证目标库表只保存当前周期数据;相反,如果加载超过配置的质量控制阀值就会报错,加载任务停止,数据库表回滚原始数据,通知运维人员处理。
增量加载
增量加载是将指定周期时间间隔(如每天、每小时或每分钟)的数据以增量数据的方式加载到目标库,即通过追加导入的方式加载,加载成功后库表中的原有其它记录都存在,。在全量数据量较大,加载耗时耗数据库性能的情况下,增量数据加载就成了理想的加载方式。根据业务要求抽取源数据库的增量数据,通过两种方式加载到目标库表中,即手工加载和自动加载,手工加载通过手工在前台界面触发加载任务,将数据加载到目标库表;自动加载通过配置加载任务的调度周期,由调度定期加载任务,将数据加载到目标库表。两种方式加载成功后,目标库表会同时保存上一个周期和当期周期的数据,保证目标库表数据准确;相反,如果加载超过配置的质量控制阀值就会报错,加载任务停止,数据库表回滚原始数据,通知运维人员处理。
增量更新
增量更新数据在增量加载的过程中,发现库表里的主键和待加载的数据存在重复,这种情况需要将库表中的数据更新为待加载的数据,即先删除库表中主键存在重复的记录,再将待加载的增量数据加载到数据库,保证数据是最新周期数据。加载过程超过质量控制阈值则报错,过程回滚。通过两种方式加载到目标库表中,即手工加载和自动加载,手工加载通过手工在前台界面触发加载任务,将数据加载到目标库表;自动加载通过配置加载任务的调度周期,由调度定期加载任务,将数据加载到目标库表。两种方式加载成功后,目标库表会同时保存上一个周期和当期周期的数据,保证目标库表数据准确。
三、产品功能-交换服务
1. 数据资产目录
数据目录是数据资产总体情况的展示窗口,支持主题维度,业务维度,部门维度等多为分类检索,为不同角色用户开放不同元数据视图权限,为不同的角色提供不同的功能。
系统维护者可以通过元数据视图了解详细的技术处理信息,在元数据视图可以查看汇聚层的接口信息,标准数据层的标准数据模型,专题分析数据模型。
数据使用者通过元数据视图可以快速的找到需要的数据,并了解数据的结构、含义、以及位置。
数据开发者通过元数据视图为数据的使用和分析提供快捷方便的数据交换任务和数据服务创建的入口
2. 数据快捷交换
数据交换共享平台提供数据资产列表及订阅功能,用户可对需要的进行订阅,随即提供数据交换,包括批量订阅与实时订阅。
数据批量订阅
数据交换平台提供表单形式,进行数据交换订阅,减少开发人员工作量,通过表单配置必填项就可以实现数据的交换。
数据订阅支持基于物理模型元数据、文件元数据的数据交换。
基于物理模型元数据的数据交换
支持字段选择
支持自定义sql
支持自动创建目标表
支持数据全量、增量同步
支持自定义调度时间
支持主流关系型数据源
支持hive、solr
快速扩展,无须二次开发
基于文件元数据的数据订阅交换
基于文件元数据的数据订阅交换,支持文件到主流关系型数据库、文件到服务器、文件到hdfs三种模式。
序号 | 模式 | 功能 |
1 | 文件到关系数据库 | 支持文件到主流关系型数据库 支持源文件的校验 支持文件sqlload加载、远程加载 支持字段选择 支持创建目标表 数据写入模式支持覆盖与追加两种模式 |
2 | 文件到服务器 | 支持源文件校验 支持自定义分隔符 支持落地文件的字符集(gbk、utf8) 支持落地文件为text、csv文件类型(可以扩展,无须二次开发) 支持覆盖与追加模式 |
3 | 文件到hdfs | 支持源文件的校验 支持自定义落地文件名 支持text、orc文件类型 支持数据同步覆盖、追加模式 支持自定义分隔符 支持动态扩展功能 |
数据实时订阅
数据交换共享平台提供数据的实时订阅,包括oracle、mysql的数据实时交换,文件的实时交换,oracle、mysql的实时采用非侵入式日志解析方式,进行数据的实时采集,数据实时交换根据订阅者信息,进行数据的一次采集多次分发, 大大减少源端业务库/服务器的压力与资源消耗。
物理模型元数据交换订阅
支持oracle数据实时同步至传统关系型数据库
支持mysql数据实时同步至传关系性统数据库
支持oracle数据库到hive的实时同步
支持mysql数据库到hive的实时同步
支持在线表单订阅
文件元模型数据实时交换订阅
序号 | 模式 | 功能 |
1 | 文件到关系数据库实时同步 | 支持文件至传统关系性数据库实时同步 支持文件备份 支持多种转换规则,如:字段添加、字段脱敏、字段删除、字段拆分、日期格式转换等 支持落地数据库字段选择 |
2 | 文件到服务器实时同步 | 支持文件备份 支持自定义分隔符 支持gbk、utf8字符集 支持多种转换规则,如:字段添加、字段脱敏、字段删除、字段拆分、日期格式转换等 支持小文件合并 |
3 | 文件到hdfs | 支持文件备份 支持自定义分隔符 支持gbk、utf8字符集 支持多种转换规则,如:字段添加、字段脱敏、字段删除、字段拆分、日期格式转换等 支持小文件合并 |
四、产品功能-任务调度
数据交换共享平台的调度平台功能特点如下:
Ø 配置简单化:通过表单填写即可完成作业调度任务配置。
Ø 优先级设置:能够优先保证前台重点应用的处理任务
Ø 并发控制:考虑系统的资源性能瓶颈,根据任务资源占用情况,可以指定最大任务执行数
Ø 支持事件任务触发:在平台内部实现程序的调度以消息的形式调度触发,达到灵活配置运行顺序及灵活调配并发度的目的,以提升数据生成的及时性。
Ø 统一采集、处理、分发:对全局的数据采集、数据处理、数据分发程序进行标准化统一管理,提供一体化调度流程。
Ø 可视化运维:通过统一运维界面实现平台程序、接口、系统资源的监控和维护的可视化操作。
Ø 多客户端接入:支持TCL、SHELL、JAVA、REST服务等多种类型脚本执行,实现多个平台、系统接入。
1. 调度综述
时间调度
时间调度是根据事先定义的执行频度,计算下次执行时间,记录执行次数,并进行流程调度。提供等间隔时间调度和定时调度,具备自动运行和手工执行两种启动方式。
Ø等间隔时间调度指 “年,月,日,时,分”周期性的调度
Ø定时调度是指确定在某个时间点触发,如每个月的1号和10号执行,每天的9点和12点执行。
时间调度配置界面如图所示:
图-时间调度
时间调度触发分为定时一次性触发和周期性时间触发,定时一次性触发是设定具体的job调度时间执行一次,周期性时间触发是按设定的时间周期对job进行调度。
事件调度
事件是指某一个任务流程依赖于一个或几个前置的任务的完成进行触发。当所有前置任务调度成功,同时系统对任务条件验证通过后,依赖的任务根据调度系统中的流程id和数据日期立即执行一次调度计划,并将相应流程调度起来,生成完整的调度任务进行调度。
组合调度
组合触发依赖是指时间、条件、事件等多种触发方式的任意组合形成的调度方式。
为了满足一个任务/作业的执行可以依赖多种触发方式,系统提供组合调度。组合调度就是将几种触发方式按照与或两种关系组合,同时与和或两种关系可以同时设定,如设定了两个触发条件,分别是时间调度,条件调度,可以将前两个组合成与的关系,同时和条件触发组成且的关系,条件触发条件满足时,第二个任务才可以执行。
2. 作业运行
提供作业状态查看和控制功能,可查看作业运行过程中任务的状态,包括“检查启动条件、排除中、正在运行、挂起、全部、运行出错、忽略错误、被终止运行、运行成功、等待中”等10种状态。同时,提供可对错误进行分析或处理操作:
错误分析:可查看到具体的错误信息,并通过作业的数据依赖视图,查看当前作业错误对其他作业的影响情况。
错误处理:1)如果错误属于可控制范围,通过“忽略错误的节点”功能,填写忽略原因,从而跳过此错误,让数据流继续运行;2)如果错误已经处理完成,可以通过“重置运行状态”,重新运行该作业。
3. 作业监控
总体任务监控
总体任务监控对所有任务按照系统、按日期对任务总体运行情况进行汇总展现,使得总体任务执行情况一目了然,包括总数、未完成数、运行完成数、运行失败数、暂停数、挂起数等信息。
图-总体任务监控
作业运行监控
任务状态监控指前台通过表格形式实时展现任务的运行状态,通过前端页面监控各个任务的实时运行状态及运行日志。
任务运行状态包括:
Ø 未运行:任务等待执行。
Ø 正在运行:这种状态是最正常的,表示流程正在调度中。
Ø 挂起:流程因为错误停止调度,要立即检查流程中的命令运行情况,排除错误,及时唤醒或忽略。
Ø 流程暂停:是指流程暂时停止调度。正在运行的命令不能暂停,调度暂停在正在运行命令完成之后。
运行成功:任务正常运行成功。
五、部署环境
1. 环境要求
服务端对硬件配置、操作系统、软件环境、应用服务器和数据库均有限定,具体配置如下表:
最低配置 | 推荐配置 | |
硬件配置 | 普通服务器 CPU:高端服务器专用4核 内存:32G以上 磁盘:500G级+ | 普通服务器 CPU:高端服务器专用8核 内存:64G以上 磁盘:1T级+ |
操作系统 | CentOS6.5及以上操作系统 | |
软件环境 | JDK1.8 Openresty Rabbitmq Kafka Zookeeper | |
应用服务器 | Tomcat8/Weblogic 9+ | |
数据库 | MySQL5.7/Oracle |
2. 部署方式
部署方式 | 部署说明 |
单机部署 | 建议客户单机的最低配置为4核CPU和32G内存 |
集群部署 | 根据用户的数据量,性能要求选择集群节点数 |
3. 客户端环境
浏览器:推荐使用Chrome60以上版本
硬件配置:4G内存,1G以上显存