一种服务调度方法、装置和服务调度系统转让专利

申请号 : CN200810002347.4

文献号 : CN101222362B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晖

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种服务调度方法,该方法包括:根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量;所述前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。本发明还公开了一种服务调度装置和服务恢复系统。应用本发明以后,可以降低运行维护成本,而且可以在同一台后台服务器上同时运行不同服务,可以更好地利用资源。

权利要求 :

1.一种服务调度方法,其特征在于,所述方法包括:

根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量;

所述前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。

2.根据权利要求1所述的服务调度方法,其特征在于,运行所述前台服务的前台服务器至少为两台;

所述根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量为:根据运行所述前台服务的各前台服务器的历史运行记录计算所有前台服务器同时出现异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量。

3.根据权利要求2所述的服务调度方法,其特征在于,运行替换所述前台服务的后台服务的后台服务器至少为两台,所述后台服务备用资源量由各台后台服务器共同承担。

4.根据权利要求3所述的服务调度方法,其特征在于,所述方法中,当至少两种前台服务同时出现异常时,计算恢复所述至少两种前台服务需要的资源量,从所述后台服务备用资源量中调用计算出的资源量以恢复该至少两种前台服务,其中至少有一台后台服务器同时运行所述至少两种出现异常的前台服务。

5.根据权利要求4所述的服务调度方法,其特征在于,当至少两种前台服务出现异常且所述前台服务相互冲突时,不在同一台后台服务器同时运行所述出现冲突的前台服务。

6.一种服务调度装置,其特征在于,所述服务调度装置包括:

备用资源量确定单元,用于根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量;

服务恢复单元,用于当前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。

7.一种服务恢复系统,其特征在于,所述系统包括前台服务器群、后台服务器群和服务切换单元,其中前台服务器群由至少两台前台服务器组成,后台服务器群由至少两台后台服务器组成;其中:所述前台服务器群,用于运行前台服务;

所述服务切换单元,用于当前台服务有异常时计算恢复所述服务需要的资源量,并从后台服务器群备用资源量中调用该计算出的资源量以恢复该异常前台服务;

所述后台服务器群,用于接收服务切换单元的调用恢复出现异常的前台服务,所述后台服务器群的备用资源量是根据前台服务器群历史运行记录计算出的前台服务最大异常概率所确定的。

8.根据权利要求7所述的服务恢复系统,其特征在于,

所述服务切换单元,用于根据运行所述前台服务的各前台服务器的历史运行记录计算所有前台服务器同时出现异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务器群备用资源量。

9.根据权利要求7所述的服务恢复系统,其特征在于,

所述服务切换单元,用于当至少两种前台服务出现异常时,计算恢复所述至少两种前台服务需要的资源量,并从所述后台服务器群备用资源量中调用该计算出的资源量以恢复该异常前台服务;

所述后台服务器群中至少有一台后台服务器同时运行所述至少两种出现异常的前台服务。

10.根据权利要求7、8或9所述的服务恢复系统,其特征在于,所述服务恢复系统进一步包括前台服务监控单元,所述前台服务监控单元,用于监控前台服务的运行状况,并在所述前台服务出现异常时向所述服务切换单元发出报警信息,所述服务切换单元,用于响应于所述报警信息计算恢复所述异常服务需要的资源量,并从所述后台服务器群备用资源量中调用该计算出的资源量以恢复该异常服务。

11.根据权利要求7、8或9所述的服务恢复系统,其特征在于,所述服务恢复系统进一步包括后台服务监控单元,所述后台服务监控单元,用于当至少两种前台服务出现异常且所述前台服务相互冲突时,不在同一台后台服务器同时运行所述出现冲突的服务。

说明书 :

一种服务调度方法、装置和服务调度系统

技术领域

[0001] 本发明涉及网络应用(Application)技术领域,更具体地说,本发明涉及一种服务调度方法、装置和服务调度系统。

背景技术

