999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種結合Sketch和數(shù)據(jù)流元數(shù)據(jù)的網(wǎng)絡測試數(shù)據(jù)生成方法設計

2021-07-20 08:33:15付韜孫宏
中國新通信 2021年9期

付韜 孫宏

【摘要】 ? ?網(wǎng)絡性能測試中需要構造多種數(shù)據(jù)發(fā)向被測設備,目前已有的測試方法大多使用固定的流量模型和固定變化模式,無法真實反映網(wǎng)絡負載的特征。本文提出一種結合Sketch計數(shù)和數(shù)據(jù)流元數(shù)據(jù)壓縮復原的網(wǎng)絡測試數(shù)據(jù)生成方法,其中Sketch用來學習網(wǎng)絡中真實的數(shù)據(jù)流分布情況,元數(shù)據(jù)則采用壓縮的方式保存負載特征,在測試時將被壓縮的元數(shù)據(jù)恢復成測試數(shù)據(jù)并按Sketch統(tǒng)計值發(fā)送,從而以更加真實的仿真數(shù)據(jù)流完成性能測試。

【關鍵字】 ? ?重放測試 ? ?Sketch ? ?正則表達式

一、背景介紹

網(wǎng)絡性能測試是通過測試軟件或硬件產生超越被測設備性能極限的網(wǎng)絡測試數(shù)據(jù),經(jīng)過被測網(wǎng)絡或設備處理后得到可觀測的測試結果。目前最精準的網(wǎng)絡性能測試方法是采用網(wǎng)絡測試儀硬件平臺搭配專用軟件,具有端口密度大、時間戳精確、測試結果誤差小的優(yōu)點,典型的測試儀廠商如思博倫、是德、福祿克、信雅納、信而泰等均設計端口封裝涵蓋所有主流網(wǎng)絡接口、模塊可替換、協(xié)議種類豐富的系列化測試儀。網(wǎng)絡性能測試的核心基本功能是構建測試數(shù)據(jù)流、全線速捕獲、數(shù)據(jù)流統(tǒng)計分析,在此通過支持標準的RFC系列測試和字段變化規(guī)則可以完成網(wǎng)絡設備如路由器、交換機等的性能測試。

在目前工業(yè)界網(wǎng)絡性能測試中,常見的測試數(shù)據(jù)主要依據(jù)三種方式產生,一是依據(jù)特定標準規(guī)范的流量模型,二是依據(jù)真實捕獲的網(wǎng)絡通信數(shù)據(jù),三是用戶輸入特定的數(shù)據(jù)內容。在理論領域,文獻[1]提出使用正則表達式來構造測試數(shù)據(jù),但該方法沒有對各數(shù)據(jù)流占帶寬的比例進行控制,在流量分布方面無法按照用戶設置或真實網(wǎng)絡通信分布進行測試。

1.標準規(guī)范的流量模型:規(guī)定測試儀和被測設備的連接結構,定義多個數(shù)據(jù)流結構及字段內容變化模式,一般支持遞增、遞減、隨機等測試數(shù)據(jù),但存在著較強的規(guī)律。

2.真實網(wǎng)絡通信數(shù)據(jù):直接保存從網(wǎng)絡中捕獲的真實數(shù)據(jù),但占用大量存儲空間。

3.用戶輸入特定的數(shù)據(jù)內容:用戶配置基本的URL或載荷數(shù)據(jù),但靈活性較差。

測試數(shù)據(jù)構造方法需要滿足真實性、存儲空間、流量分布情況三方面的要求,真實性是指測試數(shù)據(jù)包的內容是否滿足被測網(wǎng)絡的要求,如果采用存在固定規(guī)律的假數(shù)據(jù),測試結果與真實網(wǎng)絡中的實際性能會存在較大誤差。存儲空間則代表測試儀用于存儲測試數(shù)據(jù)的總容量。流量分布情況則代表發(fā)送數(shù)據(jù)流時是否反映真實網(wǎng)絡中的分布情況。

