應(yīng)用流量生成方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種應(yīng)用流量生成方法,包括以下步驟:1)、確定被模擬的應(yīng)用,提取應(yīng)用流量生成需求,所述應(yīng)用流量生成需求包括被模擬的應(yīng)用和每種應(yīng)用的不同操作在時(shí)間序列上的先后順序;2)、對(duì)步驟1)得到的應(yīng)用建立應(yīng)用模版;3)、對(duì)步驟1)得到的應(yīng)用流量的生成進(jìn)行序列化描述;4)、根據(jù)步驟2)的所述應(yīng)用模板和步驟3)得到的所述序列化描述,構(gòu)建應(yīng)用流量腳本;5)、使用流量引擎執(zhí)行步驟4)的應(yīng)用流量腳本,生成應(yīng)用流量。本發(fā)明的應(yīng)用流量生成方法應(yīng)用范圍廣,針對(duì)大部分應(yīng)用,都可自動(dòng)生成其流量。方法實(shí)現(xiàn)簡(jiǎn)單、高效、可行性高,具有對(duì)不同應(yīng)用的流量進(jìn)行生成的能力,可擴(kuò)展性良好,實(shí)用性強(qiáng)。
【專(zhuān)利說(shuō)明】應(yīng)用流量生成方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)測(cè)試領(lǐng)域,具體涉及應(yīng)用流量生成方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)發(fā)展的深入,出現(xiàn)了越來(lái)越多的上層應(yīng)用,如HTTP、DNS、P0P3等,應(yīng)用測(cè)試是檢查和驗(yàn)證應(yīng)用系統(tǒng)功能和性能的重要手段。應(yīng)用測(cè)試的核心是通過(guò)自動(dòng)化的方式產(chǎn)生盡可能真實(shí)的應(yīng)用流量數(shù)據(jù),觀察應(yīng)用系統(tǒng)是否能夠正確處理相應(yīng)流量,從而判斷其功能和性能指標(biāo)。
[0003]目前的應(yīng)用流量生成方法主要有:
[0004]I)應(yīng)用流量回放。這種方法首先抓取網(wǎng)絡(luò)的應(yīng)用層數(shù)據(jù),之后將這些數(shù)據(jù)按順序進(jìn)行回放,以生成測(cè)試所需的應(yīng)用流量。這種方法生成的應(yīng)用流量?jī)?nèi)容固定、格式單一,無(wú)法適應(yīng)網(wǎng)絡(luò)應(yīng)用和場(chǎng)景的變化需求。
[0005]2)無(wú)狀態(tài)應(yīng)用流量生成:這類(lèi)方法基于應(yīng)用協(xié)議規(guī)范,自動(dòng)化生成單個(gè)獨(dú)立的包含應(yīng)用數(shù)據(jù)的數(shù)據(jù)包。這種方法強(qiáng)調(diào)獨(dú)立數(shù)據(jù)包中的應(yīng)用數(shù)據(jù),數(shù)據(jù)包之間的關(guān)聯(lián)性不強(qiáng),無(wú)法模擬完整的應(yīng)用狀態(tài)及用戶(hù)行為特征。
[0006]3)真實(shí)物理機(jī)的應(yīng)用流量生成:這類(lèi)方法在網(wǎng)絡(luò)中部署真實(shí)的物理機(jī)器,測(cè)試人員通過(guò)操作物理機(jī)器,產(chǎn)生與真實(shí)網(wǎng)絡(luò)場(chǎng)景幾近一致的應(yīng)用流量。但這種方法存在人力、物力消耗大,部署周期長(zhǎng),缺乏靈活性等問(wèn)題。
[0007]因此,需要一種新的應(yīng)用流量生成方法以解決上述問(wèn)題。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)中應(yīng)用流量生成方法的缺點(diǎn),提供一種應(yīng)用流量生成方法。
[0009]為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明應(yīng)用流量生成方法可采用如下技術(shù)方案:
[0010]一種應(yīng)用流量生成方法,包括以下步驟:
[0011]I)、確定被模擬的應(yīng)用,提取應(yīng)用流量生成需求,所述應(yīng)用流量生成需求包括被模擬的應(yīng)用和每種應(yīng)用的不同操作在時(shí)間序列上的先后順序;
[0012]2)、對(duì)步驟I)得到的應(yīng)用建立應(yīng)用模版;
[0013]3)、對(duì)步驟I)得到的應(yīng)用流量的生成進(jìn)行序列化描述;
[0014]4)、根據(jù)步驟2)的所述應(yīng)用模板和步驟3)得到的所述序列化描述,構(gòu)建應(yīng)用流量腳本;
[0015]5)、使用流量引擎執(zhí)行步驟4)的應(yīng)用流量腳本,生成應(yīng)用流量。
[0016]更進(jìn)一步的,步驟2)中建立應(yīng)用模版根據(jù)步驟I)中得到的被模擬的應(yīng)用,對(duì)每種應(yīng)用分別構(gòu)建應(yīng)用模版。
[0017]更進(jìn)一步的,步驟2)中建立應(yīng)用模板包括以下步驟:
[0018]一、提取應(yīng)用元信息;
[0019]二、提取數(shù)據(jù)包類(lèi)型,一種類(lèi)型的數(shù)據(jù)包對(duì)應(yīng)一種應(yīng)用動(dòng)作;
[0020]三、對(duì)應(yīng)用字段進(jìn)行分類(lèi),分為常變字段與非常變字段;
[0021]四、以應(yīng)用動(dòng)作為單位,保存所有應(yīng)用動(dòng)作與應(yīng)用動(dòng)作中所有字段信息,形成應(yīng)用模板。
[0022]上述應(yīng)用模版生成方法中,步驟一中,應(yīng)用元信息指與應(yīng)用有關(guān),但不會(huì)出現(xiàn)在應(yīng)用字段中的信息,如端口號(hào)信息。應(yīng)當(dāng)理解,根據(jù)定義,應(yīng)用元信息并不限于上述端口號(hào)信息,可根據(jù)具體的應(yīng)用來(lái)進(jìn)行設(shè)置。應(yīng)用元信息可以通過(guò)多種途徑提取,例如人工讀取相關(guān)RFC、構(gòu)造自動(dòng)機(jī)提取等,本發(fā)明并不局限于上述幾種方式。步驟二中,應(yīng)用動(dòng)作的提取,可通過(guò)人工分類(lèi)、機(jī)器學(xué)習(xí)等進(jìn)行識(shí)別,本發(fā)明不限于其實(shí)現(xiàn)方式。步驟三中,對(duì)應(yīng)用字段進(jìn)行分類(lèi),同應(yīng)用模版生成方法步驟一,可以使用多種方法對(duì)字段類(lèi)型進(jìn)行分類(lèi)。分類(lèi)的最終目的是將字段劃為兩類(lèi),常變字段與非常變字段。并進(jìn)一步地,對(duì)非常變字段經(jīng)常出現(xiàn)的內(nèi)容進(jìn)行提取。步驟四中,經(jīng)過(guò)上述過(guò)程,形成應(yīng)用模板。應(yīng)用動(dòng)作的提取與保存,保證了應(yīng)用數(shù)據(jù)包種類(lèi)的還原,這樣生成的應(yīng)用流量在應(yīng)用數(shù)據(jù)包類(lèi)型方面是真實(shí)完備的。應(yīng)用字段信息的提取,保證每種類(lèi)型應(yīng)用數(shù)據(jù)包構(gòu)造的靈活與完備,這樣生成的應(yīng)用流量在每種應(yīng)用數(shù)據(jù)包所包含數(shù)據(jù)方面是真實(shí)完備的。應(yīng)用模版的保存可以有多種方式,例如JSON數(shù)據(jù)格式、XML數(shù)據(jù)格式、二進(jìn)制格式、數(shù)據(jù)庫(kù)表格等。本發(fā)明不限于以上保存方式。應(yīng)當(dāng)理解,凡是符合以上特點(diǎn)的應(yīng)用描述機(jī)制,均是本發(fā)明所涉及的應(yīng)用模版。
[0023]更進(jìn)一步的,步驟3)中所述序列化描述中具有應(yīng)用狀態(tài)與用戶(hù)行為特征。加入應(yīng)用狀態(tài)與用戶(hù)行為特征支持,使得應(yīng)用流量具備一定的應(yīng)用狀態(tài)與用戶(hù)行為特征,如用戶(hù)偏好、習(xí)慣特征等。應(yīng)用流量腳本由若干動(dòng)作構(gòu)成,可根據(jù)加入到序列化描述中的應(yīng)用狀態(tài)與用戶(hù)行為特征來(lái)設(shè)置應(yīng)用狀態(tài)與用戶(hù)行為動(dòng)作。
[0024]更進(jìn)一步的,步驟4)中所述應(yīng)用流量腳本中的動(dòng)作包括:應(yīng)用流量動(dòng)作;應(yīng)用狀態(tài)及用戶(hù)行為動(dòng)作;數(shù)據(jù)構(gòu)造、解析和數(shù)據(jù)運(yùn)算動(dòng)作。
[0025]本發(fā)明還公開(kāi)了一種應(yīng)用流量生成裝置,包括應(yīng)用模版管理模塊、應(yīng)用流量序列化描述模塊、應(yīng)用流量腳本生成模塊和流量弓I擎模塊,
[0026]所述應(yīng)用模版管理模塊用于對(duì)應(yīng)用模版進(jìn)行存儲(chǔ)和管理;
[0027]所述應(yīng)用流量序列化描述模塊用于對(duì)應(yīng)用流量進(jìn)行序列化描述;
[0028]所述應(yīng)用流量腳本生成模塊用于生成應(yīng)用流量腳本;
[0029]所述流量引擎模塊用于加載運(yùn)行應(yīng)用流量腳本,生成待模擬的應(yīng)用流量。
[0030]更進(jìn)一步的,還包括應(yīng)用狀態(tài)與用戶(hù)行為特征支持模塊,所述應(yīng)用狀態(tài)與用戶(hù)行為特征支持模塊用于對(duì)應(yīng)用流量添加應(yīng)用狀態(tài)與用戶(hù)行為特征的支持。
[0031]發(fā)明原理:在步驟I)中,應(yīng)用流量生成需求可用于后續(xù)的應(yīng)用模版構(gòu)建、序列化描述構(gòu)建與應(yīng)用流量腳本構(gòu)建。應(yīng)用流量生成需求具體應(yīng)該包含但不限于以下信息:被模擬的應(yīng)用;每種應(yīng)用的不同操作在時(shí)間序列上的先后順序。
[0032]在步驟2)中,根據(jù)步驟I)中得到的被模擬的應(yīng)用,對(duì)每種應(yīng)用分別構(gòu)建應(yīng)用模版。應(yīng)用模版是對(duì)應(yīng)用信息的保存。通過(guò)應(yīng)用模版可以進(jìn)行應(yīng)用數(shù)據(jù)的構(gòu)造與應(yīng)用流量的生成。
[0033]在步驟3)中,根據(jù)步驟I)中得到的被模擬的應(yīng)用以及每種應(yīng)用的不同操作在時(shí)間序列上的先后順序,使用序列化描述方式實(shí)現(xiàn)對(duì)應(yīng)用流量生成的刻畫(huà)與模擬。具體地,根據(jù)應(yīng)用的不同操作,實(shí)例化應(yīng)用模版中對(duì)應(yīng)的應(yīng)用動(dòng)作。并將此實(shí)例化后的應(yīng)用動(dòng)作作為應(yīng)用流量刻畫(huà)的基本單元,根據(jù)應(yīng)用的不同操作在時(shí)間序列上的先后順序調(diào)整各應(yīng)用動(dòng)作。上述對(duì)應(yīng)用流量的描述方式即為序列化描述方式。
[0034]在步驟4)中,根據(jù)步驟3)中得到的序列化描述與步驟2)中得到的應(yīng)用模板,構(gòu)造應(yīng)用流量腳本。應(yīng)用流量腳本由若干動(dòng)作構(gòu)成,支持應(yīng)用模板中的應(yīng)用動(dòng)作,支持應(yīng)用狀態(tài)與用戶(hù)行為特征,支持構(gòu)造任何格式的應(yīng)用數(shù)據(jù)。應(yīng)用流量腳本中的動(dòng)作可以包括:應(yīng)用流量動(dòng)作;應(yīng)用狀態(tài)與用戶(hù)行為動(dòng)作;數(shù)據(jù)構(gòu)造、解析、運(yùn)算動(dòng)作。其中,可根據(jù)序列化描述中的應(yīng)用動(dòng)作來(lái)設(shè)置應(yīng)用流量動(dòng)作;可根據(jù)應(yīng)用動(dòng)作中的字段信息涉及到的信息來(lái)設(shè)置數(shù)據(jù)構(gòu)造、解析、運(yùn)算動(dòng)作。
[0035]在步驟5)中,所述流量引擎可以并發(fā)創(chuàng)建多進(jìn)程或多線程執(zhí)行步驟4)中得到的應(yīng)用流量腳本,生成應(yīng)用流量。
[0036]有益效果:本發(fā)明的應(yīng)用流量生成方法應(yīng)用范圍廣,針對(duì)大部分應(yīng)用,都可自動(dòng)生成其流量。方法實(shí)現(xiàn)簡(jiǎn)單、高效、可行性高,具有對(duì)不同應(yīng)用的流量進(jìn)行生成的能力,可擴(kuò)展性良好,實(shí)用性強(qiáng)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0037]圖1為本發(fā)明應(yīng)用流量生成方法流程圖;
[0038]圖2為本發(fā)明應(yīng)用流量生成方法實(shí)施例一中網(wǎng)絡(luò)場(chǎng)景示意圖;
[0039]圖3為本發(fā)明應(yīng)用流量生成方法實(shí)施例一中應(yīng)用流量生成需求;
[0040]圖4為本發(fā)明應(yīng)用流量生成方法實(shí)施例一中應(yīng)用流量生成的序列化描述;
[0041]圖5為本發(fā)明應(yīng)用流量生成方法實(shí)施例二中應(yīng)用流量生成裝置結(jié)構(gòu)圖;
[0042]圖6為本發(fā)明應(yīng)用流量生成方法實(shí)施例二中被模擬網(wǎng)絡(luò)場(chǎng)景;
[0043]圖7為本發(fā)明應(yīng)用流量生成方法實(shí)施例二中又一被模擬網(wǎng)絡(luò)場(chǎng)景。
【具體實(shí)施方式】
[0044]下面結(jié)合附圖和具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
[0045]請(qǐng)參閱圖1、圖2、圖3、圖4、圖5、圖6和圖7所示,本發(fā)明的應(yīng)用流量生成方法,包括以下步驟:
[0046]I)、確定被模擬的應(yīng)用,提取應(yīng)用流量生成需求,應(yīng)用流量生成需求包括被模擬的應(yīng)用和每種應(yīng)用的不同操作在時(shí)間序列上的先后順序;應(yīng)用流量生成需求可用于后續(xù)的應(yīng)用模版構(gòu)建、序列化描述構(gòu)建與應(yīng)用流量腳本構(gòu)建。應(yīng)用流量生成需求具體應(yīng)該包含但不限于以下信息:被模擬的應(yīng)用;每種應(yīng)用的不同操作在時(shí)間序列上的先后順序。
[0047]2)、對(duì)步驟I)得到的應(yīng)用建立應(yīng)用模版;步驟2)中建立應(yīng)用模版根據(jù)步驟I)中得到的被模擬的應(yīng)用,對(duì)每種應(yīng)用分別構(gòu)建應(yīng)用模版。
[0048]建立應(yīng)用模板包括以下步驟:
[0049]一、提取應(yīng)用元信息;
[0050]二、提取數(shù)據(jù)包類(lèi)型,一種類(lèi)型的數(shù)據(jù)包對(duì)應(yīng)一種應(yīng)用動(dòng)作;
[0051]三、對(duì)應(yīng)用字段進(jìn)行分類(lèi),分為常變字段與非常變字段;
[0052]四、以應(yīng)用動(dòng)作為單位,保存所有應(yīng)用動(dòng)作與應(yīng)用動(dòng)作中所有字段信息,形成應(yīng)用模板。
[0053]上述應(yīng)用模版生成方法中,步驟一中,應(yīng)用元信息指與應(yīng)用有關(guān),但不會(huì)出現(xiàn)在應(yīng)用字段中的信息,如端口號(hào)信息。應(yīng)當(dāng)理解,根據(jù)定義,應(yīng)用元信息并不限于上述端口號(hào)信息,可根據(jù)具體的應(yīng)用來(lái)進(jìn)行設(shè)置。應(yīng)用元信息可以通過(guò)多種途徑提取,例如人工讀取相關(guān)RFC、構(gòu)造自動(dòng)機(jī)提取等,本發(fā)明并不局限于上述幾種方式。步驟二中,應(yīng)用動(dòng)作的提取,可通過(guò)人工分類(lèi)、機(jī)器學(xué)習(xí)等進(jìn)行識(shí)別,本發(fā)明不限于其實(shí)現(xiàn)方式。步驟三中,對(duì)應(yīng)用字段進(jìn)行分類(lèi),同應(yīng)用模版生成方法步驟一,可以使用多種方法對(duì)字段類(lèi)型進(jìn)行分類(lèi)。分類(lèi)的最終目的是將字段劃為兩類(lèi),常變字段與非常變字段。并進(jìn)一步地,對(duì)非常變字段經(jīng)常出現(xiàn)的內(nèi)容進(jìn)行提取。步驟四中,經(jīng)過(guò)上述過(guò)程,形成應(yīng)用模板。應(yīng)用動(dòng)作的提取與保存,保證了應(yīng)用數(shù)據(jù)包種類(lèi)的還原,這樣生成的應(yīng)用流量在應(yīng)用數(shù)據(jù)包類(lèi)型方面是真實(shí)完備的。應(yīng)用字段信息的提取,保證每種類(lèi)型應(yīng)用數(shù)據(jù)包構(gòu)造的靈活與完備,這樣生成的應(yīng)用流量在每種應(yīng)用數(shù)據(jù)包所包含數(shù)據(jù)方面是真實(shí)完備的。應(yīng)用模版的保存可以有多種方式,例如JSON數(shù)據(jù)格式、XML數(shù)據(jù)格式、二進(jìn)制格式、數(shù)據(jù)庫(kù)表格等。本發(fā)明不限于以上保存方式。應(yīng)當(dāng)理解,凡是符合以上特點(diǎn)的應(yīng)用描述機(jī)制,均是本發(fā)明所涉及的應(yīng)用模版。
[0054]3)、對(duì)步驟I)得到的應(yīng)用流量的生成進(jìn)行序列化描述;優(yōu)選的,序列化描述中具有應(yīng)用狀態(tài)與用戶(hù)行為特征。應(yīng)用流量腳本由若干動(dòng)作構(gòu)成,可根據(jù)加入到序列化描述中的應(yīng)用狀態(tài)與用戶(hù)行為特征來(lái)設(shè)置應(yīng)用狀態(tài)與用戶(hù)行為動(dòng)作。根據(jù)步驟I)中得到的被模擬的應(yīng)用以及每種應(yīng)用的不同操作在時(shí)間序列上的先后順序,使用序列化描述方式實(shí)現(xiàn)對(duì)應(yīng)用流量生成的刻畫(huà)與模擬,并在其中加入應(yīng)用狀態(tài)與用戶(hù)行為特征。具體地,根據(jù)應(yīng)用的不同操作,實(shí)例化應(yīng)用模版中對(duì)應(yīng)的應(yīng)用動(dòng)作。并將此實(shí)例化后的應(yīng)用動(dòng)作作為應(yīng)用流量刻畫(huà)的基本單元,根據(jù)應(yīng)用的不同操作在時(shí)間序列上的先后順序調(diào)整各應(yīng)用動(dòng)作。上述對(duì)應(yīng)用流量的描述方式即為序列化描述方式。在此基礎(chǔ)上,加入應(yīng)用狀態(tài)與用戶(hù)行為特征支持,使得應(yīng)用流量具備一定的應(yīng)用狀態(tài)與用戶(hù)行為特征,如用戶(hù)偏好、習(xí)慣特征等。
[0055]4)、根據(jù)步驟2)的應(yīng)用模板和步驟3)得到的序列化描述,構(gòu)建應(yīng)用流量腳本;應(yīng)用流量腳本中的動(dòng)作包括:應(yīng)用流量動(dòng)作;應(yīng)用狀態(tài)與用戶(hù)行為動(dòng)作;數(shù)據(jù)構(gòu)造、數(shù)據(jù)解析和數(shù)據(jù)運(yùn)算動(dòng)作。根據(jù)步驟3)中得到的序列化描述與步驟2)中得到的應(yīng)用模板,構(gòu)造應(yīng)用流量腳本。應(yīng)用流量腳本由若干動(dòng)作構(gòu)成,支持應(yīng)用模板中的應(yīng)用動(dòng)作,支持應(yīng)用狀態(tài)與用戶(hù)行為特征,支持構(gòu)造任何格式的應(yīng)用數(shù)據(jù)。應(yīng)用流量腳本中的動(dòng)作可以包括:應(yīng)用流量動(dòng)作;應(yīng)用狀態(tài)與用戶(hù)行為動(dòng)作;數(shù)據(jù)構(gòu)造、解析、運(yùn)算動(dòng)作。其中,可根據(jù)序列化描述中的應(yīng)用動(dòng)作來(lái)設(shè)置應(yīng)用流量動(dòng)作;可根據(jù)加入到序列化描述中的應(yīng)用狀態(tài)與用戶(hù)行為特征來(lái)設(shè)置應(yīng)用狀態(tài)與用戶(hù)行為動(dòng)作;可根據(jù)應(yīng)用動(dòng)作中的字段信息、應(yīng)用狀態(tài)與用戶(hù)行為特征涉及到的信息來(lái)設(shè)置數(shù)據(jù)構(gòu)造、解析、運(yùn)算動(dòng)作。
[0056]5)、使用流量引擎執(zhí)行步驟4)的應(yīng)用流量腳本,生成應(yīng)用流量。流量引擎可以并發(fā)創(chuàng)建多進(jìn)程或多線程執(zhí)行步驟4)中得到的應(yīng)用流量腳本,生成應(yīng)用流量。
[0057]本發(fā)明還公開(kāi)了一種應(yīng)用流量生成裝置,包括應(yīng)用模版管理模塊、應(yīng)用流量序列化描述模塊、應(yīng)用流量腳本生成模塊和流量弓I擎模塊,
[0058]應(yīng)用模版管理模塊用于對(duì)應(yīng)用模版進(jìn)行存儲(chǔ)和管理;
[0059]應(yīng)用流量序列化描述模塊用于對(duì)應(yīng)用流量進(jìn)行序列化描述;
[0060]應(yīng)用流量腳本生成模塊用于生成應(yīng)用流量腳本;
[0061]流量引擎模塊用于加載運(yùn)行應(yīng)用流量腳本,生成待模擬的應(yīng)用流量。
[0062]更進(jìn)一步的,還包括應(yīng)用狀態(tài)與用戶(hù)行為特征支持模塊,應(yīng)用狀態(tài)與用戶(hù)行為特征支持模塊用于對(duì)應(yīng)用流量添加應(yīng)用狀態(tài)與用戶(hù)行為特征的支持。
[0063]發(fā)明原理:在步驟I)中,
[0064]在步驟2)中,根據(jù)步驟I)中得到的被模擬的應(yīng)用,對(duì)每種應(yīng)用分別構(gòu)建應(yīng)用模版。應(yīng)用模版是對(duì)應(yīng)用信息的保存。通過(guò)應(yīng)用模版可以進(jìn)行應(yīng)用數(shù)據(jù)的構(gòu)造與應(yīng)用流量的生成。
[0065]在步驟3)中,根據(jù)步驟I)中得到的被模擬的應(yīng)用以及每種應(yīng)用的不同操作在時(shí)間序列上的先后順序,使用序列化描述方式實(shí)現(xiàn)對(duì)應(yīng)用流量生成的刻畫(huà)與模擬。具體地,根據(jù)應(yīng)用的不同操作,實(shí)例化應(yīng)用模版中對(duì)應(yīng)的應(yīng)用動(dòng)作。并將此實(shí)例化后的應(yīng)用動(dòng)作作為應(yīng)用流量刻畫(huà)的基本單元,根據(jù)應(yīng)用的不同操作在時(shí)間序列上的先后順序調(diào)整各應(yīng)用動(dòng)作。上述對(duì)應(yīng)用流量的描述方式即為序列化描述方式。
[0066]本發(fā)明的應(yīng)用流量生成方法應(yīng)用范圍廣,針對(duì)大部分應(yīng)用,都可自動(dòng)生成其流量,并支持應(yīng)用狀態(tài)和用戶(hù)行為特征。方法實(shí)現(xiàn)簡(jiǎn)單、高效、可行性高,具有對(duì)不同應(yīng)用的流量進(jìn)行生成的能力,可擴(kuò)展性良好,實(shí)用性強(qiáng)。
[0067]實(shí)施例一
[0068]在本實(shí)施例中,提供了一種應(yīng)用流量生成方法。概括來(lái)講,該方法包括:
[0069]步驟I)、應(yīng)用流量生成需求提取。確定被模擬應(yīng)用,提取應(yīng)用流量生成需求。
[0070]步驟2)、應(yīng)用模板構(gòu)建。對(duì)涉及的應(yīng)用建立應(yīng)用模版。
[0071]步驟3)、序列化描述構(gòu)建。對(duì)應(yīng)用流量的生成進(jìn)行序列化描述,并加入應(yīng)用狀態(tài)與用戶(hù)行為特征。
[0072]步驟4)、應(yīng)用流量腳本構(gòu)建。根據(jù)應(yīng)用模板和序列化描述,構(gòu)建應(yīng)用流量腳本。
[0073]步驟5)、應(yīng)用流量生成。使用流量引擎執(zhí)行應(yīng)用流量腳本,生成應(yīng)用流量。具體參見(jiàn)圖1。
[0074]根據(jù)實(shí)施例一,在步驟I)中,確定需要被模擬的應(yīng)用,以及該應(yīng)用的不同操作在時(shí)間序列上的先后順序。這些信息可以以文本、列表、樹(shù)形等形式進(jìn)行存儲(chǔ)。為了更好地說(shuō)明實(shí)施例一步驟I)的過(guò)程,假設(shè)現(xiàn)有某網(wǎng)絡(luò)場(chǎng)景中應(yīng)用流量需被模擬,該網(wǎng)絡(luò)場(chǎng)景具體參見(jiàn)圖2。通過(guò)分析,該網(wǎng)絡(luò)場(chǎng)景最常見(jiàn)的操作是瀏覽網(wǎng)站,所以被模擬的應(yīng)用為HTTP。進(jìn)一步地,通過(guò)對(duì)客戶(hù)端行為的分析,得出其應(yīng)用流量的生成需求,如圖3。圖3以順序圖的方式,將應(yīng)用流量的生成需求保存、展示了出來(lái),同時(shí)包含了用戶(hù)的行為特征,如“用戶(hù)接電話(huà),停止操作10秒”。本發(fā)明并不限于此一種需求記錄與展示方式。
[0075]根據(jù)實(shí)施例一,在步驟2)中,對(duì)涉及的應(yīng)用建立應(yīng)用模版。仍以上述的被模擬網(wǎng)絡(luò)場(chǎng)景為例,根據(jù)實(shí)施例一步驟I)中的應(yīng)用流量生成需求,可知需對(duì)HTTP建立應(yīng)用模版。應(yīng)用模版的建立過(guò)程首先需要讀取HTTP的RFC文檔,提取其應(yīng)用元信息、應(yīng)用動(dòng)作。HTTP應(yīng)用元信息具體為:端口 80。然后對(duì)HTTP的應(yīng)用動(dòng)作進(jìn)行提取。具體地,HTTP包括兩種常見(jiàn)類(lèi)型的應(yīng)用動(dòng)作=HTTP Request和HTTP Reply0更進(jìn)一步地,需要對(duì)應(yīng)用字段進(jìn)行分析。以 HTTP Request 為例,HTTP Request 中常見(jiàn)字段為:method、host、connect1n、accept、user-agent、type、body等。而其中根據(jù)上述對(duì)被模擬網(wǎng)絡(luò)場(chǎng)景的分析,HTTP Request應(yīng)用動(dòng)作中的method、host兩個(gè)字段經(jīng)常發(fā)生變動(dòng),為常變字段;其他幾個(gè)字段的內(nèi)容基本固定,為非常變字段。實(shí)施例一采用如表I所示的方式對(duì)應(yīng)用模版進(jìn)行保存,其保存信息的媒介是Perl腳本。應(yīng)當(dāng)理解的是,對(duì)于本領(lǐng)域普通的技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,根據(jù)實(shí)施例一的流程與表I中應(yīng)用模版信息保存的方式,可獲得其他應(yīng)用的應(yīng)用模版,以上均屬本發(fā)明范疇。
[0076]表I
[0077]
【權(quán)利要求】
1.一種應(yīng)用流量生成方法,其特征在于:包括以下步驟: I )、確定被模擬的應(yīng)用,提取應(yīng)用流量生成需求,所述應(yīng)用流量生成需求包括被模擬的應(yīng)用和每種應(yīng)用的不同操作在時(shí)間序列上的先后順序; 2)、對(duì)步驟I)得到的應(yīng)用建立應(yīng)用模版; 3)、對(duì)步驟I)得到的應(yīng)用流量的生成進(jìn)行序列化描述; 4)、根據(jù)步驟2)的所述應(yīng)用模板和步驟3)得到的所述序列化描述,構(gòu)建應(yīng)用流量腳本; 5)、使用流量引擎執(zhí)行步驟4)的應(yīng)用流量腳本,生成應(yīng)用流量。
2.權(quán)利要求1所述的應(yīng)用流量生成方法,其特征在于:根據(jù)步驟I)中得到的被模擬的應(yīng)用,對(duì)每種應(yīng)用分別構(gòu)建應(yīng)用模版。
3.權(quán)利要求1所述的應(yīng)用流量生成方法,其特征在于:步驟2)中建立應(yīng)用模板包括以下步驟: 一、提取應(yīng)用兀信息; 二、提取數(shù)據(jù)包類(lèi)型,一種類(lèi)型的數(shù)據(jù)包對(duì)應(yīng)一種應(yīng)用動(dòng)作; 三、對(duì)應(yīng)用字段進(jìn)行分類(lèi),分為常變字段與非常變字段; 四、以應(yīng)用動(dòng)作為單位,保存所有應(yīng)用動(dòng)作與應(yīng)用動(dòng)作中所有字段信息,形成應(yīng)用模板。
4.如權(quán)利要求1所述的應(yīng)用流量生成方法,其特征在于:步驟3)中所述序列化描述中具有應(yīng)用狀態(tài)與用戶(hù)行為特征。
5.權(quán)利要求1所述的應(yīng)用流量生成方法,其特征在于:步驟3)中所述序列化描述包括以下步驟: (1)、根據(jù)應(yīng)用的不同操作,實(shí)例化應(yīng)用模版中對(duì)應(yīng)的應(yīng)用動(dòng)作,并將其作為基本單元; (2)、根據(jù)得到的不同操作在時(shí)間序列上的先后順序,調(diào)整實(shí)例化后的應(yīng)用動(dòng)作的順序; (3)、加入應(yīng)用狀態(tài)與用戶(hù)行為特征,得到完整的序列化描述。
6.權(quán)利要求1所述的應(yīng)用流量生成方法,其特征在于:步驟4)中的應(yīng)用流量腳本由應(yīng)用流量動(dòng)作;應(yīng)用狀態(tài)及用戶(hù)行為動(dòng)作;數(shù)據(jù)構(gòu)造、解析和運(yùn)算動(dòng)作構(gòu)成。
7.一種應(yīng)用流量生成裝置,其特征在于,包括應(yīng)用模版管理模塊、應(yīng)用流量序列化描述模塊、應(yīng)用流量腳本生成模塊和流量弓I擎模塊, 所述應(yīng)用模版管理模塊用于對(duì)應(yīng)用模版進(jìn)行存儲(chǔ)和管理; 所述應(yīng)用流量序列化描述模塊用于對(duì)應(yīng)用流量進(jìn)行序列化描述; 所述應(yīng)用流量腳本生成模塊用于生成應(yīng)用流量腳本; 所述流量引擎模塊用于加載運(yùn)行應(yīng)用流量腳本,生成待模擬的應(yīng)用流量。
8.如權(quán)利要求7所述的應(yīng)用流量生成裝置,其特征在于,還包括應(yīng)用狀態(tài)與用戶(hù)行為特征支持模塊,所述應(yīng)用狀態(tài)與用戶(hù)行為特征支持模塊用于對(duì)應(yīng)用流量添加應(yīng)用狀態(tài)與用戶(hù)行為特征的支持。
【文檔編號(hào)】G06F17/30GK104168155SQ201410375412
【公開(kāi)日】2014年11月26日 申請(qǐng)日期:2014年7月31日 優(yōu)先權(quán)日:2014年7月31日
【發(fā)明者】許智君, 王龍 申請(qǐng)人:南京賽拜諾信息技術(shù)有限公司