[發明專利]一種基于多核CPU的分布式集群系統及數據連接方法有效
| 申請號: | 201710361514.3 | 申請日: | 2017-05-22 |
| 公開(公告)號: | CN107247623B | 公開(公告)日: | 2018-04-13 |
| 發明(設計)人: | 王宏志;孫旭冉;趙志強 | 申請(專利權)人: | 哈工大大數據產業有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京格允知識產權代理有限公司11609 | 代理人: | 周嬌嬌,譚輝 |
| 地址: | 150001 黑龍江省哈爾濱市經*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 多核 cpu 分布式 集群 系統 數據 連接 方法 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種基于多核CPU的分布式集群系統及數據連接方法。
背景技術
互聯網技術和相關應用的飛速發展帶來了數據的爆炸式增長,數據庫規模從千比特(KB)、兆比特(MB)級飛躍到吉比特(GB)、太比特(TB)級甚至到皆比特(EB)、佑比特(ZB)級,海量的數據給數據分析相關工作帶來了巨大的挑戰,其中連接查詢又是大規模數據分析中最重要和最基本操作之一,其性能直接關系到數據庫的查詢效率。
現有技術中提出了一種將哈希連接應用于大規模集群計算的方法,該方法利用MPI(Message-Passing-Interface消息傳遞接口)和RDMA(Remote Direct Memory Access,遠程直接數據存取)技術,在超大規模計算機集群上進行哈希連接操作,使得數據可以直接通過網絡進行傳遞而不對操作系統造成任何影響,消除了外部存儲器復制和文本交換操作。這種算法使得哈希連接在計算機集群系統上得以更高效地應用,大大提高了計算機處理海量數據的能力。
然而,這種方法提高了集群系統整體的并行處理能力,重點在于利用RDMA技術降低了計算機間的數據交流代價,而沒有挖掘單個處理節點的并行處理能力。但隨著多核CPU的普及和并行處理技術的成熟,單機系統的并行處理能力已不容小視,單個處理節點的性能提升也將對整個集群系統的提升有著巨大的推動作用。
發明內容
本發明要解決的技術問題是,針對現有大規模集群數據處理方法沒有挖掘單個處理節點的并行處理能力的缺陷,提供一種基于多核CPU的分布式集群系統及數據連接方法,將映射規約模型應用于多核CPU上,將單機的多線程并行連接算法與已有的分布式集群系統上的并行運算模型相結合,提高分布式集群系統的計算能力。
本發明第一方面,提供了一種基于多核CPU的分布式集群系統,包括:
映射服務器,包括至少一臺具有多核CPU的計算機,用于在映射任務的進程內部啟動n個映射線程,并以所述映射服務器中每個核心作為一個對應計算節點對所述n個映射線程進行并行計算;其中每個映射線程從共享內存預先分配的緩沖區中讀取對應的數據分片vi,1≤i≤n,記錄源表的連接屬性和查詢屬性,生成鍵值對,并對所述連接屬性建立各自的哈希表;
規約服務器,包括至少一臺具有多核CPU的計算機,用于在規約任務的進程內部啟動m個規約線程,并以所述規約服務器中每個核心作為一個對應計算節點對所述m個規約線程進行并行計算;其中每個規約線程用于查找所述哈希表,從多個哈希表中分別獲取屬于自己的中間數據集,并對所述中間數據集進行比較連接。
在根據本發明所述的基于多核CPU的分布式集群系統中,所述映射服務器預先將輸入數據分成n等份,并分別存儲至n個緩沖區,使每個映射線程對應一個緩沖區。
在根據本發明所述的基于多核CPU的分布式集群系統中,所述分布式集群系統內計算機之間的數據遷移采用遠程直接數據存取方式,并采用消息傳遞接口進行編程實現通信。
在根據本發明所述的基于多核CPU的分布式集群系統中,所述映射服務器還用于對映射服務器的集群中空閑資源CPU核數進行采集統計,并實時更新空閑資源CPU核數,對映射線程進行并行處理。
在根據本發明所述的基于多核CPU的分布式集群系統中,所述規約服務器還用于對規約服務器的集群中空閑資源CPU核數進行采集統計,并實時更新空閑資源CPU核數,對規約線程進行并行處理。
本發明第二方面,提供了一種基于多核CPU的分布式集群系統的數據連接方法,所述基于多核CPU的分布式集群系統包括映射服務器和規約服務器,且所述映射服務器包括至少一臺具有多核CPU的計算機,所述規約服務器包括至少一臺具有多核CPU的計算機,所述數據連接方法包括:
映射步驟,在映射任務的進程內部啟動n個映射線程,并以所述映射服務器中每個核心作為一個對應計算節點對所述n個映射線程進行并行計算;其中每個映射線程從共享內存預先分配的緩沖區中讀取對應的數據分片vi,1≤i≤n,記錄源表的連接屬性和查詢屬性,生成鍵值對,并對所述連接屬性建立各自的哈希表;
規約步驟,在規約任務的進程內部啟動m個規約線程,并以規約服務器中每個核心作為一個對應計算節點對所述m個規約線程進行并行計算;其中每個規約線程用于查找所述哈希表,從多個哈希表中分別獲取屬于自己的中間數據集,并對所述中間數據集進行比較連接。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈工大大數據產業有限公司,未經哈工大大數據產業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710361514.3/2.html,轉載請聲明來源鉆瓜專利網。