[0002] 在现有的互联网等大型服务系统中,都有一系列的服务器(Server)来支撑服务。这些服务器上运行着一系列的服务,其中某些关键服务需要提供较高的服务质量,即需要将无法服务时间控制在一定程度内。
[0003] 对于这些关键服务,目前通常会采取1∶1的热备份系统来予以支撑。比如,假设某关键服务需要2台服务器来支撑,则需要在后台另外设置2台与前台服务器硬件上接近的服务器作为备份设备。平时大部分时间,后台的2台后台服务器处于空闲状态,但仍处于运行状态。
[0004] 在这种1∶1的备份方案中,由于使用硬件性能接近的服务器以及采用与前台服务器1∶1的数量分布,一旦前台服务器异常,后台服务器可以立即顶替并运行同样的服务程序,因此服务性能无任何损失。但是,1∶1的服务备份方式中后台服务器长期处于空闲状态,因此会浪费资源,不利于节约运行维护成本。
[0005] 目前,还有一种能够节约成本的1∶n服务备份方案。在这种1∶n的服务备份方案中,后台使用与前台服务器硬件性能有一定差距的后台服务器,前端服务器与后台服务器成1∶n的数量分布,其中n大于1,而且每台后台服务器中只运行单一种类的服务。比如,假设某关键服务A需要1台服务器来支撑,则需要在后台另外设置n台与前台服务器硬件性能有一定差距的服务器作为备份设备,而且每台后台服务器中只运行关键服务A,其中n大于1。在这种1∶n的服务备份方案中,由于采用了较多的硬件设备,必然也会占用较多的硬件放置空间,相应的也会消耗较多的周边资源,如供电,空调等设施,而且过多的设备显然也会增加运维成本,因此1∶n的服务备份方案也不利于降低运行维护成本。
[0006] 由此可见,无论是1∶1的备份方案还是1∶n的备份方案,都不利于降低运行维护成本。

发明内容

[0007] 本发明实施例提出一种服务调度方法,以降低运行维护成本。
[0008] 本发明实施例提出一种服务调度装置,以降低运行维护成本。
[0009] 本发明实施例还提出一种服务调度系统,以降低运行维护成本。
[0010] 本发明实施例的技术方案如下:
[0011] 一种服务调度方法,所述方法包括:
[0012] 根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量;
[0013] 所述前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。
[0014] 一种服务调度装置,所述服务调度装置包括:
[0015] 备用资源量确定单元,用于根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量;
[0016] 服务恢复单元,用于当前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。
[0017] 一种服务恢复系统,所述系统包括前台服务器群、后台服务器群和服务切换单元,其中前台服务器群由至少两台前台服务器组成,后台服务器群由至少两台后台服务器组成;其中:
[0018] 所述前台服务器群,用于运行前台服务;
[0019] 所述服务切换单元,用于当前台服务有异常时计算恢复所述服务需要的资源量,并从后台服务器群备用资源量中调用该计算出的资源量以恢复该异常前台服务;
[0020] 所述后台服务器群,用于接收服务切换单元的调用恢复出现异常的前台服务,所述后台服务器群的备用资源量是根据前台服务器群历史运行记录计算出的前台服务最大异常概率所确定的。
[0021] 从上述技术方案中可以看出,在本发明实施例中,首先根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据该概率确定准备替换所述前台服务的后台服务备用资源量;然后再从后台服务备用资源量中调用资源量以恢复该异常服务。由此可见,本发明实施例既没有采用成本昂贵的1∶1备份方案,也没有简单地采用1∶n备份方案,而是首先根据概率确定准备替换前台服务的后台服务备用资源量,在备份资源和服务质量之间取得了动态平衡点,因此可以更好地降低运行维护成本,并且能够保证服务质量。
[0022] 另外,应用本发明实施例以后,通过对资源有冲突的服务进行调度,可以在同一台后台服务器上同时运行不同服务,从而可以更好地利用资源。并且,应用本发明实施例以后,人为干预程度较低,可以降低运营人员的劳动强度。

附图说明

[0023] 图1为根据本发明实施例的服务调度方法示范性流程图;
[0024] 图2为根据本发明实施例的服务调度装置示范性结构图;
[0025] 图3为根据本发明实施例的服务恢复系统的示范性结构图。

具体实施方式

