自適應(yīng)服務(wù)超時(shí)的制作方法
【專利說明】自適應(yīng)服務(wù)超時(shí)
[0001] 以下申請(qǐng)要求標(biāo)題為"Adaptive Service Timeouts (自適應(yīng)服務(wù)超時(shí))"且于 2012年9月18日提交的具有申請(qǐng)?zhí)?3/622, 094的美國專利申請(qǐng)的優(yōu)先權(quán)和權(quán)益,所述專 利申請(qǐng)以引用的方式全文并入本文。
[0002] 發(fā)明背景
[0003] 超時(shí)可防止在處理高延遲服務(wù)調(diào)用中過度使用系統(tǒng)資源。具體而言,當(dāng)處理超時(shí) 時(shí),它們不再消耗系統(tǒng)資源。
[0004] 附圖簡述
[0005] 參考以下附圖可更好地理解本公開的許多方面。附圖中的組件未必按照比例繪 制,而是強(qiáng)調(diào)清楚地圖示本公開的原理。再者,在附圖中,貫穿若干視圖的相同的附圖標(biāo)記 指代對(duì)應(yīng)部件。
[0006] 圖1是根據(jù)本公開的各種實(shí)施方案的網(wǎng)絡(luò)環(huán)境的圖視。
[0007] 圖2是根據(jù)本公開的各種實(shí)施方案的圖示被實(shí)施為在圖1的網(wǎng)絡(luò)環(huán)境中的計(jì)算環(huán) 境中執(zhí)行的超時(shí)管理應(yīng)用程序的部分的功能的一個(gè)實(shí)例的流程圖。
[0008] 圖3是根據(jù)本公開的各種實(shí)施方案的圖示被實(shí)施為在圖1的網(wǎng)絡(luò)環(huán)境中的計(jì)算環(huán) 境中執(zhí)行的超時(shí)管理應(yīng)用程序的部分的服務(wù)依賴性功能的一個(gè)實(shí)例的流程圖。
[0009] 圖4是根據(jù)本公開的各種實(shí)施方案的提供在圖1的網(wǎng)絡(luò)環(huán)境中采用的計(jì)算環(huán)境的 一個(gè)實(shí)例圖示的示意性框圖。
【具體實(shí)施方式】
[0010] 服務(wù)導(dǎo)向式架構(gòu)執(zhí)行超時(shí)以在進(jìn)行調(diào)用高延遲服務(wù)時(shí)防止過度使用系統(tǒng)資源。這 樣防止高延遲服務(wù)壟斷或?yàn)E用系統(tǒng)資源,從而以競爭相同系統(tǒng)資源的其它服務(wù)為代價(jià)來解 析其調(diào)用。超時(shí)通常是預(yù)設(shè)值,其相對(duì)于被執(zhí)行的服務(wù)和在所述被執(zhí)行的服務(wù)上調(diào)用的服 務(wù)被定義。這阻礙超時(shí)值適用于各種系統(tǒng)狀態(tài)。例如,在低的總體系統(tǒng)使用時(shí)期中,可增加 用于服務(wù)的超時(shí)。這將允許服務(wù)有更多時(shí)間訪問系統(tǒng)資源以解析它們的調(diào)用。這還降低服 務(wù)調(diào)用失敗的次數(shù),而不影響其它服務(wù)。作為另一實(shí)例,在高的系統(tǒng)資源使用率時(shí)期,可減 少用于高延遲的超時(shí)。這可導(dǎo)致有關(guān)該服務(wù)的更多次失敗,而將允許其它服務(wù)完成它們的 服務(wù)調(diào)用。
[0011] 根據(jù)各種實(shí)施方案,超時(shí)管理應(yīng)用程序允許服務(wù)的超時(shí)被重新定義,以便適應(yīng)其 中它們被實(shí)施的環(huán)境的狀態(tài)??苫诜?wù)延遲和使用中的系統(tǒng)資源的量來增加或減少超 時(shí)。超時(shí)管理應(yīng)用程序在修改超時(shí)值時(shí)還可考慮服務(wù)依賴性。例如,父服務(wù)可調(diào)用若干子 服務(wù),并且父服務(wù)和子服務(wù)二者具有它們自己的超時(shí)。可修改子服務(wù)或父服務(wù)超時(shí),以確保 超時(shí)滿足相對(duì)彼此的預(yù)定義標(biāo)準(zhǔn)。這些依賴性還可影響哪個(gè)服務(wù)被修改以便適應(yīng)系統(tǒng)使用 量。超時(shí)管理應(yīng)用程序可執(zhí)行對(duì)修改獨(dú)立服務(wù)的偏好,以使受影響的服務(wù)的數(shù)量最小化。在 另一實(shí)例中,超時(shí)管理應(yīng)用程序可能想要修改許多其它服務(wù)依賴的服務(wù)的超時(shí),以確保使 服務(wù)可用性最大化。
[0012] 此外,超時(shí)管理應(yīng)用程序的適應(yīng)能力可考慮與所述服務(wù)相關(guān)聯(lián)的各個(gè)層或優(yōu)先 級(jí),以確保高優(yōu)先級(jí)或?qū)臃?wù)具有最大化的可用性。在以下討論中,提供了系統(tǒng)及其組件的 一般描述,緊接著提供對(duì)系統(tǒng)及其組件的操作的討論。
[0013] 參考圖1,示出了根據(jù)各種實(shí)施方案的網(wǎng)絡(luò)環(huán)境100。網(wǎng)絡(luò)環(huán)境100包括計(jì)算環(huán) 境101和客戶端104,它們經(jīng)由網(wǎng)絡(luò)107彼此數(shù)據(jù)通信。網(wǎng)絡(luò)107包括,例如,互聯(lián)網(wǎng)、內(nèi)聯(lián) 網(wǎng)、外聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)或其它合適的網(wǎng)絡(luò)等、或兩個(gè) 或更多個(gè)這種網(wǎng)絡(luò)的任何組合。
[0014] 計(jì)算環(huán)境101可包括,例如,提供計(jì)算能力的服務(wù)器計(jì)算機(jī)或任何其它系統(tǒng)。替代 地,計(jì)算環(huán)境101可采用可被用于布置成(例如)一個(gè)或多個(gè)服務(wù)器組或計(jì)算機(jī)組或其它 布置的多個(gè)計(jì)算設(shè)備。這種計(jì)算設(shè)備可位于單個(gè)安裝中或可分布在許多不同的地理位置 中。例如,計(jì)算環(huán)境101可包括多個(gè)計(jì)算設(shè)備,其一起包括云計(jì)算資源、網(wǎng)格計(jì)算資源和/ 或任何其它分布式計(jì)算布置。在一些情況下,計(jì)算環(huán)境101可對(duì)應(yīng)于彈性計(jì)算資源,其中處 理、網(wǎng)絡(luò)、存儲(chǔ)或其它計(jì)算相關(guān)的資源的分配容量可隨時(shí)間變化。
[0015] 根據(jù)各種實(shí)施方案,可在計(jì)算環(huán)境101中執(zhí)行各種應(yīng)用程序和/或其它功能。此 外,將各種數(shù)據(jù)存儲(chǔ)于對(duì)計(jì)算環(huán)境101可訪問的數(shù)據(jù)存儲(chǔ)111中。如可理解,數(shù)據(jù)存儲(chǔ)111 可表示多個(gè)數(shù)據(jù)存儲(chǔ)111。存儲(chǔ)于數(shù)據(jù)存儲(chǔ)111中的數(shù)據(jù)(例如)與下文描述的各種應(yīng)用 程序和/或功能實(shí)體的操作相關(guān)聯(lián)。
[0016] 在計(jì)算環(huán)境101上執(zhí)行的組件例如包括超時(shí)管理應(yīng)用程序114、多個(gè)服務(wù)117和 本文中未詳細(xì)討論的其它應(yīng)用程序、服務(wù)、進(jìn)程、系統(tǒng)、引擎或功能。執(zhí)行超時(shí)管理應(yīng)用程序 114以基于計(jì)算環(huán)境101的狀態(tài)而修改對(duì)應(yīng)于相應(yīng)的一對(duì)被執(zhí)行服務(wù)117的超時(shí)121。
[0017] 服務(wù)117包括響應(yīng)于調(diào)用而執(zhí)行一些動(dòng)作或返回一些數(shù)據(jù)的功能。服務(wù)117可 包括服務(wù)網(wǎng)絡(luò)頁面、從數(shù)據(jù)存儲(chǔ)讀取數(shù)據(jù)或?qū)?shù)據(jù)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)中、執(zhí)行數(shù)據(jù)轉(zhuǎn)換、與 其它應(yīng)用程序通信、管理網(wǎng)絡(luò)流量的功能或一些其它功能。服務(wù)117可在表述性狀態(tài)轉(zhuǎn)移 (RESTful)架構(gòu)中或一些其它架構(gòu)中體現(xiàn)。服務(wù)117可能需要執(zhí)行一個(gè)或多個(gè)子服務(wù)117 以完成對(duì)服務(wù)117的調(diào)用。服務(wù)117可被執(zhí)行并調(diào)用以促進(jìn)處理客戶端104發(fā)送的請(qǐng)求 122,從而生成響應(yīng)123或用于其它用途。
[0018] 在計(jì)算環(huán)境101中執(zhí)行的服務(wù)117中的每一個(gè)與至少一個(gè)超時(shí)121相關(guān)聯(lián)。被調(diào) 用服務(wù)117可具有許多超時(shí)121,每個(gè)超時(shí)對(duì)應(yīng)于調(diào)用被調(diào)用服務(wù)117的不同服務(wù)117。超 時(shí)121定義最大的時(shí)間閾值以完成對(duì)服務(wù)117的調(diào)用。如果服務(wù)117在超時(shí)121內(nèi)無法完 成調(diào)用,那么服務(wù)117向調(diào)用源返回錯(cuò)誤。
[0019] 服務(wù)117中的每一個(gè)還對(duì)應(yīng)于指示其需要用來完成對(duì)服務(wù)117中的對(duì)應(yīng)一個(gè)的調(diào) 用的時(shí)間的延遲。所述延遲可能受計(jì)算環(huán)境101中相對(duì)于系統(tǒng)資源的總?cè)萘康谋皇褂孟到y(tǒng) 資源的量影響。例如,當(dāng)處理許多服務(wù)117調(diào)用或當(dāng)被調(diào)用的服務(wù)117計(jì)算量太大時(shí),計(jì)算 環(huán)境101可具有大量被使用的系統(tǒng)資源,導(dǎo)致在一些服務(wù)117中增加延遲。
[0020] 存儲(chǔ)于數(shù)據(jù)存儲(chǔ)111中的數(shù)據(jù)包括(例如)數(shù)據(jù)體現(xiàn)服務(wù)層124、服務(wù)優(yōu)先級(jí)列表 127、依賴性模型131和潛在的其它數(shù)據(jù)。服務(wù)層124表示對(duì)被執(zhí)行的服務(wù)117分成一個(gè)或 多個(gè)組。所述分組可能相互排斥或允許服務(wù)117屬于多個(gè)組。所述分組可能自行排列或排 序成一些層級(jí)。所述分組還可基于被包括服務(wù)117的一些質(zhì)量評(píng)定,諸如優(yōu)先級(jí)。
[0021] 服務(wù)優(yōu)先級(jí)列表127基于被執(zhí)行的服務(wù)117的可用性優(yōu)先級(jí)來體現(xiàn)它們的排列。 服務(wù)優(yōu)先級(jí)列表127可包括被執(zhí)行的服務(wù)117或其子集的全部??筛鶕?jù)一個(gè)或多個(gè)預(yù)定義 條件來存儲(chǔ)多個(gè)服務(wù)優(yōu)先級(jí)列表127用于檢索。
[0022] 依賴性模型131體現(xiàn)被執(zhí)行的服務(wù)117之間的關(guān)系和依賴性。依賴性模型131的 結(jié)構(gòu)可體現(xiàn)為樹形、一些其它非周期性有向圖或另一種數(shù)據(jù)結(jié)構(gòu)。依賴性模型131中表示 服務(wù)117的節(jié)點(diǎn)可根據(jù)在執(zhí)行期間調(diào)用其它服務(wù)117的服務(wù)117而與父節(jié)點(diǎn)或子節(jié)點(diǎn)相 關(guān)。依賴性模型131可體現(xiàn)完全連接圖或可允許獨(dú)立節(jié)點(diǎn)。
[0023] 客戶端104表示可耦接到網(wǎng)絡(luò)107的多個(gè)客戶端設(shè)備??蛻舳?04可包括(例如) 基于處理器的系統(tǒng),諸如計(jì)算機(jī)系統(tǒng)。這種計(jì)算機(jī)系統(tǒng)可體現(xiàn)為以下形式:臺(tái)式計(jì)算機(jī)、膝 上型計(jì)算機(jī)、個(gè)人數(shù)字助理、蜂窩電話、智能電話、機(jī)頂盒、音樂播放器、便攜式網(wǎng)絡(luò)瀏覽器、 平板計(jì)算機(jī)系統(tǒng)、游戲機(jī)、電子書閱讀器或具有相似能力的其它設(shè)備。
[0024] 客戶端104可被配置來執(zhí)行各種應(yīng)用程序,諸如客戶端應(yīng)用程序142和/或其它 應(yīng)用程序。例如,可在客戶端104中執(zhí)行客戶端應(yīng)用程序142,以訪問由計(jì)算環(huán)境101和/ 或其它服務(wù)器提供服務(wù)的網(wǎng)絡(luò)內(nèi)容。客戶端應(yīng)用程序142可(例如)對(duì)應(yīng)于瀏覽器、移動(dòng) 應(yīng)用程序等??蛻舳?04可被配置來執(zhí)行客戶端應(yīng)用程序142以外的應(yīng)用程序,諸如(例 如)瀏覽器、移動(dòng)應(yīng)用程序、電子郵件應(yīng)用程序、社交網(wǎng)絡(luò)應(yīng)用程序和/或其它應(yīng)用程序。
[0025] 客戶端104可將請(qǐng)求122傳送到計(jì)算環(huán)境101以獲取響應(yīng)123。這些請(qǐng)求122可 包括對(duì)將由計(jì)算環(huán)境101服務(wù)的網(wǎng)頁的請(qǐng)求、對(duì)將在計(jì)算環(huán)境101上執(zhí)行的一些功能或應(yīng) 用程序的請(qǐng)求或另一類型的請(qǐng)求。所述請(qǐng)求可通過超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議 (FTP)、簡單對(duì)象訪問協(xié)議(SOAP)、簡單郵件傳輸協(xié)議(SMTP)、通過另一種協(xié)議或通過一些 其它途徑進(jìn)行傳送。傳送請(qǐng)求122可由客戶端應(yīng)用程序142促成。例如,對(duì)網(wǎng)頁的請(qǐng)求122 可由瀏覽器客戶端應(yīng)用程序142促成。還可執(zhí)行其它客戶端應(yīng)用程序142,以促進(jìn)請(qǐng)求122 到計(jì)算環(huán)境101的傳送。
[0026] 接下來,提供了網(wǎng)絡(luò)環(huán)境100的各個(gè)組件的操作的一般描述。首先,計(jì)算環(huán)境101 執(zhí)行一個(gè)或多個(gè)服務(wù)117,以便促進(jìn)對(duì)由客戶端104傳送的請(qǐng)求122的處理和響應(yīng)123的 生成。超時(shí)管理應(yīng)用程序114獲取對(duì)應(yīng)于被執(zhí)行的服務(wù)117中的每一個(gè)的延遲信息。在一 些實(shí)施方案中,可從監(jiān)測進(jìn)程獲取延遲數(shù)據(jù)。例如,服務(wù)117可將延遲數(shù)據(jù)報(bào)告給對(duì)監(jiān)測進(jìn) 程可訪問的日志,所述監(jiān)測進(jìn)程隨后聚合數(shù)據(jù)用于傳送到超時(shí)管理應(yīng)用程序114。服務(wù)117 可以預(yù)定義間隔或響應(yīng)于一些事件將延遲數(shù)據(jù)傳送到日志。延遲數(shù)據(jù)可包括在傳送到日志 時(shí)的最近延遲,或在一段時(shí)間內(nèi)聚合的延遲數(shù)據(jù)。延遲數(shù)據(jù)還可通過另一種途徑傳送到日 )'、O
[0027] 在另一實(shí)施方案中,可通過查詢服務(wù)117的功能來獲取延遲數(shù)據(jù)。例如,服務(wù)117 可包括維護(hù)延遲數(shù)據(jù)的功能和響應(yīng)于對(duì)服務(wù)117的特定調(diào)用而返回延遲數(shù)據(jù)的功能。延遲 數(shù)據(jù)還可通過根據(jù)來自調(diào)用服務(wù)117的實(shí)體的數(shù)據(jù)來確定延遲而獲取。超時(shí)管理應(yīng)用程序 114還可使用其它技術(shù)來獲取延遲數(shù)據(jù)。
[0028] 超時(shí)管理應(yīng)用程序114隨后確定在計(jì)算環(huán)境101中相對(duì)于計(jì)算環(huán)境101的總?cè)萘?的被使用系統(tǒng)資源的量。系統(tǒng)資源的量可根據(jù)所獲取的延遲數(shù)據(jù)以及其它數(shù)據(jù)、信息和日 志來確定。超時(shí)管理應(yīng)用程序114可隨后響應(yīng)于與被使用