從這三個角度分析,上述四種方法無法同時兼顧仿真的測試數(shù)據(jù)的真實性、存儲空間、流量分布情況。標準規(guī)范的流量模型真實性較差,僅占用測試配置文件的存儲空間,支持規(guī)律性的流量模型。重放網(wǎng)絡通信數(shù)據(jù)具有無損的真實性,但全部數(shù)據(jù)占用大量存儲空間,流量模型也與錄制的真實情況一致。用戶輸入特定的數(shù)據(jù)內容真實性介于前兩種方案之間,占用的存儲空間也較少,沒有流量模型的配置。正則表達式的方法具有一定的真實性,存儲空間僅需要用于保存有限條表達式,但不具備流量分布信息,最終無法復現(xiàn)特定的場景。

因此需要使用一種新的方法記錄真實網(wǎng)絡中的通信,在保留網(wǎng)絡通信核心特征的背景下將其抽象為存儲空間小、分布情況準確的網(wǎng)絡性能測試數(shù)據(jù)流量模型。本文將網(wǎng)絡性能測試過程中產生測試流的特征分為兩部分:一部分是數(shù)據(jù)流的分布特征,該部分采用Sketch進行記錄,在重放時根據(jù)相關統(tǒng)計值恢復成測試包序列;另一部分是數(shù)據(jù)流的元數(shù)據(jù),該部分針對非關鍵字進行正則表達式化替代,當重放時根據(jù)正則表達式的特征進行多種適配數(shù)據(jù)的填充和發(fā)送,從而兼顧真實性、存儲空間和流量分布的要求,優(yōu)于現(xiàn)有測試數(shù)據(jù)流構造方法。

二、Sketch計數(shù)基本原理

一個簡單的Sketch由一組哈希函數(shù)和計數(shù)器矩陣構成,如圖1所示,如果哈希函數(shù)的數(shù)量為n,那么計數(shù)器矩陣的行數(shù)也為n,每一行計數(shù)器的數(shù)量m則由計數(shù)方案的精度需求決定。當一個數(shù)據(jù)包Pkt的流標簽L進入Sketch后,如果第i個哈希函數(shù)計算該標簽并獲得一個哈希值j,則將該數(shù)據(jù)流標簽對應的統(tǒng)計值更新到第Ci,j單元上。Sketch采用n個哈希值對n行進行更新,通過多個統(tǒng)計副本降低碰撞概率,查詢時一般采用最低值、平均值等獲得精度較低的結果,其中應用比較廣泛的是采用最低值代表技術結果的CountMin Sketch [2]。

Sketch的特征在于只要n個副本不全都出現(xiàn)碰撞,就能得到準確的統(tǒng)計結果,統(tǒng)計精度可控。同時不針對每一個流建立獨立的統(tǒng)計條目,整個統(tǒng)計結構的存儲空間不會隨者目標被統(tǒng)計數(shù)據(jù)流數(shù)量的增加出現(xiàn)指數(shù)級增長。

三、基于Sketch和數(shù)據(jù)流元數(shù)據(jù)的重放框架

本文設計的重放測試框架由Sketch結構組、元數(shù)據(jù)存儲、測試數(shù)據(jù)復原模塊、發(fā)包控制模塊、發(fā)包隊列構成。其中,每一個Sketch結構存儲各個數(shù)據(jù)流的統(tǒng)計信息,反映某一個端口上檢測到的數(shù)據(jù)流標簽和每個標簽的數(shù)據(jù)量,在有線網(wǎng)絡中標簽由2層地址、3層地址、端口號、協(xié)議類型構成,在移動邊緣計算網(wǎng)絡中標簽則由手機號、賬號、網(wǎng)絡地址構成,該部分內容在測試開始之前已經(jīng)存在于測試儀存儲中。元數(shù)據(jù)存儲中包含測試儀所需的預定義的測試數(shù)據(jù)模板,在選擇網(wǎng)絡重放配置后,測試數(shù)據(jù)復原模塊通過對數(shù)據(jù)流元數(shù)據(jù)中的正則表達式進行變換,得到豐富的仿真測試數(shù)據(jù)。發(fā)包隊列則以復原模塊輸出的數(shù)據(jù)作為輸入,發(fā)包控制模塊根據(jù)Sketch結構組的流量約束條件調節(jié)發(fā)包隊列的速度,將周期內的測試數(shù)據(jù)發(fā)送至被測設備。

