首页> 中国专利> 一种SIP服务集群中基于能量均衡的负载调度的方法及装置

一种SIP服务集群中基于能量均衡的负载调度的方法及装置

摘要

本发明提出了一种SIP服务集群中基于能量均衡的负载调度的方法和装置,其中,该方法包括:负载调度器监测SIP服务集群中的SIP服务器的负载;基于所述监测,负载调度器选择目标SIP服务器;负载调度器将新到达的SIP请求指派到所述目标SIP服务器;负载调度器调整所述SIP集群中的所述SIP服务器的状态。通过本发明的方法和装置,可以使得SIP服务器快速响应移动终端发起的会话请求,并解决负载均衡和降低能耗的技术问题。

著录项

  • 公开/公告号CN102480469A

    专利类型发明专利

  • 公开/公告日2012-05-30

    原文格式PDF

  • 申请/专利权人 北京中和威软件有限公司;

    申请/专利号CN201010562860.6

  • 发明设计人 张红艳;王志伟;

    申请日2010-11-29

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构

  • 代理人

  • 地址 100081 北京市海淀区中关村南大街48号7号楼C-B座二、三、四、五层

  • 入库时间 2023-12-18 05:25:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-11-25

    授权

    授权

  • 2012-07-11

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20101129

    实质审查的生效

  • 2012-05-30

    公开

    公开

说明书

技术领域

本发明涉及网络环境中的负载调度方法及装置,特别是涉及一种SIP服 务集群中基于能量均衡的负载调度的方法及装置。

背景技术

会话初始化协议SIP是一种由国际工程任务组IETF制定的网络信令, 主要用于建立、修改和关闭多媒体传输等会话。SIP是网络多媒体系统IMS 的基本控制协议。在IMS网络中,每个移动终端或其它设备利用SIP请求网 络服务。SIP服务器根据网络资源决定是否提供资源来满足移动终端的请求。 IMS网络能够基于每个会话,保证任何IP会话的带宽、延时和其它服务质量 QoS参数。

SIP基础架构是多层结构,由SIP容器、SIP代理服务器和负载均衡器组 成。SIP容器和SIP代理服务器是两个最核心的SIP组件。SIP容器是一种 Web容器的扩展,除了Web应用,还能部署和运行SIP应用、以及同时包含 Web应用和SIP应用的聚合应用。SIP代理服务器主要处理会话、负载均衡 和故障恢复,不仅支持HTTP协议,还支持SIP协议。负载均衡器提供高可 用性。应用服务器收到呼叫会话控制模块发起的SIP请求后发送到容器。容 器通过查询称为应用路由器的实体来识别相关的SIP应用,然后把请求分配 到所选择的SIP应用服务器。只要SIP应用不终止请求,则容器会再次向应 用路由器查询下一个调用的SIP应用。

随着网络应用发展和移动终端的普及,在大规模IMS系统中某个时间段 内大量移动终端等设备请求网络服务,单一的SIP服务器无法立刻响应的所 有的终端请求,或者将请求排队进行处理,或者在高负载下丢弃部分终端请 求,从而极大增加了对终端应答的时迟,严重影响了终端的体验。SIP服务 器成为系统的性能瓶颈,严重制约系统的扩展,造成网络用户流失。为支持 系统扩展,满足不断增长的移动终端需求,需要在系统中部署多个SIP服务 器,并行处理最大数目的移动终端等设备发起的SIP请求。在多个代理服务 器的系统配置下,前端应该设置一个负载均衡器,负责分派SIP消息给后端 SIP代理服务器。

至今未见关于在多个SIP服务器间进行负载均衡的方法介绍,目前,根 据服务器不同的分布情况采用不同的负载均衡方法,如Web服务器集群在地 理上是分布的时,采用以下方法实现服务器间的负载均衡:

(a)基于DNS轮询的负载均衡,DNS轮询就是利用域名服务器实现Web 服务器间负载均衡。其优点是实现简单、适用范围广,但该方法的缺点是均 衡粒度过大。在这种机制中,若局域网内负责域名解析的DNS服务器向Web 服务器集群的DNS进行了一次域名解析,会缓存解析结果,在该缓存项有效 时间内,对于所有对该域名解析的请求它都会返回缓存中的IP地址,而不会 再度查询,因而在此时间段内所有来自该局域网客户端的Web访问请求就会 发送到同一台Web服务器上。通过重新配置域名映射,则可以将该局域网客 户端的Web访问请求发送到其他Web服务器中,实现Web服务集群中多台 服务器间负载的调度。在这种机制下,如果缩短DNS缓存项的有效期,那么 就会因域名解析请求频繁而占用大量的网络带宽,而且还可能带来其它的一 些问题。该机制最坏的情况是如果其中一台Web服务器意外宕机,DNS却 会对此毫无所知,所以就仍然会对其IP地址进行解析,造成客户的服务请求 不能得到正常响应。

(b)基于IP隧道的负载均衡,当Web服务集群中一台Web服务器检 测到其负载过重时,通过IP隧道将请求转发给其他Web服务器处理。在这 种机制下,要求所有的Web服务器都支持IP隧道机制,同时也会带来额外 的封装/解封装的处理开销,而且当整个Web集群系统的负载都比较重时, 甚至可能出现报文环路现象,因而其性能和可靠性都不高。

当集群内服务器连接于同一网段时,采用以下方法实现Web服务器间 负载调度:

(a)基于7层协议的负载均衡机制。该方法的使用受具体应用层协议 的限制,而且由于每次报文调度都要检查高层协议的报文头部,这样就会带 来大量的CPU处理开销,特别是在流量很大情况下,均衡设备本身容易成为 集群性能瓶颈。

(b)基于NAT的负载均衡机制。该方法能很好的完成负载均衡任务、 适用范围广,但是到达的Web访问请求和发送的响应报文都需要经过Web 服务集群中负载均衡设备的处理,这样该设备就很容易成为Web集群的瓶 颈。

(c)反向代理负载均衡。该方法也是处于第七层的,必须为每一种 Web应用服务开发一个反向Web代理服务器,这样就限制了其应用的范围。 而且与上面的方法一样进出系统的报文都要由Web集群中负载均衡设备处 理,进而造成系统瓶颈。

(d)通过直接路由实现负载均衡。Web集群中负载均衡器将数据帧的 目的MAC地址改为一后端Web服务器的MAC地址,再将此数据帧通过局 域网发送到该Web服务器。此方法要求集群中负载均衡设备和Web服务器 在物理上有一个网卡,通过相邻的局域网相连。VIP地址(用户看到的IP地 址)为中心设备和Web服务器组共享,所有的Web服务器把VIP地址配置 在各自的Non-ARP网络设备上。Web服务器处理报文后将响应报文直接返 回给客户。此种方法同样是按照半连接的TCP有限状态机进行迁移。其速度 在上述所有的方法中是最快的,但是限制条件多,有很大的局限性。

从上述分析得之,现有技术存在如下缺陷:

首先,需要在服务器集群中设置负载均衡设备,且负载均衡设备的处理 任务很重。由于客户访问请求流量大,负载均衡设备处理过重,就可能会成 为系统的瓶颈。而且如果负载均衡设备宕机则可能导致整个系统的瘫痪。

其次,已有Web服务器基础架构是按照终端峰值部署的,从而导致运营 维护成本高等缺点严重困扰服务提供商,并且能耗很高,迫切需要降低能耗。

发明内容

本发明要解决的技术问题在于:在大规模IMS(IP Multimedia Subsystem, IP多媒体子系统)系统中,如何快速响应移动终端发起的会话请求,并解决 负载均衡和降低能耗的技术问题。

为了解决上述技术问题,本发明提出了一种SIP服务集群中基于能量均衡 的负载调度的方法,该方法包括如下步骤:

步骤1),负载调度器监测SIP服务集群中的SIP服务器的负载;

步骤2),基于所述监测,负载调度器选择目标SIP服务器;

步骤3),负载调度器将新到达的SIP请求指派到所述目标SIP服务器;

步骤4),负载调度器调整所述SIP集群中的所述SIP服务器的状态。

优选的,步骤1)包括:

