專利名稱:利用映射關(guān)系存儲數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存取技術(shù),尤其涉及利用映射關(guān)系存儲數(shù)據(jù)的方法。
背景技術(shù):
目前,對數(shù)據(jù)信息進行存取的技術(shù)是一門相對較成熟的技術(shù)。系統(tǒng)(如計算機系統(tǒng))的微處理器或其他控制設(shè)備(以下統(tǒng)稱為處理器)可以將數(shù)據(jù)信息存儲在存儲器以進行保存。而且,處理器還記錄相應(yīng)的存儲地址,當(dāng)需要讀取該數(shù)據(jù)信息時,處理器按照預(yù)先保存的存儲地址即可獲得對應(yīng)的數(shù)據(jù)信息。以數(shù)組M為例,I為數(shù)組序號,M[I]為數(shù)據(jù)元素,假設(shè)I的范圍為
,則處理器可以在存儲器中順序存儲M[1]、M[2]、M[3]...M[10]。當(dāng)存儲空間不連續(xù)時,處理器需要存儲數(shù)據(jù)序號I及對應(yīng)的數(shù)組元素M[I]。也就是說,當(dāng)某一類A中的元素和另一類B中的數(shù)據(jù)信息存在映射關(guān)系時,若希望通過A從存儲器中讀取與A具有映射關(guān)系的數(shù)據(jù)信息B時,處理器在存儲器中需要預(yù)先保存該類數(shù)據(jù)A中的每一元素AI及對應(yīng)的B類數(shù)據(jù)中BK數(shù)據(jù)信息。進一步假設(shè)A的長度為32個BIT(比特),則A的取值范圍
,若所有的從0000H至FFFFH的AI元素全部映射同一個BK,則按照現(xiàn)有的存儲方法,處理器至少需要2^32*N個存儲容量的存儲空間(如圖1所示),N為BK所占的存儲空間。很顯然,上述數(shù)據(jù)信息存儲方法造成存儲空間的大量耗費。
為此,現(xiàn)有技術(shù)提出一種利用HASH(哈西)列表進行具有映射關(guān)系的數(shù)據(jù)存儲以及對應(yīng)的讀取方法。先介紹如何保存具有映射關(guān)系的數(shù)據(jù)的存儲方法。請參閱圖2,其為現(xiàn)有技術(shù)中利用映射關(guān)系進行數(shù)據(jù)存儲流程圖。
首先進行步驟S110系統(tǒng)的處理器采用某一算法將A中的所有元素先映射至C類信息中的元素;然后進行步驟S120所述處理器根據(jù)C類信息的范圍及所述算法確定HASH列表所占的存儲空間,在存儲器中分配對應(yīng)空間大小的地址以存儲HASH列表,而且建立C類信息中的每一元素與HASH列表中每一單元的一一對應(yīng)關(guān)系;最后進行步驟S130,將數(shù)據(jù)信息B中的每一元素依次保存在HASH列表的每一單元中。
比如,A的范圍為
,B中每一元素所占的存儲空間為N個字節(jié),若AI元素小于等于8888H,則映射數(shù)據(jù)信息B中的元素BK1;否則,AI元素映射數(shù)據(jù)信息B中的元素BK2。若保存具有上述映射關(guān)系的A和B,則根據(jù)上述存儲方法進行存儲具體過程為首先設(shè)置C類信息,建立A和C的映射關(guān)系;f(A)=C10000H<=AI<=8888HC28888H<=AI<=FFFFH]]>然后,確定和C中元素一一對應(yīng)的HASH列表的單元的個數(shù)和每個單元所占的存儲空間,進而確定該HASH列表所占的存儲空間。每個單元的存儲空間可以設(shè)置為N個字節(jié)或是(4+N)個字節(jié),則HASH列表所占的存儲空間為2*N或者2*(4+N)個字節(jié),隨后,將BK1保存在C1所對應(yīng)的第一HASH列表單元中,將BK2保存在C2所對應(yīng)的第二HASH列表單元中。
事實上,上述存儲方法可能存在A1、A2、A3分別映射B1、B2、B3,但是根據(jù)設(shè)置的算法將A1、A2、A3多對一映射至CI,為此將C1所一一對應(yīng)的第一HAHS列表單元下又設(shè)置三個子單元子單元1、子單元2、子單元3。并且每個子單元保存A信息及對應(yīng)的B信息而且保存前一子單元地址和下一子單元地址。其中,子單元1可以保存A1、B1及子單元2的地址,子單元2可以保存A2、B2及子單元3的地址,子單元3可以保存A3、B3及第一HASH列表單元的地址。
按照上述方法在存儲單元中保存好B中的每一數(shù)據(jù)元素。則當(dāng)獲得A中的某一元素時,處理器能夠根據(jù)根據(jù)A從存儲器中獲得映射的B元素,具體包括首先,處理器以A元素為依據(jù),根據(jù)預(yù)先設(shè)定的算法進行計算,獲得C元素;然后,以C元素為入口參數(shù)找到存儲器中對應(yīng)的HASH列表單元,并取出HASH列表單元中的內(nèi)容,若是數(shù)據(jù)信息,則取出的數(shù)據(jù)信息即為B元素;否則獲得的內(nèi)容是子單元1的地址信息,再以A元素為參數(shù)查找子單元,找到A元素對應(yīng)的數(shù)據(jù)信息B,并將數(shù)據(jù)信息B取出。
但是,現(xiàn)有技術(shù)存儲具有映射關(guān)系數(shù)據(jù)的方法雖然節(jié)省了存儲容量,但是還是存在以下問題存取單元為所述處理器每次從存儲器中讀取數(shù)據(jù)的最大容量,假設(shè)每個子單元的大小為8個字節(jié),而處理器是以64個字節(jié)為存取單位對存儲器進行訪問,則處理器對每個8字節(jié)單元的訪問都需要64個字節(jié),由此導(dǎo)致處理器存取數(shù)據(jù)的效率非常低。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種具有映射關(guān)系的數(shù)據(jù)進行存儲的方法,以解決現(xiàn)有技術(shù)中處理器存儲數(shù)據(jù)的效率低的技術(shù)問題。
為解決上述問題,本發(fā)明公開了一種利用映射關(guān)系存儲數(shù)據(jù)的方法,以實現(xiàn)處理器根據(jù)第一類的元素從存儲器中找到與所述元素具有映射關(guān)系的第二類數(shù)據(jù),包括(1)所述處理器進行初始設(shè)置,所述初始設(shè)置包括根據(jù)處理器的存取單元設(shè)置塊的容量,所述存取單元為所述處理器每次從存儲器中讀取數(shù)據(jù)的最大容量;(2)第一類的所有元素按照預(yù)先設(shè)置的算法分別映射至第三類的元素,并在所述存儲器中生成哈西列表,而且所述哈西列表的每一單元與所述第三類中每一元素存在一一對應(yīng)關(guān)系;(3)處理器在哈西列表的每一單元下設(shè)置若干具有所述容量的塊,并將所述第一類元素和與所述元素具有映射關(guān)系的第二類數(shù)據(jù)保存在塊中,而且滿足條件所述第一類元素按照步驟(2)的算法映射的第三類元素是所述單元對應(yīng)的第三類元素。
步驟(3)還包括在每一塊下設(shè)置若干子單元,并且子單元的個數(shù)是由塊的容量和所述子單元所占的容量所確定的,所述每一子單元用以存儲一第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù)。
還包括(a)當(dāng)處理器需要在所述存儲器中保存新的第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù)時,先按照所述算法找到所述第一類元素映射的第三類元素,然后判斷所述存儲器中與第三類元素對應(yīng)的單元下的所有塊下的子單元中是否有第一類元素與第二類數(shù)據(jù)的對應(yīng)關(guān)系,若有,則輸出重復(fù)保存;否則判斷單元下所有塊下是否有空閑的子單元,若有,進行步驟(c),否則(b);(b)在所述單元下重新設(shè)置塊,并在新塊的第一個子單元中進行步驟(c);(c)將所述第一類元素及與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)保存在所述子單元中,并輸出保存成功。
當(dāng)處理器需要在所述存儲器中刪除一第一類元素及與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)時,先按照所述算法找到所述第一類元素映射的第三類元素;然后在所述存儲器中找到與第三類元素對應(yīng)的哈西列表的單元;隨后查找所述單元下的每一塊下的每一子單元,若存在子單元中保存有第一類元素與第二類數(shù)據(jù)的映射關(guān)系,則將所述子單元中存儲內(nèi)容清空,并刪除所述子單元,輸出刪除成功;否則輸出刪除失敗。
若所述子單元所處的塊下未設(shè)置其他子單元,則刪除所述塊。
所述哈西列表的每一單元是一固定大小的數(shù)組或是一固定大小的鏈表。
所述哈西列表的每一單元下設(shè)置若干塊具體為所述單元的存儲空間被分成若干存儲單元,每一存儲單元為一塊的存儲空間,或存儲單元分配塊的存儲空間,所述單元中保存塊的存儲地址,所述存儲地址用以查找所述塊,獲得塊中存儲內(nèi)容。
所述塊下設(shè)置子單元具體為所述塊的存儲空間中劃分出一存儲單元,其為一子單元的存儲空間,或存儲器分配子單元的存儲空間,所述塊中存儲子單元的存儲地址,所述存儲地址用以查找所述子單元,獲得子單元中存儲的內(nèi)容。
一種數(shù)據(jù)讀取方法,以實現(xiàn)通過第一類元素從存儲器中獲得與所述元素具有映射關(guān)系的第二類數(shù)據(jù),其特征在于,包括(A)處理器通過所述第一類元素按照所述算法計算第三類元素;(B)處理器在存儲器的哈西列表中找到與所述第三類元素對應(yīng)的單元,遍歷所述單元下的所有塊,判斷是否找到其存儲內(nèi)容中包含所述第一類元素的塊,若是,獲得與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù),否則,讀取數(shù)據(jù)失敗。
步驟(B)還包括若所述塊下還設(shè)置子單元,則通過遍歷所述塊下的子單元的存儲空間來查找所述第一類元素獲得與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明根據(jù)處理器處理數(shù)據(jù)的能力預(yù)先設(shè)置塊的容量,并且存儲器以所述容量分配塊,然后將數(shù)據(jù)存儲在塊中,當(dāng)處理器以塊為單元讀取存儲器中的數(shù)據(jù)時,大大提高了處理器的處理效率,而且也提出數(shù)據(jù)存取的速率。
圖1是未使用哈西算法存儲具有映射關(guān)系的數(shù)據(jù)的存儲方式;圖2是現(xiàn)有技術(shù)中利用映射關(guān)系進行數(shù)據(jù)存儲流程圖;圖3為本發(fā)明利用映射關(guān)系存儲數(shù)據(jù)的方法的流程圖;圖4為本發(fā)明的數(shù)據(jù)存儲示意圖。
具體實施例方式
以下結(jié)合附圖,具體說明本發(fā)明。
請參閱圖3,其為本發(fā)明利用映射關(guān)系存儲數(shù)據(jù)的方法的流程圖。該方法是用以實現(xiàn)處理器根據(jù)第一類的元素從存儲器中找到與所述元素具有映射關(guān)系的第二類數(shù)據(jù),包括S210處理器進行初始設(shè)置,所述初始設(shè)置包括根據(jù)處理器的存取單元設(shè)置塊的容量,所述存取單元為所述處理器每次從存儲器中讀取數(shù)據(jù)的最大容量;所述塊的容量等于該處理器的存儲單元是本發(fā)明的一較佳實施例,從而使得處理器以塊為單元進行讀取數(shù)據(jù)時,處理器讀取數(shù)據(jù)快且處理器的處理效率高;S220第一類的所有元素按照預(yù)先設(shè)置的算法分別映射至第三類的元素,并在所述存儲器中生成哈西列表,而且所述哈西列表的每一單元與所述第三類中每一元素存在一一對應(yīng)關(guān)系;由于哈西列表中的每一單元與第三類中每一元素存在一一對應(yīng)關(guān)系,所以根據(jù)第三類元素的個數(shù)且每一單元應(yīng)占用的存儲空間即可在存儲器中開辟相應(yīng)存儲容量作為哈西列表。哈西列表的每一單元是一固定大小的數(shù)組或是一固定大小的鏈表;S230處理器在哈西列表的每一單元下設(shè)置若干塊,并將所述第一類元素和與所述元素具有映射關(guān)系的第二類數(shù)據(jù)保存在塊中,而且滿足條件所述第一類元素按照步驟S220的算法映射的第三類元素是所述單元對應(yīng)的第三類元素。所述哈西更表的每一單元下設(shè)置若干塊可以有兩種方式第一種方式單元的存儲空間被分成若干存儲單元,每一存儲單元為一塊的存儲空間,并且所述存儲單元等于步驟S210中確定的塊的容量;第二種方式存儲器分配塊的存儲空間,所述單元中保存塊的存儲地址,所述存儲地址用以查找所述塊,獲得塊中存儲內(nèi)容,并且所述存儲空間等于步驟S220中確定塊的容量。若所述塊是一鏈表,則所述塊中還需保前一塊的存儲地址及后一塊的存儲地址。若所述塊是本單元的第一個塊,則所述塊的前一塊存儲地址保存的是單元的存儲地址。若所述塊是本單元的最后一個塊,則所述塊的后一塊存儲地址保存的是本單元的存儲地址或置空。
通過上述數(shù)據(jù)存儲的方法,處理器根據(jù)自身的存取數(shù)據(jù)的能力設(shè)置了塊的大小,并且將具有映射關(guān)系的第一類元素及第二類數(shù)據(jù)存儲在塊中。當(dāng)處理器讀取數(shù)據(jù)時,能夠以塊為單元訪問存儲器,不僅提高了數(shù)據(jù)讀取的速率同時也提高了處理器的利用效率。
在本發(fā)明中,為了使得每一第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù)能夠更清晰地保存,為此在塊下又設(shè)置了子單元,比如在所述塊的存儲空間中劃分出一存儲單元,其為一子單元的存儲空間,或者存儲器分配子單元的存儲空間,所述塊中存儲子單元的存儲地址,所述存儲地址用以查找所述子單元,獲得子單元中存儲的內(nèi)容。每一子單元用以存儲一第一類元素及具有映射關(guān)系的第二類數(shù)據(jù)。若塊中的所有子單元不是處于存儲器中的連續(xù)存儲空間,則每一子單元中還需保存前一子單元所在的存儲地址及后一子單元所在的存儲地址。若所述子單元是本塊的第一個子單元,則所述子單元的前一子單元存儲地址保存的是塊的存儲地址。若所述子單元是本塊的最后一個子單元,則所述子單元的后一子單元存儲地址保存的是本塊的存儲地址或置空(請參閱圖4)。
在上述數(shù)據(jù)存儲的基礎(chǔ)上,若處理器在所述存儲器中保存新的第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù),則主要按照下述步驟進行存儲新增加數(shù)據(jù)(a)當(dāng)處理器需要在所述存儲器中保存新的第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù)時,先按照所述算法找到所述第一類元素映射的第三類元素,然后判斷所述存儲器中與第三類元素對應(yīng)的單元下的所有塊下的子單元中是否有第一類元素與第二類數(shù)據(jù)的對應(yīng)關(guān)系,若有,則輸出重復(fù)保存;否則判斷單元下所有塊下是否有空閑的子單元,若有,進行步驟(c),否則(b);(b)在所述單元下重新設(shè)置塊,并在新塊的第一個子單元中進行步驟(c);(c)將所述第一類元素及與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)保存在所述子單元中,并輸出保存成功。
在上述數(shù)據(jù)存儲的基礎(chǔ)上,若處理器需要在所述存儲器中刪除一第一類元素及與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)時,則主要按照下述步驟進行數(shù)據(jù)刪除先按照所述算法找到所述第一類元素映射的第三類元素;然后在所述存儲器中找到與第三類元素對應(yīng)的哈西列表的單元;隨后查找所述單元下的每一塊下的每一子單元,若存在子單元中保存有第一類元素與第二類數(shù)據(jù)的映射關(guān)系,則將所述子單元中存儲內(nèi)容清空,并刪除所述子單元,輸出刪除成功;否則輸出刪除失??;若所述子單元所處的塊下未設(shè)置其他子單元,則刪除所述塊。
在上述數(shù)據(jù)存儲的基礎(chǔ)上,處理器主要按照以下方式進行數(shù)據(jù)讀取操作(A)處理器通過所述第一類元素按照所述算法計算第三類元素;(B)處理器在存儲器的哈西列表中找到與所述第三類元素對應(yīng)的單元,遍歷所述單元下的所有塊,判斷是否找到其存儲內(nèi)容中包含所述第一類元素的塊,若是,獲得與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù),否則,讀取數(shù)據(jù)失敗。若所述塊下還設(shè)置子單元,則通過遍歷所述塊下的子單元的存儲空間來查找所述第一類元素獲得與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)。
以下就舉個應(yīng)用例來具體說明本發(fā)明。
假設(shè)(1)第一類元素A為48BIT數(shù)據(jù),第二類數(shù)據(jù)B為16BIT數(shù)據(jù);2)HASH算法為C=(crc32(A)^(crc32(A)>>16))&0x03fff,其中C為第三類元素,crc32(A)是對元素A進行CRC32算法計算后的結(jié)果;從該HASH算法可以看出來C為14BIT,即哈西列表的存儲容量為16K(0~0x3fff),且哈西列表的每一單元可以采用數(shù)組方式。每個子單元中用48BIT存儲A元素,用16BIT存儲B數(shù)據(jù),總計兩個長字。
一個塊中含有固定的3個子單元采用數(shù)組實現(xiàn),加上前項指針(保存前一子單元的存儲地址)和后項指針(保存后一子單元的存儲地址),請參閱5,其為塊的存儲結(jié)構(gòu)圖(共8個長字)。另外,考慮到實際發(fā)生的最大沖突數(shù),限制每個哈西列表中的每一單元中塊最大數(shù)目為3。
處理器數(shù)據(jù)總線為64bit,一次最少訪問8byte數(shù)據(jù),最多訪問64byte數(shù)據(jù),而且訪問8byte和64byte的時間相同。則按照現(xiàn)有技術(shù)的存儲方法,處理器每次訪問一個單元,大小為8byte(sizeof(A)+sizeof(A)),采用本發(fā)明的算法,處理器每次訪問一個塊,為32byte,減去其中的指針開銷(8byte),效率變成了原來的三倍。
以上公開的僅為本發(fā)明的一個具體實施例,但本發(fā)明并非局限于此,本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種利用映射關(guān)系存儲數(shù)據(jù)的方法,以實現(xiàn)處理器根據(jù)第一類的元素從存儲器中找到與所述元素具有映射關(guān)系的第二類數(shù)據(jù),其特征在于,包括(1)所述處理器進行初始設(shè)置,所述初始設(shè)置包括根據(jù)處理器的存取單元設(shè)置塊的容量,所述存取單元為所述處理器每次從存儲器中讀取數(shù)據(jù)的最大容量;(2)第一類的所有元素按照預(yù)先設(shè)置的算法分別映射至第三類的元素,并在所述存儲器中生成哈西列表,而且所述哈西列表的每一單元與所述第三類中每一元素存在一一對應(yīng)關(guān)系;(3)處理器在哈西列表的每一單元下設(shè)置若干具有所述容量的塊,并將所述第一類元素和與所述元素具有映射關(guān)系的第二類數(shù)據(jù)保存在塊中,而且滿足條件所述第一類元素按照步驟(2)的算法映射的第三類元素是所述單元對應(yīng)的第三類元素。
2.如權(quán)利要求1所述的利用映射關(guān)系存儲數(shù)據(jù)的方法,其特征在于,步驟(3)還包括在每一塊下設(shè)置若干子單元,并且子單元的個數(shù)是由塊的容量和所述子單元所占的容量所確定的,所述每一子單元用以存儲一第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù)。
3.如權(quán)利要求2所述的利用映射關(guān)系存儲數(shù)據(jù)的方法,其特征在于,還包括(a)當(dāng)處理器需要在所述存儲器中保存新的第一類元素及與之具有映射關(guān)系的第二類數(shù)據(jù)時,先按照所述算法找到所述第一類元素映射的第三類元素,然后判斷所述存儲器中與第三類元素對應(yīng)的單元下的所有塊下的子單元中是否有第一類元素與第二類數(shù)據(jù)的對應(yīng)關(guān)系,若有,則輸出重復(fù)保存;否則判斷單元下所有塊下是否有空閑的子單元,若有,進行步驟(c),否則(b);(b)在所述單元下重新設(shè)置塊,并在新塊的第一個子單元中進行步驟(c);(c)將所述第一類元素及與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)保存在所述子單元中,并輸出保存成功。
4.如權(quán)利要求2所述的利用映射關(guān)系存儲數(shù)據(jù)的方法,其特征在于,還包括當(dāng)處理器需要在所述存儲器中刪除一第一類元素及與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)時,先按照所述算法找到所述第一類元素映射的第三類元素;然后在所述存儲器中找到與第三類元素對應(yīng)的哈西列表的單元;隨后查找所述單元下的每一塊下的每一子單元,若存在子單元中保存有第一類元素與第二類數(shù)據(jù)的映射關(guān)系,則將所述子單元中存儲內(nèi)容清空,并刪除所述子單元,輸出刪除成功;否則輸出刪除失敗。若所述子單元所處的塊下未設(shè)置其他子單元,則刪除所述塊。
5.如權(quán)利要求1或2所述的利用映射關(guān)系存儲數(shù)據(jù)的方法,其特征在于,所述哈西列表的每一單元是一固定大小的數(shù)組或是一固定大小的鏈表。
6.如權(quán)利要求1所述的利用映射關(guān)系存儲數(shù)據(jù)的方法,其特征在于,所述哈西列表的每一單元下設(shè)置若干塊具體為所述單元的存儲空間被分成若干存儲單元,每一存儲單元為一塊的存儲空間,或存儲單元分配塊的存儲空間,所述單元中保存塊的存儲地址,所述存儲地址用以查找所述塊,獲得塊中存儲內(nèi)容。
7.如權(quán)利要求2或6所述的利用映射關(guān)系存儲數(shù)據(jù)的方法,其特征在于,所述塊下設(shè)置子單元具體為所述塊的存儲空間中劃分出一存儲單元,其為一子單元的存儲空間,或存儲器分配子單元的存儲空間,所述塊中存儲子單元的存儲地址,所述存儲地址用以查找所述子單元,獲得子單元中存儲的內(nèi)容。
8.一種如權(quán)利要求1方式存儲的數(shù)據(jù)讀取方法,以實現(xiàn)通過第一類元素從存儲器中獲得與所述元素具有映射關(guān)系的第二類數(shù)據(jù),其特征在于,包括(A)處理器通過所述第一類元素按照所述算法計算第三類元素;(B)處理器在存儲器的哈西列表中找到與所述第三類元素對應(yīng)的單元,遍歷所述單元下的所有塊,判斷是否找到其存儲內(nèi)容中包含所述第一類元素的塊,若是,獲得與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù),否則,讀取數(shù)據(jù)失敗。
9.如權(quán)利要求8所述的數(shù)據(jù)讀取方法,其特征在于,步驟(B)還包括若所述塊下還設(shè)置子單元,則通過遍歷所述塊下的子單元的存儲空間來查找所述第一類元素獲得與所述第一類元素具有映射關(guān)系的第二類數(shù)據(jù)。
全文摘要
一種利用映射關(guān)系存儲數(shù)據(jù)的方法,包括(1)處理器進行初始設(shè)置,初始設(shè)置包括根據(jù)處理器的存取單元設(shè)置塊的容量,處理器的存取單元為處理器每次從存儲器中讀取數(shù)據(jù)的最大容量;(2)第一類的所有元素按照預(yù)先設(shè)置的算法分別映射至第三類的元素,并在存儲器中生成哈西列表,哈西列表的每一單元與第三類中每一元素存在一一對應(yīng)關(guān)系;(3)處理器在哈西列表的每一單元下設(shè)置若干具有上述容量的塊,并將第一類元素和與元素具有映射關(guān)系的第二類數(shù)據(jù)保存在塊中。根據(jù)處理器的存取單元的不同設(shè)置塊的容量,由此提高了處理器處理效率及讀取數(shù)據(jù)的速率。
文檔編號G06F12/00GK1790318SQ200410101489
公開日2006年6月21日 申請日期2004年12月16日 優(yōu)先權(quán)日2004年12月16日
發(fā)明者湯劍, 張少雄, 段小祥 申請人:華為技術(shù)有限公司