1. Sketch結構組:由多個Sketch構成,每個Sketch存儲著一個端口采集到的真實數(shù)據(jù)流分布統(tǒng)計結果,具體包括數(shù)據(jù)流標識列表和Sketch計數(shù)器。表示列表除記錄所有標識之外,還要記錄該數(shù)據(jù)流的數(shù)據(jù)類型,以便根據(jù)相應的數(shù)據(jù)流元數(shù)據(jù)生成測試數(shù)據(jù)。

2.元數(shù)據(jù)存儲:元數(shù)據(jù)使用XML保存由數(shù)據(jù)流類型和正則表達式構成的混合字符串,其中正則表達式可以給出數(shù)據(jù)的變化規(guī)則,例如特定的字符類型組合、特定的關鍵字組合等等。在遇到任意字符串如*、[A-Za-z]時采用配置選擇的字符串集合填充。

3.測試數(shù)據(jù)復原模塊:根據(jù)Sketch結構組和數(shù)據(jù)流元數(shù)據(jù)得到測試數(shù)據(jù),這里首先讀取Sketch中的某一個數(shù)據(jù)流的頻次n和類型,根據(jù)類型得到XML流模板,實現(xiàn)n次數(shù)據(jù)包構造,每次讀取XML流模板并逐個處理XML標簽,當XML標簽為關鍵字時,直接填充至數(shù)據(jù)包,而XML標簽為正則表達式時,逆向構造符合正則表達式的字符串,該方法目前已有多種嘗試,這里我們根據(jù)用戶輸入的網(wǎng)絡重放測試配置進行隨機構造。

4.發(fā)包隊列:測試數(shù)據(jù)復原模塊產生的大量數(shù)據(jù)包會添加進入發(fā)包隊列。

5.發(fā)包控制模塊:會根據(jù)測試儀指定的發(fā)包速率定期發(fā)出發(fā)包控制指令,調整發(fā)包隊列和收發(fā)端口的發(fā)送速度。

Sketch存儲的數(shù)據(jù)流統(tǒng)計值對存儲的占用很低,使用正則表達式構成的數(shù)據(jù)流元數(shù)據(jù)也不需要完整保存網(wǎng)絡信息數(shù)據(jù),因此能夠在測試以上以較低的存儲空間定義大量測試流量模型。

四、數(shù)據(jù)流元數(shù)據(jù)設計

傳統(tǒng)網(wǎng)絡性能測試儀器采用數(shù)據(jù)流模板(即一種固定的協(xié)議棧及其字段結構)為基礎,在字段內容上進行隨機、遞增、遞減、指定數(shù)據(jù)等方法構造測試數(shù)據(jù),最后補充時間戳和校驗和。

雖然能夠驗證被測網(wǎng)絡或設備的性能,但簡易的數(shù)據(jù)內容已被應用檢測為錯誤數(shù)據(jù)并丟棄。如果完整保存真實網(wǎng)絡數(shù)據(jù),則需要保存性能測試過程中以Tb為單位的大量數(shù)據(jù),對測試儀的存儲空間造成極大浪費,也減少可保存的流量模型數(shù)量。

