TWI640876B - 執行具有定義草圖精確度分佈之集合運算的系統與方法 - Google Patents

執行具有定義草圖精確度分佈之集合運算的系統與方法 Download PDF

Info

Publication number
TWI640876B
TWI640876B TW102141206A TW102141206A TWI640876B TW I640876 B TWI640876 B TW I640876B TW 102141206 A TW102141206 A TW 102141206A TW 102141206 A TW102141206 A TW 102141206A TW I640876 B TWI640876 B TW I640876B
Authority
TW
Taiwan
Prior art keywords
sketch
value
values
data
data set
Prior art date
Application number
TW102141206A
Other languages
English (en)
Other versions
TW201514718A (zh
Inventor
李 羅德斯
安尼爾班 達斯庫塔
凱文J 朗
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 TW201514718A publication Critical patent/TW201514718A/zh
Application granted granted Critical
Publication of TWI640876B publication Critical patent/TWI640876B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明藉由將固定尺寸草圖轉換為Theta草圖,並藉由對這些草圖進行集合運算,提供利用Theta草圖改善分析巨量資料之速度與精確性的技術。在一用於進行集合運算的技術中,分析兩草圖以辨識每一草圖的最大值。比較該兩草圖之最大值。根據該比較,從最大值較大的草圖中移除一或多個數值。在移除之後,根據經修改之草圖與該未修改草圖進行一集合運算(例如,聯集、交集或差集)。該集合運算的結果為一第三草圖,可用以估計兩輸入草圖所代表之較大型資料集合的基數。

Description

執行具有定義草圖精確度分佈之集合運算的系統與方法 【相關申請之相互參照】
基於美國法典第35篇第119條(e)項,本申請案主張2013年十月六日提出之第61/887,375號臨時申請案與2013年十月七日提出之第61/887,594號臨時申請案的優先權,上述臨時申請案之完整內容參照併入本文。
本發明大體上係與大型資料集合的統計分析有關,更具體來說係與產生、儲存大型資料集合的統計表現及對其進行集合運算有關。
隨著資料集合尺寸的增大,過去設計用於分析較小資料集合的方法與系統開始失效或起不了作用。利用傳統方法進行較大量資料(口語上稱為「巨量資料」)的分析可能需要包含處理器與記憶體在內的大量計算資源。傳統方法需要將資料載入至系統記憶體或記憶體快取等本機可存取記憶體中進行處理從而獲得結果。然而,當資料量增加時,便無法以此方式進行。在這種情況下,具有無須耗費如此大量計算成本與等待時間而對巨量資料進行完整分析以產生結果的需求。為了達到這種成果,可能須犧牲結果的精確度以換取耗費較少的計算資源,例如記憶體。
巨量資料分析也經常涉及沿著多維度進行資料處理。上述維度可為時間或資料類型。例如,巨量資料可包含一使用者識別碼(IDs)記錄以及請求特定網頁應用程式之使用者的時戳。該巨量資料也可包含每個月黑名單使用者的使用者ID。該資料分析可能需要造訪過該網頁應用程式之所有不重複、非黑名單使用者的每月計數報告。為了達成上述結果,不但需要從該巨量資料擷取大量使用者ID記錄並進行處理,也需要對具有該黑名單使用者資料的該記錄資料進行差集運算。上述對集合運算的需求使得利用有限計算資源進行巨量資料資料分析更加複雜。
尤其是,對於Yahoo! Inc等大型網站經營者而言,大型資料分析是很重大的問題。大型網站經營者每天可能產生描述其網站流量或所展示的內容與廣告的數兆位元組資料。儘管可探勘此龐大的資料管線來深入了解其使用者的特徵與行為,但除非該資料管線可被分析,從而能在相當短的期間內完成問題的提出與回答,否則根本無法獲得上述深入了解。例如,若有關多少使用者於今天拜訪一已知網站的問題,要到明天才能回答,那麼該答案可能就沒什麼用處了。對於網站經營者而言,就一特定網站的不重複訪客人數,或是內容或廣告之特定項目的點擊數量等問題提供更快以及更精確的答案是極重要的技術問題。
更具體來說,使用者區段分析等許多巨量資料分析情境需要對不重複ID集合進行集合運算(例如,交集、聯集與差集)。當該資料大於記憶體正常情況下能處理的量時,精確計算該不重複計數以及該等集合運算可能非常昂貴。如果可接受近似的答案,那麼草圖技術便可大幅降低計算成本及獲得結果的等待時間。
草圖不只可以是估計不重複計數的機制。其可視為一種估計較大數值集合的資料結構。事實上,草圖可以是向其提交之所有不重複數值的一個實質上均勻與隨機的儲集樣本。接著可合理提問:已知兩草圖,是否能大約確定形成該兩草圖所代表之兩大型資料集合之交集的不重複數值之數量?或者草圖能否代表差集等其他集合運算一只存在兩大型資料集合其中一者之不重複數值數量?
對於產生數百萬草圖以及查詢等待時間係為關鍵的系統而言,能夠對進行不重複計數的相同草圖進行集合運算具有很大的益處,並可排除以個別方法處理的需求。內建集合運算的例示應用包括區段重疊分析(交集)、區段彙整分析(聯集)、保留分析(交集)以及黑名單移除(差集)。對於網站經營者而言,例示區段可以是使用者(以登入定義)、對於內容項目的印象、對於廣告的點擊,或是與網站流量有關的其他大規模資料集合。
就網站流量相關問題更快速且更精確地取得答案,是許多網站經營者面臨的重要技術問題。
此節所敘述的方法為可進行的方法,但不必然是先前已經被構思或進行的方法。因此,除非另外指出,否則不該只因這些方法包含在此節而假定其中任一者為先前技術。
如以下所揭示,藉由在草圖運算引入一定義閾值Theta的方式,本發明提供一種速度與效率皆改善之系統與方法,可對巨量資料進行集合計算(從而回答問題)。更具體的來說,相較先前技術而言,具有以 草圖進行計算與集合運算的優點,包括下列一或多項:
用於不重複計數的相同草圖,也可用於集合運算,並具有非常好的精確性。這能夠大幅降低需另外以個別方法來進行該等計算的方法複雜度。
一集合運算的結果為另一草圖,而不只是一個數字。這使得批量管線運算中非常頻繁的非同步或非循序計算能夠進行。
進行聯集運算時,可以停用K值的尺寸控制作用(K值是指一預先定義的最大草圖樣本集合尺寸)。上述停用使兩集合的聯集可以比該兩初始草圖任一者更大,且精確度更高。對於查詢引擎以多個相關詞建構一集合表式之資料查詢操作,此特徵至為關鍵。停用K值也能夠達到集合表式評估次序的獨立性。
具有不同K值(其暗示不同配置的精確性或尺寸)的草圖現在可為該等集合運算中任一者的目標。
以下進一步揭示該方法與系統所提供之這些與其他優點。可實行這些系統與方法來提供許多服務,包含更快速與更精確的特定網站不重複訪客計數、對於特定人口統計區段相關問題提供更快速與更精確的答案,人口統計區段係以造訪次數、印象、點擊率或其他由網站經營者所蒐集的資料訊號來表示。
100‧‧‧巨量資料
110‧‧‧轉換器
120‧‧‧記憶體
130‧‧‧草圖資料結構
140‧‧‧估計器
150‧‧‧結果
200‧‧‧樣本集合
210‧‧‧轉換範圍最大數值
220‧‧‧轉換範圍最小數值
230‧‧‧保留數值範圍
240‧‧‧詮釋資料
300‧‧‧固定尺寸草圖
310‧‧‧最大樣本集合尺寸K值
400‧‧‧Theta草圖
410‧‧‧上閾值Theta(θ)值
420‧‧‧目標樣本集合尺寸K’值
500‧‧‧方塊
505‧‧‧方塊
510‧‧‧方塊
520‧‧‧方塊
525‧‧‧方塊
530‧‧‧方塊
540‧‧‧方塊
600‧‧‧方塊
605‧‧‧方塊
610‧‧‧方塊
615‧‧‧方塊
620‧‧‧方塊
630‧‧‧方塊
640‧‧‧方塊
650‧‧‧方塊
660‧‧‧方塊
700‧‧‧方塊
705‧‧‧方塊
710‧‧‧方塊
720‧‧‧方塊
740‧‧‧方塊
750‧‧‧方塊
760‧‧‧方塊
800A‧‧‧方塊
800B‧‧‧方塊
810A‧‧‧方塊
810B‧‧‧方塊
820A‧‧‧方塊
820B‧‧‧方塊
830A‧‧‧方塊
900‧‧‧草圖市集資料庫
910‧‧‧草圖市集
912‧‧‧草圖(S'j)
914‧‧‧草圖(S'k)
915‧‧‧維度
1050‧‧‧資料庫(Mi)
1055‧‧‧草圖S’(Mi)
1060‧‧‧草圖市集(S’i)
1065‧‧‧方塊
1070‧‧‧方塊
1075‧‧‧方塊
1080‧‧‧方塊
1090‧‧‧長條圖
1100‧‧‧方塊
1110‧‧‧方塊
1120‧‧‧方塊
1130‧‧‧方塊
1140‧‧‧方塊
1150‧‧‧方塊
1160‧‧‧方塊
1170‧‧‧方塊
1200‧‧‧方塊
1210‧‧‧方塊
1220‧‧‧方塊
1230‧‧‧方塊
1240‧‧‧方塊
1270‧‧‧方塊
1280‧‧‧方塊
1300‧‧‧樣本集合A
1305‧‧‧上閾值θA值
1310‧‧‧樣本集合B
1315‧‧‧上閾值θB值
1320‧‧‧樣本集合A U B
1325‧‧‧結果上閾θ△值值
1330‧‧‧樣本集合A\B
1340‧‧‧樣本集合B\A
1350‧‧‧樣本集合A ∩ B
1400‧‧‧方塊
1410‧‧‧方塊
1420‧‧‧方塊
1430‧‧‧方塊
1440‧‧‧方塊
1500‧‧‧方塊
1510‧‧‧方塊
1520‧‧‧方塊
1530‧‧‧方塊
1540‧‧‧方塊
1550‧‧‧方塊
1600‧‧‧方塊
1610‧‧‧方塊
1620‧‧‧方塊
1630‧‧‧方塊
1640‧‧‧方塊
1650‧‧‧方塊
1660‧‧‧方塊
1700‧‧‧草圖系統
1710‧‧‧巨量資料
1720‧‧‧數值轉換器
1730‧‧‧草圖產生器
1740‧‧‧基數估計器
1750‧‧‧草圖運算器
1760‧‧‧草圖市集資料庫
1800‧‧‧分析資料倉儲
1808‧‧‧Hadoop系統或格網
1820‧‧‧HIVE叢集
1830‧‧‧Spark/Shark叢集
1900‧‧‧電腦系統
1902‧‧‧匯流排
1904‧‧‧處理器
1906‧‧‧主記憶體
1908‧‧‧唯讀記憶體
1910‧‧‧儲存裝置
1912‧‧‧顯示器
1914‧‧‧輸入裝置
1916‧‧‧游標控制
1918‧‧‧通訊介面
1920‧‧‧網路鏈結
1922‧‧‧區域網路
1924‧‧‧主控電腦
1926‧‧‧網路服務提供者
1928‧‧‧網際網路
1930‧‧‧伺服器
在特定具體實施例之圖式中,相同的元件編號於圖式中係指相應的元件:
第一圖為繪示一具體實施例中利用一草圖資料結構產生巨量資料之 結果的程式邏輯之系統圖。
第二圖為繪示記憶體中一草圖樣本集合的方塊圖。
第三圖為繪示一具體實施例中具有最大樣本集合尺寸K值的固定尺寸草圖之方塊圖。
第四圖為繪示一具體實施例中具有一上閾值Theta及一目標樣本集合尺寸之閾值草圖之方塊圖。
第五圖為繪示一具體實施例中用於產生具有最大尺寸樣本集合K值的固定尺寸草圖的方法之流程圖。
第六圖為繪示一具體實施例中用於產生一Theta草圖的方法之流程圖。
第七圖為繪示一具體實施例中用於利用非同步清除資料產生一Theta草圖的方法之流程圖。
第八A圖為繪示一具體實施例中用於將一固定尺寸草圖轉換為一Theta草圖的方法之流程圖。
第八B圖為繪示一具體實施例中用於將一Theta草圖轉換為一固定尺寸草圖的方法之流程圖。
第九圖為繪示一具體實施例中具有一草圖市集之草圖市集資料庫之方塊圖,該草圖市集包含沿著一維度之草圖集合。
第十圖為繪示一具體實施例中草圖市集中草圖之產生與利用之方塊圖。
第十一圖為繪示一具體實施例中用於對兩固定尺寸草圖進行一聯集運算以產出一聯合固定尺寸草圖的方法之流程圖。
第十二圖為繪示一具體實施例中用於對兩固定尺寸草圖進行一聯集 運算以產出一聯合固定尺寸草圖的替代方法之流程圖。
第十三圖為繪示一具體實施例中從對Theta草圖進行集合運算所得Theta草圖之方塊圖。
第十四圖為繪示一具體實施例中用於對Theta草圖進行一集合運算的方法之流程圖。
第十五圖為繪示一具體實施例中用於對兩Theta草圖進行一交集運算以產出一交集閾值草圖的方法之流程圖。
第十六圖為繪示一具體實施例中用於對兩Theta草圖進行一聯集運算以產出一聯集閾值草圖的方法之流程圖。
第十七圖為描繪一具體實施例中一草圖系統之系統圖。
第十八圖為繪示一具體實施例中各種基礎架構組件之方塊圖,透過該等基礎架構組件可實施一草圖系統。
第十九圖為描繪本發明之一具體實施例可於其上實施之電腦系統之方塊圖。
為說明之目的,以下敘述列出許多特定細節以提供對本發明的完整瞭解。然而,本發明顯然可在沒有這些特定細節的情況下實施。在其他例子中,習知的結構與裝置係以方塊圖形式顯示,以避免在理解本發明時造成混淆。
概要
分析巨量資料是一種極度計算密集的工作,需耗費冗長的等待時間獲得結果。草圖技術可大幅減少獲得巨量資料結果所需的計算成本 以及等待時間。草圖技術涉及將巨量資料轉換成為一小型資料集合或樣本集合,該小型資料集合或樣本集合代表巨量資料特定面向(或屬性),並在各種具體實施例中被用來獲得巨量資料中一特定資料分析結果估計,例如不重複輸入計數。這些小型樣本集合以及一些具體實施例中相關的元資料,一般稱為「草圖」或草圖資料結構。
草圖在計算巨量資料的不重複數值(即估計基數)等方面是有用的。這是因為草圖可以是順序無關、重複無關,並具有明確與可配置的尺寸界限及錯誤分佈。順序無關特性意味著來自巨量資料的輸入資料串流可依原本狀態處理,不需要對進入資料進行排序。重複無關特性意味著忽略輸入串流中的所有重複,這在估計基數上很重要。具有一有界限的尺寸之重要性在於吾人可以規劃一最大記憶體或磁碟儲存容量,而其與來自該大型資料之輸入資料串流變成多大無關。利用一有界限、明確以及可查詢的錯誤分佈,不只能向該使用者回報任何估計的結果,也可以基於一信賴區間回報該估計的上下界限。
產生與使用草圖之概述
第一圖為繪示一具體實施例中用以產生一草圖以及估計該草圖所代表之一大型資料集合之基數之程式邏輯之系統圖。從巨量資料100產生之一資料串流係餽入至轉換器110中。轉換器110利用只需分析經轉換之集合之一部分來產出預期的結果估計的方式,將該資料串流轉換成一代表性的數值集合。例如,為了估計該資料串流中的基數,轉換器110可為一雜湊函數,針對來自該資料串流的相同資料數值產生相同的雜湊數值。在一些例子中,一雜湊函數可以基於二或多個不重複輸入資料數值產生相同 的雜湊數值。但在考量該資料串流中的資料種類下,可選擇雜湊演算法降低或避免上述的衝突。
轉換器110也產生接近均勻、隨機分佈的經轉換之數值。由於此特性,只需檢查經轉換之數值之一特定子集合,便能產出對整個集合的基數的估計。因此,只有經轉換之數值之此子集合需儲存在一記憶體120中,做為草圖資料結構(或「草圖」)130的一部分。同樣地,對於其他轉換而言,只有經轉換之資料數值之一子集合被匯集成在記憶體120中的草圖130。在經轉換之數值中選擇的子集合及相應的草圖130的尺寸,會受到可用記憶體120的限制。一估計器140處理草圖130與其數值子集合,以估計一結果150。例如在一些具體實施例中,當請求基數做為結果150時,估計器140利用草圖130的尺寸(即元素數量)及/或草圖130中的數值來估計草圖130所代表之大型資料集合的基數,並將所估計的基數輸出做為結果150。
轉換器110與估計器140中每一者為電腦系統的部分,並可仰賴軟體、硬體或軟體及硬體的組合來實施。例如,轉換器110與估計器140中一或多者可利用所儲存的程式邏輯實施,或者仰賴非暫態媒體(例如一般用途電腦的記憶體)或硬體邏輯來實施。
一般而言,產生一草圖以估計一單一結果。此草圖可以只代表與該結果相關之巨量資料的一特定屬性。例如,可產生一草圖以估計一特定月份使用一網頁應用程式的使用者之不重複使用者ID的數量。然而,也可請求針對其他月份作估計以進行後續比較,因此需要針對所請求的每一月份產生個別草圖。接著這些產生的草圖連同產生草圖所針對的維度可儲存於一持續性儲存體中,稱為「草圖市集」。「草圖市集」為一草圖集 合,其中每一草圖都與該集合中至少另一草圖相關,而組合草圖市集中兩相關草圖會產出一有意義的結果。在此示例中,該維度為月份的時間維度。一旦儲存於一草圖市集,便可基於該時間維度查詢該等草圖,並將其用於估計一結果,但更重要的是,用於進行集合運算以產出新的草圖。
在多數巨量資料的資料分析中,需要處理來自巨量資料的多個大型資料集合來產出一特定結果。例如,該巨量資料可包含一使用者ID記錄,以及造訪過一特定網頁應用程式之使用者的時戳。該巨量資料也可包含每月黑名單使用者的使用者ID。該資料分析可能需要所有造訪過該網頁應用程式之不重複、非黑名單使用者的每月計數報告。
透過對草圖進行適當集合運算可得到上述結果的估計。可對草圖進行集合運算來產生另一草圖。接著可使用所產生的草圖進行一結果估計,其為來自巨量資料之大型資料集合的實際交集會產生之結果的估計。因此,可查詢儲存於一草圖市集中的草圖,以進行各種集合運算,獲得一期望的結果估計。
草圖資料結構
一草圖資料結構(或「草圖」)包括經轉換之數值之一樣本集合及與該草圖相關之元資料。在一具體實施例中,一草圖並不包含元資料,例如指出該樣本集合之尺寸(或該樣本集合中經轉換之數值的數量)的元資料,而是可從該樣本集合本身推知上述元資料。一草圖包含從巨量資料轉換所得之數值。該草圖只包含由巨量資料所產生的所有經轉換之數值之一子集合,其中該草圖之尺寸可基於可用的計算資源,例如記憶體。
第二圖繪示存在記憶體120中之草圖130的一具體實施例。在 一具體實施例中,使用一雜湊函數轉換來自巨量資料的資料數值。雜湊函數數值的分佈代表轉換範圍最小數值220(0.0)至轉換範圍最大數值210(1.0)之間的所有實值。當接收到經轉換之數值,只有在保留數值範圍230中的數值被保留於樣本集合200中。元資料240包括草圖130的元資料,例如樣本集合200的最大尺寸與保留數值範圍230閾值。在另一具體實施例中,保留數值範圍230可鄰接於轉換範圍最大數值210。在另一具體實施例中,保留數值範圍230可介於轉換範圍最小數值220與轉換範圍最大數值210之間。
固定尺寸草圖資料結構
一固定尺寸草圖資料結構,也稱為「固定尺寸草圖」為一種草圖資料結構,其樣本集合基於一預設尺寸保留數值。如果該樣本集合已經達到其預設尺寸(例如,最大允許項目),且接收到一新的經轉換之數值,則該新數值會取代該草圖樣本集合中一現有數值,或被屏除而不存入該樣本集合。可將該樣本集合之預設尺寸儲存為元資料240的一部分,或是就已產生的固定尺寸草圖,可由該樣本集合本身計算出預設尺寸。該預設尺寸以K值表示,其為最大樣本集合尺寸。第三圖繪示一固定尺寸草圖300之一具體實施例,其具有樣本集合200以及最大樣本集合尺寸310(即K值)。
第五圖繪示用以產生一用於基數計算之固定尺寸草圖之一具體實施例。以下敘述參照第三圖的固定尺寸草圖300,其做為一固定尺寸草圖的示例。在方塊500,接收一經轉換之數值。若在方塊510處判定該經轉換之數值已存在於第三圖之樣本集合200中,則在方塊505處屏除該數值,然後進行至方塊500。若接收到之經轉換之數值不在樣本集合200中,則在方塊520處就可用空間對樣本集合200進行評估。
若在方塊520處判定樣本集合200已經達到K值(即第三圖的最大樣本集合尺寸310),則在方塊525處將該經轉換之數值與樣本集合200中的最大數值比較。若該經轉換之數值小於該最大數值,則在方塊530處屏除樣本集合200中的最大數值以為該經轉換之數值提供空間。然而,若該經轉換之數值大於樣本集合200中的最大數值,則在方塊505處屏除該數值,然後進行至方塊500。
在方塊540處,將所接收的經轉換之數值插入至樣本集合200。在一具體實施例中,樣本集合200為數值的有序列表,其中樣本集合200中的最小數值為該第一元素,而最大數值為樣本集合200中的第K個元素。因此,根據此具體實施例,將於方塊525處評估樣本集合200中第K個數值,並在方塊530處將其移除。
閾值(Theta)草圖資料結構
一閾值草圖資料結構(或「Theta草圖」)為一種草圖類型,其中樣本集合基於一或多個閾值與一目標樣本集合尺寸保留數值。是否將一接收到的經轉換之數值插入該樣本集合是根據所接收的數值是否大於或小於該草圖之一或多個閾值來決定。可調整該等閾值以符合該樣本集合之一界限尺寸。該樣本集合的界限尺寸可基於該草圖之一目標樣本集合尺寸來計算,該目標樣本集合尺寸係儲存為該草圖的元資料的一部分。可屏除該草圖中該等經調整閾值以外的任何數值。在一具體實施例中,屏除該等經調整閾值以外的草圖資料數值可與接收一經轉換之數值非同步進行。在一相關具體實施例中,閾值調整本身可與接收一經轉換之數值非同步進行。
第四圖為繪示一具體實施例中一Theta草圖400之方塊圖。 Theta草圖400包含樣本集合200,其具目標樣本集合尺寸420(即K’值)以及作為該草圖的元資料之上閾值410(即Theta值)。Theta草圖400係由接收來自巨量資料之經轉換之數值所產生。Theta草圖400具有等於該轉換範圍最小數值的一最小閾值,因此不需要將該最小閾值儲存為Theta草圖400之元資料的一部分。
第六圖為繪示一具體實施例中用於產生一Theta草圖的方法之流程圖。第六圖是利用第四圖的Theta草圖400與樣本集合200加以敘述。在方塊600處,將Theta值(即上閾值410)初始化為第二圖的轉換範圍最大數值210。在方塊605處,接收一經轉換之數值。在方塊610處,若該數值大於或等於Theta值410,則於方塊615處屏除該經轉換之數值,然後回到方塊605處理下一個經轉換之數值。在方塊620處,判定該經轉換之數值相對於該樣本集合中其他經轉換之數值是否不重複。若非不重複,則於方塊615處屏除該經轉換之數值,然後回到方塊605。然而,若判定該經轉換之數值為不重複,則在方塊630處將所接收的經轉換之數值插入樣本集合200。
在方塊640處,樣本集合200的目前尺寸係與K’值(即目標樣本集合尺寸420)比較。若樣本集合200的尺寸已經達到K’值加一,則在方塊650處將最大數值從樣本集合200中移除,而在方塊660處,將Theta值指定為該已移除最大數值。否則,若樣本集合200的尺寸並未達到K’值加一,則Theta值410保持不改變,然後回到方塊605。
在一具體實施例中,樣本集合200為數值的有序列表,其中樣本集合200中的最小數值為第一元素,而最大數值為樣本集合200中的最後元素。因此,在此具體實施例中,將於方塊650處屏除樣本集合200的最 後數值,而在方塊660處將Theta值410指定為樣本集合200的最後數值。
儘管以上示例指出樣本集合200的範圍係從0至代表小於1的數值(Theta),但具體實施例適用於一草圖樣本集合的範圍係從代表「1」的數值至代表大於「0」的數值之情境。在此具體實施例中,一接收到的閾值會與一下閾值(未描繪)而非上閾值410進行比較。該等具體實施例的基數估計及集合運算也會相應改變。
第七圖描繪以第四圖之樣本集合200產生Theta草圖400來進行基數計算之另一具體實施例。與方塊600相同,在方塊700處,將Theta值(即上閾值410)初始化為第二圖的轉換範圍最大數值210。與方塊605相同,在方塊705處,接收一經轉換之數值。與方塊610相同,方塊710係關於判定該經轉換之數值是否小於Theta值410。若結果為否,則屏除該經轉換之數值然後進行至方塊705以接收下一個經轉換之數值(若有)。若該經轉換之數值小於Theta值410,則進行至方塊720,其判定該經轉換之數值相對於第四圖之樣本集合200中其他經轉換之數值是否不重複。
若判定該經轉換之數值並非不重複(即該經轉換之數值已存在於樣本集合200中),則屏除該經轉換之數值。然而,與方塊630不同的是,若該經轉換之數值不存在於樣本集合200中,則樣本集合200之尺寸並不與K’值(即目標樣本集合尺寸420)比較,而是在方塊740處降低Theta值410,在方塊760處將該經轉換之數值插入樣本集合200。在方塊750處,屏除樣本集合200中大於或等於Theta值410的數值,這可與接收該等經轉換之數值非同步進行。
根據一具體實施例,在方塊740處基於K’值(即目標樣本集合 尺寸420)降低Theta值410。Theta值410可基於K’值以多種方式降低。具體實施例並不限定為任何特定技術。例如,可根據下列方程式降低Theta(θ)值410,其中K值為實際樣本集合尺寸:
在另一示例,可根據下列方程式降低Theta(θ)值410:
在另一示例,可根據下列方程式降低Theta值410:
在又另一示例,可根據下列方程式降低Theta值410:
草圖轉換
在一具體實施例中,可將一固定尺寸草圖轉換為一theta草圖,反之亦然。將一固定尺寸草圖轉換為一theta草圖涉及從該固定尺寸草圖移除最小及/或最大數值,並將該草圖元資料中的數值儲存為閾值。再者,若K值(即最大樣本集合尺寸)儲存在一固定尺寸草圖之元資料中,則將其自該元資料中移除。所得草圖會構成一Theta草圖,而非固定尺寸草圖。
同樣地,將一theta草圖轉換為一固定尺寸草圖涉及屏除theta草圖元資料中一或多個閾值,而目前樣本集合的尺寸可儲存在該元資料中。所得草圖會構成一固定尺寸草圖。
第八A圖描繪一具體實施例中,利用第三圖固定尺寸草圖之示例,將一固定尺寸草圖轉換為一theta草圖。在方塊800A處,從固定尺寸 草圖300的樣本集合200中選擇第K個元素。在方塊810A處,將第K個元素儲存於元資料中做為theta上閾值。在方塊820A處,屏除樣本集合200中第K個元素。在方塊830A處,將元資料中的K值(即最大樣本集合尺寸310)更名為K’值(即目標樣本集合尺寸)。所得草圖則被視為一theta草圖。
第八B圖描繪一具體實施例中,利用第四圖之示例,將一theta草圖轉換為一固定尺寸草圖。在方塊800B處,屏除元資料中的Theta值(即上閾值410)。在方塊810B處,也屏除元資料中的K’值一目標樣本集合尺寸420。在方塊820B處,樣本集合的尺寸在元資料中儲存為K值(即最大樣本集合尺寸)。接著,所得草圖被視為一固定尺寸草圖。雖然以一特定順序描繪及敘述第八A圖與第八B圖,但具體實施例並不限定為該特定順序。例如,方塊830A可在方塊800A之前進行,而方塊810B可在方塊800B之前進行。
在一具體實施例中,可對多個草圖進行草圖轉換。例如,可將多個固定尺寸草圖的集合轉換為theta草圖的集合,而做為一單一運算的一部分。可回應從一使用者接收一單一命令而進行此單一運算。該單一命令可指明個別草圖,或可指明儲存待轉換之草圖集合的一實體或邏輯容器。因此,在轉換一草圖之後以及轉換另一草圖之前,並不需要個別的輸入,而是將多個草圖從一類型(例如,固定)平行轉換為另一類型(例如,Theta)。
基數估計
可以基於一大型資料集合的一草圖估計來自巨量資料之該大型資料集合的基數。在一具體實施例中,利用一雜湊函數來轉換大型資料集合數值。此種轉換使該等大型資料集合數值均勻地隨機化,而不失去 該等大型資料集合數值與經轉換之數值之間的一對一對應關係。該等經轉換之數值均勻分佈於一轉換範圍最大數值與一轉換範圍最小數值之間,並藉由只擷取該等經轉換之數值之一連續子集合產生一樣本集合。因此,所擷取的樣本集合之基數與經轉換之數值資料集合的基數和該大型資料集合的基數成比例。該比例可由下列方程式表示,其中est(|M i |)為該大型資料集合經估計之基數,|Si|為M i 之一草圖S i 的基數,F(M i )max為一轉換範圍最大數值,F(M i )min為一轉換範圍最小數值,x max 為該保留數值範圍中的樣本集合最大數值,而x min 為該保留數值範圍中的樣本集合最小數值:
在一具體實施例中,可針對theta草圖進一步簡化上述方程式(5)。就一Theta草圖,|S i |-2為theta草圖的基數,x max 為上閾值-θ hi 值,而x min 為下閾值-θ lo 值。因此,針對theta草圖,可進一步將方程式(5)簡化如下:
根據一具體實施例,可將該轉換數值範圍正規化到0至1之間,其中該草圖保留數值範圍具有最小數值0。因此針對此具體實施例可進一步將方程式(5)簡化如下:
根據上述方程式(7),可以輕易推知固定尺寸草圖與theta草圖兩者的基數估計。就一固定尺寸草圖,|S i |為該固定尺寸草圖的基數,x max 為該固定尺寸草圖的第K個數值。就一theta草圖,|S i |-1為該theta草圖的基數,而x max 為上閾值(即θ值)。因此,針對theta草圖,可進一步簡化該基數 方程式如下:
在另一具體實施例中,利用第七圖的方法從一大型資料集合建構具有K’值(即目標樣本集合尺寸)的theta草圖,其中θ值(即上閾值)在方塊740處利用方程式(4)降低。在此具體實施例中,下列方程式提供該大型資料集合經估計的基數est(|M i |):
草圖市集
草圖可儲存於一資料庫供後續使用。該資料庫可為任何可查詢的持續性儲存體,例如一關聯資料庫或一分散式檔案系統。
可沿著一特定維度將草圖匯整成一草圖集合,在此稱為「草圖市集」。草圖市集中的每一草圖與該集合中至少另一外草圖相關。再者,將草圖市集中兩相關草圖組合會產出一有意義的結果,例如在一特定月份期間曾造訪一財經網站與一運動網站之不重複使用者的數量。
第九圖為繪示一具體實施例中儲存於一草圖市集資料庫900之一草圖市集910之立體圖。雖然第九圖中只描繪一草圖市集,但草圖市集資料庫900可以包括多個草圖市集。草圖(S'j)912與草圖(S'k)914為草圖市集910的一部分,並已沿著維度915被蒐集及/或產生。可用於將草圖群集化成不同草圖市集的維度數量與類型眾多。例示維度包括時間(例如,日、月或年)、入口網站、網頁應用程式、提送請求之客戶端裝置的地理位置、該等客戶端裝置的類型(例如,平板、桌上型電腦、智慧型手機)、該等客戶端裝置的作業系統類型(例如,Windows、Android、iOS)。
可根據一草圖市集識別碼與一維度數值查詢草圖市集資料庫900,以從經辨識別之草圖市集擷取一特定草圖或草圖集合。例如,從草圖市集910擷取一或多個草圖的查詢可以指明一維度數值範圍(例如,「月=一月及二月」),並可從草圖市集資料庫900擷取得草圖912與914。
在一具體實施例中,一草圖市集不是一「固定尺寸草圖市集」就是一「Theta草圖市集」。一固定尺寸草圖市集為包括固定尺寸草圖的草圖市集。一固定尺寸草圖市集中的每一草圖具有的經轉換之數值數量與該固定尺寸草圖市集中每一其他草圖相同。
草圖集合運算
可組合草圖來估計該等草圖所代表之較大型資料組合的結果。由於一草圖係由一樣本集合與元資料所構成,因此可利用對樣本集合進行需要的集合運算並對所得草圖元資料(若有)進行調整來組合二或多個草圖。集合運算包括聯集、交集及差集。有多種情境適合將二或多個草圖進行組合。一例示情境為確定一特定年份中,每月至少造訪一特定網頁或網站一次的使用者數量。此情境反映於第十圖中。
第十圖為一繪示一具體實施例中組合多個草圖以產生另一草圖之方塊圖。具體來說,第十圖描繪一使用者ID資料庫(Mi)1050。每一月份i,來自資料庫1050之使用者ID會轉換成草圖S’(M i )1055,其代表每一月份i的使用者ID資料。所產生之草圖沿著月份維度i儲存於草圖市集(S’i)1060中。因此,草圖(S'j)912與草圖(S'k)914可分別代表第j月份與第k月份的草圖。因此,向草圖市集資料庫900提出第j月份一使用者ID草圖的查詢,將回傳草圖(S'j)912。參考以下對第十圖的進一步敘述。
固定尺寸草圖集合運算
可對固定尺寸草圖進行集合運算,以產出一所得固定尺寸草圖。該所得固定尺寸草圖取決於該集合運算所產生的數值數量。然而,可配合有限的計算資源將所得樣本集合尺寸縮小至經運算草圖之最小樣本集合尺寸。
在一具體實施例中,藉由對經運算草圖的樣本集合進行一聯集運算,建構一固定尺寸聯集草圖。藉由移除較大數值的方式,所得聯集樣本集合尺寸與該最小經運算草圖尺寸樣本集合的尺寸相符。換句話說,若K值為該最小經運算固定尺寸草圖的樣本集合尺寸,則只保留該聯集樣本集合中前面K個最小數值;剩餘的數值便被屏除。因此,該固定尺寸聯集草圖會包含所得聯集樣本集合,並具有等於最小K值的最大樣本集合尺寸,K值為經運算固定尺寸草圖之最大樣本集合尺寸。
例如,草圖S’j可以包含具有數值0.1、0.3、0.4、0.5、0.6及0.7之樣本集合,而K值(即最大樣本集合尺寸)設為6。草圖S’k可包含樣本集合數值0.2、0.4及0.6,而K值(即最大樣本集合尺寸)設為3。對該兩樣本集合進行聯集運算會產出一聯集樣本集合,具有數值0.1、0.2、0.3、0.4、0.5、0.6及0.7。由於聯集樣本集合尺寸為7,大於最小的K值3,因此從該聯集樣本集合移除較大數值,以將其尺寸縮小至最小K值3。因此,所得聯集草圖S”u包含樣本集合數值0.1、0.2及0.3,並具有最大樣本集合尺寸為3的K值。
在一相關具體實施例中,同樣對經運算草圖之樣本集合進行一聯集運算,以建構一固定尺寸聯集草圖。接著,基於第K個數值縮小所得聯集樣本集合,第K個數值為經運算樣本集合之每一者中的最大數值。比較 經運算樣本集合的第K個數值,並移除聯集樣本集合中大於第K個數值中最小值的所有數值。接著,該固定尺寸聯集草圖會包含所得聯集樣本集合,並具有與所得樣本集合尺寸相等的最大樣本集合尺寸。
例如,草圖S’j可包含具有數值0.1、0.3、0.4、0.5、0.6及0.7的樣本集合,而K值(即最大樣本集合尺寸)設為6。草圖S’k可包含具有數值0.2、0.4及0.6的樣本集合,而K值(即最大樣本集合尺寸)設為3。對該兩樣本集合進行聯集運算會產出一聯集樣本集合,具有數值0.1、0.2、0.3、0.4、0.5、0.6及0.7。S’j所具有之最大數值(即第K個數值)為0.7,而S’k所具有之最大數值(即第K個數值)為0.6。因此最小的第K個數值為0.6,而該聯集樣本集合中大於0.6的所有數值都被移除。因此,所得聯集草圖S”u會包含樣本集合數值:0.1、0.2、0.3、0.4、0.5及0.6,並具有最大樣本集合尺寸為6的K值。
第十一圖為繪示一具體實施例中用於對固定尺寸草圖進行一聯集運算的方法之流程圖。該等固定尺寸草圖分別稱為草圖S’j及草圖S’k,所得草圖則稱為草圖S”u。在方塊1100處,來自草圖S’k的所有數值都被複製到(最初空白的)草圖S”u中。接著,在方塊1110處從草圖S’j選擇一數值,並於方塊1120處將該數值與草圖S’k中的一或多個數值比較。未於草圖S’k中發現的數值則於方塊1130處插入至草圖S”u樣本集合中。一旦選擇草圖S’j樣本集合中所有數值,最後從方塊1120進行至方塊1150。在方塊1150處,將K值(即草圖S”u的最大尺寸)設為草圖S’k及草圖S’j之K值的最小值。在方塊1160處,將K值與草圖S”u的實際樣本集合尺寸作比較。若草圖S”u的實際樣本集合尺寸小於或等於K值,則在方塊1170處移除草圖S”u樣本集合尺寸中大於草圖S”u中第K個數值的所有數值。
第十二圖為繪示一具體實施例中用於對固定尺寸草圖進行一聯集運算的方法之流程圖。同樣地,該等固定尺寸草圖分別稱為草圖S’j及草圖S’k,所得草圖則稱為草圖S”u。與第十一圖中方塊1100相似,在方塊1200處,將草圖S’k的所有數值複製到草圖S”u中。接著,在方塊1210處從草圖S’j選擇一數值,並於方塊1220處將該數值與草圖S’k中的數值比較。未於草圖S’k中發現的數值於方塊1230處插入至草圖S”u中。一旦選擇草圖S’j樣本集合中所有數值(如於方塊1240處決定),便進行至方塊1270。然而,與第十一圖中的方塊1170不同的是,在方塊1270處,草圖S”u中只有大於草圖S’j的第K個數值或大於草圖S’k的第K個數值的數值被移除。
theta草圖集合運算
在一具體實施例中,對theta草圖進行集合運算以產出一所得theta草圖。所得theta草圖的尺寸取決於輸入theta草圖的個別閾值。
第十三圖為繪示一具體實施例中對兩輸入theta草圖進行不同集合運算所產生的theta草圖之方塊圖。草圖A由一樣本集合(即樣本集合A1300)與一上閾值(即θA值1305)構成,其中樣本集合A 1300中的數值係以遞減順序繪示:數值V1大於數值V2,而數值V2大於數值V3。草圖B由一樣本集合(即樣本集合B 1310)構成,其中樣本集合B 1310中的數值係以遞減順序繪示:數值V3大於數值V4。草圖B進一步由一上閾值(即θB值1315)構成,其中θB值1315小於數值V1,因此進一步小於θA值1305。
在一具體實施例中,進行一所得草圖上閾值之計算以為任何草圖運算△,例如聯集、差集或交集,產出一所得theta草圖。該所得草圖上閾值(即θ值1325)係由採用經運算草圖之上閾值:θA值1305及θB值1315中 最小值所確定。在此具體實施例中,由於θB值1315小於θA值1305,θ值1325等於θB值1315。
接著,確定對草圖A與草圖B進行一運算之一所得草圖樣本集合。首先,對樣本集合A 1300與樣本集合B 1310進行集合運算,接著移除大於θ值1325的任何數值。
針對草圖A與草圖B進行的一聯集運算,該聯集運算係對樣本集合A 1300數值V1、V2、V3與樣本集合B 1310數值V3、V4進行。該聯合運算產出數值:V1、V2、V3及V4的超集合,如樣本集合A U B 1320所示。然而,由於數值v1大於所得上閾值(即θ值1325),將V1從樣本集合A U B 1320中移除,如第十三圖中V1周圍的括號所示。
同樣地,對草圖A與草圖B進行一差集運算首先會產出樣本集合A\B 1330。樣本集合B 1310中亦存在於樣本集合A 1300中的任何數值均從樣本集合A 1300中移除,以為樣本集合A\B 1330產生數值V1及V2。然而,由於數值V1大於所得上閾值(即θ值1325),因此將數值V1從樣本集合A\B 1330中移除,如第十三圖中V1周圍的括號所示,而數值V2仍保留於樣本集合A\B 1330中。
對草圖B與草圖A進行一差集運算產出樣本集合B\A1340。樣本集合A 1300中亦存在於樣本集合B 1310中的任何數值,均從樣本集合B 1310中移除,以為樣本集合B\A 1340產生數值V4。由於數值V4小於θ值1325,數值V4便保留於樣本集合B\A 1340中。
對草圖A與草圖B進行一交集運算產出樣本集合A ∩ B 1350。來自樣本集合A 1300的數值V1、V2、V3與來自樣本集合B 1310的數 值V3、V4交集以為樣本集合A ∩ B 1350產出共同數值V3。由於數值V3小於θ值1325,數值V3便保留於樣本集合A ∩ B 1350中。
第十四圖為繪示用於使用兩theta草圖作為輸入項而進行一集合運算的方法之流程圖。在方塊1400與1410處,將一所得草圖的閾值設為個別輸入草圖之閾值的最小值與最大值。接著,在方塊1420處對經運算草圖的樣本集合進行所需的集合運算。接著,於方塊1430處將所得樣本集合儲入所得theta草圖中。接著,在方塊1440處移除所得theta草圖樣本集合中未落在所得草圖閾值內的所有數值。所得theta草圖為對經運算theta草圖進行所需的集合運算的產物。
在一相關具體實施例中,執行與第十四圖所示方法類似的方法。差異在於所得草圖中的數值並非在該方法執行時被同步移除。換句話說,移除待屏除的數值可由一不同方法負責。
第十五圖為繪示一具體實施例中用於對theta草圖進行一交集運算的方法之流程圖。theta草圖分別稱為草圖S’j及草圖S’k,所得草圖則稱為草圖S”j,k。在方塊1500處,將所得結果草圖S”j,k的theta值設為經運算草圖S’j及S’k之theta值的最小值。在方塊1510處從草圖S’j中選擇一數值,並於方塊1520處將該數值與草圖S’k中的數值作比較。若於草圖S’k中發現所選擇的數值,則於方塊1530處將該數值插入至草圖S”j,k。一旦選擇與比較過草圖S’j中所有數值,且草圖S’j中未遺留任何要處理的數值(如方塊1540中所判定),接著便進行至方塊1550。
在方塊1550處,移除草圖S”j,k樣本集合中大於草圖S”j,k之Theta值的所有數值。因此,草圖S”j,k為對草圖S’j及草圖S’k進行交集運算的 結果。
第十六圖為繪示一具體實施例中用於對theta草圖進行一聯集運算的方法之流程圖。theta草圖分別稱為草圖S’j及草圖S’k,所得聯集草圖則稱為草圖S”u。在方塊1600處,將所得草圖S”u的Theta值設為經運算草圖S’k及S’j之Theta值的最小值。在方塊1610處,將草圖S’k之數值複製到草圖S”u中。接著在方塊1620處,從草圖S’j中選擇一數值,並於方塊1640處將該數值與草圖S’k中的數值作比較。若所選擇的數值不存在於草圖S’k中,則於方塊1650處將該數值插入至草圖S”j,k中。一旦選擇與比較過草圖S’j中的所有數值,且判定(在方塊1630處)草圖S’j中未遺留任何需要處理的數值,接著便進行至方塊1660。在方塊1660處,移除草圖S”u中大於草圖S”u之Theta值的所有數值。
草圖集合運算基數估計
對草圖進行集合運算能獲得大型資料集合組合的估計結果。例如,一大型資料集合可具有已使用一特定網頁應用程式或已造訪一特定網站之使用者的記錄。此資料可包含具有時戳的使用者ID。為了決定每一月份該網頁應用程式之使用者的留存率,需要從該記錄查詢一月份之使用者ID的資料集合,並與另一月份之使用者ID的資料集合進行交集。該交集的不重複計數會產出那些月份該網頁應用程式的使用者留存數量。藉由從大型資料集合產生草圖、對該等草圖進行集合運算,並基於進行該等集合運算所產生之草圖來估計結果,可獲得對此結果的估計。
第十圖(先前已敘述一部份)描繪此一情境。資料庫(M i )1050代表每一月份i具有時戳的使用者ID之記錄。為了獲得每一月份不重複使用 者的估計,於方塊1055處產生每一月份i的草圖S’(M i )。數個S’(M i )草圖(例如,12個,對應一特定年度的每一月份)儲存於草圖市集(S’ i )1060中。為了產生每月使用者留存結果,可向草圖市集S’ i 分別查詢jk月份的草圖,即草圖S’ j 與草圖S’ k 。在方塊1065處,可對草圖,即草圖S’ j 與草圖S’ k ,進行一交集運算,以產生草圖S” j,k 。該交集運算可按照在集合運算段落中敘述之任何方法進行。再者,由於可對從草圖市集資料庫擷取之草圖進行交集這類集合運算,該等集合運算可與方塊1055中敘述的草圖生成完全非同步進行。於方塊1070處,所得草圖S” j,k 代表在月份j及月份k之共同使用者ID資料。在方塊1075處可為基數評估草圖S” j,k ,以估計基數(即結果 j,k )。該基數(即結果 j,k )代表在月份j及月份k均造訪該網站之共同使用者的不重複計數。在方塊1080處,結果 j,k 可儲存於一資料庫。可由方塊1080處所述之結果資料庫產生一條形圖表1090,其中每一長條代表每一月份造訪過該網頁應用程式之使用者留存率的計數。
集合運算所產生的草圖基數可藉由用於估計透過資料產生之草圖之基數的相同方程式來估計。可基於交集運算利用以下方程式估計基數:
其中|C U |為經運算草圖之聯集草圖的基數,x u 為聯集樣本集合中的最大數值,|C I |為經運算草圖之交集草圖的基數。
對於形成一theta草圖的集合運算而言,方程式可進一步簡化成:
因此,就theta草圖,對於任何集合運算利用一所得theta草圖進行的基數估計,可被精確估計為:
其中△為任何集合運算,|C|為對經運算草圖進行△集合運算所得之樣本集合的基數,而θ 值為對經運算草圖進行△運算所得之Theta值。在一具體實施例中,θ 值可為經運算草圖之θ’s值中的最小值。
草圖系統
第十七圖為繪示一具體實施例中一草圖系統1700之方塊圖。草圖系統1700可用於轉換來自巨量資料之大型資料集合的數值、產生草圖、儲存草圖於草圖市集資料庫中、從草圖市集資料庫中擷取草圖、對草圖進行集合運算,以及估計草圖所代表之大型資料集合的基數。在一具體實施例中,由巨量資料1710產生一資料串流並餽入至草圖系統1700中。數值轉換器1720為草圖系統1700之一組件,從巨量資料1710接收該資料串流。數值轉換器1720將該資料串流轉換為能據以產生草圖之一代表性數值集合。
草圖產生器1730為草圖系統1700之一組件,從數值轉換器1720接收經轉換之資料集合,並基於經轉換之資料集合產生一草圖。草圖產生器1730可將草圖餽入至基數估計器1740或草圖運算器1750,或將草圖儲存於草圖市集資料庫1760中供後續取用。在一具體實施例中,草圖產生器1730可一次接收多個經轉換之資料集合,平行產生草圖,並將該等草圖 餽入至草圖系統1700之其他組件。
草圖運算器1750為草圖系統1700之一組件,可以從草圖產生器1730接收草圖做為輸入項,或從草圖市集資料庫1760擷取草圖。草圖運算器1750對輸入草圖進行集合運算,產生一所得草圖。草圖運算器1750可將所得草圖儲存於草圖市集資料庫1760中,或將草圖餽入至基數估計器1740。在一具體實施例中,草圖運算器1750可以平行方式進行多項集合運算,並將所得草圖餽入至草圖系統1700之其他組件。
基數估計器1740為草圖系統1700之一組件,接收到一草圖即對草圖與其數值子集合進行處理,以估計結果。在一具體實施例中,基數估計器1740可以平行方式進行多項估計以產出多項結果。
數值轉換器1720、草圖產生器1730、基數估計器1740、草圖運算器1750與草圖市集資料庫1760皆為電腦系統之部分,並可仰賴軟體、硬體或軟體與硬體的組合實施。例如,數值轉換器1720、草圖產生器1730、基數估計器1740、草圖運算器1750與草圖市集資料庫1760中的一或多者可利用所儲存的程式邏輯來實施。
第十八圖為繪示一具體實施例中各種基礎架構組件之方塊圖,透過該等基礎架構組件可實施一草圖系統。基礎架構組件合稱為一分析資料倉儲(ADW)1800。ADW 1800可利用用於分散式資料儲存的Hadoop檔案系統(HDFS)1808以及Hadoop-MR6建立,Hadoop-MR6為一種映對簡化(MR)驅動處理系統。可使用多個Hadoop系統或格網1808。Hadoop格網1808包括一Hive-7系統1820。依照需要,ADW 1800進一步包括一Spark/Shark衛星叢集1830。
在一相關具體實施例中,草圖市集資料庫1760可實施為HDFS 1808的一部分。數值轉換器1720、草圖產生器1730、基數估計器1740與草圖運算器1750可利用一或多個Hive-7系統1820叢集或Spark/Shark衛星叢集1830來實施。
硬體概述
根據一具體實施例,在此敘述之技術係由一或多個特殊用途計算裝置所實施。該等特殊用途計算裝置可採用硬佈線方式執行該等技術,或可包含一或多個特定應用積體電路(ASIC)或場可程式閘陣列(FPGA)等經持續編程成執行該等技術之數位電子裝置,或可包含一或多個一般用途硬體處理器,其經編程成根據韌體、記憶體、其他儲存體或其組合中的程式指令執行該等技術。該等特殊用途計算裝置也可結合具有客製化編程的客製化硬佈線邏輯、ASICs或FPGAs來完成該等技術。該等特殊用途計算裝置可為桌上型電腦系統、可攜式電腦系統、手持裝置、網路裝置,或整合硬佈線及/或程式邏輯以實施該等技術的任何其他裝置。
例如,第十九圖為描繪一電腦系統1900之方塊圖,本發明之一具體實施例可於該電腦系統上實施。電腦系統1900包含一匯流排1902或用於傳輸資訊的其他通訊機制,以及一與匯流排1902耦接以處理資訊之硬體處理器1904。硬體處理器1904可以是(例如)一般用途微處理器。
電腦系統1900也包括一主記憶體1906,例如一隨機存取記憶體(RAM)或其他動態儲存裝置,其耦接至匯流排1902以儲存資訊及待處理器1904執行之指令。主記憶體1906也可用於儲存待處理器1904執行之指令執行期間的暫時變數或其他中間資訊。該等指令儲存於處理器1904可存 取之非暫態儲存媒體時,使得電腦系統1900成為經客製化以進行該等指令中所指明的運算之特殊用途機器。
電腦系統1900進一步包含一唯讀記憶體(ROM)1908或其他靜態儲存裝置,其耦接至匯流排1902以為處理器1904儲存靜態資訊與指令。設置一儲存裝置1910(例如磁碟、光碟或固態硬碟),並將其耦接至匯流排1902以儲存資訊與指令。
電腦系統1900可透過匯流排1092耦接至一顯示器1912,例如一陰極射線管(CRT),向一電腦使用者顯示資訊。一包含文數鍵和其他鍵之輸入裝置1914係耦接至匯流排1902以將資訊與命令選擇傳輸至處理器1904。另一種類型的使用者輸入裝置為游標控制器1916(例如滑鼠、軌跡球或游標方向鍵),用於將方向資訊與命令選擇傳輸至處理器1904,並用於控制顯示器1912上的游標移動。此輸入裝置一般而言具有在兩軸上,即一第一軸(例如,x軸)與一第二軸(例如,y軸),的兩個自由度,讓該裝置能具體指明在一平面上的位置。
電腦系統1900可利用客製化硬佈線邏輯、一或多個ASICs或FPGAs、韌體及/或程式邏輯來實施本文敘述之該等技術,上述軟、硬體與電腦系統結合以使電腦系統1900成為或將其編程為一特殊用途機器。根據一具體實施例,此處之該等技術係由電腦系統1900回應執行主記憶體1906所包含之一或多個指令的一或多個序列之處理器1904而實行。該等指令可從另一儲存媒體(例如儲存裝置1910)讀取至主記憶體1906。執行主記憶體1906中包含的指令序列使處理器1904進行在此敘述之方法步驟。在替代具體實施例中,硬佈線電路可用來取代軟體指令或與之結合。
在此使用之「儲存媒體」一詞是指任何非暫態媒體,其儲存使一機器以特定方式運作之資料及/或指令。該儲存媒體可包含非揮發性媒體及/或揮發性媒體。非揮發性媒體包含光碟、磁碟或固態硬碟等,例如儲存裝置1910。揮發性媒體包含動態記憶體,例如主記憶體1906。常見儲存媒體形式包含軟碟、可撓性碟片、硬碟、固態硬碟、磁帶或任何其他磁性資料儲存媒體、CD-ROM、任何其他光學資料儲存媒體、任何具有孔排列模式的實體媒體、RAM、可程式唯讀記憶體(PROM)及可抹拭可程式唯讀記憶體(EPROM)、快閃可抹拭可程式唯讀記憶體(FLASH-EPROM)、非揮發性隨機存取記憶體(NVRAM)或其他記憶晶片或卡匣等。
儲存媒體與傳輸媒體不同,但可以結合在一起使用。傳輸媒體參與儲存媒體之間的資訊傳送。例如,傳輸媒體包含同軸電纜、銅線和光纖,包含構成匯流排1902之接線。傳輸媒體也可採聲波或光波的形式,例如在無線電波與紅外線資料傳輸期間所產生的波。
將一或多個指令之一或多個序列運載至處理器1904執行涉及多種媒體形式。例如,該等指令最初運載於一遠端電腦的磁碟或固態硬碟上。該遠端電腦可將該等指令載入至其動態記憶體並利用數據機透過電話線傳送該等指令。一屬於電腦系統1900一部份的數據機可接收該電話線上的資料,並利用一紅外線傳輸器將該資料轉換成一紅外線訊號。一紅外線偵測器可接收該紅外線訊號所運載的資料,而適當的電路可將該資料置放於匯流排1902上。匯流排1902將該資料運載至主記憶體1906,處理器1904從主記憶體1906擷取該等指令並加以執行。由主記憶體1906所接收之該等指令可依照需要在由處理器1904執行之前或之後儲存於儲存裝置1910上。
電腦系統1900也包含一耦接至匯流排1902之通訊介面1918。通訊介面1918提供連接至一網路鏈結1920的雙向資料通訊,網路鏈結1920則連接至一區域網路1922。例如,通訊介面1918可為一整合服務數位網路(ISDN)卡、纜線數據機、衛星數據機或與一相應類型的電話線建立資料通訊連線的數據機。在另一示例中,通訊介面1918可為一區域網路(LAN)卡,與一相容的LAN建立資料通訊連線。也可實施無線鏈結。在任何上述實施情況中,通訊介面1918傳送與接收電子、電磁或光學訊號,其運載代表各種類型資料的數位資料串流。
網路鏈結1920一般而言透過一或多個網路與其他數據裝置建立資料通訊。例如,網路鏈結1920可透過區域網路1922與一主機1924建立連線,或與網路服務業者(ISP)1926所操作之數據設備建立連線。ISP 1926再透過目前通稱稱為「網際網路」1928的全球性封包資料通訊網路提供資料通訊服務。區域網路1922與網際網路1928兩者均使用運載數位資料串流的電子、電磁或光學訊號。透過各種網路以及在網路鏈結1920上並透過通訊介面1918運載數位資料往返電腦系統1900的訊號,為傳輸媒體的示例形式。
電腦系統1900可透過網路、網路鏈結1920與通訊介面1918傳送訊息與接收包括程式碼在內的資料。在網際網路的示例中,一伺服器1930可透過網際網路1928、ISP 1926、區域網路1922與通訊介面1918傳輸針對一應用程式所請求的程式碼。
所接收的程式碼可由處理器1904在接收時執行,及/或儲存於儲存裝置1910或其他非揮發儲存體中,供後續執行。
在前述說明中,已參考許多特定細節敘述本發明之具體實施例,而不同實施例之該等特定細節可以變更。因此,本說明書與圖式應視為示例性而非用以限制本發明。本發明範圍之唯一指標,以及申請者所欲之本發明範圍,為本申請案請求項之逐字與均等範圍,包括任何後續的修正。

Claims (27)

  1. 一種執行具有定義草圖精確度分佈之集合運算的系統,包含:一處理器與一包含一草圖資料結構之非暫態記憶體,該草圖資料結構代表對一第一大型資料集合與一第二大型資料集合進行一集合運算的輸出,該草圖資料結構包含:一樣本集合,其包含複數個數值,一目標尺寸,其中該樣本集合中該數值之一數量係至少部分基於該目標尺寸,以及一純量數值,其係至少部分基於該目標尺寸,且指明該複數個數值的上界限或下界限;其中該樣本集合中各該數值係小於該純量數值或該樣本集合中各該數值係大於該純量數值。
  2. 如申請專利範圍第1項所述之系統,其中該樣本集合包含複數個經轉換之數值,其係藉由轉換來自該第一大型資料集合與該第二大型資料集合的數值而產生。
  3. 如申請專利範圍第2項所述之系統,其中該複數個經轉換之數值實質上呈均勻分佈。
  4. 如申請專利範圍第2項所述之系統,其中該複數個經轉換之數值包含複數個雜湊數值,其係藉由對來自該第一大型資料集合與該第二大型資料集合的數值應用一雜湊函數而產生。
  5. 如申請專利範圍第4項所述之系統,其中該複數個雜湊數值係基於使用者識別碼、對特定網頁的印象資料或點擊資料。
  6. 如申請專利範圍第1項所述之系統,其中該樣本集合包含複數個數值,該複數個數值中每一者小於該純量數值。
  7. 如申請專利範圍第1項所述之系統,其中該目標尺寸係基於一記憶體資源的一尺寸。
  8. 一種執行具有定義草圖精確度分佈之集合運算的系統,包含:一處理器與一包含程式邏輯之非暫態記憶體,該程式邏輯包含:一數值轉換器,其係用以將輸入變數轉換為經轉換之數值;一初始草圖產生器,其係用以基於該等經轉換之數值產生複數個草圖,其中該複數個草圖中的每一者係基於另一經轉換之數值之集合;一草圖運算器,其係用以:辨識該複數個草圖之一第一草圖中的一第一最大數值;辨識該複數個草圖之一第二草圖中的一第二最大數值;判定該第二最大數值係大於或等於該第一最大數值;從該第二草圖移除大於或等於該第一最大數值的一或多個經轉換之數值,以產生一第二經修改之草圖;對該第一草圖與該第二經修改之草圖進行一集合運算以產生做為輸出的一第三草圖,該第三草圖與該第一草圖、該第二草圖及該第二經修改之草圖不同。
  9. 如申請專利範圍第8項所述之系統,進一步包含:一基數估計器,其係用以利用代表一第一資料數值集合之該第三草圖來估計該第一資料數值集合之一基數。
  10. 如申請專利範圍第9項所述之系統,其中該數值轉換器係用以利用一雜湊函數將該等輸入變數轉換成該一或多個經轉換之數值。
  11. 如申請專利範圍第8項所述之系統,其中該集合運算為聯集、交集或差集。
  12. 如申請專利範圍第8項所述之系統,其中該等輸入變數對應使用者識別碼、特定網頁的印象或點擊資料。
  13. 一種執行具有定義草圖精確度分佈之集合運算的方法,包含:儲存一第一資料集合,其包含對應一第一數值範圍的數值;儲存一第二資料集合,其包含對應一第二數值範圍的數值,該第二數值範圍與該第一數值範圍不同;辨識該第一資料集合中一第一數值,其為該第一資料集合中之一最大數值;辨識該第二資料集合中一第二數值,其為該第二資料集合中之一最大數值;判定該第二最大數值係大於或等於該第一最大數值;從該第二資料集合移除大於或等於該第一最大數值的一或多個經轉換之數值,以產生一第二經修改之資料集合;以及進行一集合運算,其以該第一資料集合與該第二經修改之資料集合為一輸入項,並產生做為輸出的一第三資料集合;其中該方法係由一或多個計算裝置執行。
  14. 如申請專利範圍第13項所述之方法,其中:該第一資料集合為一第一複數個數值之一子集合,該第一複數個數值實質上呈均勻分佈;而該第二資料集合為一第二複數個數值之一子集合,該第二複數個數值實質上呈均勻分佈。
  15. 如申請專利範圍第14項所述之方法,其中:該第一複數個數值中的每一數值相對於該第一複數個數值中的每一其他數值為不重複;而該第二複數個數值中的每一數值相對於該第二複數個數值中的每一其他數值為不重複。
  16. 如申請專利範圍第14項所述之方法,其中該第一複數個數值與該第二複數個數值的每一數值為一雜湊數值。
  17. 如申請專利範圍第13項所述之方法,其中該第一資料集合中的數值數量或該第二資料集合中的數值數量係基於一記憶體資源的一尺寸。
  18. 如申請專利範圍第13項所述之方法,其中該集合運算為聯集、交集或差集。
  19. 如申請專利範圍第13項所述之方法,進一步包含:辨識一特定數值,其為該第三資料集合中之一最大數值;以及藉由將該第三資料集合中數值的計數除以該特定數值的方式,決定該第三資料集合之一基數。
  20. 一種執行具有定義草圖精確度分佈之集合運算的方法,包含:接收一雜湊數值;判定該雜湊數值是否小於一第一最大數值,該第一最大數值與一包含複數個雜湊數值之資料集合相關;若該雜湊數值經判定小於該第一最大數值,則將該雜湊數值加入該資料集合;若該雜湊數值經判定大於或等於該第一最大數值,則屏除該雜湊數值而不將其加入該資料集合;基於一與該資料集合和該第一最大數值相關之目標尺寸,產生一小於該第一最大數值之第二最大數值,並以該第二最大數值取代該第一最大數值;以及從該資料集合移除大於或等於該第二最大數值的數值,以產生一經修改之資料集合做為一輸出;其中該方法係由一或多個計算裝置所執行。
  21. 如申請專利範圍第20項所述之方法,其中產生該第二最大數值係以判定該資料集合中雜湊數值的一數量是否超過該目標尺寸為基礎。
  22. 如申請專利範圍第20項所述之方法,其中產生該第二最大數值包含:藉由從該目標尺寸減去一第一常數,計算一第一中間數值;藉由將一第二常數加入該目標尺寸,計算一第二中間數值;藉由將該第一中間數值乘以該第一最大數值並除以該第二中間數值,計算該第二最大數值。
  23. 如申請專利範圍第20項所述之方法,其中產生該第二最大數值係基於該資料集合中雜湊數值之一數量與該目標尺寸。
  24. 如申請專利範圍第20項所述之方法,進一步包含在接收該雜湊數值之前,基於一使用者識別碼的集合與一雜湊函數產生一或多個雜湊數值,其中該雜湊數值係來自該一或多個雜湊數值。
  25. 如申請專利範圍第20項所述之方法,其中該目標尺寸係基於一記憶體資源之一尺寸。
  26. 如申請專利範圍第20項所述之方法,其中該資料集合為特定複數個雜湊數值之一子集合,該特定複數個雜湊數值實質上呈均勻分佈。
  27. 如申請專利範圍第20項所述之方法,進一步包含在接收該雜湊數值之前,基於使用者識別碼、特定網頁的印象資料或點擊資料產生該複數個雜湊數值。
TW102141206A 2013-10-06 2013-11-13 執行具有定義草圖精確度分佈之集合運算的系統與方法 TWI640876B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201361887375P 2013-10-06 2013-10-06
US61/887,375 2013-10-06
US201361887594P 2013-10-07 2013-10-07
US61/887,594 2013-10-07
US14/078,301 2013-11-12
US14/078,301 US8819038B1 (en) 2013-10-06 2013-11-12 System and method for performing set operations with defined sketch accuracy distribution

Publications (2)

Publication Number Publication Date
TW201514718A TW201514718A (zh) 2015-04-16
TWI640876B true TWI640876B (zh) 2018-11-11

Family

ID=51358713

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102141206A TWI640876B (zh) 2013-10-06 2013-11-13 執行具有定義草圖精確度分佈之集合運算的系統與方法

Country Status (3)

Country Link
US (3) US8819038B1 (zh)
TW (1) TWI640876B (zh)
WO (1) WO2015050567A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055506B2 (en) 2014-03-18 2018-08-21 Excalibur Ip, Llc System and method for enhanced accuracy cardinality estimation
US9779134B2 (en) 2014-12-26 2017-10-03 Business Objects Software Ltd. System and method of data wrangling
US9892164B2 (en) 2015-01-30 2018-02-13 International Business Machines Corporation Reducing a large amount of data to a size available for interactive analysis
US9756122B2 (en) 2015-03-20 2017-09-05 Yahoo Holdings, Inc. Using hierarchical reservoir sampling to compute percentiles at scale
CN105373623A (zh) * 2015-12-08 2016-03-02 国云科技股份有限公司 一种快速在自定义表中生成大数据的方法
US10853362B2 (en) * 2016-04-18 2020-12-01 Verizon Media Inc. Optimized full-spectrum loglog-based cardinality estimation
WO2018069928A1 (en) * 2016-10-10 2018-04-19 Technion Research & Development Foundation Limited Mts sketch for accurate estimation of set-expression cardinalities from small samples
EP3607494A4 (en) * 2017-04-07 2020-11-11 Intel Corporation SYSTEMS AND METHODS FOR PROVIDING DEEP STACKED AUTOMATED PROGRAM SYNTHESIS
CN108694221B (zh) * 2017-04-12 2021-06-25 中国移动通信集团福建有限公司 数据实时分析方法、模块、设备和装置
US11074237B2 (en) * 2017-04-14 2021-07-27 Dynatrace Llc Method and system to estimate the cardinality of sets and set operation results from single and multiple HyperLogLog sketches
US10726006B2 (en) 2017-06-30 2020-07-28 Microsoft Technology Licensing, Llc Query optimization using propagated data distinctness
CN107729350A (zh) * 2017-08-29 2018-02-23 百度在线网络技术(北京)有限公司 路线优劣查询方法、装置、设备及存储介质
CN110704551B (zh) * 2018-06-21 2023-02-17 中兴通讯股份有限公司 数据处理方法、装置、设备及计算机可读存储介质
US11468068B2 (en) * 2018-12-28 2022-10-11 Verizon Patent And Licensing Inc. Method and system for concurrent generation of data sketches
US11468086B2 (en) * 2018-12-28 2022-10-11 Verizon Patent And Licensing Inc. Method and system for concurrent generation of data sketches
CN109828970B (zh) * 2019-01-16 2021-06-22 北京奇艺世纪科技有限公司 一种信息处理方法、装置及电子设备
CN110399413A (zh) * 2019-07-04 2019-11-01 博彦科技股份有限公司 数据抽样方法、装置、存储介质和处理器
US20210056476A1 (en) * 2019-08-21 2021-02-25 Oath Inc. Method and system for secure data sharing

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629097B1 (en) * 1999-04-28 2003-09-30 Douglas K. Keith Displaying implicit associations among items in loosely-structured data sets
US6493703B1 (en) * 1999-05-11 2002-12-10 Prophet Financial Systems System and method for implementing intelligent online community message board
CA2457408A1 (en) * 2001-07-13 2003-01-23 Pharmacopeia, Inc. System and method for aqueous solubility prediction
US20040030667A1 (en) * 2002-08-02 2004-02-12 Capital One Financial Corporation Automated systems and methods for generating statistical models
US7668856B2 (en) * 2004-09-30 2010-02-23 Alcatel-Lucent Usa Inc. Method for distinct count estimation over joins of continuous update stream
US7739314B2 (en) * 2005-08-15 2010-06-15 Google Inc. Scalable user clustering based on set similarity
JP4397372B2 (ja) * 2005-12-28 2010-01-13 トヨタ自動車株式会社 3次元形状データの作成方法、3次元形状データの作成装置、及び、3次元形状データの作成プログラム
US7746808B2 (en) * 2008-06-10 2010-06-29 At&T Intellectual Property Ii, L.P. Algorithms and estimators for summarization of unaggregated data streams
WO2010044782A1 (en) * 2008-10-14 2010-04-22 Hewlett-Packard Development Company, L.P. Managing event traffic in a network system
US8090729B2 (en) * 2009-03-03 2012-01-03 Microsoft Corporation Large graph measurement
US8589443B2 (en) * 2009-04-21 2013-11-19 At&T Intellectual Property I, L.P. Method and apparatus for providing anonymization of data
US20120254333A1 (en) * 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
US8484212B2 (en) * 2011-01-21 2013-07-09 Cisco Technology, Inc. Providing reconstructed data based on stored aggregate data in response to queries for unavailable data
US8866769B2 (en) * 2012-03-13 2014-10-21 Blackberry Limited Device cover with drawing pad input device
US9110969B2 (en) * 2012-07-25 2015-08-18 Sap Se Association acceleration for transaction databases
US9753950B2 (en) * 2013-03-15 2017-09-05 Pictometry International Corp. Virtual property reporting for automatic structure detection
US20150081741A1 (en) * 2013-09-16 2015-03-19 GraphSQL, Inc. Incremental graph view maintenance

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Edo Liberty, "Simple and Deterministic Matrix Sketching", 2012, 10 pages
Gibbons et al. ,"Estimating Simple Functions on the Union of Data Streams", 2010, 13 pages *
Graham Cormode, "Sketch Techniques for Approximate Query Processing", 2011, 67 pages
Graham Cormode, "Sketch Techniques for Approximate Query Processing", 2011, 67 pages Edo Liberty, "Simple and Deterministic Matrix Sketching", 2012, 10 pages *

Also Published As

Publication number Publication date
TW201514718A (zh) 2015-04-16
US9043348B2 (en) 2015-05-26
US9152691B2 (en) 2015-10-06
WO2015050567A1 (en) 2015-04-09
US20150100596A1 (en) 2015-04-09
US20150227608A1 (en) 2015-08-13
US8819038B1 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
TWI640876B (zh) 執行具有定義草圖精確度分佈之集合運算的系統與方法
US9880012B2 (en) Hybrid road network and grid based spatial-temporal indexing under missing road links
CN111611458B (zh) 大数据治理中基于元数据和数据分析技术实现系统数据架构梳理的方法
CN110019616B (zh) 一种poi现势状态获取方法及其设备、存储介质、服务器
CN107861981B (zh) 一种数据处理方法及装置
CN104809244B (zh) 一种大数据环境下的数据挖掘方法和装置
Malensek et al. Analytic queries over geospatial time-series data using distributed hash tables
US20080082475A1 (en) System and method for resource adaptive classification of data streams
WO2018040067A1 (zh) 用户指导系统及方法
US20230015068A1 (en) Unified data model and interface for databases storing disparate types of data
CN110287173B (zh) 自动生成有意义的用户段
CN110020273B (zh) 用于生成热力图的方法、装置以及系统
Gupta et al. Faster as well as early measurements from big data predictive analytics model
KR101982756B1 (ko) 분산인메모리기반 복합형스트림 데이터처리시스템 및 방법
TW201843609A (zh) 用於以學習為基礎的群組標記之系統和方法
CN111159561A (zh) 根据用户行为和用户画像构建推荐引擎的方法
CN116881430B (zh) 一种产业链识别方法、装置、电子设备及可读存储介质
CN110737727B (zh) 一种数据处理的方法及系统
US20070282888A1 (en) Dynamic data stream histograms for large ranges
CN110543504A (zh) 基于时空匹配的人口热力数据统计方法、系统及存储介质
CN116415020A (zh) 一种图像检索的方法、装置、电子设备及存储介质
US20190188304A1 (en) Clustering facets on a two-dimensional facet cube for text mining
CN113138906A (zh) 一种调用链数据采集方法、装置、设备及存储介质
CN112131248A (zh) 一种数据分析方法、装置、设备及存储介质
CN112085390A (zh) 一种影视作品传播效果的评估方法及系统