[發明專利]存儲數據的方法和裝置在審
| 申請號: | 201611186259.5 | 申請日: | 2013-08-29 |
| 公開(公告)號: | CN106649708A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 畢杰山;智偉 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 存儲 數據 方法 裝置 | ||
技術領域
本發明涉及信息技術領域,并且更具體地,涉及存儲數據的方法和裝置。
背景技術
鍵值(KeyValue)類型分布式數據庫作為分布式列存儲數據庫具有高可伸縮性和魯棒性,已經在越來越多的系統中得到了廣泛的使用。KeyValue類型分布式數據庫的用戶表通常被設計用來存放數據格式相對簡單,關系簡單但可能是海量的數據,例如:用來存儲網頁地址信息,用來存儲通話記錄信息,用來存儲上網記錄信息,等等。它能夠根據數據記錄的行鍵(RowKey)提供快速的查詢,無關數據量的大小。它能夠在當前的存儲空間使用率達到一定閾值的時候動態的擴充物理節點。
在企業現有數據庫應用中,通常關聯很多個用戶數據表,這些數據表的大小不一,并且表與表之間的數據可能存在內在的關聯。而基于稀疏矩陣的KeyValue類型的分布式數據庫適合存放大數據量表,如果原樣將這些表導入到KeyValue類型分布式數據庫中,則存在過多的小表,不僅難以實現跨表的關聯查詢,而且會增加管理上的復雜度。也就是說,當將傳統應用中的數據遷移到KeyValue類型的分布式數據庫中,為了完成用戶表與用戶表之間的關聯查詢,需要查詢不同的表,不斷進行數據定位導致效率低下。
發明內容
本發明實施例提供了一種存儲數據的方法和裝置,能夠提高查詢數據的效率。
第一方面,提供了一種存儲數據的方法,包括:確定待存儲到KeyValue類型分布式數據庫中的至少兩個數據對象的相同的列屬性;確定該至少兩個數據對象中的每個數據對象在該KeyValue類型分布式數據庫中的行標識的格式,其中,該行標識的格式包括該相同的列屬性和數據對象標識,該至少兩個數據對象中的不同數據對象的數據對象標識在該行標識的格式中的位置相同且位于該相同的列屬性之后;根據確定的該每個數據對象的該行標識的格式,確定該每個數據對象的每條數據記錄的行標識的值;在該KeyValue類型分布式數據庫中存儲該每條數據記錄的行標識的值和該每條數據記錄,其中,該每條數據記錄的行標識的值作為該每條數據記錄在該KeyValue類型分布式數據庫中的主索引。
在第一種可能的實現方式中,該方法還包括:針對該每條數據記錄的行標識的值,按照第一順序對該每條數據記錄進行排序,使該至少兩個數據對象的所有數據記錄形成聚簇表。
結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,該第一順序為字典順序。
結合第一方面或第一方面的第一或二種可能的實現方式,在第三種可能的實現方式中,該方法還包括:接收數據請求,該數據請求指示對該至少兩個數據對象中的數據記錄進行查詢或獲取;根據該行標識的格式,構造在該KeyValue類型分布式數據庫中進行查詢的查詢信息,其中,該查詢信息包括該相同的列屬性;根據該查詢信息,導出該KeyValue類型分布式數據庫中主索引包含該查詢信息的數據記錄。
結合第一方面或第一方面的第一至三種可能的實現方式中的任一種可能的實現方式,在第四種可能的實現方式中,確定該至少兩個數據對象中的每個數據對象在該KeyValue類型分布式數據庫中的行標識的格式,包括:為該至少兩個數據對象指定在該KeyValue類型分布式數據庫中的行標識的第一前綴,其中,該第一前綴為常量;確定該至少兩個數據對象中的第一數據對象的該行標識的格式包括該第一前綴、該相同的列屬性和該第一數據對象的數據對象標識;或者,確定該至少兩個數據對象中的第二數據對象的該行標識的格式包括該第一前綴、該相同的列屬性、該第二數據對象的數據對象標識和該第二數據對象的列屬性中能區分該第二數據對象的所有數據記錄的列屬性。
結合第一方面的第四種可能的實現方式,在第五種可能的實現方式中,該查詢信息包括該第一前綴和該相同的列屬性。
結合第一方面的第四或五種可能的實現方式,在第六種可能的實現方式中,該方法還包括:確定該至少兩個數據對象中任一個數據對象在該KeyValue類型分布式數據庫中的二級索引的格式為第二前綴,第二屬性和該相同的列屬性,其中,該第二屬性為該任一個數據對象的列屬性中不同于該相同屬性的列屬性,該第二前綴為與該第一前綴不同的常量;根據該任一個數據對象的該二級索引的格式確定該任一個數據對象的二級索引;在該KeyValue類型分布式數據庫中存儲該任一個數據對象的二級索引。
結合第一方面或第一方面的第一至六種可能的實現方式中的任一種可能的實現方式,在第七種可能的實現方式中,該行標識的格式中的各個字段之間設置分隔符,或者,該各個字段具有固定長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611186259.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種可佩戴部件
- 下一篇:一種雙余度補償式尾翼舵面故障狀態控制方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





