本发明涉及计算机技术领域,尤其涉及一种WebRTC系统中路由选择方法、服务器及系统。
背景技术:
在WebRTC系统中,当多个客户端进行通信时,该多个客户端中每一个客户端需要与WebRTC系统中的WebRTC服务器建立连接关系,从而通过该WebRTC服务器实现客户端之间的通信。
但是,现有技术中,在通过WebRTC服务器实现客户端之间通信的过程中,由于WebRTC服务器只能负载一定数量的客户端,因此,当多个客户端通过该WebRTC服务器进行通信的过程中,会因为WebRTC服务器的负载能力有限而使得客户端之间的通信可靠性较差。
因此,采用现有技术的方法,客户端之间的通信可靠性较差。
技术实现要素:
本发明提供一种WebRTC系统中路由选择方法、服务器及系统,以提高客户端之间的通信可靠性。
本发明实施例提供一种网页实时通信WebRTC系统中路由选择方法,包括:
接收源客户端发送的实时网页提议应答协议ROAP消息,所述ROAP消息包括目标客户端的标识;
根据所述目标客户端的标识获取所述目标客户端对应的目标WebRTC通信服务器WCS的标识;
根据所述目标WCS的标识将所述ROAP消息发送给所述目标WCS,以使所述目标WCS根据所述目标客户端的标识将所述ROAP消息发送给所述目标客户端。
在本发明一实施例中,所述根据所述目标客户端的标识获取所述目标客户端对应的目标WCS的标识,包括:
向中央数据服务器CDS发送地址请求消息,所述地址请求消息中包括所述目标客户端的标识,所述地址请求消息用于获取所述目标客户端对应的所述目标WCS的标识;
接收所述CDS发送的所述目标WCS的标识;其中,所述CDS存储所述目标客户端的标识与所述目标WCS的标识的对应关系。
在本发明一实施例中,所述向CDS发送地址请求消息之前,还包括:
确定本地未存储所述目标客户端的标识。
本发明实施例还提供一种网页实时通信WebRTC系统中路由选择方法,包括:
接收源WebRTC通信服务器WCS发送的地址请求消息,所述地址请求消息中包括目标客户端的标识,用于获取所述目标客户端对应的目标WCS的标识;
根据所述目标客户端的标识与所述目标WCS的标识的对应关系,获取所述目标WCS的标识;
向所述源WCS发送所述目标WCS的标识,以使所述源WCS向所述目标WCS发送实时网页提议应答协议ROAP消息,所述ROAP消息中包含所述目标客户端的标识。
在本发明一实施例中,所述接收源WCS发送的地址请求消息之前,还包括:
建立并存储所述目标客户端的标识与所述目标WCS的标识的对应关系。
在本发明一实施例中,还包括:
接收所述目标WCS发送的对应关系更新请求;
根据所述对应关系更新请求,更新所述目标客户端的标识与所述目标WCS的标识的对应关系。
本发明实施例还提供一种网页实时通信WebRTC系统中路由选择方法,包括:
接收源WebRTC通信服务器WCS发送的实时网页提议应答协议ROAP消息,所述ROAP消息包括目标客户端的标识;
根据所述目标客户端的标识将所述ROAP消息发送给所述目标客户端,所述ROAP消息中包含所述目标客户端的标识。
在本发明一实施例中,还包括:
若未存储所述目标客户端的标识,则向中央数据服务器CDS发送对应关系更新请求,以使所述CDS更新所述目标客户端的标识与所述目标WCS的标识的对应关系。
本发明实施例还提供一种源网页实时通信服务器WCS,包括:
接收模块,用于接收源客户端发送的实时网页提议应答协议ROAP消息,所述ROAP消息包括目标客户端的标识;
获取模块,用于根据所述目标客户端的标识获取所述目标客户端对应的目标WebRTC通信服务器WCS的标识;
发送模块,用于根据所述目标WCS的标识将所述ROAP消息发送给所述目标WCS,以使所述目标WCS根据所述目标客户端的标识将所述ROAP消息发送给所述目标客户端。
在本发明一实施例中,所述发送模块,具体用于向中央数据服务器CDS发送地址请求消息,所述地址请求消息中包括所述目标客户端的标识,所述地址请求消息用于获取所述目标客户端对应的所述目标WCS的标识;
所述接收模块,具体用于接收所述CDS发送的所述目标WCS的标识;其中,所述CDS存储所述目标客户端的标识与所述目标WCS的标识的对应关系。
在本发明一实施例中,还包括确定模块:
所述确定模块,用于确定本地未存储所述目标客户端的标识。
本发明实施例还提供一种中央数据服务器CDS,包括:
接收模块,用于接收源WebRTC通信服务器WCS发送的地址请求消息,所述地址请求消息中包括目标客户端的标识,用于获取所述目标客户端对应的目标WCS的标识;
获取模块,用于根据所述目标客户端的标识与所述目标WCS的标识的对应关系,获取所述目标WCS的标识;
发送模块,用于向所述源WCS发送所述目标WCS的标识,以使所述源WCS向所述目标WCS发送实时网页提议应答协议ROAP消息,所述ROAP消息中包含所述目标客户端的标识。
在本发明一实施例中,还包括处理模块,
所述处理模块,用于建立并存储所述目标客户端的标识与所述目标WCS的标识的对应关系。
在本发明一实施例中,所述接收模块,还用于接收所述目标WCS发送的对应关系更新请求;
所述处理模块,还用于根据所述对应关系更新请求,更新所述目标客户端的标识与所述目标WCS的标识的对应关系。
本发明实施例还提供一种目标网页实时通信服务器WCS,包括:
接收模块,用于接收源WebRTC通信服务器WCS发送的实时网页提议应答协议ROAP消息,所述ROAP消息包括目标客户端的标识;
发送模块,用于根据所述目标客户端的标识将所述ROAP消息发送给所述目标客户端,所述ROAP消息中包含所述目标客户端的标识。
在本发明一实施例中,所述发送模块,还用于若未存储所述目标客户端的标识,则向中央数据服务器CDS发送对应关系更新请求,以使所述CDS更新所述目标客户端的标识与所述目标WCS的标识的对应关系。
本发明实施例还提供一种网页实时通信WebRTC系统中路由选择系统,包括源客户端、目标客户端、源WebRTC通信服务器WCS、中央数据服务器CDS及目标WCS;
其中,所述源WCS为上述任一实施例中所述的源WCS;
所述CDS为上述任一实施例中所述的CDS;
所述目标WCS为上述任一实施例中所述的目标WCS。
本发明实施例提供的WebRTC系统中路由选择方法,通过接收源客户端发送的ROAP消息,根据目标客户端的标识获取目标客户端对应的目标WCS的标识;根据目标WCS的标识将ROAP消息发送给目标WCS,以使目标WCS根据目标客户端的标识将ROAP消息发送给目标客户端。由此可见,在WebRTC系统中,通过设置源WCS和目标WCS,使得源客户端与目标客户端进行通信时,源客户端可以先通过其所在的源WCS获取到目标客户端所在的目标WCS的标识,之后再将ROAP消息发送给目标WCS,以使得目标WCS在接收到该ROAP消息之后,将该ROAP消息发送至目标客户端,从而实现源客户端与目标客户端之间的通信,进而提高了客户端之间的通信可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明为本发明实施例提供的WebRTC系统中路由选择方法的一种交互流程示意图;
图2为本发明为本发明实施例提供的获取目标客户端对应的目标WCS的标识方法的流程示意图;
图3为本发明实施例提供的WebRTC系统中路由选择方法的另一种交互流程示意图;
图4为本发明实施例提供的源WCS的结构实例图;
图5为本发明实施例提供的CDS的结构示意图;
图6为本发明实施例提供的目标WCS的结构示意图;
图7为本发明实施例提供的WebRTC系统中路由选择系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在现有的网页实时通信(Web Real-Time Communication,简称WebRTC)系统中,由于WebRTC服务器只能负载一定数量的客户端,因此,当多个客户端通过该WebRTC服务器进行通信的过程中,会因为WebRTC服务器的负载能力有限而使得客户端之间的通信可靠性较差。而本发明实施例提供的WebRTC系统中路由选择方法,通过设置一个中央数据服务器(Central Data Server,简称CDS)和至少两个WebRTC通信服务器(WebRTC Communication Server,WCS服务器),从而实现源客户端与目标客户端之间的通信,且提高了客户端之间的通信可靠性。示例的,此处的客户端可以为网页客户端,WebRTC IP多媒体子系统信号网关(WebRTC IP Multimedia Subsystem Signal Gateway,简称WISG)和WebRTC会议信号网关(WebRTC Conference Signal Gateway,简称WCSG)三类,该三类客户端分别服务于普通WebRTC用户,IP多媒体子系统(IP Multimedia Subsystem,简称IMS)用户和会议用户。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本发明实施例提供的WebRTC系统中路由选择方法的一种交互流程示意图,示例的,该WebRTC系统中路由选择方法可应用于WebRTC系统中路由选择系统中,该WebRTC系统中路由选择系统中可以包括至少两个客户端(即源客户端和目标客户端)、一个CDS和至少两个WCS(源客户端对应的源WCS和目标客户端对应的目标WCS)。具体地,请参见图1所示,该WebRTC系统中路由选择方法可以包括:
S101、源WCS接收源客户端发送的实时网页提议应答协议(RTCWeb Offer/Answer Protocol,简称ROAP)消息。
其中,ROAP消息包括目标客户端的标识。示例的,目标客户端的标识可以为目标客户端的IP地址信息等与用户账号相关的标识信息,在此,对于目标客户端的标识具体是什么,本发明不做进一步地限制。
S102、源WCS根据目标客户端的标识获取目标客户端对应的目标WCS的标识。
源WCS在接收到源客户端发送的ROAP消息之后,可以根据该ROAP消息中携带的目标客户端的标识获取该目标客户端对应的目标WCS的标识。
示例的,目标WCS的标识可以为目标WCS的IP地址信息等与用户账号相关的等标识信息,在此,对于目标WCS的标识具体是什么,本发明不做进一步地限制。
S103、源WCS根据目标WCS的标识将ROAP消息发送给目标WCS。
源WCS在获取到目标客户端对应的目标WCS的标识之后,将ROAP消息发送给目标WCS,从而使得目标WCS在接收到该ROAP消息之后,将该ROAP消息发送至目标客户端。
S104、目标WCS根据目标客户端的标识将ROAP消息发送给目标客户端。
其中,ROAP消息中包含目标客户端的标识。目标WCS在接收到源WCS发送的ROAP消息之后,就可以根据该ROAP消息中携带的目标客户端的标识将该ROAP消息发送至目标客户端,从而实现源客户端与目标客户端之间的通信,并提高了客户端之间的通信可靠性。
本发明实施例提供的WebRTC系统中路由选择方法,通过接收源客户端发送的ROAP消息,根据目标客户端的标识获取目标客户端对应的目标WCS的标识;根据目标WCS的标识将ROAP消息发送给目标WCS,以使目标WCS根据目标客户端的标识将ROAP消息发送给目标客户端。由此可见,在WebRTC系统中,通过设置源WCS和目标WCS,使得源客户端与目标客户端进行通信时,源客户端可以先通过其所在的源WCS获取到目标客户端所在的目标WCS的标识,之后再将ROAP消息发送给目标WCS,以使得目标WCS在接收到该ROAP消息之后,将该ROAP消息发送至目标客户端,从而实现源客户端与目标客户端之间的通信,进而提高了客户端之间的通信可靠性。
在图1对应的实施例的基础上,可选的,源WCS可以通过如下可行的方式获取目标客户端对应的目标WCS的标识(S102),具体请参见图2所示的实施例。图2为本发明实施例提供的获取目标客户端对应的目标WCS的标识方法的流程示意图,请参见图2,该方法可以包括;
S201、源WCS确定本地未存储目标客户端的标识。
示例的,在本发明实施例中,源WCS在接收到源客户端发送的ROAP消息之后,先在其本地查找目标客户端的标识,若确定本地未存储目标客户端的标识,则执行步骤S202向CDS发送地址请求消息,以获取目标客户端所对应的目标WCS的标识。相反的,若确定本地存储了目标客户端的标识,则可以直接获取到目标WCS的标识。在本发明实施例中,以源WCS确定本地未存储目标客户端的标识为例进行说明,但并不代表本发明仅限于此。
S202、源WCS向CDS发送地址请求消息。
其中,地址请求消息中包括目标客户端的标识,地址请求消息用于获取目标客户端对应的目标WCS的标识。
S203、CDS根据目标客户端的标识与目标WCS的标识的对应关系,获取目标WCS的标识。
可选的,CDS在接收源WCS发送的地址请求消息之后,就可以根据地址请求消息获取目标客户端对应的目标WCS的标识。其中,地址请求消息中包括目标客户端的标识。可选的,CDS可以预先建立并存储目标客户端的标识与目标WCS的标识的对应关系。示例的,客户端在接入到WebRTC系统时,向中央管理服务器(Central Management Server,简称CMS)发送一个连接请求,CMS根据当前WebRTC系统中每一个WCS的负载情况等信息为客户端分配相应的WCS,从而建立并存储目标客户端的标识与目标WCS的标识的对应关系。其中,CMS可以独立设置,也可以与CDS集成在一起,在本发明实施例中,CMS与CDS集成在一起。
S204、CDS向源WCS发送目标WCS的标识。
CDS在根据目标客户端的标识与目标WCS的标识的对应关系获取到目标WCS的标识之后,向源WCS发送目标WCS的标识,以使源WCS接收CDS发送的目标WCS的标识之后,向目标WCS发送ROAP消息。其中,ROAP消息中包含目标客户端的标识。
进一步地,结合图1对应的实施例,S103源WCS根据目标WCS的标识将ROAP消息发送给目标WCS之后,目标WCS先在其本地查找目标客户端的标识,若目标WCS存储了目标客户端的标识,则直接执行S104目标WCS根据目标客户端的标识将ROAP消息发送给目标客户端。相反的,若目标WCS未存储目标客户端的标识,则执行如下:
S205、目标WCS向CDS发送对应关系更新请求。
若目标WCS未存储目标客户端的标识,则向CDS发送对应关系更新请求,以使CDS更新目标客户端的标识与目标WCS的标识的对应关系。
S206、CDS根据对应关系更新请求,更新目标客户端的标识与目标WCS的标识的对应关系。
CDS在接收目标WCS发送的对应关系更新请求之后,可以根据对应关系更新请求,更新目标客户端的标识与目标WCS的标识的对应关系,以使CDS中存储正确的对应关系。
由此可见,在本发明实施例中,源WCS在接收到源客户端发送的ROAP消息之后,先在其本地查找目标客户端的标识,若确定本地未存储目标客户端的标识,则向CDS发送地址请求消息,以获取目标客户端的标识对应的目标WCS的标识;CDS在接收到该地址请求消息之后,由于其预先建立并存储目标客户端的标识与目标WCS的标识的对应关系,因此,可以根据该对应关系直接获取到该目标客户端对应的目标WCS的标识,并将该目标WCS的标识发送给源WCS,以使源客户端将ROAP消息发送给目标WCS,若目标WCS在其本地查找到目标客户端的标识,则将ROAP消息直接发送给目标客户端,从而实现源客户端与目标客户端之间的通信,进而提高了客户端之间的通信可靠性。此外,若目标WCS未存储目标客户端的标识,向CDS发送对应关系更新请求;以使CDS根据对应关系更新请求,更新目标客户端的标识与目标WCS的标识的对应关系。
基于图1及图2对应的实施例,在图1及图2对应的实施例的基础上,进一步地,本发明实施例还提供了一种WebRTC系统中路由选择方法,请参见图3所示,图3为本发明实施例提供的WebRTC系统中路由选择方法的另一种交互流程示意图,该WebRTC系统中路由选择方法可以包括:
S301、源WCS接收源客户端发送的ROAP消息。
其中,ROAP消息包括目标客户端的标识。
S302、源WCS在其本地查目标客户端的标识。
示例的,源WCS若确定本地存储了目标客户端的标识,则可以直接获取到目标WCS的标识。相反的,相反的,源WCS若确定本地未存储目标客户端的标识,则执行如下S303。
S303、源WCS向CDS发送地址请求消息。
其中,地址请求消息中包括目标客户端的标识,地址请求消息用于获取目标客户端对应的目标WCS的标识。
S304、CDS根据目标客户端的标识与目标WCS的标识的对应关系,获取目标WCS的标识。
S305、CDS向源WCS发送目标WCS的标识。
CDS在根据目标客户端的标识与目标WCS的标识的对应关系获取到目标WCS的标识之后,向源WCS发送目标WCS的标识,以使源WCS接收CDS发送的目标WCS的标识之后,向目标WCS发送ROAP消息。
S306、源WCS根据目标WCS的标识将ROAP消息发送给目标WCS。
源WCS在获取到目标客户端对应的目标WCS的标识之后,将ROAP消息发送给目标WCS,从而使得目标WCS在接收到该ROAP消息之后,将该ROAP消息发送至目标客户端。
S307、目标WCS在其本地查目标客户端的标识。
示例的,目标WCS若确定本地存储目标客户端的标识,则直接执行S308:目标WCS将接收到的ROAP消息发送给目标客户端。相反的,若目标WCS未存储目标客户端的标识,则执行如下S309。
S309、若目标WCS未存储目标客户端的标识,则向CDS发送对应关系更新请求。
若目标WCS未存储目标客户端的标识,则向CDS发送对应关系更新请求,以使CDS更新目标客户端的标识与目标WCS的标识的对应关系。
值得说明的是,S308和S309之前并无先后顺序。
S310、CDS根据对应关系更新请求,更新目标客户端的标识与目标WCS的标识的对应关系。
CDS在接收目标WCS发送的对应关系更新请求之后,可以根据对应关系更新请求,更新目标客户端的标识与目标WCS的标识的对应关系。
本发明实施例所示的WebRTC系统中路由选择方法,其实现原理以及有益效果与上述任一实施例中的实现原理及有益效果类似,此处不再进行赘述。
图4为本发明实施例提供的源网页实时通信服务器WCS40的结构示意图,请参见图4所示,该源WCS40可以包括:
接收模块401,用于接收源客户端发送的实时网页提议应答协议ROAP消息,ROAP消息包括目标客户端的标识。
获取模块402,用于根据目标客户端的标识获取目标客户端对应的目标WebRTC通信服务器WCS的标识。
发送模块403,用于根据目标WCS的标识将ROAP消息发送给目标WCS,以使目标WCS根据目标客户端的标识将ROAP消息发送给目标客户端。
可选的,发送模块403,具体用于向中央数据服务器CDS发送地址请求消息,地址请求消息中包括目标客户端的标识,地址请求消息用于获取目标客户端对应的目标WCS的标识。
接收模块401,具体用于接收CDS发送的目标WCS的标识;其中,CDS存储目标客户端的标识与目标WCS的标识的对应关系。
可选的,该源WCS40还包括确定模块404。
确定模块404,用于确定本地未存储目标客户端的标识。
本发明实施例所示的源WCS40,可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图5为本发明实施例提供的中央数据服务器CDS50的结构示意图,请参见图5所示,该CDS50可以包括:
接收模块501,用于接收源WebRTC通信服务器WCS发送的地址请求消息,地址请求消息中包括目标客户端的标识,用于获取目标客户端对应的目标WCS的标识。
获取模块502,用于根据目标客户端的标识与目标WCS的标识的对应关系,获取目标WCS的标识。
发送模块503,用于向源WCS40发送目标WCS的标识,以使源WCS40向目标WCS发送实时网页提议应答协议ROAP消息,ROAP消息中包含目标客户端的标识。
可选的,该CDS还包括处理模块504。
处理模块504,用于建立并存储目标客户端的标识与目标WCS的标识的对应关系。
可选的,接收模块501,还用于接收目标WCS发送的对应关系更新请求。
处理模块504,还用于根据对应关系更新请求,更新目标客户端的标识与目标WCS的标识的对应关系。
本发明实施例所示的CDS50,可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图6为本发明实施例提供的目标网页实时通信服务器WCS60的结构示意图,请参见图6所示,该目标WCS60可以包括:
接收模块601,用于接收源WebRTC通信服务器WCS发送的实时网页提议应答协议ROAP消息,ROAP消息包括目标客户端的标识。
发送模块602,用于根据目标客户端的标识将ROAP消息发送给目标客户端,ROAP消息中包含目标客户端的标识。
可选的,发送模块602,还用于若未存储目标客户端的标识,则向中央数据服务器CDS发送对应关系更新请求,以使CDS更新目标客户端的标识与目标WCS的标识的对应关系。
本发明实施例所示的目标WCS60,可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图7为本发明实施例提供的网页实时通信WebRTC系统中路由选择系统70的结构示意图,请参见图7所示,该WebRTC系统中路由选择系统70可以包括:
源客户端701、目标客户端702、源WebRTC通信服务器WCS40、中央数据服务器CDS50及目标WCS60。
其中,源WCS40为上述任一实施例所述的源WCS40;CDS50为上述任一实施例所述的CDS;目标WCS60为上述任一实施例所述的目标WCS。
本发明实施例所示的WebRTC系统中路由选择系统70,可以执行上述方法任一实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。