掌桥专利:专业的专利平台
掌桥专利
首页

基于SeaTunnel的海量物联数据集成系统、方法、装置及设备

文献发布时间:2024-04-18 19:58:26


基于SeaTunnel的海量物联数据集成系统、方法、装置及设备

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于SeaTunnel的海量物联数据集成系统、方法、装置及设备。

背景技术

数据集成使数据量不断增多,适应不同场景的数据存储技术在不断的产生和发展且不同数据库之间的同步与转化的需求也不断增多。相关技术中,可以基于存储技术构建面向多源异构、结构化、非结构化的存储模式。然而,相关技术的处理效率有待提升。

发明内容

本说明书实施方式旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本说明书实施方式提出一种基于SeaTunnel的海量物联数据集成系统、方法、装置及设备。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成系统,所述基于SeaTunnel的海量物联数据集成系统包括:

数据源层,用于通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对所述异构数据源进行格式处理,得到标准结构数据;所述异构数据源包括以Mysql为存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据,以及以redis为存储的档案数据、运行数据;

数据接入层,用于通过所述SeaTunnel组件传输所述标准结构数据,其中,所述SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎,所述Spark计算引擎用于全量数据的快速同步,所述Flink计算引擎用于实时读取增量数据的数据传输;

数据存储层,采用Hive数据库对所述标准结构数据进行存储,其中,所述标准结构数据在所述Hive数据库的存储格式为parquent数据格式。

在其中一个实施方式,所述数据源层,还用于将所述设备档案数据、所述容器管理数据、所述应用管理数据、所述告警管理数据转换为字符串数据类型,得到所述标准结构数据;其中,针对日期类型数据,采用年月日格式。

在其中一个实施方式,所述数据源层,还用于对所述异构数据源进行清洗和过滤处理,并按照所述预设数据结构对处理后的所述异构数据源进行格式处理,得到所述标准结构数据。

在其中一个实施方式,所述数据源层,还用于通过所述SeaTunnel组件内置的方法和Sql过滤清洗主键数据不为空的数据,并按照所述预设数据结构对过滤清洗后的所述异构数据源进行格式处理,得到所述标准结构数据。

在其中一个实施方式,所述Spark计算引擎用于处理离线数据,根据所述离线数据的数据量大小进行参数配置;其中,配置的参数包括执行内存Execute_Memory、执行任务数量Execute_num、驱动内存driver_memory。

在其中一个实施方式,若所述离线数据为数据量在100W以下的数据,则所述执行内存Execute_Memory设置2G,所述执行任务数量Execute_num设置为2,所述驱动内存driver_memory设置为1G;

若所述离线数据为数据量在100w到1亿条之间的数据,所述执行内存Execute_Memory设置6G-8G,所述执行任务数量Execute_num设置为4-6,所述驱动内存driver_memory设置为4G-6G;

若所述离线数据的数据量大于1亿,采集按天或按时间增量进行分批同步。

在其中一个实施方式,在所述Flink计算引擎处理所述设备档案数据时,在所述数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成方法,应用于基于SeaTunnel的海量物联数据集成系统,所述方法包括:

通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对所述异构数据源进行格式处理,得到标准结构数据;所述异构数据源包括以Mysql为存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据,以及以redis为存储的档案数据、运行数据;

通过所述SeaTunnel组件传输所述标准结构数据,其中,所述SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎,所述Spark计算引擎用于全量数据的快速同步,所述Flink计算引擎用于实时读取增量数据的数据传输;

采用Hive数据库对所述标准结构数据进行存储,其中,所述标准结构数据在所述Hive数据库的存储格式为parquent数据格式。

在其中一个实施方式,所述Spark计算引擎用于处理离线数据,根据所述离线数据的数据量大小进行参数配置;其中,配置的参数包括执行内存Execute_Memory、执行线程数量Execute_num、驱动内存driver_memory。

在其中一个实施方式,若所述离线数据为数据量在100W以下的数据,则所述执行内存Execute_Memory设置2G,所述执行线程数量Execute_num设置为2,所述驱动内存driver_memory设置为1G;

若所述离线数据为数据量在100w到1亿条之间的数据,所述执行内存Execute_Memory设置6G-8G,所述执行线程数量Execute_num设置为4-6,所述驱动内存driver_memory设置为4G-6G;

若所述离线数据的数据量大于1亿,采集按天或按时间增量进行分批同步。

在其中一个实施方式,在所述Flink计算引擎处理所述设备档案数据时,在所述数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成装置,应用于基于SeaTunnel的海量物联数据集成系统,所述装置包括:

标准数据确定模块,用于通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对所述异构数据源进行格式处理,得到标准结构数据;所述异构数据源包括以Mysql为存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据,以及以redis为存储的档案数据、运行数据;