[0026] 为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0027] 在本发明实施例中,首先根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据该概率确定准备替换所述前台服务的后台服务备用资源量;然后再从后台服务备用资源量中调用资源量以恢复该异常服务。
[0028] 另外,在本发明实施例中,作为后台服务器的后台服务器可以不再运行单一种类的服务,而是可以运行多种服务,并在前台服务器发生异常时可动态调度所需要的后台服务器数量和对应运行的服务类型与数据资源。
[0029] 图1为根据本发明实施例的服务调度方法示范性流程图。
[0030] 如图1所示,该方法包括:
[0031] 步骤101:根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量。
[0032] 其中,运行前台服务的前台服务器可以为一台、两台或者两台以上。当前台服务器的数量为两台或者两台以上时,根据运行前台服务的各前台服务器的历史运行记录计算所有前台服务器同时出现异常的概率,并根据所述概率确定后台服务的备用资源量。其中,可以实时或者半实时地监控前台服务器的运行状态并调控这些服务所需要的数据资源,还可以建立前端服务和所需资源的动态列表。
[0033] 同样地,运行后台服务的后台服务器也可以为一台、两台或者两台以上。当后台服务器的数量大于一台时,后台服务器的备用资源量由各台后台服务器共同承担,并且作为后台服务器的后台服务器可以不再运行单一种类的服务,而是可以在同一台后台服务器上运行多种服务。同样地,可以实时或者半实时地监控后台服务器的运行状态并调控这些服务所需要的数据资源,还可以建立后台服务器的可用资源动态列表。
[0034] 步骤102:前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。
[0035] 以上流程中,优选地,当至少两种前台服务同时出现异常时,首先计算恢复该至少两种前台服务需要的资源量,从后台服务备用资源量中调用计算出的资源量以恢复该至少两种前台服务,其中至少有一台后台服务器同时运行所述至少两种出现异常的前台服务。
[0036] 比如:假设有A、B、C三种服务同时对外服务。简单起见,可以分别运行在Sa、Sb、Sc三台前台服务器上。根据Sa、Sb、Sc服务的日常监控记录,可以分别计算出Sa、Sb、Sc的失败率,即需要后台服务器立刻顶替A、B、C服务的概率,这样可以计算出Sa、Sb、Sc这三台前台服务器同时出现异常的概率(通常是最极端的情况),根据这个概率可以确定准备替换前台服务的最低后台服务备用资源量。进一步,还可以根据后台服务器的运行参数以及所确定的后台服务备用资源量,来确定需要的具体后台服务器数量N。
[0037] 假设每台后台服务器上都可部署并运行A、B、C三种服务,则任何1台后台服务器可随时顶替在线的前台服务器的任何服务。假设前台服务器Sa发生异常,则检视可用的后台服务器资源后,发现有N台后台服务器可用,计算出顶替Sa机对外服务性能所需要的后台服务器数量后(假设为0.5,则需要1台后台服务器即可),则可以向后台服务器可用资源动态列表中的后台服务器B1发出调控指令,将1台后台服务器的服务调整为A并对外服务,同时更新后台服务器可用资源动态列表。至此,完成1个备份服务的调度和切换过程。
[0038] 假如在前台服务器Sa异常后,前台服务器Sb也发生异常,类似上面过程,如果计算出需要1.5台后台服务器,则动态调度另一台后台服务器B2运行服务B,并更新后台服务器可用资源动态列表,完成对应的服务和资源调度。假设A、B服务可同时在一台服务器上运行,则可将正在运行服务A的后台服务器B1的B服务调度成运行状态,这样B2和B1同时对外运行顶替Sb服务,同时更新后台服务器可利用资源列表。当Sa或Sb异常修复后,可以反向调度上述过程并更新对应的资源列表。
[0039] 可见,应用本流程以后,可以较为经济地动态部署后台服务器的数量和服务种类,可最大限度的利用后台服务器的性能,同时最大限度的维持前端正常的服务质量。
[0040] 另外,当至少两种前台服务出现异常且所述前台服务相互冲突时,不在同一台后台服务器同时运行所述出现冲突的前台服务,从而避免在同一台服务器上同时运行几个有冲突的服务。
[0041] 具体地,由于同一台后台服务器需要支撑多种服务,可能会遇到需要的软件和数据资源冲突的情况,这就需要一个冲突服务调度机制,负责避免在同一台服务器上同时运行几个有冲突的服务。根据运营的统计数据,可以获得一个有较高故障率的服务列表,根据这个动态列表,来调整后台服务器上运行的服务和服务的数量,以此来满足可能发生异常情况时用最少的时间来完成后台服务器顶替服务的调度过程。对于有冲突的服务而言,可以得到这些服务的失败概率和相关的失败序列概率(即A服务异常后B服务通常也会发生异常),这样就可以得到一个动态更新的故障率服务列表,由此可以动态调度某一时刻处于预备状态的服务资源。
[0042] 本发明实施例所需要的后台服务器数量是一个动态的数字,可根据近期的服务质量监控得出一个预测值,根据这个预测值来调整处于备份运营状态的服务器资源,或增或减。
[0043] 基于上述分析,本发明还提出了一种服务调度装置。
[0044] 图2为根据本发明实施例的服务调度装置的结构示意图。
[0045] 如图2所示,该服务调度装置包括:
[0046] 备用资源量确定单元201,用于根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量;
[0047] 服务恢复单元202,用于当前台服务有异常时计算恢复所述服务需要的资源量,并从所述后台服务备用资源量中调用该计算出的资源量以恢复该异常前台服务。
[0048] 本发明还提出了一种服务恢复系统。
[0049] 图3为根据本发明实施例的服务恢复系统的结构示意图。
[0050] 如图3所示,该系统包括前台服务器群301、后台服务器群302和服务切换单元303,其中前台服务器群301由至少两台前台服务器组成,后台服务器群302由至少两台后台服务器组成;其中:
[0051] 所述前台服务器群301,用于运行前台服务;
[0052] 所述服务切换单元303,用于当前台服务有异常时计算恢复所述服务需要的资源量,并从后台服务器群备用资源量中调用该计算出的资源量以恢复该异常前台服务;
[0053] 所述后台服务器群302,用于接收服务切换单元303的调用恢复出现异常的前台服务,所述后台服务器群的备用资源量是根据前台服务器群历史运行记录计算出的前台服务最大异常概率所确定的。
[0054] 优选地,服务切换单元303,用于根据运行所述前台服务的各前台服务器的历史运行记录计算所有前台服务器同时出现异常的概率,并根据所述概率确定准备替换所述前台服务的后台服务备用资源量。
[0055] 优选地,服务切换单元303,用于当至少两种前台服务出现异常时,计算恢复所述两种前台服务需要的资源量,并从所述后台服务器群备用资源量中调用该计算出的资源量以恢复该异常前台服务;此时所述后台服务器群中至少有一台后台服务器同时运行所述至少两种出现异常的前台服务。
[0056] 该服务恢复系统还可以进一步包括前台服务监控单元304,
[0057] 所述前台服务监控单元304,用于监控前台服务的运行状况,并在所述前台服务出现异常时向所述服务切换单元303发出报警信息,此时:
[0058] 所述服务切换单元303,用于响应于所述报警信息计算恢复所述异常服务需要的资源量,并从所述后台服务器群备用资源量中调用该计算出的资源量以恢复该异常服务。
[0059] 该服务恢复系统进一步包括后台服务监控单元305,
[0060] 所述后台服务监控单元305,用于当至少两种前台服务出现异常且所述前台服务相互冲突时,不在同一台后台服务器同时运行所述出现冲突的服务。
[0061] 综上所述,在本发明实施例中,首先根据前台服务的历史运行记录计算前台服务出现最大异常的概率,并根据该概率确定准备替换所述前台服务的后台服务备用资源量;然后再从后台服务备用资源量中调用资源量以恢复该异常服务。由此可见,本发明实施例既没有采用成本高的1∶1备份方案,也没有简单地采用1∶n备份方案,而是首先根据概率确定准备替换前台服务的后台服务备用资源量,在备份资源和服务质量之间取得了动态平衡点,因此可以更好地降低运行维护成本,并且能够保证服务质量。
[0062] 另外,应用本发明实施例以后,人为干预程度较低,可以降低运营人员的劳动强度。而且,应用本发明实施例后可以在一台后台服务器上同时运行不同服务,可以更好地利用资源。
[0063] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。