本发明涉及一种基于linux的媒体服务方法,同时也涉及相应的媒体服务系统,属于ip多媒体通信技术领域。
背景技术:
目前ip多媒体调度会议中,采用媒体资源处理服务(mediaresourceserviceprocess,mrsp)模块提供媒体流转发、音频混音,以及视频转码等功能。媒体资源处理服务模块一般采用集群方式部署,各个媒体资源处理服务模块之间相互独立,互不影响。
如图1所示,所有的媒体资源处理服务模块需要全部注册到媒体资源控制服务(mediaresourceservicecontroller,mrsc)上,由媒体资源控制服务提供媒体资源管理、分配、控制等功能,实现对外提供媒体资源。
当一个媒体资源处理服务模块宕掉时,由于每个媒体资源处理服务模块拥有独立的ip地址(如图1所示),使得呼叫业务无法实现一对一无缝切换,也就是无法做到当前呼叫业务由一媒体资源处理服务模块无缝迁移到另一媒体资源处理服务模块上。另外,发生宕机的媒体资源处理服务模块上的所有通讯呼叫业务将中断,用户必须重新发起新的呼叫,导致用户体验较差。
技术实现要素:
本发明所要解决的首要技术问题在于提供一种基于linux的媒体服务方法。
本发明所要解决的另一技术问题在于提供一种基于linux的媒体服务系统。
为了实现上述目的,本发明采用下述技术方案:
根据本发明实施例的第一方面,提供一种基于linux的媒体服务方法,包括如下步骤:
步骤s1:分别对主服务器及至少一个备用服务器配置浮动ip;
步骤s2:将所述主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯;
步骤s3:当有多媒体集群业务时,启用所述主服务器的浮动ip,禁用各备用服务器的浮动ip,并将所述主服务器与所述首个备用服务器之间,及相邻所述备用服务器之间实时数据同步;
步骤s4:在进行所述多媒体集群业务过程中,当所述主服务器发生宕机时,所述首个备用服务器启用浮动ip,并禁用所述主服务器的浮动ip;
步骤s5:当所述首个备用服务器或剩余备用服务器中某一个发生宕机时,按顺序启用下一个备用服务器的浮动ip,并禁用发生宕机的备用服务器的浮动ip。
其中较优地,步骤s1中,根据集群中用户使用的终端的浮动ip类型,在所述主服务器及每一个所述备用服务器的网卡中分别设置浮动ip网络配置文件;所述浮动ip网络配置文件包含有浮动ip地址和类型。
其中较优地,当所述主服务器配置完浮动ip后,向媒体资源控制服务注册。
其中较优地,所述主服务器及每个备用服务器采用预先部署有媒体资源处理服务的linux服务器实现。
其中较优地,当所述主服务器及每个所述备用服务器配置完浮动ip后,通过输入ping指令,验证所述主服务器及每个所述备用服务器的浮动ip是否正确。
其中较优地,所述主服务器与所述首个备用服务器之间、及相邻备用服务器之间分别建立网络通讯时,包括如下子步骤:
步骤s21:分别在所述主服务器及每个所述备用服务器中设置本机网络配置文件;
步骤s22:启动所述主服务器及各所述备用服务器,读取本机网络配置文件,使得所述主服务器与所述首个备用服务器之间、及相邻所述备用服务器之间分别建立网络通讯。
其中较优地,步骤s21中,所述主服务器及所述首个备用服务器中设置的本机网络配置文件包含有本机的ip地址和网络端口,及主服务器与首个备用服务器之间的心跳间隔时间和心跳超时时长;
在相邻备用服务器中设置的本机网络配置文件包含有本机的ip地址和网络端口,及相邻备用服务器之间的心跳间隔时间和心跳超时时长。
其中较优地,步骤s4中,通过创建启用所述首个备用服务器及禁用所述主服务器的浮动ip脚本,并设置触发条件,实现启用所述首个备用服务器及禁用所述主服务器的浮动ip;
所述触发条件为所述主服务器超过预设时间间隔与所述首个备用服务器实时同步数据,或者所述主服务器与所述首个备用服务器之间的心跳通讯超时超过预设值。
其中较优地,步骤s5中,通过创建启用发生宕机的备用服务器的下一个备用服务器,及禁用所述发生宕机的备用服务器的浮动ip脚本,并设置触发条件,实现启用所述发生宕机的备用服务器的下一个备用服务器,及禁用所述发生宕机的备用服务器的浮动ip;
所述触发条件为某一启用的备用服务器超过预设时间间隔与下一个备用服务器实时同步数据,或者某一启用的备用服务器与下一个备用服务器之间的心跳通讯超时超过预设值。
根据本发明实施例的第二方面,提供一种基于linux的媒体服务系统,包括主服务器及至少一个备用服务器,分别对所述主服务器及每个备用服务器配置浮动ip,并将所述主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯;
当有多媒体集群业务时,启用所述主服务器的浮动ip,禁用各所述备用服务器的浮动ip,并将所述主服务器与所述首个备用服务器之间,及相邻备用服务器之间实时数据同步;在进行所述多媒体集群业务过程中,当所述主服务器发生宕机时,所述首个备用服务器启用浮动ip,并禁用所述主服务器的浮动ip;当所述首个备用服务器或剩余备用服务器中某一个发生宕机时,按顺序启用下一个备用服务器的浮动ip,并禁用所述发生宕机的备用服务器的浮动ip。
本发明所提供的基于linux的媒体服务方法及系统,通过分别对主服务器及至少一个备用服务器配置浮动ip,并将主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯,当有多媒体集群业务时,根据相应的触发条件,判断主服务器或所启用的备用服务器是否宕机,从而实现启用相应的备用服务器的浮动ip,并禁用发生宕机的主服务器或备用服务器的浮动ip,达到对用户终端无感知、对多媒体调度系统实现无感知转接过程,实现媒体服务高可用集群部署,并保证多媒体调度系统中现有业务不中断。
附图说明
图1为现有ip多媒体调度系统的媒体资源处理模块的部署示意图;
图2为本发明所提供的基于linux的媒体服务方法的流程图;
图3为本发明所提供的基于linux的媒体服务方法中,主服务器处于工作状态的示意图;
图4为本发明所提供的基于linux的媒体服务方法中,主服务器处于宕机状态的示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容做进一步的详细说明。
为了解决ip多媒体调度会议中,当媒体资源处理服务模块发生宕机时,媒体资源处理服务模块上的所有通讯呼叫业务将中断,无法做到当前呼叫业务由一媒体资源处理服务模块无缝迁移到另一媒体资源处理服务模块上的问题,如图2所示,本发明提供一种基于linux的媒体服务方法,包括如下步骤:
步骤s1:分别对主服务器及至少一个备用服务器配置浮动ip。
从多个预先部署有媒体资源处理服务的linux服务器中,选取一个linux服务器作为主服务器,用于实现多媒体集群业务;根据多媒体集群业务实际需求,选取至少一个linux服务器作为主服务器的备用服务器。其中,多媒体集群业务主要指集群视频的单呼与组呼业务、集群语音的单呼与组呼业务及集群数据的一对一短消息、组消息、一对一文件、组文件信息业务。
在分别对主服务器及每一个备用服务器配置浮动ip时,根据集群中用户使用的终端所处的网络环境,即用户使用的终端的浮动ip类型,在主服务器及每一个备用服务器的网卡中分别设置浮动ip网络配置文件,该浮动ip网络配置文件包含有浮动ip地址和类型。例如,分别在主服务器及每一个备用服务器的网卡的浮动ip网络配置文件设置ip地址,并设置该ip地址的类型为浮动ip。其中,每一个备用服务器中的浮动ip网络配置文件设置的ip地址与主服务器中的浮动ip网络配置文件设置的ip地址相同。
需要强调的是,集群中用户使用的终端所处的网络环境指的是内网和外网,内网指的是设备之间所使用的网络,其ip地址对外不可见;外网指的是设备之间使用的网络,其ip地址对外可见。
当主服务器配置完浮动ip后,需要向媒体资源控制服务(mediaresourceservicecontroller,mrsc)注册,以告知媒体资源控制服务只有主服务器服务,以便于媒体资源控制服务提供媒体资源管理、分配、控制等功能,实现对外提供媒体资源。
当主服务器及每个备用服务器配置完浮动ip后,可以通过输入ping指令,验证主服务器及每个备用服务器的浮动ip是否正确;即通过ping指令向主服务器及每个备用服务器发送多个数据包,查看对方是否能够收到所发送的数据包,如果能收到数据包,则认为该服务器所配置的浮动ip正确;否则,则认为该服务器所配置的浮动ip不正确,需要进行核实并修正浮动ip。
步骤s2:将主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯。
如图3所示,通过预先在主服务器与首个备用服务器之间、及相邻备用服务器之间分别设置心跳信令,使得主服务器实时将自身的运行状态反馈给首个备用服务器;并且,从首个备用服务器开始,每个备用服务器可以获取上一个备用服务器反馈的自身运行状态。从而实现主服务器与首个备用服务器之间、及相邻备用服务器之间通过心跳通讯维持主、备服务器状态。
将主服务器与首个备用服务器之间建立网络通讯,用于实现主服务器与首个备用服务器之间实时数据同步,资源预留(例如对外数据传输端口、会话上下文信息等),使得首个备用服务器相当于主服务器的镜像。
从首个备用服务器开始,相邻备用服务器之间建立网络通讯,用于实现每个备用服务器可以与上一个备用服务器实时同步数据、资源预留(例如对外数据传输端口、会话上下文信息等),使得当前备用服务器相当于上一个备用服务器的镜像。
该过程包括如下子步骤:
步骤s21:分别在主服务器及每个备用服务器中设置本机网络配置文件。
在主服务器及首个备用服务器中设置的本机网络配置文件包含有本机的ip地址和网络端口,及主服务器与首个备用服务器之间的心跳间隔时间和心跳超时时长。
在相邻备用服务器中设置的本机网络配置文件包含有本机的ip地址和网络端口,及相邻备用服务器之间的心跳间隔时间和心跳超时时长。
步骤s22:启动主服务器及各备用服务器,读取本机网络配置文件,使得主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立网络通讯。
启动主服务器及各备用服务器,分别读取主服务器及每个备用服务器中设置的本机网络配置文件,获得主服务器及每个备用服务器的ip地址和网络端口,及主服务器与首个备用服务器之间及相邻备用服务器之间的心跳间隔时间和心跳超时时长。根据获得的主服务器及每个备用服务器的ip地址和网络端口,使得主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立网络通讯。
步骤s3:当有多媒体集群业务时,启用主服务器的浮动ip,禁用各备用服务器的浮动ip,并将主服务器与首个备用服务器之间,及相邻备用服务器之间实时数据同步。
通过创建启用主服务器及禁用各备用服务器的浮动ip脚本,并设置触发条件,实现启用主服务器及禁用各备用服务器的浮动ip。启用主服务器及禁用各备用服务器的浮动ip的触发条件指的是:主服务器未发生宕机。如图3所示,此时,集群中的用户通过主服务器的浮动ip实现多媒体集群业务。
当用户的终端通过基站向主服务器发送多媒体集群业务(包括信令、数据等),主服务器会将所接收的多媒体集群业务实时同步到首个备用服务器,首个备用服务器将接收的主服务器同步的多媒体集群业务,实时同步到下一个备用服务器,以此类推,直到最后一个备用服务器接收到其前一个备用服务器的实时同步数据。并且,需要保证主服务器及各备用服务器对外传输数据的端口保持一致。
步骤s4:在进行多媒体集群业务过程中,当主服务器发生宕机时,首个备用服务器启用浮动ip,并禁用主服务器的浮动ip。
通过创建启用首个备用服务器及禁用主服务器的浮动ip脚本,并设置触发条件,实现启用首个备用服务器及禁用主服务器的浮动ip。启用首个备用服务器及禁用主服务器的浮动ip的触发条件指的是:主服务器超过预设时间间隔与首个备用服务器实时同步数据,或者主服务器与首个备用服务器之间的心跳通讯超时超过预设值。
如图4所示,在进行多媒体集群业务过程中,当主服务器超过预设时间间隔与首个备用服务器实时同步数据,或者主服务器与首个备用服务器之间的心跳通讯超时超过预设值时,则认为主服务器发生宕机,此时触发首个备用服务器启用浮动ip,并禁用主服务器的浮动ip,使得主服务器上所有多媒体集群业务转向首个备用服务器,并激活已经预留的资源,达到用户终端无感知,媒体服务高可用目的,从而保证多媒体调度系统中现有业务不中断。
步骤s5:当首个备用服务器或剩余备用服务器中某一个发生宕机时,按顺序启用下一个备用服务器的浮动ip,并禁用发生宕机的备用服务器的浮动ip。
通过创建启用发生宕机的备用服务器的下一个备用服务器,及禁用该发生宕机的备用服务器的浮动ip脚本,并设置触发条件,实现启用发生宕机的备用服务器的下一个备用服务器,及禁用该发生宕机的备用服务器的浮动ip。启用发生宕机的备用服务器的下一个备用服务器,及禁用该发生宕机的备用服务器的浮动ip的触发条件指的是:某一启用的备用服务器超过预设时间间隔与下一个备用服务器实时同步数据,或者某一启用的备用服务器与下一个备用服务器之间的心跳通讯超时超过预设值。
在进行多媒体集群业务过程中,当某一启用的备用服务器超过预设时间间隔与下一个备用服务器实时同步数据,或者某一启用的备用服务器与下一个备用服务器之间的心跳通讯超时超过预设值时,则认为所启用的备用服务器发生宕机,此时触发该发生宕机的备用服务器启用浮动ip,并禁用发生宕机的备用服务器的浮动ip,使得发生宕机的备用服务器上所有多媒体集群业务转向下一个备用服务器,并激活已经预留的资源,达到用户终端无感知,媒体服务高可用目的,从而保证多媒体调度系统中现有业务不中断。
本发明还提供了一种基于linux的媒体服务系统,包括主服务器及至少一个备用服务器,分别对主服务器及每个备用服务器配置浮动ip,并将主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯。当有多媒体集群业务时,启用主服务器的浮动ip,禁用各备用服务器的浮动ip,并将主服务器与首个备用服务器之间,及相邻备用服务器之间实时数据同步。在进行多媒体集群业务过程中,当主服务器发生宕机时,首个备用服务器启用浮动ip,并禁用主服务器的浮动ip;当首个备用服务器或剩余备用服务器中某一个发生宕机时,按顺序启用下一个备用服务器的浮动ip,并禁用发生宕机的备用服务器的浮动ip。本基于linux的媒体服务系统的工作原理同上面方法步骤s1~s5,在此不再赘述。
本发明所提供的基于linux的媒体服务方法及系统,通过分别对主服务器及至少一个备用服务器配置浮动ip,并将主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯,当有多媒体集群业务时,根据相应的触发条件,判断主服务器或所启用的备用服务器是否宕机,从而实现启用相应的备用服务器的浮动ip,并禁用发生宕机的主服务器或备用服务器的浮动ip,达到对用户终端无感知、对多媒体调度系统实现无感知转接过程,实现媒体服务高可用集群部署,并保证多媒体调度系统中现有业务不中断。
以上对本发明所提供的基于linux的媒体服务方法及系统进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将属于本发明专利权的保护范围。
1.一种基于linux的媒体服务方法,其特征在于包括如下步骤:
步骤s1:分别对主服务器及至少一个备用服务器配置浮动ip;
步骤s2:将所述主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯;
步骤s3:当有多媒体集群业务时,启用所述主服务器的浮动ip,禁用各备用服务器的浮动ip,并将所述主服务器与所述首个备用服务器之间,及相邻所述备用服务器之间实时数据同步;
步骤s4:在进行所述多媒体集群业务过程中,当所述主服务器发生宕机时,所述首个备用服务器启用浮动ip,并禁用所述主服务器的浮动ip;
步骤s5:当所述首个备用服务器或剩余备用服务器中某一个发生宕机时,按顺序启用下一个备用服务器的浮动ip,并禁用发生宕机的备用服务器的浮动ip。
2.如权利要求1所述的基于linux的媒体服务方法,其特征在于步骤s1中,根据集群中用户使用的终端的浮动ip类型,在所述主服务器及每一个所述备用服务器的网卡中分别设置浮动ip网络配置文件;所述浮动ip网络配置文件包含有浮动ip地址和类型。
3.如权利要求2所述的基于linux的媒体服务方法,其特征在于:
当所述主服务器配置完浮动ip后,向媒体资源控制服务注册。
4.如权利要求2所述的基于linux的媒体服务方法,其特征在于:
所述主服务器及每个备用服务器采用预先部署有媒体资源处理服务的linux服务器实现。
5.如权利要求1所述的基于linux的媒体服务方法,其特征在于:
当所述主服务器及每个所述备用服务器配置完浮动ip后,通过输入ping指令,验证所述主服务器及每个所述备用服务器的浮动ip是否正确。
6.如权利要求1所述的基于linux的媒体服务方法,其特征在于:
所述主服务器与所述首个备用服务器之间、及相邻备用服务器之间分别建立网络通讯时,包括如下子步骤:
步骤s21:分别在所述主服务器及每个所述备用服务器中设置本机网络配置文件;
步骤s22:启动所述主服务器及各所述备用服务器,读取本机网络配置文件,使得所述主服务器与所述首个备用服务器之间、及相邻所述备用服务器之间分别建立网络通讯。
7.如权利要求6所述的基于linux的媒体服务方法,其特征在于步骤s21中,
所述主服务器及所述首个备用服务器中设置的本机网络配置文件包含有本机的ip地址和网络端口,及主服务器与首个备用服务器之间的心跳间隔时间和心跳超时时长;
在相邻备用服务器中设置的本机网络配置文件包含有本机的ip地址和网络端口,及相邻备用服务器之间的心跳间隔时间和心跳超时时长。
8.如权利要求1所述的基于linux的媒体服务方法,其特征在于步骤s4中,
通过创建启用所述首个备用服务器及禁用所述主服务器的浮动ip脚本,并设置触发条件,实现启用所述首个备用服务器及禁用所述主服务器的浮动ip;
所述触发条件为所述主服务器超过预设时间间隔与所述首个备用服务器实时同步数据,或者所述主服务器与所述首个备用服务器之间的心跳通讯超时超过预设值。
9.如权利要求1所述的基于linux的媒体服务方法,其特征在于步骤s5中,
通过创建启用发生宕机的备用服务器的下一个备用服务器,及禁用所述发生宕机的备用服务器的浮动ip脚本,并设置触发条件,实现启用所述发生宕机的备用服务器的下一个备用服务器,及禁用所述发生宕机的备用服务器的浮动ip;
所述触发条件为某一启用的备用服务器超过预设时间间隔与下一个备用服务器实时同步数据,或者某一启用的备用服务器与下一个备用服务器之间的心跳通讯超时超过预设值。
10.一种基于linux的媒体服务系统,其特征在于包括主服务器及至少一个备用服务器,分别对所述主服务器及每个备用服务器配置浮动ip,并将所述主服务器与首个备用服务器之间、及相邻备用服务器之间分别建立心跳及网络通讯;
当有多媒体集群业务时,启用所述主服务器的浮动ip,禁用各所述备用服务器的浮动ip,并将所述主服务器与所述首个备用服务器之间,及相邻备用服务器之间实时数据同步;在进行所述多媒体集群业务过程中,当所述主服务器发生宕机时,所述首个备用服务器启用浮动ip,并禁用所述主服务器的浮动ip;当所述首个备用服务器或剩余备用服务器中某一个发生宕机时,按顺序启用下一个备用服务器的浮动ip,并禁用所述发生宕机的备用服务器的浮动ip。
技术总结