一種模擬結果檢測方法及裝置的制造方法
【技術領域】
[0001]本申請涉及計算機技術領域,尤其涉及一種模擬結果檢測方法及裝置。
【背景技術】
[0002]一般地,在網(wǎng)絡傳輸過程中,若出現(xiàn)網(wǎng)絡慢請求,可能會導致傳輸網(wǎng)絡數(shù)據(jù)包的應用程序發(fā)生錯誤或者崩潰等情況。其中,網(wǎng)絡慢請求,是指在網(wǎng)絡數(shù)據(jù)包傳輸過程中,所出現(xiàn)的如網(wǎng)絡數(shù)據(jù)包延遲、錯誤、重復、亂序中的至少一種狀態(tài)的異常情況;網(wǎng)絡數(shù)據(jù)包是指交換網(wǎng)絡里的單個消息被劃分得到的數(shù)據(jù)塊,網(wǎng)絡數(shù)據(jù)包可以沿著不同的路徑在一個或多個網(wǎng)絡中傳輸,并且在目的地重新組合;應用程序,通常是指為了完成某項或某幾項特定任務而被開發(fā)運行于各種操作系統(tǒng)之上的程序。
[0003]在現(xiàn)有技術中,主要利用模擬控制網(wǎng)絡數(shù)據(jù)包的傳輸流量的方式來模擬網(wǎng)絡慢請求,進而測試應用程序對網(wǎng)絡慢請求的自適應能力。
[0004]例如,若要在進行網(wǎng)絡慢請求場景下測試應用程序,首先,需要經(jīng)過流量限制(Ingress Policing)丟棄不符合規(guī)定的網(wǎng)絡數(shù)據(jù)包,將符合規(guī)定的網(wǎng)絡數(shù)據(jù)包由輸入多路分配器(Input De-Multiplexing)進行目標地址解析。然后,根據(jù)解析結果對網(wǎng)絡數(shù)據(jù)包進行排列,在對網(wǎng)絡數(shù)據(jù)包進行排列時,調(diào)取相應的網(wǎng)絡故障注入命令(如Linux系統(tǒng)中的netem命令)對網(wǎng)絡數(shù)據(jù)包進行處理,以得到網(wǎng)絡慢請求模擬的結果,從而實現(xiàn)對網(wǎng)絡慢請求的模擬。視模擬類型的不同,這里所說的網(wǎng)絡慢請求模擬的結果,有可能是“網(wǎng)絡數(shù)據(jù)包發(fā)生錯誤”,也可能是“網(wǎng)絡數(shù)據(jù)包被延遲發(fā)送”。進一步地,多路分配器在網(wǎng)絡故障注入命令執(zhí)行完畢后,將相應的網(wǎng)絡數(shù)據(jù)包(錯誤的或者延遲發(fā)送的網(wǎng)絡數(shù)據(jù)包等)發(fā)送給待測試的應用程序,以測試應用程序對于該結果的自適應能力。
[0005]上述現(xiàn)有技術的缺陷在于,缺乏對于網(wǎng)絡慢請求模擬的結果是否生效的檢測機制,從而導致無法判定應用程序測試結果的可信程度。
【發(fā)明內(nèi)容】
[0006]本申請實施例提供一種模擬結果檢測方法,用以對網(wǎng)絡慢請求模擬的結果是否生效進彳T有效檢測。
[0007]本申請實施例還提供一種模擬結果檢測裝置,用以對網(wǎng)絡慢請求模擬的結果是否生效進彳丁有效檢測。
[0008]本申請實施例采用下述技術方案:
[0009]一種模擬結果檢測方法,包括:
[0010]確定網(wǎng)絡慢請求的模擬類型;
[0011]調(diào)取與所述模擬類型匹配的模擬配置模塊,對獲得的網(wǎng)絡數(shù)據(jù)包進行網(wǎng)絡慢請求模擬;其中,所述模擬配置模塊,是根據(jù)網(wǎng)絡慢請求的模擬類型對數(shù)據(jù)包進行處理的可執(zhí)行文件;
[0012]加載檢測插件檢測對網(wǎng)絡慢請求模擬的結果是否生效;其中,所述檢測插件是根據(jù)所述網(wǎng)絡慢請求的模擬類型設置的。
[0013]一種模擬結果檢測裝置,包括:
[0014]確定單元,用于確定網(wǎng)絡慢請求的模擬類型;
[0015]調(diào)取單元,用于調(diào)取與所述模擬類型匹配的模擬配置模塊,對獲得的網(wǎng)絡數(shù)據(jù)包進行網(wǎng)絡慢請求模擬;其中,所述模擬配置模塊,是根據(jù)網(wǎng)絡慢請求的模擬類型對數(shù)據(jù)包進行處理的可執(zhí)行文件;
[0016]加載單元,用于加載檢測插件檢測對網(wǎng)絡慢請求模擬的結果是否生效;其中,所述檢測插件是根據(jù)所述網(wǎng)絡慢請求的模擬類型設置的。
[0017]本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
[0018]由于可以利用調(diào)取預設置的配置文件對所獲取的網(wǎng)絡數(shù)據(jù)包進行網(wǎng)絡慢請求模擬,并且根據(jù)對應的配置文件可以加載相應的檢測插件對網(wǎng)絡慢請求模擬的結果是否生效做檢測,因此避免了現(xiàn)有技術中缺乏對網(wǎng)絡慢請求模擬的結果是否生效進行有效檢測的問題。
【附圖說明】
[0019]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0020]圖1為一種模擬結果檢測方法的流程圖;
[0021]圖2為一種應用程序的網(wǎng)絡慢請求模擬測試的方法的流程圖;
[0022]圖3為一種模擬結果檢測裝置的結構圖。
【具體實施方式】
[0023]為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0024]以下結合附圖,詳細說明本申請各實施例提供的技術方案。
[0025]實施例1
[0026]為了解決對網(wǎng)絡慢請求模擬的結果是否生效進行有效檢測的問題,本申請實施例1首先提供一種模擬結果檢測方法。其中,本申請的執(zhí)行主體可以是客戶端、服務器或第三方設備等。該方法的實現(xiàn)流程圖如圖1所示,主要包括下述步驟:
[0027]步驟11、確定網(wǎng)絡慢請求的模擬類型。
[0028]其中,網(wǎng)絡慢請求的模擬類型可以至少包含以下一種或多種:
[0029]I)對網(wǎng)絡數(shù)據(jù)包的收發(fā)的延遲模擬。
[0030]這里提出的“網(wǎng)絡數(shù)據(jù)包的收發(fā)的延遲”,是指網(wǎng)絡數(shù)據(jù)包的預定發(fā)送時間被延遲。例如,以客戶端為網(wǎng)絡慢請求模擬的結果的生成及發(fā)送方,而目標主機為網(wǎng)絡慢請求模擬的結果的接收方為例,正常情況下,客戶端接收到的網(wǎng)絡數(shù)據(jù)包會即刻向目標主機發(fā)送,而對于網(wǎng)絡數(shù)據(jù)包的收發(fā)的延遲模擬,即要使得客戶端接收到的網(wǎng)絡數(shù)據(jù)包延遲一段時間才發(fā)送。其中,目標主機可以是服務器或是客戶端(以下所提及目標主機均以此為例)。
[0031]2)對網(wǎng)絡數(shù)據(jù)包的收發(fā)的錯誤模擬的類型。
[0032]這里提出的“網(wǎng)絡數(shù)據(jù)包的收發(fā)的錯誤”,可以是指應用程序在實際運行中,可能會出現(xiàn)對所接收到的網(wǎng)絡數(shù)據(jù)包發(fā)送錯誤的情況。例如,客戶端在發(fā)送網(wǎng)絡數(shù)據(jù)包時,會出現(xiàn)在時間上發(fā)錯或發(fā)錯目標主機等情況。
[0033]3)對網(wǎng)絡數(shù)據(jù)包的收發(fā)的重復模擬的類型。
[0034]這里提出的“網(wǎng)絡數(shù)據(jù)包的收發(fā)的重復”,可以是指應用程序在實際運行中,可能會出現(xiàn)對所接收到的網(wǎng)絡數(shù)據(jù)包重復發(fā)送的情況。例如,客戶端在發(fā)送網(wǎng)絡數(shù)據(jù)包時,會出現(xiàn)某一時段內(nèi)重復發(fā)送相同網(wǎng)絡數(shù)據(jù)包。
[0035]4)對網(wǎng)絡數(shù)據(jù)包的收發(fā)的亂序模擬的類型。
[0036]這里提出的“網(wǎng)絡數(shù)據(jù)包的收發(fā)的亂序”,可以是指應用程序在實際運行中,可能會出現(xiàn)對所接收到的網(wǎng)絡數(shù)據(jù)包亂序發(fā)送的情況。例如,客戶端在發(fā)送網(wǎng)絡數(shù)據(jù)包時,會打亂網(wǎng)絡數(shù)據(jù)包原本正確的發(fā)送順序,使網(wǎng)絡數(shù)據(jù)包的發(fā)送產(chǎn)生亂序。
[0037]5)對網(wǎng)絡數(shù)據(jù)包的收發(fā)的丟包模擬的類型。
[0038]這里提出的“網(wǎng)絡數(shù)據(jù)包的收發(fā)的丟包”,可以是指應用程序在實際運行中,會出現(xiàn)對所接收到的網(wǎng)絡數(shù)據(jù)包無法全部發(fā)送到目標主機,即出現(xiàn)部分網(wǎng)絡數(shù)據(jù)包丟失。例如,客戶端在向目標主機發(fā)送網(wǎng)絡數(shù)據(jù)包時,會出現(xiàn)一部分網(wǎng)絡數(shù)據(jù)包發(fā)生丟失而沒有到達目標主機。
[0039]步驟12、調(diào)取與網(wǎng)絡慢請求的模擬類型匹配的模擬配置模塊,對獲得的網(wǎng)絡數(shù)據(jù)包進行網(wǎng)絡慢請求模擬。
[0040]其中,模擬配置模塊可以是根據(jù)網(wǎng)絡慢請求的模擬類型對網(wǎng)絡數(shù)據(jù)包進行處理的可執(zhí)行文件。
[0041]具體而言,假設網(wǎng)絡慢請求的模擬類型為“網(wǎng)絡數(shù)據(jù)包的收發(fā)的延遲模擬”,那么當客戶端向目標主機發(fā)送網(wǎng)絡數(shù)據(jù)包時,可以在客戶端的應用程序運行之后,加載并運行與網(wǎng)絡數(shù)據(jù)包的收發(fā)的延遲模擬相應的模擬配置模塊,使模擬配置模塊對網(wǎng)絡數(shù)據(jù)包進行與該模擬類型相匹配的延遲發(fā)送操作,實現(xiàn)將網(wǎng)絡數(shù)據(jù)包延遲發(fā)送給目標主機。
[0042]以下介紹常見的幾種模擬類型對應的模擬配置模塊所能實現(xiàn)的功能:
[0043]I)針對網(wǎng)絡數(shù)據(jù)包的收發(fā)的延遲模擬的類型而言,該類型相應的模擬配置模塊的功能可以設置為:把網(wǎng)絡數(shù)據(jù)包攔截指定時間后再進行發(fā)送。
[0044]例如,假設客戶端向服務端發(fā)送刷新網(wǎng)頁的請求數(shù)據(jù)包,則通過運行與該類型相應的模擬配置模塊,可以使客戶端將待發(fā)送“刷新網(wǎng)頁的請求”的網(wǎng)絡數(shù)據(jù)包,延遲5分鐘后再向服務端發(fā)送。
[0