数据传输模块,用于通过所述SeaTunnel组件传输所述标准结构数据,其中,所述SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎,所述Spark计算引擎用于全量数据的快速同步,所述Flink计算引擎用于实时读取增量数据的数据传输;

数据存储模块,用于采用Hive数据库对所述标准结构数据进行存储,其中,所述标准结构数据在所述Hive数据库的存储格式为parquent数据格式。

在其中一个实施方式,所述Spark计算引擎用于处理离线数据,根据所述离线数据的数据量大小进行参数配置;其中,配置的参数包括执行内存Execute_Memory、执行线程数量Execute_num、驱动内存driver_memory。

在其中一个实施方式,所述Spark计算引擎用于若所述离线数据为数据量在100W以下的数据,则所述执行内存Execute_Memory设置2G,所述执行线程数量Execute_num设置为2,所述驱动内存driver_memory设置为1G;

若所述离线数据为数据量在100w到1亿条之间的数据,所述执行内存Execute_Memory设置6G-8G,所述执行线程数量Execute_num设置为4-6,所述驱动内存driver_memory设置为4G-6G;

若所述离线数据的数据量大于1亿,采集按天或按时间增量进行分批同步。

在其中一个实施方式,所述数据传输模块还用于在所述Flink计算引擎处理所述设备档案数据时,在所述数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理。

本说明书实施方式提供一种计算机设备,所述计算机设备包括:存储器,以及与所述存储器通信连接的一个或多个处理器;所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现上述任一项实施方式所述的方法的步骤。

本说明书实施方式提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项实施方式所述的方法的步骤。

本说明书实施方式提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被计算机设备的处理器执行时,使得所述计算机设备能够执行上述任一项实施方式所述的方法的步骤。

上述说明书实施方式中,在数据源层通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据,在数据接入层通过SeaTunnel组件传输标准结构数据,SeaTunnel组件使用Spark计算引擎用于全量数据的快速同步,使用Flink计算引擎用于实时读取增量数据的数据传输,在数据存储层采用Hive数据库对标准结构数据以parquent数据格式进行存储。一方面,Seatunnl组件实现了高性能、易扩展、易使用的物联数据集成系统。Seatunnl组件用于数据转化和同步,提高高并发场景下的数据处理效率。另一方面,基于SeaTunnel的海量物联数据集成系统开发配置简单、灵活,无需编码开发,可以快速生成数据同步脚本以实现数据集成,提高数据处理效率。

附图说明

图1为本说明书实施方式提供的基于SeaTunnel的海量物联数据集成系统的示意图;

图2a为本说明书实施方式提供的数据源的示意图;

图2b为本说明书实施方式提供的数据接入的示意图;

图2c为本说明书实施方式提供的数据存储的示意图;

图3为本说明书实施方式提供的基于SeaTunnel的海量物联数据集成方法的流程示意图;

图4为本说明书实施方式提供的基于SeaTunnel的海量物联数据集成装置的示意图;

图5为本说明书实施方式提供的计算机设备的内部结构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

通过开展电力物联网平台建设,与用采系统前端集成,实现设备档案管理、设备接入管理、监测、容器管理、应用管理、告警管理等功能;与营销应用商店集成,数据量不断增多,越来越多的业务需要支撑高并发、高可用、可扩展、以及海量的数据存储。在上述情况下,适应场景的数据存储技术也不断的产生和发展。不同数据库之间的同步与转化的需求也不断增多,数据集成成为各业务的热门方向。

相关技术中,系统的存储主要基于关系型数据库(比如MySQL)、全量数据仓库(比如Hive)和文件存储等存储技术,构建面向多源异构、结构化、非结构化的存储模式。系统架构涵盖物联设备管理组件、异构混合存储及计算平台、业务微服务应用平台、统一接口平台。然而,由于同一业务实体存储于多个数据源中,多数据源存在数据源之间的适配,数据源数据类型转化等问题,对于多数据源的处理需要开发大量的后台代码,对于后期的运维管理造成困扰。

相关技术中,在高并发场景下,比如警告及状态更新数据,设备存在秒级上报,当设备逐渐增多时,对系统并发处理要求极高,而每个警告或者状态更新,都需要多次查询数据库来完成业务逻辑,压力积压在数据库,使数据处理能力有待提升。

相关技术中,上行消息数量巨大,导致数据库数据激增,影响数据查询效率。比如:应用状态数据上报,现场应用的状态实时表和应用进程日志表数据量统计日增长达到千万级别数量,数据量巨大。

相关技术中,随着业务扩充,表数据结构变更较大,导致业务逻辑查询效率低,影响消息处理效率。比如主要涉及到容器、app查询的主表可以是安装历史表,需要大量分组查询,影响查询效率。

