一种负载均衡策略选路优化的方法和装置与流程

文档序号:33465192发布日期:2023-03-15 06:19阅读:39来源:国知局
一种负载均衡策略选路优化的方法和装置与流程

1.本技术涉及计算机网络安全技术领域,尤其涉及一种负载均衡策略选路优化方案的方法和装置。


背景技术:

2.随着计算机网络应用的普及,虚拟化技术在数据中心得到了越来越广泛的应用。计算机网络用户需要向应用服务器发出请求,进而可以通过应用服务器向用户提供网络服务。然而,由于计算机网络用户的数量也在不断膨胀,通过单台应用服务器向用户提供应用服务已经不能满足庞大的用户需求。因此,为了保证网络的稳定性,通常会使用多台应用服务器向用户提供服务。
3.然而在采用多台服务器向用户提供服务时,如果存在大量的用户请求,可能会出现其中一台服务器中接收的用户请求过多、另一台服务器中接收的用户请求较少的现象。这样,既造成了服务器资源的浪费,又导致网络环境出现不稳定的问题。
4.为了避免上述问题,还采用负载均衡策略通过多链路的方式向多台服务器分配用户请求。当其中一条链路出现故障时,则停用该链路,并将该链路中分配的用户请求切换至其他链路进行转发。然而在故障的链路恢复后,恢复的链路仍处于停用的状态,不能及时地转发用户请求,降低负载均衡分配的效率。


技术实现要素:

