一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云計(jì)算服務(wù)領(lǐng)域,特別涉及一種云運(yùn)維管理方法。
【背景技術(shù)】
[0002] 在云數(shù)據(jù)中心上運(yùn)行的應(yīng)用系統(tǒng)的版本、部署或配置很少是一成不變的。很多互 聯(lián)網(wǎng)公司每天需要對(duì)他們在云數(shù)據(jù)中心上運(yùn)行的應(yīng)用系統(tǒng)進(jìn)行幾十次或更多的升級(jí)。而云 用戶在對(duì)云數(shù)據(jù)中心上運(yùn)行的應(yīng)用系統(tǒng)進(jìn)行運(yùn)維操作(例如部署、升級(jí)、重新配置等)時(shí), 不管是通過web界面、命令行界面還是專門的工具執(zhí)行,本質(zhì)上都是調(diào)用云應(yīng)用程序編程 接口來完成運(yùn)維操作。
[0003] 通過對(duì)于全球各云服務(wù)的官方客戶技術(shù)支持論壇中有關(guān)云應(yīng)用程序編程接口失 效問題進(jìn)行的系統(tǒng)性的調(diào)查,以及對(duì)于各個(gè)云服務(wù)的應(yīng)用程序編程接口調(diào)用返回時(shí)間進(jìn)行 的一系列的實(shí)驗(yàn),發(fā)現(xiàn)云應(yīng)用程序編程接口存在著嚴(yán)重的返回超時(shí)問題,即當(dāng)云用戶向云 數(shù)據(jù)中心發(fā)出云應(yīng)用程序編程接口調(diào)用請求時(shí),經(jīng)常發(fā)生調(diào)用接口的輸出服務(wù)返回時(shí)間過 慢或返回時(shí)間變化從十幾秒到幾天不等。
[0004] 因此,云應(yīng)用程序編程接口調(diào)用返回超時(shí)問題直接影響了云用戶在云數(shù)據(jù)中心上 運(yùn)行的應(yīng)用系統(tǒng)的性能和可靠性。如何解決云應(yīng)用程序編程接口調(diào)用返回超時(shí),是目前云 計(jì)算服務(wù)領(lǐng)域亟待解決的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提出一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,在原有云應(yīng)用程序編程接 口的基礎(chǔ)上,提供云應(yīng)用程序編程接口調(diào)用的容錯(cuò)處理,加入超時(shí)容忍機(jī)制、計(jì)時(shí)器模塊、 時(shí)間文件、花費(fèi)評(píng)估模塊等,實(shí)現(xiàn)云應(yīng)用程序編程接口的智能容錯(cuò)調(diào)用。
[0006] 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007] -種云應(yīng)用編程程序接口的容錯(cuò)調(diào)用方法,包括以下步驟:
[0008] 步驟(A),通過時(shí)間文件確定接口調(diào)用超時(shí)時(shí)間約束T1;
[0009] 步驟⑶,利用步驟(A)得出的接口調(diào)用超時(shí)時(shí)間約束,進(jìn)行云應(yīng)用程序編程接 口的調(diào)用。
[0010] 可選地,所述步驟(A)中,通過時(shí)間文件確定接口調(diào)用超時(shí)時(shí)間約束1\,具體包括 以下步驟:
[0011]步驟(A1),配置最初的超時(shí)時(shí)間T。;
[0012] 步驟(A2),排序時(shí)間文件所記錄的接口歷史調(diào)用時(shí)間數(shù)據(jù)集T = (ti,t2,…,tn}, 生成遞增數(shù)據(jù)集T' = (t' pt' 2,…,^ n};
[0013] 步驟(A3),求得數(shù)據(jù)集中值為:
[0014] i.
[0015] 步驟(A4),若 Tmid<T。,則 I\= Tmid;否則 I\= T0。
[0016] 可選地,所述步驟(B)中,利用步驟(A)得出的接口調(diào)用超時(shí)時(shí)間約束1\,進(jìn)行云 應(yīng)用程序編程接口的調(diào)用,具體包括以下步驟:
[0017] 步驟(B1),云用戶發(fā)出接口調(diào)用請求;
[0018] 步驟(B2),接收到接口調(diào)用請求后,同時(shí)向云平臺(tái)發(fā)出兩個(gè)相同的接口調(diào)用請求, 計(jì)時(shí)器開始計(jì)時(shí)并獲取所述步驟(A)中該請求的超時(shí)時(shí)間約束T 1;
[0019] 步驟(B3),若1\時(shí)間內(nèi)測試到至少一個(gè)請求成功,該請求視為成功,結(jié)束另一個(gè)接 口調(diào)用請求,轉(zhuǎn)步驟(B6);否則,轉(zhuǎn)步驟(B4);
[0020] 步驟(B4),向云平臺(tái)重新發(fā)送一個(gè)接口調(diào)用請求,同時(shí)選擇步驟(B2)中任意一個(gè) 接口調(diào)用請求執(zhí)行其強(qiáng)制完成請求,若時(shí)間內(nèi)測試到至少一個(gè)接口請求返回成功,仍視 為接口請求成功,轉(zhuǎn)步驟(B6);否則,轉(zhuǎn)步驟(B5);
[0021] 步驟(B5),獲取接口調(diào)用的狀態(tài),如果檢測到調(diào)用成功完成,則轉(zhuǎn)步驟(B6);否 貝U,轉(zhuǎn)步驟(B7);
[0022] 步驟(B6),標(biāo)記接口調(diào)用的狀態(tài)為完成狀態(tài),將請求時(shí)間記錄到時(shí)間文件,同時(shí)計(jì) 算本次接口調(diào)用花費(fèi),記錄到花費(fèi)文件,結(jié)束此次調(diào)用;
[0023] 步驟(B7),標(biāo)記接口調(diào)用的狀態(tài)為失效,結(jié)束此次調(diào)用。
[0024] 可選地,所述步驟(B5)中,通過替代方法間接獲取接口調(diào)用的狀態(tài)。
[0025] 可選地,所述步驟(B5)中,調(diào)用一個(gè)云虛擬機(jī)的啟動(dòng)操作接口,通過檢測該云虛 擬機(jī)的IP地址是否可達(dá)來判斷該云虛擬機(jī)是否成功啟動(dòng)。
[0026] 本發(fā)明的有益效果是:
[0027] (1)有效地降低了云應(yīng)用程序編程接口的調(diào)用時(shí)間;
[0028] (2)提高了云用戶在云數(shù)據(jù)中心上運(yùn)行的應(yīng)用系統(tǒng)的性能和可靠性。
【附圖說明】
[0029] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0030] 圖1為本發(fā)明一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法的系統(tǒng)結(jié)構(gòu)圖;
[0031] 圖2為本發(fā)明一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法的流程圖。
【具體實(shí)施方式】
[0032] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033] 云應(yīng)用程序編程接口調(diào)用返回超時(shí)問題直接影響了云用戶在云數(shù)據(jù)中心上運(yùn)行 的應(yīng)用系統(tǒng)的性能和可靠性,本發(fā)明提出一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,如圖 1所示,本發(fā)明在原有云應(yīng)用程序編程接口的基礎(chǔ)上,提供應(yīng)用程序編程接口調(diào)用的容錯(cuò)處 理,加入超時(shí)容錯(cuò)機(jī)制、計(jì)時(shí)器模塊、時(shí)間文件、花費(fèi)評(píng)估模塊等,實(shí)現(xiàn)云應(yīng)用程序編程接口 的智能容錯(cuò)調(diào)用,避免了指標(biāo)設(shè)置過于主觀,使得結(jié)果更加公正、客觀;而且,對(duì)外提供了新 的可靠接口,可供云用戶進(jìn)行升級(jí)、恢復(fù)、遷移等各種日常運(yùn)維操作。
[0034] 下面結(jié)合圖1和圖2對(duì)本發(fā)明的云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法進(jìn)行詳細(xì)說 明。
[0035] 本發(fā)明的云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,運(yùn)行過程包括以下步驟:
[0036] 步驟(A),通過時(shí)間文件確定接口調(diào)用超時(shí)時(shí)間約束,具體方法如下:
[0037] 步驟(A1),配置最初的超時(shí)時(shí)間T0;
[0038] 步驟(A2),排序時(shí)間文件所記錄的接口歷史調(diào)用時(shí)間數(shù)據(jù)集T = ,…,tn}, 生成遞增數(shù)據(jù)集T' = (t' pt' 2,…,^ n};
[0039] 步驟(A3),求得數(shù)據(jù)集中值為:
[0040]
【主權(quán)項(xiàng)】
1. 一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,其特征在于,包括以下步驟: 步驟(A),通過時(shí)間文件確定接口調(diào)用超時(shí)時(shí)間約束T1; 步驟(B),利用步驟(A)得出的接口調(diào)用超時(shí)時(shí)間約束1\,進(jìn)行云應(yīng)用程序編程接口的 調(diào)用。
2. 如權(quán)利要求1所述的一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,其特征在于,所述 步驟(A)中,通過時(shí)間文件確定接口調(diào)用超時(shí)時(shí)間約束1\,具體包括以下步驟: 步驟(A1),配置最初的超時(shí)時(shí)間I;; 步驟(A2),排序時(shí)間文件所記錄的接口歷史調(diào)用時(shí)間數(shù)據(jù)集T= ,…,tn},生成 遞增數(shù)據(jù)集T' ={Vpt' 2,…,t'J; 步驟(A3),求得數(shù)據(jù)集中值為:
步驟(A4),若Tmid<T。,則I\=Tmid;否則TT。。
3. 如權(quán)利要求1所述的一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,其特征在于,所述 步驟⑶中,利用步驟(A)得出的接口調(diào)用超時(shí)時(shí)間約束1\,進(jìn)行云應(yīng)用程序編程接口的調(diào) 用,具體包括以下步驟: 步驟(B1),云用戶發(fā)出接口調(diào)用請求; 步驟(B2),接收到接口調(diào)用請求后,同時(shí)向云平臺(tái)發(fā)出兩個(gè)相同的接口調(diào)用請求,計(jì)時(shí) 器開始計(jì)時(shí)并獲取所述步驟(A)中該接口調(diào)用請求的超時(shí)時(shí)間約束T1; 步驟(B3),若時(shí)間內(nèi)測試到至少一個(gè)接口調(diào)用請求成功,該接口調(diào)用請求視為成功, 結(jié)束另一個(gè)接口調(diào)用請求,轉(zhuǎn)步驟(B6);否則,轉(zhuǎn)步驟(B4); 步驟(B4),向云平臺(tái)重新發(fā)送一個(gè)接口調(diào)用請求,同時(shí)選擇步驟(B2)中任意一個(gè)接口 調(diào)用請求執(zhí)行其強(qiáng)制完成請求,若時(shí)間內(nèi)測試到至少一個(gè)接口調(diào)用請求返回成功,仍視 為及接口調(diào)用請求成功,轉(zhuǎn)步驟(B6);否則,轉(zhuǎn)步驟(B5); 步驟(B5),獲取接口調(diào)用的狀態(tài),如果檢測到接口調(diào)用成功完成,則轉(zhuǎn)步驟(B6);否 貝U,轉(zhuǎn)步驟(B7); 步驟(B6),標(biāo)記接口調(diào)用的狀態(tài)為完成狀態(tài),將請求時(shí)間記錄到時(shí)間文件,同時(shí)計(jì)算本 次接口調(diào)用花費(fèi),記錄到花費(fèi)文件,結(jié)束此次接口調(diào)用; 步驟(B7),標(biāo)記接口調(diào)用的狀態(tài)為失效,結(jié)束此次接口調(diào)用。
4. 如權(quán)利要求3所述的一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,其特征在于,所述 步驟(B5)中,通過替代方法間接獲取接口調(diào)用的狀態(tài)。
5. 如權(quán)利要求4所述的一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,其特征在于,所述 步驟(B5)中,調(diào)用一個(gè)云虛擬機(jī)的啟動(dòng)操作接口,通過檢測該云虛擬機(jī)的IP地址是否可達(dá) 來判斷該虛擬機(jī)是否成功啟動(dòng)。
【專利摘要】本發(fā)明提出了一種云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法,在原有云應(yīng)用程序編程接口的基礎(chǔ)上,提供應(yīng)用程序編程接口調(diào)用的錯(cuò)誤容忍處理,加入超時(shí)容錯(cuò)機(jī)制、計(jì)時(shí)器模塊、時(shí)間文件、花費(fèi)評(píng)估模塊等,包括以下步驟:步驟(A),通過時(shí)間文件確定接口調(diào)用超時(shí)時(shí)間約束Tl;步驟(B),利用步驟(A)得出的接口調(diào)用超時(shí)時(shí)間約束Tl,進(jìn)行云應(yīng)用程序編程接口的調(diào)用。本發(fā)明的云應(yīng)用程序編程接口的容錯(cuò)調(diào)用方法實(shí)現(xiàn)了云應(yīng)用程序編程接口的智能容錯(cuò)調(diào)用。
【IPC分類】G06F9-46, G06F9-455, G06F11-07
【公開號(hào)】CN104572267
【申請?zhí)枴緾N201510011850
【發(fā)明人】盧清華, 李杉杉, 張衛(wèi)山
【申請人】中國石油大學(xué)(華東)
【公開日】2015年4月29日
【申請日】2015年1月5日