相关技术中,可以使用大数据同步技术datax,Sqoop等组件处理数据同步问题。然而,datax是单结点运行,具有不稳定性,且在配置方面datax的配置更复杂。Sqoop对于多数据源的集成差且底层是mapReduce,速度慢,时效性有待提升。

为了适配多数据源的数据集成,在不同的业务系统或者不同的存储结构中,可以灵活使用。为了解决海量数据集成中任务堆积与延时,且在处理新需求时,可以快速应用到业务功能中。可以通过SeaTunnel的物联数据集成系统实现上述技术效果。

基于此,本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成系统。该基于SeaTunnel的海量物联数据集成系统包括数据源层、数据接入层、数据存储层。其中:数据源层,用于通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据,数据接入层,用于通过SeaTunnel组件传输标准结构数据,SeaTunnel组件使用Spark计算引擎用于全量数据的快速同步,使用Flink计算引擎用于实时读取增量数据的数据传输,数据存储层,采用Hive数据库对标准结构数据以parquent数据格式进行存储。一方面,Seatunnl组件实现了高性能、易扩展、易使用的物联数据集成系统。Seatunnl组件用于数据转化和同步,提高高并发场景下的数据处理效率。另一方面,基于SeaTunnel的海量物联数据集成系统开发配置简单、灵活,无需编码开发,可以快速生成数据同步脚本以实现数据集成,提高数据处理效率。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成系统。请参阅图1,在数据源层可以包括非关系型等批量数据,Mysql、oracle等关系型数据库批量数据,Mysql、oracle等关系型数据库增量数据。对数据源层所包含的数据进行数据处理后,可以得到标准结构数据。然后可以通过SeaTunnel组件实现标准结构数据的接入。最后,SeaTunnel组件可以传输标准结构数据至数据存储层的各类数据库。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成系统,该基于SeaTunnel的海量物联数据集成系统可以包括数据源层、数据接入层和数据存储层。

本实施方式中,数据源层,用于通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据。

其中,数据源层可以是指数据管理和数据仓库架构中的一层,包含了各种不同类型的数据源。数据源层用于采集、存储和提供原始数据给后续的数据处理和分析过程。异构数据源包括以Mysql为存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据,以及以redis为存储的档案数据、运行数据。数据集成工具SeaTunnel用于在不同的数据源之间进行数据传输和同步,并提供了数据清洗、转换和映射等功能,以确保数据的质量和一致性。异构数据源可以是在数据源层中使用多种不同类型、格式或来源的数据源。标准结构数据可以是指按照一定规范和约定组织和存储的数据,具有统一的格式和结构。设备档案数据可以是指对于各种设备(如机器、仪器、设施等)进行记录和存储的数据。容器管理数据可以是指用于管理和跟踪容器的相关信息的数据。应用管理数据可以是指用于管理和跟踪应用程序的相关信息的数据。告警管理数据可以是指用于管理和跟踪系统或应用程序产生的告警信息的相关数据。档案数据可以是指保存和管理组织或个人的文件、记录和资料的相关信息。运行数据可以是设备运行状态数据,比如运行、离线。redis是一个高性能的内存数据库,它以键值对的形式存储数据,并且能够快速地进行读取操作。

具体地,数据集成工具Seatunnel支持各类异构数据源。数据集成工具SeaTunnel配置数据源的连接信息,使其连接到所需的异构数据源。从连接的数据源中获取原始数据。数据源mysql是关系型数据库,具有标准的数据格式,但是有多数据类型,比如String,Decimal,Date,Int。当原始数据包含数据源mysql存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据时,在数据初始处理阶段按照预设数据结构对数据源mysql中的数据进行格式处理,将数据源mysql中的数据转换成标准结构数据。对于存储在数据源redis中的档案数据、运行数据,可以先对数据源redis中的数据进行预处理(比如去除无效数据),然后按照预设数据结构对数据源redis中的数据进行格式处理,将数据源redis中的数据转换成标准结构数据。

示例性地,数据源层可以按照业务进行划分。数据源hadoop可以存储系统基础数据,应用基础数据。请参阅图2a,数据源Mysql可以存储设备档案数据、容器管理数据、应用管理数据、告警管理数据。数据源redis可以存储档案数据,运行数据。

本实施方式中,数据接入层,用于通过SeaTunnel组件传输标准结构数据。

