[發明專利]一種數據加載方法及裝置有效
| 申請號: | 201310516735.5 | 申請日: | 2013-10-28 |
| 公開(公告)號: | CN103544285B | 公開(公告)日: | 2017-09-26 |
| 發明(設計)人: | 楊卓慧 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 黃志華 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 加載 方法 裝置 | ||
技術領域
本發明涉及數據處理領域,尤其涉及一種數據加載方法及裝置。
背景技術
分布式數據庫系統是在集中式數據庫系統的基礎上發展起來的,是計算機技術和網絡技術相結合的產物。相比集中式數據庫系統,分布式數據庫系統具有許多優勢:首先,分布式數據庫系統可以允許各個分散部門將其常用的數據存儲在本地,從而可以降低數據傳送的成本,提高響應速率,其次,由于分布式數據庫系統允許在網絡出現故障時,對局部數據庫進行操作,從而可以提高系統的可靠性,再次,由于在分布式數據庫系統中增加一個新的局部數據庫,或在某個位置擴充一臺適當的小型計算機,都很容易實現,因此,分布式數據庫系統的可擴展性也比較高。分布式數據庫系統的低延遲、高可靠、易擴展等優點成為企業部署數據庫系統的首選。
分布式數據庫系統主要包括一個主節點(master)和多個數據節點(datanode),在該系統中,進行數據加載的方式是采用主節點或系統外的數據導入組件作為數據加載的入口,由該主節點或數據導入組件對需要入庫的數據進行拆分解析等處理,確定不同數據所屬的數據節點,并將處理后的數據分發給數據庫中對應的數據節點,因此,分布式數據庫系統的整體加載性能依賴于上述主節點或數據導入組件的處理性能,在數據量較大、系統內數據節點數量較多時,上述主節點或數據導入組件需要將大量的數據進行拆分解析后,分別分發給對應的各個數據節點,耗時較長,這時,上述主節點或數據導入組件會成為整個數據庫系統進行數據加載的瓶頸,在主節點或數據導入組件將數據分發到數據節點之前,該數據節點無法對數據進行任何處理,因此,采用這種加載方式對系統內各個數據節點的資源及網絡帶寬的利用效率較低。
發明內容
本發明實施例提供一種數據加載方法及裝置,用以解決分布式數據庫系統中由主節點或數據導入組件作為數據加載的入口的方式對系統內各個數據節點的資源及網絡帶寬的利用效率較低的問題。
第一方面,提供一種數據加載方法,該方法應用于數據庫系統中數據的加載,該數據庫系統包括多個數據節點和管理各數據節點的主節點,該方法采用加載服務器為所述數據庫系統提供數據塊,所述數據塊為包括多條邏輯記錄的數據傳輸單元,其中每條邏輯記錄對應數據庫中存儲的一行數據,包括:
第一數據節點在接收到所屬的數據庫系統的主節點發送的數據加載指令后,從加載服務器中獲取數據塊;
所述第一數據節點檢測獲取的數據塊中每條邏輯記錄所屬的數據節點;
針對數據塊中的任意一條邏輯記錄,所述第一數據節點在檢測到該條邏輯記錄屬于本節點后,將該條邏輯記錄存儲在本地,在檢測到該條邏輯記錄屬于所述數據庫系統的其它數據節點后,將該條邏輯記錄轉發給所述其它數據節點。
結合第一方面,在第一種可能的實現方式中,所述第一數據節點從加載服務器中獲取數據塊,包括:
所述第一數據節點至少一次向多個加載服務器中的第一加載服務器發送數據請求消息,每次接收所述第一加載服務器分配的一個數據塊;
若所述第一數據節點確定所述第一加載服務器分配數據塊的速率低于設定閾值,則在將最近一次獲取的數據塊處理完畢后,至少一次向第二加載服務器發送數據請求消息,每次接收所述第二加載服務器分配的一個數據塊。
結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述第一數據節點至少一次向所述第二加載服務器發送數據請求消息,包括:
所述第一數據節點確定第一次向所述第二加載服務器發送的數據請求消息;所述確定的數據請求消息中包括已獲取的數據塊對應的文件偏移量信息;
所述第一數據節點向所述第二加載服務器發送確定的所述數據請求消息,以使所述第二加載服務器根據接收的數據請求消息中包括的所述文件偏移量信息確定需要分配給所述第一數據節點的數據塊;
其中,所述第一加載服務器中存儲的數據與所述第二加載服務器中存儲的數據相同,且屬于同一數據文件。
第二方面,提供一種數據加載方法,該方法應用于數據庫系統中數據的加載,該數據庫系統包括多個數據節點和管理各數據節點的主節點,該方法采用加載服務器為所述數據庫系統提供數據塊,所述數據塊為包括多條邏輯記錄的數據傳輸單元,其中每條邏輯記錄對應數據庫中存儲的一行數據,包括:
第一加載服務器接收并存儲需要提供給數據庫系統內的數據節點的數據;
所述第一加載服務器將接收的數據劃分為多個數據塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310516735.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





