任务分发方法、装置、设备及计算机可读存储介质与流程
1.本技术涉及计算机技术领域,尤其涉及一种任务分发方法、装置、设备及计算机可读存储介质。
背景技术:
2.随着数据在生产要素中的地位逐渐提高,各公司都在加工整合所拥有的数据形成大数据业务。大数据平台技术框架支持的开发语言多种多样,开发人员的背景差异也很大,这就产生出很多不同类型的程序(任务)运行在大数据平台之上,往往这些任务之间都有错综复杂的依赖。作业调度系统是大数据开发平台的核心组件之一。具有针对场景多样,设计内容繁杂的特点,可以满足各个作业之间复杂的依赖关系。而对于不同的加工任务,所需的资源不同,如果存在突发的高并发、任务分配不合理等情况会使的执行任务的服务器压力激增,严重的会直接影响公司业务的正常运转。
3.现有技术中,在任务分发时,检查服务器资源实时的使用情况,或者预设服务器运行任务的阈值。
4.然而现有技术中,在任务分发检查服务器资源,检查的是一个实时的服务器资源使用情况,无法预测当该任务抛至该服务器后,服务器的负载情况。或者预设服务器运行任务的阈值,而每个任务运行所需资源是不同的,这种情况往往会造成服务器资源浪费。
技术实现要素:
5.本技术提供一种任务分发方法、装置、设备及计算机可读存储介质,用以解决现有技术中不合理的分配服务器资源,造成服务器压力过大或者服务器资源浪费的技术问题。
6.第一方面,本技术提供一种任务分发方法,方法应用于预分配服务器,包括:
7.获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu(central processing unit,中央处理器)和内存占用的数据;
8.判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;
9.在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
10.进一步地,获取待运行任务在运行时的实时资源数据,具体包括:
11.在监测待运行任务开始运行的消息时,每隔预设时间段获取待运行任务的每个pid(process identification,进程控制符)所使用的资源数据,获得待运行任务的每个pid在多个时间点所使用的资源;
12.对待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。
13.进一步地,每隔预设时间段获取待运行任务的每个pid所使用的资源数据,具体包括:
14.运行资源数据获取脚本,每隔预设时间段获取待运行任务的每个pid所使用的资源数据;
15.其中,资源数据包括pid标识、cpu占用量以及内存占用量。
16.进一步地,方法还包括:
17.通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,使执行服务器执行各个节点作业。
18.进一步地,方法还包括:
19.在待运行任务作业完成后,通过rpc(remote produce call,远程过程调用)将接收执行服务器发送的待运行任务的作业记录;
20.将待运行任务的作业记录存储到数据库中。
21.第二方面,本技术提供一种分发装置,装置包括:
22.获取模块,用于获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;
23.处理模块,用于判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;
24.处理模块,还用于在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
25.第三方面,本技术提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。
26.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
27.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
28.本技术提供的任务分发方法、装置、设备及计算机可读存储介质,通过获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;获得待运行任务的每个pid在多个时间点所使用的资源;对待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。本技术的方法,通过预先在预设服务器上获取待运行任务在运行时的实时资源数据,从而确定待运行任务能在执行服务器上运行。再通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,达到合理的分配执行服务器资源,且在待运行任务作业完成后,通过rpc将接收执行服务器发送的待运行任务的作业记录;将待运行任务的作业记录存储到数据库中,便于后续合理的分配服务器资源。解决了现有技术中不合理的分配服务器资源,造成服务器压力过大或者服务器资源浪费的技术问题。
附图说明
29.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
30.图1为本技术实施例提供的一种任务分发方法的流程示意图;
31.图2为本技术实施例提供的另一种任务分发方法的流程示意图;
32.图3为本技术实施例提供的又一种任务分发方法的流程示意图;
33.图4为本技术实施例提供的再一种任务分发方法的流程示意图;
34.图5为本技术实施例提供的一种装置的结构示意图;
35.图6为本技术实施例提供的一种电子设备的结构示意图。
36.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
38.随着数据在生产要素中的地位逐渐提高,各公司都在加工整合所拥有的数据形成大数据业务。大数据平台技术框架支持的开发语言多种多样,开发人员的背景差异也很大,这就产生出很多不同类型的程序(任务)运行在大数据平台之上,往往这些任务之间都有错综复杂的依赖。作业调度系统是大数据开发平台的核心组件之一。具有针对场景多样,设计内容繁杂的特点,可以满足各个作业之间复杂的依赖关系。而对于不同的加工任务,所需的资源不同,如果存在突发的高并发、任务分配不合理等情况会使的执行任务的服务器压力激增,严重的会直接影响公司业务的正常运转。
39.现有技术中,在任务分发时,检查服务器资源实时的使用情况,或者预设服务器运行任务的阈值。
40.然而现有技术中,在任务分发检查服务器资源,检查的是一个实时的服务器资源使用情况,无法预测当该任务抛至该服务器后,服务器的负载情况。或者预设服务器运行任务的阈值,而每个任务运行所需资源是不同的,这种情况往往会造成服务器资源浪费。
41.针对上述问题,本技术实施例提供一种任务分发方法、装置、设备及计算机可读存储介质,旨在解决现有技术中不合理的分配服务器资源,造成服务器压力过大或者服务器资源浪费的技术问题。本技术的技术构思是:通过获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。本技术的方法,通过预先在预设服务器上获取待运行任务在运行时的实时资源数据,从而确定待运行任务能在执行服务器上运行。实现服务器资源的合理分配,解决了现有技术中不合理的分配服务器资源,造成
服务器压力过大或者服务器资源浪费的技术问题。
42.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
43.图1为本技术实施例提供的一种任务分发方法的流程示意图,如图1所示,该方法包括:
44.s101、获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据。
45.示例性地,本实施例的执行主体可以为电子设备、或者服务器、或者任务分发处理装置或设备、或者其他可以执行本实施例的装置或设备,对此不做限制。本实施例中以执行主体为服务器进行介绍。
46.在该步骤中,待运行任务为需要将被输入到服务器内运行的任务,考虑到待运行任务在服务器上所需的资源数据一直在变化,所以需要每隔一定时间进行实时资源数据的获取,其中,资源数据包括待运行任务所需要的cpu和内存占用的数据。
47.s102、判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存。
48.在该步骤中,在获取待运行任务在运行时的实时资源数据之后,累加待运行任务中的多个进程任务所需要的cpu,判断所需要的cpu是否大于或等于预分配服务器的cpu,且累加待运行任务中的多个进程任务所占用内存的数据,判断内存占用的数据是否大于或等于预分配服务器的内存数据。
49.s103、在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
50.在该步骤中,当待运行任务运行时所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。比如,执行服务器与预分配服务器的内存大小和cpu大小相同。
51.本技术实施例中,通过获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。本技术的方法,通过预先在预设服务器上获取待运行任务在运行时的实时资源数据,从而确定待运行任务能在执行服务器上运行。实现待运行任务在预设服务器上的预分发任务,解决了现有技术中不合理的分配服务器资源,造成服务器压力过大或者服务器资源浪费的技术问题。
52.图2为本技术实施例提供的另一种任务分发方法的流程示意图,如图2所示,该方法包括:
53.s201、在监测待运行任务开始运行的消息时,每隔预设时间段获取待运行任务的每个pid所使用的资源数据,获得待运行任务的每个pid在多个时间点所使用的资源。
54.在该步骤中,待运行任务包括多个线程任务,每个线程任务对应一个pid;预设服务器在监测到执行服务器的端口开始待运行任务的运行时,每隔预设时间段获取待运行任务中的每个pid所使用的资源数据,获得待运行任务的每个pid在多个时间点所使用的资源。预设时间段可以是5s、10s、12s;5s相对应的多个时间点即为5s,10s、15s;10s相对应的多个时间点即为10s,20s、30s;12s相对应的多个时间点即为12s,24s、36s。
55.需要说明的是,监测待运行任务开始运行的方式和预设时间段,可以根据需求来设定,在此不做限定。
56.在一实施例中,每隔预设时间段获取待运行任务的每个pid所使用的资源数据,具体包括如下步骤:
57.s2011、运行资源数据获取脚本,每隔预设时间段获取待运行任务的每个pid所使用的资源数据;其中,资源数据包括pid标识、cpu占用量以及内存占用量。
58.在该步骤中,运行资源数据获取脚本,脚本可以为/proc/pid/status文件,通过该脚本每隔预设时间段获取待运行任务的每个pid所使用的资源数据;其中,资源数据包括pid标识、cpu占用量以及内存占用量。
59.s202、对待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。
60.在该步骤中,待运行任务的线程获取到上一步骤中脚本的输出,即每隔预设时间段的待运行任务的每个pid所使用的资源数据;并对资源数据中的pid标识编号进行增号,对待运行任务的每个pid在多个时间点所使用的资源进行求和,从而获取到待运行任务在运行时的实时资源数据。其中,资源数据格式为:pid标识;cpu占用量;内存占用量。
61.s203、判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存。
62.本步骤可以参见图1中的步骤102,不再赘述。
63.s204、在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
64.本步骤可以参见图1中的步骤103,不再赘述。
65.本技术实施例中,在监测待运行任务开始运行的消息时,每隔预设时间段获取待运行任务的每个pid所使用的资源数据,获得待运行任务的每个pid在多个时间点所使用的资源;对待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。通过对待运行任务在运行时的实时资源数据的获取监测,解决了现有技术中不合理的分配服务器资源,造成服务器压力过大或者服务器资源浪费的技术问题。
66.图3为本技术实施例提供的又一种任务分发方法的流程示意图,如图3所示,该方法包括:
67.s301、获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的
cpu和内存占用的数据。
68.本步骤可以参见图1中的步骤101,不再赘述。
69.s302、判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存。
70.本步骤可以参见图1中的步骤102,不再赘述。
71.s303、在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
72.本步骤可以参见图1中的步骤103,不再赘述。
73.s304、通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,使执行服务器执行各个节点作业。
74.在该步骤中,在确定待运行任务能在执行服务器上运行之后,预设服务器通过rpc对待运行任务各个节点作业进行任务同步至执行服务器,使执行服务器执行各个节点作业。同时减轻了后续数据库的访问压力。
75.本技术实施例中,通过获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,使执行服务器执行各个节点作业。首先在预设服务器确定待运行任务能在执行服务器上运行;再通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,达到合理的分配执行服务器资源,解决执行服务器压力过大或者服务器资源浪费的技术问题。
76.图4为本技术实施例提供的再一种任务分发方法的流程示意图,如图4所示,该方法包括:
77.s401、获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据。
78.本步骤可以参见图1中的步骤101,不再赘述。
79.s402、判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存。
80.本步骤可以参见图1中的步骤102,不再赘述。
81.s403、在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
82.本步骤可以参见图1中的步骤103,不再赘述。
83.s404、通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,使执行服务器执行各个节点作业。
84.本步骤可以参见图3中的步骤304,不再赘述。
85.s405、在待运行任务作业完成后,通过rpc将接收执行服务器发送的待运行任务的
作业记录。
86.在该步骤中,在待运行任务作业完成后,执行服务器通过rpc将待运行任务的作业记录同步到预设服务器。
87.s406、将待运行任务的作业记录存储到数据库中。
88.在该步骤中,将待运行任务的作业记录可以通过行存储或者列存储到数据库中。更有效地处理海量数据,且兼顾安全、可靠、完整性。
89.示例性的,待运行任务的作业记录可以通过hadoop的hbase采用列存储到数据库中。
90.示例性的,待运行任务的作业记录可以通过lexst采用二进制型的行存储到数据库中。
91.本技术实施例中,通过获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,使执行服务器执行各个节点作业。在待运行任务作业完成后,通过rpc将接收执行服务器发送的待运行任务的作业记录;将待运行任务的作业记录存储到数据库中。便于后续合理的分配服务器资源,解决服务器压力过大或者服务器资源浪费的问题。
92.图5为本技术实施例提供的一种分发装置500的结构示意图,如图5所示,该装置500包括:
93.获取模块501,用于获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的cpu和内存占用的数据;
94.处理模块502,用于判断所需要的cpu是否大于或等于预分配服务器的cpu,且内存占用是否大于或等于预分配服务器的内存;
95.处理模块502,还用于在所需要的cpu小于预分配服务器的cpu,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。
96.在一实施例中,获取模块501还具体用于:
97.在监测待运行任务开始运行的消息时,每隔预设时间段获取待运行任务的每个pid所使用的资源数据,获得待运行任务的每个pid在多个时间点所使用的资源;
98.对待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。
99.在一实施例中,获取模块501还具体用于:
100.运行资源数据获取脚本,每隔预设时间段获取待运行任务的每个pid所使用的资源数据;
101.其中,资源数据包括pid标识、cpu占用量以及内存占用量。
102.在一实施例中,处理模块502还具体用于:
103.通过rpc对待运行任务各个节点作业进行任务分发至执行服务器,使执行服务器执行各个节点作业。
104.在一实施例中,处理模块502还具体用于:
105.在待运行任务作业完成后,通过rpc将接收执行服务器发送的待运行任务的作业记录;
106.将待运行任务的作业记录存储到数据库中。
107.本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
108.图6为本技术实施例提供的一种电子设备600的结构示意图,如图6所示,电子设备600包括:存储器601和处理器602;
109.其中,存储器601用于存储处理器可执行的计算机指令;
110.处理器602在执行计算机指令时实现上述实施例中方法中的各个步骤。具体可以参见前述方法实施例中的相关描述。
111.可选地,上述存储器601既可以是独立的,也可以跟处理器602集成在一起。当存储器601独立设置时,该测试设备还包括总线,用于连接存储器601和处理器602。
112.本技术实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例提供的方法。
113.本技术实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
114.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
115.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
技术特征:
1.一种任务分发方法,其特征在于,所述方法应用于预分配服务器,包括:获取待运行任务在运行时的实时资源数据;其中,所述资源数据包括所需要的cpu和内存占用的数据;判断所述所需要的cpu是否大于或等于所述预分配服务器的cpu,且所述内存占用是否大于或等于所述预分配服务器的内存;在所述所需要的cpu小于所述预分配服务器的cpu,且所述内存占用小于所述预分配服务器的内存,确定所述待运行任务能在执行服务器上运行;其中,所述执行服务器与所述预分配服务器的配置相同。2.根据权利要求1所述的方法,其特征在于,获取待运行任务在运行时的实时资源数据,具体包括:在监测所述待运行任务开始运行的消息时,每隔预设时间段获取所述待运行任务的每个pid所使用的资源数据,获得所述待运行任务的每个pid在多个时间点所使用的资源;对所述待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。3.根据权利要求2所述的方法,其特征在于,每隔预设时间段获取所述待运行任务的每个pid所使用的资源数据,具体包括:运行资源数据获取脚本,每隔所述预设时间段获取所述待运行任务的每个pid所使用的资源数据;其中,所述资源数据包括pid标识、cpu占用量以及内用占用量。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过rpc对所述待运行任务各个节点作业进行任务分发至执行服务器,使所述执行服务器执行各个节点作业。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在待运行任务作业完成后,通过rpc将接收所述执行服务器发送的所述待运行任务的作业记录;将所述待运行任务的作业记录存储到数据库中。6.一种分发装置,其特征在于,所述装置包括:获取模块,用于获取待运行任务在运行时的实时资源数据;其中,所述资源数据包括所需要的cpu和内存占用的数据;处理模块,用于判断所述所需要的cpu是否大于或等于预分配服务器的cpu,且所述内存占用是否大于或等于所述预分配服务器的内存;处理模块,还用于在所述所需要的cpu小于所述预分配服务器的cpu,且所述内存占用小于所述预分配服务器的内存,确定所述待运行任务能在执行服务器上运行;其中,所述执行服务器与所述预分配服务器的配置相同。7.根据权利要求6的装置,其特征在于,所述获取模块还具体包括:在监测待运行任务开始运行的消息时,每隔预设时间段获取待运行任务的每个pid所使用的资源数据,获得待运行任务的每个pid在多个时间点所使用的资源;对待运行任务的每个pid在多个时间点所使用的资源进行求和,获取待运行任务在运行时的实时资源数据。
8.一种电子设备,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-5中任一项所述的方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-5任一项所述的方法。10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
技术总结
本申请提供一种任务分发方法、装置、设备及计算机可读存储介质,该方法包括:获取待运行任务在运行时的实时资源数据;其中,资源数据包括所需要的CPU和内存占用的数据;判断所需要的CPU是否大于或等于预分配服务器的CPU,且内存占用是否大于或等于预分配服务器的内存;在所需要的CPU小于预分配服务器的CPU,且内存占用小于预分配服务器的内存,确定待运行任务能在执行服务器上运行;其中,执行服务器与预分配服务器的配置相同。本申请通过预先在预设服务器上获取待运行任务在运行时的实时资源数据,从而确定待运行任务能在执行服务器上合理运行。解决现有不合理的分配服务器资源,造成服务器压力过大或者服务器资源浪费的技术问题。技术问题。技术问题。
