System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本申請實施例涉及計算機技術(shù)與應(yīng)用,尤其涉及一種接口編排方法及裝置。
技術(shù)介紹
1、接口編排是指將多個獨立的接口(這些接口可能來自不同的系統(tǒng)或服務(wù)),通過一定的邏輯和規(guī)則進行組合和調(diào)用,以實現(xiàn)一個更復(fù)雜的業(yè)務(wù)功能或流程。一條完整的業(yè)務(wù)邏輯鏈路往往需要如日志記錄、事務(wù)管理、安全檢查等通用功能。由于這些通用功能與業(yè)務(wù)邏輯本身沒有關(guān)聯(lián),因此,不會被嵌入至業(yè)務(wù)邏輯鏈路中;相應(yīng)地,針對業(yè)務(wù)邏輯鏈路進行接口編排時,這些通用功能的業(yè)務(wù)接口也不會包含在接口編排結(jié)果中。
2、相關(guān)技術(shù)下,將這些通用功能的代碼直接嵌入到業(yè)務(wù)邏輯代碼中,然而,該方法會導(dǎo)致代碼變得復(fù)雜且難以維護,同時,難以保證業(yè)務(wù)邏輯鏈路的接口編排的效率。
技術(shù)實現(xiàn)思路
1、本專利技術(shù)實施例提供了一種接口編排方法及裝置,用于提高接口編排的靈活性和編排效率。
2、一方面,本申請實施例提供了一種接口編排方法,該方法包括:
3、獲取原始編排鏈路;
4、從預(yù)先配置的多個切入點調(diào)用鏈路中,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,其中,每個目標(biāo)調(diào)用鏈路與所述原始編排鏈路的一個子編排鏈路相同;每個目標(biāo)調(diào)用鏈路關(guān)聯(lián)至少一個切面,每個切面包括:在所述原始編排鏈路中的切入點和相應(yīng)的增強調(diào)用鏈路;
5、按照每個切面包含的切入點,將每個所述切面包含的增強調(diào)用鏈路織入所述原始編排鏈路,獲得目標(biāo)編排鏈路。
6、可選地,所述切入點調(diào)用鏈路為單個業(yè)務(wù)接口;或者,由多個業(yè)務(wù)接口編排獲得的調(diào)用鏈
7、針對所述切入點調(diào)用鏈路關(guān)聯(lián)的每個切面,所述切面包含的切入點位于所述切入點調(diào)用鏈路的起始業(yè)務(wù)接口之前或末尾業(yè)務(wù)接口之后;
8、所述切面包含的增強調(diào)用鏈路為單個增強業(yè)務(wù)接口;或者,由多個增強業(yè)務(wù)接口編排獲得的調(diào)用鏈。
9、可選地,還包括:
10、當(dāng)所述切面包含多個增強調(diào)用鏈路時,配置所述多個增強調(diào)用鏈路的執(zhí)行優(yōu)先級,所述多個增強調(diào)用鏈路的執(zhí)行優(yōu)先級指示多個增強調(diào)用鏈路的執(zhí)行順序。
11、可選地,還包括:
12、將每個切面的配置信息轉(zhuǎn)換為鄰接表進行存儲。
13、可選地,所述從預(yù)先配置的多個切入點調(diào)用鏈路中,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,包括:
14、在執(zhí)行所述原始編排鏈路之前,采用子圖同構(gòu)算法對所述多個切入點調(diào)用鏈路進行迭代搜索,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路。
15、可選地,所述采用子圖同構(gòu)算法對所述多個切入點調(diào)用鏈路進行迭代搜索,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,包括:
16、將所述原始編排鏈路轉(zhuǎn)換為第一圖結(jié)構(gòu),以及將所述多個切入點調(diào)用鏈路分別轉(zhuǎn)換為相應(yīng)的第二圖結(jié)構(gòu);
17、采用子圖同構(gòu)算法遍歷所述第一圖結(jié)構(gòu)包含的各個子圖結(jié)構(gòu),并在遍歷到與第二圖結(jié)構(gòu)同構(gòu)的子圖結(jié)構(gòu)時,將所述第二圖結(jié)構(gòu)對應(yīng)的切入點調(diào)用鏈路,作為所述目標(biāo)調(diào)用鏈路。
18、可選地,所述按照每個切面包含的切入點,將每個所述切面包含的增強調(diào)用鏈路織入所述原始編排鏈路,獲得目標(biāo)編排鏈路之后,還包括:
19、執(zhí)行所述目標(biāo)編排鏈路獲得執(zhí)行結(jié)果,并將所述目標(biāo)編排鏈路的執(zhí)行過程可視化。
20、一方面,本申請實施例提供了一種接口編排裝置,該裝置包括:
21、獲取模塊,用于獲取原始編排鏈路;
22、處理模塊,用于從預(yù)先配置的多個切入點調(diào)用鏈路中,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,其中,每個目標(biāo)調(diào)用鏈路與所述原始編排鏈路的一個子編排鏈路相同;每個目標(biāo)調(diào)用鏈路關(guān)聯(lián)至少一個切面,每個切面包括:在所述原始編排鏈路中的切入點和相應(yīng)的增強調(diào)用鏈路;
23、織入模塊,用于按照每個切面包含的切入點,將每個所述切面包含的增強調(diào)用鏈路織入所述原始編排鏈路,獲得目標(biāo)編排鏈路。
24、可選地,所述切入點調(diào)用鏈路為單個業(yè)務(wù)接口;或者,由多個業(yè)務(wù)接口編排獲得的調(diào)用鏈;
25、針對所述切入點調(diào)用鏈路關(guān)聯(lián)的每個切面,所述切面包含的切入點位于所述切入點調(diào)用鏈路的起始業(yè)務(wù)接口之前或末尾業(yè)務(wù)接口之后;
26、所述切面包含的增強調(diào)用鏈路為單個增強業(yè)務(wù)接口;或者,由多個增強業(yè)務(wù)接口編排獲得的調(diào)用鏈。
27、可選地,所述處理模塊還用于:
28、當(dāng)所述切面包含多個增強調(diào)用鏈路時,配置所述多個增強調(diào)用鏈路的執(zhí)行優(yōu)先級,所述多個增強調(diào)用鏈路的執(zhí)行優(yōu)先級指示多個增強調(diào)用鏈路的執(zhí)行順序。
29、可選地,所述處理模塊還用于:
30、將每個切面的配置信息轉(zhuǎn)換為鄰接表進行存儲。
31、可選地,所述處理模塊具體用于:
32、在執(zhí)行所述原始編排鏈路之前,采用子圖同構(gòu)算法對所述多個切入點調(diào)用鏈路進行迭代搜索,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路。
33、可選地,所述處理模塊具體用于:
34、將所述原始編排鏈路轉(zhuǎn)換為第一圖結(jié)構(gòu),以及將所述多個切入點調(diào)用鏈路分別轉(zhuǎn)換為相應(yīng)的第二圖結(jié)構(gòu);
35、采用子圖同構(gòu)算法遍歷所述第一圖結(jié)構(gòu)包含的各個子圖結(jié)構(gòu),并在遍歷到與第二圖結(jié)構(gòu)同構(gòu)的子圖結(jié)構(gòu)時,將所述第二圖結(jié)構(gòu)對應(yīng)的切入點調(diào)用鏈路,作為所述目標(biāo)調(diào)用鏈路。
36、可選地,所述織入模塊具體用于:
37、執(zhí)行所述目標(biāo)編排鏈路獲得執(zhí)行結(jié)果,并將所述目標(biāo)編排鏈路的執(zhí)行過程可視化。
38、一方面,本申請實施例提供了一種計算機設(shè)備,包括:
39、存儲器,用于存儲程序指令;
40、處理器,用于調(diào)用所述存儲器中存儲的程序指令,按照獲得的程序執(zhí)行上述接口編排方法的步驟。
41、一方面,本申請實施例提供了一種計算機可讀存儲介質(zhì),存儲有可由計算機設(shè)備執(zhí)行的計算機程序,當(dāng)所述程序在計算機設(shè)備上運行時,使得計算機執(zhí)行上述接口編排方法的步驟。
42、一方面,本申請實施例提供了一種計算機程序產(chǎn)品,包括存儲在計算機可讀存儲介質(zhì)上的計算機程序,所述計算機程序包括程序指令,當(dāng)所述程序指令被計算機設(shè)備執(zhí)行時,使所述計算機設(shè)備執(zhí)行上述接口編排方法的步驟。
43、本申請實施例中,從預(yù)先配置的多個切入點調(diào)用鏈路中獲取與原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,每個目標(biāo)調(diào)用鏈路關(guān)聯(lián)至少一個切面,每個切面包括切入點和相應(yīng)的增強調(diào)用鏈路,按照切入點將每個切面包含的增強調(diào)用鏈路織入原始編排鏈路,實現(xiàn)了在原始編排鏈路中自動織入相關(guān)業(yè)務(wù)功能,提高了原始編排鏈路的可擴展性,相較于通用功能的代碼直接嵌入到業(yè)務(wù)邏輯代碼來說,降低了代碼的復(fù)雜度和維護難度,同時解決了原始編排鏈路直接調(diào)用通用業(yè)務(wù)接口造成的耦合度問題,提高了接口編排的編排效率和可維護性。其次,預(yù)先配置的多個切入點調(diào)用鏈路,為原始編排鏈路的功能織入提供了多種選擇,從而支持各類調(diào)用鏈場景的切面編程,提高了切面編程的靈活性。
本文檔來自技高網(wǎng)...【技術(shù)保護點】
1.一種接口編排方法,其特征在于,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述切入點調(diào)用鏈路為單個業(yè)務(wù)接口;或者,由多個業(yè)務(wù)接口編排獲得的調(diào)用鏈;
3.如權(quán)利要求2所述的方法,其特征在于,還包括:
4.如權(quán)利要求2所述的方法,其特征在于,還包括:
5.如權(quán)利要求1所述的方法,其特征在于,所述從預(yù)先配置的多個切入點調(diào)用鏈路中,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,包括:
6.如權(quán)利要求5所述的方法,其特征在于,所述采用子圖同構(gòu)算法對所述多個切入點調(diào)用鏈路進行迭代搜索,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,包括:
7.如權(quán)利要求1至6任一所述的方法,其特征在于,所述按照每個切面包含的切入點,將每個所述切面包含的增強調(diào)用鏈路織入所述原始編排鏈路,獲得目標(biāo)編排鏈路之后,還包括:
8.一種接口編排裝置,其特征在于,包括:
9.一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)權(quán)利要求1~7任一
10.一種計算機可讀存儲介質(zhì),其特征在于,其存儲有可由計算機設(shè)備執(zhí)行的計算機程序,當(dāng)所述程序在計算機設(shè)備上運行時,使得所述計算機設(shè)備執(zhí)行權(quán)利要求1~7任一所述方法的步驟。
11.一種計算機程序產(chǎn)品,其特征在于,所述計算機程序產(chǎn)品包括存儲在計算機可讀存儲介質(zhì)上的計算機程序,所述計算機程序包括程序指令,當(dāng)所述程序指令被計算機設(shè)備執(zhí)行時,使所述計算機設(shè)備執(zhí)行如權(quán)利要求1~7任一項所述方法的步驟。
...【技術(shù)特征摘要】
1.一種接口編排方法,其特征在于,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述切入點調(diào)用鏈路為單個業(yè)務(wù)接口;或者,由多個業(yè)務(wù)接口編排獲得的調(diào)用鏈;
3.如權(quán)利要求2所述的方法,其特征在于,還包括:
4.如權(quán)利要求2所述的方法,其特征在于,還包括:
5.如權(quán)利要求1所述的方法,其特征在于,所述從預(yù)先配置的多個切入點調(diào)用鏈路中,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,包括:
6.如權(quán)利要求5所述的方法,其特征在于,所述采用子圖同構(gòu)算法對所述多個切入點調(diào)用鏈路進行迭代搜索,獲取與所述原始編排鏈路匹配的至少一個目標(biāo)調(diào)用鏈路,包括:
7.如權(quán)利要求1至6任一所述的方法,其特征在于,所述按照每個切面包含的切入點,將每個所述切面包...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:高晨,夏磊,周林,譚中華,顧慶崴,
申請(專利權(quán))人:天翼安全科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。