一种基于流的负载均衡的系统以及实现方法技术方案

技术编号:14572181 阅读:101 留言:0更新日期:2017-02-06 09:03
一种基于流的负载均衡的系统以及实现方法,它包括服务器管理模块和会话表管理模块;服务器管理模块用于对各后台服务器进行管理;会话表管理模块用于管理会话表、规则表、服务器组表、端口组表和服务器属性表。本发明专利技术提出一种屏蔽端口基于会话的负载均衡实现方法。可以屏蔽端口差异、组网差异,按会话进行同源同宿,最大可能保证会话完整性。

【技术实现步骤摘要】

本专利技术涉及IP数据网络数据采集领域,具体涉及一种在采集设备上基于流的负载均衡系统以及实现方法。
技术介绍
目前,采集设备从IP数据网络获取流量,按一定负载算法从端口组中选一个端口把流量送到后台服务器。对于采集设备一个最基本原则就是保证流量同源同宿,也就是同一会话的流量发送到同一后台服务器。采集设备通常把端口组作为分流目标,当向端口组中增加/删除端口时,会影响流量同源同宿;当端口组的端口UP/DOWN时,也会影响流量同源同宿。采集设备基于五元组(源IP、目的IP、源端口、目的端口、协议)进行负载均衡,如果应用场景IP有限或者IP地址不够离散,会引起部分服务器流量过高、部分服务器流量过低。目前的实现并没考虑流量的特征,如应用种类、报文复杂度等因素。在实际应用中,向端口组中添加/删除端口、端口组内端口UP/DOWN都无法避免,都会引起同一链接流量不能“同源同宿”。由于基于五元组进行负载均衡,很难均衡发挥服务器的处理性能。针对上述不足,提出一种屏蔽端口基于会话的负载均衡实现方法,弥补现有不足。
技术实现思路
本专利技术的目的是针对上述问题,提出一种基于流的负载均衡实现方法。由于流量交给服务器处理,所以本专利技术中把后台服务器作为分流目标,而不是把分流端口作为分流目标,这里通过分流端口把流量送到后台服务器。同时通过对会话表的自动学习、老化、删除、刷新操作,实现基于流的同源同宿,最大程度保证同源同宿。本专利技术的技术方案是:一种基于流的负载均衡的实现系统,它包括服务器管理模块和会话表管理模块;服务器管理模块用于对各后台服务器进行管理,服务器作为基本分流单位,每个服务器用自己的IP地址唯一表示,服务器的MAC地址手动配置,或者通过ARP协议学习;所述的服务器管理模块中设置各服务器的组网属性、权重属性,并且对各服务器进行排列;会话表管理模块用于管理会话表、规则表、服务器组表、端口组表和服务器属性表;会话表是一组流的集合,一条流用目的IP和节目号标识;规则表是记录流的一种分流方法,条规则表里具有目的IP、服务器组编号信息;服务器组表是一组服务器的集合,作为最终负载均衡目标,记录有服务器IP;端口组表是一组端口的集合,负责把流量从端口送到服务器;服务器属性表存放服务器的工作状态和组网属性;所述的工作状态包括在线和离线两种工作状态,组网属性包括直连和跨交换机两种属性。会话表管理模块用于管理会话表、规则表、服务器组表、端口组表和服务器属性表;会话表是一组流的集合,一条流用目的IP和节目号标识;规则表是一组规则表条目的集合,各条目里具有流的目的IP和服务器组编号信息;服务器组表是一组服务器的集合,作为最终负载均衡目标,记录有服务器IP;端口组表是一组端口的集合,负责把流量从端口送到服务器;服务器属性表存放服务器的工作状态和组网属性,所述的工作状态包括在线和离线两种工作状态,组网属性包括直连和跨交换机两种属性。本专利技术中,根据本系统与服务器有两种组网方式,服务器的组网属性有两种:一种是本系统与服务器直连方式,另一种本系统与后台服务器跨交换机相连;服务器的权重属性用于表示服务器的性能和处理能力的强弱,服务器的权重越大代表处理能力越强。一种基于流的负载均衡的实现方法,它采用基于流的负载均衡的实现方法,它包括服务器管理步骤和会话表管理步骤;所述的服务器管理步骤如下:步骤101,将待添加的各服务器按服务器的IP地址从小到大进行排序;步骤102,计算各个服务器权重的总和;步骤103,取得服务器组表项空间中可完整填充部分的总数,服务器组表项空间中可完整填充部分的总数=服务器组表项空间的大小/各服务器权重总和,/表示整除;(本系统服务器组表项空间的大小为1024)步骤104,取得服务器组表项空间中余数填充部分的总数,服务器组表项空间中余数填充部分的总数=服务器组表项空间的大小%各服务器权重总和,%表示模除;步骤105,将步骤101排序后的各服务器按顺序添加至服务器组表项空间的整除填充部分;步骤106,服务器组表项空间的余数填充部分按哈希算法填充。所述的会话表管理步骤如下;步骤201,报文从端口进入到本系统;步骤202,提取报文中的目的IP和节目号形成键值;步骤203,在会话表中,根据步骤202形成的键值查找会话表的条目;步骤204,判断是否有匹配会话表的条目,如果存在匹配的会话表条目,说明会话已经存在,转步骤209处理,否则新建会话,进行205处理;步骤205,提取报文中的目的IP形成键值,查找规则表的条目,获取服务器组编号;步骤206,提取报文中的8字节的节目号按哈希算法生成10位哈希值,用前述哈希值从步骤205获取的服务器组中选择一个服务器的IP;步骤207,提取报文中的目的IP、8字节的节目号以及步骤206所选择的服务器组中服务器的IP生成会话表条目,存储在会话表中,即会话表的条目包含目的IP、8字节的节目号、服务器的IP信息;步骤208,用前述服务器的IP查找服务器属性表,根据服务器的组网属性将流量从直连端口或端口组输出;步骤209,用服务器的IP查找服务器属性表,获取服务器的工作状态;步骤210,判断服务器状态,如果服务器组表的工作状态为在线,进行步骤208处理,否则说明服务器已离线,进行211处理;步骤211,根据目的IP和节目号键值删除会话表中条目。本专利技术的步骤106中,具体哈希算法是,对于服务器组表项空间的余数填充部分,根据当前位置用CRC32算法生成。本专利技术的206中,从相应的服务器组中根据哈希值选择一个服务器具体为:按照下述方法将8字节的节目号前4个字节与后4字节进行异或运算,获得4字节哈希值;将4字节哈希值的前2个字节与后2字节进行异或运算,获得2字节哈希值,将前述2字节哈希值的低10位作为10位哈希值,根据前述10位哈希值获取服务器组中服务器的位置,选择出该服务器;4字节哈希值=(8字节节目号的前4字节XOR8字节节目号后4字节)2字节哈希值=(4字节哈希值的前2字节XOR4字节哈希值的后2字节)10位哈希值=2字节哈希值的低10位。本专利技术的有益效果:本专利技术提出一种屏蔽端口基于会话的负载均衡实现方法。可以屏蔽端口差异、组网差异,按会话进行同源同宿,最大可能保证会话完整性。本专利技术的提供一种基于流的负载均衡实现方法。由于流量交给服务器处理,所以本专利技术中把后台服务器作为分流目标,而不是把分流端口作为分流目标,这里通过分流端口把流量送到后台服务器。同本文档来自技高网...

