CN111949384A - 任务调度方法、装置、设备及计算机可读存储介质 - Google Patents
任务调度方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111949384A CN111949384A CN201910397344.3A CN201910397344A CN111949384A CN 111949384 A CN111949384 A CN 111949384A CN 201910397344 A CN201910397344 A CN 201910397344A CN 111949384 A CN111949384 A CN 111949384A
- Authority
- CN
- China
- Prior art keywords
- equipment
- task
- record table
- virtual machine
- weight value
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种任务调度方法、装置、设备及计算机可读存储介质,该方法包括:检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备;根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值;根据各设备对应的权重值向各设备分配任务。本发明实施例能够减少向不稳定的设备分配任务的概率,进而提升整个系统的稳定性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种任务调度方法、装置、设备及计算机可读存储介质。
背景技术
虚拟机能够消除底层软硬件的差别,使得程序可以跨平台运行在各种设备上,与设备硬件及操作系统无关。例如,通过Java虚拟机,Java程序能够广泛应用于电脑、服务器、智能设备、嵌入式系统等设备中。程序的稳定运行依赖于虚拟机的稳定运行。如果虚拟机出现崩溃等错误,会导致相应程序的终止,造成服务的中断。
现有技术中,通常在多个设备上部署多个虚拟机,任务调度器对各个设备进行任务分配,来提高整个服务的可靠性和可用性。
然而现有技术中,任务调度器容易将任务分配到不稳定的设备上,由于不稳定的设备上虚拟机发生崩溃等错误,会导致服务中断,系统稳定性差。
发明内容
本发明实施例提供一种任务调度方法、装置、设备及计算机可读存储介质,以解决目前任务调度器容易将任务分配到不稳定的设备上导致系统稳定性差的问题。
第一方面,本发明实施例提供一种任务调度方法,包括:
检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;
若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备;
根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值;
根据各设备对应的权重值向各设备分配任务。
在一种可能的实施方式中,所述检测记录表中各设备标识对应的设备是否处于异常运行状态,包括:
向所述记录表中各设备标识对应的设备发送服务请求;
若超过预设时间阈值未接收到某设备的响应消息,则确定该设备为处于异常运行状态的第一设备。
在一种可能的实施方式中,所述根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值,包括:
将各设备的任务数除以重启次数得到的结果作为各设备对应的权重值。
在一种可能的实施方式中,所述根据各设备对应的权重值向各设备分配任务,包括:
按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务。
在一种可能的实施方式中,每个设备上至少部署一个虚拟机;每个设备上的各虚拟机在发生错误后自动进行重启;所述记录表中记录有每个设备上各虚拟机的虚拟机标识及错误次数;
在所述按照各设备对应的权重值的高低确定各设备对应的任务分配优先级之前,所述方法还包括:
若第一虚拟机发生错误后自动进行重启,则将所述记录表中所述第一虚拟机的错误次数进行更新;
所述按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,包括:
对于权重值相同的多个设备,分别计算每个设备上所有虚拟机的错误次数之和,并根据每个设备对应的错误次数之和的大小确定每个设备对应的任务分配优先级。
在一种可能的实施方式中,在所述按照各设备对应的权重值的高低确定各设备对应的任务分配优先级之后,还包括:
分别将各设备对应的任务分配优先级与预设优先级阈值进行对比;
在所述记录表中将任务分配优先级低于所述预设优先级阈值的设备标记为不稳定设备。
第二方面,本发明实施例提供一种任务调度装置,包括:
检测模块,用于检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;
记录模块,用于若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备;
计算模块,用于根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值;
分配模块,用于根据各设备对应的权重值向各设备分配任务。
在一种可能的实施方式中,所述检测模块用于:
向所述记录表中各设备标识对应的设备发送服务请求;
若超过预设时间阈值未接收到某设备的响应消息,则确定该设备为处于异常运行状态的第一设备。
第三方面,本发明实施例提供一种任务调度设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的任务调度方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的任务调度方法。
本实施例提供的任务调度方法、装置、设备及计算机可读存储介质,通过检测记录表中各设备标识对应的设备是否处于异常运行状态;记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;若检测到第一设备,则对第一设备进行重启,并将记录表中第一设备的重启次数进行更新,第一设备为处于异常运行状态的设备;根据记录表中各设备的任务数和重启次数,确定各设备对应的权重值;根据各设备对应的权重值向各设备分配任务,能够实现虚拟机任务调度。本发明实施例通过检测各设备的重启次数,在确定设备的任务分配优先级时考虑设备的重启次数与任务数,能够减少向不稳定的设备分配任务的概率,进而提升整个系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的任务调度系统的架构示意图;
图2为本发明一实施例提供的任务调度方法的流程示意图;
图3为本发明又一实施例提供的任务调度方法的流程示意图;
图4为本发明另一实施例提供的任务调度方法的流程示意图;
图5为本发明再一实施例提供的任务调度方法的流程示意图;
图6为本发明一实施例提供的任务调度装置的结构示意图;
图7为本发明又一实施例提供的任务调度装置的结构示意图;
图8为本发明一实施例提供的任务调度设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的任务调度系统的架构示意图。如图1所示,本实施例提供的任务调度系统包括任务调度设备11和多个部署虚拟机的设备12。其中,每个设备12上可以部署一个或多个虚拟机,任务调度设备11用于检测和记录每个设备12的运行状态,确定及调整每个设备的任务分配优先级,并根据任务分配优先级向各个设备12分配任务。其中,任务调度设备11为具备数据处理和通信功能的设备,如终端设备、服务器等,在此不作限定。虚拟机可以为Java虚拟机、framework虚拟机、android虚拟机等,在此不作限定。
下面以Java虚拟机为例进行说明。例如,可以在N台设备12上平均部署M个Java虚拟机进程。其中,N和M均为正整数,且M大于或等于N。将该M个Java虚拟机进程和N台设备12的对应关系记录到任务调度设备11存储的记录表中。任务调度开始前,启动N台设备12,并采用自动重启方式启动各个设备上的Java虚拟机,使所有N台设备上的Java虚拟机全部启动。
图2为本发明一实施例提供的任务调度方法的流程示意图。如图2所示,该方法包括:
S201、检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数。
在本实施例中,每个部署虚拟机的设备对应于一个设备标识。记录表中记录有部署虚拟机的每个设备的设备标识,并且记录有每个设备的任务数和每个设备的重启次数。其中,一个设备每重启一次,则记录表中该设备对应的重启次数加一。一个设备的任务数为任务调度设备给该设备所分配的任务的数量。任务数可以为一段时间内分配给该设备的所有任务数,或者该设备当前已完成的任务数,或者该设备当前未完成的任务数,在此不作限定。
设备的运行状态可以包括正常运行状态和异常运行状态。其中,设备的正常运行状态为设备自身能够正常运行的状态;设备的异常运行状态为设备自身运行出现错误的的状态。例如,设备的异常运行状态可以包括设备通信端口停止工作,设备的操作系统崩溃等。任务调度设备可以通过与各设备之间进行通信来检测各设备是否处于异常运行状态。
S202、若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备。
在本实施例中,若检测到某设备处于异常运行状态,则该设备为第一设备,可以控制该设备重启,并且将记录表中该设备的重启次数加一。在该设备重启后,该设备上的虚拟机会进行自动重启,通过对第一设备的主动重启和虚拟机的自动重启使第一设备由异常运行状态恢复到正常运行状态,以便恢复服务。
S203、根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值。
在本实施例中,可以根据记录表中各个设备的任务数和重启次数来计算各个对应的权重值。其中,一个设备的任务数能够表征该设备的任务处理能力,一个设备的重启次数能够表征该设备的历史故障的发生情况。
S204、根据各设备对应的权重值向各设备分配任务。
在本实施例中,权重值可以表征设备的稳定性情况,可以根据各设备的权重值向各设备分配任务,以减少向不稳定设备分配任务的概率和数量。
本发明实施例通过检测记录表中各设备标识对应的设备是否处于异常运行状态;记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;若检测到第一设备处于异常运行状态,则对第一设备进行重启,并将记录表中第一设备的重启次数进行更新;根据记录表中各设备的任务数和重启次数,确定各设备对应的权重值;按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务,能够实现虚拟机任务调度。本发明实施例通过检测各设备的重启次数,在确定设备的任务分配优先级时考虑设备的重启次数与任务数,能够调低不稳定的设备的任务分配优先级,减少向不稳定的设备分配任务的概率,进而提升整个系统的稳定性。
作为本发明的一个实施例,S204可以包括:按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务。
在本实施例中,任务分配优先级用于表征一个设备在任务分配过程中的优先程度。任务调度设备优先向任务分配优先级高的设备分配任务。一个设备的任务分配优先级越高,则任务调度设备向该设备分配任务的概率越大。本实施例通过各设备的任务数和重启次数来计算各设备对应的权重值,再根据各设备对应的权重值的高低确定各设备对应的任务分配优先级,根据各设备对应的任务分配优先级向各设备分配任务,能够在确定各设备对应的任务分配优先级时充分考虑到各设备的任务处理能力和历史故障信息,使得相对稳定的设备的任务分配优先级大于相对不稳定的设备的任务分配优先级,从而减少向不稳定设备分配任务的概率和数量,进而提高整个系统的稳定性。
图3为本发明又一实施例提供的任务调度方法的流程示意图。本实施例对检测设备状态的具体实现过程进行了详细说明。如图3所示,该方法包括:
S301、向所述记录表中各设备标识对应的设备发送服务请求;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数。
在本实施例中,服务请求可以是虚拟机调度设备向各个设备分配任务时发送的分配任务服务请求,也可以是虚拟机调度设备每隔预设时间间隔以轮询方式向各个设备发送的用于检测设备运行状态的检测服务请求,在此不作限定。服务请求指示各设备返回针对该服务请求的响应消息。
S302、若超过预设时间阈值未接收到某设备的响应消息,则确定该设备为处于异常运行状态的第一设备。
在本实施例中,可以记录向各个设备发送服务请求的时刻,然后在发送服务请求后预设时间阈值内没有接收到某设备的相应消息时,判定该设备处于异常运行状态,将该设备确定为第一设备。
S303、若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备。
在本实施例中,S303与图2实施例中的S202类似,此处不再赘述。
S304、根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值。
在本实施例中,S304与图2实施例中的S203类似,此处不再赘述。
可选地,将各设备的任务数除以重启次数得到的结果作为各设备对应的权重值。
在本实施例中,可以计算一个设备的任务数与该设备的重启次数之间的商值,将该商值作为该设备对应的权重值。按照各设备对应的权重值的高低确定各设备对应的任务分配优先级可以为,权重值越高的设备,其对应的任务分配优先级越高。
本实施例中,由于任务数表征该设备的任务处理能力,重启次数表征该设备的历史故障的发生情况,将设备的任务数除以重启次数的商值作为设备的权重值,再根据各设备对应的权重值确定各设备对应的任务分配优先级,能够使得确定出的任务分配优先级与设备的任务处理能力正相关,与历史故障发生情况负相关,从而使任务分配优先级能够准确反映设备稳定性。
S305、根据各设备对应的权重值向各设备分配任务。
在本实施例中,S305与图2实施例中的S204类似,此处不再赘述。
本实施例在超过预设时间阈值没有接收到某设备的响应消息时判断该设备处于异常运行状态,通过预设时间阈值的设置,能够及时准确地发现处于异常运行状态的设备,以便及时对设备进行重启恢复正常状态,能够提高整体系统的稳定性。
图4为本发明另一实施例提供的任务调度方法的流程示意图。本实施例中结合设备上虚拟机运行的错误次数来确定设备任务分配优先级。本实施例中每个设备上至少部署一个虚拟机;每个设备上的各虚拟机在发生错误后自动进行重启;所述记录表中还记录有每个设备上各虚拟机的虚拟机标识及错误次数;如图4所示,该方法包括:
S401、检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数。
在本实施例中,S401与图2实施例中的S201类似,此处不再赘述。
S402、若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备。
在本实施例中,S402与图2实施例中的S202类似,此处不再赘述。
S403、若第一虚拟机发生错误后自动进行重启,则将所述记录表中所述第一虚拟机的错误次数进行更新。
在本实施例中,在每个设备上部署一个或多个虚拟机。每个设备上的各个虚拟机在发生运行错误后都会以自动重启模式进行自动重启。虚拟机发生错误则不能进行正常的任务处理,此时通过对虚拟机的自动重启使虚拟机恢复正常运行状态。
对于每个设备,记录表中记录有该设备上的各个虚拟机的虚拟机标识和各个虚拟机的错误次数。其中,记录表中该设备的设备标识与该设备上的各个虚拟机的虚拟机标识为对应关系。在某虚拟机发生错误进行自动重启后,将记录表中该虚拟机的错误次数加一。虚拟机每多发生一次错误,则将记录表中对应的错误次数加一。
本实施例通过在记录表中记录每个设备上各虚拟机的错误次数,能够实现对虚拟机出现错误的数据统计,以便根据错误次数对每个设备上的虚拟机进行相应的维护,提高对虚拟机的维护效果和维护效果。
S404、根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值。
在本实施例中,S404与图2实施例中的S203类似,此处不再赘述。
S405、按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务,其中,对于权重值相同的多个设备,分别计算每个设备上所有虚拟机的错误次数之和,并根据每个设备对应的错误次数之和的大小确定每个设备对应的任务分配优先级。
在本实施例中,对于权重值相同的多个设备,可以分别计算每个设备上所有虚拟机的错误次数之和,然后根据每个设备对应的错误次数之和的大小确定每个设备对应的任务分配优先级,使错误次数之和相对较小的设备对应一个相对较高的任务分配优先级。
例如,权重值相同的三个设备:设备A,设备B和设备C。设备A上部署有两个虚拟机A1和A2,记录表中A1和A2的错误次数依次为3次和8次;设备B上部署有两个虚拟机B1和B2,记录表中B1和B2的错误次数依次为9次和6次;设备C上部署有三个虚拟机C1,C2和C3,记录表中C1,C2和C3的错误次数依次为4次,4次和6次。则设备A对应的错误次数之和为3+8=11,设备B对应的错误次数之和为9+6=15,设备C对应的错误次数之和为4+4+6=14,因此这三个设备按照任务分配优先级从高到低的排序依次为设备A,设备C和设备B。
本实施例对于权重值相同的多个设备,按照每个设备上所有虚拟机的错误次数之和确定这些设备的任务分配优先级,能够利用虚拟机的错误次数作为补充的优先级评判因素,能够在任务分配优先级确定过程中考虑到虚拟机的历史出错数据,从而减少向部署不稳定的虚拟机的设备分配的任务,进而提高整个系统的稳定性。
图5为本发明再一实施例提供的任务调度方法的流程示意图。本实施例中能够识别并标记出不稳定的设备。如图5所示,该方法包括:
S501、检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数。
在本实施例中,S501与图2实施例中的S201类似,此处不再赘述。
S502、若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备。
在本实施例中,S502与图2实施例中的S202类似,此处不再赘述。
S503、根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值。
在本实施例中,S503与图2实施例中的S203类似,此处不再赘述。
S504、按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务。
在本实施例中,S504与图2实施例中的S204类似,此处不再赘述。
S505、分别将各设备对应的任务分配优先级与预设优先级阈值进行对比。
在本实施例中,预设优先级阈值为预先设置的用于识别不稳定设备的优先级阈值。可以将各设备对应的任务分配优先级与预设优先级阈值分别进行对比。
S506、在所述记录表中将任务分配优先级低于所述预设优先级阈值的设备标记为不稳定设备。
在本实施例中,从所有设备中识别出任务分配优先级低于预设优先级阈值的设备确定为不稳定设备,并在记录表中将不稳定设备标记出来。
本实施例通过预设优先级阈值能够从设备中筛选出不稳定设备,减少将任务分发到不稳定的设备上,并且在进行设备维护时能够先对标记为不稳定设备的设备进行维护或更换,从而改善系统的可维护性,使系统维护更加准确方便。
以Java虚拟机为例,本发明实施例提供的任务调度方法,将M台Java虚拟机部署在N台系统之上,通过虚拟机的自动重启以及监控Java虚拟机和设备的运行历史,实现将服务分发至更可靠的设备之上,保证系统对外提供持续稳定的服务,提高系统的可靠性和可用性。本发明解决了相关技术中Java虚拟机不稳定、运行设备不稳定等底层软硬件的不稳定造成整个Java应用的可靠性和可用性降低的问题。该方法具有以下优点:
1.通过在每个设备上部署多个虚拟机,可以保证提供不间断的服务。只有在设备重启的时间内所有设备同时出现故障,才可能导致对外提供服务的间断,这种情况设备数量足够大时出现的概率极低。另外,即使出现了这种情况,该方案也能在很快的时间能自动启动,继续提供服务。
2.该方案可以通过长时间的运行,识别出所有设备中不稳定的设备,从而减少将服务分发在该不稳定的设备之上,还能实现将不稳定设备筛选出来进行更换,从而进一步提升整个系统的稳定性的目的。
3.该方案可以动态的替换、新增和删减设备以及Java虚拟机,而不中断对外提供服务。这给服务运行中进行设备维护、新应用上线、版本升级、参数变更等需求提供了可能。
本发明实施例通过检测记录表中各设备标识对应的设备是否处于异常运行状态;记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;若检测到第一设备,则对第一设备进行重启,并将记录表中第一设备的重启次数进行更新,第一设备为处于异常运行状态的设备;根据记录表中各设备的任务数和重启次数,确定各设备对应的权重值;按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务,能够实现虚拟机任务调度。本发明实施例通过检测各设备的重启次数,在确定设备的任务分配优先级时考虑设备的重启次数与任务数,能够调低不稳定的设备的任务分配优先级,减少向不稳定的设备分配任务的概率,进而提升整个系统的稳定性。
图6为本发明一实施例提供的任务调度装置的结构示意图。如图6所示,该任务调度装置60包括:检测模块601、记录模块602、计算模块603及分配模块604。
检测模块601,用于检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数。
记录模块602,用于若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备。
计算模块603,用于根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值。
分配模块604,用于根据各设备对应的权重值向各设备分配任务。
本发明实施例通过检测记录表中各设备标识对应的设备是否处于异常运行状态;记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;若检测到第一设备,则对第一设备进行重启,并将记录表中第一设备的重启次数进行更新,第一设备为处于异常运行状态的设备;根据记录表中各设备的任务数和重启次数,确定各设备对应的权重值;根据各设备对应的权重值向各设备分配任务,能够实现虚拟机任务调度。本发明实施例通过检测各设备的重启次数,在确定设备的任务分配优先级时考虑设备的重启次数与任务数,能够减少向不稳定的设备分配任务的概率,进而提升整个系统的稳定性。
图7为本发明又一实施例提供的任务调度装置的结构示意图。如图7所示,本实施例提供的任务调度装置60在图6所示实施例提供的巡检装置的基础上,还可以包括:标记模块605。
可选地,所述检测模块601用于:
向所述记录表中各设备标识对应的设备发送服务请求;
若超过预设时间阈值未接收到某设备的响应消息,则确定该设备处于异常运行状态。
可选地,所述计算模块603用于:
将各设备的任务数除以重启次数得到的结果作为各设备对应的权重值。
可选地,所述分配模块604用于:
按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务。
可选地,每个设备上至少部署一个虚拟机;每个设备上的各虚拟机在发生错误后自动进行重启;所述记录表中记录有每个设备上各虚拟机的虚拟机标识及错误次数;所述记录模块602还用于:
若第一虚拟机发生错误后自动进行重启,则将所述记录表中所述第一虚拟机的错误次数进行更新。
所述分配模块604用于:
对于权重值相同的多个设备,分别计算每个设备上所有虚拟机的错误次数之和,并根据每个设备对应的错误次数之和的大小确定每个设备对应的任务分配优先级。
可选地,所述标记模块605用于:
分别将各设备对应的任务分配优先级与预设优先级阈值进行对比;
在所述记录表中将任务分配优先级低于所述预设优先级阈值的设备标记为不稳定设备。
本发明实施例提供的任务调度装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本发明一实施例提供的任务调度设备的硬件结构示意图。如图8所示,本实施例提供的任务调度设备80包括:至少一个处理器801和存储器802。该任务调度设备80还包括通信部件803。其中,处理器801、存储器802以及通信部件803通过总线804连接。
在具体实现过程中,至少一个处理器801执行所述存储器802存储的计算机执行指令,使得至少一个处理器801执行如上的任务调度方法。
处理器801的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图8所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的任务调度方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;
若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备;
根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值;
根据各设备对应的权重值向各设备分配任务。
2.根据权利要求1所述的方法,其特征在于,所述检测记录表中各设备标识对应的设备是否处于异常运行状态,包括:
向所述记录表中各设备标识对应的设备发送服务请求;
若超过预设时间阈值未接收到某设备的响应消息,则确定该设备为处于异常运行状态的第一设备。
3.根据权利要求1所述的方法,其特征在于,所述根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值,包括:
将各设备的任务数除以重启次数得到的结果作为各设备对应的权重值。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据各设备对应的权重值向各设备分配任务,包括:
按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,并根据各设备对应的任务分配优先级向各设备分配任务。
5.根据权利要求4所述的方法,其特征在于,每个设备上至少部署一个虚拟机;每个设备上的各虚拟机在发生错误后自动进行重启;所述记录表中记录有每个设备上各虚拟机的虚拟机标识及错误次数;
在所述按照各设备对应的权重值的高低确定各设备对应的任务分配优先级之前,所述方法还包括:
若第一虚拟机发生错误后自动进行重启,则将所述记录表中所述第一虚拟机的错误次数进行更新;
所述按照各设备对应的权重值的高低确定各设备对应的任务分配优先级,包括:
对于权重值相同的多个设备,分别计算每个设备上所有虚拟机的错误次数之和,并根据每个设备对应的错误次数之和的大小确定每个设备对应的任务分配优先级。
6.根据权利要求4或5所述的方法,其特征在于,在所述按照各设备对应的权重值的高低确定各设备对应的任务分配优先级之后,还包括:
分别将各设备对应的任务分配优先级与预设优先级阈值进行对比;
在所述记录表中将任务分配优先级低于所述预设优先级阈值的设备标记为不稳定设备。
7.一种任务调度装置,其特征在于,包括:
检测模块,用于检测记录表中各设备标识对应的设备是否处于异常运行状态;所述记录表用于记录部署虚拟机的各设备的设备标识、任务数及重启次数;
记录模块,用于若检测到第一设备,则对所述第一设备进行重启,并将所述记录表中所述第一设备的重启次数进行更新,所述第一设备为处于异常运行状态的设备;
计算模块,用于根据所述记录表中各设备的任务数和重启次数,确定各设备对应的权重值;
分配模块,用于根据各设备对应的权重值向各设备分配任务。
8.根据权利要求7所述的装置,其特征在于,所述检测模块用于:
向所述记录表中各设备标识对应的设备发送服务请求;
若超过预设时间阈值未接收到某设备的响应消息,则确定该设备为处于异常运行状态的第一设备。
9.一种任务调度设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397344.3A CN111949384B (zh) | 2019-05-14 | 2019-05-14 | 任务调度方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397344.3A CN111949384B (zh) | 2019-05-14 | 2019-05-14 | 任务调度方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949384A true CN111949384A (zh) | 2020-11-17 |
CN111949384B CN111949384B (zh) | 2023-05-02 |
Family
ID=73335390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910397344.3A Active CN111949384B (zh) | 2019-05-14 | 2019-05-14 | 任务调度方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949384B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463343A (zh) * | 2020-12-16 | 2021-03-09 | 广州博冠信息科技有限公司 | 业务进程的重启方法和装置、存储介质、电子设备 |
CN116170446A (zh) * | 2023-04-20 | 2023-05-26 | 成都致学教育科技有限公司 | 一种基于边缘云的数据处理方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332588A1 (en) * | 2012-02-06 | 2013-12-12 | Empire Technology Development, Llc | Maintaining application performances upon transfer between cloud services |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及系统 |
CN108427627A (zh) * | 2018-02-05 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 统计系统稳定性的方法及装置和电子设备 |
CN108446176A (zh) * | 2018-02-07 | 2018-08-24 | 平安普惠企业管理有限公司 | 一种任务分配方法、计算机可读存储介质及终端设备 |
CN108628674A (zh) * | 2018-05-11 | 2018-10-09 | 深圳市零度智控科技有限公司 | 基于云平台的任务调度方法、云平台及计算机存储介质 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
-
2019
- 2019-05-14 CN CN201910397344.3A patent/CN111949384B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332588A1 (en) * | 2012-02-06 | 2013-12-12 | Empire Technology Development, Llc | Maintaining application performances upon transfer between cloud services |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及系统 |
US20180239633A1 (en) * | 2016-07-07 | 2018-08-23 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for creating virtual machine, control device, and storage medium |
CN108427627A (zh) * | 2018-02-05 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 统计系统稳定性的方法及装置和电子设备 |
CN108446176A (zh) * | 2018-02-07 | 2018-08-24 | 平安普惠企业管理有限公司 | 一种任务分配方法、计算机可读存储介质及终端设备 |
CN108628674A (zh) * | 2018-05-11 | 2018-10-09 | 深圳市零度智控科技有限公司 | 基于云平台的任务调度方法、云平台及计算机存储介质 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
徐超等: "一种多核系统可靠性加强的任务调度方法" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463343A (zh) * | 2020-12-16 | 2021-03-09 | 广州博冠信息科技有限公司 | 业务进程的重启方法和装置、存储介质、电子设备 |
CN112463343B (zh) * | 2020-12-16 | 2023-09-26 | 广州博冠信息科技有限公司 | 业务进程的重启方法和装置、存储介质、电子设备 |
CN116170446A (zh) * | 2023-04-20 | 2023-05-26 | 成都致学教育科技有限公司 | 一种基于边缘云的数据处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111949384B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109936604B (zh) | 一种资源调度方法、装置和系统 | |
US20170017511A1 (en) | Method for memory management in virtual machines, and corresponding system and computer program product | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN112199240B (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN111209110B (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN111880906A (zh) | 虚拟机高可用性管理方法、系统以及存储介质 | |
CN110764963A (zh) | 一种服务异常处理方法、装置及设备 | |
CN111949384B (zh) | 任务调度方法、装置、设备及计算机可读存储介质 | |
US20230418661A1 (en) | Decentralized resource scheduling | |
CN112667422A (zh) | 内存故障处理方法及装置、计算设备、存储介质 | |
CN111181780A (zh) | 基于ha集群的主机池切换方法、系统、终端及存储介质 | |
CN109002348B (zh) | 一种虚拟化系统中的负载均衡方法及装置 | |
CN114168071B (zh) | 一种分布式集群扩容方法、分布式集群扩容装置及介质 | |
CN111538585A (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
EP4006725A1 (en) | Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium | |
US11544091B2 (en) | Determining and implementing recovery actions for containers to recover the containers from failures | |
CN112667467A (zh) | 集群的自适应限流方法、装置、计算机设备及存储介质 | |
CN115794306A (zh) | 基于抢占实例的资源分配方法及装置、电子设备及介质 | |
CN114116230A (zh) | 一种资源管理方法、装置、设备、介质及产品 | |
CN109189615A (zh) | 一种宕机处理方法和装置 | |
US10467113B2 (en) | Executing programs through a shared NVM pool | |
CN114356584A (zh) | 云服务器迁移和资源管理方法、装置以及存储介质 | |
CN114327662A (zh) | 操作系统的处理方法及装置、存储介质和处理器 | |
CN110058866B (zh) | 集群组件安装方法及设备 | |
US10489239B2 (en) | Multiplexing system, multiplexing method, and computer program product |
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 | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |