一种任务数量的调整方法及装置、计算机可读存储介质与流程

未命名 09-24 阅读:48 评论:0


1.本发明涉及云平台领域,尤其涉及一种任务数量的调整方法及装置、计算机可读存储介质。


背景技术:

2.目前针对云平台领域的任务调度方法主要是使用了分布式架构对不同的任务进行调度优化处理或者是根据任务类型调度到不同的底层设备,对不同种类的任务进行调度达到业务上云过程中所需要的多资源混合问题。但是,现有的技术方案只是把任务下发到底层,当底层的调度能力较差或者剩余资源较小的情况下,一方面任务之间抢占底层资源,导致失败率提升;另一方面会导致任务的堆积、任务丢失,更严重的情况导致底层服务的异常。


技术实现要素:

3.本发明实施例提供一种任务数量的调整方法及装置、计算机可读存储介质,能够提高任务成功率和底层服务的稳定性。
4.本发明的技术方案是这样实现的:
5.本发明实施例提供了一种任务数量的调整方法,所述方法包括:
6.获取多种任务各自对应调度数据;所述调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;所述预设任务处理时间表征任务平均处理时间;
7.通过任务监控模块,获取每种任务的所述预设任务数量对应的任务处理时间和任务处理结果;所述任务处理结果表征任务处理中成功或者失败;
8.根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量;
9.根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量。
10.上述方案中,所述任务处理结果包括任务处理失败数量和任务处理成功数量;
11.所述根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量,包括:
12.根据每种任务对应的所述预设任务处理时间、所述任务处理时间和所述预设任务数量,确定每种任务对应的第一任务调度个数;
13.根据每种任务对应的所述任务处理失败数量和所述预设任务数量,确定每种任务对应的第二任务调度个数;
14.根据所述第一任务调度个数和所述第二任务调度个数,进行差运算,确定每种任务对应的所述实际处理的任务数量。
15.上述方案中,所述根据每种任务对应的所述预设任务处理时间、所述任务处理时间和所述预设任务数量,确定每种任务对应的第一任务调度个数,包括:
16.对每种任务对应的所述预设任务处理时间和所述任务处理时间进行商运算,确定每种任务对应的资源处理能力系数;
17.对每种任务对应的所述资源处理能力系数和所述预设任务数量进行积运算,确定每种任务对应的所述第一任务调度个数。
18.上述方案中,所述根据每种任务对应的所述任务处理失败数量和所述预设任务数量,确定每种任务对应的第二任务调度个数,包括:
19.对每种任务对应的所述任务处理失败数量和所述预设任务数量进行商运算,确定每种任务对应的任务失败系数;
20.对每种任务对应的所述任务失败系数和所述预设任务数量进行积运算,确定每种任务对应的所述第二任务调度个数。
21.上述方案中,所述多种任务为云主机任务和云硬盘任务时,所述云主机任务的实际处理的任务数量和系统盘任务的实际处理的任务数量一致;所述云主机任务对应的实际处理的任务数量为第一任务数量;所述系统盘任务对应的实际处理的任务数量为第二任务数量;
22.所述根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量之后,所述方法还包括:
23.获取第二任务数量;
24.根据云硬盘和云主机的预设权重,以及所述第二任务数量,确定数据盘任务的实际处理的任务数量;
25.根据云硬盘和云主机的预设权重,以及所述第二任务数量,确定云硬盘任务的实际处理的任务数量;所述第二任务数量与所述数据盘任务的实际处理的任务数量之和等于所述云硬盘任务的实际处理的任务数量。
26.上述方案中,所述根据云硬盘和云主机的预设权重以及所述第二任务数量,确定云硬盘任务的实际处理的任务数量,包括:
27.若所述预设权重大于或等于1,则将所述预设权重与所述第二任务数量进行积运算,得到所述云硬盘任务的实际处理的任务数量。
28.上述方案中,所述根据云硬盘和云主机的预设权重以及所述第二任务数量,确定数据盘任务的实际处理的任务数量,包括:
29.若所述预设权重大于1,则将所述预设权重与1,进行差运算,得到运算结果;
30.将所述运算结果和所述第二任务数量,进行积运算,得到所述数据盘任务的实际处理的任务数量;或者,
31.若所述预设权重等于1,则将所述数据盘任务的实际处理的任务数量确定为零。
32.上述方案中,所述根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量,包括:
33.对于每种任务,若所述实际处理的任务数量小于所述预设任务数量,则将所述实际处理的任务数量作为下发的所述预设任务数量;或者,
34.若所述实际处理的任务数量等于所述预设任务数量,则不进行调整;或者,
35.若所述实际处理的任务数量大于所述预设任务数量,则将所述实际处理的任务数
量作为下发的所述预设任务数量。
36.本发明实施例提供了一种任务数量的调整装置,所述任务数量的调整装置包括获取单元、确定单元和调整单元;其中,
37.所述获取单元,用于获取多种任务各自对应调度数据;所述调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;所述预设任务处理时间表征任务平均处理时间;通过任务监控模块,获取每种任务的所述预设任务数量对应的任务处理时间和任务处理结果;所述任务处理结果表征任务处理中成功或者失败;
38.所述确定单元,用于根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量;
39.所述调整单元,用于根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量。
40.本发明实施例提供了一种任务数量的调整装置,所述任务数量的调整装置包括:
41.存储器,用于存储可执行指令;
42.处理器,用于执行所述存储器中存储的可执行指令,当所述可执行指令被执行时,所述处理器执行所述的任务数量的调整方法。
43.本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的任务数量的调整方法。
44.本发明实施例提供了一种任务数量的调整方法及装置、计算机可读存储介质,其中,方法包括:获取多种任务各自对应调度数据;所述调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;所述预设任务处理时间表征任务平均处理时间;通过任务监控模块,获取每种任务的所述预设任务数量对应的任务处理时间和任务处理结果;所述任务处理结果表征任务处理中成功或者失败;根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量;根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量。上述方案中,可以通过每种任务对应的预设任务数量、预设任务处理时间、任务处理时间和任务处理结果,计算得到每种任务对应的实际处理的任务数量;通过实际处理的任务数量对预设任务数量进行调整,可以减少任务失败的个数,提高任务成功率;同时,根据底层实际处理的任务数量对预设任务数量进行调整,还可以减少底层的处理任务压力,避免底层负荷过重,提高了底层服务的稳定性。
附图说明
45.图1为本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图一;
46.图2为本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图二;
47.图3为本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图三;
48.图4为本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图四;
49.图5为本发明实施例提供一种任务数量的调整装置的结构示意图一;
50.图6为本发明实施例提供一种任务数量的调整装置的结构示意图二。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
52.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。图1是本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图一,将结合图1示出的步骤进行说明。
53.s101、获取多种任务各自对应调度数据;调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;预设任务处理时间表征任务平均处理时间。
54.在本发明的一些实施例中,多种任务存在于底层中,底层是虚拟化资源的云管平台系统需要对底层的资源模块进行调度,创建需要的目标资源。其核心模块就是对虚拟化资源的调度,本着资源调度最优的原则,需要云管层和虚拟化的资源调度能力保持相对一致才能实现最优调度。
55.在本发明的一些实施例中,多种任务各自对应的调度数据都是任务调度定时器任务启动后,通过调度模块从数据库中读取的任务调度配置数据;调度数据包括预设时间段内的预设任务数量、还包括预设任务处理时间;预设任务处理时间是通过历史的任务处理时间进行均值运算得到的,属于一个经验值。
56.示例性的,预设时间段可以为两秒钟。
57.s102、通过任务监控模块,获取每种任务的预设任务数量对应的任务处理时间和任务处理结果;任务处理结果表征任务处理中成功或者失败。
58.在本发明的一些实施例中,任务处理结果包括任务处理失败数量和任务处理成功数量。
59.在本发明的一些实施例中,终端通过启动任务监控模块中的定时器,获取底层每种任务对应的预任务数量对应的任务处理时间和任务处理结果。
60.示例性的,任务监控模块中的定时器的时间间隔可以是每个小时或者每两个小时执行一次。
61.需要说明的是,任务监控模块中的定时器与任务调度定时器的预设时间段不同,任务监控模块中的定时器的时间间隔周期(相当于预设时间段)比任务调度定时器的预设时间段时间间隔更长。
62.s103、根据每种任务对应的预设任务处理时间、任务处理时间、预设任务数量和任务处理结果,确定每种任务对应的实际处理的任务数量。
63.在本发明的一些实施例中,终端可以根据每种任务对应的预设任务处理时间、任务处理时间和预设任务数量,确定每种任务对应的第一任务调度个数;根据每种任务对应的任务处理失败数量和预设任务数量,确定每种任务对应的第二任务调度个数;根据第一任务调度个数和第二任务调度个数,进行差运算,确定每种任务对应的实际处理的任务数量。
64.s104、根据每种任务对应的预设任务数量和实际处理的任务数量,调整每种任务对应下发的预设任务数量。
65.在本发明的一些实施例中,对于每种任务,若实际处理的任务数量小于预设任务数量,则将实际处理的任务数量作为下发的预设任务数量;或者,若实际处理的任务数量等于预设任务数量,则不进行调整;或者,若实际处理的任务数量大于预设任务数量,则将实际处理的任务数量作为下发的预设任务数量。
66.示例性的,以创建卷云主机任务为例,云平台创建云主机的任务是并发执行的,比如在2秒的时间间隔内,根据并发的能力,云平台定义可以下发创建500台云主机(相当于预设任务数量),底层创建云一台主机的平均时间是10分钟(相当于预设任务处理时间),但是在此实际场景中,计算出来的创建云主机的平均时间是12分钟(相当于任务处理时间),虚拟化底层在2秒的时间间隔内,只能创建450台云主机(实际处理的任务数量)。使用上述调整任务数机制,2秒一次调度创建云主机任务的个数为:(10/12)*500-(50/500*500)=375个。此时任务监控模块,就把原来的云主机创建任务的调度个数从500改成375。任务调度的个数调整到375个,可以减少对底层的压力,提高成功率。
67.需要说明的是,云主机可以分为本地云主机和卷云主机,本地云主机的系统盘是占用的宿主机节点上的磁盘容量;卷云主机的系统盘是使用外部存储,就是所说的系统卷。
68.可以理解的是,终端可以通过每种任务对应的预设任务数量、预设任务处理时间、任务处理时间和任务处理结果,计算得到每种任务对应的实际处理的任务数量;通过实际处理的任务数量对预设任务数量进行调整,可以减少任务失败的个数,提高任务成功率;同时,根据底层实际处理的任务数量对预设任务数量进行调整,还可以减少底层的处理任务压力,避免底层负荷过重,提高了底层服务的稳定性。
69.在本发明的一些实施例中,图2是本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图二,如图2所示,s103可以通过s201-s203实现,如下:
70.s201、根据每种任务对应的预设任务处理时间、任务处理时间和预设任务数量,确定每种任务对应的第一任务调度个数。
71.在本发明的一些实施例中,终端可以对每种任务对应的预设任务处理时间和任务处理时间进行商运算,确定每种任务对应的资源处理能力系数;对每种任务对应的资源处理能力系数和预设任务数量进行积运算,确定每种任务对应的第一任务调度个数。
72.在本发明的一些实施例中,s201可以通过s2011和s2012实现,如下:
73.s2011、对每种任务对应的预设任务处理时间和任务处理时间进行商运算,确定每种任务对应的资源处理能力系数。
74.在本发明的一些实施例中,终端对于每种任务,可以根据每种任务对应的预设任务处理时间和每种任务对应的任务处理时间进行商运算,确定每种任务对应的资源处理能力系数。
75.示例性的,假设底层资源对一种任务的完整平均处理时间是a分钟(此数据是底层提供,根据经验或者实际项目中来统计出来的,相当于预设任务处理时间);在x时间内并行处理的个数是b个,任务调度模块是由定时器实现任务的分发,每间隔x时间执行一次。任务调度中心会有个任务监测器,监测一个x时间间隔内,b个任务的平均处理时间,假设实际平均处理时间是c(相当于任务处理时间),则底层服务的资源处理能力系数α=a/c。资源处理能力系数α是由底层资源的处理能力决定的,如底层的剩余资源较多或者网络性能较强等因素都会导致底层资源处理能力的变化。
76.s2012、对每种任务对应的资源处理能力系数和预设任务数量进行积运算,确定每种任务对应的第一任务调度个数。
77.在本发明的一些实施例中,终端可以对每种任务对应的资源处理能力系数与每种任务对应的预设任务数量进行积运算,确定每种任务对应的第一任务调度个数。
78.示例性的,对于一种任务,资源处理能力系数α=a/c,预设任务数量为b,第一任务调度个数为m=αb,即就是m=(a/c)b。
79.可以理解的是,终端对每种任务对应的预设任务处理时间和任务处理时间进行商运算,确定每种任务对应的资源处理能力系数;对每种任务对应的资源处理能力系数和预设任务数量进行积运算,确定每种任务对应的第一任务调度个数;便于后续进行每种任务的实际处理的任务数量的计算,进而提高底层服务的稳定性、可用性。
80.s202、根据每种任务对应的任务处理失败数量和预设任务数量,确定每种任务对应的第二任务调度个数。
81.在本发明的一些实施例中,终端对于每种任务,可以根据每种任务对应的任务处理失败数量和预设任务数量进行商运算,确定每种任务对应的任务失败系数;对每种任务对应的任务失败系数和预设任务数量进行积运算,确定每种任务对应的第二任务调度个数。
82.在本发明的一些实施例中,s202可以通过s2021和s2022实现,如下:
83.s2021、对每种任务对应的任务处理失败数量和预设任务数量进行商运算,确定每种任务对应的任务失败系数。
84.在本发明的一些实施例中,终端对于每种任务,可以根据每种任务对应的任务处理失败数量和每种任务对应的预设任务数量进行商运算,确定每种任务对应的任务失败系数。
85.示例性的,任务监控模块也会监控任务的处理结果,对于一种任务,当b个任务的处理结果有n个是失败的,此时的任务失败系数是β=n/b。
86.s2022、对每种任务对应的任务失败系数和预设任务数量进行积运算,确定每种任务对应的第二任务调度个数。
87.在本发明的一些实施例中,终端对于每种任务,可以根据每种任务对应的任务失败系数和每种任务对应的预设任务数量进行积运算,确定每种任务对应的第二任务调度个数。
88.示例性的,对于一种任务,任务失败系数是β=n/b,预设任务数量为b,第一任务调度个数为z=αb,即就是z=(n/b)b。
89.可以理解的是,终端可以对每种任务对应的任务处理失败数量和预设任务数量进行商运算,确定每种任务对应的任务失败系数;对每种任务对应的任务失败系数和预设任务数量进行积运算,确定每种任务对应的第二任务调度个数;便于后续进行每种任务的实际处理的任务数量的计算,进而提高底层服务的稳定性、可用性。
90.s203、根据第一任务调度个数和第二任务调度个数,进行差运算,确定每种任务对应的实际处理的任务数量。
91.在本发明的一些实施例中,终端根据每种任务对应的第一任务调度个数和每种任务对应的第二任务调度个数,进行差运算,确定每种任务对应的实际处理的任务数量。
92.示例性的,对于一种任务,实际处理的任务数量为num=m-z,即就是num=(a/c)b-(n/b)b。当任务的实际平均处理时间c比平均处理时间a大的时候,在不考虑失败任务个数的情况下,此时计算出来的任务处理个数就会减少;当实际任务的平均处理时间c比平均处理时间a小的时候,此时计算出来的任务处理个数就会增加。
93.可以理解的是,终端可以根据每种任务对应的预设任务处理时间、任务处理时间和预设任务数量,确定每种任务对应的第一任务调度个数;根据每种任务对应的任务处理失败数量和预设任务数量,确定每种任务对应的第二任务调度个数;根据第一任务调度个数和第二任务调度个数,进行差运算,确定每种任务对应的实际处理的任务数量;可以便于后续调整预设任务数量,提高任务成功率。
94.在本发明的一些实施例中,s104可以通过s1041或者s1042或者s1043实现,如下:
95.s1041、对于每种任务,若实际处理的任务数量小于预设任务数量,则将实际处理的任务数量作为下发的预设任务数量。
96.在本发明的一些实施例中,终端对于单种任务类型的任务或者两种相互依赖的任务类型的任务,对于一种任务,若实际处理的任务数量小于预设任务数量,则将实际处理的任务数量调整为下一次下发的预设任务数量。
97.s1042、若实际处理的任务数量等于预设任务数量,则不进行调整。
98.在本发明的一些实施例中,终端对于一种任务,若实际处理的任务数量等于预设任务数量,则不进行调整。
99.s1043、若实际处理的任务数量大于预设任务数量,则将实际处理的任务数量作为下发的预设任务数量。
100.在本发明的一些实施例中,终端对于一种任务,若实际处理的任务数量大于预设任务数量,则将实际处理的任务数量调整为下一次下发的预设任务数量。
101.可以理解的是,终端对于每种任务,若实际处理的任务数量小于预设任务数量,则将实际处理的任务数量作为下发的预设任务数量;若实际处理的任务数量等于预设任务数量,则不进行调整;若实际处理的任务数量大于预设任务数量,则将实际处理的任务数量作为下发的预设任务数量;通过动态调整下发预设任务数量,可以提高任务的成功率,保证任务不会大批量下发到底层导致任务积压或者丢失,也不会影响底层服务的正常运行,从而提高了底层服务的稳定性。
102.在本发明的一些实施例中,图3是本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图三,如图3所示,多种任务为云主机任务和云硬盘任务时,在s103之后还执行s105-s107,如下:
103.s105、获取第二任务数量。
104.在本发明的一些实施例中,当多种任务为云主机任务和云硬盘任务时,两种任务存在依赖关系,云主机任务的实际处理的任务数量和系统盘任务的实际处理的任务数量一致;云主机任务对应的实际处理的任务数量为第一任务数量;系统盘任务对应的实际处理的任务数量为第二任务数量。
105.需要说明的是,云主机任务与系统盘任务是独立的两个任务,二者的预设任务数量、预设任务处理时间、任务处理结果以及任务处理时间均不相同,但是二者最终的实际处理的任务数量是相同的。
106.s106、根据云硬盘和云主机的预设权重,以及第二任务数量,确定数据盘任务的实际处理的任务数量。
107.在本发明的一些实施例中,预设权重是根据业务需求提前设置好的,存在依赖关系的不同类型任务之间的预设权重是不同的。
108.在本发明的一些实施例中,终端对预设权重进行判断,若预设权重大于1,则将预设权重与1,进行差运算,得到运算结果;将运算结果和第二任务数量,进行积运算,得到数据盘任务的实际处理的任务数量;或者,若预设权重等于1,则将数据盘任务的实际处理的任务数量确定为零。
109.在本发明的一些实施例中,s106可以通过s1061和s1062实现,或者通过s1063实现,如下:
110.s1061、若预设权重大于1,则将预设权重与1,进行差运算,得到运算结果。
111.在本发明的一些实施例中,终端对预设权重进行判断,若预设权重大于1,则将预设权重减去1,得到运算结果。
112.s1062、将运算结果和第二任务数量,进行积运算,得到数据盘任务的实际处理的任务数量。
113.在本发明的一些实施例中,终端对运算结果和第二任务数量,进行积运算,得到数据盘任务的实际处理的任务数量。
114.s1063、若预设权重等于1,则将数据盘任务的实际处理的任务数量确定为零。
115.在本发明的一些实施例中,终端对预设权重进行判断,若预设权重等于1,则将数据盘任务的实际处理的任务数量确定为零。
116.示例性的,数据盘任务的实际处理的任务数量可以通过以下公式(1)计算得到。
[0117][0118]
其中,nums为数据盘任务的实际处理的任务数量;δ为云硬盘和云主机的预设权重;(a1c1)b
1-(n1b1)b1为第二任务数量;b1为系统盘任务的预设任务数量;a1为系统盘任务的预设任务处理时间;c1为系统盘任务的任务处理时间;n1为系统盘任务的任务处理失败数量;当δ》1时,nums为(δ-1)[(a1/c1)b
1-(n1/b1)b1];当δ=1时,nums为0;由于系统盘的创建个数一定是和云主机的个数是一样的,所以比例系数δ在真实的业务场景下一定是大于等于1的,当等于1的时候,则只有系统盘,无法再创建数据盘,所以当δ《1时,提示出现错误(即error)。
[0119]
可以理解的是,终端对预设权重进行判断,若预设权重大于1,则将预设权重与1,进行差运算,得到运算结果;将运算结果和第二任务数量,进行积运算,得到数据盘任务的实际处理的任务数量;或者,若预设权重等于1,则将数据盘任务的实际处理的任务数量确定为零,得到数据盘任务的实际处理的任务数量可以便于后续对数据盘任务的预设任务数量进行调整,提高任务成功率和减少底层的处理任务压力,避免底层负荷过重,提高了底层服务的稳定性。
[0120]
s107、根据云硬盘和云主机的预设权重,以及第二任务数量,确定云硬盘任务的实
际处理的任务数量。
[0121]
基于上述s105-s107所描述的任务数量的调整方法,在s107之后,还执行上述图1中s104。具体实现方式:将每种任务作为云主机任务和云硬盘任务;分别根据云硬盘任务的实际处理的任务数量和预设任务数量,调整云硬盘任务对应下发的预设任务数量;根据云主机任务的实际处理的任务数量和预设任务数量,调整云主机任务对应下发的预设任务数量。
[0122]
在本发明的一些实施例中,终端可以对预设权重进行判断,若预设权重大于或等于1,则将预设权重与第二任务数量进行积运算,得到云硬盘任务的实际处理的任务数量。
[0123]
在本发明的一些实施例中,第二任务数量与数据盘任务的实际处理的任务数量之和等于云硬盘任务的实际处理的任务数量。
[0124]
示例性的,云硬盘任务的实际处理的任务数量可以通过以下公式(2)得到。
[0125][0126]
其中,numy为云硬盘任务的实际处理的任务数量;δ为云硬盘和云主机的预设权重;(a1/c1)b
1-(n1/b1)b1为第二任务数量;b1为系统盘任务的预设任务数量;a1为系统盘任务的预设任务处理时间;c1为系统盘任务的任务处理时间;n1为系统盘任务的任务处理失败数量;当δ≥1时,numy为δ[(a1/c1)b
1-(n1/b1)b1];由于云主机的创建个数和云硬盘的创建个数相互依赖,云硬盘的创建个数必须满足大于等于云主机创建个数的条件;所以当δ《1时,提示出现错误(即error)。
[0127]
可以理解的是,终端可以对多个任务为云主机任务和云硬盘任务时,获取第二任务数量;根据云硬盘和云主机的预设权重以及第二任务数量,确定数据盘任务的实际处理的任务数量;根据云硬盘和云主机的预设权重以及第二任务数量,确定云硬盘任务的实际处理的任务数量;可以进行云硬盘任务的预设任务数量调整,提高底层服务的稳定性。
[0128]
在本发明的一些实施例中,图4是本发明实施例提供一种任务数量的调整方法的一个可选的流程示意图四,如图4所示,终端通过任务调度策略读取数据库中的调度数据,调度数据中包括任务调度的个数(相当于预设任务数量);然后,开始任务调度,更新调度结果,此过程中会读取调度数据中的任务信息;通过任务监控,得到任务调度结果(相当于得到预设任务处理时间、任务处理时间以及任务处理结果);统计任务结果,计算实际处理的任务数量;根据预设任务数量和实际处理的任务数量,判断是否需要更新任务调度数量;若预设任务数量和实际处理的任务数量不一致,则对任务调度的个数进行调整,将实际处理的任务数量作为任务调度的个数;若预设任务数量和实际处理的任务数量一致,则对任务调度的个数不进行调整。
[0129]
可以理解的是,终端可以根据任务在底层的任务处理时间和任务处理结果,动态伸缩任务处理任务定时器的调度任务的个数,可以达到调度能力和底层处理能力的适配,减少由于任务积压而导致底层服务发生故障的概率,保证整个平台的稳定性、可用性。
[0130]
基于上述实施例的任务数量的调整方法,本发明实施例还提供了一种任务数量的调整装置,如图5所述,图5为本发明实施例提供的一种任务数量的调整装置的结构示意图一,该任务数量的调整装置5包括:获取单元501、确定单元502和调整单元503;其中,
[0131]
所述获取单元501,用于获取多种任务各自对应调度数据;所述调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;所述预设任务处理时间表征任务平均处理时间;通过任务监控模块,获取每种任务的所述预设任务数量对应的任务处理时间和任务处理结果;所述任务处理结果表征任务处理中成功或者失败;
[0132]
所述确定单元502,用于根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量;
[0133]
所述调整单元503,用于根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量。
[0134]
在本发明的一些实施例中,所述任务处理结果包括任务处理失败数量和任务处理成功数量;所述确定单元502,还用于根据每种任务对应的所述预设任务处理时间、所述任务处理时间和所述预设任务数量,确定每种任务对应的第一任务调度个数;根据每种任务对应的所述任务处理失败数量和所述预设任务数量,确定每种任务对应的第二任务调度个数;根据所述第一任务调度个数和所述第二任务调度个数,进行差运算,确定每种任务对应的所述实际处理的任务数量。
[0135]
在本发明的一些实施例中,所述确定单元502,还用于对每种任务对应的所述预设任务处理时间和所述任务处理时间进行商运算,确定每种任务对应的资源处理能力系数;对每种任务对应的所述资源处理能力系数和所述预设任务数量进行积运算,确定每种任务对应的所述第一任务调度个数。
[0136]
在本发明的一些实施例中,所述确定单元502,还用于对每种任务对应的所述任务处理失败数量和所述预设任务数量进行商运算,确定每种任务对应的任务失败系数;对每种任务对应的所述任务失败系数和所述预设任务数量进行积运算,确定每种任务对应的所述第二任务调度个数。
[0137]
在本发明的一些实施例中,所述多种任务为云主机任务和云硬盘任务时,所述云主机任务的实际处理的任务数量和系统盘任务的实际处理的任务数量一致;所述云主机任务对应的实际处理的任务数量为第一任务数量;所述系统盘任务对应的实际处理的任务数量为第二任务数量;所述获取单元501,还用于获取第二任务数量;
[0138]
所述确定单元502,还用于根据云硬盘和云主机的预设权重,以及所述第二任务数量,确定数据盘任务的实际处理的任务数量;根据云硬盘和云主机的预设权重,以及所述第二任务数量,确定云硬盘任务的实际处理的任务数量;所述第二任务数量与所述数据盘任务的实际处理的任务数量之和等于所述云硬盘任务的实际处理的任务数量。
[0139]
在本发明的一些实施例中,所述获取单元501,还用于若所述预设权重大于或等于1,则将所述预设权重与所述第二任务数量进行积运算,得到所述云硬盘任务的实际处理的任务数量。
[0140]
在本发明的一些实施例中,所述获取单元501,还用于若所述预设权重大于1,则将所述预设权重与1,进行差运算,得到运算结果;将所述运算结果和所述第二任务数量,进行积运算,得到所述数据盘任务的实际处理的任务数量;或者,
[0141]
所述确定单元502,还用于若所述预设权重等于1,则将所述数据盘任务的实际处理的任务数量确定为零。
[0142]
在本发明的一些实施例中,所述调整单元503,还用于对于每种任务,若所述实际处理的任务数量小于所述预设任务数量,则将所述实际处理的任务数量作为下发的所述预设任务数量;或者,若所述实际处理的任务数量等于所述预设任务数量,则不进行调整;或者,若所述实际处理的任务数量大于所述预设任务数量,则将所述实际处理的任务数量作为下发的所述预设任务数量。
[0143]
需要说明的是,上述实施例提供的任务数量的调整装置,在进行任务数量的调整时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的任务数量的调整装置与任务数量的调整方法实施例属于同一构思,其具体实现过程及有益效果详见方法实施例,这里不再赘述。对于本装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
[0144]
基于上述实施例的任务数量的调整方法,本发明实施例还提供一种任务数量的调整装置,如图6所示,图6为本发明实施例提供的一种任务数量的调整装置的结构示意图二,该任务数量的调整装置6包括:处理器601和存储器602;存储器602存储处理器可执行的一个或者多个程序,当一个或者多个程序被执行时,通过处理器601执行如前所述实施例的任意一种任务数量的调整方法。
[0145]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0146]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0147]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0148]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0149]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