步骤11),负载调度器统计所述SIP服务器的输入缓冲区队列已使用 的数量z,其中z大于等于0的整数;

步骤12),负载调度器计算所述SIP服务器输入缓冲区队列占用率 其中l为输入缓冲区队列总长度;

步骤13),负载调度器采用加权指数平均方法对当前时刻所述SIP服 务器输入缓冲区队列占用q率进行修正。

优选的,步骤2)包括:

步骤21),负载调度器确定所述SIP服务器的输入缓冲区队列占用率 的阈值th;

步骤22),负载调度器选择输入缓冲区队列占用率小于阈值th的SIP 服务器构成SIP服务器集合LC;

步骤23),如果所述SIP服务器集合LC非空,负载调度器选择所述 SIP服务器集合L中的输入缓冲区队列占用率最大的SIP服务器作为所述目 标SIP服务器;

步骤24),如果所述SIP服务器集合LC为空,负载调度器选择输入 缓冲区队列占用率最小的SIP服务器作为所述目标服务器。

优选的,步骤3)包括:

步骤31),负载调度器将新到达的SIP请求写入所述目标SIP服务器 的输入缓冲区队列;

步骤32),负载调度器更新所述目标SIP服务器的输入缓冲区队列已 使用的数量。

优选的,步骤4)包括:

步骤41),负载调度器选择输入缓冲区队列占用率大于阈值th的SIP 服务器;

步骤42),负载调度器统计所述输入缓冲区队列占用率大于阈值th 的SIP服务器的输入缓冲区队列占用率高出阈值部分之和Q;

步骤43),负载调度器选择输入缓冲区队列占用率小于阈值th的SIP 服务器;

步骤44),负载调度器统计输入缓冲区队列占用率小于阈值th的SIP 服务器的输入缓冲区队列占用率与阈值差值之和Q’;

步骤45),判断Q>Q’,如果是,则负载调度器将激活处于关闭状态 的SIP服务器集合中Q-Q’个SIP服务器,如果否,则负载调度器将关闭处于 空闲状态的SIP服务器集合中Q’-Q个SIP服务器。

更进一步地,本发明还提供了一种SIP服务集群中基于能量均衡的负载 调度的装置,该装置包括:

监测单元,用于使负载调度器监测SIP服务集群中的SIP服务器的负载;

选择单元,用于基于所述监测,使负载调度器选择目标SIP服务器;

指派单元,用于使负载调度器将新到达的SIP请求指派到所述目标SIP 服务器;

调整单元,用于使负载调度器调整所述SIP集群中的所述SIP服务器的 状态。

优选的,监测单元包括:

第一统计单元,用于使负载调度器统计所述SIP服务器的输入缓冲区 队列已使用的数量z,其中z大于等于0的整数;

计算单元,用于使负载调度器计算所述SIP服务器输入缓冲区队列占 用率其中l为输入缓冲区队列总长度;

修正单元,用于使负载调度器采用加权指数平均方法对当前时刻所述 SIP服务器输入缓冲区队列占用q率进行修正。

优选的,选择单元包括:

第一确定单元,用于使负载调度器确定所述SIP服务器的输入缓冲区 队列占用率的阈值th;

第一选择子单元,用于使负载调度器选择输入缓冲区队列占用率小于 阈值th的SIP服务器构成SIP服务器集合LC;

第二选择子单元,在所述SIP服务器集合LC非空时,使负载调度器 选择所述SIP服务器集合L中的输入缓冲区队列占用率最大的SIP服务器作 为所述目标SIP服务器;

第三选择子单元,在所述SIP服务器集合LC为空时,使负载调度器 选择输入缓冲区队列占用率最小的SIP服务器作为所述目标服务器。

优选的,指派单元包括:

写入单元,用于使负载调度器将新到达的SIP请求写入所述目标SIP 服务器的输入缓冲区队列;

更新单元,用于使负载调度器更新所述目标SIP服务器的输入缓冲区 队列已使用的数量。

优选的,调整单元包括:

第四选择子单元,用于使负载调度器选择输入缓冲区队列占用率大于 阈值th的SIP服务器;

第二统计单元,用于使负载调度器统计所述输入缓冲区队列占用率大 于阈值th的SIP服务器的输入缓冲区队列占用率高出阈值部分之和Q;

第五选择子单元,用于使负载调度器选择输入缓冲区队列占用率小于 阈值th的SIP服务器;

第三统计单元,用于使负载调度器统计输入缓冲区队列占用率小于阈 值th的SIP服务器的输入缓冲区队列占用率与阈值差值之和Q’;

判断单元,用于判断Q>Q’是否,如果是,则负载调度器将激活处于关 闭状态的SIP服务器集合中Q-Q’个SIP服务器,如果否,则负载调度器将关 闭处于空闲状态的SIP服务器集合中Q’-Q个SIP服务器。

本发明的有益效果是:提出了将请求调度与服务器节能相结合的调度机 制,即一种能够满足SIP服务器集群需求的能量均衡的请求调度方法。能量 均衡的SIP请求负载调度机制能够在多个SIP服务器间调度客户请求,并根 据客户请求的数量动态调整活跃的服务器数量,激活或关闭部分SIP服务器 使之性能满足SIP客户请求处理需要,不仅实现多个SIP服务器间负载均衡, 并使SIP服务集群消耗的能量与处理的SIP访问请求数量相当,实现SIP服 务器的能量均衡。

附图说明

图1是本发明SIP服务集群中基于能量均衡的负载调度的方法的流程图;

图2是本发明负载调度器监测SIP服务集群中的SIP服务器的负载的流 程图;

图3是本发明基于所述监测进行负载调度器选择目标SIP服务器的流程 图;

图4是本发明负载调度器将新到达的SIP请求指派到所述目标SIP服务 器的流程图;

图5是本发明负载调度器调整所述SIP集群中的所述SIP服务器的状态 的流程图;

图6是本发明中的SIP服务器集群进行SIP请求调度示意图;

图7是本发明中的SIP服务器状态转换示意图;

图8是本发明SIP服务集群中基于能量均衡的负载调度的装置的示意图;

图9是本发明中的监测单元的示意图;

图10是本发明中的选择单元的示意图;

图11是本发明中的指派单元的示意图;

图12是本发明中的调整单元的示意图。

具体实施方式

下面结合附图介绍本发明分布式系统中基于频率偏差估计的时间同步和 维持的方法及装置:

图1所示为本发明的一种SIP服务集群中基于能量均衡的负载调度的方 法,该方法包括如下步骤:

S1),负载调度器监测SIP服务集群中的SIP服务器的负载;

S2),基于所述监测,负载调度器选择目标SIP服务器;

S3),负载调度器将新到达的SIP请求指派到所述目标SIP服务器;

S4),负载调度器调整所述SIP集群中的所述SIP服务器的状态。

如图2所示,步骤S1)更包括以下步骤:

S11),负载调度器统计所述SIP服务器的输入缓冲区队列已使用的数 量z,其中z大于等于0的整数;

S12),负载调度器计算所述SIP服务器输入缓冲区队列占用率其中l为输入缓冲区队列总长度;

S13),负载调度器采用加权指数平均方法对当前时刻所述SIP服务器 输入缓冲区队列占用q率进行修正。

其中,当前时刻SIP服务器输入缓冲区队列占用率可以表征该SIP服务 器当前的负载,不能反映一段时间内映射到该SIP服务器的负载,不能反映 一段时间内该SIP服务器的能耗,因此采用加权平均算法对输入缓冲区队列 的占用率进行平滑,以反映该SIP服务器在一段时间内平均负载。

设SIP服务器时刻的输入缓冲区队列占用率为qi,t-1时刻以前其输入 缓冲区队列占用率平均值为q(t-1),那么t时刻以前其输入缓冲区队列平均值 为:

q(t)=q(t-1)+α×qi

负载调度器根据上述公式计算每个活跃的SIP服务器的输入缓冲区平均 占用率,作为目标SIP服务器选择的依据。

更进一步的,如图3所示,步骤2)更包括:

S21),负载调度器确定所述SIP服务器的输入缓冲区队列占用率的阈 值th;

S22),负载调度器选择输入缓冲区队列占用率小于阈值th的SIP服 务器构成SIP服务器集合LC;

S23),如果所述SIP服务器集合LC非空,负载调度器选择所述SIP 服务器集合L中的输入缓冲区队列占用率最大的SIP服务器作为所述目标 SIP服务器;

S24),如果所述SIP服务器集合LC为空,负载调度器选择输入缓冲 区队列占用率最小的SIP服务器作为所述目标服务器。

即,步骤S21-S24采用能量均衡的SIP请求调度,SIP服务集群中负载调度 器根据SIP集群中SIP服务器的状态,即SIP服务器输入缓冲区队列占用率,确 定新到达的移动终端等设备发出的SIP请求的目标SIP服务器,并将SIP请求发 送到目标SIP服务器。

如图6所示,SIP集群有多台SIP服务器分别记为Si,其中i=0,...,n,n是SIP集 群中SIP服务器总的数量,如图所示。负载监控单元根据SIP服务器输入缓冲 区队列占用率计算方法实时更新每个SIP服务器的输入缓冲区队列占用率的 平均值,SIP服务器Si输入缓冲区队列占用率记为qi(t)。

SIP服务器输入缓冲区队列占用率与SIP服务器处理SIP请求的处理的时 迟存在正比关系,即若SIP服务器输入缓冲区队列占用率越高,SIP请求排队 时间越长,SIP请求处理的时延也长;若SIP服务器输入缓冲区队列占用率越 低,SIP请求排队时间越短,SIP请求处理的时延越小。负载调度器根据移动 客户端等设备能够最低容忍的延迟,选择SIP服务器输入缓冲区队列占用率的 阈值th。SIP集群管理人员也可以根据运营情况设置该阈值。

负载调度器选择输入缓冲区队列占用率小于该阈值的活跃SIP服务器, LC={Si|qi(t)<th},若此类SIP服务器集合LC非空,负载调度器选择其中输入缓冲 区队列占用率最高的SIP服务器Sm作为目标服务器,即若此类 SIP服务器集合LC为空,负载调度器选择活跃的的SIP服务器中输入缓冲队列 占用率最小的SIP服务器Sm作为目标服务器,即其中,AC表示 SIP集群中活跃的SIP服务器集合。

负载调度器将新到达的SIP请求写入目标SIP服务器的输入缓冲区队列, 完成SIP请求的调度。

图4示出了S3)详细过程:

S31),负载调度器将新到达的SIP请求写入所述目标SIP服务器的输 入缓冲区队列;

S32),负载调度器更新所述目标SIP服务器的输入缓冲区队列已使用 的数量。

图5示出了S4)详细过程:

S41),负载调度器选择输入缓冲区队列占用率大于阈值th的SIP服 务器;

S42),负载调度器统计所述输入缓冲区队列占用率大于阈值th的SIP 服务器的输入缓冲区队列占用率高出阈值部分之和Q;

S43),负载调度器选择输入缓冲区队列占用率小于阈值th的SIP服 务器;

S44),负载调度器统计输入缓冲区队列占用率小于阈值th的SIP服 务器的输入缓冲区队列占用率与阈值差值之和Q’;

S45),判断Q>Q’,如果是,则负载调度器将激活处于关闭状态的SIP 服务器集合中Q-Q’个SIP服务器,如果否,则负载调度器将关闭处于空闲状 态的SIP服务器集合中Q’-Q个SIP服务器。

图7示出了SIP服务器之间的状态调整,SIP服务集群负载调度器根据SIP 服务器负载实时调整SIP服务器状态,如图所示。SIP服务器激活后处于空闲 状态;当负载调度器向其分配处理SIP请求的任务后,SIP服务器处于活跃状 态;若SIP服务器的输入缓冲区队列占用率低于阈值,则处于低负载状态;若 SIP服务器的输入缓冲区队列占用率高于阈值,则处于重负载状态;若SIP服 务器长期处于空闲状态,将其关闭。

