Gaia系统中面向融合计算的数据缓存装置与系统制造方法及图纸

技术编号:31914197 阅读:22 留言:0更新日期:2022-01-15 12:55
本发明专利技术公开了Gaia系统中面向融合计算的数据缓存装置与系统,是在Gaia系统中修改数据源算子、数据shuffle虚算子、维表关联计算算子进行实现,涉及分布式大数据处理技术领域。具体包括:Gaia系统中面向融合计算的全量缓存装置和增量缓存装置、以及由若干全量缓存装置构成的分布式缓存系统、由若干增量缓存装置构成的分布式缓存系统和由若干全量缓存装置与增量缓存装置混合构成的分布式缓存系统。每一个装置和系统的应用都将提高Gaia计算系统的缓存扩展能力,扩充整个Gaia计算系统所能缓存的批数据规模上限,进而提高系统所支持的缓存数据上限,提升Gaia系统单位时间内的混合计算效率,降低批数据查询延迟,更有利于处理海量数据的计算。据的计算。据的计算。

【技术实现步骤摘要】
Gaia系统中面向融合计算的数据缓存装置与系统


[0001]本专利技术涉及分布式大数据处理
,具体涉及Gaia系统中面向融合计算的数据缓存装置与系统。

技术介绍

[0002]Gaia系统是一个面向多计算模型混合并存的高时效、可扩展的新一代分布式大数据分析系统。在自适应与可伸缩的大数据存储、批流融合大数据计算、高维大规模机器学习和高时效大数据智能交互向导等大数据分析系统的几个核心层面,解决一系列关键技术问题,构建自主可控的高时效、可伸缩的新一代大数据分析系统,掌握国际领先的大数据分析系统核心技术。
[0003]Gaia系统针对批流融合任务具有全周期多尺度优化和统一计算引擎。现有大数据计算系统或依托自身计算引擎模拟另一类框架的行为,或定义一套通用接口屏蔽底层计算引擎的差异,对批流融合支持较弱。同时,其优化大多位于执行的特定时期或特定层级,且针对高复杂性任务的优化能力不足。针对以上问题,创新性地开发了Gaia系统。该技术为批流融合处理提供统一表达逻辑支持,通过统一表达建模融合批流处理的计算模型、数据模型、变换模型和动作模型,实现批、流处理的真正融合。针对作业的多样性、持久性、迭代性等特点,提供面向多作业、多任务、迭代计算、持久计算等优化策略,优化针对性更强。同时,提供执行前和执行中的全周期优化,并细分为作业级、任务级、变换级等多个尺度,以实现极速响应和海量吞吐。
[0004]传统的批处理计算,每个计算阶段相互独立,单独等待和缓存自己的计算数据。每个阶段在计算过程中通常只需要顺序遍历缓存的数据就可以完成计算。同时在计算完成进入下一个阶段以后,当前阶段的数据就可以进行丢弃。传统的流式计算中,大部分场景不需要对数据进行缓存,对数据的计算是实时性的,在完成检查点后就可以丢弃。只有部分涉及到多流的计算需要缓存,缓存结构通常以基本的数组类型为主,查询方式多为遍历查询,由于数据量在每个计算周期中都比较小,查询缓存对系统的影响较小。在Gaia系统的融合计算中,与传统的批处理计算或流式计算不同,在一些融合计算场景中,批数据在处理完成以后需要长期缓存以供流式计算进行消费。这就导致融合计算中的数据既不能像批处理计算下使用完成即丢弃,这会导致部分计算需要的数据缺失;也不能像流式计算下,使用传统的数组类型存储并用遍历的方式进行查找,因为正常情况下,融合计算中的批数据集的数据规模是非常庞大的,在融合计算过程中遍历查询会严重影响流式计算效率。从而导致影响Gaia系统的数据吞吐量和计算延迟。

技术实现思路

