CN108933736B - 均衡负载处理方法、服务端、客户端和介质 - Google Patents
均衡负载处理方法、服务端、客户端和介质 Download PDFInfo
- Publication number
- CN108933736B CN108933736B CN201710378561.9A CN201710378561A CN108933736B CN 108933736 B CN108933736 B CN 108933736B CN 201710378561 A CN201710378561 A CN 201710378561A CN 108933736 B CN108933736 B CN 108933736B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- rate
- sip
- balanced load
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000000977 initiatory effect Effects 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 92
- 230000004044 response Effects 0.000 claims description 67
- 238000004590 computer program Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 13
- 230000003993 interaction Effects 0.000 description 7
- 102100030346 Antigen peptide transporter 1 Human genes 0.000 description 5
- 108010023335 Member 2 Subfamily B ATP Binding Cassette Transporter Proteins 0.000 description 5
- 102100030343 Antigen peptide transporter 2 Human genes 0.000 description 3
- 101800000849 Tachykinin-associated peptide 2 Proteins 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- AWNBSWDIOCXWJW-WTOYTKOKSA-N (2r)-n-[(2s)-1-[[(2s)-1-(2-aminoethylamino)-1-oxopropan-2-yl]amino]-3-naphthalen-2-yl-1-oxopropan-2-yl]-n'-hydroxy-2-(2-methylpropyl)butanediamide Chemical compound C1=CC=CC2=CC(C[C@H](NC(=O)[C@@H](CC(=O)NO)CC(C)C)C(=O)N[C@@H](C)C(=O)NCCN)=CC=C21 AWNBSWDIOCXWJW-WTOYTKOKSA-N 0.000 description 2
- 102000011202 Member 2 Subfamily B ATP Binding Cassette Transporter Human genes 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对会话初始协议SIP的均衡负载处理方法、服务端、客户端和介质,用以解决基于SIP协议的大规模数据流量不断更新时,保障数据流量的稳定性的问题。所述方法包括:在每个预设的估算周期节点,确定各客户端向服务器发送SIP请求消息的速率;根据确定的各速率确定目标客户端;向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整。
Description
技术领域
本发明涉及通信领域,特别是涉及一种针对会话初始协议SIP的均衡负载处理方法、服务端、客户端和介质。
背景技术
SIP(Session Initiation Protocol,会话初始协议)是IETF(The InternetEngineering Task Force,国际互联网工程任务组)多媒体数据和控制体系结构的一部分,与一些协议相互合作。SIP协议承载在IP(因特网互联协议,Internet Protocol)网,使用的网络层协议为IP协议,传输层协议可使用TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议),传输层协议优选UDP协议。
针对负载控制,SIP协议目前采用503(即服务不可达)等方法来进行流量过载处理。但是,这些方法在处理大规模可变流量时,仍然显得力不从心。具体的,如图1所示,当一台已过载的服务器处理来自客户端数据的速率已达到上限时,这些方法需要频繁的更新数据,因此它们并不能保证SIP请求消息的稳定性;具体说,即当数据流量比较大时,服务器就需要频繁的忙于更新这些503消息的数据信息,此时就会严重的影响服务器处理正常的SIP请求消息,从而影响SIP请求消息的稳定性。
发明内容
为了克服上述缺陷,本发明要解决的技术问题是提供一种针对会话初始协议SIP的均衡负载处理方法、服务端、客户端和介质,用以解决基于SIP协议的大规模数据流量不断更新时,保障数据流量的稳定性的问题。
为解决上述技术问题,本发明中的一种针对会话初始协议SIP的均衡负载处理方法,包括:
在每个预设的估算周期节点,确定各客户端向服务器发送SIP请求消息的速率;
根据确定的各速率确定目标客户端;
向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整。
为解决上述技术问题,本发明中的一种针对会话初始协议SIP的均衡负载处理方法,包括:
接收服务器的均衡负载处理通告;
根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率。
为解决上述技术问题,本发明中的一种SIP服务器,包括服务器侧存储器和服务器侧处理器;所述服务器侧存储器存储有用于服务器的针对会话初始协议SIP的均衡负载处理计算机程序;所述计算机程序被所述服务器侧处理器处理器执行时,以实现以下步骤:
在每个预设的估算周期节点,确定各客户端向服务器发送SIP请求消息的速率;
根据确定的各速率确定目标客户端;
向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整。
为解决上述技术问题,本发明中的一种SIP客户端,包括客户端侧存储器和客户端侧处理器;所述客户端侧存储器存储有用于客户端的针对会话初始协议SIP的均衡负载处理计算机程序,所述客户端侧处理器执行所述计算机程序以实现以下步骤:
接收服务器的均衡负载处理通告;
根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率。
为解决上述技术问题,本发明中的一种计算机可读存储介质,存储有用于SIP服务器的针对会话初始协议SIP的均衡负载处理的第一计算机程序,或者存储有用于SIP客户端的针对会话初始协议SIP的均衡负载处理的第二计算机程序;
当所述第一计算机程序被至少一个服务器侧处理器执行时,以实现如上任意一项用于服务器的的针对会话初始协议SIP的均衡负载处理方法的步骤;
当所述第二计算机程序被至少一个客户端侧处理器执行时,以实现如上任意一项用于SIP客户端的针对会话初始协议SIP的均衡负载处理方法的步骤。
本发明有益效果如下:
本发明中针对会话初始协议SIP的均衡负载处理方法、服务端、客户端和介质,有效解决了SIP消息交互过程中的流量拥塞问题,并有效保证了在大规模流量下流量的稳定性。
附图说明
图1是现有技术中客户端和服务器之间的SIP信息的交互示意图;
图2是本发明实施例中用于服务端的针对会话初始协议SIP的均衡负载处理方法的流程图;
图3是本发明实施例中客户端与服务器之间请求与响应的流程图;
图4是本发明实施例中用于客户端的针对会话初始协议SIP的均衡负载处理方法的流程图;
图5是本发明实施例中一种SIP服务器的结构示意图;
图6是本发明实施例中一种SIP客户端的结构示意图。
具体实施方式
为了解决现有技术基于SIP协议的大规模数据流量不断更新时,保障数据流量的稳定性的问题,本发明提供了一种针对会话初始协议SIP的均衡负载处理方法、服务端、客户端和介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
实施例一
如图2所示,本发明实施例提供一种用于服务器(本文中也称为SIP服务器)的针对会话初始协议SIP的均衡负载处理方法,所述方法包括:
S201,在每个预设的估算周期节点,确定各客户端(本文中也称为SIP客户端)向服务器发送SIP请求消息的速率;
S202,根据确定的各速率确定目标客户端(本文中也称为目标SIP客户端);
S203,向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整。
在具体实现时,服务器可通过定期的估算负载状态,并估算目标客户端的速率是否超过它的预设速率。
并且在各客户端之间,服务器可以决定它分配给目标SIP请求消息的速率,当然所分配给每个客户端的速率可以相同,也可以不同。
本发明实施例中服务器通过对各客户端状态进行估算,并实时对目标客户端进行通告,以便于目标客户端能够进行实时的速率调整,从而减少消息洪泛,进而有效基于SIP协议的大规模数据流量不断更新时,数据流量的稳定性。
可选地,所述目标客户端为向所述服务器发送SIP请求消息的速率达到预设速率的客户端;
所述向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整,包括:
在SIP响应消息中插入均衡负载参数;
对所述均衡负载参数进行赋值;
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述赋值进行所述速率调整。
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号。
进一步说,所述对所述均衡负载参数进行赋值,包括:
根据所述目标客户端支持的第一速率控制算法集合和所述服务端支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法;
根据所述服务器的负载状态,对所述最大速率和所述客户端速率调整时间进行赋值;
根据向所述客户端发送所述SIP相应消息的顺序,对所述负载均衡序列号进行赋值。
其中,所述根据所述目标客户端支持的第一速率控制算法集合和所述服务端支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法,包括:
接收所述目标客户端发送的SIP请求消息;
从所述SIP请求消息中解析出所述目标客户端支持的所述第一速率控制算法集合;
获取所述服务端支持的所述第二速率控制算法集合;
从所述第一速率控制算法集合和所述第二速率控制算法集合中选取所述目标客户端和所述服务器均支持的速率控制算法;
在所述负载参数中指定所述速率控制算法。
详细说赋值过程,本发明实施例中服务器是一种需要保护的资源,而相对于服务器,客户端是一种可以调整速率的资源。
如图3所示,客户端与服务端的交互流程:客户端向服务器发送SIP请求消息,服务器向客户端返回SIP响应消息。
而在交互过程中涉及的均衡负载参数的意义如下:
1)、rc(rate control)为服务器处理一个客户端SIP请求消息的最大速率。
rc参数由SIP客户端插入到每个SIP请求消息之中,初始的时候只是插入rc参数(并不对其赋值),并由SIP服务器负责更新该值(即赋值)。
例如,在SIP请求消息消息中,SIP客户端将rc参数插入到客户端的请求消息的头部之中,并将其发送给服务器。
即Client——>Server,SIP客户端请求消息头部格式:
当SIP服务器收到该客户端的请求消息后,并在其响应消息中对rc进行赋值,即rc=150。
即Server——>Client,SIP服务器响应消息头部格式:
2)、rc-algo(rate control algorithm)为速率控制算法。
rc-algo参数由SIP客户端插入到每个SIP请求消息之中,并由SIP服务器负责更新该值。
在初始的时候,客户端的SIP请求消息和服务端的SIP响应消息中都包含rc-algo=”yes”,表明彼此都支持本发明实施例中的均衡负载处理方法,如果有一方不支持,则双方只能用传统没有负载均衡的方式通信。
其中,SIP客户端在插入rc-algo参数的同时,也将SIP客户端所支持的相关速率控制算法全部列举出来(即组成第一速率控制算法集合),比如:
Client——>Server,SIP客户端请求消息头部格式:
其中,rc-algo="rate,loss,…"表示客户端支持的速率控制算法包括rate,loss等算法。
而当SIP服务器端收到SIP客户端的请求消息后,SIP服务器对rc-algo值进行更新,即将自己所支持的速率控制算法(即组成第二控制算法集合)写入SIP服务器的响应消息中的rc-algo,以此通告对应的SIP客户端,服务器当前支持的负载均衡算法。如:
Client——>Server,SIP客户端请求消息头部格式:
当SIP服务器收到来自SIP客户端的请求消息时,并对其进行相应的解析,同时在SIP服务器的响应消息中给SIP客户端通告,当前SIP服务器支持的负载均衡算法为rate,即rc-algo="rate"
Server——>Client,SIP服务器响应消息头部格式:
当SIP服务器的响应消息到达相应的客户端后,对应的客户端就会根据SIP服务器的响应消息中指示的速率控制算法进行传输。即此时SIP客户端就会利用服务器通告的rate算法进行处理。
在此需要说明的是,如果SIP客户端的请求消息中所列举的rc-algo算法集合中,并没有包含SIP服务器响应消息所通告的rc-algo算法时,表示当前SIP服务器并不支持负载均衡处理。
也就是说,所述根据所述目标客户端支持的第一速率控制算法集合和所述服务端支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法,包括:
接收所述目标客户端发送的SIP请求消息;
从所述SIP请求消息中解析出所述目标客户端支持的所述第一速率控制算法集合;
获取所述服务端支持的所述第二速率控制算法集合;
从所述第一速率控制算法集合和所述第二速率控制算法集合中选取所述目标客户端和所述服务器均支持的速率控制算法;
在所述负载参数中指定所述速率控制算法。
3)、rc-val(rate control validity)为客户端速率调整时间。
rc-val参数的意义:例如,假设rc-val=T,在rc=0时,表示客户端收到rc=0的SIP响应消息后,停止向所述服务器发送SIP请求消息,在T时间之后恢复发送SIP请求消息。
rc-val参数仅由SIP服务器在响应消息中进行插入,并赋值。而在SIP客户端的请求消息中并不会对其插入,即在SIP请求消息中是不会有rc-val字段的出现,它只会在SIP响应消息中进行设置。
如:Client——>Server,SIP客户端请求消息头部格式:
INVITE sips:user@example.com SIP/2.0
Via:SIP/2.0/TLS p1.example.net;
branch=z9hG4bK2d4790.1;received=192.0.2.11;
rc;rc-algo="rate"
...
而Server——>Client,SIP服务器响应消息头部格式:
SIP/2.0 180Ringing
Via:SIP/2.0/TLS p1.example.net;
branch=z9hG4bK2d4790.1;received=192.0.2.11;
rc=150;rc-algo="rate";rc-val=1000;
rc-seq=1282321615.782
当SIP服务器收到来自SIP客户端的请求消息时,在其响应消息中对rc-val参数进行了设置,即rc=150;rc-algo="rate";rc-val=1000,表示1000毫秒(millisecond)内根据rate算法将rc调整到150。
换句话说,服务器一般不使用rc为0,rc-val为0这种赋值;
若rc为0,rc-val为非0,表示客户端在收到SIP响应消息后,立刻停止发包,rc-val时间后,客户端恢复发包。
若rc为非0,rc-val为0,表示客户端将发送速率控制在rc。
若rc为非0,rc-val为非0,表示客户端将发送速率控制在rc。
4)、rc-seq(rate control sequence)为负载均衡序列号。
rc-seq参数是与RC参数相关联的参数,为无符号整数,主要用于表示SIP响应消息的顺序,可以利用SIP服务器的时间戳作为RC-SEQ参数值,且依次递增。
由于rc-seq参数是无符号整数,当其rc-seq参数的范围在负载减少的过程中发生溢出时,SIP服务器会对rc-seq参数进行重新设置。
SIP客户端每次收到的SIP服务器的响应消息时,都要与上一次响应消息的rc-seq参数进行比较。
rc-seq参数的设置同rc-val,rc-seq参数仅由SIP服务器在响应消息中进行插入并赋值,而在SIP客户端的请求消息中并不会对其插入,即在SIP请求消息中是不会有rc-seq字段的出现,它只会在SIP响应消息中进行设置。
在本发明实施例中,SIP客户端的请求消息负责在SIP的头部中插入rc和rc-algo参数,并由服务器对其进行更新和赋值;而SIP服务器的响应消息中的rc-val和rc-seq参数由SIP服务器进行插入。
也就是说,在赋值完成后,所述方法还包括:
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述负载参数的赋值按照如下方式进行所述速率调整:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和所述指定的速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务端向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
本发明实施例有效解决了SIP消息交互过程中的流量拥塞问题,并有效保证了在大规模流量下流量的稳定性。
实施例二
如图4所示,本发明实施例提供一种用于客户端的针对会话初始协议SIP的均衡负载处理方法,所述方法包括:
S401,接收服务器的均衡负载处理通告;
S402,根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率。
本发明实施例有效解决了SIP消息交互过程中的流量拥塞问题,并有效保证了在大规模流量下流量的稳定性。
可选地,所述接收服务器的均衡负载处理通告,包括:
接收所述服务器发送的SIP响应消息;
解析所述SIP响应消息;
当所述SIP响应消息中携带均衡负载参数时,从所述均衡负载参数解析出所述均衡负载参数的赋值。
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
进一步说,所述根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率,包括:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和所述指定的速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务端向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
例如均衡负载参数指定的速率控制算法为漏桶算法:
算法约定:
T1表示SIP请求消息间的时间间隔,且T1=1/[RC]。
只要速率长时间的保持在1/T1之下,但是允许段时间内出现突发流量(即允许在段时间内的速率高于RC值)。
TAP为容忍参数。容忍参数的设定是通过用户的配置,当新的SIP请求消息到达时,如果漏桶的容量小于等于TAP的门限值,SIP请求消息被转发给服务器,否则,SIP请求消息被拒绝。
因此漏桶容量=T+TAP。
漏桶算法模型如下:
若漏桶算法被激活,则针对第k个SIP请求消息而言,满足下列计算公式:
Xp=X-(ta(k)–LCT)
其中ta(k)为第k个信元的实际到达时刻。ta表示SIP客户端最近接收到SIP响应消息的到达时间值,显然ta(k)表示第k个到达的时间值。X为在上一个被转发的SIP请求消息之后的漏桶计数器的值。X初始化为TAP 0。Xp为辅助变量,作为一个变量。LCT为表示最后一个发送给服务器的最后一个SIP请求消息的到达时间值。
在更新漏桶的Xp之后,会产生一个u值,则满足:
IF Xp>0THEN
u=0
else if Xp<=0,
u设置为均匀分布在[-1/2、+1/2]之间的一个随机值。
ENDIF
在通过漏桶算法具体限速时可以分两种:无优先级和带优先级。
1、无优先级的情况:
TAP:SIP请求消息的容忍参数;
ta:客户端接收的最新实际到达时间;
LCT:上一个发送到服务器的SIP请求消息的到达时间。初始化为首次到达时间;
X:当前漏桶计数值,初始化为TAP 0;
Xp:辅助变量;
其中,Xp=X-(ta-LCT);
IF(Xp<=TAP)THEN
传输SIP请求消息
更新X
更新LCT
X=max(0,Xp)+T;
LCT=ta;
ELSE
拒绝SIP请求
ENDIF
其中:TAP=4*T
2、带优先级的情况:
针对两个优先级,设定TAP 1、TAP 2;
TAP 1:无优先级的SIP请求消息的容忍参数;
TAP 2:带优先级的SIP请求消息的容忍参数;
其中TAP 0=0,
TAP 1=1/2*TAP 2,,and
TAP 2=10*T。
Xp=X-(ta-LCT);
IF AnyRequestReceived&&Xp<=TAP1)
||(PriorityRequestReceived&&Xp<=TAP2&&Xp>TAP1)THEN
AnyRequestReceived表示无优先级的SIP请求消息已经到达。
PriorityRequestReceived表示有优先级的SIP请求消息已经到达。
因此上述语句表示:
如果无优先级的SIP请求消息到达而且满足Xp<=TAP1,或者有优先级的SIP请求消息已经到达,同时满足TAP1<Xp<=TAP2条件,那么就进行下列操作。否则服务器就会拒绝SIP请求消息。
传输SIP请求消息
更新X
更新LCT
X=max(0,Xp)+T;
LCT=ta;
ELSE
拒绝SIP请求
ENDIF
实施例三
如图5所示,本发明实施例提供一种SIP服务器,所述服务器包括服务器侧存储器和服务器侧处理器;所述服务器侧存储器存储有用于服务器的针对会话初始协议SIP的均衡负载处理计算机程序;所述计算机程序被所述服务器侧处理器处理器执行时,以实现以下步骤:
在每个预设的估算周期节点,确定各客户端向服务器发送SIP请求消息的速率;
根据确定的各速率确定目标客户端;
向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整。
在此说明的是,服务器侧存储器和服务器侧处理器表示分别用于服务器侧的存储器和服务器。
本发明实施例中服务器通过对各客户端状态进行估算,并实时对目标客户端进行通告,以便于目标客户端能够进行实时的速率调整,从而减少消息洪泛,进而有效基于SIP协议的大规模数据流量不断更新时,数据流量的稳定性。
可选地,所述目标客户端为向所述服务器发送SIP请求消息的速率达到预设速率的客户端;
所述向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整,包括:
在SIP响应消息中插入均衡负载参数;
对所述均衡负载参数进行赋值;
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述赋值进行所述速率调整。
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号。
进一步说,所述对所述均衡负载参数进行赋值,包括:
根据所述目标客户端支持的第一速率控制算法集合和所述服务端支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法;
根据所述服务器的负载状态,对所述最大速率和所述客户端速率调整时间进行赋值;
根据向所述客户端发送所述SIP相应消息的顺序,对所述负载均衡序列号进行赋值。
再进一步说,所述根据所述目标客户端支持的第一速率控制算法集合和所述服务端支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法,包括:
接收所述目标客户端发送的SIP请求消息;
从所述SIP请求消息中解析出所述目标客户端支持的所述第一速率控制算法集合;
获取所述服务端支持的所述第二速率控制算法集合;
从所述第一速率控制算法集合和所述第二速率控制算法集合中选取所述目标客户端和所述服务器均支持的速率控制算法;
在所述负载参数中指定所述速率控制算法。
更进一步说,所述方法还包括:
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述负载参数的赋值按照如下方式进行所述速率调整:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和所述指定的速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务端向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
实施例四
如图6所示,本发明实施例提供一种SIP客户端,所述客户端包括客户端侧存储器和客户端侧处理器;所述客户端侧存储器存储有用于客户端的针对会话初始协议SIP的均衡负载处理计算机程序,所述客户端侧处理器执行所述计算机程序以实现以下步骤:
接收服务器的均衡负载处理通告;
根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率。
在此说明的是,客户端侧存储器和客户端侧处理器表示分别用于客户端侧的存储器和服务器。
本发明实施例有效解决了SIP消息交互过程中的流量拥塞问题,并有效保证了在大规模流量下流量的稳定性。
可选地,所述接收服务器的均衡负载处理通告,包括:
接收所述服务器发送的SIP响应消息;
解析所述SIP响应消息;
当所述SIP响应消息中携带均衡负载参数时,从所述均衡负载参数解析出所述均衡负载参数的赋值。
具体地,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
所述根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率,包括:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和所述指定的速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务端向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
实施例五
本发明实施例提供一种计算机可读存储介质,所述介质存储有用于SIP服务器的针对会话初始协议SIP的均衡负载处理的第一计算机程序,或者存储有用于SIP客户端的针对会话初始协议SIP的均衡负载处理的第二计算机程序;
当所述第一计算机程序被至少一个服务器侧处理器执行时,以实现如实施例一中任意一项所述方法的步骤;
当所述第二计算机程序被至少一个客户端侧处理器执行时,以实现如实施例二中任意一项所述方法的步骤。
本发明实施例中计算机可读存储介质可以是RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其他形式的存储介质。可以将一种存储介质藕接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路中。
在此需要说明的是,实施例二-实施例五在具体实现时可以参阅实施例一,实施例二-实施例五也具有实施例一的技术效果,因此不再赘述。
虽然本申请描述了本发明的特定示例,但本领域技术人员可以在不脱离本发明概念的基础上设计出来本发明的变型。本领域技术人员在本发明技术构思的启发下,在不脱离本发明内容的基础上,还可以对本发明做出各种改进,这仍落在本发明的保护范围之内。
Claims (11)
1.一种针对会话初始协议SIP的均衡负载处理方法,其特征在于,所述方法包括:
在每个预设的估算周期节点,确定各客户端向服务器发送SIP请求消息的速率;
根据确定的各速率确定目标客户端;所述目标客户端为向所述服务器发送SIP请求消息的速率达到预设速率的客户端;
向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整;
其中,所述向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整,包括:
在SIP响应消息中插入均衡负载参数;
对所述均衡负载参数进行赋值;
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述赋值进行所述速率调整;
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
其中,所述对所述均衡负载参数进行赋值,包括:
根据所述目标客户端支持的第一速率控制算法集合和所述服务器支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法;
根据所述服务器的负载状态,对所述最大速率和所述客户端速率调整时间进行赋值;
根据向所述客户端发送所述SIP响应消息的顺序,对所述负载均衡序列号进行赋值。
2.如权利要求1所述的方法,其特征在于,所述根据所述目标客户端支持的第一速率控制算法集合和所述服务器支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法,包括:
接收所述目标客户端发送的SIP请求消息;
从所述SIP请求消息中解析出所述目标客户端支持的所述第一速率控制算法集合;
获取所述服务器支持的所述第二速率控制算法集合;
从所述第一速率控制算法集合和所述第二速率控制算法集合中选取所述目标客户端和所述服务器均支持的速率控制算法;
在所述负载参数中指定所述速率控制算法。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述负载参数的赋值按照如下方式进行所述速率调整:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和所述指定的速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务器向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
4.一种针对会话初始协议SIP的均衡负载处理方法,应用于客户端,其特征在于,所述方法包括:
接收服务器的均衡负载处理通告;
根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率;其中,在所述接收服务器的均衡负载处理通告之前,基于所述客户端向所述服务器发送SIP请求消息的速率达到预设速率,所述服务器将所述客户端确定为目标客户端;
其中,所述接收服务器的均衡负载处理通告,包括:接收所述服务器在SIP响应消息中插入均衡负载参数、对所述均衡负载参数进行赋值后、发送的已完成赋值的SIP响应消息;
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
其中,所述对所述均衡负载参数进行赋值,包括:
根据所述目标客户端支持的第一速率控制算法集合和所述服务器支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法;
根据所述服务器的负载状态,对所述最大速率和所述客户端速率调整时间进行赋值;
根据向所述客户端发送所述SIP响应消息的顺序,对所述负载均衡序列号进行赋值。
5.如权利要求4所述的方法,其特征在于,所述接收服务器的均衡负载处理通告,还包括:
解析所述SIP响应消息;
当所述SIP响应消息中携带均衡负载参数时,从所述均衡负载参数解析出所述均衡负载参数的赋值。
6.如权利要求5所述的方法,其特征在于,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
所述根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率,包括:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和指定的速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务器向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
7.一种SIP服务器,其特征在于,所述服务器包括服务器侧存储器和服务器侧处理器;所述服务器侧存储器存储有用于服务器的针对会话初始协议SIP的均衡负载处理计算机程序;所述计算机程序被所述服务器侧处理器执行时,以实现以下步骤:
在每个预设的估算周期节点,确定各客户端向服务器发送SIP请求消息的速率;
根据确定的各速率确定目标客户端;所述目标客户端为向所述服务器发送SIP请求消息的速率达到预设速率的客户端;
向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整;
其中,所述向所述目标客户端进行均衡负载处理通告,以使所述目标客户端根据所述均衡负载处理通告进行所述速率的调整,包括:
在SIP响应消息中插入均衡负载参数;
对所述均衡负载参数进行赋值;
将已完成赋值的SIP响应消息发送给所述目标客户端,以使所述目标客户端根据所述赋值进行所述速率调整;
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
其中,所述对所述均衡负载参数进行赋值,包括:
根据所述目标客户端支持的第一速率控制算法集合和所述服务器支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法;
根据所述服务器的负载状态,对所述最大速率和所述客户端速率调整时间进行赋值;
根据向所述客户端发送所述SIP响应消息的顺序,对所述负载均衡序列号进行赋值。
8.一种SIP客户端,其特征在于,所述客户端包括客户端侧存储器和客户端侧处理器;所述客户端侧存储器存储有用于客户端的针对会话初始协议SIP的均衡负载处理计算机程序,所述客户端侧处理器执行所述计算机程序以实现以下步骤:
接收服务器的均衡负载处理通告;
根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率;其中,在所述接收服务器的均衡负载处理通告之前,基于所述客户端向所述服务器发送SIP请求消息的速率达到预设速率,所述服务器将所述客户端确定为目标客户端;
其中,所述接收服务器的均衡负载处理通告,包括:接收所述服务器在SIP响应消息中插入均衡负载参数、对所述均衡负载参数进行赋值后、发送的已完成赋值的SIP响应消息;
其中,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
其中,所述对所述均衡负载参数进行赋值,包括:
根据所述目标客户端支持的第一速率控制算法集合和所述服务器支持的第二速率控制算法集合,在所述负载参数中指定速率控制算法;
根据所述服务器的负载状态,对所述最大速率和所述客户端速率调整时间进行赋值;
根据向所述客户端发送所述SIP响应消息的顺序,对所述负载均衡序列号进行赋值。
9.如权利要求8所述的客户端,其特征在于,所述接收服务器的均衡负载处理通告,还包括:
解析所述SIP响应消息;
当所述SIP响应消息中携带均衡负载参数时,从所述均衡负载参数解析出所述均衡负载参数的赋值。
10.如权利要求9所述的客户端,其特征在于,所述负载参数至少包括服务器处理该客户端SIP请求消息的最大速率、速率控制算法、客户端速率调整时间和负载均衡序列号;
所述根据所述均衡负载处理通告,调整向所述服务器发送SIP请求消息的速率,包括:
在所述目标客户端根据所述负载均衡序列号的赋值,判定按照正确时序接收到所述SIP响应消息的情况下,当所述最大速率为零时,在T时间内停止向所述服务器发送SIP请求消息;
当所述最大速率为非零时,在所述T时间内,根据所述最大速率和所述速率控制算法调整发送SIP请求消息的速率;所述正确时序为与所述服务器向所述客户端发送所述SIP响应消息一致的时序,所述客户端速率调整时间的赋值为T,所述T>0。
11.一种计算机可读存储介质,其特征在于,所述介质存储有用于SIP服务器的针对会话初始协议SIP的均衡负载处理的第一计算机程序,或者存储有用于SIP客户端的针对会话初始协议SIP的均衡负载处理的第二计算机程序;
当所述第一计算机程序被至少一个服务器侧处理器执行时,以实现如权利要求1-3中任意一项所述方法的步骤;
当所述第二计算机程序被至少一个客户端侧处理器执行时,以实现如权利要求4-6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710378561.9A CN108933736B (zh) | 2017-05-25 | 2017-05-25 | 均衡负载处理方法、服务端、客户端和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710378561.9A CN108933736B (zh) | 2017-05-25 | 2017-05-25 | 均衡负载处理方法、服务端、客户端和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108933736A CN108933736A (zh) | 2018-12-04 |
CN108933736B true CN108933736B (zh) | 2023-11-14 |
Family
ID=64449971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710378561.9A Active CN108933736B (zh) | 2017-05-25 | 2017-05-25 | 均衡负载处理方法、服务端、客户端和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108933736B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631360A (zh) * | 2009-08-19 | 2010-01-20 | 中兴通讯股份有限公司 | 负载均衡的实现方法、装置和系统 |
CN102394822A (zh) * | 2011-11-02 | 2012-03-28 | 中兴通讯股份有限公司 | 一种调整网络传输速率的系统和方法 |
CN103053144A (zh) * | 2011-07-29 | 2013-04-17 | 华为技术有限公司 | 通信系统业务分发的方法和设备 |
CN103369601A (zh) * | 2013-07-15 | 2013-10-23 | 厦门卓讯信息技术有限公司 | 为手机客户端提供大并发处理及流量控制的方法 |
CN104980472A (zh) * | 2014-04-10 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 网络访问量的控制方法及装置 |
CN106301679A (zh) * | 2015-06-10 | 2017-01-04 | 华为技术有限公司 | 业务速率的调整方法和装置 |
CN106713216A (zh) * | 2015-07-16 | 2017-05-24 | 中兴通讯股份有限公司 | 流量的处理方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8189621B2 (en) * | 2006-05-12 | 2012-05-29 | Microsoft Corporation | Stack signaling to application with lack of requested bandwidth |
US8699343B2 (en) * | 2009-04-27 | 2014-04-15 | Sonus Networks, Inc. | Adaptive rate control based on overload signals |
-
2017
- 2017-05-25 CN CN201710378561.9A patent/CN108933736B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631360A (zh) * | 2009-08-19 | 2010-01-20 | 中兴通讯股份有限公司 | 负载均衡的实现方法、装置和系统 |
CN103053144A (zh) * | 2011-07-29 | 2013-04-17 | 华为技术有限公司 | 通信系统业务分发的方法和设备 |
CN102394822A (zh) * | 2011-11-02 | 2012-03-28 | 中兴通讯股份有限公司 | 一种调整网络传输速率的系统和方法 |
CN103369601A (zh) * | 2013-07-15 | 2013-10-23 | 厦门卓讯信息技术有限公司 | 为手机客户端提供大并发处理及流量控制的方法 |
CN104980472A (zh) * | 2014-04-10 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 网络访问量的控制方法及装置 |
CN106301679A (zh) * | 2015-06-10 | 2017-01-04 | 华为技术有限公司 | 业务速率的调整方法和装置 |
CN106713216A (zh) * | 2015-07-16 | 2017-05-24 | 中兴通讯股份有限公司 | 流量的处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108933736A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9979665B2 (en) | Reducing buffer usage for TCP proxy session based on delayed acknowledgement | |
EP2522109B1 (en) | Method of estimating congestion | |
US8171123B2 (en) | Network bandwidth detection and distribution | |
US8699343B2 (en) | Adaptive rate control based on overload signals | |
US20170134290A1 (en) | Traffic Control Method and Apparatus | |
CN103312807B (zh) | 数据传输方法、装置及系统 | |
US10342058B2 (en) | Observation assisted bandwidth management | |
CN111428899B (zh) | 网点业务的排队叫号方法及装置 | |
US9838209B2 (en) | Method for subscribing to streams from multicast clients | |
CN111835649B (zh) | 一种数据发送方法、装置及相关组件 | |
US8611224B2 (en) | Method and apparatus for providing retry-after-timer overload control | |
KR20160036878A (ko) | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 | |
US9231879B1 (en) | Methods for policy-based network traffic queue management and devices thereof | |
US20100180033A1 (en) | Hybrid Server Overload Control Scheme for Maximizing Server Throughput | |
CN111803925B (zh) | 云游戏的转发服务器的调度方法、装置及可读存储介质 | |
US9054988B2 (en) | Method and apparatus for providing queue delay overload control | |
Qazi et al. | Congestion control with multipacket feedback | |
EP3471458A1 (en) | Method and apparatus for controlling data transmission speed in wireless communication system | |
EP1730903A2 (en) | Expedited data transmission in packet based network | |
CN108933736B (zh) | 均衡负载处理方法、服务端、客户端和介质 | |
Lee et al. | Enhanced TFRC for high quality video streaming over high bandwidth delay product networks | |
Dimitriou et al. | Promoting effective service differentiation with Size-oriented Queue Management | |
KR20150125471A (ko) | 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치 | |
US8203939B2 (en) | Method and apparatus for providing a window based overload control | |
JP2005184494A (ja) | データ通信管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |