目前工程企业所使用数据中心,多采用传统技术建设,普遍存存在着建设成本高、扩展性不强、计算处理及分析挖掘能力有限的缺点。为了满足基于大数据的数据存储、处理、分析及应用需求,结合并行计算、大规模数据分析挖掘、线性扩展、全类数据支持等技术的企业级数据中心能够有效的实现全业务、全层级、全类型数据资源的集中整合和分析。
目前,大部分工程行业企业所构建的数据中心积累了大量的结构化数据、非结构化数据、地理信息数据和海量的实时数据,同时大多采用集中式服务器架构(如Oracle Rac)技术导致扩展性不强,因此无法满足数据的不断增长的全存储需求;并且数据处理以单点模式为主,缺少实时并行计算处理能力,无法应对海量数据的实时分析处理需求;数据存储与处理多只支持结构化数据,无法对非结构化数据进行有效存储、处理及分析,无法提供大数据环境下全方位、全类型数据存储及处理服务,无法为数据深度分析挖掘提供支撑。
基于大数据的工程行业的企业级数据中心总体架构图如图一所示,按照层次可以划分为数据源层、数据集成层、数据存储层、分析/服务层、业务应用层、前段访问层以及整体的数据管理平台。
图一、基于大数据技术的工程行业企业数据中心总体架构
数据中心通过接口表、接口文件、数据接收服务、数据消息接收等方式,实现对结构化数据、非结构化数据以及实施数据的获取,满足不同的数据时效性要求;数据中心在数据存储层包含数据仓库平台、分布式数据平台和流数据平台,用来存储不同特性的数据,并提供相应的数据服务;数据中心通过批量推送、数据实时服务等方式为目标系统提供整合后的结果数据,同时通过数据异步推送的方式,满足数据共享及应用的需求;数据中心实现信息综合展示及职能分析决策功能,并通过各种终端的集成展示,如PC终端、大屏幕以及移动终端,满足各类分析结果在前端展示要求;并且提供数据中心数据资源管理,实现对数据中心元数据、数据质量、数据标准、数据模型以及数据资源的管理。
一、数据集成层:【包括数据获取和作业调度两部分】
数据获取即将采集源系统的结构化数据、非结构化数据和实时数据送入数据中心,包括口表处理、消息接收处理、数据接收处理、实时数据采集和非结构化文件处理。
作业调度,实现对结构化数据、非结构化数据和实时数据获取等作业的调度,实现对数据中心内部数据处理流操作(包括ETL、MapReduce、Sqoop等),以及数据推送给各目标系统的作业的统一集中调度。调度实现调度引擎,提供作业的自动、手动调节方式,基于作业依赖配置信息控制作业执行的先后顺序,同时控制作业的并发度,并记录作业的运行结果和日志。
二、数据存储层:
【包含基于关系数据库的传统数据仓库平台、基于Hadoop生态体系分布式数据平台及流数据平台,用来存放不同性质的数据,并提供不同的数据服务。】
数据仓库平台:采用分层设计,即分为缓冲层、整合层、汇总层和集市层。缓冲层存储的是数据中心从源系统采集的数据,数据缓冲层能够很好的分担源系统批量/实时分发数据的压力,避免了重复获取数据带来的性能压力、版本时差、多次开发、冗余存储等问题,同时也能作为一个给的数据源,一定程度上屏蔽原系统(数据结构、时间窗口等)的变化对数据整合层、汇总层带来的影响。整合层是经过数据清洗、转换、整合后的业务数据,是数据中心的核心数据层,数据整合层是数据中心存储数据的核心层。汇总层存储,根据主题维度形成企业统计、汇总数据;更具主体报表加工需要,形成汇总数据;按主体存储汇总数据,通过日期、主体和处理类型等维度对业务数据进行计算后形成汇总数据存储。数据集市是面向特定业务单元(如业务部门)的分析数据集,数据主要基于整合层、汇总层数据,同时包含支撑目标特有的分析数据。
分布式数据平台主要保存以下几类数据:在传统关系数据库中难以保存的海量结构化数据、非结构化文档数据、流数据转储数据和关系型数据库的转储数据。按照数据存取需求和分布式平台技术组件的特性,把存储区分为基于HBase的数据存储区和基于Hive的数据存储区。非结构化数据层中存储来自各源系统的非结构化数据,包括办公文档、设计图纸、文本文件、图像文件等。海量结构化数据层中存储来自各源系统的海量结构化数据。流数据转储层中存储来自流数据平台的定期转储数据,协助流数据平台实现实时数据的持久化保存。
流数据平台包含实时数据整合层、实时数据汇总层和业务缓存层。实时数据整合层:在流数据平台整合层中,为了避免数据源的不一致性,源系统入口端统一采用Socket通信的方式进行交互。由数据中心系统对源系统的Socket进行监听,当源系统有数据产生时,监听程序获得数据,并将监听的数据来源信息写入相应的消息队列中。 实时数据汇总层:采用 Storm 以流的方式对整合层消息队列中的源数据进行处理,按照业务需要进行数据的汇总、计算和存储。业务数据缓存层:当 Storm 对流数据进行计算完成后,会根据具体的业务计算逻辑得出数据(架构如图二所示)。
图二、数据存储层架构图
三、分析/服务层:包含信息综合展示平台、智能分析决策平台和数据服务(如图三所示)。
信息综合展示平台,以数据存储层为基础,是一个集报表查询、综合分析为一体的应用平台,实现对分析展现页面内容、布局、组件、央视、联动关系等进行动态配置。
智能分析决策平台功能包含数据加载、数据预处理、数据挖掘算法、分析模型管理及模型运行调度等模块;为数据挖掘过程中数据理解、数据预处理、算法建模、模型评估、模型应用等环节提供技术职称;并针对大数据分析的应用需求,融合大数据挖掘算法库(包括描述性挖掘算法,如聚类分析、关联分析等;预测性算挖掘算法,如分类分析、演化分析、异类分析等;专用数据分析挖掘算法,如文本分析、语音分析、图像分析、视频分析等)。
数据服务接口实现的主要功能包括数据实时服务、订阅发布、批量数据服务等,并给予告诉缓存功能提升系统的整体性能。
图三、分析/服务层架构图
四、数据管理层:由元数据管理、数据质量管理、主数据管理、数据标准管理、作业集中调度监控功能(如图四所示)。
元数据管理:实现数据中心元数据的快速查找、获取、使用和共享,为数据中心数据共享交换、多维分析、辅助决策、数据挖掘等应用提供元数据支撑。
数据质量管理:实现数据中心数据的常态化质量稽核,保障业务系统数据接入的及时性、完整性和合规性。
主数据管理:实现物资、项目、合同等主数据的统一管理、应用和维护,保证物资、项目、合同主数据修改的一致性和稳定性。
数据标准管理:实现对数据中心标准文档的统一管理。
作业集中调度监控:实现对数据中心ETL接口作业、大数据作业的统一任务调度管理及监控。
图四、管理层架构图
随着工程行业的信息化水平不断提高,信息系统已经全面融入到企业生产经营管理业务的各个方面,积累了大量的结构化数据、非结构化数据、地理信息数据和海量实时数据;因此采用基于大数据的企业级数据中心可以弥补传统技术的缺点,解决了传统技术扩展性不强、建设成本高、计算处理及分析挖掘能力有限的缺点,满足企业大数据环境下的全类型数据存储、处理、分析及应用的需求。