本发明涉及视频直播技术领域,特别涉及一种直播服务器切换方法、系统及客户端。
背景技术:
随着4G时代的来临,互联网音视频直播服务也越来越火,大量的用户很快就会撑满直播服务器。为了满足火爆的业务需求,现在的最先进的直播服务器大多采用多台机器分布式构架,将用户分布到不同机器上去解决单台服务爆满的问题,但在解决了基本的联通问题后,后续追求的是提升音视频的直播质量,主要是提升直播服务器的稳定性和媒体数据包的流畅性。
在实现本发明的过程中,发明人发现至少存在如下问题:
在直播过程中,网络环境是动态变化的,T0时刻时,A客户端连接S1直播服务器可能是最佳选择,但是到了T1时刻时,S1直播服务器的网络质量因为压力大而变差,或者因为受到攻击直接不能服务了,那么A客户端连接S2直播服务器才是最好的选择。但是,现有技术中,客户端并不能动态感知每个直播服务器的网络质量,且无法感知到哪台直播服务器的网络质量最佳,客户端也不能根据当前各个直播服务器的网络质量进行实时切换,且现有技术中的客户端根据人为选择切换不同的服务器并不能做到无缝切换,导致用户收听过程中感到中断。
技术实现要素:
本发明实施例的目的是提供一种直播服务器切换方法、系统及客户端,使得客户端能够动态实时感知各个直播服务器的网络质量,并且能够根据各个直播服务器的网络质量进行动态切换,从而保证客户端连接的直播服务器的网络质量,并且能够在切换直播服务器时实现无缝切换,实用性强,适用范围广。
根据本发明的一个方面,本发明的实施例提供了一种直播服务器切换方法,应用于客户端,包括:
获取当前连接服务器P的当前网络丢包率、当前网络延时以及当前网络抖动;
基于所述当前网络丢包率、当前网络延时以及当前网络抖动,计算当前连接服务器P的当前网络质量QP;
判断所述当前网络质量QP是否大于预定值P;
若所述当前网络质量QP大于预定值P,则控制客户端切换至备选服务器集合中的目标服务器,其中,备选服务器集合包括至少一个备选服务器。
优选地,当所述客户端为直播客户端以发送直播数据包至当前连接服务器P时;
所述获取当前连接服务器P的当前网络丢包率、当前网络抖动的步骤包括:
基于实时传输控制协议,向当前连接服务器P发送发送端报告SR;
其中,所述发送端报告SR至少包括:发送端报告SR的发送时间、已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号;
优选地,接收当前连接服务器P返回的与所述发送端报告SR对应的接收端报告RR;
其中,接收端报告RR至少包括:与其自身对应的发送端报告SR的发送时间、当前网络丢包率、当前网络抖动;
优选地,其中,当前网络丢包率,是当前连接服务器P在基于直播客户端已发送的直播数据包的发送数量、各已发送的直播数据包的序列号和当前连接服务器P自身接收到的各直播数据包的序列号确定丢包数量后,计算得到的;
优选地,当前网络抖动,是当前连接服务器P基于序列号连续的两个直播数据包的数据包发送时间的差值,和接收到该序列号连续的两个直播数据包的数据包接收时间的差值,计算得到的;
优选地,所述获取当前网络延时的步骤包括:
基于发送端报告SR的发送时间,和接收到与该发送端报告SR对应的接收端报告RR的接收时间的差值,计算获取当前网络延时。
优选地,当客户端为观看客户端时以接收当前连接服务器P转发的直播数据包和发送端报告SR时;
所述获取当前连接服务器P的当前网络丢包率的步骤包括:
基于发送端报告SR中包括的直播客户端已发送至当前连接服务器P的直播数据包的发送数量,和已发送的各直播数据包的序列号,及观看客户端已接收的各直播数据包的序列号,确定丢包数量;
基于丢包数量和所述发送数量,计算获取当前网络丢包率;
所述获取当前连接服务器P的当前网络抖动的步骤包括:
基于序列号连续的两个直播数据包的数据包发送时间的差值,和观看客户端接收到该序列号连续的两个直播数据包的接收时间的差值,计算获取当前网络抖动;
优选地,所述获取当前连接服务器P的当前网络延时的步骤包括:
基于最新接收到的直播数据包的数据包发送时间,和当前正播放的直播数据包的数据包发送时间的差值,计算获取当前网络延时;
优选地,其中,播数据包和发送端报告SR是由直播客户端发送至当前连接服务器P的;发送端报告SR至少包括:发送端报告SR的发送时间、直播客户端已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号。
优选地,所述基于所述当前网络丢包率、当前网络延时以及当前网络抖动,计算当前连接服务器P的当前网络质量QP的步骤包括:
基于第一预设公式计算当前连接服务器P的当前网络质量QP;
优选地,其中,所述第一预设公式为:
QP=a*LOSTP+b*JITTERP+c*DELAYP;
LOSTP为所述当前网络丢包率;JITTERP为所述当前网络抖动;DELAYP为所述当前网络延时;a,b,c分别为预设加权系数。
优选地,在所述控制客户端切换至备选服务器集合中的目标服务器的步骤之前,还包括:
分别获取备选服务器集合中的目标服务器中的每个备选服务器的网络负载和网络延时;
基于每个备选服务器的网络负载、网络延时和第二预设公式,分别计算每个备选服务器的备选网络质量Qb;
优选地,其中,第二预设公式为:Qb=x*LOADb+y*DELAYb;
LOADb为备选服务器的网络负载,DELAYb为备选服务器的网络延时,x,y分别为预设加权系数。
优选地,所述控制客户端切换至备选服务器集合中的目标服务器的步骤包括:
基于每台备选服务器的备选网络质量Qb,将备选服务器集合中与最小的备选网络质量Qb对应的备选服务器作为目标服务器;
控制客户端切换至所述目标服务器。
优选地,所述控制客户端切换至所述目标服务器的步骤包括:
控制客户端向所述目标服务器发送连接请求;
在与所述目标服务器连接成功后,以连接成功的时间为起始时间进行计时,形成连接时长;
判断所述连接时长是否达到预设时长;
若达到预设时长,则客户端断开与所述当前连接服务器P的连接;
否则,则所述客户端同时连接所述当前连接服务器P和所述目标服务器。
根据本发明的又一方面,本发明的实施例提供了一种直播服务器切换系统,应用于客户端,包括:
获取模块,用于获取当前连接服务器P的当前网络丢包率、当前网络延时以及当前网络抖动;
计算模块,用于基于所述当前网络丢包率、当前网络延时以及当前网络抖动,计算当前连接服务器P的当前网络质量QP;
控制模块,用于判断所述当前网络质量QP是否大于预定值P;和,
用于在判断到所述当前网络质量QP大于预定值P时,控制客户端切换至备选服务器集合中的目标服务器,其中,备选服务器集合包括至少一个备选服务器。
优选地,当所述客户端为直播客户端以发送直播数据包至当前连接服务器P时;
所述获取模块,还用于基于实时传输控制协议,向当前连接服务器P发送发送端报告SR;其中,所述发送端报告SR至少包括:发送端报告SR的发送时间、已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号;和,
用于接收当前连接服务器P返回的与所述发送端报告SR对应的接收端报告RR;
优选地,其中,接收端报告RR至少包括:与其自身对应的发送端报告SR的发送时间、当前网络丢包率、当前网络抖动;
优选地,其中,当前网络丢包率,是当前连接服务器P在基于直播客户端已发送的直播数据包的发送数量、各已发送的直播数据包的序列号和当前连接服务器P自身接收到的各直播数据包的序列号确定丢包数量后,计算得到的;
优选地,当前网络抖动,是当前连接服务器P基于序列号连续的两个直播数据包的数据包发送时间的差值,和接收到该序列号连续的两个直播数据包的数据包接收时间的差值,计算得到的;
优选地,其中,所述计算模块,还用于基于发送端报告SR的发送时间,和接收到与该发送端报告SR对应的接收端报告RR的接收时间的差值,计算获取当前网络延时。
优选地,当客户端为观看客户端时以接收当前连接服务器P转发的直播数据包和发送端报告SR时;
所述计算模块,还用于基于发送端报告SR中包括的直播客户端已发送至当前连接服务器P的直播数据包的发送数量,和已发送的各直播数据包的序列号,及观看客户端已接收的各直播数据包的序列号,确定丢包数量;和,
用于基于丢包数量和所述发送数量,计算获取当前网络丢包率;和,
用于基于序列号连续的两个直播数据包的数据包发送时间的差值,和观看客户端接收到该序列号连续的两个直播数据包的接收时间的差值,计算获取当前网络抖动;和,
基于最新接收到的直播数据包的数据包发送时间,和当前正播放的直播数据包的数据包发送时间的差值,计算获取近似的当前网络延时;
优选地,其中,播数据包和发送端报告SR是由直播客户端发送至当前连接服务器P的;发送端报告SR至少包括:发送端报告SR的发送时间、直播客户端已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号。
优选地,所述计算模块,用于基于第一预设公式计算当前连接服务器P的当前网络质量QP;
优选地,其中,所述第一预设公式为:
QP=a*LOSTP+b*JITTERP+c*DELAYP;
LOSTP为所述当前网络丢包率;JITTERP为所述当前网络抖动;DELAYP为所述当前网络延时;a,b,c分别为预设加权系数。
优选地,所述获取模块,还用于在控制模块所述控制客户端切换至备选服务器集合中的目标服务器之前,分别获取备选服务器集合中的目标服务器中的每个备选服务器的网络负载和网络延时;
所述计算模块,还用于基于每个备选服务器的网络负载、网络延时和第二预设公式,分别计算每个备选服务器的备选网络质量Qb;
优选地,其中,第二预设公式为:Qb=x*LOADb+y*DELAYb;
LOADb为备选服务器的网络负载,DELAYb为备选服务器的网络延时,x,y分别为预设加权系数。
优选地,所述控制模块,还用于基于每台备选服务器的备选网络质量Qb,将备选服务器集合中与最小的备选网络质量Qb对应的备选服务器作为目标服务器;和,
用于控制客户端切换至所述目标服务器。
优选地,所述系统还包括:计时模块;
其中,所述控制模块,还用于控制客户端向所述目标服务器发送连接请求;
所述计时模块,用于在客户端与所述目标服务器连接成功后,以连接成功的时间为起始时间进行计时,形成连接时长;
所述控制模块,还用于判断所述连接时长是否达到预设时长;
若达到预设时长,则控制客户端断开与所述当前连接服务器P的连接;
否则,则控制所述客户端同时连接所述当前连接服务器P和所述目标服务器。
为了更好地实现上述技术方案,本发明的实施例还提供了一种客户端,所述客户端上设有包括以上所述的直播服务器切换系统。
本发明实施例提供的直播服务器切换方法、系统及客户端,能够使得客户端能够动态实时感知各个直播服务器的网络质量,并且能够根据各个直播服务器的网络质量进行动态切换,从而保证了客户端连接的直播服务器的网络质量,并且能够在切换直播服务器时实现无缝切换,实用性强,适用范围广。
附图说明
图1是本发明第一实施例提供的直播服务器切换方法的流程图;
图2是本发明第二实施例提供的直播服务器切换系统的模块结构示意图。
附图标记说明:1-获取模块;2-计算模块;3-控制模块;4-计时模块。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
请参阅图1,图1是本发明第一实施例提供的直播服务器切换方法的流程图。
如图1所示,本发明的实施例提供了一种直播服务器切换方法,应用于客户端,包括:
获取当前连接服务器P的当前网络丢包率、当前网络延时以及当前网络抖动;
基于所述当前网络丢包率、当前网络延时以及当前网络抖动,计算当前连接服务器P的当前网络质量QP;
判断所述当前网络质量QP是否大于预定值P;
若所述当前网络质量QP大于预定值P,则控制客户端切换至备选服务器集合中的目标服务器,其中,备选服务器集合包括至少一个备选服务器。
其中,需要说明的是,获取当前连接服务器P的当前网络丢包率、当前网络延时以及当前网络抖动的方式是实时获取或每隔预定时间获取的,通过计算客户端当前连接的服务器的网络质量,可以判断出当前连接服务器P的网络质量是否满足预定值,也即客户端可以动态感知其自身连接的服务器的网络质量,并在当前连接服务器P的网络质量不满足预定值(也即当前连接服务器P的网络质量较差)时,切换至网络质量较好的服务器,从而保证客户端连接的服务器能够有较佳的网络质量。
由于同一客户端处于不同状态时,其获取当前连接服务器P的当前网络丢包率、当前网络延时以及当前网络抖动的方法存在一定的差别,或者说,客户端存在两种:一种是直播客户端,一种为观看客户端,直播客户端是产生直播数据包的一端,也即主播端或直播端,相当于数据源;观看客户端是播放直播数据包的一端,也可理解为观众端或接收端或播放端。
当所述客户端为直播客户端以发送直播数据包至当前连接服务器P时;也即若客户端为直播数据包的数据源时,
所述获取当前连接服务器P的当前网络丢包率、当前网络抖动的步骤包括:
基于实时传输控制协议,向当前连接服务器P发送发送端报告SR;
其中,所述发送端报告SR至少包括:发送端报告SR的发送时间、已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号;
接收当前连接服务器P返回的与所述发送端报告SR对应的接收端报告RR;
其中,接收端报告RR至少包括:与其自身对应的发送端报告SR的发送时间、当前网络丢包率、当前网络抖动;
其中,当前网络丢包率,是当前连接服务器P在基于直播客户端已发送的直播数据包的发送数量、各已发送的直播数据包的序列号和当前连接服务器P自身接收到的各直播数据包的序列号确定丢包数量后,计算得到的;
其中,需要说明的是,根据直播客户端已发送的直播数据包的发送数量和各已发送的直播数据包的序列号和当前连接服务器P自身接收到的各直播数据包的序列号可以确定哪些序列号的直播数据包在发送过程中丢失,以及丢失了几个直播数据包,因为序列号为连续标号,所以哪些序列号中断很容易被查找识别出来。
当前网络抖动,是当前连接服务器P基于序列号连续的两个直播数据包的数据包发送时间的差值,和接收到该序列号连续的两个直播数据包的数据包接收时间的差值,计算得到的;也即,直播客户端发送了两个序列号连续的直播数据包M1和M2,其直播数据包M1的数据包发送时间为T1,直播数据包M2的数据包发送时间为T2,M1和M2发送的时间间隔为T2-T1;那么M1和M2在当前连接服务器P被接收到的时间分别为T3和T4,那么接收M1和M2的时间间隔为T4-T3,那么当前网络抖动即为:(T4-T3)-(T2-T1)。
所述获取当前网络延时的步骤包括:
基于发送端报告SR的发送时间,和接收到与该发送端报告SR对应的接收端报告RR的接收时间的差值,计算获取当前网络延时。
3.根据权利要求1所述的方法,其特征在于,当客户端为观看客户端时以接收当前连接服务器P转发的直播数据包和发送端报告SR时;
所述获取当前连接服务器P的当前网络丢包率的步骤包括:
基于发送端报告SR中包括的直播客户端已发送至当前连接服务器P的直播数据包的发送数量,和已发送的各直播数据包的序列号,及观看客户端已接收的各直播数据包的序列号,确定丢包数量;
基于丢包数量和所述发送数量,计算获取当前网络丢包率;
所述获取当前连接服务器P的当前网络抖动的步骤包括:
基于序列号连续的两个直播数据包的数据包发送时间的差值,和观看客户端接收到该序列号连续的两个直播数据包的接收时间的差值,计算获取当前网络抖动;
所述获取当前连接服务器P的当前网络延时的步骤包括:
基于最新接收到的直播数据包的数据包发送时间,和当前正播放的直播数据包的数据包发送时间的差值,计算获取当前网络延时;
其中,播数据包和发送端报告SR是由直播客户端发送至当前连接服务器P的;发送端报告SR至少包括:发送端报告SR的发送时间、直播客户端已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号。
所述基于所述当前网络丢包率、当前网络延时以及当前网络抖动,计算当前连接服务器P的当前网络质量QP的步骤包括:
基于第一预设公式计算当前连接服务器P的当前网络质量QP;
其中,所述第一预设公式为:
QP=a*LOSTP+b*JITTERP+c*DELAYP;
LOSTP为所述当前网络丢包率;JITTERP为所述当前网络抖动;DELAYP为所述当前网络延时;a,b,c分别为预设加权系数。
在所述控制客户端切换至备选服务器集合中的目标服务器的步骤之前,还包括:
分别获取备选服务器集合中的目标服务器中的每个备选服务器的网络负载和网络延时;其中,需要说明的是,获取备选服务器集合中的目标服务器中的每个备选服务器的网络延时的方法是通过实时传输控制协议(RTCP),分别向备选服务器发送发送端报告SR的方式实现的,其中,向备选服务器发送的发送端报告SR包括了该发送端报告SR的发送时间,备选服务器接收到发送端报告SR后,会返回一个对应的接收端报告RR,接收端报告RR中包含了与之对应的发送端报告SR的发送时间,接收端报告RR中的发送端报告SR的发送时间是为了客户端在接收到接收端报告RR后,能够为每个发送端包SR匹配出于其对应的接收端报告RR,因为同一客户端在同一时间点,只能发送一个发送端报告SR,因此,每个发送端报告SR的发送时间时唯一的,所以,备选服务器在接收到某一发送端报告SR并开始返回与该某一发送端报告SR对应的接收端报告RR时,会将该某一发送端报告SR的发送时间放入接收端报告RR中,以使得在客户端接收到多个接收端报告RR时,能够基于该某一发送端报告SR的发送时间很快匹配确认出哪个接收端报告RR才是与该某一发送端报告SR对应的接收端报告RR。
客户端在接收到与发送端报告SR对应的接收端报告RR时,会记录该接收端报告RR的接收时间,网络延时即为发送端报告SR的发送时间和与该发送端报告SR对应的接收端报告RR的接收时间的时间差,同时,还需要说明的是,由于接收时间和发送时间都是以客户端这一端的时间标准参考的,所以可提高网络延时计算的准确性。
获取备选服务器集合中的目标服务器中的每个备选服务器的网络负载的方法为:
基于实时传输控制协议(RTCP),向每个备选服务器发送用于获取网络负载的特定应用包APP,备选服务器根据接收到的特定应用包APP将网络负载返回到客户端。
基于每个备选服务器的网络负载、网络延时和第二预设公式,分别计算每个备选服务器的备选网络质量Qb;
其中,第二预设公式为:Qb=x*LOADb+y*DELAYb;
LOADb为备选服务器的网络负载,DELAYb为备选服务器的网络延时,x,y分别为预设加权系数。
其中,需要说明的是,在进行服务器切换时,会考虑到各个备选服务器的网路质量,即网络延时和网络负载,由于考虑到了网络负载,可以避免多个客户端同时切换到某一备选服务器上,而导致该某一备选服务器突然网络质量暴跌,从而不能有效实现服务器切换。
所述控制客户端切换至备选服务器集合中的目标服务器的步骤包括:
基于每台备选服务器的备选网络质量Qb,将备选服务器集合中与最小的备选网络质量Qb对应的备选服务器作为目标服务器;
控制客户端切换至所述目标服务器。
所述控制客户端切换至所述目标服务器的步骤包括:
控制客户端向所述目标服务器发送连接请求;
在与所述目标服务器连接成功后,以连接成功的时间为起始时间进行计时,形成连接时长;
判断所述连接时长是否达到预设时长;
若达到预设时长,则客户端断开与所述当前连接服务器P的连接;
否则,则所述客户端同时连接所述当前连接服务器P和所述目标服务器。
请参照图2,图2是本发明实施例提供的一种直播服务器切换系统的模块结构示意图;
如图2所示,本发明的实施例提供了一种直播服务器切换系统,应用于客户端,包括:
获取模块1,用于获取当前连接服务器P的当前网络丢包率、当前网络延时以及当前网络抖动;
计算模块2,用于基于所述当前网络丢包率、当前网络延时以及当前网络抖动,计算当前连接服务器P的当前网络质量QP;
控制模块3,用于判断所述当前网络质量QP是否大于预定值P;和,
用于在判断到所述当前网络质量QP大于预定值P时,控制客户端切换至备选服务器集合中的目标服务器,其中,备选服务器集合包括至少一个备选服务器。
当所述客户端为直播客户端以发送直播数据包至当前连接服务器P时;
所述获取模块1,还用于基于实时传输控制协议,向当前连接服务器P发送发送端报告SR;其中,所述发送端报告SR至少包括:发送端报告SR的发送时间、已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号;和,
用于接收当前连接服务器P返回的与所述发送端报告SR对应的接收端报告RR;
其中,接收端报告RR至少包括:与其自身对应的发送端报告SR的发送时间、当前网络丢包率、当前网络抖动;
其中,当前网络丢包率,是当前连接服务器P在基于直播客户端已发送的直播数据包的发送数量、各已发送的直播数据包的序列号和当前连接服务器P自身接收到的各直播数据包的序列号确定丢包数量后,计算得到的;
当前网络抖动,是当前连接服务器P基于序列号连续的两个直播数据包的数据包发送时间的差值,和接收到该序列号连续的两个直播数据包的数据包接收时间的差值,计算得到的;
其中,所述计算模块2,还用于基于发送端报告SR的发送时间,和接收到与该发送端报告SR对应的接收端报告RR的接收时间的差值,计算获取当前网络延时。
当客户端为观看客户端时以接收当前连接服务器P转发的直播数据包和发送端报告SR时;
所述计算模块2,还用于基于发送端报告SR中包括的直播客户端已发送至当前连接服务器P的直播数据包的发送数量,和已发送的各直播数据包的序列号,及观看客户端已接收的各直播数据包的序列号,确定丢包数量;和,
用于基于丢包数量和所述发送数量,计算获取当前网络丢包率;和,
用于基于序列号连续的两个直播数据包的数据包发送时间的差值,和观看客户端接收到该序列号连续的两个直播数据包的接收时间的差值,计算获取当前网络抖动;和,
基于最新接收到的直播数据包的数据包发送时间,和当前正播放的直播数据包的数据包发送时间的差值,计算获取当前网络延时;
其中,播数据包和发送端报告SR是由直播客户端发送至当前连接服务器P的;发送端报告SR至少包括:发送端报告SR的发送时间、直播客户端已发送至当前连接服务器P的直播数据包的发送数量,每个直播数据包至少包括:与其自身唯一对应的序列号及数据包发送时间,其中直播数据包的序列号为连续标号。
所述计算模块2,用于基于第一预设公式计算当前连接服务器P的当前网络质量QP;
其中,所述第一预设公式为:
QP=a*LOSTP+b*JITTERP+c*DELAYP;
LOSTP为所述当前网络丢包率;JITTERP为所述当前网络抖动;DELAYP为所述当前网络延时;a,b,c分别为预设加权系数。
所述获取模块1,还用于在控制模块3所述控制客户端切换至备选服务器集合中的目标服务器之前,分别获取备选服务器集合中的目标服务器中的每个备选服务器的网络负载和网络延时;
所述计算模块2,还用于基于每个备选服务器的网络负载、网络延时和第二预设公式,分别计算每个备选服务器的备选网络质量Qb;
其中,第二预设公式为:Qb=x*LOADb+y*DELAYb;
LOADb为备选服务器的网络负载,DELAYb为备选服务器的网络延时,x,y分别为预设加权系数。
所述控制模块3,还用于基于每台备选服务器的备选网络质量Qb,将备选服务器集合中与最小的备选网络质量Qb对应的备选服务器作为目标服务器;和,
用于控制客户端切换至所述目标服务器。
所述系统还包括:计时模块4;
其中,所述控制模块3,还用于控制客户端向所述目标服务器发送连接请求;
所述计时模块4,用于在客户端与所述目标服务器连接成功后,以连接成功的时间为起始时间进行计时,形成连接时长;
所述控制模块3,还用于判断所述连接时长是否达到预设时长;
若达到预设时长,则控制客户端断开与所述当前连接服务器P的连接;
否则,则控制所述客户端同时连接所述当前连接服务器P和所述目标服务器。
本发明的实施例还提供了一种客户端,所述客户端上设有包括以上所述的直播服务器切换系统。
本发明实施例提供的直播服务器切换方法、系统及客户端,能够使得客户端能够动态实时感知各个直播服务器的网络质量,并且能够根据各个直播服务器的网络质量进行动态切换,从而保证了客户端连接的直播服务器的网络质量,并且能够在切换直播服务器时实现无缝切换,实用性强,适用范围广。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。