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

负载均衡的方法、装置、电子设备、存储介质及程序产品与流程

2022-11-13 23:53:20 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别是涉及一种负载均衡的方法、装置、电子设备、存储介质及程序产品。


背景技术:

2.ap(access point,无线接入点)和ac(access controller,无线控制器)是组成wlan(wireless local area network,无线局域网)设备的两个主要部分。随着wlan网络的发展,市场对wlan网络的安全和稳定有了更高的要求,云ac是一种必然的趋势。
3.一台fttr(fiber to the room,全屋光纤)服务器中应至少包含两个实例ac组织成为ac组,如何实现各个实例ac间的负载均衡是一个值得探讨的问题。相关技术中的负载方法主要有两种方式,一种是静态指定每个ap对应的实例ac,缺点在于需要人工接入且不能实现运行中的负载均衡;一种是ac组内各个实例ac定期通信,每个实例ac均知道所有实例ac的负载,以此分配ap连接,缺点在于定期通信占用资源。


技术实现要素:

4.鉴于上述问题,本发明实施例提供了一种负载均衡的方法、装置、电子设备、存储介质及程序产品,以便克服上述问题或者至少部分地解决上述问题。
5.本发明实施例的第一方面,提供了一种负载均衡的方法,应用于服务器,所述服务器上布署有管理权分配进程和多个实例ac进程;所述方法包括:
6.向所述多个实例ac进程广播ap的注册通知;
7.所述多个实例ac进程各自判断自身负载是否满足所述注册通知的接收条件;
8.自身负载满足所述注册通知的接收条件的实例ac进程,向所述管理权分配进程发送所述ap的管理权获取请求;
9.所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程;
10.获取到所述管理权的实例ac进程,与所述ap建立连接。
11.可选地,所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程,包括:
12.所述管理权分配进程将所述管理权分配给最先发送所述管理权获取请求的实例ac进程,自身负载满足所述注册通知的接收条件的实例ac进程的负载越高,发送所述管理权获取请求的速度越慢。
13.可选地,自身负载满足所述注册通知的接收条件的实例ac进程,向所述管理权分配进程发送所述ap的管理权获取请求,包括:
14.自身负载满足所述注册通知的接收条件且自身负载高于负载阈值的实例ac进程,在监听到所述注册通知再延迟固定时间后发送所述管理权获取请求;
15.自身负载满足所述注册通知的接收条件且自身负载不高于所述负载阈值的实例
ac进程,在监听到所述注册通知后立即发送所述管理权获取请求。
16.可选地,所述多个实例ac进程各自判断自身负载是否满足所述注册通知的接收条件,包括:
17.所述多个实例ac进程各自判断自身负载以及以下因子中的至少一者是否满足所述注册通知的接收条件,所述因子包括:自身支持的ap型号、自身性能参数值、最多能接收的ap数量。
18.可选地,在所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程之后,还包括:
19.所述管理权分配进程广播所述管理权已被分配通知;
20.自身负载满足所述注册通知的接收条件的实例ac进程,在监听到所述通知后,停止发送所述ap的管理权获取请求。
21.可选地,获取到所述管理权的实例ac进程,与所述ap建立连接,包括:
22.获取到所述管理权的实例ac进程,将自身的地址和端口号通知所述ap;
23.获取到所述管理权的实例ac进程,根据所述ap在接收到所述地址和所述端口号后返回的信息,与所述ap建立连接。
24.本发明实施例的第二方面,提供了一种负载均衡的装置,应用于服务器,所述服务器上布署有管理权分配进程和多个实例ac进程;所述装置包括:
25.广播模块,用于向所述多个实例ac进程广播ap的注册通知;
26.判断模块,用于使所述多个实例ac进程各自判断自身负载是否满足所述注册通知的接收条件;
27.发送模块,用于使自身负载满足所述注册通知的接收条件的实例ac进程,向所述管理权分配进程发送所述ap的管理权获取请求;
28.分配模块,用于使所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程;
29.连接模块,用于使获取到所述管理权的实例ac进程,与所述ap建立连接。
30.可选地,所述分配模块包括:
31.分配单元,用于使所述管理权分配进程将所述管理权分配给最先发送所述管理权获取请求的实例ac进程,自身负载满足所述注册通知的接收条件的实例ac进程的负载越高,发送所述管理权获取请求的速度越慢。
32.可选地,所述发送模块包括:
33.第一发送单元,用于使自身负载满足所述注册通知的接收条件且自身负载高于负载阈值的实例ac进程,在监听到所述注册通知再延迟固定时间后发送所述管理权获取请求;
34.第二发送单元,用于使自身负载满足所述注册通知的接收条件且自身负载不高于所述负载阈值的实例ac进程,在监听到所述注册通知后立即发送所述管理权获取请求。
35.可选地,所述判断模块包括:
36.判断单元,用于使所述多个实例ac进程各自判断自身负载以及以下因子中的至少一者是否满足所述注册通知的接收条件,所述因子包括:自身支持的ap型号、自身性能参数值、最多能接收的ap数量。
37.可选地,在所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程之后,还包括:
38.通知模块,用于使所述管理权分配进程广播所述管理权已被分配通知;
39.停止模块,用于使自身负载满足所述注册通知的接收条件的实例ac进程,在监听到所述通知后,停止发送所述ap的管理权获取请求。
40.可选地,所述连接模块包括:
41.通知单元,用于使获取到所述管理权的实例ac进程,将自身的地址和端口号通知所述ap;
42.建立单元,用于使获取到所述管理权的实例ac进程,根据所述ap在接收到所述地址和所述端口号后返回的信息,与所述ap建立连接。
43.本发明实施例的第三方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的负载均衡的方法。
44.本发明实施例的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的负载均衡的方法。
45.本发明实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的负载均衡的方法。
46.本发明实施例包括以下优点:
47.本实施例中,在接收到ap的注册通知时,每个实例ac根据自身负载即可确定是否向管理权分配进程发送ap的管理权获取请求,管理权分配进程将管理权分配给一个发送管理权获取请求的实例ac进程,以使该实例ac与ap之间建立连接。其中,多个实例ac之间无需共享负载信息,管理权分配进程也无需知道实例ac的负载信息,即可完成管理权的分配,从而实现实例ac之间的负载均衡。整个过程具有无需人工介入,无需实例ac之间进行通信,效率高、占用资源低等优点。
附图说明
48.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1是本发明实施例中一种负载均衡的方法的步骤流程图;
50.图2是相关技术中实例ac进程竞争管理权的示意图;
51.图3是相关技术中实例ac进程竞争管理权的示意图;
52.图4是本发明实施例中实例ac进程竞争管理权的示意图;
53.图5是本发明实施例中一种负载均衡的装置的结构示意图。
具体实施方式
54.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实
施方式对本技术作进一步详细的说明。
55.参照图1所示,示出了本发明实施例中一种负载均衡的方法步骤流程图,该负载均衡的方法应用于服务器,所述服务器可以为fttr服务器,或与fttr服务器具有相同或类似功能的服务器。所述服务器上布署有管理权分配进程和多个实例ac进程,多个实例ac进程组成ac组。如图1所示,该负载均衡的方法具体可以包括以下步骤:
56.步骤s11:向所述多个实例ac进程广播ap的注册通知。
57.ap根据配置文件可以得知服务器的ip(internet protocol,网际互连协议)和port(端口号),从而向服务器发送注册请求,根据该注册请求,服务器向多个实例ac进程广播该ap的注册通知,以使该ap可以与服务器内的一个实例ac进程建立连接。
58.步骤s12:所述多个实例ac进程各自判断自身负载是否满足所述注册通知的接收条件。
59.每个实例ac进程在接收到服务器广播的ap的注册通知后,判断自身的负载是否满足该注册通知的接收条件,接收条件可以根据实际需求进行设置。例如,可以是判断自身的负载是否还有空闲,也可以是判断自身的负载是否超过固定值等。
60.可选地,每个实例ac进程在判断自身负载是否满足注册通知的接收条件之外,还可以判断自身支持的ap型号、自身性能参数、最多能接收的ap数量等一个或多个因子是否满足注册通知的接收条件。
61.如此,可以使满足注册通知的接收条件从而发送ap的管理权获取请求的实例ac进程,为在多个方面都和该ap比较适配的实例ac进程。
62.步骤s13:自身负载满足所述注册通知的接收条件的实例ac进程,向所述管理权分配进程发送所述ap的管理权获取请求。
63.自身负载不满足注册通知的接收条件的实例ac进程,或自身负载及一个或多个因子不满足注册通知的接收条件的实例ac进程,则忽视该注册通知。
64.自身负载满足注册通知的接收条件的实例ac进程,或自身负载及一个或多个因子满足注册通知的接收条件的实例ac进程,向管理权分配进程发送ap的管理权获取请求。
65.步骤s14:所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程。
66.一个ap的管理权具有唯一性,只能属于一个实例ac进程。管理权分配进程将ap的管理权分配给发送管理权获取请求的实例ac进程中的一个。
67.可选地,当管理权分配给一个实例ac进程后,管理权分配进程会向所有实例ac进程广播管理权已被分配通知,自身负载满足注册通知的接收条件的实例ac进程,或自身负载及一个或多个因子满足注册通知的接收条件的实例ac进程,在监听到管理权已分配通知后,停止发送该ap的管理权获取请求。
68.如此,可以避免其他必然无法获取到该管理权的实例ac进程继续发送管理权获取请求,节省了计算资源。
69.可选地,管理权分配进程并不知道每个实例ac进程的负载情况,其在分配管理权时,是将管理权分配给最先发送该管理权获取请求的实例ac进程。管理权分配进程会最先收到最先发送的管理权获取请求。
70.因为负载越高的实例ac进程发送管理权获取请求的速度越慢,所以满足注册通知
的接收条件、且负载最低的实例ac进程,会最先发送管理权获取请求,管理权分配进程会将管理权分配给该负载最低的实例ac进程。
71.如此,实例ac之间无需共享负载信息,管理权分配进程也无需知道实例ac进程的负载信息,就可以实现将管理权分配给满足注册通知的接收条件且负载最低的实例ac进程。
72.可选地,在上述技术方案的基础上,为了进一步确保将管理权分配给满足条件且负载最低或较低实例ac进程,可以设置自身负载高于负载阈值的实例ac进程,会延迟固定时间后发送管理权获取请求。负载阈值可以根据实际需求进行设置。
73.自身负载满足所述注册通知的接收条件且自身负载高于负载阈值的实例ac进程,在监听到所述注册通知再延迟固定时间后发送所述管理权获取请求;自身负载满足所述注册通知的接收条件且自身负载不高于所述负载阈值的实例ac进程,在监听到所述注册通知后立即发送所述管理权获取请求。
74.例如,负载阈值为50%,注册通知的接收条件包括负载不超过80%,固定时间为1秒,实例ac进程-1为其它因子都满足注册通知的接收条件且负载为40%的进程,实例ac进程-2为其它因子都满足注册通知的接收条件且负载为70%的进程。则虽然实例ac进程-1和实例ac进程-2都会发送管理权获取请求,但实例ac进程-1在监听到注册通知后立即发送管理权获取请求,实例ac进程-2在监听到注册通知后延迟1秒再发送管理权获取请求。
75.如此,可以确保将管理权分配给满足条件且负载最低或较低实例ac进程。
76.步骤s15:获取到所述管理权的实例ac进程,与所述ap建立连接。
77.获得了ap的管理权的实例ac进程,可以与ap建立连接,从而实现该实例ac对该ap的管理。
78.可选地,获取到管理权的实例ac进程与ap建立连接可以是通过如下步骤实现的:获取到所述管理权的实例ac进程,将自身的地址(ip)和端口号(port)通知所述ap;ap在接收到该实例ac进程的地址和端口号后,按照该地址和端口号发送信息,获取到所述管理权的实例ac进程,根据所述ap在接收到所述地址和所述端口号后返回的信息,与所述ap建立连接。如此,即可建立获取了管理权的实例ac与ap之间的连接。
79.可选地,实例ac进程也可以通过其他方式与该ap建立连接,例如,服务器获取该ap的信息,并将该ap与该实例ac进程进行连接。
80.采用本技术实施例的技术方案,在接收到ap的注册通知时,每个实例ac根据自身负载即可确定是否向管理权分配进程发送ap的管理权获取请求,管理权分配进程将管理权分配给一个发送管理权获取请求的实例ac进程,以使该实例ac与ap之间建立连接。其中,多个实例ac之间无需共享负载信息,管理权分配进程也无需知道实例ac的负载信息,即可完成管理权的分配,从而实现实例ac之间的负载均衡。
81.此外,采用本技术实施例的技术方案,可以实现负载的动态调整,并非直接确定每个ap对应的实例ac进程,而是在每个ap接入时,都可以将其管理权动态分配给满足条件且负载最低或较低的实例ac进程。
82.因此,本技术实施例的技术方案,具有整个过程具有无需人工介入,无需实例ac之间进行通信,效率高、占用资源低等优点,解决了相关技术中需要人工介入、效率低且维护成本高,以及不可动态调整负载,资源内耗的问题。
83.图2示出了相关技术中实例ac进程竞争管理权的示意图,其中,通过静态指定,确定每个ap对应的实例ac进程。该种方法需要人工介入且不能实现运行中的负载均衡。
84.图3示出了相关技术中实例ac进程竞争管理权的示意图,其中,多个实例ac进程之间定期共享负载信息。共享负载信息之后,负载较低的实例ac进程-1在得知自己负载较低后,与ap建立连接。该种方法缺点在于实例ac之间需要定期通信,占用资源。
85.图4示出了本技术实施例中实例ac进程竞争管理权的示意图,其中,多个实例ac进程之间不共享负载信息。ap向服务器发送注册通知,服务器将注册通知广播至多个实例ac进程,每个实例ac进程判断自身是否满足该注册通知的接收条件。满足条件的实例ac进程向管理权分配进程发送管理权获取请求。管理权分配进程将管理权分配给最先发送管理权获取请求的实例ac进程,以使该实例ac进程与ap之间建立连接。如此,可以简单快捷地将管理权分配给满足条件且负载最低的实例ac进程。
86.可选地,在上述技术方案的基础上,若要将连接了该服务器的ap迁移到其他服务器中,可以通过修改该ap的配置文件中服务器的地址和端口号,将其修改为其他服务器的地址和端口号,则该ap会根据配置文件中其他服务器的地址和端口号,向其他服务器发送注册通知,从而与其他服务器包括的实例ac进程建立连接。其中,该其他服务器上也布署有管理权分配进程和多个实例ac进程,向其他服务器发送注册通知后,其他服务器也会向自身布署的多个实例ac进程广播注册通知,该多个实例ac各自判断自身负载是否满足该注册通知的接收条件,自身负载满足该注册通知的接收条件的实例ac进程,向管理权分配进程发送该ap的管理权获取请求;管理权分配进程将该ap的管理权分配给最先发送该管理权获取请求的实例ac进程,以使该实例ac进程与该ap建立连接。
87.在将ap迁移到其他服务器时,需要断开该ap与原服务器的实例ac进程的连接。其中,ap与实例ac进程断开连接时,无需通知其他实例ac进程。
88.可选地,在上述技术方案的基础上,管理权分配进程可以为redis进程(一种key-value存储系统),在通知各个实例ac进程ap的注册请求时,带上竞争的key(键),某个实例ac成功在redis中对该竞争key执行setnx(锁)成功,value(值)中会记录竞争成功(获取到管理权)的实例ac进程的信息,而其他实例ac对竞争key执行setnx时,会因为key已存在而返回失败,即竞争失败。
89.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
90.图5是本发明实施例的一种负载均衡的装置的结构示意图,该装置应用于服务器,所述服务器上布署有管理权分配进程和多个实例ac进程;如图5所示,所述装置包括广播模块、判断模块、发送模块、分配模块和连接模块,其中:
91.广播模块,用于向所述多个实例ac进程广播ap的注册通知;
92.判断模块,用于使所述多个实例ac进程各自判断自身负载是否满足所述注册通知的接收条件;
93.发送模块,用于使自身负载满足所述注册通知的接收条件的实例ac进程,向所述
管理权分配进程发送所述ap的管理权获取请求;
94.分配模块,用于使所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程;
95.连接模块,用于使获取到所述管理权的实例ac进程,与所述ap建立连接。
96.可选地,所述分配模块包括:
97.分配单元,用于使所述管理权分配进程将所述管理权分配给最先发送所述管理权获取请求的实例ac进程,自身负载满足所述注册通知的接收条件的实例ac进程的负载越高,发送所述管理权获取请求的速度越慢。
98.可选地,所述发送模块包括:
99.第一发送单元,用于使自身负载满足所述注册通知的接收条件且自身负载高于负载阈值的实例ac进程,在监听到所述注册通知再延迟固定时间后发送所述管理权获取请求;
100.第二发送单元,用于使自身负载满足所述注册通知的接收条件且自身负载不高于所述负载阈值的实例ac进程,在监听到所述注册通知后立即发送所述管理权获取请求。
101.可选地,所述判断模块包括:
102.判断单元,用于使所述多个实例ac进程各自判断自身负载以及以下因子中的至少一者是否满足所述注册通知的接收条件,所述因子包括:自身支持的ap型号、自身性能参数值、最多能接收的ap数量。
103.可选地,在所述管理权分配进程将所述ap的管理权分配给一个发送所述管理权获取请求的实例ac进程之后,还包括:
104.通知模块,用于使所述管理权分配进程广播所述管理权已被分配通知;
105.停止模块,用于使自身负载满足所述注册通知的接收条件的实例ac进程,在监听到所述通知后,停止发送所述ap的管理权获取请求。
106.可选地,所述连接模块包括:
107.通知单元,用于使获取到所述管理权的实例ac进程,将自身的地址和端口号通知所述ap;
108.建立单元,用于使获取到所述管理权的实例ac进程,根据所述ap在接收到所述地址和所述端口号后返回的信息,与所述ap建立连接。
109.需要说明的是,装置实施例与方法实施例相近,故描述的较为简单,相关之处参见方法实施例即可。
110.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
111.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
112.本发明实施例是参照根据本发明实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中
的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
113.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
114.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
115.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
116.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
117.以上对本技术所提供的一种负载均衡的方法、装置、电子设备、存储介质及程序产品,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献