CN110460801A - 一种媒体服务器之间数据转发的方法及装置 - Google Patents

一种媒体服务器之间数据转发的方法及装置 Download PDF

Info

Publication number
CN110460801A
CN110460801A CN201910841321.7A CN201910841321A CN110460801A CN 110460801 A CN110460801 A CN 110460801A CN 201910841321 A CN201910841321 A CN 201910841321A CN 110460801 A CN110460801 A CN 110460801A
Authority
CN
China
Prior art keywords
media server
communication link
terminal
media
data
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.)
Pending
Application number
CN201910841321.7A
Other languages
English (en)
Inventor
杨雨东
杜立召
杨攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Cloud In Faith Network Technology Co Ltd
Original Assignee
Beijing Cloud In Faith Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Cloud In Faith Network Technology Co Ltd filed Critical Beijing Cloud In Faith Network Technology Co Ltd
Priority to CN201910841321.7A priority Critical patent/CN110460801A/zh
Publication of CN110460801A publication Critical patent/CN110460801A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种媒体服务器之间数据转发的方法及装置。该方法包括:在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。因此,在第一终端与第二终端通讯过程中,当出现不满足通讯要求的情况出现时,则重新选择一条目标通讯链路,从而能够保证媒体数据的转发效率,提高用户的通讯质量。

Description

