根据接收的udp报文产生对特定统计数据项的统计结果的系统的制作方法

文档序号:8265443阅读:572来源:国知局
根据接收的udp报文产生对特定统计数据项的统计结果的系统的制作方法
【技术领域】
[0001] 本发明涉及一种根据接收的UDP报文产生针对特定统计数据项的统计结果的系 统。
【背景技术】
[0002] 传统的负载平衡器(Load Balancer),如采用Iinux下HaProxy的配置,用于读取 来自网络的每一个HTTP请求中所包含的cookies或URL解释,并且基于这些信息重写报头 并将HTTP请求发往后端服务器群,使得后端服务器群中各服务器达到流量、资源占用的平 衡状态。但是,传统的负载平衡器不会自动对网络的流量进行滤过检查,不能对攻击流量进 行限流或丢弃。
[0003] 在现有技术中,已知有基于流量清洗技术通过侦测TCP分组来实现针对ICMP/ TCP/UDP流攻击进行防护的,通过重发TCP/UDP分组来实现。这种已知方案仅对TCP/UDP层 的分组有效,它对于预防需解密的开放式系统互联参考模型(OSI)第7层应用层的HTTP流 攻击无能为力。
[0004] 一种想法是根据对访问URL做统计,根据单位时间访问量如QPS来限制访问请求。 针对一个大型网站访问URL的统计通常消耗很多内存。一般来说,对于数据项IP地址、用 户标识(USERID)、统一资源定位符(URL)等的任何一个组合,需要记录与该组合相关联的 每一个访问的时间戳(timestamp)。当需要计算QPS时,将各个时间点过滤或排序,既费时 又耗内存。
[0005] 在现有技术中,当需要计算QPS时,将各个时间点过滤或排序,既费时又耗内存。
[0006] 在现有技术中,当需要计算QPS时,将各个时间点过滤或排序,既费时又耗内存。

【发明内容】

