任务分发方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:22308036 阅读:18 留言:0更新日期:2019-10-16 08:09
本申请揭示了一种任务分发方法、装置、计算机设备和存储介质,其中方法包括:获取服务器集群中各服务器的优先级排序,并从优先级排序中筛选出优先级最高的第一服务器;判断第一服务器的资源占用率是否小于预设的资源占用率阈值;若否,根据优先级排序,依次遍历除第一服务器外的其它服务器,每遍历到一个服务器时,判断当前遍历到的服务器的资源占用率是否小于资源占用率阈值;若是,停止遍历,并将第一任务请求分发至遍历到的服务器。本申请根据各服务器的优先级排序与资源使用情况来对接收到的任务请求进行动态的调节,有效地平衡了各个服务器之间的任务处理数量,保证了对第一任务请求的处理效率,提高了每个服务器的利用率。

Task distribution methods, devices, computer equipment and storage media

【技术实现步骤摘要】
任务分发方法、装置、计算机设备和存储介质
本申请涉及计算机
,具体涉及一种任务分发方法、装置、计算机设备和存储介质。
技术介绍
任务调度是在计算机服务端的软件设计中常见的一种应用技术,通过任务调度可以将不同的任务请求分配给不同的服务器执行,从而完成对于任务请求的业务处理过程。现有的任务调度方式一般采用随机调度的调度策略,当任务分发服务器在接收到用户通过客户端发出的任务请求,会将该任务请求随机发送到服务器集群中的任意一个服务器进行处理。然而,上述随机分配的任务调度方式没有考虑到不同的服务器会对应有不同的处理能力的因素,可能导致处理能力高的服务器的任务处理数量很少,而处理能力低的服务器的任务处理数量很多,从而造成在各个服务器之间无法很好平衡任务处理量,服务器的处理效率低下;另外上述任务调度方式也没有考虑到各个服务器当前的资源使用情况,可能导致已经接近满负荷运行的服务器或者超负荷运行的服务器仍然在不停地接收新的任务请求,而一些处于空闲状态的服务器一直没有接收到需要处理的任务,从而造成某些服务器出现过度消耗的情况,且服务器的利用率低下。
技术实现思路
本申请的主要目的为提供一种任务分发方法、装置、计算机设备和存储介质,旨在解决现有的任务调度方式在各个服务器之间无法很好平衡任务处理量,服务器的处理效率低下,且容易造成某些服务器出现过度消耗的情况,服务器的利用率低下的技术问题。本申请提出一种任务分发方法,所述方法包括步骤:接收客户端发送的第一任务请求,其中所述第一任务请求包括数据资源请求和/或服务操作请求;获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器,其中所述优先级排序为按照各所述服务器的优先级数值从大到小的顺序进行排序得到;判断所述第一服务器当前的资源占用率是否小于预设的资源占用率阈值;若所述第一服务器当前的资源占用率不小于预设的资源占用率阈值,根据所述优先级排序,依次遍历除所述第一服务器外的其它服务器,每遍历到一个服务器时,判断当前遍历到的服务器的资源占用率是否小于所述资源占用率阈值;若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器。可选地,所述获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器的步骤之前,包括:通过测试工具测试出各所述服务器分别处理相同的指定任务的平均响应时长;根据各所述平均响应时长与各所述服务器预设的分配权重,计算出各所述服务器的优先级数值,其中所述优先级数值为所述分配权重与所述平均响应时长的比值;将各所述优先级数值按照从大到小的顺序进行排序,得到所述优先级排序。可选地,所述根据各所述平均响应时长与各所述服务器预设的分配权重,计算出各所述服务器的优先级数值的步骤之前,包括:获取各所述服务器的任务操作日志;从各所述服务器的任务操作日志内分别提取出各所述服务器的任务处理参数数据,其中所述任务处理参数数据包括单位时间内处理的任务总数量以及所述单位时间内处理成功的任务数量;根据各所述服务器的所述单位时间内处理的任务总数量以及所述单位时间内处理成功的任务数量,确定出各所述服务器的所述分配权重。可选地,所述若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器的步骤之后,包括:判断在预设的超时时间内是否接收到所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果;若在预设的超时时间内接收到所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果,则将所述处理结果发送至所述客户端。可选地,所述判断在预设的超时时间内是否接收所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果的步骤之后,包括:若在预设的超时时间内没有接收到所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果,则从所述优先级排序查找出第二服务器,其中所述第二服务器在所述优先级排序中的顺序为所述当前遍历到的服务器的下一位;判断所述第二服务器的资源占用率是否小于所述资源占用率阈值;若所述第二服务器的资源占用率小于所述资源占用率阈值,则将所述第一任务请求分发至所述第二服务器。可选地,所述若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器的步骤之后,包括:给除所述当前遍历到的服务器外的其它已经遍历过的第一指定服务器添加暂停接收任务请求的暂停标记,其中所述第一指定服务器的数量为一个或多个;经过第一预设时间后,判断所述第一指定服务器当前的资源占用率是否小于所述资源占用率阈值;若是,则对所述第一指定服务器解除所述暂停标记。可选地,所述若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器的步骤之后,包括:判断是否接收到新的第二任务请求;若是,根据各所述服务器的标记状态,从所有所述服务器中筛选出不具有所述暂停标记的第二指定服务器;根据所述优先级排序,从所述第二指定服务器中确定出优先级最高的第三服务器;判断所述第三服务器当前的资源占用率是否小于所述资源占用率阈值;若是,将所述第二任务请求分发至所述第三服务器,以便所述第三服务器对所述第二任务请求进行处理。本申请还提供一种任务分发装置,包括:第一接收模块,用于接收客户端发送的第一任务请求,其中所述第一任务请求包括数据资源请求和/或服务操作请求;第一获取模块,用于获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器,其中所述优先级排序为按照各所述服务器的优先级数值从大到小的顺序进行排序得到;第一判断模块,用于判断所述第一服务器当前的资源占用率是否小于预设的资源占用率阈值;第二判断模块,用于若所述第一服务器当前的资源占用率不小于预设的资源占用率阈值,根据所述优先级排序,依次遍历除所述第一服务器外的其它服务器,每遍历到一个服务器时,判断当前遍历到的服务器的资源占用率是否小于所述资源占用率阈值;第一分发模块,用于若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器。本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。本申请中提供的任务分发方法、装置、计算机设备和存储介质,具有以下有益效果:本申请中提供的任务分发方法、装置、计算机设备和存储介质,接收客户端发送的第一任务请求;获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器,其中所述优先级排序为按照各所述服务器的优先级数值从大到小的顺序进行排序得到;判断所述第一服务器当前的资源占用率是否小于预设的资源占用率阈值;若所述第一服务器当前的资源占用率不小于预设的资源占用率阈值,根据所述优先级排序,依次遍历除所述第一服务器外的其它服务器,每遍历到一个服务器时,判断当前遍历到的服务器的资源本文档来自技高网...