其中,SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎,Spark计算引擎用于全量数据的快速同步,Flink计算引擎用于实时读取增量数据的数据传输。数据接入层可以是数据管理和处理体系结构中的一个关键组件,主要负责从各种数据源中提取、收集和导入数据,以供后续的数据处理和分析使用。Spark计算引擎可以是一种快速、通用的大数据处理计算引擎。Flink计算引擎可以是一种开源流处理和批处理计算引擎,Flink计算引擎可以提供一个分布式、高性能的数据处理框架。与Spark计算引擎不同,Flink计算引擎专注于流式计算,同时也提供了对批处理的支持。全量数据可以是某个系统或业务领域中的可用数据。通常情况下,全量数据可以是指历史数据和当前最新的数据。增量数据可以是某个系统或业务领域中发生的最新的新增或更改的数据记录。与全量数据相对应,增量数据可以包含最新发生的数据变动,不包含历史记录。

具体地,通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据后,根据实际业务需求,确定是需要全量数据或是增量数据。当所需数据为全量数据时,数据集成工具SeaTunnel可以调用Spark计算引擎来处理全量数据,用于实现全量数据的快速同步。全量数据可以通过Spark计算引擎实现数据传输。当所需数据为增量数据时,数据集成工具SeaTunnel可以调用Flink计算引擎实时处理增量数据,并实现对增量数据的传输。SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎。示例性地,用Flink计算引擎处理的设备档案数据具有时效性,通过flink的实时处理特性进行实时计算。

示例性地,请参阅图2b,数据源Mysql中的数据经过数据转换得到的标准结构数据可以通过SeaTunnel工具实现数据接入。数据源Redis中的数据经过数据清洗得到的标准结构数据可以通过SeaTunnel工具实现数据接入。

在进行电费计算时,由于档案数据没有更新动态,如果删除档案数据则档案数据无法找回,因此档案数据可以利用Spark计算引擎对档案数据中的全量数据进行上传以实现电量、电费的计算。电量数据可以每天同步一次,则每天新增的数据作为增量数据,可以利用Flink计算引擎实时读取电量的增量数据以实现数据传输。

本实施方式中,数据存储层,采用Hive数据库对标准结构数据进行存储。

其中,标准结构数据在Hive数据库的存储格式为parquent数据格式。Hive数据库提供类似于SQL的查询语言,能够让用户使用类SQL语句来分析大规模的数据集。parquent数据格式可以是一种列式存储数据格式,能够将数据按列存储,从而提供了更高的压缩比和更快的查询速度。

具体地,根据数据应用经验,数据存储可以使用CDH支持的Hive、HBase和Kudu等数据库。kudu数据库可以兼顾OLAP与OLTP场景,HBase可以用于实时任务程序,Hive数据库可以作用于离线分析。采用Hive数据库对数据进行存储,可以先在Hive数据库中按照时间、区域、终端类型等分类创建相应的分区表,然后数据集成工具SeaTunnel与Hive数据库进行连接,将标准结构数据以parquent数据格式存储在自建cdh平台中的Hive数据库中。

示例性地,请参阅图2c,在数据源层得到标准结构数据后,SeaTunnel工具可以实现数据接入,将标准结构数据存储至Hive数据库中。

在一些实施方式中,数据集成工具SeaTunnel可以使用jdbc与Hive数据库进行连接,以实现数据的存储。

在另一些实施方式中,数据集成工具SeaTunnel可以先与HDFS进行连接,读取、写入标准结构数据。然后再与Hive数据库连接,实现数据的存储。

需要说明的是,物联数据集成系统实现数据集成的过程可以通过shell脚本来完成。通过nohup后台执行的方式,利用Crontab进行调度执行,因为在实际的业务中,对定时调度的要求不是很高,所以可以采用Crontab或者开源的Dolphin Scheduler来进行调度执行。

上述基于SeaTunnel的海量物联数据集成系统中,在数据源层通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据,在数据接入层通过SeaTunnel组件传输标准结构数据,SeaTunnel组件使用Spark计算引擎用于全量数据的快速同步,使用Flink计算引擎用于实时读取增量数据的数据传输,在数据存储层采用Hive数据库对标准结构数据以parquent数据格式进行存储。一方面,Seatunnl组件实现了高性能、易扩展、易使用的物联数据集成系统。Seatunnl组件用于数据转化和同步,提高高并发场景下的数据处理效率。另一方面,基于SeaTunnel的海量物联数据集成系统开发配置简单、灵活,无需编码开发,可以快速生成数据同步脚本以实现数据集成,提高数据处理效率。

在一些实施方式中,数据源层,还用于将设备档案数据、容器管理数据、应用管理数据、告警管理数据转换为字符串数据类型,得到标准结构数据。

其中,针对日期类型数据,采用年月日格式。

具体地,从存储设备档案数据、容器管理数据、应用管理数据、告警管理数据的数据源中获取原始数据,对于原始数据中的日期类型数据,使用合适的函数或方法将其转换为年月日格式的字符串数据。年月日格式的日期类型数据可以作为标准结构数据。对于原始数据中的其他类型数据,使用合适的函数和方法来进行数据转换,将其转换为字符串数据。字符串数据可以作为标准结构数据。

