一种确定执行调度任务的方法及执行调度任务的第一主机的制作方法

文档序号:10572496阅读:166来源:国知局
一种确定执行调度任务的方法及执行调度任务的第一主机的制作方法
【专利摘要】本发明公开了一种确定执行调度任务的方法及执行调度任务的第一主机,该方法包括第一主机通过判断与所述第一主机互为备份的第二主机是否处于宕机状态,若否,所述第一主机在执行调度任务之前,访问状态标识位,若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为使用状态,并执行调度任务。通过双主机模式可以保障主机的正常运行,通过双主机竞争一个状态标识位的模式,可以使得两个主机都可以进行调度操作,满足了系统对稳定性的要求。
【专利说明】
一种确定执行调度任务的方法及执行调度任务的第一主机
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种确定执行调度任务的方法及执行调度任务的第一主机。
【背景技术】
[0002]在目前的IT基础架构中,对于系统的安全和稳定性有着非常高的要求,现有的对调度节点所在主机的运行保障的方法是:调度节点所在的主机运行,不进行保障,出现问题后通过重启主机,重新运行应用来进行恢复,操作简单,适用于对稳定性要求不高的系统。
[0003]而现有的保障方法存在单机稳定性差,发生宕机故障后,只能将调度从头开始,调度出现问题很难及时发现。

【发明内容】

