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.

主站蜘蛛池模板: 中国国产A一级毛片| 亚洲av无码成人专区| 高清视频一区| 亚洲中文字幕久久无码精品A| 日韩在线第三页| 手机看片1024久久精品你懂的| 爱做久久久久久| 国产亚洲精品va在线| 日韩高清在线观看不卡一区二区 | 视频国产精品丝袜第一页| 久久精品无码国产一区二区三区| 人妻丰满熟妇AV无码区| 女人18毛片久久| 最新日韩AV网址在线观看| 国产超薄肉色丝袜网站| 精品一区国产精品| 高清免费毛片| 国产一区二区免费播放| 91精品啪在线观看国产91九色| a毛片免费看| 国产无码性爱一区二区三区| 91精品国产一区自在线拍| jizz亚洲高清在线观看| 国产精品999在线| 亚洲av无码人妻| 成人午夜视频免费看欧美| 国产精品久久久久久久伊一| 一本色道久久88| 日本一本在线视频| 国产成人亚洲欧美激情| 91精品网站| 高潮毛片免费观看| 亚洲国产清纯| 精品久久高清| 国产中文一区二区苍井空| 久久精品亚洲中文字幕乱码| 亚洲性一区| 日韩在线播放欧美字幕| 亚洲国产天堂久久综合226114| 中文字幕在线一区二区在线| 五月天久久综合国产一区二区| 日韩大片免费观看视频播放| 国产视频你懂得| 国产女主播一区| 欧洲免费精品视频在线| 美女无遮挡免费视频网站| 综合色在线| 亚洲伊人电影| 国产激情无码一区二区三区免费| 亚洲一级毛片| 国产一级毛片网站| 欧美日韩中文字幕二区三区| 国产精品妖精视频| 日本福利视频网站| 欧美成人在线免费| 色亚洲激情综合精品无码视频| 天堂av综合网| 国产v精品成人免费视频71pao| 亚洲男人在线| 国产无码网站在线观看| 欧美日本不卡| 国模视频一区二区| 日韩123欧美字幕| 日本高清有码人妻| 欧美一区中文字幕| 色噜噜狠狠狠综合曰曰曰| 精品国产中文一级毛片在线看 | 亚洲天堂色色人体| 第一区免费在线观看| 国产成人亚洲无码淙合青草| 毛片大全免费观看| 男人天堂亚洲天堂| 久久精品一品道久久精品| 亚洲人成网站在线播放2019| 精品国产免费第一区二区三区日韩| 久久这里只精品国产99热8| 亚洲欧美一区二区三区蜜芽| 国产亚洲视频中文字幕视频| 欧美人人干| 人人妻人人澡人人爽欧美一区| 白浆免费视频国产精品视频| 亚洲男人在线|