负载均衡的流量分配方法、系统、设备及存储介质与流程

未命名 09-29 阅读:84 评论:0


1.本发明涉及电信业务技术领域,尤其涉及一种负载均衡的流量分配方法、系统、设备及存储介质。


背景技术:

2.负载均衡,英文名称为load balance,其含义就是指将负载进行平衡、分摊到多个操作单元上进行运行,例如文件传输协议(file transfer protocol,ftp)服务器、全球广域网(world wide web,web)服务器、企业核心应用服务器和其他主要任务服务器等,从而协同完成工作任务。相关技术中,在服务器集群内的服务器实例上部署网关服务,对服务器集群内的服务器实例进行状态监控,并基于监控到服务器实例的状态信息,对服务器集群内部署的网关服务进行负载均衡。但是,相关技术只对服务器集群进行网关服务的负载均衡。而流量网关集群内部同样可能存在不同的流量网关,各个流量网关的功能不同,当其中一个流量网关故障时,导致整个服务系统的稳定性降低。


技术实现要素:

3.本技术实施例通过提供一种负载均衡的流量分配方法、系统、设备及存储介质,旨在实现对网关集群进行负载均衡,以提高服务系统的稳定性。
4.本技术实施例提供了一种负载均衡的流量分配方法,应用于智能监控设备,所述智能监控设备与至少两个数据中心连接,每个数据中心包括至少一个网关集群,所述网关集群包括至少两个流量网关,所述负载均衡的流量分配方法包括:
5.获取所述网关集群中的各个流量网关的状态指标;
6.根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;
7.基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;
8.基于所述流量分配优先级,对各个流量网关进行流量分配。
9.可选地,所述状态指标至少包括吞吐量、单位时间内读写操作的次数以及访问时延,所述根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果的步骤包括:
10.获取各个流量网关的吞吐量、单位时间内读写操作的次数和访问时延;
11.获取所述吞吐量对应的第一权重,所述单位时间内读写操作的次数对应的第二权重和所述访问时延对应的第三权重;
12.根据所述吞吐量和所述第一权重,所述单位时间内读写操作的次数和所述第二权重,和所述访问时延和所述第三权重,确定各个流量网关的第一评分结果。
13.可选地,所述基于所述流量分配优先级,对各个流量网关进行流量分配的步骤之后,还包括:
14.预设时长后,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第二评分结果;
15.确定各个流量网关的第二评分结果与对应的第一评分结果的差值;
16.当存在差值大于预设值的流量网关时,将所述差值大于预设值的流量网关更新为故障流量网关,根据其他流量网关对应的第二评分结果,确定各个其他流量网关的流量分配优先级,所述其他流量网关为所述网关集群中差值小于或等于所述预设值的流量网关;
17.基于各个其他流量网关的流量分配优先级,对各个其他流量网关进行流量分配。
18.可选地,所述获取所述网关集群中的各个流量网关的状态指标的步骤包括:
19.从所述网关集群中,选取主通讯网关和备用通讯网关;
20.在所述主通讯网关正常时,与所述主通讯网关建立通讯连接,并接收所述主通讯网关发送的第一报表数据,其中,所述主通讯网关汇总所述网关集群中的各个流量网关对应的第一子报表数据,得到所述第一报表数据,所述第一子报表数据包括状态指标;
21.在所述主通讯网关故障时,与所述备用通讯网关建立通讯连接,并接收所述备用通讯网关发送的第二报表数据,其中,所述备用通讯网关汇总所述网关集群中除所述主通讯网关之外的流量网关的第二子报表数据,得到所述第二报表数据,所述第二子报表数据包括状态指标。
22.可选地,所述从所述网关集群中,选取主通讯网关和备用通讯网关的步骤包括:
23.获取所述网关集群中的各个流量网关的访问时延;
24.将访问时延最小的流量网关确定为所述主通讯网关,将访问时延位于所述主通讯网关的访问时延之后的流量网关确定为所述备用通讯网关。
25.可选地,每个数据中心还包括至少两个lvs服务集群,每个lvs服务集群至少配置有一个监控服务器,所述负载均衡的流量分配方法,还包括:
26.从所有监控服务器中,确定主监控服务器;
27.在所述主监控服务器正常时,获取所述主监控服务器发送的其他监控服务器的运行状态和负载情况,并基于所述运行状态和所述负载情况对各个监控服务器进行负载均衡分配;
28.在所述主监控服务器异常时,从其他监控服务器中确定新的监控服务器,并将所述新的监控服务器更新为主监控服务器,所述其他监控服务器为所有监控服务器中除所述主监控服务器之外的监控服务器。
29.可选地,所述负载均衡的流量分配方法,还包括:
30.向所述lvs服务集群发送网关集群中各个流量网关的状态指标。
31.此外,为实现上述目的,本发明还提供了一种负载均衡的流量分配系统,包括:
32.获取模块,用于获取网关集群中的各个流量网关的状态指标;
33.第一确定模块,用于根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;
34.第二确定模块,用于基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;
35.分配模块,用于基于所述流量分配优先级,对各个流量网关进行流量分配。
36.此外,为实现上述目的,本发明还提供了一种智能监控设备包括:存储器、处理器
及存储在所述存储器上并可在所述处理器上运行的负载均衡的流量分配程序,所述负载均衡的流量分配程序被所述处理器执行时实现上述的负载均衡的流量分配方法的步骤。
37.此外,为实现上述目的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有负载均衡的流量分配程序,所述负载均衡的流量分配程序被处理器执行时实现上述的负载均衡的流量分配方法的步骤。
38.本技术实施例中提供的一种负载均衡的流量分配方法、系统、设备及存储介质的技术方案,本技术首先通过获取所述网关集群中的各个流量网关的状态指标;接着,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;最后,通过所述流量分配优先级,对网关集群中的各个流量网关进行流量分配。实现对网关集群进行负载均衡,以提高服务系统的稳定性。
附图说明
39.图1为本发明负载均衡的流量分配方法第一实施例的流程示意图;
40.图2为本发明负载均衡的流量分配系统的功能模块图;
41.图3为本发明实施例方案涉及的智能监控设备的结构示意图;
42.图4为本发明服务系统架构示意图。
43.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明,上述附图只是一个实施例图,而不是发明的全部。
具体实施方式
44.为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
45.在介绍本技术的负载均衡的流量分配方法之前,先介绍本技术的服务系统架构,本技术的服务系统架构如图4所示。本技术的服务系统架构包括lvs服务集群、流量网关集群、租户集群和智能监控设备。主要涉及以下几个部分:
46.lvs服务集群的搭建;
47.智能流量网关集群的搭建;
48.基于搭建好的lvs服务集群和智能流量网关集群,进行负载均衡系统的体系搭建;其中,智能监控设备是负载均衡系统的核心点,基于智能监控设备实现整个系统的高效、稳定地运行,实现流量路由配置、灰度配置、容灾切换等功能的各节点控制能力。
49.本技术基于智能监控设备可同时应用于至少两个数据中心的负载均衡。在每个数据中心搭建至少一个智能监控设备,基于智能监控设备对相应的数据中心的lvs服务集群和智能流量网关集群、租户集群的状态监控和灵活控制。两个以上的数据中心的智能监控设备互相通信,通信方式可以为无线也可以为有线,当其中一个数据中心出现问题,该数据中心的智能监控设备向其他数据中心的智能监控设备发送故障信号,由其他数据中心接收全部流量。
50.基于智能监控设备实现双中心双活以及双中心业务的无损切换:采用dns,将域名进行按请求地市进行分通道解析到对应的数据中心,或是按负载均衡的方式同时解析到双中心,实现双中心双活。智能监控设备采用双活部署,平时将流量优先分派到所属中心。当某数据中心网关自身出现故障时,由另一中心网关接管所有流量,并将流量分派到双中心。在需要中心容灾时,dns将所有流量都解析到指定中心实现容灾切换。
51.基于本技术的lvs服务集群的搭建方法,利用lvs服务集群内部的服务器即可实现对每个服务器的状态监控,搭建成本较低;智能监控设备基于每个服务器的状态可实现对每个服务器的负载均衡,合理地进行流量分配。
52.本技术基于该智能流量网关集群的搭建方法,实现了对每个智能流量网关状态的实时监控,也便于实现智能流量集群间和智能流量网关集群内部的负载均衡。
53.智能监控设备可实时向lvs服务集群发送智能流量网关集群的状态信息,lvs服务集群与智能流量网关集群直接对接即可,lvs服务集群无需再向智能流量网关集群探测,有效提高了响应速度。
54.此外,本技术的智能监控设备还连接租户集群的ingress,用于获取租户集群的内部运行状态,基于内部运行状态,对租户集群间实现负载均衡,当其中一个租户集群出现故障,智能监控设备控制由其的租户集群接替。
55.具体地,所述智能监控设备的结构参照图3,至少包括:
56.通讯模块,所述通讯模块用于实现智能监控设备间,以及智能监控设备与lvs服务集群、智能流量网关集群、租户集群的通讯;其中,包括数据的传输,指令的接受与下达;
57.分析处理模块,用于对接受的数据或指令进行分析处理,并在分析处理后发出相应的控制指令;
58.存储模块,用于存储接收到的数据。
59.需要说明的是,智能监控设备可以利用现有的计算机实现,也可以用服务器/服务器集群实现,不管是计算机还是服务器/服务器集群,目的均是实现本方案中的智能监控设备的功能,至于计算机和服务器/服务器集群的实现方式能够利用现有技术实现,这里不再赘述。
60.以下将具体介绍智能流量网关集群的搭建方法。
61.如图1所示,在本技术的第一实施例中,本技术的负载均衡的流量分配方法,包括以下步骤:
62.步骤s110,获取所述网关集群中的各个流量网关的状态指标。
63.在本实施例中,所述状态指标包括但不限于:吞吐量、iops和访问时延。其中,吞吐量是指单位时间内传输的数据量,数值越大越好。iops(input/output operations per second)是指单位时间内(一般以每秒计算)读写(i/o)操作的次数,即单位时间内读写操作的次数,其数值越高越好。访问时延是指完成一个i/o请求所需的时间,数值越小越好。通过所述状态指标从每个智能流量网关集群中选出一个流量网关作为主通讯网关。
64.可选地,所述获取所述网关集群中的各个流量网关的状态指标包括:
65.步骤s111,从所述网关集群中,选取主通讯网关和备用通讯网关。
66.可选地,从采集的状态指标中提取每台智能流量网关的访问时延;每个智能流量网关集群内部进行访问时延排序;选取访问时延最小的两台智能流量网关作为通讯网关;
选取的两台通讯网关中,一台作为主通讯网关,另一台作为备用通讯网关;进一步地,可获取所述网关集群中的各个流量网关的访问时延;将访问时延最小的流量网关确定为所述主通讯网关,将访问时延位于所述主通讯网关的访问时延之后的流量网关确定为所述备用通讯网关。具体地,假设存在3个流量网关,分别为a-c,每个流量网关对应的访问时延分别为10ms,15ms和20ms,此时,将流量网关a作为主通讯网关,将流量网关b作为备用通讯网关。进而根据访问时延确定主通讯网关和备用通讯网关。
67.可选地,还可从采集的状态指标中提取每台智能流量网关的吞吐量;每个智能流量网关集群内部进行吞吐量排序;选取吞吐量最大的两台智能流量网关作为通讯网关;选取的两台通讯网关中,一台作为主通讯网关,另一台作为备用通讯网关;进一步地,可获取所述网关集群中的各个流量网关的吞吐量;将吞吐量最大的流量网关确定为所述主通讯网关,将吞吐量位于所述主通讯网关的吞吐量之后的流量网关确定为所述备用通讯网关。进而根据吞吐量确定主通讯网关和备用通讯网关。
68.可选地,还可从采集的状态指标中提取每台智能流量网关的iops;每个智能流量网关集群内部进行iops排序;选取iops最大的两台智能流量网关作为通讯网关;选取的两台通讯网关中,一台作为主通讯网关,另一台作为备用通讯网关;进一步地,可获取所述网关集群中的各个流量网关的iops;将iops最大的流量网关确定为主通讯网关,将iops位于所述主通讯网关的iops之后的流量网关确定为备用通讯网关。进而根据iops确定主通讯网关和备用通讯网关。
69.步骤s112,在所述主通讯网关正常时,与所述主通讯网关建立通讯连接,并接收所述主通讯网关发送的第一报表数据,其中,所述主通讯网关汇总所述网关集群中的各个流量网关对应的第一子报表数据,得到所述第一报表数据,所述第一子报表数据包括状态指标。
70.在本实施例中,智能流量网关集群内的所有智能流量网关均与主通讯网关建立通讯连接,定时将自身状态指标发送给主通讯网关。每个智能流量网关集群的主通讯网关均通讯连接智能监控设备,定时将其他智能流量网关的状态指标发送至智能监控设备。
71.其中,智能流量网关向主通讯网关发送自身状态指标时,以报表的形式发送。其中,第一子报表数据包括:唯一身份表示、当前时间、吞吐量、iops和访问时延。
72.主通讯网关内部存储汇总表,汇总表内包括本集群内其他智能流量网关的信息,即第一报表数据。主通讯网关接收其他智能流量网关发送的第一子报表,遍历表内信息,如果某一项状态指标发生改变,则更新自身的汇总表内与该智能流量网关对应的状态指标,没有发生变化的不进行更新,有效降低了主通讯网关的处理负担。
73.步骤s113,在所述主通讯网关故障时,与所述备用通讯网关建立通讯连接,并接收所述备用通讯网关发送的第二报表数据,其中,所述备用通讯网关汇总所述网关集群中除所述主通讯网关之外的流量网关的第二子报表数据,得到所述第二报表数据,所述第二子报表数据包括状态指标。
74.在本实施例中,当主通讯网关出现故障,其他智能流量网关均与备用通讯网关建立通讯关系,由备用通讯网关接替主通讯网关的工作。与主通讯网关类似,所述备用通讯网关汇总网关集群中除主通讯网关之外的正常的流量网关对应的第二子报表数据,得到第二报表数据,其中,所述第二子报表数据也包括唯一身份表示、当前时间、吞吐量、iops和访问
时延。
75.本实施例根据上述技术方案,由于在主通讯网关故障时,采用备用通讯网关代替该主通讯网关汇总所有流量网关对应的状态指标,并将汇总的状态指标发送至智能网关进行流量分配,提高服务系统的稳定性。
76.步骤s120,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果。
77.在本实施例中,每个状态指标存在对应的权重。可将流量网关的状态指标和该状态指标对应的权重之间的乘积,确定为该流量网关的第一评分结果。
78.可选地,所述状态指标至少包括吞吐量、单位时间内读写操作的次数以及访问时延。根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果包括以下步骤:
79.步骤s121,获取各个流量网关的吞吐量、单位时间内读写操作的次数和访问时延。
80.在本实施例中,可获取流量网关在预设时段内的吞吐量,并根据预设时段内的吞吐量计算吞吐量平均值,将该吞吐量平均值确定为该流量网关的吞吐量。同理,获取流量网关在预设时段内的单位时间内读写操作的次数,并根据预设时段内的单位时间内读写操作的次数计算单位时间内读写操作的次数平均值,将该单位时间内读写操作的次数平均值确定为该流量网关的单位时间内读写操作的次数。或者,获取流量网关在预设时段内的访问时延,并根据预设时段内的访问时延计算访问时延平均值,将该访问时延平均值确定为该流量网关的访问时延。
81.步骤s122,获取所述吞吐量对应的第一权重,所述单位时间内读写操作的次数对应的第二权重和所述访问时延对应的第三权重。
82.步骤s123,根据所述吞吐量和所述第一权重,所述单位时间内读写操作的次数和所述第二权重,和所述访问时延和所述第三权重,确定各个流量网关的第一评分结果。
83.在本实施例中,按照指标的重要性对网关的状态指标进行排序,基于顺序对不同指标赋予对应的权重,不同行业对指标的重要性划分标准不同,本技术中,三种指标的权重均为1/3。
84.可选地,可获取吞吐量对应的吞吐量打分,单位时间内读写操作的次数对应的单位时间内读写操作的次数打分和获取访问时延对应的访问时延打分。根据所述吞吐量打分和所述第一权重、所述单位时间内读写操作的次数打分和所述第二权重,以及所述访问时延打分和所述第三权重,确定所述流量网关的第一评分结果。此方法适用于计算所有流量网关对应的第一评分结果。
85.例如,对状态指标进行量化,赋予不同指标对应的分值(以访问时延为例,小于5ms为100分;6ms-15ms为90分;16ms-30ms为80分;31ms-50ms为70分;51ms-100ms为60分;101ms-200ms为50分;200ms-500ms为40分;501ms-1000ms为30分;1000ms及以上均为20分)。
86.进一步地,可根据所述吞吐量打分和所述第一权重的乘积确定第一子评分结果,根据单位时间内读写操作的次数打分和所述第二权重的乘积确定第二子评分结果,根据访问时延打分和所述第三权重的乘积确定第三子评分结果,根据第一子评分结果、第二子评分结果和第三子评分结果之间的和,确定所述流量网关的第一评分结果。
87.具体地,基于权重和量化分值对每台智能流量网关进行打分,计算每台智能流量
网关的第一评分结果,第一评分结果的计算公式如下:
88.z=aa+bb+cc
89.其中,z为分值;a为第一权重;a为吞吐量打分;b为第二权重;b为智iops打分;c为第三权重;c为访问时延打分。
90.步骤s130,基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;
91.步骤s140,基于所述流量分配优先级,对各个流量网关进行流量分配。
92.在本实施例中,在确定各个流量网关对应的第一评分结果之后,智能监控设备基于各个流量网关对应的第一评分结果对各个流量网关进行流量分配优先级的排序。进而基于流量分配优先级的排序分配流量,实现智能流量网关集群内部的负载均衡。需要说明的是,主通讯网关因为要执行监控任务,分配的流量要小于其他智能流量网关。
93.本技术基于该智能流量网关集群的搭建方法,实现了对每个智能流量网关状态的实时监控,也便于实现智能流量集群间和智能流量网关集群内部的负载均衡。
94.本技术可应用于以下故障场景:
95.1)中心内ingress故障场景
96.当集群ingress1故障时,智能监控设备会将其移出负载列表,流量则自动切换到可用的ingress上。当ingress1恢复时,流量网关集群会重新将其加入负载列表。
97.2)网关集群故障场景
98.当智能监控设备检测到其中一台智能流量网关出现异常,智能监控设备控制网关实例故障从负载均衡目标中排除,更新关于智能流量网关集群的状态信息,并向lvs服务集群发送哪些智能流量网关可用,lvs服务集群只需要自动连接可用的智能流量网关即可,无需结合keepalived对网关实例进行探测,判断哪些设备可用。其中,keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加入服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
99.3)中心内lvs故障场景
100.中心内lvs集群中某节点发生故障,则自动将vip转移到可用的lvs节点上,该过程可以由lvs服务集群内部控制,也可以由智能监控设备控制实现,继续提供服务。
101.4)中心lvs集群宕机场景
102.中心lvs集群宕机时,智能监控设备会向dns服务发送故障lvs服务的信息,dns服务会将故障lvs vip移除,客户端获取dns解析结果时将只能获取到可用的vip,通过正常中心进行访问。
103.本实施例根据上述技术方案,本技术首先通过获取所述网关集群中的各个流量网关的状态指标;接着,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;最后,通过所述流量分配优先级,对网关集群中的各个流量网关进行流量分配。实现对网关集群进行负载均衡,以提高服务系统的稳定性。
104.进一步地,所述基于所述流量分配优先级,对各个流量网关进行流量分配的步骤之后,还包括:
105.步骤s210,预设时长后,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第二评分结果。
106.在本实施例中,所述预设时长可根据实际情况进行设置。各个流量网关对应的状态指标需定期发送至智能监控设备,使得智能监控设备可以实时监控各个流量网关的性能和状态。智能监控设备每隔预设时长会根据各个流量网关对应的状态指标和状态指标对应的权重,重新计算对应的评分结果。进而监控是否存在故障的流量网关。
107.步骤s220,确定各个流量网关的第二评分结果与对应的第一评分结果的差值。
108.在本实施例中,智能监控设备可以根据预设时长前的第一评分结果和预设时长后的第二评分结果的差值变化,进而达到监控是否存在故障流量网关的目的。或者,智能监控设备可根据标准的评分结果与当前的第二评分结果的差值变化,进而达到检测是否存在故障流量网关的目的。
109.步骤s230,当存在差值大于预设值的流量网关时,将所述差值大于预设值的流量网关更新为故障流量网关,根据其他流量网关对应的第二评分结果,确定各个其他流量网关的流量分配优先级,所述其他流量网关为所述网关集群中差值小于或等于所述预设值的流量网关;
110.步骤s240,基于各个其他流量网关的流量分配优先级,对各个其他流量网关进行流量分配。
111.在本实施例中,如果存在故障流量网关,则执行警告机制,并重新对网关集群中差值小于或等于预设值的其他流量网关对应的第二评分结果进行排序,得到流量分配优先级,基于重新确定的流量分配优先级对其他流量网关重新进行流量分配。实现对网关集群进行负载均衡,以提高服务系统的稳定性。
112.基于第一实施例,在本技术的第二实施例中,每个数据中心还包括至少两个lvs服务集群,每个lvs服务集群至少配置有一个监控服务器,用于监控该lvs服务集群中其他服务器的状态;所述负载均衡的流量分配方法,还包括:
113.步骤s310,从所有监控服务器中,确定主监控服务器;
114.步骤s320,在所述主监控服务器正常时,获取所述主监控服务器发送的其他监控服务器的运行状态和负载情况,并基于所述运行状态和所述负载情况对各个监控服务器进行负载均衡分配;
115.步骤s330,在所述主监控服务器异常时,从其他监控服务器中确定新的监控服务器,并将所述新的监控服务器更新为主监控服务器,所述其他监控服务器为所有监控服务器中除所述主监控服务器之外的监控服务器。
116.在本实施例中,所有的lvs服务集群中的监控服务器均连接智能监控设备。可选地,可确定其中一个监控服务器为主服务器,通过该主监控服务器将其他各个监控服务器的状态信息定时发送给智能监控设备,当其中一个lvs服务集群或者一个监控服务器出现故障,由其他服务集群或者监控服务器接管。其中,lvs是一个虚拟的服务器集群系统,lvs集群可以采用ip负载均衡技术和基于内容请求分发技术,其调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组
服务器构成一个高性能的、高可用的虚拟服务器。
117.其中,配置监控服务器的方法如下:
118.利用zookeeper的文件目录特性和事件通知机制,来实现服务器集群的监控,具体方法如下:
119.首先,在zookeeper里面创建永久节点,表示是整个服务器集群的根节点。
120.接着,每一个服务器节点启动时,在根节点下创建ephemeral类型的子节点,表示此服务器在运行状态,并每隔10秒(周期可根据需求设定)上传自己的负载信息,存为此节点的数据。ephemeral有个重要的特性,当创建此类节点的客户端与zookeeper服务器的连接关闭时,此节点自动删除,可利用此特性来监控服务器的上下线状态。其中,每个子节点表示一个lvs服务。监控服务器一直不断地监视根节点下子节点的状态,达到监控相应的服务器的运行状态和负载情况的目录,如有异常,可迅速地启动报警机制。
121.本实施例根据上述技术方案,利用lvs服务集群内部的服务器即可实现对每个服务器的状态监控,搭建成本较低;智能监控设备基于每个服务器的状态可实现对每个服务器的负载均衡,合理的进行流量分配。
122.进一步地,所述负载均衡的流量分配方法,还包括:
123.步骤s410,向所述lvs服务集群发送网关集群中各个流量网关的状态指标。
124.在本实施例中,智能监控设备可实时向lvs服务集群发送智能流量网关集群中各个流量网关的状态指标,lvs服务集群与智能流量网关集群直接对接即可,lvs服务集群无需再向智能流量网关集群探测,有效提高了响应速度。
125.本发明实施例提供了负载均衡的流量分配方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
126.如图2所示,本技术提供的一种负载均衡的流量分配系统,包括:
127.获取模块10,用于获取网关集群中的各个流量网关的状态指标。
128.可选地,所述获取模块10还用于从所述网关集群中,选取主通讯网关和备用通讯网关;在所述主通讯网关正常时,与所述主通讯网关建立通讯连接,并接收所述主通讯网关发送的第一报表数据,其中,所述主通讯网关汇总所述网关集群中的各个流量网关对应的第一子报表数据,得到所述第一报表数据,所述第一子报表数据包括状态指标;在所述主通讯网关故障时,与所述备用通讯网关建立通讯连接,并接收所述备用通讯网关发送的第二报表数据,其中,所述备用通讯网关汇总所述网关集群中除所述主通讯网关之外的流量网关的第二子报表数据,得到所述第二报表数据,所述第二子报表数据包括状态指标。
129.可选地,所述获取模块10还用于获取所述网关集群中的各个流量网关的访问时延;将访问时延最小的流量网关确定为所述主通讯网关,将访问时延位于所述主通讯网关的访问时延之后的流量网关确定为所述备用通讯网关。
130.第一确定模块20,用于根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果。
131.可选地,所述第一确定模块20还用于获取各个流量网关的吞吐量、单位时间内读写操作的次数和访问时延;获取所述吞吐量对应的第一权重,所述单位时间内读写操作的次数对应的第二权重和所述访问时延对应的第三权重;根据所述吞吐量和所述第一权重,
所述单位时间内读写操作的次数和所述第二权重,和所述访问时延和所述第三权重,确定各个流量网关的第一评分结果。
132.第二确定模块30,用于基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;
133.分配模块40,用于基于所述流量分配优先级,对各个流量网关进行流量分配。
134.可选地,所述分配模块40之后,还连接有第一更新模块,所述第一更新模块用于预设时长后,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第二评分结果;确定各个流量网关的第二评分结果与对应的第一评分结果的差值;当存在差值大于预设值的流量网关时,将所述差值大于预设值的流量网关更新为故障流量网关,根据其他流量网关对应的第二评分结果,确定各个其他流量网关的流量分配优先级,所述其他流量网关为所述网关集群中差值小于或等于所述预设值的流量网关;基于各个其他流量网关的流量分配优先级,对各个其他流量网关进行流量分配。
135.可选地,所述负载均衡的流量分配系统还包括第二更新模块,所述第二更新模块用于从所有监控服务器中,确定主监控服务器;在所述主监控服务器正常时,获取所述主监控服务器发送的其他监控服务器的运行状态和负载情况,并基于所述运行状态和所述负载情况对各个监控服务器进行负载均衡分配;在所述主监控服务器异常时,从其他监控服务器中确定新的监控服务器,并将所述新的监控服务器更新为主监控服务器,所述其他监控服务器为所有监控服务器中除所述主监控服务器之外的监控服务器。
136.可选地,所述第二更新模块还用于向所述lvs服务集群发送网关集群中各个流量网关的状态指标。
137.本发明负载均衡的流量分配系统具体实施方式与上述负载均衡的流量分配方法各实施例基本相同,在此不再赘述。
138.基于同一发明构思,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有负载均衡的流量分配程序,所述负载均衡的流量分配程序被处理器执行时实现如上所述的负载均衡的流量分配方法的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
139.由于本技术实施例提供的存储介质,为实施本技术实施例的方法所采用的存储介质,故而基于本技术实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本技术实施例的方法所采用的存储介质都属于本技术所欲保护的范围。
140.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
141.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
142.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,电视,或者网络设备等)执行本发明各个实施例所述的方法。
143.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种负载均衡的流量分配方法,其特征在于,应用于智能监控设备,所述智能监控设备与至少两个数据中心连接,每个数据中心包括至少一个网关集群,所述网关集群包括至少两个流量网关,所述负载均衡的流量分配方法包括:获取所述网关集群中的各个流量网关的状态指标;根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;基于所述流量分配优先级,对各个流量网关进行流量分配。2.如权利要求1所述的负载均衡的流量分配方法,其特征在于,所述状态指标至少包括吞吐量、单位时间内读写操作的次数以及访问时延,所述根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果的步骤包括:获取各个流量网关的吞吐量、单位时间内读写操作的次数和访问时延;获取所述吞吐量对应的第一权重,所述单位时间内读写操作的次数对应的第二权重和所述访问时延对应的第三权重;根据所述吞吐量和所述第一权重,所述单位时间内读写操作的次数和所述第二权重,和所述访问时延和所述第三权重,确定各个流量网关的第一评分结果。3.如权利要求1所述的负载均衡的流量分配方法,其特征在于,所述基于所述流量分配优先级,对各个流量网关进行流量分配的步骤之后,还包括:预设时长后,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第二评分结果;确定各个流量网关的第二评分结果与对应的第一评分结果的差值;当存在差值大于预设值的流量网关时,将所述差值大于预设值的流量网关更新为故障流量网关,根据其他流量网关对应的第二评分结果,确定各个其他流量网关的流量分配优先级,所述其他流量网关为所述网关集群中差值小于或等于所述预设值的流量网关;基于各个其他流量网关的流量分配优先级,对各个其他流量网关进行流量分配。4.如权利要求1所述的负载均衡的流量分配方法,其特征在于,所述获取所述网关集群中的各个流量网关的状态指标的步骤包括:从所述网关集群中,选取主通讯网关和备用通讯网关;在所述主通讯网关正常时,与所述主通讯网关建立通讯连接,并接收所述主通讯网关发送的第一报表数据,其中,所述主通讯网关汇总所述网关集群中的各个流量网关对应的第一子报表数据,得到所述第一报表数据,所述第一子报表数据包括状态指标;在所述主通讯网关故障时,与所述备用通讯网关建立通讯连接,并接收所述备用通讯网关发送的第二报表数据,其中,所述备用通讯网关汇总所述网关集群中除所述主通讯网关之外的流量网关的第二子报表数据,得到所述第二报表数据,所述第二子报表数据包括状态指标。5.如权利要求4所述的负载均衡的流量分配方法,其特征在于,所述从所述网关集群中,选取主通讯网关和备用通讯网关的步骤包括:获取所述网关集群中的各个流量网关的访问时延;
将访问时延最小的流量网关确定为所述主通讯网关,将访问时延位于所述主通讯网关的访问时延之后的流量网关确定为所述备用通讯网关。6.如权利要求1所述的负载均衡的流量分配方法,其特征在于,每个数据中心还包括至少两个lvs服务集群,每个lvs服务集群至少配置有一个监控服务器,所述负载均衡的流量分配方法,还包括:从所有监控服务器中,确定主监控服务器;在所述主监控服务器正常时,获取所述主监控服务器发送的其他监控服务器的运行状态和负载情况,并基于所述运行状态和所述负载情况对各个监控服务器进行负载均衡分配;在所述主监控服务器异常时,从其他监控服务器中确定新的监控服务器,并将所述新的监控服务器更新为主监控服务器,所述其他监控服务器为所有监控服务器中除所述主监控服务器之外的监控服务器。7.如权利要求6所述的负载均衡的流量分配方法,其特征在于,所述负载均衡的流量分配方法,还包括:向所述lvs服务集群发送网关集群中各个流量网关的状态指标。8.一种负载均衡的流量分配系统,其特征在于,所述负载均衡的流量分配系统包括:获取模块,用于获取网关集群中的各个流量网关的状态指标;第一确定模块,用于根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;第二确定模块,用于基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;分配模块,用于基于所述流量分配优先级,对各个流量网关进行流量分配。9.一种智能监控设备,其特征在于,所述智能监控设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的负载均衡的流量分配程序,所述负载均衡的流量分配程序被所述处理器执行时实现如权利要求1-7中任一项所述的负载均衡的流量分配方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有负载均衡的流量分配程序,所述负载均衡的流量分配程序被处理器执行时实现权利要求1-7中任一项所述的负载均衡的流量分配方法的步骤。

技术总结
本发明公开了负载均衡的流量分配方法、系统、设备及存储介质,该方法首先通过获取所述网关集群中的各个流量网关的状态指标;接着,根据各个流量网关对应的状态指标和所述状态指标对应的权重,确定各个流量网关的第一评分结果;基于所述第一评分结果,确定各个流量网关的流量分配优先级,所述第一评分结果越低时,所述流量分配优先级越高;最后,通过所述流量分配优先级,对网关集群中的各个流量网关进行流量分配。实现对网关集群进行负载均衡,以提高服务系统的稳定性。提高服务系统的稳定性。提高服务系统的稳定性。


技术研发人员:张岩 王鑫
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2023.07.26
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