[發明專利]一種哈希表處理方法、裝置、設備及存儲介質在審
| 申請號: | 201710655959.2 | 申請日: | 2017-08-03 |
| 公開(公告)號: | CN107451271A | 公開(公告)日: | 2017-12-08 |
| 發明(設計)人: | 宋鑫;張欽;朱仲穎 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京品源專利代理有限公司11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 哈希表 處理 方法 裝置 設備 存儲 介質 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種哈希表處理方法、裝置、設備及存儲介質。
背景技術
哈希表在數據處理領域應用非常廣泛,哈希表中的一個地址空間成為一個槽,即哈希槽,每個槽存放相同鍵值的所有數據塊。
在現有技術中,哈希表的處理方法,是在創建哈希表之后需要立即對哈希表的槽進行初始化,全部設置為NULL。其中,NULL代表該槽未被使用過。后續訪問哈希表的操作會根據這個初始值來判斷哈希表的槽是否已經被使用。從而根據哈希表中槽的使用情況執行相應的操作,例如,將數據插入到哈希表的一個槽時:如果這個槽還沒有被使用過,那么就將這個數據塊放入槽中;如果已經被使用了,那么新的數據塊要連接在這個槽的所有數據塊之后。但是,當哈希表較大時,當對哈希表中所有槽進行初始化,性能消耗較大,占用系統資源較大。
發明內容
本發明實施例提供一種哈希表處理方法、裝置、設備及存儲介質,可以解決初始化時性能消耗較大的問題。
第一方面,本發明實施例提供了一種哈希表處理方法,包括:
將創建的哈希表劃分成至少兩個哈希分片,并將所述哈希分片的訪問信息進行存儲;其中,哈希分片由至少兩個哈希槽構成;
當對哈希表進行插入數據操作時,通過哈希函數確定插入的數據對應的第一目標哈希槽,并基于存儲的所述訪問信息判斷所述第一目標哈希槽所在的第一目標哈希分片是否被訪問;
若否,將所述第一目標哈希分片中的所有哈希槽進行初始化,并繼續訪問所述第一目標哈希槽的操作以在所述第一目標哈希槽中插入數據。
第二方面,本發明實施例還提供了一種哈希表處理裝置,包括:
劃分模塊,用于將創建的哈希表劃分成至少兩個哈希分片,并將所述哈希分片的訪問信息進行存儲;其中,哈希分片由至少兩個哈希槽構成;
判斷模塊,用于當對哈希表進行插入數據操作時,通過哈希函數確定插入的數據對應的第一目標哈希槽,并基于存儲的所述訪問信息判斷所述第一目標哈希槽所在的第一目標哈希分片是否被訪問;
初始化模塊,用于若否,將所述第一目標哈希分片中的所有哈希槽進行初始化,并繼續訪問所述第一目標哈希槽的操作以在所述第一目標哈希槽中插入數據。
第三方面,本發明實施例提供了一種設備,包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序,
當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現本發明實施例所述的哈希表處理方法。
第四方面,本發明實施例提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現如本發明實施例所述的哈希表處理方法
本發明實施例提供的技術方案,通過對創建的哈希表進行分片,當對哈希表插入數據時,通過哈希函數確認插入的數據對應的第一目標哈希槽,若根據存儲的訪問信息判斷第一目標哈希槽所在的第一目標哈希分片被訪問,對第一目標哈希片中的哈希槽初始化,并訪問第一目標哈希槽。當哈希表較大時,解決了現有技術中哈希表創建后立即對哈希表初始化導致性能消耗較大的問題,節省了系統資源。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯:
圖1a是本發明實施例提供的一種哈希表處理方法流程圖;
圖1b是本發明實施例提供的一種哈希表分片示意圖;
圖2是本發明實施例提供的一種哈希處理裝置結構框圖;
圖3是本發明實施例提供的一種設備的結構示意圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部內容。
圖1a是本發明實施例提供的一種哈希表處理方法流程圖,所述方法由一種哈希表處理裝置來執行,所述裝置由軟件和/或硬件來執行,所述裝置配置在設備中,所述方法可以用于處理較大的哈希表,即可以用于大小超過設定值的哈希表的處理情況。如圖1a所示,本發明實施例提供的技術方案包括:
S110:將創建的哈希表劃分成至少兩個哈希分片,并將所述哈希分片的訪問信息進行存儲;其中,哈希分片由至少兩個哈希槽構成。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710655959.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于鋼帶的機械式清理與平整機構
- 下一篇:可調式鋼帶牽引去污工裝





