[發明專利]存儲數據的方法和裝置以及檢索存儲節點的方法和裝置有效
| 申請號: | 201410728301.6 | 申請日: | 2014-12-03 |
| 公開(公告)號: | CN104361124B | 公開(公告)日: | 2018-03-27 |
| 發明(設計)人: | 苗維杰;劉小樹;智艷利;宋曉玉 | 申請(專利權)人: | 北京和利時系統工程有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 李紅爽,栗若木 |
| 地址: | 100176 北京市大*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 存儲 數據 方法 裝置 以及 檢索 節點 | ||
技術領域
本發明涉及數據處理技術,尤指一種存儲數據的方法和裝置以及檢索存儲節點的方法和裝置。
背景技術
實時數據庫是指數據庫系統發展的一個分支,是數據庫技術結合實時處理技術產生的。實時數據庫可用于工廠過程的自動采集、存儲和監視,可在線存儲每個工藝過程點的多年數據,并且可以提供清晰、精確的操作情況畫面,用戶既可瀏覽工廠當前的生產情況,也可回顧過去的生產情況。
現有的層次型實時數據庫的存儲數據的方法大致包括:
創建各數據對象,數據對象中包含有關鍵字;
根據數據中的查詢關鍵字在創建的數據對象中查找對應的數據對象,將數據存儲在查找到的數據對象中。
其中,根據數據中的查詢關鍵字在創建的數據對象中查找對應的數據對象包括:
計算查詢關鍵字的哈希值,查找哈希值對應的內存地址,如果查找到的內存地址對應的是一個數據對象,則該數據對象即為所要查找的數據對象;如果查找到的內存地址對應的是一個鏈表,則獲取鏈表對應的所有數據對象的關鍵字,則獲得的關鍵字與查詢關鍵字相同的數據對象即為所要查找的數據對象。
現有的層次型實時數據庫的存儲數據的方法中,需要在每個數據對象中保存完整的關鍵字,而各個數據對象的關鍵字有可能包含有相同的部分,所保存的關鍵字對內存的開銷很大。
發明內容
為了解決上述問題,本發明提出了一種存儲和檢索數據的方法和裝置以及檢索存儲節點的方法和裝置,能夠減小檢索過程中關鍵字對內存的開銷。
為了達到上述目的,本發明提出了一種存儲數據的方法,包括:
創建各數據類型;
根據數據類型創建數據類型對應的數據實例;
根據數據中的查詢關鍵字在創建的數據實例中查找對應的數據實例節點,將數據存儲在查找到的數據實例節點中。
優選地,所述創建各數據類型包括:
創建數據類型節點,設置所述數據類型節點的瀏覽名為所述數據類型的名稱。
優選地,所述創建各數據類型還包括:
為所述數據類型節點創建一個或一個以上對應的第一實例聲明節點,設置所述第一實例聲明節點的瀏覽名為所述第一實例聲明的名稱;其中,所述數據類型節點為所述第一實例聲明節點的父節點。
優選地,所述創建各數據類型還包括:
為第N實例聲明節點創建一個或一個以上對應的第(N+1)實例聲明節點,設置第(N+1)實例聲明節點的瀏覽名為第(N+1)實例聲明的名稱;其中,所述第N實例聲明節點為所述第(N+1)實例聲明節點的父節點;其中,N為大于或等于1的正整數。
優選地,所述根據數據類型創建數據類型對應的數據實例包括:
創建所述數據類型節點對應的第一數據實例節點,設置所述第一數據實例節點的瀏覽名為所述第一數據實例節點的名稱;
計算所述第一數據實例節點的路徑名的第一哈希值,在哈希表中查找所述第一哈希值,如果查找不到,則將所述第一哈希值和所述第一數據實例節點的地址之間的第一對應關系保存到哈希表中;如果查找到,則將所述哈希表中所述第一哈希值對應的地址和所述第一數據實例節點的地址保存到第一鏈表中,將所述第一哈希值和所述第一鏈表的地址之間的第二對應關系保存到所述哈希表中。
優選地,當判斷出所述數據類型存在所述第N實例聲明節點時,所述根據數據類型創建數據類型對應的數據實例還包括:
根據所述數據類型的第N實例聲明節點創建第二數據實例節點,設置所述第二實例節點對應的第N實例聲明節點;
設置所述第二數據實例節點對應的第N實例聲明節點的父節點對應的數據實例節點為所述第二數據實例節點的父節點;
計算所述第二數據實例節點的路徑名的第二哈希值,在哈希表中查找所述第二哈希值,如果查找不到,則將所述第二哈希值和所述第二數據實例節點的地址之間的第三對應關系保存到所述哈希表中;如果查找到,則將所述哈希表中所述第二哈希值對應的地址和所述第二數據實例節點的地址保存到第二鏈表中,將所述第二哈希值和所述第二鏈表的地址之間的第四對應關系保存到所述哈希表中;其中,N為大于或等于1的正整數。
優選地,所述根據數據中的查詢關鍵字在創建的數據實例中查找對應的數據實例節點,將數據存儲在查找到的數據實例節點中包括:
計算所述查詢關鍵字的第三哈希值,在所述哈希表中查找所述第三哈希值對應的地址,判斷出查找到的地址對應的是數據實例節點,將所述數據存儲到查找到的數據實例節點中。
優選地,判斷出查找到的地址對應的是鏈表時,該方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京和利時系統工程有限公司,未經北京和利時系統工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410728301.6/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





