CN111309456B - 一种任务执行方法及*** - Google Patents
一种任务执行方法及*** Download PDFInfo
- Publication number
- CN111309456B CN111309456B CN201811520589.2A CN201811520589A CN111309456B CN 111309456 B CN111309456 B CN 111309456B CN 201811520589 A CN201811520589 A CN 201811520589A CN 111309456 B CN111309456 B CN 111309456B
- Authority
- CN
- China
- Prior art keywords
- task
- processing service
- service process
- directory node
- allocation instruction
- 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.)
- Active
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/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
- G06F9/505—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 considering the load
-
- 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
技术领域
本申请涉及集群***技术领域,特别涉及一种任务执行方法及***。
背景技术
随着互联网应用和企业应用的不断扩大,需要大规模的服务器集群***来部署各种应用业务。
在大规模的服务器集群***中,一般会由任务管理器对处理服务器进行任务的派发,由处理服务器执行相应的任务。任务能够正常执行的前提是任务的可靠派发,但如何实现任务的可靠派发成为问题。
发明内容
为解决上述技术问题,本申请实施例提供一种任务执行方法及***,以达到提高任务分配指令派发的可靠性的目的,技术方案如下:
一种任务执行方法,包括:
任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程;
所述任务管理器响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行终端,并生成对应的任务分配指令,所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识;
所述任务管理器将对应的任务分配指令写入所述共享队列中;
各个任务处理服务进程从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配;
若匹配,则执行所述目标任务分配指令中的待执行任务;
若不匹配,则删除所述目标任务分配指令。
优选的,所述方法还包括:
所述任务管理器从所述共享队列中获取任务处理服务进程上报的终端信息;
所述任务管理器将获取到的终端信息作为目标目录结点,加入到监听列表中;
监控服务器响应任务处理服务进程的目录结点创建请求,创建目录结点;
所述任务管理器从所述监控服务器中获取所述监控服务器创建的各个目录结点,并判断所述监听列表中是否存在与获取到的目录结点相匹配的结点;
若存在,则指示所述监控服务器对相匹配的目录结点进行监控,以使所述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果;
若不存在,则向所述监控服务器发送不匹配的目录结点删除指令。
优选的,所述指示所述监控服务器对相匹配的目录结点进行监控,包括:
判断历史记录中是否存在所述相匹配的目录结点的记录;
若否,指示所述监控服务器对相匹配的目录结点进行监控;
若是,判断所述历史记录中历史目录结点的数据与所述相匹配的目录结点的数据是否相同,所述历史目录结点与所述相匹配的目录结点对应的是同一个任务处理服务进程;
若不相同,则向所述监控服务器发送删除所述历史目录结点的指令。
优选的,所述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果,包括:
所述监控服务器判断与所述相匹配的目录结点对应的任务处理服务进程之间的通信是否异常;
若是,所述监控服务器释放所述相匹配的目录结点,并反馈释放信息至所述任务管理器。
优选的,所述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果,包括:
所述监控服务器监控所述相匹配的目录结点对应的任务处理服务进程的运行是否异常;
若是,反馈所述相匹配的目录结点运行异常的信息至所述任务管理器;
所述方法还包括:
所述任务管理器,根据所述相匹配的目录结点运行异常的信息,重新选取一个任务处理服务进程执行运行异常的目录结点对应的任务。
一种任务执行***,包括:任务管理器、中转服务器和多个任务处理服务进程;
所述任务管理器,用于从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程,及响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行终端,并生成对应的任务分配指令,及将对应的任务分配指令写入所述共享队列中,所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识;
各个所述任务处理服务进程,用于从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配;
若匹配,则执行所述目标任务分配指令中的待执行任务;
若不匹配,则删除所述目标任务分配指令。
优选的,所述***还包括:监控服务器;
所述任务管理器,还用于从所述共享队列中获取任务处理服务进程上报的终端信息,及将获取到的终端信息作为目标目录结点,加入到监听列表中;
所述监控服务器,用于响应任务处理服务进程的目录结点创建请求,创建目录结点;
所述任务管理器,还用于从所述监控服务器中获取所述监控服务器创建的各个目录结点,并判断所述监听列表中是否存在与获取到的目录结点相匹配的结点;
若存在,则指示所述监控服务器对相匹配的目录结点进行监控,以使所述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果;
若不存在,则向所述监控服务器发送不匹配的目录结点删除指令。
优选的,所述任务管理器具体用于判断历史记录中是否存在所述相匹配的目录结点的记录;
若否,指示所述监控服务器对相匹配的目录结点进行监控;
若是,判断所述历史记录中历史目录结点的数据与所述相匹配的目录结点的数据是否相同,所述历史目录结点与所述相匹配的目录结点对应的是同一个任务处理服务进程;
若不相同,则向所述监控服务器发送删除所述历史目录结点的指令。
优选的,所述监控服务器,具体用于判断与所述相匹配的目录结点对应的任务处理服务进程之间的通信是否异常;若是,释放所述相匹配的目录结点,并反馈释放信息至所述任务管理器。
优选的,所述监控服务器,具体用于监控所述相匹配的目录结点对应的任务处理服务进程的运行是否异常;
若是,反馈所述相匹配的目录结点运行异常的信息至所述任务管理器;
所述任务管理器,还用于根据所述相匹配的目录结点运行异常的信息,重新选取一个任务处理服务进程执行运行异常的目录结点对应的任务。
与现有技术相比,本申请的有益效果为:
在本申请中,任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,在任务处理服务进程出现故障的情况下,任务管理器仍然可以从共享队列中获取相关的任务处理服务进程信息,正常生成对应的任务分配指令,并将对应的任务分配指令写入共享队列中,在任务管理器暂时出现故障的情况下,各个任务处理服务进程可以从共享队列中获取任务分配指令,保证任务处理服务进程获取任务分配指令的可靠性,以此提高任务分配指令派发的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的任务执行方法的一种流程图;
图2是本申请提供的任务执行方法的另一种流程图;
图3是本申请提供的任务执行方法的一种子流程图;
图4是本申请提供的任务执行方法的另一种子流程图;
图5是本申请提供的任务执行方法的再一种子流程图;
图6是本申请提供的任务执行***的一种逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种任务执行方法,包括:任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程;所述任务管理器响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行终端,并生成对应的任务分配指令,所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识;所述任务管理器将对应的任务分配指令写入所述共享队列中;各个任务处理服务进程从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配;若匹配,则执行所述目标任务分配指令中的待执行任务;若不匹配,则删除所述目标任务分配指令。在本申请中,可以提高任务分配指令派发的可靠性。
接下来对本申请实施例公开的任务执行方法进行介绍,请参见图1,可以包括:
步骤S11、任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程。
中转服务器的共享队列中的任务处理服务进程信息可以由任务处理服务进程主动上报,便于***中任务处理服务进程的扩展与减少,可以不再使用固定的配置,并可以减少运维人员的工作。
优选的,中转服务器可以为:RabbitMQ服务器。
更为优选的方式,可以为:在***中部署三台RabbitMQ服务器,从三台RabbitMQ服务器中选取一台使用,并且在当前使用的RabbitMQ服务器出现异常时,可以切换至剩余的任意一台RabbitMQ服务器执行相关业务,保证共享队列中的信息不丢失且正常接收与发送。
本实施例中,可以设置:RabbitMQ服务器的共享队列及共享队列中的信息是可持久化的,保证在RabbitMQ服务器宕机的情况下,信息不会丢失。
步骤S12、所述任务管理器响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行服务进程,并生成对应的任务分配指令。
所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识。
本实施例中,可以根据待使用的任务处理服务进程的资源负载能力和/或健康情况,从待使用的任务处理服务进程中选取合适任务处理服务进程作为待执行任务的执行终端,保证待执行任务的执行效率。
步骤S13、所述任务管理器将对应的任务分配指令写入所述共享队列中。
任务处理器将对应的任务分配指令写入共享队列中的同时,可以保存任务分配指令至任务处理器的存储空间。
当然,任务管理器也可以不保存对应的任务分配指令,来节省存储空间。
步骤S14、各个任务处理服务进程从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配。
若匹配,执行步骤S15;若不匹配,执行步骤S16。
需要说明的是,在任务管理器未保存对应的任务分配指令的情况下,各个任务处理服务进程只能从共享队列中获取任务分配指令。
任务处理服务进程可以采用回调通知的方式从共享队列中获取任务分配指令,不需要轮询,可以提高任务处理服务进程的运行效率。
采用回调通知的方式从共享队列中获取任务分配指令,可以理解为:共享队列中有任务分配指令写入时,中转服务器则向任务处理服务进程推送任务分配指令;或任务管理中有任务分配指令生成时,中转服务器则向任务处理服务进程推送任务分配指令。
各个任务处理服务进程从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配,可以理解为:触发各个任务处理服务进程执行,从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配。
步骤S15、执行所述目标任务分配指令中的待执行任务。
任务处理服务进程执行目标任务分配指令中的待执行任务后,可以将执行结果写入共享队列中。任务管理器则可以从共享队列中获取到执行结果,以查看任务执行情况,并可以将任务执行情况作为后续分配任务处理服务进程的参考依据。
步骤S16、删除所述目标任务分配指令。
任务处理服务进程在判断出身份标识不匹配的情况下,删除目标任务分配指令,以节省存储空间。
在本申请中,任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,在任务处理服务进程出现故障的情况下,任务管理器仍然可以从共享队列中获取相关的任务处理服务进程信息,正常生成对应的任务分配指令,并将对应的任务分配指令写入共享队列中,在任务管理器暂时出现故障的情况下,各个任务处理服务进程可以从共享队列中获取任务分配指令,保证任务处理服务进程获取任务分配指令的可靠性,以此提高任务分配指令派发的可靠性。
在本申请的另一个实施例中,介绍另外一种任务执行方法,请参见图2,可以包括:
步骤S21、任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程。
步骤S22、所述任务管理器响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行服务进程,并生成对应的任务分配指令。
所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识。
步骤S23、所述任务管理器将对应的任务分配指令写入所述共享队列中。
步骤S24、各个任务处理服务进程从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配。
若匹配,则执行步骤S25;若不匹配,则执行步骤S26。
步骤S21-S26与前述实施例中的步骤S11-S16相同,步骤S21-S26的详细过程可以参见步骤S11-S16的相关介绍,在此不再赘述。
步骤S27、所述任务管理器从所述共享队列中获取任务处理服务进程上报的进程信息。
本实施例中,任务处理服务进程可以周期性上报进程信息。其中,任务处理服务进程上报进程信息,可以便于任务管理器知道有哪些处理服务进程,可以省去手工配置的麻烦。
进程信息可以包括:机器序号、服务进程PID值、服务端口PORT标识。
步骤S28、所述任务管理器将获取到的进程信息作为目标目录结点,加入到监听列表中。
所述任务管理器将获取到的进程信息作为目标目录结点,加入到监听列表中,可以对监听列表中的目录结点的运行状况进行监听。
所述任务管理器将获取到的进程信息作为目标目录结点,目标目录结点的名称可以命名为:msn_pid_port。其中,msn表示机器序号,pid表示服务进程pid值,port表示服务端口PORT标识。
步骤S29、监控服务器响应任务处理服务进程的目录结点创建请求,创建目录结点。
监控服务器响应任务处理服务进程的目录结点创建请求,创建目录结点,在创建目录结点后,可以对创建的目录结点的运行情况进行监控。
对创建的目录结点的运行情况进行监控,可以理解为:对创建的目录结点对应的任务处理服务进程的运行情况进行监控。
优选的,监控服务器可以为:ZooKeeper服务器。
需要说明的是,针对同一个任务处理服务进程,监控服务器创建的目录结点的名称需要与任务管理器中监听列表中的目录结点的名称一致。
步骤S210、所述任务管理器从所述监控服务器中获取所述监控服务器创建的各个目录结点,并根据获取到的目录结点,判断所述监听列表中的目录结点情况。
任务管理器可以根据处理任务进程上报的信息得到需要监控的服务器创建的目录结点,并判断所述监听列表的目录结点情况。具体地,通过监控服务器获取目录结点的存在与否和判定目录结点中存的值,即目录结点路径是Key值,目录结点中存储的值是Value,标准的KV结构。类似于word中的“字体”表示一个Key,用什么字体比如“黑体”,这就是一个值,值可以有很多宋体,楷体等等,但对应的键Key就只有一个。
在本申请的另一个实施例中,对上述根据获取到的目录结点,判断所述监听列表中的目录结点情况的过程进行介绍,请参见图3,可以包括:
步骤S31、判断所述监听列表中的记录中是否存在与获取到的目录结点相匹配的目录结点的记录。
若否,执行步骤S32;若是,执行步骤S33。
本实施例中,监听列表中的记录由任务管理器生成并管理。
步骤S32、指示所述监控服务器对相匹配的目录结点进行监控。
步骤S33、判断所述监听列表中的目录结点的数据与所述相匹配的目录结点的数据是否相同。
所述注册表中的目录结点与所述相匹配的目录结点对应的是同一个任务处理服务进程。
本实施例中,通过判断所述注册表中的记录中历史目录结点的数据与所述相匹配的目录结点的最新数据是否相同,来判断任务处理服务进程是否重启过。
若不相同,则说明任务处理服务进程重启过,则执行步骤S34。
步骤S34、将最新目录结点存储的值更新到所述监听列表的记录中,并向所述任务管理器发送处理服务进程的标识及删除消息。
在前述步骤判断出数据不相同的情况下,若未向任务管理器发送处理服务进程的标识及删除消息,则可以向所述任务管理器发送处理服务进程的标识及删除消息。
向任务管理器发送处理服务进程的标识及删除消息。任管管理服务器收到删除消息就可以查看一下此重启过的机器原来是否有任务未做完的,如果有则将未完成的任务进行重新派发。
在本申请的另一个实施例中,对上述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果的过程进行介绍,请参见图4,可以包括:
步骤S41、所述监控服务器判断与所述相匹配的目录结点对应的任务处理服务进程之间的通信是否异常。
若是,确定通信异常的目录结点对应的服务器出现故障,则执行步骤S42。
所述监控服务器判断与所述相匹配的目录结点对应的任务处理服务进程之间的通信是否异常可以理解为:
所述监控服务器判断与所述相匹配的目录结点对应的任务处理服务进程之间的链接或网络是否异常。
处理任务服务进程由于程序本身错误而死机的情况下,监控服务器也会判断出所述相匹配的目录结点对应的任务处理服务进程之间的通信异常。
步骤S42、所述监控服务器通知连接监控的客户端超时并主动释放出现故障的服务器创建的目录结点。
任务管理器通过查询目录节点是否存在,来得到相关的信息。
在本申请的另一个实施例中,介绍另外一种监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果的过程,请参见图5,可以包括:
步骤S51、所述监控服务器监控所述相匹配的目录结点对应的任务处理服务进程的运行是否异常。
若是,则执行步骤S52。
步骤S52、反馈所述相匹配的目录结点运行异常的信息至所述任务管理器。
步骤S52为前述实施例中反馈监控结果的一种具体实施方式。
在本实施例中,监控服务器监控所述相匹配的目录结点对应的任务处理服务进程的运行异常之后,任务执行方法还可以包括:
所述任务管理器,根据所述相匹配的目录结点运行异常的信息,重新选取一个任务处理服务进程执行运行异常的目录结点对应的任务。
本实施例中,可以使用数据库实时记录任务处理服务进程运行的任务列表,并向中转服务器的共享队列中实时更新任务的状态。任务管理器则可以从中转服务器的共享队列中获取任务处理服务进程的信息,重新选取一个任务处理服务进程执行运行异常的目录结点对应的任务,完成任务转移并执行。
接下来对本申请提供的任务执行***进行介绍,下文介绍的任务执行***与上文介绍的任务执行方法可相互对应参照。
请参见图6,任务执行***包括:任务管理器11、中转服务器12和多个任务处理服务进程13。
所述任务管理器11,用于从中转服务器12的共享队列中获取任务处理服务进程13信息,并将获取到的任务处理服务进程13信息对应的任务处理服务进程13作为待使用的任务处理服务进程13,及响应任务处理请求,从待使用的任务处理服务进程13中选取任务处理服务进程13作为待执行任务的执行服务进程,并生成对应的任务分配指令,及将对应的任务分配指令写入所述共享队列中,所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程13的身份标识。
各个所述任务处理服务进程13,用于从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配。
若匹配,则执行所述目标任务分配指令中的待执行任务。
若不匹配,则删除所述目标任务分配指令。
本实施例中,任务执行***还可以包括:监控服务器。
所述任务管理器11,还用于从所述共享队列中获取任务处理服务进程13上报的进程信息,及将获取到的进程信息作为目标目录结点,加入到监听列表中。
所述监控服务器,用于响应任务处理服务进程13的目录结点创建请求,创建目录结点。
所述任务管理器11,还用于从所述监控服务器中获取所述监控服务器创建的各个目录结点,并根据获取到的目录结点,判断所述监听列表中的目录结点情况。
本实施例中,任务管理器11具体可以用于:
判断所述监听列表中的记录中是否存在与获取到的目录结点相匹配的目录结点的记录;
若否,则指示所述监控服务器对相匹配的目录结点进行监控;
若是,则判断所述监听列表中的目录结点的数据与所述相匹配的目录结点的数据是否相同;
若不相同,则将最新目录结点存储的值更新到所述监听列表的记录中,并向所述任务管理器发送处理服务进程的标识及删除消息。
本实施例中,监控服务器,具体可以用于判断与所述相匹配的目录结点对应的任务处理服务进程13之间的通信是否异常;若是,通知连接监控的客户端超时并主动释放出现故障的服务器创建的目录结点。
本实施例中,监控服务器,具体可以用于监控所述相匹配的目录结点对应的任务处理服务进程13的运行是否异常。
若是,反馈所述相匹配的目录结点运行异常的信息至所述任务管理器11;
所述任务管理器11,还可以用于根据所述相匹配的目录结点运行异常的信息,重新选取一个任务处理服务进程13执行运行异常的目录结点对应的任务。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种任务执行方法及***进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种任务执行方法,其特征在于,包括:
任务管理器从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程;
所述任务管理器响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行服务进程,并生成对应的任务分配指令,所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识;
所述任务管理器将对应的任务分配指令写入所述共享队列中;
各个任务处理服务进程通过回调通知的方式从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配;
若匹配,则执行所述目标任务分配指令中的待执行任务;
若不匹配,则删除所述目标任务分配指令。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述任务管理器从所述共享队列中获取任务处理服务进程上报的进程信息;
所述任务管理器将获取到的进程信息作为目标目录结点,加入到监听列表中;
监控服务器响应任务处理服务进程的目录结点创建请求,创建目录结点;
所述任务管理器从所述监控服务器中获取所述监控服务器创建的各个目录结点,并根据获取到的目录结点,判断所述监听列表中的目录结点情况。
3.根据权利要求2所述的方法,其特征在于,所述根据获取到的目录结点,判断所述监听列表中的目录结点情况,包括:
判断所述监听列表中的记录中是否存在与获取到的目录结点相匹配的目录结点的记录;
若否,则指示所述监控服务器对相匹配的目录结点进行监控;
若是,则判断所述监听列表中的目录结点的数据与所述相匹配的目录结点的数据是否相同;
若不相同,则将最新目录结点存储的值更新到所述监听列表的记录中,并向所述任务管理器发送处理服务进程的标识及删除消息。
4.根据权利要求3所述的方法,其特征在于,所述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果,包括:
所述监控服务器判断与所述相匹配的目录结点对应的任务处理服务进程之间的通信是否异常;
若是,所述监控服务器通知连接监控的客户端超时并主动释放出现故障的服务器创建的目录结点。
5.根据权利要求3所述的方法,其特征在于,所述监控服务器对所述相匹配的目录结点进行监控,并反馈监控结果,包括:
所述监控服务器监控所述相匹配的目录结点对应的任务处理服务进程的运行是否异常;
若是,反馈所述相匹配的目录结点运行异常的信息至所述任务管理器;
所述方法还包括:
所述任务管理器,根据所述相匹配的目录结点运行异常的信息,重新选取一个任务处理服务进程执行运行异常的目录结点对应的任务。
6.一种任务执行***,其特征在于,包括:任务管理器、中转服务器和多个任务处理服务进程;
所述任务管理器,用于从中转服务器的共享队列中获取任务处理服务进程信息,并将获取到的任务处理服务进程信息对应的任务处理服务进程作为待使用的任务处理服务进程,及响应任务处理请求,从待使用的任务处理服务进程中选取任务处理服务进程作为待执行任务的执行服务进程,并生成对应的任务分配指令,及将对应的任务分配指令写入所述共享队列中,所述任务分配指令包括:所述待执行任务及执行所述待执行任务的任务处理服务进程的身份标识;
各个所述任务处理服务进程,用于通过回调通知的方式从所述共享队列中获取任务分配指令,作为目标任务分配指令,并判断自身的身份标识与所述目标任务分配指令中的身份标识是否匹配;
若匹配,则执行所述目标任务分配指令中的待执行任务;
若不匹配,则删除所述目标任务分配指令。
7.根据权利要求6所述的***,其特征在于,所述***还包括:监控服务器;
所述任务管理器,还用于从所述共享队列中获取任务处理服务进程上报的进程信息,及将获取到的进程信息作为目标目录结点,加入到监听列表中;
所述监控服务器,用于响应任务处理服务进程的目录结点创建请求,创建目录结点;
所述任务管理器,还用于从所述监控服务器中获取所述监控服务器创建的各个目录结点,并根据获取到的目录结点,判断所述监听列表中的目录结点情况。
8.根据权利要求7所述的***,其特征在于,所述任务管理器具体用于:
判断所述监听列表中的记录中是否存在与获取到的目录结点相匹配的目录结点的记录;
若否,则指示所述监控服务器对相匹配的目录结点进行监控;
若是,则判断所述监听列表中的目录结点的数据与所述相匹配的目录结点的数据是否相同;
若不相同,则将最新目录结点存储的值更新到所述监听列表的记录中,并向所述任务管理器发送处理服务进程的标识及删除消息。
9.根据权利要求8所述的***,其特征在于,所述监控服务器,具体用于判断与所述相匹配的目录结点对应的任务处理服务进程之间的通信是否异常;若是,通知连接监控的客户端超时并主动释放出现故障的服务器创建的目录结点。
10.根据权利要求8所述的***,其特征在于,所述监控服务器,具体用于监控所述相匹配的目录结点对应的任务处理服务进程的运行是否异常;
若是,反馈所述相匹配的目录结点运行异常的信息至所述任务管理器;
所述任务管理器,还用于根据所述相匹配的目录结点运行异常的信息,重新选取一个任务处理服务进程执行运行异常的目录结点对应的任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520589.2A CN111309456B (zh) | 2018-12-12 | 2018-12-12 | 一种任务执行方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520589.2A CN111309456B (zh) | 2018-12-12 | 2018-12-12 | 一种任务执行方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309456A CN111309456A (zh) | 2020-06-19 |
CN111309456B true CN111309456B (zh) | 2023-04-18 |
Family
ID=71154406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811520589.2A Active CN111309456B (zh) | 2018-12-12 | 2018-12-12 | 一种任务执行方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309456B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968472A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 进程的处理方法、装置、存储介质和处理器 |
CN114138371B (zh) * | 2021-12-02 | 2024-02-06 | 北京天融信网络安全技术有限公司 | 配置动态加载方法、装置及计算机设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294386A (zh) * | 2015-05-19 | 2017-01-04 | 北大方正集团有限公司 | 任务分配执行方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829769B2 (en) * | 2000-10-04 | 2004-12-07 | Microsoft Corporation | High performance interprocess communication |
US7181482B2 (en) * | 2002-08-01 | 2007-02-20 | Oracle International Corporation | Buffered message queue architecture for database management systems |
CN102521044B (zh) * | 2011-12-30 | 2013-12-25 | 北京拓明科技有限公司 | 一种基于消息中间件的分布式任务调度方法及*** |
CN103500119B (zh) * | 2013-09-06 | 2017-01-04 | 西安交通大学 | 一种基于预调度的任务分配方法 |
CN107423131B (zh) * | 2017-03-29 | 2021-01-15 | 努比亚技术有限公司 | 一种共享方法及服务器 |
CN108829504A (zh) * | 2018-06-28 | 2018-11-16 | 泰康保险集团股份有限公司 | 一种任务调度方法、装置、介质和电子设备 |
-
2018
- 2018-12-12 CN CN201811520589.2A patent/CN111309456B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294386A (zh) * | 2015-05-19 | 2017-01-04 | 北大方正集团有限公司 | 任务分配执行方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111309456A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010840B2 (en) | Generation of problem tickets for a computer system | |
US11526386B2 (en) | System and method for automatically scaling a cluster based on metrics being monitored | |
CN107016480B (zh) | 任务调度方法、装置及*** | |
CN110830283B (zh) | 故障检测方法、装置、设备和*** | |
US10747529B2 (en) | Version management system and version management method | |
CN111857998A (zh) | 一种可配置的定时任务调度方法及*** | |
CN111309456B (zh) | 一种任务执行方法及*** | |
WO2019034095A1 (zh) | 软件处理方法、装置、电子设备及计算机可读存储介质 | |
CN111565135A (zh) | 监控服务器运行的方法、监控服务器和存储介质 | |
CN113434327A (zh) | 一种故障处理***、方法、设备和存储介质 | |
CN107508700B (zh) | 容灾方法、装置、设备及存储介质 | |
CN112732674A (zh) | 云平台服务管理方法、装置、设备及可读存储介质 | |
CN112817828A (zh) | 一种gtp的监控方法、装置及设备 | |
US8468386B2 (en) | Detecting and recovering from process failures | |
CN110119314B (zh) | 一种服务器调用方法、装置、服务器及存储介质 | |
JPH11259326A (ja) | ホットスタンバイシステムおよびホットスタンバイシステムにおける自動再実行方法およびその記録媒体 | |
US8677323B2 (en) | Recording medium storing monitoring program, monitoring method, and monitoring system | |
CN105025179A (zh) | 呼叫中心座席的监控方法及*** | |
CN115712521A (zh) | 一种集群节点故障处理方法、***及介质 | |
CN114816866A (zh) | 故障处理方法、装置、电子设备和存储介质 | |
CN112231601B (zh) | 链接管理方法、装置、设备及计算机存储介质 | |
CN111610992B (zh) | 部署组件更新处理方法、装置及存储介质 | |
CN110188008B (zh) | 作业调度主备切换方法、装置、计算机设备及存储介质 | |
CN115237558A (zh) | 一种任务调度方法及装置、***、存储介质、计算机设备 | |
CN114328033A (zh) | 保持高可用设备组业务配置一致性的方法及装置 |
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 |