本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種動(dòng)態(tài)計(jì)算方法及其裝置。
背景技術(shù):
隨著科技的發(fā)展,各行各業(yè)都需要計(jì)算機(jī)進(jìn)行存儲(chǔ)、計(jì)算等一系列的操作,這要求計(jì)算機(jī)具有強(qiáng)大的計(jì)算能力和處理處理能力。尤其是,云存儲(chǔ)作為新的流行趨勢(shì),經(jīng)常需要進(jìn)行大量的數(shù)據(jù)存儲(chǔ)以及計(jì)算。
現(xiàn)有技術(shù)中,通過(guò)增加處理器的數(shù)量,增加云存儲(chǔ)所需要的處理能力,雖然計(jì)算效率有所提高,但是計(jì)算成本增加。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種動(dòng)態(tài)計(jì)算方法及其裝置,用于在不增加計(jì)算成本的同時(shí),提高計(jì)算機(jī)的數(shù)據(jù)處理能力。
為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
本發(fā)明的第一方面提供一種動(dòng)態(tài)計(jì)算方法,其特征在于,該動(dòng)態(tài)計(jì)算方法包括:
步驟一、預(yù)估云存儲(chǔ)所需要的計(jì)算能力。
步驟二、根據(jù)預(yù)估出的所需的計(jì)算能力,構(gòu)建重構(gòu)電路。
步驟三、將構(gòu)建的重構(gòu)電路組成虛擬處理器。
步驟四、將虛擬處理器分配給相對(duì)應(yīng)的虛擬機(jī)。
步驟五、由虛擬機(jī)完成云存儲(chǔ)所需的計(jì)算。
根據(jù)上述動(dòng)態(tài)計(jì)算方法,首先對(duì)云存儲(chǔ)所需要的計(jì)算能力進(jìn)行預(yù)估,根據(jù)計(jì)算機(jī)群和/或計(jì)算機(jī)已有的計(jì)算能力,從新對(duì)處理器進(jìn)行分配,從而達(dá)到快速處理數(shù)據(jù)的目的,相比于現(xiàn)有技術(shù)中不斷的增加處理器而已,本方案不但沒(méi)有增加計(jì)算成本,而且有效地提高了計(jì)算效率。
該動(dòng)態(tài)計(jì)算方法還包括:在步驟一和步驟二之間,統(tǒng)計(jì)空閑的邏輯電路的數(shù)量。
步驟二中,重構(gòu)電路包括n個(gè)空閑的邏輯電路,其中,n為正整數(shù);若n等于1時(shí),則選擇任意一個(gè)處于空閑狀態(tài)的邏輯電路組成重構(gòu)電路;若n大于1時(shí),則選擇物理地址相鄰的兩個(gè)或多個(gè)處于空閑狀態(tài)的邏輯電路組成重構(gòu)電路。
將組成重構(gòu)電路的n個(gè)邏輯電路設(shè)置成占有狀態(tài)。
邏輯電路為協(xié)處理器電路、快速傅里葉變換電路、超越函數(shù)電路、總線控制器電路、定時(shí)器電路或算法硬件建設(shè)模塊電路。
步驟四中,虛擬處理器與虛擬機(jī)為一一對(duì)應(yīng)的關(guān)系;或者,多個(gè)虛擬處理器對(duì)應(yīng)一個(gè)虛擬機(jī)。
步驟五還包括,若虛擬機(jī)計(jì)算過(guò)程出現(xiàn)錯(cuò)誤,則終止該計(jì)算過(guò)程,并將該計(jì)算過(guò)程所涉及到的重構(gòu)電路的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài),并重新構(gòu)建重構(gòu)電路。
該動(dòng)態(tài)計(jì)算方法還包括:步驟六、當(dāng)計(jì)算結(jié)束或者終止后,將重構(gòu)電路中的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài)。
本發(fā)明的第二方面提供一種動(dòng)態(tài)計(jì)算裝置,該動(dòng)態(tài)計(jì)算裝置包括:預(yù)估單元,用于預(yù)估云存儲(chǔ)所需要的計(jì)算能力;與預(yù)估單元相連的構(gòu)建單元,用于根據(jù)預(yù)估出的所需的計(jì)算能力,構(gòu)建重構(gòu)電路;與構(gòu)建單元相連的處理單元,用于將構(gòu)建的重構(gòu)電路組成虛擬處理器;與處理單元相連的分配單元,用于將虛擬處理器分配給相對(duì)應(yīng)的虛擬機(jī)。
該動(dòng)態(tài)計(jì)算裝置還包括:與預(yù)估單元和構(gòu)建單元分別相連的統(tǒng)計(jì)單元,用于統(tǒng)計(jì)邏輯電路的數(shù)量,將n個(gè)空閑的邏輯電路組成重構(gòu)電路,其中,n為正整數(shù)。
該動(dòng)態(tài)計(jì)算裝置還包括:清除單元,用于當(dāng)計(jì)算結(jié)束或者終止后,將重構(gòu)電路中的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài)。
根據(jù)上述動(dòng)態(tài)計(jì)算裝置,重新對(duì)處理器進(jìn)行分配,從而達(dá)到快速處理數(shù)據(jù)的目的,相比于現(xiàn)有技術(shù)中不斷的增加處理器的解決方案,本方案不但沒(méi)有增加計(jì)算成本,而且有效地提高了計(jì)算效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為實(shí)施例中動(dòng)態(tài)計(jì)算方法的流程圖;
圖2為實(shí)施例中動(dòng)態(tài)計(jì)算裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
本實(shí)施例提供了一種動(dòng)態(tài)計(jì)算方法,如圖1所示,該動(dòng)態(tài)計(jì)算方法包括:
步驟一、預(yù)估云存儲(chǔ)所需要的計(jì)算能力。
步驟二、根據(jù)預(yù)估出的所需的計(jì)算能力,構(gòu)建重構(gòu)電路。
步驟三、將構(gòu)建的重構(gòu)電路組成虛擬處理器。
步驟四、將虛擬處理器分配給相對(duì)應(yīng)的虛擬機(jī)。
步驟五、由虛擬機(jī)完成云存儲(chǔ)所需的計(jì)算。
根據(jù)上述動(dòng)態(tài)計(jì)算方法,首先對(duì)云存儲(chǔ)所需要的計(jì)算能力進(jìn)行預(yù)估,根據(jù)計(jì)算機(jī)群和/或計(jì)算機(jī)已有的計(jì)算能力,重新對(duì)處理器進(jìn)行分配,從而達(dá)到快速處理數(shù)據(jù)的目的,相比于現(xiàn)有技術(shù)中不斷的增加處理器的解決方案,本方案不但沒(méi)有增加計(jì)算成本,而且有效地提高了計(jì)算效率。
為了清楚地闡述本實(shí)施例中動(dòng)態(tài)計(jì)算方法,下面對(duì)上述動(dòng)態(tài)計(jì)算方法進(jìn)行詳細(xì)的描述:
首先,根據(jù)計(jì)算機(jī)群和/或計(jì)算機(jī)中的主控制單元對(duì)需要進(jìn)行云存儲(chǔ)所需要的計(jì)算能力進(jìn)行預(yù)估,當(dāng)然,該主控單元包括所有的處理器以及與所有的處理器相對(duì)應(yīng)的端口。本實(shí)例中優(yōu)選的,通過(guò)主控單元中,任意一個(gè)閑置的處理器或多個(gè)閑置的處理器組成的整體對(duì)上述需要進(jìn)行云存儲(chǔ)所需要的計(jì)算能力進(jìn)行預(yù)估。
接著,根據(jù)上述預(yù)估好的計(jì)算能力,構(gòu)建重構(gòu)電路,該重構(gòu)電路可為邏輯電路,示例性地,可為協(xié)處理器電路、快速傅里葉變換電路、超越函數(shù)電路、總線控制器電路、定時(shí)器電路或算法硬件建設(shè)模塊電路中的一種或幾種的組合。
示例性地,本實(shí)施例還可在構(gòu)建重構(gòu)電路之前,統(tǒng)計(jì)空閑的邏輯電路的數(shù)量,并將空閑的邏輯電路組成重構(gòu)電路。具體的,該動(dòng)態(tài)計(jì)算方法還包括:在步驟一和步驟二之間,統(tǒng)計(jì)空閑的邏輯電路的數(shù)量,根據(jù)云存儲(chǔ)所需的計(jì)算能力,統(tǒng)計(jì)該計(jì)算能力所需的邏輯電路,并將那個(gè)空閑的邏輯電路組成重構(gòu)電路,其中,n為正整數(shù)。
并且,根據(jù)所需的計(jì)算能力,n的數(shù)量可為1或多個(gè),具體的,若n等于1時(shí),則選擇任意一個(gè)處于空閑狀態(tài)的邏輯電路組成重構(gòu)電路;若n大于1時(shí),則選擇物理地址相鄰的兩個(gè)或多個(gè)處于空閑狀態(tài)的邏輯電路組成重構(gòu)電路。
為了在數(shù)據(jù)處理過(guò)程中不被干擾,可將組成重構(gòu)電路的n個(gè)邏輯電路設(shè)置成占有狀態(tài)。其中,該n個(gè)邏輯電路可為協(xié)處理器電路、快速傅里葉變換電路、超越函數(shù)電路、總線控制器電路、定時(shí)器電路或算法硬件建設(shè)模塊電路。
進(jìn)一步地,將構(gòu)建好的重構(gòu)電路組成虛擬處理器,并且將虛擬處理器分配給相對(duì)應(yīng)的虛擬機(jī)。由虛擬機(jī)完成云存儲(chǔ)所需的計(jì)算。此時(shí),虛擬處理器與虛擬機(jī)的對(duì)應(yīng)關(guān)系可為一一對(duì)應(yīng)的關(guān)系;或者,虛擬處理器與虛擬機(jī)的對(duì)應(yīng)關(guān)系可為多對(duì)一的關(guān)系。上述對(duì)應(yīng)關(guān)系的選擇,主要取決與所需的計(jì)算能力以及可調(diào)用的虛擬機(jī)的數(shù)量。例如,若在該計(jì)算過(guò)程中,只有一個(gè)虛擬機(jī)可調(diào)用,則上述虛擬處理器與虛擬機(jī)的對(duì)應(yīng)關(guān)系則為對(duì)個(gè)虛擬處理器對(duì)應(yīng)同一個(gè)虛擬機(jī)。再例如,在該計(jì)算過(guò)程中,可調(diào)用的虛擬機(jī)數(shù)量為多個(gè),可將虛擬處理器與虛擬機(jī)的對(duì)應(yīng)關(guān)系為一一對(duì)應(yīng),這樣有利于提高數(shù)據(jù)的處理速度,從而有效地提高數(shù)據(jù)處理能力。
當(dāng)然,在步驟五中,若虛擬機(jī)在計(jì)算過(guò)程中出現(xiàn)錯(cuò)誤,則終止該計(jì)算過(guò)程,并將該計(jì)算過(guò)程所涉及到的重構(gòu)電路的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài),并重新構(gòu)建重構(gòu)電路。也就是說(shuō),若在計(jì)算過(guò)程中,出現(xiàn)錯(cuò)誤便返回步驟二中,重新構(gòu)建重構(gòu)電路。從而避免了由于計(jì)算出錯(cuò),造成的計(jì)算時(shí)間過(guò)長(zhǎng),進(jìn)一步地提高了計(jì)算效率,節(jié)省了計(jì)算時(shí)間。
或者,也可在虛擬機(jī)上設(shè)置看門(mén)狗電路,若虛擬機(jī)長(zhǎng)時(shí)間不輸出喂狗信號(hào),則終止計(jì)算過(guò)程,并將涉及到的重構(gòu)電路的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài),并重新構(gòu)建重構(gòu)電路。
示例性的,本實(shí)施中動(dòng)態(tài)計(jì)算方法還包括:步驟六、當(dāng)計(jì)算結(jié)束或者終止后,將重構(gòu)電路中的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài)。從而將計(jì)算過(guò)程中占用的重構(gòu)電路釋放,便于完成下一次的計(jì)算。
必然地,本實(shí)施例中數(shù)據(jù)處理完成之后,便存儲(chǔ)在服務(wù)器或者相對(duì)于的存儲(chǔ)器中,示例性地,該存儲(chǔ)器可為Flash存儲(chǔ)器,即新型非易失性存儲(chǔ)器,可有效地防止在斷電后數(shù)據(jù)的丟失,數(shù)據(jù)的存取速度快。
實(shí)施例二
本實(shí)施例提供一種動(dòng)態(tài)計(jì)算裝置,該動(dòng)態(tài)計(jì)算裝置適用于上述實(shí)施例一所述的動(dòng)態(tài)計(jì)算方法,如圖2所示,該動(dòng)態(tài)計(jì)算裝置包括:
預(yù)估單元1,用于預(yù)估云存儲(chǔ)所需要的計(jì)算能力;與預(yù)估單元1相連的構(gòu)建單元2,用于根據(jù)計(jì)算出的所需的計(jì)算能力,構(gòu)建重構(gòu)電路;與構(gòu)建單元2相連的處理單元3,用于將構(gòu)建的重構(gòu)電路組成虛擬處理器;與處理單元3相連的分配單元4,用于將虛擬處理器分配給相對(duì)應(yīng)的虛擬機(jī)。
該動(dòng)態(tài)計(jì)算裝置還可包括:與預(yù)估單元1和構(gòu)建單元2分別相連的統(tǒng)計(jì)單元,用于統(tǒng)計(jì)邏輯電路的數(shù)量,將n個(gè)空閑的邏輯電路組成重構(gòu)電路,其中,n為正整數(shù)。
進(jìn)一步的,該動(dòng)態(tài)計(jì)算裝置與一個(gè)或多個(gè)虛擬機(jī)連接,這些虛擬機(jī)用于完成云存儲(chǔ)所需的計(jì)算,動(dòng)態(tài)計(jì)算裝置為這些虛擬機(jī)分配虛擬處理器。
上述虛擬機(jī)可為計(jì)算機(jī)群和/或計(jì)算機(jī)。
另外,該動(dòng)態(tài)計(jì)算裝置還可包括:看門(mén)狗單元,該看門(mén)狗單元由看門(mén)狗芯片組成,該看門(mén)狗單元接收虛擬處理器發(fā)回的定期和/或不定期的喂狗信號(hào),若看門(mén)狗單元未收到定期和/或不定期的喂狗信號(hào),則終止計(jì)算過(guò)程;并將該終止信號(hào)發(fā)送給清除單元,清除單元收到該信號(hào)后,將計(jì)算過(guò)程中涉及到的重構(gòu)電路的內(nèi)容清除,使重構(gòu)電路恢復(fù)到空閑狀態(tài)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。