CN112346829A - 一种用于任务调度的方法及设备 - Google Patents
一种用于任务调度的方法及设备 Download PDFInfo
- Publication number
- CN112346829A CN112346829A CN201910727238.7A CN201910727238A CN112346829A CN 112346829 A CN112346829 A CN 112346829A CN 201910727238 A CN201910727238 A CN 201910727238A CN 112346829 A CN112346829 A CN 112346829A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- tasks
- processes
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请的目的是提供一种用于任务调度的方法及设备,本申请通过按照任务的优先级从数据库中选取待执行任务放入至目标消息队列;通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息;根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。从而通过只将当前一段时间内要执行的任务调到消息队列中,实现随时调整任务优先级,实时动态调度任务和进程,实现了系统的伸缩,易于问题定位。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于任务调度的方法及设备。
背景技术
随着互联网的发展,安全检测的任务越来越多,单机已不能满足业务要求,分布式的云检测要求服务器也越来越多。现有的任务调度方案多基于开源消息队列,任务创建时可以调整优先级,而任务加入消息队列后不能调整优先级,同时受限于开源工具的功能,扩展性差;进程在服务器上常驻,没有任务时也占用资源;无法针对业务高峰低谷实现系统的自动伸缩;现有的消息队列只适用于类型单一的任务,对于任务类型复杂的安全检测任务不适用;日志记录与服务器文件,不易定位问题。
发明内容
本申请的一个目的是提供一种用于任务调度的方法及设备,解决现有技术中依赖开源消息队列工具导致扩展性差、加入消息队列后任务优先级固定、仅能应用于单一类型任务的问题。
根据本申请的一个方面,提供了一种用于任务调度的方法,该方法包括:
按照任务的优先级从数据库中选取待执行任务放入至目标消息队列;
通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息;
根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。
进一步地,按照任务的优先级从数据库中选取待执行任务放入至目标消息队列,包括:
获取待执行任务的数量及任务数最小值;
当所述待执行任务的数量小于所述任务数最小值时,按照任务的优先级以及过滤条件从数据库中选取待执行任务放入至所述目标消息队列。
进一步地,获取待执行任务的数量及任务数最小值包括:
以第一预设频率查询当前队列中的任务信息获取待执行任务数量和任务数最小值。
进一步地,所述任务的优先级由按照单次任务、创建时间超过预设值的任务、级别用户的任务以及级别类型的任务的顺序进行排序后确定。
进一步地,所述过滤条件包括服务器的限速值、服务器允许使用的互联网协议地址、任务创建时间以及允许调入的任务最大值中的任一项或任几项组合。
进一步地,所述方法包括:
以第二预设频率检查运行状态,根据所述运行状态获取运行信息,其中,所述运行信息包括:服务器数量、服务器对应的中央处理器数量、服务器的负载、服务器上运行的进程数量、任务的平均执行时长、任务优先级、待执行任务数量。
进一步地,根据运行信息及所述执行信息为所述待执行任务重新调整调度配置包括:
计算每个服务器被允许启用的进程数量和每类任务开启的进程数量阈值;
获取所述已有调度配置下的当前进程数量,根据所述每类任务开启的进程数量阈值删除多余的进程,根据所述每个服务器被允许启用的进程数量分配新增的进程。
进一步地,根据所述每类任务开启的进程数量阈值删除多余的进程,包括:
比较所述当前进程数量和所述每类任务开启的进程数量阈值,当所述当前进程数量大于所述任务开启的进程数量阈值的上界时,以负载从高到低依次按序删除进程,当所述当前进程数量小于等于所述任务开启的进程数量阈值的上界时停止删除。
进一步地,所述根据所述每个服务器被允许启用的进程数量分配新增的进程,包括:
比较所述当前进程数量和所述每类任务开启的进程数量阈值,当所述任务开启的进程数量小于所述每类任务开启的进程数量阈值的下界时,以所述每个服务器被允许启用的进程数量从高到低依次排列多个服务器并按序为所述多个服务器分配新的进程,当所述当前进程数量大于等于所述任务开启的进程数量阈值的下界时停止分配。
进一步地,根据运行信息及所述执行信息为所述待执行任务重新调整调度配置之后,包括:
记录并储存重新调整后的调度配置。
进一步地,确定所述待执行任务的执行信息之后,包括:
将所述待执行任务的执行信息储存为日志信息,其中,所述执行信息包括执行时长、运行的服务器响应速度、响应状态码、当前请求互联网协议地址可用与否以及程序异常信息;
扫描获取并分析所述日志信息,根据分析结果,判断是否超过预设指标值,若是,则报警;
或,当分析结果为异常信息时进行报警。
进一步地,所述方法还包括:
根据所述运行信息和/或所述执行信息调整所述任务的优先级。
根据本申请的又一个方面,提供了一种用于任务调度的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述任一项所述方法的操作。
根据本申请的再一个方面,提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述任一项所述的方法。
与现有技术相比,本申请通过按照任务的优先级从数据库中选取待执行任务放入至目标消息队列;通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息;根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。从而通过只将当前一段时间内要执行的任务调到消息队列中,实现随时调整任务优先级,实时动态调度任务和进程,实现了系统的伸缩,易于问题定位。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种用于任务调度的方法流程示意图;
图2示出本申请一优选实施例中任务调度的方法流程示意图;
图3示出本申请又一优选实施例中进程调度的方法流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种用于任务调度的方法流程示意图,所述方法包括:步骤S11~S13,步骤S11,按照任务的优先级从数据库中选取待执行任务放入至目标消息队列;步骤S12,通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息;步骤S13,根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。从而通过只将当前一段时间内要执行的任务调到消息队列中,实现随时调整任务优先级,实时动态调度任务和进程,实现了系统的伸缩,易于问题定位。
具体地,在步骤S11中,按照任务的优先级选取待执行任务放入至目标消息队列。其中,所述任务的优先级为预设的任务优先级,可以按照任务的优先级定期自任务存储的数据库中选取待执行任务调入到目标消息队列中,从而使得任务只有调入到目标消息队列后才执行,降低了对开源消息队列的依赖,业务更具有扩展性。在此,所述任务的优先级允许被更改,以使目标消息队列中的任务的优先级能够在选取待执行任务过程中被更改,实现随时调整任务优先级,便于灵活调度任务。需要说明的是,将任务调入到目标消息队列中时,还可以结合优先级与用户网站服务器的限速、检测服务器IP等从数据库中读取任务调入到目标消息队列,实现业务更灵活的调度。
在步骤S12中,通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息,在此,进程按照目标消息队列中任务的顺序读取待执行任务,接着按照已有调度配置执行所述待执行任务,其中,所述已有调度配置包括现有的进程的数量和服务器的数量等,利用已有调度配置确定所述待执行任务的执行信息,从而可以方便后续判断出该已有调度配置是否满足目标消息队列中的任务,若不满足,可进行调整调度配置,实现实时动态调度任务。其中,执行信息为执行所述待执行任务的系统信息,例如所述待执行任务的执行时长、服务器响应速度、服务器响应状态码、当前请求互联网协议地址(IP)是否可用、程序异常信息等;通过收集的如服务器信息、任务信息、检测服务器IP信息等这些执行信息,实时掌握系统运行状态。
在步骤S13中,根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。在此,所述运行信息为系统运行信息,例如服务器量、服务器的处理器数量、服务器的负载、服务器上运行的进程数量、每类任务的平均执行时长、任务类型的优先级、每类任务的待执行任务数量等,根据运行信息以及所述执行信息重新调整现有的调度配置,即重新计算系统的资源使用量,重新分配任务使用的资源,实时动态调整进程的调度配置实现系统的伸缩,保证了系统性能优良。
在本申请一实施例中,所述一种用于任务调度的方法应用于云安全检测的任务调度,系统的云安全检测会产生大量的子任务,不同类型的子任务执行成功的外因复杂,受限的安全因素很多,例如互联网协议地址被封锁、用户网站服务器的限速等,上一个能执行成功的任务,下一个就可能执行失败,需要实时动态调度任务,同时云安全检测的业务会有高峰与低谷,高峰时需要更多的资源执行任务,低谷时则可以将资源转移到其他业务中。
优选地,在步骤S11中,获取待执行任务的数量及任务数最小值;当所述待执行任务的数量小于所述任务数最小值时,按照任务的优先级以及过滤条件从数据库中选取待执行任务放入至所述目标消息队列。在此,所述待执行任务最小值为单位时间与任务平均执行时长的比值,其中,所述单位时间被预设置,在本申请一实施例中,单位时间预设为60秒。当所述待执行任务的数量小于所述任务数最小值时,获取数据库中待执行任务,以任务的优先级以及过滤条件对数据库中待执行任务进行筛选后按序获取待执行任务,接着,按获取顺序放入至所述目标消息队列。其中,所述过滤条件由多个参数组成,例如服务器的限速值、可使用的互联网协议地址、任务创建时间、允许调入的任务最大值等,在此,所述过滤条件可以根据不同应用背景进行自由设置。
优选地,在步骤S11中,以第一预设频率查询当前队列中的任务信息获取待执行任务数量和任务数最小值。在此,预设某一频率作为第一预设频率,以所述第一预设频率查询当前队列中的任务信息,来确定所述待执行任务数量和任务数最小值,以实时调整待执行任务的调度。
在本申请一优选实施例中,任务在消息队列中任务数最大值用公式表示为:
任务在消息队列中任务数最小值用公式表示为:
其中,所述任务调度单位时间间隔即为所述第一预设频率查询消息队列中任务的查询时间间隔,在此,预设所述任务调度单位时间间隔为整数,取值范围为[1,10],单位为分钟;所述单位时间预设为1分钟,即60秒;所述任务平均执行时长预设单位为秒。在此,当以所述任务调度单位时间间隔查询当前消息队列中的任务,也就是以第一预设频率查询当前队列中的任务信息,如果待执行任务数低于所述任务最小值,则要为当前消息队列调度新任务。
优选地,在步骤S11中,所述任务的优先级由按照单次任务、创建时间超过预设值的任务、级别用户的任务以及级别类型的任务的顺序进行排序后确定。在此,所述任务的优先级允许被调整和预设置,包括不同类型任务优先级,单次任务与多次任务的优先级,不同级别用户的优先级等,任务添加时使用预设的值,添加后可在后台调整。可以通过按照单次任务、创建时间超过预设值的任务、级别用户的任务以及级别类型的任务的顺序进行排序以使得获取的待处理任务与当前应用系统业务相匹配。在本申请一优选实施例中,优先级从高到低顺次排列顺序为:单次任务、创建时间超过预设值的任务、高级别用户的任务、高级别类型的任务。
优选地,在步骤S11中,所述过滤条件包括服务器的限速值、服务器允许使用的互联网协议地址、任务创建时间以及允许调入的任务最大值中的任一项或任几项组合。在此,所述服务器包括系统服务器以及用户目标服务器。在本申请一实施例中,所述服务器为用于云安全检测的检测服务器以及用户待检测目标服务器。
图2示出本申请一优选实施例中任务调度的方法流程示意图,通过检查当前消息队列获取待执行任务的数量及任务数最小值,将所述待执行任务数量与任务数最小值进行比较,当所述待执行任务数量高于任务数最小值时不响应;当所述待执行任务数量低于任务数最小值时,读取当前任务配置,按照优先级读取数据库中待执行任务,利用过滤条件过滤所述待执行任务后,将过滤后的待执行任务放入至目标消息队列中。
图3示出本申请又一优选实施例中进程调度的方法流程示意图,所述方法包括:以第二预设频率检查运行状态,根据所述运行状态获取运行信息,其中,所述运行信息包括:服务器数量、服务器对应的中央处理器数量、服务器的负载、服务器上运行的进程数量、任务的平均执行时长、任务优先级、待执行任务数量。在此,预设某一频率为第二预设频率,以第二预设频率检查运行状态来确定运行信息。
在本申请一优选实施例中,获取到的运行信息按优先级从高到低按序为:服务器的负载、服务器上运行的进程数量、每类任务的平均执行时长、任务优先级、每类任务的待执行任务数量。在本申请又一实施例中,所述第二预设频率为进程调度的单位时间间隔,设置为5的倍数。
优选地,在步骤S13中,计算每个服务器被允许启用的进程数量和每类任务开启的进程数量阈值;获取所述已有调度配置下的当前进程数量,根据所述每类任务开启的进程数量阈值删除多余的进程,根据所述每个服务器被允许启用的进程数量分配新增的进程。
具体地,参见图3,根据获取到的运行信息计算每个服务器被允许启用的进程数量。在本申请一优选实施例中,所述每台服务器可启用的进程数量为中央处理器核数、中央处理器进程系数和中央处理器核数与服务器负载系数比值的乘积,公式可表示为:
其中,所述中央处理器的进程系数为一个中央处理器单核允许开启的进程数量,所述中央处理器核数为单台服务器中央处理器总核数。例如,一个中央处理器有4核且单核可开8个进程,则所述中央处理器最多可以开启32个进程。在本申请一实施例中,所述中央处理器的进程系数被预设为整数,并设定取值范围为[1,10]。所述服务器负载系数(cpu_load)为根据Linux服务器上利用top命令查询到的中央处理器负载数值(linux_cpu_load)计算得到,在此,当所述linux_cpu_load的数值小于等于对应的单台服务器上中央处理器总核数时,服务器负载系数为对应的单台服务器上中央处理器总核数;当所述linux_cpu_load的数值大于对应的单台服务器上中央处理器总核数时,对linux_cpu_load的数值向上取整得到服务器负载系数。
接着,根据获取到的运行信息计算每类任务开启的进程数量阈值,也就是用以消费完成每类任务开启多少个进程,所述每类任务开启的进程数量为数据库中待执行任务数量与每个进程可执行的任务数量的比值,可表示为。其中,每类任务开启的进程数量阈值的下界为任务开启进程的最小值,每类任务开启的进程数量阈值的上界为任务开启进程的最大值,在本申请一实施例中,所述任务开启进程的最小值预设为1,所述任务开启进程的最大值可以被自由设置。
接着,获取所述已有调度配置下的当前进程数量,通过将所述当前进程数量与所述每类任务开启的进程数量阈值进行比较,得到比较结果,根据所述比较结果对进程进行调度并得到新的配置。当所述当前进程较所述每类任务开启的进程数量阈值要多时,删除多余的进程,当所述当前进程较所述每类任务开启的进程数量阈值要少时,根据所述每个服务器被允许启用的进程数量分配新增的进程。
优选地,如图3所示,在步骤S13中,比较所述当前进程数量和所述每类任务开启的进程数量阈值,当所述当前进程数量大于所述任务开启的进程数量阈值的上界时,以负载从高到低依次按序删除进程,当所述当前进程数量小于等于所述任务开启的进程数量阈值的上界时停止删除。在此,所述当前进程数量大于所述任务开启的进程数量阈值上界,也就是所述当前进程数量大于所述任务开启的进程最大值时,通过任务开启进程的服务器将进程以负载从高到低依次按序删除进程,直至所述当前进程数量小于等于所述任务开启的进程最大值时停止对进程的删除。以将占用的进程进行释放,提升系统性能。
优选地,在步骤S13中,比较所述当前进程数量和所述每类任务开启的进程数量阈值,当所述任务开启的进程数量小于所述每类任务开启的进程数量阈值的下界时,以所述每个服务器被允许启用的进程数量从高到低依次排列多个服务器并按序为所述多个服务器分配新的进程,当所述当前进程数量大于等于所述任务开启的进程数量阈值的下界时停止分配。在此,所述当前进程数量小于所述任务开启的进程数量阈值下界,也就是所述当前进程数量小于所述任务开启的进程最小值时,以所述每个服务器被允许启用的进程数量从高到低依次排列多个服务器,接着按序为所述多个服务器分配新的进程,当所述当前进程数量大于等于所述任务开启的进程最小值时停止分配新的进程。以将冗余的进程进行充分利用,提升系统性能。
优选地,在根据运行信息及所述执行信息为所述待执行任务重新调整调度配置之后,记录并储存重新调整后的调度配置。在此,根据运行信息以及所述执行信息对当前进程进行删除处理或对服务器进行进程分配处理后得到重新调整后的进程调度配置,记录并储存重新调整后的调度配置,以便于根据储存的调度配置对当前进程进行重新调整。
优选地,在确定所述待执行任务的执行信息之后,将所述待执行任务的执行信息储存为日志信息,其中,所述执行信息包括执行时长、运行的服务器响应速度、响应状态码、当前请求互联网协议地址可用与否以及程序异常信息;扫描获取并分析所述日志信息,根据分析结果,判断是否超过预设指标值,若是,则报警;或,当分析结果为异常信息时进行报警。
具体地,所述执行信息包括但不限于执行时长、运行的服务器响应速度、响应状态码、当前请求互联网协议地址可用与否以及程序异常信息,其中,所述执行时长用于计算任务的平均执行时长并根据任务执行状态实时更新;所述运行的服务器响应速度用于计算运行服务器的压力以及限速值,便于优化系统运行性能;所述当前请求互联网协议地址可用与否用于任务调度时,不再调度对应无法使用的当前互联网协议地址的任务,以提高任务的成功率。
接着,将所述待执行任务的执行信息储存为日志信息,并储存于同一的日志系统,所述日志信息被扫描获取或实时获取。被扫描获取后,所述日志信息经过分析得到分析结果,判断所述分析结果是否超过预设指标值,若是,则报警;被扫描获取或实时获取后,当日志信息中包含异常信息时实时进行报警。通过将任务执行日志、异常日志等全部写入日志系统,以便于系统问题的定位分析,减少了对系统异常的响应时间。
在本申请一实施例中,通过日志系统实现日志实时处理,包括实时分析日志、异常报警以及日志存储等。进行实时日志分析时采用流式处理的方式,对接收到的日志做分析,分析的信息有两类:执行信息与异常信息,其中,执行信息为在执行过程中收集到的信息,包括执行时长、目标服务器响应时间、IP被封等。执行时长用于计算任务的平均执行时长并根据任务执行状态实时更新;所述运行的服务器响应速度用于计算运行服务器的压力以及限速值,便于优化系统运行性能;所述当前请求互联网协议地址可用与否用于任务调度时,不再调度对应无法使用的当前互联网协议地址的任务,以提高任务的成功率。异常报警包括实时报警和非实时报警,实时报警使用流式处理方式,发现异常即报警,非实时报警是定期扫描日志,汇总分析的结果超过指标值即报警。日志存储是将日志存储于服务器上,可多机存储,水平扩展。
在本申请一实施例中,还可进行后台管理,通过网页(web)实现,从而进行任务管理、服务器管理以及日志管理,其中,任务管理包括维护任务信息、调整任务的参数,比如调整任务优先级,还包括展示任务的执行日志;服务器管理包括维护服务器信息、管理服务器上的进程以及展示历史性能记录;日志管理包括展示系统的各种日志,例如异常日志等。
优选地,所述方法还包括:根据所述运行信息和/或所述执行信息调整所述任务的优先级。在此,所述任务的优先级被允许调整,根据所述运行信息和/或所述执行信息与当前应用环境进行匹配后对任务优先级进行调整,以实现根据系统的运行状态动态调整任务的执行。
根据本申请再一个方面,还提供了一种用于任务调度的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述的方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
通过按照任务的优先级从数据库中选取待执行任务放入至目标消息队列;通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息;根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种用于任务调度的方法。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (14)
1.一种用于任务调度的方法,其中,所述方法包括:
按照任务的优先级从数据库中选取待执行任务放入至目标消息队列;
通过进程读取所述目标消息队列中的待执行任务后按照已有调度配置执行所述待执行任务,以确定所述待执行任务的执行信息;
根据运行信息及所述执行信息为所述待执行任务重新调整调度配置,其中,调度配置包括分配进程的数量和运行的服务器。
2.根据权利要求1所述的方法,其中,按照任务的优先级从数据库中选取待执行任务放入至目标消息队列,包括:
获取待执行任务的数量及任务数最小值;
当所述待执行任务的数量小于所述任务数最小值时,按照任务的优先级以及过滤条件从数据库中选取待执行任务放入至所述目标消息队列。
3.根据权利要求1所述的方法,其中,获取待执行任务的数量及任务数最小值包括:
以第一预设频率查询当前队列中的任务信息获取待执行任务数量和任务数最小值。
4.根据权利要求2所述的方法,其中,所述任务的优先级由按照单次任务、创建时间超过预设值的任务、级别用户的任务以及级别类型的任务的顺序进行排序后确定。
5.根据权利要求2所述的方法,其中,所述过滤条件包括服务器的限速值、服务器允许使用的互联网协议地址、任务创建时间以及允许调入的任务最大值中的任一项或任几项组合。
6.根据权利要求1所述的方法,其中,所述方法包括:
以第二预设频率检查运行状态,根据所述运行状态获取运行信息,其中,所述运行信息包括:服务器数量、服务器对应的中央处理器数量、服务器的负载、服务器上运行的进程数量、任务的平均执行时长、任务优先级、待执行任务数量。
7.根据权利要求1所述的方法,其中,根据运行信息及所述执行信息为所述待执行任务重新调整调度配置包括:
计算每个服务器被允许启用的进程数量和每类任务开启的进程数量阈值;
获取所述已有调度配置下的当前进程数量,根据所述每类任务开启的进程数量阈值删除多余的进程,根据所述每个服务器被允许启用的进程数量分配新增的进程。
8.根据权利要求7所述的方法,其中,所述根据所述每类任务开启的进程数量阈值删除多余的进程,包括:
比较所述当前进程数量和所述每类任务开启的进程数量阈值,当所述当前进程数量大于所述任务开启的进程数量阈值的上界时,以负载从高到低依次按序删除进程,当所述当前进程数量小于等于所述任务开启的进程数量阈值的上界时停止删除。
9.根据权利要求7所述的方法,其中,所述根据所述每个服务器被允许启用的进程数量分配新增的进程,包括:
比较所述当前进程数量和所述每类任务开启的进程数量阈值,当所述任务开启的进程数量小于所述每类任务开启的进程数量阈值的下界时,以所述每个服务器被允许启用的进程数量从高到低依次排列多个服务器并按序为所述多个服务器分配新的进程,当所述当前进程数量大于等于所述任务开启的进程数量阈值的下界时停止分配。
10.根据权利要求1所述的方法,其中,根据运行信息及所述执行信息为所述待执行任务重新调整调度配置之后,包括:
记录并储存重新调整后的调度配置。
11.根据权利要求1所述的方法,其中,确定所述待执行任务的执行信息之后,包括:
将所述待执行任务的执行信息储存为日志信息,其中,所述执行信息包括执行时长、运行的服务器响应速度、响应状态码、当前请求互联网协议地址可用与否以及程序异常信息;
扫描获取并分析所述日志信息,根据分析结果,判断是否超过预设指标值,若是,则报警;
或,当分析结果为异常信息时进行报警。
12.根据权利要求1所述的方法,其中,所述方法还包括:
根据所述运行信息和/或所述执行信息调整所述任务的优先级。
13.一种用于任务调度的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至12中任一项所述方法的操作。
14.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910727238.7A CN112346829B (zh) | 2019-08-07 | 2019-08-07 | 一种用于任务调度的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910727238.7A CN112346829B (zh) | 2019-08-07 | 2019-08-07 | 一种用于任务调度的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346829A true CN112346829A (zh) | 2021-02-09 |
CN112346829B CN112346829B (zh) | 2023-02-17 |
Family
ID=74367345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910727238.7A Active CN112346829B (zh) | 2019-08-07 | 2019-08-07 | 一种用于任务调度的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346829B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177680A (zh) * | 2021-03-10 | 2021-07-27 | 广州明珞自动化有限公司 | 一种任务执行系统、任务执行方法及生产系统 |
CN113329078A (zh) * | 2021-05-27 | 2021-08-31 | 北京达佳互联信息技术有限公司 | 数据存储的方法和装置 |
CN113342493A (zh) * | 2021-06-15 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 任务执行方法、装置及计算机设备 |
CN113590281A (zh) * | 2021-07-16 | 2021-11-02 | 中国人民解放军国防科技大学 | 基于动态集中式调度的分布式并行模糊测试方法及系统 |
CN113645508A (zh) * | 2021-08-10 | 2021-11-12 | 北京读我科技有限公司 | 一种消息输出方法、装置及系统 |
CN114064241A (zh) * | 2021-11-15 | 2022-02-18 | 中国平安财产保险股份有限公司 | 任务执行方法及相关装置 |
CN114978929A (zh) * | 2022-04-29 | 2022-08-30 | 苏州浪潮智能科技有限公司 | 一种网络调度装置和方法 |
CN115147168A (zh) * | 2022-06-20 | 2022-10-04 | 广东航天信息爱信诺科技有限公司 | 一种电子发票开具任务处理方法、装置及系统 |
CN115328640A (zh) * | 2022-10-17 | 2022-11-11 | 广州数说故事信息科技有限公司 | 一种任务调度方法、装置、系统及计算机可读存储介质 |
CN116679878A (zh) * | 2023-05-31 | 2023-09-01 | 珠海妙存科技有限公司 | 闪存数据处理方法、装置、电子设备及可读存储介质 |
CN116737672A (zh) * | 2022-09-13 | 2023-09-12 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145444A1 (zh) * | 2009-06-17 | 2010-12-23 | 中兴通讯股份有限公司 | 一种及时消息及时处理的方法及装置 |
CN106713396A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 服务器调度方法和系统 |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
CN107315627A (zh) * | 2017-05-31 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 一种自动化配置数据仓库并行任务队列的方法和装置 |
CN109408220A (zh) * | 2017-08-17 | 2019-03-01 | 北京国双科技有限公司 | 一种任务处理方法及装置 |
CN110096344A (zh) * | 2018-01-29 | 2019-08-06 | 北京京东尚科信息技术有限公司 | 任务管理方法、系统、服务器集群和计算机可读介质 |
-
2019
- 2019-08-07 CN CN201910727238.7A patent/CN112346829B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145444A1 (zh) * | 2009-06-17 | 2010-12-23 | 中兴通讯股份有限公司 | 一种及时消息及时处理的方法及装置 |
CN106713396A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 服务器调度方法和系统 |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
CN107315627A (zh) * | 2017-05-31 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 一种自动化配置数据仓库并行任务队列的方法和装置 |
CN109408220A (zh) * | 2017-08-17 | 2019-03-01 | 北京国双科技有限公司 | 一种任务处理方法及装置 |
CN110096344A (zh) * | 2018-01-29 | 2019-08-06 | 北京京东尚科信息技术有限公司 | 任务管理方法、系统、服务器集群和计算机可读介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177680A (zh) * | 2021-03-10 | 2021-07-27 | 广州明珞自动化有限公司 | 一种任务执行系统、任务执行方法及生产系统 |
CN113329078A (zh) * | 2021-05-27 | 2021-08-31 | 北京达佳互联信息技术有限公司 | 数据存储的方法和装置 |
CN113329078B (zh) * | 2021-05-27 | 2023-02-21 | 北京达佳互联信息技术有限公司 | 数据存储的方法和装置 |
CN113342493A (zh) * | 2021-06-15 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 任务执行方法、装置及计算机设备 |
CN113590281A (zh) * | 2021-07-16 | 2021-11-02 | 中国人民解放军国防科技大学 | 基于动态集中式调度的分布式并行模糊测试方法及系统 |
CN113590281B (zh) * | 2021-07-16 | 2023-09-26 | 中国人民解放军国防科技大学 | 基于动态集中式调度的分布式并行模糊测试方法及系统 |
CN113645508A (zh) * | 2021-08-10 | 2021-11-12 | 北京读我科技有限公司 | 一种消息输出方法、装置及系统 |
CN113645508B (zh) * | 2021-08-10 | 2023-09-19 | 北京读我科技有限公司 | 一种消息输出方法、装置及系统 |
CN114064241A (zh) * | 2021-11-15 | 2022-02-18 | 中国平安财产保险股份有限公司 | 任务执行方法及相关装置 |
CN114978929A (zh) * | 2022-04-29 | 2022-08-30 | 苏州浪潮智能科技有限公司 | 一种网络调度装置和方法 |
CN114978929B (zh) * | 2022-04-29 | 2023-08-18 | 苏州浪潮智能科技有限公司 | 一种网络调度装置和方法 |
CN115147168A (zh) * | 2022-06-20 | 2022-10-04 | 广东航天信息爱信诺科技有限公司 | 一种电子发票开具任务处理方法、装置及系统 |
CN115147168B (zh) * | 2022-06-20 | 2023-05-09 | 广东航天信息爱信诺科技有限公司 | 一种电子发票开具任务处理方法、装置及系统 |
CN116737672B (zh) * | 2022-09-13 | 2024-04-26 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN116737672A (zh) * | 2022-09-13 | 2023-09-12 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN115328640A (zh) * | 2022-10-17 | 2022-11-11 | 广州数说故事信息科技有限公司 | 一种任务调度方法、装置、系统及计算机可读存储介质 |
CN116679878B (zh) * | 2023-05-31 | 2024-04-19 | 珠海妙存科技有限公司 | 闪存数据处理方法、装置、电子设备及可读存储介质 |
CN116679878A (zh) * | 2023-05-31 | 2023-09-01 | 珠海妙存科技有限公司 | 闪存数据处理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112346829B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112346829B (zh) | 一种用于任务调度的方法及设备 | |
CN107807796B (zh) | 一种基于超融合存储系统的数据分层方法、终端及系统 | |
US20180365085A1 (en) | Method and apparatus for monitoring client applications | |
US10831387B1 (en) | Snapshot reservations in a distributed storage system | |
CN109669776B (zh) | 检测任务的处理方法、装置和系统 | |
US9813450B1 (en) | Metadata-based verification of artifact quality policy compliance | |
US10817380B2 (en) | Implementing affinity and anti-affinity constraints in a bundled application | |
CN107515784B (zh) | 一种在分布式系统中计算资源的方法与设备 | |
CN110737717B (zh) | 一种数据库迁移方法及装置 | |
CN107168788B (zh) | 分布式系统中资源的调度方法以及装置 | |
CN111600771B (zh) | 网络资源探测系统、方法 | |
CN117667305A (zh) | 基于业务场景的安全策略的部署方法、装置及电子设备 | |
CN110968406B (zh) | 处理任务的方法、装置、存储介质和处理器 | |
US8019799B1 (en) | Computer system operable to automatically reorganize files to avoid fragmentation | |
CN116594734A (zh) | 容器迁移方法、装置、存储介质及电子设备 | |
CN107958414B (zh) | 一种清除cics系统长交易的方法及系统 | |
CN115562933A (zh) | 作业监控数据的处理方法及装置、存储介质、电子设备 | |
CN115048186A (zh) | 业务容器的扩缩容处理方法、装置、存储介质及电子设备 | |
CN114201284A (zh) | 定时任务管理方法及系统 | |
CN115442262A (zh) | 一种资源评估方法、装置、电子设备及存储介质 | |
WO2021096346A1 (en) | A computer-implemented system for management of container logs and its method thereof | |
CN110874268B (zh) | 数据处理方法、装置和设备 | |
CN110597603A (zh) | 一种分布式排期任务的调度方法与系统 | |
CN112540842A (zh) | 动态调整系统资源的方法及装置 | |
JP2007133632A (ja) | セキュリティポリシー設定方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |