亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法及裝置與流程

文檔序號:12176676閱讀:267來源:國知局
分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法及裝置與流程

本發(fā)明涉及網(wǎng)絡技術(shù),尤其是涉及一種分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法以及分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置。



背景技術(shù):

在分布式技術(shù)領(lǐng)域中,由于Hadoop的系統(tǒng)底層細節(jié)透明而成為目前應用較為廣泛的分布式框架?;贖adoop的集群(即Hadoop集群)伸縮通常是指集群規(guī)模和處理能力的調(diào)整。

目前,Hadoop集群伸縮的實現(xiàn)方法通常為:在Hadoop集群中需要增加新的從節(jié)點時,先對該從節(jié)點所在的服務器進行配置,然后,中斷Hadoop集群中的各節(jié)點中的服務,并在通知Hadoop集群中的各節(jié)點增加了新的從節(jié)點后,啟動Hadoop集群的各節(jié)點中的服務,從而使新的從節(jié)點加入Hadoop集群;在Hadoop集群中需要縮減從節(jié)點時,中斷Hadoop集群中的各節(jié)點中的服務,并在通知Hadoop集群中的各節(jié)點被縮減的從節(jié)點后,啟動Hadoop集群的各節(jié)點中的服務,從而使被縮減的從節(jié)點退出Hadoop集群。

發(fā)明人在實現(xiàn)本發(fā)明過程中發(fā)現(xiàn),現(xiàn)有的調(diào)整集群規(guī)模和處理能力的方式由于需要中斷Hadoop集群的各節(jié)點中的服務,且設(shè)置服務器等操作需要人工處理,從而使集群伸縮的實現(xiàn)成本較高,且智能化程度較低。另外,調(diào)整后的Hadoop集群很難與實際應用場景中對存儲資源和計算資源的需求相匹配,如Hadoop集群規(guī)模和處理能力通常是根據(jù)高峰時段對集群資源的需求設(shè)置的,因此,在低峰時段必然會出現(xiàn)集群資源浪費的現(xiàn)象。



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

本發(fā)明的目的是提供一種分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法及裝置。

根據(jù)本發(fā)明的一個方面,提供一種分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法,且所述方法主要包括以下步驟:確定出存在集群動態(tài)伸縮需求,其中,所述集群包括:多個從節(jié)點,且所述多個從節(jié)點根據(jù)其提供的資源服務被劃分為計算資源組和存儲資源組;根據(jù)所述集群動態(tài)伸縮需求調(diào)整所述計算資源組和/或存儲資源組中的從節(jié)點數(shù)量。

根據(jù)本發(fā)明的另一個方面,提供一種分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置,包括:用于確定出存在集群動態(tài)伸縮需求的裝置,其中,所述集群包括:多個從節(jié)點,且所述多個從節(jié)點根據(jù)其提供的資源服務被劃分為計算資源組和存儲資源組;用于根據(jù)所述集群動態(tài)伸縮需求調(diào)整所述計算資源組和/或存儲資源組中的從節(jié)點數(shù)量的裝置。

與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:本發(fā)明通過將集群中的多個從節(jié)點根據(jù)其各自所提供的資源服務(即計算資源服務、存儲資源服務)而劃分在計算資源組和存儲資源組中,使計算資源組和存儲資源組中的從節(jié)點所提供的資源服務存在差異,這樣,計算資源組中的從節(jié)點可以為重計算輕存儲的從節(jié)點,而存儲資源組中的從節(jié)點可以為重存儲輕計算的從節(jié)點,從而本發(fā)明在集群伸縮時,可以有針對性的對計算資源組和/或存儲資源組進行伸縮,進而本發(fā)明可以使集群規(guī)模和處理能力的調(diào)整更加有針對性,使集群規(guī)模和處理能力能夠與實際應用場景中對存儲資源和計算資源的需求更好的匹配,如在高峰時段,集群可以及時提供充足的計算資源,而在低谷時段,集群可以及時釋放多余的計算資源等;由此可知,本發(fā)明提供的技術(shù)方案可以有效的避免集群資源不足以及集群資源浪費的現(xiàn)象,在提高了集群動態(tài)伸縮的靈活性的同時,提高了集群的性能。

附圖說明

通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:

圖1為本發(fā)明實施例一的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法流程圖;

圖2為本發(fā)明實施例二的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法中的利用虛擬機搭建Hadoop集群的一個具體例子的流程圖;

圖3為本發(fā)明實施例二的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法中的Hadoop集群的擴容的一個具體例子的流程圖;

圖4為本發(fā)明實施例二的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法中的Hadoop集群的縮容的一個具體例子的流程圖;

圖5為本發(fā)明實施例三的遠程控制節(jié)點執(zhí)行分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法中的一個具體例子的流程圖;

圖6為本發(fā)明實施例四的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置示意圖;

圖7為本發(fā)明實施例四的確定需求裝置的一個具體例子的示意圖;

圖8為本發(fā)明實施例四的調(diào)整資源組裝置的一個具體例子的示意圖;

圖9為本發(fā)明實施例四的調(diào)整資源組裝置的另一個具體例子的示意圖;

圖10為本發(fā)明實施例四的注冊裝置的一個具體例子的示意圖;

圖11為本發(fā)明實施例四的調(diào)整資源組裝置的再一個具體例子的示意圖。

附圖中相同或相似的附圖標記代表相同或相似的部件。

具體實施方式

在更加詳細地討論示例性實施例之前,應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項操作描述成順序的處理,但是,其中的許多操作可以被并行地、并發(fā)地或者同時實施。此外,各項操作的執(zhí)行順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應于方法、函數(shù)、規(guī)程、子例程、子程序等等。

在上下文中所稱“計算機設(shè)備”,也稱為“電腦”,是指可以通過運行預定程序或指令來執(zhí)行數(shù)值計算和/或邏輯計算等預定處理過程的智能電子設(shè)備,其可以包括處理器與存儲器,由處理器執(zhí)行在存儲器中預存的存續(xù)指令來執(zhí)行預定處理過程,或者是由ASIC、FPGA、DSP等硬件執(zhí)行預定處理過程,或者是由上述二者組合來實現(xiàn)。計算機設(shè)備包括但不限于服務器、個人電腦以及筆記本電腦等。

所述計算機設(shè)備包括用戶設(shè)備與網(wǎng)絡設(shè)備。其中,所述用戶設(shè)備包括但不限于電腦、智能手機、PDA等;所述網(wǎng)絡設(shè)備包括但不限于單個網(wǎng)絡服務器、多個網(wǎng)絡服務器組成的服務器組或基于云計算(Cloud Computing)的由大量計算機或網(wǎng)絡服務器構(gòu)成的云,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。其中,所述計算機設(shè)備可單獨運行來實現(xiàn)本發(fā)明,也可接入網(wǎng)絡并通過與網(wǎng)絡中的其他計算機設(shè)備的交互操作來實現(xiàn)本發(fā)明。其中,所述計算機設(shè)備所處的網(wǎng)絡包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡等。

需要說明的是,所述用戶設(shè)備、網(wǎng)絡設(shè)備和網(wǎng)絡等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的計算機設(shè)備或網(wǎng)絡如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并以引用方式包含于此。

后面所討論的方法(其中一些通過流程圖示出)可通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任意組合來實施。當用軟件、固件、中間件或微代碼來實施時,用以實施必要任務的程序代碼或代碼段可以被存儲在機器或計算機可讀介質(zhì)(比如存儲介質(zhì))中。(一個或多個)處理器可以實施必要的任務。

這里所公開的具體結(jié)構(gòu)和功能細節(jié)僅僅是代表性的,并且是用于描述本發(fā)明的示例性實施例的目的。但是,本發(fā)明可以通過許多替換形式來具體實現(xiàn),并且不應當被解釋成僅僅受限于這里所闡述的實施例。

應當理解的是,雖然在這里可能使用了術(shù)語“第一”、“第二”等等來描述各個單元,但是這些單元不應當受這些術(shù)語限制。使用這些術(shù)語僅僅是為了將一個單元與另一個單元進行區(qū)分。舉例來說,在不背離示例性實施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術(shù)語“和/或”包括其中一個或更多所列出的相關(guān)聯(lián)項目的任意和所有組合。