示例性地,数据源mysql是关系型数据库,具有标准的数据格式。数据源mysql的数据格式比较统一,但是有多数据类型,比如String,Decimal,Date,Int。对于数据源mysql存储的设备档案数据,容器管理数据,应用管理数据和告警管理数据,在数据初始处理的阶段需要统一转换成字符串数据类型。对于数据源mysql中的Date数据类型,可以将其转换成yyyyMMdd格式的字符串数据即年月日格式的字符串数据。

在一些实施方式中,针对日期类型数据,也可以采用日月年格式。

上述基于SeaTunnel的海量物联数据集成系统中,在数据源层将设备档案数据、容器管理数据、应用管理数据、告警管理数据转换为字符串数据类型,得到标准结构数据,可以提高数据的一致性、可读性以及方便后续对数据进行统一处理。

在一些实施方式中,数据源层,还用于对异构数据源进行清洗和过滤处理,并按照预设数据结构对处理后的异构数据源进行格式处理,得到标准结构数据。

其中,预设数据结构可以是指在数据处理过程中预先定义的数据格式和结构。预设数据结构可以根据数据的语义和业务需求,合理规划字段的类型、长度、约束条件等,以满足后续数据处理和分析的要求。

具体地,异构数据源中的数据没有关系型数据库严格的数据格式。从异构数据源中获取原始数据,数据类型和格式可能各不相同。对原始数据进行数据清洗(比如数据纠错、缺失值处理)以及过滤处理,可以得到处理后的数据。按照预设数据结构对处理后的数据进行格式处理,将处理后的数据转换为预设数据结构的数据,即标准结构数据。

示例性地,对于存储在数据源redis中的档案数据,运行数据等,需要在数据预处理时,先对数据进行清洗和过滤处理,并按照预定的数据结构(比如关系型数据库的数据格式)进行格式处理,得到标准结构数据。

上述基于SeaTunnel的海量物联数据集成系统中,在数据源层对异构数据源进行清洗和过滤处理,并按照预设数据结构对处理后的异构数据源进行格式处理,得到标准结构数据,有助于增强数据可用性、保证数据一致性、提高数据处理效率以及保护数据安全性。

在一些实施方式中,数据源层,还用于通过SeaTunnel组件内置的方法和Sql过滤清洗主键数据不为空的数据,并按照预设数据结构对过滤清洗后的异构数据源进行格式处理,得到标准结构数据。

在一些情况下,由于数据源中的数据可能存在数据错误、数据异常等问题,为了提高数据的质量可以对数据源中的数据进行数据清洗和数据过滤操作。

具体地,使用SeaTunnel组件提供的方法,从数据源中导入所需的数据。可以通过SQL语句对导入的数据进行数据过滤,以保留主键数据不为空的数据,过滤主键数据为空的数据,确保数据的完整性和准确性。利用SeaTunnel组件内置的方法,对导入的数据进行清洗操作。清洗操作可以包括去除重复数据、填补缺失值、纠正错误数据等,以提高数据质量和一致性。然后,根据预设数据结构,使用SeaTunnel组件提供的方法对过滤清洗后的异构数据源中的数据进行格式处理,得到标准结构数据。

上述基于SeaTunnel的海量物联数据集成系统中,在数据源层通过SeaTunnel组件内置的方法和Sql过滤清洗主键数据不为空的数据,可以过滤掉一些缺失关键信息的数据,从而提高后续数据处理的效率,也助于提高数据的质量和可靠性,减少不完整或错误数据对后续分析和决策的影响。按照预设数据结构对过滤清洗后的异构数据源进行格式处理,得到标准结构数据,可以方便不同系统和应用程序之间的数据交换和共享,提高数据的可用性和互操作性。

在一些实施方式中,Spark计算引擎用于处理离线数据,根据离线数据的数据量大小进行参数配置。

其中,离线数据可以是指在不需要实时处理的情况下,将数据存储起来以供后续分析、处理和使用的数据。它可以是从各种来源收集而来的数据,例如日志文件、数据库备份、传感器数据等。配置的参数包括执行内存Execute_Memory、执行任务数量Execute_num、驱动内存driver_memory。执行内存Execute_Memory可以是指在分布式计算框架(如ApacheSpark)中,为每个执行器(Executor)分配的可用内存大小。执行任务数量Execute_num可以是指在分布式计算框架中同时运行的任务数或并行度。驱动内存driver_memory可以是指在分布式计算框架中驱动程序(Driver)使用的内存大小。

