TWI765692B - 收集與驗證網路交通數據之系統以及方法 - Google Patents

收集與驗證網路交通數據之系統以及方法 Download PDF

Info

Publication number
TWI765692B
TWI765692B TW110115996A TW110115996A TWI765692B TW I765692 B TWI765692 B TW I765692B TW 110115996 A TW110115996 A TW 110115996A TW 110115996 A TW110115996 A TW 110115996A TW I765692 B TWI765692 B TW I765692B
Authority
TW
Taiwan
Prior art keywords
data
format
log data
log
predetermined
Prior art date
Application number
TW110115996A
Other languages
English (en)
Other versions
TW202131203A (zh
Inventor
沛強 常
岩 譚
金重勳
安炳鉉
朴泰旻
Original Assignee
南韓商韓領有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商韓領有限公司 filed Critical 南韓商韓領有限公司
Publication of TW202131203A publication Critical patent/TW202131203A/zh
Application granted granted Critical
Publication of TWI765692B publication Critical patent/TWI765692B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/908Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

收集與驗證網路交通數據之方法、裝置以及系統包括:接收預處理日誌數據,所述預處理日誌數據代表與數據服務進行交作的元件的活動;根據預定格式來驗證預處理日誌數據,所述格式包括指示預定數據類型的欄位及指示與預定數據類型相關聯的預定驗證條件的欄位;以及產生與經驗證的預處理日誌數據相關聯的元數據。

Description

收集與驗證網路交通數據之系統以及方法
本揭露大體而言是有關於處理與管理網路交通數據。具體而言,本揭露的實施例是有關於創新性及非傳統系統,所述創新性及非傳統系統用於在多使用者環境中對數據服務的網路交通數據進行近即時(near-realtime)處理與管理。
數據科學(data science)已被廣泛用於自顧客行為所產生的大量數據提出見解,以驅動商業決策。舉例而言,在電子商務(「electronic commerce,e-commerce」)中,商家使用數據科學來分析顧客的線上活動以預測顧客行為及偏好,此使商家能夠為採購、銷售、存貨、運輸、派送及商業過程中的其他態樣製定策略。顧客的線上活動的主要來源之一是網路交通數據,例如使用元件(例如,電腦或智慧型電話)造訪網路數據服務(例如,網站或行動應用)的個體的日誌數據。在許多情境中,網路交通數據可作為記錄有用資訊的字符串(例如,統一資源辨識符(uniform resource identifier)或「URI」)被收集,有用資訊代表與數據服務進行交作的顧客。分析員可使用收集的網路交通數據實行分析。
網路交通數據收集與分析的一些既有解決方案不適於不同格式的日誌數據。對於該些解決方案,日誌數據格式的統一改變可能會導致下游分析中的不準確度。另外,該些解決方案不可充分客製以收集日誌數據的各種類型及結構。分析員可能要求日誌數據的不同格式及內容,或者需要忽視或不再使用日誌數據的一些格式或內容。然而,該些既有解決方案缺乏此種能力,此可能導致同一日誌數據中的重複資訊。此外,該些解決方案可能不能對日誌數據的正確性(例如要求的格式或要求的數據類型)進行驗證。當日誌數據被毀壞時,該些解決方案可能不能偵測出並通知日誌數據分析員。
因此,需要對網路交通數據進行動態、可客製及近即時收集與驗證。
本揭露的一個態樣是有關於一種收集與驗證網路交通數據之系統。所述系統包括:記憶體,儲存指令;以及至少一個處理器,被配置以執行所述指令以:接收預處理日誌數據,所述預處理日誌數據代表與數據服務進行交作的元件的活動;根據預定格式來驗證所述預處理日誌數據,所述格式包括指示預定數據類型的欄位及指示與所述預定數據類型相關聯的預定驗證條件的欄位;以及產生與經驗證的所述預處理日誌數據相關聯的元數據。
本揭露的另一態樣是有關於一種由電腦實施的收集與驗證網路交通數據之方法。所述由電腦實施的方法包括:藉由剖析日誌數據並判斷經剖析的所述日誌數據是否為預定數據格式來對所述日誌數據進行預處理;基於判斷出經剖析的所述日誌數據為所述預定數據格式,根據預定格式來驗證所述預處理日誌數據;以及基於判斷出經剖析的所述日誌數據不為所述預定數據格式,產生用於指示預處理錯誤的警報數據。
本揭露的又一態樣是有關於一種收集與驗證網路交通數據之系統。所述系統包括:記憶體,儲存指令;以及至少一個處理器,被配置以執行所述指令以:因應於接收到用於創建驗證格式的格式配置數據,創建與指示第一狀態的指示符相關聯的所述驗證格式,所述驗證格式包括指示預定數據類型的欄位及指示與所述預定數據類型相關聯的預定驗證條件的欄位;因應於辨識出所述第一狀態,在測試環境中根據所述驗證格式來驗證測試日誌數據;基於判斷出在驗證所述測試日誌數據時未辨識出錯誤,將所述指示符更新成指示第二狀態;接收日誌數據,所述日誌數據代表在生產環境中與數據服務進行交作的元件的活動;藉由剖析所述日誌數據並判斷經剖析的所述日誌數據是否為所述驗證格式而對所述日誌數據進行預處理;基於判斷出經剖析的所述日誌數據不為所述驗證格式,產生用於指示預處理錯誤的警報數據;基於判斷出經剖析的所述日誌數據為所述驗證格式,因應於辨識出所述第二狀態而根據所述驗證格式來驗證所述預處理日誌數據;以及產生與經驗證的預處理日誌數據相關聯的元數據,所述元數據包括經驗證的所述預處理日誌數據的辨識符或對產生所述元數據進行指示的時間中的至少一者。
本文中亦對其他系統、方法及電腦可讀取媒體進行論述。
以下詳細說明參照附圖。在圖式及以下說明中盡可能使用相同的參考編號來指代相同或相似的部件。儘管本文中闡述了若干例示性實施例,然而可具有各種修改、調整及其他實施例。舉例而言,可對圖中示出的組件及步驟進行替換、添加或修改,且可藉由對所揭露的方法的步驟進行替換、重新排序、移除或添加來修改本文中闡述的例示性方法。因此,以下詳細說明並非僅限於所揭露的實施例及實例。相反,本發明的正確範圍由隨附的申請專利範圍來界定。
本揭露的實施例是有關於被配置以對網路交通數據進行收集、驗證與路由之系統、裝置以及方法。根據本文中所揭露的實施例,一種系統可在多使用者環境中提供近即時(例如,平均等待時間為約1秒)網路交通數據收集、驗證與路由。藉由使用與系統進行通訊的不同使用者元件,工程師、產品自有者、企業分析員或數據服務提供者的數據科學家可對網路交通數據進行收集及分析。網路交通數據可以客製的格式及結構而被收集,且接著在被用於進行分析之前被驗證。驗證可確保數據的準確度並滿足動態及客製需要。
根據本文中所揭露的實施例,所述系統可使使用者(例如,分析員)能夠產生並更新各種格式(或被稱為「綱目(schema)」),以收集與驗證網絡交通數據(例如,日誌數據)。在一些實施例中,此種格式可儲存於系統(例如,元數據儲存器)中,以根據不同的使用者需求進行檢索。在一些實施例中,所述系統可更提供供使用者產生或更新格式的使用者介面(例如,網頁)。當使用者在使用者介面中輸入或更新一或多個參數時,所述系統可自動將該些參數轉換成代表所述格式的特定程式代碼。程式代碼可儲存於系統(例如,元數據儲存器)中。在一些實施例中,所述系統可更提供供使用者查找、查詢或過濾特定格式的搜尋特徵。在一些實施例中,所述系統可更提供供使用者元件預訂由與系統進行通訊的另一使用者元件創建的格式的預訂特徵,進而使在不同使用者之間使用的格式的知識同步,以輔助分析合作。
在一些實施例中,所述系統可更提供測試環境及生產環境。測試環境與生產環境可具有相似的電腦硬體及軟體配置。然而,測試環境可用於開發及測試新格式,且生產環境可用於網絡交通數據的實際收集、處理、驗證及路由。
在一些實施例中,所述系統可更提供警告特徵,所述警告特徵可產生警告並在系統的操作期間發生錯誤時(例如當驗證未通過時)將警告發送至使用者元件。在一些實施例中,所述系統可更提供報告特徵,所述報告特徵可產生關於日誌數據使用的度量的報告並將所述報告發送至一組使用者的使用者元件。
參照圖1,其示出示意圖,所述示意圖例示出收集與驗證網絡交通數據之系統的示例性實施例。如圖1中所示,系統100可包括各種系統,所述各種系統中的每一者可經由一或多個網路彼此連接。所述系統亦可經由直接連接(例如,使用有線網絡或無線網絡)彼此連接。所繪示的系統包括日誌數據收集器102、日誌數據串流器(log data streamer)104、日誌數據驗證器106、控制器108及日誌數據儲存器110。日誌數據收集器102、日誌數據串流器104、日誌數據驗證器106、控制器108及日誌數據儲存器110中的任意者皆可被實施為計算裝置、在一或多個計算裝置上運作的軟體模組或仿真計算裝置(例如,虛擬機器)。仿真電腦裝置可包括硬體(例如,處理器、記憶體、儲存元件)與軟體(例如,對硬體進行整合的作業系統)的任意組合,所述仿真電腦裝置可提供實體電腦的功能。在一些實施例中,系統100可在虛擬私用雲端(virtual private cloud,VPC)中代管子系統。
在一些實施例中,系統100的組件102、104、106、108、110的任意組合皆可被實施為單獨的電腦或電腦叢集。在一些實施例中,組件102、104、106、108、110的任意組合皆可被實施為在電腦或電腦叢集上運作的軟體模組。在一些實施例中,組件102、104、106、108、110的任意組合皆可被實施為仿真計算裝置。在一些實施例中,組件102、104、106、108、110可被實施為任意數目的電腦、軟體模組及仿真計算裝置的任意組合。在一些實施例中,組件102、104、106、108、110可被實施為包括分佈於不同地理區域中的內連電腦的分佈式電腦系統。
在一些實施例中,日誌數據收集器102可被實施為電腦系統,所述電腦系統接收代表與數據服務(例如,網站或行動應用伺服器)進行交作(例如,造訪)的元件(例如,電腦或行動元件)的活動的日誌數據。日誌數據收集器102可包括可獨立地接收日誌數據的多個電腦系統。舉例而言,日誌數據可代表經由與行動應用伺服器進行交作的個體的行動元件(例如,智慧型手機或平板電腦)上的應用進行的購買活動。另舉例而言,日誌數據可代表經由與網站進行交作的個體的電腦上的瀏覽器進行的瀏覽活動。在一些實施例中,日誌數據可為記錄對活動進行繪示的資訊的URI,例如網際網路協定(Internet Protocol,IP)位址、元件辨識符(例如,媒體存取控制(media access control,MAC)位址或國際行動設備辨識(International Mobile Equipment Identify,IMEI)號碼)、行動應用或瀏覽器的版本號碼、行動應用或瀏覽器的名稱、行動應用或瀏覽器的語言、行動元件或電腦的作業系統的名稱、作業系統的版本號碼、作業系統的時間、個體的位置、被查看頁面(例如,產品頁面)的辨識符、被查看物項(例如,產品)的辨識符、被查看物項的供應商的辨識符(例如,商家的名稱)、被查看物項的價格、個體輸入的搜尋用語、搜尋結果中頁面的等級、顧客查看頁面或物項的持續時間或者任何其他對預測顧客行為有用的有用資訊。
在一些實施例中,日誌數據收集器102可經由超文本傳輸協定(Hypertext Transfer Protocol,HTTP)協定接收日誌數據。在一些實施例中,系統100的使用者元件(例如,使用者元件112)可提供用於將日誌數據輸入至日誌數據收集器102中的軟體開發套件(software development kit,SDK)。在一些實施例中,使用者元件可為桌上型電腦(desktop computer)、膝上型電腦(laptop computer)、行動元件、工作站(workstation)或可提供自系統100的使用者(例如,數據分析員或開發者)輸入或輸出資訊的介面的任何計算元件。SDK可提供對將由日誌數據收集器102的內部計算元件接收的傳入外部日誌數據(例如,來自網站或行動應用伺服器)進行反串列化(deserialize)、驗證或量測的介面。在一些實施例中,SDK可提供使用由控制器108提供的規範(例如,日誌格式)來對傳入外部日誌數據進行反串列化、驗證或測量的介面。
在一些實施例中,日誌數據串流器104可被實施為對系統100的數據流進行管理的電腦系統。日誌數據串流器104可將日誌數據收集器102接收的日誌數據轉送至日誌數據驗證器106且接收經驗證的日誌數據並將經驗證的日誌數據轉送至日誌數據儲存器110。舉例而言,日誌數據串流器104可使用路由表(routing table)來維護用於發送及接收日誌數據的目的地伺服器的IP位址。在一些實施例中,日誌數據串流器104亦可用作數據緩衝器,所述數據緩衝器可使系統100中的數據的輸入/輸出(input/output,I/O)速率均衡。舉例而言,在尖峰時段期間,網路交通可為重的,且日誌數據輸入可為叢發的。日誌數據串流器104可控制系統100的輸入/輸出速率並使系統100的輸入/輸出速率平衡,以達成效能平衡。
在一些實施例中,日誌數據驗證器106可被實施為自日誌數據串流器104接收日誌數據且根據控制器108提供的日誌格式來驗證日誌數據的電腦系統。若日誌數據通過驗證,則日誌數據驗證器106可將經驗證的日誌數據發送返回至日誌數據串流器104。否則,日誌數據驗證器106可將代表驗證錯誤的警報發送至系統100的使用者元件(例如使用者元件112及使用者元件114)。在一些實施例中,日誌數據驗證器可能夠並行處理大量數據。
在一些實施例中,控制器108可被實施為接收並儲存創建的日誌格式或經更新的日誌格式且為日誌數據收集器102及日誌數據驗證器106提供日誌格式的電腦系統。在一些實施例中,日誌格式可為包括日誌數據的數據類型及每一數據類型的許可內容的格式,所述日誌格式可由系統100的使用者出於特定目的而請求。舉例而言,數據分析員可使用使用者元件114來分析與電子商務網站進行交作的個體的顧客行為。使用者元件114可供希望排除由非人類(例如,由網路蜘蛛(web crawler)電腦程式或由駭客(hacker)軟體)產生的日誌數據的數據分析員使用。數據分析員可使用使用者元件114來界定日誌數據的數據類型及每一數據類型的許可內容,使得該些數據類型及許可內容很可能由真正的人類產生。舉例而言,數據分析員可使用使用者元件114輸入日誌數據必須包括瀏覽器的名稱及版本的要求。使用者元件114可提供自儲存於控制器108中的日誌格式搜尋、查看及選擇可滿足分析的需要的日誌格式的介面。日誌數據格式可由系統100的使用者創建,例如藉由使用使用者元件112創建。使用者元件112可提供創建日誌格式並將日誌格式發送至控制器108的介面,控制器108可儲存日誌格式以供後續使用。
在一些實施例中,日誌格式可被實施為表示法格式,例如JavaScript物件表示法(JavaScript object notation,JSON)格式。所述格式可包括或界定一或多個數據欄位。數據欄位可指定數據類型及數據類型中的許可內容。舉例而言,數據類型可為字符串類型(character string type)、整數類型、實數類型、布林類型(Boolean type)或任何電腦可讀取數據類型。所述一或多個數據欄位可包括不同的數據類型。許可內容可根據分析需求來設定且可為無限制的或者限於預定選擇。舉例而言,若數據類型是字符串類型,則許可內容可不容許不可顯示的字符。另舉例而言,若數據類型是整數類型或實數類型,則許可內容可被限制於數字範圍內。在一些實施例中,日誌格式中的數據類型的許可內容可用於配置與數據類型相關聯的驗證條件,所述驗證條件可被日誌數據收集器102及日誌數據驗證器106使用。在一些實施例中,日誌格式可包括強制數據欄位及可選數據欄位。強制數據欄位可代表由創建日誌格式的使用者指定為驗證日誌數據所要求的數據欄位。可選數據欄位可代表由創建日誌格式的使用者指定為可選的數據欄位。日誌數據的特定分析可能要求強制數據欄位。可選數據欄位可能不是必須的,但可能是對日誌數據的特定分析有用的。
在一些實施例中,日誌數據收集器102可自控制器108接收日誌格式並使用日誌格式來篩選所接收的日誌數據。舉例而言,若日誌格式是JSON,則當接收到日誌數據時,日誌數據收集器102可對日誌數據進行剖析以判斷所述日誌數據是否為JSON格式。若經剖析的日誌數據符合JSON格式,則經剖析的日誌數據可被接受並被轉送至日誌數據串流器104。否則,經剖析的日誌數據可被丟棄。在一些實施例中,若經剖析的數據符合JSON格式,則日誌數據收集器102可進一步在接受經剖析的日誌數據之前實行初步驗證。日誌數據收集器102可偵測經剖析的日誌數據的一些數據欄位是否滿足初步驗證條件。舉例而言,日誌數據收集器102可判斷經剖析的日誌數據是否包括代表IP位址的數據欄位,且若日誌數據包括代表IP位址的數據欄位,則判斷數據欄位的內容是否包括代表有效IP位址(例如,IPv4位址)的數據。若數據欄位的內容包括代表有效IP位址(例如,IPv4位址)的數據,則可接受經剖析的日誌數據。否則,經剖析的日誌數據可被丟棄。舉例而言,可使用IP位址驗證條件來區分網路交通是來自人類亦或是來自駭客軟體。若網路交通來自駭客軟體,則經剖析的日誌數據可能不包括代表IP位址的欄位,或者所述欄位可能不包含代表有效IP位址的內容。藉由實行初步驗證,日誌數據收集器102可篩選分析員所需的目標日誌數據。在一些實施例中,初步驗證的過程可被標準化為傳輸協定,且可藉由要求日誌數據收集器102的傳入通訊來遵守傳輸協定來實行初步驗證。在一些實施例中,在丟棄未被接受的經剖析的日誌數據之後,日誌數據收集器102可向系統100的使用者元件發送指示剖析錯誤的警報。
在一些實施例中,日誌數據驗證器106可自控制器108接收日誌格式且使用日誌格式來驗證自日誌數據串流器104接收的經剖析的日誌數據。舉例而言,經剖析的日誌數據可包括不同的數據欄位(例如瀏覽器名稱、瀏覽器版本、元件辨識符(identifier,ID)、語言環境設定),或者日誌數據可代表瀏覽活動。日誌數據驗證器106可使用日誌格式來判斷經剖析的數據是否具有日誌格式所要求的數據部分。舉例而言,若日誌格式要求指示操作系統的類型的欄位,且經剖析的日誌數據不包括代表任何作業系統的任何類型的數據部分,則經剖析的日誌數據未通過驗證。若經剖析的數據具有日誌格式所要求的所有數據部分,則日誌數據驗證器106可進一步判斷數據部分的內容是否皆滿足與日誌格式的相應的數據類型相關聯的驗證條件。舉例而言,若經剖析的日誌數據包括代表操作系統的類型的數據部分,且驗證條件為作業系統的類型必須是安卓(Android)®或iOS®,則若數據部分包括代表視窗(Windows)®作業系統類型的內容,則經剖析的日誌數據未通過驗證。另舉例而言,若經剖析的日誌數據包括代表***號碼的數據部分,且驗證條件為***號碼的類型必須是整數,則若數據部分包括字母字符,則經剖析的日誌數據未通過驗證。使用驗證條件可使日誌數據的分析員能夠選擇特定類型的數據。在前面的實例中,分析員可能僅對使用行動元件的顧客感興趣,而對任何使用電腦的顧客不感興趣,則分析員可創建包括以下驗證條件的日誌格式:所述驗證條件要求日誌格式的欄位所指示的作業系統類型為安卓®或iOS®,以滿足該目的。
在一些實施例中,日誌數據儲存器110可被實施為自日誌數據串流器104接收並儲存經驗證的日誌數據的電腦系統。在一些實施例中,日誌數據儲存器110可包括使用不同的儲存架構的一或多個子系統,例如檔案儲存子系統、物件儲存子系統或區塊儲存子系統。在一些實施例中,日誌數據儲存器110可包括一或多個數據庫或數據倉庫。當分析日誌數據時,可自使用者元件的日誌數據儲存器110檢索日誌數據。
在一些實施例中,系統100可提供供系統100的使用者創建、更新、搜尋、查看或選擇日誌格式的使用者介面。使用者介面可被實施為基於網路的配置頁面。使用者元件可造訪配置頁面並為使用者將配置頁面顯示為網頁。舉例而言,使用者元件112可為系統100的使用者顯示配置頁面以界定日誌格式的細節,且控制器108可使用自使用者元件112接收的輸入來產生代表格式的電腦可讀取表示法代碼。
圖2是與所揭露的實施例一致的對系統100提供的日誌格式進行配置的使用者介面200的示例圖。作為實例,圖2中的使用者介面200用於接收日誌配置數據以創建新的日誌格式。使用者介面200亦可用於更新既有的日誌格式。在一些實施例中,可基於另一日誌格式(被稱為「父日誌格式(parent log format)」)來創建新的日誌格式。舉例而言,使用者可搜尋父日誌格式、更新父日誌格式,接著將父日誌格式保存為新格式。父日誌格式可為模板日誌格式。
在圖2中,使用者介面200可被實施為基於網路的配置頁面。在一些實施例中,配置頁面可由使用者元件(例如,使用者元件112或使用者元件114)顯示,且自使用者元件接收的輸入可經由使用者介面200而被發送至控制器108,以產生或更新日誌格式。使用者介面200的每一列代表日誌格式中的數據欄位。日誌配置數據的參數可為每一列的輸入。行「名稱(Name)」示出供使用者為數據欄位界定名稱的位置。行「數據類型(DataType)」示出供使用者自列表選擇與數據欄位相關聯的數據類型(例如整數、串或布林)的位置。行「平台(Platform)」示出供使用者指定此數據欄位將被應用至的元件的作業系統的位置。行「Req」示出供使用者選擇數據欄位在日誌格式中是強制的亦或是可選的位置。舉例而言,若對此行的檢查框(checkBox)進行檢查,則數據欄位是強制的。否則,數據欄位是可選的。行「Abst」示出供使用者將數據欄位指定為模板的位置。行「驗證(Validation)」示出供使用者界定驗證條件的位置。此行中的頂部選擇列表可用於限制數據欄位的內容的範圍。舉例而言,「無(none)」可用於配置任何種類的內容可被接受來對對應的數據欄位進行驗證。另舉例而言,「常數(constant)」可用於配置可被接受用於對對應的數據欄位進行驗證的唯一值。另舉例而言,「…中的一者(one of)」可用於配置自預定值列表選擇的可被接受來對對應的數據欄位進行驗證的唯一內容。此行的底部***框可用於指定數據欄位的許可內容。若頂部選擇列表被選擇為「無」,則底部***框可留空白。若頂部選擇列表被選擇為「…中的一者」,則底部***框可用於輸入預定值列表,例如第四列中的「a、b、c、d」。行「註解(Comments)」示出供使用者***簡要闡釋或與數據欄位相關的任何資訊的位置。
在一些實施例中,當使用者將所有期望的參數輸入至使用者介面200中時,使用者可保存新創建的日誌格式,且系統100可使用輸入的參數產生表示法格式檔案(例如,JSON檔案)。在一些實施例中,使用者可在使用者介面200中打開既有的日誌格式,且改變任何參數的任何值,接著更新日誌格式。在一些實施例中,使用者可刪除使用者介面200中的既有的日誌格式。
圖3是與所揭露的實施例一致的在圖1所示系統中使用的示例性計算裝置的圖解式例示。圖3示出耦合至網路310的四個電腦302A至302D。應理解,系統100中可包括任意數目的與電腦302A至302D相似的電腦。圖3亦例示出兩個仿真電腦312、314。仿真電腦312、314可為虛擬機器。仿真電腦312包括電腦302A與電腦302D的組合且提供實體電腦的功能。仿真電腦314包括電腦302B的組件與電腦302C的組件(即處理器306B、記憶體308B及數據庫304C)的組合且提供實體電腦的功能。仿真電腦312、314的組件可經由網路310彼此耦合。在一些實施例中,可對仿真電腦312、314的組件進行動態改變,例如添加、移除、替換或調節所包括的組件的能力。舉例而言,可對仿真電腦314進行動態調節以包括處理器306C,進而提高處理能力。另舉例而言,可對仿真電腦312進行動態調節以移除數據庫304A,進而為系統100中的其他電腦提供額外的儲存空間。
在一些實施例中,日誌數據收集器102、日誌數據串流器104、日誌數據驗證器106、控制器108及日誌數據儲存器110可被實施為以下任意數目軟體模組的任意組合:在電腦302A至302D或仿真電腦312、314上運作的軟體模組;專用硬體裝置,例如電腦302A至302D;或者專用仿真裝置,例如仿真電腦312、314。電腦302A至302D可以分別包括數據庫304A至304D。除非另有明確說明,否則為便於闡釋而不引起歧義,使用電腦302A作為實例來闡述電腦302A至302D的配置。
電腦302A包括數據庫304A、處理器306A及記憶體308A。記憶體308A可儲存可由處理器306A執行的指令,以實施用於收集與驗證網路交通數據的過程或程序。數據庫304A可被實施為儲存於一或多個本地電腦或遠程電腦或者分佈式電腦系統中且可由其他電腦存取的任何形式的結構化數據的集合。
處理器306A可為能夠操縱或處理資訊的一般電子元件或特定電子元件。舉例而言,處理器306A可包括以下任意數目處理器的任意組合:中央處理單元(central processing unit)(或「CPU」)、圖形處理單元(graphics processing unit)(或「GPU」)、光處理器(optical processor)、可程式化邏輯控制器、微控制器、微處理器、數位訊號處理器、智慧財產(intellectual property,IP)核心、可程式化邏輯陣列(Programmable Logic Array,PLA)、可程式化陣列邏輯(Programmable Array Logic,PAL)、一般陣列邏輯(Generic Array Logic,GAL)、複合可程式化邏輯元件(Complex Programmable Logic Device,CPLD)、現場可程式化閘陣列(Field-Programmable Gate Array,FPGA)、系統晶片(System On Chip,SoC)、應用專用積體電路(Application-Specific Integrated Circuit,ASIC)以及能夠進行數據處理的任何類型的電路。處理器306A亦可為虛擬處理器,包括分佈於經由網路(例如,網路310)耦合的多個機器或元件上的一或多個處理器。
記憶體308A可為能夠儲存可由處理器306A存取(例如,經由匯流排,未示出)的代碼及數據的一般電子元件或特定電子元件。舉例而言,記憶體308A可包括以下任意數目記憶體的任意組合:隨機存取記憶體(random-access memory,RAM)、唯讀記憶體(read-only memory,ROM)、光碟(optical disc)、磁碟(magnetic disk)、硬驅動機(hard drive)、固態驅動機(solid-state drive)、快閃驅動機(flash drive)、安全數位(security digital,SD)卡、記憶條(memory stick)、緊密快閃(compact flash,CF)卡或任何類型的儲存元件。代碼可包括作業系統(operating system,OS)及一或多個用於特定任務的應用程式(application program)(或「app」)。記憶體308A亦可為虛擬記憶體,包括分佈於經由網路(例如,網路310)耦合的多個機器或元件上的一或多個記憶體。
網路310可為一或多個公用通訊網路或私用通訊網路。舉例而言,網路310可包括以下任意數目網路的任意組合:網際網路(Internet)、內部網路(Intranet)、局部區域網路(Local-Area Network,LAN)、廣域網路(Wide-Area Network,WAN)、都會區域網路(Metropolitan-Area Network,MAN)、虛擬私用網路(virtual private network,VPN)、無線網路(例如,符合電機電子工程師學會(Institute of Electrical and Electronic Engineers,IEEE)802.11a/b/g/n)、有線網路、租用線路(leased line)、蜂巢式數據網路(cellular data network)及使用藍芽連接(Bluetooth connection)、紅外線連接(infrared connection)或近場通訊(Near-Field Communication,NFC)連接的網路。
以下將結合圖4至圖8詳細闡述根據本揭露實施的用於封裝拾取及派送的路由計劃的方法、裝置及系統。在圖4至圖8中,過程400、500、600、700及800可被實施為在電腦或仿真電腦(例如電腦302A至302D或仿真電腦312、314)上運作的軟體模組。軟體模組可包括儲存於電腦可讀取儲存媒體中的程式代碼或指令。程式代碼或指令可由處理器讀取及執行,以實施前述過程。舉例而言,電腦可讀取儲存媒體可為記憶體308A至308D中的任意者且處理器可為處理器306A至306D中的任意者。在一些實施例中,前述過程可被實施為單獨的計算裝置,例如電腦302A至302D。在一些實施例中,前述過程可被實施為單獨的仿真計算裝置,例如仿真電腦312、314。在一些實施例中,前述過程可被實施為上述軟體模組、計算裝置及仿真計算裝置的組合。
圖4是與所揭露的實施例一致的收集與驗證網路交通數據的示例性過程400的流程圖。過程400可由至少一個處理器(例如處理器306A至306D的任意組合)實行。在一些實施例中,日誌數據驗證器106的至少一個處理器可實行過程400。
在步驟402處,所述至少一個處理器接收代表與數據服務進行交作的元件的活動的預處理日誌數據。在一些實施例中,數據服務可包括網站或行動應用伺服器中的至少一者。在一些實施例中,日誌數據可為數據服務的統一資源辨識符(「URI」)。在一些實施例中,所述活動可包括使用元件來與數據服務進行交作的個體的活動。
在一些實施例中,在進行步驟402之前,日誌數據收集器102可在以下操作中對日誌數據進行預處理。所述至少一個處理器可藉由剖析日誌數據並判斷經剖析的日誌數據是否為預定數據格式來對日誌數據進行預處理。在一些實施例中,所述至少一個處理器可將日誌數據作為輸入並將日誌數據分割成數據的部分或片段以進行進一步處置。在一些實施例中,預定數據格式可將日誌數據結構化為鍵值(key-value)(或屬性值(attribute-value))對。在一些實施例中,預定數據格式可為JSON格式。若經剖析的日誌數據是預定數據格式,則所述至少一個處理器可根據預定格式來驗證預處理日誌數據。否則,所述至少一個處理器可產生用於指示預處理錯誤的警報數據。在一些實施例中,日誌數據收集器102可將警報數據發送至系統100的使用者元件(例如,圖1中的使用者元件112或使用者元件114)以產生指示預處理錯誤的警報。
在步驟404處,所述至少一個處理器根據預定格式來驗證預處理日誌數據。預定格式可為與圖1相關聯的說明中闡述的日誌格式。在一些實施例中,所述格式可包括指示預定數據類型的第一欄位及指示與預定數據類型相關聯的預定驗證條件的第二欄位。在一些實施例中,第一欄位及第二欄位可以表示法格式儲存為鍵值(或屬性值)對。在一些實施例中,預定格式可為JSON格式。
在一些實施例中,預定數據類型可包括任意數目的字符串類型、整數類型、實數類型或布林類型的任意組合。在一些實施例中,預定驗證條件可包括以下任意數目的任意組合:當數據部分是字符串類型的時數據部分不具有非字符值,當數據部分是整數類型的時數據部分不具有非整數值,當數據部分是實數類型的時數據部分不具有非數字值,或者當數據部分是布林類型的時數據部分不具有非布林值。在一些實施例中,預定驗證條件可與使用元件來與數據服務進行交作的個體的活動相關聯。
在一些實施例中,預定格式可包括強制欄位或可選欄位中的至少一者。強制數據欄位可代表被指定為驗證日誌數據所要求的數據欄位。可選數據欄位可代表被指定為驗證日誌數據的可選的數據欄位。與強制欄位相關聯的預定驗證條件可要求預處理日誌數據包括由強制欄位所指示類型的數據部分。與可選欄位相關聯的預定驗證條件不要求預處理日誌數據包括由可選欄位所指示類型的數據部分。
返回參照圖4,在步驟406處,所述至少一個處理器產生與經驗證的預處理日誌數據相關聯的元數據。在一些實施例中,元數據可包括經驗證的預處理日誌數據的辨識符或對產生元數據進行指示的時間中的至少一者。在一些實施例中,元數據可更包括使用者與數據服務進行交作所使用的元件的IP位址、瀏覽器的使用者代理數據、或引用交作源(例如,造訪數據服務)的資訊中的至少一者。在一些實施例中,此種元數據可自URI的HTTP標頭確定。
在一些實施例中,在產生元數據之後,所述至少一個處理器(例如,日誌數據串流器104的至少一個處理器)可將元數據及經驗證的日誌數據發送至目的地儲存元件,例如日誌數據儲存器110。在一些實施例中,所述至少一個處理器可根據路由規則(例如,藉由檢查路由政策)來判斷儲存元件的網路位址(例如,IP位址)是否存在。在一些實施例中,路由政策可包括路由表。在一些實施例中,路由表可對日誌數據的類型進行分類且每一類型的日誌數據可與儲存元件的不同網路位址相關聯。若網路位址存在,則所述至少一個處理器可將元數據及經驗證的日誌數據發送至網路位址。否則,所述至少一個處理器可產生指示路由錯誤的警報數據。在一些實施例中,所述至少一個處理器可將警報數據發送至系統100的使用者元件(例如,圖1中的使用者元件112或使用者元件114)以產生指示路由錯誤的警報。
在一些實施例中,所述至少一個處理器可更被配置以創建預定格式。圖5是與所揭露的實施例一致的創建預定格式的示例性過程500的流程圖。過程500可由過程400中的所述至少一個處理器(例如處理器306A至306D的任意組合)實施。在一些實施例中,控制器108的至少一個處理器可實行過程500。
在步驟502處,所述至少一個處理器因應於接收到用於創建格式的格式配置數據而創建格式。在一些實施例中,所述格式可與指示第一狀態的指示符相關聯。在一些實施例中,所述格式可為與圖1相關聯的說明中闡述的日誌格式。在一些實施例中,可基於日誌數據的分析員輸入的參數來產生格式配置數據。舉例而言,可使用如圖2中所示的使用者介面200來輸入參數。在一些實施例中,指示符可為格式中的欄位,例如旗標或參數。在一些實施例中,第一狀態可被設定為代表所述格式未準備好在生產環境中使用的狀態。在一些實施例中,第一狀態可包括以下中的一者:指示新創建格式的草稿狀態、指示所創建的格式處於審核之中的審核狀態、或指示所述格式無效的作廢狀態。
在一些實施例中,可自由系統100的使用者(例如,數據分析員)輸入、自使用者元件接收的格式配置要求產生格式配置數據。舉例而言,若使用者希望關注線上購買行為分析,則使用者可使用使用者元件(例如,使用者元件114)來輸入僅接受來自行動元件與行動應用伺服器之間的交作的網路交通數據的格式配置要求。在格式配置要求中,使用者可指定數據類型、數據欄位以及對數據類型及欄位的約束,基於該些數據類型及欄位可產生格式配置數據。在一些實施例中,所述至少一個處理器可基於試探(heuristics)或統計(statistics)推斷可能的或很可能的格式配置要求,並通知以建議使用者添加該些可能的或很可能的格式配置要求。舉例而言,使用者可能希望關注基於社交網路的購買行為,並經由使用者元件指定僅接受來自桌上型計算元件與電子商務網站之間的交作的網路交通數據的格式配置要求。基於試探或統計,所述至少一個處理器可建議添加來自桌上型計算元件與電子商務網站宣傳所在的社交網路網站之間的交作的網路交通數據。
在步驟504處,所述至少一個處理器因應於所述至少一個處理器辨識出第一狀態而在測試環境中根據所述格式來驗證測試日誌數據。在一些實施例中,測試日誌數據可為用於測試目的的儲存數據。測試日誌數據可自先前經驗證的日誌數據中選擇或者根據測試日誌格式產生。在一些實施例中,出於開發及測試的目的,測試環境可為如圖1中所示的系統100的部件。換言之,測試環境可使用系統100的計算資源的部件,測試環境可將測試日誌數據作為輸入、驗證測試日誌數據,但不儲存經驗證的測試日誌數據以用於實際分析。舉例而言,測試環境可為被指定或以其他方式用於測試目的的仿真計算元件(例如,仿真電腦312或314)。
在步驟506處,若所述至少一個處理器驗證出測試日誌數據具有錯誤,則所述至少一個處理器產生用於指示格式創建錯誤的警報數據。在一些實施例中,所述至少一個處理器可將警報數據發送至系統100的使用者元件(例如,圖1中的使用者元件112或使用者元件114)以產生指示格式創建錯誤的警報。
在步驟508處,若所述至少一個處理器驗證出測試日誌數據沒有任何錯誤,則所述至少一個處理器將指示符更新成指示第二狀態。在一些實施例中,第二狀態可被設定為代表所述格式準備好在生產環境中使用的狀態。在一些實施例中,第二狀態可包括以下中的一者:指示所述格式正在使用中的現用狀態或指示所述格式有效但不推薦使用所述格式的不贊成狀態。
在一些實施例中,可根據開發格式的階段來更新第一狀態及第二狀態。舉例而言,當新創建格式時,指示符可被設定為指示所述格式將被測試的「草稿」狀態。當所述格式處於審核之中(例如,由促進創建此格式的數據分析員進行審核)時,指示符可被設定為指示所述格式處於審核之中的「審核中」狀態。舉例而言,若格式不滿足數據分析員的要求,則可更新或重新創建所述格式,在此種情形中,指示符可被重新設定為「草稿」。當格式被批准(例如,由數據分析員批准)時,指示符可被設定為指示所述格式在生產環境中可用的「現用」狀態。當格式過時且必須謹慎使用時,指示符可被設定為「不贊成」狀態。若格式不再過時(例如,由於數據分析需求的改變),指示符可被重新設定為「再次現用」狀態。當不再使用格式時,指示符可被設定為「作廢」狀態。在一些實施例中,每當指示符的狀態發生改變時,所述至少一個處理器(例如,控制器108的至少一個處理器)可通知(例如,藉由發送電子郵件)系統100的使用者(例如,數據分析員),進而可使格式的知識同步。
在步驟510處,所述至少一個處理器因應於所述至少一個處理器辨識出第二狀態而在生產環境中根據所述格式來驗證預處理日誌數據。步驟510可以與過程400中的步驟404相似的方式實施。在一些實施例中,生產環境可為如圖1中所示的系統100的部件,用於實際日誌數據收集與驗證。換言之,生產環境可使用系統100的計算資源的部件,生產環境可將實際日誌數據作為輸入、驗證實際日誌數據並儲存經驗證的實際日誌數據以進行實際分析。舉例而言,生產環境可為仿真計算元件(例如,仿真電腦312或314)。在一些實施例中,生產環境中的日誌數據可被結構化為特定形式(例如,數據倉庫格式)且可產生附加數據或元數據(例如,對話數據(session data))以輔助其進行分析。
在一些實施例中,所述至少一個處理器可實行以下操作來驗證預處理日誌數據。所述至少一個處理器可判斷預處理日誌數據是否具有為預定數據類型的數據部分且數據部分的內容是否滿足預定驗證條件。若預處理日誌數據具有數據部分,則所述至少一個處理器可確定預處理日誌數據通過驗證。否則,所述至少一個處理器可產生用於指示驗證錯誤的警報數據。在一些實施例中,所述至少一個處理器可將警報數據發送至系統100的使用者元件(例如,圖1中的使用者元件112或使用者元件114)以產生指示驗證錯誤的警報。
在一些實施例中,當日誌格式可包括強制數據欄位及可選數據欄位時,所述至少一個處理器可檢查預處理日誌數據是否具有為強制欄位的數據類型的數據部分且數據部分的內容是否滿足強制欄位的驗證條件。若前述條件中的任意者未通過,則所述至少一個處理器可確定日誌數據未通過驗證。
在一些實施例中,所述至少一個處理器可更被配置以更新預定格式。圖6是與所揭露的實施例一致的更新預定格式的示例性過程600的流程圖。過程600可由過程400中的所述至少一個處理器(例如處理器306A至306D的任意組合)實施。在一些實施例中,控制器108的至少一個處理器可實行過程600。
在步驟602處,所述至少一個處理器接收用於更新預定格式的格式配置數據。在一些實施例中,可基於自使用者元件接收的參數來產生格式配置數據。舉例而言,參數可由數據分析員輸入至顯示如圖2中所示的使用者介面200的使用者元件114。
在步驟604處,所述至少一個處理器根據所接收的數據更新預定格式的欄位。舉例而言,所述至少一個處理器可改變屬性(或鍵)或與預定格式的屬性對應的值中的至少一者。
在步驟606處,所述至少一個處理器根據所接收的數據更新與預定格式相關聯的指示符。在一些實施例中,指示符可指示第一狀態或第二狀態中的一者,如步驟504及510中所述。
圖7是與所揭露的實施例一致的收集與驗證網路交通數據的示例性過程700的流程圖。過程700可由過程400中的所述至少一個處理器(例如處理器306A至306D的任意組合)實施。在一些實施例中,日誌數據收集器102、日誌數據串流器104、日誌數據驗證器106、控制器108或日誌數據儲存器110中的一或多者的至少一個處理器可實行過程700。
在步驟702處,所述至少一個處理器接收代表與數據服務(例如,網站或行動應用伺服器)進行交作的元件(例如,電腦或行動元件)的活動的日誌數據。在一些實施例中,日誌數據可為URI。在一些實施例中,日誌數據收集器102的至少一個處理器可實行步驟702。
在步驟704處,所述至少一個處理器剖析日誌數據。步驟704可如以上針對步驟402所述一般來實施。在一些實施例中,所述至少一個處理器可使用文本剖析器將日誌數據分割成部分或片段以進行進一步處置。在一些實施例中,日誌數據收集器102的至少一個處理器可實行步驟704。
在步驟706處,所述至少一個處理器判斷經剖析的日誌數據是否是預定數據格式。步驟706可如以上針對步驟402所述一般來實施。在一些實施例中,預定數據格式可將日誌數據結構化為鍵值(或屬性值)對。在一些實施例中,預定數據格式可為JSON格式。在一些實施例中,日誌數據串流器104的至少一個處理器可將日誌數據收集器102接收的日誌數據轉送至控制器108,控制器108的至少一個處理器可實行步驟706。若經剖析的日誌數據是預定數據格式,則過程700進行至步驟708。否則,過程700進行至步驟722。
在步驟708處,所述至少一個處理器根據預定格式來驗證預處理日誌數據。步驟708可以與過程400中的步驟404相似的方式實施。在一些實施例中,日誌數據驗證器106的至少一個處理器可實行步驟708。
在步驟710處,所述至少一個處理器判斷日誌數據是否成功通過驗證。在一些實施例中,日誌數據驗證器106的至少一個處理器可實行步驟710。若日誌數據成功通過驗證,則過程700進行至步驟712。否則,過程700進行至步驟722。
在步驟712處,所述至少一個處理器產生與經驗證的日誌數據相關聯的元數據。步驟712可以與過程400中的步驟406相似的方式實施。在一些實施例中,日誌數據驗證器106的至少一個處理器可實行步驟712。
在步驟714處,所述至少一個處理器根據路由規則(例如,藉由檢查路由表)確定路由目的地(例如,日誌數據儲存器110)的網路位址(例如,IP位址)。步驟714可如以上針對步驟406所述一般來實施。在一些實施例中,日誌數據串流器104的至少一個處理器可實行步驟714。
在步驟716處,所述至少一個處理器判斷路由目的地的網路位址是否存在且是否是可路由的。在一些實施例中,日誌數據串流器104的至少一個處理器可實行步驟716。若網路位址存在,則過程700進行至步驟718。否則,過程700進行至步驟722。
在步驟718處,所述至少一個處理器將元數據及經驗證的日誌數據發送至路由目的地。步驟718可如以上針對步驟406所述一般來實施。舉例而言,所述至少一個處理器可將元數據及經驗證的日誌數據發送至日誌數據儲存器110的網路位址。在一些實施例中,日誌數據串流器104的至少一個處理器可實行步驟718。
在步驟720處,所述至少一個處理器儲存元數據及日誌數據。在一些實施例中,日誌數據儲存器110的至少一個處理器可實行步驟720。
在步驟722處,所述至少一個處理器產生用於指示錯誤的警報數據。在一些實施例中,當所述至少一個處理器在步驟706處判斷出經剖析的日誌數據不是預定數據格式時,日誌數據收集器102的所述至少一個處理器可產生用於指示剖析錯誤的警報數據。在一些實施例中,當所述至少一個處理器在步驟710處判斷出日誌數據未通過驗證時,日誌數據驗證器106的所述至少一個處理器可產生用於指示驗證錯誤的警報數據。在一些實施例中,當所述至少一個處理器在步驟716處判斷出路由目的地的網路位址不存在或不可路由時,日誌數據串流器104的所述至少一個處理器可產生用於指示路由錯誤的警報數據。
在步驟724處,所述至少一個處理器使用警報數據產生警報並例如藉由發送電子郵件將警報發送至系統100的使用者元件(例如,圖1中的使用者元件112或使用者元件114)。不同的元件或子系統可相依於產生警報數據的元件而發送警報。舉例而言,日誌數據收集器102、日誌數據串流器104及日誌數據驗證器106可分別將指示剖析錯誤、路由錯誤及驗證錯誤的警報發送至使用者元件。
圖8是與所揭露的實施例一致的創建日誌格式、更新日誌格式並使用日誌格式收集與驗證網路交通數據的示例性過程的流程圖。過程800可由過程400中的所述至少一個處理器(例如處理器306A至306D的任意組合)實施。在一些實施例中,日誌數據收集器102、日誌數據串流器104、日誌數據驗證器106、控制器108或日誌數據儲存器110中的一或多者的至少一個處理器可實行過程800。
在步驟802處,所述至少一個處理器接收用於創建格式的格式配置要求。在一些實施例中,所述格式可為與圖1相關聯的說明中闡述的日誌格式。使用者(例如,日誌數據分析員)可使用使用者元件114來產生格式配置要求。舉例而言,格式配置要求可被作為闡述數據分析中使用的目標數據類型及數據欄位的文本檔案來接收。格式配置要求可指定強制欄位及可選欄位。在一些實施例中,控制器108的至少一個處理器可實行步驟802。
在步驟804處,所述至少一個處理器基於所接收的格式配置要求創建格式。在一些實施例中,使用者元件112可向使用者(例如,日誌數據工程師)提供介面,以例如使用如圖2中所示的使用者介面200、基於格式配置要求產生格式配置數據。基於格式配置數據,所述至少一個處理器創建格式。在一些實施例中,控制器108的至少一個處理器可實行步驟804。
在步驟806處,所述至少一個處理器接收所創建的格式的審核數據。在一些實施例中,使用者元件114可向使用者提供對所創建的格式進行審核的介面,以判斷所創建的格式是否符合格式配置要求並產生審核數據。審核數據可為例如註解、修訂、更新的要求或在審核所創建的格式之後的任何資訊。若需要修訂,則過程800可返回至步驟804,在步驟804處,所述至少一個處理器基於審核數據更新或重新創建格式。在一些實施例中,控制器108的至少一個處理器可實行步驟806。
在步驟808處,所述至少一個處理器在測試環境中根據格式驗證測試日誌數據。步驟808可以與步驟504相似的方式實施。在一些實施例中,控制器108的至少一個處理器可實行步驟808。若測試日誌數據被驗證出具有錯誤,則所述至少一個處理器可產生警報數據且過程800可返回至步驟804,以更新或重新創建格式。
在步驟810處,若所述至少一個處理器驗證出測試日誌數據沒有任何錯誤,則所述至少一個處理器將與格式相關聯的指示符更新成指示所述格式在生產環境中可用。換言之,所創建的格式符合格式配置要求以供使用。在一些實施例中,所述至少一個處理器可在自使用者元件112接收到指令之後更新指示符。在一些實施例中,控制器108的至少一個處理器可實行步驟810。
在步驟812處,所述至少一個處理器在生產環境中接收日誌數據。在一些實施例中,日誌數據收集器102的至少一個處理器可實行步驟812。在一些實施例中,使用者元件(例如,使用者元件112或使用者元件114)可向使用者提供介面,以使用SDK對將由日誌數據收集器102接收的傳入日誌數據進行反串列化、驗證或量測。在一些實施例中,SDK可提供介面以使用由控制器108提供的規範(例如,日誌格式)對傳入日誌數據進行反串列化、驗證或量測。在一些實施例中,所述至少一個處理器可對日誌數據進行預處理,例如藉由剖析日誌數據並判斷經剖析的日誌數據是否為所創建的格式。
在步驟814處,所述至少一個處理器在生產環境中根據所創建的格式驗證所接收的日誌數據。步驟814可以與步驟404相似的方式實施。在一些實施例中,日誌數據驗證器106的至少一個處理器可實行步驟814。
在步驟816處,所述至少一個處理器儲存經驗證的日誌數據以進行未來分析。在一些實施例中,所述至少一個處理器可將經驗證的日誌數據儲存於日誌數據儲存器110中。在一些實施例中,日誌數據儲存器110的至少一個處理器可實行步驟816。在一些實施例中,使用者元件114可向使用者提供介面,以自日誌數據儲存器110檢索經驗證的日誌數據來實行分析。
在一些實施例中,在過程800中,系統100的使用者元件(例如,使用者元件112及使用者元件114)可為使用者提供用於預訂所創建的格式的通知以接收格式開發的更新的手段(例如,加入電子郵件列表)。舉例而言,當所述至少一個處理器自使用者元件114接收格式配置要求時,使用者元件112可接收通知(例如,電子郵件)。當根據格式配置要求創建格式時,使用者元件114可接收通知並開始審核。當使用者元件114完成審核且所述至少一個處理器接收到審核數據時,使用者元件112可接收通知且決定更新所創建的格式或者進行測試。當所述格式通過測試並在生產環境中變得可用時,系統100的所有使用者元件可接收通知,在此之後系統100的所有使用者元件可列出、查看及搜尋新的可用格式。
儘管已參照本揭露的具體實施例示出並闡述了本揭露,然而應理解,本揭露可不加修改地實踐於其他環境中。上述說明是出於例示目的而呈現。以上說明並非詳盡性的且並非僅限於所揭露的精確形式或實施例。藉由考量對所揭露的實施例的說明書及實踐,各種修改及調整對於熟習此項技術者而言將顯而易見。另外,儘管所揭露的實施例的態樣被闡述為儲存於記憶體中,然而熟習此項技術者應理解,該些態樣亦可儲存於其他類型的電腦可讀取媒體上,例如輔助儲存元件(例如硬碟或光碟唯讀記憶體(CD ROM))或者其他形式的RAM或ROM、通用串列匯流排(universal serial bus,USB)媒體、數位影音光碟(digital versatile disc,DVD)、藍光(Blu-ray)或其他光驅動媒體上。
基於書面說明及所揭露的方法的電腦程式處於有經驗的開發者的技能範圍內。可使用熟習此項技術者已知的任何技術來創建各種程式或程式模組,或者可結合既有的軟體來設計各種程式或程式模組。舉例而言,可採用或借助.Net Framework、.Net Compact Framework(以及相關語言,如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX組合、XML或包括Java小程式的HTML來設計程式區段或程式模組。
另外,儘管本文中已闡述了例示性實施例,然而熟習此項技術者基於本揭露將設想出具有等效元素、修改形式、省略、組合(例如,各種實施例之間的態樣的組合)、調整及/或變更的任何及全部實施例的範圍。申請專利範圍中的限制應基於申請專利範圍中採用的語言進行廣義解釋,而並非僅限於本說明書中闡述的實例或在申請的過程期間闡述的實例。所述實例應被視為非排他性的。此外,所揭露的方法的步驟可以任何方式進行修改,包括藉由對步驟進行重新排序及/或***或刪除步驟。因此,本說明書及實例僅被認為是例示性的,真正的範圍及精神由以下申請專利範圍及其等效內容的全部範圍來指示。
100:系統 102:日誌數據收集器/組件 104:日誌數據串流器/組件 106:日誌數據驗證器/組件 108:控制器/組件 110:日誌數據儲存器/組件 112、114:使用者元件 200:使用者介面 302A、302B、302C、302D:電腦 304A、304B、304C、304D:數據庫 306A、306B、306C、306D:處理器 308A、308B、308C、308D:記憶體 310:網路 312、314:仿真電腦 400、500、600、700、800:過程 402、404、406、502、504、506、508、510、602、604、606、702、704、706、708、710、712、714、716、718、720、722、724、802、804、806、808、810、812、814、816:步驟
圖1是示出與所揭露的實施例一致的收集與驗證網路交通數據之系統的示例性實施例的示意圖。
圖2是與所揭露的實施例一致的對圖1所示系統提供的日誌格式進行配置的使用者介面的示例圖。
圖3是與所揭露的實施例一致的在圖1所示系統中使用的示例性計算裝置的圖解式例示。
圖4是與所揭露的實施例一致的收集與驗證網路交通數據的示例性過程的流程圖。
圖5是與所揭露的實施例一致的創建日誌格式的示例性過程的流程圖。
圖6是與所揭露的實施例一致的更新日誌格式的示例性過程的流程圖。
圖7是與所揭露的實施例一致的收集與驗證網路交通數據的示例性過程的流程圖。
圖8是與所揭露的實施例一致的創建日誌格式、更新日誌格式並使用日誌格式收集與驗證網路交通數據的示例性過程的流程圖。
100:系統
102:日誌數據收集器/組件
104:日誌數據串流器/組件
106:日誌數據驗證器/組件
108:控制器/組件
110:日誌數據儲存器/組件
112、114:使用者元件

Claims (10)

  1. 一種由電腦實施的收集與驗證網路交通數據之方法,包括:接收日誌數據,所述日誌數據代表與數據服務進行交作的元件的活動;根據預定格式驗證所述日誌數據,所述預定格式包括指示預定數據類型的欄位及指示與所述預定數據類型相關聯的預定驗證條件的欄位;產生與經驗證的所述日誌數據相關聯的元數據;將所述元數據以及經驗證的所述日誌數據發送至儲存元件;根據路由規則來判斷所述儲存元件的網路位址是否存在,並作出響應:將所述元數據以及經驗證的所述日誌數據發送至所述網路位址;或產生指示路由錯誤的警報數據。
  2. 如請求項1所述的方法,更包括:藉由剖析所述日誌數據並判斷經剖析的所述日誌數據是否為預定數據格式來對所述日誌數據進行預處理;基於判斷出經剖析的所述日誌數據為所述預定數據格式,根據所述預定格式來驗證預處理的所述日誌數據;以及基於判斷出經剖析的所述日誌數據不為所述預定數據格式,產生用於指示預處理錯誤的警報數據。
  3. 如請求項1所述的方法,更包括:因應於接收到用於創建格式的格式配置數據而創建所述格式,其中所述格式與指示第一狀態的指示符相關聯;因應於辨識出所述第一狀態而在測試環境中根據所述格式來驗證測試日誌數據;基於判斷出至少一個處理器驗證出所述測試日誌數據具有錯誤,產生用於指示格式創建錯誤的警報數據;基於判斷出所述至少一個處理器驗證出所述測試日誌數據沒有任何錯誤,將所述指示符更新成指示第二狀態;以及因應於辨識出所述第二狀態而在生產環境中根據所述格式來驗證所述日誌數據。
  4. 如請求項3所述的方法,更包括:透過以下方式根據所述格式配置數據更新預定格式:接收用於更新所述預定格式的所述格式配置數據;根據所接收的所述格式配置數據更新所述預定格式的欄位;以及根據所接收的所述格式配置數據更新與所述預定格式相關聯的指示符,其中所述指示符指示所述第一狀態或所述第二狀態中的一者。
  5. 如請求項3所述的方法,更包括:判斷所述日誌數據是否具有數據部分,其中所述數據部分是預定數據類型的且所述數據部分的內容滿足與所述預定數據類型 相關聯的預定驗證條件;基於判斷出所述日誌數據具有所述數據部分,確定所述日誌數據通過驗證;以及基於判斷出所述日誌數據不具有所述數據部分,產生用於指示驗證錯誤的警報數據。
  6. 如請求項3所述的方法,其中:所述第一狀態包括指示新創建格式的草稿狀態、指示所述新創建格式處於審核之中的審核狀態、或指示所述新創建格式無效的作廢狀態中的一者;且所述第二狀態包括指示所述新創建格式正在使用中的現用狀態或指示所述新創建格式有效但不推薦使用所述新創建格式的不贊成狀態中的一者。
  7. 如請求項1所述的方法,其中;所述預定格式包括強制欄位或可選欄位中的至少一者;與所述強制欄位相關聯的所述預定驗證條件要求所述日誌數據包括由所述強制欄位所指示類型的數據部分;且與所述可選欄位相關聯的所述預定驗證條件不要求所述日誌數據包括由所述可選欄位所指示類型的數據部分。
  8. 如請求項1所述的方法,其中:與所述預定數據類型相關聯的所述預定驗證條件與使用所述元件來與所述數據服務進行交作的個體的活動相關聯。
  9. 如請求項1所述的方法,其中: 所述預定數據類型包括字符串類型、整數類型、實數類型、或布林類型中的至少一者;且與所述預定數據類型相關聯的所述預定驗證條件包括以下中的至少一者:當數據部分是所述字符串類型的時,所述數據部分不具有非字符值,當所述數據部分是所述整數類型的時,所述數據部分不具有非整數值,當所述數據部分是所述實數類型的時,所述數據部分不具有非數字值,或者當所述數據部分是所述布林類型的時,所述數據部分不具有非布林值。
  10. 一種收集與驗證網路交通數據之系統,包括:記憶體,儲存指令;以及至少一個處理器,被配置以執行所述指令以執行如請求項1-9中任一項所述的方法。
TW110115996A 2019-04-09 2020-04-08 收集與驗證網路交通數據之系統以及方法 TWI765692B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/379,761 US10769220B1 (en) 2019-04-09 2019-04-09 Systems, apparatuses, and methods of processing and managing web traffic data
US16/379,761 2019-04-09

Publications (2)

Publication Number Publication Date
TW202131203A TW202131203A (zh) 2021-08-16
TWI765692B true TWI765692B (zh) 2022-05-21

Family

ID=69439183

Family Applications (2)

Application Number Title Priority Date Filing Date
TW110115996A TWI765692B (zh) 2019-04-09 2020-04-08 收集與驗證網路交通數據之系統以及方法
TW109111829A TWI729763B (zh) 2019-04-09 2020-04-08 收集與驗證網路交通數據之系統以及方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW109111829A TWI729763B (zh) 2019-04-09 2020-04-08 收集與驗證網路交通數據之系統以及方法

Country Status (9)

Country Link
US (2) US10769220B1 (zh)
JP (1) JP7161538B2 (zh)
KR (2) KR102369238B1 (zh)
CN (1) CN110795305B (zh)
AU (1) AU2020264292A1 (zh)
PH (1) PH12020551834A1 (zh)
SG (1) SG11202011566YA (zh)
TW (2) TWI765692B (zh)
WO (1) WO2020208467A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102349495B1 (ko) * 2020-11-18 2022-01-11 쿠팡 주식회사 가상 서버들로부터 대용량 로그 파일들을 프로세싱하는 컴퓨터 시스템 및 방법.
US11032158B1 (en) 2020-11-18 2021-06-08 Coupang Corp. Computerized systems and methods for processing high-volume log files from virtual servers
CN114817357A (zh) * 2022-03-09 2022-07-29 北京中交兴路信息科技有限公司 数据处理方法、装置、电子设备、存储介质及***
CN114880049A (zh) * 2022-03-09 2022-08-09 深圳萨摩耶数字科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN116974948B (zh) * 2023-09-22 2024-01-09 腾讯科技(深圳)有限公司 业务***测试方法、***、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200821877A (en) * 2006-11-03 2008-05-16 Hon Hai Prec Ind Co Ltd System and method for data switching
US20110153667A1 (en) * 2009-11-13 2011-06-23 Ab Initio Technology Llc Managing record format information
TW201324432A (zh) * 2011-10-08 2013-06-16 Broadcom Corp 社交網路系統及其執行的方法
US8930330B1 (en) * 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
US20150244617A1 (en) * 2012-06-06 2015-08-27 Juniper Networks, Inc. Physical path determination for virtual network packet flows
TW201733304A (zh) * 2016-02-23 2017-09-16 恩鏈控股有限公司 在區塊鏈系統中的代理式圖靈完備交易整合反饋

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822683B2 (en) * 2000-01-21 2010-10-26 Microsoft Corporation System and method for secure third-party development and hosting within a financial services network
US20060173672A1 (en) * 2000-07-27 2006-08-03 Bergeron Heather E Processing health care transactions using a semantic network
US20030069758A1 (en) * 2001-10-10 2003-04-10 Anderson Laura M. System and method for use in providing a healthcare information database
US7180887B1 (en) * 2002-01-04 2007-02-20 Radisys Patent Properties Routing and forwarding table management for network processor architectures
EP1687745A2 (en) 2003-11-26 2006-08-09 Veritas Operating Corporation System and method for generating extensible file system metadata and file system content processing
US7636717B1 (en) * 2007-01-18 2009-12-22 Netlogic Microsystems, Inc. Method and apparatus for optimizing string search operations
US8149715B1 (en) * 2007-07-17 2012-04-03 Marvell International Ltd. Mesh network operations
KR20090090755A (ko) 2008-02-22 2009-08-26 에스케이 텔레콤주식회사 컨텐츠 사용 로그 재처리 시스템 및 방법
US8510263B2 (en) 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US9537650B2 (en) * 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
CN102763111B (zh) * 2010-01-22 2015-08-05 交互数字专利控股公司 用于可信联合身份管理和数据接入授权的方法和设备
US9092576B2 (en) * 2010-06-25 2015-07-28 International Business Machines Corporation Non-intrusive measurement of content quality using dry runs with roll-back
US9594597B2 (en) * 2011-10-24 2017-03-14 Plumchoice, Inc. Systems and methods for automated server side brokering of a connection to a remote device
US9367813B2 (en) * 2011-10-28 2016-06-14 Xerox Corporation Methods and systems for identifying frequently occurring intradomain episodes and interdomain episodes in multiple service portals using average user session length
US9213832B2 (en) 2012-01-24 2015-12-15 International Business Machines Corporation Dynamically scanning a web application through use of web traffic information
US9846721B2 (en) * 2013-03-13 2017-12-19 Genesys Telecommunications Laboratories, Inc. Log file management tool
KR20150000590A (ko) 2013-06-25 2015-01-05 아주대학교산학협력단 라이프스타일 데이터 관리 시스템 및 방법
US9369478B2 (en) 2014-02-06 2016-06-14 Nicira, Inc. OWL-based intelligent security audit
US9887212B2 (en) 2014-03-14 2018-02-06 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
US9356861B2 (en) 2014-03-17 2016-05-31 Alcatel Lucent Secondary lookup for scaling datapath architecture beyond integrated hardware capacity
US20160117703A1 (en) 2014-10-22 2016-04-28 Staples, Inc. Large-Scale Customer-Product Relationship Mapping and Contact Scheduling
US10311043B2 (en) 2016-08-04 2019-06-04 New Relic, Inc. Log query user interface
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11481383B2 (en) * 2017-11-15 2022-10-25 Sumo Logic, Inc. Key name synthesis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200821877A (en) * 2006-11-03 2008-05-16 Hon Hai Prec Ind Co Ltd System and method for data switching
US20110153667A1 (en) * 2009-11-13 2011-06-23 Ab Initio Technology Llc Managing record format information
US8930330B1 (en) * 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
TW201324432A (zh) * 2011-10-08 2013-06-16 Broadcom Corp 社交網路系統及其執行的方法
US20150244617A1 (en) * 2012-06-06 2015-08-27 Juniper Networks, Inc. Physical path determination for virtual network packet flows
TW201733304A (zh) * 2016-02-23 2017-09-16 恩鏈控股有限公司 在區塊鏈系統中的代理式圖靈完備交易整合反饋

Also Published As

Publication number Publication date
KR20200119176A (ko) 2020-10-19
KR20220027924A (ko) 2022-03-08
TWI729763B (zh) 2021-06-01
KR102369238B1 (ko) 2022-03-22
US10769220B1 (en) 2020-09-08
JP2021519960A (ja) 2021-08-12
SG11202011566YA (en) 2020-12-30
CN110795305B (zh) 2024-04-02
WO2020208467A1 (en) 2020-10-15
TW202046139A (zh) 2020-12-16
CN110795305A (zh) 2020-02-14
AU2020264292A1 (en) 2020-12-10
KR102478464B1 (ko) 2022-12-19
TW202131203A (zh) 2021-08-16
PH12020551834A1 (en) 2021-06-28
US12032635B2 (en) 2024-07-09
US20200349206A1 (en) 2020-11-05
JP7161538B2 (ja) 2022-10-26

Similar Documents

Publication Publication Date Title
TWI765692B (zh) 收集與驗證網路交通數據之系統以及方法
US10769228B2 (en) Systems and methods for web analytics testing and web development
US11792291B1 (en) Proxying hypertext transfer protocol (HTTP) requests for microservices
US20210382949A1 (en) Systems and methods for web content inspection
US12045151B2 (en) Graph-based impact analysis of misconfigured or compromised cloud resources
US11663172B2 (en) Cascading payload replication
US20190138433A1 (en) Evaluation of library test suites using mutation testing
CN114385722A (zh) 接口属性的一致性校验方法、装置、电子设备和存储介质
TWI757169B (zh) 用於實時分析虛擬伺服器記錄的電腦實施系統以及方法
US20220050732A1 (en) Application infrastructure configuration based on annotated api schemas
US10887186B2 (en) Scalable web services execution
US11669588B2 (en) Advanced data collection block identification
KR102349495B1 (ko) 가상 서버들로부터 대용량 로그 파일들을 프로세싱하는 컴퓨터 시스템 및 방법.
Ou et al. Viopolicy-detector: An automated approach to detecting GDPR suspected compliance violations in websites
US20230376615A1 (en) Network security framework for maintaining data security while allowing remote users to perform user-driven quality analyses of the data
CN115718755A (zh) 一种可视化界面配置、数据查询的方法
CN116795812A (zh) 事件观测方法和装置、电子设备和存储介质
CN115695227A (zh) 性能测试方法、装置、电子设备及可读存储介质