CN116974757A - 负载均衡方法、装置、存储介质及处理器 - Google Patents

负载均衡方法、装置、存储介质及处理器 Download PDF

Info

Publication number
CN116974757A
CN116974757A CN202310792432.XA CN202310792432A CN116974757A CN 116974757 A CN116974757 A CN 116974757A CN 202310792432 A CN202310792432 A CN 202310792432A CN 116974757 A CN116974757 A CN 116974757A
Authority
CN
China
Prior art keywords
load balancing
service
request data
rule
priority
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
CN202310792432.XA
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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202310792432.XA priority Critical patent/CN116974757A/zh
Publication of CN116974757A publication Critical patent/CN116974757A/zh
Pending legal-status Critical Current

Links

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/5083Techniques for rebalancing the load in a distributed system
    • 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

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

负载均衡方法、装置、存储介质及处理器
技术领域
本申请涉及计算机技术领域,具体涉及一种负载均衡方法、一种负载均衡装置、一种机器可读存储介质、一种处理器及一种计算机程序产品。
背景技术
负载均衡是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行。对于一般的负载均衡系统,不同的核心组件需要单独的多台物理机 构建负载均衡系统,这样能够保证整个系统的稳定性和响应,但是相应的成本也会提高很多。
对于小型业务服务来说,由于平时访问量较少,单独用物理机部署不同业务面临着成本高的问题;为了降低成本,常常采用单个物理机部署不同业务,这种方式部署的负载均衡系统,在面临服务器若干服务流量过大的时候,负载均衡系统会依据报文顺序丢弃报文,所有的网络响应都是以到达次序进行处理与丢弃,就无法保证核心系统的稳定性和及时响应。
发明内容
本申请实施例的目的是提供一种负载均衡方法、一种负载均衡装置、一种机器可读存储介质、一种处理器及一种计算机程序产品。
为了实现上述目的,本申请第一方面提供一种负载均衡方法,所述负载均衡方法包括:
获取请求数据,所述请求数据包括多个业务请求数据;
将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
在本申请实施例中,多个级别的负载均衡线程的构建过程包括:
在linux的内核中隔离出多个CPU核;
分别在各个CPU核上设定不同运行级别的运行线程,得到多个级别的负载均衡线程。
在本申请实施例中,每一个负载均衡线程包括多个不同优先级的服务节点分组,每一个服务节点分组包括多个服务节点,每一个服务节点包含一条负载均衡的规则,以用于实现负载均衡服务。
在本申请实施例中,所述负载均衡线程实现负载均衡服务的过程包括:
根据业务请求数据,分别在各个服务节点分组中查找对应的负载均衡的规则;
在当前服务节点分组中查找到对应的负载均衡的规则的情况下,采用所述对应的负载均衡的规则所属的服务节点转发所述业务请求数据;
在当前服务节点分组中未查找到对应的负载均衡的规则的情况下,确定比当前服务节点分组高一级优先级的服务节点分组,并在高一级优先级的服务节点分组中查找对应的负载均衡的规则。
在本申请实施例中,每一个服务节点分组还包括一个信息节点;
所述基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务,包括:
所述信息节点根据所述性能信息和预设的优先级关闭规则,判断是否需要关闭当前服务节点分组;
确定需要关闭当前服务节点分组,则关闭当前服务节点分组中的服务节点,以关闭相应的负载均衡服务。
在本申请实施例中,所述获取请求数据,包括:
采用数据平面开发套件接管网卡流量,并不断从网卡上轮询,以得到请求数据。
本申请第二方面提供一种负载均衡装置,所述负载均衡装置包括:
获取模块,用于获取请求数据,所述请求数据包括多个业务请求数据;
应用模块,用于将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
判断模块,用于实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
关闭模块,用于在确定当前的负载均衡服务受到网络冲击的情况下,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
本申请第三方面提供一种处理器,被配置成执行上述的负载均衡方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的负载均衡方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的负载均衡方法。
通过上述技术方案,通过获取请求数据,所述请求数据包括多个业务请求数据;将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
通过设置不同级别的负载均衡线程,使业务请求可以区分优先级,在受到网络冲击时,能够根据负载均衡线程的优先级关闭优先级较低的负载均衡服务,使高优先级别的负载均衡服务所受冲击影响远远小于中、低优型负载均衡服务,保证了核心系统的稳定性和及时响应。同时,该负载均衡只需要在单个物理机中就可以部署实现,降低了成本。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的一种负载均衡方法的流程示意图;
图2示意性示出了根据本申请实施例的负载均衡实现结构框图;
图3示意性示出了根据本申请实施例的一种负载均衡装置的结构框图;
图4示意性示出了根据本申请实施例的计算机设备的内部结构图。
附图标记说明
410-获取模块;420-应用模块;430-判断模块;440-关闭模块;A01-处理器;A02-网络接口;A03-内存储器;A04-显示屏;A05-输入装置;A06-非易失性存储介质;B01-操作系统;B02-计算机程序。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
需要说明,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1示意性示出了根据本申请实施例的负载均衡方法的流程示意图。如图1所示,在本申请一实施例中,提供了一种负载均衡方法,通过设置不同级别的负载均衡线程,使业务请求可以区分优先级,在受到网络冲击时,能够根据负载均衡线程的优先级关闭优先级较低的负载均衡服务,使高优先级别的负载均衡服务所受冲击影响远远小于中、低优型负载均衡服务,保证了核心系统的稳定性和及时响应。同时,该负载均衡只需要在单个物理机中就可以部署实现,降低了成本。所述负载均衡方法包括以下步骤:
步骤210:获取请求数据,所述请求数据包括多个业务请求数据;
在本实施例中,上述获取可以是从网卡上轮询获取得到。上述业务请求数据包括业务类型、业务名称、目的地址、目的端口等参数。
其中,为了能够快速获取到请求数据,可以采用数据平面开发套件(Data PlaneDevelopment Kit,DPDK)接管网卡流量,并不断从网卡上轮询,以得到请求数据。DPDK主要基于Linux系统运行,可用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率,从而能够快速获取得到请求数据。同时,在具体实施时,通过DPDK接管网卡流量,来指定所有网卡流量都经过本负载均衡系统,保证了网卡的优先级,从而提高了请求数据的可靠性。
步骤220:将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
在本实施例中,可以预先设置多个级别的负载均衡线程,比如包括高优先级负载均衡线程、中优先级负载均衡线程和低优先级负载均衡线程。请参看图2,图2示意性示出了根据本申请实施例的负载均衡实现结构框图。其中,为了保证各个负载均衡线程处理时互不影响,可以通过在linux的内核隔离不同的 CPU 核,指定不同的负载均衡线程运行在不同的CPU核上,以实现多个级别的负载均衡线程。具体包括以下步骤:
首先,在linux的内核中隔离出多个CPU核;需要说明的是,这里隔离出的CPU核可以是单独的CPU,也可以是多个CPU组成。比如:隔离CPU(n1)和CPU(n2)作为一个CPU核。其中CPU核的数量与负载均衡线程的级别的个数对应。
然后,分别在各个CPU核上设定不同运行级别的运行线程,得到多个级别的负载均衡线程。
在本实施例中,在各个CPU核上设定设置不同级别的运行线程。比如:隔离出3个CPU核,在第一CPU核上设置高优先级运行线程A,在第二CPU核上设置中优先级运行线程B,在第三CPU核上设置低优先级运行线程C。
通过隔离不同的 CPU 核,指定不同的负载均衡线程运行在不同的CPU核上,并设置线程的优先级,实现了CPU核调度的优先级,同时使负载均衡线程运行互不影响,保证了负载均衡线程性能。
在获取到业务请求数据后,可以根据预设的线程优先级分配规则给各个业务请求数据分别对应的负载均衡线程,所述预设的线程优先级分配规则可以是根据需要预先设置好的分配规则,比如:线程优先级分配规则中设置业务请求A采用高优先级负载均衡线程进行处理,设置业务请求B采用低优先级负载均衡线程进行处理。这样就可以实现不同的业务请求采用不同级别的负载均衡线程进行负载均衡转发的实现,保证了不同负载均衡线程的优先级处理过程。
其中,为了进一步实现线程的优先级,每一个负载均衡线程包括多个不同优先级的服务节点分组,每一个服务节点分组包括多个服务节点,每一个服务节点包含一条负载均衡的规则,以用于实现负载均衡服务。
在本实施例中,每个服务节点分组依据规则配置信息创建若干个服务节点,服务节点包含一条负载均衡的规则,即包括源地址、源端口、目的地址、目的端口、负载均衡方法、负载均衡参数、健康检查参数配置,用于真正实现相应的负载均衡方法。
具体实施时,当负载均衡应用启动时,首先读取配置文件,从中获取到当前配置的CPU 核隔离状态,并且与 DPDK 获取的信息进行对比,当校验 CPU 核无误时应用正常启动。启动后,应用依据之前运行保存的时候规则配置信息分别配置高、中、低三个不同的负载均衡线程,在每个线程中会依据配置的优先级创建有不同的服务节点分组。
通过在负载均衡线程设置不同优先级的服务节点分组,并在服务节点分组中设置服务节点,服务节点包含一条负载均衡的规则,实现了对负载均衡的规则进行优先级分级,使得在负载均衡线程内部进一步实现分级处理的功能,从而实现多级优先级处理的负载均衡服务,以便于在负载均衡线程中实现不同优先级别的负载均衡服务。同时,在负载均衡线程进行负载均衡转发实现时,可以根据优先级匹配出负载均衡的规则,从而能够快速确定负载均衡的规则,以便于快速完成负载均衡。
相应地,所述负载均衡线程实现负载均衡服务的过程包括以下步骤:
首先,根据业务请求数据,分别在各个服务节点分组中查找对应的负载均衡的规则;包括以下两种情况:
第一种,在当前服务节点分组中查找到对应的负载均衡的规则的情况下,采用所述对应的负载均衡的规则所属的服务节点转发所述业务请求数据;
第二种,在当前服务节点分组中未查找到对应的负载均衡的规则的情况下,确定比当前服务节点分组高一级优先级的服务节点分组,并在高一级优先级的服务节点分组中查找对应的负载均衡的规则。
在本实施例中,每个负载均衡线程收到的请求消息依次由各个负载均衡线程进行解包处理,负载均衡线程的解包处理过程包括两种:第一种是每一级的服务节点分组进行查找时,在查找到了相应的负载均衡规则时,该业务请求由负载均衡规则对应的服务节点进行转发。其中,在查找时可以采用哈希编码进行查找,还可以是根据业务请求类型进行查找,具体本实施例不做限定;第二种是当未查找到相应的负载均衡规则时,通过共享内存依次往高一级优先级的服务节点分组进行传递,其中最高优先级的服务节点分组未找到规则时,直接向最低优先级的服务节点分组进行传递。
通过分别在各个服务节点分组中查找对应的负载均衡的规则,在查找到对应的负载均衡的规则的情况下,采用对应的服务节点转发所述业务请求数据,未查找到对应的负载均衡的规则的情况下,继续在高一级优先级的服务节点分组中查找对应的负载均衡的规则,从而能够快速确定转发的服务节点,以保证负载均衡服务稳定实现。
步骤230:实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
上述实现负载均衡后,正常情况下,各个负载均衡线程分别进行转包处理,为了保证在受到网络冲击时,核心业务请求服务响应的稳定性和及时性,需要实施监控是否受到网络冲击。具体可以是通过从性能监听器中获取实施性能信息,并根据当前的性能信息判断是否有网络冲击。
步骤240:确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
在本实施例中,为了保证核心业务请求服务的响应,在受到网络冲击时,可以将优先级较低的负载均衡服务关闭,直到性能恢复时重新开启。在没有受到网络冲击时,各个负载均衡线程分别进行转包处理。
在一些实施例中,可以在每一个负载均衡线程中设置用于关闭或开启的当前线程的节点,具体为:每一个服务节点分组还包括一个信息节点;
所述基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务,包括以下步骤:
首先,所述信息节点根据所述性能信息和预设的优先级关闭规则,判断是否需要关闭当前服务节点分组;
然后,确定需要关闭当前服务节点分组,则关闭当前服务节点分组中的服务节点,以关闭相应的负载均衡服务。
在本实施例中,信息节点用于记录当前服务节点分组是否被选用,信息节点的信息取自于性能监听器,信息节点根据不同的优先级算法计算出本节点组是否需要关闭,在需要关闭时,会从相应的服务节点分组中关闭当前所有服务节点,并等待性能恢复时自动恢复相应的服务节点。
通过设置信息节点,在受到网络冲击时,能够及时判断出是否需要关闭当前所有服务节点,使用信息节点对不同服务节点分组进行实时开关,在需要关闭时,及时关闭相应的服务节点。通过设置信息节点可以分别控制各个服务节点分组,从而实现分级关闭负载均衡服务,能够保证核心服务的稳定性和非核心规则的及时恢复。由于设置了不同优先级的服务节点分组,使得在关闭服务节点时可以根据优先级来进行关闭,使高优先级别的负载均衡服务所受冲击影响远远小于中、低优型负载均衡服务,进一步保证了核心服务的稳定响应。
上述实现过程中,通过获取请求数据,所述请求数据包括多个业务请求数据;将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。通过设置不同级别的负载均衡线程,使业务请求可以区分优先级,在受到网络冲击时,能够根据负载均衡线程的优先级关闭优先级较低的负载均衡服务,使高优先级别的负载均衡服务所受冲击影响远远小于中、低优型负载均衡服务,保证了核心系统的稳定性和及时响应。同时,该负载均衡只需要在单个物理机中就可以部署实现,降低了成本。通过在负载均衡线程中设置不同优先级的服务节点分组,并在服务节点分组中设置服务节点,服务节点包含一条负载均衡的规则,实现了对负载均衡的规则进行优先级分级,以便于在负载均衡线程中实现不同优先级别的负载均衡服务。
图1为一个实施例中负载均衡方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参看图3,图3示意性示出了根据本申请实施例的一种负载均衡装置的结构框图。本实施例提供一种负载均衡装置,所述负载均衡装置包括获取模块410、应用模块420、判断模块430和关闭模块440:
获取模块410,用于获取请求数据,所述请求数据包括多个业务请求数据;
应用模块420,用于将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
判断模块430,用于实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
关闭模块440,用于确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
其中,还包括:
隔离模块,用于在linux的内核中隔离出多个CPU核;
设定模块,用于分别在各个CPU核上设定不同运行级别的运行线程,得到多个级别的负载均衡线程。
其中,每一个负载均衡线程包括多个不同优先级的服务节点分组,每一个服务节点分组包括多个服务节点,每一个服务节点包含一条负载均衡的规则,以用于实现负载均衡服务。
其中,所述应用模块420包括:
查找单元,用于根据业务请求数据,分别在各个服务节点分组中查找对应的负载均衡的规则;
转发单元,用于在当前服务节点分组中查找到对应的负载均衡的规则的情况下,采用所述对应的负载均衡的规则所属的服务节点转发所述业务请求数据;
确定单元,用于在当前服务节点分组中未查找到对应的负载均衡的规则的情况下,确定比当前服务节点分组高一级优先级的服务节点分组,并在高一级优先级的服务节点分组中查找对应的负载均衡的规则。
其中,每一个服务节点分组还包括一个信息节点;
所述关闭模块440包括:
判断单元,用于所述信息节点根据所述性能信息和预设的优先级关闭规则,判断是否需要关闭当前服务节点分组;
关闭节点模块,用于在确定需要关闭当前服务节点分组的情况下,则关闭当前服务节点分组中的服务节点,以关闭相应的负载均衡服务。
其中,所述获取模块410包括:
DPDK驱动单元,用于采用数据平面开发套件接管网卡流量,并不断从网卡上轮询,以得到请求数据。
所述负载均衡装置包括处理器和存储器,上述获取模块410、应用模块420、判断模块430和关闭模块430等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对负载均衡方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现上述负载均衡方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述负载均衡方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种负载均衡方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的负载均衡装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该负载均衡装置的各个程序模块,比如,图3所示的获取模块410、应用模块420、判断模块430和关闭模块430。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的负载均衡方法中的步骤。
图4所示的计算机设备可以通过如图3所示的负载均衡装置中的获取模块410执行步骤210。计算机设备可通过应用模块420执行步骤220,计算机设备可通过判断模块430执行步骤230,计算机设备可通过关闭模块440执行步骤240。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取请求数据,所述请求数据包括多个业务请求数据;
将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
在一个实施例中,多个级别的负载均衡线程的构建过程包括:
在linux的内核中隔离出多个CPU核;
分别在各个CPU核上设定不同运行级别的运行线程,得到多个级别的负载均衡线程。
在一个实施例中,每一个负载均衡线程包括多个不同优先级的服务节点分组,每一个服务节点分组包括多个服务节点,每一个服务节点包含一条负载均衡的规则,以用于实现负载均衡服务。
在一个实施例中,所述负载均衡线程实现负载均衡服务的过程包括:
根据业务请求数据,分别在各个服务节点分组中查找对应的负载均衡的规则;
在当前服务节点分组中查找到对应的负载均衡的规则的情况下,采用所述对应的负载均衡的规则所属的服务节点转发所述业务请求数据;
在当前服务节点分组中未查找到对应的负载均衡的规则的情况下,确定比当前服务节点分组高一级优先级的服务节点分组,并在高一级优先级的服务节点分组中查找对应的负载均衡的规则。
在一个实施例中,每一个服务节点分组还包括一个信息节点;
所述基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务,包括:
所述信息节点根据所述性能信息和预设的优先级关闭规则,判断是否需要关闭当前服务节点分组;
确定需要关闭当前服务节点分组,则关闭当前服务节点分组中的服务节点,以关闭相应的负载均衡服务。
在一个实施例中,所述获取请求数据,包括:
采用数据平面开发套件接管网卡流量,并不断从网卡上轮询,以得到请求数据。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取请求数据,所述请求数据包括多个业务请求数据;
将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
在一个实施例中,多个级别的负载均衡线程的构建过程包括:
在linux的内核中隔离出多个CPU核;
分别在各个CPU核上设定不同运行级别的运行线程,得到多个级别的负载均衡线程。
在一个实施例中,每一个负载均衡线程包括多个不同优先级的服务节点分组,每一个服务节点分组包括多个服务节点,每一个服务节点包含一条负载均衡的规则,以用于实现负载均衡服务。
在一个实施例中,所述负载均衡线程实现负载均衡服务的过程包括:
根据业务请求数据,分别在各个服务节点分组中查找对应的负载均衡的规则;
在当前服务节点分组中查找到对应的负载均衡的规则的情况下,采用所述对应的负载均衡的规则所属的服务节点转发所述业务请求数据;
在当前服务节点分组中未查找到对应的负载均衡的规则的情况下,确定比当前服务节点分组高一级优先级的服务节点分组,并在高一级优先级的服务节点分组中查找对应的负载均衡的规则。
在一个实施例中,每一个服务节点分组还包括一个信息节点;
所述基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务,包括:
所述信息节点根据所述性能信息和预设的优先级关闭规则,判断是否需要关闭当前服务节点分组;
确定需要关闭当前服务节点分组,则关闭当前服务节点分组中的服务节点,以关闭相应的负载均衡服务。
在一个实施例中,所述获取请求数据,包括:
采用数据平面开发套件接管网卡流量,并不断从网卡上轮询,以得到请求数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种负载均衡方法,其特征在于,所述负载均衡方法包括:
获取请求数据,所述请求数据包括多个业务请求数据;
将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
确定当前的负载均衡服务受到网络冲击,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
2.根据权利要求1所述的方法,其特征在于,多个级别的负载均衡线程的构建过程包括:
在linux的内核中隔离出多个CPU核;
分别在各个CPU核上设定不同运行级别的运行线程,得到多个级别的负载均衡线程。
3.根据权利要求1所述的方法,其特征在于,每一个负载均衡线程包括多个不同优先级的服务节点分组,每一个服务节点分组包括多个服务节点,每一个服务节点包含一条负载均衡的规则,以用于实现负载均衡服务。
4.根据权利要求3所述的方法,其特征在于,所述负载均衡线程实现负载均衡服务的过程包括:
根据业务请求数据,分别在各个服务节点分组中查找对应的负载均衡的规则;
在当前服务节点分组中查找到对应的负载均衡的规则的情况下,采用所述对应的负载均衡的规则所属的服务节点转发所述业务请求数据;
在当前服务节点分组中未查找到对应的负载均衡的规则的情况下,确定比当前服务节点分组高一级优先级的服务节点分组,并在高一级优先级的服务节点分组中查找对应的负载均衡的规则。
5.根据权利要求3所述的方法,其特征在于,每一个服务节点分组还包括一个信息节点;
所述基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务,包括:
所述信息节点根据所述性能信息和预设的优先级关闭规则,判断是否需要关闭当前服务节点分组;
确定需要关闭当前服务节点分组,则关闭当前服务节点分组中的服务节点,以关闭相应的负载均衡服务。
6.根据权利要求1所述的方法,其特征在于,所述获取请求数据,包括:
采用数据平面开发套件接管网卡流量,并不断从网卡上轮询,以得到请求数据。
7.一种负载均衡装置,其特征在于,所述负载均衡装置包括:
获取模块,用于获取请求数据,所述请求数据包括多个业务请求数据;
应用模块,用于将各个业务请求数据分别按照预设的线程优先级分配规则分配至对应级别的负载均衡线程进行处理,以实现多个级别的负载均衡服务;
判断模块,用于实时获取性能信息,并根据所述性能信息判断当前的负载均衡服务是否受到网络冲击;
关闭模块,用于在确定当前的负载均衡服务受到网络冲击的情况下,基于所述性能信息,按照预设的优先级关闭规则关闭相应的负载均衡服务。
8.一种处理器,其特征在于,被配置成执行根据权利要求1-6中任一项所述的负载均衡方法。
9.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至6中任一项所述的负载均衡方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现根据权利要求1至6中任一项所述的负载均衡方法。
CN202310792432.XA 2023-06-30 2023-06-30 负载均衡方法、装置、存储介质及处理器 Pending CN116974757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310792432.XA CN116974757A (zh) 2023-06-30 2023-06-30 负载均衡方法、装置、存储介质及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310792432.XA CN116974757A (zh) 2023-06-30 2023-06-30 负载均衡方法、装置、存储介质及处理器

