CN112491066B - 负载均衡方法、装置、系统、目标负载均衡设备及介质 - Google Patents

负载均衡方法、装置、系统、目标负载均衡设备及介质 Download PDF

Info

Publication number
CN112491066B
CN112491066B CN202011275234.9A CN202011275234A CN112491066B CN 112491066 B CN112491066 B CN 112491066B CN 202011275234 A CN202011275234 A CN 202011275234A CN 112491066 B CN112491066 B CN 112491066B
Authority
CN
China
Prior art keywords
request
application server
load
target
application
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.)
Active
Application number
CN202011275234.9A
Other languages
English (en)
Other versions
CN112491066A (zh
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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202011275234.9A priority Critical patent/CN112491066B/zh
Publication of CN112491066A publication Critical patent/CN112491066A/zh
Application granted granted Critical
Publication of CN112491066B publication Critical patent/CN112491066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/26Arrangements for eliminating or reducing asymmetry in polyphase networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E40/00Technologies for an efficient electrical power generation, transmission or distribution
    • Y02E40/50Arrangements for eliminating or reducing asymmetry in polyphase networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开实施例提供了负载均衡方法、装置、系统、目标负载均衡设备及介质。该方法包括:接收客户端的请求,其中,请求包括第一请求包;根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,应用负载映射表包括多组应用负载映射关系,其中,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力;以及,向目标应用服务器发送第一请求包,以使目标应用服务器响应第一请求包。

Description

负载均衡方法、装置、系统、目标负载均衡设备及介质
技术领域
本公开实施例涉及计算机技术领域,更具体地,涉及一种负载均衡方法、装置、系统、目标负载均衡设备及存储介质。
背景技术
在大型企业级应用中,通常采用多个负载均衡设备替换单个负载均衡设备来实现请求的分发,即将来自客户端的请求发送至对应的应用服务器,以适用高并发的应用场景。其中,高并发是指需要系统在一段时间内处理大量的请求,如每秒钟处理10万个请求。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:采用相关技术较难以实现应用服务器的负载均衡。
发明内容
有鉴于此,本公开实施例提供了一种负载均衡方法、装置、系统、目标负载均衡设备及存储介质。
本公开实施例的一个方面提供了一种负载均衡方法,包括:接收客户端的请求,其中,上述请求包括第一请求包;根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,上述应用负载映射表包括多组应用负载映射关系,其中,每组上述应用负载映射关系包括负载权重系数和具有上述负载权重系数的一个或多个应用服务器标识之间的映射关系,上述负载权重系数用于表征与上述应用服务器标识对应的应用服务器处理客户端请求的能力;以及,向上述目标应用服务器发送上述第一请求包,以使上述目标应用服务器响应上述第一请求包。
本公开实施例的另一个方面提供了一种负载均衡装置,包括:第一接收模块,用于接收客户端的请求,其中,上述请求包括第一请求包;第一确定模块,用于根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,上述应用负载映射表包括多组应用负载映射关系,其中,每组上述应用负载映射关系包括负载权重系数和具有上述负载权重系数的一个或多个应用服务器标识之间的映射关系,上述负载权重系数用于表征与上述应用服务器标识对应的应用服务器处理客户端请求的流式服务的能力;以及,第一发送模块,用于向上述目标应用服务器发送上述第一请求包,以使上述目标应用服务器响应上述第一请求包。
本公开实施例的另一个方面提供了一种目标负载均衡设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。
本公开实施例的另一个方面提供了一种负载均衡系统,包括:客户端,用于向目标负载均衡设备发送请求,其中,上述请求包括第一请求包;上述目标负载均衡设备,与上述客户端通信连接,用于接收上述客户端的请求;根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,上述应用负载映射表包括多组应用负载映射关系,其中,每组上述应用负载映射关系包括负载权重系数和具有上述负载权重系数的一个或多个应用服务器标识之间的映射关系,上述负载权重系数用于表征与上述应用服务器标识对应的应用服务器处理客户端的流式服务请求的能力;以及,向上述目标应用服务器发送上述第一请求包;上述目标应用服务器,用于响应上述第一请求包。
本公开实施例的另一个方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开实施例的另一个方面提供了一种计算机程序,上述计算机程序包括计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过目标负载均衡设备接收客户端的请求,请求包括第一请求包,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,应用负载映射表包括多组应用负载映射关系,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力,并将第一请求包发送给目标应用服务器,以使目标应用服务器响应第一请求包。由于目标负载均衡设备可以根据应用负载映射表中用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力的负载权重系数,得到每个应用服务器的负载情况,并根据应用服务器的负载情况,确定用于响应第一请求包的目标应用服务器,因此,实现了根据应用服务器的负载情况对请求的分发进行动态调整,进而实现了应用服务器的负载均衡,因而,至少部分地解决了采用相关技术较难以实现应用服务器的负载均衡的技术问题。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的一种可以应用负载均衡方法的负载均衡系统的框图;
图2示意性示出了根据本公开实施例的一种负载均衡方法的流程图;
图3示意性示出了根据本公开实施例的另一种可以应用负载均衡方法的负载均衡系统的框图;
图4示意性示出了根据本公开实施例的一种负载均衡装置的框图;以及
图5示意性示出了根据本公开实施例的适于实现负载均衡方法的目标负载均衡设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在相关技术中,采用多个负载均衡设备来实现请求的分发,针对每个请求,客户端通过负载均衡设备将请求发送至对应的应用服务器,由对应的应用服务器响应来自客户端的请求。针对高并发的应用场景,由于不同请求所需要的响应时间和应用服务器的资源不同,而独立的负载均衡设备较难以获得应用服务器的负载情况,因此,可能导致基于负载均衡策略实现的负载均衡实际上并不是真正的负载均衡,进而没有有效的最大化使用应用服务器的资源。例如,某些应用服务器作为主要处理请求的应用服务器,其负载居高不下,甚至可能发生暴机的情况,而某些应用服务器的负载较低。
在实现本公开构思的过程中,发明人发现采用相关技术较难以实现应用服务器的负载均衡,而主要原因在于负载均衡设备较难以获得应用服务器的负载情况,进而较难以根据应用服务器的负载情况对请求的分发进行动态调整。
为了解决相关技术中存在的问题,本公开实施例提出一种将负载均衡设备集群与应用服务器集群高度融合的方案,负载均衡设备集群可以包括多个负载均衡设备,应用服务器集群可以包括多个应用服务器,即目标负载均衡设备在进行请求分发时,可以根据应用服务器集群中每个应用服务器的负载情况,对分发进行动态调整,尽量保证应用服务器集群中应用服务器的负载均衡。
具体地,本公开的实施例提供了一种负载均衡方法、装置以及能够应用该方法的目标负载均衡设备。该方法包括接收客户端的请求,请求包括第一请求包,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,应用负载映射表包括多组应用负载映射关系,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的流式服务的能力,并向目标应用服务器发送第一请求包,以使目标应用服务器响应第一请求包。
图1示意性示出了根据本公开实施例的一种可以应用负载均衡方法的负载均衡系统的框图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的负载均衡系统100可以包括客户端101、102、103,网络104、多个负载均衡设备105和多个应用服务器106。
客户端101、102、103,用于向目标负载均衡设备发送请求,其中,请求包括第一请求包。
目标负载均衡设备,与客户端101、102、103通信连接,用于接收客户端101、102、103的请求;根据应用负载映射表,从多个应用服务器106中确定目标应用服务器,其中,应用负载映射表包括多组应用负载映射关系,其中,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端的流式服务请求的能力;向目标应用服务器发送第一请求包。
目标应用服务器,用于响应第一请求包。
根据本公开的实施例,目标负载均衡设备可以为多个负载均衡设备105中的一个负载均衡设备105。网络104用以在客户端101、102、103和多个负载均衡设备105中的每个负载均衡设备105、多个负载均衡设备105中的每个负载均衡设备105和多个应用服务器106中的每个应用服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等。
客户端101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
客户端101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。
负载均衡设备105可以包括用于实现负载均衡的负载均衡服务器,例如Ngnix服务器。应用服务器106可以是提供各种服务的服务器,例如对用户利用客户端101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。
需要说明的是,本公开实施例所提供的负载均衡方法一般可以由目标负载均衡设备执行。相应地,本公开实施例所提供的负载均衡装置一般可以设置于目标负载均衡设备中。本公开实施例所提供的负载均衡方法也可以由不同于目标负载均衡设备且能够与客户端101、102、103和/或目标负载均衡设备通信的负载均衡设备或负载均衡设备集群执行。相应地,本公开实施例所提供的负载均衡装置也可以设置于不同于目标负载均衡设备且能够与客户端101、102、103和/或目标负载均衡设备通信的负载均衡设备或负载均衡设备集群中。
应该理解,图1中的客户端、负载均衡设备和应用服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、负载均衡设备和应用服务器。
根据本公开实施例的技术方案,通过目标负载均衡设备接收客户端的请求,请求包括第一请求包,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,应用负载映射表包括多组应用负载映射关系,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力,并将第一请求包发送给目标应用服务器,以使目标应用服务器响应第一请求包。由于目标负载均衡设备可以根据应用负载映射表中用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力的负载权重系数,得到每个应用服务器的负载情况,并根据应用服务器的负载情况,确定用于响应第一请求包的目标应用服务器,因此,实现了根据应用服务器的负载情况对请求的分发进行动态调整,进而实现了应用服务器的负载均衡,因而,至少部分地解决了采用相关技术较难以实现应用服务器的负载均衡的技术问题。
图2示意性示出了根据本公开实施例的一种负载均衡方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,接收客户端的请求,其中,请求包括第一请求包。
在本公开的实施例,客户端可以发起针对服务的请求,并将请求发送给目标负载均衡设备,其中,服务可以包括流式服务或非流式服务。
在操作S220,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,应用负载映射表包括多组应用负载映射关系,其中,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力。
在本公开的实施例,应用负载映射表可以包括用于表征应用服务器处理客户端请求的能力的负载权重系数和具有负载权重系数的一个或多个应用服务器标识,其中,负载权重系数可以包括多个。一个负载权重系数和具有该负载权重系数的一个或多个应用服务器标识可以形成一组应用负载映射关系。不同组应用负载映射关系中的负载权重系数不同。
根据本公开的实施例,目标负载均衡设备可以获取应用负载映射表,并可以根据应用负载映射表从多个应用服务器中确定目标应用服务器。其中,获取应用负载映射表可以在接收客户端的请求之前执行,也可以在接收客户端的请求之后执行,还可以与接收客户端的请求同时执行。目标负载均衡设备可以根据应用服务器的负载信息对应用负载映射表进行更新。
在操作S230,向目标应用服务器发送第一请求包,以使目标应用服务器响应第一请求包。
在本公开的实施例,在确定目标应用服务器后,可以将第一请求包发送给目标应用服务器,目标应用服务器可以响应第一请求包,以实现响应客户端的请求。
根据本公开实施例的技术方案,通过目标负载均衡设备接收客户端的请求,请求包括第一请求包,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,应用负载映射表包括多组应用负载映射关系,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力,并将第一请求包发送给目标应用服务器,以使目标应用服务器响应第一请求包。由于目标负载均衡设备可以根据应用负载映射表中用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力的负载权重系数,得到每个应用服务器的负载情况,并根据应用服务器的负载情况,确定用于响应第一请求包的目标应用服务器,因此,实现了根据应用服务器的负载情况对请求的分发进行动态调整,进而实现了应用服务器的负载均衡,因而,至少部分地解决了采用相关技术较难以实现应用服务器的负载均衡的技术问题。
根据本公开的实施例,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,可以包括如下操作。
从应用负载映射表中确定目标应用负载映射关系,其中,目标应用负载映射关系为具有最大负载权重系数的应用负载映射关系。根据目标应用负载映射关系确定目标应用服务器。
在本公开的实施例,可以从应用负载映射表中包括的多组应用负载映射关系中,确定具有最大负载权重系数的应用负载映射关系,将具有最大负载权重系数的应用负载映射关系确定为目标应用负载映射关系,根据目标应用负载映射关系中所包括的应用服务器标识,确定目标应用服务器。
根据本公开的实施例,目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量可能为一个或多个,如果具有最大负载权重系数的应用服务器标识的数量为多个,则可以从多个应用服务器标识中随机选择一个应用服务器标识,将与该应用服务器标识对应的应用服务器确定为目标应用服务器。此外,还可以根据筛选规则,从多个应用服务器标识中确定一个应用服务器标识,将与该应用服务器标识对应的应用服务器确定为目标应用服务器。其中,筛选规则可以包括应用服务器的上线顺序或应用服务器的性能参数等。其中,性能参数可以包括处理速度。
根据本公开的实施例,根据目标应用负载映射关系确定目标应用服务器,可以包括如下操作。
在目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为多个的情况下,确定目标应用负载映射关系中多个应用服务器标识中每个应用服务器标识的上线顺序标识,其中,上线顺序标识用于表征与应用服务器标识对应的应用服务器的上线顺序。根据多个上线顺序标识确定目标应用服务器。或者,在目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为一个的情况下,将与目标应用负载映射关系中的应用服务器标识对应的应用服务器确定为目标应用服务器。
在本公开的实施例中,具有最大负载权重系数的应用服务器标识的数量可能为一个或多个,在确定具有最大负载权重系数的应用服务器标识的数量为多个的情况下,可以根据应用服务器的上线顺序来确定目标应用服务器,即应用服务器的上线顺序可以用上线顺序标识表征,根据多个应用服务器标识中与每个应用服务器标识对应的上线顺序标识,确定用于表征最先上线的上线顺序标识,将与用于表征最先上线的上线顺序标识对应的应用服务器标识所对应的应用服务器确定为目标应用服务器。
根据本公开的实施例,应用服务器标识和与应用服务器标识对应的上线顺序标识可以关联存储至上线顺序表。
根据本公开的实施例,接收客户端的请求,其中,请求包括第一请求包,可以包括如下操作。
接收客户端请求的流式服务的第一请求,其中,第一请求包括第一请求包,其中,第一请求包为流式服务的首个请求包。
在本公开的实施例中,请求可以指针对流式服务的请求,其中,流式服务可以指需要客户端发起多个请求才能将一组完整的服务数据从应用服务器中获取完毕的服务,即客户端通过多个请求中的每个请求从应用服务器中获取部分服务数据,将多个部分服务数据合在一起得到针对流式服务的完整的服务数据。
根据本公开的实施例,接收客户端的请求可以包括接收客户端请求的流式服务的第一请求,其中,第一请求包括的第一请求包为流式服务的首个请求包。可以参见图1,用户可以使用客户端101、102、103发送针对流式服务i的第一请求,第一请求包括第一请求包,客户端101、102、103可以通过网络104将第一请求包发送给目标负载均衡设备,目标负载均衡设备可以根据应用负载映射表,从多个应用服务器106中确定目标应用服务器,并将第一请求包发送给目标应用服务器,目标应用服务器响应第一请求包。目标负载均衡设备可以将请求标识i和用于表征目标应用服务器的应用服务器标识作为一个请求服务映射关系存储至请求服务映射表。请求服务映射表可以用于确定由同一应用服务器处理来自同一客户端发起的针对同一流式服务的各个请求。
根据本公开的实施例,除了包括操作S210~S230之外,该负载均衡方法还可以包括如下操作。
继续接收客户端请求的流式服务的第二请求,其中,第二请求包括第二请求包,其中,第二请求包包括用于表征流式服务的请求标识,第二请求包为第一请求包之后的任意请求包。获取请求服务映射表,其中,请求服务映射表包括多个请求服务映射关系,其中,每个请求服务映射关系包括请求标识和应用服务器标识之间的映射关系,其中,不同流式服务的请求标识不同。从请求服务映射表中确定目标请求服务映射关系,其中,目标请求服务映射关系为具有与第二请求包包括的请求标识一致的请求标识的请求服务映射关系。向与目标请求服务映射关系中的应用服务器标识对应的应用服务器发送第二请求包,以使与目标请求服务映射关系中的应用服务器标识对应的应用服务器处理解析第二请求包。
在本公开的实施例中,在处理来自客户端请求的流式服务中,需要确保由同一应用服务器处理来自同一客户端发起的针对流式服务的全部请求,以此确保同一会话可以得到持续的有效数据。
根据本公开的实施例,可以预先设置请求服务映射表,请求服务映射表可以包括多个请求服务映射关系,其中,每个请求服务映射关系可以包括用于表征流式服务的请求标识和用于表征应用服务器的应用服务器标识之间的映射关系。在获得第二请求包后,可以根据第二请求包中的请求标识,从请求服务映射表中查找目标请求服务映射关系,其中,目标请求服务映射关系包括的请求标识与第二请求包包括的请求标识一致。在确定目标请求服务映射关系后,可以将第二请求包发送给与目标请求服务映射关系中的应用服务器标识对应的应用服务器。
根据本公开的实施例,可以参见图1,用户可以使用同一客户端101、102、103继续发送针对流式服务i的第二请求,第二请求包括第二请求包,第二请求包可以包括请求标识i,客户端101、102、103可以通过网络104将第二请求包发送给目标负载均衡设备,其中,目标负载均衡设备即为上文用于向目标应用服务器发送第一请求包的目标负载均衡设备。目标负载均衡设备获取请求服务映射表,从请求服务映射表中查找目标请求服务映射关系,并将第二请求包发送给与目标请求服务映射关系中的应用服务器标识对应的应用服务器,与目标请求服务映射关系中的应用服务器标识对应的应用服务器响应第二请求包。
根据本公开的实施例,通过根据请求服务映射表和第二请求包中包括的请求标识,确定用于响应第二请求包的应用服务器,由于第一请求包和第二请求包包括的请求标识相同,因此,根据请求标识确定的应用服务器为同一应用服务器,即与目标请求服务映射关系中的应用服务器标识对应的应用服务器即为上文所述的用于响应第一请求包的目标应用服务器,确保了由同一应用服务器处理来自同一客户端发起的针对流式服务的全部请求,进而确保了同一会话可以得到持续的有效数据。
根据本公开的实施例,目标应用服务器响应第一请求包可以包括如下操作。
目标应用服务器解析第一请求包,得到响应包,其中,响应包包括目标应用服务器标识,其中,目标应用服务器标识用于表征目标应用服务器。向客户端发送响应包,以使客户端解析响应包得到目标应用服务器标识。
在本公开的实施例中,目标应用服务器可以将目标应用服务器标识作为响应包的一部分发送给客户端,客户端在对响应包进行解析后,可以得到目标应用服务器标识,客户端在发起针对流式服务的后续请求时,可以将目标应用服务器标识作为请求包的一部分发送给负载均衡设备。
根据本公开的实施例,目标应用服务器还可以将目标应用服务器标识和响应包发送给客户端,客户端可以对目标应用服务器标识和响应包进行解析,得到目标应用服务器标识。
根据本公开的实施例,通过将包括目标应用服务器标识的响应包发送给客户端,使得后续客户端在发送第三请包时,可以将目标应用服务器标识携带在第三请求包中,以便于实现对目标应用服务器的定位,进而确保由同一应用服务器处理来自同一客户端发起的针对流式服务的全部请求。
根据本公开的实施例,在向客户端发送响应包,以使客户端处理响应包得到目标应用服务器标识之后,还可以包括如下操作。
继续接收客户端请求的流式服务的第三请求,其中,第三请求包括第三请求包,其中,第三请求包包括目标应用服务器标识,第三请求包为第一请求包之后的任意请求包。向与目标应用服务器标识对应的应用服务器发送第三请求包,以使与目标应用服务器标识对应的应用服务器响应第三请求包。
在本公开的实施例中,由于目标应用服务器响应第一请求包,得到的响应包中包括目标应用服务器标识,客户端在解析响应包后可以得到目标应用服务器标识,因此,为了确保由同一应用服务器处理来自同一客户端发起的针对流式服务的全部请求,以此确保同一会话可以得到持续的有效数据,可以将目标应用服务器标识包括在第三请求包内,同一客户端在将包括第三请求包的第三请求发送给目标负载均衡设备,目标负载均衡设备将第三请求包发送给与目标应用服务器标识对应的应用服务器。
根据本公开的实施例,可以参见图1,用户可以使用同一客户端101、102、103继续发送针对流式服务i的第三请求,第三请求可以包括目标应用服务器标识,客户端101、102、103可以通过网络104将第三请求包发送给目标负载均衡设备,其中,目标负载均衡设备即为上文用于向目标应用服务器发送第一请求包的目标负载均衡设备。目标负载均衡设备将第三请求包发送给与目标应用服务器标识对应的应用服务器,与目标应用服务器标识对应的应用服务器响应第三请求包。
根据本公开的实施例,。根据本公开的实施例,通过客户端将携带有目标应用服务器标识的第三请求包发送给目标负载均衡设备,使得目标负载均衡设备可以根据目标应用服务器标识将第三请求包发送给与目标应用服务器标识对应的应用服务器,由于目标应用服务器标识用于表征目标应用服务器,因此,与目标应用服务器标识对应的应用服务器即为响应第一请求包的目标应用服务器,确保了由同一应用服务器处理来自同一客户端发起的针对流式服务的全部请求,进而确保了同一会话可以得到持续的有效数据。
根据本公开的实施例,该方法还可以包括如下操作。
获取来自负载监控服务器的负载信息集,其中,负载信息集包括多个应用服务器中每个应用服务器的负载信息。根据负载信息集重新确定多个应用服务器中每个应用服务器的负载权重系数。针对每个负载权重系数,确定具有负载权重系数的应用服务器,其中,具有负载权重系数的应用服务器的数量包括一个或多个。建立负载权重系数和具有负载权重系数的应用服务器标识之间的映射关系,得到新的应用负载映射关系。根据多组新的应用负载映射关系,更新应用负载映射表。
在本公开的实施例中,负载监控服务器可以获取应用服务器的负载信息,其中,负载信息可以包括CPU利用率。目标负载均衡设备可以每隔预设时间间隔从负载监控服务器中获取针对每个应用服务器的负载信息,以更新应用负载映射表。
根据本公开的实施例,以负载信息为CPU利用率为例进行说明,根据负载信息集重新确定多个应用服务器中每个应用服务器的负载权重系数,可以包括:将每个应用服务器的负载权重系数设置为预设负载权重系数,根据预设CPU利用率范围和每个应用服务器的CPU利用率,确定待更新应用服务器,其中,待更新应用服务器用于表征需要更新负载权重系数的应用服务器,待更新应用服务器的数量为至少两个。根据负载权重系数调整策略调整待更新应用服务器的预设负载权重系数,得到更新后的负载权重系数。在上述过程中,不属于待更新应用服务器的应用服务器的负载权重系数为预设负载权重系数。其中,预设CPU利用率范围可以为由大于或等于第一CPU利用率阈值且小于或等于第二CPU利用率阈值组成的CPU利用率范围,第一CPU利用率阈值小于第二CPU利用率阈值。其中,第一CPU利用率阈值和第二CPU利用率阈值可以由多个CPU利用率确定的平均CPU利用率所确定。例如,平均CPU利用率为50%,可以设置调整幅度为10%,即第一CPU利用率可以为40%,第二CPU利用率可以为60%。
根据本公开的实施例,根据预设CPU利用率范围和每个应用服务器的CPU利用率,确定待更新应用服务器,可以包括:针对多个应用服务器中的每个应用服务器,在确定应用服务器的CPU利用率不在预设CPU利用率范围内的情况下,将应用服务器确定为待更新应用服务器。
根据本公开的实施例,根据负载权重系数调整策略调整待更新应用服务器的预设负载权重系数,得到更新后的负载权重系数,可以包括:根据待更新应用服务器的CPU利用率对待更新应用服务器进行排序,确定第一应用服务器和第二应用服务器,其中,第一应用服务器为具有最大CPU利用率的待更新应用服务器,第二应用服务器为具有最小CPU利用率的待更新应用服务器。将第一应用服务器的预设负载权重系数减少第一预设值,得到更新后的第一应用服务器的负载权重系数,将第二应用服务子的预设负载权重系数增加第一预设值,得到更新后的第二应用服务器的负载权重系数。
根据本公开的实施例,由于调整的是部分应用服务器的负载权重系数而不是全部应用服务器的负载权重系数,因此,在实现对应用负载映射表进行更新的基础上,减少了数据处理量。
需要说明的是,在完成针对服务的全部请求后,目标负载均衡设备可以将请求服务映射表中相应请求服务映射关系删除,客户端可以将相应请求信息删除。
为了更好地理解本公开实施例所提供的技术方案,下面将以具体的负载均衡系统处理流式服务为例进行说明。
图3示意性示出了根据本公开实施例的另一种可以应用负载均衡方法的负载均衡系统的框图。
如图3所示,负载均衡系统300可以包括客户端101、102、103,网络104、多个负载均衡设备105、多个应用服务器106、负载监控服务器107和网关108。
网络104用以在客户端101、102、103和网关108、网关108和多个负载均衡设备105中的每个负载均衡设备105、多个负载均衡设备105中的每个负载均衡设备105和负载监控服务器107、负载监控服务器107和多个应用服务器106中的每个应用服务器106、多个负载均衡设备105中的每个负载均衡设备105和多个应用服务器106中的每个应用服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等。
客户端101、102、103可以生成请求的流式服务的第一请求,并将第一请求发送给网关108,其中,第一请求包括第一请求包和用于表征流式服务的请求标识,第一请求包为流式服务的首个请求包。
网关108确定目标负载均衡设备标识,并将第一请求包发送给目标负载均衡设备,其中,目标负载均衡设备标识为具有与请求标识对应的负载均衡设备标识。目标负载均衡设备为与目标负载均衡设备标识对应的负载均衡设备。
目标负载均衡设备从应用负载映射表中查找目标应用负载映射关系,其中,目标应用负载映射关系为具有最大权重系数的应用负载映射关系。目标负载均衡设备在确定目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为多个的情况下,确定目标应用负载映射关系中多个应用服务器标识中每个应用服务器标识的上线顺序标识,并根据多个上线顺序标识确定目标应用服务器,其中,上线顺序标识用于表征与应用服务器标识对应的应用服务器的上线顺序。目标负载均衡设备在确定目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为一个的情况下,将与目标应用负载映射关系中的应用服务器标识对应的应用服务器确定为目标应用服务器。目标负载均衡设备在确定目标应用服务器后,将第一请求包发送给目标应用服务器。
目标应用服务器解析第一请求包,得到响应包,其中,响应包包括目标应用服务器标识,将响应包发送给客户端101、102、103发送响应包。
客户端101、102、103解析响应包得到目标应用服务器标识。
客户端101、102、103继续生成请求的流式服务的第三请求,并将第三请求发送给网关108,其中,第三请求包括第三请求包,第三请求包包括目标应用服务器标识和请求标识,第三请求包为第一请求包之后的任意请求包。
网关108确定目标负载均衡设备标识,并将第三请求包发送给目标负载均衡设备,其中,目标负载均衡设备标识为具有与请求标识对应的负载均衡设备标识。目标负载均衡设备为与目标负载均衡设备标识对应的负载均衡设备。
目标负载均衡设备将第三请求包发送给与目标应用服务器标识对应的应用服务器。
与目标应用服务器标识对应的应用服务器响应第三请求包。
在上述过程中,负载监控服务器107可以获取负载信息集,其中,负载信息集包括多个应用服务器中每个应用服务器的负载信息。
目标负载均衡设备可以获取负载监控信息,并根据负载信息集重新确定多个应用服务器中每个应用服务器的负载权重系数。针对每个负载权重系数,确定具有负载权重系数的应用服务器,建立负载权重系数和具有负载权重系数的应用服务器标识之间的映射关系,得到新的应用负载映射关系,根据多组新的应用负载映射关系,更新应用负载映射表。
图4示意性示出了根据本公开的实施例的一种负载均衡装置的框图。
如图4所示,负载均衡设备400可以包括第一接收模块410、第一确定模块420和第一发送模块430。
第一接收模块410,用于接收客户端的请求,其中,请求包括第一请求包。
第一确定模块420,用于根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,应用负载映射表包括多组应用负载映射关系,其中,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的流式服务的能力。
第一发送模块430,用于向目标应用服务器发送第一请求包,以使目标应用服务器响应第一请求包。
根据本公开实施例的技术方案,通过目标负载均衡设备接收客户端的请求,请求包括第一请求包,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,应用负载映射表包括多组应用负载映射关系,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力,并将第一请求包发送给目标应用服务器,以使目标应用服务器响应第一请求包。由于目标负载均衡设备可以根据应用负载映射表中用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力的负载权重系数,得到每个应用服务器的负载情况,并根据应用服务器的负载情况,确定用于响应第一请求包的目标应用服务器,因此,实现了根据应用服务器的负载情况对请求的分发进行动态调整,进而实现了应用服务器的负载均衡,因而,至少部分地解决了采用相关技术较难以实现应用服务器的负载均衡的技术问题。
根据本公开的实施例,第一确定模块420可以包括第一确定子模块和第二确定子模块。
第一确定子模块,用于从应用负载映射表中确定目标应用负载映射关系,其中,目标应用负载映射关系为具有最大负载权重系数的应用负载映射关系。
第二确定子模块,用于根据目标应用负载映射关系确定目标应用服务器。
根据本公开的实施例,第一确定子模块可以包括第一确定单元、第二确定单元和第三确定单元。
第一确定单元,用于在目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为多个的情况下,确定目标应用负载映射关系中多个应用服务器标识中每个应用服务器标识的上线顺序标识,其中,上线顺序标识用于表征与应用服务器标识对应的应用服务器的上线顺序。
第二确定单元,用于根据多个上线顺序标识确定目标应用服务器。或者
第三确定单元,用于在目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为一个的情况下,将与目标应用负载映射关系中的应用服务器标识对应的应用服务器确定为目标应用服务器。
根据本公开的实施例,第一接收模块410可以包括接收子模块。
接收子模块,用于接收客户端请求的流式服务的第一请求,其中,第一请求包括第一请求包,其中,第一请求包为流式服务的首个请求包。
根据本公开的实施例,该负载均衡装置400还可以第二接收模块、第一获取模块、第二确定模块和第二发送模块。
第二接收模块,用于继续接收客户端请求的流式服务的第二请求,其中,第二请求包括第二请求包,其中,第二请求包包括用于表征流式服务的请求标识,第二请求包为第一请求包之后的任意请求包。
第一获取模块,用于获取请求服务映射表,其中,请求服务映射表包括多个请求服务映射关系,其中,每个请求服务映射关系包括请求标识和应用服务器标识之间的映射关系,其中,不同流式服务的请求标识不同。
第二确定模块,用于从请求服务映射表中确定目标请求服务映射关系,其中,目标请求服务映射关系为具有与第二请求包包括的请求标识一致的请求标识的请求服务映射关系。
第二发送模块,用于向与目标请求服务映射关系中的应用服务器标识对应的应用服务器发送第二请求包,以使与目标请求服务映射关系中的应用服务器标识对应的应用服务器响应第二请求包。
根据本公开的实施例,目标应用服务器响应第一请求包,可以包括如下操作。
目标应用服务器解析第一请求包,得到响应包,其中,响应包包括目标应用服务器标识,其中,目标应用服务器标识用于表征目标应用服务器。
向客户端发送响应包,以使客户端解析响应包得到目标应用服务器标识。
根据本公开的实施例,该负载均衡装置400还可以包括还包括第三接收模块和第三发送模块。
第三接收模块,用于继续接收客户端请求的流式服务的第三请求,其中,第三请求包括第三请求包,其中,第三请求包包括目标应用服务器标识,第三请求包为第一请求包之后的任意请求包。
第三发送模块,用于向与目标应用服务器标识对应的应用服务器发送第三请求包,以使与目标应用服务器标识对应的应用服务器响应第三请求包。
根据本公开的实施例,该负载均衡装置400还可以包括第二获取模块、第三确定模块、第四确定模块、建立模块和更新模块。
第二获取模块,用于获取来自负载监控服务器的负载信息集,其中,负载信息集包括多个应用服务器中每个应用服务器的负载信息。
第三确定模块,用于根据负载信息集重新确定多个应用服务器中每个应用服务器的负载权重系数。
第四确定模块,用于针对每个负载权重系数,确定具有负载权重系数的应用服务器,其中,具有负载权重系数的应用服务器的数量包括一个或多个。
建立模块,用于建立负载权重系数和具有负载权重系数的应用服务器标识之间的映射关系,得到新的应用负载映射关系。
更新模块,用于根据多组新的应用负载映射关系,更新应用负载映射表。
根据本公开的实施例的模块、子模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(Field ProgrammableGate Array,FPGA)、可编程逻辑阵列(Programmable Logic Arrays,PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(Application Specific Integrated Circuit,ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块410、第一确定模块420和第一发送模块430中的任意多个可以合并在一个模块/子模块/单元中实现,或者其中的任意一个模块/子模块/单元可以被拆分成多个模块/子模块/单元。或者,这些模块/子模块/单元中的一个或多个模块/子模块/单元的至少部分功能可以与其他模块/子模块/单元的至少部分功能相结合,并在一个模块/子模块/单元中实现。根据本公开的实施例,第一接收模块410、第一确定模块420和第一发送模块430中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块410、第一确定模块420和第一发送模块430中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中负载均衡装置部分与本公开的实施例中负载均衡方法部分是相对应的,负载均衡装置部分的描述具体参考负载均衡方法部分,在此不再赘述。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的目标负载均衡设备的框图。图5示出的目标负载均衡设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的目标负载均衡设备500包括处理器501,其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从存储部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有目标负载均衡设备500操作所需的各种程序和数据。处理器501、ROM 502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,目标负载均衡设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
需要说明的是,目标负载均衡设备500可以为图1和图3中多个负载均衡设备105中的一个负载均衡设备105。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM(Erasable Programmable Read Only Memory)或闪存)、便携式紧凑磁盘只读存储器(Computer Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
根据本公开实施例的技术方案,通过目标负载均衡设备接收客户端的请求,请求包括第一请求包,根据应用负载映射表,从多个应用服务器中确定目标应用服务器,应用负载映射表包括多组应用负载映射关系,每组应用负载映射关系包括负载权重系数和具有负载权重系数的一个或多个应用服务器标识之间的映射关系,负载权重系数用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力,并将第一请求包发送给目标应用服务器,以使目标应用服务器响应第一请求包。由于目标负载均衡设备可以根据应用负载映射表中用于表征与应用服务器标识对应的应用服务器处理客户端请求的能力的负载权重系数,得到每个应用服务器的负载情况,并根据应用服务器的负载情况,确定用于响应第一请求包的目标应用服务器,因此,实现了根据应用服务器的负载情况对请求的分发进行动态调整,进而实现了应用服务器的负载均衡,因而,至少部分地解决了采用相关技术较难以实现应用服务器的负载均衡的技术问题。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (12)

1.一种负载均衡方法,应用于目标负载均衡设备,所述方法包括:
接收客户端针对流式服务的请求,其中,所述请求至少包括第一请求包、第二请求包和用于表征所述流式服务的请求标识,所述第一请求包为所述流式服务的首个请求包,所述第二请求包为所述第一请求包之后的任意请求包,所述目标负载均衡设备的目标负载均衡设备标识与所述请求标识相对应;
根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,所述应用负载映射表包括多组应用负载映射关系,其中,每组所述应用负载映射关系包括负载权重系数和具有所述负载权重系数的一个或多个应用服务器标识之间的映射关系,所述负载权重系数用于表征与所述应用服务器标识对应的应用服务器处理客户端请求的流式服务的能力;
根据请求服务映射表,从所述请求服务映射表中确定目标请求服务映射关系,其中,所述请求服务映射表包括多个请求服务映射关系,每个所述请求服务映射关系包括用于表征所述流式服务的请求标识和应用服务器标识之间的映射关系;
向所述目标应用服务器发送所述第一请求包,以使所述目标应用服务器响应所述第一请求包;以及
向与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器发送所述第二请求包,以使与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器响应所述第二请求包。
2.根据权利要求1所述的方法,其中,所述根据应用负载映射表,从多个应用服务器中确定目标应用服务器,包括:
从所述应用负载映射表中确定目标应用负载映射关系,其中,所述目标应用负载映射关系为具有最大负载权重系数的应用负载映射关系;以及
根据所述目标应用负载映射关系确定目标应用服务器。
3.根据权利要求2所述的方法,其中,所述根据所述目标应用负载映射关系确定目标应用服务器,包括:
在所述目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为多个的情况下,确定所述目标应用负载映射关系中多个应用服务器标识中每个应用服务器标识的上线顺序标识,其中,所述上线顺序标识用于表征与所述应用服务器标识对应的应用服务器的上线顺序;
根据多个所述上线顺序标识确定所述目标应用服务器;或者
在所述目标应用负载映射关系中具有最大负载权重系数的应用服务器标识的数量为一个的情况下,将与所述目标应用负载映射关系中的应用服务器标识对应的应用服务器确定为所述目标应用服务器。
4.根据权利要求1所述的方法,其中,所述接收客户端针对流式服务的请求,其中,所述请求包括第一请求包,包括:
接收客户端请求的所述流式服务的第一请求,其中,所述第一请求包括所述第一请求包。
5.根据权利要求4所述的方法,其中,所述第二请求包包括用于表征所述流式服务的请求标识;
所述根据请求服务映射表,从所述请求服务映射表中确定目标请求服务映射关系包括:
获取所述请求服务映射表,其中,不同流式服务的请求标识不同;
从所述请求服务映射表中确定目标请求服务映射关系,其中,所述目标请求服务映射关系为具有与所述第二请求包包括的请求标识一致的请求标识的请求服务映射关系。
6.根据权利要求4所述的方法,其中,所述目标应用服务器响应所述第一请求包,包括:
所述目标应用服务器解析所述第一请求包,得到响应包,其中,所述响应包包括目标应用服务器标识,其中,所述目标应用服务器标识用于表征所述目标应用服务器;以及
向所述客户端发送所述响应包,以使所述客户端解析所述响应包得到所述目标应用服务器标识。
7.根据权利要求6所述的方法,其中,在所述向所述客户端发送所述响应包,以使所述客户端处理所述响应包得到所述目标应用服务器标识之后,还包括:
继续接收所述客户端请求的所述流式服务的第三请求,其中,所述第三请求包括第三请求包,其中,所述第三请求包包括所述目标应用服务器标识,所述第三请求包为所述第一请求包之后的任意请求包;以及
向与所述目标应用服务器标识对应的应用服务器发送所述第三请求包,以使与所述目标应用服务器标识对应的应用服务器响应所述第三请求包。
8.根据权利要求1~7中任一项所述的方法,还包括:
获取来自负载监控服务器的负载信息集,其中,所述负载信息集包括多个应用服务器中每个所述应用服务器的负载信息;
根据所述负载信息集重新确定所述多个应用服务器中每个应用服务器的负载权重系数;
针对每个所述负载权重系数,确定具有所述负载权重系数的应用服务器,其中,具有所述负载权重系数的应用服务器的数量包括一个或多个;
建立所述负载权重系数和具有所述负载权重系数的应用服务器标识之间的映射关系,得到新的应用负载映射关系;以及
根据多组所述新的应用负载映射关系,更新所述应用负载映射表。
9.一种负载均衡装置,应用于目标负载均衡设备,包括:
第一接收模块,用于接收客户端针对流式服务的请求,其中,所述请求至少包括第一请求包、第二请求包和用于表征所述流式服务的请求标识,所述第一请求包为所述流式服务的首个请求包,所述第二请求包为所述第一请求包之后的任意请求包,所述目标负载均衡设备的目标负载均衡设备标识与所述请求标识相对应;
第一确定模块,用于根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,所述应用负载映射表包括多组应用负载映射关系,其中,每组所述应用负载映射关系包括负载权重系数和具有所述负载权重系数的一个或多个应用服务器标识之间的映射关系,所述负载权重系数用于表征与所述应用服务器标识对应的应用服务器处理客户端请求的流式服务的能力;
第二确定模块,用于根据请求服务映射表,从所述请求服务映射表中确定目标请求服务映射关系,其中,所述请求服务映射表包括多个请求服务映射关系,每个所述请求服务映射关系包括用于表征所述流式服务的请求标识和应用服务器标识之间的映射关系;
第一发送模块,用于向所述目标应用服务器发送所述第一请求包,以使所述目标应用服务器响应所述第一请求包;以及
第二发送模块,用于向与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器发送所述第二请求包,以使与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器响应所述第二请求包。
10.一种目标负载均衡设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1~8中任一项所述的方法。
11.一种负载均衡系统,包括:
客户端,用于:
向目标负载均衡设备发送请求,其中,所述请求至少包括第一请求包、第二请求包和用于表征流式服务的请求标识,所述第一请求包为所述流式服务的首个请求包,所述第二请求包为所述第一请求包之后的任意请求包,所述目标负载均衡设备的目标负载均衡设备标识与所述请求标识相对应;
所述目标负载均衡设备,与所述客户端通信连接,用于:
接收所述客户端针对流式服务的请求;
根据应用负载映射表,从多个应用服务器中确定目标应用服务器,其中,所述应用负载映射表包括多组应用负载映射关系,其中,每组所述应用负载映射关系包括负载权重系数和具有所述负载权重系数的一个或多个应用服务器标识之间的映射关系,所述负载权重系数用于表征与所述应用服务器标识对应的应用服务器处理客户端的流式服务请求的能力;
根据请求服务映射表,从所述请求服务映射表中确定目标请求服务映射关系,其中,所述请求服务映射表包括多个请求服务映射关系,每个所述请求服务映射关系包括用于表征所述流式服务的请求标识和应用服务器标识之间的映射关系;
向所述目标应用服务器发送所述第一请求包;以及
向与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器发送所述第二请求包,以使与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器响应所述第二请求包;
所述目标应用服务器,用于:
响应所述第一请求包;
所述与所述目标请求服务映射关系中的应用服务器标识对应的应用服务器,用于:
响应所述第二请求包。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1~8中任一项所述的方法。
CN202011275234.9A 2020-11-13 2020-11-13 负载均衡方法、装置、系统、目标负载均衡设备及介质 Active CN112491066B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011275234.9A CN112491066B (zh) 2020-11-13 2020-11-13 负载均衡方法、装置、系统、目标负载均衡设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011275234.9A CN112491066B (zh) 2020-11-13 2020-11-13 负载均衡方法、装置、系统、目标负载均衡设备及介质

Publications (2)

Publication Number Publication Date
CN112491066A CN112491066A (zh) 2021-03-12
CN112491066B true CN112491066B (zh) 2023-11-03

Family

ID=74930630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011275234.9A Active CN112491066B (zh) 2020-11-13 2020-11-13 负载均衡方法、装置、系统、目标负载均衡设备及介质

Country Status (1)

Country Link
CN (1) CN112491066B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115051978B (zh) * 2022-08-15 2022-11-01 广东采日能源科技有限公司 设备监控实现方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686129A (zh) * 2017-01-23 2017-05-17 天地融科技股份有限公司 一种负载均衡方法及系统
CN107590001A (zh) * 2017-09-08 2018-01-16 北京京东尚科信息技术有限公司 负载均衡方法及装置、存储介质、电子设备
CN110365748A (zh) * 2019-06-24 2019-10-22 深圳市腾讯计算机系统有限公司 业务数据的处理方法和装置、存储介质及电子装置
CN110602254A (zh) * 2019-10-08 2019-12-20 腾讯科技(深圳)有限公司 一种实现负载均衡的方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584595B2 (en) * 2013-10-17 2017-02-28 International Business Machines Corporation Transaction distribution with an independent workload advisor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686129A (zh) * 2017-01-23 2017-05-17 天地融科技股份有限公司 一种负载均衡方法及系统
CN107590001A (zh) * 2017-09-08 2018-01-16 北京京东尚科信息技术有限公司 负载均衡方法及装置、存储介质、电子设备
CN110365748A (zh) * 2019-06-24 2019-10-22 深圳市腾讯计算机系统有限公司 业务数据的处理方法和装置、存储介质及电子装置
CN110602254A (zh) * 2019-10-08 2019-12-20 腾讯科技(深圳)有限公司 一种实现负载均衡的方法、装置及系统

Also Published As

Publication number Publication date
CN112491066A (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
WO2020228469A1 (zh) 一种移动边缘计算节点的选择方法、装置及系统
US10447775B2 (en) System and method to balance servers based on server load status
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
US20110282975A1 (en) Techniques for dynamic cloud-based edge service computing
US20190196875A1 (en) Method, system and computer program product for processing computing task
WO2013140336A2 (en) System and method of managing servers for streaming desk top applications
US9729347B2 (en) System and method for selection of a conference bridge master server
US11075987B1 (en) Load estimating content delivery network
CN106302640A (zh) 数据请求处理方法及装置
CN111818034A (zh) 网络访问控制方法、装置、电子设备和介质
CN112437006A (zh) 基于api网关的请求控制方法、装置、电子设备和存储介质
US20190370293A1 (en) Method and apparatus for processing information
CN110740464A (zh) 一种nf服务发现方法及设备
CN112491066B (zh) 负载均衡方法、装置、系统、目标负载均衡设备及介质
CN114513465A (zh) 负载均衡方法、负载均衡装置、电子设备和存储介质
US11962643B2 (en) Implementing multiple load balancer drivers for a single load balancer
US10320740B2 (en) Systems and methods for performing dual DNS lookup to detect public versus intranet
KR20150025249A (ko) 배칭 기반의 콘텐트 라우팅 방법 및 배칭 기반의 콘텐트 라우팅 방법을 수행하는 장치
WO2018127013A1 (zh) 一种流数据的并发传输方法和装置
CN107404504B (zh) 通信方法、装置及系统
CN113973092B (zh) 链路资源调度方法、装置、计算设备及计算机存储介质
US20140047014A1 (en) Network access system
CN115567602A (zh) Cdn节点回源方法、设备及计算机可读存储介质
CN113783919B (zh) 访问请求分流方法、系统、设备及存储介质
CN112839071B (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
GR01 Patent grant
GR01 Patent grant