[發(fā)明專利]一種數(shù)據(jù)存儲方法及裝置在審
| 申請?zhí)枺?/td> | 201710842915.0 | 申請日: | 2017-09-18 |
| 公開(公告)號: | CN107577436A | 公開(公告)日: | 2018-01-12 |
| 發(fā)明(設(shè)計)人: | 王旭 | 申請(專利權(quán))人: | 杭州時趣信息技術(shù)有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F17/30 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 310012 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 存儲 方法 裝置 | ||
1.一種數(shù)據(jù)存儲方法,其特征在于,包括:
在當(dāng)前數(shù)據(jù)寫入之前,當(dāng)無未存滿分塊時,在表分區(qū)中建立包含有列存儲文件的分塊;
將所述當(dāng)前數(shù)據(jù)按列拆分,并將所述當(dāng)前數(shù)據(jù)按列并發(fā)寫入當(dāng)前列存儲文件;
在所述當(dāng)前數(shù)據(jù)寫入完畢后,在當(dāng)前分塊中建立與各所述當(dāng)前列存儲文件對應(yīng)的分塊索引,并在所述分塊索引中記錄所述當(dāng)前列存儲文件中的最大數(shù)據(jù)、最小數(shù)據(jù)、已存數(shù)據(jù)總量、空數(shù)據(jù)總量、各所述已存數(shù)據(jù)之和及所述已存數(shù)據(jù)的平均值;
在寫入數(shù)據(jù)全部寫入完畢后,在當(dāng)前表分區(qū)中建立與所述當(dāng)前表分區(qū)中的指定分區(qū)段對應(yīng)的分區(qū)索引,并在所述分區(qū)索引中記錄所述指定分區(qū)段中的最大數(shù)據(jù)和最小數(shù)據(jù);
在所述當(dāng)前數(shù)據(jù)寫入完畢后,計算所述當(dāng)前列存儲文件中最大數(shù)據(jù)和最小數(shù)據(jù)的差值,并將所述差值均勻劃分為N個范圍段;
在所述當(dāng)前分塊中建立與各所述當(dāng)前列存儲文件對應(yīng)的范圍段索引,并在所述范圍段索引中,標記所述當(dāng)前列存儲文件中數(shù)值型數(shù)據(jù)的分布情況;
其中,N為正整數(shù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述當(dāng)無未存滿分塊時,在表分區(qū)中建立包含有列存儲文件的分塊具體包括:
當(dāng)無未存滿表分區(qū)時,新建當(dāng)前表分區(qū),并在所述當(dāng)前表分區(qū)中建立包含有所述列存儲文件的所述分塊。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,還包括:
在所述寫入數(shù)據(jù)寫入完畢之后,掃描當(dāng)前存儲目錄下已寫入的文件數(shù)據(jù);
當(dāng)掃描到已存滿分塊中的所述列存儲文件存儲有未壓縮數(shù)據(jù)時,壓縮所述未壓縮數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,還包括:
在所述當(dāng)前數(shù)據(jù)寫入完畢后,在所述當(dāng)前分塊中建立與各所述當(dāng)前列存儲文件對應(yīng)的字符位索引,并在所述字符位索引中,標記所述當(dāng)前列存儲文件中字符型數(shù)據(jù)的分布情況。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,還包括:
在所述當(dāng)前數(shù)據(jù)寫入完畢后,將與所述當(dāng)前列存儲文件對應(yīng)的各索引加載至JAVA虛擬機內(nèi)存;
當(dāng)接收查詢請求時,如果所述JAVA虛擬機內(nèi)存中存儲有與當(dāng)前查詢數(shù)據(jù)所在的所述列存儲文件對應(yīng)的所述索引,則依據(jù)所述JAVA虛擬機內(nèi)存中存儲的所述索引檢索出所述當(dāng)前查詢數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)存儲方法,其特征在于,還包括:
在獲取所述當(dāng)前查詢數(shù)據(jù)之后,將所述當(dāng)前查詢數(shù)據(jù)所在的所述列存儲文件中的所有解壓數(shù)據(jù)存儲至JAVA堆外內(nèi)存;
當(dāng)接收到新查詢請求時,如果所述JAVA堆外內(nèi)存中存儲有所述新查詢請求對應(yīng)的當(dāng)前查詢數(shù)據(jù),則從所述JAVA堆外內(nèi)存中獲取所述新查詢請求對應(yīng)的當(dāng)前查詢數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)存儲方法,其特征在于,所述將所述查詢數(shù)據(jù)所在的所述列存儲文件中的所有解壓數(shù)據(jù)存儲至JAVA堆外內(nèi)存具體包括:
將所述解壓數(shù)據(jù)以字節(jié)流形式存儲至所述JAVA堆外內(nèi)存;
則對應(yīng)的,所述從所述JAVA堆外內(nèi)存中獲取所述當(dāng)前查詢數(shù)據(jù)具體包括:
以所述字節(jié)流形式在所述JAVA堆外內(nèi)存中檢索出所述當(dāng)前查詢數(shù)據(jù);
將所述當(dāng)前查詢數(shù)據(jù)轉(zhuǎn)化成字符串形式的當(dāng)前查詢數(shù)據(jù),并獲取將所述字符串形式的當(dāng)前查詢數(shù)據(jù)。
8.根據(jù)權(quán)利要求5所述的數(shù)據(jù)存儲方法,其特征在于,還包括:
在獲取所述當(dāng)前查詢數(shù)據(jù)之后,將所述當(dāng)前查詢數(shù)據(jù)寫入JAVA虛擬機內(nèi)存,且如果所述JAVA虛擬機內(nèi)存中存儲的所述當(dāng)前查詢數(shù)據(jù)在預(yù)設(shè)時間內(nèi)未使用,則清除所述JAVA虛擬機內(nèi)存中存儲的所述當(dāng)前查詢數(shù)據(jù);
則對應(yīng)的,當(dāng)在預(yù)設(shè)時間內(nèi)接收到獲取所述當(dāng)前查詢數(shù)據(jù)的查詢請求時,直接從所述JAVA虛擬機內(nèi)存中獲取所述當(dāng)前查詢數(shù)據(jù)。
9.一種數(shù)據(jù)存儲裝置,其特征在于,包括:
建立模塊,用于在當(dāng)前數(shù)據(jù)寫入之前,當(dāng)無未存滿分塊時,在表分區(qū)中建立包含有列存儲文件的分塊;
寫入模塊,用于將所述當(dāng)前數(shù)據(jù)按列拆分,并將所述當(dāng)前數(shù)據(jù)按列并發(fā)寫入當(dāng)前列存儲文件;
創(chuàng)建分塊索引模塊,用于在所述當(dāng)前數(shù)據(jù)寫入完畢后,在當(dāng)前分塊中建立與各所述當(dāng)前列存儲文件對應(yīng)的分塊索引,并在所述分塊索引中記錄所述當(dāng)前列存儲文件中的最大數(shù)據(jù)、最小數(shù)據(jù)、已存數(shù)據(jù)總量、空數(shù)據(jù)總量、各所述已存數(shù)據(jù)之和及所述已存數(shù)據(jù)的平均值;
創(chuàng)建分區(qū)索引模塊,用于在寫入數(shù)據(jù)全部寫入完畢后,在當(dāng)前表分區(qū)中建立與所述當(dāng)前表分區(qū)中的指定分區(qū)段對應(yīng)的分區(qū)索引,并在所述分區(qū)索引中記錄所述指定分區(qū)段中的最大數(shù)據(jù)和最小數(shù)據(jù);
所述數(shù)據(jù)存儲裝置,還用于:
在所述當(dāng)前數(shù)據(jù)寫入完畢后,計算所述當(dāng)前列存儲文件中最大數(shù)據(jù)和最小數(shù)據(jù)的差值,并將所述差值均勻劃分為N個范圍段;
在所述當(dāng)前分塊中建立與各所述當(dāng)前列存儲文件對應(yīng)的范圍段索引,并在所述范圍段索引中,標記所述當(dāng)前列存儲文件中數(shù)值型數(shù)據(jù)的分布情況;
其中,N為正整數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州時趣信息技術(shù)有限公司,未經(jīng)杭州時趣信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710842915.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種便攜式多功能電源車
- 下一篇:一種圖書館用規(guī)整圖書的手推車裝置
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 數(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)裝置





