一種基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法
【專利摘要】本發(fā)明是有關(guān)于一種基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,包括以下步驟:1)根據(jù)設(shè)備的端口信息獲取拓撲圖模塊數(shù)據(jù);2)拓撲圖模塊獲取樹形;3)拓撲圖模塊搜尋子節(jié)點;4)物理拓撲圖模塊獲取環(huán)形;5)遞歸搜尋節(jié)點。本發(fā)明通過通信設(shè)備端口連接信息進行自動化、智能化邏輯關(guān)系成圖,依據(jù)設(shè)備端口類型,與關(guān)聯(lián)的設(shè)備相連接,自動化形成與實際相符的拓撲結(jié)構(gòu)圖,便于相關(guān)人員直觀便捷地查看其結(jié)構(gòu)特征,具有一定的智能性;并且通過遞歸搜索子節(jié)點、遞歸搜索環(huán)上節(jié)點等方法巧妙地解決了實際設(shè)備層次嵌套問題。
【專利說明】一種基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信與計算機領(lǐng)域,特別是涉及基于通信設(shè)備端口連接信息進行自動化、智能化邏輯關(guān)系成圖展示的方法。
【背景技術(shù)】
[0002]對通信運營商而言,根據(jù)自身各類正在使用的通信設(shè)備的槽位/端口間的實際連接情況進行自動化、智能化、可視化地展示設(shè)備間形成邏輯關(guān)系具有非常重要的意義。因為這樣,通信運營商可方便地了解各類設(shè)備的上下行關(guān)系、每一種設(shè)備所承載的業(yè)務(wù)情況(端口往往和承載的業(yè)務(wù)相關(guān)聯(lián))和整個設(shè)備網(wǎng)絡(luò)的各種拓撲關(guān)系(在實際的拓撲結(jié)構(gòu)中,主要表現(xiàn)為樹形、環(huán)形或者兩者的嵌套)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的缺陷,而提供一種基于通信設(shè)備端口連接信息進行自動化、智能化邏輯關(guān)系成圖展示的方法。
[0004]本實用新型的目的及解決其技術(shù)問題是采用以下的技術(shù)方案來實現(xiàn)的。依據(jù)本實用新型提出的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其包括以下步驟:
[0005]I)根據(jù)設(shè)備的端口信息獲取拓撲圖模塊數(shù)據(jù):先通過初始設(shè)備或點選的設(shè)備,通過其設(shè)備編碼獲得相應(yīng)類型的連接槽口,得到設(shè)備集合,并且遞歸得到子集合,從而獲取繪畫物理拓撲圖時所需要的數(shù)據(jù);
[0006]2)拓撲圖模塊獲取樹形:通過遞歸算法,通過初始設(shè)備或點選的設(shè)備,得到他的子節(jié)點設(shè)備,再遞歸查詢,獲得相關(guān)的所有子設(shè)備,從而形成樹形;
[0007]3)拓撲圖模塊搜尋子節(jié)點:通過遍歷該設(shè)備的所有端口,對相應(yīng)端口獲得對應(yīng)的設(shè)備信息,再遞歸得到該樹上所有子節(jié)點的信息;
[0008]4)物理拓撲圖模塊獲取環(huán)形:通過初始設(shè)備或點選的設(shè)備,得到他附近的節(jié)點,再遞歸查詢,獲得相關(guān)的所有節(jié)點,從而形成環(huán)形;
[0009]5)遞歸搜尋節(jié)點:通過遍歷該設(shè)備的所有端口,對相應(yīng)端口獲得對應(yīng)的設(shè)備信息,再遞歸得到該環(huán)上所有節(jié)點的信息。
[0010]本的目的以及解決其技術(shù)問題還可以采用以下的技術(shù)措施來進一步實現(xiàn)。
[0011]前述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其中步驟I)包括以下步驟:
[0012]1.1方法初始化
[0013]初始化包括:獲取設(shè)備的設(shè)備編號、網(wǎng)絡(luò)編號以及是否是頂環(huán)等數(shù)據(jù),依據(jù)設(shè)備編號獲取該設(shè)備的所有信息,并為樹形結(jié)構(gòu)根站點/設(shè)備、頂級環(huán)形結(jié)構(gòu)以及根站點的所屬站點開辟空間,為之后步驟準(zhǔn)備;
[0014]1.2判斷設(shè)備及頂級環(huán)形結(jié)構(gòu)是否存在
[0015]該步驟主要功能為檢測數(shù)據(jù)錯誤,對該設(shè)備是否存在進行判斷,若不存在,則獲取的數(shù)據(jù)有誤,方法停止;若存在,即判斷是否處于頂環(huán)狀態(tài),若是,則獲取所在環(huán)形結(jié)構(gòu)所有站點、設(shè)備數(shù)據(jù),方法結(jié)束,返回該數(shù)據(jù);若不是,則開始下一步驟;
[0016]1.3搜索獲取相關(guān)數(shù)據(jù)
[0017]該步驟獲取物理拓撲圖數(shù)據(jù):1)通過設(shè)備編碼,根據(jù)其端口類型搜索其樹形結(jié)構(gòu)獲取根站點數(shù)據(jù);2)通過設(shè)備編碼,根據(jù)其端口類型搜索其環(huán)形結(jié)構(gòu)站點,獲取上行站點為樹形根節(jié)點的環(huán)形結(jié)構(gòu)中所有站點設(shè)備數(shù)據(jù);3)判斷該設(shè)備是否出于同一個頂級環(huán)中;方法結(jié)束,返回數(shù)據(jù)。
[0018]前述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其中步驟2)包括以下步驟:
[0019]2.1方法初始化
[0020]初始化包括:獲取設(shè)備編碼的數(shù)據(jù),并通過該數(shù)據(jù)獲取其所在樹節(jié)點的站點信息,為以后的步驟做準(zhǔn)備;
[0021]2.2判斷是否存在樹形結(jié)構(gòu)
[0022]該步驟主要目的是判斷獲取的站點是否存在,若不存在,則設(shè)備編碼數(shù)據(jù)有誤,方法停止;若存在,則進行下一步驟;
[0023]2.3獲取所在樹的所有信息
[0024]該步驟獲取所處的整個樹形結(jié)構(gòu)的相關(guān)數(shù)據(jù):1)構(gòu)建一個搜索路徑,防止形成死遞歸;2)把當(dāng)前站點加入到搜索路徑中,并作為起始點;3)搜索下一級站點,遞歸得到所有子節(jié)點;方法結(jié)束,返回數(shù)據(jù)。
[0025]前述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其中步驟3)包括以下步驟:
[0026]3.1方法初始化
[0027]初始化包括:獲取父節(jié)點、深度以及搜索路徑等數(shù)據(jù)信息;并判斷搜索深度是否大于指定的最大深度,若超過則直接判斷末端是否還有子節(jié)點,方法停止;若沒有超過,則執(zhí)行下一步驟;
[0028]3.2遞歸獲取子節(jié)點
[0029]I)遍歷該節(jié)點的所有端口,判斷端口所在的設(shè)備是否在搜索路徑中出現(xiàn)過;2)若沒有出現(xiàn),獲取該節(jié)點的相關(guān)信息,并將當(dāng)前節(jié)點加到搜索路徑中,深度減一并開始遞歸下一級;3)該端口遞歸所有子節(jié)點結(jié)束后,把該節(jié)點加入父節(jié)點子域集合;
[0030]3.3設(shè)置父節(jié)點子域
[0031]判斷是否存在子節(jié)點,若存在,把遞歸獲取的所有子節(jié)點加入父節(jié)點的子域中,方法結(jié)束。
[0032]前述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其中步驟4)包括以下步驟:
[0033]4.1方法初始化
[0034]初始化包括:獲取設(shè)備編碼等數(shù)據(jù)信息,把該設(shè)備加入所定義的根路徑中,從而獲得連接到設(shè)備支路端口的環(huán)路節(jié)點;
[0035]4.2遍歷獲取環(huán)形數(shù)據(jù)
[0036]I)定義環(huán)列表,通過給出的一個頭列表獲得相應(yīng)的每個鏈;2)遍歷頭節(jié)點鏈表;3)把頭節(jié)點加入定義的節(jié)點環(huán)鏈中;4)遞歸搜索環(huán)上節(jié)點,并檢查其是否在環(huán)鏈中存在,是則將該鏈表添加進根路徑列表,否則開始遍歷下一個頭節(jié)點鏈表;5)遍歷結(jié)束,返回數(shù)據(jù),方法結(jié)束。
[0037]前述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其中步驟5)包括以下步驟:
[0038]5.1方法初始化
[0039]初始化包括:循環(huán)節(jié)點鏈、深度、根路徑數(shù)據(jù)信息,并定義鏈表長度、節(jié)點鏈的最后一個節(jié)點以及是否有節(jié)點的字段,供之后的步驟準(zhǔn)備;
[0040]5.2遞歸搜索環(huán)上節(jié)點
[0041]I)判斷深度是否過界,若滿足則開始遍歷根節(jié)點編碼值集合;2)判斷當(dāng)前節(jié)點編碼值是否是最后一個節(jié)點,不是繼續(xù)循環(huán)遍歷,是則保存該節(jié)點并跳出遍歷;3)判斷鏈長是否大于1,是則父節(jié)點移動至倒數(shù)第二個節(jié)點;4)獲取相鄰的環(huán)路節(jié)點,并判斷下一個節(jié)點編碼是否為空,不為空則將將下一個節(jié)點編碼值賦予設(shè)備編碼;5)判斷該編碼是否存在于根路徑中,是則通過設(shè)備編碼從數(shù)據(jù)庫中獲取相應(yīng)的數(shù)據(jù)信息,并在節(jié)點鏈添加該節(jié)點,重新定義搜索路徑,把根路徑和該節(jié)點添加至搜索路徑中;6)遞歸下一級,直至到達深度,返回數(shù)據(jù),停止方法。
[0042]借由上述技術(shù)方案,本發(fā)明至少具有下列優(yōu)點:
[0043](I)自動成圖。通過通信設(shè)備端口連接信息進行自動化、智能化邏輯關(guān)系成圖,依據(jù)設(shè)備端口類型,與關(guān)聯(lián)的設(shè)備相連接,自動化形成與實際相符的拓撲結(jié)構(gòu)圖,便于相關(guān)人員直觀便捷地查看其結(jié)構(gòu)特征,具有一定的智能性。
[0044](2)通過遞歸搜索子節(jié)點、遞歸搜索環(huán)上節(jié)點等方法巧妙地解決了實際設(shè)備層次嵌套問題。依據(jù)通信設(shè)備不同的端口類型,把設(shè)備、站點依據(jù)不同類型連接成樹形或環(huán)形,實現(xiàn)了繪制與實際相符的拓撲圖所需的多樣性。
【專利附圖】
【附圖說明】
[0045]圖1是獲取物理拓撲圖數(shù)據(jù)流程圖;
[0046]圖2是獲得樹形方法的流程圖;
[0047]圖3是遞歸搜尋子節(jié)點流程圖;
[0048]圖4是獲得環(huán)形流程圖;
[0049]圖5是遞歸搜索環(huán)上節(jié)點流程圖。
【具體實施方式】
[0050]以下結(jié)合附圖和實施例,對本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點作更詳細的說明。
[0051]本發(fā)明提出的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法包括以下步驟:
[0052]1、根據(jù)設(shè)備的端口信息獲取拓撲圖模塊數(shù)據(jù)獲取方法
[0053]拓撲圖模塊數(shù)據(jù)獲取方法可實現(xiàn)遞歸對拓撲圖數(shù)據(jù)的獲取。拓撲圖中各個設(shè)備時通過不同種類的槽口進行連接成樹形、環(huán)形或環(huán)樹混合型。先通過初始設(shè)備或點選的設(shè)備,通過其設(shè)備編碼獲得相應(yīng)類型的連接槽口,得到設(shè)備集合,并且遞歸得到子集合,從而獲取繪畫物理拓撲圖時所需要的數(shù)據(jù),在一實施例中,如圖1獲取物理拓撲圖數(shù)據(jù)。
[0054]如圖1所示,在該實施例中,該方法實現(xiàn)步驟,如下:
[0055]步驟一方法初始化
[0056]初始化包括:獲取設(shè)備的設(shè)備編號、網(wǎng)絡(luò)編號以及是否是頂環(huán)等數(shù)據(jù),依據(jù)設(shè)備編號獲取該設(shè)備的所有信息,并為樹形結(jié)構(gòu)根站點/設(shè)備、頂級環(huán)形結(jié)構(gòu)以及根站點的所屬站點開辟空間,為之后步驟準(zhǔn)備。
[0057]步驟二判斷設(shè)備及頂級環(huán)形結(jié)構(gòu)是否存在
[0058]該步驟主要功能為檢測數(shù)據(jù)錯誤。對該設(shè)備是否存在進行判斷,若不存在,則獲取的數(shù)據(jù)有誤,方法停止;若存在,即判斷是否處于頂環(huán)狀態(tài),若是,則獲取所在環(huán)形結(jié)構(gòu)所有站點、設(shè)備數(shù)據(jù),方法結(jié)束,返回該數(shù)據(jù);若不是,則開始下一步驟。
[0059]步驟三搜索獲取相關(guān)數(shù)據(jù)
[0060]該步驟獲取物理拓撲圖數(shù)據(jù):1)通過設(shè)備編碼,根據(jù)其端口類型搜索其樹形結(jié)構(gòu)獲取根站點數(shù)據(jù);2)通過設(shè)備編碼,根據(jù)其端口類型搜索其環(huán)形結(jié)構(gòu)站點,獲取上行站點為樹形根節(jié)點的環(huán)形結(jié)構(gòu)中所有站點設(shè)備數(shù)據(jù);3)判斷該設(shè)備是否出于同一個頂級環(huán)中。方法結(jié)束,返回數(shù)據(jù)。
[0061]2、拓撲圖模塊獲取樹形方法
[0062]在拓撲圖模塊中,對槽位的上下關(guān)系的表示,使用樹形是最好的方法。所以物理拓撲圖模塊獲取樹形方法主要是通過遞歸算法,通過初始設(shè)備或點選的設(shè)備,得到他的子節(jié)點設(shè)備,再遞歸查詢,獲得相關(guān)的所有子設(shè)備,從而形成樹形。在一實施例中,如圖2獲得樹形。
[0063]如圖2所示,在該實施例中,該方法實現(xiàn)步驟,如下:
[0064]步驟一方法初始化
[0065]初始化包括:獲取設(shè)備編碼的數(shù)據(jù),并通過該數(shù)據(jù)獲取其所在樹節(jié)點的站點信息。為以后的步驟做準(zhǔn)備。
[0066]步驟二判斷是否存在樹形結(jié)構(gòu)
[0067]該步驟主要目的是判斷獲取的站點是否存在,若不存在,則設(shè)備編碼數(shù)據(jù)有誤,方法停止;若存在,則進行下一步驟。
[0068]步驟三獲取所在樹的所有信息
[0069]該步驟獲取所處的整個樹形結(jié)構(gòu)的相關(guān)數(shù)據(jù):1)構(gòu)建一個搜索路徑,防止形成死遞歸;2)把當(dāng)前站點加入到搜索路徑中,并作為起始點;3)搜索下一級站點,遞歸得到所有子節(jié)點。方法結(jié)束,返回數(shù)據(jù)。
[0070]3、拓撲圖模塊搜尋子節(jié)點方法
[0071]遞歸搜尋子節(jié)點,是通過遍歷該設(shè)備的所有端口,對相應(yīng)端口獲得對應(yīng)的設(shè)備信息,在遞歸的到該樹上所有子節(jié)點的信息,在一實施例中,如圖3遞歸得到子節(jié)點。
[0072]如圖3所示,在該實施例中,實現(xiàn)步驟,如下:
[0073]步驟一方法初始化
[0074]初始化包括:獲取父節(jié)點、深度以及搜索路徑等數(shù)據(jù)信息。并判斷搜索深度是否大于指定的最大深度,若超過則直接判斷末端是否還有子節(jié)點,方法停止;若沒有超過,則執(zhí)行下一步驟。
[0075]步驟二遞歸獲取子節(jié)點
[0076]I)遍歷該節(jié)點的所有端口,判斷端口所在的設(shè)備是否在搜索路徑中出現(xiàn)過;2)若沒有出現(xiàn),獲取該節(jié)點的相關(guān)信息,并將當(dāng)前節(jié)點加到搜索路徑中,深度減一并開始遞歸下一級;3)該端口遞歸所有子節(jié)點結(jié)束后,把該節(jié)點加入父節(jié)點子域集合。
[0077]步驟三設(shè)置父節(jié)點子域
[0078]判斷是否存在子節(jié)點,若存在,把遞歸獲取的所有子節(jié)點加入父節(jié)點的子域中,方法結(jié)束。
[0079]4、物理拓撲圖模塊獲取環(huán)形方法
[0080]在拓撲圖模塊中,對槽位的左右關(guān)系的表示,使用環(huán)形是最好的方法。所以物理拓撲圖模塊獲取環(huán)形方法主要是通過遞歸,通過初始設(shè)備或點選的設(shè)備,得到他附近的節(jié)點,在遞歸查詢,獲得相關(guān)的所有節(jié)點,從而形成環(huán)形。在一實施例中,如圖4獲得環(huán)形。
[0081]如圖4所示,在該實施例中,實現(xiàn)步驟,如下:
[0082]步驟一方法初始化
[0083]初始化包括:獲取設(shè)備編碼等數(shù)據(jù)信息,把該設(shè)備加入所定義的根路徑中,從而獲得連接到設(shè)備支路端口的環(huán)路節(jié)點。
[0084]步驟二遍歷獲取環(huán)形數(shù)據(jù)
[0085]I)定義環(huán)列表,通過給出的一個頭列表獲得相應(yīng)的每個鏈;2)遍歷頭節(jié)點鏈表;
3)把頭節(jié)點加入定義的節(jié)點環(huán)鏈中;4)遞歸搜索環(huán)上節(jié)點,并檢查其是否在環(huán)鏈中存在,是則將該鏈表添加進根路徑列表,否則開始遍歷下一個頭節(jié)點鏈表。5)遍歷結(jié)束,返回數(shù)據(jù),方法結(jié)束。
[0086]5、遞歸搜尋節(jié)點方法
[0087]遞歸搜尋節(jié)點,是通過遍歷該設(shè)備的所有端口,對相應(yīng)端口獲得對應(yīng)的設(shè)備信息,在遞歸的到該環(huán)上所有節(jié)點的信息,在一實施例中,如圖5遞歸搜索環(huán)上節(jié)點。
[0088]在該實施例中,實現(xiàn)方法如下:
[0089]步驟一方法初始化
[0090]初始化包括:循環(huán)節(jié)點鏈、深度、根路徑數(shù)據(jù)信息,并定義鏈表長度、節(jié)點鏈的最后一個節(jié)點以及是否有節(jié)點的字段,供之后的步驟準(zhǔn)備。
[0091]步驟二遞歸搜索環(huán)上節(jié)點
[0092]I)判斷深度是否過界,若滿足則開始遍歷根節(jié)點編碼值集合;2)判斷當(dāng)前節(jié)點編碼值是否是最后一個節(jié)點,不是繼續(xù)循環(huán)遍歷,是則保存該節(jié)點并跳出遍歷;3)判斷鏈長是否大于1,是則父節(jié)點移動至倒數(shù)第二個節(jié)點;4)獲取相鄰的環(huán)路節(jié)點,并判斷下一個節(jié)點編碼是否為空,不為空則將將下一個節(jié)點編碼值賦予設(shè)備編碼;5)判斷該編碼是否存在于根路徑中,是則通過設(shè)備編碼從數(shù)據(jù)庫中獲取相應(yīng)的數(shù)據(jù)信息,并在節(jié)點鏈添加該節(jié)點,重新定義搜索路徑,把根路徑和該節(jié)點添加至搜索路徑中;6)遞歸下一級,直至到達深度,返回數(shù)據(jù),停止方法。
[0093]以上所述的實施例僅僅是對本發(fā)明的優(yōu)選實施方式進行描述,并非對本發(fā)明的范圍進行限定,在不脫離本發(fā)明設(shè)計精神的前提下,本領(lǐng)域普通技術(shù)人員對本發(fā)明的技術(shù)方案作出的各種變形和改進,均應(yīng)落入本發(fā)明權(quán)利要求書確定的保護范圍內(nèi)。
【權(quán)利要求】
1.一種基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其特征在于包括以下步驟: 1)根據(jù)設(shè)備的端口信息獲取拓撲圖模塊數(shù)據(jù):先通過初始設(shè)備或點選的設(shè)備,通過其設(shè)備編碼獲得相應(yīng)類型的連接槽口,得到設(shè)備集合,并且遞歸得到子集合,從而獲取繪畫物理拓撲圖時所需要的數(shù)據(jù); 2)拓撲圖模塊獲取樹形:通過遞歸算法,通過初始設(shè)備或點選的設(shè)備,得到他的子節(jié)點設(shè)備,再遞歸查詢,獲得相關(guān)的所有子設(shè)備,從而形成樹形; 3)拓撲圖模塊搜尋子節(jié)點:通過遍歷該設(shè)備的所有端口,對相應(yīng)端口獲得對應(yīng)的設(shè)備信息,再遞歸得到該樹上所有子節(jié)點的信息; 4)物理拓撲圖模塊獲取環(huán)形:通過初始設(shè)備或點選的設(shè)備,得到他附近的節(jié)點,再遞歸查詢,獲得相關(guān)的所有節(jié)點,從而形成環(huán)形; 5)遞歸搜尋節(jié)點:通過遍歷該設(shè)備的所有端口,對相應(yīng)端口獲得對應(yīng)的設(shè)備信息,再遞歸得到該環(huán)上所有節(jié)點的信息。
2.如權(quán)利要求1所述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其特征在于步驟1)包括以下步驟: 1.1方法初始化 初始化包括:獲取設(shè)備的設(shè)備編號、網(wǎng)絡(luò)編號以及是否是頂環(huán)等數(shù)據(jù),依據(jù)設(shè)備編號獲取該設(shè)備的所有信息,并為樹形結(jié)構(gòu)根站點/設(shè)備、頂級環(huán)形結(jié)構(gòu)以及根站點的所屬站點開辟空間,為之后步驟準(zhǔn)備; 1.2判斷設(shè)備及頂級環(huán)形結(jié)構(gòu)是否存在 該步驟主要功能為檢測數(shù)據(jù)錯誤,對該設(shè)備是否存在進行判斷,若不存在,則獲取的數(shù)據(jù)有誤,方法停止;若存在,即判斷是否處于頂環(huán)狀態(tài),若是,則獲取所在環(huán)形結(jié)構(gòu)所有站點、設(shè)備數(shù)據(jù),方法結(jié)束,返回該數(shù)據(jù);若不是,則開始下一步驟; 1.3搜索獲取相關(guān)數(shù)據(jù) 該步驟獲取物理拓撲圖數(shù)據(jù):1)通過設(shè)備編碼,根據(jù)其端口類型搜索其樹形結(jié)構(gòu)獲取根站點數(shù)據(jù);2)通過設(shè)備編碼,根據(jù)其端口類型搜索其環(huán)形結(jié)構(gòu)站點,獲取上行站點為樹形根節(jié)點的環(huán)形結(jié)構(gòu)中所有站點設(shè)備數(shù)據(jù);3)判斷該設(shè)備是否出于同一個頂級環(huán)中;方法結(jié)束,返回數(shù)據(jù)。
3.如權(quán)利要求1所述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其特征在于步驟2)包括以下步驟: . 2.1方法初始化 初始化包括:獲取設(shè)備編碼的數(shù)據(jù),并通過該數(shù)據(jù)獲取其所在樹節(jié)點的站點信息,為以后的步驟做準(zhǔn)備; .2.2判斷是否存在樹形結(jié)構(gòu) 該步驟主要目的是判斷獲取的站點是否存在,若不存在,則設(shè)備編碼數(shù)據(jù)有誤,方法停止;若存在,則進行下一步驟; . 2.3獲取所在樹的所有信息 該步驟獲取所處的整個樹形結(jié)構(gòu)的相關(guān)數(shù)據(jù):I)構(gòu)建一個搜索路徑,防止形成死遞歸;2)把當(dāng)前站點加入到搜索路徑中,并作為起始點;3)搜索下一級站點,遞歸得到所有子節(jié)點;方法結(jié)束,返回數(shù)據(jù)。
4.如權(quán)利要求1所述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其特征在于步驟3)包括以下步驟: .3.1方法初始化 初始化包括:獲取父節(jié)點、深度以及搜索路徑等數(shù)據(jù)信息;并判斷搜索深度是否大于指定的最大深度,若超過則直接判斷末端是否還有子節(jié)點,方法停止;若沒有超過,則執(zhí)行下一步驟; . 3.2遞歸獲取子節(jié)點 . 1)遍歷該節(jié)點的所有端口,判斷端口所在的設(shè)備是否在搜索路徑中出現(xiàn)過;2)若沒有出現(xiàn),獲取該節(jié)點的相關(guān)信息,并將當(dāng)前節(jié)點加到搜索路徑中,深度減一并開始遞歸下一級;3)該端口遞歸所有子節(jié)點結(jié)束后,把該節(jié)點加入父節(jié)點子域集合; .3.3設(shè)置父節(jié)點子域 判斷是否存在子節(jié)點,若存在,把遞歸獲取的所有子節(jié)點加入父節(jié)點的子域中,方法結(jié)束。
5.如權(quán)利要求1所述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其特征在于步驟4)包括以下步驟: . 4.1方法初始化 初始化包括:獲取設(shè)備編碼等數(shù)據(jù)信息,把該設(shè)備加入所定義的根路徑中,從而獲得連接到設(shè)備支路端口的環(huán)路節(jié)點; 4.2遍歷獲取環(huán)形數(shù)據(jù) O定義環(huán)列表,通過給出的一個頭列表獲得相應(yīng)的每個鏈;2)遍歷頭節(jié)點鏈表;3)把頭節(jié)點加入定義的節(jié)點環(huán)鏈中;4)遞歸搜索環(huán)上節(jié)點,并檢查其是否在環(huán)鏈中存在,是則將該鏈表添加進根路徑列表,否則開始遍歷下一個頭節(jié)點鏈表;5)遍歷結(jié)束,返回數(shù)據(jù),方法結(jié)束。
6.如權(quán)利要求1所述的基于通信設(shè)備端口連接信息的關(guān)系圖智能生成方法,其特征在于步驟5)包括以下步驟:. 5.1方法初始化 初始化包括:循環(huán)節(jié)點鏈、深度、根路徑數(shù)據(jù)信息,并定義鏈表長度、節(jié)點鏈的最后一個節(jié)點以及是否有節(jié)點的字段,供之后的步驟準(zhǔn)備; . 5.2遞歸搜索環(huán)上節(jié)點 1)判斷深度是否過界,若滿足則開始遍歷根節(jié)點編碼值集合;2)判斷當(dāng)前節(jié)點編碼值是否是最后一個節(jié)點,不是繼續(xù)循環(huán)遍歷,是則保存該節(jié)點并跳出遍歷;3)判斷鏈長是否大于1,是則父節(jié)點移動至倒數(shù)第二個節(jié)點;4)獲取相鄰的環(huán)路節(jié)點,并判斷下一個節(jié)點編碼是否為空,不為空則將將下一個節(jié)點編碼值賦予設(shè)備編碼;5)判斷該編碼是否存在于根路徑中,是則通過設(shè)備編碼從數(shù)據(jù)庫中獲取相應(yīng)的數(shù)據(jù)信息,并在節(jié)點鏈添加該節(jié)點,重新定義搜索路徑,把根路徑和該節(jié)點添加至搜索路徑中;6)遞歸下一級,直至到達深度,返回數(shù)據(jù),停止方法。
【文檔編號】G06F17/30GK103905254SQ201410135954
【公開日】2014年7月2日 申請日期:2014年4月4日 優(yōu)先權(quán)日:2014年4月4日
【發(fā)明者】何先波, 伍明川, 李明東, 李寶林, 周龍 申請人:西華師范大學(xué)