自动监测服务器状态并自适应调整服务的方法及其装置制造方法
【专利摘要】本发明公开了一种自动监测服务器状态并自适应调整服务的方法及其装置。所述方法包括:预先确定服务的多种服务等级;利用至少一个探针监测所述服务器状态用以得到至少一个探针值,组合所述至少一个探针值,用以计算所述服务器的当前服务负载值;依据所述当前服务负载值确定所述服务器当前应采取的服务等级;以及依据所述确定的服务等级调整所述服务器的服务操作。利用本发明提供的方法及其装置无需人工干预的情况下,自动判定服务器当前的服务负载,当服务的请求量突然爆发时,可自适应地进行服务等级调整以降低服务负载,从而保障了服务的正常运行,而当服务的请求量恢复正常之后,又可自适应地进行服务等级调整以自动恢复正常服务。
【专利说明】自动监测服务器状态并自适应调整服务的方法及其装置
【技术领域】
[0001] 本发明涉及互联网的服务管理,更具体地,涉及一种自动监测服务器状态并自适 应调整服务的方法及其装置。
【背景技术】
[0002] 在当今信息呈爆发式增长的时代,越来越多的用户通过互联网来获取信息。但互 联网网络服务通常会有流量不稳定的情况发生。比如在周末、节假日互联网的访问人数会 显著增加,又比如出现突发事件的情况下访问人数也会显著增加,访问人数的增加往往会 导致某些服务(例如查询服务、检索服务或者打开网页等操作)的请求量飙升(例如,对提供 该服务的服务器的请求量迅速飚升),飚升的请求量使得该服务响应速度降低甚至出现服 务得不到响应的状况。当用户面对这种情况时,往往是在客户端不断进行重试(例如,用户 看到网页没有响应,则不断刷新页面)。这种服务请求的不断重试反过来进一步加重服务器 的压力,造成雪崩效应,从而导致服务崩溃且无法恢复。
[0003] 目前现有技术解决上述问题的办法通常为两种。一种是通过增加服务器达到防 止服务崩溃的目的。另一种是关闭某些服务(例如,关闭某些地区的服务、关闭某些网段的 服务、关闭一些非必要业务等)来达到防止服务崩溃的目的。但增加服务器的方式成本较 高,此外如果服务请求量不是常态增加而是突发增加的,所增加的服务器在非繁忙时只能 闲置,造成资源浪费。而关闭某些服务的方式实际上是通过硬性关闭的方式降低服务器的 请求量,导致摒弃部分用户的需求,使得这些用户的体验度非常不好。除此之外,这两种现 有方式都需要人工的参与,而人力维护不仅成本较高,而且对操作人的经验要求较高。
[0004] 因此,需要一种新的方法以解决上述问题。
【发明内容】
[0005] 有鉴于此,本发明提供一种自动监测服务器状态并自适应调整服务的方法及其装 置以解决上述问题。
[0006] 本发明提供一种自动监测服务器状态并自适应调整服务的方法,其特征在于,包 括: 预先确定服务的多种服务等级; 利用至少一个探针监测所述服务器状态用以得到至少一个探针值,组合所述至少一个 探针值,用以计算所述服务器的当前服务负载值; 依据所述当前服务负载值确定所述服务器当前应采取的服务等级;以及 依据所述确定的服务等级调整所述服务器的服务操作。
[0007] 优选地,其中,依据服务负载预先确定所述多种服务等级,其中,所述服务负载为 所述服务器的资源消耗量。
[0008] 优选地,其中,所述服务为查询服务、下载服务、在线播放服务、信息推送服务。
[0009] 优选地,其中,所述服务为信息推送服务时,所述信息推送服务可读取个性化数 据、读取最近访问记录、读取索引信息、综合计算。
[0010] 优选地,其中,所述多个探针包括探针1、探针2、探针3、探针4、探针5及其组合, 其中,所述探针1用以监测服务线程数,所述探针2用以监测平均响应时间,所述探针3用 以监测处理器使用率,所述探针4用以监测内存回收频率,所述探针5用以监测后台读写次 数。
[0011] 优选地,其中,所述利用至少一个探针监测所述服务器状态用以得到至少一个探 针值,组合所述至少一个探针值,用以计算所述服务器的当前服务负载值的步骤包括: 利用预定公式组合所述至少一个探针值来计算所述服务器的当前服务负载值。
[0012] 优选地,其中,所述预定公式为: 当前服务负载=l〇g (pl*hl+p2*h2+p3*h3+*"pn*hn) /log (2),其中,pn 表示第 n 个探针 值,hl~hn分别为探针值pl~pn的加权系数,n为大于等于1的正整数。
[0013] 优选地,其中,所述利用至少一个探针监测所述服务器状态用以得到至少一个探 针值,组合所述至少一个探针值,用以计算所述服务器的当前服务负载值的步骤包括: 依据探针值的不同,可将所述多个探针对应的负载预先分为多个负载等级,每个负载 等级预先对应所述至少一个探针值的一个区间; 组合所述多个负载等级;以及 依据组合后的负载等级计算所述服务器的当前服务负载值。
[0014] 优选地,其中,所述依据所述当前服务负载值确定所述服务器当前应采取的服务 等级的步骤包括: 预先设定所述服务负载值所对应的服务等级,其中不同的服务负载值区间对应不同的 服务等级,依据所述的当前服务负载值确定所述服务器当前应采取的服务等级。
[0015] 本发明还提供了一种自动监测服务器状态并自适应调整服务的装置,其特征在 于,包括: 多个探针,用以监测所述服务器状态以得到至少一个探针值; 计算模块,耦接所述多个探针,用以定期读取所述至少一个探针值,利用所读取的探针 值计算所述服务器的当前服务负载值; 确定模块,耦接所述计算模块,用以依据所述当前服务负载值确定所述服务器当前应 采取的服务等级;以及 执行模块,耦接所述确定模块和服务器,用以依据所述确定的服务等级调整所述服务 器的服务操作。
[0016] 本发明提出的自动监测服务器状态并自适应调整服务的方法及其装置,具有以下 优点: 1) 无需人工干预的情况下,自动判定服务器当前的服务负载; 2) 当服务的请求量突然爆发时,可自适应地进行服务等级调整以降低服务负载,从而 保障了服务的正常运行; 3 )而当服务的请求量恢复正常之后,又可自适应地进行服务等级调整以自动恢复正常 服务。
[0017] 当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果。
[0018]
【专利附图】
【附图说明】
[0019] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1为依据本发明一实施例的自动监测服务器状态并自适应调整服务的方法。
[0020] 图2为依据本发明一实施例的自动监测服务器状态并自适应调整服务的装置。
[0021]
【具体实施方式】
[0022] 如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员 应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以 名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在 通篇说明书及权利要求当中所提及的"包含"为一开放式用语,故应解释成"包含但不限定 于"。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原 则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为 准。
[0023] 图1为依据本发明一实施例的自动监测服务器状态并自适应调整服务的方法,该 方法可以实现于服务提供商的服务器终端。需要说明的是,本发明并不限于服务的种类,例 如,可以是查询服务、下载服务、在线播放服务、信息推送服务等。另外,本发明也并不限于 服务器终端的具体形式和具体功能,例如当服务是查询服务时,服务器终端可以是远程的 查询服务器;当服务是在线播放服务时,服务器可以是本地的播放服务器;当服务是下载 服务时,服务器可以是远程的下载服务器;当服务是信息推送服务时,服务器可以是本地的 信息推送服务器。如图1所示,自动监测服务健康状态并自适应调整服务的方法包括以下 步骤。
[0024] 步骤101,依据服务负载预先确定服务的多种服务等级。
[0025] 以信息推送服务提供商提供的信息推送服务为例,该信息推送服务的计算需要读 取个性化数据、读取最近访问记录、读取索引信息(当前上下文)、综合计算等。依据信息推 送服务所对应的服务器的服务负载可预先将该信息推送服务分为若干种服务等级。在本发 明的一实施例中,综合计算是指将多个计算子结果进行组合,其中组合的方法可以是多种, 然后依据组合操作得到最终结果。
[0026] 在本发明的一实施例中,服务负载可为服务器的资源消耗量,可依据资源消耗量 来确定该服务等级。例如,依据信息推送服务的内容以及各内容对应的资源消耗量,可预先 将信息推送服务按照资源消耗量从高到低的分为多种服务等级。需要说明的是,本发明并 不限定服务等级的数量,本领域技术人员可依据设计需求灵活设定。例如,按照读取个性化 数据、读取最近访问记录、读取索引信息(当前上下文)、综合计算这四种服务内容以及其分 别对应的资源消耗量,将信息推送服务按照资源消耗量从高到低分为四种服务等级,分别 为等级1、等级2、等级3和等级4,这四种服务等级的定义如下: 等级1 :正常服务流程(读取个性化数据(长期兴趣)、读取最近访问记录(短期兴趣)、读 取索引信息(当前上下文)和综合计算); 等级2:不关注短期兴趣(读取个性化数据(长期兴趣)、读取索引信息(当前上下文)和 综合计算); 等级3:无个性化数据(读取索引信息(当前上下文)和综合计算); 等级4:热点填充(填充热点数据)。
[0027] 从上述定义中可见,等级数越大,其消耗的资源量越少,则其对应的服务质量越低 (例如不关注短期兴趣则信息推送的准确度会降低、不考虑个性化数据则信息推送的准确 度会进一步降低)。需要说明的是,在本实施例中,等级数越高服务质量越低,但并不以此为 限,也可设置为等级数越低服务质量越低。
[0028] 步骤102,利用至少一个探针监测服务器的状态用以得到至少一个探针值,组合该 至少一个探针值,用以计算服务器的当前服务负载值。
[0029] 在本发明的一个实施例中,使用以下探针:探针1,用以监测服务线程数;探针2, 用以监测平均响应时间;探针3,用以监测处理器使用率;探针4,用以监测内存回收频率; 探针5,用以监测后台(数据库,缓存)读写次数等。需要说明的是,本发明并不限制探针的 具体数目,可对多个探针进行自由组合使用,推荐使用5种以上的探针。通过上述探针,可 以监测到服务器的状态,并得到相应的探针值(表示对应服务的负载)。在本发明的一实施 例中,定期自动读取上述探针值,例如每隔几秒钟(例如2秒)就读取探针值1次。读取探 针值之后,对探针值进行组合,用以计算服务器的当前服务负载值。在本发明的一个实施例 中,可利用预定公式组合各探针值来计算服务器的当前服务负载值。
[0030] 在本发明的一实施例中,该预定公式为如下的公式(1)
【权利要求】
1. 一种自动监测服务器状态并自适应调整服务的方法,其特征在于,包括: 预先确定服务的多种服务等级; 利用至少一个探针监测所述服务器状态用以得到至少一个探针值,组合所述至少一个 探针值,用以计算所述服务器的当前服务负载值; 依据所述当前服务负载值确定所述服务器当前应采取的服务等级;以及 依据所述确定的服务等级调整所述服务器的服务操作。
2. 如权利要求1所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 依据服务负载预先确定所述多种服务等级,其中,所述服务负载为所述服务器的资源消耗 量。
3. 如权利要求1所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述服务为查询服务、下载服务、在线播放服务、信息推送服务。
4. 如权利要求3所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述服务为信息推送服务时,所述信息推送服务可读取个性化数据、读取最近访问记录、读 取索引信息、综合计算。
5. 如权利要求1所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述多个探针包括探针1、探针2、探针3、探针4、探针5及其组合,其中,所述探针1用以监 测服务线程数,所述探针2用以监测平均响应时间,所述探针3用以监测处理器使用率,所 述探针4用以监测内存回收频率,所述探针5用以监测后台读写次数。
6. 如权利要求3所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述利用至少一个探针监测所述服务器状态用以得到至少一个探针值,组合所述至少一个 探针值,用以计算所述服务器的当前服务负载值的步骤包括: 利用预定公式组合所述至少一个探针值来计算所述服务器的当前服务负载值。
7. 如权利要求6所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述预定公式为: 当前服务负载=l〇g (pl*hl+p2*h2+p3*h3+*"pn*hn) /log (2),其中,pn 表示第 n 个探针 值,hl~hn分别为探针值pl~pn的加权系数,n为大于等于1的正整数。
8. 如权利要求3所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述利用至少一个探针监测所述服务器状态用以得到至少一个探针值,组合所述至少一个 探针值,用以计算所述服务器的当前服务负载值的步骤包括: 依据探针值的不同,可将所述多个探针对应的负载预先分为多个负载等级,每个负载 等级预先对应所述至少一个探针值的一个区间; 组合所述多个负载等级;以及 依据组合后的负载等级计算所述服务器的当前服务负载值。
9. 如权利要求1所述的自动监测服务器状态并自适应调整服务的方法,其特征在于, 所述依据所述当前服务负载值确定所述服务器当前应采取的服务等级的步骤包括: 预先设定所述服务负载值所对应的服务等级,其中不同的服务负载值区间对应不同的 服务等级,依据所述的当前服务负载值确定所述服务器当前应采取的服务等级。
10. -种自动监测服务器状态并自适应调整服务的装置,其特征在于,包括: 多个探针,用以监测所述服务器状态以得到至少一个探针值; 计算模块,耦接所述多个探针,用以定期读取所述至少一个探针值,利用所读取的探针 值计算所述服务器的当前服务负载值; 确定模块,耦接所述计算模块,用以依据所述当前服务负载值确定所述服务器当前应 采取的服务等级;以及 执行模块,耦接所述确定模块和服务器,用以依据所述确定的服务等级调整所述服务 器的服务操作。
【文档编号】H04L12/26GK104506609SQ201410800779
【公开日】2015年4月8日 申请日期:2014年12月22日 优先权日:2014年12月22日
【发明者】单明辉, 卢学裕, 姚键, 潘柏宇, 卢述奇 申请人:合一网络技术(北京)有限公司