一种任务资源动态分配方法及系统技术方案

技术编号:23704427 阅读:56 留言:0更新日期:2020-04-08 11:05
本发明专利技术公开了一种任务资源动态分配方法及系统,其中,该方法包括:构建历史任务信息矩阵及对应的历史任务资源分配矩阵;预设待分配任务的任务信息矩阵及任务资源分配矩阵;计算待分配任务的任务信息矩阵与任务类型为正常的历史任务信息矩阵的相似性;对相似性矩阵进行归一化处理,构建权重值矩阵;对待分配任务的任务资源分配矩阵中每个待分配的资源特征进行取值;利用取值后的任务资源分配矩阵进行任务资源分配。该方法及系统可以在新任务提交时实现合理的内存、CPU等资源分配,优化资源的利用率,避免浪费,有效提升任务查询的稳定性和查询的并发度;并且可以使任务执行时具有合理的并行度,避免过多的小文件对集群性能的影响。

A dynamic allocation method and system of task resources

【技术实现步骤摘要】
一种任务资源动态分配方法及系统
本专利技术涉及大数据
,尤指一种任务资源动态分配方法及系统。
技术介绍
目前,随着互联网的快速发展,信息安全能力对互联网IDC/ISP系统提出了更高的要求,对于访问日志应留存不少于六个月,这对系统的稳定性、健壮性和数据查询结果的准确性都有了更高、更明确的要求。互联网IDC/ISP安全日志数据量大,数据一般存储在HDFS(Hadoop分布式文件系统)中,按照机房、时间等维度分区组织数据。机房、时间是数据查询的必选字段,附加日志的其他字段如IP、域名、目标IP、URL等组合查询条件,数据查询除了要保证准确性,还需要在指定的时间内返回查询结果。IDC/ISP机房多,不同的机房的数据量差异很大,相同机房的不同时间段数据量差异也很大,若为所有机房和时间段的查询分配相同的资源,必然导致有的查询资源浪费,有的查询可能资源不足。如果单任务分配过多的CPU、内存等资源导致极大的浪费,且分配的资源不会释放,造成浪费,同时影响查询的并发数,影响Hadoop集群的性能。如果单任务分配过少的CPU、内存等资源,影响数本文档来自技高网...

【技术保护点】
1.一种任务资源动态分配方法,其特征在于,该方法包括:/n采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;/n根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;/n预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;/n在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;/n对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;/n根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源...

【技术特征摘要】
1.一种任务资源动态分配方法,其特征在于,该方法包括:
采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;
根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;
在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;
对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;
根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值;
利用取值后的任务资源分配矩阵V进行任务资源分配。


2.根据权利要求1所述的任务资源动态分配方法,其特征在于,采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵,包括:
采集包括集群使用资源、任务数据量、任务数据文件数及任务允许最大时耗在内的Spark历史任务执行时的任务信息,构建历史任务信息矩阵;其中,
所述集群使用资源包括集群使用CPU的数量、集群使用内存、集群堆外内存、集群堆内内存、集群IO及集群进程数;
所述历史任务信息矩阵中每行代表一个Spark任务,每一列代表一个特征,矩阵的特征包括集群使用资源、任务数据量、任务数据文件数、任务允许最大时耗及任务类型。


3.根据权利要求2所述的任务资源动态分配方法,其特征在于,根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵,包括:
采集包括Executor值、Executorcore值、CPU的个数、堆内内存、堆外内存、Driver内存及并行度在内的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
所述历史任务资源分配矩阵中每行代表一个Spark任务,每一列代表一个特征,矩阵的特征包括Executor值、Executorcore值、CPU的个数、堆内内存、堆外内存、Driver内存、并行度及任务类型。


4.根据权利要求3所述的任务资源动态分配方法,其特征在于,该方法还包括:
根据采集到的所述Spark历史任务执行时分配的资源,将历史任务信息矩阵及历史任务资源分配矩阵中每个Spark任务的任务类型划分为正常、失败或超时;其中,
统计由于资源分配不足导致超时或失败的任务,记录任务类型为超时;
统计由于资源分配过多导致异常的任务,记录任务类型为失败;
统计查询耗时小于任务允许最大时耗的任务,记录任务类型为正常。


5.根据权利要求4所述的任务资源动态分配方法,其特征在于,预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V,包括:
预设的待分配Spark任务在任务执行时的所述任务信息矩阵U为:
U=[C,M,I,O,Q,N,F,T,P];
其中,C为集群使用CPU的数量,个;
M为集群使用内存,G;
I为集群堆内内存,G;
O为集群堆外内存,G;
Q为集群IO,KB/s;
N为任务数据量,G;
F为任务数据文件数,G;
T为任务允许最大时耗,s;
P为集群进程数,个;
预设的待分配Spark任务在任务执行时的所述任务资源分配矩阵...

【专利技术属性】
技术研发人员:李敏敏周朝卫
申请(专利权)人:中盈优创资讯科技有限公司
类型:发明
国别省市:北京;11

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

1