元數(shù)據(jù)是用于描述數(shù)據(jù)的數(shù)據(jù),包含對目標數(shù)據(jù)及信息資源的描述信息[3]。性能測試中的數(shù)據(jù)流元數(shù)據(jù)描述測試流模型的特征,由描述元數(shù)據(jù)部分、結構元數(shù)據(jù)部分和管理元數(shù)據(jù)部分構成。已經(jīng)保存在測試儀的數(shù)據(jù)流元數(shù)據(jù)將真實網(wǎng)絡流量特征進行抽象,在保留原有網(wǎng)絡通信特征的基礎上將數(shù)據(jù)壓縮為更加精簡的描述,從而節(jié)省網(wǎng)絡測試儀的存儲空間。

本文設計的數(shù)據(jù)流元數(shù)據(jù)由類型、XML流模板和填充數(shù)據(jù)UUID構成。其中,類型是描述元數(shù)據(jù),用于識別某一類構造的測試數(shù)據(jù)類別。XML流模板是結構元數(shù)據(jù),保存相應類別測試流的通用結構,填充數(shù)據(jù)UUID則在必要時給出需要額外引用的數(shù)據(jù)內容。管理元數(shù)據(jù)是保存的測試配置文件,給出該數(shù)據(jù)流元數(shù)據(jù)構造測試數(shù)據(jù)時應遵守的約束條件。XML流模板結構的簡單案例如下:

<?xml version=”1.0” encoding=”utf-8”?>

example string

......

331b6525-6199-40ef-bdba-dd5f00384f42

......

[0-9]+(\.[0-9]{2})[A-Za-z]@\w+([-.]\w+)*\.\w+([-.]\w+)* //電子郵箱的表達式格式

......

該案例中strKey標簽是關鍵字數(shù)據(jù),其中fixed類型直接填充example string,fillData類型則通過uuid去文件中尋找相應數(shù)據(jù)填充。RegExp標簽是正則表達式字符串,用于測試數(shù)據(jù)構造的正則表達式僅保留對數(shù)字、字母、符號以及通配符等常用的表達式,不執(zhí)行環(huán)視和修飾符功能。本方法中涉及到的數(shù)據(jù)流元數(shù)據(jù)標簽如表1所示,未來可以根據(jù)測試需要擴展標簽種類。

五、重放數(shù)據(jù)復原方法

當對某個端口的數(shù)據(jù)流進行完整重放時,會查找對應Sketch中的關鍵字列表,假如處理到關鍵字為Keyi的數(shù)據(jù)流,則根據(jù)該標識哈希到計數(shù)矩陣中,如采用CountMin Sketch就取所有哈希函數(shù)結果中的最小值作為實際計數(shù)值NQ,總共需要針對Keyi數(shù)據(jù)流構造NQ個測試包。通過Keyi在標識列表中對應的載荷類型Tpi識別載荷的構造模式,在數(shù)據(jù)流元數(shù)據(jù)中查找具體的XML模板,正則表達式的填充數(shù)據(jù)則從本地文件讀取,具體過程如圖2所示。

在獲取相關信息后,Ns代表當前已經(jīng)構造的數(shù)據(jù)包數(shù)量,在構造一個具體的測試包時,測試數(shù)據(jù)復原模塊將讀取解析XML流模板。測試數(shù)據(jù)復原模塊遍歷標簽時首先進行關鍵字識別,這里的關鍵字是指網(wǎng)絡協(xié)議相關的特定字符串,如http、https等,這些字符串并不會進行替換。隨后找出標記為正則表達式標簽的內容,此時根據(jù)正則表達式的規(guī)則逆向生成測試載荷,具體可以使用文獻[4]中的方法,任意字符串的部分使用本地填充數(shù)據(jù)替換。

最后,為保證測試包能夠順利通過網(wǎng)絡發(fā)送至接收端,對長度字段和校驗等有嚴格約束條件的字段進行重新計算,將封裝完畢的測試數(shù)據(jù)包加入發(fā)包隊列。

六、結束語

