一種web數(shù)據(jù)采集方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種web數(shù)據(jù)采集方法和系統(tǒng)。所述系統(tǒng)包括數(shù)據(jù)提供裝置以及數(shù)據(jù)采集裝置,其中數(shù)據(jù)提供裝置用于收集web數(shù)據(jù);數(shù)據(jù)采集裝置包括:負載檢測模塊,用于檢測數(shù)據(jù)提供裝置的負載情況,并判斷負載是否超過閾值,是則等待一定時間再重新檢測數(shù)據(jù)提供裝置的負載情況;否則通知數(shù)據(jù)采集模塊對數(shù)據(jù)提供裝置的web數(shù)據(jù)進行采集;數(shù)據(jù)采集模塊,用于對存儲在數(shù)據(jù)提供裝置中的web數(shù)據(jù)進行采集,并將采集到的web數(shù)據(jù)存入數(shù)據(jù)庫中;數(shù)據(jù)分析處理模塊,用于對數(shù)據(jù)庫中存儲的web數(shù)據(jù)進行處理。根據(jù)本發(fā)明的實施例公開的web數(shù)據(jù)采集方法和系統(tǒng),能夠實現(xiàn)以簡單的結構來準確高效地進行web數(shù)據(jù)采集,同時,避免網(wǎng)頁前端壓力過大的情況。
【專利說明】一種web數(shù)據(jù)采集方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及計算機數(shù)據(jù)處理【技術領域】,特別是一種web數(shù)據(jù)采集方法和系統(tǒng)。
【背景技術】
[0002]目前,互聯(lián)網(wǎng)技術飛速發(fā)展,信息呈現(xiàn)出爆炸性的增長,web數(shù)據(jù)分析具有了非常重大的意義。通過對網(wǎng)頁中大量的非結構化的數(shù)據(jù)進行分析,可以得到有價值的報表等,提供給網(wǎng)站運營人員和管理人員,供他們做決策和運營。其中,Web數(shù)據(jù)例如包括:PV(pageview,頁面瀏覽量)日志,點擊(或者稱事件)日志,效果日志(包括登錄,訂單等)等數(shù)據(jù)。
[0003]為了對web數(shù)據(jù)進行分析,首先要進行web數(shù)據(jù)的采集。目前用于web數(shù)據(jù)采集的方法主要有:
[0004]方法一:網(wǎng)絡爬蟲。按照一定的規(guī)則,從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在以網(wǎng)頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足一定條件,系統(tǒng)停止采集網(wǎng)頁。網(wǎng)絡爬蟲能全面地采集互聯(lián)網(wǎng)數(shù)據(jù),但是數(shù)據(jù)采集周期長,并且采集的數(shù)據(jù)不精準,采集的數(shù)據(jù)大多包含導航條、廣告信息、版權信息以及調查問卷等“噪音”內容,需要對采集回來的網(wǎng)頁文件進行網(wǎng)頁去噪等一系列的處理。
[0005]方法二:鏡像端口,將交換機的一個或幾個端口的數(shù)據(jù)包復制到一個指定的端口,通過分析儀連接鏡像端口接受數(shù)據(jù)。因為將交換機的多端口流量鏡像到一個端口上,可引起緩存過載及丟包現(xiàn)象,并且大多數(shù)據(jù)鏡像端口會過濾掉不規(guī)則的數(shù)據(jù)包。
[0006]方法三:分路器TAP,將分路器TAP插入到半/全雙工的10/100/1000M網(wǎng)絡鏈路中,可以使這條鏈路的全部數(shù)據(jù)信息復制到分析儀。分路器能保證數(shù)據(jù)100%的捕獲而沒有丟包,但是需額外費用購買分路TAP,并且一次只能查看一條鏈路。
[0007]方法四:腳本語言。將一段特殊的腳本語言嵌入到web的前端頁面中按照一定的采集參數(shù)規(guī)范表,記錄用戶的各種行為,并將該記錄存入后端服務器的數(shù)據(jù)庫。但是如果采集的數(shù)據(jù)變化時,就需要修改前端的代碼;而且如果后端服務器發(fā)生宕機,前端頁面也可能不知道而繼續(xù)采集,浪費了采集時間并降低了采集效率。
[0008]此外,由于在特定的web生產(chǎn)環(huán)境下,網(wǎng)頁前端往往會承載海量用戶訪問。而數(shù)據(jù)采集行為都會在不同程度上增加網(wǎng)頁前端的壓力情況。所以根據(jù)目前的web數(shù)據(jù)采集方法,則存在使網(wǎng)頁前端壓力過大的可能性。
[0009]因此,需要一種web數(shù)據(jù)采集方法和系統(tǒng),實現(xiàn)以簡單的結構來準確高效地進行web數(shù)據(jù)采集,同時,避免網(wǎng)頁前端壓力過大的情況。
【發(fā)明內容】
[0010]本發(fā)明的目的是提供一種web數(shù)據(jù)采集方法和系統(tǒng)。
[0011]根據(jù)本發(fā)明的一個方面,提供了一種web數(shù)據(jù)采集系統(tǒng),包括數(shù)據(jù)提供裝置以及數(shù)據(jù)采集裝置,其中所述數(shù)據(jù)提供裝置用于收集web數(shù)據(jù),包括數(shù)據(jù)存儲模塊,該數(shù)據(jù)存儲模塊用于存儲web數(shù)據(jù);所述數(shù)據(jù)采集裝置用于對數(shù)據(jù)提供裝置的負載進行分析,并對存儲于所述數(shù)據(jù)提供裝置的所述web數(shù)據(jù)進行采集和分析處理,包括:負載檢測模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)庫以及數(shù)據(jù)分析處理模塊;其中所述負載檢測模塊,用于檢測所述數(shù)據(jù)提供裝置的負載情況,并判斷負載是否超過閾值,是則等待一定時間再重新檢測所述數(shù)據(jù)提供裝置的負載情況;否則通知所述數(shù)據(jù)采集模塊對所述數(shù)據(jù)提供裝置的所述web數(shù)據(jù)進行采集;所述數(shù)據(jù)采集模塊,用于對存儲在所述數(shù)據(jù)提供裝置中的所述web數(shù)據(jù)進行采集,并將采集到的web數(shù)據(jù)存入數(shù)據(jù)庫中;以及所述數(shù)據(jù)分析處理模塊,用于對所述數(shù)據(jù)庫中存儲的所述web數(shù)據(jù)進行處理。
[0012]優(yōu)選地,所述數(shù)據(jù)提供裝置是以下裝置中的任意一個:網(wǎng)頁前端服務器、網(wǎng)頁前端服務器的一部分、與網(wǎng)頁前端服務器有線或者無線連接的裝置、或者為與后臺服務器有線或者無線連接的裝置;
[0013]優(yōu)選地,所述數(shù)據(jù)存儲模塊將所述web數(shù)據(jù)存儲至非持久性存儲單元。
[0014]優(yōu)選地,所述數(shù)據(jù)提供裝置包括數(shù)據(jù)計數(shù)模塊,所述數(shù)據(jù)計數(shù)模塊用于記錄規(guī)定時間內的web數(shù)據(jù)量。
[0015]優(yōu)選地,所述數(shù)據(jù)采集模塊通過特定的URL進行數(shù)據(jù)采集。
[0016]優(yōu)選地,所述數(shù)據(jù)提供裝置被設置為:若識別到特定的URL,則所述數(shù)據(jù)提供裝置對所述web數(shù)據(jù)進行歸攏,以供所述數(shù)據(jù)采集裝置采集。
[0017]根據(jù)本發(fā)明的另一方面,提供了一種使用上述任一系統(tǒng)進行web數(shù)據(jù)采集的方法,所述方法包括如下步驟:a)檢測所述數(shù)據(jù)提供端的負載;b)判斷所述負載是否超過閾值,是則進入步驟c ;否則進入步驟d;c)等待規(guī)定時間,并返回步驟a重新檢測所述數(shù)據(jù)提供端的負載;d)對所述數(shù)據(jù)提供端的web數(shù)據(jù)進行采集;e)對所述采集到的web數(shù)據(jù)進行處理。
[0018]根據(jù)本發(fā)明的實施例公開的web數(shù)據(jù)采集方法和系統(tǒng),能夠實現(xiàn)以簡單的結構來準確高效地進行web數(shù)據(jù)采集,同時,避免網(wǎng)頁前端壓力過大的情況。
【專利附圖】
【附圖說明】
[0019]參考隨附的附圖,本發(fā)明更多的目的、功能和優(yōu)點將通過本發(fā)明實施方式的如下描述得以闡明,其中:
[0020]圖1示意性示出了根據(jù)本發(fā)明的一個實施例的web數(shù)據(jù)采集的系統(tǒng)框圖。
[0021]圖2示意性示出了根據(jù)本發(fā)明的一個實施例的web數(shù)據(jù)采集的方法流程圖。
【具體實施方式】
[0022]通過參考示范性實施例,本發(fā)明的目的和功能以及用于實現(xiàn)這些目的和功能的方法將得以闡明。然而,本發(fā)明并不受限于以下所公開的示范性實施例;可以通過不同形式來對其加以實現(xiàn)。說明書的實質僅僅是幫助相關領域技術人員綜合理解本發(fā)明的具體細節(jié)。
[0023]在下文中,將參考附圖描述本發(fā)明的實施例。在附圖中,相同的附圖標記代表相同或類似的部件,或者相同或類似的步驟。
[0024]圖1示意性示出了根據(jù)本發(fā)明的一個實施例的web數(shù)據(jù)采集的系統(tǒng)框圖。
[0025]如圖1所示,根據(jù)本發(fā)明的一個實施例的web數(shù)據(jù)采集的系統(tǒng)100包括數(shù)據(jù)提供裝置Iio以及數(shù)據(jù)采集裝置120。其中,數(shù)據(jù)提供裝置110至少包括數(shù)據(jù)存儲模塊111,數(shù)據(jù)提供裝置110優(yōu)選還包括數(shù)據(jù)計數(shù)模塊112。數(shù)據(jù)采集裝置120包括負載檢測模塊121、數(shù)據(jù)采集模塊122、數(shù)據(jù)庫123,以及數(shù)據(jù)分析處理模塊124。
[0026]數(shù)據(jù)提供裝置110用于收集web數(shù)據(jù)。例如可以為一種網(wǎng)頁前端服務器、網(wǎng)頁前端服務器的一部分、與網(wǎng)頁前端服務器有線或者無線連接的裝置、或者與后臺服務器有線或者無線連接的裝置。
[0027]在數(shù)據(jù)提供裝置110中,數(shù)據(jù)存儲模塊111用于存儲web數(shù)據(jù)。特別地,根據(jù)本發(fā)明的實施方式,數(shù)據(jù)存儲模塊111中的web數(shù)據(jù)并不由數(shù)據(jù)提供裝置110主動提供給數(shù)據(jù)采集裝置120,而是供數(shù)據(jù)采集裝置120主動采集。優(yōu)選地,數(shù)據(jù)存儲模塊111可以將該web數(shù)據(jù)存儲至非持久性存儲單元,以降低成本,提高數(shù)據(jù)訪問速度。所述非持久性存儲單元可設置于數(shù)據(jù)存儲模塊111中或設置于數(shù)據(jù)存儲模塊111夕卜。
[0028]數(shù)據(jù)提供裝置110優(yōu)選還包括數(shù)據(jù)計數(shù)模塊112,數(shù)據(jù)計數(shù)模塊112用于記錄規(guī)定時間內的web數(shù)據(jù)量,該web數(shù)據(jù)可以位于數(shù)據(jù)存儲模塊111中。當數(shù)據(jù)采集裝置120對數(shù)據(jù)提供裝置110的數(shù)據(jù)進行采集時,優(yōu)選地,可以采集由數(shù)據(jù)計數(shù)模塊112記錄的規(guī)定時間內的web數(shù)據(jù)。
[0029]數(shù)據(jù)采集裝置120,用于根據(jù)基于數(shù)據(jù)提供裝置110的負載狀況的采集策略,對數(shù)據(jù)提供裝置110的數(shù)據(jù)存儲模塊111中存儲的web數(shù)據(jù)進行采集并進行分析處理操作。
[0030]具體地,數(shù)據(jù)采集裝置120包括以下子模塊:
[0031]負載檢測模塊121,用于檢測數(shù)據(jù)提供裝置110的負載情況,并判斷負載是否超過閾值,是則等待預先確定的一段時間再重新檢測數(shù)據(jù)提供裝置110的負載情況;否則通知數(shù)據(jù)采集模塊122對數(shù)據(jù)提供裝置110中存儲的數(shù)據(jù)進行采集。其中,判斷負載情況的方法例如,登錄到數(shù)據(jù)提供裝置110,用Iinux本身的sar命令獲取到當前的負載值。
[0032]數(shù)據(jù)采集模塊122,用于對數(shù)據(jù)提供裝置110中存儲的數(shù)據(jù)進行采集,并將采集到的數(shù)據(jù)存入數(shù)據(jù)庫123中。
[0033]優(yōu)選地,數(shù)據(jù)采集模塊122通過特定的URL進行數(shù)據(jù)采集。具體地,數(shù)據(jù)采集模塊122在正常的URL后面加上特殊的URL后綴訪問web頁面,web頁面除了顯示正常的頁面外,還會(例如在頁面的下方)打印出數(shù)據(jù)采集裝置120需要的數(shù)據(jù),數(shù)據(jù)采集模塊122通過正則匹配找出所需要的數(shù)據(jù),并存入數(shù)據(jù)庫123。與數(shù)據(jù)采集模塊122相對地,數(shù)據(jù)提供裝置110被設置為:數(shù)據(jù)提供裝置110每次會對URL進行識別,如果URL中匹配到特定的URL標識,則數(shù)據(jù)提供裝置110對web數(shù)據(jù)進行歸攏,以供數(shù)據(jù)采集裝置120采集。數(shù)據(jù)提供裝置110例如通過以下方式提供數(shù)據(jù):數(shù)據(jù)提供裝置110會在正常網(wǎng)頁的標簽后面加一個<div>標簽,并把需要采集的所有數(shù)據(jù)都按照一定格式放到div標簽內。
[0034]數(shù)據(jù)庫123,用于存放數(shù)據(jù)采集模塊122從數(shù)據(jù)提供裝置110采集的web數(shù)據(jù)。特別地,數(shù)據(jù)庫123可以是易失性的內存數(shù)據(jù)庫也可以是物理持久性的磁盤數(shù)據(jù)庫。
[0035]數(shù)據(jù)分析處理模塊124,用于對數(shù)據(jù)庫123中的數(shù)據(jù)進行處理,包括:數(shù)據(jù)分析、數(shù)據(jù)展示等。例如將根據(jù)web數(shù)據(jù)生成并展示數(shù)據(jù)報表等。由于數(shù)據(jù)采集模塊122每次采集的數(shù)據(jù)都是歷史累加的全部數(shù)據(jù),即從服務器重啟后到現(xiàn)在為止的歷史總數(shù)據(jù),所以需要對這些歷史總數(shù)據(jù)進行數(shù)據(jù)分析。例如用后一次采集到的所有數(shù)據(jù)去減去前一次采集到的所有數(shù)據(jù),獲得其差值等等。
[0036]這里,由于數(shù)據(jù)采集及數(shù)據(jù)分析的過程不是在數(shù)據(jù)提供端110中進行,所以即使將數(shù)據(jù)采集的頻率增大到較高的程度也不會給數(shù)據(jù)提供端110帶來壓力。所以能夠實現(xiàn)較高頻率的web數(shù)據(jù)采集。在數(shù)據(jù)采集頻率較高的情況下,即使出現(xiàn)因為數(shù)據(jù)提供端Iio的負載較大而未能采集到數(shù)據(jù)的場景,也不會對整個數(shù)據(jù)分析過程帶來明顯的影響。因為,假設依次的三個時間點tl,t2, t3采集到的數(shù)據(jù)分別是dl,d2, d3,那么在t2-tl這段時間內,數(shù)據(jù)的變化是d2-dl ;t3-t2這段時間內,數(shù)據(jù)的變化是d3-d2。即使某種異常導致t2數(shù)據(jù)丟失,那么在t3-tl時間段時,數(shù)據(jù)的變化是d3-dl。這段時間內數(shù)據(jù)變化量是一樣的,只是時間粒度更粗了,即從t3-t2,t2-tl兩個時間點變成了一個時間點t3-tl。
[0037]圖2示意性示出了根據(jù)本發(fā)明的一個實施例的web數(shù)據(jù)采集的方法流程圖。
[0038]步驟210,數(shù)據(jù)采集裝置120的負載檢測模塊121對數(shù)據(jù)提供裝置110的負載進行檢測。判斷負載情況的方法例如,登錄到數(shù)據(jù)提供裝置110,用Iinux本身的sar命令獲取到當前的負載值。
[0039]步驟220,負載檢測模塊121判斷負載是否超過閾值,是則進入步驟230 ;否則進入步驟240。
[0040]步驟230,負載檢測模塊121等待預先確定的一段時間,然后返回步驟210重新對數(shù)據(jù)提供裝置110的負載進行檢測。
[0041]步驟240,數(shù)據(jù)采集模塊122對數(shù)據(jù)提供裝置110中存儲的web數(shù)據(jù)進行采集,并將其存入數(shù)據(jù)庫123中。優(yōu)選地,數(shù)據(jù)采集模塊122通過特定的URL進行數(shù)據(jù)采集。具體地,數(shù)據(jù)采集模塊122在正常的URL后面加上特殊的URL后綴訪問web頁面,web頁面除了顯示正常的頁面外,還會(例如在頁面的下方)打印出數(shù)據(jù)采集裝置120需要的數(shù)據(jù),數(shù)據(jù)采集模塊122通過正則匹配找出所需要的數(shù)據(jù),并存入數(shù)據(jù)庫123。與數(shù)據(jù)采集模塊122相對地,數(shù)據(jù)提供裝置110被設置為:數(shù)據(jù)提供裝置110每次會對URL進行識別,如果URL中匹配到特定的URL標識,那么數(shù)據(jù)提供裝置110會在正常網(wǎng)頁的</html>標簽后面加一個<div>標簽,并把需要采集的所有數(shù)據(jù)都按照一定格式放到div標簽內。
[0042]步驟250,數(shù)據(jù)分析處理模塊124對采集到的web數(shù)據(jù)進行分析處理。包括:數(shù)據(jù)分析、數(shù)據(jù)展示等。例如將根據(jù)web數(shù)據(jù)生成并展示數(shù)據(jù)報表等。其中,具體地數(shù)據(jù)分析例如包括,分析不同時間段內采集到的數(shù)據(jù)的變化等等。
[0043]根據(jù)本發(fā)明的實施例公開的web數(shù)據(jù)采集方法和系統(tǒng),能夠實現(xiàn)以簡單的結構來準確高效地進行web數(shù)據(jù)采集,同時,避免網(wǎng)頁前端壓力過大的情況。
[0044]結合這里披露的本發(fā)明的說明和實踐,本發(fā)明的其他實施例對于本領域技術人員都是易于想到和理解的。說明和實施例僅被認為是示例性的,本發(fā)明的真正范圍和主旨均由權利要求所限定。
【權利要求】
1.一種web數(shù)據(jù)采集系統(tǒng),包括數(shù)據(jù)提供裝置以及數(shù)據(jù)采集裝置,其中 所述數(shù)據(jù)提供裝置用于收集web數(shù)據(jù),包括數(shù)據(jù)存儲模塊,所述數(shù)據(jù)存儲模塊用于存儲web數(shù)據(jù); 所述數(shù)據(jù)采集裝置用于對數(shù)據(jù)提供裝置的負載進行分析,并對存儲于所述數(shù)據(jù)提供裝置的所述web數(shù)據(jù)進行采集和分析處理,包括:負載檢測模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)庫以及數(shù)據(jù)分析處理模塊;其中 所述負載檢測模塊,用于檢測所述數(shù)據(jù)提供裝置的負載情況,并判斷負載是否超過閾值,是則等待一定時間再重新檢測所述數(shù)據(jù)提供裝置的負載情況;否則通知所述數(shù)據(jù)采集模塊對所述數(shù)據(jù)提供裝置的所述web數(shù)據(jù)進行采集; 所述數(shù)據(jù)采集模塊,用于對存儲在所述數(shù)據(jù)提供裝置中的所述web數(shù)據(jù)進行采集,并將采集到的web數(shù)據(jù)存入數(shù)據(jù)庫中;以及 所述數(shù)據(jù)分析處理模塊,用于對所述數(shù)據(jù)庫中存儲的所述web 數(shù)據(jù)進行處理。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)提供裝置是以下裝置中的任意一個:網(wǎng)頁前端服務器、網(wǎng)頁前端服務器的一部分、與網(wǎng)頁前端服務器有線或者無線連接的裝置、或者與后臺服務器有線或者無線連接的裝置。
3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲模塊將所述web數(shù)據(jù)存儲至非持久性存儲單元,所述非持久性存儲單元設置于所述數(shù)據(jù)存儲模塊中或設置于所述數(shù)據(jù)存儲模塊外。
4.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)提供裝置包括數(shù)據(jù)計數(shù)模塊,所述數(shù)據(jù)計數(shù)模塊用于記錄規(guī)定時間內的web數(shù)據(jù)量。
5.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)采集模塊通過特定的URL進行數(shù)據(jù)米集。
6.根據(jù)權利要求5所述的系統(tǒng),其特征在于,所述數(shù)據(jù)提供裝置被設置為:若識別到特定的URL,則所述數(shù)據(jù)提供裝置對所述web數(shù)據(jù)進行歸攏,以供所述數(shù)據(jù)采集裝置采集。
7.一種使用權利要求1-6中任一權利要求所述的系統(tǒng)進行web數(shù)據(jù)采集的方法,所述方法包括如下步驟: a)檢測所述數(shù)據(jù)提供端的負載; b)判斷所述負載是否超過閾值,是則進入步驟c;否則進入步驟d; c)等待規(guī)定時間,并返回步驟a重新檢測所述數(shù)據(jù)提供端的負載; d)對所述數(shù)據(jù)提供端的web數(shù)據(jù)進行采集; e)對所述采集到的web數(shù)據(jù)進行處理。
【文檔編號】H04L12/26GK103929339SQ201410155549
【公開日】2014年7月16日 申請日期:2014年4月17日 優(yōu)先權日:2014年4月17日
【發(fā)明者】趙建華, 謝剛 申請人:五八同城信息技術有限公司