一種通過數據信息關鍵域存儲和讀取數據信息的方法
2023-06-09 10:22:01 1
專利名稱:一種通過數據信息關鍵域存儲和讀取數據信息的方法
技術領域:
本發明涉及數據信息存取技術,具體涉及一種通過數據信息關鍵域存儲和讀取數據信息的方法。
背景技術:
在電信目益普及的今天,電信用戶的數量也迅速增加。這些用戶在申請其電信終端加入電信網絡之後,網絡需要將所有籤約用戶的相關信息放置在諸如位置寄存器等的網絡設備上。當有電話呼叫時,網絡根據呼叫的電話號碼訪問這些存儲信息的設備,並從中提取和電話呼叫相關的信息,從而正確地接續該電話呼叫。當用戶數量非常多時,這些用戶的相關信息的數量將是一個十分龐大的數字。那麼如何將這些大量的數據分別放置在不同的設備上進行管理,又怎樣對這些儲存在設備上的數據進行隨機訪問,則直接影響到整個電信系統的建設開發維護成本和運轉的效率。
目前的解決辦法一般是為諸如電信用戶個人信息的每個數據進行編號,例如電話號碼或手機號碼,這個編號被稱為該數據的關鍵域。要實現完全根據關鍵域來隨機訪問相關的數據,例如通過手機號碼查詢用戶的籤約信息等,在目前必須保證關鍵域中包含存儲該關鍵域對應數據的設備的編號,也就是關鍵域對應的數據的歸屬伺服器的編號,例如,目前手機號碼中的第四位至第七位即是該手機號碼的歸屬位置寄存器的編號。
目前由於用戶在地理上的遷移十分普遍,因此和用戶相關的數據也需要進行搬移,這樣在數據搬移到遷移地新的設備之後,用戶號碼將不再對應原來申請號碼時對應的設備,因此通過用戶號碼原來對應的設備不能獲取用戶的當前信息,從而迫使用戶在遷移到外地後需要重新申請新的電話號碼。而這將給用戶帶來很多的不便,用戶需要將新的電話號碼告訴所有需要聯繫的人,如果用戶遷移頻繁且需要聯繫的人很多,這將是難以忍受的。目前的行動電話可以實現漫遊業務,但是在漫遊地撥打或接收電話呼叫時,需要支付漫遊費,給用戶增加了經濟上的負擔。
如果在電信號碼等數據的關鍵域中不包含設備編號,例如採用個人號碼技術,那麼就可以解決上述問題。無論是固定電話還是行動電話,在用戶遷移到外地後,通過將個人信息從原有設備中遷移到新的設備中,然後在新的遷移地可以通過到新的設備獲取數據信息而繼續使用原有的個人號碼,將給用戶帶來很大的方便。為了滿足這種願望,可以隨機存儲用戶的個人信息並採用對所有設備進行遍歷查詢的方法來獲取諸如用戶實際電話號碼的用戶信息,但是這種遍歷訪問需要訪問大量甚至所有的設備,其效率非常低。同時,也可以採用在網絡中廣播的方式來解決這個問題,但是這樣會明顯地增加設備之間的數據流量,對於設備很多的情況,這種大量增加的數據流量有可能引起網絡癱瘓,從而使電信網絡不能正常運轉。因此,目前提出的這兩種想法對於解決採用設備無關性編碼存取數據信息的這一構想來說,都存在著致命的缺陷而難以實現。
發明內容
有鑑於此,本發明的一個目的是克服現有技術的不足,提供一種迅速方便地在設備上存儲數據的方法。
本發明的另一個目的是提供一種迅速方便地獲取數據信息的方法。
本發明的目的是通過如下的技術方案予以解決的一種根據數據信息關鍵域存儲數據信息的方法,它包括如下步驟a.預先在網絡中建立並存儲從根節點映射到葉子節點的由多級非葉子節點和一級葉子節點連接組成的散射樹,散射樹是反映從數據信息關鍵域映射到網絡中設備的逐級映射對照表,散射樹中的非葉子節點至少包括子節點數量以及向子節點映射的散列運算方法信息;
b.根據散射樹對數據信息的關鍵域進行逐級散列運算,並根據逐級散列運算結果將數據信息映射到相應葉子節點;c.將數據信息存儲到葉子節點對應的設備上。
在上述存儲數據信息的方法中,散射樹中各個非葉子節點包括的子節點數量和散列運算方法可以相同,也可以不同。
在上述存儲數據信息的方法中,當一個設備中存儲的數據信息的使用容量達到該設備的最大容量閾值時,可以對該設備進行擴容。
在上述存儲數據信息的方法中,當數據信息需要搬移時,可以以葉子節點為單位將設備中該葉子節點對應的全部數據信息搬移到一個目的設備中,並在散射樹中將該葉子節點對應的設備編號修改為目的設備編號。
在上述存儲數據信息的方法中,當一個設備中存儲的數據信息的使用容量達到該設備的最大容量閾值時,可以將該設備對應的一個葉子節點映射的全部數據信息搬移到其它具有相應存儲空間的一個設備中。
在上述存儲數據信息的方法中,當一個設備中存儲的數據信息的使用容量達到該設備的最大容量閾值時,可以新建一個設備,並將達到容量閾值的設備中部分葉子節點所映射的全部數據信息搬移到新建的設備中。
在上述存儲數據信息的方法中,當原有設備中存儲的數據信息的使用容量達到該設備的最大容量閾值並且該原有設備只對應一個葉子節點時,可以通過散射樹的生長方式將該葉子節點變成非葉子節點,並確定該節點的子節點數和散列運算方法,然後通過該散列運算方法,將該原有設備中的數據信息散射到該節點的各個子節點中,並將部分子節點所對應的數據分別搬移到包括新建設備的其它設備中,其他子節點對應的數據保留在原有設備中,在散射樹中設置其他子節點對應的設備編號為該原有設備編號。
在上述存儲數據信息的方法中,當大於1個的設備中存儲的數據信息的使用容量分別低於設備的最小容量閾值時,將大於1個的設備中所有數據信息通過搬移方式合併到其中一個所述設備中。
在上述存儲數據信息的方法中,當一個非葉子節點映射的所有數據信息容量小於另一個設備的剩餘容量,將該非葉子節點映射的全部數據信息搬移到另一個設備中,在散射樹中刪除該非葉子節點下的所有葉子節點,使非葉子節點變成葉子節點,並使該節點指向另一個設備。
在上述存儲數據信息的方法中,當一個非葉子節點對應的數據信息已經集中到該節點的某一個子節點中,取消該非葉子節點以及除該子節點之外的其他子節點,在散射樹中將數據信息集中的子節點上移到非葉子節點的位置。
在上述存儲數據信息的方法中,數據信息關鍵域可以不包括設備編號信息。
一種針對按照上述方法存儲的數據信息的讀取方法,它包括如下步驟a.根據散射樹對數據信息關鍵域進行逐級散列運算;b.根據逐級散列運算結果將數據信息映射到相應葉子節點;c.從葉子節點對應的設備中讀取對應於數據信息關鍵域的數據信息。
在上述讀取數據信息的方法中,數據信息關鍵域可以不包括設備編號信息。
通過本發明的技術方案可以看出,由於預先給數據信息分配不包含設備編號的數據信息關鍵域並在網絡中存儲數據信息關鍵域與設備編號的逐級映射對照表,當需要存儲某個數據信息時,對數據信息關鍵域進行散列運算,根據運算結果將數據信息存儲到散列運算結果所映射的相應設備上。如果該設備沒有足夠的存儲空間,則可以通過新建設備、數據信息搬移、對設備擴容等方法來解決。因此,使用本發明可以將數據信息快速方便地存儲到某個設備中。當需要根據數據信息關鍵域讀取數據信息時,通過存儲的數據信息關鍵域和數據信息之間的對照表,即可根據散列運算結果通過表中的某一個分支快速地確定存儲信息的設備,不再需要在網絡中訪問所有的設備,也不再需要在整個網絡中對數據進行廣播,這樣就有效地解決了現有技術的缺點,使整個數據信息的存儲和讀取過程快速、方便、準確、有效。
下面結合附圖和具體實施方式
對本發明進行進一步的說明。
圖1是根據本發明的散射樹的示意圖;圖2是根據本發明的一個簡單散射樹的示意圖;圖3是圖2的散射樹的根節點分出子節點之後的示意圖;圖4是圖3的散射樹基礎上新建一個數據設備之後的示意圖;圖5是將個人號碼對應個人信息存儲到數據設備過程的流程圖;圖6是圖1的散射樹基礎上進行數據信息搬移之後的示意圖;圖7是圖1的散射樹基礎上新建數據設備並進行數據信息搬移之後的示意圖;圖8是圖7的散射樹基礎上再次新建數據設備並進行數據信息搬移之後的示意圖;圖9是圖8的散射樹基礎上數據設備合併之後的示意圖。
具體實施例方式
在電信網絡中,用個人信息歸屬伺服器(PIHLR)存儲用戶的個人信息,該個人信息的關鍵域——個人號碼中不包含PIHLR的編號。下面具體介紹怎樣通過在個人信息的關鍵域中不包含PIHLR編號的情況下,迅速將用戶個人信息分配到某一個PIHLR,以及在需要獲取用戶信息時,快速直接地定位到該個人號碼相關的PIHLR地址並從中獲取用戶信息。
在電話網絡建立之後,在市內電話網絡通達的地區覆蓋範圍內建立PIHLR,用於存儲該地區內所有用戶的個人信息資料。設置個人號碼和PIHLR編號的對照表,並存儲在網絡的交換機或其他網絡設備中。由於個人號碼和PIHLR編號之間的對應關係呈樹狀結構,因此稱其為散射樹。圖1示出了一個散射樹的結構。在圖1中可以看出,該散射樹的根節點和5個節點有直接對應關係,也就是在圖中有實線直接連接。將散射樹的根節點稱為0級節點,它所包含的5個節點都稱為1級節點。在這5個1級節點中,第3個1級節點和第4個1級節點又分別包含5個子節點和7個子節點,將這些包含在I級節點中的子節點稱為2級節點。從圖1中可以看到,所有的這些節點中,第1個1級節點、第2個1級節點和第5個1級節點以及所有2級節點都直接對應實際的網絡設備,即PIHLR,將它們稱為葉子節點,也就是圖中用虛線和PIHLR連接的橢圓形節點,其中標註的數字表示它們對應的PIHLR的編號。在散射樹中,只能有一個根節點,在根節點之下根據系統容量和用戶數量可以有多個1級節點,同時,每個1級節點下面可以有多個2級節點,每個2級節點下面還可以有多個3級節點,依此類推。直接對應PIHLR設備的是葉子節點,其他節點都是非葉子節點。散射樹的每個非葉子節點都包含該節點向下遍歷的方法,也就是存儲於網絡設備中的個人號碼與PIHLR編號的對照表中的該非葉子節點旁,都標註了從該節點如何向下定位其子節點的方法,這種方法包括該節點下的分組數以及所適用的散列運算方法等信息。
圖1是一個已經基本成型的散射樹示意圖。而在網絡建立之初,用戶數量還比較少的時候,可能只有一個PIHLR,而散射樹也只有一個根節點,沒有子節點,根節點直接對應PIHLR,這種情況如圖2所示。在圖2中可以看出,根節點就是葉子節點,所有用戶的個人信息直接通過根節點映射到PIHLR1。此時,由於根節點不包含子節點,因此它也不包含分組信息和散列運算信息。如果在電信網絡中要增加一個用戶個人信息,直接將該個人號碼通過根節點映射到PIHLR1,並將該個人號碼對應的個人信息存儲到PIHLR1即可。
如果由於用戶數量增多,PIHLR1所儲存的用戶信息量已經達到它目前的最大儲存容量或者預先設置的容量上限閾值,例如最大儲存容量的80%。那麼新增的用戶信息將不能再插入到PIHLR1中。在這種情況下,可以首先考慮對PIHLR1進行擴容。也就是說,如果PIHLR1目前的可以使用的容量尚未達到其最大設計容量時,可以通過增加諸如數據板等存儲體的辦法對其進行擴容。這樣,就可以在原有PIHLR1中繼續存儲新增的用戶個人信息。
如果原有PIHLR已經達到最大設計容量,不能通過擴容的辦法存儲新的個人信息,那麼就需要增加新的PIHLR了。首先,新增一個PIHLR,稱其為PIHLR2。由於PIHLR1對應的葉子節點只有一個根節點,此時,需要根據該PIHLR1中用戶號碼分布特徵,選擇合適分組數G和散列運算方法,將PIHLR1中的個人號碼分組映射到G個分組中。用每個分組創建一個節點,分別為Node1~NodeG,並將這G個節點作為根節點的子節點。將G個節點分成1~m和m+1~G兩組,讓第一組1~m個節點對應原來的PIHLR1,讓第二組m+1~G個節點對應新增加的PIHLR2,並將原來PIHLR1中m+1~G分組中的個人號碼對應信息轉移到新增的PIHLR2中。
在這個例子中,分組數G是5,也就是將根節點下面分為5個1級節點,它們都指向PIHLR1,如圖3所示。這裡的散列運算方法是公知技術,在實際操作中可以根據具體情況針對某一個節點採用一種具體的散列運算方法,不同節點的散列運算方法可以不同。在這裡可以舉一個簡單的例子,例如個人號碼由6位數字組成,將個人號碼的前3位號碼除以5取餘數,根據餘數將個人號碼分別映射到不同的1級節點中。例如,餘數是0則映射到第1個1級節點,餘數是1則映射到第2個1級節點,餘數是2則映射到第3個1級節點,依此類推。這樣,就將原來都對應根節點的所有個人號碼分別映射到不同的1級節點之中。
在這個例子中,m取3,這樣就是第1個、第2個和第3個1級節點依然對應PIHLR1,而其餘2個1級節點則對應PIHLR2。同時將映射到其餘2個1級節點的個人號碼相應的個人信息從PIHLR1搬移到PIHLR2中,之後的散射樹結構如圖4所示。
上面通過一個簡單的例子介紹了PIHLR擴容、新建和PIHLR中數據的搬移。為了不失一般性,下面針對圖1的散射樹對本發明的技術方案進行更全面和系統的敘述。
在圖1中,根據根節點包含的散列運算方法,例如是將個人號碼的前3位號碼除以5取餘數,然後根據餘數的不同將個人號碼分別映射到不同的1級節點。如果某一個1級節點所對應的個人號碼較多,例如由於外地遷移到本地的個人號碼集中在這一個號碼段中,那麼可以在該1級節點之下再根據前述新建PIHLR中講述的節點分組方法分為不同個數的2級節點。這些2級節點分別對應不同的PIHLR。
如圖5所示,在目前的散射樹的基礎上,如果新增一個個人號碼,需要將其個人信息分配並存儲到某一個PIHLR中,則首先執行步驟501,即通過散列運算將個人號碼映射到某一個葉子節點。具體地說,就是將個人號碼根據根節點的散列運算方法進行計算,根據計算結果將其映射到某一個1級節點。如果該1級節點直接對應某一個PIHLR,也就是說該1級節點是葉子節點,則將對應個人信息直接映射到該PIHLR。如果該1級節點不是葉子節點,則根據該1級節點所包含的散列運算方法繼續進行散列運算,將該個人號碼映射到該1級節點下的某一個2級節點,如果該2級節點是葉子節點,則將個人信息映射到該2級節點對應的PIHLR中。如果該2級節點還不是葉子節點,則根據該2級節點所包含的散列運算方法繼續進行散列運算,將該個人號碼映射到該2級節點下的某一個3級節點。這個過程持續進行,直到將該個人號碼映射到散射樹的某一個葉子節點為止。
然後,系統判斷該葉子節點對應的PIHLR容量是否已滿,如果該PIHLR還可以存儲信息,即執行步驟510,將個人號碼對應的個人信息存儲到該葉子節點對應的PIHLR中。
如果該PIHLR已經達到最大容量或者預先設置的容量上限閾值,例如最大容量的80%,而不能再將個人信息插入到該PIHLR中,那麼可以考慮對PIHLR中的數據進行搬移,即執行步驟503,判斷該PIHLR中的數據是否可以搬移,也就是判斷其他PIHLR是否有足夠容量容納一部分數據。如果可以通過數據搬移來存儲新的個人信息,則執行步驟504和505,通過前述數據搬移的方法對相應的PIHLR中的數據進行搬移,並修改相關節點對應的PIHLR編號。然後執行步驟510。
例如,參照在圖1的散射樹基礎上進行數據信息搬移之後而形成的圖6,圖1中的第3個1級節點下的第4個2級節點原來對應到PIHLR2。如果PIHLR2的容量已經不允許再進行存儲數據的操作,即可查找哪些葉子節點對應了PIHLR2,並計算出PIHLR2對應的每個節點映射的個人號碼數量,然後查找其餘各個PIHLR的剩餘容量,將其餘PIHLR的剩餘容量和上述PIHLR2對應的每個節點映射的個人號碼數量進行比較,從其餘PIHLR中確定一個合適的PIHLR,使其剩餘容量可以容納以上某個合適的2級節點映射的全部個人號碼對應信息,例如發現PIHLR3可以容納第3個1級節點下第4個2級節點的所有信息。然後,將第3個1級節點下的第4個2級節點映射的個人號碼的相應信息從原來的PIHLR2搬移到PIHLR3,同時在映射表中將該節點對應的PIHLR更改為PIHLR3。經過上述數據搬移之後的散射樹結構如圖6所示。如果新增的個人號碼通過散列運算映射到第3個1級節點下的第4個2級節點,則將相應個人信息存儲到PIHLR3。如果新增的個人號碼通過散列運算映射到第3個1級節點下的其餘節點,則將相應個人信息依然存儲到PIHLR2。
如果在步驟503中判斷所有的PIHLR的容量都已經接近飽和,而不宜採用數據搬移的方法插入新增數據,則執行步驟506,考慮通過前述擴容方法對某些PIHLR進行擴容。這樣可以增加系統的總容量,從而使新增數據可以存儲到某一個PIHLR之中。如果可以對PIHLR擴容,則執行步驟507,按照前述擴容方法對相應PIHLR進行擴容。然後再執行步驟510。
如果在步驟506中判斷PIHLR已經接近設計容量的上限值而不能擴容,則執行步驟508,即新建PIHLR,然後在步驟509中,將原有PIHLR內的數據搬移到新建的PIHLR中,然後執行步驟510,將個人號碼對應個人信息插入到相應的PIHLR中。
參照在圖1的散射樹基礎上新建數據設備並進行數據信息搬移之後形成的圖7。例如,圖1中的第5個1級節點對應的PIHLR5容量已經達到設計容量的閾值,並且不能通過數據搬移和對PIHLR擴容來存儲新增數據,那麼就需要增加新的PIHLR了。首先,新增一個PIHLR,在這個例子中稱其為PIHLR6。然後查找哪些葉子節點對應了PIHLR5,可以發現對應PIHLR5的葉子節點包括第5個1級節點、第4個1級節點下的第6個和第7個2級節點。計算這三個葉子節點映射的個人號碼數量,將映射用戶數量最多的那個葉子節點所對應的用戶信息全部搬移到新建的PIHLR6中,例如是第5個1級節點映射的個人號碼數量最多,則將其對應的用戶信息全部搬移到PIHLR6中,並使該節點指向PIHLR6,其結果如圖7所示。
參照在圖7的散射樹基礎上再次新建數據設備並進行數據信息搬移之後形成的圖8。如果達到設計容量閾值的PIHLR對應的葉子節點只有一個,例如圖7中的PIHLR6隻對應於第5個1級節點,而PIHLR6不能再存儲新的數據,此時,需要新建一個PIHLR7,根據PIHLR6中的用戶號碼分布特徵,選擇合適的分組數G和散列運算方法,將PIHLR6中的個人號碼散射到G個分組中。用每個分組創建一個節點,分別為Node1~NodeG,並將這G個節點作為第5個1級節點的子節點。將這G個2級節點分成1~m和m+1~G兩組,讓第一組1~m個節點對應原來的PIHLR6,讓第二組m+1~G個節點對應新增加的PIHLR7,並將原來PIHLR6中m+1~G分組中的個人號碼對應信息轉移到新增的PIHLR7中。在這個例子中,取m為1,G為3,散列運算方法採用個人號碼的第4位至第6位組成的數除以3取餘數。這樣,在第5個1級節點下,第1個2級節點依然對應PIHLR6,而其餘2個2級節點則對應PIHLR7。同時將映射到第2個和第3個2級節點的個人號碼相應的個人信息從PIHLR6搬移到PIHLR7中,之後的散射樹絡構如圖8所示。個人號碼對應的個人信息即可存儲到相應的PIHLR中。
上面講述了如何通過散射樹將個人號碼對應的信息插入到實際的PIHLR中。下面講述對於已經成型的散射樹的結構可以進行的某些優化,以提高數據信息存儲和讀取的效率。
在散射樹中,如果某幾個PIHLR的用戶數量非常少,例如其現有信息存儲數量低於實際容量的20%,就可以考慮對PIHLR進行合併。參照在圖8的散射樹基礎上數據設備合併之後形成的圖9。例如,由於用戶的遷移或者退出該網絡服務等原因,圖8中的PIHLR1和PIHLR2中的節點所映射的用戶容量都接近容量下限閾值,則將PIHLR2中的個人用戶信息全部轉移到PIHLR1中,同時,將散射樹中PIHLR2對應的那些節點所對應的個人信息歸屬伺服器編號,全部改為PIHLR1。這種合併後的散射樹如圖9所示。
當一個節點下只有一個子節點為非空時,也就是其他子節點下所有葉子節點映射的用戶數為零,則將只包含一個非空子節點的該節點刪除,並將其唯一的非空子節點上移一級,例如從2級節點上移為1級節點。
當一個節點下的所有子節點都是葉子節點,且都指向同一個PIHLR時,則可以將該節點更改為葉子節點,並使其指向PIHLR,同時,刪除原來該節點下的所有子節點。
當一個節點不是葉子節點,其映射數為S,且存在一個PIHLR,該PIHLR的現有用戶數加上S後,仍然沒有達到該PIHLR的容量上限閾值,則可以將該節點映射的用戶全部搬移到該PIHLR下,而後將該節點下的所有葉子節點全部刪除,使該節點變成葉子節點,並使該節點指向該PIHLR。
對於上述PIHLR的搬移、新建和合併都將改變散射樹的結構,因此,需要將這些修改廣播到網絡內的相應交換機。
這樣,根據個人號碼,通過散列運算逐級映射散射樹的節點,直到映射到葉子節點,從葉子節點獲取PIHLR地址,這樣即可將用戶個人信息存儲到該PIHLR。在接收到針對個人號碼的電話呼叫時,通過對個人號碼進行逐級的散列運算,確定該個人號碼映射的葉子節點,然後在該葉子節點對應的PIHLR中獲取相應的用戶信息,例如實際電話號碼,即可正確地接續該呼叫。
以上的實施例介紹了如何使用本發明在電信領域裡根據個人號碼在伺服器上存取數據。本領域的技術人員可以理解,本發明的思想和方法還可以應用於不同的場合和環境,例如計算機網絡以及資料庫應用、網絡管理應用等方面,只要涉及到通過設備編碼在設備上存儲和讀取數據,都可以使用本發明提供的方法。因此,上述只是本發明的作為示範的具體實施方式
,並不用以限制本發明的保護範圍。
權利要求
1.一種根據數據信息關鍵域存儲數據信息的方法,它包括如下步驟a.預先在網絡中建立並存儲從根節點映射到葉子節點的由多級非葉子節點和一級葉子節點連接組成的散射樹,所述散射樹是反映從數據信息關鍵域映射到網絡中設備的逐級映射對照表,散射樹中的非葉子節點至少包括子節點數量以及向子節點映射的散列運算方法信息;b.根據所述散射樹對數據信息的關鍵域進行逐級散列運算,並根據所述逐級散列運算結果將數據信息映射到相應葉子節點;c.將所述數據信息存儲到所述葉子節點對應的設備上。
2.根據權利要求1所述的存儲數據信息的方法,其特徵是,所述散射樹中各個非葉子節點包括的子節點數量和散列運算方法可以相同,也可以不同。
3.根據權利要求1所述的存儲數據信息的方法,其特徵是,當一個設備中存儲的數據信息的使用容量達到該設備的最大容量閾值時,對該設備進行擴容。
4.根據權利要求1所述的存儲數據信息的方法,其特徵是,當數據信息需要搬移時,以葉子節點為單位將設備中該葉子節點對應的全部數據信息搬移到一個目的設備中,並在散射樹中將該葉子節點對應的設備編號修改為目的設備編號。
5.根據權利要求4所述的存儲數據信息的方法,其特徵是,當一個設備中存儲的數據信息的使用容量達到該設備的最大容量閾值時,將該設備對應的一個葉子節點映射的全部數據信息搬移到其它具有相應存儲空間的一個設備中。
6.根據權利要求4所述的存儲數據信息的方法,其特徵是,當一個設備中存儲的數據信息的使用容量達到該設備的最大容量閾值時,新建一個設備,並將達到容量閾值的設備中部分葉子節點所映射的全部數據信息搬移到新建的設備中。
7.根據權利要求4所述的存儲數據信息的方法,其特徵是,當原有設備中存儲的數據信息的使用容量達到該設備的最大容量閾值並且該原有設備只對應一個葉子節點時,通過散射樹的生長方式將該葉子節點變成非葉子節點,並確定該節點的子節點數和散列運算方法,然後通過該散列運算方法,將該原有設備中的數據信息散射到該節點的各個子節點中,並將部分子節點所對應的數據分別搬移到包括新建設備的其它設備中,其他子節點對應的數據保留在所述原有設備中,在散射樹中設置所述其他子節點對應的設備編號為該原有設備編號。
8.根據權利要求4所述的存儲數據信息的方法,其特徵是,當大於1個的設備中存儲的數據信息的使用容量分別低於設備的最小容量閾值時,將所述大於1個的設備中所有數據信息通過搬移方式合併到其中一個所述設備中。
9.根據權利要求4所述的存儲數據信息的方法,其特徵是,當一個非葉子節點映射的所有數據信息容量小於另一個設備的剩餘容量,將該非葉子節點映射的全部數據信息搬移到所述另一個設備中,在散射樹中刪除該非葉子節點下的所有葉子節點,使所述非葉子節點變成葉子節點,並使該節點指向所述另一個設備。
10.根據權利要求1所述的存儲數據信息的方法,其特徵是,當一個非葉子節點對應的數據信息已經集中到該節點的某一個子節點中,取消該非葉子節點以及除該子節點之外的其他子節點,在散射樹中將數據信息集中的子節點上移到所述非葉子節點的位置。
11.根據權利要求1至10中任一權利要求所述的存儲數據信息的方法,其特徵是,所述數據信息關鍵域不包括設備編號信息。
12.一種針對按照權利要求1所述方法存儲的數據信息的讀取方法,它包括如下步驟a.根據散射樹對數據信息關鍵域進行逐級散列運算;b.根據所述逐級散列運算結果將數據信息映射到相應葉子節點;c.從所述葉子節點對應的設備中讀取對應於所述數據信息關鍵域的數據信息。
13.根據權利要求12所述的讀取數據信息的方法,其特徵是,所述數據信息關鍵域不包括設備編號信息。
全文摘要
本發明公開了一種根據數據信息關鍵域存儲數據信息的方法,使用這種方法時,預先在網絡中建立並存儲從根節點映射到葉子節點的由多級非葉子節點和一級葉子節點連接組成的散射樹;根據散射樹對數據信息關鍵域進行逐級散列運算,並根據逐級散列運算結果將數據信息映射到葉子節點;將數據信息存儲到葉子節點對應的設備上。在上述存儲數據信息的基礎上,本發明還公開了一種相應地讀取數據信息的方法,即根據散射樹對數據信息關鍵域進行逐級散列運算;根據逐級散列運算結果將數據信息映射到葉子節點;從葉子節點對應的設備中讀取對應於數據信息關鍵域的數據信息。使用本發明可以在數據信息關鍵域不包含設備編號信息的情況下,快速、準確地存儲和讀取數據信息,有利於個人號碼的遷移攜帶。
文檔編號H04M3/00GK1494301SQ02146090
公開日2004年5月5日 申請日期2002年10月30日 優先權日2002年10月30日
發明者王正偉 申請人:華為技術有限公司