file

在数字化转型的大潮中,企业面临着数据爆炸性增长的挑战。如何有效地整合和管理来自不同来源的数据,成为企业提升竞争力的关键。本文将详细介绍惠生工程(中国)基于Apache DolphinScheduler的多源数据集成实践解决方案,包括背景介绍、痛点分析、调度策略设计、关键技术方案以及运维管理经验总结等。

讲师介绍

程国,惠生工程(中国)数字开发主管,同时也是一位资深的架构专家,拥有超过15年的企业级应用架构设计与开发经验,并且精通全栈开发技术。在能源化工和供应链仓储物流等领域,程国成功设计并实施了多个企业级核心系统。

file

背景

数字化转型是企业适应数字经济的必经之路。在这一过程中,数据成为企业的核心资产,如何高效地管理和利用数据,对于企业的决策、运营和创新至关重要。

项目管理的挑战与机遇

file

惠生工程(中国)是一家工程公司,专注于为石油、化工、天然气等行业提供工程服务和解决方案,项目涉及工程设计、项目管理、施工管理、工程咨询和技术开发等领域。在数字化浪潮下,这家传统工程公司也走上了数字化的道路。

在惠生工程(中国),项目管理在数字化转型中扮演着桥梁和纽带的角色,有效的项目管理能够帮助企业识别和解决数字化转型过程中的问题,把握转型的机遇。但在数字化转型的过程中,惠生工程(中国)在项目管理中遇到了一些不可避免的挑战的同时,也蕴含着机遇。

挑战:

  1. 跨文化沟通与合作:国际化项目涉及不同国家的文化背景,沟通和团队协作变得更加复杂,需要克服语言障碍和文化差异。
  2. 标准化与互操作性:为了支持国际项目合作,标准化的数据格式和系统互操作性变得至关重要。
  3. 法规遵从性:在不同国家实施项目时,需要遵守多套法规,数字化工具可以帮助跟踪和满足这些要求。

机遇:

  1. 效率与成本节约:数字化工具能够自动化常规任务,提高工作效率,减少人工错误,进而节省成本。
  2. 决策优化:大数据分析和AI技术提供深入洞察,帮助项目管理者做出更加精准的决策,减少风险。
  3. 市场扩张:进入新市场意味着更多的业务机会,尤其是在新兴经济体中,存在大量的基础设施建设需求。
  4. 创新与竞争力提升:采用最新技术可以创新项目管理方法,提高企业的市场竞争力,吸引更多的国际客户。

数据平台建设背景

构建一个强大的数据平台是企业数字化转型的基础。数据平台需要支持数据的集成、存储、处理和分析,以满足企业对数据的需求。当前,企业在数字化转型过程中面临的挑战和问题:

主要挑战:

  1. 数字化应用水平提升:国内外业主对项目过程管理的数据化、可视化要求越来越高。
  2. 高标准需求:为满足业主的高标准需求,企业需要增强市场竞争力,向国际一流同行看齐。
  3. 快速应用数字化系统:提高协同效率与项目管理水平是当前的迫切需求。

面临的主要问题:

  1. 信息技术落后:项目管理系统架构落后,依赖传统客户端如IE,这些技术正在被淘汰。
  2. 内容数据化不足:数据缺乏以数据管理为基础的进度、费用、合同、变更等系统支持。
  3. 数据难以集中:专业计算多采用Excel和非结构化文档,且数据分散在个人手中,难以集中管理。
  4. 共享管控不足:预算超支问题严重,无法实时把控,信息不对称,进度把控困难。
  5. 安全隐患明显:数据安全和保密难以控制,存在明显的安全隐患。
  6. 追溯统计困难:无法实现公司级成本、费用、概预算数据的分类汇总、归集及分析预测。
  7. 经验难以复用:现有系统不利于数据沉淀和系统改进,经验难以复用。

这些问题表明,现行的信息系统已逐渐无法满足企业的发展需求,需要进行改革和升级以适应数字化时代的需求。

数据编排利器选择与思考

为应对数字化转型和数据平台建设面临的挑战,一个功能强大且高效的大数据调度工具必不可少,为了用上一个事半功倍的数据编排”利器“,惠生工程(中国)做了不少的调研选型。

痛点分析

惠生工程的服务涉及大量EPC(工程、采购、施工)项目,面对海量的EPC数据,其在数据集成方面面临着不少挑战,这些问题直接影响项目管理的效率和决策质量:

