TW201324211A - 即時資料的獲取方法、裝置及系統 - Google Patents
即時資料的獲取方法、裝置及系統 Download PDFInfo
- Publication number
- TW201324211A TW201324211A TW101107349A TW101107349A TW201324211A TW 201324211 A TW201324211 A TW 201324211A TW 101107349 A TW101107349 A TW 101107349A TW 101107349 A TW101107349 A TW 101107349A TW 201324211 A TW201324211 A TW 201324211A
- Authority
- TW
- Taiwan
- Prior art keywords
- log
- real
- time data
- data
- query
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申請案揭示一種即時資料的獲取方法、裝置及系統。其中,該方法包括:在向日誌伺服器中寫入日誌時,向即時資料系統輸入目前待寫入的日誌;即時資料系統即時地獲取目前輸入的待寫入的日誌,即時資料系統即時地解析待寫入的日誌,獲取該日誌中所記錄的即時資料。透過本申請案,透過即時地獲取待寫入日誌伺服器的日誌以,獲取即時資料,由於日誌伺服器不依賴於用戶使用的用戶端,用戶發生的任何行為,都能被記錄到日誌伺服器中,從而確保了即時資料的完整性,並且,由於獲取的是即時向日誌伺服器寫入的日誌,因此,可以在發生用戶行為的第一時間獲取到相應的即時資料,提高了即時資料獲取的即時性。
Description
本申請案係有關電腦及互聯網技術領域,具體而言,有關一種即時資料的獲取方法、裝置及系統。
個性化推薦是根據用戶的興趣特點和購買行為,向用戶推薦用戶感興趣的資訊和商品。隨著電子商務規模的不斷擴大,商品個數和種類快速增長,顧客需要花費大量的時間才能找到自己想買的商品。這種瀏覽大量無關的資訊和產品過程無疑會使淹沒在資訊超載問題中的消費者不斷流失。為了解決這些問題,個性化推薦系統應運而生。個性化推薦系統是建立在大量資料挖掘基礎上的一種高級商務智慧平臺,以幫助電子商務網站為其顧客購物提供完全個性化的決策支援和資訊服務。
目前,推薦系統日益廣泛的應用到了電子商務的各個領域。在推薦過程中,把握用戶目前狀態,最近的訪問行為,可以有效地提高推薦的精准度。而如何獲得即時資料,如何快速利用即時資料,一直是實現即時功能的困難點。現有的推薦系統一般是利用歷史資料做離線計算,資料延遲比較大,不能反應用戶目前或近期行為,推薦的準確性受損。因此,現有的推薦系統大部分不能即時計算,只能做到准即時。
對於現有的已實現部分即時功能的推薦系統,即時資
料的獲取一般依賴於用戶端的設置。比如,透過cookie或flash等用戶端儲存,然後定期上報給伺服器,由伺服器對即時資料進行處理。這種依賴用戶端的設置的方式來獲取即時資料,並不能獲取到用戶所有行為的即時資料,例如,如果用戶清除了cookie,或者用戶從另一台機器登錄等,都將導致用戶即時行為的遺失。並且,採用這種即時資料的獲取方式,由於用戶端是定期向伺服器上報,所以導致伺服器獲取的資料的即時性較差。
針對現有技術中的即時資料獲取不完整及即時性較差的問題,目前尚未提出有效的解決方案。
本申請案的主要目的在於提供一種即時資料的獲取方法、裝置及系統,以解決現有技術中的即時資料的獲取不完整以及即時性較差的問題。
為了實現上述目的,根據本申請案的一個態樣,提供了一種即時資料的獲取方法。
根據本申請案的即時資料的獲取方法包括:在向日誌伺服器中寫入日誌時,向即時資料系統輸入目前待寫入的日誌;所述即時資料系統即時地獲取目前輸入的所述待寫入的日誌;所述即時資料系統即時地解析所述待寫入的日誌,以獲取所述日誌中所記錄的即時資料。
較佳地,在向日誌伺服器寫入日誌之前,所述方法還包括:用戶端的日誌程式即時獲取用戶行為資料,將所述
用戶行為資料作為上述待寫入的日誌而傳送到所述日誌伺服器。
較佳地,在獲取所述日誌中記錄的即時資料之後,所述方法還包括:對所述日誌中所記錄的資料進行即時處理,以獲得到所需的即時資料。
較佳地,對所述日誌中記錄的即時資料進行即時處理,包括:將所述日誌中所記錄的資料分發給多個處理器中的一個處理器,所述處理器對所述日誌中所記錄的即時資料進行即時處理,然後保存處理得到的所述即時資料。
較佳地,將所述日誌中記錄的即時資料分發給多個處理器中的一個處理器,包括:以所述日誌中所記錄的一個屬性值為關鍵字,進行雜湊計算;根據預先設定的對應關係,將所述日誌中所記錄的即時資料分發給與雜湊計算得到的結果對應的處理器。
較佳地,所述處理器對所述日誌中所記錄的即時資料進行即時處理,包括:所述處理器查詢保存的歷史資料,獲取與所述日誌中所記錄的即時資料相關聯的歷史資料;所述處理器根據獲取的所述歷史資料,對所述日誌中所記錄的即時資料進行處理。
較佳地,所述處理器查詢保存的歷史資料,包括:所述處理器向保存所述歷史資料的儲存模組發送查詢請求,其中,所述查詢請求中攜帶請求查詢內容的關鍵字;根據所述關鍵字,進行雜湊計算,根據雜湊計算結果,將所述查詢請求分發給與所述雜湊計算結果對應的查詢單元;所
述查詢單元查詢所保存的所述歷史資料,將查詢到的所述歷史資料送回給所述處理器。
較佳地,對所述日誌中所記錄的即時資料進行即時處理,包括:載入外掛的快速時間衰減模型和邏輯規則而對所述日誌中所記錄的即時資料進行即時處理。
根據本申請案的另一個態樣,提供了一種即時資料的獲取裝置。
根據本申請案的即時資料的獲取裝置包括:輸入模組,用以接收在向日誌伺服器中寫入日誌時輸入即時資料系統的目前待寫入的日誌;獲取模組,用以即時地獲取目前輸入的所述待寫入的日誌;解析模組,用以即時地解析所述待寫入的日誌,以獲取所述日誌中所記錄的即時資料。
較佳地,所述裝置還包括:處理模組,用以對所述日誌中所記錄的即時資料進行即時處理,以獲得到所需的即時資料。
較佳地,所述處理模組包括:第一分發單元,用以將所述日誌中所記錄的即時資料分發給多個所述處理單元中的一個所述處理單元;處理單元,用以對輸入的所述日誌中所記錄的即時資料進行即時處理。
較佳地,所述裝置還包括:儲存模組,用以儲存所述處理單元進行即時處理後得到的即時資料;查詢模組,用以根據來自所述處理單元的查詢請求,查詢所述儲存模組中所保存的與所述日誌中所記錄的即時資料相關聯的歷史資料,並將獲取的所述歷史資料送回給所述處理單元;所
述處理單元還用以根據所述查詢模組所送回的所述歷史資料而對所述日誌中所記錄的即時資料進行即時處理。
較佳地,所述查詢模組包括:第二分發單元和多個查詢單元,其中,所述第二分發單元,用以根據預設的關鍵字,進行雜湊計算,根據雜湊計算結果,將所述查詢請求分發給與所述雜湊計算結果對應的查詢單元;所述查詢單元,用以執行所述查詢請求對應的查詢任務,將查詢得到的所述歷史資料送回給所述處理單元。
較佳地,所述處理模組用以載入外掛的快速時間衰減模型和邏輯規則而對所述日誌中所記錄的即時資料進行即時處理。
根據本申請案的再一個態樣,提供了一種即時資料的獲取系統。
根據本申請案的即時資料的獲取系統包括:即時資料儲存模組和上述的即時資料的獲取裝置,其中,所述即時資料儲存模組用以儲存所述獲取裝置所獲得到的即時資料。
較佳地,所述即時資料儲存模組包括多個對外介面。
透過本申請案,透過即時地獲取待寫入日誌伺服器的日誌,獲取即時資料,由於日誌伺服器不依賴於用戶使用的用戶端,用戶發生的任何行為,都能被記錄到日誌伺服器中,所以確保了即時資料的完整性,並且,由於獲取的是即時向日誌伺服器所寫入的日誌,因此,可以在發生用戶行為的第一時間獲取到相應的即時資料,提高了即時資
料獲取的即時性。
需要說明的是,在不衝突的情況下,本申請案中的實施例及實施例中的特徵可以相互組合。下面將參考附圖並結合實施例來詳細說明本申請案。
以下實施例以即時推薦系統獲取即時資料為例,對本申請案所提出的即時資料的獲取方案進行說明,但並不限於此,在實際應用中,其他需要獲取用戶的即時資料的系統也可以採用本申請案提供的即時資料的獲取方案,以獲取用戶的即時資料,例如,安全管理系統可以根據本申請案所提供的即時資料的獲取方案,以獲取用戶的即時資料,根據用戶的即時資料中記錄的用戶近期的訪問路徑,以判斷出用戶是否是欺詐用戶,從而確保系統的安全。
圖1是根據本申請案實施例之即時資料的獲取方法的流程圖,如圖1所示,本申請案實施例之即時資料的獲取方法主要包括以下步驟S102-步驟S106。
步驟S102,在向日誌伺服器中寫入日誌時,向即時推薦系統輸入目前待寫入的日誌。
在一個網路系統中,日誌伺服器記錄每一個用戶訪問行為,而不依賴於用戶使用的用戶端,因此,在本申請案中,在向日誌伺服器寫入日誌時,觸發向即時推薦系統輸入日誌的操作,將待寫入日誌伺服器的日誌輸入到即時推薦系統,從而使得即時推薦系統可以獲取用戶的所有訪問
行為資料,從而確保了即時資料的完整性。
在本申請案實施例的一個較佳實施方式中,用戶端可以透過其日誌程式而即時地獲取用戶的行為資料,並即時地傳輸至日誌伺服器。例如,如圖2所示,各個用戶端透過日誌打點獲取用戶的行為資料,並傳送到日誌伺服器,日誌伺服器產生日誌並即時地輸出。在本申請案中,每當日誌伺服器中增加一條日誌時,就向即時推薦系統即時輸出目前待增加到日誌伺服器的日誌。
透過上述較佳實施方式,利用打點日誌,可以實現用戶的行為資料的即時獲取,不依賴於用戶所使用的用戶端,分散獲取用戶的行為資料,提高了日誌伺服器獲取用戶的行為資料的便捷性及系統的反應速度。
步驟S104,即時推薦系統即時地獲取目前輸入的上述待寫入日誌伺服器的日誌。
步驟S106,即時推薦系統即時地解析目前獲取到的日誌,以獲取日誌中記錄的即時資料。
在本申請案中,即時推薦系統透過即時地解析目前待寫入到日誌伺服器的日誌,以獲取日誌中記錄的即時資料,每向日誌伺服器寫入一項日誌記錄,即時推薦系統解析一項日誌記錄,而不是採用週期性地上報的方式解析即時資料,從而分散了即時推薦系統解析日誌的壓力,提高了即時推薦系統解決日誌的性能,加快了即時推薦系統的反應速度。
為了使各個應用模組可以利用獲取的即時資料,在解
析出日誌中記錄的即時資料之後,可以進一步對獲取的即時資料進行處理,以得到所需的即時資料,亦即,對日誌中記錄的即時資料進行分析,以得到用戶的行為特徵。例如,在一個網站購物系統中,如果用戶點擊收藏某個商品,即時推薦系統透過解析日誌伺服器而針對用戶的該行為產生並輸出的日誌檔,以獲取用戶收藏的商品的特徵,而得到用戶可能購買的商品的特徵,例如,如果用戶點擊收藏“xx牌奶糖”,則即時推薦系統對日誌伺服器所輸出的日誌中記錄的資料進行分析,獲取到用戶收藏的商品特徵為“奶糖”,從而可以認定該用戶對“奶糖”感興趣,即時推薦系統可以即時地向用戶推薦其餘品牌的奶糖。因此,在本申請案實施例的一個較佳實施方式中,如圖3所示,在步驟S106之後,還包括:
步驟S108,即時推薦系統對日誌中所記錄的資料進行即時處理,以得到所需的即時資料。
在本申請案實施例的一個較佳實施方式中,為了提高系統的反應速度,即時推薦系統可以設置多個處理器對日誌中記錄的資料進行處理,在解析得到日誌中所記錄的資料後,即時推薦系統可以將該資料分發給該多個處理器中的一個處理器,由該處理器對日誌中所記錄的資料時行即時處理。
採用該較佳實施方式,由多個處理器分散式處理日誌中記錄的資料,從而避免了用戶數量較大時而伺服器的負擔較重的問題,提高了即時推薦系統處理日誌資料的速度
,進而使得系統可以快速的對用戶目前的行為進行反應,例如,對於即時推薦系統來說,在上述所例舉的用戶點擊收藏“xx牌奶糖”的用戶行為,即時推薦系統可以快速地獲取到該用戶的行為特徵為對“奶糖”感興趣,則可以在反應用戶點擊收藏“xx牌奶糖”的網頁上,向用戶推薦其他品牌的奶糖,從而提高了系統的反應速度。
在本申請案實施例的一個較佳實施例中,可以預先設定一個對應關係,該對應關係記錄了不同的雜湊計算結果所對應的處理器,以日誌中所記錄的一個屬性值為關鍵字,對該關鍵字進行雜湊計算,根據預先設定的上述對應關係,將目前從日誌中解析得到的資料分發給與雜湊計算得到的結果對應的處理器,由該處理器對目前從日誌中所解析得到的資料進行處理。
在上述較佳實施例中,透過雜湊計算分發從日誌中所解析得到的資料,可以確保各個處理器之間的負載均衡,避免其中某個處理器的負荷太重而導致資料堵塞,進而導致系統反應速度變慢的問題。
需要說明的是,雖然上述較佳實施例以雜湊演算法為例進行說明,但並不限於此,在本申請案實施例的其他實施例中,也可以採用其他的方式來分發從日誌中所解析得到的資料。例如,如果用戶ID為數位,處理器的數量為10,則可以按照用戶ID與10之商的餘數來分發從日誌中所解析得到的資料,每一個餘數對應一個處理器。
在本申請案實施例的一個較佳實施方式中,為了確保
資料處理的精確性,處理器在將得到的即時資料儲存到即時資料庫中時,還可以將該即時資料作為歷史資料儲存在本地,在對日誌中記錄的資料進行處理時,處理器可以結合儲存的歷史資料中與目前日誌中記錄的資料相關聯的資料而對目前日誌中記錄的即時資料進行處理。
在本申請案實施例的一個較佳實施方式中,處理器在對目前日誌中記錄的資料進行處理時,可以查詢保存的歷史資料,獲取與目前日誌中記錄的資料相關聯的歷史資料,例如,可以獲取歷史資料中用戶標識與目前日誌中記錄的用戶標識相同的歷史資料,或者,歷史資料中用戶端的IP位址與目前日誌中記錄的IP位址相同的歷史資料,然後根據所獲取的相關的歷史資料而對目前日誌中記錄的資料進行處理。
例如,對於上述的用戶在購物網站上點擊收藏“xx牌奶糖”行為,處理器可以查詢歷史資料,獲取曾經收藏或購買該“xx牌奶糖”的用戶的用戶資料,從而分析出收藏或購買該“xx牌奶糖”的用戶具備的特徵。
透過上述的較佳實施方式,由於即時資料的處理結合了相關聯的歷史資料,將目前的即時資料與儲存的歷史資料進行整合利用,提高了資料的利用率,並確保了獲取的即時資料的準確性。
在本申請案實施例的一個較佳實施方式中,處理器在查詢歷史資料時,可以向儲存歷史資料的資料庫發送查詢請求,例如,可以向資料庫發送結構化查詢語言(簡稱為
SQL)查詢請求,該查詢請求中攜帶請求查詢的關鍵字,資料庫在接收到該查詢請求後,查詢儲存歷史資料的資料庫,並將查詢結構送回給處理器。為了避免大量的查詢請求而導致資料堵塞,在本申請案實施例的一個較佳實施例中,可以採用多個查詢單元並行地執行查詢操作,在接收到處理器的查詢請求時,可以將該查詢請求分發給相應的查詢單元,由該查詢單元來執行相應的查詢操作。
在上述較佳實施例中,由多個查詢單元並行地執行查詢操作操作,避免了只由一個查詢單元執行而導致資料堵塞的問題,提高了儲存歷史資料的資料庫對處理器的查詢請求的反應速度,進而提高了整個系統的反應速度。
在本申請案實施例的一個較佳實施方式中,在分發處理器發送的查詢請求時,也可以採用雜湊演算法來確定執行該查詢請求的查詢單元,例如,可以以查詢請求中攜帶的關鍵字為變數,對該關鍵字進行雜湊計算,根據雜湊計算結果,將查詢請求分發給與該雜湊計算結果對應的查詢單元。
以即時推薦系統向用戶推薦offer為例,如圖4所示,即時推薦系統即時地讀取日誌伺服器所輸出的日誌(log),然後即時解析該日誌中所記錄的資料,輸出該日誌中所記錄的用戶ID(user_id)、offer_id、用戶執行的行為(action)及目前時間(datetime)等,然後確定將該日誌所記錄的即時資料按照用戶關鍵字(user key)而進行分發,對該日誌中所記錄的user_id進行雜湊計算(
Hash),根據計算結果,將從日誌中解析得到的即時資料分發給對應的處理器進行處理,以獲得到該用戶的行為特徵資料,並儲存所獲得到的資料。
處理器在對日誌中記錄的即時資料進行處理的過程中,可以結合歷史資料來進行處理,在本例以處理器需要獲取與日誌中記錄的offer_id相同的記錄為例,處理器在讀取歷史資料中記錄的offer資訊時,以offer為關鍵字來分發查詢請求,具體地說,以日誌中所記錄的offer_id為變數,計算Hash(offer_id),根據所獲得到的計算結果,將查詢請求分發給相應的查詢單元,由查詢單元來查詢儲存的歷史資料,以獲取歷史資料中相應的內容,並送回給處理器。處理器結合查詢得到歷史資料,對目前從日誌中解析得到的即時資料進行分析,以獲得到用戶的行為特徵資料。
在本申請案實施例中,上述多個查詢單元可以透過多個並行的查詢線程來予以實現;或者,也可以在儲存歷史資料時,按照預定的關鍵字,將歷史資料進行分佈儲存,亦即按照預定的關鍵字,將歷史資料分佈儲存於多個資料庫中,例如,可以按照Hash(關鍵字)將歷史資料儲存在對應的資料庫中,在查詢歷史資料時,可以以該關鍵字作雜湊運算,向與雜湊運算的結果對應的資料庫發送查詢請求,從而獲取對應的歷史資料。
在本申請案實施例的一個較佳實施方式中,為了確保即時資料的處理速度,即時資料的處理邏輯可以採用快速
時間衰減模型,並加入相應的規則配置,亦即,處理器在對即時資料進行處理時,可以透過加入規則配置的快速時間衰減模型而對即時資料進行處理,從而提高即時資料的處理速度。
例如,在對某個用戶進行統計運算時,可以採用以下公式來進行統計計算:score=w 1 * f(t 1)+w 2 * f(t 2)+...+w n * f(t n ),其中,w 1,w 2,...,w n 為權重,t 1,t 2,...,t n 為時間參數,為目前時間點與事件發生時間點之間的時間間隔。
在上述公式中,f(t 1),f(t 2),...,f(t n )即為快速時間衰減模型,由於用戶的偏好是隨著時間的衰減而衰減的,因此,在本申請案之實施例中,f(t 1),f(t 2),...,f(t n )是隨著變數時間間隔t 1,t 2,...,t n 的增大而遞減的函數,因此,f(t 1),f(t 2),...,f(t n )稱為快速時間衰減模型。而上述公式中的w 1,w 2,...,w n 即為加入的相應的配置規則。
在本申請案實施例的一個較佳實施例中,為了可以靈活配置規則,可以透過載入外掛(例如,由第三方所提供的)的快速時間衰減模型和邏輯規則而對日誌中記錄的資料進行處理。在本較佳實施例中,由於採用的是外掛的快速時間衰減模型和邏輯規則,即時推薦系統可以動態地載入,因此,在需要修改邏輯規則時,可以直接修改第三方所提供的快速時間衰減模型和邏輯規則,在修改後的快速時間衰減模型和邏輯規則生效後,處理器動態地載入,而不需要重新啟動,從而確保了演算法及規則的靈活性。
在本申請案實施例的一個較佳實施方式中,在將獲取的即時資料儲存在即時資料庫中,應用可以透過即時資料庫提供的對外介面,讀取即時資料庫中儲存的即時資料,從而實現相應的應用功能。例如,在圖4中,應用可以透過即時資料庫的對外介面獲取用戶偏好或用戶最近訪問記錄等資料,從而可以實現相應的應用功能。其中,即時資料庫提供的對外介面可以為http介面,由於http介面具有相容性,大多數應用系統都可以透過http介面來訪問即時資料庫,因此,可以面向多種應用,提高了即時資料的利用率。
透過本申請案實施例提供的上述即時資料的獲取方法,利用打點日誌實現即時資料的獲取,不依賴於用戶所使用的用戶端,並且,這種方式分散獲取用戶即時資料,從而可以實現即時資料的分散式獲取;另外,在本申請案之實施例中,可以分散式地處理即時資料,從而提高了系統的反應速度;並且,在本申請案之實施例中,在對即時資料進行處理時,即時資料和歷史資料的結合應用,大大提高了推薦的精準度,提高了用戶體驗;另外,在本申請案之實施例中,即時計算採用外掛的快速時間衰減模型和邏輯規則,確保了演算法和規則的靈活性。
下面以圖5所示的即時資料的獲取流程示意圖為例,對本申請案實施例所提供的即時資料的獲取方法進行說明。
如圖5所示,在本申請案實施例的一個較佳實施例中
,即時資料的獲取方法可以包括以下步驟:步驟S501,在向日誌伺服器寫入日誌檔時,將待寫入的日誌檔即時地輸入至即時推薦系統;步驟S502,即時推薦系統即時地解析輸入的日誌檔,以獲取所述日誌檔中記錄的即時資料;步驟S503,讀取本地儲存的歷史資料,結合本地儲存的歷史資料,而對獲取的即時資料進行處理;步驟S504,將處理得到的即時資料分別儲存到即時資料庫及本地的歷史資料庫中;步驟S505,即時資料庫透過對外介面而向應用即時地輸出即時資料。
透過該較佳實施例,透過從日誌伺服器即時輸出的日誌檔,以獲取即時資料,由於日誌伺服器記錄了用戶的所有用戶行為,從而確保了獲取的即時資料的完整性。並且,在上述較佳實施例中,在對日誌中所記錄的資料進行處理時,結合了本地儲存的歷史資料,從而提高了即時資料處理的準確度,進而確保了即時推薦系統所獲得到的諸如用戶偏好及用戶最近訪問記錄的準確性。
圖6是根據本申請案實施例之即時資料的獲取裝置的結構示意圖,該裝置可以被用來實現本申請案實施例所提供之上述即時資料的獲取方法。
如圖6所示,該裝置主要包括:輸入模組70、獲取模組10和解析模組20。
輸入模組70,用以在向日誌伺服器中寫入日誌時,輸
入目前待寫入的日誌至即時資料系統。
獲取模組10,與輸入模組70相耦合,用以即時地獲取目前輸入的待寫入日誌伺服器的日誌。
例如,在實際應用中,用戶端在訪問某個網路系統時,打點程式獲取用戶的行為資料,透過日誌打點而即時地傳送至日誌伺服器,在向日誌伺服器寫入日誌時,即時地輸出待寫入的日誌至輸入模組70,獲取模組10即時地獲取目前輸入至輸入模組70的日誌。
解析模組20,與獲取模組10相耦合,用以即時地解析日誌伺服器即時輸出的日誌,以獲取該日誌中所記錄的即時資料。
例如,以求職網站為例,當用戶透過某個用戶端來申請該求職網站中所提供的某個職位時,打點程式獲取該用戶的行為資料並傳輸給日誌伺服器,在向日誌伺服器寫入日誌檔時,將目前待寫入的日誌檔即時地輸入到輸入模組70,獲取模組10即時地獲取目前輸入的該日誌檔,解析模組20解析該日誌檔,從中獲取該日誌檔中所記錄的即時資料,以獲得到的即時資料如表1所示。
由於解析模組20所解析得到的即時資料記錄的是與用戶本次操作相關的資訊,為了使解析模組20所獲得到的即時資料更便於利用,可以進一步對解析模組20所獲得到的即時資料進行處理。因此,在本申請案實施例的一
個較佳實施方式中,如圖7所示,該裝置還可以包括:處理模組30,與解析模組20相耦合,用以對所述日誌中所記錄的即時資料進行即時處理,以獲得到所需的即時資料。
例如,為了節省儲存空間,對於解析模組20所獲得到如上述表1所示的即時資料,處理模組30可以對該即時資料進行處理,刪除其中不需要的資料,例如,刪除表1中“other”屬性記錄的資訊。
為了提高系統的反應速度,避免同時處理大量即時資料而導致阻塞,在本申請案實施例的一個較佳實施方式中,如圖8所示,處理模組30可以包括:第一分發單元310和多個處理單元320。其中,第一分發單元310,用以將日誌中記錄的即時資料分發給多個處理單元320中的一個處理單元;處理單元320,與第一分發單元310相耦合,用以對輸入的日誌中所記錄的即時資料進行即時處理。
為了提高即時資料的處理精度,可以將處理單元320所處理得到的即時資料儲存為歷史資料,處理單元320在處理即時資料時,可以結合保存的歷史資料(可以被稱著為後臺資料),對即時資料進行處理。因此,在本申請案實施例的一個較佳實施方式,如圖9所示,該裝置還可以包括:儲存模組40和查詢模組50。其中,儲存模組40,係耦合至多個處理單元320,用以儲存處理單元320進行即時處理得到即時資料;查詢模組50,係耦合至儲存模組40,用以根據來自處理單元320的查詢請求,查詢儲存模
組40中所保存的與日誌中所記錄的即時資料相關聯的歷史資料,並將獲取的歷史資料送回給處理單元320;處理單元320,用以根據查詢模組50送回的歷史資料而對日誌中記錄的即時資料進行即時處理。
例如,處理單元320在處理如表1所示的即時資料時,需要獲取歷史資料庫中所儲存的目前用戶申請的offer_id對應的offer的相關資訊,可以向儲存歷史資料的資料庫發送查詢請求,例如,可以向資料庫發送結構化查詢語言(簡稱為SQL)查詢請求,該查詢請求中攜帶請求查詢的關鍵字,資料庫在接收到該查詢請求後,查詢儲存歷史資料的資料庫,並將查詢結構送回給處理單元320,處理單元320根據這些資訊而對表1所記錄的即時資料進行處理,例如,獲取用戶目前申請的offer的某些特性資訊(例如,工作地點、性質等)與用戶進行關聯。
透過本申請案實施例的上述實施方式,處理單元320可以結合後臺保存的歷史資料,對解析模組20解析得到的即時資料進行處理,從而確保了即時資料處理的精度。
為了避免多個處理單元320同時發送查詢請求,而導致資料擁塞的問題,在本申請案實施例的一個較佳實施方式,可以分散式地查詢處理單元320所請求的資料,因此,在該較佳實施方式中,如圖10所示,查詢模組50可以包括:第二分發單元510和多個查詢單元520。其中,第二分發單元510,用以根據預設的關鍵字,進行雜湊計算,根據雜湊計算結果,將查詢請求分發給與雜湊計算結果
對應的查詢單元;查詢單元520,係耦合至第二分發單元510,用以執行查詢請求對應的查詢任務,將查詢得到的歷史資料送回給處理單元320。
例如,針對上述表1所描述的情況,可以以offer_id為關鍵字,第二分發單元510在接收到處理單元320的查詢請求(該查詢請求中可以攜帶需要查詢的offer_id,即為上述的關鍵字)後,計算Hash(offer_id),然後將查詢請求發送給對應的查詢單元520。例如,假設為10個查詢單元520,Hash(offer_id)所有可能結果的範圍是0~100,則可以將雜湊結果為0~9的查詢請求分配給第一個查詢單元520,將雜湊結果為10~19的查詢請求分配給第一個查詢單元520,以此類推,從而可以使得各個查詢單元的負載盡可能地均衡,分散各個查詢單元的負載壓力,提高系統的反應速度。
需要說明的是,雖然上述較佳實施例以雜湊演算法為例進行說明,但並不限於此,在本申請案實施例的其他實施例中,也可以採用其他的方式來分發從日誌中所解析得到的即時資料,或者,分發查詢請求。例如,如果用戶ID為數位,處理器的數量為10,則可以按照用戶ID與10之商的餘數來分發從日誌中所解析得到的資料,每一個餘數對應一個處理器。
在本申請案實施例的一個較佳實施方式中,為了確保即時資料的處理速度,處理模組30在處理即時資料的處理邏輯可以採用快速時間衰減模型,並加入相應的規則配
置,亦即,處理模組30在對即時資料進行處理時,可以透過載入外掛的快速時間衰減模型和邏輯規則而對即時資料進行處理,從而提高即時資料的處理速度。在本較佳實施例中,由於採用的是外掛的快速時間衰減模型和邏輯規則,即時推薦系統可以動態地載入,因此,在需要修改邏輯規則時,可以直接修改由第三方所提供的快速時間衰減模型和邏輯規則,在修改後的快速時間衰減模型和邏輯規則生效後,處理器動態地載入,而不需要重新啟動,從而確保了演算法及規則的靈活性。
圖11是根據本申請案實施例之即時資料的獲取系統的結構示意圖,如圖11所示,該系統包括:即時資料儲存模組2和本申請案實施例上述的即時資料的獲取裝置4。
其中,即時資料的獲取裝置4可以採用本申請案實施例上述所描述的結構獲取即時資料,即時資料儲存模組2與即時資料的獲取裝置4相耦合,用以儲存即時資料的獲取裝置4得到的即時資料。
在本申請案實施例中,即時資料儲存模組2可以透過多個對外介面向應用提供得到即時資料。其中,即時資料儲存模組2提供的對外介面可以為http介面,由於http介面具有相容性,大多數應用系統都可以透過http介面來訪問即時資料庫,因此,可以面向多種應用,提高了即時資料的利用率。
在具體應用中,即時資料儲存模組2及應用也可以與
上述即時資料的獲取裝置4相結合,組成一個即時資料的應用系統,如圖12所示,根據本申請案實施例的即時資料的應用系統主要包括三大模組:即時資料獲取模組1(相當於上述的獲取模組10和解析模組20)、即時資料處理模組3(相當於上述的處理模組30)及即時結果資料應用模組5(相當於外部應用)。
在圖12中,即時資料獲取模組1透過解析日誌伺服器而即時地產生並輸出的日誌,以獲取與用戶行為相關的即時資料,將該即時資料輸入到即時資料處理模組3,即時資料處理模組3根據實際需要,對輸入的即時資料進行處理,將處理得到的即時結果資料登錄到即時結果資料應用模組5,即時結果資料應用模組5根據輸入的即時結果資料,進行相應的應用,例如,分析用戶的偏好,對用戶進行即時推薦,或者,統計用戶最近的訪問記錄,以判斷用戶是否為欺詐用戶等。
透過本申請案實施例提供的上述方案,利用打點日誌實現即時資料的獲取,不依賴於用戶所使用的用戶端,並且,這種方式分散獲取用戶即時資料,從而可以實現即時資料的分散式獲取;另外,在本申請案實施例,可以分散式處理即時資料,從而提高了系統的反應速度;並且,在本申請案之實施例中,在對即時資料進行處理時,即時資料和歷史資料的結合應用,大大提高了推薦的精準度,提高了用戶體驗;另外,在本申請案之實施例中,即時計算採用外掛的快速時間衰減模型和邏輯規則,確保了演算法
和規則的靈活性。
本說明書中的各個實施例均採用漸進的方式描述,各個實施例之間相同相似的部分互相參見即可,每一個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組電腦可執行指令的電腦系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。
顯然,本領域的技術人員應該明白,上述的本申請案的各模組或各步驟可以用通用的計算裝置來予以實現,它們可以被集中在單一的計算裝置上,或者被分佈在由多個計算裝置所組成的網路上,可選地,它們可以用計算裝置可執行的程式碼來予以實現,從而,可以將它們儲存在儲存裝置中由計算裝置來予以執行,或者將它們分別製作成各個積體電路模組,或者將它們中的多個模組或步驟製作成單一個積體電路模組來予以實現。這樣,本申請案不限制於任何特定的硬體和軟體結合。
以上所述僅為本申請案的較佳實施例而已,並不用於限制本申請案,對於本領域的技術人員來說,本申請案可以有各種更改和變化。凡在本申請案的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請
案的保護範圍之內。
10‧‧‧獲取模組
20‧‧‧解析模組
30‧‧‧處理模組
40‧‧‧查詢儲存模組
50‧‧‧查詢模組
70‧‧‧輸入模組
310‧‧‧第一分發單元
320‧‧‧處理單元
510‧‧‧第二分發單元
520‧‧‧查詢單元
1‧‧‧即時資料獲取模組
2‧‧‧即時資料儲存模組
3‧‧‧即時資料處理模組
4‧‧‧即時資料的獲取裝置
5‧‧‧即時結果資料應用模組
構成本申請案的一部分的附圖用來提供對本申請案的進一步理解,本申請案的示意性實施例及其說明用來解釋本申請案,並不構成對本申請案的不當限定。在附圖中:圖1是根據本申請案實施例之即時資料的獲取方法的流程圖;圖2是根據本申請案較佳實施例之日誌伺服器即時輸出日誌的示意圖;圖3是根據本申請案較佳實施例之即時資料的獲取方法的流程圖;圖4是根據本申請案較佳實施例之分佈處理的示意圖;圖5是根據本申請案之即時資料的獲取流程示意圖;圖6是根據本申請案實施例之即時資料的獲取裝置的結構示意圖;圖7是根據本申請案較佳實施例之即時資料的獲取裝置的結構示意圖;圖8是根據本申請案另一較佳實施例之即時資料的獲取裝置的結構示意圖;圖9是根據本申請案又一較佳實施例之即時資料的獲取裝置的結構示意圖;圖10是根據本申請案又一較佳實施例之即時資料的
獲取裝置中查詢模組的結構示意圖;圖11是根據本申請案實施例之即時資料的獲取系統的結構示意圖;以及圖12是根據本申請案實施例之即時資料的應用系統的結構示意圖。
Claims (15)
- 一種即時資料的獲取方法,其特徵在於,包括:在向日誌伺服器中寫入日誌時,向即時資料系統輸入目前待寫入的日誌;該即時資料系統即時地獲取目前輸入的該待寫入的日誌;以及該即時資料系統即時地解析該待寫入的日誌,以獲取該日誌中所記錄的即時資料。
- 根據申請專利範圍第1項所述的方法,其中,在向日誌伺服器中寫入日誌之前,該方法還包括:用戶端的日誌程式即時地獲取用戶行為資料,將該用戶行為資料作為該待寫入的日誌而傳送到該日誌伺服器。
- 根據申請專利範圍第1項所述的方法,其中,在獲取該日誌中記錄的即時資料之後,該方法還包括:對該日誌中所記錄的資料進行即時處理,以獲得到所需的即時資料。
- 根據申請專利範圍第3項所述的方法,其中,對該日誌中所記錄的即時資料進行即時處理包括:將該日誌中所記錄的資料分發給多個處理器中的一個處理器,該處理器對該日誌中所記錄的即時資料進行即時處理,然後保存處理得到的該即時資料。
- 根據申請專利範圍第4項所述的方法,其中,將該日誌中所記錄的即時資料分發給多個處理器中的一個處理器包括: 以該日誌中所記錄的一個屬性值為關鍵字,進行雜湊(hash)計算;以及根據預先設定的對應關係,將該日誌中所記錄的即時資料分發給與雜湊計算所獲得到的結果對應的處理器。
- 根據申請專利範圍第4或5項所述的方法,其中,該處理器對該日誌中所記錄的即時資料進行即時處理包括:該處理器查詢保存的歷史資料,獲取與該日誌中所記錄的即時資料相關聯的歷史資料;以及該處理器根據獲取的該歷史資料,對該日誌中所記錄的即時資料進行處理。
- 根據申請專利範圍第6項所述的方法,其中,該處理器查詢保存的歷史資料包括:該處理器向保存該歷史資料的儲存模組發送查詢請求,其中,該查詢請求中攜帶請求查詢內容的關鍵字;根據該關鍵字,進行雜湊計算,根據雜湊計算結果,將該查詢請求分發給與該雜湊計算結果對應的查詢單元;以及該查詢單元查詢保存的該歷史資料,將查詢到的該歷史資料送回給該處理器。
- 根據申請專利範圍第3至5項中任一項所述的方法,其中,對該日誌中所記錄的即時資料進行即時處理包括: 載入外掛的快速時間衰減模型和邏輯規則而對該日誌中所記錄的即時資料進行即時處理。
- 一種即時資料的獲取裝置,其特徵在於,包括:輸入模組,用以接收在向日誌伺服器中寫入日誌時輸入即時資料系統的目前待寫入的日誌;獲取模組,用以即時地獲取目前輸入的該待寫入的日誌;以及解析模組,用以即時地解析該待寫入的日誌,獲取該日誌中所記錄的即時資料。
- 根據申請專利範圍第9項所述的裝置,其中,該裝置還包括:處理模組,用以對該日誌中所記錄的即時資料進行即時處理,以獲得到所需的即時資料。
- 根據申請專利範圍第10項所述的裝置,其中,該處理模組包括:第一分發單元,用以將該日誌中所記錄的即時資料分發給多個該處理單元中的一個該處理單元;以及處理單元,用以對輸入的該日誌中所記錄的即時資料進行即時處理。
- 根據申請專利範圍第11項所述的裝置,其中,該裝置還包括:儲存模組,用以儲存該處理單元進行即時處理後所獲得到的即時資料; 查詢模組,用以根據來自該處理單元的查詢請求,查詢該儲存模組中所保存的與該日誌中所記錄的即時資料相關聯的歷史資料,並將獲取的該歷史資料送回給該處理單元;以及該處理單元還用以根據該查詢模組所送回的該歷史資料而對該日誌中所記錄的即時資料進行即時處理。
- 根據申請專利範圍第12項所述的裝置,其中,該查詢模組包括:第二分發單元和多個查詢單元,其中,該第二分發單元,用以根據預設的關鍵字,進行雜湊計算,根據雜湊計算結果,將該查詢請求分發給與該雜湊計算結果對應的查詢單元;該查詢單元,用以執行該查詢請求對應的查詢任務,將查詢得到的該歷史資料送回給該處理單元。
- 根據申請專利範圍第10至13項中任一項所述的裝置,其中,該處理模組用以載入外掛的快速時間衰減模型和邏輯規則而對該日誌中所記錄的即時資料進行即時處理。
- 一種即時資料的獲取系統,其特徵在於,包括:即時資料儲存模組和根據申請專利範圍第9至14項中任一項所述的即時資料的獲取裝置,其中,該即時資料儲存模組用以儲存該獲取裝置所獲得到的即時資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104153464A CN103164434A (zh) | 2011-12-13 | 2011-12-13 | 实时数据的获取方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201324211A true TW201324211A (zh) | 2013-06-16 |
Family
ID=48587528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101107349A TW201324211A (zh) | 2011-12-13 | 2012-03-05 | 即時資料的獲取方法、裝置及系統 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103164434A (zh) |
TW (1) | TW201324211A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942707B8 (zh) * | 2014-04-08 | 2018-06-29 | 璧合科技股份有限公司 | 基于实时竞价的广告效果优化系统 |
CN104283719A (zh) * | 2014-10-28 | 2015-01-14 | 北京国双科技有限公司 | 一种日志的处理方法、装置及服务器 |
CN107203518A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 在线系统个性化推荐的方法、系统以及装置、电子设备 |
CN106534980B (zh) * | 2016-11-15 | 2019-12-06 | 广州华多网络科技有限公司 | 音频处理系统的异常检测方法、日志记录方法及装置 |
CN106599107A (zh) * | 2016-11-28 | 2017-04-26 | 北京小米移动软件有限公司 | 获得用户行为的方法、装置及服务器 |
CN107205019B (zh) * | 2017-05-04 | 2020-08-07 | 聚好看科技股份有限公司 | 用户行为数据清理方法及装置 |
CN107295088B (zh) * | 2017-06-29 | 2020-04-10 | 广东神马搜索科技有限公司 | 打点信息监测方法、装置及客户端 |
CN107577587A (zh) * | 2017-08-28 | 2018-01-12 | 江西博瑞彤芸科技有限公司 | 积分报表的生成方法 |
CN112579408A (zh) * | 2020-10-29 | 2021-03-30 | 上海钱拓网络技术有限公司 | 一种埋点信息的分类方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1150717C (zh) * | 2001-06-21 | 2004-05-19 | 华为技术有限公司 | 综合网管设备日志管理系统 |
US20060117091A1 (en) * | 2004-11-30 | 2006-06-01 | Justin Antony M | Data logging to a database |
CN100502353C (zh) * | 2005-09-22 | 2009-06-17 | 中兴通讯股份有限公司 | 信令流分发方法及信令分发处理单元 |
CA2569165A1 (en) * | 2006-12-20 | 2007-03-01 | Onestop Media Group | Adaptive advertisements and adaptive advertising distribution system |
CN101291259B (zh) * | 2007-04-18 | 2011-01-26 | 阿里巴巴集团控股有限公司 | 一种用于监控网站访客地理位置和访问状态的系统及方法 |
CN101246438A (zh) * | 2008-03-07 | 2008-08-20 | 中兴通讯股份有限公司 | 一种对称多处理系统中进程与中断的处理方法及装置 |
EP2348444B1 (en) * | 2009-12-16 | 2014-03-19 | Nxp B.V. | Data processing apparatus |
-
2011
- 2011-12-13 CN CN2011104153464A patent/CN103164434A/zh active Pending
-
2012
- 2012-03-05 TW TW101107349A patent/TW201324211A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN103164434A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201324211A (zh) | 即時資料的獲取方法、裝置及系統 | |
US11870841B2 (en) | System and method for constructing content site visitor profiles | |
US11140233B2 (en) | System and method for separating content site visitor profiles | |
US11379475B2 (en) | Analyzing tags associated with high-latency and error spans for instrumented software | |
US11775501B2 (en) | Trace and span sampling and analysis for instrumented software | |
US20140278939A1 (en) | Advertisement extraction device and advertisement extraction method | |
WO2011103579A2 (en) | Operating on time sequences of data | |
JP2012009014A (ja) | ウェブサイトの影響をランク付けする方法、装置、及び製品 | |
US11157492B2 (en) | Generic scheduling | |
US20240022642A1 (en) | System and method for separating content site visitor profiles | |
US20120166412A1 (en) | Super-clustering for efficient information extraction | |
US11551281B2 (en) | Recommendation engine based on optimized combination of recommendation algorithms | |
US10491606B2 (en) | Method and apparatus for providing website authentication data for search engine | |
JP6329015B2 (ja) | 広告配信サーバ | |
JP5712278B2 (ja) | コンテンツ配信装置 | |
US11968185B2 (en) | On-device experimentation | |
JP6382139B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
Shinde et al. | A Specialized Log Analysis Engine in Distributed Environment |