TWI412929B - 散列表動態適應資料之方法及其裝置 - Google Patents
散列表動態適應資料之方法及其裝置 Download PDFInfo
- Publication number
- TWI412929B TWI412929B TW98124930A TW98124930A TWI412929B TW I412929 B TWI412929 B TW I412929B TW 98124930 A TW98124930 A TW 98124930A TW 98124930 A TW98124930 A TW 98124930A TW I412929 B TWI412929 B TW I412929B
- Authority
- TW
- Taiwan
- Prior art keywords
- hash
- storage area
- data
- hash table
- stored
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係有關於資料儲存領域,特別係有關於一種散列表動態適應資料之方法及其裝置。
在一般之線性表或樹等資料結構中,在將資料儲存至資料結構時,資料在資料結構中之相對位置是隨機的,與資料的關鍵字之間不存在確定關係。在資料結構中尋找資料時,需將資料的關鍵字與資料結構中記錄的關鍵字進行一系列比較,才能尋找到資料,尋找的效率與比對次數密切相關,很多情況下,資料尋找效率低。為了避免這種問題,先前技術一般採用散列函數(Hash Function)對需要儲存之資料進行處理,得到散列表(Hash Table),使資料的關鍵字與資料結構中之唯一的儲存位置相對應,從而在尋找資料時,不需要進行比對便可直接取得所尋找之資料。
現有之散列表儲存區一般是固定長度的,即散列表儲存區之大小(Hash Base值)是固定的,預先根據資料之儲存需求來設定合適之Hash Base值。當需要儲存之資料增大時,則由於這種散列表儲存區太小導致產生較多之衝突,降低了散列演算法之效率。如果預先設置足夠大之散列表儲存區,則當資料量較小時,將導致記憶體之浪費。
本發明實施例之目的在於提供一種散列表動態適應資料之方法,旨在解決現有之散列表不能動態適應資料而造成之記憶體浪費或記憶體不足之問題。
本發明實施例是這樣實現的,一種散列表動態適應資料之方法,該方法包括下述步驟:
A、將記憶體初始化為散列表儲存區、散列項儲存區和散列關鍵值(Hash Key)儲存區;
B、當檢測到散列表不能滿足資料之儲存需求時,保持散列項儲存區和散列關鍵值儲存區之資料不變,釋放散列表儲存區,並重新分配能滿足資料儲存需求之新的散列表儲存區,採用重新分配散列表儲存區之前採用之散列函數對散列關鍵值儲存區中儲存的資料重新進行計算,得到新的散列表儲存區中的資料。
本發明實施例之另一目的在於提供一種散列表動態適應資料之裝置,該裝置包括:記憶體初始化單元,用於將記憶體初始化為散列表儲存區、散列項儲存區和散列關鍵值儲存區;散列表判斷單元,用於判斷散列表是否滿足資料儲存需求;儲存區保持單元,用於在該散列表判斷單元之判斷結果為否時,保持散列項儲存區和散列關鍵值儲存區之資料不變;散列表重新分配單元,用於在該散列表判斷單元之判斷結果為否時,釋放散列表儲存區,並重新分配能滿足資料儲存需求之新的散列表儲存區;資料重計算單元,用於在該散列表判斷單元之判斷結果為否時,採用重新分配散列表儲存區之前採用之散列函數對散列關鍵值儲存區中儲存之資料重新進行計算,得到新的散列表儲存區中之資料。
在本發明實施例中,當檢測到散列表不能滿足資料之儲存需求時,先保持散列項儲存區和散列關鍵值儲存區之資料不變,再釋放散列表儲存區,並重新分配能滿足資料儲存需求之新的散列表儲存區,採用相同之散列函數對散列關鍵值儲存區中儲存之資料重新進行計算,得到新的散列表儲存區之資料,從而使散列表可以動態之適應任意資料,避免了由於散列表儲存區過大造成之記憶體浪費問題,由於散列表儲存區過小造成之散列表儲存區不能滿足任意資料需求,從而導致衝突較多、降低散列函數之效率之問題。
為了使本發明之目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述之實施例僅僅用以解釋本發明,並不用於限定本發明。
在本發明實施例中,當檢測到散列表不能滿足資料之儲存需求時,先保持散列項儲存區和散列關鍵值儲存區之資料不變,再釋放散列表儲存區,並重新分配能滿足資料儲存需求之新的散列表儲存區,採用相同之散列函數對散列關鍵值儲存區中儲存之資料重新進行計算,得到新的散列表儲存區之資料,從而使散列表可以動態之適應任意資料,避免了由於散列表儲存區過大造成之記憶體浪費和散列表儲存區過小造成之散列表儲存區不能滿足任意資料需求之問題。
第1圖係本發明實施例提供之散列表動態適應資料之方法之實施流程,詳述如下:在步驟S101中,將記憶體初始化為散列表(Hash Table)儲存區、散列項(Hash Item)儲存區和散列關鍵值(Hash Key)儲存區。
其中Hash Table儲存區用於儲存散列項之索引值(Hash Item之索引值)。在對記憶體進行初始化時,需要根據當前資料之儲存需求設置該Hash Table儲存區之大小Hash Base值。在根據當前資料之儲存需求設置Hash Base值時,可以設置為大於或等於目前待儲存之資料量之2倍的最小質數。在本發明實施例中,根據散列值(Hash Value)可以直接定位Hash Table儲存區中之位置。其中Hash Value是採用預設之散列函數(Hash Function)對資料進行計算得到之。
Hash Item儲存區用於儲存資料之資訊。其中資料之資訊包括但不限於資料之真實位址和長度。該Hash Item儲存區之大小根據需要儲存之資料增加而增加。在本發明實施例中,根據Hash Table儲存區中儲存的Hash Item之索引值可以直接定位Hash Item儲存區中Item位置。
Hash Key儲存區用於儲存資料(Key),該Hash Item儲存區之大小根據需要儲存之資料之增加而增加。在本發明實施例中,根據Hash Item儲存區中儲存的資料之資訊可以直接定位Hash Key儲存區中之位置。
在步驟S102中,採用預設之散列函數(Hash Function)對需要儲存或者需要讀取之資料進行計算,得到散列值(Hash Value),再在Hash Table儲存區中該Hash Value直接定位之位置中儲存資料資訊之索引值,或者從記憶體之對應位置讀取資料。
在本發明實施例中,將記憶體初始化為Hash Table儲存區、Hash Item儲存區和Hash Key儲存區後,即可採用預設之散列函數對需要儲存或者需要讀取之資料進行計算,得到散列值(Hash Value),再在Hash Table儲存區中該Hash Value直接定位之位置中儲存資料資訊之索引值,或者從記憶體之對應位置讀取資料。
其中儲存資料之過程簡述如下:採用預設之散列函數對待儲存之資料進行計算,得到散列值;將待儲存之資料保存到散列關鍵值儲存區,並將待儲存之資料在散列關鍵值儲存區之真實位址和長度記錄到散列項儲存區,得到散列項儲存區之索引值;將得到之散列項儲存區之索引值記錄在散列值作為散列表儲存區之下標直接拜訪到位置,存入處理完成。
讀取資料之過程簡述如下:採用預設之Hash Function對資料進行計算,得到散列值(Hash Value);根據該Hash Value直接定位Hash Table儲存區中之位置,從而得到Hash Item之索引值;根據Hash Item之索引值直接定位Hash Item儲存區中Item位置,從而得到資料之資訊,該資料之資訊包括但不限於資料之真實位址和長度;根據資料之資訊直接定位Hash Key儲存區中之位置,從而可以從該位置讀取資料。在步驟S103中,判斷是否需要對散列表進行動態擴展處理,如果是,執行步驟S104,若否,則繼續判斷。
在本發明實施例中,可以藉由檢測散列表是否滿足資料儲存需求來判斷是否需要對散列表進行動態擴展處理,當散列表不能滿足資料儲存需求時,則判定需要對散列表進行動態擴展處理。當然還可以採用現有之任意一種判斷方式進行判斷,在此不再贅述。
其中檢測散列表是否滿足資料儲存需求之方式可以為:檢測散列表中之衝突數量是否大於或等於1,且需要儲存資料之數量是否大於或等於Hash Base之一半,如果是,則判定散列表不能滿足資料需求。當然還可以採用現有之任意一種檢測方式進行檢測,在此不再贅述。
在步驟S104中,保持Hash Item儲存區和Hash Key儲存區之資料不變。
在步驟S105中,釋放Hash Table儲存區,並重新分配能滿足資料儲存需求之新的Hash Table儲存區。
在本發明實施例中,由於Hash Table儲存區不能滿足資料之儲存需求,因此,在釋放Hash Table儲存區,並重新分配能滿足資料儲存需求之新的Hash Table儲存區時,增大Hash Table儲存區之大小Hash Base值,以增加Hash Table儲存區之大小,形成新的Hash Table儲存區,以使新的Hash Table儲存區能滿足資料儲存需求。
在本發明實施例中,重新分配能滿足資料儲存需求之新的Hash Table儲存區時,可以根據目前待儲存之總資料量設置Hash Base值,Hash Base值可以設置為大於或者等於目前待儲存之總資料量之2倍之最小質數;亦可以是一次性擴大到N倍之最小質數,其中N為大於或者等於2之自然數,一次性擴大多一些,以減少資料量需求變大時之調整次數。
在步驟S106中,採用上述預設之散列函數對Hash Key儲存區中儲存之資料重新進行計算,得到新的Hash Table儲存區中之資料。
在本發明實施例中,由於新的Hash Table儲存區之大小Hash Base值發生了變化,從而採用上述預設之Hash Function對Hash Key儲存區中儲存之資料重新進行計算後,即可得到新的Hash Table儲存區之資料,從而藉由僅改變Hash Key儲存區中之資料在Hash Table儲存區中之位置,即可不改變散列表動態擴展之前的資料之情況下實現散列表動態適應資料,從而避免了由於Hash Table儲存區過大導致之記憶體浪費問題和Hash Table儲存區過小導致之不能滿足資料儲存需求之問題。
以下以一個示例對本發明實施例進行詳細之描述,但不以此實施例為限。假設將瀏覽器程式中之javascript語句函數變數作為一種需要儲存之資料,其中瀏覽器程式中之javascript語句函數變數如下:
先將記憶體初始化為Hash Table儲存區、Hash Item儲存區和Hash Key儲存區。並根據資料之儲存需求設置Hash Table儲存區之大小Hash Base值為491。採用預設之散列函數對上述資料進行計算,得到Hash Value,並根據Hash Value將資料儲存在記憶體之對應位置或者從記憶體之對應位置讀取資料,根據Hash Value將資料儲存在記憶體之對應位置後,記憶體中之資料結構如第2圖所示。其中Hash Function可為任意一種散列函數,如hash_fun()如下:變數’value_1’時,可用內碼相加方式:(’v’+’a’+’1’+’u’+’e’+’_’+1+547)%491=138獲得一個Hash Value值138,如採用hash_fun()對資料value_1進行計算,得到資料value_1之Hash value為138,採用Hash Function對資料fun1進行計算,得到資料fun1之Hash value為197,即hash_fun(“value_1”)=138,hash_fun(“fun_1”)=197。在得到Hash Value後,即可根據該Hash Value得到Hash Item之索引值,分別為1和2,根據Hash Item之索引值即可得到Hash Item儲存區中之Item位置,從而得到資料value_1之真實位址和長度等資訊,分別為addr1和addr2,進而可以將資料value_1寫入Hash Key儲存區之真實位址為addr1中,或者從Hash Key儲存區之真實位址為addr1中讀取資料value_1,將資料fun1寫入Hash Key儲存區之真實位址為addr2中,或者從Hash Key儲存區之真實位址為addr2中讀取資料fun1,實現資料之儲存和讀取。
當需要儲存之資料動態變化時,為了使散列表可以滿足資料之儲存需求,藉由檢測當前之散列表是否滿足當前資料需求來判斷是否需要對散列表進行動態擴展處理。在本發明實施例中,當檢測到散列表中之衝突數量大於或者等於1,且Key之數量大於或者等於Hash Base之一半時,則判定需要對散列表進行動態擴展處理。其中對散列表進行動態擴展處理之步驟如下:保持Hash Item儲存區和Hash Key儲存區不變。
釋放Hash Table儲存區,並重新分配一塊能滿足當前資料需求之新的Hash Table儲存區。
採用上述預設之散列函數對Hash Key儲存區中儲存之資料重新進行計算,得到新的Hash Table儲存區中之資料,此時,記憶體中之資料結構如第3圖所示。
由於Hash Table之大小Hash Base值發生了變化,因此,採用上述預設之散列函數對Hash Key儲存區中儲存之資料重新進行計算後,得到之Hash Value不相同,分別為hash_fun(“value_1”)=249,hash_fun(“fun_1”)=467,即動態擴展Hash Table儲存區得到新的Hash Table儲存區後,動態擴展Hash Table儲存區之前的Hash Item儲存區和Hash Key儲存區中之資料沒有發生變化,在原來的基礎上被繼續使用,Hash Key儲存區中之資料在Hash Table儲存區中之位置發生改變。這樣使得Hash Table儲存區可以動態之適應資料,避免了由於Hash Table儲存區過大導致之記憶體浪費問題和Hash Table儲存區過小導致之不能滿足資料儲存需求之問題。
以下以一個示例對本發明實施例進行詳細之描述,但不以該示例為限。
假設學校有500學生,學生之資訊資料要記錄下來,以方便搜尋學生資訊。其中學生資訊包括但不限於學生姓名和每個學生之家長、年齡、身高,出生年月等建檔學生資訊。根據此資料儲存需求,Hash Table之大小Hash Base值設置為大於或者等於1000(2倍資料量)之最小質數,為1009。且預設之散列函數如下:將學生姓名之總筆劃數、字數組合成一個數再加上13後與Hash Base值之餘數。那麼將學生之資訊資料儲存至記憶體之過程如下:先採用預設之散列函數對學生之資訊資料進行計算,得到Hash Value,如採用預設之散列函數對學生張三之資訊資料進行計算,得到其Hash Value為4,將該學生張三之資訊資料儲存至散列關鍵值儲存區,並把保存學生張三之資訊資料之位址和此資料長度記錄到散列項儲存區,得到一個散列項儲存區之索引值。將得到之散列項儲存區之索引值儲存至之前計算得到之散列值直接定位到之Hash Table儲存區之位置。根據上述方法,將所有500名建檔學生資訊保存Hash Key儲存區中,Hash Item儲存區中存放有500個位址和長度資訊,長度為1009之Hash table儲存區中散亂之存放著1-500個Hash Item之索引值。
查找學生張三之過程如下:根據名字張三和Hash Base值1009採用預設之散列函數計算得到Hash Value為4,(存入時,亦是4),則根據Hash table儲存區中第4個位置記錄之Hash Item之索引值即可查找到學生張三之資訊資料之儲存位址和長度等資訊,從而可從Hash Key儲存區中查找到學生張三之資訊資料。
突然學校又增加了100名學生,此時,首先判斷Hash table儲存區中之衝突數量大於1,並且學生數量變為600>Hash Base值1009之一半,則需要動態擴展Hash Table儲存區。
根據新的學生人數,重新分配新的Hash Table儲存區,設置新的Hash Table儲存區之大小為新的學生人數之的2倍以上之最小質數1103,即設置新的Hash Table值為1103釋放原來的Hash Table儲存區1009空間,新建立Hash Table儲存區1103空間,原有之Hash Item儲存區與Hash Key儲存區不變,只是增加新的100學生資料,並相互關聯。
運用上述預設之散列函數計算出Hash Key儲存區中每個學生之Hash Value以及新增加之每個學生之Hash Value,並在相應之Hash Table儲存區位置記錄每個學生之Hash Item之索引值。
此時Hash Key資料區中之前之學生資料不變,增加100名學生資料,Hash Item變為600個Item,Hash Table變為1103個位置。
第4圖係為本發明實施例提供的散列表動態適應資料裝置之方塊圖,為了便於說明,僅示出了與本發明實施例相關之部分。該散列表動態適應資料裝置可以是內置於具有記憶體應用之電子設備中之軟體單元、硬體單元或者軟硬體相結合之單元,或者作為獨立的插件(Plugin)整合到具有記憶體應用之電子設備中。其中:記憶體初始化單元41將記憶體初始化為Hash Table儲存區、Hash Item儲存區和Hash Key儲存區。
其中Hash Table用於儲存散列項之索引值(Hash Item之索引值)。Hash Item儲存區用於儲存資料之資訊。其中資料之資訊包括但不限於資料之真實位址和長度。Hash Key儲存區用於儲存資料(Key)。
資料處理單元42採用預設之散列函數(Hash Function)對需要儲存或者需要讀取之資料進行計算,得到散列值(Hash Value),再在Hash Table儲存區中該Hash Value直接定位之位置中儲存資料資訊之索引值,或者從記憶體之對應位置讀取資料。其處理過程如上所述,在此不再贅述。
散列表判斷單元43判斷散列表是否滿足資料儲存需求。在本發明實施例中,當散列表不能滿足資料儲存需求時,則判定需要對散列表進行動態擴展處理。
其中判斷散列表是否滿足資料儲存需求之方式可為:檢測散列表中之衝突數量是否大於或者等於1,且需要儲存之資料之數量是否大於或者等於Hash Base之一半,如果是,則判定散列表不能滿足資料儲存需求。當然還可以採用現有之任意一種檢測方式進行檢測,在此不再贅述。
儲存區保持單元44在散列表判斷單元43之結果為否時,保持Hash Item儲存區和Hash Key儲存區之資料不變。
散列表重新分配單元45在散列表判斷單元43之結果為否時,釋放Hash Table儲存區,並重新分配能滿足資料儲存需求之新的Hash Table儲存區。
在本發明實施例中,重新分配能滿足資料儲存需求之新的Hash Table儲存區時,可以根據當前待儲存之總的資料量設置Hash Base值,Hash Base值可以設置為大於或者等於目前待儲存之總的資料量之2倍之最小質數;亦可以是一次性擴大到N倍之最小質數,該N為大於或者等於2之自然數,一次性擴大多一些,以減少資料量需求變大時之調整次數。
資料重計算單元46在散列表判斷單元43之結果為否時,採用上述預設之Hash Function對Hash Key儲存區中儲存之資料重新進行計算,得到新的Hash Table儲存區中之資料。
在本發明實施例中,當散列表不能滿足資料儲存需求時,先保持Hash Item儲存區和Hash Key儲存區之資料不變,釋放Hash Table儲存區,並重新分配能滿足資料儲存需求之新的Hash Table儲存區,採用預設之散列函數對Hash Key儲存區中儲存之資料重新進行計算,得到新的Hash Table儲存區之資料,從而使散列表可以動態之適應任意資料,避免了由於Hash Table儲存區過大造成之記憶體浪費和Hash Table儲存區過小造成之Hash Table儲存區不能滿足任意資料需求。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
41...記憶體初始化單元
42...資料處理單元
43...散列表判斷單元
44...儲存區保持單元
45...散列表重新分配單元
46...資料重計算單元
第1圖是本發明實施例提供之散列表動態適應資料之方法之實施流程圖。
第2圖是本發明實施例提供之散列表動態擴展前之記憶體之資料結構圖。
第3圖是本發明實施例提供之散列表動態擴展後之記憶體之資料結構圖。
第4圖是本發明實施例提供之散列表動態適應資料之裝置之方塊圖。
S101-S106...步驟
Claims (8)
- 一種散列表動態適應資料之方法,其中該方法包括下述步驟:A、將記憶體初始化為散列表儲存區、散列項儲存區和散列關鍵值儲存區;以及B、當檢測到散列表不能滿足資料之儲存需求時,保持該散列項儲存區和該散列關鍵值儲存區之資料不變,釋放該散列表儲存區,並重新分配能滿足資料儲存需求之新的散列表儲存區,採用重新分配散列表儲存區之前採用之一散列函數對該散列關鍵值儲存區中儲存之資料重新進行計算,得到新的散列表儲存區中之資料。
- 如申請專利範圍第1項所述之方法,其中在該步驟B之前,該方法更包括下述步驟:檢測散列表是否滿足資料儲存需求;以及該檢測散列表是否滿足資料儲存需求之方式係為:檢測散列表中之衝突數量是否大於或者等於1,且需要儲存之資料之數量是否大於或者等於散列表之大小之一半,若是,則判定散列表不能滿足資料儲存需求。
- 如申請專利範圍第1項所述之方法,其中在該步驟B之前,該方法更包括:採用預設之散列函數對待儲存之資料進行計算,得到散列值;將待儲存之資料保存到該散列關鍵值儲存區,並將資料之資訊記錄到該散列項儲存區,得到該散列項儲存區之索引值,該資料之資訊為待儲存之資料在該散列關鍵值儲存區之真實位址和長度;以及將得到之該散列項儲存區之索引值記錄在散列值作為該散列表儲存區之下標直接拜訪到之位置。
- 如申請專利範圍第1項至第3項任一項所述之方法,其中在重新分配能滿足資料儲存需求之新的散列表儲存區時,設置該新的散列表儲存區之大小係為大於或等於目前待儲存之總的資料量之N倍之最小質數,該N係為大於或者等於2之自然數。
- 一種散列表動態適應資料之裝置,其中該裝置包括:一記憶體初始化單元,用於將記憶體初始化為一散列表儲存區、一散列項儲存區和一散列關鍵值儲存區;一散列表判斷單元,用於判斷散列表是否滿足資料儲存需求;一儲存區保持單元,用於在該散列表判斷單元之結果係為否時,保持該散列項儲存區和該散列關鍵值儲存區之資料不變;一散列表重新分配單元,用於在該散列表判斷單元之結果係為否時,釋放該散列表儲存區,並重新分配能滿足資料儲存需求之新的散列表儲存區;以及一資料重計算單元,用於在該散列表判斷單元之結果係為否時,採用重新分配散列表儲存區之前採用之散列函數對散列關鍵值儲存區中儲存之資料重新進行計算,得到新的散列表儲存區中之資料。
- 如申請專利範圍第5項所述之裝置,其中該散列表判斷單元檢測散列表是否滿足資料儲存需求之方式係為:檢測散列表中之衝突數量是否大於或者等於1,且需要儲存之資料之數量是否大於或者等於散列表之大小之一半,如果是,則判定散列表不能滿足資料儲存需求。
- 如申請專利範圍第5項所述之裝置,其中該裝置更包括:一資料處理單元,用於採用預設之散列函數對需要儲存或者需要讀取之資料進行計算,得到散列值,在散列表儲存區中該散列值直接定位之位置中儲存資料之資訊之索引值,或者從記憶體之對應位置讀取資料,該資料之資訊包括資料之真實位址和長度。
- 如申請專利範圍第5項至第7項任一項所述之裝置,其中在重新分配能滿足資料儲存需求之新的散列表儲存區時,設置該新的散列表儲存區之大小係為大於或者等於當前待儲存之總的資料量之N倍之最小質數,該N係為大於或者等於2之自然數。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98124930A TWI412929B (zh) | 2009-07-23 | 2009-07-23 | 散列表動態適應資料之方法及其裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98124930A TWI412929B (zh) | 2009-07-23 | 2009-07-23 | 散列表動態適應資料之方法及其裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201104426A TW201104426A (en) | 2011-02-01 |
TWI412929B true TWI412929B (zh) | 2013-10-21 |
Family
ID=44813630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98124930A TWI412929B (zh) | 2009-07-23 | 2009-07-23 | 散列表動態適應資料之方法及其裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI412929B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052697A (en) * | 1996-12-23 | 2000-04-18 | Microsoft Corporation | Reorganization of collisions in a hash bucket of a hash table to improve system performance |
CN1929451A (zh) * | 2006-09-29 | 2007-03-14 | 华为数字技术有限公司 | 一种解决Hash冲突的方法及装置 |
TW200802076A (en) * | 2006-06-26 | 2008-01-01 | Yuan-Sun Chu | Method for handling hash collision of hash searching and apparatus using the same |
CN101419571A (zh) * | 2008-12-04 | 2009-04-29 | 上海大学 | 基于Hash算法的在NOR FLASH中存储配置参数的方法 |
-
2009
- 2009-07-23 TW TW98124930A patent/TWI412929B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052697A (en) * | 1996-12-23 | 2000-04-18 | Microsoft Corporation | Reorganization of collisions in a hash bucket of a hash table to improve system performance |
TW200802076A (en) * | 2006-06-26 | 2008-01-01 | Yuan-Sun Chu | Method for handling hash collision of hash searching and apparatus using the same |
CN1929451A (zh) * | 2006-09-29 | 2007-03-14 | 华为数字技术有限公司 | 一种解决Hash冲突的方法及装置 |
CN101419571A (zh) * | 2008-12-04 | 2009-04-29 | 上海大学 | 基于Hash算法的在NOR FLASH中存储配置参数的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201104426A (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107968818B (zh) | 数据的存储方法、装置及服务器集群 | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
CN102902628B (zh) | 一种基于闪存实现的冷热数据自动分离方法、系统及闪存 | |
CN105808284B (zh) | 一种增量升级方法及应用其的服务器 | |
JP5015789B2 (ja) | 関連コンテンツの抽出における位置類似性閾値の適応化 | |
CN110658984B (zh) | 用于优化多层存储器系统中的动态存储器指派的方法和设备 | |
JP2012526320A5 (zh) | ||
CN105468642A (zh) | 数据的存储方法及装置 | |
JP2004164641A5 (zh) | ||
TW202027455A (zh) | 基於區塊鏈對結構化作品進行存證的方法及裝置 | |
CN108170656A (zh) | 模板创建方法、文档创建方法、渲染方法和装置 | |
US20170083372A1 (en) | Memory device and data read method thereof | |
JP2017188094A5 (ja) | メモリモジュールの重複メモリ除去方法、及びそのためのdramメモリモジュール | |
WO2017101643A1 (zh) | 图像存储方法和设备 | |
RU2010150975A (ru) | Классификация изображения на основе сегментации изображения | |
GB2581696A (en) | System and method for analyzing crowdfunding platforms | |
CN104516929A (zh) | 用于文件系统的方法和装置 | |
TWI534704B (zh) | 時間序列資料處理方法及其系統 | |
TWI412929B (zh) | 散列表動態適應資料之方法及其裝置 | |
CN106934066B (zh) | 一种元数据处理方法、装置和存储设备 | |
US20080162856A1 (en) | Method for dynamic memory allocation on reconfigurable logic | |
JP2022516502A (ja) | コンピュータメモリにおける重複および値冗長性を排除するためのシステム、方法、および装置 | |
CN104252415B (zh) | 一种重新分布数据的方法和系统 | |
CN107092604B (zh) | 一种文件处理方法和装置 | |
CN116932426A (zh) | 存储数据管理的方法、电子设备及计算机可读存储装置 |