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

一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法

文檔序號:7649368閱讀:244來源:國知局

專利名稱::一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法
技術(shù)領(lǐng)域
:本發(fā)明涉及網(wǎng)絡(luò)中定位被管理設(shè)備的方法,更具體地說,涉及一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法。
背景技術(shù)
:在網(wǎng)絡(luò)管理中,管理者必須知道的基本事實之一是有多少設(shè)備連接在本系統(tǒng)中、每個設(shè)備的位置(包括該設(shè)備與其他設(shè)備或某些設(shè)定的管理層的邏輯關(guān)系)、該設(shè)備的屬性等,通常,人們使用拓撲圖的方式來組織和表示上述事實,以便于管理。常用的拓撲圖包括總線型拓撲、樹型拓撲等,而樹型拓撲即拓撲樹在網(wǎng)絡(luò)中使用得較多,傳統(tǒng)構(gòu)造拓撲樹的方法,主要是通過遞歸算法實現(xiàn)的。其主要思想是構(gòu)造一個節(jié)點,然后判斷其是否有子節(jié)點,如果有,則依次構(gòu)造其子節(jié)點。在構(gòu)造其子節(jié)點過程中,就遞歸上面方法。在數(shù)據(jù)組織方面,傳統(tǒng)構(gòu)造樹型結(jié)構(gòu)的數(shù)據(jù)模型一般為ID、名稱、父ID。這種結(jié)構(gòu)構(gòu)造的樹有個特點就是一個數(shù)據(jù)在樹上只對應(yīng)一個節(jié)點。這種方法構(gòu)造拓撲樹,思路、方法雖很簡單,但其拓撲樹的結(jié)構(gòu)單一、不豐富,如果需要構(gòu)造拓撲樹的數(shù)據(jù)量巨大,則性能相當(dāng)?shù)牟缓?。另一方面,即使樹?gòu)造出來了,但要從樹上査找定位一個節(jié)點,多是采用逐節(jié)點遍歷的方法,搜索性能也很差。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述結(jié)構(gòu)單一、搜索性能差的缺陷,提供一種結(jié)構(gòu)豐富、搜索性能好的構(gòu)造拓撲樹的方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法,包括如下步驟A)根據(jù)相連的被管理設(shè)備的屬性數(shù)據(jù),定義拓撲樹結(jié)構(gòu),并保存于所述服務(wù)器數(shù)據(jù)庫中;B)使用戶與至少一個拓撲樹結(jié)構(gòu)相關(guān)聯(lián);C)從服務(wù)器數(shù)據(jù)庫中讀取網(wǎng)元數(shù)據(jù)及被關(guān)聯(lián)的拓撲樹結(jié)構(gòu)數(shù)據(jù),并創(chuàng)建拓撲樹節(jié)點數(shù)據(jù)集;D)按定義的拓撲樹結(jié)構(gòu)構(gòu)造拓撲樹,在構(gòu)造過程中對應(yīng)每個節(jié)點,在拓撲樹節(jié)點數(shù)據(jù)集中加入相應(yīng)數(shù)據(jù),用于快速定位所述拓撲樹的節(jié)點。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟A)進一步包括如下步驟Al)定義對拓撲樹的描述,包括樹編號、樹名稱;A2)定義拓撲樹的結(jié)構(gòu),包括樹編號、節(jié)點層次、網(wǎng)元屬性。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟A2)中的網(wǎng)元屬性包括被管理設(shè)備所具有的屬性。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟B)中關(guān)聯(lián)方式包括用戶編號、樹編號、顯示順序。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟C)中所述的拓撲樹節(jié)點數(shù)據(jù)集所包含的數(shù)據(jù)包括網(wǎng)元屬性名、網(wǎng)元屬性值以及樹節(jié)點對象指針。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟C)進一步包括如下步驟Cl)根據(jù)所述拓撲樹結(jié)構(gòu),創(chuàng)建網(wǎng)元數(shù)據(jù)索引,將讀取的網(wǎng)元數(shù)據(jù)按所述索引排序,得到網(wǎng)元數(shù)據(jù)集;C2)創(chuàng)建網(wǎng)元結(jié)構(gòu)對象鏈表。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟Cl)中所述的網(wǎng)元數(shù)據(jù)索引形式包括節(jié)點層次1網(wǎng)元屬性+節(jié)點層次2網(wǎng)元屬性+…+節(jié)點層次N網(wǎng)元屬性。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟C2)中所述的網(wǎng)元結(jié)構(gòu)的屬性包括樹編號、節(jié)點層次、網(wǎng)元屬性、節(jié)點指針、父節(jié)點指針和上一值。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,所述步驟D)進一步包括如下步驟Dl)設(shè)置網(wǎng)元數(shù)據(jù)指針和網(wǎng)元結(jié)構(gòu)對象指針及其初始值;D2)判斷網(wǎng)元數(shù)據(jù)集中的網(wǎng)元數(shù)據(jù)是否遍歷,如完成,則表示完成拓撲樹的構(gòu)造,執(zhí)行步驟D7);如未完成,執(zhí)行步驟D2);D3)判斷網(wǎng)元結(jié)構(gòu)對象鏈表中的網(wǎng)元結(jié)構(gòu)對象是否遍歷,如是,網(wǎng)元數(shù)據(jù)指針加l,并執(zhí)行步驟D2),如否,執(zhí)行下一步D4);D4)從該網(wǎng)元結(jié)構(gòu)對象中得到網(wǎng)元屬性值,在網(wǎng)元數(shù)據(jù)集中取出當(dāng)前行中字段名為所述網(wǎng)元屬性值的字段值,與網(wǎng)元結(jié)構(gòu)對象中的上一值比較,如果不等,則執(zhí)行下一步驟D5),否則執(zhí)行步驟D7);D5)在樹上新建一個網(wǎng)元節(jié)點,其父節(jié)點為當(dāng)前網(wǎng)元結(jié)構(gòu)對象中的父節(jié)點指針,將當(dāng)前網(wǎng)元結(jié)構(gòu)對象的上一值用所述字段名為所述網(wǎng)元屬性值的字段值替換,將網(wǎng)元結(jié)構(gòu)對象鏈表中從網(wǎng)元結(jié)構(gòu)對象指針指向的網(wǎng)元結(jié)構(gòu)對象開始的父節(jié)點指針全指向此新建節(jié)點,上一值則全部設(shè)置為初始值;D6)向所述拓撲樹節(jié)點數(shù)據(jù)集中插入一行數(shù)據(jù),其網(wǎng)元屬性名為所述網(wǎng)元屬性值,網(wǎng)元屬性值為前行中字段名為所述網(wǎng)元屬性值的字段值,樹節(jié)點對象指針指向新建節(jié)點;D7)所述網(wǎng)元結(jié)構(gòu)對象指針加l,返回步驟D3);D8)結(jié)束。在本發(fā)明所述的構(gòu)造拓撲樹的方法中,在所述步驟D5)中,當(dāng)所述父節(jié)點指針為nil時,該新建網(wǎng)元節(jié)點為根節(jié)點。實施本發(fā)明的在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法,具有以下有益效果由于拓撲樹的結(jié)構(gòu)可由用戶自己設(shè)定,且用戶可選擇與自己相關(guān)聯(lián)的拓撲樹結(jié)構(gòu),同時也由于設(shè)置了拓撲樹節(jié)點數(shù)據(jù)集,且在每創(chuàng)建一個網(wǎng)絡(luò)節(jié)點時均將相應(yīng)數(shù)據(jù)放入拓撲樹節(jié)點數(shù)據(jù)集中,所以用本方法構(gòu)造的拓撲樹結(jié)構(gòu)豐富、搜索性能好。下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中圖1是本發(fā)明一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法實施例的流程圖;圖2是本發(fā)明實施例中讀取數(shù)據(jù)創(chuàng)建拓撲樹節(jié)點數(shù)據(jù)集步驟的流程圖;圖3本發(fā)明實施例中按拓撲樹結(jié)構(gòu)展開網(wǎng)元數(shù)據(jù)的流程圖。具體實施方式以下用一個在通信中的直放站管理系統(tǒng)中實現(xiàn)本發(fā)明的方法作為實施例,具體說明本發(fā)明的具體實施方式。如圖1所示,在本發(fā)明在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法實施例中,包括如下步驟Sll根據(jù)網(wǎng)元屬性數(shù)據(jù),定義拓撲樹結(jié)構(gòu),保存于服務(wù)器數(shù)據(jù)庫中在本步驟中服務(wù)器收集與其通過網(wǎng)絡(luò)相連的被管理設(shè)備的各種屬性,如所屬地區(qū)、設(shè)備類型、供應(yīng)商、代維廠商、功率、使用狀態(tài)、運行狀態(tài)等等,這些屬性的總和構(gòu)成網(wǎng)元屬性數(shù)據(jù);另外,用戶需要定義在本系統(tǒng)中使用的拓撲樹的結(jié)構(gòu),包括對拓撲樹的描述和拓撲樹的構(gòu)成,在本實施例中,對拓撲樹的描述為樹編號加上樹名稱,即用兩個字段來描述拓撲樹,第一個是變量樹編號,第二個是變量樹名稱;(本文中凡是被符號標(biāo)記的均為變量,即存儲在計算機中的一個或多個字節(jié),以后不再特別標(biāo)明。)本實施例中對拓撲樹結(jié)構(gòu)的定義是樹編號節(jié)點層次網(wǎng)元屬性。其中網(wǎng)元屬性必須是直放站設(shè)備具備的屬性,即只能從直放站設(shè)備屬性中選取。在本實施例中,我們定義一個"廠商拓撲"樹,其主要結(jié)構(gòu)為"中心一廠商一地區(qū)一邏輯站"。S12關(guān)聯(lián)用戶與至少一個拓撲樹結(jié)構(gòu)設(shè)置用戶登錄時可以顯示的拓撲樹結(jié)構(gòu),其關(guān)聯(lián)方式為用戶編號樹編號顯示順序。由于允許一個用戶同時顯示多棵拓撲樹,所以如果一個用戶設(shè)置要同時顯示多棵樹,則需要設(shè)置顯示順序。S13讀取網(wǎng)元數(shù)據(jù)及被關(guān)聯(lián)的拓撲樹結(jié)構(gòu)數(shù)據(jù),創(chuàng)建網(wǎng)元數(shù)據(jù)集和拓撲樹節(jié)點數(shù)據(jù)集在本步驟中,用戶于客戶端或服務(wù)器登錄后系統(tǒng)自動調(diào)出在步驟S11和S12中存儲或定義的數(shù)據(jù),并利用這些數(shù)據(jù),生成網(wǎng)元數(shù)據(jù)集和拓撲樹節(jié)點數(shù)據(jù)集,在本實施例中,用戶是由客戶端登錄后,從服務(wù)器的數(shù)據(jù)庫讀回上述數(shù)據(jù)的,且這些數(shù)據(jù)暫存在客戶端的內(nèi)存中。S14按設(shè)定構(gòu)造將網(wǎng)元數(shù)據(jù)展開為樹型結(jié)構(gòu),并在展開過程中對應(yīng)每個網(wǎng)絡(luò)節(jié)點,在拓撲樹節(jié)點數(shù)據(jù)集中加入相應(yīng)數(shù)據(jù)按照前面步驟得到的數(shù)據(jù),根據(jù)調(diào)出的用戶的設(shè)定,將由服務(wù)器端讀取的網(wǎng)元數(shù)據(jù)展開為樹型,并在上述展開過程中在每一次建立節(jié)點時,將相應(yīng)的數(shù)據(jù)存入上述的拓撲樹節(jié)點數(shù)據(jù)集中,從而可以在需要的時候迅速査到在展開的樹型網(wǎng)元數(shù)據(jù)中該節(jié)點的位置。如圖2所示,在本實施例中,步驟S13進一步包括如下步驟S21讀取網(wǎng)元數(shù)據(jù)客戶端讀取保存在服務(wù)器數(shù)據(jù)庫中的網(wǎng)元數(shù)據(jù),并以一數(shù)據(jù)集的形式保存在客戶端的內(nèi)存中。S22讀取被關(guān)聯(lián)的拓撲樹結(jié)構(gòu):客戶端根據(jù)步驟S12中設(shè)定的用戶與拓撲樹的關(guān)聯(lián)關(guān)系,讀取保存在服務(wù)器數(shù)據(jù)庫中的拓撲樹結(jié)構(gòu),并式保存在客戶端的內(nèi)存中;當(dāng)步驟S12中的關(guān)聯(lián)關(guān)系中包括顯示順序時,還要按顯示順序讀取多個拓撲樹結(jié)構(gòu)。S23創(chuàng)建網(wǎng)元數(shù)據(jù)索引并排序網(wǎng)元數(shù)據(jù),得到網(wǎng)元數(shù)據(jù)集將上述存儲在客戶端的網(wǎng)元數(shù)據(jù)按要顯示的樹結(jié)構(gòu)建立索引,索引為節(jié)點層次l網(wǎng)元屬性+節(jié)點層次2網(wǎng)元屬性+…+節(jié)點層次N網(wǎng)元屬性,在得到該索引后,將網(wǎng)元數(shù)據(jù)按該索引重新排序,從而得到網(wǎng)元數(shù)據(jù)集。S24創(chuàng)建網(wǎng)元結(jié)構(gòu)對象鏈表構(gòu)造一個網(wǎng)元結(jié)構(gòu)對象鏈表,將網(wǎng)元結(jié)構(gòu)封裝成對象,壓入該網(wǎng)元結(jié)構(gòu)對象鏈表,網(wǎng)元結(jié)構(gòu)對象在該鏈表中是按要顯示的拓撲樹結(jié)構(gòu)定義的節(jié)點層次排序的。網(wǎng)元結(jié)構(gòu)對象包含屬性為樹編號節(jié)點層次網(wǎng)元屬性節(jié)點指針父節(jié)點指針上一值。初始化鏈表中所有網(wǎng)元結(jié)構(gòu)對象的節(jié)點指針與父節(jié)點指針為nil,上一值設(shè)為一個特殊初始值,此特殊值必須保證不會出現(xiàn)在設(shè)備的屬性值中。S25創(chuàng)建拓撲樹節(jié)點數(shù)據(jù)集動態(tài)創(chuàng)建一個空的內(nèi)存數(shù)據(jù)集,即拓撲樹節(jié)點數(shù)據(jù)集,其結(jié)構(gòu)為網(wǎng)元屬性名,網(wǎng)元屬性值,樹節(jié)點對象指針。其主要作用是供快速搜索定位樹節(jié)點用。此時,其數(shù)據(jù)為空。同樣,在本實施例中步驟S14進一步包括如下步驟S301設(shè)置網(wǎng)元數(shù)據(jù)指針和網(wǎng)元結(jié)構(gòu)對象指針及其初始值,其中網(wǎng)元數(shù)據(jù)指針是指當(dāng)前處理的網(wǎng)元數(shù)據(jù)是處于上述網(wǎng)元結(jié)構(gòu)數(shù)據(jù)集中的位置,網(wǎng)元結(jié)構(gòu)對象指針是指當(dāng)前處理的網(wǎng)元結(jié)構(gòu)對象在其所在的網(wǎng)元結(jié)構(gòu)鏈表中的位置(在網(wǎng)元結(jié)構(gòu)對象鏈表中,網(wǎng)元結(jié)構(gòu)對象是按要顯示的拓撲樹結(jié)構(gòu)定義的節(jié)點層次排序的);其初始值分別表示其起始位置,在本實施例中,網(wǎng)元數(shù)據(jù)指針的初始值指向網(wǎng)元數(shù)據(jù)集的第一行,網(wǎng)元結(jié)構(gòu)對象指針的初始值為0,指向網(wǎng)元結(jié)構(gòu)對象鏈表的排在第一的網(wǎng)元結(jié)構(gòu)對象。S302.是否完成網(wǎng)元數(shù)據(jù)遍歷?判斷是否完成網(wǎng)元數(shù)據(jù)的遍歷,如是,表示拓撲樹己構(gòu)造完畢,執(zhí)行步驟S311;如否,執(zhí)行步驟S304。S303網(wǎng)元數(shù)據(jù)指針加一將網(wǎng)元數(shù)據(jù)指針加一指向下一行,并返回執(zhí)行步驟S302S304是否完成網(wǎng)元結(jié)構(gòu)對象鏈表的遍歷?判斷是否完成網(wǎng)元結(jié)構(gòu)對象的遍歷,如是,表明當(dāng)前網(wǎng)元數(shù)據(jù)指針?biāo)赶虻木W(wǎng)元數(shù)據(jù)已處理完畢,轉(zhuǎn)而執(zhí)行步驟S303;如否,執(zhí)行步驟S306。S306得到名為網(wǎng)元屬性值的字段值及網(wǎng)元結(jié)構(gòu)中的上一值在本步驟中,首先從網(wǎng)元結(jié)構(gòu)對象中得到網(wǎng)元屬性,設(shè)其值為P1;之后,在網(wǎng)元數(shù)據(jù)集中取出當(dāng)前行中字段名為P1的字段值,設(shè)其值為V1;同時,從該網(wǎng)元結(jié)構(gòu)對象中得到上一值,設(shè)其值為V2。S307比較上述二值同否比較上述的VI和V2,如果二者不等,則執(zhí)行S308;否則跳到步驟S310繼續(xù)執(zhí)行。S308新建一網(wǎng)元節(jié)點,設(shè)置其屬性及該網(wǎng)元結(jié)構(gòu)對象鏈表中在其之后的網(wǎng)元對象的父節(jié)點指針在拓撲樹上新建一個網(wǎng)元節(jié)點,其父節(jié)點為網(wǎng)元結(jié)構(gòu)對象中的父節(jié)點指針。然后將當(dāng)前網(wǎng)元結(jié)構(gòu)對象的上一值中的字段值V2用字段值VI替換。將網(wǎng)元結(jié)構(gòu)對象鏈表中從K+l開始的網(wǎng)元結(jié)構(gòu)對象的父節(jié)點指針全指向新建節(jié)點,上一值則全部置為初始值。S309向拓撲樹節(jié)點數(shù)據(jù)集中插入新建節(jié)點數(shù)據(jù)往上述拓撲樹節(jié)點數(shù)據(jù)集中插入一行數(shù)據(jù),其中網(wǎng)元屬性名等于P1,網(wǎng)元屬性值等于V1,樹節(jié)點對象指針指向新建節(jié)點。S310網(wǎng)元結(jié)構(gòu)對象在其鏈表中的位置加1:將網(wǎng)元結(jié)構(gòu)對象在其鏈表中的位置向后推一位,即將K變?yōu)镵+1,進而執(zhí)行步驟S304。S311結(jié)束下面用表格的形式具體說明在執(zhí)行過程中網(wǎng)元結(jié)構(gòu)對象鏈表的變化在執(zhí)行步驟S23后,得到網(wǎng)元數(shù)據(jù)集如下表-中心供應(yīng)商地區(qū)邏輯站...網(wǎng)管中心國人福田CI景X酒店網(wǎng)管中心國人福田CI藍X石家園網(wǎng)管中心國人羅湖CI名X大廈網(wǎng)管中心京x福田CI筆x山山莊在執(zhí)行步驟S24后,得到網(wǎng)元結(jié)構(gòu)對象鏈表如下:樹編號節(jié)點層次網(wǎng)元屬性父節(jié)點指針上一值11中心nilNULL12供應(yīng)商nilNULL13地區(qū)nilNULL14邏輯站nilNULL在執(zhí)行步驟S25后,得到拓撲樹節(jié)點數(shù)據(jù)集如下:網(wǎng)元屬性名網(wǎng)元屬性值樹節(jié)點指針在執(zhí)行步驟301后,網(wǎng)元數(shù)據(jù)指針指向網(wǎng)元數(shù)據(jù)的第一行,網(wǎng)元結(jié)構(gòu)對象指針指向網(wǎng)元結(jié)構(gòu)對象鏈表中的第一個網(wǎng)元結(jié)構(gòu)數(shù)據(jù),即節(jié)點層次為1的網(wǎng)元結(jié)構(gòu)對象。在步驟S306中,根據(jù)上述網(wǎng)元結(jié)構(gòu)對象鏈表可以得到P1為"中心";VI為上述網(wǎng)元數(shù)據(jù)集中當(dāng)前行中字段名為"中心"的值"網(wǎng)管中心";V2為NULL。在步驟S308中,新建一個樹節(jié)點N(網(wǎng)管中心)(以下用N(XX)代替所有新建節(jié)點);由于表5中的父節(jié)點指針項為nil,故N(網(wǎng)管中心)為根節(jié)點;然后將上一值修改為"網(wǎng)管中心"。將網(wǎng)元結(jié)構(gòu)對象鏈表中從K+l開始的網(wǎng)元結(jié)構(gòu)對象的父節(jié)點指針全指向新建節(jié)點,上一值全置為初始值。執(zhí)行完本步后,網(wǎng)元結(jié)構(gòu)對象鏈表中的數(shù)據(jù)變得如下表<table>tableseeoriginaldocumentpage13</column></row><table>向拓撲樹節(jié)點數(shù)據(jù)集中插入一行相應(yīng)數(shù)據(jù),拓撲樹節(jié)點數(shù)據(jù)集變?yōu)?網(wǎng)元屬性名網(wǎng)元屬性值樹節(jié)點指針中心網(wǎng)管中心樹節(jié)點N(網(wǎng)管中心)地址指針至此,網(wǎng)元結(jié)構(gòu)對象鏈表中的第一個網(wǎng)元結(jié)構(gòu)對象處理完成,在步驟S310,網(wǎng)元結(jié)構(gòu)對象指針加l,執(zhí)行步驟S304—S309,于是,網(wǎng)元結(jié)構(gòu)對象鏈表和拓撲樹節(jié)點數(shù)據(jù)集分別變?yōu)?<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>處理網(wǎng)元結(jié)構(gòu)對象鏈表中余下的網(wǎng)元結(jié)構(gòu)對象,網(wǎng)元結(jié)構(gòu)對象鏈表變?yōu)?<table>tableseeoriginaldocumentpage13</column></row><table>至此,網(wǎng)元數(shù)據(jù)集中第一行處理完畢,執(zhí)行步驟S303,網(wǎng)元數(shù)據(jù)指針加1,指向網(wǎng)元數(shù)據(jù)集中的第二行,重復(fù)執(zhí)行上述步驟后,得到網(wǎng)元結(jié)構(gòu)對象鏈表如下:<table>tableseeoriginaldocumentpage14</column></row><table>同樣,處理網(wǎng)元數(shù)據(jù)集第三行后,得到網(wǎng)元結(jié)構(gòu)對象鏈表數(shù)據(jù)如下:<table>tableseeoriginaldocumentpage14</column></row><table>類似地,處理網(wǎng)元數(shù)據(jù)集中第四行數(shù)據(jù)時,由于供應(yīng)商變化,故需新建供應(yīng)商節(jié)點。此時網(wǎng)元結(jié)構(gòu)對象鏈表數(shù)據(jù)變?yōu)?lt;table>tableseeoriginaldocumentpage14</column></row><table>然后由于地區(qū)的上一值被重置,地區(qū)節(jié)點又需要新建,不過此次新建的地區(qū)節(jié)點的上級節(jié)點為N(京X)。最后新建邏輯站節(jié)點。于是網(wǎng)元數(shù)據(jù)集中整個4行數(shù)據(jù)就處理完畢。由于每新建一個節(jié)點,都會往內(nèi)存表拓撲樹節(jié)點數(shù)據(jù)集中加入一行數(shù)據(jù)。因此當(dāng)用戶有需要査找定位某節(jié)點時,只需在此內(nèi)存表中搜索,就可迅速得到該節(jié)點指針,效率較高。雖然以上描述本發(fā)明的具體實施方式,但本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)知道,這些僅為舉例說明,可以對這些實施方式做出多種變更或修改,而不背離本發(fā)明的原理和實質(zhì)。權(quán)利要求1、一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法,其特征在于,包括如下步驟A)根據(jù)相連的被管理設(shè)備的屬性數(shù)據(jù),定義拓撲樹結(jié)構(gòu),并保存于所述服務(wù)器數(shù)據(jù)庫中;B)使用戶與至少一個拓撲樹結(jié)構(gòu)相關(guān)聯(lián);C)從服務(wù)器數(shù)據(jù)庫中讀取網(wǎng)元數(shù)據(jù)及被關(guān)聯(lián)的拓撲樹結(jié)構(gòu)數(shù)據(jù),并創(chuàng)建拓撲樹節(jié)點數(shù)據(jù)集;D)按定義的拓撲樹結(jié)構(gòu)構(gòu)造拓撲樹,在構(gòu)造過程中對應(yīng)每個節(jié)點,在拓撲樹節(jié)點數(shù)據(jù)集中加入相應(yīng)數(shù)據(jù),用于快速定位所述拓撲樹的節(jié)點。2、根據(jù)權(quán)利要求1所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟A)進一步包括如下步驟Al)定義對拓撲樹的描述,包括樹編號、樹名稱;A2)定義拓撲樹的結(jié)構(gòu),包括樹編號、節(jié)點層次、網(wǎng)元屬性。3、根據(jù)權(quán)利要求2所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟A2)中的網(wǎng)元屬性包括被管理設(shè)備所有其具有的屬性。4、根據(jù)權(quán)利要求1所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟B)中關(guān)聯(lián)方式包括用戶編號、樹編號、顯示順序。5、根據(jù)權(quán)利要求1所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟C)中所述的拓撲樹節(jié)點數(shù)據(jù)集所包含的數(shù)據(jù)包括網(wǎng)元屬性名、網(wǎng)元屬性值以及樹節(jié)點對象指針。6、根據(jù)權(quán)利要求5所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟C)進一步包括如下步驟-Cl)根據(jù)所述拓撲樹結(jié)構(gòu),創(chuàng)建網(wǎng)元數(shù)據(jù)索引,將讀取的網(wǎng)元數(shù)據(jù)按所述索引排序,得到網(wǎng)元數(shù)據(jù)集;C2)創(chuàng)建網(wǎng)元結(jié)構(gòu)對象鏈表。7、根據(jù)權(quán)利要求6所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟Cl)中所述的網(wǎng)元數(shù)據(jù)索引形式包括節(jié)點層次1網(wǎng)元屬性+節(jié)點層次2網(wǎng)元屬性+…+節(jié)點層次N網(wǎng)元屬性。8、根據(jù)權(quán)利要求7所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟C2)中所述的網(wǎng)元結(jié)構(gòu)的屬性包括樹編號、節(jié)點層次、網(wǎng)元屬性、節(jié)點指針、父節(jié)點指針和上一值。9、根據(jù)權(quán)利要求8所述的構(gòu)造拓撲樹的方法,其特征在于,所述步驟D)進一步包括如下步驟Dl)設(shè)置網(wǎng)元數(shù)據(jù)指針和網(wǎng)元結(jié)構(gòu)對象指針及其初始值;D2)判斷網(wǎng)元數(shù)據(jù)集中的網(wǎng)元數(shù)據(jù)是否遍歷完成,如完成,則表示完成拓撲樹的構(gòu)造,執(zhí)行步驟D7);如未完成,執(zhí)行步驟D2);D3)判斷網(wǎng)元結(jié)構(gòu)對象鏈表中的網(wǎng)元結(jié)構(gòu)對象是否遍歷完畢,如是,網(wǎng)元數(shù)據(jù)指針加l,并執(zhí)行步驟D2),如否,執(zhí)行下一步D4);D4)從該網(wǎng)元結(jié)構(gòu)對象中得到網(wǎng)元屬性值,在網(wǎng)元數(shù)據(jù)集中取出當(dāng)前行中字段名為所述網(wǎng)元屬性值的字段值,與網(wǎng)元結(jié)構(gòu)對象中的上一值比較,如果不等,則執(zhí)行下一步驟D5),否則執(zhí)行步驟D7);D5)在樹上新建一個網(wǎng)元節(jié)點,其父節(jié)點為當(dāng)前網(wǎng)元結(jié)構(gòu)對象中的父節(jié)點指針,將當(dāng)前網(wǎng)元結(jié)構(gòu)對象的上一值用所述字段名為所述網(wǎng)元屬性值的字段值替換,將網(wǎng)元結(jié)構(gòu)對象鏈表中從網(wǎng)元結(jié)構(gòu)對象指針指向的網(wǎng)元結(jié)構(gòu)對象開始的父節(jié)點指針全指向此新建節(jié)點,上一值則全部設(shè)置為初始值;D6)向所述拓撲樹節(jié)點數(shù)據(jù)集中插入一行數(shù)據(jù),其網(wǎng)元屬性名為所述網(wǎng)元屬性值,網(wǎng)元屬性值為前行中字段名為所述網(wǎng)元屬性值的字段值,樹節(jié)點對象指針指向新建節(jié)點;D7)所述網(wǎng)元結(jié)構(gòu)對象指針加l,返回步驟E3);D8)結(jié)束。10、根據(jù)權(quán)利要求9所述的構(gòu)造拓撲樹的方法,其特征在于,在所述步驟D5)中,當(dāng)所述父節(jié)點指針為nil時,該新建網(wǎng)元節(jié)點為根節(jié)點。全文摘要本發(fā)明涉及一種在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法,包括如下步驟根據(jù)相連的被管理設(shè)備的屬性數(shù)據(jù),定義拓撲樹結(jié)構(gòu),并保存于所述服務(wù)器數(shù)據(jù)庫中;使用戶與至少一個拓撲樹結(jié)構(gòu)相關(guān)聯(lián);從服務(wù)器數(shù)據(jù)庫中讀取網(wǎng)元數(shù)據(jù)及被關(guān)聯(lián)的拓撲樹結(jié)構(gòu)數(shù)據(jù),并創(chuàng)建拓撲樹節(jié)點數(shù)據(jù)集;按定義的拓撲樹結(jié)構(gòu)構(gòu)造拓撲樹,在構(gòu)造過程中對應(yīng)每個節(jié)點,在拓撲樹節(jié)點數(shù)據(jù)集中加入相應(yīng)數(shù)據(jù),用于快速定位所述拓撲樹的節(jié)點。實施本發(fā)明的在服務(wù)器/客戶端結(jié)構(gòu)中構(gòu)造拓撲樹的方法,具有以下有益效果用本方法構(gòu)造的拓撲樹結(jié)構(gòu)豐富、搜索性能好。文檔編號H04L12/28GK101222391SQ20071007752公開日2008年7月16日申請日期2007年11月30日優(yōu)先權(quán)日2007年11月30日發(fā)明者彭宇環(huán),黃平剛申請人:深圳國人通信有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1