国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種自適應(yīng)資源分配方法及裝置與流程

      文檔序號:12789420閱讀:522來源:國知局
      一種自適應(yīng)資源分配方法及裝置與流程

      本申請屬于信息處理技術(shù)領(lǐng)域,尤其涉及一種自適應(yīng)資源分配方法及裝置。



      背景技術(shù):

      在線交易庫,一般指的是存放在線交易OLTP(Online Transaction Processing,聯(lián)機事務(wù)處理)數(shù)據(jù)的數(shù)據(jù)庫,該在線交易庫提供的是在線交易服務(wù),對請求的響應(yīng)時間十分敏感。

      數(shù)據(jù)倉庫,一般指的是以提供在線數(shù)據(jù)分析OLAP(Online Analytical Processing,聯(lián)機分析處理)和商業(yè)智能(BI,Business Intelligence)功能為目的數(shù)據(jù)庫,相對于在線交易庫來說,數(shù)據(jù)倉庫一次請求訪問的數(shù)據(jù)量很大,對響應(yīng)時間不是特別敏感。

      數(shù)據(jù)庫系統(tǒng)通常用來滿足兩個大的方面的業(yè)務(wù)需求:1、滿足關(guān)鍵的在線交易型業(yè)務(wù)的需求,需要支持完整的具備ACID(原子性Atomicity、一致性Consistency、隔離性Isolation、持久性Durability)特性的事務(wù)、具有非常短的請求響應(yīng)時間和較大的吞吐率;2、滿足數(shù)據(jù)挖掘和商務(wù)智能等分析型業(yè)務(wù)需求,分析型業(yè)務(wù)對事務(wù)的要求比較弱,但是單個請求訪問的數(shù)據(jù)量很大(百千萬行、上億行),語句復(fù)雜,執(zhí)行單個請求消耗的資源多,響應(yīng)時間也相對較長,需要幾分鐘到若干小時不等。由于數(shù)據(jù)倉庫中的數(shù)據(jù)通常定期從在線交易庫中導(dǎo)入,所以數(shù)據(jù)倉庫的時效性比在線交易庫要差一些。

      當(dāng)前在大多數(shù)企業(yè)中,上述兩個數(shù)據(jù)庫系統(tǒng)(在線交易庫和數(shù)據(jù)倉庫)是獨立的,通過ETL系統(tǒng)和工具,定期將在線交易庫中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)倉庫中進(jìn)行分析。隨著業(yè)務(wù)發(fā)展的要求,越來越多的用戶希望在一個數(shù)據(jù)庫系統(tǒng)能夠同時支持在線交易業(yè)務(wù)和分析型業(yè)務(wù),減少數(shù)據(jù)的搬遷和冗余的存儲,同時能夠?qū)崟r分析最新的交易數(shù)據(jù)。

      在線交易庫和數(shù)據(jù)倉庫的融合帶來了一個問題,由于系統(tǒng)資源的總量有限而分析型查詢請求又總是會消耗大量的系統(tǒng)資源,對在線交易應(yīng)用產(chǎn)生很大的影響,例如:引起對延時十分敏感的在線交易事務(wù)超時或者積壓,對核心業(yè)務(wù)造成損失。

      為了解決這個問題,部分?jǐn)?shù)據(jù)庫廠商也提供了解決方案。一個被廣泛采用的方案是進(jìn)行用戶資源管理,為不同的用戶靜態(tài)設(shè)置不用的資源池,該資源池包括CPU(Central Processing Unit,中央處理器)、內(nèi)存、IOPS(Input/Output Operations Per Second,每秒讀寫操作次數(shù))等資源。在一個部署混合業(yè)務(wù)的數(shù)據(jù)庫系統(tǒng)中,為交易型業(yè)務(wù)和分析型業(yè)務(wù)各自使用不同的用戶,配置不同的資源池。通過這種方案,在實現(xiàn)得比較好的系統(tǒng)中,這兩類業(yè)務(wù)就能基本做到資源使用互相不影響。

      上述靜態(tài)預(yù)配置資源方案雖然能夠部分解決不同類型業(yè)務(wù)相互影響的問題,但是缺點也很明顯。

      第一,管理員無法合理地在不同業(yè)務(wù)間進(jìn)行資源分配。但是,資源合理分配需要對兩類業(yè)務(wù)執(zhí)行時的資源消耗有準(zhǔn)確的度量。由于業(yè)務(wù)的復(fù)雜和多變,對資源的消耗通常不是一個穩(wěn)定的值,而是一個隨著時間周期不斷變化的值,一個淺顯的例子就是每類業(yè)務(wù)都有高峰期和低谷期,以業(yè)務(wù)高峰時的值來確定該類業(yè)務(wù)的分配和以低谷時的值來確定該類業(yè)務(wù)的分配顯然會是兩個截然不同的值。

      第二,預(yù)置的資源配額也不利于資源的充分利用,以在線交易型業(yè)務(wù)和分析型業(yè)務(wù)為例,這兩類業(yè)務(wù)有很明顯的時間周期特性,除了促銷等特殊時點外,在線交易型業(yè)務(wù)的高峰期通常在白天,深夜通常是低谷期;但分析型業(yè)務(wù)往往是做周期性統(tǒng)計的,例如日結(jié)或者月結(jié),高峰期大多數(shù)在夜間。

      因此,多數(shù)情況下無法事先確定在線交易型業(yè)務(wù)和分析型業(yè)務(wù)的實際資源使用情況,并且這兩種類型的業(yè)務(wù)都會有高峰期和低谷期,且峰谷期對資源的需求截然不同,對系統(tǒng)管理員來說,很難做到預(yù)先設(shè)定合理的資源配額。

      針對傳統(tǒng)的靜態(tài)預(yù)配置資源方案無法根據(jù)資源使用情況實時調(diào)整資源配額的問題,目前尚未提出有效的解決方案。



      技術(shù)實現(xiàn)要素:

      本申請目的在于提供一種自適應(yīng)資源分配方法及裝置,可以自適應(yīng)地調(diào)整不同時間段內(nèi)的不同類型業(yè)務(wù)的資源配額,以達(dá)到既保證核心業(yè)務(wù)能夠穩(wěn)定運行,又能充分利用系統(tǒng)資源的目的。

      本申請?zhí)峁┮环N自適應(yīng)資源分配方法及裝置是這樣實現(xiàn)的:

      一種自適應(yīng)資源分配方法,所述方法包括:統(tǒng)計一個周期內(nèi)每個業(yè)務(wù)語句的請求時間、實際執(zhí)行時間和響應(yīng)時間;根據(jù)所述請求時間,確定每個業(yè)務(wù)語句所屬的所述一個周期的不同時間段;根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的所述實際執(zhí)行時間和所述響應(yīng)時間,確定每個業(yè)務(wù)語句的類型,并調(diào)整下一個周期的同一時間段內(nèi)不同類型業(yè)務(wù)語句的資源配額。

      一種自適應(yīng)資源分配裝置,所述裝置包括:統(tǒng)計單元,用于統(tǒng)計一個周期內(nèi)每個業(yè)務(wù)語句的請求時間、實際執(zhí)行時間和響應(yīng)時間;劃分單元,用于根據(jù)所述請求時間,確定每個業(yè)務(wù)語句所屬的所述一個周期的不同時間段;類型確定單元,用于根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的所述實際執(zhí)行時間和所述響應(yīng)時間,確定每個業(yè)務(wù)語句的類型;調(diào)整單元,用于調(diào)整下一個周期的同一時間段內(nèi)不同類型業(yè)務(wù)語句的資源配額。

      通過本申請?zhí)峁┑淖赃m應(yīng)資源分配方法及裝置,系統(tǒng)能夠根據(jù)運行期間接收到的業(yè)務(wù)請求類型及不同類型業(yè)務(wù)請求的負(fù)載情況,自適應(yīng)地調(diào)整不同時間段內(nèi)不同類型業(yè)務(wù)的資源配比,以達(dá)到既保證核心業(yè)務(wù)(例如交易型業(yè)務(wù))能夠穩(wěn)定運行,又能充分利用系統(tǒng)資源的目的。

      附圖說明

      為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是本申請?zhí)岢龅淖赃m應(yīng)資源分配方法的一種實施例的方法流程圖;

      圖2是本申請所述自適應(yīng)資源分配裝置一種實施例的結(jié)構(gòu)示意圖;

      圖3是本申請所述類型確定單元一種實施例的結(jié)構(gòu)示意圖;

      圖4是本申請所述調(diào)整單元一種實施例的結(jié)構(gòu)示意圖;

      圖5是應(yīng)用本申請所述自適應(yīng)資源分配方案的系統(tǒng)的結(jié)構(gòu)示意圖。

      具體實施方式

      為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。

      關(guān)于本文中所使用的“第一”、“第二”、…等,并非特別指稱次序或順位的意思,也非用以限定本發(fā)明,其僅為了區(qū)別以相同技術(shù)用語描述的元件或操作。

      對于交易型業(yè)務(wù)和分析型業(yè)務(wù)的資源分配,由于多數(shù)情況下無法事先確定二者的實際資源使用情況,因此系統(tǒng)管理員很難做到預(yù)先設(shè)定合理的資源配額。在系統(tǒng)實際運作過程中,交易型業(yè)務(wù)和分析型業(yè)務(wù)有較好的時間周期互補性,相對于靜態(tài)預(yù)配置資源分配方案,更佳的方案是系統(tǒng)能夠根據(jù)業(yè)務(wù)的周期性動態(tài)調(diào)整資源分配,在交易型業(yè)務(wù)的高峰期,需要將資源更多地配置給交易型業(yè)務(wù),限制分析型業(yè)務(wù)使用的資源總量;在交易型業(yè)務(wù)的低谷期,可以將資源更多地配置給分析型業(yè)務(wù),有利于充分利用資源,快速完成分析任務(wù),拿到供決策使用的分析結(jié)果。基于此,本申請?zhí)峁┝艘环N自適應(yīng)資源分配方法及裝置。

      下面結(jié)合附圖對本申請所述的自適應(yīng)資源分配方法及裝置進(jìn)行詳細(xì)的說明。圖1是本申請?zhí)岢龅淖赃m應(yīng)資源分配方法的一種實施例的方法流程圖。雖然本申請?zhí)峁┝巳缦率鰧嵤├蚋綀D所示的方法操作步驟或裝置結(jié)構(gòu),但基于常規(guī)或者無需創(chuàng)造性的勞動在所述方法或裝置中可以包括更多或者更少的操作步驟或模塊結(jié)構(gòu)。在邏輯性上不存在必要因果關(guān)系的步驟或結(jié)構(gòu)中,這些步驟的執(zhí)行順序或裝置的模塊結(jié)構(gòu)不限于本申請實施例提供的執(zhí)行順序或模塊結(jié)構(gòu)。所述的方法或模塊結(jié)構(gòu)的在實際中的裝置或終端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法或模塊結(jié)構(gòu)連接進(jìn)行順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。具體的如圖1所示,本申請?zhí)峁┑淖赃m應(yīng)資源分配方法的一種實施例可以包括:

      步驟S102,統(tǒng)計一個周期內(nèi)每個業(yè)務(wù)語句的請求時間、實際執(zhí)行時間和響應(yīng)時間。

      步驟S104,根據(jù)上述請求時間,確定每個業(yè)務(wù)語句所屬的一個周期的不同時間段;即通過判斷每個業(yè)務(wù)語句的請求時間位于哪個時間段內(nèi),就確定該業(yè)務(wù)語句屬于該時間段。

      步驟S106,根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的實際執(zhí)行時間和響應(yīng)時間,確定每個業(yè)務(wù)語句的類型,并調(diào)整下一個周期的同一時間段內(nèi)不同類型業(yè)務(wù)語句的資源配額。

      通過上述自適應(yīng)資源分配方法,系統(tǒng)能夠根據(jù)運行期間接收到的業(yè)務(wù)請求類型及不同類型業(yè)務(wù)請求的負(fù)載情況,自適應(yīng)地調(diào)整不同時間段內(nèi)不同類型業(yè)務(wù)的資源配比,以達(dá)到既保證核心業(yè)務(wù)(例如交易型業(yè)務(wù))能夠穩(wěn)定運行,又能充分利用系統(tǒng)資源的目的。

      對于上述周期和上述時間段的時長設(shè)定,一般情況下,可以設(shè)定一個周期是一天,分為24個時間段,一個時間段是一個小時。另外,還可以設(shè)定一個周期是一周,一個時間段是一天;或者,設(shè)定一個周期是一個月,一個時間段是一天;或者,設(shè)定一個周期是一年,一個時間段是一個月。當(dāng)然,也可以基于實際需求設(shè)定一個周期和相應(yīng)時間段的具體時長,本申請對此不做限制。一般情況下,周期和相應(yīng)時間段的時長越短,系統(tǒng)自適應(yīng)分配資源的準(zhǔn)確率越高。

      在本申請中,業(yè)務(wù)語句的類型可以包括:交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句。當(dāng)然,也可以包括其他類型的業(yè)務(wù)語句,具體可基于實際需求進(jìn)行設(shè)定,如果需要自適應(yīng)調(diào)整其他類型業(yè)務(wù)語句的資源配額,具體實現(xiàn)同樣可采用上述自適應(yīng)資源分配方法。本申請主要以交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句這兩種類型的業(yè)務(wù)語句為例進(jìn)行說明。

      在劃分好每個業(yè)務(wù)語句所屬的時間段之后,可以根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的實際執(zhí)行時間,確定每個業(yè)務(wù)語句的類型,具體可以通過以下優(yōu)選實施方式實現(xiàn):判斷每個時間段內(nèi)每個業(yè)務(wù)語句的實際執(zhí)行時間是否大于執(zhí)行時間閾值;如果是,則判定該業(yè)務(wù)語句是分析型業(yè)務(wù)語句;如果否,則判定該業(yè)務(wù)語句是交易型業(yè)務(wù)語句。通過上述優(yōu)選實施方式,可以簡單快捷準(zhǔn)確地確定業(yè)務(wù)語句的類型,上述執(zhí)行時間閾值的數(shù)值可根據(jù)實際情況進(jìn)行設(shè)定或調(diào)整。

      在確定了每個業(yè)務(wù)語句的類型之后,可以根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的實際執(zhí)行時間和響應(yīng)時間,調(diào)整下一個周期的同一時間段內(nèi)不同類型業(yè)務(wù)語句的資源配額,具體可以通過以下優(yōu)選實施方式實現(xiàn):

      第一步,將每個時間段內(nèi)所有交易型業(yè)務(wù)語句的實際執(zhí)行時間求和,得到每個時間段內(nèi)的第一實際執(zhí)行時間和;將每個時間段內(nèi)所有交易型業(yè)務(wù)語句的響應(yīng)時間求和,得到每個時間段內(nèi)的第一響應(yīng)時間和;

      第二步,將每個時間段內(nèi)所有分析型業(yè)務(wù)語句的實際執(zhí)行時間求和,得到每個時間段內(nèi)的第二實際執(zhí)行時間和;將每個時間段內(nèi)所有分析型業(yè)務(wù)語句的響應(yīng)時間求和,得到每個時間段內(nèi)的第二響應(yīng)時間和;

      第三步,根據(jù)第一實際執(zhí)行時間和、第一響應(yīng)時間和、第二實際執(zhí)行時間和、第二響應(yīng)時間和,調(diào)整下一個周期的同一時間段內(nèi)交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句的資源配額。

      對于第三步的具體操作,可以通過以下優(yōu)選實施方式實現(xiàn):

      判斷第一響應(yīng)時間和是否大于第一實際執(zhí)行時間和,如果是,則判定交易型業(yè)務(wù)語句的資源配額過小,將分析型業(yè)務(wù)語句的資源配額減少,例如:將分析型業(yè)務(wù)語句的資源配額降低為預(yù)設(shè)的分析型業(yè)務(wù)語句的最低資源配額。

      判斷第二響應(yīng)時間和是否大于第二實際執(zhí)行時間和,如果是,則判定分析型業(yè)務(wù)語句的資源配額過小,將交易型業(yè)務(wù)語句的資源配額減少,例如:將交易型業(yè)務(wù)語句的資源配額降低為大于或等于以下二者的最大值:預(yù)設(shè)的交易型業(yè)務(wù)語句的最低資源配額、第一實際執(zhí)行時間和實際消耗的資源配額。

      其中,分析型業(yè)務(wù)語句的最低資源配額和交易型業(yè)務(wù)語句的最低資源配額的數(shù)值,可根據(jù)實際需求進(jìn)行設(shè)定或調(diào)整。

      通過上述優(yōu)選實施方式,可以實現(xiàn)系統(tǒng)根據(jù)不同類型業(yè)務(wù)語句的負(fù)載情況自適應(yīng)調(diào)整不同類型業(yè)務(wù)語句的資源配額,并且資源配額調(diào)整操作的準(zhǔn)確度較高,能夠充分利用系統(tǒng)資源,保證不同類型業(yè)務(wù)的順利運行,避免資源浪費。

      需要說明的是,在不同的應(yīng)用場景下,不同類型的業(yè)務(wù)的重要程度可能不同,例如在大促銷時,需要優(yōu)先保證交易型業(yè)務(wù)的順利運行。因此,本申請?zhí)峁┝艘环N優(yōu)選實施方式,即對交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句進(jìn)行優(yōu)先級排序;其中,交易型業(yè)務(wù)語句的優(yōu)先級高于分析型業(yè)務(wù)語句;在特定場景下,如果預(yù)設(shè)時間內(nèi)交易型業(yè)務(wù)語句的請求量超出閾值,則將分析型業(yè)務(wù)語句的資源配額降為零,直至交易型業(yè)務(wù)語句的請求量低于上述閾值。上述閾值的數(shù)值可根據(jù)實際需求進(jìn)行設(shè)定或調(diào)整。通過上述優(yōu)選實施方式,可以基于不同類型業(yè)務(wù)的重要程度來對不同類型的業(yè)務(wù)語句進(jìn)行優(yōu)先級排序,從而保證在某些特定場景下某類型業(yè)務(wù)的優(yōu)先運行。一般情況下,交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句的優(yōu)先級是由系統(tǒng)管理員設(shè)置的,管理員根據(jù)該系統(tǒng)主要支撐的業(yè)務(wù)類型來進(jìn)行優(yōu)先級的排序。

      另外,在系統(tǒng)資源不足時,也可以根據(jù)不同類型業(yè)務(wù)的優(yōu)先級選擇優(yōu)先保證某類業(yè)務(wù)的運行?;诖耍旧暾?zhí)峁┝艘环N優(yōu)選實施方式,即對交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句進(jìn)行優(yōu)先級排序;在系統(tǒng)資源低于資源閾值時,優(yōu)先為優(yōu)先級高的業(yè)務(wù)語句分配資源配額,和/或,將優(yōu)先級低的業(yè)務(wù)語句的資源配額降為零。

      基于與上述自適應(yīng)資源分配方法相同的發(fā)明構(gòu)思,本申請?zhí)峁┮环N自適應(yīng)資源分配裝置,如下面實施例所述。由于該自適應(yīng)資源分配裝置解決問題的原理與自適應(yīng)資源分配方法相似,因此該自適應(yīng)資源分配裝置的實施可以參見自適應(yīng)資源分配方法的實施,重復(fù)之處不再贅述。

      圖2是本申請所述自適應(yīng)資源分配裝置一種實施例的結(jié)構(gòu)示意圖,如圖2所示,所述裝置可以包括:

      統(tǒng)計單元10,用于統(tǒng)計一個周期內(nèi)每個業(yè)務(wù)語句的請求時間、實際執(zhí)行時間和響應(yīng)時間。統(tǒng)計單元10是自適應(yīng)資源分配裝置中統(tǒng)計時間信息的部分,可以是軟件、硬件或二者的結(jié)合,例如可以是完成時間信息采集功能的輸入輸出接口、處理芯片等元器件。

      劃分單元20,用于根據(jù)上述請求時間,確定每個業(yè)務(wù)語句所屬的一個周期的不同時間段。劃分單元20是自適應(yīng)資源分配裝置中時間段劃分操作部分,可以是軟件、硬件或二者的結(jié)合,例如可以是完成時間段劃分功能的輸入輸出接口、處理芯片等元器件。

      類型確定單元30,用于根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的上述實際執(zhí)行時間和上述響應(yīng)時間,確定每個業(yè)務(wù)語句的類型。類型確定單元30是自適應(yīng)資源分配裝置中時間段劃分操作部分,可以是軟件、硬件或二者的結(jié)合,例如可以是完成時間段劃分功能的輸入輸出接口、處理芯片等元器件。

      調(diào)整單元40,用于調(diào)整下一個周期的同一時間段內(nèi)不同類型業(yè)務(wù)語句的資源配額。調(diào)整單元40是自適應(yīng)資源分配裝置中資源配額調(diào)整部分,可以是軟件、硬件或二者的結(jié)合,例如可以是完成資源配額調(diào)整功能的輸入輸出接口、處理芯片等元器件。

      基于上述自適應(yīng)資源分配裝置,系統(tǒng)能夠根據(jù)運行期間接收到的業(yè)務(wù)請求類型及不同類型業(yè)務(wù)請求的負(fù)載情況,自適應(yīng)地調(diào)整不同時間段內(nèi)不同類型業(yè)務(wù)的資源配比,以達(dá)到既保證核心業(yè)務(wù)(例如交易型業(yè)務(wù))能夠穩(wěn)定運行,又能充分利用系統(tǒng)資源的目的。

      對于上述周期和上述時間段的時長設(shè)定,一般情況下,可以設(shè)定一個周期是一天,分為24個時間段,一個時間段是一個小時。另外,還可以設(shè)定一個周期是一周,一個時間段是一天;或者,設(shè)定一個周期是一個月,一個時間段是一天;或者,設(shè)定一個周期是一年,一個時間段是一個月。當(dāng)然,也可以基于實際需求設(shè)定一個周期和相應(yīng)時間段的具體時長,本申請對此不做限制。一般情況下,周期和相應(yīng)時間段的時長越短,系統(tǒng)自適應(yīng)分配資源的準(zhǔn)確率越高。

      在本申請中,業(yè)務(wù)語句的類型可以包括:交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句。當(dāng)然,也可以包括其他類型的業(yè)務(wù)語句,具體可基于實際需求進(jìn)行設(shè)定。

      在劃分好每個業(yè)務(wù)語句所屬的時間段之后,可以根據(jù)每個時間段內(nèi)每個業(yè)務(wù)語句的實際執(zhí)行時間,確定每個業(yè)務(wù)語句的類型,具體可以通過以下優(yōu)選實施方式實現(xiàn):所述裝置還可以包括:閾值設(shè)置單元,用于設(shè)置執(zhí)行時間閾值。執(zhí)行時間閾值的數(shù)值可根據(jù)實際情況進(jìn)行設(shè)定或調(diào)整。圖3是本申請所述類型確定單元一種實施例的結(jié)構(gòu)示意圖,如圖3所示,上述類型確定單元30可以包括:判斷模塊31,用于判斷每個時間段內(nèi)每個業(yè)務(wù)語句的實際執(zhí)行時間是否大于執(zhí)行時間閾值;第一處理模塊32,用于在上述判斷模塊31的判斷結(jié)果為是的情況下,判定該業(yè)務(wù)語句是分析型業(yè)務(wù)語句;第二處理模塊33,用于在上述判斷模塊31的判斷結(jié)果為否的情況下,判定該業(yè)務(wù)語句是交易型業(yè)務(wù)語句。通過上述優(yōu)選實施方式,可以簡單快捷準(zhǔn)確地確定業(yè)務(wù)語句的類型。

      圖4是本申請所述調(diào)整單元一種實施例的結(jié)構(gòu)示意圖,如圖4所示,上述調(diào)整單元40包括:第一計算模塊41,用于將每個時間段內(nèi)所有交易型業(yè)務(wù)語句的實際執(zhí)行時間求和,得到每個時間段內(nèi)的第一實際執(zhí)行時間和;第二計算模塊42,用于將每個時間段內(nèi)所有交易型業(yè)務(wù)語句的響應(yīng)時間求和,得到每個時間段內(nèi)的第一響應(yīng)時間和;第三計算模塊43,用于將每個時間段內(nèi)所有分析型業(yè)務(wù)語句的實際執(zhí)行時間求和,得到每個時間段內(nèi)的第二實際執(zhí)行時間和;第四計算模塊44,用于將每個時間段內(nèi)所有分析型業(yè)務(wù)語句的響應(yīng)時間求和,得到每個時間段內(nèi)的第二響應(yīng)時間和;資源調(diào)整模塊45,用于根據(jù)第一實際執(zhí)行時間和、第一響應(yīng)時間和、第二實際執(zhí)行時間和、第二響應(yīng)時間和,調(diào)整下一個周期的同一時間段內(nèi)交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句的資源配額。

      對于上述資源調(diào)整模塊45,可以包括:第一調(diào)整子模塊,用于判斷第一響應(yīng)時間和是否大于第一實際執(zhí)行時間和,如果是,則判定交易型業(yè)務(wù)語句的資源配額過小,將分析型業(yè)務(wù)語句的資源配額減少,具體地,將分析型業(yè)務(wù)語句的資源配額降低為預(yù)設(shè)的分析型業(yè)務(wù)語句的最低資源配額;第二調(diào)整子模塊,用于判斷第二響應(yīng)時間和是否大于第二實際執(zhí)行時間和,如果是,則判定分析型業(yè)務(wù)語句的資源配額過小,將交易型業(yè)務(wù)語句的資源配額減少,具體地,將交易型業(yè)務(wù)語句的資源配額降低為大于或等于以下二者的最大值:預(yù)設(shè)的交易型業(yè)務(wù)語句的最低資源配額、第一實際執(zhí)行時間和實際消耗的資源配額。其中,分析型業(yè)務(wù)語句的最低資源配額和交易型業(yè)務(wù)語句的最低資源配額的數(shù)值,可根據(jù)實際需求進(jìn)行設(shè)定或調(diào)整。

      通過上述優(yōu)選實施方式,可以實現(xiàn)系統(tǒng)根據(jù)不同類型業(yè)務(wù)語句的負(fù)載情況自適應(yīng)調(diào)整不同類型業(yè)務(wù)語句的資源配額,并且資源配額調(diào)整操作的準(zhǔn)確度較高,能夠充分利用系統(tǒng)資源,保證不同類型業(yè)務(wù)的順利運行,避免資源浪費。

      需要說明的是,在不同的應(yīng)用場景下,不同類型的業(yè)務(wù)的重要程度可能不同,例如在大促銷時,需要優(yōu)先保證交易型業(yè)務(wù)的順利運行。因此,本申請?zhí)峁┝艘环N優(yōu)選實施方式,上述裝置還可以包括:第一優(yōu)先分配單元,用于對交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句進(jìn)行優(yōu)先級排序;其中,交易型業(yè)務(wù)語句的優(yōu)先級高于分析型業(yè)務(wù)語句;在特定場景下,如果預(yù)設(shè)時間內(nèi)交易型業(yè)務(wù)語句的請求量超出閾值,則將分析型業(yè)務(wù)語句的資源配額降為零,直至交易型業(yè)務(wù)語句的請求量低于閾值。通過上述優(yōu)選實施方式,可以基于不同類型業(yè)務(wù)的重要程度來對不同類型的業(yè)務(wù)語句進(jìn)行優(yōu)先級排序,從而保證在某些特定場景下某類型業(yè)務(wù)的優(yōu)先運行。

      在系統(tǒng)資源不足時,也可以根據(jù)不同類型業(yè)務(wù)的優(yōu)先級選擇優(yōu)先保證某類業(yè)務(wù)的運行。基于此,本申請?zhí)峁┝艘环N優(yōu)選實施方式,上述裝置還可以包括:第二優(yōu)先分配單元,用于對交易型業(yè)務(wù)語句和分析型業(yè)務(wù)語句進(jìn)行優(yōu)先級排序;在系統(tǒng)資源低于資源閾值時,優(yōu)先為優(yōu)先級高的業(yè)務(wù)語句分配資源配額,和/或,將優(yōu)先級低的業(yè)務(wù)語句的資源配額降為零。

      下面通過優(yōu)選實施例和附圖對本申請的技術(shù)方案進(jìn)行更詳細(xì)的介紹。

      本申請的自適應(yīng)資源分配方案主要包括以下幾個部分:

      1)系統(tǒng)初始化配置

      系統(tǒng)管理員為系統(tǒng)配置初始參數(shù),主要包括:

      a.設(shè)置用以區(qū)分不同類型業(yè)務(wù)語句的判定依據(jù)。具體地,可以基于實際情況預(yù)設(shè)一個執(zhí)行時間閾值(large_query_threshold),如果業(yè)務(wù)語句的實際執(zhí)行時間大于該執(zhí)行時間閾值,則認(rèn)為該業(yè)務(wù)語句是分析型業(yè)務(wù)語句,如果業(yè)務(wù)語句的實際執(zhí)行時間小于該執(zhí)行時間閾值,則認(rèn)為該業(yè)務(wù)語句是交易型業(yè)務(wù)語句。

      b.設(shè)置不同類型業(yè)務(wù)語句的優(yōu)先級。具體地,可以根據(jù)不同類型業(yè)務(wù)語句的重要程度進(jìn)行優(yōu)先級的排序,從而在系統(tǒng)資源嚴(yán)重不足時,可優(yōu)先處理優(yōu)先級較高的業(yè)務(wù)語句和/或主動中斷優(yōu)先級較低的業(yè)務(wù)語句。一般情況下,對于混合型的系統(tǒng),通常是交易型業(yè)務(wù)較為優(yōu)先。

      c.設(shè)置不同類型業(yè)務(wù)語句的最低資源配額(min_oltp_time/min_olap_time)。在系統(tǒng)運行中,根據(jù)歷史數(shù)據(jù)統(tǒng)計情況,優(yōu)先級較高的業(yè)務(wù)語句在低谷期使用的資源很少,因此可以適當(dāng)降低優(yōu)先級較高的業(yè)務(wù)語句的資源配額,但為了保障優(yōu)先級較高的業(yè)務(wù)語句的服務(wù)質(zhì)量,為其分配的資源配額也不會低于上述設(shè)置的最低資源配額。而在資源有限或者大促銷等特殊場景下,可以將優(yōu)先級較低的業(yè)務(wù)語句的資源配額降低為零。

      2)收集運行統(tǒng)計信息

      圖5是應(yīng)用本申請所述自適應(yīng)資源分配方案的系統(tǒng)的結(jié)構(gòu)示意圖,如圖5所示,系統(tǒng)運行過程中,在業(yè)務(wù)語句的執(zhí)行過程中,執(zhí)行器收集關(guān)于該業(yè)務(wù)語句的執(zhí)行狀態(tài)信息,該執(zhí)行狀態(tài)信息主要包括如下的內(nèi)容:系統(tǒng)接收到這條業(yè)務(wù)語句請求的時間(T_start)、實際執(zhí)行時間(T_actual)和響應(yīng)時間(T_elapse)。其中,實際執(zhí)行時間(T_actual)指的是調(diào)度器分配給這條業(yè)務(wù)語句的總的執(zhí)行時間,如果沒有用完調(diào)度器分配的時間,就執(zhí)行結(jié)束,則實際執(zhí)行時間指的是實際執(zhí)行所使用的時間,響應(yīng)時間(T_elapse)指的是從系統(tǒng)接收到這條業(yè)務(wù)語句到執(zhí)行完成所持續(xù)的時間。

      執(zhí)行器收集上述信息后,將三元組(T_start,T_actual,T_elapse)匯報給統(tǒng)計分析模塊,該統(tǒng)計分析模塊的功能相當(dāng)于上述自適應(yīng)資源分配裝置中的統(tǒng)計單元、劃分單元和類型確定單元的功能。

      需要說明的是,上述調(diào)度器指的是系統(tǒng)中承擔(dān)調(diào)度前端發(fā)過來的請求的模塊,調(diào)度器根據(jù)不同類型任務(wù)的資源配額情況,作出啟動某個任務(wù)的執(zhí)行、暫停甚至終止的決定。上述執(zhí)行器指的是系統(tǒng)中實際完成前端請求任務(wù)的模塊,在執(zhí)行的過程中,會根據(jù)調(diào)度器的指示中斷或者提前結(jié)束執(zhí)行,在執(zhí)行結(jié)束后,獲取相應(yīng)的執(zhí)行狀態(tài)信息。

      3)數(shù)據(jù)統(tǒng)計分析及反饋

      統(tǒng)計分析模塊統(tǒng)計一個周期內(nèi)的每個時間段(例如一天的每個小時)內(nèi)的請求分布情況。首先,按照請求時間(T_start)對一天內(nèi)的所有三元組進(jìn)行分組獲取每小時的請求集ReqSet(h0),ReqSet(h1),ReqSet(h23);然后,針對每一個小時的請求集ReqSet(hi)里面的三元組,找出所有實際執(zhí)行時間(T_actual)<執(zhí)行時間閾值(large_query_threshold)值的元組,組成一個新的集合ReqSetOltp(hi),這個集合就是每個時間段內(nèi)所有的交易型業(yè)務(wù)語句的集合,剩下的就是每個時間段內(nèi)所有分析型業(yè)務(wù)語句的集合ReqSetOlap(hi)。

      分別對ReqSetOltp(hi)和ReqSetOlap(hi)這兩個元組中的實際執(zhí)行時間(T_actual)、響應(yīng)時間(T_elapse)求和,分別得到四個時間值第一實際執(zhí)行時間和TotalAtimeOltp(hi)、第一響應(yīng)時間和TotalEtimeOltp(hi)、第二實際執(zhí)行時間和TotalAtimeOlap(hi)、第二響應(yīng)時間和TotalEtimeOlap(hi)。通過這四個時間值,就可以確定系統(tǒng)在這一個小時內(nèi)的資源使用情況(可構(gòu)建持續(xù)更新的資源分配表),主要包括如下兩種情況:

      a.第一種情況:第一響應(yīng)時間和TotalEtimeOltp(hi)>第一實際執(zhí)行時間和TotalAtimeOltp(hi)*(1+α),其中α表示一個可接受的統(tǒng)計和計時的誤差,下同。

      這種情況表明系統(tǒng)用于執(zhí)行交易型業(yè)務(wù)語句的資源不足,以至于某些請求沒有及時地被執(zhí)行或者執(zhí)行過程中被中斷,從而造成交易型業(yè)務(wù)語句總的響應(yīng)時間顯著地長于實際執(zhí)行所需要的時間。

      b.第二種情況:第二響應(yīng)時間和TotalEtimeOlap(hi)>第二實際執(zhí)行時間和TotalAtimeOlap(hi)*(1+α)。

      這種情況表明系統(tǒng)用于執(zhí)行分析型業(yè)務(wù)語句的資源不足,以至于某些請求沒有及時地被執(zhí)行或者執(zhí)行過程中被中斷,從而造成分析型業(yè)務(wù)語句總的響應(yīng)時間顯著地長于實際執(zhí)行所需要的時間。

      如果上述兩種情況同時出現(xiàn),則表明兩種類型業(yè)務(wù)語句都沒有被及時地響應(yīng),系統(tǒng)已經(jīng)明顯過載??筛鶕?jù)優(yōu)先級的高低降低某一種類型業(yè)務(wù)語句的資源配額,或者按照相同或不同的比例降低兩種類型業(yè)務(wù)語句的資源配額。

      如果上述兩種情況都沒有出現(xiàn),則表明系統(tǒng)的負(fù)載較輕,兩種類型的業(yè)務(wù)語句都能順利運行。

      如果上述情況僅出現(xiàn)一種,則表明系統(tǒng)的資源分配使得某一類型的業(yè)務(wù)語句能夠及時得到響應(yīng),而另一類型的業(yè)務(wù)語句沒有得到足夠的資源去執(zhí)行。在這種情況下,結(jié)合系統(tǒng)在該時間段分配給兩種類型業(yè)務(wù)語句的資源配額AssignTimeOltp(hi),AssignTimeOlap(hi),對下一個周期同一時間段(第二天的同一個小時)內(nèi)的資源配額進(jìn)行調(diào)整。

      當(dāng)前采用較為簡單的調(diào)整策略是:當(dāng)交易型業(yè)務(wù)語句的資源配額過小時,將分析型業(yè)務(wù)語句的資源配額減少;當(dāng)分析型業(yè)務(wù)語句的資源配額過小時,將交易型業(yè)務(wù)語句的資源配額減少。

      在系統(tǒng)具體實現(xiàn)時,可以選擇更為精細(xì)地調(diào)整策略:a.交易型業(yè)務(wù)語句的資源配額不足時,可直接將分析型業(yè)務(wù)語句的資源配額降到預(yù)設(shè)的分析型業(yè)務(wù)語句的最低資源配額(min_olap_time)。B.分析型業(yè)務(wù)語句的資源不足時,將交易型業(yè)務(wù)語句的資源配額調(diào)降一定的比例(例如10%),并且保證調(diào)整后的資源配額大于等于第二響應(yīng)時間和實際消耗的資源配額TotalEOltp(hi)和預(yù)設(shè)的交易型業(yè)務(wù)語句的最低資源配額(min_oltp_time)中的最大值。

      4)資源配額的調(diào)度

      在下一個周期(例如第二天),系統(tǒng)會根據(jù)由前一個周期(例如第一天)的對應(yīng)時間段(以小時計)計算獲取到的值,基于上述介紹的策略進(jìn)行資源配額的調(diào)整,重新設(shè)定不同類型業(yè)務(wù)的資源占比。同時在執(zhí)行的過程中又會將兩個類型業(yè)務(wù)語句新的負(fù)載情況進(jìn)行匯報和分析。

      需要說明的是,對于類似于大促(例如:雙11、雙12)這樣的場景,在交易型業(yè)務(wù)比分析型業(yè)務(wù)優(yōu)先的情況下,系統(tǒng)根據(jù)實時統(tǒng)計信息判定持續(xù)一段時間(例如1分鐘)的交易型業(yè)務(wù)語句的請求量是否超出閾值,可以直接降低或取消該時間段內(nèi)分析型業(yè)務(wù)語句的資源配額,直至交易型業(yè)務(wù)語句的請求量恢復(fù)到正常水平。

      在本申請中,不同類型的業(yè)務(wù)語句所享有的資源指的是為執(zhí)行請求所需要的CPU(Central Processing Unit,中央處理器)、內(nèi)存、存儲及網(wǎng)絡(luò)資源,本申請主要指的是CPU資源。類似的,對使用內(nèi)存使用、IO使用、網(wǎng)絡(luò)資源等其他系統(tǒng)資源作為考察對象實現(xiàn)的自適應(yīng)的調(diào)整也同樣適用于本申請的技術(shù)方案。

      從以上的描述中可知,本申請?zhí)峁┝艘环N在系統(tǒng)管理員對系統(tǒng)進(jìn)行初始化參數(shù)配置后(例如明確系統(tǒng)是以交易型業(yè)務(wù)為優(yōu)先),根據(jù)系統(tǒng)在過去某個時間段的不同類型業(yè)務(wù)語句的資源使用情況自適應(yīng)地調(diào)整系統(tǒng)未來在該時間段的資源分配的方案。既保證核心業(yè)務(wù)能夠穩(wěn)定運行,又能充分利用系統(tǒng)資源。

      本申請中各個實施例所涉及的上述描述僅是本申請中的一些實施例中的應(yīng)用,在某些標(biāo)準(zhǔn)、模型、方法的基礎(chǔ)上略加修改后的實施方式也可以實行上述本申請各實施例的方案。當(dāng)然,在符合本申請上述各實施例的中所述的處理方法步驟的其他無創(chuàng)造性的變形,仍然可以實現(xiàn)相同的申請,在此不再贅述。

      雖然本申請?zhí)峁┝巳鐚嵤├蛄鞒虉D所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的勞動可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實際中的裝置或客戶端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。

      上述實施例闡明的裝置或模塊,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。在實施本申請時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。當(dāng)然,也可以將實現(xiàn)某功能的模塊由多個子模塊或子單元組合實現(xiàn)。

      本申請中所述的方法、裝置或模塊可以以計算機可讀程序代碼方式實現(xiàn)控制器按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)部包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。

      本申請所述裝置中的部分模塊可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、類等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。

      通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的硬件的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,也可以通過數(shù)據(jù)遷移的實施過程中體現(xiàn)出來。該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,移動終端,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。

      本說明書中的各個實施例采用遞進(jìn)的方式描述,各個實施例之間相同或相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。本申請的全部或者部分可用于眾多通用或?qū)S玫挠嬎銠C系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、移動通信終端、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程的電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。

      雖然通過實施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1