一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)流量控制技術(shù)領(lǐng)域,特別是一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)爬蟲系統(tǒng)在抓取數(shù)據(jù)時(shí),會(huì)因?yàn)榕紶柕耐话l(fā)情況導(dǎo)致抓取的消息數(shù)猛增,并且主要由歷史數(shù)據(jù)組成,使得系統(tǒng)處于峰值狀態(tài),甚至超過系統(tǒng)的處理能力,使得系統(tǒng)無法有效的處理有價(jià)值的實(shí)時(shí)數(shù)據(jù),從甚至導(dǎo)致的整個(gè)系統(tǒng)的崩潰,無法提供服務(wù)。
[0003]中國(guó)發(fā)明專利申請(qǐng)CN103107948 A公開了一種流量控制方法,包括:在應(yīng)用服務(wù)器攔截用戶端的請(qǐng)求:根據(jù)所述請(qǐng)求獲得用戶信息組合;將所述用戶信息組合,與黑名單中的用戶信息組合進(jìn)行匹配,如果匹配,則進(jìn)行過濾;起哄,所述黑名單通過如下步驟生成:根據(jù)所述請(qǐng)求對(duì)應(yīng)用戶信息組合的記錄日志,統(tǒng)計(jì)所述用戶請(qǐng)求對(duì)應(yīng)的用戶信息組合的訪問次數(shù);針對(duì)所述訪問次數(shù),依據(jù)流量控制規(guī)則生成所述用戶信息組合的黑名單。雖然此發(fā)明能夠降低服務(wù)器系統(tǒng)開銷,更準(zhǔn)確的對(duì)用戶端的請(qǐng)求進(jìn)行過濾,有效的提高系統(tǒng)的過濾效率;但是,此發(fā)明無法解決網(wǎng)絡(luò)爬蟲的歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的優(yōu)先處理問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需要解決的技術(shù)問題提供一種網(wǎng)絡(luò)爬蟲數(shù)據(jù)優(yōu)先級(jí)處理的流量控制方法。
[0005]為解決上述的技術(shù)問題,本發(fā)明的一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,包括以下步驟,
[0006]步驟SlOl:數(shù)據(jù)接收,接收網(wǎng)絡(luò)爬蟲數(shù)據(jù),并對(duì)爬蟲數(shù)據(jù)的接收通過消息中間件進(jìn)tx解親;
[0007]步驟S102:數(shù)據(jù)處理優(yōu)先級(jí)確定,通過記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲,生成延遲時(shí)間的正態(tài)分布圖,根據(jù)不同分位的延遲度量值來決定數(shù)據(jù)的優(yōu)先級(jí);
[0008]步驟S103:流量控制,將流控系統(tǒng)的信息處理速度與閾值對(duì)比,優(yōu)先處理易于延遲度量值的數(shù)據(jù),處理速度允許則同時(shí)處理暫存數(shù)據(jù),控制暫存數(shù)據(jù)的處理速度;
[0009]步驟S104:處理完成。
[0010]進(jìn)一步的,所述步驟S102數(shù)據(jù)處理優(yōu)先級(jí)確定具體包括以下步驟,
[0011]步驟S21:延遲時(shí)間記錄,記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲;
[0012]步驟S22:流量控制開啟判斷,判斷是否開啟流量控制,如果是,則進(jìn)入步驟S24;如果否,則進(jìn)入步驟S23;
[0013]步驟S23:暫存數(shù)據(jù)接收,接收暫存數(shù)據(jù),并且調(diào)整暫存數(shù)據(jù)的接收速度,進(jìn)入步驟S103流量控制;
[0014]步驟S24:數(shù)據(jù)延遲量判斷,判斷數(shù)據(jù)延遲量是否大于延遲度量值,如果否,則進(jìn)入步驟S103;如果是,則發(fā)往暫存主題,進(jìn)入步驟S104。
[0015]更進(jìn)一步的,所述步驟S23中暫存數(shù)據(jù)的接收速度與當(dāng)前的信息處理速度之和小于閾值。
[0016]更進(jìn)一步的,所述步驟S103流量控制具體包括以下步驟,
[0017]步驟S31:信息處理速度判斷,判斷流控系統(tǒng)的信息處理速度是否達(dá)到閾值,如果是,則進(jìn)入步驟S32;如果否,則進(jìn)入步驟S34;
[0018]步驟S32:流量控制開啟;
[0019]步驟S33:延遲度量值調(diào)整,降低延遲度量值,進(jìn)入步驟S104;
[0020]步驟S34:信息數(shù)據(jù)處理,優(yōu)先數(shù)據(jù)處理的同時(shí)處理暫存數(shù)據(jù),并且動(dòng)態(tài)調(diào)整暫存數(shù)據(jù)的處理速度。
[0021]更進(jìn)一步的,所述步驟S34中暫存數(shù)據(jù)的處理速度小于或等于閾值減去優(yōu)先數(shù)據(jù)的處理速度。
[0022]采用上述方法后,本發(fā)明系統(tǒng)會(huì)根據(jù)消息的處理速度,周期性的動(dòng)態(tài)調(diào)整延遲度量值,如果速度超過閾值,則會(huì)不斷下調(diào)延遲值,意味著優(yōu)先處理更新的消息。當(dāng)系統(tǒng)恢復(fù)之后,消息處理速度降到閾值之下后,系統(tǒng)會(huì)自動(dòng)接收之前暫存的消息,并且動(dòng)態(tài)調(diào)整處理速度,從而保證系統(tǒng)的穩(wěn)定。另外,在整個(gè)服務(wù)降級(jí)的過程中,系統(tǒng)無需人為干預(yù),根據(jù)當(dāng)前的速度智能調(diào)整處理消息的延遲時(shí)間窗,保證系統(tǒng)的穩(wěn)定運(yùn)行。
【附圖說明】
[0023]下面將結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0024]圖1為本發(fā)明一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法的流程圖。
【具體實(shí)施方式】
[0025]如圖1所示,本發(fā)明的一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,包括以下步驟,
[0026]步驟SlOl:數(shù)據(jù)接收,接收網(wǎng)絡(luò)爬蟲數(shù)據(jù),并對(duì)爬蟲數(shù)據(jù)的接收通過消息中間件進(jìn)行解耦。
[0027]步驟S102:數(shù)據(jù)處理優(yōu)先級(jí)確定,通過記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲,生成延遲時(shí)間的正態(tài)分布圖,根據(jù)不同分位的延遲度量值來決定數(shù)據(jù)的優(yōu)先級(jí)。具體包括以下步驟,
[0028]步驟S21:延遲時(shí)間記錄,記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲;系統(tǒng)運(yùn)行時(shí),會(huì)記錄一段時(shí)間內(nèi)每條數(shù)據(jù)的實(shí)際時(shí)間和當(dāng)前時(shí)間的一個(gè)延遲值,并通過正態(tài)分布圖的方式統(tǒng)計(jì)整體的延遲情況。
[0029]步驟S22:流量控制開啟判斷,判斷是否開啟流量控制,如果是,則進(jìn)入步驟S24;如果否,則進(jìn)入步驟S23。
[0030]步驟S23:暫存數(shù)據(jù)接收,接收暫存數(shù)據(jù),并且調(diào)整暫存數(shù)據(jù)的接收速度,進(jìn)入步驟S103流量控制;這里暫存數(shù)據(jù)的接收速度與當(dāng)前的信息處理速度之和小于閾值。
[0031 ]步驟S24:數(shù)據(jù)延遲量判斷,判斷數(shù)據(jù)延遲量是否大于延遲度量值,如果否,則進(jìn)入步驟S103;如果是,則發(fā)往暫存主題,進(jìn)入步驟S104。
[0032]步驟S103:流量控制,將流控系統(tǒng)的信息處理速度與閾值對(duì)比,優(yōu)先處理易于延遲度量值的數(shù)據(jù),處理速度允許則同時(shí)處理暫存數(shù)據(jù),控制暫存數(shù)據(jù)的處理速度。具體包括以下步驟,
[0033]步驟S31:信息處理速度判斷,判斷流控系統(tǒng)的信息處理速度是否達(dá)到閾值,如果是,則進(jìn)入步驟S32;如果否,則進(jìn)入步驟S34。
[0034]步驟S32:流量控制開啟。
[0035]步驟S33:延遲度量值調(diào)整,當(dāng)系統(tǒng)開啟流量控制之后,會(huì)下調(diào)延遲度量值,即縮短時(shí)間窗口,優(yōu)先處理延遲值更低的數(shù)據(jù)。這樣通過動(dòng)態(tài)調(diào)整時(shí)間窗口的大小,來達(dá)到控制消息數(shù)的目的,從而避免因?yàn)榇罅繗v史數(shù)據(jù)拖垮后續(xù)系統(tǒng)。
[0036]步驟S34:信息數(shù)據(jù)處理,優(yōu)先數(shù)據(jù)處理的同時(shí)處理暫存數(shù)據(jù),并且動(dòng)態(tài)調(diào)整暫存數(shù)據(jù)的處理速度。這里暫存數(shù)據(jù)的處理速度小于或等于閾值減去優(yōu)先數(shù)據(jù)的處理速度。
[0037]步驟S104:處理完成。
[0038]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是本領(lǐng)域熟練技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,可以對(duì)本實(shí)施方式作出多種變更或修改,而不背離發(fā)明的原理和實(shí)質(zhì),本發(fā)明的保護(hù)范圍僅由所附權(quán)利要求書限定。
【主權(quán)項(xiàng)】
1.一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,其特征在于,包括以下步驟, 步驟SlOl:數(shù)據(jù)接收,接收網(wǎng)絡(luò)爬蟲數(shù)據(jù),并對(duì)爬蟲數(shù)據(jù)的接收通過消息中間件進(jìn)行解串禹; 步驟S102:數(shù)據(jù)處理優(yōu)先級(jí)確定,通過記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲,生成延遲時(shí)間的正態(tài)分布圖,根據(jù)不同分位的延遲度量值來決定數(shù)據(jù)的優(yōu)先級(jí); 步驟S103:流量控制,將流控系統(tǒng)的信息處理速度與閾值對(duì)比,優(yōu)先處理易于延遲度量值的數(shù)據(jù),處理速度允許則同時(shí)處理暫存數(shù)據(jù),控制暫存數(shù)據(jù)的處理速度; 步驟S104:處理完成。2.按照權(quán)利要求1所述的一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,其特征在于,所述步驟S102數(shù)據(jù)處理優(yōu)先級(jí)確定具體包括以下步驟, 步驟S21:延遲時(shí)間記錄,記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲; 步驟S22:流量控制開啟判斷,判斷是否開啟流量控制,如果是,則進(jìn)入步驟S24;如果否,則進(jìn)入步驟S23; 步驟S23:暫存數(shù)據(jù)接收,接收暫存數(shù)據(jù),并且調(diào)整暫存數(shù)據(jù)的接收速度,進(jìn)入步驟S103流量控制; 步驟S24:數(shù)據(jù)延遲量判斷,判斷數(shù)據(jù)延遲量是否大于延遲度量值,如果否,則進(jìn)入步驟S103;如果是,進(jìn)入步驟S25; 步驟S25:發(fā)往暫存主題,進(jìn)入步驟S104。3.按照權(quán)利要求2所述的一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,其特征在于:所述步驟S23中暫存數(shù)據(jù)的接收速度與當(dāng)前的信息處理速度之和小于閾值。4.按照權(quán)利要求1-3中任一項(xiàng)所述的一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,其特征在于,所述步驟S103流量控制具體包括以下步驟, 步驟S31:信息處理速度判斷,判斷流控系統(tǒng)的信息處理速度是否達(dá)到閾值,如果是,則進(jìn)入步驟S32 ;如果否,則進(jìn)入步驟S34 ; 步驟S32:流量控制開啟; 步驟S33:延遲度量值調(diào)整,降低延遲度量值,進(jìn)入步驟S104; 步驟S34:信息數(shù)據(jù)處理,優(yōu)先數(shù)據(jù)處理的同時(shí)處理暫存數(shù)據(jù),并且動(dòng)態(tài)調(diào)整暫存數(shù)據(jù)的處理速度。5.按照權(quán)利要求4所述的一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,其特征在于:所述步驟S34中暫存數(shù)據(jù)的處理速度小于或等于閾值減去優(yōu)先數(shù)據(jù)的處理速度。
【專利摘要】本發(fā)明涉及網(wǎng)絡(luò)流量控制技術(shù)領(lǐng)域,特別是一種基于時(shí)間窗口的網(wǎng)絡(luò)爬蟲流量控制自動(dòng)降級(jí)方法,包括以下步驟,步驟S101:數(shù)據(jù)接收,接收網(wǎng)絡(luò)爬蟲數(shù)據(jù),并對(duì)爬蟲數(shù)據(jù)的接收通過消息中間件進(jìn)行解耦;步驟S102:數(shù)據(jù)處理優(yōu)先級(jí)確定,通過記錄網(wǎng)絡(luò)爬蟲數(shù)據(jù)的原始時(shí)間和當(dāng)前時(shí)間的延遲,生成延遲時(shí)間的正太分布圖,根據(jù)不同分位的延遲度量值來決定數(shù)據(jù)的優(yōu)先級(jí);步驟S103:流量控制,將流控系統(tǒng)的信息處理速度與閾值對(duì)比,優(yōu)先處理易于延遲度量值的數(shù)據(jù),處理速度允許則同時(shí)處理暫存數(shù)據(jù),控制暫存數(shù)據(jù)的處理速度;步驟S104:處理完成。采用上述方法后,通過動(dòng)態(tài)調(diào)整處理速度,保證系統(tǒng)的穩(wěn)定;根據(jù)當(dāng)前的速度調(diào)整處理消息的延遲時(shí)間窗,保證系統(tǒng)的穩(wěn)定運(yùn)行。
【IPC分類】H04L12/851
【公開號(hào)】CN105610728
【申請(qǐng)?zhí)枴緾N201510995484
【發(fā)明人】覃璐
【申請(qǐng)人】湖南蟻坊軟件有限公司
【公開日】2016年5月25日
【申請(qǐng)日】2015年12月28日