CN116302547A - 负载均衡处理方法、装置、设备、介质和计算机程序产品 - Google Patents

负载均衡处理方法、装置、设备、介质和计算机程序产品 Download PDF

Info

Publication number
CN116302547A
CN116302547A CN202310298744.5A CN202310298744A CN116302547A CN 116302547 A CN116302547 A CN 116302547A CN 202310298744 A CN202310298744 A CN 202310298744A CN 116302547 A CN116302547 A CN 116302547A
Authority
CN
China
Prior art keywords
request
resource consumption
processing resource
test
server
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
CN202310298744.5A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310298744.5A priority Critical patent/CN116302547A/zh
Publication of CN116302547A publication Critical patent/CN116302547A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种负载均衡处理方法、装置、设备、介质和程序产品,涉及大数据领域。本申请能够提升各服务器对各请求的服务的均衡性。所述方法包括:接收待处理请求,根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定该待处理请求所属的目标分组,然后获取各服务器各自的当前连接信息集合中与该目标分组对应的当前连接信息,根据各服务器各自的当前连接信息确定各服务器中用于处理待处理请求的服务器。

Description

负载均衡处理方法、装置、设备、介质和计算机程序产品
技术领域
本申请涉及大数据技术领域,特别是涉及一种负载均衡处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
负载均衡(loadbalancing)是一种在多个计算机设备间均匀分配资源,以提高资源利用的技术,使用负载均衡可以最大化服务吞吐量、最小化响应时间,同时会使用多个服务器节点代单点服务,也提高了服务的可用性。在负载均衡算法中,最小连接数算法是根据各服务器当前在途的请求的数量进行判定,将请求转发给当前处理任务数最少的服务器。
然而,对于目前技术所提供的最小连接数负载均衡处理方案,发明人发现,其会将到达负载均衡设备的各待处理请求等价地分配到各服务器,而这样会引发部分服务器先触发QPS(QueryPerSecond,每秒查询数)限流或CPU使用率冲高等异常情况,存在各服务器对各待处理请求的服务的均衡性不足的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种负载均衡处理方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种负载均衡处理方法。所述方法包括:
接收待处理请求;
根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;
获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;
根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
在其中一个实施例中,所述方法还包括:
在测试环境中,触发将各测试请求发送至测试服务器进行处理的测试分析;基于所述测试分析,获取所述各测试请求各自的处理资源消耗信息;根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组;根据所述各测试请求及其各自对应的分组,构建所述对应关系。
在其中一个实施例中,所述根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组之前,还包括:根据所述各测试请求各自的处理资源消耗信息,得到对应的处理资源消耗分布信息;根据所述对应的处理资源消耗分布信息,确定处理资源消耗分组的划分区间,在所述划分区间中划分出多个处理资源消耗分组,使每个处理资源消耗分组所包含的测试请求的数量均衡。
在其中一个实施例中,所述根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组之前,还包括:根据所述各测试请求各自的处理资源消耗信息,确定表征最小处理资源消耗的第一处理资源消耗信息,并将具有所述第一处理资源消耗信息的测试请求归属于具有起始分组号的处理资源消耗分组;针对所述各测试请求中的每一其他测试请求,根据该其他测试请求的第二处理资源消耗信息与所述第一处理资源消耗信息的比值,将该其他测试请求归属于具有与所述比值对应的分组号的处理资源消耗分组。
在其中一个实施例中,所述基于所述测试分析,获取所述各测试请求各自的处理资源消耗信息,包括:基于所述测试分析,获取所述各测试请求各自的请求执行耗时;根据所述各测试请求各自的请求执行耗时,得到所述各测试请求各自的处理资源消耗信息。
在其中一个实施例中,所述根据所述各测试请求及其各自对应的分组,构建所述对应关系,包括:确定所述各测试请求各自的请求特征标识信息,确定所述多个处理资源消耗分组各自的分组标识信息;根据所述各测试请求及其各自对应的分组,利用所述各测试请求各自的请求特征标识信息和所述多个处理资源消耗分组各自的分组标识信息,构建所述对应关系。
在其中一个实施例中,所述方法还包括:若所述待处理请求为在所述预先创建的多个处理资源消耗分组中失配的请求,则将所述待处理请求归属于所述多个处理资源消耗分组中预设处理资源消耗分组,或者,将所述待处理请求随机归属于所述多个处理资源消耗分组中一处理资源消耗分组,或者,将所述待处理请求归属于增设的处理资源消耗分组;所述方法还包括:若所述待处理请求的目标分组为增设的处理资源消耗分组,则根据所述各服务器各自的当前连接信息集合中与所述增设的处理资源消耗分组对应的当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
第二方面,本申请还提供了一种负载均衡处理装置。所述装置包括:
请求接收模块,用于接收待处理请求;
分组确定模块,用于根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;
连接信息获取模块,用于获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;
服务器确定模块,用于根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收待处理请求;根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收待处理请求;根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收待处理请求;根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
上述负载均衡处理方法、装置、设备、介质和程序产品,接收待处理请求,根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定该待处理请求所属的目标分组,然后获取各服务器各自的当前连接信息集合中与该目标分组对应的当前连接信息,根据各服务器各自的当前连接信息确定各服务器中用于处理待处理请求的服务器。该方案对于负载均衡设备所接收的待处理请求,先根据预设的请求与处理资源消耗分组的对应关系,将待处理请求按照其所需要消耗的处理资源分配至相应分组,而每个服务器各自的当前连接信息集合可以包含与不同的分组对应的当前连接信息,由此对归属于各分组的各待处理请求,可以根据每个服务器各自的与该待处理请求所属分组对应的当前连接信息确定各服务器中用于处理该待处理请求的服务器,从而能够将需要消耗不同资源的请求均衡地分配到各个服务器,平衡各服务器对各类请求的服务性能,使各服务器能对外提供等价的服务性能,提升了各服务器对各请求的服务的均衡性。
附图说明
图1为本申请实施例中负载均衡处理方法的应用环境图;
图2为目前技术中所存在问题的辅助说明示意图;
图3为本申请实施例中负载均衡处理方法的流程示意图;
图4为本申请实施例中构建请求与处理资源消耗分组的对应关系的流程示意图;
图5(a)为本申请一实施例中划分多个处理资源消耗分组的流程示意图;
图5(b)为本申请另一实施例中划分多个处理资源消耗分组的流程示意图;
图6为本申请实施例中负载均衡处理装置的结构框图;
图7为本申请实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的负载均衡处理方法,可以应用于如图1所示的应用环境中。其中,终端、负载均衡设备和各服务器可以依次通过网络进行连接。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。各服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
为清晰阐述本申请的负载均衡处理方法及其所实现的技术效果,结合图2对目前技术中所提供的最小连接数负载均衡处理方案及其存在的技术问题进行说明。最小连接数负载均衡策略暗含的一个前提是,经过负载均衡设备到达服务器的所有待处理请求都是基本等价的,例如执行耗时等需要服务器消耗的处理资源(或需要占用服务器的处理资源)是基本相当的,但在实际生产运行中,各服务器对外提供的请求在服务性能上一般都是不等价的,以请求的执行耗时来说,简单的请求耗时可能是几毫秒,复杂的请求耗时可能是几百甚至几千毫秒,并且每个请求到达负载均衡设备的顺序是不固定的,所以从请求的执行耗时上来说,难以保证达到服务器的请求QPS均衡性,如图2所示,服务器1可能被分配的轻量请求较多,其会在单位时间内处理更多请求,进而优先触发QPS限流报警,而服务器2则可能被分配的重量请求较多,会在同一时刻处理更多高资源消耗的请求,导致其CPU使用率偏高,可能这种技术会导致部分服务器先触发QPS限流或CPU使用率冲高,引发安全隐患,如监控报警、重启等等,故综合来看,目前技术存在各服务器对各待处理请求的服务的均衡性不足的问题。对此,本申请提供的负载均衡处理方法,对于负载均衡设备所接收的待处理请求,先根据预设的请求与处理资源消耗分组的对应关系,将待处理请求按照其所需要消耗的处理资源分配至相应分组,而每个服务器各自的当前连接信息集合可以包含与不同的分组对应的当前连接信息,由此对归属于各分组的各待处理请求,可以根据每个服务器各自的与该待处理请求所属分组对应的当前连接信息确定各服务器中用于处理该待处理请求的服务器,也即本申请提供的负载均衡处理方法可以先将待处理请求划分至其所需要消耗的处理资源的对应分组,然后可以在该对应分组内,基于各服务器各自在该分组对应的当前连接信息,按照最小连接数算法进行负载均衡控制,从而能够将需要消耗不同资源的请求均衡地分配到各个服务器,平衡各服务器对各类请求的服务性能,使各服务器能对外提供等价的服务性能,克服QPS限流、CPU使用率冲高等问题,提升了各服务器对各请求的服务的均衡性,在既定设备资源的情况下,提供更高、更稳定的性能容量。
下面结合各实施例及相应附图对本申请提供的负载均衡处理方法作进一步说明。
在一个实施例中,如图3所示,提供了一种负载均衡处理方法,该方法可以由如图1中所示的负载均衡设备执行,该方法可以包括以下步骤:
步骤S301,接收待处理请求。
本步骤中,负载均衡设备可以接收来自终端的请求,这些请求都可以作为待处理请求,该待处理请求将在后续步骤中按照一定的方式转发至服务器进行处理。其中,根据所属领域的不同,该待处理请求可以是相关领域中用于处理相应业务的请求,如在金融科技领域,该待处理请求可以是交易请求等等。
步骤S302,根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定待处理请求所属的目标分组。
本步骤主要是在负载均衡设备接收到待处理请求后,确定该待处理请求所属的目标分组,也即在本申请中,负载均衡设备需要将待处理请求进行分组后再根据其分组的相关信息将其转发至对应的服务器进行处理,而这里的分组不必是将待处理请求分到某一个组里,只需要确定其所属的目标分组即可,如负载均衡设备确定待处理请求A属于分组1或分组3等等。具体来说,在本步骤中,分组的依据本质在于该待处理请求需要服务器消耗的处理资源,该需要服务器消耗的处理资源可以用若干种方式来衡量,如CPU使用率、请求执行耗时等等,但负载均衡设备在实际应用中无需每次都计算或预测每个待处理请求需要服务器消耗的处理资源,而可以在测试环境中对每个请求进行测试,测试得到每个请求各自需要服务器消耗的处理资源,然后按照其需要服务器消耗的处理资源对这些请求进行分组,可以将消耗基本相当的处理资源的若干请求划分为一组,从而将这些请求归入到多个分组的相应分组中,该多个分组可以记为多个处理资源消耗分组,该多个处理资源消耗分组可以是以例如人工等其他方式预先创建的,由此可以建立其对应关系,即得到了前述的预设的请求与处理资源消耗分组的对应关系,该对应关系所包含的信息可以包括所能够测得的各请求与其对应的处理资源消耗分组的对应关系,该对应关系可以存储于负载均衡设备中,这样可以在供负载均衡设备在接收到一待处理请求时,根据该对应关系,在前述的多个处理资源消耗分组中查找到该待处理请求所属的处理资源消耗分组,该所属的处理资源消耗分组记为目标分组。
步骤S303,获取各服务器各自的当前连接信息集合中与目标分组对应的当前连接信息。
本步骤中,可以由负载均衡设备来维护包含该各服务器各自的当前连接信息集合的信息,之所以称为当前连接信息集合,是因为对于每个服务器来说,其针对每个处理资源消耗分组,都可能会产生对应的当前连接信息,如当前连接数等,如服务器1的当前连接信息集合中可以包括处理资源消耗分组1对应的当前连接数、处理资源消耗分组2对应的当前连接数等等,该服务器1在不同处理资源消耗分组对应的当前连接信息可组成该服务器1的当前连接信息集合,服务器1在不同处理资源消耗分组对应的当前连接信息可以是不同的,从而各服务器在整体上对于不同的处理资源消耗分组分别提供了对应连接数作为负载均衡处理的依据,由此,在确定了待处理请求所属的目标分组后,负载均衡设备可以根据本地维护的信息,获取各服务器各自的当前连接信息集合中与该目标分组对应的当前连接信息。
步骤S304,根据各服务器各自的当前连接信息,确定各服务器中用于处理待处理请求的服务器。
本步骤主要是对于每一个分组自身而言,都可按照相同的方式来转发组内的待处理请求,本申请中,对于该属于目标分组的待处理请求,可以根据各服务器各自的与该目标分组对应的当前连接信息,确定各服务器中用于处理该待处理请求的服务器,在具体实现中,负载均衡设备可以在该目标分组内,根据各服务器各自的与该目标分组对应的当前连接数,按照最小连接数算法,确定出对于该目标分组,各服务器中具有最小的当前连接数的服务器作为用于处理该待处理请求的服务器,并将该待处理请求转发过去,同时可以更新该目标分组对应的当前连接信息,而该服务器应答或超时后,可以再更新该目标分组对应的当前连接信息,如清除相关计数等。
本实施例的负载均衡处理方法,接收待处理请求,根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定该待处理请求所属的目标分组,然后获取各服务器各自的当前连接信息集合中与该目标分组对应的当前连接信息,根据各服务器各自的当前连接信息确定各服务器中用于处理待处理请求的服务器。该方案对于负载均衡设备所接收的待处理请求,先根据预设的请求与处理资源消耗分组的对应关系,将待处理请求按照其所需要消耗的处理资源分配至相应分组,而每个服务器各自的当前连接信息集合可以包含与不同的分组对应的当前连接信息,由此对归属于各分组的各待处理请求,可以根据每个服务器各自的与该待处理请求所属分组对应的当前连接信息确定各服务器中用于处理该待处理请求的服务器,从而能够将需要消耗不同资源的请求均衡地分配到各个服务器,平衡各服务器对各类请求的服务性能,使各服务器能对外提供等价的服务性能,提升了各服务器对各请求的服务的均衡性。
对于请求与处理资源消耗分组的对应关系,在一些实施例中,本申请的负载均衡处理方法中,还可以通过以下步骤构建该对应关系,如图4所示,具体包括以下步骤:
步骤S401,在测试环境中,触发将各测试请求发送至测试服务器进行处理的测试分析。
步骤S402,基于测试分析,获取各测试请求各自的处理资源消耗信息。
步骤S403,根据各测试请求各自的处理资源消耗信息,确定各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组。
步骤S404,根据各测试请求及其各自对应的分组,构建对应关系。
本实施例主要是在测试环境中基于对服务器对请求的处理的分析来完成对应关系的构建。具体的,在测试环境中,可以尽可能多地取得各种请求并借助各服务器进行测试,在测试环境中,将请求记为测试请求,将服务器记为测试服务器,该测试服务器可以通过模拟的方式来实现。
由此,对于步骤S401和步骤S402,触发将各测试请求发送至测试服务器进行处理的测试分析,具体可以将每个测试请求发送至测试服务器进行处理,并对其需要服务器消耗的处理资源进行分析,测试分析的目的主要在于获取每个测试请求各自的处理资源消耗信息,该处理资源消耗信息可以是用于表征测试请求需要服务器消耗的处理资源的量化信息,如CPU使用率、请求执行耗时等等。
其中,对于步骤S402即基于测试分析,获取各测试请求各自的处理资源消耗信息,在一个实施例中,具体可以包括:
基于测试分析,获取各测试请求各自的请求执行耗时;根据各测试请求各自的请求执行耗时,得到各测试请求各自的处理资源消耗信息。
本实施例主要是在测试分析中,可以根据各测试请求各自的请求执行耗时,获得各测试请求各自的处理资源消耗信息。具体的,基于测试分析,对于每个测试请求,可以获取其请求执行耗时(也可以是请求执行耗时的平均值),请求执行耗时可以是用于表示测试服务器执行该请求所需耗时的信息,请求执行耗时的起算时刻和结束时刻可以预先设置,如可以设置发送给测试服务器的时刻作为起算时刻,收到测试服务器的响应的时刻作为结束时刻等等,通过对请求执行耗时的起算时刻和结束时刻的统一设置可以使得前述的对应关系得到准确构建。得到各测试请求各自的请求执行耗时后,可以将该各测试请求各自的请求执行耗时作为各测试请求各自的处理资源消耗信息,相比于如CPU使用率等参数信息,本实施例选取请求执行耗时作为处理资源消耗信息,具有更高的可操作性且能够准确地衡量每个请求需要服务器消耗的处理资源。
上述步骤S403中,获得各测试请求各自的处理资源消耗信息后,针对每个测试请求,可以根据其处理资源消耗信息,确定其在预先创建的多个处理资源消耗分组中对应的分组,其中,该多个处理资源消耗分组可对应于不同的处理资源消耗信息,如可以对应不同的请求执行耗时,或者不同范围的请求执行耗时,这样根据测试请求的请求执行耗时便可将其归类到与之对应的处理资源消耗分组中。
步骤S404,根据各测试请求及其各自对应的分组,构建对应关系。
本步骤中,在确定每个测试请求及其各自对应的分组后,便可为构建请求与处理资源消耗分组的对应关系。
对此,作为一个实施例,步骤S404具体可以包括:确定各测试请求各自的请求特征标识信息,确定多个处理资源消耗分组各自的分组标识信息;根据各测试请求及其各自对应的分组,利用各测试请求各自的请求特征标识信息和多个处理资源消耗分组各自的分组标识信息,构建对应关系。
本实施例可以借助测试请求的请求特征标识信息与其对应分组的分组标识信息,构建请求与处理资源消耗分组的对应关系,其中,请求特征标识信息可以是请求所对应的URL(UniformResourceLocator,统一资源定位符),还可以是更加细化的特征标识信息以区分更多的请求,如将URL中所包含的一个或多个参数作为请求特征标识信息等等,分组标识信息是用于表征每个处理资源消耗分组并使之与其他处理资源消耗分组进行区分的标识信息,该分组表示信息可以是人工设定的分组号等等,由此可以根据各测试请求及其各自对应的分组,利用请求特征标识信息和分组标识信息,构建对应关系,该对应关系中可以记录每个请求特征标识信息及其对应的分组标识信息,以实现将各请求与其所属分组进行对应。
本实施例的方案可以在测试环境中完成请求与处理资源消耗分组的对应关系的构建,通过对尽可能多的请求的测试分析,可以使得负载均衡设备在实际应用中基于该对应关系对各类请求进行准确分组及转发以实现更优的负载均衡。
对于在实际应用中负载均衡设备对待处理请求的分组与转发处理,在一些实施例中,本申请的方法还可以包括以下步骤:
若待处理请求为在预先创建的多个处理资源消耗分组中失配的请求,则将待处理请求归属于多个处理资源消耗分组中预设处理资源消耗分组,或者,将待处理请求随机归属于多个处理资源消耗分组中一处理资源消耗分组,或者,将待处理请求归属于增设的处理资源消耗分组。
具体的,在实际应用中,负载均衡设备在接收到待处理请求后,需要先在预先创建的多个处理资源消耗分组中确定其所属的目标分组,但负载均衡设备可能无法在预先创建的多个处理资源消耗分组中成功为该待处理请求匹配其所属的目标分组,该待处理请求即为在预先创建的多个处理资源消耗分组中失配的请求,对此,本实施例提供了三种方案来处理此类请求。
其中,第一种是可以将该待处理请求归属于该多个处理资源消耗分组中预设处理资源消耗分组,这种处理方式主要是将该待处理请求指定到该多个处理资源消耗分组中的其中一个处理资源消耗分组中,如可以将其指定到对应于处理资源消耗最小的分组中,然后在该组中便可以按照最小连接数法来将其进行转发,交由对应服务器进行处理。
第二种是可以将该待处理请求随机归属于多个处理资源消耗分组中一处理资源消耗分组,也即随机将该待处理请求分配到其中一组,然后也可以在该组中按照最小连接数法来将其进行转发。
第三种是将该待处理请求归属于增设的处理资源消耗分组,即负载均衡设备可以在多个处理资源消耗分组的基础上增设一个处理资源消耗分组来容纳这类失配的请求,那么,该待处理请求的目标分组即为增设的处理资源消耗分组。对于此分组的请求转发处理,本申请的方法可以包括:根据各服务器各自的当前连接信息集合中与该增设的处理资源消耗分组对应的当前连接信息,确定各服务器中用于处理该待处理请求的服务器。也即,对于该增设的处理资源消耗分组,每个服务器各自都可以对应有当前连接信息,由此对于该增设的处理资源消耗分组,负载均衡设备可以根据该当前连接信息,按照最小连接数算法将该组的待处理请求转发到对应的服务器进行处理,从而也便于对失配的待处理请求进行统计与管理。
对于前述的与对应关系构建相关的实施例中涉及的多个处理资源消耗分组,除以人工的方式来创建外,还可以由负载均衡设备等计算机设备自动进行创建。
对此,在其中一个实施例中,如图5(a)所示,在步骤S403即根据各测试请求各自的处理资源消耗信息,确定各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组之前,可以包括以下步骤:
步骤S511,根据各测试请求各自的处理资源消耗信息,得到对应的处理资源消耗分布信息。
步骤S512,根据对应的处理资源消耗分布信息,确定处理资源消耗分组的划分区间,在划分区间中划分出多个处理资源消耗分组,使每个处理资源消耗分组所包含的测试请求的数量均衡。
本实施例主要是根据处理资源消耗分布信息在对应的划分区间中划分出多个处理资源消耗分组,使得每个处理资源消耗分组所包含的测试请求的数量均衡。以请求执行时间作为处理资源消耗信息为例,在步骤S511中,根据每个测试请求各自的请求执行时间,获取对应的请求执行时间的分布信息即对应的处理资源消耗分布信息,该请求执行时间的分布信息可以包括在能够囊括所有测试请求的请求执行时间的时间区间内(如0至100毫秒),所有测试请求的请求执行时间的分布信息,从而在步骤S512中,根据该请求执行时间的分布信息,确定处理资源消耗分组的一划分区间,该划分区间需要能够囊括所有测试请求的请求执行时间,如该划分区间可以包括0至100毫秒,然后再在该划分区间中划分出多个处理资源消耗分组,使得每个处理资源消耗分组所包含的测试请求的数量均衡,如将0至10毫秒划分为一个处理资源消耗分组,将10至30毫秒划分为一个处理资源消耗分组,将30至60毫秒划分为一个处理资源消耗分组等等,使得每个处理资源消耗分组所包含的测试请求的数量均衡,即使得每个处理资源消耗分组所包含的测试请求的数量基本相当,这样能够使得在实际使用阶段,各服务器能够较为均衡地为归属于各分组的请求提供服务。
在另外一个实施例中,如图5(b)所示,在步骤S403即根据各测试请求各自的处理资源消耗信息,确定各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组之前,可以包括以下步骤:
步骤S521,根据各测试请求各自的处理资源消耗信息,确定表征最小处理资源消耗的第一处理资源消耗信息,并将具有第一处理资源消耗信息的测试请求归属于具有起始分组号的处理资源消耗分组。
步骤S522,针对各测试请求中的每一其他测试请求,根据该其他测试请求的第二处理资源消耗信息与第一处理资源消耗信息的比值,将该其他测试请求归属于具有与比值对应的分组号的处理资源消耗分组。
本实施例主要是先确定具有表征最小处理资源消耗的第一处理资源消耗信息的测试请求归属于具有起始分组号的处理资源消耗分组,再根据其他测试请求的第二处理资源消耗信息的相关比值信息,将该其他测试请求进行自动分组。具体的,如前所述的,处理资源消耗信息可以是用于表征测试请求需要服务器消耗的处理资源的量化信息,而基于对各测试请求的处理资源消耗信息的比值,可以方便地形成对应的分组号,由此能够便捷地将各测试请求进行分组。仍以请求执行时间作为处理资源消耗信息为例,在步骤S521中,可以根据每个测试请求各自的请求执行时间,确定出最小的请求执行时间,然后将具有该最小的请求执行时间的测试请求归属于具有起始分组号的处理资源消耗分组,为便于分组,该起始分组号可以设置为1。然后,在步骤S522中,针对各测试请求中的每一其他测试请求,其他测试请求可以包括还没有完成分组的测试请求,而对于该每一其他测试请求,可以将该其他测试请求的请求执行时间与前述的最小的请求执行时间进行相比,得到对应的比值即得到前述的该其他测试请求的第二处理资源消耗信息与第一处理资源消耗信息的比值,该比值应该大于1,由此可以获得每个其他测试请求对应的比值,然后可以根据该比值计算其对应的分组号,具体可以将该比值进行向上或者向下的取整或者四舍五入等处理获得对应的分组号,然后便可将该每一其他测试请求归属于具有其对应的分组号的处理资源消耗分组,从而便捷地将各测试请求进行分组。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的负载均衡处理方法的负载均衡处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个负载均衡处理装置实施例中的具体限定可以参见上文中对于负载均衡处理方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种负载均衡处理装置,该装置600可以包括:
请求接收模块601,用于接收待处理请求;
分组确定模块602,用于根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;
连接信息获取模块603,用于获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;
服务器确定模块604,用于根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
在一个实施例中,该装置600还可以包括:关系构建模块,用于在测试环境中,触发将各测试请求发送至测试服务器进行处理的测试分析;基于所述测试分析,获取所述各测试请求各自的处理资源消耗信息;根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组;根据所述各测试请求及其各自对应的分组,构建所述对应关系。
在一个实施例中,关系构建模块,还用于根据所述各测试请求各自的处理资源消耗信息,得到对应的处理资源消耗分布信息;根据所述对应的处理资源消耗分布信息,确定处理资源消耗分组的划分区间,在所述划分区间中划分出多个处理资源消耗分组,使每个处理资源消耗分组所包含的测试请求的数量均衡。
在一个实施例中,关系构建模块,还用于根据所述各测试请求各自的处理资源消耗信息,确定表征最小处理资源消耗的第一处理资源消耗信息,并将具有所述第一处理资源消耗信息的测试请求归属于具有起始分组号的处理资源消耗分组;针对所述各测试请求中的每一其他测试请求,根据该其他测试请求的第二处理资源消耗信息与所述第一处理资源消耗信息的比值,将该其他测试请求归属于具有与所述比值对应的分组号的处理资源消耗分组。
在一个实施例中,关系构建模块,可进一步用于基于所述测试分析,获取所述各测试请求各自的请求执行耗时;根据所述各测试请求各自的请求执行耗时,得到所述各测试请求各自的处理资源消耗信息。
在一个实施例中,关系构建模块,可进一步用于确定所述各测试请求各自的请求特征标识信息,确定所述多个处理资源消耗分组各自的分组标识信息;根据所述各测试请求及其各自对应的分组,利用所述各测试请求各自的请求特征标识信息和所述多个处理资源消耗分组各自的分组标识信息,构建所述对应关系。
在一个实施例中,分组确定模块602,还可以用于若所述待处理请求为在所述预先创建的多个处理资源消耗分组中失配的请求,则将所述待处理请求归属于所述多个处理资源消耗分组中预设处理资源消耗分组,或者,将所述待处理请求随机归属于所述多个处理资源消耗分组中一处理资源消耗分组,或者,将所述待处理请求归属于增设的处理资源消耗分组;服务器确定模块604,还可以用于若所述待处理请求的目标分组为增设的处理资源消耗分组,则根据所述各服务器各自的当前连接信息集合中与所述增设的处理资源消耗分组对应的当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
上述负载均衡处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以作为负载均衡设备,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储请求与处理资源消耗分组的对应关系等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的设备通过网络连接通信。该计算机程序被处理器执行时以实现一种负载均衡处理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(MagnetoresistiveRandomAccessMemory,MRAM)、铁电存储器(FerroelectricRandomAccessMemory,FRAM)、相变存储器(PhaseChange Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(RandomAccessMemory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccess Memory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (11)

1.一种负载均衡处理方法,其特征在于,所述方法包括:
接收待处理请求;
根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;
获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;
根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在测试环境中,触发将各测试请求发送至测试服务器进行处理的测试分析;
基于所述测试分析,获取所述各测试请求各自的处理资源消耗信息;
根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组;
根据所述各测试请求及其各自对应的分组,构建所述对应关系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组之前,还包括:
根据所述各测试请求各自的处理资源消耗信息,得到对应的处理资源消耗分布信息;
根据所述对应的处理资源消耗分布信息,确定处理资源消耗分组的划分区间,在所述划分区间中划分出多个处理资源消耗分组,使每个处理资源消耗分组所包含的测试请求的数量均衡。
4.根据权利要求2所述的方法,其特征在于,所述根据所述各测试请求各自的处理资源消耗信息,确定所述各测试请求各自在预先创建的多个处理资源消耗分组中对应的分组之前,还包括:
根据所述各测试请求各自的处理资源消耗信息,确定表征最小处理资源消耗的第一处理资源消耗信息,并将具有所述第一处理资源消耗信息的测试请求归属于具有起始分组号的处理资源消耗分组;
针对所述各测试请求中的每一其他测试请求,根据该其他测试请求的第二处理资源消耗信息与所述第一处理资源消耗信息的比值,将该其他测试请求归属于具有与所述比值对应的分组号的处理资源消耗分组。
5.根据权利要求2所述的方法,其特征在于,所述基于所述测试分析,获取所述各测试请求各自的处理资源消耗信息,包括:
基于所述测试分析,获取所述各测试请求各自的请求执行耗时;
根据所述各测试请求各自的请求执行耗时,得到所述各测试请求各自的处理资源消耗信息。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述根据所述各测试请求及其各自对应的分组,构建所述对应关系,包括:
确定所述各测试请求各自的请求特征标识信息,确定所述多个处理资源消耗分组各自的分组标识信息;
根据所述各测试请求及其各自对应的分组,利用所述各测试请求各自的请求特征标识信息和所述多个处理资源消耗分组各自的分组标识信息,构建所述对应关系。
7.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
若所述待处理请求为在所述预先创建的多个处理资源消耗分组中失配的请求,则将所述待处理请求归属于所述多个处理资源消耗分组中预设处理资源消耗分组,或者,将所述待处理请求随机归属于所述多个处理资源消耗分组中一处理资源消耗分组,或者,将所述待处理请求归属于增设的处理资源消耗分组;
所述方法还包括:
若所述待处理请求的目标分组为增设的处理资源消耗分组,则根据所述各服务器各自的当前连接信息集合中与所述增设的处理资源消耗分组对应的当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
8.一种负载均衡处理装置,其特征在于,所述装置包括:
请求接收模块,用于接收待处理请求;
分组确定模块,用于根据预设的请求与处理资源消耗分组的对应关系,从预先创建的多个处理资源消耗分组中确定所述待处理请求所属的目标分组;
连接信息获取模块,用于获取各服务器各自的当前连接信息集合中与所述目标分组对应的当前连接信息;
服务器确定模块,用于根据所述各服务器各自的所述当前连接信息,确定所述各服务器中用于处理所述待处理请求的服务器。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202310298744.5A 2023-03-24 2023-03-24 负载均衡处理方法、装置、设备、介质和计算机程序产品 Pending CN116302547A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310298744.5A CN116302547A (zh) 2023-03-24 2023-03-24 负载均衡处理方法、装置、设备、介质和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310298744.5A CN116302547A (zh) 2023-03-24 2023-03-24 负载均衡处理方法、装置、设备、介质和计算机程序产品

Publications (1)

Publication Number Publication Date
CN116302547A true CN116302547A (zh) 2023-06-23

Family

ID=86830418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310298744.5A Pending CN116302547A (zh) 2023-03-24 2023-03-24 负载均衡处理方法、装置、设备、介质和计算机程序产品

Country Status (1)

Country Link
CN (1) CN116302547A (zh)

Similar Documents

Publication Publication Date Title
CN109032801B (zh) 一种请求调度方法、系统及电子设备和存储介质
US10133775B1 (en) Run time prediction for data queries
CN109800204B (zh) 数据分配方法及相关产品
Chen et al. Latency minimization for mobile edge computing networks
CN111176843A (zh) 基于多维度的负载均衡方法、装置及相关设备
WO2014194704A1 (en) A grouping processing method and system
CN112051771B (zh) 多云数据采集方法、装置、计算机设备和存储介质
CN114461407B (zh) 数据处理方法、装置、分发服务器、系统及存储介质
CN111858656A (zh) 一种基于分布式架构的静态数据的查询方法和设备
US11416517B2 (en) Partitioning data in a clustered database environment
CN117149382A (zh) 虚拟机调度方法、装置、计算机设备和存储介质
CN114201306B (zh) 基于负载均衡技术的多维地理空间实体分布方法及系统
CN116302547A (zh) 负载均衡处理方法、装置、设备、介质和计算机程序产品
CN112003900B (zh) 实现分布式系统中高负载场景下服务高可用的方法、系统
US9479579B2 (en) Grouping processing method and system
CN116382900A (zh) 负载均衡处理方法、装置、设备、介质和计算机程序产品
CN117453759B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN117992243B (zh) 用于中间件的负载均衡方法、装置和计算机设备
CN115102784B (zh) 权限信息管理方法、装置、计算机设备和存储介质
CN118012618A (zh) 接口请求的调度方法、装置、计算机设备、存储介质
CN116483658A (zh) 服务器性能监控方法、装置、系统、设备和存储介质
CN117082143A (zh) 资源调度方法、装置、计算机设备和存储介质
CN117149404A (zh) 探测任务资源分配方法、装置、计算机设备和存储介质
CN116915864A (zh) 用户请求的处理方法、装置、计算机设备和存储介质
CN116112442A (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