本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是涉及一種信息生成方法及裝置。
背景技術(shù):
下載速度是用戶從服務(wù)端獲取數(shù)據(jù)的速度,對于在線業(yè)務(wù)而言,網(wǎng)站需要檢測用戶下載速度,以便及時發(fā)現(xiàn)數(shù)據(jù)下載中出現(xiàn)的問題。
現(xiàn)有技術(shù)中生成下載速度時,首先服務(wù)器收集全量日志,然后對所收集的全量日志進行分析和計算,從而得到一段時間內(nèi)平均的下載速度。因為,全量日志為在一定時間內(nèi)、全部用戶的訪問日志,所以全量日志數(shù)據(jù)量過大,因此,采用全量日志生成平均下載速度的數(shù)據(jù)計算量較大。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種信息生成方法及裝置,以減少生成平均下載速度時的計算量。具體技術(shù)方案如下:
一種信息生成方法,所述方法包括:
根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄;
確定所述目標(biāo)日志記錄中的有效日志記錄,并根據(jù)所述有效日志記錄中記錄的數(shù)據(jù)下載信息生成平均下載速度。
可選的,所述對日志文件中記錄的日志記錄進行采樣處理,包括:
通過調(diào)用預(yù)設(shè)腳本的方式對日志文件中記錄的日志記錄進行采樣處理。
可選的,所述預(yù)設(shè)腳本為:基于linux系統(tǒng)的shell腳本。
可選的,所述根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄,包括:
在cpu利用率低于第一預(yù)設(shè)閾值,和/或空閑內(nèi)存不小于第二預(yù)設(shè)閾值的情況下,根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄。
可選的,所述方法還包括:
將所述平均下載速度發(fā)送至中心處理服務(wù)器,以使所述中心處理服務(wù)器根據(jù)所述平均下載速度信息進行下載速度展示。
一種信息生成裝置,所述裝置包括:
采樣模塊,用于根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄;
生成模塊,用于確定所述目標(biāo)日志記錄中的有效日志記錄,并根據(jù)所述有效日志記錄中記錄的數(shù)據(jù)下載信息生成平均下載速度。
可選的,所述采樣模塊,具體用于:
通過調(diào)用預(yù)設(shè)腳本的方式對日志文件中記錄的日志記錄進行采樣處理。
可選的,所述預(yù)設(shè)腳本為:基于linux系統(tǒng)的shell腳本。
可選的,所述采樣模塊,具體用于:
在cpu利用率低于第一預(yù)設(shè)閾值,和/或空閑內(nèi)存不小于第二預(yù)設(shè)閾值的情況下,根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄。
可選的,所述裝置還包括:
展示模塊,用于將所述平均下載速度發(fā)送至中心處理服務(wù)器,以使所述中心處理服務(wù)器根據(jù)所述平均下載速度信息進行下載速度展示。
本發(fā)明實施例提供的信息生成方法及裝置,通過采樣周期對日志記錄進行采樣處理獲得目標(biāo)日志記錄,在確定有效日志記錄以后可以根據(jù)有效日志記錄中記載的數(shù)據(jù)下載信息生成平均下載速度。通過采樣獲得的有效日志記錄,在數(shù)量上相對于全量日志會減少很多,因此有效日志記錄中記載的數(shù)據(jù)下載信息也會比全量日志中的數(shù)據(jù)信息少很多,因此,根據(jù)有效日志中記載的數(shù)據(jù)下載信息生成平均下載速度,能夠減少生成平均下載速度時的計算量。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的信息生成方法的一種流程示意圖;
圖2為本發(fā)明實施例提供的信息生成方法的另一種流程示意圖;
圖3為本發(fā)明實施例提供的信息生成裝置的一種結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例提供的信息生成裝置的另一種結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
為解決現(xiàn)有技術(shù)存在的問題,本發(fā)明實施例提供了一種信息生成方法及裝置,以下分別進行詳細說明。
需要說明的是,本發(fā)明實施例所提供的一種信息生成方法的執(zhí)行主體可以為服務(wù)器。
圖1為本發(fā)明實施例提供的信息生成方法的一種流程示意圖,所述方法包括步驟:
s101,根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄。
需要說明的是,服務(wù)器中可以存儲有已采集的包含用戶訪問信息的日志文件,日志文件中記錄有大量的日志記錄,日志記錄包含了用戶訪問時間、訪問次數(shù)、發(fā)送數(shù)據(jù)、處理時間等等信息??梢愿鶕?jù)預(yù)先設(shè)定的采樣周期對日志記錄進行采樣處理。具體的,可以將日志文件中日志記錄按照行數(shù)進行采樣處理得到采樣數(shù)據(jù),示例性的,采樣的數(shù)據(jù)可以是:日志文件中m行日志記錄的特定n行(如前n行、后n行、中n行等)、也可以是日志文件中m行日志記錄的隨機n行等等,然后從采樣數(shù)據(jù)中進行整理和識別,可以獲得目標(biāo)日志記錄。
本發(fā)明實施例中,對日志文件中記錄的日志記錄進行采樣處理,可以通過調(diào)用預(yù)設(shè)腳本的方式對日志文件中記錄的日志記錄進行采樣處理。在一種實現(xiàn)方式中,預(yù)設(shè)腳本可以為:基于linux系統(tǒng)的shell腳本,具體的,可以通過linux系統(tǒng)自帶的用于設(shè)置周期性被執(zhí)行的指令crontab定時器執(zhí)行該腳本,并可以設(shè)置時間間隔,以達到周期性采樣的目的。采用這種方式能夠根據(jù)需求設(shè)定采樣周期,且能夠自動執(zhí)行日志記錄的采樣。
另外,還可以設(shè)置在cpu利用率低于第一預(yù)設(shè)閾值,和/或空閑內(nèi)存不小于第二預(yù)設(shè)閾值的情況下,根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄??梢岳斫獾氖?,一臺服務(wù)器中可以包含很多個cpu,本發(fā)明實施例中的cpu利用率是指整體上所有cpu的利用率,但是具體每一個cpu利用率可能是不同的。假設(shè)第一預(yù)設(shè)閾值為50%,第二預(yù)設(shè)閾值為2g,當(dāng)達到這個條件的情況下,才執(zhí)行對日志記錄的采樣處理,否則不執(zhí)行采樣。因此,不會影響服務(wù)器的整體處理能力,避免了在服務(wù)器的利用率很高或者空閑內(nèi)存很小的情況下仍然執(zhí)行采樣工作,會造成服務(wù)器負荷較重,嚴(yán)重的會導(dǎo)致系統(tǒng)崩潰的情況。
s102,確定所述目標(biāo)日志記錄中的有效日志記錄,并根據(jù)所述有效日志記錄中記錄的數(shù)據(jù)下載信息生成平均下載速度。
可以理解的是,不是所有的目標(biāo)記錄都包含有效的用戶訪問信息,所以需要進行日志記錄的過濾,如用以測試的日志記錄、訪問失敗的用戶日志記錄都不屬于有效的日志記錄,將不滿足條件的日志記錄過濾掉,從而得到有效日志記錄,具體的有效日志記錄可以是包含完整的用戶訪問信息的日志記錄,如包含用戶的訪問次數(shù)、數(shù)據(jù)發(fā)送量、處理時間、訪問方式等??梢詮挠行罩居涗浿蝎@得的每一個用戶數(shù)據(jù)下載信息至少包括:數(shù)據(jù)發(fā)送數(shù)據(jù)量和處理時間,根據(jù)數(shù)據(jù)發(fā)送數(shù)量和處理時間的比值得到在處理時間內(nèi)該用戶的平均下載速度,然后將所有用戶的平均下載速度之和與所有用戶數(shù)量的比值作為平均下載速度。
示例性的,得到的有效日志記錄為5條,對應(yīng)的用戶分別為1至5,對應(yīng)的發(fā)送數(shù)據(jù)和處理時間分別為:1.2m和0.5s、1.8m和0.8s、2.5m和1.0s、2.4m和0.8s、1.2m和0.4s;用戶1的平均下載速度為:1.2m/0.5s=2.4m/s,用戶2的平均下載速度為:1.8m/0.8s=2.25m/s,用戶3的平均下載速度為:2.5m/1.0s=2.5m/s,用戶4的平均下載速度為:2.4m/0.8s=3m/s,用戶5的平均下載速度為:1.2m/0.4s=3m/s,那么生成的平均下載速度為:(2.4+2.25+2.5+3+3)/5=2.63(m/s)。
在一種實現(xiàn)方式中,在cpu利用率低于第一預(yù)設(shè)閾值,和/或空閑內(nèi)存不小于第二預(yù)設(shè)閾值的情況下,可以綁定一個利用率較低的cpu來執(zhí)行平均下載速度的計算工作。具體的,可以通過設(shè)定cpu利用率閾值,當(dāng)cpu利用率低于閾值時,定義為利用率較低的cpu,服務(wù)器可以隨機從中選擇一個來執(zhí)行計算工作。可以理解的是,計算出來的平均下載速度需要及時發(fā)送給進行網(wǎng)絡(luò)管理的人員,而采用綁定一個利用率較低的cpu來執(zhí)行計算的工作能夠獲得較高的計算速度,從而能夠提高獲得平均下載速度的效率;另外,采用這種方式也能夠合理分配cpu的利用,避免處于利用率較高的cpu來承擔(dān)計算工作。
另外,采用全量日志生成平均下載速度的方式必須是先在規(guī)定時間內(nèi)采集到所有的日志記錄,然后才能計算平均下載速度,而本發(fā)明實施例采用采樣的方式不需要在該規(guī)定時間以后才能計算平均下載速率,在任何時候均可采樣日志記錄進行平均下載速度的生成。示例性的,全量日志的收集時間為2s,平均下載速度要在2s以后才能得到;而采樣的頻率可以定在2s內(nèi)采樣10次,那么采樣的周期為0.2s,即在0.2s就可以得到一個平均下載速度,因此還能夠減少獲得平均下載速率的延時。
應(yīng)用本發(fā)明圖1所示的實施例,通過采樣周期對日志記錄進行采樣處理獲得目標(biāo)日志記錄,在確定有效日志記錄以后可以根據(jù)有效日志記錄中記載的數(shù)據(jù)下載信息生成平均下載速度。通過采樣獲得的有效日志記錄,在數(shù)量上相對于全量日志會減少很多,因此通過有效日志記錄中記載的數(shù)據(jù)下載信息也會比全量日志中的數(shù)據(jù)信息少很多,因此,根據(jù)有效日志中記載的數(shù)據(jù)下載信息生成平均下載速度,能夠減少生成平均下載速度時的計算量。
圖2為本發(fā)明實施例提供的信息生成方法的另一種流程示意圖,在圖1所示實施例的基礎(chǔ)上,增加s103。
s103,將所述平均下載速度發(fā)送至中心處理服務(wù)器,以使所述中心處理服務(wù)器根據(jù)所述平均下載速度信息進行下載速度展示。
本發(fā)明實施例中,中心處理服務(wù)器用來接收和轉(zhuǎn)發(fā)其他服務(wù)器發(fā)送的消息,其他服務(wù)器將生成的平均下載速度發(fā)送至中心處理服務(wù)器,中心處理服務(wù)器接收到上述平均下載速度后可以展示該平均下載速度。
另外,每一臺服務(wù)器可以將每一個用戶的平均下載速度連同最終生成的平均下載速度都發(fā)送至中心處理服務(wù)器,中心處理服務(wù)器可以將每一個用戶的平均下載速度組成一個一維的數(shù)組,并按照數(shù)值的大小降序排列,且設(shè)置若干個百分比以及速度閾值,最終根據(jù)數(shù)組中數(shù)據(jù)的總和、百分比以及速度閾值對平均下載速度的信息進行顯示。
示例性的,服務(wù)器a發(fā)送給中心處理服務(wù)器5個用戶的平均下載速度,中心處理服務(wù)器將其組成的數(shù)組為(2.25、2.4、2.5、3、3),總和為13.15,假設(shè)中心處理服務(wù)器設(shè)置3個百分比,分別為:30%,50%,80%(百分比的值在0和1之間即可)、速度閾值為v0=7m/s;將13.15*30%=3.945的值與v0比較,比較結(jié)果為小于v0(若大于v0,輸出等級1),再將13.15*50%=6.575的值與v0比較,結(jié)果為小于v0(若大于v0,輸出等級2),再將13.15*80%=10.52的值與v0比較,大于v0,輸出等級3,(若仍然小于v0,輸出等級4),還可以通過不同顏色展示輸出等級。本發(fā)明實施例中百分比的數(shù)目可以為1個也可以為多個,本發(fā)明實施例在此不對其進行限定。
應(yīng)用本發(fā)明圖2所示的實施例,中心處理服務(wù)器接收每一臺服務(wù)器發(fā)送的平均下載速度并展示,管理人員能夠根據(jù)展示的所有服務(wù)器的平均下載速度,及時獲得每一臺服務(wù)器的數(shù)據(jù)下載情況,便于進行網(wǎng)絡(luò)運行管理。
圖3為本發(fā)明實施例提供的信息生成裝置的一種結(jié)構(gòu)示意圖,所述裝置包括:采樣模塊301,生成模塊302;其中,
采樣模塊301,用于根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄;
生成模塊302,用于確定所述目標(biāo)日志記錄中的有效日志記錄,并根據(jù)所述有效日志記錄中記錄的數(shù)據(jù)下載信息生成平均下載速度。
具體的,所述采樣模塊301,可以用于:通過調(diào)用預(yù)設(shè)腳本的方式對日志文件中記錄的日志記錄進行采樣處理。
具體的,所述預(yù)設(shè)腳本為:基于linux系統(tǒng)的shell腳本。
具體的,所述采樣模塊301,可以用于:
在cpu利用率低于第一預(yù)設(shè)閾值,和/或空閑內(nèi)存不小于第二預(yù)設(shè)閾值的情況下,根據(jù)預(yù)先設(shè)定的采樣周期,對日志文件中記錄的日志記錄進行采樣處理,獲得目標(biāo)日志記錄。
應(yīng)用本發(fā)明圖3所示的實施例,通過采樣周期對日志記錄進行采樣處理獲得目標(biāo)日志記錄,在確定有效日志記錄以后可以根據(jù)有效日志記錄中記載的數(shù)據(jù)下載信息生成平均下載速度。通過采樣獲得的有效日志記錄,在數(shù)量上相對于全量日志會減少很多,因此通過有效日志記錄中記載的數(shù)據(jù)下載信息也會比全量日志中的數(shù)據(jù)信息少很多,因此,根據(jù)有效日志中記載的數(shù)據(jù)下載信息生成平均下載速度,能夠減少生成平均下載速度時的計算量。
圖4為本發(fā)明實施例提供的信息生成裝置的另一種結(jié)構(gòu)示意圖,在圖3所示實施例的基礎(chǔ)上,增加展示模塊303。
展示模塊303,用于將所述平均下載速度發(fā)送至中心處理服務(wù)器,以使所述中心處理服務(wù)器根據(jù)所述平均下載速度信息進行下載速度展示。
應(yīng)用本發(fā)明圖4所示的實施例,中心處理服務(wù)器接收每一臺服務(wù)器發(fā)送的平均下載速度并展示,管理人員能夠根據(jù)展示的所有服務(wù)器的平均下載速度,及時獲得每一臺服務(wù)器的數(shù)據(jù)下載情況,便于進行網(wǎng)絡(luò)運行管理。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。