5.本技术提供了一种负载均衡策略选路优化的方法和装置,以解决负载均衡分配效率低的问题。
6.第一方面,本技术提供一种负载均衡策略选路优化的方法,包括:
7.启用会话服务,所述会话用于接收流量数据以及将所述流量数据接入运行链路中,以通过所述运行链路转发所述流量数据,所述运行链路为处于正常运行状态下的链路;
8.基于负载均衡规则将所述会话分配至所述运行链路中;
9.对位于故障链路中的会话进行标记,以生成标记会话,所述故障链路为处于异常运行状态的链路;
10.将所述标记会话切换至其他运行链路中;
11.在所述故障链路恢复为所述运行链路后,对所述标记会话执行刷新操作,以及将刷新后的会话与其他会话按照所述负载均衡规则重新分配至所述运行链路中,以使所述故障链路在恢复后可以及时地进行工作,避免链路资源的浪费,进而可以实现全方面的负载均衡。
12.结合第一方面,在第一方面的一种可实施方式中,所述启用会话的步骤,包括:
13.如果所述运行链路中存在已建立的会话,则复用所述已建立的会话,以及通过所述已建立的会话获取所述流量数据;如果所述运行链路中不存在已建立的会话,则创建初始会话,以及通过所述初始会话获取所述流量数据,以避免重复建立会话,造成资源浪费。
14.结合第一方面,在第一方面的一种可实施方式中,所述创建初始会话的步骤,包括:
15.获取所述流量数据的五元组信息,所述五元组信息包括所述流量数据的ip地址、源端口、目的ip地址、目的端口与传输层协议。根据所述五元组信息生成会话信息,以及按照所述会话信息创建会话。通过所述流量数据的五元组信息,即可以自动生成所述会话。
16.结合第一方面,在第一方面的一种可实施方式中,对所述标记会话执行刷新操作的步骤,包括:
17.去除所述标记会话的标记,以及保留所述标记会话的会话信息,以通过所述会话信息复用会话,进而加快负载均衡分配的响应速度。
18.结合第一方面,在第一方面的一种可实施方式中,所述方法还包括:
19.监控所述运行链路中流量数据的转发情况;如果所述运行链路在预设时间段内未进行所述流量数据的转发,则将当前链路的运行状态标记为异常运行状态。
20.结合第一方面,在第一方面的一种可实施方式中,所述方法还包括:
21.监控所述会话的数量信息;当所述会话中出现新建的会话时,在所述运行链路中按照所述负载均衡规则重新分配所述会话,以实现全方面的负载均衡。
22.结合第一方面,在第一方面的一种可实施方式中,所述方法还包括:
23.检测所述会话的运行状态;如果所述会话处于老化状态,则停用处于老化状态的会话。在所述运行链路中按照所述负载均衡规则重新分配运行会话,所述运行会话为未处于老化状态下的会话,以保证所述流量数据的正常转发。
24.结合第一方面,在第一方面的一种可实施方式中,所述检测所述会话的运行状态的步骤,还包括:
25.检测所述会话的流量数据接入情况;如果所述会话在预设时间段内未将所述流量数据接入所述运行链路中,则将所述会话的运行状态标记为老化状态,以确保所述流量数据可以正常转发。
26.结合第一方面,在第一方面的一种可实施方式中,在所述故障链路恢复为所述运行链路后,还包括:
27.延迟预设时间后,对所述标记会话执行刷新操作,以保证链路在稳定后再进行流量数据的转发。
28.第二方面,本技术还提供一种负载均衡策略选路优化的装置,包括:
29.会话服务模块,被配置为启用会话服务,所述会话用于接收流量数据以及将所述流量数据接入运行链路中,以通过所述运行链路转发所述流量数据,所述运行链路为处于正常运行状态下的链路;
30.数据处理模块,被配置为基于负载均衡规则将所述会话分配至所述运行链路中;对位于故障链路中的会话进行标记,以生成标记会话,所述故障链路为处于异常运行状态的链路;
31.将所述标记会话切换至其他运行链路中;在所述故障链路恢复为所述运行链路后,对所述标记会话执行刷新操作,以及将刷新后的会话与其他会话按照所述负载均衡规则重新分配至所述运行链路中。
32.由以上技术方案可知,本技术提供一种负载均衡策略选路优化的方法和装置,所
述方法可以通过会话按照负载均衡规则将流量数据均衡分配至处于正常运行状态下的运行链路中。当出现处于异常运行状态的故障链路时,对所述故障链路中的会话进行标记,并将标记后的会话切换至其他运行链路中进行流量数据的转发。在故障链路恢复为运行链路后,对标记的会话进行刷新,以去除标记会话中的标记。然后将刷新后的会话与其他会话按照负载均衡规则重新分配至运行链路中,进而避免故障链路在恢复后不能及时地转发流量数据,提升负载均衡分配的效率。
附图说明
33.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本技术一些实施例提供的负载均衡策略选路优化的方法的流程示意图;
35.图2为本技术一些实施例提供的启用会话服务的流程示意图;
36.图3为本技术一些实施例提供的监测运行链路运行状态的流程示意图;
37.图4为本技术一些实施例提供的监测会话状态的流程示意图;
38.图5为本技术一些实施例提供的会话处于老化状态的处理流程示意图;
39.图6为本技术一些实施例提供的负载均衡策略选路优化的装置的结构示意图。
40.图示说明:
41.100-会话服务模块,200-数据处理模块。
具体实施方式
42.下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本技术相一致的所有实施方式。仅是与权利要求书中所详述的、本技术的一些方面相一致的系统和方法的示例。
43.互联网用户在上网过程中需要通过终端向应用服务器发出请求,并通过应用服务器向用户提供网络服务,使用户可以在互联网中获取信息数据。其中,用户终端可以是计算机、手机、平板电脑等可进行上网的智能终端设备,也可以工业控制终端、二级网络管理终端、服务器等其他形式的终端设备。
44.在一些实施例中,为了满足众多互联网用户的上网需求,采用多台应用服务器为用户提供网络服务。其中,每台应用服务器上设有出接口,不同的出接口对应不同的链路,一个链路对应有一个出接口,通过多个链路共同转发用户请求产生的流量数据。
45.同时,为了保证每条链路的作业效率,需要均衡分配每条链路上转发的流量数据的负载。在一些实施例中,通过创建会话来进行负载分配。即获取到流量数据后,获取所述流量数据的五元组信息,所述五元组信息包括所述流量数据的ip地址、源端口、目的ip地址、目的端口与传输层协议。然后根据所述五元组信息生成会话信息,并按照所述会话信息创建会话。
46.例如:流量数据的五元组信息为19x.16x.x.x 10000tcp 12x.1x.8x.7x 80,五元组信息表征的是:一个ip地址为19x.16x.x.x的终端,通过端口10000,利用tcp协议,和ip地
址为12x.1x.8x.7x,且端口为80的应用服务器(或终端)进行连接,并通过会话传递流量数据。根据上述五元组信息生成会话信息,然后按照所述会话信息即可以创建会话。
47.然而在采用多台服务器向用户提供服务时,如果存在大量的用户请求,可能会出现其中一台服务器中接收的用户请求过多、另一台服务器中接收的用户请求较少的现象。这样,既造成了服务器资源的浪费,又导致网络环境出现不稳定的问题。为了实现多条链路中的负载均衡,在会话生成后,还需要按照负载均衡规则,将各个会话均衡地分配至对应的链路中进行转发。
48.负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外供应效力而无须其他服务器的辅助。经过负载分管技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,以使接收到请求的服务器回应用户的请求。均衡负载可以平均分配用户请求到服务器列阵,快速获取重要数据,解决很多并发访问效力问题。这种群集技术可以用最少的资源取得接近于大型主机的性能。其中,负载均衡的类型包括根据域名系统(domain name system,dns)的负载均衡、反向署理负载均衡与根据网络地址转换(network address translation,nat)的负载均衡技术等。
49.根据dns的负载均衡为经过dns效力中的随机姓名解析来完结负载均衡,在dns服务器中,多个不同的地址配置同一个域名,而最终查询这个域名的用户机将在解析这个域名时得到其中一个地址。因此,关于同一个域名,不同的用户机得到不同的地址,也就访问不同地址上的web服务器,然后达到负载均衡的目的。
50.反向署理负载均衡为运用署理服务器将请求转发给内部的web服务器,让署理服务器将请求均匀地转发给多台内部web服务器之一上,然后达到负载均衡的目的。这种署理方式与标准署理方式有所不同,标准署理方式是用户运用署理访问多个外部web服务器,而这种署理方式是多个用户运用它访问内部web服务器,因此也被称为反向署理模式。比如,apus ic负载均衡器即归属于反向署理负载均衡的类型。
51.根据nat的负载均衡技术为在内部地址和外部地址之间进行变换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址变换网关拥有的某一外部地址时,地址变换网关能将其转发到一个映射的内部地址上。因此如果地址变换网关能将每个衔接均匀变换为不同的内部服务器地址,而后外部网络中的计算机就各自与自己变换得到的地址上服务器进行通讯,然后达到负载分管的目的。
52.基于上述负载均衡技术,在一些实施例中,可以根据权重规则设置负载均衡规则。即多个链路的服务器中设有权重规则,根据链路中对应的权重规则进行会话的分配,即根据预设的权值按照一定的比例分配会话。
53.例如:当前网络存在2条链路与3个会话,链路分别为链路a与链路b。其中,链路a的权值为2,链路b的权值为1。那么,在根据负载均衡规则进行负载分配时,其中一个会话进入链路b,另外两个会话则进入链路a。
54.又或者,在另一些实施例中,还可以根据流量数据产生的带宽设置负载均衡规则,进而在链路中均衡地分配所述会话。
55.需要说明的是,本技术实施例中的负载均衡规则可以基于负载均衡技术,通过多种方式进行设置。对此,本技术不作限制。
56.会话分配完毕后,即接入对应的链路中,进而通过链路转发会话的流量数据。为了
不影响流量数据的转发过程,当其中一条链路出现故障时,则将故障链路中的会话切换至其他链路中进行中转发。然而,当故障链路恢复正常时,被切换的会话却不能自动切换回原链路中。即会导致恢复的链路不能及时地重新转发流量数据,无法完全满足负载均衡,导致负载均衡分配的效率低下。
57.基于上述应用场景,为了缓解负载均衡分配的效率低的问题,参见图1,本技术一些实施例提供了一种负载均衡策略选路优化的方法,包括以下步骤:
58.s100:启用会话服务。
59.所述会话用于接收流量数据以及将所述流量数据接入运行链路中,以通过运行链路转发流量数据。
60.其中,运行链路为处于正常运行状态下的链路。基于上述实施例可知,在获取流量数据后,即根据五元组信息自动创建会话。因此,为了避免创建的会话过多,造成资源浪费。在一些实施例中,参见图2,启用会话服务的步骤中,包括:
61.s101:如果所述运行链路中存在已建立的会话,则复用已建立的会话,以及通过已建立的会话获取流量数据。
62.s102:如果所述运行链路中不存在已建立的会话,则创建初始会话,以及通过初始会话获取所述流量数据。
63.也就是说,在获取到流量数据时,如果存在已经创建的会话,则可以直接复用已经的创建会话,无需新建会话,以节省资源消耗并且加快响应速度。
64.s200:基于负载均衡规则将所述会话分配至所述运行链路中。
65.在启用会话服务后,可以通过会话服务进行会话分配,即基于负载均衡规则将所述会话分配至所述运行链路中。其中,负载均衡规则为预设的配置信息,用于将流量数据均衡分配置各个链路中。负载均衡规则可以通过不同的方法进行设定,比如上述实施例中所述的根据权重规则设置负载均衡规则或根据流量数据的带宽设置负载均衡规则等。基于负载均衡规则对会话进行分配,可以将会话均衡地分配至各个运行链路中,保证各个链路中的负载均衡。
66.s300:对位于故障链路中的会话进行标记,以生成标记会话。
67.其中,故障链路为处于异常运行状态的链路。运行链路在转发流量数据的过程中,可能会因为种种因素发生故障,比如端口老化或端口连接问题等,使所述运行链路处于异常运行状态。而异常运行状态下的链路无法转发流量数据,极大地影响了用户的上网体验。
68.因此,可对位于故障链路中的会话进行标记,以生成标记会话。为了标记位于故障链路中的会话,在一些实施例中,需要对链路的状态进行实时监测,以保证可以及时发现链路的异常运行情况。参见图3,所述方法还包括:
69.s301:监控所述运行链路中流量数据的转发情况;
70.s302:如果所述运行链路在预设时间段内未进行所述流量数据的转发,则将当前链路的运行状态标记为异常运行状态。
71.例如:预设时间段为3s,则如果在3s内持续检测到某条链路未进行数据转发,将当前链路的状态标记为异常运行状态。同时可以在故障链路的对应处亮红灯,表征当前链路的异常运行状态,进行故障提醒。
72.在一些实施例中,还可以应用网络质量分析(network qual ity analysi s,nqa)
技术对链路连通性进行实时检测。采用链路本端ip地址不断ping测对端ip地址,同时对端ip地址不断ping测本端ip地址,ping测中断时是判定为网络故障,将当前链路的运行状态标记为异常运行状态。
73.需要说明的是,链路的故障检测及诊断方法包括多种,故障的修复方法也为多种。对此,本技术不作限制。
74.在检测到运行链路中出现故障链路时,则对故障链路中的会话打入标记,生成标记会话,以便于区分所述标记会话。
75.s400:将所述标记会话切换至其他运行链路中。
76.由于故障链路无法继续转发流量数据,为了保证流量数据的正常转发,所以需要将标记会话切换至其他运行会话中进行转发。
77.例如:当前网络存在两条链路,分别为链路c与链路d;在接收到不同流量数据后创建了两个会话,分别为会话1与会话2。根据负载均衡规则,会话1进入链路c,会话2进入链路d。此时,链路d发生了故障,则对会话2添加唯一标记,并将会话2切换至链路c中继续转发。
78.s500:在所述故障链路恢复为所述运行链路后,对所述标记会话执行刷新操作,以及将刷新后的会话与其他会话按照所述负载均衡规则重新分配至所述运行链路中。
79.故障链路在刚恢复时,处于未进行流量数据转发的状态,则此时运行链路中的负载也处于一个不均衡的状态。为了均衡负载,在故障链路恢复为运行链路后,需要去除标记会话的标记,重新进行负载分配,以保证各个运行链路中的负载均衡。
80.在一些实施例中,对标记会话执行刷新操作的步骤,包括:去除标记会话的标记,以及保留标记会话的会话信息,以通过会话信息复用会话。即在故障链路恢复后,将标记会话进行刷新,去除标记但保存会话中包括的五元组信息,以便于复用会话。
81.例如:当前网络存在两条链路,分别为链路c与链路d;在接收到不同流量数据后创建了两个会话,分别为会话1与会话2。根据负载均衡规则,会话1进入链路c,会话2进入链路d。此时,链路d发生了故障,则对会话2添加唯一标记,并将会话2切换至链路c中继续转发。在链路d恢复后,去除会话2的唯一标记,保留会话2中的五元组信息,重新分配会话1与会话2。即根据负载均衡规则,将会话1分配至链路c,会话2分配至链路d。
82.由于故障链路刚恢复时,可能存在不稳定的情况。因此,在一些实施例中,在所述故障链路恢复为所述运行链路后,延迟预设时间后,对所述标记会话执行刷新操作,进而确保在故障链路处于稳定状态下后,再通过对应链路进行流量数据的转发。
83.例如:预设时间为20s。通过源地址不间断ping目的地址测试链路连通性,ping中断3秒后说明运营商链路状态异常;ping恢复正常后,开始计时,20秒后说明故障链路的状态已经恢复正常且比较稳定,再对标记会话执行刷新、分配等步骤。
84.会话在运行一段时间后,可能会发生老化,老化的会话则无法再继续将流量数据接入链路中,处于失效的状态。因此,在会话老化后,需要停用处于老化状态的会话,并可以将其完全删除,以释放资源占用的空间。因此,在本技术的部分实施例中,参见图4,所述方法还包括:
85.s510:检测所述会话的流量数据接入情况;
86.s520:如果所述会话在预设时间段内未将所述流量数据接入所述运行链路中,则将所述会话的运行状态标记为老化状态。
87.将处于老化状态的会话停用后,为了保持运行链路中的负载均衡,还需要创建新的会话并基于负载均衡规则重新分配会话。在本技术的部分实施例中,参见图5,所述方法还包括:
88.s511:检测所述会话的运行状态;
89.s512:如果所述会话处于老化状态,则停用处于老化状态的会话;
90.s513:在所述运行链路中按照所述负载均衡规则重新分配运行会话。
91.其中,所述运行会话为未处于老化状态下的会话。会话发生老化时,本质上为在会话数量减少时,为了保持运行链路中的负载均衡,按照负载均衡规则重新分配会话。同理,在一些实施例中,如果产生新增会话,则也在运行链路中按照负载均衡规则重新分配未处于老化状态下的会话。
92.需要说明的是,本技术实施例中所述的具体的数值信息仅为示例性说明,不具有现实意义。
93.基于上述实施例提供的负载均衡策略选路优化的方法,本技术一些实施例还提供一种负载均衡策略选路优化的装置,参见图6,所述装置包括会话服务模块100与数据处理模块200,参见图1,其中:
94.会话服务模块100被配置为执行以下程序步骤:
95.s100:启用会话服务,所述会话用于接收流量数据以及将所述流量数据接入运行链路中,以通过所述运行链路转发所述流量数据,所述运行链路为处于正常运行状态下的链路。
96.数据处理模块200被配置为执行以下程序步骤:
97.s200:基于负载均衡规则将所述会话分配至所述运行链路中;
98.s300:对位于故障链路中的会话进行标记,以生成标记会话,所述故障链路为处于异常运行状态的链路;
99.s400:将所述标记会话切换至其他运行链路中;
100.s500:在所述故障链路恢复为所述运行链路后,对所述标记会话执行刷新操作,以及将刷新后的会话与其他会话按照所述负载均衡规则重新分配至所述运行链路中。
101.由以上技术方案可知,本技术提供一种负载均衡策略选路优化的方法和装置,所述方法可以通过会话按照负载均衡规则将流量数据均衡分配至处于正常运行状态下的运行链路中。当出现处于异常运行状态的故障链路时,对所述故障链路中的会话进行标记,并将标记后的会话切换至其他运行链路中进行流量数据的转发。在故障链路恢复为运行链路后,对标记的会话进行刷新,以去除标记会话中的标记。然后将刷新后的会话与其他会话按照负载均衡规则重新分配至运行链路中,进而避免故障链路在恢复后不能及时地转发流量数据,提升负载均衡分配的效率。
102.本领域技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
103.以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
104.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
105.本技术提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本技术总的构思下的几个示例,并不构成本技术保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本技术方案所扩展出的任何其他实施方式都属于本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1