[發明專利]集群數據庫并行查詢的通訊方法和通訊裝置在審
| 申請號: | 201310353976.2 | 申請日: | 2013-08-14 |
| 公開(公告)號: | CN103399943A | 公開(公告)日: | 2013-11-20 |
| 發明(設計)人: | 宋懷明;王勇;苗艷超;劉新春;邵宗有 | 申請(專利權)人: | 曙光信息產業(北京)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京德恒律治知識產權代理有限公司 11409 | 代理人: | 章社杲;孫征 |
| 地址: | 100193 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 集群 數據庫 并行 查詢 通訊 方法 裝置 | ||
技術領域
本發明涉及數據庫查詢領域,具體來說,涉及一種集群數據庫并行查詢的通訊方法和通訊裝置。
背景技術
在數據庫集群中,數據表通常按照某種數據劃分策略分布在多個數據庫節點上,因此查詢處理通常涉及到多個數據庫節點的并行執行和節點間的數據傳輸控制。在大規模系統中,單個部件(比如某個服務器的網絡、節點或磁盤等)發生故障時不可避免的。如何保證在節點故障時,能保存各節點之間的通訊狀態是數據庫集群中面臨的一個巨大的挑戰。
在高性能計算領域,通常采用消息傳遞進行通訊,并通過保存檢查點的方式,定期將所有并行進程的狀態進行保存,來提供系統的可靠性。而在數據庫集群系統中,一個查詢處理過程中涉及的數據量巨大,這種定期把保存所有進程執行狀態的方式,會引入大量的磁盤讀寫,因此會導致開銷巨大,將嚴重降低查詢處理的性能。為此,人們利用了內存數據結構和數據庫臨時表這兩種方式對查詢結果進行保存和傳輸,但是,在實際應用時,這兩種方式雖然解決了數據庫集群系統中的各節點之間的通訊問題,但也存在諸多不足,例如:
1)采用內存數據結構進行數據通訊,內存分配管理相對比較復雜,在對其進行查詢處理時,需要查詢設計人員實現各種查詢算法,無法充分利用數據庫本身的查詢執行器。此外,當某個并行進程發生故障時,難以進行數據恢復,可靠性相對較低。
2)采用數據庫臨時表的方式進行數據通訊,可以有效的利用數據庫的查詢處理功能,無需單獨實現查詢算法。這種方式需要將每一個階段的查詢結果寫入到目標數據庫的數據表中。但是數據庫臨時表的數據寫入受到數據庫ACID特性(原子性、一致性、完整性和永久性)的約束限制,數據的入庫性能比較低下,這也限制了整個查詢處理的性能,特別是在查詢處理中涉及到數據量較大的時候。
針對相關技術中采用內存和數據庫臨時表進行數據通訊時,可靠性和入庫性能較差的問題,目前尚未提出有效的解決方案。
發明內容
針對相關技術中采用內存和數據庫臨時表進行數據通訊時,可靠性和入庫性能較差的問題,本發明提出一種集群數據庫并行查詢的通訊方法和通訊裝置,能夠很好的解決查詢結果在保存和傳輸時的可靠性和入庫性能較差的問題。
本發明的技術方案是這樣實現的:
根據本發明的一個方面,提供了一種集群數據庫并行查詢的通訊方法。
該通訊方法包括:
對來自查詢節點的查詢結果進行劃分,得到劃分塊;
對每個劃分塊以獨立數據文件的形式傳輸至目標節點;
在所有數據文件均傳輸至目標節點的情況下,對目標節點上的數據文件進行數據合并。
其中,在目標節點是查詢節點的下一級查詢節點,且目標節點需要對來自查詢節點的查詢結果進行進一步查詢并排序時,可在對來自查詢節點的查詢結果進行劃分時,采用范圍劃分的方式進行劃分。
此外,在目標節點是查詢節點的下一級查詢節點,且目標節點需要對來自查詢節點的查詢結果進行關聯查詢或者分組統計時,可在對來自查詢節點的查詢結果進行劃分時,采用哈希劃分的方式進行劃分。
其中,劃分塊的數量與查詢節點的下一級查詢節點的數量相符。
其中,在對來自查詢節點的查詢結果進行劃分之后,可根據預先配置的標識信息對每個劃分塊進行標識,并對標識后的劃分塊以數據文件的形式進行保存,其中,標識信息包括以下至少之一:查詢任務編號、與查詢任務編號對應的查詢節點的編號、與查詢任務編號對應的目標節點的編號。
其中,在對每個劃分塊以獨立數據文件的形式傳輸至目標節點時,可根據每個數據文件的標識信息,確定與該數據文件對應的查詢任務、查詢節點和目標節點;并根據確定的查詢任務、查詢節點和目標節點,將該數據文件拷貝到目標節點上,并且在拷貝成功的情況下,將該數據文件從查詢節點刪除,在拷貝失敗的情況下,記錄操作日志。
此外,在對目標節點上的數據文件進行數據合并時,可對數據文件進行分析,確定數據文件的存儲路徑和數據文件包含的數據信息;并根據確定的數據文件的存儲路徑和數據文件包含的數據信息,生成數據庫外部表。
根據本發明的另一方面,提供了一種集群數據庫并行查詢的通訊裝置。
該通訊裝置包括:
劃分模塊,用于對來自查詢的節點的查詢結果進行劃分,得到劃分塊;
傳輸模塊,用于對每個劃分塊以獨立數據文件的形式傳輸至目標節點;
合并模塊,用于在所有數據文件均傳輸至目標節點的情況下,對目標節點上的數據文件進行合并。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于曙光信息產業(北京)有限公司,未經曙光信息產業(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310353976.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:半導體裝置
- 下一篇:一種用于存放薄晶圓片的周轉存儲盒





