一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现负载均衡的方法、装置、电子设备和可读存储介质与流程

2021-10-27 21:58:00 来源:中国专利 TAG:数据处理 电子设备 装置 可读 负载均衡


1.本技术涉及计算机数据处理技术领域,尤其涉及一种实现负载均衡的方法、装置、电子设备和可读存储介质。


背景技术:

2.负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。目前已有的实现负载均衡技术方案主要有硬件负载均衡、静态负载均衡和动态负载均衡方案,这些方案均具有一定的优越性,但是也均存在一定的缺陷。硬件负载均衡即采用在终端与服务器之间部署硬件负载均衡设备,但是硬件负载成本高;静态负载均衡即事先设置分配好负载均衡的地址,该种方式一旦一个后端服务故障,所有指向该网关的终端均无法使用;动态负载均衡即支持注册中心功能的负载均衡网关,支持动态增减后端服务的转发,这种方式较静态负载均衡方式复杂,且自定义配置不够灵活。


技术实现要素:

3.本技术的目的旨在至少能解决上述的技术缺陷之一。本技术所采用的技术方案如下:
4.第一方面,本技术实施例提供一种实现负载均衡的方法,所述方法包括:
5.接收外部客户端请求;
6.根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述目标服务器包括于后端服务器集群;
7.其中所述预设负载均衡策略可以接受用户自定义编辑。
8.可选地,在接收外部客户端请求后,所述方法还包括对所述请求进行以下至少一项处理:
9.对所述请求进行认证,解码,解密、拦截。
10.可选地,在根据预设负载均衡策略将所述请求发送至目标服务器处理之前,所述方法还包括:
11.获取所述后端服务器集群的注册信息;其中所述注册信息包括:服务器集群数据库地址和服务器集群中各服务器接口使能信息;
12.将所述注册信息保存在数据库中。
13.可选地,所述根据预设负载均衡策略将所述请求发送至目标服务器处理包括:
14.接收到所述外部客户端请求时;查询所述后端服务器集群中使能信息为第一使能状态的目标服务器集群;其中所述第一使能状态的服务器为服务接口处于空闲状态的服务器;
15.根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述第一使能状态的目标服务器集群包括所述目标服务器。
16.可选地,所述查询所述后端服务器集群中使能信息为第一使能状态的目标服务器集群包括:
17.读取所述数据库中的服务器集群注册信息并写入缓存;
18.根据所述缓存的注册信息查询所述后端服务器集群中使能信息为第一使能状态的目标服务器集群。
19.可选地,所述预设的负载均衡策略包括:
20.轮询所述第一使能状态的目标服务器集群,以确定目标服务器;或,
21.根据所述第一使能的状态目标服务器集群的数量,设置所述目标服务器集群中每一个服务器处理所述请求的权重。
22.可选地,所述预设负载均衡策略包括:
23.将所述预设负载均衡策略存储于所述数据库中;
24.接收用户对所述预设负载均衡策略的编辑指令,通过java热加载技术完成所述预设负载均衡策略文件的编辑。
25.第二方面,本技术实施例提供了一种实现负载均衡装置,所述装置包括:接口模块、存储模块和编辑模块;其中,
26.所述接口模块,用于接收外部客户端请求;
27.所述接口模块,还用于根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述目标服务器包括于后端服务器集群;
28.所述存储模块,用于存储所述预设负载均衡策略;
29.所述编辑模块,用于接受用户对所述预设负载均衡策略的自定义编辑。
30.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器;
31.所述存储器,用于存储操作指令;
32.所述处理器,用于通过调用所述操作指令,执行上述实现负载均衡的方法。
33.第四方面,一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实现负载均衡的方法。
34.本技术实施例公开的实现负载均衡方案,所述方案包括接收外部客户端请求;根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述目标服务器包括于后端服务器集群;其中所述预设负载均衡策略可以接受用户自定义编辑。本技术实施例提供的技术方案带来的有益效果是通过本技术实施例公开的负载均衡分配方案,用户可以根据实际业务需求和后端服务器情况自定义配置负载均衡,提高了负载均衡方案的灵活性。
附图说明
35.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
36.图1为本技术实施例提供的一种实现负载均衡的方法的流程示意图;
37.图2为本技术实施例提供的一种实现负载均衡装置的结构示意图;
38.图3为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
39.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本发明的限制。
40.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
41.为更清楚地介绍本技术实施例,下面介绍一些可能用于实施例的定义、概念或装置:
42.传输控制协议(tcp,transmission control protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。tcp的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是ip层不提供这样的流机制,而是提供不可靠的包交换。应用层向tcp层发送用于网间传输的、用8位字节表示的数据流,然后tcp把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(mtu)的限制)。之后tcp把结果包传给ip层,由它来通过网络将包传送给接收端实体的tcp层。tcp为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ack);如果发送端实体在合理的往返时延(rtt)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。tcp用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
43.如前所述目前的三种负载均衡实现方案均存在一定的局限性,基于此本技术公开了一种实现负载均衡方案,以至少解决上述技术问题之一。
44.下面将结合附图以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
45.为使本技术的目的、技术方案和优点更加清楚,图1公开了本技术实施例提供的一种实现负载均衡的方法的流程图,所述方法应用于编目管理装置,如图1所示,所述方法包括:
46.s101、接收外部客户端请求;
47.在本技术可选实施例中,在接收外部客户端请求后,所述方法还包括对所述请求进行以下至少一项处理:
48.对所述请求进行认证,解码,解密、拦截。
49.s102、根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述目标服务器包括于后端服务器集群;其中所述预设负载均衡策略可以接受用户自定义编辑。
50.在本技术实施例中,所述外部客户端与所述目标服务器之间的通讯是基于tcp协议进行。
51.在本技术可选实施例中,在将所述请求转化至目标服务器处理后,将所述目标服务器处理所述请求的回执报文反馈至用户。
52.在本技术可选实施例中,所述负载均衡的方案具体实现过程可以为:
53.步骤1、获取所述后端服务器集群的注册信息;其中所述注册信息包括:服务器集群数据库地址和服务器集群中各服务器接口使能信息;
54.步骤2、将所述注册信息保存在数据库中;读取所述数据库中的服务器集群注册信息并写入缓存;
55.步骤3、接收到所述外部客户端请求时,根据所述缓存的注册信息查询所述后端服务器集群中使能信息为第一使能状态的目标服务器集群,其中所述第一使能状态的服务器为服务接口处于空闲状态的服务器;
56.步骤4、根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述第一使能状态的目标服务器集群包括所述目标服务器。
57.步骤5、将所述目标服务器处理所述请求的处理回执报文反馈至外部客户端,即用户。
58.从设备结构侧来说明,所述负载均衡方法运行于通讯系统中,所述系统包括外部客户端、负载均衡网关和后端服务器。外部客户端经所述负载均衡网关向所述后端服务器发起请求,所述请求被所述负载均衡网关按照预设的负载均衡策略发送至后端服务器中具体的ip复制服务器去执行,执行完毕后端服务器将执行报文经负载均衡网关反馈至外部客户端。
59.其中所述负载均衡网关系统又可以包括网关服务端、网关客户端、数据库,其中所述网关服务端用于接收外部客户端的请求,对所述请求进行常规的数据处理操作,包括认证、解密、解码、拦截等,此外所述网关服务端更重要地是用于根据数据库中存储的预设负载均衡策略将所述请求发送至后端服务器集群中具体的目标服务器;所述网关客户端主要是用于手读取后端服务器集群中各个服务器的注册信息,将所述注册信息发送至数据库中存储以便后续在接收外部客户端请求时方便调用查询。
60.在本技术可选实施例中,所述预设的负载均衡策略包括:
61.轮询所述第一使能状态的目标服务器集群,以确定目标服务器;或,
62.根据所述第一使能的状态目标服务器集群的数量,设置所述目标服务器集群中每一个服务器处理所述请求的权重,其中所述权重用于表征将所述请求发送至目标服务器处理的概率。举例来说,当查询到后端处于空闲状态的服务器集群为4个,那么可以将第一个服务器处理所述请求的权重设置为1/2,可以将剩下的三个服务器的权重分别设置为1/6。
63.在本技术可选实施例中,所述预设负载均衡策略包括:
64.将所述预设负载均衡策略存储于所述数据库中;
65.接收用户对所述预设负载均衡策略的编辑指令,通过java热加载技术完成所述预设负载均衡策略文件的编辑。本技术实施例可以设计一个插件来进行负载均衡策略的自定义,即用户可以在该插件中编辑均衡负载策略。该用于预设策略编辑的插件设计和运行过程为:设定插件接口规则,只要是符合该接口规则的插件都可配置到网关服务端中执行,该
插件通过java类实现,开发好接口之后,在上述数据库中配置好该插件信息,同时将该插件上传至网关服务端指定目录,然后在网关服务端刷新缓存过程中会通过java热加载技术配合数据库中的插件配置,对插件进行热加载,避免了负载均衡设备的重启,同时也使负载均衡策略插件生效。
66.基于图1所示的实施例提供的实现负载均衡的方法,图2示出了本技术实施例提供的一种实现负载均衡装置,如图2所示,该装置主要可以包括:所述装置包括:201接口模块、202存储模块和203编辑模块;其中,
67.所述201接口模块,用于接收外部客户端请求;
68.所述201接口模块,还用于根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述目标服务器包括于后端服务器集群;
69.所述202存储模块,用于存储所述预设负载均衡策略;
70.所述203编辑模块,用于接受用户对所述预设负载均衡策略的自定义编辑。
71.从设备结构侧来说明,所述负载均衡方法运行于通讯系统中,所述系统包括外部客户端、负载均衡网关和后端服务器。外部客户端经所述负载均衡网关向所述后端服务器发起请求,所述请求被所述负载均衡网关按照预设的负载均衡策略发送至后端服务器中具体的ip复制服务器去执行,执行完毕后端服务器将执行报文经负载均衡网关反馈至外部客户端。
72.其中所述负载均衡网关系统又可以包括网关服务端、网关客户端、数据库,其中所述网关服务端用于接收外部客户端的请求,对所述请求进行常规的数据处理操作,包括认证、解密、解码、拦截等,此外所述网关服务端更重要地是用于根据数据库中存储的预设负载均衡策略将所述请求发送至后端服务器集群中具体的目标服务器;所述网关客户端主要是用于手读取后端服务器集群中各个服务器的注册信息,将所述注册信息发送至数据库中存储以便后续在接收外部客户端请求时方便调用查询。所述网关服务端中包括有接口模块,所述存储模块用于存储所述数据库;所述编辑模块也可以设置在网关服务端中。
73.可以理解的是,本实施例中的实现负载均衡装置的上述各模块具有实现图1中所示的实施例中的方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述各模块的功能描述具体可以参见图1中所示实施例中的方法的对应描述,在此不再赘述。
74.本技术实施例提供了一种电子设备,包括处理器和存储器;
75.存储器,用于存储操作指令;
76.处理器,用于通过调用操作指令,执行本技术任一实施方式中所提供的实现负载均衡的方法。
77.作为一个示例,图3示出了本技术实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本技术实施例的限定。
78.其中,处理器2001应用于本技术实施例中,用于实现上述方法实施例所示的方法。
收发器2004可以包括接收机和发射机,收发器2004应用于本技术实施例中,用于执行时实现本技术实施例的电子设备与其他设备通信的功能。
79.处理器2001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
80.总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
81.存储器2003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd

rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
82.可选的,存储器2003用于存储执行本技术方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本技术任一实施方式中所提供的实现负载均衡的方法。
83.本技术实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
84.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的实现负载均衡的方法。
85.本技术实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
86.本技术实施例公开的实现负载均衡方案,通过所述方案包括接收外部客户端请求;根据预设负载均衡策略,将所述请求发送至目标服务器处理;其中所述目标服务器包括于后端服务器集群;其中所述预设负载均衡策略可以接受用户自定义编辑。本技术实施例提供的技术方案带来的有益效果是通过本技术实施例公开的负载均衡分配方案,用户可以根据实际业务需求和后端服务器情况自定义配置负载均衡,提高了负载均衡方案的灵活性。
87.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一
部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
88.以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