CN112217859A - 负载均衡方法、系统、移动终端及存储介质 - Google Patents

负载均衡方法、系统、移动终端及存储介质 Download PDF

Info

Publication number
CN112217859A
CN112217859A CN202010889361.1A CN202010889361A CN112217859A CN 112217859 A CN112217859 A CN 112217859A CN 202010889361 A CN202010889361 A CN 202010889361A CN 112217859 A CN112217859 A CN 112217859A
Authority
CN
China
Prior art keywords
mrcp
server
service
mrcp server
instance information
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
CN202010889361.1A
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.)
Xiamen Kuaishangtong Technology Co Ltd
Original Assignee
Xiamen Kuaishangtong 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 Xiamen Kuaishangtong Technology Co Ltd filed Critical Xiamen Kuaishangtong Technology Co Ltd
Priority to CN202010889361.1A priority Critical patent/CN112217859A/zh
Publication of CN112217859A publication Critical patent/CN112217859A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种负载均衡方法、系统、移动终端及存储介质,该方法包括:对服务集群中的不同MRCP服务器进行心跳检测;若任一MRCP服务器的心跳检测不合格,则删除MRCP服务器的服务实例信息,并在服务集群中删除MRCP服务器;若接收到客户端发送的服务请求,则获取服务集群中不同MRCP服务器的负载状态,并根据负载状态确定当前服务集群中的最佳MRCP服务器;将最佳MRCP服务器对应的服务实例信息发送至客户端。本发明通过根据负载状态确定当前服务集群中的最佳MRCP服务器,将最佳MRCP服务器对应的服务实例信息发送至客户端,使得客户端根据服务实例信息直接与对应的最佳MRCP服务器进行协议交互,无需重新进行网关的配置,提高了负载均衡效率。

Description

负载均衡方法、系统、移动终端及存储介质
技术领域
本发明涉及负载均衡技术领域,尤其涉及一种负载均衡方法、系统、移动终端及存储介质。
背景技术
MRCP(Media Resource Control Protocol)协议簇主要基于SIP(SessionInitiation Protocol)协议和RTP(Real-time Transport Protocol)协议及MRCP协议组成的一组协议簇,其中SIP协议与RTP协议是基于UDP(User Datagram Protocol)协议的明文通信协议。而由于底层基于UDP协议实现,UDP为不可靠连接,无ack响应包,在实现客户端的负载均衡时,无法实现心跳检测。
现有技术中,是通过在MRCP协议簇的服务上利用TCP(Transmission ControlProtocol)协议,通过监听MRCP协议端口来实现心跳检测,而在负载均衡上,一般通过haproxy或nginx等网关来实现各种策略的负载均衡,但现有技术中,如果MRCP协议簇中的服务器宕机时,网关层无法自动感知,则需要重配网关,进而导致负载均衡效率低下。
发明内容
本发明实施例的目的在于提供一种负载均衡方法、系统、移动终端及存储介质,旨在解决现有的负载均衡过程中,由于网关层无法自动感知MRCP协议簇中服务器是否宕机,进而导致需要重配网关的问题。
本发明实施例是这样实现的,一种负载均衡方法,所述方法包括:
对服务集群中的不同MRCP服务器进行心跳检测;
若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器,所述服务实例信息包括IP地址、SIP端口或MRCP端口;
若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器;
将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端。
更进一步地,所述根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器的步骤包括:
分别查询每个所述MRCP服务器的性能加权值,并分别获取每个所述MRCP服务器对应所述负载状态中存储的剩余服务节点数量;
根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值;
将最大所述负载状态值对应的所述MRCP服务器设置为所述服务集群中的所述最佳MRCP服务器;
所述根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值所采用的计算公式为:
Q=K1*a+K2*b
其中,Q是所述负载状态值,a是所述性能加权值,b是所述剩余服务节点数量,K1是第一预设权重,K2是第二预设权重。
更进一步地,所述若任一所述MRCP服务器的心跳检测不合格的步骤之后,所述方法还包括:
若心跳检测不合格的所述MRCP服务器为主MRCP服务器,则在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器;
指示被设置为所述主MRCP服务器的所述MRCP服务器,对所述服务集群中不同所述MRCP服务器进行所述服务实例信息的广播。
更进一步地,所述对服务集群中的不同MRCP服务器进行心跳检测的步骤之前,所述方法还包括:
获取所述服务集群中每个所述MRCP服务器的所述服务实例信息,并获取针对每个所述MRCP服务器预先设置的心跳检测策略;
对同一所述MRCP服务器对应的所述服务实例信息和所述心跳检测策略进行信息注册,得到服务器注册信息;
所述注销所述MRCP服务器的服务实例信息的步骤包括:
获取心跳检测不合格的所述MRCP服务器的服务器标识,并将所述服务器注册信息中所述服务器标识对应的注册信息进行删除。
更进一步地,所述对服务集群中的不同MRCP服务器进行心跳检测的步骤包括:
根据所述心跳检测策略分别向所述服务集群中不同所述MRCP服务器发送心跳数据包;
若在所述心跳检测策略对应的预设时间内未接收到针对所述心跳数据包的数据响应,则判定所述心跳数据包对应的所述MRCP服务器心跳检测不合格。
更进一步地,所述方法还包括:
若检测到所述服务集群中有新增所述MRCP服务器,则对新增的所述MRCP服务器的所述服务实例信息和所述心跳检测策略进行信息注册;
若检测到所述服务集群中有注销所述MRCP服务器,则删除注销的所述MRCP服务器对应的所述服务实例信息。
更进一步地,所述在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器的步骤包括;
获取预设置的主服务器列表,并在所述主服务器列表中删除心跳检测不合格的所述MRCP服务器的服务器标识;
对所述主服务器列表中剩余的所述服务器标识进行随机抽取,并将抽取到的所述服务器标识对应的所述MRCP服务器设置为所述主MRCP服务器。
本发明实施例的另一目的在于提供一种负载均衡系统,所述系统包括:
心跳检测模块,用于对服务集群中的不同MRCP服务器进行心跳检测;
服务实例信息删除模块,用于若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器,所述服务实例信息包括IP地址、SIP端口或MRCP端口;
负载状态获取模块,用于若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器;
服务实例信息发送模块,用于将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端。
本发明实施例的另一目的在于提供一种移动终端,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行上述的负载均衡方法。
本发明实施例的另一目的在于提供一种存储介质,其存储有上述的移动终端中所使用的计算机程序,该计算机程序被处理器执行时实现上述的负载均衡方法的步骤。
本发明实施例,通过对服务集群中的不同MRCP服务器进行心跳检测,以检测服务集群中是否有MRCP服务器发生宕机现象,当检测到任一MRCP服务器的心跳检测不合格,则删除该MRCP服务器的服务实例信息,以防止对宕机的MRCP服务器的负载分配,提高了负载均衡的准确性,通过根据负载状态确定当前服务集群中的最佳MRCP服务器,将最佳MRCP服务器对应的服务实例信息发送至客户端,使得客户端根据服务实例信息直接与对应的最佳MRCP服务器进行协议交互,无需重新进行网关的配置,提高了负载均衡效率。
附图说明
图1是本发明第一实施例提供的负载均衡方法的流程图;
图2是本发明第二实施例提供的负载均衡方法的流程图;
图3是本发明第三实施例提供的负载均衡系统的结构示意图;
图4是本发明第四实施例提供的负载均衡系统的结构示意图;
图5是本发明第五实施例提供的移动终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
请参阅图1,是本发明第一实施例提供的负载均衡方法的流程图,包括步骤:
步骤S10,对服务集群中的不同MRCP服务器进行心跳检测;
其中,可以采用心跳数据包的方式对服务集群中的不同MRCP服务器进行心跳检测,该服务集群中的MRCP服务器的数量可以根据需求进行设置,例如,该MRCP服务器的数量可以设置为5个、10个或20等。
具体的,该步骤中,通过向不同的MRCP服务器发送心跳数据包,以指示MRCP服务器针对接收到的心跳数据包进行响应,若为接收到针对心跳数据包的响应,则判定未响应的心跳数据包对应的MRCP服务器有发生宕机现象。
步骤S20,若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器;
其中,该服务实例信息包括IP地址、SIP端口或MRCP端口,本实施例中,预存储有服务集群中所有MRCP服务器的服务实例信息,通过存储该服务实例信息,有效的保障了后续客户端与不同MRCP服务器之间的协议通讯。
步骤S30,若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器;
其中,若接收到客户端发送的服务请求,则判定客户端中有数据需要进行处理,该服务请求可以采用SIP协议的方式进行发送,通过获取服务集群中不同MRCP服务器的负载状态,以查询每个MRCP服务器的当前运行状态,并基于该负载状态将当前运行状态最佳的MRCP服务器设置为最佳MRCP服务器。
可选的,该步骤中,还可以采用随机设置、轮询、加权轮询或平滑加权等方式确定当前服务集群中的最佳MRCP服务器。
步骤S40,将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端;
其中,可以采用SIP 302重定向包将最佳MRCP服务器对应的服务实例信息发送至客户端,以使客户端基于接收到的服务实例信息中的IP地址和SIP端口直接与进行最佳MRCP服务器SIP和RTP协议的交互。
可选的,本实施例中,在步骤S10中的所述对服务集群中的不同MRCP服务器进行心跳检测的步骤之前,所述方法还包括:
获取所述服务集群中每个所述MRCP服务器的所述服务实例信息,并获取针对每个所述MRCP服务器预先设置的心跳检测策略;
对同一所述MRCP服务器对应的所述服务实例信息和所述心跳检测策略进行信息注册,得到服务器注册信息;
其中,针对不同MRCP服务器预先设置的心跳检测策略均可以根据需求进行设置,不同MRCP服务器之间对应的心跳检测策略可以相同或不相同,例如,该服务集群包括第一MRCP服务器、第二MRCP服务器和第三MRCP服务器,该第一MRCP服务器、第二MRCP服务器和第三MRCP服务器的服务实例信息为第一服务实例信息、第二服务实例信息和第三服务实例信息,针对该服务集群包括第一MRCP服务器、第二MRCP服务器和第三MRCP服务器预先设置的心跳检测策略为第一心跳检测策略、第二心跳检测策略和第三心跳检测策略,则该步骤中,分别对第一服务实例信息和第一心跳检测策略、第二服务实例信息和第二心跳检测策略、第三服务实例信息和第三心跳检测策略进行信息注册,得到该服务器注册信息。
进一步,本实施例中,所述注销所述MRCP服务器的服务实例信息的步骤包括:
获取心跳检测不合格的所述MRCP服务器的服务器标识,并将所述服务器注册信息中所述服务器标识对应的注册信息进行删除,其中,通过将服务器注册信息中服务器标识对应的注册信息进行删除,能有效的防止了宕机的MRCP服务器对负载均衡的干扰,提高了负载均衡的准确性。
可选的,该步骤中,所述对服务集群中的不同MRCP服务器进行心跳检测的步骤包括:根据所述心跳检测策略分别向所述服务集群中不同所述MRCP服务器发送心跳数据包;若在所述心跳检测策略对应的预设时间内未接收到针对所述心跳数据包的数据响应,则判定所述心跳数据包对应的所述MRCP服务器心跳检测不合格,所述心跳数据包对应的所述MRCP服务器处于宕机状态,若在所述心跳检测策略对应的预设时间内接收到针对所述心跳数据包的数据响应,则判定所述心跳数据包对应的所述MRCP服务器心跳检测合格,所述心跳数据包对应的所述MRCP服务器处于正常状态。
本实施例,通过对服务集群中的不同MRCP服务器进行心跳检测,以检测服务集群中是否有MRCP服务器发生宕机现象,当检测到任一MRCP服务器的心跳检测不合格,则删除该MRCP服务器的服务实例信息,以防止对宕机的MRCP服务器的负载分配,提高了负载均衡的准确性,通过根据负载状态确定当前服务集群中的最佳MRCP服务器,将最佳MRCP服务器对应的服务实例信息发送至客户端,使得客户端根据服务实例信息直接与对应的最佳MRCP服务器进行协议交互,无需重新进行网关的配置,提高了负载均衡效率。
实施例二
请参阅图2,是本发明第二实施例提供的负载均衡方法的流程图,该第二实施例用于对第一实施例中步骤S30进行细化,以细化描述如何根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器的步骤,包括步骤:
步骤S31,分别查询每个所述MRCP服务器的性能加权值,并分别获取每个所述MRCP服务器对应所述负载状态中存储的剩余服务节点数量;
其中,该性能加权值用于表征对应MRCP服务器的数据处理性能,即当该性能加权值越大时,则判定该性能加权值对应的MRCP服务器的数据处理性能越强。
具体的,本实施例中预存储有加权值查询表,该加权值查询表中存储有不同服务器标识与对应性能加权值之间的对应关系,通过分别将每个MRCP服务器的服务器标识与加权值查询表进行匹配,以得到每个MRCP服务器对应的性能加权值。
可选的,本实施例中,每个MRCP服务器上均至少设置有一个服务节点,该服务节点用于对不同的客户端进行数据处理,当MRCP服务器被分配到任一客户端进行数据处理时,则将该MRCP服务器上的服务节点减1,直至当MRCP服务器处理完被分配到的客户端的数据时,将该MRCP服务器上的服务节点加1;
该步骤中,当MRCP服务器上的剩余服务节点数量越大时,则判定MRCP服务器可以被分配的客户端越多,即可以被分配的负载越多,相反的,当MRCP服务器上的剩余服务节点数量越小时,则可以被分配的负载越少。
步骤S32,根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值;
其中,该负载状态值用于表征MRCP服务器当前可承受负载的能力,当该负载状态值越大时,则判定对应的MRCP服务器当前可承受负载的能力越高,相反的,当该负载状态值越小时,则判定对应的MRCP服务器当前可承受负载的能力越低。
该步骤中,所述根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值所采用的计算公式为:
Q=K1*a+K2*b
其中,Q是所述负载状态值,a是所述性能加权值,b是所述剩余服务节点数量,K1是第一预设权重,K2是第二预设权重。
步骤S33,将最大所述负载状态值对应的所述MRCP服务器设置为所述服务集群中的所述最佳MRCP服务器;
可选的,本实施例中,所述若任一所述MRCP服务器的心跳检测不合格的步骤之后,所述方法还包括:
若心跳检测不合格的所述MRCP服务器为主MRCP服务器,则在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器;
指示被设置为所述主MRCP服务器的所述MRCP服务器,对所述服务集群中不同所述MRCP服务器进行所述服务实例信息的广播;
其中,通过在服务集群中剩余的MRCP服务器之间重新设置主MRCP服务器,有效的防止了网关配置信息的丢失,通过指示被设置为主MRCP服务器的MRCP服务器,对服务集群中不同MRCP服务器进行服务实例信息的广播,使得能将新的主MRCP服务器中的服务实例信息存储在不同MRCP服务器中,进而防止了主MRCP服务器的服务实例信息的丢失。
进一步地,本实施例中,所述在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器的步骤包括;
获取预设置的主服务器列表,并在所述主服务器列表中删除心跳检测不合格的所述MRCP服务器的服务器标识;
对所述主服务器列表中剩余的所述服务器标识进行随机抽取,并将抽取到的所述服务器标识对应的所述MRCP服务器设置为所述主MRCP服务器;
其中,通过对主服务器列表中剩余的服务器标识进行随机抽取,并将抽取到的服务器标识对应的MRCP服务器设置为主MRCP服务器,使得采用随机设置的方式进行主MRCP服务器的设置,提高了主MRCP服务器的设置效率。
可选的,本实施例中,所述方法还包括:
若检测到所述服务集群中有新增所述MRCP服务器,则对新增的所述MRCP服务器的所述服务实例信息和所述心跳检测策略进行信息注册;
若检测到所述服务集群中有注销所述MRCP服务器,则删除注销的所述MRCP服务器对应的所述服务实例信息;
其中,通过对新增的MRCP服务器的服务实例信息和心跳检测策略进行信息注册,保障了后续对新增的MRCP服务器的负载分配的准确性,且通过删除注销的MRCP服务器对应的服务实例信息,防止了注销的MRCP服务器对负载分配的干扰,提高了负载均衡的撰写。
本实施例,通过分别查询每个MRCP服务器的性能加权值,并分别获取每个MRCP服务器对应负载状态中存储的剩余服务节点数量,有效的提高了负载状态值计算的准确性,基于该负载状态值的计算,以判定每个MRCP服务器当前可承受负载的能力,通过将最大负载状态值对应的MRCP服务器设置为服务集群中的最佳MRCP服务器,使得将当前可承受负载能力最大的MRCP服务器设置为最佳MRCP服务器,进而有效的保障了最佳MRCP服务器对客户端的数据处理效率。
实施例三
请参阅图3,是本发明第三实施例提供的负载均衡系统100的结构示意图,包括:心跳检测模块10、服务实例信息删除模块11、负载状态获取模块12和服务实例信息发送模块13,其中:
心跳检测模块10,用于对服务集群中的不同MRCP服务器进行心跳检测。
其中,所述心跳检测模块10还用于:获取所述服务集群中每个所述MRCP服务器的所述服务实例信息,并获取针对每个所述MRCP服务器预先设置的心跳检测策略;
对同一所述MRCP服务器对应的所述服务实例信息和所述心跳检测策略进行信息注册,得到服务器注册信息;
所述注销所述MRCP服务器的服务实例信息的步骤包括:
获取心跳检测不合格的所述MRCP服务器的服务器标识,并将所述服务器注册信息中所述服务器标识对应的注册信息进行删除。
可选的,所述心跳检测模块10还用于:根据所述心跳检测策略分别向所述服务集群中不同所述MRCP服务器发送心跳数据包;
若在所述心跳检测策略对应的预设时间内未接收到针对所述心跳数据包的数据响应,则判定所述心跳数据包对应的所述MRCP服务器心跳检测不合格。
可选的,所述心跳检测模块10还用于:若检测到所述服务集群中有新增所述MRCP服务器,则对新增的所述MRCP服务器的所述服务实例信息和所述心跳检测策略进行信息注册;
若检测到所述服务集群中有注销所述MRCP服务器,则删除注销的所述MRCP服务器对应的所述服务实例信息。
服务实例信息删除模块11,用于若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器,所述服务实例信息包括IP地址、SIP端口或MRCP端口。
其中,所述服务实例信息删除模块11还用于:若心跳检测不合格的所述MRCP服务器为主MRCP服务器,则在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器;
指示被设置为所述主MRCP服务器的所述MRCP服务器,对所述服务集群中不同所述MRCP服务器进行所述服务实例信息的广播。
可选的,所述服务实例信息删除模块11还用于:获取预设置的主服务器列表,并在所述主服务器列表中删除心跳检测不合格的所述MRCP服务器的服务器标识;
对所述主服务器列表中剩余的所述服务器标识进行随机抽取,并将抽取到的所述服务器标识对应的所述MRCP服务器设置为所述主MRCP服务器。
负载状态获取模块12,用于若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器。
其中,所述负载状态获取模块12还用于:分别查询每个所述MRCP服务器的性能加权值,并分别获取每个所述MRCP服务器对应所述负载状态中存储的剩余服务节点数量;
根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值;
将最大所述负载状态值对应的所述MRCP服务器设置为所述服务集群中的所述最佳MRCP服务器;
所述根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值所采用的计算公式为:
Q=K1*a+K2*b
其中,Q是所述负载状态值,a是所述性能加权值,b是所述剩余服务节点数量,K1是第一预设权重,K2是第二预设权重。
服务实例信息发送模块13,用于将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端。
本实施例,通过对服务集群中的不同MRCP服务器进行心跳检测,以检测服务集群中是否有MRCP服务器发生宕机现象,当检测到任一MRCP服务器的心跳检测不合格,则删除该MRCP服务器的服务实例信息,以防止对宕机的MRCP服务器的负载分配,提高了负载均衡的准确性,通过根据负载状态确定当前服务集群中的最佳MRCP服务器,将最佳MRCP服务器对应的服务实例信息发送至客户端,使得客户端根据服务实例信息直接与对应的最佳MRCP服务器进行协议交互,无需重新进行网关的配置,提高了负载均衡效率。
实施例四
请参阅图4,是本发明第四实施例提供的负载均衡系统的结构示意图,包括:控制层网关、服务层集群和下游服务器层,其中:
控制层网关包括客户端、协议处理中心(MSC)和服务注册中心,该服务层集群包括多个不同的MRCP服务器(MRCP Server),该下游服务器层包括预设的引擎,例如该预设的引擎为语音识别、声纹识别或语音合成等AI能力的引擎。
具体的,该步骤中,单个MRCP服务器启动后,向服务注册中心注册对应的服务实例信息,并注册定义了服务注册中心往MRCP服务器发心跳包的策略。当某个MRCP服务器宕机,由于服务注册中心发往MRCP服务器的心跳检测无效,故服务注册中心将移除注销掉对应MRCP服务器的服务实例信息,可选的,当服务层集群中扩容或缩容时,皆是采用上述的注册方式,即当服务层集群中新增MRCP服务器或注销MRCP服务器时,则对应注册新增MRCP服务器的服务实例信息,或对应删除注销MRCP服务器的服务实例信息。
服务注册中心实时监听服务层集群的动态变化,当服务层集群中的MRCP服务器宕机、扩容或缩容时,服务注册中心能立马感知到服务实例的变化,并调整往MRCP服务器发送请求的策略,而无需像现有技术中网关需要重配更新过的配置文件。
本实施例的负载均衡系统同样支持随机、轮询、加权轮询或平滑加权等负载均衡策略。与现有技术中网关通过反向代理实现负载均衡不同,本实施例的负载均衡系统基于SIP协议的特性,当有客户端发来请求,负载均衡系统通过负载均衡策略选出最佳MRCP服务器,并将最佳MRCP服务器的IP地址和SIP端口等信息通过SIP 302重定向包返回给客户端。之后由客户端直接跟最佳MRCP服务器进行SIP和RTP协议交互,无需负载均衡系统进行服务代理。
实施例五
请参阅图5,是本发明第五实施例提供的移动终端101,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端101执行上述的负载均衡方法,该移动终端101可以为机器人。
本实施例还提供了一种存储介质,其上存储有上述移动终端101中所使用的计算机程序,该程序在执行时,包括如下步骤:
对服务集群中的不同MRCP服务器进行心跳检测;
若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器,所述服务实例信息包括IP地址、SIP端口或MRCP端口;
若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器;
将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端。所述的存储介质,如:ROM/RAM、磁碟、光盘等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将存储装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施方式中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本领域技术人员可以理解,图4中示出的组成结构并不构成对本发明的负载均衡系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,而图1-3中的负载均衡方法亦采用图4中所示的更多或更少的部件,或者组合某些部件,或者不同的部件布置来实现。本发明所称的单元、模块等是指一种能够被所述当前负载均衡系统中的处理器(图未示)所执行并功能够完成特定功能的一系列计算机程序,其均可存储于所述当前负载均衡系统的存储设备(图未示)内。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种负载均衡方法,其特征在于,所述方法包括:
对服务集群中的不同MRCP服务器进行心跳检测;
若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器,所述服务实例信息包括IP地址、SIP端口或MRCP端口;
若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器;
将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端。
2.如权利要求1所述的负载均衡方法,其特征在于,所述根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器的步骤包括:
分别查询每个所述MRCP服务器的性能加权值,并分别获取每个所述MRCP服务器对应所述负载状态中存储的剩余服务节点数量;
根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值;
将最大所述负载状态值对应的所述MRCP服务器设置为所述服务集群中的所述最佳MRCP服务器;
所述根据所述性能加权值和所述剩余服务节点数量分别计算每个所述MRCP服务器的负载状态值所采用的计算公式为:
Q=K1*a+K2*b
其中,Q是所述负载状态值,a是所述性能加权值,b是所述剩余服务节点数量,K1是第一预设权重,K2是第二预设权重。
3.如权利要求1所述的负载均衡方法,其特征在于,所述若任一所述MRCP服务器的心跳检测不合格的步骤之后,所述方法还包括:
若心跳检测不合格的所述MRCP服务器为主MRCP服务器,则在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器;
指示被设置为所述主MRCP服务器的所述MRCP服务器,对所述服务集群中不同所述MRCP服务器进行所述服务实例信息的广播。
4.如权利要求1所述的负载均衡方法,其特征在于,所述对服务集群中的不同MRCP服务器进行心跳检测的步骤之前,所述方法还包括:
获取所述服务集群中每个所述MRCP服务器的所述服务实例信息,并获取针对每个所述MRCP服务器预先设置的心跳检测策略;
对同一所述MRCP服务器对应的所述服务实例信息和所述心跳检测策略进行信息注册,得到服务器注册信息;
所述注销所述MRCP服务器的服务实例信息的步骤包括:
获取心跳检测不合格的所述MRCP服务器的服务器标识,并将所述服务器注册信息中所述服务器标识对应的注册信息进行删除。
5.如权利要求4所述的负载均衡方法,其特征在于,所述对服务集群中的不同MRCP服务器进行心跳检测的步骤包括:
根据所述心跳检测策略分别向所述服务集群中不同所述MRCP服务器发送心跳数据包;
若在所述心跳检测策略对应的预设时间内未接收到针对所述心跳数据包的数据响应,则判定所述心跳数据包对应的所述MRCP服务器心跳检测不合格。
6.如权利要求4所述的负载均衡方法,其特征在于,所述方法还包括:
若检测到所述服务集群中有新增所述MRCP服务器,则对新增的所述MRCP服务器的所述服务实例信息和所述心跳检测策略进行信息注册;
若检测到所述服务集群中有注销所述MRCP服务器,则删除注销的所述MRCP服务器对应的所述服务实例信息。
7.如权利要求3所述的负载均衡方法,其特征在于,所述在所述服务集群中剩余的所述MRCP服务器之间重新设置所述主MRCP服务器的步骤包括;
获取预设置的主服务器列表,并在所述主服务器列表中删除心跳检测不合格的所述MRCP服务器的服务器标识;
对所述主服务器列表中剩余的所述服务器标识进行随机抽取,并将抽取到的所述服务器标识对应的所述MRCP服务器设置为所述主MRCP服务器。
8.一种负载均衡系统,其特征在于,所述系统包括:
心跳检测模块,用于对服务集群中的不同MRCP服务器进行心跳检测;
服务实例信息删除模块,用于若任一所述MRCP服务器的心跳检测不合格,则注销所述MRCP服务器的服务实例信息,并在所述服务集群中注销所述MRCP服务器,所述服务实例信息包括IP地址、SIP端口或MRCP端口;
负载状态获取模块,用于若接收到客户端发送的服务请求,则获取所述服务集群中不同所述MRCP服务器的负载状态,并根据所述负载状态确定当前所述服务集群中的最佳MRCP服务器;
服务实例信息发送模块,用于将所述最佳MRCP服务器对应的所述服务实例信息发送至所述客户端。
9.一种移动终端,其特征在于,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行根据权利要求1至7任一项所述的负载均衡方法。
10.一种存储介质,其特征在于,其存储有权利要求9所述的移动终端中所使用的计算机程序,该计算机程序被处理器执行时实现权利要求1至7任一项所述的负载均衡方法的步骤。
CN202010889361.1A 2020-08-28 2020-08-28 负载均衡方法、系统、移动终端及存储介质 Pending CN112217859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010889361.1A CN112217859A (zh) 2020-08-28 2020-08-28 负载均衡方法、系统、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010889361.1A CN112217859A (zh) 2020-08-28 2020-08-28 负载均衡方法、系统、移动终端及存储介质