具体地,执行内存Execute_Memory的大小对于Spark计算引擎的性能和效率至关重要,执行内存可以直接影响一个执行器能够同时处理的数据量和计算资源。如果执行内存设置过小,可能导致内存不足、频繁的磁盘读写以及计算任务失败。而设置过大可能会浪费资源并增加调度开销。执行任务数量Execute_num的设置对于Spark计算引擎的性能和资源利用效率有重要影响。合理地配置执行任务数量可以充分利用集群中的计算资源,提高作业的执行效率。但是,设置过多的任务数量可能会导致资源竞争,而设置过少则可能无法充分利用集群的潜力。驱动内存driver_memory的设置对于Spark计算引擎的性能和稳定性有重要影响。如果设置过小,可能会导致内存不足、任务失败或超时等问题。而设置过大则可能会浪费资源并增加调度开销。因此,在Spark计算引擎处理离线数据时,根据离线数据的数据量大小进行执行内存Execute_Memory、执行任务数量Execute_num、驱动内存driver_memory的参数配置。

上述基于SeaTunnel的海量物联数据集成系统中,Spark计算引擎用于处理离线数据,根据离线数据的数据量大小进行参数配置,可以提高Spark计算引擎的性能、稳定性和资源利用效率。根据离线数据的数据量大小进行合理的参数配置,可以提高数据处理的效率和质量。

在一些实施方式中,若离线数据为数据量在100W以下的数据,则执行内存Execute_Memory设置2G,执行任务数量Execute_num设置为2,驱动内存driver_memory设置为1G。

若离线数据为数据量在100w到1亿条之间的数据,执行内存Execute_Memory设置6G-8G,执行任务数量Execute_num设置为4-6,驱动内存driver_memory设置为4G-6G。

若离线数据的数据量大于1亿,采集按天或按时间增量进行分批同步。

在一些情况下,较小的任务可以使用较小的执行内存和较少的任务数量,并且驱动内存也可以适当减少,这样可以快速完成处理。而对于较大的数据量,适当增加执行内存、任务数量和驱动内存,可以并行处理更多数据,提高整体的处理效率。

具体地,在利用Spark计算引擎处理离线数据时,数据量在100W以下的离线数据可以被认为是较小规模的数据。对于较小规模的数据量,2G的执行内存Execute_Memory是一个合理的设置。2G的执行内存Execute_Memory可以满足较小规模数据任务的需求,并保证任务能够正常进行。为了提高处理速度和并发性,将执行任务数量Execute_num设置为2个,使得两个任务可以同时进行处理,通过并行处理来加快任务的完成时间。驱动内存driver_memory需要管理整个任务的调度、资源分配等操作,1G的驱动内存driver_memory可以确保任务的正常运行。

数据量在100万到1亿条之间的离线数据需要更大的资源配置来处理。较大的执行内存可以提供足够的堆空间供Spark任务执行。可以将执行内存Execute_Memory设置6G-8G,以提高任务的计算速度和性能。可以将执行任务数量Execute_num设置为4-6,提高应用程序的处理速度和效率。将驱动内存driver_memory设置为4G-6G,以避免可能的性能问题和延迟。

当离线数据的数据量大于1亿时,可以将离线数据按照时间增量或者按照日期划分为多个批次,每次采集和同步一天或一段时间的增量数据。上述实施方式可以降低单次同步的数据量,减少对系统资源的压力,并提高同步的效率。可以根据实际情况,调整采集和同步的频率。如果数据变化较快,可以选择较短的时间间隔进行增量同步,如果数据变化相对较慢,可以适当延长时间间隔,减少同步的次数。

上述基于SeaTunnel的海量物联数据集成系统中,通过根据离线数据的数据量大小进行执行内存Execute_Memory、执行任务数量Execute_num、驱动内存driver_memory的配置,可以在保证任务顺利完成的同时,优化执行性能和资源利用情况。

在一些实施方式中,在Flink计算引擎处理设备档案数据时,在数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理。

其中,binlog日志功能可以是MySQL数据库中的一种日志文件,用于记录数据库进行的修改操作,包括增删改等操作。binlog以二进制格式保存,可以通过解析binlog文件来查看数据库的操作历史记录。binlog日志可以用于数据恢复、数据备份、数据同步等场景。flink-cdc作为一个流式计算引擎,可以直接从MySQL、PostgreSQL等数据库直接读取增量变更数据。flink-cdc提供了一种实时获取和处理数据库变更数据的能力,以便进行实时分析、数据同步、实时ETL等场景。需要说明的是,Binlog适用于MySQL数据库,其他数据库管理系统有类似的功能或日志文件。

