一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

Hudi运行环境资源优化分配方法及装置与流程

2022-03-09 05:19:39 来源:中国专利 TAG:

技术特征:
1.一种hudi运行环境资源优化分配方法,其特征在于,包括:在进行医疗数据存储前,启动预设数量的计算引擎会话spark session,并对各spark session按对应的资源大小进行分类,得到至少两个spark session集合,并确定每个spark session集合对应的任务数据量范围;在医院的业务系统有增量医疗数据产生时,将所述增量医疗数据写入卡夫卡kafka的第一topic,通过流式计算引擎flink消费所述第一topic得到所述增量医疗数据,并将所述增量医疗数据存储至分布式文件存储系统hdfs,并将所述增量医疗数据的数据表标识和在所述hdfs中的存储路径写入所述kafka的第二topic;通过flink消费所述第二topic,获取所述增量医疗数据对应的hudi表任务所对应的数据量大小,并获取所述hudi表任务的优先级得分,基于所述优先级得分将所述hudi表任务加入任务执行队列,所述hudi表任务用于指示存储所述增量医疗数据至对应的hudi表;在所述hudi表任务处于所述任务执行队列的头部时,基于所述hudi表任务的数据量大小和各spark session集合对应的任务数据量范围,确定出目标spark session,并利用所述目标spark session执行所述hudi表任务,以将所述增量医疗数据添加至对应的hudi表中。2.根据权利要求1所述的方法,其特征在于,通过flink消费所述第二topic,获取所述增量医疗数据对应的hudi表任务所对应的数据量大小,包括:通过flink消费所述第二topic得到所述增量医疗数据的数据表标识和存储路径,基于所述存储路径获取所述增量医疗数据,并基于所述数据表标识确定所述增量医疗数据对应的目标hudi表;将所述增量医疗数据的数据量大小和所述目标hudi表中包含的数据量大小之和,作为所述hudi表任务对应的数据量大小。3.根据权利要求1所述的方法,其特征在于,基于所述优先级得分将所述hudi表任务加入任务执行队列,包括:若所述任务执行队列中不包含所述增量医疗数据的数据表标识对应的其他hudi表任务,则获取所述hudi表任务的优先级得分,并基于所述hudi表任务的优先级得分与所述任务执行队列中各hudi表任务的优先级得分的大小关系,将所述hudi表任务添加至所述任务执行队列;若所述任务执行列表中包含所述增量医疗数据的数据表标识对应的其他hudi表任务,则将所述hudi表任务与所述其他hudi表任务合并,并获取合并后的hudi表的优先级得分,再基于所述合并后的hudi表任务的优先级得分与所述任务执行队列中各hudi表任务的优先级得分的大小关系,将所述合并后的hudi表任务添加至所述任务执行队列。4.根据权利要求1所述的方法,其特征在于,获取所述hudi表任务的优先级得分:获取所述hudi表任务的延迟时间,并获取该hudi表任务对应的增量医疗数据的数据表标识和数据量大小;基于所述延迟时间获取第一优先级得分,基于所述数据表标识确定所述增量医疗数据对应的数据表类型,并基于所述数据表类型获取第二优先级得分,基于所述数据量大小获取第三优先级得分;基于所述第一优先级得分、所述第二优先级得分以及所述第三优先级得分,获取该
hudi表任务的优先级得分。5.根据权利要求1所述的方法,其特征在于,所述基于所述hudi表任务的数据量大小和各spark session集合对应的任务数据量范围,确定出目标spark session,包括:将所述hudi表任务的数据量大小满足的任务数据量范围对应的spark session集合确定为目标spark session集合;将所述目标spark session集合中任一空闲spark session,确定为目标spark session。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若所述目标spark session集合没有空闲spark session,则将任务数据量范围的下限值大于所述hudi表任务的数据量大小的spark session集合确定为候补spark session集合;将所述候补spark session集合中任一空闲spark session,确定为目标spark session。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:若所述目标spark session集合和所述候补spark session集合都没有空闲spark session,则延迟执行所述hudi表任务。8.一种hudi运行环境资源优化分配装置,其特征在于,包括:spark session启动模块,用于在进行医疗数据存储前,启动预设数量的spark session,并对各spark session按对应的资源大小进行分类,得到至少两个spark session集合,并确定每个spark session集合对应的任务数据量范围;增量数据流上处理模块,用于在医院的业务系统有增量医疗数据产生时,将所述增量医疗数据写入卡夫卡kafka的第一topic,通过流式计算引擎flink消费所述第一topic得到所述增量医疗数据,并将所述增量医疗数据存储至分布式文件存储系统hdfs,并将所述增量医疗数据的数据表标识和在所述hdfs中的存储路径写入所述kafka的第二topic;hudi表任务加入模块,用于通过flink消费所述第二topic,获取所述增量医疗数据对应的hudi表任务所对应的数据量大小,并获取所述hudi表任务的优先级得分,基于所述优先级得分将所述hudi表任务加入任务执行队列,所述hudi表任务用于指示存储所述增量医疗数据至对应的hudi表;hudi表任务执行模块,用于在所述hudi表任务处于所述任务执行队列的头部时,基于所述hudi表任务的数据量大小和各spark session集合对应的任务数据量范围,确定出目标spark session,并利用所述目标spark session执行所述hudi表任务,以将所述增量医疗数据添加至对应的hudi表中。9.根据权利要求8所述的装置,其特征在于,hudi表任务加入模块具体用于:在医院的业务系统有增量医疗数据产生时,通过流式计算引擎flink消费卡夫卡kafka的第一主题topic得到所述增量医疗数据,并将所述增量医疗数据存储至分布式文件存储系统hdfs,并将所述增量医疗数据的数据表标识和在所述hdfs中的存储路径写入所述kafka的第二topic;消费所述第二topic得到所述增量医疗数据的数据表标识和存储路径,基于所述存储路径获取所述增量医疗数据,并基于所述数据表标识确定所述增量医疗数据对应的目标
hudi表;将所述增量医疗数据的数据量大小和所述目标hudi表中包含的数据量大小之和,作为所述hudi表任务对应的数据量大小。10.根据权利要求8所述的装置,其特征在于,所述hudi表任务加入模块具体用于:获取所述任务执行队列中各hudi表任务的优先级得分;若所述任务执行队列中不包含所述增量医疗数据的数据表标识对应的其他hudi表任务,则获取所述hudi表任务的优先级得分,并基于所述hudi表任务的优先级得分与所述任务执行队列中各hudi表任务的优先级得分的大小关系,将所述hudi表任务添加至所述任务执行队列;若所述任务执行列表中包含所述增量医疗数据的数据表标识对应的其他hudi表任务,则将所述hudi表任务与所述其他hudi表任务合并,并获取合并后的hudi表的优先级得分,再基于所述合并后的hudi表任务的优先级得分与所述任务执行队列中各hudi表任务的优先级得分的大小关系,将所述合并后的hudi表任务添加至所述任务执行队列。

技术总结
本申请提供了一种Hudi运行环境资源优化分配方法及装置,包括:启动预设数量的计算引擎会话Spark Session,并对各Spark Session按对应的资源大小进行分类,得到至少两个Spark Session集合,并确定每个Spark Session集合对应的任务数据量范围;若医院的业务系统有增量医疗数据产生,则获取增量医疗数据对应的Hudi表任务所对应的数据量大小,并将Hudi表任务加入任务执行队列;在Hudi表任务处于任务执行队列的头部时,基于Hudi表任务的数据量大小和各Spark Session集合对应的任务数据量范围,确定出目标Spark Session,并利用目标Spark Session执行Hudi表任务,以将增量医疗数据添加至对应的Hudi表中。该方案节约了资源等待时间,同时能够为不同数据量大小的Hudi表任务匹配合适的目标Spark Session,提高了医疗数据存储的实时性。存储的实时性。存储的实时性。


技术研发人员:秦晓宏 黄主斌
受保护的技术使用者:上海柯林布瑞信息技术有限公司
技术研发日:2022.02.08
技术公布日:2022/3/8
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献