本发明涉及分布式服务领域,尤其涉及一种分布式服务管理方法及系统。
背景技术:
互联网时代,网络密不可分,随之而来的是网络需求量增加,分布式服务提供了很好的针对高并发请求的解决方案,但是目前分布式服务的部署策略一般采用的都是人为的观测服务器压力或者请求响应时间。在单台服务器压力较大时,人为进行横向扩展服务器数量。这样加大了人力成本的投入同时服务的扩展不具备实时性。而且,对于空闲的服务也不能及时的回收,造成了服务器资源的浪费。
技术实现要素:
本发明的目的是针对上述现有技术的分布式服务扩展不及时或者资源浪费的技术问题,提供一种分布式服务管理方法及系统。
本发明实施例中,提供了一种分布式服务管理方法,其包括:
根据设定的时间段内某种服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲;
如果当前执行所述服务的服务器集群繁忙,则启动新的服务器执行所述服务;
如果当前执行所述服务的服务器集群空闲,则关掉至少一个执行所述服务的服务器。
本发明实施例中,在判断当前执行所述服务的服务器集群是繁忙还是空闲之前,还包括:
记录设定的时间段内所述服务请求的数量、每个服务请求的响应时间以及当前执行所述服务的服务器数量。
本发明实施例中,根据设定的时间段内某一种服务请求数量、平均响应时间及消耗服务资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲,包括:
计算出所述服务请求的平均响应时间;
对所述服务请求的平均响应时间与当前运行所述服务的服务器数量进行运算处理,得到判断服务器是否繁忙的策略参数;
如果所述策略参数大于设定的第一阈值,则说明当前服务器集群繁忙;
如果所述策略参数小于设定的第二阈值,则说明当前服务器集群空闲。
本发明实施例中,所述策略参数的计算公式如下:
z=a*x*y,
其中,a为设定的归一化系数,x为所述服务请求的平均响应时间,y为当前执行所述服务的服务器数量。
本发明实施例中,采用第一管理模块管理已经运行的服务器,采用第二管理模块管理未启动的备用服务器,当所述第二管理模块管理的服务器被启动时,所述被启动的服务器被纳入到所述第一管理模块进行管理,当所述第一管理模块管理的服务器被关闭时,所述被关闭的服务器被纳入到所述第二管理模块进行管理。
本发明实施例中,一种分布式服务管理系统,其包括:
第一管理模块,用于管理已经运行的服务器;
第二管理模块,管理未启动的备用服务器;
大数据平台,用于根据设定的时间段内某种服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲;
服务调度中心,用于根据所述大数据平台的判断结果来控制所述第一管理模块和所述第二管理模块对已经运行的服务器和未启动的服务器进行管理,
如果当前执行所述服务的服务器集群繁忙,则启动新的服务器执行所述服务;
如果当前执行所述服务的服务器集群空闲,则关掉至少一个执行所述服务的服务器。
本发明实施例中,所述的分布式服务管理系统,还包括:
网关服务模块,用于接收和分发服务请求,并记录服务请求的数量及每个服务请求的响应时间。
本发明实施例中,所述大数据平台根据设定的时间段内某一种服务请求数量、平均响应时间及消耗服务资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲,包括:
计算出所述服务请求的平均响应时间;
对得到的平均响应时间及当前运行所述服务的服务器数量进行运算处理,得到判断服务器是否繁忙的策略参数;
如果所述策略参数大于设定的第一阈值,则说明当前服务器集群繁忙;
如果所述策略参数小于设定的第二阈值,则说明当前服务器集群空闲。
本发明实施例中,所述策略参数的计算公式如下:
z=a*x*y,
其中,a为设定的归一化系数,x为所述服务请求的平均响应时间,y为当前执行所述服务的服务器数量。
本发明实施例中,当所述第二管理模块管理的服务器被启动时,所述被启动的服务器被纳入到所述第一管理模块进行管理,当所述第一管理模块管理的服务器被关闭时,所述被关闭的服务器被纳入到所述第二管理模块进行管理。
与现有技术相比较,在本发明分布式服务管理方法和系统中,在设定的时间段内某种服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲,通过服务调度监控的方式代替人来监测检测各个服务的运行状况,从而自动配置当前服务器的数量,无需人工配置,可够降低人工成本,还更加的实时,高效的利用服务器资源。
附图说明
图1是本发明实施例的分布式服务管理系统的结构示意图。
图2是本发明实施例的分布式服务管理方法的流程图。
具体实施方式
如图1所示,本发明实施例中,还提供了一种分布式服务管理系统,其包括第一管理模块1、第二管理模块2、网关服务模块3、大数据平台4和服务调度中心5。下面分别进行说明。
所述第一管理模块1,用于管理已经运行的服务器。
所述第二管理模块2,管理未启动的备用服务器。
需要说明的是,在分布式服务管理系统中,通常都设置了多个服务器集群,用于多种响应来自互联网的服务请求,从而执行这些服务。每个服务器集群都由多个用于执行同样服务请求的服务器组成。在本发明实施例中,设置了多台已启动运行的服务器来组成服务器集群,并采用所述第一管理模块1来管理这些已经运行的服务器,还设置了多台备用服务器,采用所述第二管理模块2来管理这些备用服务器。
所述网关服务模块3,用于接收和分发服务请求,将所述服务请求发送给所述服务器集群,并将所述服务器集群执行所述服务的数据返回给请求方。所述所述网关服务模块3记录每个服务请求的响应时间。
所述大数据平台4,用于根据设定的时间段内某种服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲。
具体地,根据设定的时间段内某种服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲的方式如下:
首先,记录设定的时间段内所述服务请求的数量、每个服务请求的响应时间以及当前运行所述服务的服务器数量;
然后,计算出所述服务请求的平均响应时间;
接下来,对得到的平均响应时间及当前运行所述服务的服务器数量进行运算处理,得到判断服务器是否繁忙的策略参数,本发明实施例中,所述策略参数的计算公式如下:
z=a*x*y,
其中,a为设定的归一化系数,x为所述服务请求的平均响应时间,y为当前执行所述服务的服务器数量;
最后,根据所述策略参数来判断所述服务器集群是繁忙还是空闲:
如果所述策略参数大于设定的第一阈值,则说明当前服务器集群繁忙;
如果所述策略参数小于设定的第二阈值,则说明当前服务器集群空闲。
需要说明的是,由于各种服务功能性质是不同的,有的服务接口可能用户处理复杂相对事物较多平均响应时间较长,有的服务处理的比较简单的逻辑,响应平均时间较短。因此,仅仅比较服务请求响应时间来判断服务效率显然是不可行的,因此,在本发明实施例中,根据每一个时间段某一种服务的平均响应时间及消耗的服务器资源进行运算处理,得到判断服务器是否繁忙的策略参数。某一种服务消耗的服务器资源量就是执行所述服务的服务器数量。所述大数据平台4实时记录每种服务请求的数量、每个服务请求的响应时间以及所述服务请求消耗的服务器数量,形成历史大数据,并对所述历史大数据进行处理得到判断每种服务器是繁忙还是空闲的第一阈值和第二阈值。
所述服务调度中心5,用于根据所述大数据平台4的判断结果来控制所述第一管理模块1和所述第二管理模块2对已经运行的服务器和未启动的服务器进行管理,如果当前执行所述服务的服务器集群繁忙,则启动新的服务器执行所述服务;如果当前执行所述服务的服务器集群空闲,则关掉至少一个执行所述服务的服务器。
需要说明的是,当所述第二管理模块2管理的服务器被启动时,所述被启动的服务器被纳入到所述第一管理模块1进行管理;当所述第一管理模块1管理的服务器被关闭时,所述被关闭的服务器被纳入到所述第二管理模块2进行管理。
如图2所示,本发明实施例中,还提供了一种分布式服务管理方法,其包括:
步骤s1:记录设定的时间段内某种服务请求的数量、每个服务请求的响应时间以及当前执行所述服务的服务器数量;
步骤s2:根据所述服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲;
步骤s3:如果当前执行所述服务的服务器集群繁忙,则启动新的服务器执行所述服务;
步骤s4:如果当前执行所述服务的服务器集群空闲,则关掉至少一个执行所述服务的服务器。
需要说明的是,步骤s2中,根据设定的时间段内某一种服务请求数量、平均响应时间及消耗服务资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲,包括:
计算出所述服务请求的平均响应时间;
对所述服务请求的平均响应时间与当前运行所述服务的服务器数量进行运算处理,得到判断服务器是否繁忙的策略参数;
如果所述策略参数大于设定的第一阈值,则说明当前服务器集群繁忙;
如果所述策略参数小于设定的第二阈值,则说明当前服务器集群空闲。
本发明实施例中,所述策略参数的计算公式如下:
z=a*x*y,
其中,a为设定的归一化系数,x为所述服务请求的平均响应时间,y为当前执行所述服务的服务器数量。
综上所述,在本发明分布式服务管理方法和系统中,在设定的时间段内某种服务的平均响应时间及消耗服务器资源量来判断当前执行所述服务的服务器集群是繁忙还是空闲,通过服务调度监控的方式代替人来监测检测各个服务的运行状况,从而自动配置当前服务器的数量,无需人工配置,可够降低人工成本,还更加的实时,高效的利用服务器资源。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。