具体地,在Flink计算引擎处理设备档案数据时,在数据源mysql中,需要开启binlog日志功能,以便将数据变更操作记录到binlog中。在Flink的作业配置中,可以使用flink-cdc来读取数据源mysql的binlog日志。flink-cdc需要配置数据源mysql的连接信息、binlog的位置以及需要同步的表等参数。当数据源mysql中的一条数据更新时,数据源mysql会将该更新操作记录到binlog日志中。flink-cdc可以连接到数据源mysql,并实时监测数据源mysql的binlog日志中的数据变更事件。当flink-cdc检测到新的binlog事件时,可以对binlog日志中的sql语句进行解析,实现对数据的同步处理。

在一些实施方式中,当Flink计算引擎处理存储在数据源redis中的设备档案数据时,可以在配置数据源后,直接从数据源redis中读取数据。

上述基于SeaTunnel的海量物联数据集成系统中,在Flink计算引擎处理设备档案数据时,在数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理,可以实现对数据源mysql中数据变更的实时感知和同步处理,保证数据的一致性和实时性。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成方法,请参阅图3,应用于基于SeaTunnel的海量物联数据集成系统,该方法可以包括以下步骤:

S310、通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据。

S320、通过SeaTunnel组件传输标准结构数据。

S330、采用Hive数据库对标准结构数据进行存储。

其中,异构数据源包括以Mysql为存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据,以及以redis为存储的档案数据、运行数据。SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎,Spark计算引擎用于全量数据的快速同步,Flink计算引擎用于实时读取增量数据的数据传输。标准结构数据在Hive数据库的存储格式为parquent数据格式。

具体地,数据集成工具Seatunnel支持各类异构数据源。数据集成工具SeaTunnel配置数据源的连接信息,使其连接到所需的异构数据源。从连接的数据源中获取原始数据。当原始数据包含数据源mysql存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据时,在数据初始处理阶段按照预设数据结构对数据源mysql中的数据进行格式处理,将数据源mysql中的数据转换成标准结构数据。对于存储在数据源redis中的档案数据、运行数据,可以先对数据源redis中的数据进行预处理(比如去除无效数据),然后按照预设数据结构对数据源redis中的数据进行格式化处理,将数据源redis中的数据转换成标准结构数据。得到标准结构数据后,数据集成工具SeaTunnel可以调用Spark计算引擎对全量数据进行快速同步,也可以调用Flink计算引擎实时读取增量数据的数据传输。通过使用Spark计算引擎和Flink计算引擎实现数据的接入,将标准结构数据以parquent数据格式存储至Hive数据库。

上述基于SeaTunnel的海量物联数据集成方法中,通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对异构数据源进行格式处理,得到标准结构数据,通过SeaTunnel组件传输标准结构数据,采用Hive数据库对标准结构数据进行存储。Seatunnl组件实现了高性能、易扩展、易使用的物联数据集成系统。Seatunnl组件用于数据转化和同步,提高高并发场景下的数据处理效率。

在一些实施方式中,Spark计算引擎用于处理离线数据,根据离线数据的数据量大小进行参数配置。

其中,配置的参数包括执行内存Execute_Memory、执行线程数量Execute_num、驱动内存driver_memory。

具体地,执行内存可以直接影响到一个执行器能够同时处理的数据量和计算资源。合理地配置执行任务数量Execute_num可以充分利用集群中的计算资源,提高作业的执行效率。驱动内存driver_memory的设置对于Spark计算引擎的性能和稳定性有重要影响。因此,在Spark计算引擎处理离线数据时,根据离线数据的数据量大小进行执行内存Execute_Memory、执行任务数量Execute_num、驱动内存driver_memory的参数配置。

上述基于SeaTunnel的海量物联数据集成方法中,Spark计算引擎用于处理离线数据,根据离线数据的数据量大小进行参数配置,可以提高Spark计算引擎的性能、稳定性和资源利用效率。根据离线数据的数据量大小进行合理的参数配置,可以提高数据处理的效率和质量。

在一些实施方式中,若离线数据为数据量在100W以下的数据,则执行内存Execute_Memory设置2G,执行线程数量Execute_num设置为2,驱动内存driver_memory设置为1G。

若离线数据为数据量在100w到1亿条之间的数据,执行内存Execute_Memory设置6G-8G,执行线程数量Execute_num设置为4-6,驱动内存driver_memory设置为4G-6G。

若离线数据的数据量大于1亿,采集按天或按时间增量进行分批同步。

具体地,在利用Spark计算引擎处理离线数据时,数据量在100W以下的离线数据可以被认为是较小规模的数据。对于较小规模的数据量,可以将执行内存Execute_Memory设置2G,执行任务数量Execute_num设置为2,驱动内存driver_memory设置为1G。

数据量在100万到1亿条之间的离线数据需要更大的资源配置来处理。较大的执行内存可以提供足够的堆空间供Spark任务执行。可以将执行内存Execute_Memory设置6G-8G,执行任务数量Execute_num设置为4-6,驱动内存driver_memory设置为4G-6G。