[0004]本发明实施例提供一种确定执行调度任务的方法及执行调度任务的第一主机,用以保障调度节点的正常运行,满足系统对稳定性的要求。
[0005]本发明实施例提供的一种确定执行调度任务的方法,包括:
[0006]第一主机判断与所述第一主机互为备份的第二主机是否处于宕机状态,所述第一主机与所述第二主机之间通过心跳链路连接;
[0007]若否,所述第一主机在执行调度任务之前,访问状态标识位;
[0008]若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为使用状态,并执行调度任务。
[0009]较佳地,若所述第二主机处于宕机状态,所述第一主机确定所述第一主机与外网的通信链路是否可用;
[0010]若所述第一主机与外网的通信链路可用,则所述第一主机访问所述状态标识位,将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0011]较佳地,将所述状态标识位的状态设置为独用状态之后,还包括:
[0012]若确定所述第二主机处于非宕机状态,则所述第一主机执行完所述调度任务,将所述状态标识位的状态设置为空闲状态。
[0013]较佳地,若所述第一主机与所述第二主机之间的心跳链路中断,则所述第一主机确定所述第一主机与外网的通信链路是否可用;
[0014]若是,则所述第一主机访问状态标识位;
[0015]若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0016]较佳地,还包括:所述第一主机执行完所述调度任务后,将所述状态标识位的状态设置为空闲状态。
[0017]相应地,本发明实施例还提供了一种执行调度任务的第一主机,包括:
[0018]判断单元,用于判断与所述第一主机互为备份的第二主机是否处于宕机状态,所述第一主机与所述第二主机之间通过心跳链路连接;
[0019]访问单元,用于若确定所述第二主机处于宕机状态,在执行调度任务之前,访问状态标识位;
[0020]调度单元,用于若所述状态标识位的状态为空闲状态,则将所述状态标识位的状态设置为使用状态,并执行调度任务。
[0021]较佳地,所述调度单元具体用于:
[0022]若所述第二主机处于宕机状态,则确定所述第一主机与外网的通信链路是否可用;
[0023]若与外网的通信链路可用,则访问所述状态标识位,将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0024]较佳地,所述调度单元还用于:
[0025]将所述状态标识位的状态设置为独用状态之后,若确定所述第二主机处于非宕机状态,则执行完所述调度任务,将所述状态标识位的状态设置为空闲状态。
[0026]较佳地,所述调度单元具体用于:
[0027]若所述第一主机与所述第二主机之间的心跳链路中断,则确定所述第一主机与外网的通信链路是否可用;
[0028I若是,则访问状态标识位;
[0029]若所述状态标识位的状态为空闲状态,则将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0030]较佳地,所述调度单元还用于:
[0031]执行完所述调度任务后,将所述状态标识位的状态设置为空闲状态。
[0032]本发明实施例表明,第一主机通过判断与所述第一主机互为备份的第二主机是否处于宕机状态,若否,所述第一主机在执行调度任务之前,访问状态标识位,若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为使用状态,并执行调度任务。通过双主机模式可以保障主机的正常运行,通过双主机竞争一个状态标识位的模式,可以使得两个主机都可以进行调度操作,满足了系统对稳定性的要求。
【附图说明】
[0033]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本发明实施例中提供的一种确定执行调度任务的方法的流程示意图;
[0035]图2a至图2j为本发明实施例中提供的一种确定执行调度任务的方法的流程示意图;
[0036]图3为本发明实施例中提供的一种执行调度任务的第一主机的结构示意图。
【具体实施方式】
[0037]为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0038]本发明实施例中的第一主机与第二主机为相互备份的两个主机,每个主机都可以单独执行调度任务,第一主机与第二主机不分等级,处于同等地位,本发明实施例仅是示例作用,不限于此。
[0039]图1示出了本发明实施例提供的一种确定执行调度任务的流程,该流程可以由主机执行。
[0040]如图1所示,该流程的具体步骤包括:
[0041]步骤101,第一主机判断与所述第一主机互为备份的第二主机是否处于宕机状态。若否,则转入步骤102,若是,则转入步骤104。
[0042]步骤102,所述第一主机在执行调度任务之前,访问状态标识位。
[0043]步骤103,若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为使用状态,并执行调度任务。
[0044]步骤104,所述第一主机确定所述第一主机与外网的通信链路是否可用,若是,则转入步骤105。
[0045]步骤105,所述第一主机访问所述状态标识位,将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0046]在步骤101中,第一主机与第二主机之间是通过心跳链路连接的,第一主机通过判断第二主机的调度进程是否可用,可以确定第二主机是否处于宕机状态,若第二主机的调度进程可用,则第二主机处于非宕机状态,若第二主机的调度进程不可用,则第二主机处于宕机状态。若第一主机与第二主机之间的心跳链路中断了,则第一主机无法判断第二主机是否处于宕机状态。第一主机和第二主机配置了相同的应用程序。
[0047]第一主机确定第二主机宕机的方法:第一主机发送报文,第二主机接收到报文后,向第二主机回复一个确认的报文,此时第一主机获取第二主机非宕机状态。若第一主机发送的报文没有发送任何变动,直接返回,则确认第二主机宕机。若第一主机发送的报文没有任何回复报文,则确认心跳链路中断。
[0048]在步骤102中,若第一主机在步骤101中确定第二主机处于非宕机状态,则第一主机在执行任务前,先访问状态标识位,该状态标识位可以位于数据库的表中,也可以位于其他的存储空间内。状态标识位的状态可以分为空闲状态、使用状态或独用状态,可以使用数字进行区分,如空闲状态为0,使用状态为I,独用状态为-1或-2。其中,当独用状态为-1时,表示两个主机中有一个处于宕机状态,可以便于工人人员检修,当独用状态为-2,表示两个主机都没有宕机,但是两个主机间的心跳链路中断了。该状态标识位的状态可以根据实际需求进行设定。
[0049]在步骤103中,若第一主机在步骤102中访问到状态标识位的状态是O,即空闲状态,则该第一主机将该状态标识位的状态进行更新,设置为使用状态,即状态更新为I。表示该第一主机已经抢到任务的调度权,并开始执行相应的调度任务。同样,若第二主机访问到状态标识位的状态时0,也可以将该状态标识位的状态更新为I,并执行相应的调度任务。
[0050]在步骤104中,若第一主机在步骤101中确定第二主机处于宕机状态,则该第一主机需要确定与外网的通信链路是否可用,看是否是因为自身与外网的网络中断导致无法与第二主机进行通信的。第一主机通过Ping命令Ping外网的网关,如果能够Ping通外网的网关,则证明第一主机自身没有问题。具体的,第一主机通过Ping命令获取已经配置好的外网的网关地址,如果该网关返回数据包,表示该第一主机是能够与外网的通信链路是可用,否则表示该第一主机自己宕机。
[0051]在步骤105中,第一主机在步骤104中可以确定与外网的通信链路是可用的,则第一主机访问状态标识位,将该状态标识位的状态设置为独用状态,由于是第二主机宕机,则将状态标识位的状态设置为-1,并开始执行调度任务。
[0052]第一主机在将状态标识位的状态设置为独用状态之后之后,当第一主机确定第二主机处于非宕机状态时,则第一主机执行完调度任务后,将状态标识位的状态设置为空闲状态。
[0053]可选地,若上述第一主机与第二主机之间的心跳链路中断,则第一主机需要确定与外网的通信链路是否可用,若是可用,则第一主机访问状态标识位,访问到状态标识位的状态是空闲状态,则第一主机将状态标识位的状态设置为独用状态,由于是心跳链路中断,则状态标识位的状态可以设置为-2。表示第一主机与第二主机之间的心跳链路中断了。然后开始执行调度任务。直到第一主机与第二主机之间的心跳链路恢复后,调度任务执行完,将状态标识位的状态设置为空闲状态。
[0054]本上述实施例表明,第一主机通过判断与所述第一主机互为备份的第二主机是否处于宕机状态,若否,所述第一主机在执行调度任务之前,访问状态标识位,若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为使用状态,并执行调度任务。通过双主机模式可以保障主机的正常运行,通过双主机竞争一个状态标识位的模式,可以使得两个主机都可以进行调度操作,满足了系统对稳定性的要求。
[0055]为了更好的解释本发明构思,本发明实施例提供了具体应用场景下的确定执行调度任务的流程。
[0056]如图2a至图2j所示的流程,在图2a中可以看出,本发明实施例中提供了主机I和主机2、网关以及状态标识位,状态标识位的状态为O,主机I和主机2是通过心跳链路进行通信的。
[0057]如图2b所示,主机I和主机2之间的心跳链路畅通,主机I与主机2进行竞争状态标识位。
[0058]如图2c所示,主机I竞争到状态标识位,并将该状态标识位的状态置为I。开始在数据库中进行调度操作。
[0059]如图2d所示,若是主机2竞争到状态标识位,则将该状态标识位的状态置为I,开始在数据库中执行调度任务。
[0060]如图2e所示,主机I与主机2之间无法进行通信,则主机I开始通过ping命令ping外网的网关,如图2f所不。
[0061 ] 在图2g中,主机I可以ping通外网的网关,此时是主机2宕机,则将状态标识位的状态设置为专属状态-1,并进行相应的调度操作。
[0062]在图2h中,主机2同样也可以ping通外网的网关,此时是主机I宕机,则将状态标识位的状态设置为专属状态-1,并进行相应的调度操作。
[0063]在图2i中,若主机I和主机2之间的心跳链路中断了,则主机I和主机2都通过ping命令Ping外网的网关,确定都可以与外网进行通信时,则主机I与主机2进行竞争状态标识位,主机I竞争到之后,将状态标识位的状态设置为-2,并进行相应的调度操作。如图2j所示,主机2竞争到之后,将状态标识位的状态设置为-2,并进行相应的调度操作。
[0064]基于相同的技术构思,图3示出了本发明实施例提供的一种执行调度任务的第一主机的结构,该主机可以执行确定执行调度任务的方法。
[0065]如图3所示,该第一主机具体包括:
[0066]判断单元301,用于判断与所述第一主机互为备份的第二主机是否处于宕机状态,所述第一主机与所述第二主机之间通过心跳链路连接;
[0067]访问单元302,用于若确定所述第二主机处于宕机状态,在执行调度任务之前,访问状态标识位;
[0068]调度单元303,用于若所述状态标识位的状态为空闲状态,则将所述状态标识位的状态设置为使用状态,并执行调度任务。
[0069]优选地,所述调度单元303具体用于:
[0070]若所述第二主机处于宕机状态,则确定所述第一主机与外网的通信链路是否可用;
[0071]若与外网的通信链路可用,则访问所述状态标识位,将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0072]优选地,所述调度单元303还用于:
[0073]将所述状态标识位的状态设置为独用状态之后,若确定所述第二主机处于非宕机状态,则执行完所述调度任务,将所述状态标识位的状态设置为空闲状态。
[0074]优选地,所述调度单元303具体用于:
[0075]若所述第一主机与所述第二主机之间的心跳链路中断,则确定所述第一主机与外网的通信链路是否可用;
[0076]若是,则访问状态标识位;
[0077]若所述状态标识位的状态为空闲状态,则将所述状态标识位的状态设置为独用状态,并执行调度任务。
[0078]优选地,所述调度单元303还用于:
[0079]执行完所述调度任务后,将所述状态标识位的状态设置为空闲状态。
[0080]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0081]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0082]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0083]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0084]显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
【主权项】
1.一种确定执行调度任务的方法,其特征在于,包括: 第一主机判断与所述第一主机互为备份的第二主机是否处于宕机状态,所述第一主机与所述第二主机之间通过心跳链路连接; 若否,所述第一主机在执行调度任务之前,访问状态标识位; 若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为使用状态,并执行调度任务。2.如权利要求1所述的方法,其特征在于,若所述第二主机处于宕机状态,所述第一主机确定所述第一主机与外网的通信链路是否可用; 若所述第一主机与外网的通信链路可用,则所述第一主机访问所述状态标识位,将所述状态标识位的状态设置为独用状态,并执行调度任务。3.如权利要求2所述的方法,其特征在于,将所述状态标识位的状态设置为独用状态之后,还包括: 若确定所述第二主机处于非宕机状态,则所述第一主机执行完所述调度任务,将所述状态标识位的状态设置为空闲状态。4.如权利要求1所述的方法,其特征在于,若所述第一主机与所述第二主机之间的心跳链路中断,则所述第一主机确定所述第一主机与外网的通信链路是否可用; 若是,则所述第一主机访问状态标识位; 若所述状态标识位的状态为空闲状态,则所述第一主机将所述状态标识位的状态设置为独用状态,并执行调度任务。5.如权利要求1-4任一项所述的方法,其特征在于,还包括:所述第一主机执行完所述调度任务后,将所述状态标识位的状态设置为空闲状态。6.一种执行调度任务的第一主机,其特征在于,包括: 判断单元,用于判断与所述第一主机互为备份的第二主机是否处于宕机状态,所述第一主机与所述第二主机之间通过心跳链路连接; 访问单元,用于若确定所述第二主机处于宕机状态,在执行调度任务之前,访问状态标识位; 调度单元,用于若所述状态标识位的状态为空闲状态,则将所述状态标识位的状态设置为使用状态,并执行调度任务。7.如权利要求6所述的第一主机,其特征在于,所述调度单元具体用于: 若所述第二主机处于宕机状态,则确定所述第一主机与外网的通信链路是否可用; 若与外网的通信链路可用,则访问所述状态标识位,将所述状态标识位的状态设置为独用状态,并执行调度任务。8.如权利要求7所述的第一主机,其特征在于,所述调度单元还用于: 将所述状态标识位的状态设置为独用状态之后,若确定所述第二主机处于非宕机状态,则执行完所述调度任务,将所述状态标识位的状态设置为空闲状态。9.如权利要求6所述的第一主机,其特征在于,所述调度单元具体用于: 若所述第一主机与所述第二主机之间的心跳链路中断,则确定所述第一主机与外网的通信链路是否可用; 若是,则访问状态标识位; 若所述状态标识位的状态为空闲状态,则将所述状态标识位的状态设置为独用状态,并执行调度任务。10.如权利要求6-9任一项所述的第一主机,其特征在于,所述调度单元还用于: 执行完所述调度任务后,将所述状态标识位的状态设置为空闲状态。
【文档编号】H04L12/24GK105933135SQ201510786009
【公开日】2016年9月7日
【申请日】2015年11月16日
【发明人】张帆, 吕伊蒙, 冯哲
【申请人】中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1