一种媒体服务器之间数据转发的方法及装置
技术领域
本申请涉及通信技术领域,具体而言,涉及一种媒体服务器之间数据转发的方法及装置。
背景技术
在4G和5G技术的快速普及下,实时音视频通话技术应运而生,这为互联网教育、陌生人社交、远程协助等场景都注入了新鲜的血液,提高音视频通话的连通率和连通质量是实时音视频领域非常重要的要求。
图1为现有技术提供的传统媒体服务器对处在不同地区的人进行音视频通话的场景,例如:美国用户A要和日本用户B进行通话,用户A要先连接离其最近的媒体服务器,由媒体服务器选择固定链路连接到日本的媒体服务器。现在的媒体服务器基本上都会在不同运营商、不同地区进行部署以加速媒体数据的传输和降低媒体数据传输的不可靠性,传统的媒体数据在各服务器间的转发链路基本上都是固定的。当某个地区出现网络抖动时会导致数据转发效率慢,影响客户端音视频通话的质量。
发明内容
本申请实施例的目的在于提供一种媒体服务器之间数据转发的方法及装置,用以解决现有技术中媒体数据转发效率低的问题。
第一方面,本申请实施例提供一种媒体服务器之间数据转发的方法,包括:
在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
因此,在第一终端与第二终端通讯过程中,当出现不满足通讯要求的情况出现时,则重新选择一条目标通讯链路,从而能够保证媒体数据的转发效率,提高用户的通讯质量。
进一步地,在所述第一终端和所述第二终端之间存在多个层级的媒体服务器,每个层级包括至少一个媒体服务器,所述多个层级的媒体服务器构成了多条通讯链路;同一层级的媒体服务器之间以及相邻层级的媒体服务器之间通过用户数据报协议UDP和传输控制协议TCP连接,以及通过发布订阅机制实现通讯;其中,所述发布订阅机制是指上一层级的媒体服务器向下一层级的媒体服务器发布媒体数据,所述下一层级的媒体服务器订阅所述上一层级的媒体服务器的所述媒体数据,以及同一层级的媒体服务器之间互相发送所述媒体数据。
本申请实施例中处于第一终端和第二终端之间的媒体服务器均通过UDP连接和TCP连接,并且相邻的媒体服务器之间通过发布订阅机制进行通讯,当需要切换通讯链路时,可以即时切换,而不需要进行媒体服务器间的交互式连接建立ICE,从而节省了连接时间,提高了媒体数据的转发效率。
进一步地,若出现不满足通讯要求的情况,则动态调整通讯链路,包括:接收第一终端发送的当前通讯的通讯质量信息,其中,所述通讯质量信息包括声音延迟时长、音视频RTP丢包量和视频帧率中的任意一个或多个;若所述声音延迟时长超过预设时长、所述音视频RTP丢包量大于预设值或所述视频帧率小于预设帧,则动态调整通讯链路。
由于声音延迟时长、音视频RTP丢包量和视频帧率都能够反映当前通讯链路的好坏,因此,当上述参数中有一个不满足要求,则说明需要动态调整通讯链路,从而提高了数据转发的效率。
进一步地,所述若出现不满足通讯要求的情况,则动态调整通讯链路,包括:若接收到异常消息,则动态调整通讯链路;其中,所述异常消息由除与所述第一终端连接的媒体服务器之外的任一或多个媒体服务器工作异常后,由与发生异常的媒体服务器相邻的媒体服务器通过TCP链路发出。
因此,当获知除了与第一终端连接的媒体服务器之外的任一或多个媒体服务器工作异常,则启动动态调整链路的过程,以提高数据转发效率。
进一步地,所述动态调整通讯链路,以获得新的目标通讯链路,包括:
利用所述发布订阅机制将所述第一终端发出的媒体数据通过多条通讯链路向所述第二终端转发,以使与所述第二终端通信连接的媒体服务器确定最先接收到所述媒体数据的通讯链路为新的目标通讯链路;
接收与所述第二终端通信连接的媒体服务器发送的所述新的目标通讯链路。
本申请实施例由于各个媒体服务器之间一直处于UDP连接,因此在进行链路重新选择过程中,上一层级的媒体服务器可以向下一层级的媒体服务器发送媒体数据,实现多条链路同时转发媒体数据,并从中确定一条最优的通讯链路,以确保媒体数据以最快的速度到达对端。
进一步地,所述方法,还包括:
接收信令服务器发送的各个层级的媒体服务器在预设时间段内的消息转发效率;
根据所述消息转发效率确定新的目标通讯链路。
本申请实施例通过根据信令服务器发送的各个媒体服务器的消息转发效率确定新的目标通讯链路,实现实时动态确定最优链路转发媒体数据。
进一步地,所述根据所述消息转发效率确定新的目标通讯链路,包括:
若下一层级的媒体服务器中包括第一媒体服务器和第二媒体服务器,其中,所述第一媒体服务器在所述目标通讯链路中,且所述第一媒体服务器对应的所述消息转发效率小于所述第二媒体服务器的消息转发效率,则向所述第二媒体服务器转发媒体数据,以确定新的目标通讯链路。
本申请实施例通过根据信令服务器发送的各个媒体服务器的消息转发效率确定新的目标通讯链路,实现实时动态确定最优链路转发媒体数据。
第二方面,本申请实施例提供一种媒体服务器,包括:
第一链路调整模块,用于在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;
第一数据转发模块,用于向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术提供的传统媒体服务器对处在不同地区的人进行音视频通话的场景示意图;
图2为本申请实施例提供的通讯链路结构图;
图3为本申请实施例提供的一种媒体服务器之间数据转发的方法流程示意图;
图4为本申请实施例提供的媒体服务器结构示意图;
图5为本申请实施例提供的电子设备实体结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
在本申请提出之前,若用户A与用户B进行视频通话,那么用户A需要连接到离其最近的媒体服务器,然后选择一条通讯链路实现与用户B的通讯。如果通讯链路中的某个媒体服务器宕机,则会导致整条通讯链路不可用,用户A需要重新发起与用户B进行通讯的通讯请求,重新建立连接。再有,若通讯链路中的某一个或多个媒体服务器突然负载过大,则会出现转发数据过慢,进一步导致通话卡顿、画面出现花屏等通话不佳的问题。
为了提高对媒体数据转发的效率,提高用户在通讯过程中的通讯质量,本申请实施例提供一种媒体服务器之间数据转发的方法,以美国的用户A与日本的用户B进行音视频通话进行描述,可以理解的是,本申请实施例所提供的方法适用与其他地区的用户之间的通讯。
图2为本申请实施例提供的通讯链路结构示意图,如图2所示,为了保证客户端之间进行音视频通话,每个地区(例如:城市等)都布设有多个媒体服务器,从用户A到用户B中间按照地区分布着多个媒体服务器,按照逻辑距离由远及近构建几条用户A到用户B的通讯链路。图2中包括媒体服务器M、N、O、P、Q、T、S、A、B和R,其中M为离用户A最近的一个媒体服务器,可以理解的是,最近是指M与用户A的直线距离最短。N和T属于同一层级的媒体服务器、O和S属于同一层级,P和A属于同一层级,Q和B属于同一层级,R为离用户B最近的媒体服务器。
应当说明的是,层级也是按照媒体服务器的逻辑距离确定的,逻辑距离可以理解为距离用户A的直线距离。例如:假设O和S均为澳大利亚的两个媒体服务器,其距用户A来说逻辑距离相同,那么O和S属于同一层级。其中,一个层级中的媒体服务器数量可以有一个,也可以有多个。同一层级及相邻层级的媒体服务器之间通过用户数据报协议UDP和传输控制协议TCP进行通信连接。其中,UDP用于传输音视频数据(例如:RTP数据和RTCP数据),例如:A和B之间直接建立UDP连接,那么在A正常工作的情况下,A会按照预设周期向B发送PING数据包,同样地,在B正常工作的情况下,B也会按照预设周期向A发送PING数据包,从而维持二者之间的连接关系。TCP主要用来实施统计媒体服务器的工作状态,例如当一个媒体服务器宕机时,其他媒体服务器可以通过TCP协议获知该媒体服务器宕机。另外,除了音视频数据之外,其他控制类的数据都是通过TCP协议发送,例如:当与对端连接的媒体服务器确定通讯链路后,可以通过TCP协议告知其他媒体服务器。
再有,相邻的媒体服务器之间默认以UDP模式订阅对方的媒体数据,即,由于媒体服务器之间是通过UDP直连的,因此,上一层级的媒体服务器可以向下一层级的媒体服务器发布媒体数据,同时,下一层级的媒体服务器可以接收上一层级的媒体服务器的媒体数据,再有,同一层级的媒体服务器也会相互发送媒体数据。例如:若S接收到了媒体数据,其会将媒体数据发送给O、P和A,P和A也会订阅S发送的媒体数据。
应当说明的是,上述各个媒体服务器在进行部署时,就已经将其与同一层级的媒体服务器及相邻层级的媒体服务器进行了连接,所以,处于正常工作状态的媒体服务器之间一直通过UDP直连。这样做的好处是,当需要重新选择链路时,多条链路的媒体服务器能够快速实现对媒体数据的转发,而无需先建立ICE连接。以两个终端进行音视频通话为例,传统的媒体服务器间的连接是基于ICE来进行连接的,每一次的音视频通话都会触发一次或多次媒体服务器之间的ICE连接。并且,媒体服务器是充当音视频客户端来使用的,其中包含音视频客户端的大量业务逻辑,这会严重影响服务质量和增加服务器负载。由于ICE的建立比较耗时,接通的速度会受到影响,另外链路的选择也不一定是最优的,因此容易导致媒体数据的转发效率不高,最后影响客户端的体验。
应当说明的是,图2中的媒体服务器构成的链路结构只是一个可能的实施例,其中媒体服务器的个数、连接关系可以有其他变形,本申请实施例对此不作具体限定。
图3为本申请实施例提供的一种媒体服务器之间数据转发的方法流程示意图,如图3所示,该方法可以应用于上述图2的网络结构中,可以理解的是,该方法还可以用于其他终端之间的通讯,且其他终端之间的媒体服务器构成的链路构成可以不与图2一致。具体方法如下:
步骤301:在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;
步骤302:向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
在具体的实施过程中,第一终端和第二终端可以是安装有通讯应用程序的台式电脑、笔记本电脑、平板电脑、智能手机或智能穿戴设备等智能设备。目标通讯链路是指当前时刻第一终端与第二终端进行通讯所使用的链路,该目标通讯链路包括至少一个媒体服务器,媒体服务器的作用是接收第一终端发送的媒体数据,并将该媒体数据转发至第二终端。可以理解的是,媒体数据根据第一终端和第二终端的通讯方式不同而不同,例如:若第一终端与第二终端的通讯方式为语音通话,那么媒体数据包括音频数据;若第一终端与第二终端的通讯方式为视频通话,那么媒体数据除了包括音频数据之外,还包括视频数据。
一般情况下,媒体服务提供商会为第一终端和第二终端提供几条通讯链路,当第一终端和第二终端开始通讯时,会从这几条通讯链路中选择一条最优链路作为目标通讯链路,并使用目标通讯链路进行通讯。但是在通讯过程中,如果媒体服务器得知当前所使用的目标通讯链路无法满足通讯要求时,启动动态调整通讯链路的操作,从而获得到一条新的目标通讯链路。
当媒体服务器获得到新的目标通讯链路后,并且媒体服务器接收到第一终端发出的媒体数据后,根据新的目标通讯链路向下一媒体服务器转发该媒体数据。
因此,在第一终端与第二终端通讯过程中,当出现不满足通讯要求的情况出现时,则重新选择一条目标通讯链路,从而能够保证媒体数据的转发效率,提高用户的通讯质量。
应当说明的是,执行上述方法的主体可以是离第一终端最近的媒体服务器,即目标通讯链路中直接与第一终端连接的媒体服务器,也可以是目标通讯链路中的其他媒体服务器,为了便于区分,将直接与第一终端连接的媒体服务器称为第一媒体服务器,将目标通讯链路中的其他媒体服务器称为第二媒体服务器。下面分别就执行主体为第一媒体服务器和第二媒体服务器进行描述。
(一)、执行上述数据转发方法的服务器为第一媒体服务器
仍然以图2为例,假设目标通讯链路为第一终端-M-T-S-A-B-R-第二终端,其中,美国的用户A使用第一终端,日本的用户B使用第二终端。
在一个实施例中,在第一终端通过目标通讯链路与第二终端进行通讯的过程中,第一终端会通过实时传输控制协议(Real-time Transport Control Protocol,RTCP)向第一媒体服务器发送当前时刻的通讯质量信息,其中,通讯质量信息包括声音延迟时长、音视频实时传输协议(Real-time Transport Protocol,RTP)丢包量和视频帧率中的任意一个或多个。声音延迟时长、音视频RTP丢包量和视频帧率均能够表征当前通讯情况,如果声音延迟时长超过预设时长,其中预设时长可以为200毫秒,或者如果音视频RTP丢包量大于预设值,或者视频帧率小于预设帧,例如预设帧为15帧,则说明当前通讯质量不佳,需要动态调整通讯链路。应当说明的是,预设时长、预设值和预设帧的具体数值的设定可以是预先统计获得或预先根据经验设定。
因此,第一媒体服务器在根据接收到的通讯质量信息不能满足正常通讯要求时,该第一媒体服务器启动动态调整通讯链路的操作,即当第一媒体服务器再次接收到第一终端发送的媒体数据后,在该媒体数据中增加一个字段,该字段用于表示需要重新选择链路,并且其他媒体服务器也能够识别该标识。
第一媒体服务器将增加了字段的媒体数据同时向N和T发送,在N和T收到该媒体数据后,由于发布订阅机制的存在,N和T也会分别向具有UDP连接关系的下一层级的媒体服务器发送该媒体数据,依次发送。从而实现了同时使用第一终端和第二终端之间的多条链路传输该媒体数据,并且,媒体数据每经过一个媒体服务器,就会加上该媒体服务器的标识,当R接收到第一个到达的媒体数据后,从该媒体服务器中获取流经的媒体服务器标识,将转发该媒体数据的通讯链路作为新的目标通讯链路,假设新的目标通讯链路为:第一终端-M-N-O-P-Q-R-第二终端。在R确定了新的目标通讯链路后,通过TCP协议将新的目标通讯链路返回至该新的目标通讯链路中的各个媒体服务器中。
当第一媒体服务器接收到新的目标通讯链路后,通过该新的目标通讯链路转发第一终端发送的媒体数据,即,当第一媒体服务器M接收到第一终端发送的媒体数据后,将该媒体数据发送给N,然后再由N向新的目标通讯链路中的下一个媒体服务器发送媒体数据。
由上可知,第一终端向第二终端发送的媒体数据有两个作用,其一是将用户A发的通讯内容传输给用户B,其二是用来确定新的目标通讯链路,这样做的好处是,在不影响转发媒体数据的基础上,实现链路的重新选择,对用户侧来说,链路重选的过程是无感知的。
本申请实施例通过接收第一终端的反馈来确定是否需要动态调整通讯链路,从而保证媒体数据的转发效率。
在另一个实施例中,当第一终端通过目标通讯链路与第二终端进行通讯时,目标通讯链路中的第二媒体服务器可能会发生宕机,或突然负载增大,导致该媒体服务器无法进行媒体数据的转发,或者转发效率下降。例如:A宕机后,A与媒体服务器Q、B、S和P之间的TCP连接会断开那么Q、B、S和P可以立即获知A发生了异常,并且会把A异常的信息向其他媒体服务器传播,最终,第一媒体服务器M会接收到A异常的信息。
在第一媒体服务器M获知A异常后,启动动态调整通讯链路的操作,其操作流程与上述实施例一致,此处不再赘述。在第一媒体服务器M获得新的目标通讯链路后,将第一终端发送的媒体数据发送给新的目标通讯链路中的下一媒体服务器。
本申请实施例中,当目标通讯链路中有第二媒体服务器发生异常,第一媒体服务器便启动动态调整通讯链路的操作,在传输媒体数据的同时实现链路重选,从而能够快速找到最优的通讯链路,保证了媒体数据的转发不受影响。
在另一实施例中,信令服务器是普通即时通讯服务器,是用来提供发送普通文本消息、图片消息、语音消息功能的服务器。信令服务器可以统计各个地区的中各个媒体服务器在预设时间段内的消息转发效率,并将统计获得的消息转发效率反馈至目标通讯链路中的各个媒体服务器。除此之外,信令服务器和媒体服务器相互独立。
当第一媒体服务器M接收到信令服务器发送的各个媒体服务器的消息转发效率之后,获取第二媒体服务器T和N的消息转发效率,若第二媒体服务器N的消息转发效率高于第二媒体服务器T的消息转发效率,则可以将媒体数据发送至第二媒体服务器N,由第二媒体服务器N转发该媒体数据,而不经过目标通讯链路中的T,从而第一终端-M-N-S-A-B-R-第二终端为新的目标通讯链路。其中,信令服务器统计各个地区的媒体服务器的消息转发效率是一种长期统计的结果,其能够较好的反映一个地区的网络稳定性,这对提高音视频服务起到辅助的作用。
应当说明的是,第一终端在将通讯质量信息发送给第一媒体服务器M之后,第一媒体服务器M也可以发送给目标通讯链路中的其他媒体服务器,其他媒体服务器也可以根据实际情况触发动态调整通讯链路的操作。具体操作与上述实施例类似,此处不再赘述。
另外,信令服务器统计各个地区媒体服务器的消息转发效率的另一个作用是,在最初选择目标通讯链路时,第一媒体服务器可以根据消息转发效率从中预先选择一个较优的链路,而不需要通过多条通讯链路同时传输第一终端发送的媒体数据,以此来将最先到达R的媒体数据的通讯链路作为目标通讯链路。
在另一实施例中,在第一终端与第二终端进行通讯的过程中,若第一媒体服务器M宕机,并且第一媒体服务器M所在的数据中心还有其他媒体服务器能够为其提供服务器,则可以在该数据中心中用其他正常的媒体服务器代替第一媒体服务器M与第一终端连接。由于数据中心向第一终端提供的是一个IP地址与第一终端连接,当数据中心内部切换媒体服务器时,其向外提供的与第一终端连接的IP地址不会发生变化,对第一终端来说也是无感知的。如果第一媒体服务器M所在的数据中心没有其他媒体服务器可用,那么需要第一终端重新发起通讯请求。
(二)、执行上述数据转发方法的服务器为第二媒体服务器
还是以图2所示的媒体服务器链路结构为例,目标通讯链路为第一终端-M-N-O-P-Q-R-第二终端,其中,美国的用户A使用第一终端,日本的用户B使用第二终端。
在一个实施例中,在第一终端与第二终端通过目标通讯链路进行通讯的过程中,由于第二媒体服务器O和第二媒体服务器P通过UDP和TCP连接,并且二者会互相发送PING包来维持连接,若第二媒体服务器P宕机,则P与第二媒体服务器O的TCP连接断开,那么第二媒体服务器O会得知第二媒体服务器P出现异常。第二媒体服务器O可以启动动态调整通讯链路的操作,当第二媒体服务器O接收到第二媒体服务器N发送的媒体数据后,在媒体数据中添加一个用来表示要进行链路重选的字段,并将媒体数据发送给媒体服务器S,S在接收到该媒体数据后,通过发布订阅机制将媒体数据发送给A,A再将媒体数据发送给Q和B,Q和B在接收到媒体数据后分别将媒体数据发送给R,由R确定新的目标通讯链路。若B先将媒体数据发送给R,那么新的目标通讯链路为:第一终端-M-N-O-S-A-B-R-第二终端。同理与P连接的S、A和Q同样也可以获知P异常,并且也可以启动动态调整通讯链路的操作。
由此可知,触发动态调整通讯链路的操作也可以从第二媒体服务器开始,即在第二媒体服务器O之前,还是通过M和N两个媒体服务器传输媒体数据。
应当说明的是,上述方法适用于目标通讯链路中的其他第二媒体服务器。
在另一实施例中,信令服务器也可以将其统计的各个地区媒体服务器的消息转发效率发送给目标通讯链路中的各个媒体服务器,例如:第二媒体服务器A接收到了信令服务器发送的消息转发效率,从而能够获知Q和B的消息转发效率,若B的消息转发效率高于Q的消息转发效率,那么当A接收到媒体数据后,可以将媒体数据发送给B,由B进行媒体数据的转发,从而提高了媒体数据转发的效率。
图4为本申请实施例提供的媒体服务器结构示意图,该媒体服务器可以是电子设备上的模块、程序段或代码。应理解,该媒体服务器与上述图3方法实施例对应,能够执行图3方法实施例涉及的各个步骤,该媒体服务器具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该媒体服务器包括第一链路调整模块401和第一数据转发模块402,其中:
第一链路调整模块401用于在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;第一数据转发模块402用于向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
在上述实施例的基础上,在所述第一终端和所述第二终端之间存在多个层级的媒体服务器,每个层级包括至少一个媒体服务器,所述多个层级的媒体服务器构成了多条通讯链路;同一层级的媒体服务器之间以及相邻层级的媒体服务器之间通过用户数据报协议UDP和传输控制协议TCP连接,以及通过发布订阅机制实现通讯;其中,所述发布订阅机制是指上一层级的媒体服务器向下一层级的媒体服务器发布媒体数据,所述下一层级的媒体服务器订阅所述上一层级的媒体服务器的所述媒体数据,以及同一层级的媒体服务器之间互相发送所述媒体数据。
在上述实施例的基础上,所述第一链路调整模块401具体用于:
接收第一终端发送的当前通讯的通讯质量信息,其中,所述通讯质量信息包括声音延迟时长、音视频RTP丢包量和视频帧率中的任意一个或多个;
若所述声音延迟时长超过预设时长、所述音视频RTP丢包量大于预设值或所述视频帧率小于预设帧,则动态调整通讯链路。
在上述实施例的基础上,所述第一链路调整模块401具体用于:
若接收到异常消息,则动态调整通讯链路;其中,所述异常消息由除与所述第一终端连接的媒体服务器之外的任一或多个媒体服务器工作异常后,由与发生异常的媒体服务器相邻的媒体服务器通过TCP链路发出。
在上述实施例的基础上,第一链路调整模块401具体用于:
利用所述发布订阅机制将所述第一终端发出的媒体数据通过多条通讯链路向所述第二终端转发,以使与所述第二终端通信连接的媒体服务器确定最先接收到所述媒体数据的通讯链路为新的目标通讯链路;
接收与所述第二终端通信连接的媒体服务器发送的所述新的目标通讯链路。
在上述实施例的基础上,该媒体服务器还包括:
接收模块,用于接收信令服务器发送的各个层级的媒体服务器在预设时间段内的消息转发效率;根据所述消息转发效率确定新的目标通讯链路。
在上述实施例的基础上,接收模块具体用于:
若下一层级的媒体服务器中包括第一媒体服务器和第二媒体服务器,其中,所述第一媒体服务器在所述目标通讯链路中,且所述第一媒体服务器对应的所述消息转发效率小于所述第二媒体服务器的消息转发效率,则向所述第二媒体服务器转发媒体数据,以确定新的目标通讯链路。
图5为本申请实施例提供的电子设备实体结构示意图,如图5所示,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;其中,
所述处理器501和存储器502通过所述总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种媒体服务器之间数据转发的方法,其特征在于,包括:
在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;
向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
2.根据权利要求1所述的方法,其特征在于,在所述第一终端和所述第二终端之间存在多个层级的媒体服务器,每个层级包括至少一个媒体服务器,所述多个层级的媒体服务器构成了多条通讯链路;同一层级的媒体服务器之间以及相邻层级的媒体服务器之间通过用户数据报协议UDP和传输控制协议TCP连接,以及通过发布订阅机制实现通讯;其中,所述发布订阅机制是指上一层级的媒体服务器向下一层级的媒体服务器发布媒体数据,所述下一层级的媒体服务器订阅所述上一层级的媒体服务器的所述媒体数据,以及同一层级的媒体服务器之间互相发送所述媒体数据。
3.根据权利要求1所述的方法,其特征在于,所述若出现不满足通讯要求的情况,则动态调整通讯链路,包括:
接收第一终端发送的当前通讯的通讯质量信息,其中,所述通讯质量信息包括声音延迟时长、音视频RTP丢包量和视频帧率中的任意一个或多个;
若所述声音延迟时长超过预设时长、所述音视频RTP丢包量大于预设值或所述视频帧率小于预设帧,则动态调整通讯链路。
4.根据权利要求2所述的方法,其特征在于,所述若出现不满足通讯要求的情况,则动态调整通讯链路,包括:
若接收到异常消息,则动态调整通讯链路;其中,所述异常消息为除与所述第一终端连接的媒体服务器之外的任一或多个媒体服务器工作异常后,由与发生异常的媒体服务器相邻的媒体服务器通过TCP链路发出。
5.根据权利要求2所述的方法,其特征在于,所述动态调整通讯链路,以获得新的目标通讯链路,包括:
利用所述发布订阅机制将所述第一终端发出的媒体数据通过多条通讯链路向所述第二终端转发,以使与所述第二终端通信连接的媒体服务器确定最先接收到所述媒体数据的通讯链路为新的目标通讯链路;
接收与所述第二终端通信连接的媒体服务器发送的所述新的目标通讯链路。
6.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
接收信令服务器发送的各个层级的媒体服务器在预设时间段内的消息转发效率;
根据所述消息转发效率确定新的目标通讯链路。
7.根据权利要求6所述的方法,其特征在于,所述根据所述消息转发效率确定新的目标通讯链路,包括:
若下一层级的媒体服务器中包括第一媒体服务器和第二媒体服务器,其中,所述第一媒体服务器在所述目标通讯链路中,且所述第一媒体服务器对应的所述消息转发效率小于所述第二媒体服务器的消息转发效率,则向所述第二媒体服务器转发媒体数据,以确定新的目标通讯链路。
8.一种媒体服务器,其特征在于,包括:
第一链路调整模块,用于在第一终端通过目标通讯链路与第二终端进行通讯过程中,若出现不满足通讯要求的情况,则动态调整通讯链路,以获得新的目标通讯链路;
第一数据转发模块,用于向新的目标通讯链路中的下一媒体服务器转发所述第一终端发送的媒体数据。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-7任一项所述的方法。
CN201910841321.7A 2019-09-05 2019-09-05 一种媒体服务器之间数据转发的方法及装置 Pending CN110460801A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910841321.7A CN110460801A (zh) 2019-09-05 2019-09-05 一种媒体服务器之间数据转发的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910841321.7A CN110460801A (zh) 2019-09-05 2019-09-05 一种媒体服务器之间数据转发的方法及装置

