亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種分段式id分配方法

文檔序號:7851312閱讀:105來源:國知局
專利名稱:一種分段式id分配方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)管系統(tǒng)中邏輯對象的對象ID(IDentity,身份標(biāo)識號碼)的分配方法,具體涉及ー種分段式ID分配方法。
背景技術(shù)
在網(wǎng)管系統(tǒng)中,為了便于管理邏輯對象(網(wǎng)絡(luò)設(shè)備在網(wǎng)管系統(tǒng)中的虛擬對象),通常將所有的邏輯對象進行統(tǒng)一編號和分配,每個邏輯對象對應(yīng)ー個唯一的對象ID。網(wǎng)管系統(tǒng)內(nèi)部進行數(shù)據(jù)交互或接ロ調(diào)用時,邏輯對象都是通過其所對應(yīng)的對象ID來表示和識別,通過對象ID來識別邏輯對象不僅可以統(tǒng)ー管理所有的邏輯對象,而且可以避免通過對象屬性來識別邏輯對象所帯來的對象屬性修改,引起對象之間關(guān)系變化的問題。但是,當(dāng)管理的邏輯對象較多時,如果邏輯對象分配對象ID的分配效率不高,則會嚴(yán)重影響網(wǎng)管系統(tǒng)的工作效率?,F(xiàn)有的給邏輯對象分配對象ID的分配方法通常采用整形分配和緩沖分配兩種形式,但是,這兩種方法存在以下缺陷整形分配時(即按整數(shù)分配),采用ー個4字節(jié)的整數(shù)來表示邏輯對象的對象ID,對象ID從I開始依次遞增為邏輯對象進行編號和分配。當(dāng)邏輯對象較多時,増加邏輯對象的對象ID和刪除未使用對象ID的對象數(shù)據(jù)的操作會比較頻繁,邏輯對象對應(yīng)的對象ID可能會達到整數(shù)的最大值,對象ID—旦達到了整數(shù)的最大值,就需要從整數(shù)中回收可用的對象ID(整數(shù)中沒有被分配的ID即為可用的對象ID)來對應(yīng)需分配的邏輯對象?;厥諏ο驣D時一般采用以下兩種方法(I)從I開始遍歷所有整數(shù),校驗遍歷到的整數(shù)是否已被分配為對象ID,如果遍歷到的整數(shù)沒有被分配為對象ID,則回收該整數(shù)作為可用的對象ID。該方法的操作過程比較簡單,但是當(dāng)邏輯對象較多吋,由于每次回收對象ID時都需要從I開始遍歷所有整數(shù),而較多的邏輯對象會使得整數(shù)中的ID值較大,因此較多的邏輯對象會使得遍歷所有整數(shù)的次數(shù)較多,遍歷效率降低,進而使得回收效率較低。(2)折半查找,即校驗(0,0x7fffffff)的中間值0x3fffffff ((0+0x7fffffff)/2)是否已被分配為對象ID,如果0x3fffffff沒有被分配為對象ID,則0x3fffffff的ID為可用對象ID ;如果0x3fffffff已被分配為對象ID,則比較(0,0x3fffffff)和(0x3fffffff,0x7fffffff)兩個區(qū)間,首先將已被分配的對象ID較少的區(qū)間進行存儲,然后取該區(qū)間的中間值并校驗中間值是否已被分配為對象ID。按照以上方法不斷的校驗分配對象ID較少區(qū)間的中間值,直到找到未被分配的ID即可作為可用對象ID。在邏輯對象較多吋,由于邏輯對象所對應(yīng)對象ID的個數(shù)較多,對象ID所形成的區(qū)間較長,因此可能需要多次校驗區(qū)間中的中間值回收到可用的對象ID,不僅操作過程比較復(fù)雜,而且回收過程較長,回收效率較低。上述兩種回收方法在回收可用的對象ID時均按照邏輯對象的個數(shù)進行回收,即新增的邏輯對象為ー個,則回收一次;新增的邏輯對象為兩個,則回收兩次。當(dāng)需要管理的邏輯對象較多吋,由于回收可用的對象ID和分配邏輯對象的對象ID比較頻繁,而上述兩種回收方法一次只能回收ー個可用的對象ID,因此采用上述兩種方法需多次回收才能獲得較多的可用對象ID,以對應(yīng)較多的邏輯對象,回收效率較低,進而使得分配效率較低。
緩沖分配即將所有已對應(yīng)邏輯對象的對象ID進行緩沖,新增邏輯對象吋,緩沖所有對象ID信息,根據(jù)緩沖的對象ID列表獲取ー個沒有緩沖的整數(shù)作為可用的對象ID ;刪除邏輯對象時,緩沖所有對象ID的對象數(shù)據(jù),從緩沖的對象ID列表中刪除與之對應(yīng)的對象ID。由于新增邏輯對象和刪除邏輯對象均需要緩沖所有對象ID的對象數(shù)據(jù),因此當(dāng)邏輯對象較多時,緩沖邏輯對象所對應(yīng)對象ID的對象數(shù)據(jù)較多,占用網(wǎng)管系統(tǒng)的內(nèi)存較大。綜上所述,現(xiàn)有的給邏輯對象分配對象ID的分配方法在分配較多的邏輯對象時存在兩個缺點(I)回收可用對象ID的操作比較復(fù)雜,回收效率較低,進而使得分配對象ID的分配效率降低;(2)占用網(wǎng)管系統(tǒng)的內(nèi)存較大,不適于推廣。

