本申請(qǐng)涉及網(wǎng)絡(luò),特別是涉及一種路徑確定方法、裝置、計(jì)算機(jī)設(shè)備、可讀存儲(chǔ)介質(zhì)和程序產(chǎn)品。
背景技術(shù):
1、隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,出現(xiàn)了很多新業(yè)務(wù),對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量提出更高的要求。例如云vr(virtual?reality,虛擬現(xiàn)實(shí))相關(guān)業(yè)務(wù)和視頻相關(guān)業(yè)務(wù),對(duì)承載它們的網(wǎng)絡(luò)路徑的時(shí)延,帶寬,可靠性等多個(gè)因子均有較高要求。然而,傳統(tǒng)方案通常所采用的基于單因子或多因子的路徑算法,無(wú)法滿足業(yè)務(wù)要求。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種能夠滿足業(yè)務(wù)要求的路徑確定方法、裝置、計(jì)算機(jī)設(shè)備、可讀存儲(chǔ)介質(zhì)和程序產(chǎn)品。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N路徑確定方法,包括:
3、從搜索隊(duì)列中取出預(yù)選路徑,將預(yù)選路徑分配給搜索進(jìn)程;通過(guò)搜索進(jìn)程基于參考路徑集對(duì)預(yù)選路徑進(jìn)行搜索操作得到候選路徑,并將候選路徑放入更新隊(duì)列;
4、從更新隊(duì)列中取出候選路徑,將候選路徑分配給更新進(jìn)程;通過(guò)更新進(jìn)程基于候選路徑對(duì)參考路徑集進(jìn)行更新操作,并將末端節(jié)點(diǎn)不是目標(biāo)終點(diǎn)的候選路徑作為預(yù)選路徑放入搜索隊(duì)列;
5、直至搜索隊(duì)列和更新隊(duì)列為空,則確定路徑遍歷完成,輸出目標(biāo)終點(diǎn)的目標(biāo)路徑。
6、在其中一個(gè)實(shí)施例中,搜索進(jìn)程和更新進(jìn)程異步并行運(yùn)行。
7、在其中一個(gè)實(shí)施例中,從搜索隊(duì)列中取出預(yù)選路徑,將預(yù)選路徑分配給搜索進(jìn)程,包括:
8、通過(guò)搜索調(diào)度進(jìn)程從搜索隊(duì)列中取出預(yù)選路徑,并將預(yù)選路徑分配給搜索進(jìn)程池中空閑的搜索進(jìn)程;
9、從更新隊(duì)列中取出候選路徑,將候選路徑分配給更新進(jìn)程,包括:
10、通過(guò)更新調(diào)度進(jìn)程從更新隊(duì)列中取出候選路徑,并將候選路徑分配給更新進(jìn)程池中空閑的更新進(jìn)程。
11、在其中一個(gè)實(shí)施例中,搜索進(jìn)程池中的多個(gè)搜索進(jìn)程并行運(yùn)行,更新進(jìn)程池中的多個(gè)更新進(jìn)程并行運(yùn)行。
12、在其中一個(gè)實(shí)施例中,方法還包括:
13、利用搜索進(jìn)程從共享變量中讀取出參考路徑集;
14、利用更新進(jìn)程將經(jīng)更新操作后的參考路徑集寫(xiě)入共享變量。
15、在其中一個(gè)實(shí)施例中,參考路徑集包括對(duì)應(yīng)路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集,以及對(duì)應(yīng)目標(biāo)終點(diǎn)的第二帕累托最優(yōu)路徑集。
16、在其中一個(gè)實(shí)施例中,通過(guò)更新進(jìn)程基于候選路徑對(duì)參考路徑集進(jìn)行更新操作,包括:
17、采用更新進(jìn)程基于候選路徑對(duì)第一帕累托最優(yōu)路徑集進(jìn)行更新操作,并將經(jīng)更新操作后的第一帕累托最優(yōu)路徑集寫(xiě)入共享變量。
18、在其中一個(gè)實(shí)施例中,采用更新進(jìn)程基于候選路徑對(duì)第一帕累托最優(yōu)路徑集進(jìn)行更新操作,包括:
19、確定候選路徑的末端節(jié)點(diǎn),從共享變量中讀取出對(duì)應(yīng)候選路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集;
20、將候選路徑與對(duì)應(yīng)候選路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集中的路徑遍歷比對(duì),得到比對(duì)結(jié)果;
21、將候選路徑添加至對(duì)應(yīng)候選路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集,并根據(jù)比對(duì)結(jié)果刪除對(duì)應(yīng)候選路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集中被候選路徑支配的路徑,得到經(jīng)更新操作后的第一帕累托最優(yōu)路徑集;其中,經(jīng)更新操作后的第一帕累托最優(yōu)路徑集中的各路徑之間互不支配。
22、在其中一個(gè)實(shí)施例中,通過(guò)搜索進(jìn)程基于參考路徑集對(duì)預(yù)選路徑進(jìn)行搜索操作得到候選路徑,并將候選路徑放入更新隊(duì)列,包括:
23、確定預(yù)選路徑的末端節(jié)點(diǎn),從共享變量中讀取出對(duì)應(yīng)預(yù)選路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集;
24、將預(yù)選路徑分別與對(duì)應(yīng)預(yù)選路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集中的路徑、第二帕累托最優(yōu)路徑集中的路徑遍歷對(duì)比,得到第一比對(duì)結(jié)果;
25、若第一比對(duì)結(jié)果為不存在支配預(yù)選路徑的路徑,則基于網(wǎng)絡(luò)拓?fù)湫畔?duì)預(yù)選路徑進(jìn)行擴(kuò)展,得到擴(kuò)展路徑;
26、確定擴(kuò)展路徑的末端節(jié)點(diǎn),從共享變量中讀取出對(duì)應(yīng)擴(kuò)展路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集;
27、將擴(kuò)展路徑分別與對(duì)應(yīng)擴(kuò)展路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集中的路徑、第二帕累托最優(yōu)路徑集中的路徑遍歷對(duì)比,得到第二比對(duì)結(jié)果;
28、若第二比對(duì)結(jié)果為不存在支配擴(kuò)展路徑的路徑,則將擴(kuò)展路徑作為候選路徑放入更新隊(duì)列。
29、在其中一個(gè)實(shí)施例中,擴(kuò)展路徑包括與預(yù)選路徑的末端節(jié)點(diǎn)相連的節(jié)點(diǎn)。
30、第二方面,本申請(qǐng)還提供了一種路徑確定裝置,包括:
31、搜索模塊,用于從搜索隊(duì)列中取出預(yù)選路徑,將預(yù)選路徑分配給搜索進(jìn)程;通過(guò)搜索進(jìn)程基于參考路徑集對(duì)預(yù)選路徑進(jìn)行搜索操作得到候選路徑,并將候選路徑放入更新隊(duì)列;
32、更新模塊,用于從更新隊(duì)列中取出候選路徑,將候選路徑分配給更新進(jìn)程;通過(guò)更新進(jìn)程基于候選路徑對(duì)參考路徑集進(jìn)行更新操作,并將末端節(jié)點(diǎn)不是目標(biāo)終點(diǎn)的候選路徑作為預(yù)選路徑放入搜索隊(duì)列;
33、路徑輸出模塊,用于直至搜索隊(duì)列和更新隊(duì)列為空,則確定路徑遍歷完成,輸出目標(biāo)終點(diǎn)的目標(biāo)路徑。
34、第三方面,本申請(qǐng)還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述的路徑確定方法中的各步驟。
35、第四方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的路徑確定方法中的各步驟。
36、第五方面,本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的路徑確定方法中的各步驟。
37、上述路徑確定方法、裝置、計(jì)算機(jī)設(shè)備、可讀存儲(chǔ)介質(zhì)和程序產(chǎn)品,通過(guò)搜索進(jìn)程基于參考路徑集對(duì)從搜索隊(duì)列中取出的預(yù)選路徑進(jìn)行搜索操作得到候選路徑,并將候選路徑放入更新隊(duì)列,以及通過(guò)更新進(jìn)程基于候選路徑對(duì)從更新隊(duì)列中取出的參考路徑集進(jìn)行更新操作,并將末端節(jié)點(diǎn)不是目標(biāo)終點(diǎn)的候選路徑作為預(yù)選路徑放入搜索隊(duì)列,直至搜索隊(duì)列和更新隊(duì)列為空,則確定路徑遍歷完成,輸出目標(biāo)終點(diǎn)的目標(biāo)路徑。本申請(qǐng)采用搜索隊(duì)列和更新隊(duì)列兩個(gè)隊(duì)列來(lái)存儲(chǔ)路徑遍歷過(guò)程中的中間路徑,實(shí)現(xiàn)路徑搜索與更新的解耦,進(jìn)一步地,利用搜索進(jìn)程和更新進(jìn)程,多進(jìn)程處理兩個(gè)隊(duì)列中的路徑搜索和更新,實(shí)現(xiàn)異步并行計(jì)算最優(yōu)路徑,從而滿足業(yè)務(wù)要求,提高業(yè)務(wù)服務(wù)質(zhì)量。
1.一種路徑確定方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述搜索進(jìn)程和所述更新進(jìn)程異步并行運(yùn)行。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從搜索隊(duì)列中取出預(yù)選路徑,將所述預(yù)選路徑分配給搜索進(jìn)程,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述搜索進(jìn)程池中的多個(gè)所述搜索進(jìn)程并行運(yùn)行,所述更新進(jìn)程池中的多個(gè)所述更新進(jìn)程并行運(yùn)行。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述參考路徑集包括對(duì)應(yīng)路徑的末端節(jié)點(diǎn)的第一帕累托最優(yōu)路徑集,以及對(duì)應(yīng)所述目標(biāo)終點(diǎn)的第二帕累托最優(yōu)路徑集。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述通過(guò)所述更新進(jìn)程基于所述候選路徑對(duì)所述參考路徑集進(jìn)行更新操作,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述采用所述更新進(jìn)程基于所述候選路徑對(duì)所述第一帕累托最優(yōu)路徑集進(jìn)行更新操作,包括:
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述通過(guò)所述搜索進(jìn)程基于參考路徑集對(duì)所述預(yù)選路徑進(jìn)行搜索操作得到候選路徑,并將所述候選路徑放入更新隊(duì)列,包括:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述擴(kuò)展路徑包括與所述預(yù)選路徑的末端節(jié)點(diǎn)相連的節(jié)點(diǎn)。
11.一種路徑確定裝置,其特征在于,所述裝置包括:
12.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至10中任一項(xiàng)所述的方法的步驟。
13.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至10中任一項(xiàng)所述的方法的步驟。
14.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至10中任一項(xiàng)所述的方法的步驟。