Publications (1)

Publication Number Publication Date
CN112217859A true CN112217859A (zh) 2021-01-12

Family

ID=74059573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010889361.1A Pending CN112217859A (zh) 2020-08-28 2020-08-28 负载均衡方法、系统、移动终端及存储介质

Country Status (1)

Country Link
CN (1) CN112217859A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947333A (zh) * 2021-02-05 2021-06-11 天津市普迅电力信息技术有限公司 一种基于socket长连接的均衡负载分片方法
CN113238893A (zh) * 2021-05-11 2021-08-10 鸬鹚科技(深圳)有限公司 多数据中心的容灾系统、方法、计算机设备及介质
CN113259428A (zh) * 2021-05-11 2021-08-13 鸬鹚科技(深圳)有限公司 数据访问请求的处理方法、装置、计算机设备及介质
CN113794726A (zh) * 2021-09-16 2021-12-14 杭州登虹科技有限公司 一种多sip调度方法和系统
CN114338815A (zh) * 2022-03-14 2022-04-12 中兴软件技术(南昌)有限公司 业务请求处理方法、系统、可读存储介质及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753558A (zh) * 2009-12-11 2010-06-23 安徽科大讯飞信息科技股份有限公司 一种分布式mrcp服务器负载均衡系统及其均衡方法
US9292371B1 (en) * 2013-12-11 2016-03-22 Symantec Corporation Systems and methods for preventing failures of nodes in clusters
CN109246246A (zh) * 2018-10-31 2019-01-18 成都知道创宇信息技术有限公司 一种中心化全自动服务发现负载均衡系统
CN110233860A (zh) * 2018-03-05 2019-09-13 杭州萤石软件有限公司 一种负载均衡方法、装置和系统
US20200137125A1 (en) * 2018-10-26 2020-04-30 Valtix, Inc. Managing computer security services for cloud computing platforms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753558A (zh) * 2009-12-11 2010-06-23 安徽科大讯飞信息科技股份有限公司 一种分布式mrcp服务器负载均衡系统及其均衡方法
US9292371B1 (en) * 2013-12-11 2016-03-22 Symantec Corporation Systems and methods for preventing failures of nodes in clusters
CN110233860A (zh) * 2018-03-05 2019-09-13 杭州萤石软件有限公司 一种负载均衡方法、装置和系统
US20200137125A1 (en) * 2018-10-26 2020-04-30 Valtix, Inc. Managing computer security services for cloud computing platforms
CN109246246A (zh) * 2018-10-31 2019-01-18 成都知道创宇信息技术有限公司 一种中心化全自动服务发现负载均衡系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947333A (zh) * 2021-02-05 2021-06-11 天津市普迅电力信息技术有限公司 一种基于socket长连接的均衡负载分片方法
CN113238893A (zh) * 2021-05-11 2021-08-10 鸬鹚科技(深圳)有限公司 多数据中心的容灾系统、方法、计算机设备及介质
CN113259428A (zh) * 2021-05-11 2021-08-13 鸬鹚科技(深圳)有限公司 数据访问请求的处理方法、装置、计算机设备及介质
CN113794726A (zh) * 2021-09-16 2021-12-14 杭州登虹科技有限公司 一种多sip调度方法和系统
CN114338815A (zh) * 2022-03-14 2022-04-12 中兴软件技术(南昌)有限公司 业务请求处理方法、系统、可读存储介质及计算机设备