[0007] 根据本发明,提供一种根据接收的UDP报文产生针对特定统计数据项的统计结果 的系统,所述UDP报文是通过负载均衡器解析来自网络的查询请求而产生的,所述系统包 括:接收部分,用于接收所述负载均衡器发送的UDP报文;计算部分,根据预定义统计数据 项组合和预定义统计时长对接收的UDP报文进行统计以产生统计结果,所述统计结果给出 了在当前统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量;发送部 分,根据汇总器的请求向其发送所述统计结果。
[0008] 根据本发明的系统,其中所述预定义统计数据项组合包括下述之一:用户名、客户 端IP地址和通用资源标示符;用户名和通用资源标示符;以及客户端IP地址和通用资源 标示符。
[0009] 根据本发明的系统,其中所述统计结果以JSONS数据格式通过web页形式被发送。
[0010] 根据本发明的系统,其中,根据发送的所述统计结果,所述汇总器产生用于确定是 否放行相应查询请求的黑名单。
【附图说明】
[0011] 下面将参考附图详细地描述本发明的实施例,其中:
[0012] 图1是根据本发明的用于对来自网络的访问请求进行限制的系统的结构图;
[0013] 图2是根据接收的UDP报文产生针对特定统计数据项的统计结果的系统的示例性 框图;
[0014] 图3是根据本发明的对来自网络的访问请求产生黑名单的系统的示例性汇总器 的组成的示例性框图。
【具体实施方式】
[0015] 根据本发明,提供一种根据接收的UDP报文产生针对特定统计数据项的统计结果 的系统以及包括多个这样系统的聚集器。
[0016] -个访问请求,如来自因特网的HTTP请求,包括如下数据项:该访问用户要访问 的目的域名(host);用户请求的通用资源标示符(uri);用户名(Uid);客户端IP地址 (cip)等。
[0017] 本发明的用于对来自网络的访问请求进行限制的系统包括负载均衡器、聚集器和 汇总器。
[0018] 所述负载均衡器接收来自所述网络的访问请求,把所接收的每个访问请求解析成 一个UDP报文,并且把UDP报文传送给聚集器。
[0019] 所述聚集器根据预定义统计数据项组合和预定义统计时长对接收到的UDP报文 进行统计,并且根据汇总器的请求向其发送统计结果。所述统计结果给出了在当前的预定 义统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量。
[0020] 所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述 聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根 据所述负载均衡器的请求把黑名单发送给所述负载均衡器,其中所述黑名单定义了对相应 访问请求的处理动作。
[0021] 所述负载均衡器根据当前黑名单确定对所接收的每个访问请求的处理动作。
[0022] 下面结合具体实施例详细描述根据本发明实施例的用于对来自网络的访问请求 进行限制的系统。但应该理解,具体实施例仅用于理解本发明的精神和具体实现,但本发明 并不受限于特定的实施例。
[0023] 图1示出根据本发明用于对来自网络的访问请求进行限制实施例的系统100,该 系统100包括3个模块:
[0024] 负载均衡器101,
[0025] 聚集器102,和
[0026] 汇总器 103。
[0027] 负载均衡器101接收来自网络的访问请求,如来自因特网的HTTP请求,并将接收 的访问请求解析成UDP报文,再将UDP报文传输给聚集器。
[0028] UDP报文因其资源消耗小、处理速度快等优势可以大大减小负载均衡器的额外开 销。UDP协议不属于连接型协议,所以会存在一定的报文丢失现象。但这种丢失在可控误差 范围之内,对系统的健硕性影响可忽略。
[0029] 聚集器102可包括多台聚集机20。多台聚集机20水平独立扩展,即每台聚集机 20是独立部署和运行的,它们相互之间没有影响和依赖。如果聚集器处理能力不能满足需 要,可以增加机器,再部署新的聚集机20。这样可以较好地满足大交通流量的需要。
[0030] 负载均衡器101把每个UDP报文传输至一台选定的聚集机20。各台聚集机20分 别进行所述统计。
[0031] 根据本发明的一个实施例,负载均衡器101用逐个轮询的方式向多台聚集机20发 m)P报文。例如,第一个UDP包发给第一台聚集机20,第二个UDP包发给第二台聚集机20, 依次把生成的m)P包按顺序发给各聚集机20。当给最后一台聚集机20发送过过UDP包之 后,再重新向第一台聚集机20发送。
[0032] 每台聚集机20按照预定义统计规则或条件,如预定义的统计数据项组合、预定义 的统计时间间隔等,对接收到的UDP报文进行统计分析。
[0033] 聚集机20接收UDP报文并且解析UDP报文。UDP报文中包含了用户的HTTP访问请 求的信息:用户访问的目的域名(host)、用户请求的通用资源标示符(uri)、用户名(uid)、 客户端IP地址(cip)等。
[0034] 然后,聚集机20针对同一个目的域名(相同的host)、同一来源(相同的uid,相 同的cip)的访问请求数量作统计,进而可计算出此来源的访问请求量。
[0035] 如果在限定的时间段,如最近60秒或最近5分钟,考察上述统计访问请求量,那么 可得出此来源的单位时间请求量,如通过访问请求量除以该时间段的时长来获得QPS值。 QPS是指每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标 准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
[0036] 然后,聚集机20根据汇总器103的请求向其发送统计结果。
[0037] 汇总器103每隔一定时间,例如每隔10秒,向聚集器请求一次"统计结果",这种请 求例如以HTTP形式发出请求。
[0038] 当聚集器102的各聚集机20收到来自汇总器103的请求后,则把当前的统计结果 构造成响应报文,例如HTTP形式的响应报文,并且把包含当前统计结果的响应报文发给汇 总器103。
[0039] 汇总器103接收来自各聚集机20的响应报文,根据特定分类处理从所有聚集机20 接收的报文中包含的统计结果,产生汇总的统计分析结果,并根据预定义规则生成黑名单。
[0040] 根据本发明的一个实施例,黑名单中的一条黑名单记录包含4个参数:
[0041] 目的域名(host),
[0042] 源用户名(uid),
[0043] 源客户端 IP (Cip)JP
[0044] 处理动作(action)。
[0045] 该记录的含义可理解为,对于发送给该目的域名(host)的一请求,如果用户名和 客户端IP等同于该记录中对应的值(源用户名、源客户端IP),则采取对应的处理动作。处 理动作例如是对该请求进行拦截或重定向或延时。当一访问请求的目的域名、用户名、客户 端IP地址与一黑名单记录的目的域名、用户名、客户端IP地址,则称该访问请求匹配黑名
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1