[發(fā)明專利]SSTable文件存儲方法及裝置有效
| 申請?zhí)枺?/td> | 201410039183.8 | 申請日: | 2014-01-27 |
| 公開(公告)號: | CN103744628A | 公開(公告)日: | 2014-04-23 |
| 發(fā)明(設(shè)計(jì))人: | 楊威;唐會(huì)軍 | 申請(專利權(quán))人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F17/30 |
| 代理公司: | 北京市浩天知識產(chǎn)權(quán)代理事務(wù)所 11276 | 代理人: | 宋菲;劉蘭蘭 |
| 地址: | 100088 北京市西城區(qū)新*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | sstable 文件 存儲 方法 裝置 | ||
1.一種SSTable文件存儲方法,包括:
讀取合并前的多個(gè)SSTable文件,其中,每個(gè)合并前的SSTable文件中包含多條通過鍵值標(biāo)識的行數(shù)據(jù);
確定所述合并前的多個(gè)SSTable文件所對應(yīng)的鍵值區(qū)間,其中,所述合并前的多個(gè)SSTable文件所對應(yīng)的鍵值區(qū)間由所述合并前的多個(gè)SSTable文件中包含的最大鍵值和最小鍵值界定;
將所述合并前的多個(gè)SSTable文件所對應(yīng)的鍵值區(qū)間劃分為多個(gè)子區(qū)間,且每個(gè)子區(qū)間分別對應(yīng)一個(gè)預(yù)設(shè)的子目錄;
對所述合并前的多個(gè)SSTable文件中所有鍵值相同的行數(shù)據(jù)進(jìn)行合并,將合并后的行數(shù)據(jù)按照鍵值與子區(qū)間的對應(yīng)關(guān)系存儲為多個(gè)合并后的SSTable文件,將所述多個(gè)合并后的SSTable文件分別存儲到對應(yīng)子區(qū)間的子目錄下。
2.如權(quán)利要求1所述的方法,其中,每個(gè)合并前的SSTable文件所對應(yīng)的鍵值區(qū)間相同,且所述每個(gè)合并前的SSTable文件所對應(yīng)的鍵值區(qū)間由該SSTable文件中包含的最大鍵值和最小鍵值界定。
3.如權(quán)利要求1或2所述的方法,其中,每個(gè)子目錄下存儲至少一個(gè)合并后的SSTable文件,且所述至少一個(gè)合并后的SSTable文件所對應(yīng)的鍵值區(qū)間與該子目錄對應(yīng)的子區(qū)間相同,其中,所述至少一個(gè)合并后的SSTable文件所對應(yīng)的鍵值區(qū)間由所述至少一個(gè)合并后的SSTable文件中包含的最大鍵值和最小鍵值界定。
4.如權(quán)利要求1所述的方法,其中,所述將所述多個(gè)合并后的SSTable文件分別存儲到對應(yīng)子區(qū)間的子目錄下的步驟之后,進(jìn)一步包括:刪除所述合并前的多個(gè)SSTable文件。
5.如權(quán)利要求4所述的方法,其中,按照預(yù)設(shè)的第一時(shí)間間隔循環(huán)執(zhí)行各個(gè)步驟。
6.如權(quán)利要求5所述的方法,其中,進(jìn)一步包括:按照預(yù)設(shè)的第二時(shí)間間隔循環(huán)執(zhí)行以下步驟:分別對每個(gè)子目錄下存儲的至少一個(gè)合并后的SSTable文件中鍵值相同的行數(shù)據(jù)進(jìn)行合并。
7.如權(quán)利要求1所述的方法,其中,進(jìn)一步包括:依次對每個(gè)子目錄下存儲的至少一個(gè)合并后的SSTable文件進(jìn)行掃描,并且,在對每個(gè)子目錄下存儲的至少一個(gè)合并后的SSTable文件進(jìn)行掃描的過程中,進(jìn)一步掃描下次合并前的多個(gè)SSTable文件。
8.一種SSTable文件存儲裝置,包括:
讀取單元,適于讀取合并前的多個(gè)SSTable文件,其中,每個(gè)合并前的SSTable文件中包含多條通過鍵值標(biāo)識的行數(shù)據(jù);
確定單元,適于確定所述合并前的多個(gè)SSTable文件所對應(yīng)的鍵值區(qū)間,其中,所述合并前的多個(gè)SSTable文件所對應(yīng)的鍵值區(qū)間由所述合并前的多個(gè)SSTable文件中包含的最大鍵值和最小鍵值界定;
劃分單元,適于將所述合并前的多個(gè)SSTable文件所對應(yīng)的鍵值區(qū)間劃分為多個(gè)子區(qū)間,且每個(gè)子區(qū)間分別對應(yīng)一個(gè)預(yù)設(shè)的子目錄;
合并存儲單元,適于對所述合并前的多個(gè)SSTable文件中所有鍵值相同的行數(shù)據(jù)進(jìn)行合并,將合并后的行數(shù)據(jù)按照鍵值與子區(qū)間的對應(yīng)關(guān)系存儲為多個(gè)合并后的SSTable文件,將所述多個(gè)合并后的SSTable文件分別存儲到對應(yīng)子區(qū)間的子目錄下。
9.如權(quán)利要求8所述的裝置,其中,每個(gè)合并前的SSTable文件所對應(yīng)的鍵值區(qū)間相同,且所述每個(gè)合并前的SSTable文件所對應(yīng)的鍵值區(qū)間由該SSTable文件中包含的最大鍵值和最小鍵值界定。
10.如權(quán)利要求8或9所述的裝置,其中,每個(gè)子目錄下存儲至少一個(gè)合并后的SSTable文件,且所述至少一個(gè)合并后的SSTable文件所對應(yīng)的鍵值區(qū)間與該子目錄對應(yīng)的子區(qū)間相同,其中,所述至少一個(gè)合并后的SSTable文件所對應(yīng)的鍵值區(qū)間由所述至少一個(gè)合并后的SSTable文件中包含的最大鍵值和最小鍵值界定。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經(jīng)北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410039183.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計(jì)算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計(jì)算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時(shí)間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出