技术特征:
1.一种任务数量的调整方法,其特征在于,包括:获取多种任务各自对应调度数据;所述调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;所述预设任务处理时间表征任务平均处理时间;通过任务监控模块,获取每种任务的所述预设任务数量对应的任务处理时间和任务处理结果;所述任务处理结果表征任务处理中成功或者失败;根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量;根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量。2.根据权利要求1所述的方法,其特征在于,所述任务处理结果包括任务处理失败数量和任务处理成功数量;所述根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量,包括:根据每种任务对应的所述预设任务处理时间、所述任务处理时间和所述预设任务数量,确定每种任务对应的第一任务调度个数;根据每种任务对应的所述任务处理失败数量和所述预设任务数量,确定每种任务对应的第二任务调度个数;根据所述第一任务调度个数和所述第二任务调度个数,进行差运算,确定每种任务对应的所述实际处理的任务数量。3.根据权利要求2所述的方法,其特征在于,所述根据每种任务对应的所述预设任务处理时间、所述任务处理时间和所述预设任务数量,确定每种任务对应的第一任务调度个数,包括:对每种任务对应的所述预设任务处理时间和所述任务处理时间进行商运算,确定每种任务对应的资源处理能力系数;对每种任务对应的所述资源处理能力系数和所述预设任务数量进行积运算,确定每种任务对应的所述第一任务调度个数。4.根据权利要求2所述的方法,其特征在于,所述根据每种任务对应的所述任务处理失败数量和所述预设任务数量,确定每种任务对应的第二任务调度个数,包括:对每种任务对应的所述任务处理失败数量和所述预设任务数量进行商运算,确定每种任务对应的任务失败系数;对每种任务对应的所述任务失败系数和所述预设任务数量进行积运算,确定每种任务对应的所述第二任务调度个数。5.根据权利要求2所述的方法,其特征在于,所述多种任务为云主机任务和云硬盘任务时,所述云主机任务的实际处理的任务数量和系统盘任务的实际处理的任务数量一致;所述云主机任务对应的实际处理的任务数量为第一任务数量;所述系统盘任务对应的实际处理的任务数量为第二任务数量;所述根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量之后,所述方法还包括:
获取第二任务数量;根据云硬盘和云主机的预设权重,以及所述第二任务数量,确定数据盘任务的实际处理的任务数量;根据云硬盘和云主机的预设权重,以及所述第二任务数量,确定云硬盘任务的实际处理的任务数量;所述第二任务数量与所述数据盘任务的实际处理的任务数量之和等于所述云硬盘任务的实际处理的任务数量。6.根据权利要求5所述的方法,其特征在于,所述根据云硬盘和云主机的预设权重以及所述第二任务数量,确定云硬盘任务的实际处理的任务数量,包括:若所述预设权重大于或等于1,则将所述预设权重与所述第二任务数量进行积运算,得到所述云硬盘任务的实际处理的任务数量。7.根据权利要求5所述的方法,其特征在于,所述根据云硬盘和云主机的预设权重以及所述第二任务数量,确定数据盘任务的实际处理的任务数量,包括:若所述预设权重大于1,则将所述预设权重与1,进行差运算,得到运算结果;将所述运算结果和所述第二任务数量,进行积运算,得到所述数据盘任务的实际处理的任务数量;或者,若所述预设权重等于1,则将所述数据盘任务的实际处理的任务数量确定为零。8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量,包括:对于每种任务,若所述实际处理的任务数量小于所述预设任务数量,则将所述实际处理的任务数量作为下发的所述预设任务数量;或者,若所述实际处理的任务数量等于所述预设任务数量,则不进行调整;或者,若所述实际处理的任务数量大于所述预设任务数量,则将所述实际处理的任务数量作为下发的所述预设任务数量。9.一种任务数量的调整装置,其特征在于,包括获取单元、确定单元和调整单元;其中,所述获取单元,用于获取多种任务各自对应调度数据;所述调度数据包括预设时间段内的预设任务数量以及预设任务处理时间;所述预设任务处理时间表征任务平均处理时间;通过任务监控模块,获取每种任务的所述预设任务数量对应的任务处理时间和任务处理结果;所述任务处理结果表征任务处理中成功或者失败;所述确定单元,用于根据每种任务对应的所述预设任务处理时间、所述任务处理时间、所述预设任务数量和所述任务处理结果,确定每种任务对应的实际处理的任务数量;所述调整单元,用于根据每种任务对应的所述预设任务数量和所述实际处理的任务数量,调整每种任务对应下发的所述预设任务数量。10.一种任务数量的调整装置,其特征在于,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述任务数量的调整方法。11.一种计算机可读存储介质,其特征在于,所述存储介质存储有可执行指令,当所述可执行指令被执行时,用于引起处理器执行如权利要求1至8任一项所述任务数量的调整方法。

技术总结
本发明实施例提供了一种任务数量的调整方法及装置、计算机可读存储介质,方法包括:获取多种任务各自对应调度数据;通过任务监控模块,获取每种任务的预设任务数量对应的任务处理时间和任务处理结果;根据每种任务对应的预设任务处理时间、任务处理时间、预设任务数量和任务处理结果,确定每种任务对应的实际处理的任务数量;根据每种任务对应的预设任务数量和实际处理的任务数量,调整每种任务对应下发的预设任务数量。上述方案中,可以通过实际的任务处理数量对预设任务数量进行调整,减少任务失败的个数,提高任务成功率;同时,还可以减少底层的处理任务压力,避免底层负荷过重,提高了底层服务的稳定性。高了底层服务的稳定性。高了底层服务的稳定性。


技术研发人员:顾芒芒 吴铭程 徐继亚
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.09.14
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