数据源复杂性

  1. 系统异构

    • 不同专业使用不同的业务系统。
    • 数据格式不统一。
      • 结构化数据存储在数据库如MySQL、Oracle、SQL Server中。
      • 半结构化数据如Excel、JSON日志。
      • 非结构化数据包括图纸、文档、照片。
  2. 数据质量问题

    • 数据不完整,
      • 现场采集数据可能缺失。
      • 人工录入数据存在延迟。
      • 系统对接可能断连。
    • 数据不一致
      • 多系统数据口径不一。
      • 重复数据未清洗。
      • 历史数据未治理。

实时性要求

施工现场数据、成本进度数据和进度完成数据都需要实时更新,以确保项目管理的准确性和时效性。

扩展性挑战

  • 项目周期长,从设计到施工可能跨度3-5年,这要求数据集成系统具有良好的扩展性。
  • 分析维度多样性,如碳排放分析,要求系统能够处理和分析多种类型的数据。

平台选型考虑

鉴于数据集成的要求复杂,惠生工程(中国)对于大数据调度系统的选型的要求比较高,需要慎之又慎。在选型中,对于技术架构和运维成本都要有充分的考虑。

file

对比选型

在选型过程中,惠生工程(中国)对比分析不同的数据编排工具,包括开源和商业软件,在调度平台、数据集成和数据仓库三个方面进行对比选型:

file

Apache DolphinScheduler以其开源免费、社区活跃、易于维护和资源隔离,能够满足企业在数据集成和调度方面的复杂需求等优势,在多项目需求和工程场景中表现出色。Apache SeaTunnel则在数据集成方面提供了简单直观的配置和批流一体的能力,满足不同数据集成需求。在数据仓库方面,Doris提供了高性能的查询能力,而MySQL则因其成熟的生态降低了学习成本。

重点说明一下Apache DolphinScheduler作为一个开源的分布式调度系统,可以为惠生工程(中国)EPC项目数据集成提供以下支持:

  1. 统一数据源管理:通过集成不同的数据源,实现数据格式的统一和标准化,简化数据管理流程。

  2. 提高数据质量:通过自动化的数据清洗和治理流程,确保数据的完整性和一致性。

  3. 满足实时性要求:DolphinScheduler的实时调度能力可以确保施工现场数据、成本进度数据和进度完成数据的实时更新。

  4. 支持项目扩展性:系统的设计允许在项目周期内灵活扩展,支持长期项目的数据管理和分析需求。

  5. 多维度分析:DolphinScheduler可以支持复杂的数据分析任务,如碳排放分析,帮助项目团队从多个角度评估项目影响。

通过DolphinScheduler,EPC项目可以更有效地管理数据,提高项目管理效率,从而提升决策质量和项目成功率。

多源数据集成方案设计

基于Apache DolphinScheduler和Apache SeaTunnel,惠生工程(中国)进行了自己的多源数据集成方案设计,主要包括调度策略设计、关键技术方案和整体架构上的方案。

调度策略设计

  • 架构

下图展示了数据同步任务的调度策略,通过定时任务根节点,系统能够自动化地执行各种数据同步任务,确保数据的实时性和准确性。这种调度策略有助于提高数据管理的效率,减少人工干预,同时确保数据的一致性和可靠性。通过DolphinScheduler这样的调度平台,可以有效地管理和执行这些任务,提高运维管理的自动化水平。

file file

  • 业务领域及数据特性

在调度策略设计中,需要考虑工程项目的整个生命周期和核心业务流程,以确保数据流转的高效性和实时性。数据特征的分类有助于确定数据的优先级和处理策略,从而优化调度策略。实时数据、准实时数据和批量数据的区分,以及关键数据、重要数据和一般数据的分类,都是设计有效调度策略的关键因素。此外,根据数据量级进行分类,可以帮助合理分配资源和处理能力,确保调度系统的性能和效率。

file

通过这样的分类和分析,可以为工程项目的调度策略提供清晰的指导,确保项目按时、按预算和按质量完成。

  • 项目生命周期特征

在项目生命周期的每个阶段,数据的特点和同步需求都有其特定性。调度策略设计需要根据这些特点来确保数据的准确性、及时性和一致性。关键考虑点涵盖了数据管理、传输性能、版本控制、数据完整性和问题跟踪等方面,这些都是确保项目顺利进行的重要因素。通过这样的调度策略设计,可以有效地支持项目的各个阶段,提高项目管理的效率和质量。 file

  • 核心业务流程分析

在调度策略设计中,针对不同的核心业务流程,需要考虑数据流转的特点、关键数据项以及同步策略。这些因素共同决定了数据的实时性、准确性和一致性,从而影响业务流程的效率和决策的质量。

通过DolphinScheduler,可以有效地管理和调度这些核心业务流程中的数据流转。DolphinScheduler的调度能力可以确保关键数据项按照预定的同步策略进行更新,无论是实时、每小时、每日还是定时计算,都能满足不同业务流程的需求。这样,企业能够确保数据的及时性和准确性,支持业务的顺畅运行和决策的制定。

