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

一种可热插拔的分布式异构数据源数据调度处理系统

文献发布时间:2024-04-18 19:52:40


一种可热插拔的分布式异构数据源数据调度处理系统

技术领域

本发明涉及异构数据源数据调度处理系统技术领域,具体为一种可热插拔的分布式异构数据源数据调度处理系统。

背景技术

异构数据源数据调度处理系统用于有效管理和处理来自不同数据源的数据,它可以帮助组织将数据从多个来源汇聚到一个中心位置,进行数据清洗、转换、集成和分发,以支持数据分析、报告和决策制定,这种系统有助于确保数据的一致性、可用性和可靠性,以便业务可以更好地利用数据资源。

现有的异构数据源数据调度处理系统存在的缺陷是:

1、专利文件JP2012533808A中,上述公开文件没有考虑到考虑使数据能够可视化图表展示数据,呈现更直观和更具体的效果,降低了功能性;

2、专利文件US10438294B2中,上述公开文件没有考虑到在系统在执行数据操作任务时会产生的数据会出现负载不均衡的问题,降低了系统的可用性;

3、专利文件CN112307128A中,上述公开文件主要考虑可自定义异构数据同步的任务周期,而且能够进行集群式部署,提高任务的执行效率的问题,没有考虑到系统具有可热插拔的效果,降低了系统的容错性和扩展性;

4、专利文件CN110647575B中,上述公开文件主要考虑提高了数据线上实时处理效率及消息的存储能力的问题,没有考虑到存储数据时数据遗失和泄露问题,降低了安全性。

发明内容

本发明的目的在于提供一种可热插拔的分布式异构数据源数据调度处理系统,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种可热插拔的分布式异构数据源数据调度处理系统,包括数据采集模块,所述数据采集模块用于为分布式异构数据源数据调度处理系统从数据源中采集数据,所述数据采集模块包括以下单元:

(1)并行采集单元;

(2)时间戳单元;

(3)容错单元;

(4)安全单元;

所述并行采集单元是在单个节点上,使用多线程方式并行采集数据,提高了数据采集的速度,所述时间戳单元是为采集的数据添加时间戳信息,以便在后续处理中识别采集数据不一致的情况,所述容错单元是定期备份采集数据,以便在发生故障时进行恢复,所述安全单元是实施严格的访问控制策略,确保只有授权的用户才访问采集数据。

优选的,所述异构数据源数据调度处理系统步骤如下:

步骤S1、首先利用数据采集模块从数据库、日志文件、API服务器三个数据源中采集数据;

步骤S2、将采集后的数据通过预处理,使得数据变得结构化,同时再对预处理的数据进行离线数据处理便于后期对数据进行分析;

步骤S3、再通过迁移模块将处理分析后的数据从外部数据库导入到HDFS和Hive表中;

步骤S4、再然后利用Doris做存储将存储在HDFS和Hive表中的数据进行定时或实时存储,防止数据堆积存储载量过大系统出现错误;

步骤S5、通过工作流调度,将系统中存储的数据和采集的新数据进行统一调度,保持系统有序运行;

步骤S6、通过负载均衡模块用于为系统添加更多的处理节点,轻松地扩展系统的处理能力并且确保各个处理节点的工作负载相对均衡,防止某些节点过载而节点空闲,提高系统的可用性和可靠性;

步骤S7、利用算法加密模块保护数据在传输和存储过程中的机密性和完整性,进一步提高系统中的数据的安全性和可靠性;

步骤S8、工作人员需要查询系统中存储的数据时,系统利用数据视觉模块对数据进行可视化处理,使数据更加直观的呈现,便于工作人员获取数据信息。

优选的,所述步骤S1中,还包括如下步骤:

步骤S11、数据采集模块中的并行采集单元利用多线程方式进行并行采集数据,具体方式如下,

线程创建,创建线程是多线程编程的起点,在大多数编程语言中,使用内置的线程库来创建线程;

线程启动,一旦线程被创建,您需要启动它开始执行,通过调用start(线程对象)的启动方法来实现;

线程同步,确保多个线程够协调和同步操作是至关重要的,通过使用锁、信号量和条件变量三种同步机制来避免竞争条件和数据竞争;

线程通信,线程之间需要互相通信和共享数据,通过共享内存、消息队列和管道机制来实现;

线程管理,多线程应用需要有效地管理线程的生命周期,包括创建、启动、停止和销毁线程,确保线程不再需要时被正确终止以释放资源;

步骤S12、时间戳单元是识别采集的数据不一致性,具体方法如下:

时间戳生成,在数据采集过程中,时间戳由数据采集单元生成的,生成有两种方式,

(1)时间戳可以使用系统当前时间,具体为UNIX时间戳自1970年1月1日起的秒数;

(2)自定义格式,工作人员自行设定日期和时间的字符串;

数据采集,采集单元采集数据时根据时间戳,定期和实时的对采集数据中的信息进行识别,避免数据采集的不一致性不易被发现;

时间戳附加,采集单元在采集数据后会附加时间戳到每个数据点或数据记录上,时间戳的目的是记录数据采集的确切时间,识别数据采集的不一致性。

优选的,所述步骤S2中,还包括如下步骤:

数据处理模块通过对数据进行预处理和离线处理两种方式对采集的数据进行处理,具体方式如下,