[0005]本专利技术要解决的技术问题是针对上述传统计算引擎的不足,提供了Gaia系统中面向融合计算的数据缓存装置与系统,包括增量缓存装置、全量缓存装置以及由若干增量缓存装置和/或全量缓存装置构成的Gaia系统中面向融合计算的数据缓存系统,使用时针对
数据规模和用途的不同,选择增量缓存装置、全量缓存装置或者Gaia系统中面向融合计算的数据缓存系统,以优化融合计算情况下的批数据读取速度、缓存规模、查询效率,匹配高速的流数据输入,从而提高Gaia系统的数据吞吐量并降低计算延迟。
[0006]为达到上述目的,本专利技术的技术方案为:
[0007]一种Gaia系统中面向融合计算的全量缓存装置,所述全量缓存装置,用于在批数据与流数据的融合计算过程中缓存全部来自外部数据源的数据,适用于Gaia计算系统所有运行节点的内存总和大于等于外部数据大小的情况。
[0008]进一步地,根据所述的Gaia系统中面向融合计算的全量缓存装置,所述全量缓存装置包括数据源模块和至少1个计算节点模块;
[0009]所述数据源模块进一步包括:
[0010]全量

外部数据源连接模块,用于负责在计算过程的初始化阶段读取存储在外部存储系统的数据并将所读取的数据全部发送给全量

数据清洗模块;将Gaia计算系统内部提供的外部数据源连接算子抽象类进行实现,提供针对MySQL数据源的数据连接器,同时预留数据源连接器调用的统一接口,允许用户根据系统已经提供的针对MySQL数据源的数据连接器为模板,自行设计和实现其他数据连接器并接入系统以用于连接模块尚未覆盖的外部数据源;
[0011]全量

数据清洗模块,用于对从不同外部数据源获取的不同格式的数据进行规约和清洗处理,处理后的数据发给增量信息解析模块进行数据分析;所述规约处理为将所有数据统一构建为三元组形式,包含外部数据全部数据列的键值信息、用于数据连接列的键值信息、以及全部数据列的信息;所述清洗处理为对规约后的数据进行处理,消除重复数据,合并键值相同的数据;
[0012]增量信息解析模块,用于接收来自全量

数据清洗模块所发送的三元组形式数据;并将三元组形式数据中全部数据列的键值信息与从外部数据缓存模块获取的键值信息进行对比,对增量数据的处理方式进行判断:当三元组形式数据中的键值信息存在于外部数据缓存模块时,跳过该条数据,不将该三元组形式数据发送给数据分发模块,仅是相应更新该键值信息在外部数据缓存模块中的版本信息,当三元组形式数据中的键值信息不存在于外部数据缓存模块时,将该键值信息发送到外部数据缓存模块进行存储,并将该三元组形式数据和数据添加操作指令发送给数据分发模块;在每个数据读取周期结束后,检索外部数据缓存模块中存储的三元组形式数据中的键值信息的版本信息,将所有非最新版本的键值信息构建成三元组形式,并将该三元组形式数据和数据删除操作指令发送给数据分发模块;
[0013]外部数据缓存模块,用于接收来自增量信息解析模块所发送的三元组形式数据的键值信息,并对所接收的键值信息附加相应的版本信息后进行存储;
[0014]数据分发模块,负责维护数据变化,将从增量信息解析模块接收的数据和指令转发给计算节点模块;
[0015]所述计算节点模块进一步包括:
[0016]数据接收模块,用于接收数据源模块发送的五元组形式的数据并对其进行解析,并将解析后的数据发送给全量

数据缓存模块;
[0017]全量

数据缓存模块,用于接收来自数据接收模块的指令和三元组形式的数据,并
根据指令类型对本地数据缓存进行相应的修改;
[0018]全量

计算模块,负责最终的计算业务:当流数据到达该模块时,通过流数据构建相应的键值信息进而构建查询消息并向全量

数据缓存模块发起数据查询请求,并将从全量

数据缓存模块接收的查询结果的批数据与到达该模块的流数据进行连接和计算;
[0019]所述全量

数据缓存模块进一步包括:
[0020]缓存框架模块,用于提供数据缓存功能;在全量