Publications (1)

Publication Number Publication Date
CN110460801A true CN110460801A (zh) 2019-11-15

Family

ID=68491020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910841321.7A Pending CN110460801A (zh) 2019-09-05 2019-09-05 一种媒体服务器之间数据转发的方法及装置

Country Status (1)

Country Link
CN (1) CN110460801A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788053A (zh) * 2021-01-25 2021-05-11 深圳市欢太科技有限公司 一种实时通信方法、装置、服务器、***及存储介质
WO2021180202A1 (zh) * 2020-03-12 2021-09-16 华为技术有限公司 一种辅助链路补偿通话的***、装置及芯片
CN114500237A (zh) * 2022-01-05 2022-05-13 北京世格电讯科技有限公司 一种通信方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005456A (zh) * 2006-12-30 2007-07-25 华为技术有限公司 一种媒体流转发方法和媒体服务器
KR100957634B1 (ko) * 2008-04-02 2010-05-13 주식회사 케이티 통신 단말기의 설정 요청에 의해 QoS를 설정하는 방법및 이를 위한 통신 단말기
CN105592094A (zh) * 2015-12-30 2016-05-18 深圳市有信网络技术有限公司 一种网络电话链路建立方法及***
CN106331756A (zh) * 2016-09-05 2017-01-11 北京智能管家科技有限公司 视频转发的路由选择装置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005456A (zh) * 2006-12-30 2007-07-25 华为技术有限公司 一种媒体流转发方法和媒体服务器
KR100957634B1 (ko) * 2008-04-02 2010-05-13 주식회사 케이티 통신 단말기의 설정 요청에 의해 QoS를 설정하는 방법및 이를 위한 통신 단말기
CN105592094A (zh) * 2015-12-30 2016-05-18 深圳市有信网络技术有限公司 一种网络电话链路建立方法及***
CN106331756A (zh) * 2016-09-05 2017-01-11 北京智能管家科技有限公司 视频转发的路由选择装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021180202A1 (zh) * 2020-03-12 2021-09-16 华为技术有限公司 一种辅助链路补偿通话的***、装置及芯片
CN112788053A (zh) * 2021-01-25 2021-05-11 深圳市欢太科技有限公司 一种实时通信方法、装置、服务器、***及存储介质
CN114500237A (zh) * 2022-01-05 2022-05-13 北京世格电讯科技有限公司 一种通信方法和***
CN114500237B (zh) * 2022-01-05 2024-05-24 北京世格电讯科技有限公司 一种通信方法和***