發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種分段式ID分配方法,它在分配對象ID時操作比較簡單,在管理較多的邏輯對象時不僅分配效率和回收效率較高,而且占用的內(nèi)存較少,適于推廣。為達到以上目的,本發(fā)明采取的技術(shù)方案是一種分段式ID分配方法,其特征在于,包括如下步驟:A、從數(shù)據(jù)庫中獲取已分配邏輯對象的對象數(shù)據(jù);B、根據(jù)所述邏輯對象的對象類別更新緩沖中已分配邏輯對象的對象ID信息;C、根據(jù)所述對象ID信息獲取可用的對象ID段;D、在所述對象ID段中分配對象ID。在上述技術(shù)方案的基礎(chǔ)上,步驟A之前還包括如下流程根據(jù)管理邏輯對象類別的不同,每類邏輯對象均預(yù)分配了一定數(shù)量的預(yù)分配段。在上述技術(shù)方案的基礎(chǔ)上,步驟B中所述更新緩沖中已分配邏輯對象的對象ID信息的流程如下將所述邏輯對象的對象ID與緩沖中當(dāng)前段的對象ID進行比較,若所述邏輯對象的對象ID大于當(dāng)前段已分配的最大對象ID,并且小于等于當(dāng)前段的最大對象ID,則更新當(dāng)前段已分配的最大對象ID;若所述邏輯對象的對象ID大于當(dāng)前段的最大對象ID,則更新當(dāng)前段的段起始ID和已分配的最大對象ID,并判斷當(dāng)前段更新后已分配的最大對象ID是否屬于預(yù)分配段的范圍,若不是,則記錄更新后當(dāng)前段所屬的動態(tài)ID段的信息。在上述技術(shù)方案的基礎(chǔ)上,步驟C中所述獲取可用的對象ID段的流程如下判斷當(dāng)前段是否可以繼續(xù)分配ID,若是,則將當(dāng)前段作為可用的對象ID段,否則從預(yù)分配段中獲取可用的對象ID段;若從預(yù)分配段中獲取不到可用的對象ID段,則回收可用的對象ID段;若回收不到可用的對象ID段,則從動態(tài)段中獲取可用的對象ID段。在上述技術(shù)方案的基礎(chǔ)上,所述回收可用的對象ID段的流程如下獲取ー個預(yù)分配段,判斷獲取的預(yù)分配段中的對象ID是否全部未被分配,若是,則將獲取的預(yù)分配段作為可用的對象ID段,否則回收預(yù)分配段中未被分配的對象ID段作為可用的對象ID段;若獲取的預(yù)分配段中的所有對象ID均被分配,則回收動態(tài)ID段作為可用的對象ID段。在上述技術(shù)方案的基礎(chǔ)上,所述未被分配的對象ID段在已分配對象ID最少的預(yù)分配段中回收。在上述技術(shù)方案的基礎(chǔ)上,所述回收動態(tài)ID段作為可用的對象ID段的流程如下獲取已分配對象ID最少的動態(tài)ID段,判斷所述動態(tài)ID段中的對象ID是否全部未被分配,若是,則將所述動態(tài)ID段作為回收段,否則回收所述動態(tài)ID段中未被分配的對象ID段作為可用的對象ID段。在上述技術(shù)方案的基礎(chǔ)上,步驟A之前還包括如下流程預(yù)分配用于擴展新增邏輯對象使用的預(yù)留段。
在上述技術(shù)方案的基礎(chǔ)上,步驟D中所述分配對象ID的流程如下在對象ID段中獲取可用的段內(nèi)ID,將所述段內(nèi)ID與對象ID段的段號合成新的對象ID。在上述技術(shù)方案的基礎(chǔ)上,所述獲取可用的段內(nèi)ID為所述對象ID段中比已分配對象ID大的最小整數(shù)。本發(fā)明的有益效果在于(I)本發(fā)明根據(jù)邏輯對象不同的類別,為每類邏輯對象均分配了一定數(shù)量的預(yù)分配段。在為邏輯對象分配對象ID時,根據(jù)邏輯對象的類別,優(yōu)先從預(yù)分配段中采用依次遞增的方式分配對象ID。如果預(yù)分配段中的對象ID已經(jīng)全部分配完畢,則遍歷所有預(yù)分配段,在預(yù)分配段中回收可用的對象ID段并在該段中分配對象ID ;如果從預(yù)分配段中回收不到可用的對象ID段,則在需分配邏輯對象類別的已用動態(tài)ID段中回收可用的對象ID段并在該段中分配對象ID ;如果從動態(tài)ID段中回收不到可用的對象ID段,則從未使用的動態(tài)段分配對象ID。由于預(yù)分配段和動態(tài)段均設(shè)有ー個對應(yīng)的段號,因此本發(fā)明能夠按照段號進行回收可用的對象ID段,回收ー個可用的對象ID段最多需要遍歷的次數(shù)小于或者等于預(yù)分配段個數(shù)與動態(tài)段個數(shù)之和。與背景技術(shù)相比,本發(fā)明最多只需遍歷預(yù)分配段個數(shù)與動態(tài)段個數(shù)之和就能回收到可用的對象ID,不僅操作比較簡單,而且在遍歷的次數(shù)較少的同時能夠回收較多可用對象ID(假設(shè)預(yù)分配段的個數(shù)為50個,每個預(yù)分配段能夠分配Oxffff個對象ID,則可用的對象ID為50*65535個,而回收遍歷的次數(shù)最多為50次),遍歷效率較高,進而使得回收效率較高。(2)本發(fā)明回收ー個可用的對象ID段之后,需要分配的邏輯對象就在該段內(nèi)分配對象ID,直到該段中的所有對象ID全部分配完畢后再回收下ー個可用的段。由于ー個可用的對象ID段最多可以分配Oxffff個對象ID,因此該段中可用的對象ID較多,較多的可用對象ID大大減少了回收可用的對象ID段的次數(shù),避免了頻繁回收,回收效率較高,進而使得分配效率較高。(3)本發(fā)明不同類別邏輯對象的對象ID信息存儲在該類別的對象ID段中,在増加邏輯對象或者刪除邏輯對象吋,不需要緩沖所有邏輯對象的對象ID,只需緩沖邏輯對象所對應(yīng)類別的對象ID段的信息即可。與背景技術(shù)相比,本發(fā)明在分配對象ID時所緩沖的對象數(shù)據(jù)較少,占用網(wǎng)管系統(tǒng)的內(nèi)存較少,適于推廣。