数据缓存模块内部暴露统一的数据操作接口,包含数据查询操作、数据删除操作和数据添加操作;根据接收到的不同指令,分别调用数据删除操作接口或者数据添加操作接口进行缓存修改;
[0021]数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Gaia系统中面向融合计算的全量缓存装置,其特征在于,所述全量缓存装置,用于在批数据与流数据的融合计算过程中缓存全部来自外部数据源的数据,适用于Gaia计算系统所有运行节点的内存总和大于等于外部数据大小的情况。2.根据权利要求1所述的Gaia系统中面向融合计算的全量缓存装置,其特征在于,所述全量缓存装置包括数据源模块和至少1个计算节点模块;所述数据源模块进一步包括:全量

外部数据源连接模块,用于负责在计算过程的初始化阶段读取存储在外部存储系统的数据并将所读取的数据全部发送给全量

数据清洗模块;将Gaia计算系统内部提供的外部数据源连接算子抽象类进行实现,提供针对MySQL数据源的数据连接器,同时预留数据源连接器调用的统一接口,允许用户根据系统已经提供的针对MySQL数据源的数据连接器为模板,自行设计和实现其他数据连接器并接入系统以用于连接模块尚未覆盖的外部数据源;全量

数据清洗模块,用于对从不同外部数据源获取的不同格式的数据进行规约和清洗处理,处理后的数据发给增量信息解析模块进行数据分析;所述规约处理为将所有数据统一构建为三元组形式,包含外部数据全部数据列的键值信息、用于数据连接列的键值信息、以及全部数据列的信息;所述清洗处理为对规约后的数据进行处理,消除重复数据,合并键值相同的数据;增量信息解析模块,用于接收来自全量

数据清洗模块所发送的三元组形式数据;并将三元组形式数据中全部数据列的键值信息与从外部数据缓存模块获取的键值信息进行对比,对增量数据的处理方式进行判断:当三元组形式数据中的键值信息存在于外部数据缓存模块时,跳过该条数据,不将该三元组形式数据发送给数据分发模块,仅是相应更新该键值信息在外部数据缓存模块中的版本信息,当三元组形式数据中的键值信息不存在于外部数据缓存模块时,将该键值信息发送到外部数据缓存模块进行存储,并将该三元组形式数据和数据添加操作指令发送给数据分发模块;在每个数据读取周期结束后,检索外部数据缓存模块中存储的三元组形式数据中的键值信息的版本信息,将所有非最新版本的键值信息构建成三元组形式,并将该三元组形式数据和数据删除操作指令发送给数据分发模块;外部数据缓存模块,用于接收来自增量信息解析模块所发送的三元组形式数据的键值信息,并对所接收的键值信息附加相应的版本信息后进行存储;数据分发模块,负责维护数据变化,将从增量信息解析模块接收的数据和指令转发给计算节点模块;所述计算节点模块进一步包括:数据接收模块,用于接收数据源模块发送的五元组形式的数据并对其进行解析,并将解析后的数据发送给全量

数据缓存模块;全量

数据缓存模块,用于接收来自数据接收模块的指令和三元组形式的数据,并根据指令类型对本地数据缓存进行相应的修改;全量

计算模块,负责最终的计算业务:当流数据到达该模块时,通过流数据构建相应的键值信息进而构建查询消息并向全量

数据缓存模块发起数据查询请求,并将从全量

数据缓存模块接收的查询结果的批数据与到达该模块的流数据进行连接和计算;所述全量

数据缓存模块进一步包括:
缓存框架模块,用于提供数据缓存功能;在全量

数据缓存模块内部暴露统一的数据操作接口,包含数据查询操作、数据删除操作和数据添加操作;根据接收到的不同指令,分别调用数据删除操作接口或者数据添加操作接口进行缓存修改;数据查询模块,用于负责接收来自全量

计算模块的数据查询消息,根据数据查询消息所提供的键值信息调用所述缓存框架模块的数据查询操作接口进行数据查询,并将查询结果返回给全量

计算模块。3.根据权利要求2所述的Gaia系统中面向融合计算的全量缓存装置,其特征在于,所述数据分发模块进一步包括:数据封装模块,用于接收增量信息解析模块发送的三元组形式数据、以及包括数据添加操作指令和数据删除操作指令的数据更新操作指令,在三元组形式数据的基础上,添加数据更新操作指令和键值信息的版本信息,构建五元组形式的数据,交由分发策略模块...

【专利技术属性】
技术研发人员:赵恒泰赵宇海王国仁季航旭李博扬
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1