CN102346698B - 一种时间程序管理方法、服务器及系统 - Google Patents
一种时间程序管理方法、服务器及系统 Download PDFInfo
- Publication number
- CN102346698B CN102346698B CN201010244268.1A CN201010244268A CN102346698B CN 102346698 B CN102346698 B CN 102346698B CN 201010244268 A CN201010244268 A CN 201010244268A CN 102346698 B CN102346698 B CN 102346698B
- Authority
- CN
- China
- Prior art keywords
- program
- time
- application server
- server
- application
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种时间程序管理方法、服务器及系统。该时间程序管理方法,包括:管理服务器接收应用服务器的时间程序的元信息;根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;对第一应用服务器的时间程序模块中的时间程序的运行进行监控;当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。本申请技术方案实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。
Description
技术领域
本申请涉及计算机应用技术领域,特别涉及一种时间程序管理方法、管理服务器及系统。
背景技术
在目前的计算机应用中,越来越多的后台任务不再需要人来参与,而是由系统自动完成,考虑到系统的承载压力以及处理的实效性,很多应用系统会产生一些定时任务程序,例如定时执行事件提醒,用于在指定的时间或时间段来完成某些系统任务。这些定时任务程序可以利用现有的Quartz等调度框架形成的时间程序来运行实现。
Quartz是一个开源的作业调度框架,它提供了巨大的灵活性而不牺牲简单性,它可以用来为执行一个作业而创建简单的或复杂的调度。例如,假设需要应用执行一个任务,这个任务每天或每周星期五晚上12:00,或者仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中此时可使用Quartz.NET调度器,根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
现有技术中是由某一确定的应用服务器运行本地的时间程序。在实现本申请的过程中,发明人发现现有技术中至少存在如下问题:当某一应用服务器运行时间程序时,若该应用服务器出现故障,则这个时间程序也就无法运行了,并且导致一系列的定时任务程序终止,这使得对应的系统任务无法继续完成。
发明内容
为解决上述技术问题,本申请实施例提供一种时间程序管理方法、服务器及系统,以实现终端运行时间程序时的容错机制。技术方案如下:
一种时间程序管理方法,包括:
管理服务器接收应用服务器的时间程序的元信息;
根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;
对第一应用服务器的时间程序模块中的时间程序的运行进行监控;
当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
一种时间程序管理服务器,包括:
接收单元,用于接收应用服务器的时间程序的元信息;
连接单元,用于根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;
监控单元,用于对第一应用服务器的时间程序模块中的时间程序的运行进行监控;
调度单元,用于当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
一种时间程序管理系统,包括管理服务器和至少两台应用服务器,
所述管理服务器,用于接收应用服务器的时间程序的元信息;根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;对第一应用服务器的时间程序模块中的时间程序的运行进行监控;当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
现有技术中,仅通过某一确定的终端对时间程序进行运行,当该终端出现故障时,这个时间程序也就停止运行了,从而导致了一系列的定时任务程序终止,对应的系统任务无法继续完成。
与现有技术相比,由以上本申请实施例提供的技术方案具有以下有益效果:
本申请实施例通过增设管理服务器,并建立管理服务器和时间程序所在的应用服务器的管理群的联系,使得管理服务器可以对该时间程序的运行状态进行监控,当该时间程序运行异常时,管理服务器可以选择另一应用服务器接替运行该时间程序,还可以触发告警,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数;并且,管理服务器还可以将监控到达的时间程序的运行状态反馈给用户,也可以根据用户设定的调度策略对运行的时间程序进行调度控制,方便了用户查看和控制时间程序的运行状态。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例实现时间程序管理方法的流程图;
图2为本申请实施例另一种实现时间程序管理方法的流程图;
图3为本申请实施例另一种实现时间程序管理方法的流程图;
图4为本申请实施例的一种管理服务器的结构示意图;
图5为本申请实施例的另一种管理服务器的结构示意图;
图6为本申请实施例的一种时间程序管理系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
本申请实施例的方案,应用于包括管理服务器和至少两台应用服务的服务器系统中,其中,每台应用服务器都具有时间程序,并且,对于某一特定的时间程序而言,应保证有两台以上的应用服务器上具有该时间程序。管理服务器则用于监控时间程序的运行,并且对执行时间程序的应用服务器进行选择和调度。
参见图1,为本申请实施例实现时间程序管理方法的流程图。
该管理方法可以包括:
步骤101,管理服务器接收应用服务器的时间程序的元信息。
应用本实施例方法的所有应用服务器对本地开发的时间程序进行收集,并将收集到的时间程序注册到应用服务器本地的时间程序模块,同时,应用服务器将本地的时间程序的元信息发送到管理服务器,管理服务器接收时间程序的元信息。
步骤102,管理服务器根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块。
管理服务器在接收到应用服务器发送的时间程序的元信息后,根据元信息建立与其中一个应用服务器时间程序模块的连接,在本实施例中,该应用服务器为第一应用服务器,其中,时间程序在该第一应用服务器中运行,该连接的建立为管理服务器对第一应用服务器中时间程序的后续监控提供条件。
在本申请实施例中,以第一应用服务器、第二应用服务器和第三应用服务器等为例进行说明,其中“第一”、“第二”和“第三”......仅为区分不同的应用服务器,并非特指或限定于某应用服务器。
步骤103,管理服务器对第一应用服务器的时间程序模块中的时间程序的运行进行监控。
在本步骤中,管理服务器对时间程序运行的监控,可以通过管理服务器直接监控第一应用服务器时间程序模块中的时间程序来实现,也可以在管理服务器侧建立第一应用服务器时间程序模块的代理,通过对代理中的时间程序的监控来实现,实现监控的过程可以由管理服务器直接接收第一应用服务器的时间程序模块输出的反馈信息,或者管理服务器接收本地第一应用服务器时间程序模块的代理转发输出的反馈信息,然后根据反馈信息判断应用服务器的时间程序运行是否正常,具体请参见后续实施例的描述。
步骤104,当管理服务器监测到时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
当管理服务器监测到第一应用服务器运行该时间程序出现异常时,由管理服务器启动具有同样时间程序的第二应用服务器运行该时间程序。
现有技术中,仅通过某一确定的终端对时间程序进行运行,当该终端的出现故障时,这个时间程序也就无法运行了,从而导致了一系列的定时任务程序终止,对应的系统任务无法继续完成。本申请实施例通过注册应用服务器管理群,并建立管理服务器和时间程序所在的应用服务器管理群的联系,使得管理服务器可以对该时间程序的运行状态进行监控,当该时间程序运行异常时,管理服务器可以选择另一应用服务器接替运行该时间程序,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。
实施例二
参见图2,为本申请实施例另一种实现时间程序管理方法的流程图。
本实施例可以应用于基于JMX的时间程序的管理,JM作为Java平台上为应用程序、设备、系统等植入管理功能的框架,可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。该管理方法可以包括:
步骤201,管理服务器接收应用服务器的时间程序的元信息。
本实施例仍以第一、第二应用服务器为例,两台应用服务器对本地开发的时间程序进行收集,并将收集到的时间程序注册为应用服务器本地的时间程序模块,并由应用服务器将本地的时间程序的元信息注册到管理服务器,由管理服务器执行本步骤,接收时间程序的元信息。
其中,在JMX(Java Management Extensions,Java管理扩展)规范中,通常可以建立用于管理应用程序等各种管理资源的时间程序模块,来使一些应用程序、资源等具有被管理的功能,例如可以编写一个MBean(ManagedBean,管理Bean)进行管理。在本实施例中,时间程序模块以MBean为例进行说明。MBean通常是一个java类,它可以提供接口以使其具有管理功能,MBean属于一种管理规范,时间程序若符合这种规范则可以实现被监控。应用服务器通过将收集到的时间程序注册为应用服务器本地的MBean,使得应用服务器的时间程序符合MBean的管理规范。
每个应用服务器要将本地的时间程序的元信息注册到管理服务器,可以遵循以下逻辑:首先,应用服务器在应用系统中增加JMX的一个配置,这个配置可以是Spring框架的JMX配置,该配置中有本地JMX管理模块的bean。配置本地JMX管理模块的目的是将本地某些应用接口注册为本地的MBean,例如将第一应用服务器收集到的本地时间程序注册为第一应用服务器本地的MBean。同时,应用服务器还配置一个管理服务器的MBean管理模块的bean,其目的是获得管理服务器上的一个MBean来与管理服务器建立连接,以向管理服务器注册收集到的本地时间程序的元信息。具体地,可以配置时间程序管理的一个bean,该bean是一个遵循JMX规范的MBean,其中包含有具体的时间程序的元数据信息。后续应用服务器可以将时间程度的元信息发送至管理服务器端进行注册。
应用服务器通过配置上述时间程序对应的bean、本地JMX管理模块的bean以及管理服务器MBean管理模块的bean,使应用服务器的时间程序符合MBean的管理规范,这样可以实现对时间程序管理监控。
时间程序的元信息可以包括:该时间程序所属的应用,时间程序所在的应用服务器,具体的时间程序名称以及时间程序在应用服务器的MBean的URL地址和端口号等。其中,时间程序所属的应用可以是用户注册应用、用户付款应用、用户购买应用等,时间程序的名称可以是定时更新、定时同步等。
步骤202,管理服务器根据时间程序的元信息,连接至时间程序所属的第一应用服务器的MBean。
本实施例中,第一、第二应用服务器中都包含该时间程序,管理服务器在接收到两应用服务器发送的时间程序的元信息后,根据元信息随机或根据应用服务器的运行状态选择一个应用服务器建立连接,本实施例中,管理服务器选择第一应用服务器,建立与第一应用服务器的MBean的连接,例如,管理服务器可以根据元信息中第一应用服务器的时间程序模块的URL地址和端口号连接到该时间程序所属的第一应用服务器的MBean。
步骤203,管理服务器对第一应用服务器的MBean中的时间程序的运行进行监控。
在管理服务器与第一应用服务器的时间程序模块建立连接后,才可以对该时间程序模块中的时间程序的运行进行监控。具体的,管理服务器可以接收第一应用服务器的时间程序模块输出的反馈信息,根据反馈信息判断第一应用服务器的时间程序运行是否正常,该反馈信息可以是时间程序的接口的返回值,其中,返回值的作用是返回应用服务器的时间程序是否正在运行的一个逻辑判断,例如,正在运行则返回true,反之则为false,如果调用该接口出现异常则返回值为“异常”等等。
在本步骤之前,管理服务器可以根据元信息对各应用服务器注册的每个时间程序依据其所属的应用以及时间程序名称进行分组,可以默认一个应用中的每个时间程序只在一个应用服务器中运行。例如,假设A应用中有A1和A2两个时间程序,在10个应用服务器中,分别具有时间程序A1和/或A2。依据默认的规则,时间程序A1只能在一个应用服务器中运行,因此,管理服务器在这10个应用服务器中选择一台具有时间程序A1的应用服务器来运行;同时时间程序A2也只能在一个应用服务器中运行,因此,管理服务器也在这10个应用服务器中选择一台具有时间程序A2的应用服务器来运行。需要说明的是,时间程序A1和A2有可能在同一个应用服务器中运行,也可能在不同应用服务器运行,并且管理服务器对运行时间程序的应用服务器的选择可以是随机的也可以是按照设定顺序进行的。
其中,时间程序的启动和停止可以由应用服务器控制,管理服务器只对运行状态进行监控,也可以是时间程序的启动和停止均由管理服务器进行控制,其运行状态也由管理服务器进行监控。例如,默认与管理服务器建立连接的应用服务器时间程序模块上所有的时间程序的运行都需要依赖管理服务器的控制,可在管理服务器设定一个定时心跳程序,通过这个心跳程序控制应用服务器时间程序的启动和停止。
其中,心跳程序可以定期轮询应用服务器的时间程序模块的时间程序的接口的返回值情况,依据返回情况判定这个时间程序运行是否正常,同时还可以监测当前正在运行时间程序的应用服务器的数量是否和计划的数量一致,如果监测到时间程序的某个应用服务器已经失败,则会选择新的具备相同时间程序的应用服务器来运行,如果监测到当前实际运行的应用服务器数量不等于计划数量,则可以依据两数值的差值以及具有该时间程序但未运行该时间程序的应用服务器,来增加启动或停止运行该时间程序的应用服务器。
在时间程序运行后,管理服务器对其运行状态进行监控,该监控可以是实时监控或定时监控。例如,在管理服务器侧将心跳程序设定为2分钟轮询一次,以定时监控所有的时间程序的运行状态以及运行的机器数量。
步骤204,当管理服务器监测到时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
当管理服务器监测到某时间程序运行异常时,选择具有该时间程序的第二应用服务器接替运行该时间程序,以避免时间程序的中断。具体地,时间程序是否正常运行可通过返回值进行判断,即管理服务器通过该时间程序对应的应用接口的返回值对时间程序的运行进行监控,根据该返回值可以判断该时间程序是否运行正常。例如监测到时间程序A1异常,则可选择具有时间程序A1的其它的应用服务器来接替运行这个时间程序。
其中,第二应用服务器运行是由管理服务器来调用完成的,因此不需要反馈给第一应用服务器和管理服务器。管理服务器可定期轮询检测所有的运行应用服务器是否正常运行,所以第二应用服务器也在检测范围之内,如果第二应用服务器运行异常,则会继续选择具有同样时间程序的第三应用服务器来接替其运行。
当管理服务器选择某个应用服务器来运行时间程序时,则该应用服务器的时间程序调度器处于启动状态,当应用服务器设定的执行时间到达时,调度器就会触发时间程序运行。
例如,假设有10个应用服务器和1个管理服务器,当10个应用服务器都将时间程序的元信息注册到管理服务器上以后,管理服务器会随机选择某个应用服务器并启动该应用服务器上的调度器,当该应用服务器上设定的执行时间到达时,调度器就会立即触发时间程序运行,时间程序就在管理服务器所选择的应用服务器运行。管理服务器会进行定期轮询,以检测当前正在运行时间程序的应用服务器是否运行正常,如果检测到当前选择的应用服务器出现异常,或者应用服务器运行失败,则管理服务器会在剩下的9个应用服务器中另外随机的选择一台具有同样时间程序的应用服务器来接替这个出问题的应用服务器运行时间程序,管理服务器选择候补应用服务器并启动该后补应用服务器的调度器,同时管理服务器继续执行定期轮询用以检测当前所有正在运行的应用服务器是否正常运行。
本申请的上述实施例通过建立管理服务器和时间程序所在的应用服务器的时间程序模块的联系,使得管理服务器可以对应用服务器时间程序模块中的时间程序的运行状态进行监控,当该时间程序运行异常时,管理服务器可以选择另一应用服务器接替运行该时间程序,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。
本实施例方法可以应用于使用Quartz来完成时间程序任务的各类系统中,例如,在TC(淘宝交易核心系统)中,时间程序可以用于完成交易历史数据的后期处理,交易数据生成等功能;在Rate-Center(淘宝评价系统)中,时间程序可以用于完成一些自动评价的验证生成逻辑,历史评价数据后续处理等功能;在SubCenter-center(淘宝营销系统)中,时间程序可以用于自动发送营销信息给特定人群,例如在特定时间发送,间歇时间发送等。
实施例三
图3为本申请另一种实现时间程序管理方法的实施例流程图。具体包括以下步骤:
步骤301,管理服务器接收时间程序的元信息。
步骤302,管理服务器根据时间程序的元信息连接至时间程序所属的第一应用服务器的时间程序模块。
以上步骤301、302分别与前述实施例二中的步骤201、步骤202类似,此处不再赘述。
步骤303,管理服务器根据连接到的所述第一应用服务器的时间程序模块生成所述第一应用服务器的时间程序模块的代理。
管理服务器接收到第一应用服务器发来的时间程序的元信息后,依据元信息中的第一应用服务器时间程序模块的地址来连接应用服务器时间程序模块,依据该第一应用服务器时间程序模块生成一个该第一应用服务器的时间程序模块代理,并将该时间程序模块的代理注册到管理服务器本地的MBean管理模块上。
第一应用服务器的时间程序模块代理相当于第一应用服务器时间程序模块的一个副本,管理服务器通过对该代理中的时间程序的监控实现对第一应用服务器时间程序模块中的时间程序的监控。
步骤304,管理服务器对所述第一应用服务器时间程序模块代理中的时间程序的运行进行监控。
在将第一应用服务器的时间程序模块代理注册为管理服务器的本地MBean后,在本步骤中,管理服务器直接监控本地的第一应用服务器时间程序模块代理中的时间程序即可实现对第一应用服务器时间程序的监控,该监控可以由管理服务器直接接收本地第一应用服务器时间程序模块的代理输出的反馈信息,然后根据反馈信息判断应用服务器的时间程序运行是否正常。其中,反馈信息初始仍然是由第一应用服务器的时间程序模块所输出的,第一应用服务器时间程序模块的代理所起到的作用是将反馈信息转发至管理服务器。该反馈信息可以是时间程序的接口的返回值,其中,返回值的作用是返回应用服务器的时间程序是否正在运行的一个逻辑判断,例如,正在运行则返回true,反之则为false,如果调用该接口出现异常则返回值为“异常”等等。
在前述实施例一、实施例二中,管理服务器通过连接到第一应用服务器时间程序模块对应用服务器运行的时间程序进行监控。在本实施例三中,通过生成第一应用服务器时间程序模块的代理并注册为管理服务器本地的MBean,使得管理服务器可以直接通过监控本地的第一应用服务器时间程序模块代理中的时间程序实现对第一应用服务器时间程序的监控,从而在管理服务器监控多个时间程序时,无需保持与各应用服务器的时间程序模块的连接,只需监控本地的应用服务器时间程序模块代理即可,实现了管理服务器对应用服务器时间程序的统一管理。
步骤305,管理服务器判断第一应用服务器时间程序模块代理中的时间程序运行是否正常。
管理服务器可以通过该本地第一应用服务器时间程序模块的代理中时间程序对应的应用接口的返回值判断代理中的时间程序的运行是否正常,进而也即可获知第一应用服务器时间程序模块中的时间程序是否运行正常。如果监控到时间程序的运行状态正常,则可以继续执行步骤306~307,如果监控到时间程序的运行状态异常,则可转入步骤308~309。
步骤306,管理服务器将监控到的时间程序的运行状态反馈至控制平台或界面。
现有技术中,在时间程序运行后,没有提供一个入口便于用户监控时间程序的运行状态,也不能根据用户的需求灵活的调度时间程序的运行。
在本实施例中,为了便于用户查看和调整时间程序的运行状态,管理服务器可以根据时间程序的所属的应用和时间程序的名称,为用户配置权限,从而使得用户可以通过密码鉴权等方式从控制平台或界面访问,监控对应的时间程序的运行。
管理服务器在监控时间程序的运行时,可以实时或定时地将监控到的时间程序的运行状态,通过控制平台或界面反馈至具有权限的用户。其中,时间程序的运行状态可以包括运行是否正常及运行机器的数量等信息。
步骤307,管理服务器根据接收到的调度策略对时间程序进行控制。
该步骤307与步骤306的顺序即可以是并列执行,也可以是先后执行,并且还可以根据需要进行调整,此处不作限定。
具有权限的用户等可以设定对时间程序的调度策略,并通过控制平台或界面发送至管理服务器,管理服务器接收到该调度策略后,对与该用户权限对应的时间程序进行调度。例如,管理服务器接收到的调度策略为:在时间程序A运行的某过程中,运行的应用服务器数量由1增加至n;则管理服务器在监控时间程序A运行到该过程时,会再随机选择n-1个应用服务器来运行这个时间程序。如果重新设置调度策略,管理服务器一般会在2分钟后监测到调度后的效果。
步骤308,当管理服务器监测到第一应用服务器时间程序模块代理中的时间程序运行异常时,选择第二应用服务器接替运行该时间程序。
该步骤与前述实施例二中的步骤204类似,此处不再赘述。
步骤309,当监测到时间程序运行异常时,触发告警。
当管理服务器监测到时间程序运行异常时,还可以触发告警,具体地,管理服务器可以将告警信息发送至与管理服务器连接的控制平台或界面,通过控制平台或界面将告警信息呈现给有权限的用户或管理人员。
本申请实施例三通过建立管理服务器和时间程序所在的第一应用服务器时间程序模块的联系,进而生成第一应用服务器时间程序模块的代理并将其注册为管理服务器本地的MBean,使得管理服务器可以通过直接对本地的第一应用服务器时间程序模块代理进行监控,实现对第一应用服务器时间程序运行状态的监控,当该时间程序运行异常时,管理服务器可以选择第二应用服务器接替运行该时间程序,并且还可在运行异常时触发告警,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。而且,管理服务器可以将监控到的时间程序的运行状态通过控制平台或界面反馈给用户,也可以根据用户设定的调度策略对运行的时间程序进行调度控制,方便用户查看和控制时间程序的运行状态。
以上是对本申请方法实施例的描述,下面对实现本申请方法的装置及系统实施例进行说明。
实施例四
参见图4,为本申请实施例的一种时间程序管理服务器的结构示意图。
该时间程序管理服务器可以包括:
接收单元401,用于接收时间程序的元信息。
连接单元402,用于根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序。
监控单元403,用于对第一应用服务器的时间程序模块中的时间程序的运行进行监控。
调度单元404,用于当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
应用服务器对本地开发的时间程序进行收集,并将收集到的时间程序注册为应用服务器本地的管理群,管理群可以是用于管理应用程序等各种管理资源的java类,例如MBean,同时,应用服务器将本地的时间程序的元信息注册到管理服务器,由管理服务器的接收单元401接收该时间程序的元信息,其中,时间程序的元信息可以包括该时间程序所属的应用,时间程序所在的应用服务器,具体的时间程序名字,以及时间程序在应用服务器的管理群的管理管理服务器的URL地址和端口号等。接收单元401在接收到应用服务器发送的时间程序的元信息后,连接单元402根据元信息建立与第一应用服务器的管理群的连接,例如,管理服务器可以根据元信息中第一应用服务器的管理群的管理管理服务器的地址和端口号连接到该时间程序所属的第一应用服务器管理群,其中,该时间程序在第一应用服务器中运行。之后,即由监控单元403对时间程序的运行进行监控,该监控可以是实时监控或定时监控,可以直接对第一应用服务器的管理群中的时间程序进行监控,也可以通过对注册在管理服务器本地的第一应用服务器管理群代理中的时间程序进行监控。当监测到时间程序运行异常时,调度单元404会选择具有同样时间程序的第二应用服务器接替运行该时间程序,以避免时间程序的中断。
本申请上述实施例通过上述单元,使得管理服务器可以对该时间程序的运行状态进行监控,当该时间程序运行异常时,管理服务器可以选择另一应用服务器接替运行该时间程序,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。
参见图5,为本申请实施例的另一种管理服务器的结构示意图。
该管理服务器除了可以包括接收单元501、连接单元502、监控单元503、调度单元504之前,还可以包括报警单元505、反馈单元506和控制单元507。其中,接收单元501、连接单元502、调度单元504与前述实施例类似,此处不再赘述。
本实施例中,监控单元503又可以包括:
代理生成子单元5031,用于根据连接到的所述第一应用服务器的时间程序模块生成所述第一应用服务器的时间程序模块的代理;
注册子单元5032,用于将所述第一应用服务器的时间程序模块的代理注册为本地管理群;
监控子单元5033,用于对所述第一应用服务器的时间程序模块的代理中的时间程序的运行进行监控。
报警单元505,用于当监测到时间程序运行异常时,触发警报。
反馈单元506,用于将监控到的所述时间程序的运行状态反馈至具有访问权限的控制平台。
控制单元507,用于根据接收到的调度策略对时间程序进行控制。
本实施例中的管理群以MBean为例进行说明。在连接单元502连接到第一应用服务器MBean后,代理生成子单元5031依据该MBean生成一个该第一应用服务器MBean的代理,并由注册子单元5032将该代理注册到本地的MBean Server上。监控子单元5033直接监控管理服务器本地的第一应用服务器MBean代理即可实现对应用服务器时间程序的监控。管理服务器可以在先根据时间程序所属的应用和时间程序名称,为指定用户配置权限,从而反馈单元506可以实时或定时将监控到的时间程序的运行状态,例如是否运行正常及运行机器的数量,通过一定的控制平台或界面反馈至具有权限的用户,从而方便具有权限的用户通过该控制平台或界面访问或监控对应的时间程序的运行。而且,控制单元507还可以接收到具有权限的用户等设定的调度策略后,对时间程序进行调度。当监控子单元5033监测到时间程序运行异常时,调度单元504会选择另一应用服务器(也即第二应用服务器)接替运行该时间程序,并由报警单元505发出警报。
本申请上述实施例通过上述单元实现了对应用服务器时间程序运行状态的监控,当该时间程序运行异常时,管理服务器可以选择另一应用服务器接替运行该时间程序,并且在运行异常时触发警报,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。而且,管理服务器可以将监控到达的时间程序的运行状态反馈给用户,也可以根据用户设定的调度策略对运行的时间程序进行调度控制,方便了用户查看和控制时间程序的运行状态。
参见图6,为本申请实施例的一种时间程序管理系统的结构示意图。
该系统可以包括管理服务器601和第一应用服务器602、第二应用服务器603。
管理服务器601,用于接收应用服务器的时间程序的元信息;根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;对第一应用服务器的时间程序模块中的时间程序的运行进行监控;当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
第一应用服务器602用于收集本地的时间程序,将收集到的时间程序注册生成第一应用服务器602的管理群,并将时间程序的元信息发送至管理服务器601。第二应用服务器603类似。
本申请上述实施例通过建立管理服务器601和时间程序所在的第一应用服务器602的管理群,例如MBean的联系,使得管理服务器601可以对该时间程序的运行状态进行监控,当该时间程序运行异常时,管理服务器601可以选择具有该时间程序的第二应用服务器603接替运行该时间程序,从而实现了应用服务器运行时间程序时的容错机制,减少了时间程序中断的情况,提高了完成一系列定时任务程序的保障系数。
在本申请的另一实施例中,管理服务器还可以通过生成第一应用服务器管理群的代理并将该代理注册为管理服务器本地管理群,从而可以直接对代理管理群监控实现对应用服务器时间程序运行的监控,而且在运行出现异常时,管理服务器还可以触发警报。该系统中,管理服务器还可以在先为用户配置权限,在管理服务器监控时间程序运行时,可以将运行状态反馈至具有相应权限的用户,并可以根据用户等设定的调度策略对该时间程序进行调度控制。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台服务器执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种时间程序管理方法,其特征在于,应用于包括管理服务器和至少两台应用服务器的服务器系统中,所述管理服务器则用于监控时间程序的运行,并且对执行时间程序的所述应用服务器进行选择和调度,所述应用服务器对本地开发的时间程序进行收集,并将收集到的时间程序注册到应用服务器本地的时间程序模块,所述应用服务器将本地的时间程序的元信息发送到管理服务器,包括:
管理服务器接收应用服务器的时间程序的元信息,所述时间程序的元信息包括:该时间程序所属的应用,时间程序所在的应用服务器,时间程序名称以及时间程序在应用服务器的URL地址和端口号;
根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;
对第一应用服务器的时间程序模块中的时间程序的运行进行监控,接收反馈信息,根据所述反馈信息判断应用服务器的时间程序运行是否正常;
当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
2.根据权利要求1所述的方法,其特征在于,所述对第一应用服务器的时间程序模块中的时间程序的运行进行监控,包括:
管理服务器根据连接到的所述第一应用服务器的时间程序模块生成所述第一应用服务器的时间程序模块的代理;
将所述第一应用服务器的时间程序模块的代理注册为本地管理群;
对所述第一应用服务器的时间程序模块的代理中的时间程序的运行进行监控。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当管理服务器监测到所述时间程序运行异常时,触发警报。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
将管理服务器监控到的所述时间程序的运行状态反馈至具有访问权限的控制平台。
5.根据权利要求1或2所述的方法,其特征在于,还包括:
管理服务器根据接收到的调度策略对所述时间程序进行控制。
6.一种时间程序管理服务器,其特征在于,应用于包括管理服务器和至少两台应用服务器的服务器系统中,所述管理服务器则用于监控时间程序的运行,并且对执行时间程序的所述应用服务器进行选择和调度,包括:
接收单元,用于接收应用服务器的时间程序的元信息,所述时间程序的元信息包括:该时间程序所属的应用,时间程序所在的应用服务器,时间程序名称以及时间程序在应用服务器的URL地址和端口号;
连接单元,用于根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;
监控单元,用于对第一应用服务器的时间程序模块中的时间程序的运行进行监控,接收反馈信息,根据所述反馈信息判断应用服务器的时间程序运行是否正常;
调度单元,用于当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
7.根据权利要求6所述的管理服务器,其特征在于,所述监控单元包括:
代理生成子单元,用于根据连接到的所述第一应用服务器的时间程序模块生成所述第一应用服务器的时间程序模块的代理;
注册子单元,用于将所述第一应用服务器的时间程序模块的代理注册为本地管理群;
监控子单元,用于对所述第一应用服务器的时间程序模块的代理中的时间程序的运行进行监控。
8.根据权利要求6或7所述的管理服务器,其特征在于,还包括:
报警单元,用于当监测到所述时间程序运行异常时,触发警报。
9.根据权利要求6或7所述的管理服务器,其特征在于,还包括:
反馈单元,用于将监控到的所述时间程序的运行状态反馈至具有访问权限的控制平台。
10.一种时间程序管理系统,其特征在于,包括管理服务器和至少两台应用服务器,所述管理服务器则用于监控时间程序的运行,并且对执行时间程序的所述应用服务器进行选择和调度,所述应用服务器对本地开发的时间程序进行收集,并将收集到的时间程序注册到应用服务器本地的时间程序模块,所述应用服务器将本地的时间程序的元信息发送到管理服务器,
所述管理服务器,用于接收应用服务器的时间程序的元信息,所述时间程序的元信息包括:该时间程序所属的应用,时间程序所在的应用服务器,时间程序名称以及时间程序在应用服务器的URL地址和端口号;根据时间程序的元信息,连接至时间程序所属的第一应用服务器的时间程序模块,所述时间程序模块用于管理在该应用服务器的运行的时间程序;对第一应用服务器的时间程序模块中的时间程序的运行进行监控,接收反馈信息,根据所述反馈信息判断应用服务器的时间程序运行是否正常;当监测到所述时间程序运行异常时,选择具有同样时间程序的第二应用服务器接替运行该时间程序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010244268.1A CN102346698B (zh) | 2010-07-30 | 2010-07-30 | 一种时间程序管理方法、服务器及系统 |
HK12104123.8A HK1163849A1 (zh) | 2010-07-30 | 2012-04-26 | 種時間程序管理方法、服務器及系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010244268.1A CN102346698B (zh) | 2010-07-30 | 2010-07-30 | 一种时间程序管理方法、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102346698A CN102346698A (zh) | 2012-02-08 |
CN102346698B true CN102346698B (zh) | 2014-12-24 |
Family
ID=45545393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010244268.1A Expired - Fee Related CN102346698B (zh) | 2010-07-30 | 2010-07-30 | 一种时间程序管理方法、服务器及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102346698B (zh) |
HK (1) | HK1163849A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102938707A (zh) * | 2012-10-19 | 2013-02-20 | 福州博远无线网络科技有限公司 | 远程定时管理方法 |
CN102983926B (zh) * | 2012-11-19 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种刀片系统时钟同步的设计方法 |
CN105446812A (zh) * | 2016-01-04 | 2016-03-30 | 中国南方电网有限责任公司 | 一种多任务调度配置方法 |
CN109753403B (zh) * | 2017-11-06 | 2022-09-23 | 阿里巴巴集团控股有限公司 | 服务器操作方法、装置、设备和系统 |
CN108337314B (zh) * | 2018-02-07 | 2019-07-09 | 北京百度网讯科技有限公司 | 分布式系统、用于主服务器的信息处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512375A (zh) * | 2002-12-31 | 2004-07-14 | 联想(北京)有限公司 | 利用机群节点相互备份的容错方法 |
CN1547120A (zh) * | 2003-12-10 | 2004-11-17 | 沈阳东软软件股份有限公司 | 网络监视管理系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1292346C (zh) * | 2003-09-12 | 2006-12-27 | 国际商业机器公司 | 用于在分布式计算体系结构中执行作业的系统和方法 |
CN1918548A (zh) * | 2004-02-09 | 2007-02-21 | 松下电器产业株式会社 | 用于自动地继续提供服务的电子设备 |
-
2010
- 2010-07-30 CN CN201010244268.1A patent/CN102346698B/zh not_active Expired - Fee Related
-
2012
- 2012-04-26 HK HK12104123.8A patent/HK1163849A1/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512375A (zh) * | 2002-12-31 | 2004-07-14 | 联想(北京)有限公司 | 利用机群节点相互备份的容错方法 |
CN1547120A (zh) * | 2003-12-10 | 2004-11-17 | 沈阳东软软件股份有限公司 | 网络监视管理系统 |
Non-Patent Citations (2)
Title |
---|
说明书第6页第8-25行、第7页第11-20行 * |
附图1-6. * |
Also Published As
Publication number | Publication date |
---|---|
HK1163849A1 (zh) | 2012-09-14 |
CN102346698A (zh) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105187249B (zh) | 一种故障恢复方法及装置 | |
US6691244B1 (en) | System and method for comprehensive availability management in a high-availability computer system | |
CN102346698B (zh) | 一种时间程序管理方法、服务器及系统 | |
TWI235299B (en) | Method for providing application cluster service with fault-detection and failure-recovery capabilities | |
CN100583818C (zh) | 在网络连接设备之间进行切换的方法以及网络系统 | |
CN105095001B (zh) | 分布式环境下虚拟机异常恢复方法 | |
US20040006624A1 (en) | OPC server redirection manager | |
CN101098260A (zh) | 一种分布式设备监视管理方法、设备和系统 | |
CN107147540A (zh) | 高可用性系统中的故障处理方法和故障处理集群 | |
CN108429629A (zh) | 设备故障恢复方法和装置 | |
US8880703B2 (en) | Address distribution method, device and system thereof | |
CN106030456A (zh) | 自动异步切换标识 | |
CN104038390B (zh) | 一种基于netlink的linux服务器集群统一外设事件监听方法 | |
CN103905234A (zh) | 提高分布式系统中资源可用性的方法及系统 | |
CN103475696A (zh) | 云计算集群服务器状态监控系统和方法 | |
US20020116437A1 (en) | Server decision method and device thereof | |
CN104065526A (zh) | 一种服务器故障报警的方法和装置 | |
CN110362176A (zh) | 一种服务器bmc失效时散热控制系统及方法 | |
CN101777951A (zh) | 一种数据监测的方法和系统 | |
CN110798339A (zh) | 一种基于分布式任务调度框架的任务容灾方法 | |
CN101222369A (zh) | 网元链路分时检测方法和装置 | |
CN101237355B (zh) | 实现业务监控的方法和网络监控装置 | |
TW200304297A (en) | Clustered/fail-over remote hardware management system | |
JP2005301436A (ja) | クラスタシステムおよびクラスタシステムにおける障害回復方法 | |
KR100363523B1 (ko) | 클러스터링 서버에서의 분산 처리 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1163849 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1163849 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141224 Termination date: 20210730 |
|
CF01 | Termination of patent right due to non-payment of annual fee |