Publications (1)

Publication Number Publication Date
CN116974757A true CN116974757A (zh) 2023-10-31

Family

ID=88484154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310792432.XA Pending CN116974757A (zh) 2023-06-30 2023-06-30 负载均衡方法、装置、存储介质及处理器

Country Status (1)

Country Link
CN (1) CN116974757A (zh)

Similar Documents

Publication Publication Date Title
Yao et al. Fog resource provisioning in reliability-aware IoT networks
US10838890B2 (en) Acceleration resource processing method and apparatus, and network functions virtualization system
US20200137151A1 (en) Load balancing engine, client, distributed computing system, and load balancing method
JP6571161B2 (ja) アプリケーショントポロジ関係を探索するための方法、装置、およびシステム
US20070005739A1 (en) Method and apparatus for dynamically controlling the selection and redundancy of web service components
US20080263554A1 (en) Method and System for Scheduling User-Level I/O Threads
US20060218372A1 (en) Selective event registration
US20190327190A1 (en) Technologies for scalable packet reception and transmission
CN113032099B (zh) 云计算节点、文件管理方法及装置
CN105357042B (zh) 一种高可用集群系统及其主节点和从节点
CN112714164A (zh) 一种物联网系统及其任务调度方法
WO2023091215A1 (en) Mapping an application signature to designated cloud resources
CN113590285A (zh) 一种用于线程池参数动态设置的方法、系统及设备
CN113037812A (zh) 数据包调度方法、装置、电子设备、介质和智能网卡
CN116521341A (zh) 中断任务处理方法、装置、芯片、存储介质
CN116974757A (zh) 负载均衡方法、装置、存储介质及处理器
CN111556043B (zh) 一种报文处理方法、装置、系统、设备及可读存储介质
JP2017142647A (ja) リソース管理装置及びリソース管理方法
US20230262146A1 (en) Analyzing network data for debugging, performance, and identifying protocol violations using parallel multi-threaded processing
US11863404B1 (en) Systems and methods for calculating optimum customer access paths for applications provided by multi-cloud providers through private networks
CN110798411A (zh) 服务调用方法、流量调度方法及装置
US20230195544A1 (en) Event log management
US20240202017A1 (en) Systems and methods for deploying a containerized network function (cnf) based on information regarding the cnf
US20240273165A1 (en) Reduction of capture latency in active-active solution
US20220141079A1 (en) System and method for mitigating analytics loads between hardware devices

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