当离线数据的数据量大于1亿时,可以将离线数据按照时间增量或者按照日期划分为多个批次,每次采集和同步一天或一段时间的增量数据。上述实施方式可以降低单次同步的数据量,减少对系统资源的压力,并提高同步的效率。

上述基于SeaTunnel的海量物联数据集成方法中,通过根据离线数据的数据量大小进行执行内存Execute_Memory、执行任务数量Execute_num、驱动内存driver_memory的配置,可以在保证任务顺利完成的同时,优化执行性能和资源利用情况。

在一些实施方式中,在Flink计算引擎处理设备档案数据时,在数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理。

具体地,在Flink计算引擎处理设备档案数据时,在数据源mysql中,需要开启binlog日志功能,以便将数据变更操作记录到binlog中。在Flink的作业配置中,需要设置CDC连接器来读取数据源mysql的binlog日志,可以使用flink-cdc来实现。当数据源mysql中的一条数据更新时,数据源mysql会将该更新操作记录到binlog日志中。flink-cdc可以连接到数据源mysql,并实时监测数据源mysql的binlog日志中持续读取数据变更事件。当flink-cdc检测到新的binlog事件时,可以对binlog日志中的sql语句进行解析,实现对数据的同步处理。

上述基于SeaTunnel的海量物联数据集成方法中,在Flink计算引擎处理设备档案数据时,在数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理,可以实现对数据源mysql中数据变更的实时感知和同步处理,保证数据的一致性和实时性。

本说明书实施方式提供一种基于SeaTunnel的海量物联数据集成装置400,请参阅图4,基于SeaTunnel的海量物联数据集成装置400包括:标准数据确定模块410、数据传输模块420、数据存储模块430。

标准数据确定模块410,用于通过数据集成工具SeaTunnel组件获取异构数据源,并按照预设数据结构对所述异构数据源进行格式处理,得到标准结构数据;所述异构数据源包括以Mysql为存储的设备档案数据、容器管理数据、应用管理数据、告警管理数据,以及以redis为存储的档案数据、运行数据;

数据传输模块420,用于通过所述SeaTunnel组件传输所述标准结构数据,其中,所述SeaTunnel组件使用Spark计算引擎和Flink计算引擎作为底层数据同步引擎,所述Spark计算引擎用于全量数据的快速同步,所述Flink计算引擎用于实时读取增量数据的数据传输;

数据存储模块430,用于采用Hive数据库对所述标准结构数据进行存储,其中,所述标准结构数据在所述Hive数据库的存储格式为parquent数据格式。

在一些实施方式中,所述Spark计算引擎用于处理离线数据,根据所述离线数据的数据量大小进行参数配置;其中,配置的参数包括执行内存Execute_Memory、执行线程数量Execute_num、驱动内存driver_memory。

在一些实施方式中,所述Spark计算引擎用于若所述离线数据为数据量在100W以下的数据,则所述执行内存Execute_Memory设置2G,所述执行线程数量Execute_num设置为2,所述驱动内存driver_memory设置为1G;

若所述离线数据为数据量在100w到1亿条之间的数据,所述执行内存Execute_Memory设置6G-8G,所述执行线程数量Execute_num设置为4-6,所述驱动内存driver_memory设置为4G-6G;

若所述离线数据的数据量大于1亿,采集按天或按时间增量进行分批同步。

在一些实施方式中,所述数据传输模块还用于在所述Flink计算引擎处理所述设备档案数据时,在所述数据源mysql中开启binlog日志功能,通过flink-cdc进行实时读取并对数据进行同步处理。

关于基于SeaTunnel的海量物联数据集成装置的具体描述,可以参见上文中对基于SeaTunnel的海量物联数据集成方法的描述,在此不再赘述。

本说明书实施方式提供一种提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施方式中的方法步骤。

本说明书实施方式提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施方式中的方法的步骤。

本说明书的一个实施方式提供一种计算机程序产品,计算机程序产品中包括指令,指令被计算机设备的处理器执行时,使得计算机设备能够执行上述任一项实施方式的方法的步骤。

在一些实施方式中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于SeaTunnel的海量物联数据集成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本说明书所公开方案相关的部分结构的框图,并不构成对本说明书所公开方案所应用于其上的计算机设备的限定,具体地,计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

相关技术
  • 储物设备、储物设备控制方法、装置、冷藏设备及系统
  • 储物设备、储物设备控制方法、装置、冷藏设备及系统
  • 储物设备、储物设备控制方法、装置、冷藏设备及系统
  • 一种基于快速上行授权的海量电力物联终端接入控制方法
  • 基于物联数据生成物联事件的方法、系统、介质及设备
技术分类

06120116490230