TW202011223A - 分散式資料連接處理方法、裝置、設備及儲存媒體 - Google Patents
分散式資料連接處理方法、裝置、設備及儲存媒體 Download PDFInfo
- Publication number
- TW202011223A TW202011223A TW108122542A TW108122542A TW202011223A TW 202011223 A TW202011223 A TW 202011223A TW 108122542 A TW108122542 A TW 108122542A TW 108122542 A TW108122542 A TW 108122542A TW 202011223 A TW202011223 A TW 202011223A
- Authority
- TW
- Taiwan
- Prior art keywords
- bloom filter
- data
- filter
- bloom
- module
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
- G06F16/24537—Query rewriting; Transformation of operators
-
- 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
- G06F16/24542—Plan optimisation
- G06F16/24544—Join order optimisation
-
- 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/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Processing (AREA)
Abstract
本說明書實施例提供了一種分散式資料連接處理方法、裝置、設備及儲存媒體。其方法包括:根據本端的表單資料產生第一布隆過濾器,並將第一布隆過濾器發送給對端;接收對端發送的第二布隆過濾器;合併所述第一布隆過濾器和所述第二布隆過濾器;利用合併後的布隆過濾器對本端的表單資料進行布隆過濾。
Description
本說明書實施例涉及資料處理領域,尤其涉及一種分散式資料連接處理方法、裝置、設備及儲存媒體。
資料連接(join)是關係型資料庫的一種重要的資料操作,其執行效率的高低往往對整個資料庫有著至關重要的影響。在資料庫的查詢優化技術中,對資料連接操作的優化手段也十分豐富,資料連接操作的順序以及具體演算法都是重要的考慮因素。在分散式資料庫中,不同的表單或分區的資料往往分佈在不同的物理節點中,跨節點的連接操作往往無法避免,此時,除了執行效率外,還需要考慮資料傳輸和多節點併發等多態樣因素。
傳統資料庫中一個重要的分散式連接優化是使用布隆過濾器,根據連接一側的資料創建布隆過濾器,並使用該過濾器過濾另外一側資料,從而避免不必要的資料傳輸。
布隆過濾器(bloom filter)是一個常見的資料結構,可以用來進行資料的過濾。其本質是一個位元向量(bitmap)和一個雜湊函數,創建布隆過濾器的過程如下:針對一個資料集合中的每一個元素(即資料),分別使用該雜湊函數進行操作,將雜湊值在位元向量中所對應的位元(index)設置為1(如果該位元已經為1,則忽略)。這樣當處理完整個資料集合中的每一個元素後,該位元向量(即“布隆過濾器”)即創建完畢。創建完成的布隆過濾器可以用以驗證給定一個元素是否存在於用於創建該布隆過濾器的資料集合中。當給定一個元素時,可以透過判斷布隆過濾器中該元素雜湊值所對應的位元是否為1,判斷該元素是否屬於該資料集合。
需要提供一種布隆過濾性能更好的分散式資料連接方式。
本說明書實施例提供及一種分散式資料連接方法、裝置、設備及儲存媒體,可以實現更好的布隆過濾性能。
第一態樣,本說明書實施例提供一種分散式資料連接處理方法,包括:
根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端;
接收所述對端發送的第二布隆過濾器,所述第二布隆過濾器是由所述對端根據所述對端的資料集合產生的;
利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾;
對過濾不成功的資料進行資料連接操作。
第二態樣,本說明書實施例提供一種分散式資料連接處理裝置,包括:
第一布隆過濾器模組,用於根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端;
第二布隆過濾器模組,用於接收所述對端發送的第二布隆過濾器,所述第二布隆過濾器是由所述對端根據所述對端的資料集合產生的;
布隆過濾執行模組,用於利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾;
資料連接操作模組,用於對過濾不成功的資料進行資料連接操作。
第三態樣,本說明書實施例還提供一種電腦設備,包括:
記憶體,用於儲存電腦程式;
處理器,用於執行所述電腦程式時實現上述方法的步驟。
第四態樣,本說明書實施例還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器執行時實現上述方法的步驟。
本說明書實施例有益效果如下:
接收對端發送的布隆過濾器,利用本端的布隆過濾器和對端的布隆過濾器進行過濾。即,本說明書實施例提供的技術方案,布隆過濾是雙向的,即每一端都既創建過濾器又進行過濾,而不是僅依照一端的資料集合創建過濾器,另一端進行過濾。因此,本說明書實施例提供的技術方案其過濾性更強,過濾效果也更好,即布隆過濾性能更好。
為了更好的理解上述技術方案,下面透過圖式以及具體實施例對本說明書實施例的技術方案做詳細的說明,應當理解本說明書實施例以及實施例中的具體特徵是對本說明書實施例技術方案的詳細的說明,而不是對本說明書技術方案的限定,在不衝突的情況下,本說明書實施例以及實施例中的技術特徵可以相互組合。
本說明書實施例提供的技術方案應用於分散式資料庫系統,需要將分散式資料庫中不同物理節點的兩個資料集合(包括表單或分區)連接成一個資料集合,即針對不同物理節點上的兩個資料集合進行連接操作。為了完成最終的連接操作,需要透過網路將不同物理節點上的資料傳輸到同一個物理節點上,這一過程稱為“資料再分佈”。以圖1所示的系統為例,假設需要將物理節點200上的資料表單201和物理節點300上的資料表單301進行連接操作,則物理節點200上的第一布隆過濾器創建/使用模組202根據資料表單201產生第一布隆過濾器並發送給物理節點300,接收物理節點300發送的第二布隆過濾器,利用第一布隆過濾器和第二布隆過濾器對資料表單201進行過濾,將過濾不成功的資料發送給第一連接執行模組203,第一連接執行模組203將該資料寫入物理節點100的資料表單101;物理節點300上的第二布隆過濾器創建/使用模組302利用資料表單301產生第二布隆過濾器並發送給物理節點200,接收物理節點200發送的第一布隆過濾器,利用第一布隆過濾器和第二布隆過濾器進行過濾,將過濾不成功的資料發送給第二連接執行模組303,第二連接執行模組303將該資料寫入物理節點100的資料表單101。
第一態樣,本說明書實施例提供一種分散式資料連接處理方法,請參考圖2,包括:
步驟2001、根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端。
本說明書實施例中,若需要對分佈在兩個物理節點上的資料集合進行連接操作,則將其中一個物理節點稱為本端,另一個物理節點稱為對端。
本說明書實施例中,資料集合可以是資料表單,也可以是資料分區。
步驟2003、接收所述對端發送的第二布隆過濾器,所述第二布隆過濾器是由所述對端根據所述對端的表單資料產生的。
步驟2005、利用第一布隆過濾器和第二布隆過濾器對本端的所述資料集合中的資料進行過濾。
假設過濾條件是兩個資料集合中的第C1列的取值相同,那麼,過濾具體是指計算資料的第C1列的雜湊值,查找上述布隆過濾器中該雜湊值對應位元的取值,若取值為1,兩側資料集合中該行資料的第C1列的取值相同,即過濾不成功。
本說明書實施例中,既可以對資料集合中的資料逐行進行過濾,也可以對資料集合中的資料進行批量過濾。
步驟2007、對過濾不成功的資料進行資料連接操作。
即將該行資料或該行資料第C1列的取值(或雜湊值)寫入到上述資料表單101中。
本說明書實施例提供的方法,接收對端發送的布隆過濾器,利用本端的布隆過濾器和對端的布隆過濾器進行過濾。即,本說明書實施例提供的技術方案,布隆過濾是雙向的,即每一端都既創建過濾器又進行過濾,而不是僅依照一端的資料集合創建過濾器,另一端進行過濾。因此,本說明書實施例提供的方法其過濾性更強,過濾效果也更好,即布隆過濾性能更好。
上述步驟2005的實現方式可以是分別利用第一布隆過濾器和第二布隆過濾器對本端的資料集合中的資料進行過濾。由於布隆過濾器的本質是位元向量,利用布隆過濾器進行過濾就是判斷資料對應列的雜湊值在該位元向量上對應位元的取值,為了提高過濾效率,可以將第一過濾器和第二過濾器合併,得到雙邊布隆過濾器相應的,上述步驟2005的實現方式可以是利用合併後的雙邊布隆過濾器對資料集合中的資料過濾。
其中,合併過濾器具體是指,將兩個過濾器中對應的取值進行或運算。
為了提高過濾效率,提高系統並發行,提高物理節點的吞吐率,加快連接處理速度,本說明書實施例提供的方法中,可以動態創建並發送布隆過濾器,以便對端可以及時根據接收到的布隆過濾器進行過濾。相應的,上述步驟2001中,具體是在讀取本段的資料集合過程中,週期性地產生第一布隆過濾器並發送給對端。其中,產生並發送第一布隆過濾器的週期可以是時間週期,也可以是資料行數週期。假設按照布隆過濾器創建/使用模組逐行從下層的資料集合中讀取資料,以時間週期為例,在每個時間週期,布隆過濾器創建/使用模組利用本時間週期內讀取的資料創建第一布隆過濾器;或者,在每個時間週期,布隆過濾器創建/使用模組利用本時間週期內讀取的資料創建第一布隆過濾器,並將新創建的布隆過濾器與之前創建的布隆過濾器進行合併;又或者,在每個時間週期,布隆過濾器創建/使用模組利用本時間週期內讀取的資料以及之前讀取的資料創建第一布隆過濾器。假設按照布隆過濾器創建/使用模組逐行從下層的資料集合中讀取資料,以資料行數週期為例,每讀取N行資料,利用本週期內讀取的N行資料創建第一布隆過濾器;或者,每讀取N行資料,利用本週期內讀取的N行資料創建第一布隆過濾器,並將新創建的布隆過濾器與之前創建的布隆過濾器進行合併;又或者,每讀取N行資料,利用本週期內讀取的N行資料以及之前讀取的資料創建第一布隆過濾器。
由於本說明書實施例提供的技術方案是雙側對稱操作,那麼,在對端也是按照上述實現方式週期性產生並發送第二布隆過濾器,相應的,上述步驟2003的具體實現方式可以是:週期性地接收對端發送的第二布隆過濾器。
其中,本端和對端創建並發送布隆過濾器的週期可以相同也可以不同,可以採用相同類型的週期也可以採用不同類型的週期。
進一步地,若對第二布隆過濾器和第一布隆過濾器進行合併,那麼,可以是每接收到一個第二布隆過濾器,即將當前接收到的第二布隆過濾器與最近一次產生的第一布隆過濾器合併;也可以是每接收到一個第二布隆過濾器,即將當前接收到的第二布隆過濾器與當前進行過濾所使用的雙邊布隆過濾器進行合併;還可以是每產生一個第一布隆過濾器,即將當前產生的布隆過濾器與最新接收到的第二布隆過濾器進行合併。相應的,上述步驟2005的實現方式可以是:利用最新的雙邊布隆過濾器對本端的資料集合中的資料進行過濾。
進一步地,若不需要對第一布隆過濾器和第二布隆過濾器進行合併。上述步驟2005中,可以是每產生一個第一布隆過濾器或每接收到一個第二布隆過濾器,即利用最新產生或接收到的布隆過濾器對資料集合中的資料進行過濾。
對於週期性創建布隆過濾器並進行過濾的實現方式,由於布隆過濾器並不是利用資料集合中的全部資料創建的,因此可能存在過濾誤差,為了避免過濾誤差,可以將過濾成功的資料暫時保存在快取當中,利用後續的布隆過濾器進行過濾。以雙邊布隆過濾器為例,假設在利用第M個雙邊布隆過濾器進行過濾而被快取的資料,繼續利用第M+1個雙邊過濾器進行過濾,直至過濾不成功或者最後一個布隆過濾器,或者僅利用最後一個布隆過濾器對快取中的資料進行過濾。
本說明書實施例提供的方法,多本端的資料集合中的資料全部讀取完,資料集合會向布隆過濾器創建/使用模組發送掃描結束(EOF)資訊,本端在收到該資訊,且未接收到對端發送的掃描結束指令,向對端發送第一掃描結束指令,以向對端告知本端的資料掃描結束;本端在接收到對端發送的第二掃描結束指令後,利用最後一次產生的第一布隆過濾器對本端的資料集合中的資料進行過濾。
下面將結合具體應用場景,對本說明書實施例提供的“雙邊布隆過濾”的實現方案進行詳細說明。如圖3所示,傳統布隆過濾器中的BLC和BLU兩個操作被替換為一個操作Bloom Filter Create/USE(簡稱BLCU,布隆過濾器創建/使用),該模組的邏輯為:針對輸入的資料集合中的資料週期性地創建第一布隆過濾器A,並透過網路RPC發送給與之配對的BLCU操作符;週期性的將接收到的第二布隆過濾器在本地進行合併,產生新的布隆過濾器B,使用週期性產生的布隆過濾器B對輸入的每一行資料進行過濾,如果過濾成功(該行在布隆過濾器中不存在),則將該行資料在本地進行快取,否則(該行存在),則將該行資料按照之前所述的資料再分佈方式發送給上層的連接操作模組進行處理;當本地掃描結束後,向對端發送EOF(掃描結束)指令,當收到對端發送的EOF指令時,重新產生新的布隆過濾器,按照上述描述的過程進行處理,所不同的是,如果過濾成功,則直接丟棄改行(無需快取)。
假設需要對圖1中物理節點200中的資料表單201和物理節點300中的資料表單301進行連接操作,其處理過程如圖4所示。
其中,標誌位元R_EOF用於指示是否接收到對端發送的EOF指令和/或是否接收到EOF資訊,本實施例中,標誌位元R_EOF的取值為布林邏輯值,且true表示接收到,在實際應用中也可以採用其他的取值方式,或者定義每個取值的具體含義。
其中,所謂將資料插入到布隆過濾器A,即利用該行資料更新布隆過濾器。
應當指出的是,本說明書實施例中,可以根據讀取的資料行即時更新本地產生的布隆過濾器,相應的,上述週期性地創建布隆過濾器實際上是即時更新布隆過濾器。
其中,若判斷達到發送閾值,則發送本地布隆過濾器A到對端;若未達到,則使用布隆過濾器B進行過濾。
其中,若未接收到下層運算元(即資料表單)發送的EOF資訊,進而判斷接收到對端的EOF信號,則設置標識位元為true且繼續判斷是否接收到新的布隆過濾器。
本說明書實施例提供的方法具有如下有益效果:
1. 引入BLCU操作後,連接左右兩邊的分支可以同時執行(避免先執行左邊再執行優化),增加了調度的靈活性和整個系統的併發性,例如當L/R表分別位於不同節點上時,同時執行左右兩邊可以保證充分利用多節點的本地IO,使整個輸送量達到最高
2. 同時執行所有分支還可以保證儘快返回給使用者資料行,在傳統的執行方式中,由於要先掃描左側再過濾右側,導致第一行返回的時間一定在掃描左表之後,而本方案中的雙邊布隆過濾,可以儘早的將左右兩邊可能join的行返回給上層join,一遍儘早的返回給用戶,在交互性查詢的場景中,儘快返回一些資料對使用者有極大的應用價值
3. 傳統的方案容易受優化器的誤判的影響,當優化器將左表的大表誤判為小表而產生布隆過濾器時,可能出現用大表資料去過濾小表資料,執行效率低下,對稱型過濾器由於同時執行左右兩邊,可以確保過濾操作同時進行,當小表首先完成掃描後,又可以退化為傳統的單邊過濾的方式,整個計畫的健壯性得以保證
4. 雙邊布隆過濾方案可以保證過濾的雙向性,join兩邊可以互相使用對方的布隆過濾器來過濾自己的資料,比傳統的單邊場景的過濾性更強,效果更為明顯。
第二態樣,基於同一發明構思,本說明書實施例提供一種分散式資料連接裝置,請參考圖5,包括:
第一布隆過濾器模組5001,用於根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端;
第二布隆過濾器模組5002,用於接收所述對端發送的第二布隆過濾器,所述第二布隆過濾器是由所述對端根據所述對端的資料集合產生的;
布隆過濾器合併模組5003,用於利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾;
布隆過濾執行模組5004,用於利用合併後的布隆過濾器對本端的所述表單資料進行布隆過濾;
資料連接操作模組5005,用於對過濾不成功的資料進行資料連接操作。
可選的,還包括布隆過濾器合併模組,用於將所述第一布隆過濾器和所述第二布隆過濾器合併,合併之後的布隆過濾器為雙邊布隆過濾器;所述布隆過濾執行模組用於:利用所述雙邊布隆過濾器對本端的所述資料集合中的資料進行過濾。
可選的,所述第一布隆過濾器模組用於:讀取本端的所述資料集合過程中,週期性地產生第一布隆過濾器並發送給所述對端;所述第二布隆過濾器模組用於:週期性地接收所述對端發送的第二布隆過濾器;所述布隆過濾器合併模組用於:每接收到一個第二布隆過濾器,合併當前接收到的第二布隆過濾器與最近一次產生的第一布隆過濾器或合併當前接收到的第二布隆過濾器與當前進行布隆過濾所使用的布隆過濾器;所述布隆過濾器執行模組用於:利用最新的雙邊布隆過濾器對本端的所述資料集合中的資料進行過濾。
可選的,還包括快取模組,用於:快取過濾成功的資料;所述布隆過濾執行模組還用於:利用後續合併的雙邊布隆過濾器對快取的資料再次進行過濾。
可選的,還包括掃描結束指令發送模組,用於在讀取完本端的資料集合中的全部資料,且未接收到所述對端發送的第二掃描結束指令,向所述對端發送第一掃描結束指令;所述布隆過濾執行模組還用於:在接收到所述對端發送的第二掃描結束指令後,利用最近一次產生的第一布隆過濾器對本端的所述資料集合的資料進行過濾。
第三態樣,本說明書實施例還提供一種電腦設備,包括:
記憶體,用於儲存電腦程式;
處理器,用於執行所述電腦程式時實現上述任一項所述的方法的步驟。
第四態樣,本說明書實施例還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器執行時實現上述任一項所述的方法的步驟。
本說明書是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可編程資料處理設備的處理器以產生一個機器,使得透過電腦或其他可編程資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的設備。
這些電腦程式指令也可儲存在能引導電腦或其他可編程資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令設備的製造品,該指令設備實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可編程資料處理設備上,使得在電腦或其他可編程設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
儘管已描述了本說明書的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括較佳實施例以及落入本說明書範圍的所有變更和修改。
顯然,本領域的技術人員可以對本說明書進行各種改動和變型而不脫離本說明書的精神和範圍。這樣,倘若本說明書的這些修改和變型屬於本說明書申請專利範圍及其等同技術的範圍之內,則本說明書也意圖包含這些改動和變型在內。
100:物理節點
101:資料表單
200:物理節點
201:資料表單
202:第一布隆過濾器創建/使用模組
203:第一連接執行模組
300:物理節點
301:資料表單
302:第二布隆過濾器創建/使用模組
303:第二連接執行模組
5001:第一布隆過濾器模組
5002:第二布隆過濾器模組
5003:布隆過濾器合併模組
5004:布隆過濾執行模組
5005:資料連接操作模組
圖1為本說明書實施例提供的系統架構示意圖;
圖2為本說明書實施例提供的第一態樣的方法流程圖;
圖3為本說明書實施例提供的雙邊布隆過濾器示意圖;
圖4為本說明書即時第一態樣的另一個方法流程圖;
圖5為本說明書實施例第二態樣的裝置示意圖。
Claims (13)
- 一種分散式資料連接處理方法,其特徵在於,包括: 根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端; 接收所述對端發送的第二布隆過濾器,所述第二布隆過濾器是由所述對端根據所述對端的資料集合產生的; 利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾; 對過濾不成功的資料進行資料連接操作。
- 根據申請專利範圍第1項所述的方法,其中,所述利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾之前,該方法還包括:將所述第一布隆過濾器和所述第二布隆過濾器合併,合併之後的布隆過濾器為雙邊布隆過濾器; 所述利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾,包括:利用所述雙邊布隆過濾器對本端的所述資料集合中的資料進行過濾。
- 根據申請專利範圍第2項所述的方法,其中,所述根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端,包括:讀取本端的所述資料集合過程中,週期性地產生第一布隆過濾器並發送給所述對端; 所述接收所述對端發送的第二布隆過濾器,包括:週期性地接收所述對端發送的第二布隆過濾器; 所述合併所述第一布隆過濾器和所述第二布隆過濾器,包括:每接收到一個第二布隆過濾器,合併當前接收到的第二布隆過濾器與最近一次產生的第一布隆過濾器或合併當前接收到的第二布隆過濾器與當前進行布隆過濾所使用的雙邊布隆過濾器; 所述利用合併後的布隆過濾器對本端的所述資料集合的資料進行過濾,包括:利用最新的雙邊布隆過濾器對本端的所述資料集合中的資料進行過濾。
- 根據申請專利範圍第3項所述的方法,其中,該方法還包括: 快取過濾成功的資料; 利用後續合併的雙邊布隆過濾器對快取的資料再次進行過濾。
- 根據申請專利範圍第4項所述的方法,其中,所述利用後續合併的雙邊布隆過濾器對快取的表單資料再次進行布隆過濾,包括: 利用最後一次合併的雙邊布隆過濾器對本端的所述資料集合中的資料進行布隆過濾。
- 根據申請專利範圍第3~5項之任一項所述的方法,其中,該方法還包括: 在讀取完本端的資料集合中的全部資料,且未接收到所述對端發送的第二掃描結束指令,向所述對端發送第一掃描結束指令; 在接收到所述對端發送的第二掃描結束指令後,利用最近一次產生的第一布隆過濾器對本端的所述資料集合的資料進行過濾。
- 一種分散式資料連接處理裝置,其特徵在於,包括: 第一布隆過濾器模組,用於根據本端的資料集合產生第一布隆過濾器,並將所述第一布隆過濾器發送給對端; 第二布隆過濾器模組,用於接收所述對端發送的第二布隆過濾器,所述第二布隆過濾器是由所述對端根據所述對端的資料集合產生的; 布隆過濾執行模組,用於利用所述第一布隆過濾器和所述第二布隆過濾器對本端的所述資料集合中的資料進行過濾; 資料連接操作模組,用於對過濾不成功的資料進行資料連接操作。
- 根據申請專利範圍第7項所述的裝置,其中,還包括布隆過濾器合併模組,用於將所述第一布隆過濾器和所述第二布隆過濾器合併,合併之後的布隆過濾器為雙邊布隆過濾器; 所述布隆過濾執行模組用於:利用所述雙邊布隆過濾器對本端的所述資料集合中的資料進行過濾。
- 根據申請專利範圍第8項所述的裝置,其中,所述第一布隆過濾器模組用於:讀取本端的所述資料集合過程中,週期性地產生第一布隆過濾器並發送給所述對端; 所述第二布隆過濾器模組用於:週期性地接收所述對端發送的第二布隆過濾器; 所述布隆過濾器合併模組用於:每接收到一個第二布隆過濾器,合併當前接收到的第二布隆過濾器與最近一次產生的第一布隆過濾器或合併當前接收到的第二布隆過濾器與當前進行布隆過濾所使用的布隆過濾器; 所述布隆過濾器執行模組用於:利用最新的雙邊布隆過濾器對本端的所述資料集合中的資料進行過濾。
- 根據申請專利範圍第9項所述的裝置,其中,還包括快取模組,用於:快取過濾成功的資料; 所述布隆過濾執行模組還用於:利用後續合併的雙邊布隆過濾器對快取的資料再次進行過濾。
- 根據申請專利範圍第8~10項之任一項所述的裝置,其中,還包括掃描結束指令發送模組,用於在讀取完本端的資料集合中的全部資料,且未接收到所述對端發送的第二掃描結束指令,向所述對端發送第一掃描結束指令; 所述布隆過濾執行模組還用於:在接收到所述對端發送的第二掃描結束指令後,利用最近一次產生的第一布隆過濾器對本端的所述資料集合的資料進行過濾。
- 一種電腦設備,其特徵在於,包括: 記憶體,用於儲存電腦程式; 處理器,用於執行所述電腦程式時實現上述申請專利範圍第1~6項中之任一項所述的方法的步驟。
- 一種電腦可讀儲存媒體,其上儲存有電腦程式,其特徵在於,所述電腦程式被處理器執行時實現申請專利範圍第1~6項中之任一項所述的方法的步驟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811015813.2 | 2018-08-31 | ||
CN201811015813.2A CN109271408B (zh) | 2018-08-31 | 2018-08-31 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011223A true TW202011223A (zh) | 2020-03-16 |
TWI716016B TWI716016B (zh) | 2021-01-11 |
Family
ID=65187034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108122542A TWI716016B (zh) | 2018-08-31 | 2019-06-27 | 分散式資料連接處理方法、裝置、設備及儲存媒體 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11188535B2 (zh) |
CN (1) | CN109271408B (zh) |
TW (1) | TWI716016B (zh) |
WO (1) | WO2020042813A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271408B (zh) | 2018-08-31 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
CN110209874B (zh) * | 2019-04-24 | 2021-08-20 | 北京奇艺世纪科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
US11386089B2 (en) * | 2020-01-13 | 2022-07-12 | The Toronto-Dominion Bank | Scan optimization of column oriented storage |
EP3852305B1 (en) * | 2020-01-17 | 2022-11-16 | Fetch.ai Limited | Transaction verification system and method of operation thereof |
US11550949B2 (en) * | 2020-07-21 | 2023-01-10 | Constella Intelligence, Inc. | Secure exchange of password presence data |
CN113760898A (zh) * | 2021-01-25 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 表连接操作的处理方法和装置 |
CN113360507B (zh) * | 2021-08-10 | 2021-12-07 | 北京奥星贝斯科技有限公司 | 用于数据库表连接的过滤器传输方法、装置及系统 |
JP2024025020A (ja) | 2022-08-10 | 2024-02-26 | 株式会社日立製作所 | 計算機システム及びクエリ処理方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145806B2 (en) * | 2008-09-19 | 2012-03-27 | Oracle International Corporation | Storage-side storage request management |
US9401967B2 (en) * | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
CN101916261B (zh) * | 2010-07-28 | 2013-07-17 | 北京播思软件技术有限公司 | 一种分布式并行数据库系统的数据分区方法 |
US9226231B2 (en) * | 2013-01-30 | 2015-12-29 | Qualcomm Incorporated | Systems and methods for monitoring the size of a wireless network |
CN104572727B (zh) * | 2013-10-22 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
US11265385B2 (en) * | 2014-06-11 | 2022-03-01 | Apple Inc. | Dynamic bloom filter operation for service discovery |
CN105718455B (zh) * | 2014-12-01 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
US10372706B2 (en) * | 2015-07-29 | 2019-08-06 | Oracle International Corporation | Tracking and maintaining expression statistics across database queries |
CN106445944A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种数据查询请求的处理方法、装置及电子设备 |
US10248694B2 (en) * | 2015-08-31 | 2019-04-02 | International Business Machines Corporation | Bloom filter utilization for join processing |
CN105554122A (zh) * | 2015-12-18 | 2016-05-04 | 畅捷通信息技术股份有限公司 | 信息更新方法、信息更新装置、终端和服务器 |
US9372892B1 (en) * | 2015-12-28 | 2016-06-21 | International Business Machines Corporation | Bloom filter construction method for use in a table join operation portion of processing a query to a distributed database |
CN106372190A (zh) * | 2016-08-31 | 2017-02-01 | 华北电力大学(保定) | 实时olap查询方法和装置 |
CN108205571B (zh) * | 2016-12-20 | 2022-04-29 | 航天信息股份有限公司 | 键值数据表的连接方法及装置 |
CN106407485B (zh) * | 2016-12-20 | 2017-12-26 | 福建六壬网安股份有限公司 | 一种基于相似度比较的url去重方法和系统 |
US10642994B1 (en) * | 2017-05-24 | 2020-05-05 | Amazon Technologies, Inc. | Probabilistic data structures for concordance management |
US10719512B2 (en) * | 2017-10-23 | 2020-07-21 | International Business Machines Corporation | Partitioned bloom filter merge for massively parallel processing clustered data management |
CN108156154A (zh) * | 2017-12-25 | 2018-06-12 | 北京工业大学 | 命名数据网络中基于加密和布隆过滤器的访问控制方法 |
US10642840B1 (en) * | 2018-03-07 | 2020-05-05 | Amazon Technologies, Inc. | Filtered hash table generation for performing hash joins |
CN109271408B (zh) * | 2018-08-31 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
-
2018
- 2018-08-31 CN CN201811015813.2A patent/CN109271408B/zh active Active
-
2019
- 2019-06-27 TW TW108122542A patent/TWI716016B/zh active
- 2019-07-18 WO PCT/CN2019/096478 patent/WO2020042813A1/zh active Application Filing
-
2020
- 2020-10-30 US US17/085,521 patent/US11188535B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN109271408A (zh) | 2019-01-25 |
TWI716016B (zh) | 2021-01-11 |
WO2020042813A1 (zh) | 2020-03-05 |
US20210049173A1 (en) | 2021-02-18 |
US11188535B2 (en) | 2021-11-30 |
CN109271408B (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202011223A (zh) | 分散式資料連接處理方法、裝置、設備及儲存媒體 | |
CN108595720B (zh) | 一种区块链时空数据查询方法、系统及电子设备 | |
US20200327079A1 (en) | Data processing method and device, dma controller, and computer readable storage medium | |
WO2021052169A1 (zh) | 分布式数据的均衡处理方法、装置、计算终端和存储介质 | |
US20170255673A1 (en) | Batch Data Query Method and Apparatus | |
TWI730690B (zh) | 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 | |
CN110647999A (zh) | 一种基于拓扑结构提高深度学习训练速度的方法及装置 | |
CN110704438B (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
WO2021036260A1 (zh) | 在区块链中并发执行交易的方法和装置 | |
TWI692692B (zh) | 用於元組圖形程式之子圖內最佳化之方法 | |
CN112465046B (zh) | 海量小文件的人工智能训练的方法、系统、设备及介质 | |
TW202109511A (zh) | 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 | |
CN110046638A (zh) | 多平台间数据的融合方法、装置及设备 | |
CN110599166A (zh) | 一种区块链内获取交易依赖关系的方法及装置 | |
Phan et al. | Toward intersection filter-based optimization for joins in mapreduce | |
WO2022247869A1 (zh) | 用于数据搜索的方法、装置及设备 | |
CN111861744A (zh) | 一种实现区块链交易并行化的方法及区块链节点 | |
WO2023160236A1 (zh) | 多输出神经网络的切片方法、装置、芯片及存储介质 | |
US20240311391A1 (en) | K-db database multi-node cluster scheduling method and system, device, and medium | |
CN103761298A (zh) | 一种基于分布式架构的实体匹配方法 | |
CN113901047A (zh) | 一种基于内存数据库的简便集群主从选举方法 | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
CN104731800A (zh) | 数据分析装置 | |
CN109189343A (zh) | 一种元数据落盘方法、装置、设备及计算机可读存储介质 | |
CN110362298A (zh) | 一种基于浏览器的目标对象绘制方法、装置和浏览器 |