圖I為本發(fā)明實施例中對象ID模型的示意圖;圖2為本發(fā)明實施例中對象ID段預(yù)分配模型的示意圖;圖3為本發(fā)明實施例中ID分配方法的流程圖4為本發(fā)明實施例中更新緩沖對象ID信息的流程圖;圖5為本發(fā)明實施例中獲取可用對象ID段的流程圖;圖6為本發(fā)明實施例中回收可用對象ID段的流程圖。
具體實施例方式以下結(jié)合附圖及實施例對本發(fā)明作進ー步詳細說明。參見圖I所示,本發(fā)明實施例用ー個4字節(jié)的整數(shù)表示一個對象ID,對象ID由段 號和段內(nèi)ID兩部分組成,段號占高2個字節(jié),段內(nèi)ID占低2個字節(jié)。參見圖2所示,根據(jù)管理的邏輯對象類別的不同,每類邏輯對象均預(yù)分配了一定數(shù)量的預(yù)分配段。本發(fā)明還為所有邏輯對象預(yù)分配了一定數(shù)量的預(yù)留段,預(yù)留段是預(yù)留給以后擴展后新增邏輯對象使用的,預(yù)留段中的對象ID不會被分配。對象ID優(yōu)先從預(yù)分配段中分配和回收,預(yù)分配段內(nèi)的對象ID全部分配完畢后,再從動態(tài)段中分配。參見圖3所示,本發(fā)明實施例提供的分段式ID分配方法,包括以下步驟步驟101 :從DB(Data Base,數(shù)據(jù)庫)中獲取已分配邏輯對象的對象數(shù)據(jù),以初始化已分配邏輯對象的對象ID。步驟102 :根據(jù)獲取邏輯對象的對象類別,將邏輯對象的對象ID與緩沖中該類對象當(dāng)前段的對象ID進行比較,更新緩沖中已分配的對象ID信息。步驟103 :對緩沖中的對象ID進行管理,在緩沖中該類對象的當(dāng)前段中存儲當(dāng)前段的段號和當(dāng)前段已分配的最大對象ID。步驟104 :根據(jù)緩沖中已分配對象ID的信息,獲取ー個可用的對象ID段。獲取可用的對象ID段時首先從預(yù)分配段中獲取,如果獲取不到可用的對象ID段,則回收可用的對象ID段,如果回收不到可用的對象ID段,則從動態(tài)段中獲取可用的對象ID段。步驟105 :分配對象ID,在可用的對象ID段中根據(jù)依次遞增的方式獲取ー個可用的段內(nèi)ID (段內(nèi)ID為可用的對象ID段中比已用ID大的最小整數(shù)),并將段內(nèi)ID與可用的對象ID段的段號合成ー個新的對象ID。下面對本發(fā)明實施例提供的方法進行詳細闡述。參見圖4所示,步驟102包括以下步驟步驟201 :將當(dāng)前邏輯對象的對象ID與緩沖中該對象類別當(dāng)前段的對象ID進行比較。如果當(dāng)前邏輯對象的對象ID大于等于當(dāng)前段的最小對象ID,并且小于等于當(dāng)前段的最大對象ID,則該對象ID屬于當(dāng)前段的段內(nèi)ID,轉(zhuǎn)到步驟202 ;如果當(dāng)前邏輯對象的對象ID大于當(dāng)前段的最大對象ID,則轉(zhuǎn)到步驟204 ;如果當(dāng)前邏輯對象的對象ID小于當(dāng)前段的最小對象ID,則完成緩沖中對象ID信息的更新,并結(jié)束。步驟202 :判斷對象ID是否大于當(dāng)前段已分配的最大對象ID,如果是,則轉(zhuǎn)到步驟203,否則完成緩沖中對象ID信息的更新,并結(jié)束。步驟203:更新當(dāng)前段已分配的最大對象ID,將其作為當(dāng)前段的段號和已分配的最大對象ID,并結(jié)束。步驟204 :更新當(dāng)前段的段起始ID和已分配的最大對象ID,存儲更新后當(dāng)前段的段號和已分配的最大對象ID。步驟205 :判斷當(dāng)前段更新后已分配的最大對象ID是否屬于預(yù)分配段的范圍,如果是,則完成緩沖中對象ID信息的更新并結(jié)束;否則說明當(dāng)前段更新后的當(dāng)前段屬于動態(tài)段的范圍,轉(zhuǎn)到步驟206。步驟206 :記錄動態(tài)ID段的信息并結(jié)束。動態(tài)ID段信息包括邏輯對象的對象類別和段號,由于動態(tài)段可以分配任何類別的邏輯對象,因此需要記錄與當(dāng)前段對應(yīng)的已用動態(tài)ID段屬于哪類邏輯對象,以保證在回收可用的對象ID時可以根據(jù)對象類別獲取已使用的動態(tài)段的段號,做到快速回收。在當(dāng)前邏輯對象的對象ID與緩沖中對象ID進行比較和更新的過程中,需要從數(shù)據(jù)庫中依次加載邏輯對象的對象數(shù)據(jù),每加載ー種類別的邏輯對象,需要根據(jù)當(dāng)前邏輯對象不同的對象類別進行比較和更新,將更新后得到的當(dāng)前段的段號和已分配的最大對象ID緩沖在內(nèi)存中,并作為獲取ー個可用的對象ID段的初始數(shù)據(jù)。
參見圖5所示,步驟104包括以下步驟步驟301 :判斷當(dāng)前段是否可以繼續(xù)分配對象ID,如果是(當(dāng)前段中已分配的最大對象ID小于該段的最大對象ID值),則轉(zhuǎn)到步驟305,否則轉(zhuǎn)到步驟302。步驟302 :從當(dāng)前邏輯對象所屬對象類別的預(yù)分配段號中獲取ー個對象ID段的段號,獲取規(guī)則為在預(yù)分配段中獲取比當(dāng)前段的段號大I的段的段號。步驟303 :判斷獲取的對象ID段的段號是否屬于預(yù)分配段范圍(步驟301中的當(dāng)前段有可能為預(yù)分配段中的最后ー個段),如果是,則將該段作為當(dāng)前段,以后的對象ID將從該段中分配,直到該段全部分配完畢,并轉(zhuǎn)到步驟304 ;否則說明預(yù)分配段中獲取不到可用的對象ID段,轉(zhuǎn)到步驟306。步驟304 :更新緩沖中該類對象當(dāng)前段的段號和段內(nèi)最大對象ID。步驟305 :獲取當(dāng)前段,將當(dāng)前段作為可用的對象ID段并結(jié)束。步驟306 :回收ー個可用的對象ID段回收時首先從預(yù)分配段中回收,如果預(yù)分配段中的對象ID已經(jīng)全部分配完畢(即沒有可用的對象ID),再回收當(dāng)前對象數(shù)據(jù)對象類別的已用動態(tài)ID段。優(yōu)先回收預(yù)分配段是為了盡量保證同類別的邏輯對象的對象ID都盡量落在預(yù)分配段中;由于每類邏輯對象的預(yù)分配段的個數(shù)均比較少,而回收預(yù)分配段需遍歷的次數(shù)小于等于預(yù)分配段個數(shù),因此回收預(yù)分配段的遍歷次數(shù)較少,回收效率較高。步驟307 :判斷回收的對象ID段中是否有可用的對象ID (回收的對象ID段中的對象ID可能已經(jīng)分配完),如果是,轉(zhuǎn)到步驟308,否則轉(zhuǎn)到步驟310。步驟308 :將回收的對象ID段的段號和可用的對象ID更新至緩沖中。步驟309 :獲取回收的對象ID段,將其作為可用的對象ID段并結(jié)束。步驟310 :從未使用的動態(tài)段中獲取ー個對象ID段(已用動態(tài)段的信息已在步驟106中記錄)ο步驟311 :判斷獲取的對象ID段中是否可以獲取到ー個可用的對象ID段,如果是,則轉(zhuǎn)到步驟312,否則判定獲取可用的對象ID段失敗,并結(jié)束。步驟312 :更新緩沖中該類邏輯對象的動態(tài)段信息(記錄已使用邏輯對象的對象類別和段號)和該類邏輯對象當(dāng)前段信息。步驟313 :獲取當(dāng)前段,將當(dāng)前段作為可用的對象ID段并結(jié)束。參見圖6所示,步驟306中回收ー個可用的對象ID段的具體步驟如下步驟401 :獲取ー個預(yù)分配段號。
步驟402 :從內(nèi)存對象樹中獲取該段已被分配的對象ID的數(shù)目。步驟403 :判斷獲取預(yù)分配段中的對象ID是否全部未被分配,如果是,則轉(zhuǎn)到步驟404,否則轉(zhuǎn)到步驟405。步驟404 :記錄獲取預(yù)分配段的段號,將此段回收為可用的對象ID段并結(jié)束。步驟405 :存儲獲取預(yù)分配段的段號以及該段內(nèi)已分配對象ID的數(shù)目,緩沖已分配對象ID最少(資源最豐富)的預(yù)分配段的段號。存儲可用對象ID的數(shù)目時按 照可用對象ID區(qū)間的最小值和最大值分段進行存儲。由于在回收對象ID段的過程中要避免頻繁回收,因此需要回收資源最豐富的段(可用對象ID最多的段);由于對象ID存儲時按段進行存儲,并記錄每段已分配對象ID的數(shù)目,因此回收對象ID段時可以按段快速回收資源最豐富的段。步驟406 :判斷是否已經(jīng)全部遍歷完所有的預(yù)分配段,如果是,則轉(zhuǎn)到步驟408,否則轉(zhuǎn)到步驟407。步驟407 :從預(yù)分配段號中獲取下ー個段號,并重新轉(zhuǎn)到步驟402。步驟408 :判斷獲取的預(yù)分配段中是否有可用的對象ID(所有預(yù)分配段中的對象ID可能全部被分配),如果是,則轉(zhuǎn)到步驟412,否則轉(zhuǎn)到步驟409。步驟409 :遍歷當(dāng)前對象數(shù)據(jù)對象類別的動態(tài)ID段,獲取動態(tài)ID段中已分配對象ID最少的段的段號。步驟410 :判斷獲取的動態(tài)ID段中是否有可用的對象ID (動態(tài)ID段中的對象ID可能已經(jīng)全部被分配),如果是,則轉(zhuǎn)到步驟411,否則判定回收對象ID段失敗并結(jié)束。步驟411 :判斷獲取動態(tài)ID段的對象ID是否全部未被分配,如果是(動態(tài)ID段中已被分配的對象ID數(shù)目為O),則將此段回收為可用的對象ID段并結(jié)束,否則轉(zhuǎn)到步驟412。步驟412 :從內(nèi)存對象樹中獲取已分配的對象ID。步驟413 :將未被分配的對象ID按段存儲,將存儲后的對象ID段作為可用的對象ID段并結(jié)束。對于回收的對象ID段,其段內(nèi)的部分對象ID可能是已被分配的對象ID,只有沒有被分配的對象ID才能作為可用的對象ID。為了減少在內(nèi)存中緩沖所有可用的對象ID帶來的內(nèi)存開銷,在內(nèi)存中將回收的對象ID段中的可用對象ID按長度分為不規(guī)則的小段進行存儲,不僅緩沖時占用內(nèi)存較小,而且根據(jù)對象ID段的段號分配對象ID的分配效率較高。本發(fā)明不局限于上述實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。本說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技木。
權(quán)利要求
1.一種分段式ID分配方法,其特征在于,包括如下步驟 A、從數(shù)據(jù)庫中獲取已分配邏輯對象的對象數(shù)據(jù); B、根據(jù)所述邏輯對象的對象類別更新緩沖中已分配邏輯對象的對象ID信息; C、根據(jù)所述對象ID信息獲取可用的對象ID段; D、在所述對象ID段中分配對象ID。
2.如權(quán)利要求I所述的分段式ID分配方法,其特征在于,步驟A之前還包括如下流程根據(jù)管理邏輯對象類別的不同,每類邏輯對象均預(yù)分配了一定數(shù)量的預(yù)分配段。
3.如權(quán)利要求2所述的分段式ID分配方法,其特征在于,步驟B中所述更新緩沖中已分配邏輯對象的對象ID信息的流程如下將所述邏輯對象的對象ID與緩沖中當(dāng)前段的對象ID進行比較,若所述邏輯對象的對象ID大于當(dāng)前段已分配的最大對象ID,并且小于等于當(dāng)前段的最大對象ID,則更新當(dāng)前段已分配的最大對象ID ;若所述邏輯對象的對象ID大于當(dāng)前段的最大對象ID,則更新當(dāng)前段的段起始ID和已分配的最大對象ID,并判斷當(dāng)前段更新后已分配的最大對象ID是否屬于預(yù)分配段的范圍,若不是,則記錄更新后當(dāng)前段所屬的動態(tài)ID段的信息。
4.如權(quán)利要求3所述的分段式ID分配方法,其特征在于,步驟C中所述獲取可用的對象ID段的流程如下判斷當(dāng)前段是否可以繼續(xù)分配ID,若是,則將當(dāng)前段作為可用的對象ID段,否則從預(yù)分配段中獲取可用的對象ID段;若從預(yù)分配段中獲取不到可用的對象ID段,則回收可用的對象ID段;若回收不到可用的對象ID段,則從動態(tài)段中獲取可用的對象ID段。
5.如權(quán)利要求4所述的分段式ID分配方法,其特征在于所述回收可用的對象ID段的流程如下獲取ー個預(yù)分配段,判斷獲取的預(yù)分配段中的對象ID是否全部未被分配,若是,則將獲取的預(yù)分配段作為可用的對象ID段,否則回收預(yù)分配段中未被分配的對象ID段作為可用的對象ID段;若獲取的預(yù)分配段中的所有對象ID均被分配,則回收動態(tài)ID段作為可用的對象ID段。
6.如權(quán)利要求5所述的分段式ID分配方法,其特征在于所述未被分配的對象ID段在已分配對象ID最少的預(yù)分配段中回收。
7.如權(quán)利要求5所述的分段式ID分配方法,其特征在于所述回收動態(tài)ID段作為可用的對象ID段的流程如下獲取已分配對象ID最少的動態(tài)ID段,判斷所述動態(tài)ID段中的對象ID是否全部未被分配,若是,則將所述動態(tài)ID段作為回收段,否則回收所述動態(tài)ID段中未被分配的對象ID段作為可用的對象ID段。
8.如權(quán)利要求I所述的分段式ID分配方法,其特征在于,步驟A之前還包括如下流程預(yù)分配用于擴展新增邏輯對象使用的預(yù)留段。
9.如權(quán)利要求I所述的分段式ID分配方法,其特征在干,步驟D中所述分配對象ID的流程如下在對象ID段中獲取可用的段內(nèi)ID,將所述段內(nèi)ID與對象ID段的段號合成新的對象ID。
10.如權(quán)利要求9所述的分段式ID分配方法,其特征在于所述獲取可用的段內(nèi)ID為所述對象ID段中比已分配對象ID大的最小整數(shù)。
全文摘要
本發(fā)明公開了一種分段式ID分配方法,涉及網(wǎng)管系統(tǒng)中邏輯對象的對象ID的分配方法。它包括如下步驟A、從數(shù)據(jù)庫中獲取已分配邏輯對象的對象數(shù)據(jù);B、根據(jù)所述邏輯對象的對象類別更新緩沖中已分配邏輯對象的對象ID信息;C、根據(jù)所述對象ID信息獲取可用的對象ID段;D、在所述對象ID段中分配對象ID。本發(fā)明在分配對象ID時操作比較簡單,在管理較多的邏輯對象時不僅分配效率和回收效率較高,而且占用的內(nèi)存較少,適于推廣。
文檔編號H04L29/12GK102694878SQ20121015027
公開日2012年9月26日 申請日期2012年5月16日 優(yōu)先權(quán)日2012年5月16日
發(fā)明者張利兵, 張勇, 朱春燕, 鐘潘 申請人:烽火通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1