本發明涉及云計算技術領域,特別是一種虛擬訪問入口數據包的地區區域特征提取方法。
背景技術:
在云計算領域,對網絡數據包的特征提取可以幫助網絡的問題定位和網絡加速;協助提高網絡的穩定性。對數據包的地區區域特征提取,在面向虛擬機業務以及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)合并地區區域特征,合并后采用快速排序算法,實現按照流量從大到小排序。