本發明涉及數據處理領域,具體而言,涉及一種調度方法。
背景技術:
隨著云計算的普及和廣泛應用,越來越多的數據集中化、計算集中化管理,使hpc集群、仿真計算集群、圖形工作站集群、渲染農場集群、docker集群以及大數據(hadoop、spark)集群的規模越來越大,應用范圍越來越廣泛。同時,這些數據中心和計算中心的能耗問題也越來越凸顯,并已成為最主要的成本之一,而且還在持續上升中。目前,現有技術主要是針對計算節點的單個cpu負載情況來進行降頻做法,最主要是對空閑的cpu進行降頻處理,但是卻無法實現整個集群的節能降耗。
技術實現要素:
有鑒于此,本發明實施例的目的在于提供一種調度方法,以解決上述問題。
為了實現上述目的,本發明實施例采用的技術方案如下:
本發明實施例提供了一種調度方法,應用于包括多個計算節點的集群中,該方法包括:獲取待處理任務;采用預設調度策略集中的一個或多個策略,將所述待處理任務在所述集群的各個計算節點中進行調度,或根據所述待處理任務對所述集群中的計算節點的cpu或gpu進行調度,以降低所述集群的能耗,其中,所述預設調度策略集包括節點級集中式調度策略、cpu級集中式調度策略、作業分級策略、熱點均衡調度策略、能耗優先調度策略、動態調頻策略、動態遷移策略。
作為一種實施方式,所述節點級集中式調度策略包括:將所述待處理任務優先調度到所述集群中滿足所述待處理任務的運行要求且已處于計算過程中的計算節點進行處理。
作為一種實施方式,所述計算節點為多核計算節點,所述cpu級集中式調度策略包括:若所述待處理任務在所述計算節點的其中一個內核進行處理,采用cpu綁定技術將所述待處理任務與處理所述待處理任務的內核進行綁定,以避免所述待處理任務在所述計算節點的多個內核間切換。
作為一種實施方式,所述作業分級策略包括:將所述待處理任務進行分級,根據所述待處理任務的級別調整所述待處理任務所使用的cpu或gpu的頻率。
作為一種實施方式,所述將所述待處理任務進行分級,根據所述待處理任務的級別調整所述待處理任務所使用的cpu或gpu的頻率,包括:若所述待處理任務為第一級別,則所述待處理任務使用cpu或gpu的第一頻率來計算;若所述待處理任務為第二級別,則所述待處理任務使用cpu或gpu的第二頻率來計算,其中,所述第一頻率大于所述第二頻率。
作為一種實施方式,所述熱點均衡調度策略包括:根據所述集群當前的散熱分布情況,對所述待處理任務進行調度。
作為一種實施方式,所述根據所述集群當前的散熱分布情況,對所述待處理任務進行調度,包括:將所述待處理任務優先調度到所述集群中cpu或gpu的溫度小于第一閾值的計算節點上進行處理。
作為一種實施方式,所述能耗優先調度策略包括:將所述待處理任務調度優先調度到所述集群中當前能耗小于第二閾值的計算節點上進行處理。
作為一種實施方式,所述動態調頻策略包括:在所述待處理任務處理過程中,實時對所述待處理任務進行特征圖譜分析;若所述待處理任務為非計算集中型任務,則對所述待處理任務所使用的cpu或gpu進行降頻處理;若所述待處理任務為計算集中型任務,則對所述待處理任務所使用的cpu或gpu進行升頻率處理。
作為一種實施方式,所述待處理任務的類型通過建立機器學習模型獲得。
作為一種實施方式,所述動態遷移策略包括:分析所述集群中正在處理的所有待處理任務,若所述集群中正在處理的所有待處理任務離散分布在不同的計算節點進行處理,將所述待處理任務進行遷移,以使所述待處理任務集中在一個或多個計算節點上處理,并將所述集群中未處理所述待處理任務的計算節點休眠,當所述集群中計算資源不足以處理新增待處理任務時,自動喚醒休眠的計算節點以處理新增待處理任務。
與現有技術相比,本發明實施例提供的一種調度方法,通過獲取待處理任務,并采用預設調度策略集中的一個或多個策略,將所述待處理任務在所述集群的各個計算節點中進行調度,或根據所述待處理任務對所述集群中的計算節點的cpu或gpu進行調度,以降低所述集群的能耗,其中,所述預設調度策略集包括節點級集中式調度策略、cpu級集中式調度策略、作業分級策略、熱點均衡調度策略、能耗優先調度策略、動態調頻策略、動態遷移策略,本方案能夠根據待處理任務,實時動態調度集群中計算節點或計算節點的cpu或gpu,從而最大化減少整個集群的能耗,實現整個集群節能的目的。
為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖1是本發明實施例提供的計算集群的示意圖。
圖2是本發明實施例提供的調度服務器的結構框圖。
圖3是本發明實施例提供的一種調度方法的流程圖。
圖4是本發明實施例提供的一種節點級集中式調度策略及cpu級集中式調度策略的原理示意圖。
圖5是本發明實施例提供的一種熱點均衡調度策略的原理示意圖。
圖6是本發明實施例提供的一種調度方法的部分流程圖。
圖7是本發明實施例提供的一種動態調頻策略的原理示意圖。
圖8是本發明實施例提供的一種動態遷移策略的原理示意圖。
圖9是本發明實施例提供的一種調度裝置的結構框圖。
具體實施方式
下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發明的描述中,術語“第一”、“第二”等僅用于區分描述,而不能理解為指示或暗示相對重要性。
如圖1所示,是本發明較佳實施例提供的計算集群的示意圖。該計算集群中可以包括一個或多個調度服務器100(圖中僅示出1個)及多個計算節點,所述調度服務器100通過網絡與集群中的多個計算節點(圖1所示210至240)進行通信連接,以進行數據通信或交互。當調度服務器100獲取到待處理任務時,將待處理任務根據調度策略分配到所述計算節點(圖1所示210至240)中的其中一個進行處理。所述調度服務器100及所述計算節點(圖1所示210至240)可以是網絡服務器、數據庫服務器等、個人電腦(personalcomputer,pc)、平板電腦、智能手機等。
如圖2所示,是本發明實施例提供的一種調度服務器100的方框示意圖。所述調度服務器100包括存儲器110,一個或多個(圖中僅示出一個)處理器120,以及調度裝置500。
所述存儲器110與處理器120之間直接或間接地電性連接,以實現數據的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現電性連接。所述調度裝置500包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器110中或固化在所述調度服務器100的操作系統(operatingsystem,os)中的軟件功能模塊。所述處理器120用于執行存儲器110中存儲的可執行模塊,例如所述調度裝置500中包括的軟件功能模塊或計算機程序。
其中,存儲器110可以是,但不限于,隨機存取存儲器(randomaccessmemory,ram),只讀存儲器(readonlymemory,rom),可編程只讀存儲器(programmableread-onlymemory,prom),可擦除只讀存儲器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存儲器110用于存儲程序,所述處理器120在接收到執行指令后,執行所述程序,前述本發明實施例任一實施例揭示的流過程定義的服務器所執行的方法可以應用于處理器中,或者由處理器實現。
處理器120可能是一種集成電路芯片,具有信號的處理能力。上述的處理器可以是通用處理器,包括中央處理器(centralprocessingunit,簡稱cpu)、網絡處理器(networkprocessor,簡稱np)等;還可以是數字信號處理器(dsp)、專用集成電路(asic)、現成可編程門陣列(fpga)、圖形處理器(graphicprocessingunit,gpu)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
可以理解,圖2所示的結構僅為示意,調度服務器100還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。圖2中所示的各組件可以采用硬件、軟件或其組合實現。
圖3示出了本發明實施例提供的一種調度方法的流程圖,請參閱圖3,本實施例描述的是調度服務器的處理流程,所述方法包括:
步驟s310,獲取待處理任務。
其中,所述待處理任務可以是hpc集群、仿真計算集群、圖形工作站集群、渲染農場集群、docker集群以及大數據(hadoop、spark)集群的中需要處理的任務,可以是一個任務也可以是一批任務,根據需求進行設置。
步驟s320,采用預設調度策略集中的一個或多個策略,將所述待處理任務在所述集群的各個計算節點中進行調度,或根據所述待處理任務對所述集群中的計算節點的cpu或gpu進行調度,以降低所述集群的能耗,其中,所述預設調度策略集包括節點級集中式調度策略、cpu級集中式調度策略、作業分級策略、熱點均衡調度策略、能耗優先調度策略、動態調頻策略、動態遷移策略。
作為一種實施方式,可以根據用戶命令來選擇采用預設調度策略集中的哪一個策略或采用哪些策略的組合。作為另一種所述方式,也可以設置默認配置,該默認配置中可以預設設置好對于某類待處理任務采用某個具體的調度策略或某幾個調度策略的組合。當用戶沒有進行選擇時,則根據默認配置來決定對待處理任務采用的調度策略。作為另一種所述方式,也可以根據待處理任務的類型來決定采用預設調度策略集中的哪一個策略或采用哪些策略的組合。當然,并不局限于上述方式。
作為一種實施方式,所述節點級集中式調度策略包括:將所述待處理任務優先調度到所述集群中滿足所述待處理任務的運行要求且已處于計算過程中的計算節點進行處理。
請參閱圖4,該集群中包括了四個計算節點,分別為:計算節點a、計算節點b、計算節點b、計算節點d。每個計算節點均包括8個內核。若此時,計算節點a的其中4個內核已使用100%的計算頻率在處理計算任務1,計算節點a的剩余4個內核及計算節點b的8個內核已使用80%的計算頻率在處理計算任務2。計算節點c的其中4個內核已使用100%的計算頻率在處理計算任務3,計算節點c的剩余4個內核及計算節點d的8個內核此時空閑。
可見此處,計算節點a、b、c均屬于已處于計算過程中的計算節點,若此時待處理任務只需要使用內核20%的計算頻率,則此時采用節點級集中式調度策略,將待處理任務集中調度到計算節點a,b,c上,使得計算資源的使用得以集中化,從而使沒有參與的計算資源能更有效的進入節能模式。
作為一種實施方式,所述計算節點為多核計算節點,所述cpu級集中式調度策略包括:若所述待處理任務在所述計算節點的其中一個內核進行處理,采用cpu綁定技術將所述待處理任務與處理所述待處理任務的內核進行綁定,以避免所述待處理任務在所述計算節點的多個內核間切換。
請參閱圖4,緊接上例進行說明,通過上述節點級集中式調度策略,此時,計算任務1,2,3及待處理任務被集中調度在計算節點a,b,c上,此時,若此時待處理任務被調度到計算節點b中的其中4個內核(如圖4中所示計算節點b的上面4個內核cpucore)上進行處理,可以將該待處理任務與處理所述待處理任務的內核(如圖4中所示計算節點b的上面4個內核cpucore)進行綁定,以避免所述待處理任務切換到該計算節點b的其它內核(如圖4中所示計算節點b的下面4個內核cpucore)上進行處理。并且,進一步的,對于計算節點c而言,沒有被使用的cpu,可以使其cpu頻率降到最低,從而大大降低能耗。對于計算節點d而言,由于其整體閑置,則進一步使其進入休眠模式。
通過上述實例可見,將節點級集中式調度策略及cpu級集中式調度策略聯合使用,并可以進一步的結合動態調頻策略使用,則能夠進一步的提高其節能效果。
作為一種實施方式,所述作業分級策略包括:將所述待處理任務進行分級,根據所述待處理任務的級別調整所述待處理任務所使用的cpu或gpu的頻率。
進一步的,作為一種實施方式,若所述待處理任務為第一級別,則所述待處理任務使用cpu或gpu的第一頻率來計算;若所述待處理任務為第二級別,則所述待處理任務使用cpu或gpu的第二頻率來計算,其中,所述第一頻率大于所述第二頻率。
作為一種實施方式,對于重要并需要緊急完成的待處理任務任務,可以定義高運行級別(第一級別),而對于不緊急只要保證完成的作業定義低運行級別(第二級別)。
請繼續參閱圖4,將計算任務1定義了高優先級,計算任務2為低優先級。當計算任務1被調度并在在計算節點a上時,其使用的cpu以100%的頻率全力參與計算,保證計算任務1高效運行。而計算任務2被調度在計算節點a和b上,其使用的cpu以80%的頻率參與計算,在計算的同時能夠實現能耗的減少。
作為一種實施方式,所述能耗優先調度策略包括:將所述待處理任務調度優先調度到所述集群中當前能耗小于第二閾值的計算節點上進行處理。通過這種方式,能夠降低計算任務在計算的過程中使用的能耗。
作為一種實施方式,所述熱點均衡調度策略包括:根據所述集群當前的散熱分布情況,對所述待處理任務進行調度。
進一步的,作為一種實施方式,所述根據所述集群當前的散熱分布情況,對所述待處理任務進行調度,包括:將所述待處理任務優先調度到所述集群中cpu或gpu的溫度小于第一閾值的計算節點上進行處理。
第一閾值的設置可以根據需要進行設置。
請參閱圖5,圖5示出了整個集群中計算節點整體散熱分布的示意圖。圖5中示出了多個計算節點,分別為1a02、1a01、1a00、1a13、1a12、1a07、1a08、1a09、1a10、1a11,該圖中用不同色度(黑白灰)來體現不同的散熱程度,當整個集群中計算節點的計算任務到達一定程度時,可以應用熱點均衡調度策略,根據當前集群整體散熱分布的情況來進行調度的,例如,可以生成一張如圖5所示的散熱分布圖,根據該散熱分布圖,將待處理任務優先調度到cpu溫度低的計算節點(如圖5中所示的色度為白色的計算節點)上來運行,從而有效的避免了區域熱點的產生和熱力的不均衡分布,從而降低了整個集群的降溫耗能。
請參閱圖6,作為一種實施方式,所述動態調頻策略包括:
步驟s410,在所述待處理任務處理過程中,實時對所述待處理任務進行特征圖譜分析。
步驟s420,若所述待處理任務為非計算集中型任務,則對所述待處理任務所使用的cpu或gpu進行降頻處理。
其中,非計算集中型任務是指該待處理任務在運行過程中的絕大部分時間并不是使用cpu或gpu來進行計算而是進行其他的操作,例如io操作等。
步驟s430,若所述待處理任務為計算集中型任務,則對所述待處理任務所使用的cpu或gpu進行升頻率處理。
其中,計算集中型任務是指該待處理任務在運行過程中的絕大部分時間是使用cpu或gpu來進行計算。
請參閱圖7,計算任務1(待處理任務)的運行在計算集群中的計算節點a和b上,在整個運行的過程中,通過動態調頻策略來實時優化計算資源的能耗。如圖8所示,對計算任務1(待處理任務)進行實時的特征分析,其在t1階段運行過程中主要以cpu資源的使用為主,cpu100%頻率參與計算,當運行到t2階段時,計算任務1(待處理任務)的運行過程不太需要cpu資源,轉而進行大量的io等操作,此時,通過動態調整策略,將計算任務1(待處理任務)所使用的cpu進行動態調頻,以cpu20%頻率參與計算,從而減少能耗。當運行到t3階段時,根據計算任務1(待處理任務)的特征需要,又以100%頻率進行計算。
在上述實例中,通過實時對所述待處理任務進行特征圖譜分析來確定待處理任務的的類型,作為另一種實施方式,所述待處理任務的類型可以通過建立機器學習模型獲得。進一步的,根據待處理任務的運行過程和集群整體能耗情況等相關運行數據的分析和計算,建立機器學習模型,從而不斷迭代優化任務分級策略。
作為一種實施方式,所述動態遷移策略包括:分析所述集群中正在處理的所有待處理任務,若所述集群中正在處理的所有待處理任務離散分布在不同的計算節點進行處理,將所述待處理任務進行遷移,以使所述待處理任務集中在一個或多個計算節點上處理,并將所述集群中未處理所述待處理任務的計算節點休眠,當所述集群中計算資源不足以處理新增待處理任務時,自動喚醒休眠的計算節點以處理新增待處理任務。
請參閱圖8,如圖8中的上半部分所示,計算任務1運行在計算集群中的計算節點a的其中4個內核中和計算節點b的其中2個內核中,計算任務2運行在計算節點c的其中2個內核中,此時,該集群中正在處理的待處理任務1和2離散分布在計算節點a,b,c上處理,通過動態遷移策略,將離散分布的待處理任務采用計算任務進行遷移,從而使計算任務1和計算任務2完全遷移到計算節點a上,計算節點b和c空閑出來(如圖9中的下半部分所示),例如可以將運行于計算節點b及計算節點c上的待處理任務打上斷點,當將運行于計算節點b及計算節點c上的待處理任務遷移到計算節點a后從該斷點開始重新運行。并且,可以進一步的通過動態調頻策略,對計算節點b和c進行降頻或休眠操作,從而降低整個集群中參與計算的cpu數和節點數,從而減少能耗。
對整個集群的計算任務進行實時的監控,對于離散分布的計算任務采用集中式調度策略的思路進行動態遷移,能夠實現計算任務的運行集中化調整,從而使沒有參與的計算資源能更有效的進入節能模式。
由上述實施方式可以看出,多個調度策略配合使用,其節能降耗的效果將更加。例如,可以將節點級集中式調度策略及cpu級集中式調度策略配合使用,也可以將節點級集中式調度策略及動態調頻策略配合使用,當然也可以將節點級集中式調度策略、cpu級集中式調度策略、及動態調頻策略配合使用,還可以將動態調頻策略及動態遷移策略配合使用,此處不再贅述,但是,上述策略的所有組合方式均屬于本方案保護的范圍。
本發明實施例提供的一種調度方法,通過獲取待處理任務,并采用預設調度策略集中的一個或多個策略,將所述待處理任務在所述集群的各個計算節點中進行調度,或根據所述待處理任務對所述集群中的計算節點的cpu或gpu進行調度,以降低所述集群的能耗,其中,所述預設調度策略集包括節點級集中式調度策略、cpu級集中式調度策略、作業分級策略、熱點均衡調度策略、能耗優先調度策略、動態調頻策略、動態遷移策略,本方案能夠根據待處理任務,實時動態調度集群中計算節點或計算節點的cpu或gpu,從而最大化減少整個集群的能耗,實現整個集群節能的目的。
并且,本方案能夠實現在待處理任務的計算過程中既保證運行效率,同時保證待處理任務盡量避免離散分布或熱源集中,從而最大化降頻和休眠的范圍和效果,降低整體能耗,最大化節能效果。
進一步的,本方案基于集群中所有計算節點的能耗值和cpu/gpu溫度來統一調度計算任務的。對于給定計算量的任務,優先分配到單位能耗最低的計算節點上運行,從而節約任務計算中使用的能源。在相同條件下,本方案將計算任務分配到當前cpu/gpu溫度最低的計算節點上執行,避免機房的熱點形成,從而降低機房空調的能耗。
再者,本方案在待處理任務的計算過程當中進行調度,從而最大化節能效果。很多計算集群的計算任務往往需要運行在上百個計算節點,使用上千個cpu。然而,通常會發現,當計算集群中的很多小計算任務完成并釋放計算資源后,計算資源的使用非常離散,通過對這類大計算任務的遷移和調整,從而可以將大量的計算節點完全釋放出來,從而最大化降頻和休眠的范圍和效果。
請參閱圖9,是本發明實施例提供的調度裝置500的功能模塊示意圖。所述調度裝置500運行于調度服務器100。所述調度裝置500包括獲取模塊510,及調度模塊520。
獲取模塊510,用于獲取待處理任務。
調度模塊520,用于采用預設調度策略集中的一個或多個策略,將所述待處理任務在所述集群的各個計算節點中進行調度,或根據所述待處理任務對所述集群中的計算節點的cpu或gpu進行調度,以降低所述集群的能耗,其中,所述預設調度策略集包括節點級集中式調度策略、cpu級集中式調度策略、作業分級策略、熱點均衡調度策略、能耗優先調度策略、動態調頻策略、動態遷移策略。
作為一種實施方式,所述節點級集中式調度策略包括:將所述待處理任務優先調度到所述集群中滿足所述待處理任務的運行要求且已處于計算過程中的計算節點進行處理。
作為一種實施方式,所述計算節點為多核計算節點,所述cpu級集中式調度策略包括:若所述待處理任務在所述計算節點的其中一個內核進行處理,采用cpu綁定技術將所述待處理任務與處理所述待處理任務的內核進行綁定,以避免所述待處理任務在所述計算節點的多個內核間切換。
作為一種實施方式,所述作業分級策略包括:將所述待處理任務進行分級,根據所述待處理任務的級別調整所述待處理任務所使用的cpu或gpu的頻率。
作為一種實施方式,所述將所述待處理任務進行分級,根據所述待處理任務的級別調整所述待處理任務所使用的cpu或gpu的頻率,包括:若所述待處理任務為第一級別,則所述待處理任務使用cpu或gpu的第一頻率來計算;若所述待處理任務為第二級別,則所述待處理任務使用cpu或gpu的第二頻率來計算,其中,所述第一頻率大于所述第二頻率。
作為一種實施方式,所述熱點均衡調度策略包括:根據所述集群當前的散熱分布情況,對所述待處理任務進行調度。
作為一種實施方式,所述根據所述集群當前的散熱分布情況,對所述待處理任務進行調度,包括:將所述待處理任務優先調度到所述集群中cpu或gpu的溫度小于第一閾值的計算節點上進行處理。
作為一種實施方式,所述能耗優先調度策略包括:將所述待處理任務調度優先調度到所述集群中當前能耗小于第二閾值的計算節點上進行處理。
作為一種實施方式,所述動態調頻策略包括:在所述待處理任務處理過程中,實時對所述待處理任務進行特征圖譜分析;若所述待處理任務為非計算集中型任務,則對所述待處理任務所使用的cpu或gpu進行降頻處理;若所述待處理任務為計算集中型任務,則對所述待處理任務所使用的cpu或gpu進行升頻率處理。
作為一種實施方式,所述待處理任務的類型通過建立機器學習模型獲得。
作為一種實施方式,所述動態遷移策略包括:分析所述集群中正在處理的所有待處理任務,若所述集群中正在處理的所有待處理任務離散分布在不同的計算節點進行處理,將所述待處理任務進行遷移,以使所述待處理任務集中在一個或多個計算節點上處理,并將所述集群中未處理所述待處理任務的計算節點休眠,當所述集群中計算資源不足以處理新增待處理任務時,自動喚醒休眠的計算節點以處理新增待處理任務。
以上各模塊可以是由軟件代碼實現,此時,上述的各模塊可存儲于調度服務器100的存儲器110內。以上各模塊同樣可以由硬件例如集成電路芯片實現。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本發明實施例所提供的調度裝置,其實現原理及產生的技術效果和前述方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應內容。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據本發明的多個實施例的裝置、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
另外,在本發明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。