【技术保护点】
一种基于流的负载均衡的实现系统,其特征是它包括服务器管理模块和会话表管理模块;服务器管理模块用于对各后台服务器进行管理,服务器作为基本分流单位,每个服务器用自己的IP地址唯一表示,服务器的MAC地址手动配置,或者通过ARP协议学习;所述的服务器管理模块中设置各服务器的组网属性、权重属性,并且对各服务器进行排列;会话表管理模块用于管理会话表、规则表、服务器组表、端口组表和服务器属性表;会话表是一组流的集合,一条流用目的IP和节目号标识;规则表是一组规则表条目的集合,各条目里具有流的目的IP和服务器组编号信息;服务器组表是一组服务器的集合,作为最终负载均衡目标,记录有服务器IP;端口组表是一组端口的集合,负责把流量从端口送到服务器;服务器属性表存放服务器的工作状态和组网属性,所述的工作状态包括在线和离线两种工作状态。

【技术特征摘要】
1.一种基于流的负载均衡的实现系统,其特征是它包括服务器管理模块和会话表管理
模块;
服务器管理模块用于对各后台服务器进行管理,服务器作为基本分流单位,每个服务
器用自己的IP地址唯一表示,服务器的MAC地址手动配置,或者通过ARP协议学习;所述的服
务器管理模块中设置各服务器的组网属性、权重属性,并且对各服务器进行排列;
会话表管理模块用于管理会话表、规则表、服务器组表、端口组表和服务器属性表;会
话表是一组流的集合,一条流用目的IP和节目号标识;规则表是一组规则表条目的集合,各
条目里具有流的目的IP和服务器组编号信息;服务器组表是一组服务器的集合,作为最终
负载均衡目标,记录有服务器IP;端口组表是一组端口的集合,负责把流量从端口送到服务
器;服务器属性表存放服务器的工作状态和组网属性,所述的工作状态包括在线和离线两
种工作状态。
2.根据权利要求1所述的基于流的负载均衡的实现系统,其特征是根据本系统与服务
器有两种组网方式,服务器的组网属性有两种:一种是本系统与服务器直连方式,另一种本
系统与后台服务器跨交换机相连;服务器的权重属性用于表示服务器的性能和处理能力的
强弱,服务器的权重越大代表处理能力越强。
3.一种基于流的负载均衡的实现方法,它采用权利要求1-2之一所述的基于流的负载
均衡的实现方法,其特征是它包括服务器管理步骤和会话表管理步骤;
所述的服务器管理步骤如下:
步骤101,将待添加的各服务器按服务器的IP地址从小到大进行排序;
步骤102,计算各个服务器权重的总和;
步骤103,取得服务器组表项空间中可完整填充部分的总数,服务器组表项空间中可完
整填充部分的总数=服务器组表项空间的大小/各服务器权重总和,/表示整除;
步骤104,取得服务器组表项空间中余数填充部分的总数,服务器组表项空间中余数填
充部分的总数=服务器组表项空间的大小%各服务器权重总和,%表示模除;
步骤105,将步骤101排序后的各服务器按顺序添加至服务器组表项空间的整除填充部
分;
步骤106,服务器组表项空间的余数填充部分按哈希算法填充;
所述的会话表管理步骤...

【专利技术属性】
技术研发人员:袁庆升云晓春陈训逊包秀国任彦徐杰邹学强刘洋黄文廷王慧贾有春
申请(专利权)人:国家计算机网络与信息安全管理中心南京中新赛克科技有限责任公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1