1.本发明属于网络通信技术领域,具体涉及一种基于图论的层次自适应负载均衡方法及系统。
背景技术:2.对于企业来说,在业务初期,往往使用单台服务器提供对外服务。但随着业务流量的翻倍增长,单台服务器无论采用多好的硬件进行优化,仍旧存在性能天花板,当单台服务器的性能无法满足业务需求时,就需要把多台服务器组成集群系统提高整体的处理性能。现有的负载均衡方案大多集中在服务器的资源配置上,虽然提升了本地服务器集群的整体处理能力,但当大量数据流入一个本地服务器集群时,仍存在性能不足问题。如何系统全面的对整个业务流程进行负载均衡,仍是当前网络通信技术领域的研究重点。
技术实现要素:3.本发明的目的在于提供一种基于图论的层次自适应负载均衡方法及系统,旨在解决网络拥塞、服务器负载能力有限以及服务器故障而造成的请求延迟和访问效率低下的问题。
4.为实现上述目的,本发明提供如下技术方案:一种基于图论的层次自适应负载均衡方法,包括如下步骤:
5.步骤1、采用优序图法计算处于不同地理位置的本地服务器集群的优序权重;
6.步骤2、根据计算所得优序权重,基于图论构建本地服务器集群的邻接矩阵或邻接表,得到本地服务器集群有权略缩图;
7.步骤3、客户端发出http/https/tcp/udp访问请求,全局负载均衡策略通过对请求进行分析,选择合适的本地服务器集群进行请求处理;
8.步骤4、访问请求被转发至本地服务器集群,本地均衡策略包括链路层负载均衡和服务器层负载均衡;
9.步骤5、链路层中设置路由评价单元,评估链路网络中的路由,并由优序图法计算各个路由的路由权重;
10.步骤6、根据路由权重值和流量特点,采用蚁群算法进行路径寻优;主要包括初始化、状态转移、禁忌表修改、信息素更新等步骤;
11.步骤7、重复状态转移、禁忌表修改、信息素更新等步骤,直至满足特定条件,得到最优转发路径;
12.步骤8、设置负载均衡器对链路层转发的请求进行流量特征分析,判断是否属于特定业务流量;
13.s81:若为特定业务流量,则转发至特定服务器进行处理;
14.s82:若非特定业务流量,则根据设定的负载均衡策略进行服务器选择;
15.步骤9、定期对本地服务器集群进行健康检测,剔除问题服务器,新增健康服务器。
16.优选的,所述全局负载均衡策略包括如下步骤:
17.采用优序图法计算处于不同地理位置的本地服务器集群权重,计算过程如下,对本地服务器集群的地理位置、服务器负载能力、服务器数量等指标进行两两对比,
18.若指标xi比指标xj重要,则xi得1分;
19.若同等重要,则xi得0.5分;
20.若指标xj比指标xi重要,则xi得0分;
21.得到优序图权重计算表,横向相加,得到各本地服务器集群的优序权重wc;通过得到的各本地服务器集群的优序权重wc,通过图论方法,构建本地服务器集群的邻接矩阵或邻接表,得到本地服务器集群有权略缩图。
22.优选的,所述本地服务器集群有权略缩图的构建过程如下:
23.首先,明确v的集合,即本地服务器集群的个数;
24.其次,明确e的集合,即本地服务器集群之间的联通关系;
25.接着,根据本地服务器集群之间的距离和优序权重wc,构建邻接矩阵或邻接表;
26.最后,构建完毕,得到本地服务器集群有权略缩图;
27.其中,图(graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:g(v,e),g表示一个图,v(vertex)是图g中顶点的集合,e(edge)是图g中边的集合。
28.优选的,所述本地负载均衡策略如下:
29.客户端发起请求后,根据全局负载均衡策略选定合适的本地服务器集群;
30.针对本地服务器集群制定了本地负载均衡策略,包括链路层负载均衡和服务器负载均衡,链路层负载均衡策略通过蚁群算法实现最优转发路径选择;
31.服务器层负载均衡策略设计了负载均衡器,对服务器资源进行合理配置,实现了负载均衡。
32.优选的,所述链路层负载均衡策略如下:
33.在链路层设置路由评价单元,对链路网络中的路由器进行评估,得到路由权重wr,采用蚁群算法进行最佳路径寻优,具体流程如下:
34.首先,初始化蚁群,包括蚂蚁个数,循环次数等;
35.然后,进行状态转移,即完成一条路径后变换至下一条路径进行寻找;
36.接着,进行禁忌表修改,禁忌表用来存储该蚂蚁已经访问过的路由,表示其在以后的搜索中将不能访问这些路由;
37.最后,更新信息素,当满足循环条件时,完成搜索,得到最优转发路径信息。
38.优选的,所述服务器层负载均衡策略如下:
39.通过链路层的请求到达服务器层进行处理,设置的负载均衡器对请求的流量特征进行分析,并根据设置的负载均衡策略进行服务器选择;同时,定期对本地服务器集群进行健康筛查,及时剔除问题服务器,添加健康服务器,保障请求处理的效率。
40.优选的,所述负载均衡器的策略如下:
41.对每个服务器配置不同的负载均衡技术(软件、硬件、dns、lvs等)根据链路层的请求信息,选择不同的服务器;
42.其中,服务器选择规则为:
43.①
请求源是否包含指定服务器信息,这种方式可以一定程度上保证特定用户或特
定内容的请求能连接到相同的服务器;
44.②
一般中小型流量,选择配备dns/lvs负载均衡策略的服务器;
45.③
大型流量,选择配备硬件负载均衡策略的服务器。并联的负载均衡策略,能够有效避免单个服务器故障造成整个本地服务器集群瘫痪的问题。
46.优选的,所述服务器健康状态筛查如下:
47.通过本地服务器集群进行自测,定期向集群内的服务器发起请求,根据响应状态进行健康状态判断,具体为:
48.1》若发起请求后,发生丢包、请求延迟等情况,则将该服务器状态设置为不可用;
49.2》若该服务器为指定服务器或特殊服务器,立即添加健康服务器进行替换。
50.上述方法的系统,包括:
51.全局负载均衡,通过优序图法计算处于不同地理位置的本地服务器集群权重,并通过图论构建本地服务器集群的有权略缩图,实现快速便捷的资源合理分配的需求;
52.本地负载均衡,通过优序图法计算各个链路路由的路由权重,引入蚁群算法查找最优转发路径,保证负载最小,效率最高的进行流量转发;并通过设计的负载均衡策略进行服务器选择,实现负载均衡,并定期对本地服务器集群进行健康筛查,及时剔除问题服务器,保证访问请求效率。
53.本发明的技术效果和优点:系统中设置有全局负载均衡和本地负载均衡,其中,全局负载均衡策略采用图论方法,根据不同地理位置和不同负载能力的本地服务器集群构建了本地服务器集群略缩图;当有访问请求时,根据全局负载均衡策略选择合适的本地服务器集群实现全局负载均衡;选定的本地服务器集群根据设计的本地负载均衡策略进行负载均衡;其中,本地负载均衡策略包括链路层负载均衡和服务器层负载均衡;链路层设计了路由评价单元,用于评估链路上每个路由的流量传输时间和负载能力并生成对应的路由权重值;采用智能优化算法寻找最佳转发路径,同时,更新路由权重;服务器层设计了负载均衡器,针对本地服务器集群根据业务需求对服务器进行划分,不同类的服务器配置不同类型的负载均衡技术;定期对本地服务器集群进行健康检测,及时剔除问题服务器;全面而有效的避免了由于网络拥塞、服务器负载能力有限以及服务器故障而造成的请求延迟和访问效率低下的问题。
附图说明
54.图1为本发明提供的系统结构示意图;
55.图2为本发明提供的全局负载均衡示意图;
56.图3为本发明提供的链路层负载均衡示意图;
57.图4为本发明提供的服务器层负载均衡示意图。
具体实施方式
58.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
59.本发明提供了如图1-4所示的一种基于图论的层次自适应负载均衡方法及系统,包括如下步骤:
60.步骤1、采用优序图法计算处于不同地理位置的本地服务器集群的优序权重;
61.步骤2、根据计算所得优序权重,基于图论构建本地服务器集群的邻接矩阵或邻接表,得到本地服务器集群有权略缩图;
62.步骤3、客户端发出http/https/tcp/udp访问请求,全局负载均衡策略通过对请求进行分析,选择合适的本地服务器集群进行请求处理;
63.步骤4、访问请求被转发至本地服务器集群,本地均衡策略包括链路层负载均衡和服务器层负载均衡;
64.步骤5、链路层中设置路由评价单元,评估链路网络中的路由,并由优序图法计算各个路由的路由权重;
65.步骤6、根据路由权重值和流量特点,采用蚁群算法进行路径寻优;主要包括初始化、状态转移、禁忌表修改、信息素更新等步骤;
66.步骤7、重复状态转移、禁忌表修改、信息素更新等步骤,直至满足特定条件,得到最优转发路径;
67.步骤8、设置负载均衡器对链路层转发的请求进行流量特征分析,判断是否属于特定业务流量;
68.s81:若为特定业务流量,则转发至特定服务器进行处理;
69.s82:若非特定业务流量,则根据设定的负载均衡策略进行服务器选择;
70.步骤9、定期对本地服务器集群进行健康检测,剔除问题服务器,新增健康服务器。
71.具体的,所述全局负载均衡策略包括如下步骤:
72.采用优序图法计算处于不同地理位置的本地服务器集群权重,计算过程如下,对本地服务器集群的地理位置、服务器负载能力、服务器数量等指标进行两两对比,
73.若指标xi比指标xj重要,则xi得1分;
74.若同等重要,则xi得0.5分;
75.若指标xj比指标xi重要,则xi得0分;
76.得到优序图权重计算表,横向相加,得到各本地服务器集群的优序权重wc;通过得到的各本地服务器集群的优序权重wc,通过图论方法,构建本地服务器集群的邻接矩阵或邻接表,得到本地服务器集群有权略缩图。
77.具体的,所述本地服务器集群有权略缩图的构建过程如下:
78.首先,明确v的集合,即本地服务器集群的个数;
79.其次,明确e的集合,即本地服务器集群之间的联通关系;
80.接着,根据本地服务器集群之间的距离和优序权重wc,构建邻接矩阵或邻接表;
81.最后,构建完毕,得到本地服务器集群有权略缩图;
82.其中,图(graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:g(v,e),g表示一个图,v(vertex)是图g中顶点的集合,e(edge)是图g中边的集合。
83.具体的,所述本地负载均衡策略如下:
84.客户端发起请求后,根据全局负载均衡策略选定合适的本地服务器集群;
85.针对本地服务器集群制定了本地负载均衡策略,包括链路层负载均衡和服务器负
载均衡,链路层负载均衡策略通过蚁群算法实现最优转发路径选择;
86.服务器层负载均衡策略设计了负载均衡器,对服务器资源进行合理配置,实现了负载均衡。
87.具体的,所述链路层负载均衡策略如下:
88.在链路层设置路由评价单元,对链路网络中的路由器进行评估,得到路由权重wr,采用蚁群算法进行最佳路径寻优,具体流程如下:
89.首先,初始化蚁群,包括蚂蚁个数,循环次数等;
90.然后,进行状态转移,即完成一条路径后变换至下一条路径进行寻找;
91.接着,进行禁忌表修改,禁忌表用来存储该蚂蚁已经访问过的路由,表示其在以后的搜索中将不能访问这些路由;
92.最后,更新信息素,当满足循环条件时,完成搜索,得到最优转发路径信息。
93.上述的蚁群算法是一种仿生学算法,是由自然界中蚂蚁觅食的行为而启发的;在自然界中,蚂蚁觅食过程中,蚁群总能够按照寻找到一条从蚁巢和食物源的最优路径,而且当信息素越浓,越来越多的蚂蚁将被吸引沿着这条路径行驶;当满足循环条件时,完成搜索,得到最优转发路径信息。
94.具体的,所述服务器层负载均衡策略如下:
95.通过链路层的请求到达服务器层进行处理,设置的负载均衡器对请求的流量特征进行分析,并根据设置的负载均衡策略进行服务器选择;同时,定期对本地服务器集群进行健康筛查,及时剔除问题服务器,添加健康服务器,保障请求处理的效率。
96.具体的,所述负载均衡器的策略如下:
97.对每个服务器配置不同的负载均衡技术(软件、硬件、dns、lvs等)根据链路层的请求信息,选择不同的服务器;
98.其中,服务器选择规则为:
99.①
请求源是否包含指定服务器信息,这种方式可以一定程度上保证特定用户或特定内容的请求能连接到相同的服务器;
100.②
一般中小型流量,选择配备dns/lvs负载均衡策略的服务器;
101.③
大型流量,选择配备硬件负载均衡策略的服务器。并联的负载均衡策略,能够有效避免单个服务器故障造成整个本地服务器集群瘫痪的问题。
102.具体的,所述服务器健康状态筛查如下:
103.通过本地服务器集群进行自测,定期向集群内的服务器发起请求,根据响应状态进行健康状态判断,具体为:
104.1》若发起请求后,发生丢包、请求延迟等情况,则将该服务器状态设置为不可用;
105.2》若该服务器为指定服务器或特殊服务器,立即添加健康服务器进行替换。
106.上述方法的系统,包括:
107.全局负载均衡,通过优序图法计算处于不同地理位置的本地服务器集群权重,并通过图论构建本地服务器集群的有权略缩图,实现快速便捷的资源合理分配的需求;
108.本地负载均衡,通过优序图法计算各个链路路由的路由权重,引入蚁群算法查找最优转发路径,保证负载最小,效率最高的进行流量转发;并通过设计的负载均衡策略进行服务器选择,实现负载均衡,并定期对本地服务器集群进行健康筛查,及时剔除问题服务
器,保证访问请求效率。
109.工作原理:系统中设置有全局负载均衡和本地负载均衡,其中,全局负载均衡策略采用图论方法,根据不同地理位置和不同负载能力的本地服务器集群构建了本地服务器集群略缩图;当有访问请求时,根据全局负载均衡策略选择合适的本地服务器集群实现全局负载均衡;选定的本地服务器集群根据设计的本地负载均衡策略进行负载均衡;其中,本地负载均衡策略包括链路层负载均衡和服务器层负载均衡;链路层设计了路由评价单元,用于评估链路上每个路由的流量传输时间和负载能力并生成对应的路由权重值;采用智能优化算法寻找最佳转发路径,同时,更新路由权重;服务器层设计了负载均衡器,针对本地服务器集群根据业务需求对服务器进行划分,不同类的服务器配置不同类型的负载均衡技术;定期对本地服务器集群进行健康检测,及时剔除问题服务器;全面而有效的避免了由于网络拥塞、服务器负载能力有限以及服务器故障而造成的请求延迟和访问效率低下的问题。
110.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种基于图论的层次自适应负载均衡方法,其特征在于,包括如下步骤:步骤1、采用优序图法计算处于不同地理位置的本地服务器集群的优序权重;步骤2、根据计算所得优序权重,基于图论构建本地服务器集群的邻接矩阵或邻接表,得到本地服务器集群有权略缩图;步骤3、客户端发出http/https/tcp/udp访问请求,全局负载均衡策略通过对请求进行分析,选择合适的本地服务器集群进行请求处理;步骤4、访问请求被转发至本地服务器集群,本地均衡策略包括链路层负载均衡和服务器层负载均衡;步骤5、链路层中设置路由评价单元,评估链路网络中的路由,并由优序图法计算各个路由的路由权重;步骤6、根据路由权重值和流量特点,采用蚁群算法进行路径寻优;主要包括初始化、状态转移、禁忌表修改、信息素更新等步骤;步骤7、重复状态转移、禁忌表修改、信息素更新等步骤,直至满足特定条件,得到最优转发路径;步骤8、设置负载均衡器对链路层转发的请求进行流量特征分析,判断是否属于特定业务流量;s81:若为特定业务流量,则转发至特定服务器进行处理;s82:若非特定业务流量,则根据设定的负载均衡策略进行服务器选择;步骤9、定期对本地服务器集群进行健康检测,剔除问题服务器,新增健康服务器。2.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述全局负载均衡策略包括如下步骤:采用优序图法计算处于不同地理位置的本地服务器集群权重,计算过程如下,对本地服务器集群的地理位置、服务器负载能力、服务器数量等指标进行两两对比,若指标x
i
比指标x
j
重要,则x
i
得1分;若同等重要,则x
i
得0.5分;若指标x
j
比指标x
i
重要,则x
i
得0分;得到优序图权重计算表,横向相加,得到各本地服务器集群的优序权重w
c
;通过得到的各本地服务器集群的优序权重w
c
,通过图论方法,构建本地服务器集群的邻接矩阵或邻接表,得到本地服务器集群有权略缩图。3.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述本地服务器集群有权略缩图的构建过程如下:首先,明确v的集合,即本地服务器集群的个数;其次,明确e的集合,即本地服务器集群之间的联通关系;接着,根据本地服务器集群之间的距离和优序权重w
c
,构建邻接矩阵或邻接表;最后,构建完毕,得到本地服务器集群有权略缩图;其中,图(graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:g(v,e),g表示一个图,v(vertex)是图g中顶点的集合,e(edge)是图g中边的集合。4.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述本地负载均衡策略如下:
客户端发起请求后,根据全局负载均衡策略选定合适的本地服务器集群;针对本地服务器集群制定了本地负载均衡策略,包括链路层负载均衡和服务器负载均衡,链路层负载均衡策略通过蚁群算法实现最优转发路径选择;服务器层负载均衡策略设计了负载均衡器,对服务器资源进行合理配置,实现了负载均衡。5.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述链路层负载均衡策略如下:在链路层设置路由评价单元,对链路网络中的路由器进行评估,得到路由权重w
r
,采用蚁群算法进行最佳路径寻优,具体流程如下:首先,初始化蚁群,包括蚂蚁个数,循环次数等;然后,进行状态转移,即完成一条路径后变换至下一条路径进行寻找;接着,进行禁忌表修改,禁忌表用来存储该蚂蚁已经访问过的路由,表示其在以后的搜索中将不能访问这些路由;最后,更新信息素,当满足循环条件时,完成搜索,得到最优转发路径信息。6.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述服务器层负载均衡策略如下:通过链路层的请求到达服务器层进行处理,设置的负载均衡器对请求的流量特征进行分析,并根据设置的负载均衡策略进行服务器选择;同时,定期对本地服务器集群进行健康筛查,及时剔除问题服务器,添加健康服务器,保障请求处理的效率。7.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述负载均衡器的策略如下:对每个服务器配置不同的负载均衡技术(软件、硬件、dns、lvs等)根据链路层的请求信息,选择不同的服务器;其中,服务器选择规则为:
①
请求源是否包含指定服务器信息,这种方式可以一定程度上保证特定用户或特定内容的请求能连接到相同的服务器;
②
一般中小型流量,选择配备dns/lvs负载均衡策略的服务器;
③
大型流量,选择配备硬件负载均衡策略的服务器。并联的负载均衡策略,能够有效避免单个服务器故障造成整个本地服务器集群瘫痪的问题。8.根据权利要求1所述的一种基于图论的层次自适应负载均衡方法,其特征在于,所述服务器健康状态筛查如下:通过本地服务器集群进行自测,定期向集群内的服务器发起请求,根据响应状态进行健康状态判断,具体为:1>若发起请求后,发生丢包、请求延迟等情况,则将该服务器状态设置为不可用;2>若该服务器为指定服务器或特殊服务器,立即添加健康服务器进行替换。9.根据权利要求1-8所述的一种基于图论的层次自适应负载均衡方法的系统,其特征在于,包括全局负载均衡,通过优序图法计算处于不同地理位置的本地服务器集群权重,并通过图论构建本地服务器集群的有权略缩图,实现快速便捷的资源合理分配的需求;
本地负载均衡,通过优序图法计算各个链路路由的路由权重,引入蚁群算法查找最优转发路径,保证负载最小,效率最高的进行流量转发;并通过设计的负载均衡策略进行服务器选择,实现负载均衡,并定期对本地服务器集群进行健康筛查,及时剔除问题服务器,保证访问请求效率。
技术总结本发明公开了一种基于图论的层次自适应负载均衡方法及系统,全局负载均衡,通过优序图法计算处于不同地理位置的本地服务器集群权重,并通过图论构建本地服务器集群的有权略缩图,实现快速便捷的资源合理分配的需求;本地负载均衡,通过优序图法计算各个链路路由的路由权重,引入蚁群算法查找最优转发路径,保证负载最小,效率最高的进行流量转发。本发明提供了基于图论的层次自适应负载均衡方法及系统,定期对本地服务器集群进行健康检测,及时剔除问题服务器;全面而有效的避免了由于网络拥塞、服务器负载能力有限以及服务器故障而造成的请求延迟和访问效率低下的问题。造成的请求延迟和访问效率低下的问题。造成的请求延迟和访问效率低下的问题。
技术研发人员:王换换 吴响 李奕霖 李瑞瑞
受保护的技术使用者:徐州恒佳电子科技有限公司
技术研发日:2022.08.09
技术公布日:2022/12/2