本文提出一種應網(wǎng)絡性能測試的數(shù)據(jù)流仿真方法,充分利用Sketch和數(shù)據(jù)流元數(shù)據(jù)存儲空間較少的優(yōu)點,利用Sketch和正則表達式逆向產生具有明確流量分布特征和數(shù)據(jù)特征的測試數(shù)據(jù),實現(xiàn)一種高效的性能測試流量構造方法,可廣泛應用于網(wǎng)絡性能測試軟件和網(wǎng)絡測試儀的設計和研制。

參 ?考 ?文 ?獻

[1]基于正則表達式的測試數(shù)據(jù)自動生成技術[J]. 董敏,畢盛,齊德昱. 計算機工程. 2009(16).

[2]Cormode, G, Muthukrishnan, et al. An improved data stream summary: the count-min sketch and its applications[J]. Journal of Algorithms, 2005.

[3] Merriam-Webster.元數(shù)據(jù)字典網(wǎng)站[EB/OL].(2020-01-01)[2020-09-12]. http://www.merriam-webster.com/dictionary/metadata.

[4]郝忠虎.基于正則表達式擴展的Web服務測試用例自動生成方法研究[D].華南理工大學,2012.

主站蜘蛛池模板: 国产人人射| 五月激情综合网| 国产精品久久久久久搜索| 99无码熟妇丰满人妻啪啪 | 精品国产欧美精品v| 国产亚洲精品yxsp| 精品五夜婷香蕉国产线看观看| 成人av专区精品无码国产| 欧洲日本亚洲中文字幕| 国产国产人成免费视频77777| 国产欧美高清| 凹凸国产熟女精品视频| 国产美女无遮挡免费视频网站 | 日本精品αv中文字幕| 成人毛片在线播放| 久久免费视频6| 一区二区三区国产精品视频| 国产成人精品亚洲日本对白优播| 中国精品久久| 日本高清有码人妻| 国产在线日本| 视频一区视频二区中文精品| 99久久精品国产精品亚洲| 免费一级毛片在线播放傲雪网| 国产福利在线免费| 日韩AV无码免费一二三区| 91精品国产一区自在线拍| 天天色天天综合网| 国产精品成人观看视频国产| 热re99久久精品国99热| 亚洲男人在线天堂| 2020国产免费久久精品99| 小说区 亚洲 自拍 另类| 欧美一区二区三区香蕉视| 中文字幕乱码二三区免费| 亚洲国产成熟视频在线多多| 欧美激情成人网| 极品私人尤物在线精品首页| 欧美特级AAAAAA视频免费观看| 不卡午夜视频| 自拍偷拍欧美日韩| 18禁影院亚洲专区| 欧美成人一级| 成人福利免费在线观看| 国产午夜无码片在线观看网站| 国产精鲁鲁网在线视频| 全部无卡免费的毛片在线看| 国产成人av大片在线播放| 青草视频网站在线观看| 亚洲色中色| av免费在线观看美女叉开腿| 丝袜亚洲综合| 一本大道无码高清| 五月丁香伊人啪啪手机免费观看| 欧美翘臀一区二区三区 | 不卡无码网| 天堂成人在线| 91毛片网| 国产综合精品日本亚洲777| 日韩精品亚洲精品第一页| 国产亚洲高清在线精品99| 国内精品免费| 麻豆AV网站免费进入| 日本黄色a视频| 在线精品亚洲国产| 夜夜拍夜夜爽| 91福利片| 人妻21p大胆| 在线观看精品自拍视频| 欧美成人怡春院在线激情| 国产精品部在线观看| 熟女成人国产精品视频| 国产人人射| 欧美成人怡春院在线激情| 男人天堂伊人网| 99热国产在线精品99| 日韩无码视频播放| 亚洲高清无在码在线无弹窗| 91人妻日韩人妻无码专区精品| 欧美国产日韩在线观看| 国产精品伦视频观看免费| 精品国产污污免费网站|