file

  • 数据流转分析

在调度策略设计中,数据流转分析是关键的一环,它涉及到跨部门的数据共享、多系统的数据集成以及不同业务对实时性的不同要求。为了满足这些需求,需要制定相应的实现策略:

  1. 跨部门数据协同:通过建立数据共享机制和实时推送功能,确保数据的实时共享和一致性,同时通过权限过滤规则来管控数据权限。
  2. 多系统数据集成:统一数据交换标准和建立数据映射关系,以处理不同系统间的接口复杂性和数据格式多样性,优化传输机制以满足性能要求。
  3. 实时性要求差异:实施分级调度策略,根据业务的实时性要求合理分配资源,实现负载均衡,确保核心业务的高实时性,同时允许统计分析和历史数据查询的适当延迟。

通过这样的调度策略设计,可以有效地管理和调度数据流转,提高业务流程的效率和决策的质量。DolphinScheduler作为一个调度平台,可以支持这些策略的实施,帮助企业实现数据的高效流转和管理。

file

  • 任务设计核心

在调度策略设计中,任务设计的核心要素是确保任务的高效执行和资源的合理分配。实时任务处理关注于施工现场数据的及时采集,这对于项目管理的实时性和准确性至关重要。批量任务设计则侧重于定期的数据统计分析,如成本月报和进度分析报告,这些任务虽然不需要实时处理,但对数据的准确性和处理逻辑的复杂性有较高要求。

任务调度策略的制定是为了优化任务执行的时间和资源分配。通过在系统负载低的时段执行任务、将大任务分片执行以及根据服务器负载能力合理设置并发任务数,可以提高任务执行的效率和系统的整体性能。同时,通过设置任务优先级,可以确保关键任务得到优先处理,从而保障项目管理中关键报表的及时生成。

DolphinScheduler作为一个调度平台,可以有效地支持这些调度策略的实施,帮助企业实现任务的自动化调度和管理,提高项目管理的效率和质量。

file

  • 技术实现

惠生工程(中国)使用DolphinScheduler来管理和监控工作流,允许用户查看工作流的状态、定时信息以及进行各种操作。 file

以项目管理任务为例,在具体实现中,不同项目中人员的权限各异,因此需要一个统一的项目管理平台来管理和分发人员及岗位信息到各个子系统以执行相应任务。可以通过HTTP方式采集项目数据,利用DolphinScheduler进行数据调度,将数据存储到Doris中,并进一步将数据分发到各个业务系统中.

file file

关键技术方案

使用DolphinScheduler作为调度平台,SeaTunnel作为数据集成引擎,这种组合能够很好地处理项目中的数据同步、转换和加载需求,定时同步到数据仓库,多个业务系统的数据需要整合分析。

file

整体架构

这套解决方案作为一个全面的分布式系统设计,涵盖了从客户端交互到服务治理、从数据存储到业务逻辑处理的各个层面。系统通过服务统一出口(Gateway)实现请求的高效路由和安全控制,利用nginx进行负载均衡,确保高可用性。Nacos server作为服务注册与发现中心,简化了服务间的通信。业务服务容器化部署在docker server上,分离了基础服务如认证授权(keycloak)、API管理(yapi)和消息通知,以及应用服务如交付策划、工程首页等,增强了系统的灵活性和可维护性。服务监控通过Skywalking实现链路跟踪,确保服务性能。数据存储层采用Redis、Kafka、MySQL和OSS文件服务,分别处理缓存、消息队列、结构化数据和非结构化数据。Doris作为数据服务层,提供快速的数据分析能力。DolphinScheduler则负责数据调度任务,确保数据处理流程的自动化。

可以看到,整体架构在高度的模块化、服务独立性、可扩展性和易于维护性,能够支持复杂的业务需求和大规模的用户访问方面展现了明显的优势。

file

总结与展望

在运维管理中,AI的应用可以显著提高自动化水平,优化设计过程,预测和管理项目风险,以及提升工厂运维的智能化。然而,AI的成功应用依赖于高质量的数据。在EPC项目管理中,数据的收集和整理是一个挑战,需要有效的策略来克服。智能工厂运维是AI应用的另一个重要领域,其中AI可以发挥其在异常检测和故障诊断方面的优势。

DolphinScheduler作为一个调度平台,可以在这些领域中发挥重要作用,通过自动化调度和优化任务执行,支持AI模型的训练和预测任务,从而提高运维管理的效率和效果。

感谢各位对基于DolphinScheduler多源数据集成实践解决方案的关注。希望本文能为读者提供有价值的见解和指导,帮助企业更好地实现数据集成和调度。