步骤S21、数据预处理,使用Hive可以创建外部或内部表,对原始数据进行清洗、转换、分区等操作,使得数据变得结构化且易于查询,Hive提供了一套SQL查询引擎,可以快速的查询存储在hdfs中的数据,具体方式如下,

提供查询语言,Hive提供了SQL的机构化查询语言,称为HiveQL,这意味着用户可以使用熟悉的SQL语法来查询和分析大规模数据,无需学习新的查询语言;

可扩展性,Hive通过Hadoop分布式文件系统集群中添加更多节点来应对不断增长的数据量,用于轻松扩展以处理大规模数据;

数据格式支持,Hive支持文本、序列文件、开放的列式存储文件格式和开源的列式存储文件格式四种数据格式,使用户可以选择最适合其数据的格式;

步骤S22、离线处理,使用Hive、MapReduce和Spark工具进行大规模的离线数据处理,对数据进行聚合、计算、分析等操作,处理后的数据可以存储回HDFS以备后续使用,MapReduce是一种编程模型和处理框架,具体工作方式如下:

MapReduce任务分为两个主要阶段,即“映射”和“归约”,

(1)映射阶段将输入数据分割成键值对,然后执行处理操作;

(2)归约阶段将映射结果合并和汇总,以生成最终的输出结果;

ApacheSpark是一个快速、通用、分布式计算系统,与MapReduce不同,它支持多种数据处理工作负载,具体工作方式:Spark提供了弹性分布式数据集(RDD)作为其核心数据抽象,它们允许在内存中高效进行数据处理,Spark支持Scala、Java、Python和R四种API服务器,使开发更加灵活。

优选的,所述步骤S3中,还包括如下步骤:

步骤S31、Hadoop分布式文件系统:根据需要扩展以容纳大量数据,用于动态添加新的存储节点,而无需中断系统运行,实现了可热插拔性;HDFS通过数据块的多次备份确保数据的容错性,节点发生故障时,HDFS会自动重新复制数据块到节点,无需手动介入;

步骤S32、Hive查询引擎可扩展的元数据,Hive使用元数据存储表和数据的结构信息允许添加新的表、分区或列,而不会破坏现有查询;Hive支持UDFs自定义函数编写并将其添加到Hive中,以扩展查询功能,就不需要修改Hive核心代码;

使HDFS和Hive为系统提供可热插拔性,但要实现更高级的可热插拔性,需要结合ZooKeeper工具,以构建更弹性和可定制的大数据处理系统,允许添加、删除或修改数据源、处理逻辑和查询功能,以满足不断演变的数据存储需求。

优选的,所述步骤S4中,还包括如下步骤:

步骤S41、Doris主要实现,

(1)Doris数据存储:使用Doris作为实时数据处理的存储引擎,将数据定时地写入到Doris表中;

(2)实时处理,使用Doris的OLAP引擎来进行实时查询和分析,创建实时数据分析的报表或者仪表盘,Doris的OLAP引擎具体处理方式如下,

Doris提供一种实时加载数据的机制通过OLAP引擎支持MPP大规模并行处理,查询分解成多个任务并在多个计算节点上并行执行,使得Doris高效地处理大量实时数据。

优选的,所述步骤S5中,还包括如下步骤:

工作流调度服务端在启动时会在Zookeeper工具中注册一个临时节点,工作流服务端提供了监听服务的能力,使Zookeeper工具与HDFS和Hive相结合提高了系统的可热插拔性;

步骤S51、工作流调度主要实现,

(1)任务调度管理,任务调度包含定时任务、依赖任务和数据传输任务,用户可以创建、编辑、删除和监控任务,以及查看任务的运行历史;

(2)工作流设计,用户将多个任务组合成一个完整的工作流程形成可视化界面设计工作流,有助于用户更好地管理和调度任务;

(3)依赖管理,分布式异构数据源数据调度处理系统允许用户定义任务之间的依赖关系,任务基于时间依赖、状态依赖或数据依赖来触发,确保任务按照正确的顺序执行;

(4)多用户管理,支持多用户管理模式,将不同的用户或组织隔离开来,每个用户有自己的任务调度和权限控制;

(5)权限管理,分布式异构数据源数据调度处理系统提供细粒度的权限控制用于定义用户和角色,并为每个用户角色分配不同的权限,确保了敏感数据的安全性;

(6)告警和通知,当任务执行失败或达到某些条件时,分布式异构数据源数据调度处理系统触发告警和通知,通过邮件、短信或其他方式通知相关人员;

(7)日志和监控,系统记录工作流任务执行日志,用户可以查看任务的执行状态和日志信息;提供监控指标,用于性能分析和故障排查;

(8)策略管理,分布式异构数据源数据调度处理系统具有灵活的策略管理功能,用户可以定义任务的调度策略、重试策略和失败策略,有助于应对不同的任务场景和需求;

(9)队列管理,在每个资源池内,可以设置多个队列,用于组织和管理任务,队列可以按照不同的策略进行配置;

(10)容错和故障转移,当节点和资源池其中一个发生故障时,资源管理器自动将任务分配给其他可用资源,确保任务的执行不受影响;

(11)预留资源,管理员为关键任务预留一部分资源,确保它们获得足够的资源来及时执行。

优选的,所述步骤S6中,还包括如下步骤:

步骤S61、负载均衡通过路由算法:通常是集群环境,合理的分摊服务器压力,达到服务器性能的最大优化;

路由算法的具体公式为:

D

负载均衡算法分配任务至Worker:实际执行任务,默认提供了三种算法,

加权随机,计算权重总和W,其中W=w1+w2+…+wi,其中wi代表第i个选项的权重;

生成一个0到W之间的随机数R;

初始化一个累积权重值C,初始值为0;

遍历选项,从第一个选项开始:

a.C+=wi;

平滑轮询,计算节点的总权重总和,即W=w1+w2+…+wi,其中wi代表第i个节点的权重;

选择一个初始值为0的全局计数器,用于跟踪上一次选择的节点;

线性负载,维护一个计数器,初始值为0;

每当有请求到来时,将请求分配给节点列表中的第counter%N个节点,其中N是节点的总数;

“counter”值递增,“counter%N”将循环0、1、2、3、4,从而依次将请求分配给不同的节点;

增加计数器的值,以便下一个请求会被分配给下一个节点Worker负载均衡配置,

权重,负载算法都是基于权重来进行加权分配的,权重影响分流结果,再修改worker的值来给不同的机器设置不同的权重;

预热,在Worker节点启动后会让它以较低的功率运行一段时间,这样逐步使其性能逐渐达到最佳状态;当Worker节点启动后,它的权重会随着时间逐渐提升,以使其逐步融入整个集群中,默认情况下,这个预热过程会持续十分钟。

优选的,所述步骤S7中,还包括如下步骤:

步骤S71、算法加密模块主要使用安全性很高的加密算法:AES高级加密算法用于对系统中数据加密,其加密速度快,资源消耗较低,适合保护敏感数据,协同工作流调中的多用户管理,实现加密数据处理中的各种算法以及工作流程的加密,AES高级加密算法通过以下步骤来实现,

(1)选择密钥长度,AES支持128位、192位和256位三种不同的密钥长度,更长的密钥通常提供更高的安全性,但也需要更多的计算资源;

(2)生成密钥,随机生成一个符合所选密钥长度的密钥,密钥的生成必须是安全的,以防止破解攻击;

