一種網絡連接性能的監測方法及裝置的制造方法
【技術領域】
[0001]本發明涉及計算機技術領域,尤其涉及一種網絡連接性能的監測方法及裝置。
【背景技術】
[0002]隨著信息技術的發展,用戶通過諸如傳輸控制協議(Transmiss1n ControlProtocol,TCP)連接、用戶數據協議(User Datagram Protocol,UDP)連接等實現與在線系統(如:網站)后臺的服務器之間的連接,從而用戶可以基于上述的網絡連接,向服務器發出各類業務請求,并獲得由服務器反饋的業務數據,以便獲得由在線系統所提供的豐富業務服務。
[0003]目前,在線系統為了可以使用戶便捷地獲得業務服務,針對網絡連接提出一種稱為廣域網加速的網絡傳輸服務。換言之,服務器可以針對與用戶之間的網絡連接進行優化,以提升用戶與服務器之間進行數據傳輸的效率。在針對網絡連接進行優化的過程中,由于受到外部網絡環境的影響或網絡連接自身特性的影響,網絡連接的傳輸性能可能會出現異常,如:用戶向服務器發送業務請求時出現數據丟包,從而長時間無法將業務請求發送給服務器,又例如:服務器在將業務數據反饋給用戶的過程中,出現數據丟包的現象,從而使得用戶長時間無法接收到服務器發出的業務數據。無論上述示例的哪一種情況,均會造成整個傳輸過程中數據傳輸緩慢。顯然,這就需要服務器對網絡連接性能進行監測,以便優化網絡連接。
[0004]現有技術中,在針對網絡連接的性能進行監測的過程中,往往依賴于從網絡連接中獲取的網絡連接數據。而由于TCP或UDP連接的密封性極高,并不能夠從協議外部直接獲取該協議內部的數據,通常的做法是更改建立網絡連接的設備(如:服務器、終端等)中操作系統內核(如:Linux內核),以便能夠從內核中獲取到TCP或UDP連接的數據。
[0005]但是,對于現有的方式而言,若要修改內核,則往往需要針對內核進行重新編譯改寫,顯然,這樣的方式較為繁瑣,也就是說,采用現有技術的方式獲取TCP或UDP連接的數據效率較低。
【發明內容】
[0006]本發明實施例提供一種網絡連接性能的監測方法及裝置,用以解決現有技術中對網絡性能的監測過程的效率較低的問題。
[0007]本發明實施例提供的一種網絡連接性能的監測方法,在操作系統內核中設置監測點,在所述監測點處插入用于獲取網絡連接的連接狀態數據的代碼,該包括:
[0008]根據所述代碼,獲取基于網絡連接協議的網絡連接的連接狀態數據;
[0009]根據所述連接狀態數據,生成所述網絡連接的監測結果。
[0010]本發明實施例另提供的一種網絡連接性能的監測裝置,包括:
[0011]監測處理模塊,用于在操作系統內核中設置監測點,在所述監測點處插入用于獲取網絡連接的連接狀態數據的代碼;
[0012]數據獲取模塊,用于根據所述代碼,獲取基于網絡連接協議的網絡連接的連接狀態數據;
[0013]監測結果模塊,用于根據所述連接狀態數據,生成所述網絡連接的監測結果。
[0014]本發明實施例提供一種網絡連接性能的監測方法及裝置,通過該方法,當服務器需要針對基于網絡連接協議所建立的網絡連接進行監測時,服務器將會在操作系統的內核中設置相應數量的監測點,并在監測點處插入相應的代碼(該代碼用于在內核中獲取網絡連接的連接狀態數據),從而,可通過設置的監測點獲取基于該網絡連接協議的網絡連接的連接狀態數據,進一步地,根據連接狀態數據,可生成針對該網絡連接的監測結果,而對于本申請中的監測結果而言,其反映了該網絡連接的性能概況,以便在后續過程中,根據監測結果對網絡連接進行優化。與現有技術不同的是,采用本申請中的方式,無需對內核進行修改,而是直接針對網絡連接協議設置監測點的方式完成連接狀態數據的獲取。顯然,這樣的方式有效地簡化了對內核進行修改的復雜操作,同時也有效提升了在獲取網絡連接的連接狀態數據的便捷性。
【附圖說明】
[0015]此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0016]圖1為本發明實施例提供的網絡連接性能的監測過程示意圖;
[0017]圖2為本發明實施例提供的一種連接狀態指標圖形化后的示意圖;
[0018]圖3為本發明實施例提供的監測方法所適用的一種實際應用場景下的連接架構示意圖;
[0019]圖4為本發明實施例提供的網絡連接性能的監測裝置結構示意圖。
【具體實施方式】
[0020]為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明具體實施例及相應的附圖對本發明技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0021]正如前述,現有技術中,針對基于網絡連接協議的網絡連接的性能進行監測的過程中,往往需要修改操作系統的內核,以獲得網絡連接的相關數據,而修改內核的操作過于繁瑣復雜。這就需要一種便捷性較高且無需修改操作系統內核的監測方法,也即,在本申請實施例中提出一種網絡連接性能的監測方法。
[0022]其中,所述的網絡連接協議,包括但不限于:TCP、UDP等協議。實際應用時,網絡連接協議具有較強的封閉性,那么,基于上述網絡連接協議的網絡連接建立后,難以獲得該網絡連接的數據。顯然,這將影響后續對網絡連接性能的優化。
[0023]而考慮到實際應用中,在對網絡連接所出現的問題進行檢測時,通常會使用探針來探測網絡連接異常的原因,基于此,在本申請實施例中,便可以采用相似的方式(即,設置監測點的方式),來獲得網絡連接的數據。
[0024]所以,在圖1中所示的網絡連接性能的監測方法執行前,將預先在操作系統的內核中設置監測點,并在所述監測點處插入用于獲取網絡連接的連接狀態數據的代碼。
[0025]設置監測點具體可以依賴于諸如SystemtapJTrace等方式進行設置,且監測點的數量具體可以根據實際應用的需要進行設置,既可以設置一個監測點,也可設置多個監測點,如:在實際應用時,某TCP連接用于傳輸大量的數據,為了能夠較為準確地獲得所需的數據,可以設置較多數量的監測點;而對于傳輸數據量較少的TCP連接,所設置的監測點的數量也可以相對較少。這里并不作為對本申請的限定。
[0026]當然,在實際應用的過程中,由于操作系統的內核中包含大量的數據,這就要求通過在監測點中所使用的探針可以獲得所需的數據。基于此,可在監測點處插入相應的代碼,該代碼用于獲取所述網絡連接協議對應的網絡連接的連接狀態數據。這樣一來,執行插入至監測點處的代碼便可以從內核中獲取到所需的數據。
[0027]基于此,圖1中所示的方法具體包括以下步驟:
[0028]SlOl:根據所述代碼,獲取基于網絡連接協議的網絡連接的連接狀態數據。
[0029]本申請實施例中所提及的連接狀態數據,包括但不限于:網絡連接的連接標識,如:日期(date)、連接建立時間(start)、連接結束時間(end)等;傳輸概況信息,如:文件大小(data)、數據包數量(package)等;往返時間(Round Trip Time,RTT)、重傳超時時間(Retransmiss1n TimeOut,RT0)等等。
[0030]實際應用時,當基于網絡連接協議的網絡連接建立后,服務器(或終端)在其操作系統的內核中就會記錄網絡連接的運行參數(這些運行參數中就包含前述的連