[發(fā)明專利]LSM數(shù)據(jù)合并排序方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410204080.2 | 申請(qǐng)日: | 2014-05-14 |
| 公開(公告)號(hào): | CN105095287B | 公開(公告)日: | 2018-09-28 |
| 發(fā)明(設(shè)計(jì))人: | 岳銀亮;張子剛;潘鋒烽;劉揚(yáng)寬 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 北京同立鈞成知識(shí)產(chǎn)權(quán)代理有限公司 11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | lsm 數(shù)據(jù) 合并 排序 方法 裝置 | ||
本發(fā)明實(shí)施例提供一種LSM數(shù)據(jù)合并排序方法和裝置,通過利用相鄰兩級(jí)之間SSTable的相似度,對(duì)相鄰兩級(jí)中鍵值相似度最高的一對(duì)SSTable進(jìn)行合并排序操作,因?yàn)椋I值相似度最高的一對(duì)SSTable內(nèi)存在相同的鍵值最多,也就是存在鍵值的舊版本最多,因此,根據(jù)鍵值相似度確定進(jìn)行合并排序操作的SSTable,能夠最早最多的刪除舊版本的鍵值,避免舊版本的鍵值在存儲(chǔ)設(shè)備中存儲(chǔ)較長(zhǎng)時(shí)間,占用存儲(chǔ)空間,從而,提高存儲(chǔ)空間的利用率。
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種日志結(jié)構(gòu)合并(Log StructuredMerge,以下簡(jiǎn)稱:LSM)數(shù)據(jù)合并排序方法和裝置。
背景技術(shù)
LSM是一種有序非本地更新的數(shù)據(jù)結(jié)構(gòu),常用于大數(shù)據(jù)合并排序的數(shù)據(jù)結(jié)構(gòu),其主要應(yīng)用于頻繁更新的數(shù)據(jù)索引,數(shù)據(jù)頻繁更新意味著存儲(chǔ)設(shè)備中有大量鍵值(key/value)存在兩個(gè)或更多版本。
通常,LSM有7級(jí)(level),現(xiàn)有技術(shù)中,當(dāng)某級(jí)的數(shù)據(jù)大小超過預(yù)設(shè)閾值時(shí),將該級(jí)中的某個(gè)鍵范圍(key Range)內(nèi)的排序字符串表(Sorted String Table,以下簡(jiǎn)稱:SSTable)與下一級(jí)中的相同的鍵范圍內(nèi)的SSTable 進(jìn)行合并排序(compact)操作,從而,實(shí)現(xiàn)對(duì)鍵值的壓縮和排序。SSTable 是指在一個(gè)鍵范圍內(nèi)存儲(chǔ)的鍵值的排序表。
然而,采用現(xiàn)有技術(shù)的方法,針對(duì)存儲(chǔ)設(shè)備中同一個(gè)鍵值不能及時(shí)刪除舊版本,導(dǎo)致存儲(chǔ)空間的利用率不高。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種LSM數(shù)據(jù)合并排序方法和裝置,以提高存儲(chǔ)空間的利用率。
本發(fā)明實(shí)施例第一方面提供一種LSM數(shù)據(jù)合并排序方法,包括:
獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表;
對(duì)所述一對(duì)排序字符串表進(jìn)行合并排序操作。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表,包括:
以預(yù)設(shè)時(shí)間間隔獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表。
結(jié)合第一方面,在第二種可能的實(shí)現(xiàn)方式中,所述獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表,包括:
判斷所述相鄰兩級(jí)中的上一級(jí)存儲(chǔ)的數(shù)據(jù)大小是否超過預(yù)設(shè)閾值;
當(dāng)所述相鄰兩級(jí)中的上一級(jí)存儲(chǔ)的數(shù)據(jù)大小超過預(yù)設(shè)閾值時(shí),則獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表。
結(jié)合第一方面或第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述對(duì)所述一對(duì)排序字符串表進(jìn)行合并排序操作,包括:
從所述一對(duì)排序字符串表的相同的鍵值中確定舊版本的鍵值;
將所述舊版本的鍵值刪除;
對(duì)刪除所述舊版本之后的所述一對(duì)排序字符串表中的各鍵值進(jìn)行排序。
本發(fā)明實(shí)施例第二方面提供一種LSM數(shù)據(jù)合并排序裝置,包括:
獲取模塊,用于獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表;
處理模塊,用于對(duì)所述一對(duì)排序字符串表進(jìn)行合并排序操作。
結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述獲取模塊具體用于以預(yù)設(shè)時(shí)間間隔獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表。
結(jié)合第二方面,在第二種可能的實(shí)現(xiàn)方式中,所述獲取模塊具體用于判斷所述相鄰兩級(jí)中的上一級(jí)存儲(chǔ)的數(shù)據(jù)大小是否超過預(yù)設(shè)閾值;當(dāng)所述相鄰兩級(jí)中的上一級(jí)存儲(chǔ)的數(shù)據(jù)大小超過預(yù)設(shè)閾值時(shí),則獲取相鄰兩級(jí)之間鍵值相似度最高的一對(duì)排序字符串表。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410204080.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 圓形極化無輻射介質(zhì)波導(dǎo)
- 一種固體氧化物燃料電池電極及其制備工藝
- LSM樹的建立方法、LSM樹的數(shù)據(jù)讀取方法和服務(wù)器
- 一種LSM樹的優(yōu)化方法、裝置及計(jì)算機(jī)設(shè)備
- 一種數(shù)據(jù)存儲(chǔ)方法、裝置及設(shè)備
- 基于LSM樹的Oracle數(shù)據(jù)庫數(shù)據(jù)處理方法
- 一種LSM樹數(shù)據(jù)處理方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 用于液體狀態(tài)機(jī)的神經(jīng)網(wǎng)絡(luò)架構(gòu)自動(dòng)搜索方法、系統(tǒng)及介質(zhì)
- 一種硬件感知的液體狀態(tài)機(jī)網(wǎng)絡(luò)生成方法及系統(tǒng)
- 一種基于LSM來實(shí)現(xiàn)動(dòng)態(tài)的系統(tǒng)調(diào)用劫持的方法
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