(3)选择加密模式,AES支持电子密码本模式和密码分组链接模式两种不同的加密模式,这里选择密码分组链接模式,确保对数据进行适当的填充(如PKCS#7);

(4)加密操作,对需要加密的数据使用生成的密钥和所选的加密模式进行加密,加密后的数据称为密文;

(5)解密操作,用户需要访问已加密的数据,使用相同的密钥和加密模式进行解密操作,解密后的数据将还原为原始明文;

(7)安全传输,当需要在网络上传输加密数据时,确保使用安全的HTTPS通信协议,防止数据在传输过程中被中间人攻击;

(8)密钥轮换,定期更换密钥,以增强安全性,过去的密钥可能会被破解或泄漏,因此定期轮换是必要的;

(9)安全性测试,对AES加密实现进行漏洞扫描和渗透两种安全性测试,识别和修复潜在的安全问题;

漏洞扫描具体方式如下,

信息收集,首先,需要收集目标系统的信息,包含IP地址、操作系统、开放的端口、运行的服务;

选择扫描工具,选择Nessus、OpenVAS和Nexpose其中一个为漏洞扫描工具;

配置扫描工具,根据目标系统的信息,配置扫描工具扫描的IP范围的参数为192.168.1.0/24、扫描的端口范围的参数为1500、扫描的深度的为深层扫描,这种扫描不仅检查开放的端口和运行的服务,还会尝试利用已知的漏洞进行攻击,以检查系统是否容易受到这些漏洞的影响,这种扫描速度较慢,但可以发现更多的漏洞;

执行扫描,启动扫描工具,开始对目标系统进行扫描;

分析结果,扫描完成后,分析扫描结果,找出存在的安全漏洞;

修复漏洞,根据扫描结果,修复找出的安全漏洞;

再次扫描,修复漏洞后,再次进行扫描,确认漏洞已经被修复。

优选的,所述步骤S8中,还包括如下步骤:

步骤S81、数据视觉模块对数据进行可视化模块处理具体体现如下,

ECharts图表库,用于创建交互式和可视化丰富的图表和数据可视化,为系统提供了折线图、柱状图和饼图三种丰富的图表类型供后续图表制作使用;

过滤单元,根据用户需求将所有数据库中的数据进行过滤整合,获取用户所需的数据,以备后续使用;

D3.js交互单元,创建交互式数据可视化,在D3.js中,交互单元通常指的是各种方式可以与数据可视化图表进行交互的元素和功能;

AntV数据可视化库,创建交互式和漂亮的数据可视化图表的工具;通过工具从ECharts图表库中获取图表类型,再将具体数据代入图表中;

WebGL加速渲染单元,用于在Web浏览器中进行高性能图形渲染的技术,利用计算机的图形硬件加速来绘制复杂的3D和2D图形,使Web应用程序呈现更加逼真的交互性图形;

视图单元,最终将系统生成折线图、柱状图和饼图三种不同类型的图表供用户进行数据参考;

再通过Oracle数据库和MySQL关系型数据库利用Kettle开源工具对数据进行同步处理,再将处理后的数据传输到DORIS数据库中,使可视化模块在数据支撑的基础上通过视图单元;过滤单元;ECharts图表库;AntV数据可视化库;D3.js交互单元和WebGL加速渲染单元处理后用于根据用户的需求生成折线图、柱状图和饼图三种不同类型的图表,方便用户对数据进行分析和展示。

与现有技术相比,本发明的有益效果是:

1、本发明在数据采集模块中通过并行采集单元;时间戳单元;容错单元和安全单元进行采集数据工作,使采集数据时具有速度快、数据保持一致性和安全性高的效果。

2.本发明通过工作流调度监控系统的各项工作任务的运行,降低出错率,在监控到数据发生异常时会启动告警功能警示用户,提高了容错性。

3.本发明通过算法加密模块,使系统在运行时,数据经过采集、处理、迁移和存储时都具有加密功能的保护,保证了数据的安全性和可靠性。

4.本发明通过数据视觉模块将各项数据根据用户的需要制作成折线图、柱形图和饼图三种不同类型的图表供用户参考,使数据更直观的展现出来。

附图说明

图1为本发明的流程图;

图2为本发明的系统结构示意图;

图3为本发明的数据采集模块示意图;

图4为本发明的数据处理模块示意图;

图5为本发明的数据存储模块示意图;

图6为本发明的负载均衡操作示意图;

图7为本发明的算法加密模块操作示意图;

图8为本发明的可视化模块示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有实施例,都属于本发明保护的范围。

实施例一:

请参阅图1和图3,一种可热插拔的分布式异构数据源数据调度处理系统,包括数据采集模块,数据采集模块用于为分布式异构数据源数据调度处理系统从数据源中采集数据,步骤S1、首先利用数据采集模块从数据库、日志文件、API服务器三个数据源中采集数据,数据采集模块包括以下单元:

(1)并行采集单元包括步骤S11、利用多线程方式进行并行采集数据:

线程创建,创建线程是多线程编程的起点,在大多数编程语言中,使用内置的线程库来创建线程;

线程启动,一旦线程被创建,您需要启动它开始执行,通过调用start(线程对象)的启动方法来实现;

线程同步,确保多个线程够协调和同步操作是至关重要的,通过使用锁、信号量和条件变量三种同步机制来避免竞争条件和数据竞争;

线程通信,线程之间需要互相通信和共享数据,通过共享内存、消息队列和管道机制来实现;

线程管理,多线程应用需要有效地管理线程的生命周期,包括创建、启动、停止和销毁线程,确保线程不再需要时被正确终止以释放资源;

(2)时间戳单元使识别采集的数据不一致性,包括步骤S12具体方法如下:

时间戳生成,在数据采集过程中,时间戳由数据采集单元生成的,生成有两种方式,时间戳可以使用系统当前时间,具体为UNIX时间戳自1970年1月1日起的秒数;自定义格式,工作人员自行设定日期和时间的字符串;

数据采集,采集单元采集数据时根据时间戳,定期和实时的对采集数据中的信息进行识别,避免数据采集的不一致性不易被发现;

时间戳附加,采集单元在采集数据后会附加时间戳到每个数据点或数据记录上,时间戳的目的是记录数据采集的确切时间,识别数据采集的不一致性;

(3)容错单元;

(4)安全单元;

并行采集单元是在单个节点上,使用多线程方式并行采集数据,提高了数据采集的速度,时间戳单元是为采集的数据添加时间戳信息,以便在后续处理中识别采集数据不一致的情况,容错单元是定期备份采集数据,以便在发生故障时进行恢复,安全单元是实施严格的访问控制策略,确保只有授权的用户才访问采集数据。

进一步,并行采集单元:这个单元用于同时采集多个数据源或通道的数据,它确保了高效的数据采集,尤其是在需要处理多个数据源的情况下;

时间戳单元:时间戳单元用于为采集的数据添加时间标记,这是为了确保数据的时间顺序和同步性,时间戳可以帮助在后续数据分析和处理中恢复时间序列信息;

容错单元:容错单元旨在检测和处理数据采集中的错误或丢失,它可以包括数据冗余、差错检测和纠正机制,以确保数据采集的可靠性,当数据在采集过程中出现问题,容错单元可以帮助纠正这些问题,以减少数据丢失和错误;

安全单元:安全单元的任务是确保采集的数据在传输和存储中的安全性,它可以涉及数据加密、访问控制、身份验证和其他安全机制,以保护数据免受未经授权的访问和篡改。

实施例二:

请参阅图1,步骤S2、将采集后的数据通过预处理,使得数据变得结构化,同时再对预处理的数据进行离线数据处理便于后期对数据进行分析;

在步骤S2中,还包括如下步骤:

数据处理模块通过对数据进行预处理和离线处理两种方式对采集的数据进行处理,具体方式如下,

步骤S21、数据预处理,使用Hive可以创建外部或内部表,对原始数据进行清洗、转换、分区等操作,使得数据变得结构化且易于查询,Hive提供了一套SQL查询引擎,可以快速的查询存储在hdfs中的数据,具体方式如下,

提供查询语言,Hive提供了SQL的机构化查询语言,称为HiveQL,这意味着用户可以使用熟悉的SQL语法来查询和分析大规模数据,无需学习新的查询语言;

可扩展性,Hive通过Hadoop分布式文件系统集群中添加更多节点来应对不断增长的数据量,用于轻松扩展以处理大规模数据;

数据格式支持,Hive支持文本、序列文件、开放的列式存储文件格式和开源的列式存储文件格式四种数据格式,使用户可以选择最适合其数据的格式;

步骤S22、离线处理,使用Hive、MapReduce和Spark工具进行大规模的离线数据处理,对数据进行聚合、计算、分析等操作,处理后的数据可以存储回HDFS以备后续使用,MapReduce是一种编程模型和处理框架,具体工作方式如下:

MapReduce任务分为两个主要阶段,即“映射”和“归约”,

(1)映射阶段将输入数据分割成键值对,然后执行处理操作;

(2)归约阶段将映射结果合并和汇总,以生成最终的输出结果;

ApacheSpark是一个快速、通用、分布式计算系统,与MapReduce不同,它支持多种数据处理工作负载,具体工作方式:Spark提供了弹性分布式数据集(RDD)作为其核心数据抽象,它们允许在内存中高效进行数据处理,Spark支持Scala、Java、Python和R四种API服务器,使开发更加灵活。

进一步,自定义函数:Hive允许用户编写UDF自定义函数,以满足特定业务需求,这扩展了其功能的灵活性,具体的UDF公式是在SQL编程语言中编写,UDF自定义函数为:

CREATEFUNCTIONUDF_Name(argument1dataType,argument2dataType,)RETURNSreturnTypeAS

BEGIN

-编写函数逻辑

-执行操作和计算

-最终返回'returnType'类型的值

END;

UDF_Name是您的用户定义函数的名称,argument1,argument2等是输入参数,带有其各自的数据类型,returnType是函数将返回的数据类型,AS用于指示函数逻辑块的开始;

优化查询性:Hive提供了自动合并小文件、分区剪枝和统计信息收集查询三种功能,以提高查询性。

实施例三:

请参阅图1,步骤S3、再通过迁移模块将处理分析后的数据从外部数据库导入到HDFS和Hive表中;

在步骤S3中,还包括如下步骤:

步骤S31、Hadoop分布式文件系统:根据需要扩展以容纳大量数据,用于动态添加新的存储节点,而无需中断系统运行,实现了可热插拔性;HDFS通过数据块的多次备份确保数据的容错性,节点发生故障时,HDFS会自动重新复制数据块到节点,无需手动介入;

步骤S32、Hive查询引擎可扩展的元数据,Hive使用元数据存储表和数据的结构信息允许添加新的表、分区或列,而不会破坏现有查询;Hive支持UDFs自定义函数编写并将其添加到Hive中,以扩展查询功能,就不需要修改Hive核心代码;

使HDFS和Hive为系统提供可热插拔性,但要实现更高级的可热插拔性,需要结合ZooKeeper工具,以构建更弹性和可定制的大数据处理系统,允许添加、删除或修改数据源、处理逻辑和查询功能,以满足不断演变的数据存储需求;

进一步,Hadoop的优势:

可扩展性,Hadoop具备良好的横向扩展性,可以在集群中添加更多的节点来处理更多的数据。

容错性:Hadoop具有高容错性,即使节点失败,数据仍然可以从其他节点中恢复。

成本效益:Hadoop可以在低成本的硬件上运行,降低了处理大数据的成本。

处理多种数据类型:Hadoop可以处理结构化和非结构化数据,包括文本、图片、视频等。

灵活的数据存储:HDFS可以存储大量数据,而且可以根据需要进行数据存储和检索。

多样的工具和框架:Hadoop生态系统提供了多种工具和框架,适用于不同类型的数据。

Hive优势:

SQL-Like查询语言:Hive提供了类似于传统SQL的查询语言,称为HiveQL。这意味着用户可以使用熟悉的SQL语法来查询和分析大规模数据,无需学习新的查询语言。

容易上手:对于熟悉SQL的开发人员来说,学习和使用Hive相对容易,因为它借鉴了SQL的语法和查询方式。

可扩展性,Hive可以轻松扩展以处理大规模数据,通过在Hadoop集群中添加更多节点来应对不断增长的数据量。

数据仓库功能:Hive具备强大的数据仓库功能,能够处理结构化和半结构化数据,并支持数据的分区和分桶,以提高查询性能。

与Hadoop集成:Hive是建立在Hadoop生态系统之上的工具,它充分利用了Hadoop的分布式存储(HDFS)和计算(MapReduce)能力。

大数据处理:Hive适用于大规模数据处理任务,可以处理数十甚至数百TB的数据。

多种数据格式支持,Hive支持多种数据格式,包括文本、序列文件、Parquet、ORC等,使用户可以选择最适合其数据的格式。

优化查询性能:Hive提供了查询优化功能,包括自动合并小文件、分区剪枝、统计信息收集等,以提高查询性能。

实施例四:

请参阅图1和图5,步骤S4、再然后利用Doris做存储将存储在HDFS和Hive表中的数据进行定时或实时存储,防止数据堆积存储载量过大系统出现错误;

在步骤S4中,还包括如下步骤:

步骤S41、Doris主要实现,

(1)Doris数据存储:使用Doris作为实时数据处理的存储引擎,将数据定时地写入到Doris表中;

(2)实时处理,使用Doris的OLAP引擎来进行实时查询和分析,创建实时数据分析的报表或者仪表盘,Doris的OLAP引擎具体处理方式如下,

Doris提供一种实时加载数据的机制通过OLAP引擎支持MPP大规模并行处理,查询分解成多个任务并在多个计算节点上并行执行,使得Doris高效地处理大量实时数据;

进一步,使用窗口函数在实时处理场景中进行数据块上执行聚合和分析操作,从而提供实时处理所需的灵活性,窗口函数通常与OVER(X)子句一起使用,该子句定义了窗口的范围,窗口函数公式如下:

ROW_NUMBER(X):为每行分配一个唯一的行号,通常用于排序结果或为每行创建唯一标识符;

RANK(X)和DENSE_RANK(X):用于分配排名给每行,允许处理并列排名的情况;

SUM(X)、AVG(X)、MIN(X)、MAX(X):这些聚合函数可以与OVER(X)子句一起使用,属于窗口内的总和、平均值、最小值和最大值;

LEAD(X)和LAG(X):访问结果集中前后的值,有助于执行趋势分析和比较操作;

FIRST_VALUE(X)和LAST_VALUE(X):用于获取窗口内第一个和最后一个值,通常用于查找首尾情况或获取特定时间段的首尾值;

NTILE(X):将结果集分成多个均匀的桶,允许执行分位数分析。

实施例五:

请参阅图1和图2,步骤S5、通过工作流调度,将系统中存储的数据和采集的新数据进行统一调度,保持系统有序运行;

在步骤S5中,还包括如下步骤:

工作流调度服务端在启动时会在Zookeeper工具中注册一个临时节点,工作流服务端提供了监听服务的能力,使Zookeeper工具与HDFS和Hive相结合提高了系统的可热插拔性;

步骤S51、工作流调度主要实现,

(1)任务调度管理,任务调度包含定时任务、依赖任务和数据传输任务,用户可以创建、编辑、删除和监控任务,以及查看任务的运行历史;

(2)工作流设计,用户将多个任务组合成一个完整的工作流程形成可视化界面设计工作流,有助于用户更好地管理和调度任务;

(3)依赖管理,分布式异构数据源数据调度处理系统允许用户定义任务之间的依赖关系,任务基于时间依赖、状态依赖或数据依赖来触发,确保任务按照正确的顺序执行;

(4)多用户管理,支持多用户管理模式,将不同的用户或组织隔离开来,每个用户有自己的任务调度和权限控制;

(5)权限管理,分布式异构数据源数据调度处理系统提供细粒度的权限控制用于定义用户和角色,并为每个用户角色分配不同的权限,确保了敏感数据的安全性;

(6)告警和通知,当任务执行失败或达到某些条件时,分布式异构数据源数据调度处理系统触发告警和通知,通过邮件、短信或其他方式通知相关人员;

(7)日志和监控,系统记录工作流任务执行日志,用户可以查看任务的执行状态和日志信息;提供监控指标,用于性能分析和故障排查;

(8)策略管理,分布式异构数据源数据调度处理系统具有灵活的策略管理功能,用户可以定义任务的调度策略、重试策略和失败策略,有助于应对不同的任务场景和需求;

(9)队列管理,在每个资源池内,可以设置多个队列,用于组织和管理任务,队列可以按照不同的策略进行配置;

(10)容错和故障转移,当节点和资源池其中一个发生故障时,资源管理器自动将任务分配给其他可用资源,确保任务的执行不受影响;

(11)预留资源,管理员为关键任务预留一部分资源,确保它们获得足够的资源来及时执行;

进一步,工作流调度还包含:

分布式和高可用性:分布式异构数据源数据调度处理系统是一个分布式系统,支持集群部署,具有高可用性和容错性,当一个节点出现故障,系统会自动切换到其他节点。

数据传输和同步:分布式异构数据源数据调度处理系统支持数据传输任务,可以在不同的数据源之间传输数据,也支持数据同步任务,确保数据的一致性。

灵活的插件机制:分布式异构数据源数据调度处理系统提供了插件机制,允许用户扩展告警和数据源连接方式系统功能。

多数据源支持:分布式异构数据源数据调度处理系统支持多种数据源,包括关系型数据库、Hive、HDFS等,可以处理不同数据存储的任务。

资源池管理:分布式异构数据源数据调度处理系统允许管理员创建和管理多个资源池,资源池可以根据不同的需求和优先级进行划分,以便更好地控制资源的分配。

资源配额:分布式异构数据源数据调度处理系统允许为每个队列分配CPU和内存资源配额,确保了任务在执行时能够获得足够的资源,避免了资源争用。

资源调度:资源管理器会根据资源池和队列的配置,决定如何调度任务。它会确保资源按照优先级和配额的规则进行分配,以满足任务的需求。

资源监控:分布式异构数据源数据调度处理系统提供资源监控功能,用于实时跟踪资源的使用情况和负载情况,管理员可以根据监控数据来调整资源池和队列的配置。

资源限制和策略:分布式异构数据源数据调度处理系统允许管理员定义每个用户的资源限制和任务超时策略,以便更好地控制资源的使用。

多资源类型支持:分布式异构数据源数据调度处理系统不仅支持CPU和内存资源的管理,还支持GPU和网络带宽资源类型。

实施例六:

请参阅图1和图6,步骤S6、通过负载均衡模块用于为系统添加更多的处理节点,轻松地扩展系统的处理能力并且确保各个处理节点的工作负载相对均衡,防止某些节点过载而节点空闲,提高系统的可用性和可靠性;

在步骤S6中,还包括如下步骤:

步骤S61、负载均衡通过路由算法:通常是集群环境,合理的分摊服务器压力,达到服务器性能的最大优化;

路由算法的具体公式为:

D

负载均衡算法分配任务至Worker:实际执行任务,默认提供了三种算法,

加权随机,计算权重总和W,其中W=w1+w2+…+wi,其中wi代表第i个选项的权重;

生成一个0到W之间的随机数R;

初始化一个累积权重值C,初始值为0;

遍历选项,从第一个选项开始:

a.C+=wi;

平滑轮询,计算节点的总权重总和,即W=w1+w2+…+wi,其中wi代表第i个节点的权重;

选择一个初始值为0的全局计数器,用于跟踪上一次选择的节点;

线性负载,维护一个计数器,初始值为0;

每当有请求到来时,将请求分配给节点列表中的第counter%N个节点,其中N是节点的总数;

“counter”值递增,“counter%N”将循环0、1、2、3、4,从而依次将请求分配给不同的节点;

增加计数器的值,以便下一个请求会被分配给下一个节点Worker负载均衡配置,

权重,负载算法都是基于权重来进行加权分配的,权重影响分流结果,再修改worker的值来给不同的机器设置不同的权重;

预热,在Worker节点启动后会让它以较低的功率运行一段时间,这样逐步使其性能逐渐达到最佳状态;当Worker节点启动后,它的权重会随着时间逐渐提升,以使其逐步融入整个集群中,默认情况下,这个预热过程会持续十分钟。

实施例七:

请参阅图1和图7,步骤S7、利用算法加密模块保护数据在传输和存储过程中的机密性和完整性,进一步提高系统中的数据的安全性和可靠性;

在步骤S7中,还包括如下步骤:

步骤S71、算法加密模块主要使用安全性很高的加密算法:AES高级加密算法用于对系统中数据加密,其加密速度快,资源消耗较低,适合保护敏感数据,协同工作流调中的多用户管理,实现加密数据处理中的各种算法以及工作流程的加密,AES高级加密算法通过以下步骤来实现,

(1)选择密钥长度,AES支持128位、192位和256位三种不同的密钥长度,更长的密钥通常提供更高的安全性,但也需要更多的计算资源;

(2)生成密钥,随机生成一个符合所选密钥长度的密钥,密钥的生成必须是安全的,以防止破解攻击;

(3)选择加密模式,AES支持电子密码本模式和密码分组链接模式两种不同的加密模式,这里选择密码分组链接模式,确保对数据进行准确填充;

(4)加密操作,对需要加密的数据使用生成的密钥和所选的加密模式进行加密,加密后的数据称为密文;

(5)解密操作,用户需要访问已加密的数据,使用相同的密钥和加密模式进行解密操作,解密后的数据将还原为原始明文;

(7)安全传输,当需要在网络上传输加密数据时,确保使用安全的HTTPS通信协议,防止数据在传输过程中被中间人攻击;

(8)密钥轮换,定期更换密钥,以增强安全性,过去的密钥可能会被破解或泄漏,因此定期轮换是必要的;

(9)安全性测试,对AES加密实现进行漏洞扫描和渗透两种安全性测试,识别和修复潜在的安全问题;

漏洞扫描具体方式如下,

信息收集,首先,需要收集目标系统的信息,包含IP地址、操作系统、开放的端口、运行的服务;

选择扫描工具,选择Nessus、OpenVAS和Nexpose其中一个为漏洞扫描工具;

配置扫描工具,根据目标系统的信息,配置扫描工具扫描的IP范围的参数为192.168.1.0/24、扫描的端口范围的参数为1500、扫描的深度的为深层扫描,这种扫描不仅检查开放的端口和运行的服务,还会尝试利用已知的漏洞进行攻击,以检查系统是否容易受到这些漏洞的影响,这种扫描速度较慢,但可以发现更多的漏洞;

执行扫描,启动扫描工具,开始对目标系统进行扫描;

分析结果,扫描完成后,分析扫描结果,找出存在的安全漏洞;

修复漏洞,根据扫描结果,修复找出的安全漏洞;

再次扫描,修复漏洞后,再次进行扫描,确认漏洞已经被修复;

进一步,在分布式异构数据源数据调度处理系统中,需要编写代码来实现任务配置信息的加密和解密逻辑,这通常涉及将明文数据加密为密文以及将密文解密为明文的过程;密钥管理:安全的加密算法需要密钥来进行加密和解密操作,你需要考虑如何安全地管理这些密钥,以防止泄漏和滥用。

实施例八:

请参阅图1和图8,步骤S8、工作人员需要查询系统中存储的数据时,系统利用数据视觉模块对数据进行可视化处理,使数据更加直观的呈现,便于工作人员获取数据信息;

在步骤S8中,还包括如下步骤:

步骤S81、数据视觉模块对数据进行可视化模块处理具体体现如下,

ECharts图表库,用于创建交互式和可视化丰富的图表和数据可视化,为系统提供了折线图、柱状图和饼图三种丰富的图表类型供后续图表制作使用;

过滤单元,根据用户需求将所有数据库中的数据进行过滤整合,获取用户所需的数据,以备后续使用;

D3.js交互单元,创建交互式数据可视化,在D3.js中,交互单元通常指的是各种方式可以与数据可视化图表进行交互的元素和功能;

AntV数据可视化库,创建交互式和漂亮的数据可视化图表的工具;通过工具从ECharts图表库中获取图表类型,再将具体数据代入图表中;

WebGL加速渲染单元,用于在Web浏览器中进行高性能图形渲染的技术,利用计算机的图形硬件加速来绘制复杂的3D和2D图形,使Web应用程序呈现更加逼真的交互性图形;

视图单元,最终将系统生成折线图、柱状图和饼图三种不同类型的图表供用户进行数据参考;

再通过Oracle数据库和MySQL关系型数据库利用Kettle开源工具对数据进行同步处理,再将处理后的数据传输到DORIS数据库中,使可视化模块在数据支撑的基础上通过视图单元;过滤单元;ECharts图表库;AntV数据可视化库;D3.js交互单元和WebGL加速渲染单元处理后用于根据用户的需求生成折线图、柱状图和饼图三种不同类型的图表,方便用户对数据进行分析和展示;

进一步,视图层设计:利用DOM技术是高效的视图层实现,虚拟DOM是一个轻量级的JavaScript对象,JavaScript对象用于存储键值对的集合,使虚拟DOM与实际DOM进行比对,找出需要更新的部分,然后将变化应用到实际DOM上,从而减少了DOM操作,提升了渲染性能,虚拟DOM的引入用于专注于数据的变化,而不必关心DOM的操作细节,提高了开发效率,同时模板语法也是视图层的特点之一,通过使用模板语法,直接在HTML中嵌入Vue的数据和逻辑,实现动态的UI展示,模板语法支持插值、指令、事件绑定等功能,使得用户更便捷地构建交互式的界面,具体内容如下;

数据管理设计:采用双向数据绑定,将视图和数据模型关联起来,实现了数据的自动同步更新,这种数据驱动的开发方式让开发者可以专注于数据逻辑,而不必手动操作DOM来更新界面,双向数据绑定通过使用v-model指令实现,使得用户在输入框中输入内容时,数据模型自动更新,反之亦然;

同时还使用了Vue提供计算属性和监听器的机制,使得用户可以对数据的变化进行灵活的响应,计算属性基于已有的数据生成新的衍生数据,监听器用于监听数据的变化并执行特定的逻辑,这些机制让数据的管理更加有序和高效;

路由管理设计:在单页应用中,前端路由是不可或缺的一部分,我们使用Vue提供的VueRouter作为其官方的路由管理库,VueRouter支持多视图的嵌套和切换,通过配置路由映射关系,实现页面之间的跳转和状态管理,通过定义路由、嵌套路由以构建复杂的应用导航;

状态管理设计:随着应用规模的扩大,使用Vuex状态管理库提供集中式的状态管理机制,将多个组件的共享状态集中管理,实现了组件之间的高效通信和数据共享,通过定义状态更好地组织和管理应用的状态,解决了组件之间的通信和状态管理变得复杂这一问题;

服务器端渲染设计:除了在客户端进行渲染,运用Vue.js服务器端渲染SSR代理软件,通过在服务器端执行应用逻辑,将渲染结果传递给浏览器,SSR代理软件提升首次加载速度,提高SEO效果,使得Web应用在性能和用户体验方面获得更好的表现,Vue.js的服务器端渲染通过VueSSR框架实现,同时使用Vue.js的通用技术实现架构涵盖了视图层、数据管理、路由、状态管理和服务器端渲染五个方面,展现了渲染的扩展性和可用性;

项目结构与约定设计:我们是使用标准的SpringBoot项目结构,其中包含主应用类、配置文件、控制器、服务、持久层等模块,开发者可以按照这一结构来组织自己的项目,减少配置工作,提高开发效率,此外,我们使用了SpringBoot提供了StarterPOMs,这是一系列预定义的依赖管理,可以帮助我们快速构建各种类型的应用,如Web应用、数据访问应用等;

自动配置与外部化配置设计:通过自动配置的机制,根据项目中引入的依赖和配置文件,自动完成应用程序的初始化工作,随后SpringBoot开源框架会自动创建对象,同时SpringBoot支持外部化配置,将配置信息从代码中分离出来,可以使用属性文件、YAML文件和环境变量的方式进行配置,这使得应用程序的配置更加灵活和可维护;

依赖设计:通过Springboot开源框架的Starter简化应用程序的依赖管理和配置,提供了一系列预定义的依赖,使得我们轻松地集成各种常用的框架和库,每个Starter都包含了特定场景下需要的依赖和配置,开发者只需在项目中引入相应的Starter,即可获得所需的功能,大大简化了依赖管理的过程,减少了版本冲突和配置繁琐的问题。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,够以的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

相关技术
  • 一种用于清洗带有油污塑料的清洗装置
  • 一种用于铜带生产的表面清洗装置及清洗方法
  • 一种用于全闭口的清洗装置及其使用方法
  • 一种用于肛肠科病人患处的清洗装置
  • 一种肛肠科用患处清洗涂药装置
技术分类

06120116333005