1.一种基于大数据分析的任务分发系统,其特征在于,包括
任务汇集器,汇集从各任务请求端上传的待处理任务,并根据任务请求端为所述待处理任务附上任务类型标识;
任务类型统计模块,提取待处理任务的任务类型标识,统计出各任务类型的数量和占比,并将待处理任务投递到消息队列中;
消息队列,提供临时存储待处理任务的缓冲区;
任务执行装置,数量若干,执行待处理任务;
性能测试模块,测试各个任务执行装置对不同任务类型的处理能力,并结合任务类型的优先级和统计出来的各任务类型的占比,将任务执行装置按照等比例分类为对应的装置类型;
负载均衡器,将消息队列中的待处理任务,分配至对应类型的任务执行装置中。
2.根据权利要求1所述的基于大数据分析的任务分发系统,其特征在于,所述性能测试模块中,对不同任务类别的处理能力的测试方法如下:
针对每一种任务类型,生成包含一定数量的测试任务的测试任务集,并将该测试任务集分别分发至各任务执行装置中,统计每一任务执行装置完成该测试任务集的时间,计算出每一任务执行装置在单位时间内完成该任务类型的任务量作为该任务执行装置对该任务类型的处理能力。
3.根据权利要求2所述的基于大数据分析的任务分发系统,其特征在于,所述性能测试模块中,任务执行装置的分类方法为按照任务类型的优先级从高到低的顺序依次进行如下处理:
求当前优先级的任务类型的占比与任务执行装置总数量的乘积作为对应的装置类型的数量k,取未标识装置类型的任务执行装置中对该优先级的任务类型的处理能力最强的前k个任务执行装置,附上相应的装置类型标识。
4.根据权利要求3所述的基于大数据分析的任务分发系统,其特征在于,所述性能测试模块在进行装置类型分类的时候,分配至少一个备用任务处理装置。
5.根据权利要求4所述的基于大数据分析的任务分发系统,其特征在于,所述备用任务处理装置的生成方法如下:
kx1,在求解数量k的时候进行取整;
kx2,分配完所有装置类型后,余下若干未分配的任务执行装置;
kx3,将未分配的任务执行装置与预先设定的备用任务处理装置数量进行比较;若未分配的任务执行装置大于预先设定的备用任务处理装置数量,则进入kx4;若未分配的任务执行装置小于预先设定的备用任务处理装置数量,则进入kx5;
kx4,按照任务类型的优先级从高到低的顺序,依次轮询将未分配的任务执行装置中对应任务类型的处理能力最强的附上相应的装置类型标识直至未分配的任务执行装置等于预先设定的备用任务处理装置数量;
kx5,按照任务类型的优先级从高到低的顺序,依次轮询从已标记装置类型的任务执行装置选取对应任务类型的处理能力最弱的去除其标识直至未分配的任务执行装置等于预先设定的备用任务处理装置数量;
kx6,为未分配的任务执行装置附上备用标识。
6.根据权利要求1所述的基于大数据分析的任务分发系统,其特征在于,所述负载均衡器的分配步骤如下:
fp1,针对同一装置类型,计算各任务执行装置的处理能力占该装置类型的任务执行装置的总处理能力的占比;
fp2,针对与该装置类型对应的任务类型,以待处理任务中该任务类型的数量与fp1中求得的占比的乘积作为该任务执行装置的任务量上限;
fp3,负载均衡器每从消息队列提取待处理任务后,根据任务类型,将其依次轮询分配至对应装置类型并且未达到任务量上限的不同任务执行装置中,当某一任务执行装置达到任务量上限时,将其从轮询分配的队列中剔除。
7.根据权利要求1所述的基于大数据分析的任务分发系统,其特征在于,所述任务执行装置每处理完一个任务后,经负载均衡器向消息队列回发反馈,消息队列收到反馈后,删除对应的待执行任务。
8.根据权利要求7所述的基于大数据分析的任务分发系统,其特征在于,所述负载均衡器监测每一任务执行装置的完成情况,当某一任务执行装置完成所有待处理任务后,从同一装置类别的任务执行装置抓取待处理任务。
9.根据权利要求8所述的基于大数据分析的任务分发系统,其特征在于,从同一装置类别的任务执行装置抓取待处理任务的方法如下:计算同一装置类别中存在待处理任务的任务执行装置中的预计剩余完成时间,将预计剩余完成时间与设定的第一时间阈值相比较,若存在某一个或几个任务执行装置的预计剩余完成时间大于第一时间阈值,则按照预计剩余完成时间从大到小的顺序将对应的任务执行装置中的待处理任务转移至已完成所有待处理任务的任务执行装置中,直至已完成所有待处理任务的任务执行装置的预计剩余完成时间达到第一时间阈值。