本发明涉及互联网技术领域,尤其涉及一种多媒体电话MMTel的通讯集群方法及装置。
背景技术:
随着互联网技术的日益发展,互联网所提供的服务内容也越来越多,对于应用于网页实时通信WebRTC系统的多媒体电话MMTel的通讯来说,通常需要设置多个服务器来同时提供服务,即进行服务器集群处理,以进行负载均衡,避免单一的服务器无法同时为多个用户及时提供服务的情况,以提高服务质量。
目前负载均衡是通过在各服务器的前端提供一个负载均衡器LB(Load Balancer),将用户连接请求分配到各台服务器上。具体包括两种方法,一种方法是,客户端连接到负载均衡器,并请求获得服务器IP地址后,负载均衡器根据负载均衡调度算法选择一个服务器,并将此服务器IP地址返回给客户端;客户端根据返回的服务器IP地址连接到对应的服务器,发起业务请求。但是,这种方法需要连接两次才能进行业务处理,处理效率较低,且由于客户端需首先连接到负载均衡器,使得负载均衡器成为系统的瓶颈,一旦它不能提供服务,整个系统都处于不可使用状态。
另一种方法为客户端连接到负载均衡器,并发起业务请求。负载均衡器根据负载均衡调度算法选择一个服务器,并将业务请求转发给该服务器。服务器处理完成后,将结果返回给负载均衡器,负载均衡器再将结果返回给客户端。同样,这种方法中负载均衡器成为系统的性能瓶颈,并且所有的请求和回应都需要经过它转发。一旦负载均衡器不能提供服务,整个系统都处于不可使用状态。
技术实现要素:
为了克服现有技术中存在的不足,本发明实施例提供了一种多媒体电话MMTel的通讯集群方法及装置。
为了解决上述技术问题,本发明实施例采用如下技术方案:
依据本发明实施例的一个方面,提供了一种多媒体电话MMTel的通讯集群方法,应用于网页实时通信WebRTC系统,所述方法包括:向负载均衡器LB发送用于分配服务器的请求;接收所述LB针对所述请求返回的响应消息,所述响应消息中携带有LB分配的服务器的IP地址,记录所述响应消息中携带的服务器的IP地址;根据所记录的服务器的IP地址,连接到对应的服务器,发起业务请求。
其中,所述向负载均衡器LB发送用于分配服务器的请求包括:向多个LB发送用于分配服务器的请求,所述多个LB部署在不同运营商的线路机房中;所述接收所述LB针对所述请求返回的响应消息,所述响应消息中携带有LB分配的服务器的IP地址,记录所述响应消息中携带的服务器的IP地址包括:接收所述多个LB针对所述请求返回的响应消息,记录最先返回的响应消息中所携带的服务器的IP地址。
其中,所述方法还包括:在向LB发送用于分配服务器的请求后,若在预设时间内没有得到响应时,则根据本地预先设置的逃生服务器的IP地址,向所述逃生服务器的IP地址对应的逃生服务器发起业务请求。
其中,所述方法还包括:在向LB发送用于分配服务器的请求后,在预设时间内没有得到响应时,若本地预先设置的逃生服务器IP地址为空,则将前次记录的服务器的IP地址保存为逃生服务器的IP地址,并向保存后的逃生服务器的IP地址对应的服务器发起业务请求。
依据本发明实施例的另一个方面,还提供了一种多媒体电话MMTel的通讯集群装置,应用于网页实时通信WebRTC系统,所述装置包括:第一发送模块,用于向负载均衡器LB发送用于分配服务器的请求;接收模块,用于接收所述LB针对所述请求返回的响应消息,所述响应消息中携带有LB分配的服务器的IP地址,记录所述响应消息中携带的服务器的IP地址;第二发送模块,用于根据所记录的服务器的IP地址,连接到对应的服务器,发起业务请求。
其中,所述第一发送模块包括:第一发送单元,用于向多个LB发送用于分配服务器的请求,所述多个LB部署在不同运营商的线路机房中;所述接收模块包括:接收单元,用于接收所述多个LB针对所述请求返回的响应消息,记录最先返回的响应消息中所携带的服务器的IP地址。
其中,所述装置还包括:第一业务处理模块,用于在向LB发送用于分配服务器的请求后,若在预设时间内没有得到响应时,则根据本地预先设置的逃生服务器的IP地址,向所述逃生服务器的IP地址对应的逃生服务器发起业务请求。
其中,所述装置还包括:第二业务处理模块,用于在向LB发送用于分配服务器的请求后,在预设时间内没有得到响应时,若本地预先设置的逃生服务器的IP地址为空,则将前次记录的服务器的IP地址保存为逃生服务器的IP地址,并向保存后的逃生服务器的IP地址对应的服务器发起业务请求。
本发明实施例的有益效果:本发明实施例的方法能够有效避免对负载均衡器LB的过度依赖,避免在LB发生故障后便不能工作的情况发生,使LB不再是系统瓶颈,同时提高了负载均衡的分发能力。
附图说明
图1为本发明实施例的多媒体电话MMTel的通讯集群方法的流程图;
图2为本发明实施例的多媒体电话MMTel的通讯集群装置的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,为本发明实施例的多媒体电话MMTel的通讯集群方法的流程图,该方法应用于网页实时通信WebRTC系统,参照图1,该方法包括如下步骤:
步骤101,向负载均衡器LB发送用于分配服务器的请求。
步骤102,接收所述LB针对所述请求返回的响应消息,所述响应消息中携带有LB分配的服务器的IP地址,记录所述响应消息中携带的服务器的IP地址。
具体地,LB接收到客户端web app发送的所述分配服务器的请求后,根据负载均衡算法,选择一个服务器,并将此服务器IP地址返回给web app。
步骤103,根据所记录的服务器的IP地址,连接到对应的服务器,发起业务请求。
在本发明的实施例中,能够有效避免web app对LB的过度依赖,避免在LB发生故障后便不能工作的情况发生,使LB不再是系统瓶颈,同时提高了负载均衡的分发能力。
进一步地,本发明上述实施例的步骤101具体包括:向多个LB发送用于分配服务器的请求,所述多个LB部署在不同运营商的线路机房中。应当说明的是,在本发明实施例中,在各个运营商内都部署有负载均衡服务,且可以是1个或多个LB分布在A运营商的线路机房,1个或多个LB分配在B运行商的线路机房,具体数量设置可根据运营商的具体承载量和用户数来进行相应配置,在本发明实施例中不做限制。
进一步地,本发明上述实施例的步骤102具体包括:接收所述多个LB针对所述请求返回的响应消息,记录最先返回的响应消息中所携带的服务器的IP地址。应当理解的是,web app在向多个部署在不同运营商线路机房中的LB发送用于分配服务器的请求时,如果是A运营商中的LB返回的响应消息最快,则表明web app所处的网络访问A运营商的网络速度快,访问B运营商的网络速度慢,此时web app选择记录最先返回的响应消息中所携带的服务器的IP地址,对应所述服务器的IP地址选择部署在A运营商的服务器作为后续服务提供者。
进一步地,本发明实施例的方法还包括:在向LB发送用于分配服务器的请求后,若在预设时间内没有得到响应时,则根据本地预先设置的逃生服务器的IP地址,向所述逃生服务器的IP地址对应的逃生服务器发起业务请求。应当理解的是,该预先设置的功能是web app在发布的时候,已经预设了逃生服务器的IP地址,并在向LB发送用于分配服务器的请求后的预设时间内没有得到响应时,启用逃生功能,即向该逃生服务器的IP地址对应的逃生服务器发起业务请求。从而有效避免对LB的过度依赖,避免在LB发生故障后便不能工作的情况发生,使LB不再是系统瓶颈,同时提高了负载均衡的分发能力。
进一步地,本发明实施例的方法还包括:在向LB发送用于分配服务器的请求后,在预设时间内没有得到响应时,若本地预先设置的逃生服务器的IP地址为空,则将前次记录的服务器的IP地址保存为逃生服务器的IP地址,并向保存后的逃生服务器的IP地址对应的服务器发起业务请求。从而改变了完全依赖于LB的指引才能找到服务器的模式。
为了更好的实施上述目的,如图2所示,本发明实施例提供了一种多媒体电话MMTel的通讯集群装置,该装置应用于网页实时通信WebRTC系统,所述装置20包括:第一发送模块21、接收模块22和第二发送模块23,其中,
第一发送模块21,用于向负载均衡器LB发送用于分配服务器的请求;
接收模块22,用于接收所述LB针对所述请求返回的响应消息,所述响应消息中携带有LB分配的服务器的IP地址,记录所述响应消息中携带的服务器的IP地址;
第二发送模块23,用于根据所记录的服务器的IP地址,连接到对应的服务器,发起业务请求。
在本发明的实施例中,能够有效避免对LB的过度依赖,避免在LB发生故障后便不能工作的情况发生,使LB不再是系统瓶颈,同时提高了负载均衡的分发能力。
进一步地,所述第一发送模块21包括:第一发送单元,用于向多个LB发送用于分配服务器的请求,所述多个LB部署在不同运营商的线路机房中;所述接收模块22包括:接收单元,用于接收所述多个LB针对所述请求返回的响应消息,记录最先返回的响应消息中所携带的服务器的IP地址。
进一步地,所述装置20还包括:第一业务处理模块,用于在向LB发送用于分配服务器的请求后,若在预设时间内没有得到响应时,则根据本地预先设置的逃生服务器的IP地址,向所述逃生服务器的IP地址对应的逃生服务器发起业务请求。
进一步地,所述装置20还包括:第二业务处理模块,用于在向LB发送用于分配服务器的请求后,在预设时间内没有得到响应时,若本地预先设置的逃生服务器的IP地址为空,则将前次记录的服务器的IP地址保存为逃生服务器的IP地址,并向保存后的逃生服务器的IP地址对应的服务器发起业务请求。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。