述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則回到最近一次所遍歷的站點(diǎn)列表中,在所述最近一次所遍歷的站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)。
[0039]這里,若再次在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)是否在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中的結(jié)果是,這個(gè)下一個(gè)站點(diǎn)不在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則仍然執(zhí)行遞歸第二步驟中-則將該下一個(gè)站點(diǎn)加入站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,并對(duì)該下一個(gè)站點(diǎn)添加未查詢標(biāo)識(shí)。
[0040]仍如圖3所示,以站點(diǎn)A為當(dāng)前站點(diǎn),第一次遞歸過(guò)程中,能查到所有與A相鄰的站點(diǎn)-即站點(diǎn)B,C和D。此時(shí)查詢站點(diǎn)數(shù)據(jù)結(jié)構(gòu)-二維數(shù)組的時(shí)候發(fā)現(xiàn)A、B、C和D均不在二維數(shù)組中,則將A、B、C和D均加入到二維數(shù)組當(dāng)中,不同的是當(dāng)前站點(diǎn)A添加已查詢標(biāo)識(shí),B、C和D添加未查詢標(biāo)識(shí)。
[0041]接著對(duì)B進(jìn)行第二次遞歸操作。查詢到與B相鄰的是A、C、E和F,因?yàn)锽是當(dāng)前站點(diǎn),修改狀態(tài)為已查詢,A和C已經(jīng)存在,不做任何操作,E和F不在二維數(shù)組中,將E和F加入到二維數(shù)組中,標(biāo)識(shí)為未查詢。這其中,站點(diǎn)B成為第二次遞歸的當(dāng)前站點(diǎn)的原因是:站點(diǎn)B是二維數(shù)組中在站點(diǎn)A之后第一個(gè)標(biāo)識(shí)為未查詢的站點(diǎn)。
[0042]然后根據(jù)先后順序,二維數(shù)組中標(biāo)識(shí)為未查詢的是C站點(diǎn),查詢到與C相鄰的是A和B,A和B已經(jīng)存在于二維數(shù)組中,故進(jìn)行下一步操作-查詢D。以此類推,直到二維數(shù)組中的數(shù)據(jù)均標(biāo)識(shí)為已查詢,遞歸結(jié)束。
[0043]遞歸結(jié)束后,根據(jù)二維數(shù)組中存在的元素查詢光纜段落數(shù)據(jù)庫(kù),即可得到所有相關(guān)的光纜段落。
[0044]這一遞歸過(guò)程中,只要二維數(shù)組中存在未查詢數(shù)據(jù),就進(jìn)行查詢和二維數(shù)組的數(shù)據(jù)更新-修改當(dāng)前站點(diǎn)為已查詢、添加二維數(shù)組中不存在的站點(diǎn)并標(biāo)識(shí)為未查詢狀態(tài),直至所有查詢到的與當(dāng)前站點(diǎn)存在直接連接關(guān)系的站點(diǎn)均存在于二維數(shù)組中且均標(biāo)識(shí)為已查詢狀態(tài),整個(gè)遞歸過(guò)程才結(jié)束。
[0045]在一個(gè)優(yōu)選實(shí)施例中,根據(jù)站點(diǎn)列表查詢光纜段數(shù)據(jù)庫(kù)得到完整光纜段信息包括:根據(jù)站點(diǎn)列表中所有站點(diǎn)的名稱查詢光纜段數(shù)據(jù)庫(kù),將得到的各個(gè)光纜段信息進(jìn)行直觀的圖形體現(xiàn)。拓?fù)浣Y(jié)構(gòu)的圖形體現(xiàn)是借助于其他的圖形函數(shù)或第三方控件。
[0046]在一個(gè)應(yīng)用場(chǎng)景中,如圖2所示,包括:
[0047]步驟21,根據(jù)第一指定站點(diǎn)A和第二指定站點(diǎn)D的名稱查詢光纜段數(shù)據(jù)庫(kù),獲取所有以該指定站點(diǎn)為起點(diǎn)或終點(diǎn)的光纜段信息,包括站點(diǎn)A、B、C和站點(diǎn)D。
[0048]步驟22,獲取當(dāng)前站點(diǎn)所有的關(guān)聯(lián)站點(diǎn)(含當(dāng)前站點(diǎn))的站點(diǎn)列表。
[0049]步驟23,站點(diǎn)列表與二維數(shù)組進(jìn)行對(duì)比,判斷當(dāng)前站點(diǎn)是否已經(jīng)存在于二維數(shù)組中。二維數(shù)組初始化時(shí)為空,循環(huán)時(shí)加入當(dāng)前站點(diǎn),并標(biāo)識(shí)為已查詢。
[0050]步驟24,如當(dāng)前站點(diǎn)已存在于二維數(shù)組中,則查詢站點(diǎn)列表中的下一個(gè)站點(diǎn),如二維數(shù)組中不存在該站點(diǎn),則將該站點(diǎn)加入二維數(shù)組中,并在二維數(shù)組中添加未查詢標(biāo)識(shí)。
[0051]步驟25,遞歸函數(shù)查詢二維數(shù)組中所有帶未查詢標(biāo)識(shí)的站點(diǎn),重復(fù)步驟22?步驟24,直至二維數(shù)組中的站點(diǎn)均標(biāo)識(shí)為已查詢。
[0052]步驟26,獲取所有關(guān)聯(lián)站點(diǎn)列表,根據(jù)列表重新對(duì)光纜段數(shù)據(jù)庫(kù)進(jìn)行查詢得到完整光纜段信息。
[0053]本發(fā)明實(shí)施例提供一種生成光纜網(wǎng)絡(luò)拓?fù)涞难b置,包括:
[0054]纜段信息單元,用于獲取所有以第一指定站點(diǎn)為起點(diǎn)或終點(diǎn)的光纜段信息,以及,將所述第一指定站點(diǎn)作為當(dāng)前站點(diǎn);
[0055]遞歸第一單元,用于獲取當(dāng)前站點(diǎn)以及所述當(dāng)前站點(diǎn)所有的關(guān)聯(lián)站點(diǎn)以形成站點(diǎn)列表;
[0056]遞歸第二單元,用于從所述站點(diǎn)列表中取出一個(gè)站點(diǎn)作為當(dāng)前站點(diǎn),對(duì)該當(dāng)前站點(diǎn)添加已查詢標(biāo)識(shí),并將攜帶已查詢標(biāo)識(shí)的當(dāng)前站點(diǎn)存放在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn),若該下一個(gè)站點(diǎn)不在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則將該下一個(gè)站點(diǎn)加入站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,并對(duì)該下一個(gè)站點(diǎn)添加未查詢標(biāo)識(shí);將該下一個(gè)站點(diǎn)作為新的當(dāng)前站點(diǎn),返回調(diào)用所述遞歸第一步驟,直至站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中的站點(diǎn)均標(biāo)識(shí)為已查詢;
[0057]拓?fù)鋯卧?,用于根?jù)所述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)查詢光纜段數(shù)據(jù)庫(kù)得到光纜網(wǎng)絡(luò)拓?fù)洹?br>[0058]在一個(gè)優(yōu)選實(shí)施例中,還包括:
[0059]數(shù)組初始化單元,用于初始化二維數(shù)組為空,二維數(shù)組用于在查詢步驟中存放來(lái)自站點(diǎn)列表的尚未存放在二維數(shù)組中的站點(diǎn)。
[0060]在一個(gè)優(yōu)選實(shí)施例中,還包括:
[0061]數(shù)組管理單元,用于第一次存放在二維數(shù)組中的站點(diǎn)應(yīng)添加未查詢標(biāo)識(shí)。
[0062]在一個(gè)優(yōu)選實(shí)施例中,遞歸第一單元包括:
[0063]數(shù)據(jù)庫(kù)查詢模塊,用于在光纜段數(shù)據(jù)庫(kù)中,查找與當(dāng)前站點(diǎn)相關(guān)的記錄,當(dāng)所述記錄中記載了所述當(dāng)前站點(diǎn)與一站點(diǎn)直接連接時(shí),則該站點(diǎn)是與當(dāng)前站點(diǎn)直接連接的關(guān)聯(lián)站點(diǎn)。
[0064]在一個(gè)優(yōu)選實(shí)施例中,遞歸第二單元包括:
[0065]站點(diǎn)列表回退模塊,用于在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)之后還包括:
[0066]若該下一個(gè)站點(diǎn)在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則再次在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)是否在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,若直至遍歷完所述站點(diǎn)列表的站點(diǎn)均在所述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則回到最近一次所遍歷的站點(diǎn)列表中,在所述最近一次所遍歷的站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)。
[0067]在一個(gè)優(yōu)選實(shí)施例中,拓?fù)鋯卧?
[0068]拓?fù)鋱D形模塊,用于根據(jù)站點(diǎn)列表中所有站點(diǎn)的名稱查詢光纜段數(shù)據(jù)庫(kù),將得到的各個(gè)光纜段信息進(jìn)行直觀的圖形體現(xiàn)。
[0069]采用本方案之后的優(yōu)勢(shì)是:采用遞歸方式查詢離散光纜段數(shù)據(jù)得出包含完整光纜拓?fù)湫畔⒌慕Y(jié)果,以便于進(jìn)行直觀的圖形體現(xiàn)。詢范圍全面,涵蓋所有與當(dāng)前站點(diǎn)連通的光纜段信息。查詢結(jié)果直觀,便于用戶全面考慮設(shè)備組網(wǎng)方案??蓪?shí)施性強(qiáng),便于采用信息化手段進(jìn)行大量數(shù)據(jù)的快速處理展現(xiàn)。
[0070]以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種生成光纜網(wǎng)絡(luò)拓?fù)涞姆椒?,其特征在于,方法包? 光纜段信息步驟,獲取所有以第一指定站點(diǎn)為起點(diǎn)或終點(diǎn)的光纜段信息,以及,將所述第一指定站點(diǎn)作為當(dāng)前站點(diǎn); 遞歸第一步驟,獲取當(dāng)前站點(diǎn)以及與所述當(dāng)前站點(diǎn)直接連接的所有的關(guān)聯(lián)站點(diǎn)以形成站點(diǎn)列表; 遞歸第二步驟,從所述站點(diǎn)列表中取出一個(gè)站點(diǎn)作為當(dāng)前站點(diǎn),對(duì)該當(dāng)前站點(diǎn)添加已查詢標(biāo)識(shí),并將攜帶已查詢標(biāo)識(shí)的當(dāng)前站點(diǎn)存放在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn),若該下一個(gè)站點(diǎn)不在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則將該下一個(gè)站點(diǎn)加入站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,并對(duì)該下一個(gè)站點(diǎn)添加未查詢標(biāo)識(shí);將該下一個(gè)站點(diǎn)作為新的當(dāng)前站點(diǎn),返回調(diào)用所述遞歸第一步驟,直至站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中的站點(diǎn)均標(biāo)識(shí)為已查詢; 拓?fù)洳襟E,根據(jù)所述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)查詢光纜段數(shù)據(jù)庫(kù)得到光纜網(wǎng)絡(luò)拓?fù)洹?.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 站點(diǎn)列表是一個(gè)一維數(shù)組;站點(diǎn)數(shù)據(jù)結(jié)構(gòu)是二維數(shù)組,二維數(shù)組初始化為空。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取當(dāng)前站點(diǎn)以及與所述當(dāng)前站點(diǎn)直接連接的所有的關(guān)聯(lián)站點(diǎn)以形成站點(diǎn)列表具體包括: 在光纜段數(shù)據(jù)庫(kù)中,查找與當(dāng)前站點(diǎn)相關(guān)的記錄,當(dāng)所述記錄中記載了所述當(dāng)前站點(diǎn)與一站點(diǎn)直接連接時(shí),則該站點(diǎn)是與當(dāng)前站點(diǎn)直接連接的關(guān)聯(lián)站點(diǎn)。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)之后還包括: 若該下一個(gè)站點(diǎn)在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則再次在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)是否在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中; 若直至遍歷完所述站點(diǎn)列表的站點(diǎn)均在所述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則回到最近一次所遍歷的站點(diǎn)列表中,在所述最近一次所遍歷的站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)。5.一種生成光纜網(wǎng)絡(luò)拓?fù)涞难b置,其特征在于,包括: 光纜段信息單元,用于獲取所有以第一指定站點(diǎn)為起點(diǎn)或終點(diǎn)的光纜段信息,以及,將所述第一指定站點(diǎn)作為當(dāng)前站點(diǎn); 遞歸第一單元,用于獲取當(dāng)前站點(diǎn)以及所述當(dāng)前站點(diǎn)所有的關(guān)聯(lián)站點(diǎn)以形成站點(diǎn)列表; 遞歸第二單元,用于從所述站點(diǎn)列表中取出一個(gè)站點(diǎn)作為當(dāng)前站點(diǎn),對(duì)該當(dāng)前站點(diǎn)添加已查詢標(biāo)識(shí),并將攜帶已查詢標(biāo)識(shí)的當(dāng)前站點(diǎn)存放在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn),若該下一個(gè)站點(diǎn)不在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則將該下一個(gè)站點(diǎn)加入站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,并對(duì)該下一個(gè)站點(diǎn)添加未查詢標(biāo)識(shí);將該下一個(gè)站點(diǎn)作為新的當(dāng)前站點(diǎn),返回調(diào)用所述遞歸第一步驟,直至站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中的站點(diǎn)均標(biāo)識(shí)為已查詢; 拓?fù)鋯卧?,用于根?jù)所述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)查詢光纜段數(shù)據(jù)庫(kù)得到光纜網(wǎng)絡(luò)拓?fù)洹?.根據(jù)權(quán)利要求5所述的裝置,其特征在于,還包括: 數(shù)組初始化單元,用于初始化站點(diǎn)列表是一個(gè)一維數(shù)組;站點(diǎn)數(shù)據(jù)結(jié)構(gòu)是指二維數(shù)組,二維數(shù)組初始化為空。7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,遞歸第一單元包括: 數(shù)據(jù)庫(kù)查詢模塊,用于在光纜段數(shù)據(jù)庫(kù)中,查找與當(dāng)前站點(diǎn)相關(guān)的記錄,當(dāng)所述記錄中記載了所述當(dāng)前站點(diǎn)與一站點(diǎn)直接連接時(shí),則該站點(diǎn)是與當(dāng)前站點(diǎn)直接連接的關(guān)聯(lián)站點(diǎn)。8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,遞歸第二單元包括: 站點(diǎn)列表回退模塊,用于在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)之后還包括: 若該下一個(gè)站點(diǎn)在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則再次在所述站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)是否在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中; 若直至遍歷完所述站點(diǎn)列表的站點(diǎn)均在所述站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則回到最近一次所遍歷的站點(diǎn)列表中,在所述最近一次所遍歷的站點(diǎn)列表中遍歷下一個(gè)站點(diǎn)。
【專利摘要】本發(fā)明實(shí)施例提供一種生成光纜網(wǎng)絡(luò)拓?fù)涞姆椒ê脱b置,獲取所有以第一指定站點(diǎn)為起點(diǎn)或終點(diǎn)的光纜段信息,將第一指定站點(diǎn)作為當(dāng)前站點(diǎn);遞歸第一步驟,獲取當(dāng)前站點(diǎn)以及與當(dāng)前站點(diǎn)直接連接的所有的關(guān)聯(lián)站點(diǎn)以形成站點(diǎn)列表;遞歸第二步驟,從站點(diǎn)列表中取出一個(gè)站點(diǎn)作為當(dāng)前站點(diǎn),對(duì)當(dāng)前站點(diǎn)添加已查詢標(biāo)識(shí),并將攜帶已查詢標(biāo)識(shí)的當(dāng)前站點(diǎn)存放在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,在站點(diǎn)列表中遍歷下一個(gè)站點(diǎn),若下一個(gè)站點(diǎn)不在站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,則將下一個(gè)站點(diǎn)加入站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,并對(duì)下一個(gè)站點(diǎn)添加未查詢標(biāo)識(shí);將下一個(gè)站點(diǎn)作為新的當(dāng)前站點(diǎn),調(diào)用遞歸第一步驟,直至站點(diǎn)數(shù)據(jù)結(jié)構(gòu)中站點(diǎn)均標(biāo)識(shí)為已查詢;根據(jù)站點(diǎn)數(shù)據(jù)結(jié)構(gòu)查詢光纜段數(shù)據(jù)庫(kù)得到光纜網(wǎng)絡(luò)拓?fù)洹?br>【IPC分類】G06F17/30
【公開(kāi)號(hào)】CN105224568
【申請(qǐng)?zhí)枴緾N201410302689
【發(fā)明人】孫磊, 王桂香, 陳常梅
【申請(qǐng)人】中國(guó)移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司
【公開(kāi)日】2016年1月6日
【申請(qǐng)日】2014年6月27日