Similar Documents

Publication Publication Date Title
CN103634299B (zh) 基于多连接的实时流媒体传输终端与方法
CN102035839B (zh) 一种提供流媒体服务的方法及***、设备
DE112010004619B4 (de) Bestimmung der Verfügbarkeit von Identitäteninformationen und deren Übergabe in Peer-to-Peer-Netzwerken
US8659634B2 (en) Method and system for implementing three-party video call by mobile terminals
CN110460801A (zh) 一种媒体服务器之间数据转发的方法及装置
CN111147893B (zh) 一种视频自适应方法、相关设备以及存储介质
CN108881779A (zh) 智能设备之间的视频通话接听转移方法、***及服务器
CN101924772B (zh) 支持跨网络、跨终端实现多媒体会话合并的通信方法
DE112004000463B4 (de) Verfahren und Server zur Herstellung einer Paketdatensitzung
CN109831490A (zh) 业务访问方法及***
CN104601827A (zh) 一种信息处理方法及移动终端
CN104918132A (zh) 一种智能电视音视频通讯的方法及***
CN102118602A (zh) 一种在多画面中显示辅流视频的方法及***
US20140225982A1 (en) Method and system for handling content in videoconferencing
KR100819705B1 (ko) 영상통화에서의 멀티미디어 컨텐츠 공유 방법 및 시스템,그리고 이에 적용되는 서버
CN107968767A (zh) 一种多终端通信方法、服务器和第一终端
WO2022121819A1 (zh) 通话方法及装置
CN112333690A (zh) 数据传输方法、装置、存储介质、终端及网络接入点设备
CN115209189B (zh) 一种视频流传输方法、***、服务器及存储介质
CN101998102A (zh) 一种控制移动可视电话视频质量的方法和移动可视电话
CN104427287B (zh) 数据处理方法及设备
CN112333414A (zh) 视频通话方法、装置、电子设备及可读存储介质
CN110166185A (zh) 音频数据的处理方法、装置、存储介质和处理器
CN110198279A (zh) 一种转发媒体包的方法及转发服务器
CN108206815A (zh) 多方通话的转换方法、装置及多通终端

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191115

RJ01 Rejection of invention patent application after publication