[發明專利]應用于時序歷史數據庫的索引方法有效
| 申請號: | 201210413154.4 | 申請日: | 2012-10-25 |
| 公開(公告)號: | CN102890722A | 公開(公告)日: | 2013-01-23 |
| 發明(設計)人: | 鄭曉露;陳靜 | 申請(專利權)人: | 國家電網公司;江蘇瑞中數據股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 汪旭東 |
| 地址: | 100031 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用于 時序 歷史 數據庫 索引 方法 | ||
1.一種應用于時序歷史數據庫的索引方法,其特征在于,包括如下步驟:
(1)建立索引:
時序歷史數據庫中的測點文件、索引文件和數據文件三種文件串聯,通過二元組結構形式的文件指針進行訪問;
對測點文件中的每個測點單獨建立索引,所述索引采用多叉樹的層級結構;以時間點為關鍵字,索引節點的每個子指針指向下一級的索引節點,最頂層的索引節點為索引根節點,最下一層的索引節點為索引葉子節點,索引節點的每個時間點關鍵字左邊的子指針指向的下一級索引節點中的時間點關鍵字都小于此時間點關鍵字,同樣每個時間點關鍵字右邊的子指針指向的下一級索引節點中的時間點關鍵字都大于此時間點關鍵字;
索引葉子節點指向數據文件中的數據塊在數據文件中的存儲位置,所述索引葉子節點的每個子指針指向一個數據塊,所述索引葉子節點中的每個時間點關鍵字左邊的子指針指向的數據塊中數據的時間都小于此時間點關鍵字,同樣每個時間點關鍵字右邊的子指針指向的數據塊中數據的時間都大于此時間點關鍵字;
每個所述索引葉子節點指向的所有數據塊都有前指針和后指針,按照時間的順序和逆序構建成雙向鏈表,相鄰索引葉子節點中的首位數據塊也互相串聯;
(2)數據存儲:
采用內存映射文件的方式進行文件操作,歷史數據在寫入時,先將一定長度的文件內容映射到數據緩存中,然后在該數據緩存中填入數據塊,并將數據緩存中的內容和數據文件進行同步;
按照上述方式將索引節點內容寫入索引緩存中,索引節點的子指針指向所述數據塊,并將索引緩存中的內容和索引文件進行同步;
在寫入下一個數據塊和索引時,直接對緩存進行操作,直到映射到緩存中的文件空間用完,則進行下一次文件映射;?
循環以上流程;
(3)數據檢索:
在查詢某個測點的一段歷史數據時,根據查詢時間的起點查詢索引;查詢索引時,首先找到該測點索引的起點位置,然后進行內存映射文件操作,將文件中一定空間范圍內的所有索引節點映射到緩存中,通過查詢的起始時間點和索引中的時間點關鍵字來進行索引定位,若該索引節點非索引葉子節點,則繼續搜索子節點;
找到索引葉子節點之后,根據查詢時間段的起點定位該歷史數據的起始數據塊位置;通過同樣的內存映射文件方式讀取這個數據塊,然后利用數據塊之間的雙向鏈表一直向后遍歷,直到查詢到終止時間,中間不需要再去索引進行查詢。
2.根據權利要求1所述的方法,其特征是,步驟(1)建立索引中所述多叉樹是根據測點的數量級以及歷史數據量的大小來決定具體樹的分叉數目以及層次。
3.根據權利要求1或2所述的方法,其特征是,步驟(2)數據存儲中所述將一定長度的文件內容映射到數據緩存中,該一次文件映射的長度根據數據庫中數據存儲或者檢索操作中包含的測點粒度來自行定義。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國家電網公司;江蘇瑞中數據股份有限公司,未經國家電網公司;江蘇瑞中數據股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210413154.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種包含MOSFET器件的半導體器件和制作方法
- 下一篇:背光模組





