專利名稱:一種動態(tài)數(shù)據(jù)存儲方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種動態(tài)數(shù)據(jù)存儲方法。
背景技術(shù):
目前,現(xiàn)有的數(shù)據(jù)檢索的存儲方法主要包括靜態(tài)查找表、動態(tài)查找表、哈希表。1)靜態(tài)查找表僅做查詢和檢索操作的同一類型數(shù)據(jù)元素的集合 優(yōu)點是數(shù)據(jù)存儲時方便,檢索快速
缺點是功能單一。2)動態(tài)查找表在查詢后將不在查找表中的數(shù)據(jù)插入到查找表中。優(yōu)點是相對靈活。缺點是數(shù)據(jù)插入時時間復(fù)雜度較高
3)哈希表hash表的實質(zhì)是將關(guān)鍵值映射為地址。當(dāng)關(guān)鍵值空間要比地址空間大的 多的時候就不可避免的會產(chǎn)生散列沖突問題。散列沖突會影響檢索效率和檢索結(jié)果。優(yōu)點是查找效率快。缺點是實時性較差,數(shù)據(jù)更新需重新加載內(nèi)存,對散列沖突的處理耗費較多時 間。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種動態(tài)數(shù)據(jù)存儲方法。本發(fā)明的技術(shù)方案如下,一種動態(tài)數(shù)據(jù)存儲方法,具體步驟如下 第一步,根據(jù)外部輸入的關(guān)鍵詞構(gòu)建鍵值對;
第二步,根據(jù)散列函數(shù)計算與所述鍵值對對應(yīng)的數(shù)據(jù)的存儲位置; 第三步,將外部輸入的數(shù)據(jù)存儲到本地內(nèi)存中通過計算獲得的數(shù)據(jù)存儲位置; 第四步,創(chuàng)建共享內(nèi)存,將所述本地內(nèi)存映射到所述共享內(nèi)存中。進一步地,所述第一步中,關(guān)鍵詞為手機號段、業(yè)務(wù)賬號、用戶身份信息,上述關(guān)鍵 詞中的兩項或多項組合后形成所述鍵值對。進一步地,所述數(shù)據(jù)為提供服務(wù)的地區(qū)地址信息。進一步地,所述鍵值對以單鏈表的方式組織所述數(shù)據(jù)。本發(fā)明的有益效果是
1.可動態(tài)存儲數(shù)據(jù),實時地更新系統(tǒng)數(shù)據(jù)。同時,因為本發(fā)明中的哈希表從本地內(nèi)存映 射到共享內(nèi)存中,則可刪除本地內(nèi)存中的哈希表,節(jié)省存儲空間。2.在進行數(shù)據(jù)存儲,創(chuàng)建哈希表時,通過多個關(guān)鍵詞自由組合形成不同鍵值對的 方式,增加了數(shù)據(jù)存儲的靈活性,檢索時可通過鍵值對讀取結(jié)果。3.相同鍵值對的數(shù)據(jù)以單鏈表的方式存放,確保在查找數(shù)據(jù)時,可以遍歷所有對 應(yīng)相同鍵值對的數(shù)據(jù)。
圖1為本發(fā)明動態(tài)數(shù)據(jù)存儲方法的流程示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。本發(fā)明提供一種動態(tài)數(shù)據(jù)存儲方法,如圖1所示,具體步驟如下 第一步,根據(jù)外部輸入的關(guān)鍵詞構(gòu)建鍵值對;
第二步,根據(jù)散列函數(shù)計算與鍵值對對應(yīng)的數(shù)據(jù)的存儲位置; 第三步,將外部輸入的數(shù)據(jù)存儲到本地內(nèi)存中通過計算獲得的數(shù)據(jù)存儲位置; 第四步,創(chuàng)建共享內(nèi)存,將本地內(nèi)存映射到共享內(nèi)存中。下面對本發(fā)明的工作過程進行簡單介紹。首先,在本地內(nèi)存中定義出key、value的存儲結(jié)構(gòu)體,建立key與value間的對應(yīng) 關(guān)系,即可通過鍵值key查找到相應(yīng)的數(shù)據(jù)value。其次,接收外部輸入的關(guān)鍵詞,該關(guān)鍵詞可包括手機號段、業(yè)務(wù)賬號(例如繳納水 費、電費、燃氣費等費單的賬號)、用戶ID (例如身份證號碼等信息),任意組合上述關(guān)鍵詞即 可形成多個鍵值對。在創(chuàng)建哈希表時,通過多個關(guān)鍵詞自由組合形成不同鍵值對的方式,增加了數(shù)據(jù) 存儲的靈活性,檢索時可通過鍵值對讀取結(jié)果。接著,通過散列函數(shù)計算與鍵值對對應(yīng)的數(shù)據(jù)在本地內(nèi)存中的存儲位置,并將自 外部讀取的相關(guān)數(shù)據(jù)存儲到計算獲得的存儲位置中。該數(shù)據(jù)為提供服務(wù)的地區(qū)地址信息。最后,創(chuàng)建一個共享內(nèi)存,將本地內(nèi)存拷貝到共享內(nèi)存中,即將哈希存儲復(fù)制到共 享內(nèi)存中。這就更新了哈希表,完成了動態(tài)數(shù)據(jù)的存儲,在進行數(shù)據(jù)檢索時,即可直接調(diào)用 共享內(nèi)存中的哈希表。而本地內(nèi)存中的哈希表則可刪除,節(jié)省了存儲空間。進一步地,在鍵值對與數(shù)據(jù)沖突時,鍵值對以單鏈表的方式組織數(shù)據(jù)。因為一個鍵值對可以唯一對應(yīng)一個地區(qū)地址信息,也可以對應(yīng)多個地區(qū)地址信 息。當(dāng)一個鍵值對key對應(yīng)多個地區(qū)地址信息value時,為了避免散列沖突,本發(fā)明中相同 的key的數(shù)據(jù)在內(nèi)存中以單鏈表的方式存放。例如三個地區(qū)地址信息A、B、C對應(yīng)一個相同 的key,則在創(chuàng)建哈希表時,可指定三個地區(qū)地址信息間的關(guān)聯(lián)關(guān)系,例如通過key查找到 地區(qū)地址信息A后,如果A不是所需,則可根據(jù)A的指示繼續(xù)查找C ;如果C還不是所需,則 可再進一步查找B,這樣哈希表中,所有鍵值對相同的地區(qū)地址信息都能被查找一遍。下面簡單介紹利用本發(fā)明的哈希表進行數(shù)據(jù)查找時的工作過程。首先,接收外部輸入的關(guān)鍵詞,將關(guān)鍵詞組合后形成一個鍵值對。例如可將手機號 段、身份證號碼、繳納水費賬單賬號三個關(guān)鍵詞組合構(gòu)建一個鍵值對。其次,調(diào)用共享內(nèi)存中的哈希表,根據(jù)上述生成的鍵值對來查找對應(yīng)的地區(qū)地址信 息。通過地址信息再調(diào)用與所辦業(yè)務(wù)相關(guān)的服務(wù)系統(tǒng),進而完成所辦業(yè)務(wù)。地區(qū)地址信息可以 是將某一省份按照業(yè)務(wù)負載量的多少劃分為若干個區(qū)域,再為每個區(qū)域設(shè)置不同的地址信息。以上僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則 之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種動態(tài)數(shù)據(jù)存儲方法,其特征在于,第一步,根據(jù)外部輸入的關(guān)鍵詞構(gòu)建鍵值對; 第二步,根據(jù)散列函數(shù)計算與所述鍵值對對應(yīng)的數(shù)據(jù)的存儲位置; 第三步,將外部輸入的數(shù)據(jù)存儲到本地內(nèi)存中通過計算獲得的數(shù)據(jù)存儲位置; 第四步,創(chuàng)建共享內(nèi)存,將所述本地內(nèi)存映射到所述共享內(nèi)存中。
2.按照權(quán)利要求1所述的動態(tài)數(shù)據(jù)存儲方法,其特征在于,所述第一步中,關(guān)鍵詞為手機號段、業(yè)務(wù)賬號、用戶身份信息,上述關(guān)鍵詞中的兩項或 多項組合后形成所述鍵值對。
3.按照權(quán)利要求1或2所述的動態(tài)數(shù)據(jù)存儲方法,其特征在于,所述數(shù)據(jù)為提供服務(wù)的 地區(qū)地址信息。
4.按照權(quán)利要求1或2所述的動態(tài)數(shù)據(jù)存儲方法,其特征在于,所述鍵值對以單鏈表的 方式組織所述數(shù)據(jù)。
5.按照權(quán)利要求3所述的動態(tài)數(shù)據(jù)存儲方法,其特征在于,所述鍵值對以單鏈表的方 式組織所述數(shù)據(jù)。
全文摘要
本發(fā)明提供一種動態(tài)數(shù)據(jù)存儲方法首先,根據(jù)外部輸入的關(guān)鍵詞構(gòu)建鍵值對;其次,根據(jù)散列函數(shù)計算與鍵值對對應(yīng)的數(shù)據(jù)的存儲位置;接著,將外部輸入的數(shù)據(jù)存儲到本地內(nèi)存中、計算獲得的數(shù)據(jù)存儲位置;最后,創(chuàng)建共享內(nèi)存,將本地內(nèi)存映射到共享內(nèi)存中。本發(fā)明技術(shù)方案,可動態(tài)存儲數(shù)據(jù),實時地更新系統(tǒng)數(shù)據(jù)。在創(chuàng)建哈希表時,通過多個關(guān)鍵詞自由組合形成不同鍵值對的方式,增加了數(shù)據(jù)存儲的靈活性。相同鍵值對的數(shù)據(jù)以單鏈表的方式鏈接,確保在查找數(shù)據(jù)時,可以遍歷所有對應(yīng)相同鍵值對的數(shù)據(jù)。
文檔編號G06F17/30GK102117340SQ20111009736
公開日2011年7月6日 申請日期2011年4月19日 優(yōu)先權(quán)日2011年4月19日
發(fā)明者張厚瑞, 杜鵬飛 申請人:北京神州數(shù)碼思特奇信息技術(shù)股份有限公司