Similar Documents

Publication Publication Date Title
CN112217859A (zh) 负载均衡方法、系统、移动终端及存储介质
US10187459B2 (en) Distributed load balancing system, health check method, and service node
US20180123926A1 (en) Distributed system to determine a server's health
CN109274707B (zh) 一种负载调度方法及装置
US7805517B2 (en) System and method for load balancing a communications network
RU2464722C2 (ru) Способ, устройство и система для распределения сообщений
US20080091812A1 (en) Automatic proxy registration and discovery in a multi-proxy communication system
KR100812374B1 (ko) 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법
US20090245113A1 (en) Load balancer, network system, load balancing method, and program
US8432799B1 (en) Obtaining high availability using TCP proxy devices
EP2692095B1 (en) Method, apparatus and computer program product for updating load balancer configuration data
CN109831507B (zh) 物联网系统、负载均衡方法和存储介质
CN101326493A (zh) 用于多处理器服务器中的负载分配的方法和装置
EP1762069B1 (en) Method of selecting one server out of a server set
CN112311907B (zh) 一种arp请求响应方法、负载均衡设备及相关装置
CN110677475A (zh) 一种微服务处理方法、装置、设备及存储介质
US10027577B2 (en) Methods, systems, and computer readable media for peer aware load distribution
CN110380981B (zh) 一种流量分发方法及设备
CN110661836B (zh) 消息路由方法、装置及系统、存储介质
CN111385324A (zh) 一种数据通信方法、装置、设备和存储介质
CN111835858B (zh) 设备接入方法、设备及系统
CN111385371B (zh) Mac地址获取方法、装置和设备
CN109451074B (zh) 一种基于portal协议的服务器负载均衡处理办法
CN1274116C (zh) 探测用户接入状态的方法
CN105634810B (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