负载调度器选择输入缓冲区队列占用率大于阈值th的活跃的SIP服务器, HC={Si|qi(t)>th},统计上述SIP服务器输入缓冲区队列占用率高出阈值th部分之 和Q,即负载调度器选择输入缓冲区队列占用率小于阈值th的活 跃的SIP服务器,LC={Si|qi(t)<th},统计上述SIP服务器输入缓冲区队列占用率与 阈值th差值之和Q′,即若Q>Q′,负载调度器将激活处于关闭状 态的SIP服务器集合中个SIP服务器;若Q<Q′,负载调度器将关闭处于 空闲状态的SIP服务器集合中个SIP服务器。

根据负载调度机制可知,负载调度器根据SIP服务器输入缓冲区队列占 用率分派SIP请求,实现处理SIP请求的负载在活跃的SIP服务器间的均衡。 另一方面,负载调度器动态调整SIP服务器的状态,即关闭部分空闲的SIP 服务器,或激活部分关闭的SIP服务器,根据SIP请求负载动态调整活跃的 参与处理SIP请求的SIP服务器数目,在该机制下SIP服务器处理能力与SIP 请求负载相匹配,SIP服务器消耗的能量与SIP请求负载相当,实现能量均 衡的负载调度。

更进一步地,本发明还提供了一种SIP服务集群中基于能量均衡的负载调 度的装置,如图8所示,该装置包括:

监测单元1,用于使负载调度器监测SIP服务集群中的SIP服务器的负 载;

选择单元2,用于基于所述监测,使负载调度器选择目标SIP服务器;

指派单元3,用于使负载调度器将新到达的SIP请求指派到所述目标SIP 服务器;

调整单元4,用于使负载调度器调整所述SIP集群中的所述SIP服务器的 状态。

图9示出了监测单元1的结构:

第一统计单元11,用于使负载调度器统计所述SIP服务器的输入缓冲 区队列已使用的数量z,其中z大于等于0的整数;

计算单元12,用于使负载调度器计算所述SIP服务器输入缓冲区队列 占用率其中l为输入缓冲区队列总长度;

修正单元13,用于使负载调度器采用加权指数平均方法对当前时刻所 述SIP服务器输入缓冲区队列占用q率进行修正。

图10示出了选择单元2的结构:

第一确定单元21,用于使负载调度器确定所述SIP服务器的输入缓冲 区队列占用率的阈值th;

第一选择子单元22,用于使负载调度器选择输入缓冲区队列占用率小 于阈值th的SIP服务器构成SIP服务器集合LC;

第二选择子单元23,在所述SIP服务器集合LC非空时,使负载调度 器选择所述SIP服务器集合L中的输入缓冲区队列占用率最大的SIP服务器 作为所述目标SIP服务器;

第三选择子单元24,在所述SIP服务器集合LC为空时,使负载调度 器选择输入缓冲区队列占用率最小的SIP服务器作为所述目标服务器。

图11示出了指派单元3的结构:

写入单元31,用于使负载调度器将新到达的SIP请求写入所述目标SIP 服务器的输入缓冲区队列;

更新单元32,用于使负载调度器更新所述目标SIP服务器的输入缓冲 区队列已使用的数量。

图12示出了调整单元4的结构:

第四选择子单元41,用于使负载调度器选择输入缓冲区队列占用率大 于阈值th的SIP服务器;

第二统计单元42,用于使负载调度器统计所述输入缓冲区队列占用率 大于阈值th的SIP服务器的输入缓冲区队列占用率高出阈值部分之和Q;

第五选择子单元43,用于使负载调度器选择输入缓冲区队列占用率小 于阈值th的SIP服务器;

第三统计单元44,用于使负载调度器统计输入缓冲区队列占用率小于 阈值th的SIP服务器的输入缓冲区队列占用率与阈值差值之和Q’;

判断单元45,用于判断Q>Q’是否,如果是,则负载调度器将激活处 于关闭状态的SIP服务器集合中Q-Q’个SIP服务器,如果否,则负载调度器 将关闭处于空闲状态的SIP服务器集合中Q’-Q个SIP服务器。

本发明所述的分布式系统中基于频率偏差估计的时间同步和维持的方 法及装置装置可以采用任何编程语言设计,如C、JAVA等等,本发明的方 法和装置可以运行在分布式系统中的多台计算机中,完成时间的同步,其精 确可靠,便于维护。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所 属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充 或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求 书所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号