System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本申請涉及計算機,尤其涉及一種應(yīng)用程序編程接口編排方法、裝置、設(shè)備及存儲介質(zhì)。
技術(shù)介紹
1、隨著微服務(wù)的普及與廣泛使用,服務(wù)間的通信與調(diào)用也與日俱增,同時對于編排多個異步應(yīng)用程序編程接口(application?programming?interface,api)也成為需要解決的問題。
2、在一些相關(guān)技術(shù)中,開發(fā)人員可通過編碼的方式實現(xiàn)多個api之間的組合與調(diào)用,由于編碼效率較低,導(dǎo)致api編排效率較低。
技術(shù)實現(xiàn)思路
1、本申請?zhí)峁┮环N應(yīng)用程序編程接口編排方法、裝置、設(shè)備及存儲介質(zhì),用以解決相關(guān)技術(shù)中,通過編碼的方式實現(xiàn)多個api之間的組合與調(diào)用,由于編碼效率較低,導(dǎo)致api編排效率較低的技術(shù)問題。
2、第一方面,本申請?zhí)峁┮环N應(yīng)用程序編程接口編排方法,應(yīng)用于編排系統(tǒng)的編排引擎,編排系統(tǒng)還包含數(shù)據(jù)庫,數(shù)據(jù)庫存儲有編排模版、接口模版和平臺模版;包括:
3、接收用戶輸入的編排請求;
4、基于編排請求,對編排模版進行解析,生成頂點活動網(wǎng)拓撲排序的任務(wù)棧,并將任務(wù)棧存儲至數(shù)據(jù)庫,任務(wù)棧包含多個子任務(wù);
5、根據(jù)頂點活動網(wǎng)拓撲排序?qū)⑷蝿?wù)棧中的子任務(wù)提交到線程池中,以使執(zhí)行子任務(wù)的線程從接口模版中獲取子任務(wù)對應(yīng)的接口參數(shù)信息;
6、根據(jù)子任務(wù)的接口參數(shù)信息生成對應(yīng)的資源請求,并根據(jù)平臺模版確定接口參數(shù)信息對應(yīng)的資源服務(wù)系統(tǒng),將資源請求發(fā)送至資源服務(wù)系統(tǒng),以使資源服務(wù)系統(tǒng)執(zhí)行子任務(wù)。
7、可選地,如上所述的方
8、根據(jù)頂點活動網(wǎng)拓撲排序,將不依賴任一子任務(wù)的子任務(wù)提交到線程池中,以對多個子任務(wù)進行并發(fā)執(zhí)行;
9、對于依賴任一子任務(wù)的子任務(wù),若被依賴子任務(wù)的狀態(tài)為完成狀態(tài),將依賴被依賴子任務(wù)的子任務(wù)提交到線程池中,以對子任務(wù)和被依賴子任務(wù)進行串行執(zhí)行。
10、可選地,如上所述的方法,將資源請求發(fā)送至資源服務(wù)系統(tǒng),包括:
11、基于消息隊列或超文本傳輸協(xié)議,將資源請求發(fā)送至資源服務(wù)系統(tǒng)。
12、可選地,如上所述的方法,還包括:
13、根據(jù)接口參數(shù)信息判斷子任務(wù)是否為異步任務(wù);
14、若子任務(wù)為異步任務(wù),基于消息隊列監(jiān)聽機制,獲取資源服務(wù)系統(tǒng)通過消息隊列返回的子任務(wù)執(zhí)行消息,子任務(wù)執(zhí)行消息包含執(zhí)行結(jié)束消息,執(zhí)行結(jié)束消息包含子任務(wù)的執(zhí)行結(jié)果;
15、若子任務(wù)的執(zhí)行結(jié)果為執(zhí)行完成,則更新任務(wù)棧中子任務(wù)的狀態(tài)為完成狀態(tài)。
16、可選地,如上所述的方法,數(shù)據(jù)庫中還包含回滾接口模版;方法還包括:
17、若子任務(wù)的執(zhí)行結(jié)果為執(zhí)行失敗,根據(jù)回滾接口模版生成頂點活動網(wǎng)拓撲排序?qū)?yīng)的逆拓撲排序的逆任務(wù)棧;
18、將逆任務(wù)棧存儲到數(shù)據(jù)庫中,并根據(jù)逆拓撲排序?qū)⒛嫒蝿?wù)棧包含的子任務(wù)提交到線程池中,以向?qū)?yīng)的資源服務(wù)系統(tǒng)發(fā)送回滾請求,資源服務(wù)系統(tǒng)對子任務(wù)進行執(zhí)行;
19、接收資源服務(wù)系統(tǒng)反饋的回滾結(jié)果。
20、可選地,如上所述的方法,子任務(wù)執(zhí)行消息還包含執(zhí)行通知消息;方法還包括:
21、若子任務(wù)是異步任務(wù),接收資源服務(wù)系統(tǒng)通過消息隊列返回的執(zhí)行通知消息,并將任務(wù)棧中子任務(wù)的狀態(tài)更新為執(zhí)行狀態(tài)。
22、可選地,如上所述的方法,還包括:
23、根據(jù)任務(wù)棧中每一子任務(wù)的狀態(tài)判斷任務(wù)棧中是否存在未執(zhí)行的子任務(wù);
24、若是,根據(jù)頂點活動網(wǎng)拓撲排序?qū)⑽磮?zhí)行的子任務(wù)提交到線程池中,以對未執(zhí)行的子任務(wù)進行執(zhí)行;
25、若否,將最終執(zhí)行的子任務(wù)作為任務(wù)棧結(jié)束任務(wù)進行記錄。
26、第二方面,本申請?zhí)峁┮环N應(yīng)用程序編程接口編排裝置,應(yīng)用于編排系統(tǒng)的編排引擎,編排系統(tǒng)還包含數(shù)據(jù)庫,數(shù)據(jù)庫存儲有編排模版、接口模版和平臺模版;包括:
27、接收模塊,用于接收用戶輸入的編排請求;
28、處理模塊,用于基于編排請求,對編排模版進行解析,生成頂點活動網(wǎng)拓撲排序的任務(wù)棧,并將任務(wù)棧存儲至數(shù)據(jù)庫,任務(wù)棧包含多個子任務(wù);
29、處理模塊,還用于根據(jù)頂點活動網(wǎng)拓撲排序?qū)⑷蝿?wù)棧中的子任務(wù)提交到線程池中,以使執(zhí)行子任務(wù)的線程從接口模版中獲取子任務(wù)對應(yīng)的接口參數(shù)信息;
30、處理模塊,還用于根據(jù)子任務(wù)的接口參數(shù)信息生成對應(yīng)的資源請求,并根據(jù)平臺模版確定接口參數(shù)信息對應(yīng)的資源服務(wù)系統(tǒng);
31、發(fā)送模塊,用于將資源請求發(fā)送至資源服務(wù)系統(tǒng),以使資源服務(wù)系統(tǒng)執(zhí)行子任務(wù)。
32、第三方面,本申請?zhí)峁┮环N電子設(shè)備,包括:處理器,以及與處理器通信連接的存儲器;
33、存儲器存儲計算機執(zhí)行指令;
34、處理器執(zhí)行存儲器存儲的計算機執(zhí)行指令,以實現(xiàn)如第一方面任一項的方法。
35、第四方面,本申請?zhí)峁┮环N計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)中存儲有計算機執(zhí)行指令,計算機執(zhí)行指令被處理器執(zhí)行時用于實現(xiàn)如第一方面任一項的方法。
36、本申請?zhí)峁┑膽?yīng)用程序編程接口編排方法、裝置、設(shè)備及存儲介質(zhì),基于用戶輸入的編排請求,對數(shù)據(jù)庫中存儲的編排模版進行解析,生成頂點活動網(wǎng)拓撲排序的任務(wù)棧,并將任務(wù)棧存儲至數(shù)據(jù)庫,其中,任務(wù)棧中包含多個子任務(wù)。根據(jù)頂點活動網(wǎng)拓撲排序?qū)⑷蝿?wù)棧中的子任務(wù)提交到線程池中,以使執(zhí)行子任務(wù)的線程從接口模版中獲取子任務(wù)對應(yīng)的接口參數(shù)信息。根據(jù)接口參數(shù)信息生成對應(yīng)的資源請求,并根據(jù)平臺模版確定接口參數(shù)信息對應(yīng)的資源服務(wù)系統(tǒng),將資源請求發(fā)送至資源服務(wù)系統(tǒng),以使資源服務(wù)系統(tǒng)對該子任務(wù)進行執(zhí)行,實現(xiàn)應(yīng)用程序編程接口的編排即資源編排。本申請的方法通過解析配置好的編排模版生成頂點活動網(wǎng)拓撲排序的任務(wù)棧,結(jié)合配置好的接口模版和平臺模版即可完成復(fù)雜的調(diào)用邏輯編排,無需編程人員編寫大量的編碼實現(xiàn)多個api之間的組合和調(diào)用,減輕了編碼工作量,有效提高了api編排效率。
本文檔來自技高網(wǎng)...【技術(shù)保護點】
1.一種應(yīng)用程序編程接口編排方法,其特征在于,應(yīng)用于編排系統(tǒng)的編排引擎,所述編排系統(tǒng)還包含數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲有編排模版、接口模版和平臺模版;包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述任務(wù)棧中還包含子任務(wù)之間的依賴關(guān)系和每一子任務(wù)的狀態(tài);所述根據(jù)頂點活動網(wǎng)拓撲排序?qū)⑺鋈蝿?wù)棧中的子任務(wù)提交到線程池中,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述資源請求發(fā)送至所述資源服務(wù)系統(tǒng),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)庫中還包含回滾接口模版;所述方法還包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述子任務(wù)執(zhí)行消息還包含執(zhí)行通知消息;所述方法還包括:
7.根據(jù)權(quán)利要求2-6任一項所述的方法,其特征在于,所述方法還包括:
8.一種應(yīng)用程序編程接口編排裝置,其特征在于,應(yīng)用于編排系統(tǒng)的編排引擎,所述編排系統(tǒng)還包含數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲有編排模版、接口模版和平臺模版;包括:
9.一種電
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)中存儲有計算機執(zhí)行指令,所述計算機執(zhí)行指令被處理器執(zhí)行時用于實現(xiàn)如權(quán)利要求1至7任一項所述的方法。
...【技術(shù)特征摘要】
1.一種應(yīng)用程序編程接口編排方法,其特征在于,應(yīng)用于編排系統(tǒng)的編排引擎,所述編排系統(tǒng)還包含數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲有編排模版、接口模版和平臺模版;包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述任務(wù)棧中還包含子任務(wù)之間的依賴關(guān)系和每一子任務(wù)的狀態(tài);所述根據(jù)頂點活動網(wǎng)拓撲排序?qū)⑺鋈蝿?wù)棧中的子任務(wù)提交到線程池中,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述資源請求發(fā)送至所述資源服務(wù)系統(tǒng),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)庫中還包含回滾接口模版;所述方法還包括:
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張慧通,
申請(專利權(quán))人:中國聯(lián)合網(wǎng)絡(luò)通信集團有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。