應當理解的是,當一個單元被稱為“連接”或者“耦合”到另一個單元時,其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當一個單元被稱為“直接連接”或“直接耦合”到另一單元時,則不存在中間單元。應當按照類似的方式來解釋被用于描述單元之間的關(guān)系的其他詞語(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。

這里所使用的術(shù)語僅僅是為了描述具體實施例而不意圖限制示例性實施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個”、“一項”還意圖包括復數(shù)。還應當理解的是,這里所使用的術(shù)語“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。

還應當提到的是,在一些替換實現(xiàn)方式中,所提到的功能/動作可以按照不同于附圖中標示的順序發(fā)生。舉例來說,取決于所涉及的功能/動作,相繼示出的兩幅圖實際上可以基本上同時執(zhí)行或者有時可以按照相反的順序來執(zhí)行。

下面結(jié)合附圖對本發(fā)明作進一步詳細描述。

實施例一、分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法。

圖1為本實施例的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法的流程圖,且圖1所示的方法主要包括:步驟S100以及步驟S110。本實施例所記載的方法通常是在計算機設(shè)備中被執(zhí)行的,優(yōu)選的,本實施例所記載的方法可以在服務器、臺式計算機以及其他網(wǎng)絡設(shè)備中被執(zhí)行,如該方法在與集群遠程連接的服務器、臺式計算機以及其他網(wǎng)絡設(shè)備中被執(zhí)行。下面對圖1中的各步驟分別進行說明。

S100、確定出存在集群動態(tài)伸縮需求。

本實施例中的集群可以為Hadoop集群,也可以為基于其他分布式框架的集群。本實施例中的集群包括:多個從節(jié)點,即Slave節(jié)點。本實施例中的從節(jié)點是相對于集群的主節(jié)點(即Master節(jié)點)而言的。本實施例中的從節(jié)點并不是指針對集群數(shù)據(jù)副本而言的從節(jié)點。另外,本實施例中的從節(jié)點通常由虛擬機或者其他形式的易于創(chuàng)建并易于銷毀的邏輯設(shè)備來實現(xiàn)。

作為示例,集群中的所有從節(jié)點被劃分為計算資源組和存儲資源組,當然,本實施例并不排除集群中的部分從節(jié)點被劃分為計算資源組和存儲資源組的可能性。通常情況下,計算資源組應包括至少一個從節(jié)點(可以稱為計算從節(jié)點),而存儲資源組也應包括至少一個從節(jié)點(可以稱為存儲從節(jié)點),即計算資源組和存儲資源組通常不會出現(xiàn)為空的情況。

作為示例,一個從節(jié)點被劃分在計算資源組或者存儲資源組中的依據(jù)通常包括:該從節(jié)點為集群所提供的資源服務;例如,一個從節(jié)點如果為集群提供存儲資源服務(如分布式存儲服務),則該從節(jié)點會被劃分到存儲資源組中,而一個從節(jié)點如果不為集群提供存儲資源服務,但是卻為集群提供計算資源服務(如分布式計算服務),則該從節(jié)點會被劃分到計算資源組中。

作為示例,存儲資源組中的各從節(jié)點通常具有較大存儲空間的磁盤(如大容量硬盤等),而其CPU(Central Processing Unit,中央處理器)的計算能力通常較弱;相反的,計算資源組中的各從節(jié)點通常具有較強計算能力的CPU,而其磁盤的存儲空間通常很小(如配置小容量硬盤等)。

本實施例將集群中的從節(jié)點劃分為計算資源組和存儲資源組,且計算資源組和存儲資源組中的從節(jié)點在存儲資源和計算資源方面的配置可以存在較大差異,從而可以使集群規(guī)模和處理能力的調(diào)整更加有針對性,且可以使集群規(guī)模和處理能力能夠與實際應用場景中對存儲資源和計算資源的需求更好的匹配,如集群可以較好的適用于重存儲輕計算的實際應用場景中,再如集群可以較好的適用于輕存儲重計算的實際應用場景中。

作為示例,本實施例的存儲資源組中的從節(jié)點為集群提供存儲資源服務和計算資源服務,如存儲資源組中的從節(jié)點為集群提供分布式存儲服務和分布式計算服務;而本實施例的計算資源組中的從節(jié)點僅為集群提供計算資源服務,即計算資源組中的從節(jié)點僅為集群提供分布式計算服務,而不為集群提供分布式存儲服務。當然,本實施例并不排除存儲資源組中的從節(jié)點僅為集群提供存儲資源服務而不為集群提供計算資源服務的可能性。由于集群中的從節(jié)點在執(zhí)行數(shù)據(jù)讀取操作時需要占用一定的計算資源,但是其所占用的計算資源非常有限,因此,本實施例通過使存儲資源組中的從節(jié)點提供存儲資源服務以及計算資源服務,可以實現(xiàn)對存儲資源組中的從節(jié)點的充分利用。

作為示例,本實施例中的集群動態(tài)伸縮需求可以包括:擴充計算資源組中的從節(jié)點需求、縮減計算資源組中的從節(jié)點需求、擴充存儲資源組中的從節(jié)點需求以及縮減存儲資源組中的從節(jié)點需求中的一個或者多個。

作為示例,在本實施例中的集群動態(tài)伸縮需求包括上述四種需求的情況下,本實施例所確定出的存在的集群動態(tài)伸縮需求可以為上述四種需求中的任意一種需求;當然,本實施例所確定出的存在的集群動態(tài)伸縮需求也可以不止包括一種需求而是同時包括兩種需求,如擴充計算資源組中的從節(jié)點需求以及擴充存儲資源組中的從節(jié)點需求;再如擴充計算資源組中的從節(jié)點需求以及縮減存儲資源組中的從節(jié)點需求;再如縮減計算資源組中的從節(jié)點需求以及擴充存儲資源組中的從節(jié)點需求;再如縮減計算資源組中的從節(jié)點需求以及縮減存儲資源組中的從節(jié)點需求。

作為示例,本實施例可以在集群的計算任務過多形成堆積或惡性競爭等的情況下,確定出存在集群動態(tài)伸縮需求,且本實施例可以在集群的存儲空間不足或者存儲空間存在危機的情況下,確定出存在集群動態(tài)伸縮需求;更具體而言,本實施例可以根據(jù)獲取到的集群性能信息確定出存在集群動態(tài)伸縮需求。本實施例所獲取到的集群性能信息可以包括:集群的計算資源利用率和集群的存儲資源利用率中的至少一個;且在通常情況下,本實施例獲取到的集群性能信息同時包括:集群的計算資源利用率和集群的存儲資源利用率。集群的計算資源利用率通常為當前集群中的所有計算任務所占用的計算資源與當前集群中的所有從節(jié)點所能夠提供的總計算資源的比值,也即當前集群中的所有計算任務所占用的計算資源占當前集群中的所有從節(jié)點所能夠提供的總計算資源的百分比。集群的存儲資源利用率通常為當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間與當前集群中的所有從節(jié)點所能夠提供的總存儲資源的比值,也即當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間占當前集群中的所有從節(jié)點所能夠提供的總存儲資源的百分比。當然,本實施例所獲取到的集群性能信息也可以包括:集群中未被使用的計算資源以及集群中未被占用的存儲資源等。本實施例不限制集群性能信息的具體表現(xiàn)形式。

作為示例,本實施例可以通過集群中的所有從節(jié)點加入集群的過程獲知集群的各從節(jié)點各自所能夠提供的總計算資源(如CPU的數(shù)據(jù)處理能力)以及總存儲資源(如磁盤的存儲空間大小),從而本實施例能夠獲知集群的所有從節(jié)點所能夠提供的總計算資源和總存儲資源。

作為示例,在集群中的所有從節(jié)點均被劃分在計算資源組和存儲資源組中,且計算資源組中的所有從節(jié)點僅提供計算資源服務,而存儲資源組中的所有從節(jié)點僅提供存儲資源服務的情況下,本實施例所獲得集群的計算資源利用率其實為計算資源組中的所有從節(jié)點的計算資源利用率,本實施例所獲取的集群的存儲資源利用率其實為存儲資源組中的所有從節(jié)點的存儲資源利用率。

作為示例,在集群中的所有從節(jié)點均被劃分在計算資源組和存儲資源組中,且計算資源組中的所有從節(jié)點僅提供計算資源服務,而存儲資源組中的所有從節(jié)點提供存儲資源服務和計算資源服務的情況下,本實施例所獲得集群的計算資源利用率其實為計算資源組和存儲資源組中的所有從節(jié)點的計算資源利用率,本實施例所獲得的集群的存儲資源利用率其實為存儲資源組中的所有從節(jié)點的存儲資源利用率。

作為示例,本實施例可以從集群的主節(jié)點處獲取集群的計算資源利用率以及集群的存儲資源利用率;如本實施例通過與集群的主節(jié)點進行遠程通訊向主節(jié)點發(fā)送請求,并接收主節(jié)點根據(jù)該請求而傳輸來的當前集群的計算資源利用率以及集群的存儲資源利用率;再如主節(jié)點通過遠程通訊方式主動定時上報當前集群的計算資源利用率以及集群的存儲資源利用率;再如主節(jié)點在監(jiān)測到當前集群的計算資源利用率達到第一閾值或者低于第二閾值或者集群的存儲資源利用率達到第三閾值或者低于第四閾值時,通過遠程通訊方式主動上報當前集群的計算資源利用率以及集群的存儲資源利用率。

作為示例,本實施例可以從集群的主節(jié)點處獲取集群中的所有計算任務所占用的計算資源以及集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間,并對獲取到的占用的計算資源、占用的存儲空間以及本地維護的集群中的所有從節(jié)點所能夠提供的總計算資源和集群中的所有從節(jié)點所能夠提供的總存儲資源進行計算,從而獲得集群的計算資源利用率以及集群的存儲資源利用率;

一個具體的例子,本實施例通過與集群的主節(jié)點進行遠程通訊向主節(jié)點發(fā)送請求,并接收主節(jié)點根據(jù)該請求而傳輸來的當前集群中的所有計算任務所占用的計算資源以及當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間,然后,計算接收到的當前集群中的所有計算任務所占用的計算資源與當前維護的計算資源組和存儲資源組中的所有從節(jié)點提供的總計算資源的比值,從而獲得當前集群的計算資源利用率,同樣的,本實施例還需要計算接收到的當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間與當前維護的存儲資源組中的所有從節(jié)點提供的總存儲空間的比值,從而獲得當前集群的存儲資源利用率;

另一個具體的例子,主節(jié)點通過遠程通訊方式主動定時上報當前集群中的所有計算任務所占用的計算資源以及當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間,然后,計算上報的當前集群中的所有計算任務所占用的計算資源與當前維護的計算資源組和存儲資源組中的所有從節(jié)點提供的總計算資源的比值,從而獲得當前集群的計算資源利用率,同樣的,本實施例還需要計算上報的當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間與當前維護的存儲資源組中的所有從節(jié)點提供的總存儲空間的比值,從而獲得當前集群的存儲資源利用率;

再一個具體的例子,主節(jié)點在監(jiān)測到當前集群中的所有計算任務所占用的計算資源達到預設(shè)處理閾值或者當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間達到預設(shè)存儲閾值時,上報當前集群中的所有計算任務所占用的計算資源以及當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間,然后,計算上報的當前集群中的所有計算任務所占用的計算資源與當前維護的計算資源組和存儲資源組中的所有從節(jié)點提供的總計算資源的比值,從而獲得當前集群的計算資源利用率,同樣的,本實施例還需要計算上報的當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間與當前維護的存儲資源組中的所有從節(jié)點提供的總存儲空間的比值,從而獲得當前集群的存儲資源利用率。

作為示例,本實施例利用集群的計算資源利用率可以確定出集群是否存在擴充計算資源組中的從節(jié)點需求或者縮減計算資源組中的從節(jié)點需求;而利用集群的存儲資源利用率可以確定出集群是否存在擴充存儲資源組中的從節(jié)點需求或者縮減存儲資源組中的從節(jié)點需求。

作為示例,本實施例利用集群的計算資源利用率確定出集群是否存在擴充計算資源組中的從節(jié)點需求或者縮減計算資源組中的從節(jié)點需求的一個具體的例子為,在判斷出集群的計算資源利用率超過第一閾值的情況下,確定出存在擴充計算資源組中的從節(jié)點需求;而在判斷出集群的計算資源利用率低于第二閾值的情況下,確定出存在縮減計算資源組中的從節(jié)點需求;且上述第一閾值通常遠大于第二閾值。

作為示例,本實施例利用集群的存儲資源利用率可以確定出集群是否存在擴充存儲資源組中的從節(jié)點需求或者縮減存儲資源組中的從節(jié)點需求的一個具體的例子為,在判斷出存儲資源組的存儲資源利用率超過第三閾值的情況下,確定出存在擴充存儲資源組中的從節(jié)點需求;而在判斷出計算資源組的存儲資源利用率低于第四閾值的情況下,確定出存在縮減存儲資源組中的從節(jié)點需求;且上述第三閾值通常遠大于第四閾值。

作為示例,本實施例可以根據(jù)接收到的資源調(diào)整控制信息確定出存在集群動態(tài)伸縮需求;如在接收到主節(jié)點傳輸來的資源調(diào)整控制信息時確定出存在集群動態(tài)伸縮需求;再如在接收到用戶輸入的資源調(diào)整控制信息時確定出存在集群動態(tài)伸縮需求。

作為示例,本實施例中的資源調(diào)整控制信息可以為:擴充計算資源組中的從節(jié)點的控制信息、縮減計算資源組中的從節(jié)點的控制信息、擴充存儲資源組中的從節(jié)點的控制信息以及縮減存儲資源組中的從節(jié)點的控制信息中的任意一個;也可以為擴充計算資源組中的從節(jié)點的控制信息和縮減計算資源組中的從節(jié)點的控制信息中的任意一個以及擴充存儲資源組中的從節(jié)點的控制信息以及縮減存儲資源組中的從節(jié)點的控制信息中的任意一個。

S110、根據(jù)集群動態(tài)伸縮需求調(diào)整計算資源組和/或存儲資源組中的從節(jié)點數(shù)量。

作為示例,本實施例可以先確定出計算資源組和/或存儲資源組中需要調(diào)整的從節(jié)點的數(shù)量,然后,再根據(jù)確定出的數(shù)量在計算資源組和/或存儲資源組中增加或者減少相應數(shù)量的從節(jié)點。

作為示例,本實施例確定出計算資源組中需要調(diào)整的從節(jié)點的數(shù)量的一個具體的例子為:預先設(shè)置有較佳的集群的計算資源利用率(即理想的集群的計算資源利用率),在需要在計算資源組中添加新的從節(jié)點的情況下,可以根據(jù)當前集群中的所有計算任務所占用的計算資源確定出達到上述較佳的集群的計算資源利用率所需的總計算資源,計算所需的總計算資源與當前集群所提供的總計算資源的差值,然后,根據(jù)該差值以及一個新增加的從節(jié)點所能夠提供的計算資源確定計算資源組中需要擴充的從節(jié)點數(shù)量。另一個具體的例子,在需要縮減計算資源組中的從節(jié)點的情況下,可以根據(jù)當前集群中的所有計算任務所占用的計算資源確定出達到上述較佳的集群的計算資源利用率所需的總計算資源,計算所需的總計算資源與當前集群所提供的總計算資源的差值,然后,根據(jù)該差值以及計算資源組中一個從節(jié)點所能夠提供的計算資源確定計算資源組中需要縮減的從節(jié)點數(shù)量。

作為示例,本實施例確定出存儲資源組中需要調(diào)整的從節(jié)點的數(shù)量的一個具體的例子為:預先設(shè)置有較佳的集群的存儲資源利用率(即理想的集群的存儲資源利用率),在需要在存儲資源組中添加新的從節(jié)點的情況下,可以根據(jù)當前集群中的已存儲數(shù)據(jù)所占用的存儲資源確定出達到上述較佳的集群的存儲資源利用率所需的總存儲資源,計算所需的總存儲資源與當前集群所提供的總存儲資源的差值,并根據(jù)該差值以及一個新增加的從節(jié)點所能夠提供的存儲資源確定存儲資源組中需要擴充的從節(jié)點數(shù)量。另一個具體的例子,在需要縮減存儲資源組中的從節(jié)點的情況下,可以根據(jù)當前集群中的所有已存儲數(shù)據(jù)所占用的存儲資源確定出達到上述較佳的集群的存儲資源利用率所需的總存儲資源,計算所需的總存儲資源與當前集群所提供的總存儲資源的差值,然后,根據(jù)該差值以及存儲資源組中一個從節(jié)點所能夠提供的存儲資源確定存儲資源組中需要縮減的從節(jié)點數(shù)量。

需要特別說明的是,在需要針對計算資源組和存儲資源組中的從節(jié)點數(shù)量分別進行調(diào)整,且存儲資源組中的從節(jié)點能夠提供存儲資源以及計算資源的情況下,本實施例通常應先確定出存儲資源組中需要調(diào)整的從節(jié)點的數(shù)量,然后,再確定計算資源組中需要調(diào)整的從節(jié)點的數(shù)量,且在確定計算資源組中需要調(diào)整的從節(jié)點的數(shù)量的過程中,通常應考慮存儲資源組中需要擴充/縮減的從節(jié)點所提供的計算資源對集群的總計算資源的影響。

作為示例,在計算資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,本實施例根據(jù)集群動態(tài)伸縮需求擴充計算資源組中的從節(jié)點的一個具體實現(xiàn)過程為:首先,確定出計算資源組中需要擴充的從節(jié)點數(shù)量,然后,根據(jù)該數(shù)量創(chuàng)建同等數(shù)量的虛擬機,并將新創(chuàng)建的各虛擬機分別注冊在集群中(如將包括新創(chuàng)建的虛擬機的主機名在內(nèi)的注冊信息分別添加在集群中的主節(jié)點以及各從節(jié)點中的集群配置文件中),并啟動成功注冊的各虛擬機的分布式計算服務,之后,將各虛擬機劃分在計算資源組中,如將新增加的各虛擬機的相關(guān)信息(如新增加的虛擬機的計算資源信息等配置信息)維護在計算資源組信息中。

需要特別說明的是,上述確定需要擴充的從節(jié)點數(shù)量的操作、創(chuàng)建新的虛擬機的操作、新的虛擬機在集群中的注冊操作、啟動成功注冊的新的虛擬機中的分布式計算服務的操作以及將成功啟動服務后的虛擬機劃分在計算資源組中的操作均不會對當前集群中的各節(jié)點所執(zhí)行的任務產(chǎn)生影響,且本實施例在成功啟動了虛擬機中的分布式計算服務后,該虛擬機即被正式投入使用成為計算資源組中的從節(jié)點,集群中的主節(jié)點可以根據(jù)其當前的計算任務分配策略為該虛擬機分配相應的計算任務,從而本實施例可以在計算資源組中平滑無斷點的增加新的從節(jié)點。由此可知,本實施例可以不中斷集群的各節(jié)點中的服務的情況下,在計算資源組中增加新的從節(jié)點,從而避免了在集群伸過程中的服務中斷所帶來的集群伸實現(xiàn)成本較高的問題;另外,本實施例通過使用虛擬機來實現(xiàn)計算資源組中的從節(jié)點,可以以遠程控制方式方便的對計算資源組中的從節(jié)點進行增刪,從而提高了實現(xiàn)集群伸的智能化程度。另外,本實施例創(chuàng)建的不同虛擬機所提供的計算資源可能相同,也可能存在差異。

作為示例,在存儲資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,本實施例根據(jù)集群動態(tài)伸縮需求擴充存儲資源組中的從節(jié)點數(shù)量的一個具體實現(xiàn)過程為:首先,確定出存儲資源組中需要擴充的從節(jié)點數(shù)量,然后,根據(jù)該數(shù)量創(chuàng)建同等數(shù)量的虛擬機,然后,將新創(chuàng)建的各虛擬機分別注冊在集群中(如將包括新創(chuàng)建的虛擬機的主機名在內(nèi)的注冊信息分別添加在集群中的主節(jié)點以及各從節(jié)點中的集群配置信息中),并啟動成功注冊的各虛擬機的分布式計算服務和分布式存儲服務,之后,將各虛擬機劃分在存儲資源組中,如將新增加的各虛擬機的相關(guān)信息(如新增加的虛擬機的計算資源信息以及存儲資源信息等配置信息)維護在存儲資源組信息中。

需要特別說明的是,上述確定需要擴充的從節(jié)點數(shù)量的操作、創(chuàng)建新的虛擬機的操作、新的虛擬機在集群中的注冊操作、啟動成功注冊的新的虛擬機中的分布式存儲服務和分布式計算服務的操作以及將成功啟動服務后的虛擬機劃分在存儲資源組中的操作均不會對當前集群中的各節(jié)點所執(zhí)行的任務產(chǎn)生影響,且本實施例在成功啟動了虛擬機中的分布式存儲服務和分布式計算服務后,該虛擬機即被正式投入使用成為存儲資源組中的從節(jié)點,集群中的主節(jié)點可以根據(jù)其當前的存儲任務分配策略以及計算任務分配測量為該從節(jié)點分配相應的存儲任務和計算任務,從而本實施例可以在存儲資源組中平滑無斷點的增加新的從節(jié)點。由此可知,本實施例可以不中斷集群的各節(jié)點中的服務的情況下,在存儲資源組中增加新的從節(jié)點,從而避免了在集群伸過程中的服務中斷所帶來的集群伸實現(xiàn)成本較高的問題;另外,本實施例通過使用虛擬機來實現(xiàn)存儲資源組中的從節(jié)點,可以以遠程控制方式方便的對存儲資源組中的從節(jié)點進行增刪,從而提高了實現(xiàn)集群伸的智能化程度。另外,本實施例創(chuàng)建的不同虛擬機所提供的計算資源可能相同,也可能存在差異。

作為示例,本實施例將虛擬機注冊在集群中的一個具體的例子為:通過遠程登錄方式不斷的嘗試登錄新創(chuàng)建的虛擬機,在成功遠程登錄該新創(chuàng)建的虛擬機后,可以在該虛擬機中,為本次遠程登錄的遠程登錄方設(shè)置免密碼登陸權(quán)限,以便于在后續(xù)的刪除從節(jié)點的過程中可以方便的對該從節(jié)點進行遠程操作;然后,將該虛擬機的主機名等注冊信息配置在集群的主節(jié)點和各從節(jié)點中,使集群中的主節(jié)點和各從節(jié)點均獲知其所在的集群中添加了該從節(jié)點。

作為示例,在計算資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,本實施例根據(jù)集群動態(tài)伸縮需求縮減計算資源組中的從節(jié)點的一個具體實現(xiàn)過程為:首先,確定出計算資源組中需要縮減的從節(jié)點數(shù)量,然后,根據(jù)該數(shù)量從計算資源組中選取相應的從節(jié)點,針對選取出的各從節(jié)點,通知集群中的主節(jié)點以及各從節(jié)點將選取出的各從節(jié)點從集群中刪除(如分別控制集群中的主節(jié)點以及各從節(jié)點在其各自執(zhí)行兩個任務之間的空隙將選取出的各從節(jié)點的注冊信息分別從集群配置文件中刪除),在所有的主節(jié)點以及從節(jié)點均刪除了被選取出的從節(jié)點的注冊信息后,刪除實現(xiàn)被選取出的從節(jié)點的虛擬機,并將被刪除的虛擬機的相關(guān)信息(如被刪除的虛擬機的配置信息等)從計算資源組信息中刪除。

需要特別說明的是,由于本實施例可以在節(jié)點執(zhí)行兩個任務的間隙對節(jié)點中的注冊信息進行刪除處理,因此,在縮減計算資源組中的從節(jié)點的過程中,通常不會對當前集群中的其他各節(jié)點所執(zhí)行的任務產(chǎn)生影響,且本實施例在將從節(jié)點從集群中刪除后,已經(jīng)分配給該從節(jié)點且該從節(jié)點未成功執(zhí)行的計算任務通??梢酝ㄟ^集群自身的容災機制避免該任務最終執(zhí)行失敗,從而本實施例可以平衡無斷點的刪除計算資源組中的從節(jié)點。由此可知,本實施例可以在不中斷集群的各節(jié)點中的服務的情況下,減少計算資源組中的從節(jié)點。另外,由于計算資源組中的不同從節(jié)點所能提供的計算資源可能相同,也有可能存在差異,因此,在計算資源組中的不同從節(jié)點所能提供的計算資源存在差異的情況下,在確定需要縮減的從節(jié)點的數(shù)量以及選取被縮減的從節(jié)點的過程中,應考慮計算資源組中各從節(jié)點所能提供的計算資源。

作為示例,在存儲資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,本實施例根據(jù)集群動態(tài)伸縮需求縮減存儲資源組中的從節(jié)點數(shù)量的一個具體實現(xiàn)過程為:首先,確定出存儲資源組中需要縮減的從節(jié)點數(shù)量,然后,根據(jù)該數(shù)量從存儲資源組中選取相應的從節(jié)點,針對選取出的各從節(jié)點,通知集群中的主節(jié)點以及各從節(jié)點將選取出的各從節(jié)點從集群中刪除(如分別控制集群中的主節(jié)點以及各從節(jié)點在其各自執(zhí)行兩個任務之間的空隙將選取出的各從節(jié)點的注冊信息分別從集群配置文件中刪除),在所有的主節(jié)點以及從節(jié)點均刪除了被選取出的從節(jié)點的注冊信息后,刪除實現(xiàn)被選取出的從節(jié)點的虛擬機,并將被刪除的虛擬機的相關(guān)信息(如被刪除的虛擬機的配置信息等)從存儲資源組信息中刪除。

需要特別說明的是,由于本實施例可以在節(jié)點執(zhí)行兩個任務的間隙對節(jié)點中的注冊信息進行刪除處理,因此,在縮減存儲資源組中的從節(jié)點的過程中,通常不會對當前集群中的其他各節(jié)點所執(zhí)行的任務產(chǎn)生影響,且本實施例在將從節(jié)點從集群中刪除后,已經(jīng)分配給該從節(jié)點且該從節(jié)點未成功執(zhí)行的計算任務通??梢酝ㄟ^集群自身的容災機制而避免該計算任務最終執(zhí)行失敗,且由于刪除該從節(jié)點而導致的該從節(jié)點中存儲的數(shù)據(jù)丟失現(xiàn)象通??梢酝ㄟ^集群的數(shù)據(jù)副本之間的同步過程而恢復;從而本實施例可以平衡無斷點的刪除計算資源組中的從節(jié)點。由此可知,本實施例可以在不中斷集群的各節(jié)點中的服務的情況下,通過遠程控制縮減存儲資源組中的從節(jié)點。另外,由于存儲資源組中的不同從節(jié)點所能提供的存儲資源可能相同,也由可能存在差異,因此,在存儲資源組中的不同從節(jié)點所能提供的存儲資源存在差異的情況下,在確定需要縮減的從節(jié)點的數(shù)量以及選取被縮減的從節(jié)點的過程中,應考慮存儲資源組中各從節(jié)點所能提供的存儲資源。還有,在縮減存儲資源組中的從節(jié)點的過程中,應考慮對集群的計算資源的影響。

作為示例,在針對存儲資源組進行縮減的過程中,在通常情況下,本實施例所選取出的被縮減的從節(jié)點數(shù)量應小于存儲資源組中的所有從節(jié)點與集群數(shù)據(jù)副本數(shù)量之差;如在集群中的數(shù)據(jù)副本數(shù)量為3的情況下,在對存儲資源組中的從節(jié)點進行了縮減之后,存儲資源組中的從節(jié)點數(shù)量應不小于3,以盡可能的減小集群中的數(shù)據(jù)丟失風險。

作為示例,在針對計算資源組進行縮減的過程中,在通常情況下,本實施例所選取出的被縮減的從節(jié)點所能夠提供的總計算資源與集群中的所有從節(jié)點所提供的總計算資源的比值不超過預定比值(如5%),以盡可能的減少重計算而導致的計算延時。

實施例二、在Hadoop集群中用于實現(xiàn)集群動態(tài)伸縮的方法。

本實施例中的Hadoop集群是通過虛擬機搭建的。通過遠程控制方式利用虛擬機搭建Hadoop集群的一個具體過程如圖2所示,且圖2所示的方法包括下述步驟:

S200、基于預設(shè)定的Hadoop集群所包含的從節(jié)點的數(shù)量創(chuàng)建相應數(shù)量的虛擬機,在創(chuàng)建各虛擬機的過程中,為虛擬機分配的基本信息通常包括:局域網(wǎng)IP地址(如192.168.0.62)、虛擬機的登錄賬號(如root)以及虛擬機的登錄密碼;

S210、在成功創(chuàng)建各虛擬機之后,通過遠程登錄方式不斷的嘗試登錄各虛擬機,以確認各虛擬機的網(wǎng)絡均連通可用;且在遠程成功登錄各虛擬機之后,在各虛擬機中分別針對該遠程登錄方設(shè)置免密碼登錄權(quán)限,以方便后續(xù)對Hadoop集群動態(tài)伸縮控制;

S220、為每一個虛擬機分配一個Hos tname(主機名),并將各虛擬機的Hos tname分別設(shè)置于其他所有虛擬機的相應配置文件中(如/etc/hos ts文件中);

S230、除了Hadoop集群中的主節(jié)點之外,對所有的虛擬機進行存儲資源組和計算資源組的劃分,并根據(jù)各虛擬機的硬件配置設(shè)置各虛擬機的yarn服務中的nodemanager的Cpu信息(即計算資源信息)以及hdfs服務中存儲空間大小(即存儲資源信息),使遠程登錄方可以方便的調(diào)整存儲資源組和計算資源組中的從節(jié)點的數(shù)量;另外,主節(jié)點也應獲知各虛擬機的yarn服務中的nodemanager的Cpu信息以及hdfs服務中存儲空間大小,以便于主節(jié)點可以進行計算任務和存儲任務的分配;

S240、通過遠程控制方式管理各虛擬機中的組件安裝以及運行,這里的組件包括hdfs服務以及yarn服務;具體的,本實施例可以通過遠程登錄方式啟動各虛擬機中的Ambari服務,并利用Restful Api安裝并啟動各虛擬機中的基于Hadoop的各組件,如啟動存儲資源組中的各虛擬機中的hdfs服務和yarn服務,啟動計算資源組中的各虛擬機中的yarn服務等,從而使虛擬機成為Hadoop集群中的從節(jié)點。

在利用虛擬機成功搭建Hadoop集群之后,如果出現(xiàn)Hadoop集群的擴容需求,所執(zhí)行的操作的一個具體例子如圖3所示,圖3中的方法包括下述步驟:

S300、確定是計算資源組需要增加新的從節(jié)點,還是存儲資源組需要增加新的從節(jié)點,如在Hadoop集群的存儲空間不足的情況下,可以確定出僅存儲資源組需要增加新的從節(jié)點,再如在Hadoop集群的計算任務過多而形成堆積或者惡性競爭時,可以確定出僅計算資源組需要增加新的從節(jié)點,如果上述兩種情況同時發(fā)生,則可以確定出存儲資源組和計算資源組均需要增加新的從節(jié)點。

S310、確定計算資源組和存儲資源組所需增加的新的從節(jié)點數(shù)量,并根據(jù)該數(shù)量創(chuàng)建相應數(shù)量的新的虛擬機,為各新的虛擬機分配Hostname,并在各新的虛擬機中分別為遠程控制節(jié)點(即上述遠程登錄方)設(shè)置免密碼登錄權(quán)限。由于此時的虛擬機還未加入Hadoop集群,因此,本步驟不會對集群中各從節(jié)點執(zhí)行的任務產(chǎn)生任何影響。

S320、將各新的虛擬機注冊到Hadoop集群的所有節(jié)點中的Ambari服務中(如將包括各新的虛擬機的Hos tname在內(nèi)的注冊信息設(shè)置在Ambari服務的配置文件中),并啟動各新的虛擬機上的相應組件(如啟動虛擬機中的hdfs服務和/或yarn服務等),從而使新的虛擬機加入到Hadoop集群的計算資源組或者存儲資源組中,進而提高Hadoop集群的規(guī)模和處理能力。

在利用虛擬機成功搭建Hadoop集群之后,如果出現(xiàn)Hadoop集群的縮容需求,所執(zhí)行的操作的一個具體例子如圖4所示,圖4中的方法包括下述步驟:

S400、確定是計算資源組需要縮減從節(jié)點,還是存儲資源組需要縮減從節(jié)點,如在Hadoop集群的閑置存儲空間過高的情況下,可以確定出僅存儲資源組需要縮減從節(jié)點,再如在Hadoop集群的計算任務過少而形成閑置計算資源過高時,可以確定出僅計算資源組需要縮減從節(jié)點,如果上述兩種情況同時發(fā)生,則可以確定出存儲資源組和計算資源組均需要縮減從節(jié)點。

S410、確定計算資源組和存儲資源組所需縮減的從節(jié)點數(shù)量,并根據(jù)該數(shù)量從計算資源組和存儲資源組選取被縮減的從節(jié)點,如可以將存儲數(shù)據(jù)量最少的從節(jié)點作為被縮減的從節(jié)點,再如可以將所承擔的計算任務最少的從節(jié)點作為被縮減的從節(jié)點。

S420、在不中斷Hadoop集群中的所有服務的情況下,在Hadoop集群中的除了被縮減的從節(jié)點之外的其他所有節(jié)點在執(zhí)行先后兩個任務的間隙,分別將被縮減的從節(jié)點的注冊信息從Ambari服務中的配置文件中刪除,(如將Ambari服務的配置文件中的被縮減的從節(jié)點的Hos tname刪除)。在各節(jié)點均執(zhí)行了信息刪除操作之后,到S430。

S430、刪除實現(xiàn)被縮減的從節(jié)點的虛擬機。

實施例三、分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法。

本實施例的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的方法由與集群遠程通訊的遠程控制節(jié)點執(zhí)行,且該實施例的方法的流程如圖5所示。

圖5中,S500、遠程控制節(jié)點接收集群的主節(jié)點上報的當前集群中的所有計算任務所占用的計算資源A1以及當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間A2。

S510、遠程控制節(jié)點從本地維護的計算資源組信息和存儲資源組信息中獲取當前集群中的所有從節(jié)點所能夠提供的總計算資源Z1以及當前集群中的所有從節(jié)點所能夠提供的總存儲資源Z2,并計算A1與Z1的比值X1以及A2與Z2的比值X2。

S520、遠程控制節(jié)點判斷X1是否超過第一閾值Y1、X1是否低于第二閾值Y2、X2是否超過第三閾值Y3以及X2是否低于第四閾值Y4;

如果判斷出X1超過第一閾值Y1(如0.9),則確定出計算資源組需要添加新的從節(jié)點,到步驟S531;

如果判斷出X1低于第二閾值Y2(如0.4),則確定出計算資源組需要縮減已有的從節(jié)點,到步驟S532;

如果判斷出X2超過第三閾值Y3(如0.8),則確定出存儲資源組需要添加新的從節(jié)點,到步驟S533;

如果判斷出X2低于第四閾值Y4(如0.5),則確定出存儲資源組需要縮減已有的從節(jié)點,到步驟S534。

S531,遠程控制節(jié)點確定需要添加新的從節(jié)點的數(shù)量,并創(chuàng)建相應數(shù)量的虛擬機,為各虛擬機分別分配基本信息(如IP地址以及主機名等),并將各虛擬機注冊在集群中,如將各虛擬機的注冊信息設(shè)置于集群的所有節(jié)點的配置文件中。

S541、遠程控制節(jié)點控制各虛擬機啟動其分布式計算服務,使虛擬機作為集群中的計算從節(jié)點而投入使用,遠程控制節(jié)點將由虛擬機實現(xiàn)的從節(jié)點劃分在計算資源組中,如將新擴充的各從節(jié)點的計算資源信息等配置信息維護在本地的計算資源組信息中。

S532,遠程控制節(jié)點確定需要縮減的從節(jié)點的數(shù)量,并從計算資源組中選擇計算任務最輕的相應數(shù)量的從節(jié)點;從集群的各節(jié)點中刪除需要縮減的從節(jié)點的注冊信息。

S542、遠程控制節(jié)點刪除實現(xiàn)需要縮減的從節(jié)點的各虛擬機,并從計算資源組中刪除需要縮減的從節(jié)點,如將需要縮減的各從節(jié)點的計算資源信息等配置信息從在本地的計算資源組信息中刪除。

S533,遠程控制節(jié)點確定需要添加新的從節(jié)點的數(shù)量,并創(chuàng)建相應數(shù)量的虛擬機,為各虛擬機分別分配基本信息(如IP地址以及主機名等),并將各虛擬機注冊在集群中,如將各虛擬機的注冊信息設(shè)置于集群的所有節(jié)點的配置文件中。

S543、遠程控制節(jié)點控制各虛擬機啟動其分布式計算服務和分布式存儲服務,使虛擬機作為集群中的存儲從節(jié)點而投入使用,遠程控制節(jié)點將由虛擬機實現(xiàn)的從節(jié)點劃分在存儲資源組中,如將新擴充的各從節(jié)點的計算資源信息以及存儲資源信息等配置信息維護在本地的存儲資源組信息中。

S534,遠程控制節(jié)點確定需要縮減的從節(jié)點的數(shù)量,并從存儲資源組中選擇存儲任務最輕的相應數(shù)量的從節(jié)點;從集群的各節(jié)點中刪除需要縮減的從節(jié)點的注冊信息。

S544、遠程控制節(jié)點刪除實現(xiàn)需要縮減的從節(jié)點的各虛擬機,并從存儲資源組中刪除需要縮減的從節(jié)點,如將需要縮減的各從節(jié)點的計算資源信息以及存儲資源信息等配置信息從在本地的存儲資源組信息中刪除。

實施例四、分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置。

本實施例的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置通常會被設(shè)置于計算機設(shè)備中,優(yōu)選的,本實施例所記載的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置可以設(shè)置于服務器、臺式計算機以及其他網(wǎng)絡設(shè)備中。另外,本實施例的本實施例的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置所在的計算機設(shè)備可以與集群遠程通訊。本實施例中的集群可以為Hadoop集群,也可以為基于其他分布式框架的集群。本實施例中的集群所包含的從節(jié)點被劃分為計算資源組和存儲資源組,劃分的依據(jù)等如上述實施例一中的描述,在此不再重復說明。

本實施例的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置的主要結(jié)構(gòu)如圖6所示。下面參照具體實施例對分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置進行說明。

在圖6中,本實施例的分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置主要包括:用于確定出存在集群動態(tài)伸縮需求的裝置(下述簡稱為“確定需求裝置600”)以及用于根據(jù)集群動態(tài)伸縮需求調(diào)整計算資源組和/或存儲資源組中的從節(jié)點數(shù)量的裝置(下述簡稱為“調(diào)整資源組裝置610”)。

確定需求裝置600主要用于確定出存在集群動態(tài)伸縮需求,且確定出的需求可以包括擴充計算資源組中的從節(jié)點需求、縮減計算資源組中的從節(jié)點需求、擴充存儲資源組中的從節(jié)點需求以及縮減存儲資源組中的從節(jié)點需求中的一個或者多個。

作為示例,確定需求裝置600可以在集群的計算任務過多形成堆積或惡性競爭等的情況下,確定出存在集群動態(tài)伸縮需求,且確定需求裝置600可以在集群的存儲空間不足或者存儲空間存在危機的情況下,確定出存在集群動態(tài)伸縮需求。

作為示例,上述確定需求裝置600可以包括:用于根據(jù)獲取到的集群性能信息確定出存在集群動態(tài)伸縮需求的裝置(下述簡稱為“第一確定需求裝置601”)以及用于根據(jù)接收到的資源調(diào)整控制信息確定出存在集群動態(tài)伸縮需求的裝置(下述簡稱為“第二確定需求裝置602”)(如圖7所示)。

第一確定需求裝置601所獲取到的集群性能信息可以包括:集群的計算資源利用率和集群的存儲資源利用率中的至少一個;且在通常情況下,第一確定需求裝置601獲取到的集群性能信息同時包括:集群的計算資源利用率和集群的存儲資源利用率。第一確定需求裝置601可以從集群的主節(jié)點處獲取集群的計算資源利用率以及集群的存儲資源利用率,具體過程如上述實施例一中的描述,在此不再重復說明。

作為示例,第一確定需求裝置601利用集群的計算資源利用率可以確定出集群是否存在擴充計算資源組中的從節(jié)點需求或者縮減計算資源組中的從節(jié)點需求;而第一確定需求裝置601利用集群的存儲資源利用率可以確定出集群是否存在擴充存儲資源組中的從節(jié)點需求或者縮減存儲資源組中的從節(jié)點需求。

作為示例,第一確定需求裝置601利用集群的計算資源利用率確定出集群是否存在擴充計算資源組中的從節(jié)點需求或者縮減計算資源組中的從節(jié)點需求的一個具體的例子為,第一確定需求裝置601在判斷出集群的計算資源利用率超過第一閾值的情況下,確定出存在擴充計算資源組中的從節(jié)點需求;而第一確定需求裝置601在判斷出集群的計算資源利用率低于第二閾值的情況下,確定出存在縮減計算資源組中的從節(jié)點需求;且上述第一閾值通常遠大于第二閾值。

作為示例,第一確定需求裝置601利用集群的存儲資源利用率可以確定出集群是否存在擴充存儲資源組中的從節(jié)點需求或者縮減存儲資源組中的從節(jié)點需求的一個具體的例子為,第一確定需求裝置601在判斷出存儲資源組的存儲資源利用率超過第三閾值的情況下,確定出存在擴充存儲資源組中的從節(jié)點需求;而第一確定需求裝置601在判斷出計算資源組的存儲資源利用率低于第四閾值的情況下,確定出存在縮減存儲資源組中的從節(jié)點需求;且上述第三閾值通常遠大于第四閾值。

作為示例,第二確定需求裝置602可以根據(jù)接收到的資源調(diào)整控制信息確定出存在集群動態(tài)伸縮需求;如第二確定需求裝置602在接收到主節(jié)點傳輸來的資源調(diào)整控制信息時,確定出存在集群動態(tài)伸縮需求;再如第二確定需求裝置602在接收到用戶輸入的資源調(diào)整控制信息時,確定出存在集群動態(tài)伸縮需求。

作為示例,第二確定需求裝置602接收的資源調(diào)整控制信息可以為:擴充計算資源組中的從節(jié)點的控制信息、縮減計算資源組中的從節(jié)點的控制信息、擴充存儲資源組中的從節(jié)點的控制信息以及縮減存儲資源組中的從節(jié)點的控制信息中的任意一個;也可以為擴充計算資源組中的從節(jié)點的控制信息和縮減計算資源組中的從節(jié)點的控制信息中的任意一個以及擴充存儲資源組中的從節(jié)點的控制信息以及縮減存儲資源組中的從節(jié)點的控制信息中的任意一個。

調(diào)整資源組裝置610主要用于根據(jù)集群動態(tài)伸縮需求調(diào)整計算資源組和/或存儲資源組中的從節(jié)點數(shù)量。

作為示例,調(diào)整資源組裝置610可以先確定出計算資源組和/或存儲資源組中需要調(diào)整的從節(jié)點的數(shù)量,然后,調(diào)整資源組裝置610再根據(jù)確定出的數(shù)量在計算資源組和/或存儲資源組中增加或者減少相應數(shù)量的從節(jié)點。

作為一個示例,本實施例的調(diào)整資源組裝置610可以可選的包括:用于確定計算資源組需要擴充的從節(jié)點數(shù)量的裝置(下述簡稱為“第一確定數(shù)量裝置611”)、用于創(chuàng)建上述數(shù)量的虛擬機的裝置(下述簡稱為“創(chuàng)建虛擬機裝置612”)、用于將虛擬機的注冊信息配置在集群中的裝置(下述簡稱為“注冊裝置613”)、用于啟動虛擬機的分布式計算服務的裝置(下述簡稱為“第一啟動服務裝置614”)以及用于將虛擬機作為計算資源組中的從節(jié)點的裝置(下述簡稱為“第一維護裝置615”)(如圖8所示)。也就是說,在計算資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,調(diào)整資源組裝置610擴充計算資源組中的從節(jié)點的一個具體例子為:首先,第一確定數(shù)量裝置611確定出計算資源組中需要擴充的從節(jié)點數(shù)量,然后,創(chuàng)建虛擬機裝置612根據(jù)該數(shù)量創(chuàng)建同等數(shù)量的虛擬機,注冊裝置613將新創(chuàng)建的各虛擬機分別注冊在集群中(如注冊裝置613將包括新創(chuàng)建的虛擬機的主機名在內(nèi)的注冊信息分別添加在集群中的主節(jié)點以及各從節(jié)點中的集群配置文件中),第一啟動服務裝置614啟動成功注冊的各虛擬機的分布式計算服務,之后,第一維護裝置615將各虛擬機劃分在計算資源組中,如第一維護裝置615將新增加的各虛擬機的相關(guān)信息(如新增加的虛擬機的計算資源信息等配置信息)維護在計算資源組信息中。

第一確定數(shù)量裝置611中預先設(shè)置有較佳的集群的計算資源利用率,在需要在計算資源組中添加新的從節(jié)點的情況下,第一確定數(shù)量裝置611可以根據(jù)當前集群中的所有計算任務所占用的計算資源確定出達到上述較佳的集群的計算資源利用率所需的總計算資源,計算所需的總計算資源與當前集群所提供的總計算資源的差值,然后,第一確定數(shù)量裝置611根據(jù)該差值以及一個新增加的從節(jié)點所能夠提供的計算資源確定計算資源組中需要擴充的從節(jié)點數(shù)量。另一個具體的例子,在需要縮減計算資源組中的從節(jié)點的情況下,第一確定數(shù)量裝置611可以根據(jù)當前集群中的所有計算任務所占用的計算資源確定出達到上述較佳的集群的計算資源利用率所需的總計算資源,第一確定數(shù)量裝置611計算所需的總計算資源與當前集群所提供的總計算資源的差值,然后,第一確定數(shù)量裝置611根據(jù)該差值以及計算資源組中一個從節(jié)點所能夠提供的計算資源確定計算資源組中需要縮減的從節(jié)點數(shù)量。

作為另一個示例,本實施例的調(diào)整資源組裝置610可以可選的包括:用于確定存儲資源組需要擴充的從節(jié)點數(shù)量的裝置(下述簡稱為“第二確定數(shù)量裝置616”)、用于創(chuàng)建上述數(shù)量的虛擬機的裝置(下述簡稱為“創(chuàng)建虛擬機裝置612”)、用于將虛擬機的注冊信息配置在集群中的裝置(下述簡稱為“注冊裝置613”)、用于啟動虛擬機的分布式計算服務和分布式存儲服務的裝置(下述簡稱為“第二啟動服務裝置617”)以及用于將虛擬機作為存儲資源組中的從節(jié)點的裝置(下述簡稱為“第二維護裝置618”)(如圖9所示)。也就是說,在存儲資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,調(diào)整資源組裝置610擴充存儲資源組中的從節(jié)點數(shù)量的一個具體例子為:首先,第二確定數(shù)量裝置616確定出存儲資源組中需要擴充的從節(jié)點數(shù)量,然后,創(chuàng)建虛擬機裝置612根據(jù)該數(shù)量創(chuàng)建同等數(shù)量的虛擬機,然后,注冊裝置613將新創(chuàng)建的各虛擬機分別注冊在集群中(如注冊裝置613將包括新創(chuàng)建的虛擬機的主機名在內(nèi)的注冊信息分別添加在集群中的主節(jié)點以及各從節(jié)點中的集群配置信息中),第二啟動服務裝置617啟動成功注冊的各虛擬機的分布式計算服務和分布式存儲服務,之后,第二維護裝置618將各虛擬機劃分在存儲資源組中,如第二維護裝置618將新增加的各虛擬機的相關(guān)信息(如新增加的虛擬機的計算資源信息以及存儲資源信息等配置信息)維護在存儲資源組信息中。

作為示例,第二確定數(shù)量裝置616中預先設(shè)置有較佳的集群的存儲資源利用率,在需要在存儲資源組中添加新的從節(jié)點的情況下,第二確定數(shù)量裝置616可以根據(jù)當前集群中的已存儲數(shù)據(jù)所占用的存儲資源確定出達到上述較佳的集群的存儲資源利用率所需的總存儲資源,第二確定數(shù)量裝置616計算所需的總存儲資源與當前集群所提供的總存儲資源的差值,并根據(jù)該差值以及一個新增加的從節(jié)點所能夠提供的存儲資源確定存儲資源組中需要擴充的從節(jié)點數(shù)量。另一個具體的例子,在需要縮減存儲資源組中的從節(jié)點的情況下,第二確定數(shù)量裝置616可以根據(jù)當前集群中的所有已存儲數(shù)據(jù)所占用的存儲資源確定出達到上述較佳的集群的存儲資源利用率所需的總存儲資源,第二確定數(shù)量裝置616計算所需的總存儲資源與當前集群所提供的總存儲資源的差值,然后,第二確定數(shù)量裝置616根據(jù)該差值以及存儲資源組中一個從節(jié)點所能夠提供的存儲資源確定存儲資源組中需要縮減的從節(jié)點數(shù)量。

作為示例,上述注冊裝置613可以可選的包括:用于遠程登錄虛擬機的裝置(下述簡稱為“遠程登錄裝置6131”)、用于在虛擬機中針對遠程登錄方設(shè)置免密碼登陸權(quán)限的裝置(下述簡稱為“設(shè)置權(quán)限裝置6132”)以及用于將虛擬機的包括主機名在內(nèi)的注冊信息配置在集群的主節(jié)點以及各從節(jié)點中的裝置(下述簡稱為“配置信息裝置6133”)(如圖10所示)。也就是說,注冊裝置613將虛擬機注冊在集群中的一個具體的例子為:遠程登錄裝置6131通過遠程登錄方式不斷的嘗試登錄新創(chuàng)建的虛擬機,在遠程登錄裝置6131成功遠程登錄該新創(chuàng)建的虛擬機后,設(shè)置權(quán)限裝置6132可以在該虛擬機中,為本次遠程登錄的遠程登錄方設(shè)置免密碼登陸權(quán)限,以便于在后續(xù)的刪除從節(jié)點的過程中可以方便的對該從節(jié)點進行遠程操作;然后,配置信息裝置6133將該虛擬機的主機名等注冊信息配置在集群的主節(jié)點和各從節(jié)點中,使集群中的主節(jié)點和各從節(jié)點均獲知其所在的集群中添加了該從節(jié)點。

作為再一個示例,本實施例的調(diào)整資源組裝置610可以可選的包括:用于確定計算資源組和/或存儲資源組中需要縮減的從節(jié)點數(shù)量的裝置(下述簡稱為“第三確定數(shù)量裝置619”)、用于從相應組中選取相應數(shù)量的被縮減從節(jié)點的裝置(下述簡稱為“選取節(jié)點裝置620”)、用于針對集群中任意一個配置有被縮減從節(jié)點的注冊信息的節(jié)點,在節(jié)點執(zhí)行兩個任務的間隙,刪除節(jié)點中的被縮減從節(jié)點的注冊信息的裝置(下述簡稱為“刪除注冊信息裝置621”)以及用于在集群中的所有節(jié)點均刪除了被縮減從節(jié)點的注冊信息的情況下,刪除實現(xiàn)被縮減從節(jié)點的虛擬機,并將被縮減從節(jié)點從計算資源組和/或存儲資源組中刪除的裝置(下述簡稱為“第三維護裝置622”)(如圖11所示)。

作為示例,在計算資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,調(diào)整資源組裝置610縮減計算資源組中的從節(jié)點的一個具體例子為:首先,第三確定數(shù)量裝置619確定出計算資源組中需要縮減的從節(jié)點數(shù)量,然后,選取節(jié)點裝置620根據(jù)該數(shù)量從計算資源組中選取相應的從節(jié)點,針對選取出的各從節(jié)點,刪除注冊信息裝置621通知集群中的主節(jié)點以及各從節(jié)點將選取出的各從節(jié)點從集群中刪除(如刪除注冊信息裝置621分別控制集群中的主節(jié)點以及各從節(jié)點在其各自執(zhí)行兩個任務之間的空隙將選取出的各從節(jié)點的注冊信息分別從集群配置文件中刪除),在所有的主節(jié)點以及從節(jié)點均刪除了被選取出的從節(jié)點的注冊信息后,第三維護裝置622刪除實現(xiàn)被選取出的從節(jié)點的虛擬機,并將被刪除的虛擬機的相關(guān)信息(如被刪除的虛擬機的配置信息等)從計算資源組信息中刪除。

作為示例,在存儲資源組中的從節(jié)點由虛擬機來實現(xiàn)的情況下,調(diào)整資源組裝置610縮減存儲資源組中的從節(jié)點數(shù)量的一個具體例子為:首先,第三確定數(shù)量裝置619確定出存儲資源組中需要縮減的從節(jié)點數(shù)量,然后,選取節(jié)點裝置620根據(jù)該數(shù)量從存儲資源組中選取相應的從節(jié)點,針對選取出的各從節(jié)點,刪除注冊信息裝置621通知集群中的主節(jié)點以及各從節(jié)點將選取出的各從節(jié)點從集群中刪除(如刪除注冊信息裝置621分別控制集群中的主節(jié)點以及各從節(jié)點在其各自執(zhí)行兩個任務之間的空隙將選取出的各從節(jié)點的注冊信息分別從集群配置文件中刪除),在所有的主節(jié)點以及從節(jié)點均刪除了被選取出的從節(jié)點的注冊信息后,第三維護裝置622刪除實現(xiàn)被選取出的從節(jié)點的虛擬機,第三維護裝置622將被刪除的虛擬機的相關(guān)信息(如被刪除的虛擬機的配置信息等)從存儲資源組信息中刪除。

作為示例,在調(diào)整資源組裝置610針對存儲資源組進行縮減的過程中,在通常情況下,選取節(jié)點裝置620所選取出的被縮減的從節(jié)點數(shù)量應小于存儲資源組中的所有從節(jié)點與集群數(shù)據(jù)副本數(shù)量之差;如在集群中的數(shù)據(jù)副本數(shù)量為3的情況下,在調(diào)整資源組裝置610對存儲資源組中的從節(jié)點進行了縮減之后,存儲資源組中的從節(jié)點數(shù)量應不小于3,以盡可能的減小集群中的數(shù)據(jù)丟失風險。

作為示例,在調(diào)整資源組裝置610針對計算資源組進行縮減的過程中,在通常情況下,選取節(jié)點裝置620所選取出的被縮減的從節(jié)點所能夠提供的總計算資源與集群中的所有從節(jié)點所提供的總計算資源的比值不超過預定比值(如5%),以盡可能的減少重計算而導致的計算延時。

實施例五、分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置的一個具體應用。

首先,遠程控制節(jié)點中的確定需求裝置600接收集群的主節(jié)點上報的當前集群中的所有計算任務所占用的計算資源A1以及當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間A2。

其次,確定需求裝置600從遠程控制節(jié)點本地維護的計算資源組信息和存儲資源組信息中獲取當前集群中的所有從節(jié)點所能夠提供的總計算資源Z1以及當前集群中的所有從節(jié)點所能夠提供的總存儲資源Z2,并計算A1與Z1的比值X1以及A2與Z2的比值X2。

確定需求裝置600判斷X1是否超過第一閾值Y1、X1是否低于第二閾值Y2、X2是否超過第三閾值Y3以及X2是否低于第四閾值Y4;

如果確定需求裝置600判斷出X1超過第一閾值Y1(如0.9),則確定需求裝置600確定出計算資源組需要添加新的從節(jié)點;遠程控制節(jié)點中的調(diào)整資源組裝置610確定需要添加新的從節(jié)點的數(shù)量,并創(chuàng)建相應數(shù)量的虛擬機,調(diào)整資源組裝置610為各虛擬機分別分配基本信息(如IP地址以及主機名等),并將各虛擬機注冊在集群中,如調(diào)整資源組裝置610將各虛擬機的注冊信息設(shè)置于集群的所有節(jié)點的配置文件中。調(diào)整資源組裝置610控制各虛擬機啟動其分布式計算服務,使虛擬機作為集群中的計算從節(jié)點而投入使用,調(diào)整資源組裝置610將由虛擬機實現(xiàn)的從節(jié)點劃分在計算資源組中,如調(diào)整資源組裝置610將新擴充的各從節(jié)點的計算資源信息等配置信息維護在遠程控制節(jié)點本地的計算資源組信息中。

如果確定需求裝置600判斷出X1低于第二閾值Y2(如0.4),則確定需求裝置600確定出計算資源組需要縮減已有的從節(jié)點;調(diào)整資源組裝置610確定需要縮減的從節(jié)點的數(shù)量,并從計算資源組中選擇計算任務最輕的相應數(shù)量的從節(jié)點;調(diào)整資源組裝置610從集群的各節(jié)點中刪除需要縮減的從節(jié)點的注冊信息。調(diào)整資源組裝置610刪除實現(xiàn)需要縮減的從節(jié)點的各虛擬機,并從計算資源組中刪除需要縮減的從節(jié)點,如調(diào)整資源組裝置610將需要縮減的各從節(jié)點的計算資源信息等配置信息從在本地的計算資源組信息中刪除。

如果確定需求裝置600判斷出X2超過第三閾值Y3(如0.8),則確定需求裝置600確定出存儲資源組需要添加新的從節(jié)點;調(diào)整資源組裝置610確定需要添加新的從節(jié)點的數(shù)量,并創(chuàng)建相應數(shù)量的虛擬機,調(diào)整資源組裝置610為各虛擬機分別分配基本信息(如IP地址以及主機名等),并將各虛擬機注冊在集群中,如調(diào)整資源組裝置610將各虛擬機的注冊信息設(shè)置于集群的所有節(jié)點的配置文件中。調(diào)整資源組裝置610控制各虛擬機啟動其分布式計算服務和分布式存儲服務,使虛擬機作為集群中的存儲從節(jié)點而投入使用,調(diào)整資源組裝置610將由虛擬機實現(xiàn)的從節(jié)點劃分在存儲資源組中,如調(diào)整資源組裝置610將新擴充的各從節(jié)點的計算資源信息以及存儲資源信息等配置信息維護在本地的存儲資源組信息中。

如果確定需求裝置600判斷出X2低于第四閾值Y4(如0.5),則確定需求裝置600確定出存儲資源組需要縮減已有的從節(jié)點。調(diào)整資源組裝置610確定需要縮減的從節(jié)點的數(shù)量,并從存儲資源組中選擇存儲任務最輕的相應數(shù)量的從節(jié)點;調(diào)整資源組裝置610從集群的各節(jié)點中刪除需要縮減的從節(jié)點的注冊信息。調(diào)整資源組裝置610刪除實現(xiàn)需要縮減的從節(jié)點的各虛擬機,并從存儲資源組中刪除需要縮減的從節(jié)點,如調(diào)整資源組裝置610將需要縮減的各從節(jié)點的計算資源信息以及存儲資源信息等配置信息從在本地的存儲資源組信息中刪除。

實施例六、分布式框架中用于實現(xiàn)集群動態(tài)伸縮的裝置的另一個具體應用。

在本實施例中,集群中的主節(jié)點計算當前集群中的所有計算任務所占用的計算資源A1與當前集群中的所有從節(jié)點所能夠提供的總計算資源Z1的比值X1,并計算當前集群中的所有從節(jié)點已存儲的數(shù)據(jù)所占用的存儲空間A2與當前集群中的所有從節(jié)點所能夠提供的總存儲資源Z2的比值X2,并將計算出的比值X1和X2上報給確定需求裝置600,確定需求裝置600根據(jù)接收到的信息判斷X1是否超過第一閾值Y1、X1是否低于第二閾值Y2、X2是否超過第三閾值Y3以及X2是否低于第四閾值Y4;后續(xù)確定需求裝置600以及調(diào)整資源組裝置610所執(zhí)行的裝置與上述實施例五中的描述相同,在此不再重復說明。

需要注意的是,本發(fā)明可以在軟件和/或者軟件與硬件的組合體中被實施,例如,本發(fā)明的各個裝置可采用專用集成電路(ASIC)或者任何其他類似硬件設(shè)備來實現(xiàn)。在一個實施例中,本發(fā)明的軟件程序可以通過處理器執(zhí)行以實現(xiàn)上文所述步驟或功能。同樣地,本發(fā)明的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲到計算機可讀記錄介質(zhì)中,例如,RAM存儲器、磁或者光驅(qū)動器或軟磁盤及類似設(shè)備。另外,本發(fā)明的一些步驟或功能可采用硬件來實現(xiàn),例如,作為與處理器配合從而執(zhí)行各個步驟或功能的電路。

對于本領(lǐng)域技術(shù)人員而言,顯然,本發(fā)明不限于上述示范性實施例的細節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一方面來看,均應該將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明來限定,因此,旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本發(fā)明內(nèi)。不應該將權(quán)利要求中的任何附圖標記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復數(shù)。系統(tǒng)權(quán)利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現(xiàn)。第一以及第二等詞語用來表示名稱,而并不表示任何特定順序。

雖然前面特別示出并且描述了示例性實施例,但是本領(lǐng)域技術(shù)人員將會理解的是,在不背離權(quán)利要求書的精神和范圍的情況下,在其形式和細節(jié)方面可以有所變化。這里所尋求的保護在所附權(quán)利要求書中做了闡述。

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