本发明涉及云计算技术领域,特别是一种虚拟访问入口数据包的地区区域特征提取方法。
背景技术:
在云计算领域,对网络数据包的特征提取可以帮助网络的问题定位和网络加速;协助提高网络的稳定性。对数据包的地区区域特征提取,在面向虚拟机业务以及CDN加速等方面,可以指导跨数据中心的资源调度,合理利用网络资源,从而快速的响应用户需求。目前大部分的基于数据区域特征的提取有些问题:
(1)基于虚拟机内部或CDN等业务系统内部去采集请求数据与分析的,这种方式会加大虚拟机和业务系统内部的压力,影响虚拟机或业务等系统的负载问题;
(2)采集与数据分析耦合性比较强,分析通常采用单节点去处理,不太灵活和弹性伸缩。
技术实现要素:
本发明解决的技术问题在于一种虚拟访问入口数据包的地区区域特征提取方法;在访问虚拟访问入口处采集网络数据信息,减少对网络访问的正常影响;同时采用弹性伸缩的分析算法,可以快速的计算出数据包的区域特征信息。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:获取虚拟访问入口关联的虚拟交换机上的端口和网桥信息;
步骤2:基于网桥和端口建立采集规则;
步骤3:周期性收集采集规则下的数据流信息并存放到数据库中;
步骤4:利用弹性伸缩的数据分析算法计算出数据包的地区区域特征。
所述的网桥添加在虚拟交换机上;虚拟访问入口关联的端口添加到网桥上;
虚拟访问入口为网络访问经过的地方,包括虚拟路由入口、虚拟机网卡后端、物理机IP地址所在的虚拟接口;
所述的地区区域特征,包含地区属性、IP源地址数量、总流量信息。
所述的采集是:
(1)建立网桥的采集代理,然后在采集代理上建立基于端口过滤的采集规则;
(2)采集规则包含源IP地址、目的IP地址、流量参数;
(3)采集的数据信息包含源IP地址、目的IP地址、流量数据项;
(4)数据项保存至数据库中记录了采集时间。
所述的分析算法其步骤包含:
(1)数据分析控制器从数据库中查询某个目的IP地址、某个时间范围内的数据项列表;
(2)将数据项列表等分成N份发送至N个计算节点进行区域特征计算,其中N的大小由数据项列表的大小和计算节点的处理能力决定;
(3)计算节点反馈区域特征给分析控制器;
(4)分析控制器合并每个计算节点的地区区域特征,并按照区域的总流量信息排序。
本发明的方法在访问虚拟访问入口处采集网络数据信息,减少了对网络访问的正常影响,同时采用弹性伸缩的算法,可以快速的计算出数据包的区域特征信息。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
如图1所示,本发明的实施流程如下:
1:获取虚拟访问入口关联的虚拟交换机上的端口和网桥信息;
虚拟路由的入口接口名称为qg开头:
在命名空间中查找qg的虚拟接口
ip netns exec qrouter-20a1d4df-47d9-4961-a100-388ee116ca02 ifconfig|grep qg
获取到虚拟接口为qg-c30fc711-20
ovs-vsctl show查询,定位到qg-c30fc711-20接口对应veth pair接口的qgp-c30fc711-20添加到br-int网桥上;
2:基于网桥和端口建立采集规则;
以sflow-rt为收集器代理器,qgp-c30fc711-20对应的ip link索引号为1198 import requests
步骤3:周期性收集采集规则下的数据流信息并存放到数据库中;
周期性时间可以有配置文件定义
4:利用弹性伸缩的分析算法计算出数据包的地区区域特征。
(1)数据分析控制器从数据库中查询某个目的IP地址、某个时间范围内的数据项列表
统计一年的访问地址183.2.251.199的数据流项信息,具体SQL语句类似于:
select*from data_flows where ipdestination=”183.2.251.199”and time<‘2016-11-14T01:27:13.870754’and time>=‘2015-11-14T01:27:13.870754’
统计出大概10000万条数据
(2)将数据项列表等分成N份发送至N个计算节点进行区域特征计算,其中N的大小由数据项列表的大小和计算节点的处理能力决定;具体逻辑实现描述:
如果每个计算节点的处理能力为1000万,将数据等分成10份,交个10个计算节点进行区域特征计算
其中区域特征查询调用开放的API进行查询;
统计出地区区域特征如下:
广东省广州市 IP地址数量 2000,流量2000Mb/s
.......................................
(3)计算节点反馈区域特征给分析控制器;
(4)合并地区区域特征,合并后采用快速排序算法,实现按照流量从大到小排序。