TW201800967A - 分布式流式資料處理的方法和裝置 - Google Patents
分布式流式資料處理的方法和裝置 Download PDFInfo
- Publication number
- TW201800967A TW201800967A TW106112250A TW106112250A TW201800967A TW 201800967 A TW201800967 A TW 201800967A TW 106112250 A TW106112250 A TW 106112250A TW 106112250 A TW106112250 A TW 106112250A TW 201800967 A TW201800967 A TW 201800967A
- Authority
- TW
- Taiwan
- Prior art keywords
- real
- time
- time value
- processed
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
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)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本發明提供一種分布式流式資料處理的方法,包括:獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵;所述標識資訊唯一代表一個或一組業務資料;根據儲存的業務資料標識資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵;比較所述業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,採用待處理實時值進行業務運算並將儲存的所述已處理實時值時序特徵更新為待處理實時值時序特徵。通過本發明的技術方案,實現了按照資料更新的順序來進行資料處理,避免了因先處理更新在後的實時值導致的處理結果錯誤,提高了資料處理的準確度。
Description
本發明係關於資料處理技術領域,尤其係關於一種分布式流式資料處理的方法和裝置。
隨著各種網路應用日漸深入人們的日常生活,很多應用系統每天會產生數以TB(Terabyte,百萬兆位元組)級計的業務資料。對這些海量資料的實時分析能夠提供對應用系統極有價值的資訊,例如,對交通監管系統採集的海量視頻資料流的實時分析能夠為交通疏導提供幫助,對社交網站用戶存取行為的實時分析能夠及時發現關注熱點並推送給更多的用戶。
海量的實時業務資料通常保存在不同地點、不同軟硬體平台、和/或不同類型的資料庫中,由實時資料採集系統將資料庫中實時變化的業務資料以流的方式源源不斷的收集起來,以進行實時資料處理。實時資料採集系統可以採用單執行緒實現;也可以採用分布式實現,由多個執行緒併發進行實時資料的採集。
由於應用系統的業務資料隨時可能發生更新,尤其是
一個業務資料可能在極短的時間內發生多次更新,單執行緒實現的實時資料採集系統能夠確保先更新的業務資料實時值在流式資料中先于後更新的業務資料實時值,但是單執行緒實現的低性能在絕大多數情況下無法滿足海量實時資料的處理需求。而分布式實現的實時資料採集系統則可能出現在其產生的分布式流式資料中,業務資料實時值的先後順序與更新發生的先後順序不同的情形。
現有技術中,依照業務資料在流式資料中的先後順序對業務資料的實時值進行資料處理。這樣,當分布式流式資料中業務資料實時值的先後順序與更新發生的先後順序不同時,更新在先的實時值會覆蓋更新在後的實時值,導致資料處理的結果錯誤。
有鑑於此,本發明提供一種分布式流式資料處理的方法,包括:獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵;所述標識資訊唯一代表一個或一組業務資料;根據儲存的業務資料標識資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵;比較所述業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,
採用待處理實時值進行業務運算並將儲存的所述已處理實時值時序特徵更新為待處理實時值時序特徵。
本發明還提供了一種分布式流式資料處理的裝置,包括:待處理資訊獲取單元,用於獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵;所述標識資訊唯一代表一個或一組業務資料;已處理資訊獲取單元,用於根據儲存的業務資料標識資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵;資料處理單元,用於比較所述業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,採用待處理實時值進行業務運算並將儲存的所述已處理實時值時序特徵更新為待處理實時值時序特徵。
由以上技術方案可見,本發明的實施例中,在資料處理時保存資料記錄的已處理實時值時序特徵,與流式資料中同一資料記錄的待處理實時值時序特徵進行比較,只對時序晚於已處理實時值的待處理實時值進行業務運算,從而實現了按照資料更新的順序來進行資料處理,避免了因先處理更新在後的實時值導致的處理結果錯誤,提高了資料處理的準確度。
圖1是本發明實施例應用場景的一種網路結構圖;圖2是本發明實施例中一種分布式流式資料處理的方法的流程圖;圖3是本發明實施例所在設備的一種硬體結構圖;圖4是本發明實施例中一種分布式流式資料處理的裝置的邏輯結構圖。
本發明的實施例提出一種新的分布式流式資料處理的方法,在流式資料中攜帶資料記錄的待處理實時值時序特徵,保存已進行資料處理的資料記錄的已處理實時值時序特徵,通過比較待處理和已處理的實時值時序特徵來得知待處理和已處理實時值的相對時序,並且在待處理實時值的時序較晚時才對其進行資料處理,從而能夠避免後處理時序較早的實時值導致的資料處理結果錯誤,以解決現有技術中存在的問題。
本發明實施例應用場景的一種網路結構如圖1所示:各個業務系統在業務運行過程中產生和刷新的業務資料存放在若干個不同類型(如MySQL、Oracle、HBase等)的業務資料庫中。當業務資料庫中新增或更新了滿足預定條件的業務資料時,資料採集平台根據新增或更新的業務資料產生資料記錄,將不斷產生的資料記錄組合為流式資料,提供給實時計算平台;資料採集平台可以採用消息中
間件(如kafka、TimeTunel等)實現,將產生的資料記錄承載在消息中寫入消息隊列供實時計算平台讀取。實時計算平台可以採用分布式計算(如Jstorm、storm等),也可以採用集中式計算,圖1中為採用分布式計算時的一種架構,由一個到多個資料分配器(如storm平台的spout)將流式資料中的資料記錄分發到至少兩個資料處理器(如storm平台的bolt)中,由資料處理器將業務資料的實時變化反映在處理結果中。
可見,圖1中,當資料採集平台採用多執行緒並行採集、和/或實時計算平台採用分布式計算時,同一個業務資料連續更新時,攜帶有先更新業務資料實時值的資料記錄可能晚於攜帶有後更新業務資料實時值的資料記錄到達實時計算平台的資料處理器。本發明的實施例運行在實時計算平台上(採用分布式計算時運行在每個資料處理器上),能夠避免發生上述情形時後更新業務資料的處理結果被先更新業務資料的處理結果覆蓋的錯誤。
本發明的實施例可以應用在任何具有計算和儲存能力的設備上,例如可以是手機、平板電腦、PC(Personal Computer,個人電腦)、筆記本、伺服器、虛擬機等物理設備或邏輯設備;也可以由兩個或兩個以上分擔不同職責的物理或邏輯設備、相互協同來實現本發明實施例中的各項功能。
本發明的實施例中,分布式流式資料處理的方法的流程如圖2所示。
步驟210,獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵。
本發明的實施例中,資料記錄是流式資料的最小組成單位,每條資料記錄根據業務資料庫中發生變化(新增或更新)一個業務資料(如帳戶金額)、或同時發生變化的一組(兩個或兩個以上)業務資料(如轉帳次數、轉出總額)產生,資料記錄中包括該業務資料或該組業務資料的標識資訊和該業務資料或該組業務資料的實時值,通常還包括實時值在業務資料庫中的產生時間。
其中,標識資訊唯一代表該業務資料或該組業務資料,即在本發明實施例的運行範圍內,該標識資訊與該業務資料或該組業務資料一一對應;例如,本發明實施例運行在實時計算平台的每個資料處理器上,則對每個資料處理器所處理的資料記錄而言,標識資訊與某個業務資料或某組業務資料一一對應。可以參考實際應用場景中業務資料庫的欄位及表的標識、和/或業務資料在業務系統中的標識等,來確定業務資料的標識資訊,例如,可以將業務資料所在表的主鍵、表名、資料庫名組合後作為業務資料的標識資訊;再如,可以將業務資料所屬業務的主業務主鍵標識、次業務主鍵標識和應用特徵碼來作為業務資料的標識資訊。
業務資料的實時值是本次該業務資料或該組業務資料發生變化後的值。實時值的產生時間是業務資料在業務資料庫中發生變化的時間。
實時值時序特徵包括與本次該業務資料或該組業務資料發生變化時的時間相關聯的資訊。當該業務資料或該組業務資料發生N次變化時,會產生N個資料記錄,這N個資料記錄中業務資料的標識資訊相同而業務資料的實時值不同,絕大多數情況下實時值時序特徵也不同,通過比對實時值時序特徵,通常可以得知該業務資料或該組業務資料的哪個或哪些實時值發生在前,哪個或哪些發生在後。
可以根據實際應用場景中業務資料變化的快慢程度、對流式資料處理的精確度要求等因素來選擇將哪些變量作為實時值時序特徵。例如,可以將資料記錄中實時值的產生時間作為實時值時序特徵。對具有相同標識資訊的業務資料,可以根據實時值產生時間來判斷實時值的時序。但是,由於保存實時值產生時間通常有精度限制(例如到毫秒),同一個業務資料或同一組業務資料兩次相隔極近的變化(例如在幾十微秒內)可能會有相同的實時值產生時間。
除了提高實時值產生時間的精度外,在以消息中間件作為資料採集平台的應用場景中,還可以將實時值的產生時間和實時值所在消息的消息標識作為實時值時序特徵。在這種應用場景中,消息中間件將一個到多個資料記錄封裝在消息中,按照產生消息的時序為每個消息指定一個消息標識,攜帶有消息標識的消息構成消息流(即流式資料)。由於同一個業務資料或同一組業務資料的相鄰兩次
變化產生的資料記錄通常不會出現在同一個消息中,因此反映消息產生時序的消息標識也反映了業務資料實時值的時間資訊。對於兩個具有相同業務資料標識資訊的資料記錄,如果業務資料的實時值產生時間不同,根據實時值產生時間來判斷實時值的時序;如果業務資料的實時值產生時間相同,則可以根據資料記錄所在消息的消息標識來判斷實時值的時序。
可見,從流式資料中提取資料記錄,在資料記錄中可以得到業務資料標識資訊和業務資料的待處理實時值(由於本條資料記錄中業務資料的實時值尚未進行資料處理,稱之為待處理實時值),並且可以從資料記錄、或資料記錄及承載資料記錄的消息中得到待處理實時值時序特徵。
步驟220,根據儲存的業務資料標識資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵。
步驟230,比較業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,採用待處理實時值進行業務運算並將儲存的該已處理實時值時序特徵更新為待處理實時值時序特徵。
本發明的實施例中,維護有業務資料的標識資訊與已處理實時值時序特徵的對應關係表,其中已處理實時值時序特徵為最近一次進行資料處理的業務資料實時值的實時值時序特徵,該實時值所在的資料記錄在流式資料中位於本資料記錄之前。
在從新的資料記錄中獲取到業務資料的標識資訊後,查詢標識資訊與已處理實時值時序特徵的對應關係表,如果存在該標識資訊,可以得到具有該標識資訊的業務資料的已處理實時值時序特徵。將該業務資料的待處理和已處理實時值時序特徵進行比對,如果待處理實時值相對已處理實時值的時序較晚,則採用待處理實時值進行業務運算(即對待處理實時值進行資料處理),並且在標識資訊與已處理實時值時序特徵的對應關係表中,將與本資料記錄中標識資訊對應的已處理實時值時序特徵更新為本資料記錄的待處理實時值時序特徵值;否則對本資料記錄中的待處理實時值不做處理,即不採用本資料記錄中的待處理實時值進行業務運算,以避免更新在先的實時值覆蓋更新在後的實時值而導致資料處理結果發生錯誤。
對將實時值的產生時間作為實時值時序特徵的情形,當待處理實時值的產生時間大於已處理實時值的產生時間時,待處理實時值的時序晚於已處理實時值的時序。對將實時值的產生時間和實時值所在消息的消息標識作為實時值時序特徵的情形,待處理實時值的產生時間晚於已處理實時值的產生時間、以及待處理和已處理實時值的產生時間相同並且待處理實時值所在消息的消息標識反映的時序晚於已處理實時值所在消息的消息標識反映的時序時,待處理實時值的時序晚於已處理實時值的時序。
如果標識資訊與已處理實時值時序特徵的對應關係表中不存在本資料記錄中的業務資料標識資訊對應的已處理
實時值時序特徵,說明是首次收到該業務資料或該組業務資料的實時值,則採用本資料記錄中業務資料的待處理實時值進行業務運算,並將業務資料的待處理實時值時序特徵作為已處理實時值時序特徵,在對應關係表中保存業務資料的標識資訊與已處理實時值時序特徵的對應關係。
採用待處理實時值進行業務運算的具體算法可以根據實際應用場景的需求,參照現有技術中的資料處理方式實現,不再贅述。
在標識資訊的位元組數較大、或標識資訊與已處理實時值時序特徵的對應關係表的表項較多的應用場景中,查詢該對應關係表可能會花費較長時間。為了減小查詢時間對資料處理實時性的影響,可以令標識資訊包括標識特徵和至少一個標識欄位,其中,所有標識欄位的組合唯一代表一個或一組業務資料;標識特徵以所有標識欄位的組合的預定部分為輸入,採用某種算法(如摘要算法)產生。在查詢對應關係表時,可以將標識資訊中的標識特徵作為索引來進行表項查詢,從而加快查詢速度。
在實時計算平台採用分布式計算的應用場景中,本發明實施例所述的方法並行獨立運行在兩個或兩個以上的負責資料處理的軟體功能模組(如圖1所示網路結構中的資料處理器)上,在流式資料到達這些軟體功能模組前,通常會有資料分配器將各個資料記錄分發給這些軟體功能模組。資料分配器可以按照資料記錄中全部或預定的部分業務資料標識資訊來將資料記錄分發到哪個軟體功能模組,
以便使具有相同業務資料標識資訊的資料記錄能夠分發到同一個軟體功能模組上,這樣,標識資訊與已處理實時值時序特徵的對應關係表可以在單個軟體功能模組上實現,而不是在整個實時計算平台上實現,從而減小對應關係表的容量,加快查詢速度。
可見,本發明的實施例中,在流式資料中攜帶資料記錄的待處理實時值時序特徵,在資料處理時保存資料記錄的已處理實時值時序特徵,通過比較待處理和已處理的實時值時序特徵,只對時序晚於已處理實時值的待處理實時值進行業務運算,避免了因先處理更新在後的實時值導致的處理結果錯誤,提高了資料處理的準確度。
在本發明的一個應用示例中,由消息中間件從業務資料庫中採集發生變化的業務資料,產生資料記錄,資料記錄中包括業務資料標識資訊、業務資料實時值(待處理實時值)和實時值的產生時間。其中,業務資料的標識資訊包括標識特徵和至少2個標識欄位,標識欄位為一個到多個業務主鍵標識和業務特徵碼,這些業務主鍵標識和業務特徵碼的組合與用來產生資料記錄中的業務資料一一對應(在處理該資料記錄的軟體功能模組的範圍內)。業務主鍵標識中包括主業務主鍵標識,如果業務主鍵標識超過1個,則還可以包括次業務主鍵標識和其他業務主鍵標識。標識特徵為主業務主鍵的摘要值的前若干位,其中,摘要值為對主業務主鍵採用摘要算法後所得的值,例如,可以將主業務主鍵MD5(Message Digest Algorithm 5,消息摘
要算法第五版)值的前5位作為標識特徵。將標識特徵與所有標識欄位拼接起來(可以在相鄰的標識欄位間以固定的符號作為拼接符,如“#”),作為業務資料的標識資訊,一種示例性的結構如表1所示。
消息中間件將資料記錄封裝在消息中,以升序排列的下一個消息序列號作為消息標識(同樣封裝在消息中),將產生的消息放入消息隊列。
實時計算平台的資料分配器從消息隊列中提取消息,從中解析出資料記錄,按照資料記錄中業務資料標識資訊的標識特徵,將資料記錄以及該資料記錄所在消息的消息標識發送給資料處理器中的一個。由於標識特徵是主業務主鍵的摘要值的前若干位,承載相同主業務主鍵的業務資料的資料記錄將被分配到同一個資料處理器上,換言之,相同的業務資料將在同一個資料處理器進行資料處理。
在收到資料分配器分發的資料記錄以及該資料記錄所在消息的消息標識後,資料處理器從資料記錄中提取業務資料的標識資訊,將資料記錄中的業務資料實時值和實時值產生時間分別作為待處理實時值和待處理實時值產生時間,將分發的消息標識作為待處理實時值所在消息的消息標識。
資料處理器以標識資訊中的標識特徵為索引,在DATA_CHECK表中查詢ROWKEY為該標識資訊的表項,得到對應於標識資訊的已處理實時值時序特徵LAST_VERSION,從中解析出已處理實時值產生時間和已處理實時值所在消息的消息標識。
資料處理器比較待處理和已處理的實時值產生時間,如果待處理實時值產生時間晚於已處理實時值產生時間、或者待處理和已處理的實時值產生時間相同並且待處理實時值所在消息的消息標識大於已處理實時值所在消息的消息標識,則對待處理實時值進行資料處理、並且將DATA_CHECK表中具有該標識資訊的表項中的LAST_VERSION更改為待處理實時值產生時間和待處理
實時值所在消息的消息標識;否則棄用資料記錄中的待處理實時值,不進行資料處理。
與上述流程實現對應,本發明的實施例還提供了一種分布式流式資料處理的裝置。該裝置可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為邏輯意義上的裝置,是通過所在設備的CPU(Central Process Unit,中央處理器)將對應的計算機程式指令讀取到記憶體中運行形成的。從硬體層面而言,除了圖3所示的CPU、記憶體以及非易失性記憶體之外,分布式流式資料處理的裝置所在的設備通常還包括用於進行無線信號收發的芯片等其他硬體,和/或用於實現網路通信功能的板卡等其他硬體。
圖4所示為本發明實施例提供的一種分布式流式資料處理的裝置,包括待處理資訊獲取單元、已處理資訊獲取單元和資料處理單元,其中:待處理資訊獲取單元用於獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵;所述標識資訊唯一代表一個或一組業務資料;已處理資訊獲取單元用於根據儲存的業務資料標識資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵;資料處理單元用於比較所述業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,採用待處理實時值進行業務運算並將儲存的所述已處理實時值時序特徵更新為待處理實時值時序特徵。
可選的,所述實時值時序特徵包括:實時值的產生時間。
可選的,所述流式資料包括:由攜帶有資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵的消息構成的消息流;所述實時值時序特徵包括:實時值的產生時間和實時值所在消息的消息標識;所述消息標識能夠反映消息產生的時序;所述待處理實時值的時序晚於已處理實時值的時序,包括:待處理實時值的產生時間晚於已處理實時值的產生時間,以及待處理和已處理實時值的產生時間相同並且待處理實時值所在消息的消息標識反映的時序晚於已處理實時值所在消息的消息標識反映的時序。
可選的,所述裝置還包括:已處理資訊添加單元,用於在尚未儲存所述業務資料的已處理實時值時序特徵時,採用所述業務資料的待處理實時值進行業務運算、並將所述業務資料的待處理實時值時序特徵作為已處理實時值時序特徵,保存所述業務資料的標識資訊與已處理實時值時序特徵的對應關係。
可選的,所述分布式流式資料處理的方法並行獨立運行在至少兩個軟體功能模組上,處理某一條資料記錄的軟體功能模組根據所述資料記錄的部分或全部業務資料標識資訊確定。
一個例子中,所述標識資訊包括:標識特徵、和至少一個標識欄位,所有標識欄位的組合唯一代表一個或一組
業務資料,所述標識特徵根據所有標識欄位組合的預定部分產生。
上述例子中,所述標識欄位可以包括:主業務主鍵標識和應用特徵碼;所述標識特徵為主業務主鍵標識的摘要值的前若干位。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括計算機可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是計算機可讀介質的示例。
計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他資料。計算機的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可編程唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟
(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸介質,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本發明的實施例可提供為方法、系統或計算機程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
Claims (14)
- 一種分布式流式資料處理的方法,包括:獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵;所述標識資訊唯一代表一個或一組業務資料;根據儲存的業務資料標識資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵;比較所述業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,採用待處理實時值進行業務運算並將儲存的所述已處理實時值時序特徵更新為待處理實時值時序特徵。
- 根據請求項1所述的方法,其中,所述實時值時序特徵包括:實時值的產生時間。
- 根據請求項1所述的方法,其中,所述流式資料包括:由攜帶有資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵的消息構成的消息流;所述實時值時序特徵包括:實時值的產生時間和實時值所在消息的消息標識;所述消息標識能夠反映消息產生的時序;所述待處理實時值的時序晚於已處理實時值的時序,包括:待處理實時值的產生時間晚於已處理實時值的產生時間,以及待處理和已處理實時值的產生時間相同並且待處理實時值所在消息的消息標識反映的時序晚於已處理實 時值所在消息的消息標識反映的時序。
- 根據請求項1所述的方法,其中,所述方法還包括:在尚未儲存所述業務資料的已處理實時值時序特徵時,採用所述業務資料的待處理實時值進行業務運算、並將所述業務資料的待處理實時值時序特徵作為已處理實時值時序特徵,保存所述業務資料的標識資訊與已處理實時值時序特徵的對應關係。
- 根據請求項1所述的方法,其中,所述分布式流式資料處理的方法並行獨立運行在至少兩個軟體功能模組上,處理某一條資料記錄的軟體功能模組根據所述資料記錄的部分或全部業務資料標識資訊確定。
- 根據請求項1或5所述的方法,其中,所述標識資訊包括:標識特徵、和至少一個標識欄位,所有標識欄位的組合唯一代表一個或一組業務資料,所述標識特徵根據所有標識欄位組合的預定部分產生。
- 根據請求項6所述的方法,其中,所述標識欄位包括:主業務主鍵標識和應用特徵碼;所述標識特徵為主業務主鍵標識的摘要值的前若干位。
- 一種分布式流式資料處理的裝置,包括:待處理資訊獲取單元,用於獲取流式資料中某一條資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵;所述標識資訊唯一代表一個或一組業務資料;已處理資訊獲取單元,用於根據儲存的業務資料標識 資訊與已處理實時值時序特徵的對應關係,獲取所述業務資料的已處理實時值時序特徵;資料處理單元,用於比較所述業務資料的待處理和已處理的實時值時序特徵,當待處理實時值的時序晚於已處理實時值的時序時,採用待處理實時值進行業務運算並將儲存的所述已處理實時值時序特徵更新為待處理實時值時序特徵。
- 根據請求項8所述的裝置,其中,所述實時值時序特徵包括:實時值的產生時間。
- 根據請求項8所述的裝置,其中,所述流式資料包括:由攜帶有資料記錄的業務資料標識資訊、待處理實時值和待處理實時值時序特徵的消息構成的消息流;所述實時值時序特徵包括:實時值的產生時間和實時值所在消息的消息標識;所述消息標識能夠反映消息產生的時序;所述待處理實時值的時序晚於已處理實時值的時序,包括:待處理實時值的產生時間晚於已處理實時值的產生時間,以及待處理和已處理實時值的產生時間相同並且待處理實時值所在消息的消息標識反映的時序晚於已處理實時值所在消息的消息標識反映的時序。
- 根據請求項8所述的裝置,其中,所述裝置還包括:已處理資訊添加單元,用於在尚未儲存所述業務資料的已處理實時值時序特徵時,採用所述業務資料的待處理實時值進行業務運算、並將所述業務資料的待處理實時值 時序特徵作為已處理實時值時序特徵,保存所述業務資料的標識資訊與已處理實時值時序特徵的對應關係。
- 根據請求項8所述的裝置,其中,所述分布式流式資料處理的方法並行獨立運行在至少兩個軟體功能模組上,處理某一條資料記錄的軟體功能模組根據所述資料記錄的部分或全部業務資料標識資訊確定。
- 根據請求項8或12所述的裝置,其中,所述標識資訊包括:標識特徵、和至少一個標識欄位,所有標識欄位的組合唯一代表一個或一組業務資料,所述標識特徵根據所有標識欄位組合的預定部分產生。
- 根據請求項13所述的裝置,其中,所述標識欄位包括:主業務主鍵標識和應用特徵碼;所述標識特徵為主業務主鍵標識的摘要值的前若干位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201610447125.8 | 2016-06-20 | ||
CN201610447125.8A CN106874320A (zh) | 2016-06-20 | 2016-06-20 | 分布式流式数据处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201800967A true TW201800967A (zh) | 2018-01-01 |
TWI662426B TWI662426B (zh) | 2019-06-11 |
Family
ID=59239567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106112250A TWI662426B (zh) | 2016-06-20 | 2017-04-12 | 分布式流式資料處理的方法和裝置 |
Country Status (16)
Country | Link |
---|---|
US (1) | US11036562B2 (zh) |
EP (1) | EP3474162A4 (zh) |
JP (1) | JP6716727B2 (zh) |
KR (1) | KR102099544B1 (zh) |
CN (1) | CN106874320A (zh) |
AU (1) | AU2017282818C1 (zh) |
BR (1) | BR112018076658A8 (zh) |
CA (1) | CA3025215C (zh) |
MX (1) | MX2018016067A (zh) |
MY (1) | MY188882A (zh) |
PH (1) | PH12018502494A1 (zh) |
RU (1) | RU2705429C1 (zh) |
SG (1) | SG11201810630PA (zh) |
TW (1) | TWI662426B (zh) |
WO (1) | WO2017219858A1 (zh) |
ZA (1) | ZA201808139B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI736959B (zh) * | 2019-01-14 | 2021-08-21 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的用戶特徵值獲取、應用方法和裝置 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019214A (zh) * | 2017-12-04 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 对数据拆分结果进行校验的方法和装置 |
CN109002472B (zh) * | 2018-06-13 | 2023-07-14 | 平安科技(深圳)有限公司 | 一种数据库差异的识别方法及装置 |
CN109361629B (zh) * | 2018-10-26 | 2020-11-03 | 江苏大学 | 一种基于Kafka大消息可靠传输方法 |
RU2722538C1 (ru) * | 2019-12-13 | 2020-06-01 | Общество С Ограниченной Ответственностью "Убик" | Компьютерно-реализуемый способ обработки информации об объектах, с использованием методов совместных вычислений и методов анализа данных |
CN111611252B (zh) * | 2020-04-01 | 2023-07-18 | 石化盈科信息技术有限责任公司 | 数据同步过程中安全数据的监控、装置、设备和存储介质 |
WO2021230771A2 (en) * | 2020-05-12 | 2021-11-18 | Ubic Technologies Llc | Method of piece data synchronization describing a single entity and stored in different databases |
CN111639138B (zh) * | 2020-06-03 | 2023-04-25 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112150248B (zh) * | 2020-09-30 | 2021-08-03 | 欧冶云商股份有限公司 | 一种基于批流融合的挂货量统计方法、***、装置 |
CN112200505B (zh) * | 2020-12-04 | 2022-02-08 | 望海康信(北京)科技股份公司 | 跨业务***的流程监控装置、方法及相应设备和存储介质 |
CN112988429B (zh) * | 2021-05-08 | 2021-08-06 | 成都新希望金融信息有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN113160918A (zh) * | 2021-05-21 | 2021-07-23 | 山东健康医疗大数据有限公司 | 一种变化数据捕获的统一处理方法及工具 |
CN115098247A (zh) * | 2022-06-06 | 2022-09-23 | 支付宝(杭州)信息技术有限公司 | 资源分配方法和装置 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185871A (en) | 1989-12-26 | 1993-02-09 | International Business Machines Corporation | Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions |
US8639625B1 (en) * | 1995-02-13 | 2014-01-28 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US6055619A (en) | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
US6748440B1 (en) | 1999-05-12 | 2004-06-08 | Microsoft Corporation | Flow of streaming data through multiple processing modules |
US7007096B1 (en) | 1999-05-12 | 2006-02-28 | Microsoft Corporation | Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules |
US6880126B1 (en) | 1999-08-03 | 2005-04-12 | International Business Machines Corporation | Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data |
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
US6633825B2 (en) * | 2001-06-29 | 2003-10-14 | Siemens Power Transmission & Distribution, Inc. | Automatic calibration of time keeping for utility meters |
US6910078B1 (en) | 2001-11-15 | 2005-06-21 | Cisco Technology, Inc. | Methods and apparatus for controlling the transmission of stream data |
JP4154893B2 (ja) | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
EP1546822A4 (en) | 2002-09-18 | 2008-07-02 | Netezza Corp | ASYMMETRIC DATA STREAMING ARCHITECTURE WITH AN AUTONOMOUS AND ASYNCHRONOUS JOB PROCESSING UNIT |
US7051245B2 (en) * | 2002-11-30 | 2006-05-23 | International Business Machines Corporation | System and method for handling out-of-order data supplied by a real-time feed |
EP1463309A1 (fr) | 2003-03-26 | 2004-09-29 | THOMSON Licensing S.A. | Traitement d'un format de flux de données pour la réception audiovisuelle mobile |
CN101945250A (zh) | 2005-04-26 | 2011-01-12 | 皇家飞利浦电子股份有限公司 | 用于处理具有分组序列和与分组有关的定时信息的数据流的设备和方法 |
US20070226226A1 (en) * | 2006-03-23 | 2007-09-27 | Elta Systems Ltd. | Method and system for distributing processing of computerized tasks |
KR100898465B1 (ko) * | 2007-04-26 | 2009-05-21 | 엔에이치엔(주) | 웹로그의 시계열 분석을 위한 데이터 저장 및 조회 방법그리고 상기 방법을 수행하는 시스템 |
JP5198929B2 (ja) | 2008-04-25 | 2013-05-15 | 株式会社日立製作所 | ストリームデータ処理方法及び計算機システム |
JP5154366B2 (ja) | 2008-10-28 | 2013-02-27 | 株式会社日立製作所 | ストリームデータ処理プログラム及び計算機システム |
JP5465413B2 (ja) | 2008-10-29 | 2014-04-09 | 株式会社日立製作所 | ストリームデータ処理方法、及びそのシステム |
US9538142B2 (en) * | 2009-02-04 | 2017-01-03 | Google Inc. | Server-side support for seamless rewind and playback of video streaming |
US8402344B2 (en) | 2009-10-05 | 2013-03-19 | Cleversafe, Inc. | Method and apparatus for controlling dispersed storage of streaming data |
RU2494453C2 (ru) * | 2011-11-24 | 2013-09-27 | Закрытое акционерное общество "Лаборатория Касперского" | Способ распределенного выполнения задач компьютерной безопасности |
CN103458000B (zh) * | 2013-08-07 | 2016-06-08 | 广东电网公司佛山供电局 | 终端数据同步***与方法 |
CN104091276B (zh) * | 2013-12-10 | 2015-08-26 | 深圳市腾讯计算机***有限公司 | 在线分析点击流数据的方法和相关装置及*** |
WO2015103615A1 (en) * | 2014-01-06 | 2015-07-09 | Yyesit, Llc | Method and apparatus of surveillance system |
CN104794114B (zh) * | 2014-01-16 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
US9389899B2 (en) * | 2014-01-27 | 2016-07-12 | Red Hat Israel, Ltd. | Fair unidirectional multi-queue virtual machine migration |
CN104866234B (zh) * | 2014-02-21 | 2019-01-22 | 腾讯科技(北京)有限公司 | 数据迁移方法、装置及*** |
KR101588375B1 (ko) * | 2014-04-25 | 2016-01-25 | 네이버 주식회사 | 데이터베이스 관리 방법 및 데이터베이스 관리 시스템 |
WO2015183517A1 (en) * | 2014-05-29 | 2015-12-03 | Causam Energy, Inc. | System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network |
US20160026673A1 (en) * | 2014-07-25 | 2016-01-28 | Linkedin Corporation | Ensuring consistency of derived data in a distributed storage system |
CN104320382B (zh) * | 2014-09-30 | 2018-04-20 | 华为技术有限公司 | 分布式的实时流处理装置、方法和单元 |
US9754002B2 (en) * | 2014-10-07 | 2017-09-05 | Excalibur Ip, Llc | Method and system for providing a synchronization service |
GB201421674D0 (en) * | 2014-12-05 | 2015-01-21 | Business Partners Ltd | Real time document indexing |
RU2584471C1 (ru) * | 2014-12-30 | 2016-05-20 | Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей" | УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ |
US10706468B2 (en) * | 2015-08-03 | 2020-07-07 | Trading Technologies International, Inc. | Contextual searching |
-
2016
- 2016-06-20 CN CN201610447125.8A patent/CN106874320A/zh active Pending
-
2017
- 2017-04-12 TW TW106112250A patent/TWI662426B/zh active
- 2017-06-07 MY MYPI2018002420A patent/MY188882A/en unknown
- 2017-06-07 SG SG11201810630PA patent/SG11201810630PA/en unknown
- 2017-06-07 CA CA3025215A patent/CA3025215C/en active Active
- 2017-06-07 AU AU2017282818A patent/AU2017282818C1/en active Active
- 2017-06-07 MX MX2018016067A patent/MX2018016067A/es active IP Right Grant
- 2017-06-07 WO PCT/CN2017/087380 patent/WO2017219858A1/zh unknown
- 2017-06-07 JP JP2018566484A patent/JP6716727B2/ja active Active
- 2017-06-07 BR BR112018076658A patent/BR112018076658A8/pt not_active Application Discontinuation
- 2017-06-07 RU RU2019101005A patent/RU2705429C1/ru active
- 2017-06-07 KR KR1020197001861A patent/KR102099544B1/ko active IP Right Grant
- 2017-06-07 EP EP17814596.7A patent/EP3474162A4/en not_active Ceased
-
2018
- 2018-11-19 US US16/195,223 patent/US11036562B2/en active Active
- 2018-11-26 PH PH12018502494A patent/PH12018502494A1/en unknown
- 2018-11-30 ZA ZA2018/08139A patent/ZA201808139B/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI736959B (zh) * | 2019-01-14 | 2021-08-21 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的用戶特徵值獲取、應用方法和裝置 |
Also Published As
Publication number | Publication date |
---|---|
TWI662426B (zh) | 2019-06-11 |
SG11201810630PA (en) | 2019-01-30 |
BR112018076658A2 (pt) | 2019-04-02 |
JP2019523952A (ja) | 2019-08-29 |
EP3474162A1 (en) | 2019-04-24 |
MX2018016067A (es) | 2019-03-28 |
EP3474162A4 (en) | 2020-01-15 |
CA3025215C (en) | 2020-06-02 |
PH12018502494A1 (en) | 2019-07-15 |
AU2017282818C1 (en) | 2020-02-20 |
CN106874320A (zh) | 2017-06-20 |
MY188882A (en) | 2022-01-12 |
RU2705429C1 (ru) | 2019-11-07 |
US20190114213A1 (en) | 2019-04-18 |
WO2017219858A1 (zh) | 2017-12-28 |
BR112018076658A8 (pt) | 2023-01-31 |
KR20190020105A (ko) | 2019-02-27 |
US11036562B2 (en) | 2021-06-15 |
ZA201808139B (en) | 2020-08-26 |
AU2017282818B2 (en) | 2019-08-22 |
JP6716727B2 (ja) | 2020-07-01 |
KR102099544B1 (ko) | 2020-05-18 |
CA3025215A1 (en) | 2017-12-28 |
AU2017282818A1 (en) | 2019-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI662426B (zh) | 分布式流式資料處理的方法和裝置 | |
US10949447B2 (en) | Blockchain-based data synchronizing and data block parsing method and device | |
CN111767143A (zh) | 交易数据处理方法、装置、设备及*** | |
US9953071B2 (en) | Distributed storage of data | |
US20130191523A1 (en) | Real-time analytics for large data sets | |
US20160246829A1 (en) | Managing time series databases | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
US10963453B2 (en) | Service identifier-based data indexing | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
Jeong et al. | Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理*** | |
CN104615785A (zh) | 一种基于TYKY cNosql数据库的数据存储方法及装置 | |
US11544229B1 (en) | Enhanced tracking of data flows | |
CN113468226A (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN107515807B (zh) | 一种存储监控数据的方法及装置 | |
CN104778252A (zh) | 索引的存储方法和装置 | |
CN112491943A (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN106407345B (zh) | 一种脏数据更新方法及装置 | |
CN115795187A (zh) | 资源访问方法、装置及设备 | |
CN114490651A (zh) | 数据存储方法及装置 | |
CN116010677B (zh) | 空间索引方法、装置及其电子设备 | |
CN116431720A (zh) | 一种数据库的电子围栏数据持久化分布的方法 | |
CN113626439A (zh) | 一种数据处理方法、装置、数据处理设备及存储介质 | |
CN116243855A (zh) | 一种索引建立及数据访问方法、装置及电子设备 |