【技术保护点】
1.一种任务分发方法,其特征在于,包括:接收客户端发送的第一任务请求,其中所述第一任务请求包括数据资源请求和/或服务操作请求;获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器,其中所述优先级排序为按照各所述服务器的优先级数值从大到小的顺序进行排序得到;判断所述第一服务器当前的资源占用率是否小于预设的资源占用率阈值;若所述第一服务器当前的资源占用率不小于预设的资源占用率阈值,根据所述优先级排序,依次遍历除所述第一服务器外的其它服务器,每遍历到一个服务器时,判断当前遍历到的服务器的资源占用率是否小于所述资源占用率阈值;若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器。

【技术特征摘要】
1.一种任务分发方法,其特征在于,包括:接收客户端发送的第一任务请求,其中所述第一任务请求包括数据资源请求和/或服务操作请求;获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器,其中所述优先级排序为按照各所述服务器的优先级数值从大到小的顺序进行排序得到;判断所述第一服务器当前的资源占用率是否小于预设的资源占用率阈值;若所述第一服务器当前的资源占用率不小于预设的资源占用率阈值,根据所述优先级排序,依次遍历除所述第一服务器外的其它服务器,每遍历到一个服务器时,判断当前遍历到的服务器的资源占用率是否小于所述资源占用率阈值;若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器。2.根据权利要求1所述的任务分发方法,其特征在于,所述获取服务器集群中各服务器的优先级排序,并从所述优先级排序中筛选出优先级最高的第一服务器的步骤之前,包括:通过测试工具测试出各所述服务器分别处理相同的指定任务的平均响应时长;根据各所述平均响应时长与各所述服务器预设的分配权重,计算出各所述服务器的优先级数值,其中所述优先级数值为所述分配权重与所述平均响应时长的比值;将各所述优先级数值按照从大到小的顺序进行排序,得到所述优先级排序。3.根据权利要求2所述的任务分发方法,其特征在于,所述根据各所述平均响应时长与各所述服务器预设的分配权重,计算出各所述服务器的优先级数值的步骤之前,包括:获取各所述服务器的任务操作日志;从各所述服务器的任务操作日志内分别提取出各所述服务器的任务处理参数数据,其中所述任务处理参数数据包括单位时间内处理的任务总数量以及所述单位时间内处理成功的任务数量;根据各所述服务器的所述单位时间内处理的任务总数量以及所述单位时间内处理成功的任务数量,确定出各所述服务器的所述分配权重。4.根据权利要求1所述的任务分发方法,其特征在于,所述若所述当前遍历到的服务器的资源占用率小于所述资源占用率阈值,停止遍历,并将所述第一任务请求分发至所述当前遍历到的服务器的步骤之后,包括:判断在预设的超时时间内是否接收到所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果;若在预设的超时时间内接收到所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果,则将所述处理结果发送至所述客户端。5.根据权利要求4所述的任务分发方法,其特征在于,所述判断在预设的超时时间内是否接收所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果的步骤之后,包括:若在预设的超时时间内没有接收到所述当前遍历到的服务器返回的与所述第一任务请求对应的处理结果,则从所述优先级排序查找出第二服务器...

【专利技术属性】
技术研发人员:易杉峰
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1