[發明專利]一種數據存儲系統和存儲方法有效
| 申請號: | 201410126062.7 | 申請日: | 2014-03-31 |
| 公開(公告)號: | CN103902701B | 公開(公告)日: | 2017-12-29 |
| 發明(設計)人: | 韓明 | 申請(專利權)人: | 北京皮爾布萊尼軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京思睿峰知識產權代理有限公司11396 | 代理人: | 趙愛軍 |
| 地址: | 100080 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 存儲系統 存儲 方法 | ||
技術領域
本發明屬于數據庫處理技術領域,具體涉及一種數據存儲系統和存儲方法。
背景技術
傳統的數據存儲和訪問的實現方式一般是基于關系型數據庫或者是基于nosql數據庫的分布式緩存。對于關系型數據庫實現方式,數據存儲在關系型數據庫的磁盤中,應用程序通過sql語句訪問數據庫中的數據。由于sql語句的語法非常靈活,因此能夠支持多種排序和多種分組條件下的復雜查詢,即能夠支持復雜的查詢業務。但是,關系型數據庫需要維護數據一致性,并維護大量關聯關系,并且數據存儲在硬盤上,導致數據查詢速度慢,特別是在高并發訪問情況下會嚴重影響查詢效率。
對于nosql數據庫實現方式,數據以鍵-值(key-value)對的方式存儲在內存中。在這種實現方式下,由于數據存儲在內存中,訪問速度快,并且通過標準api(應用程序編程接口)獲取數據簡單易用。但這種實現方式無法很好的支持多種排序和多種組合條件的復雜查詢,無法支持復雜的查詢業務。
可見上述兩種數據存儲和訪問的實現方式各有優劣。而如何在支持復雜的查詢業務的前提下提高數據訪問效率,就成為亟待解決的技術問題。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的數據存儲系統和存儲方法。
根據本發明的一個方面,提供了一種數據存儲方法,適于將來自第一數據存儲器的數據條目存儲到第二數據存儲器中,該方法包括:
根據對第一數據存儲器中的數據條目的查詢方式構造索引列表,索引列表中的每個索引對應一種查詢方式;
在第二數據存儲器中存儲該索引列表中的每個索引,其中每個索引包括標識該索引的索引名稱;
從第一數據存儲器中獲取各個數據條目,將所獲取的數據條目存儲到第二數據存儲器中,其中在第二數據存儲器中,每個數據條目包括數據條目的唯一標識以及相關聯的數據內容;
根據與每個索引相對應的查詢方式確定相關聯的一個或者多個數據條目,并確定各數據條目在第二數據存儲器中的唯一標識,獲取與該索引相關聯的數據條目標識列表;以及
將與每個索引相關聯的數據條目標識列表與每個索引的索引名稱相關聯地存儲到第二數據存儲器中。
可選地,所述根據對第一數據存儲器中的數據條目的查詢方式構造索引列表,包括:
根據對數據條目的排序查詢方式建立排序列表,并根據對數據條目的分組查詢方式建立分組列表;
根據排序列表和分組列表進行笛卡爾乘積,構造所述索引列表。
可選地,所述索引名稱包括排序查詢方式標識和分組查詢方式標識;
在所述第二數據存儲器中,每個數據條目的唯一標識為該數據條目在第一數據存儲器中的唯一標識,以及數據內容為將數據條目的各個字段進行序列化后得到的內容。
可選地,所述索引名稱還包括數據鍵值類型;
在所述第二數據存儲器中,每個數據條目的唯一標識還包括數據鍵值類型,以及數據內容為將數據條目的與數據鍵值類型對應的各個字段進行序列化后得到的內容;
其中,所述數據鍵值類型用于標識鍵值信息,所述鍵值為數據條目的一個或多個字段名稱。
可選地,所述方法還包括:
獲取來自應用服務器的查詢請求,所述查詢請求包括查詢方式和鍵值,其中所述鍵值為數據條目的一個或多個字段名稱;
根據查詢方式確定索引名稱,從第二數據存儲器中查找與索引名稱相關聯的數據條目標識列表,并根據查找到的數據條目標識列表從第二數據存儲器中獲取相關聯的數據內容;
對獲取到的數據內容進行去序列化,并從去序列化后的內容中獲取與鍵值對應的內容返回給應用服務器。
可選地,所述方法還包括:
獲取來自應用服務器的查詢請求,所述查詢請求包括查詢方式和鍵值;
根據查詢方式和鍵值確定索引名稱,從第二數據存儲器中查找與索引名稱相關聯的數據條目標識列表,并根據查找到的數據條目標識列表從第二數據存儲器中獲取相關聯的數據內容;
對獲取到的數據內容進行去序列化,將去序列化后的內容返回給應用服務器。
可選地,第一數據存儲器中的數據條目以關系型數據庫方式進行存儲;以及
第二數據存儲器中的索引以索引名稱為鍵、以相關聯的數據條目標識列表為值的鍵-值方式進行存儲,以及數據條目以數據條目的唯一標識為鍵、以相關聯的數據內容為值的鍵-值方式進行存儲。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京皮爾布萊尼軟件有限公司,未經北京皮爾布萊尼軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410126062.7/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





