本發明涉及云計算技術領域,特別是涉及實現云教室集群的系統及方法。
背景技術:
傳統的教育主要是課堂教育,以學生和老師面對面的教學為主,通常老師的教學任務都十分繁重,為了解決該問題,云課堂應運而生。在云計算過程中,通常最大的文件類型是鏡像文件,尤其是虛擬機鏡像文件。在云平臺中,虛擬機是最重要的虛擬化資源,而通過鏡像文件在虛擬機上安裝操作系統或應用是實現虛擬化資源應用的基礎。
在傳統的云課堂中,每個云教室都對應有一服務器,在服務器上建有內存盤,內存盤中存儲有用于創建該云教室的學生虛機的鏡像文件。對于鏡像文件的管理思想主要是,當服務器1需要創建某云教室的一個學生虛機時,先將所述云教室的鏡像文件拷貝到服務器1上,然后將所述鏡像文件安裝到服務器1上,在服務器1中創建一個對應的學生虛機;當服務器2也需要創建某云教室的一個學生虛機時,同樣先將所述云教室的鏡像文件拷貝到服務器2上,然后將所述鏡像文件安裝到服務器2上,以此在服務器2中創建一個對應的學生虛機。
然而,在傳統的云課堂中,各個云教室之間是相互獨立,使用的鏡像文件也相互獨立,而單臺服務器內存盤空間有限,存儲的鏡像文件有限,因此導致云教室的容量受限,并且當一個云教室不使用時,其對應的服務器資源就處于閑置狀態,導致服務器資源利用率不高。
技術實現要素:
基于此,本發明實施例提供了一種實現云教室集群的系統及方法,能夠提高云教室服務器資源的利用率。
本發明一方面提供實現云教室集群的系統,包括管理節點、一共享內存盤組件和至少兩個服務器節點,所述共享內存盤組件用于將所述至少兩個服務器節點的內存資源整合為一共享內存盤;
所述管理節點用于接收云教室創建指令,創建云教室,并將所述云教室對應的母鏡像存儲到所述共享內存盤;以及用于分配各服務器節點為所述云教室提供的虛機數量,向各服務器節點發送虛機創建指令,所述虛機創建指令中的信息包含對應的虛機數量;
各服務器節點在接收到所述虛機創建指令之后,在所述共享內存盤中查找所述云教室對應的母鏡像,并根據所述母鏡像制作差分盤,在本地創建對應數量的學生虛機。
本發明另一方面提供實現云教室集群的方法,包括:
接收云教室創建指令,創建云教室,并將所述云教室對應的母鏡像存儲到預先構建的共享內存盤,所述共享內存盤為將至少兩個服務器節點的內存資源整合得到;
分配各服務器節點為所述云教室提供的虛機數量,向各服務器節點發送虛機創建指令;所述虛機創建指令中的信息包含虛機數量,用于指示服務器節點在接收到所述虛機創建指令之后,在所述共享內存盤中查找所述云教室對應的母鏡像,并根據所述母鏡像制作差分盤,在本地創建對應數量的學生虛機。
本發明又一方面提供一種實現云教室集群的方法,包括:
接收管理節點發送的云教室的虛機創建指令,在預先構建的共享內存盤中查找所述云教室對應的母鏡像;所述虛機創建指令中的信息包含虛機數量,所述虛機數量為云教室的管理節點在接收云教室創建指令、創建云教室之后,分配本端為所述云教室提供的虛機數量;所述共享內存盤為將至少兩個服務器節點的內存資源整合得到;
根據所述母鏡像制作差分盤,在本端創建對應數量的學生虛機。
上述實施例的實現云教室集群的系統及方法,將至少兩個服務器節點的內存資源整合為一個共享內存盤,管理節點在接收到云教室創建指令,創建云教室之后,將所述云教室對應的母鏡像存儲到所述共享內存盤中,各個服務器節點均能根據所述共享內存盤中的所述母鏡像制作差分盤,進而在各個服務器節點分別創建一定數量的學生虛機,由此得到一云教室集群,實現了多個服務器節點的內存資源共享,通過共享內存盤方式可同時提供多個不同母鏡像,不同課程不同鏡像,所述云教室集群中的各云教室之間相同課程母鏡像共用,有利于擴展云教室的容量,提高了服務器節點的資源利用率。
附圖說明
圖1為一實施例的云教室集群系統的結構示意圖;
圖2為一實施例的實現云教室集群的方法的示意性流程圖;
圖3為另一實施例的實現云教室集群的方法的示意性流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
圖1為實現本發明實施例實現云教室集群的方法的系統環境示意圖;所述系統包括管理節點、一共享內存盤組件和至少兩個服務器節點,所述共享內存盤組件用于將所述至少兩個服務器節點的內存資源整合為一個共享內存盤。其中,所述管理節點可用于連接老師終端,還用于對所述至少兩個服務器節點的負載情況進行監控。所述管理節點在接收到云教室創建指令時,創建云教室,并將所述云教室對應的母鏡像存儲到所述共享內存盤;還根據各服務器節點當前的負載確定各服務器節點為所述云教室提供的虛機數量,向各服務器節點發送虛機創建指令,所述虛機創建指令中的信息包含對應的虛機數量。各服務器節點在接收到所述虛機創建指令之后,在所述共享內存盤中查找所述云教室對應的母鏡像,并根據所述母鏡像制作差分盤,在本地創建對應數量的學生虛機。因此,只需保存新建云教室的一份母鏡像,多個服務器節點均可利用所述母鏡像創建學生虛機,進而在多個服務器節點構建多個云教室,各云教室的容量與其所在的服務器節點的負載有關,此時,所述多個服務器節點便構成一云教室集群,云教室集群中的各個云教室共享一份母鏡像,節省了各個服務器節點的內存資源,因此提高了服務器節點資源的利用率。
在一優選實施例中,所述管理節點創建云教室的過程包括:選擇云教室的母鏡像,設置云教室的容量。對應的,所述管理節點為所述至少兩個服務器節點分配的需創建的學生虛機的總量等于所述云教室的容量。
在一優選實施例中,所述管理節點創建云教室的過程還包括:設置所述云教室的名稱,建立所述名稱與所述云教室的母鏡像的關聯。對應的,所述管理節點向服務器節點發送的虛機創建指令中的信息還包括所述云教室的名稱;進而各服務器節點在接收到所述管理節點發送的虛機創建指令之后,可在所述共享內存盤中查找與所述云教室的名稱關聯的母鏡像,并根據所述關聯的母鏡像制作差分盤,創建本地的學生虛機。可以理解的,也可以為所述云教室設置名稱以為的其他標識信息,建立所述標識信息與所述云教室的母鏡像的關聯,在所述虛機創建指令中包含所述標識信息,以使各服務器節點在所述共享內存盤中查找與所述標識信息關聯的母鏡像。
在一優選實施例中,所述共享內存盤組件首先分別將各服務器節點的設定內存部分隔離出來并配置為一個內存盤(下文也稱作子內存盤),開啟所述子內存盤的共享權限,并統一配置各服務器節點的子內存盤的路徑信息,得到一共享內存盤。此后,所述共享內存盤組件還用于按照設定時間周期獲取所述共享內存盤中的各子內存盤的使用狀態,例如是否在線、可用容量大小、存儲了哪些鏡像等信息,由此得到所述共享內存盤當前的資源狀態表。所述管理節點在創建云教室時,通過查詢所述資源狀態表,可從所述共享內存盤中篩選出其中剩余空間最大的子內存盤,獲取所述子內存盤的路徑信息,根據所述路徑信息將所述云教室對應的母鏡像存儲到所述共享內存盤中;以及將所述路徑信息連同所述虛機創建指令一并發送給服務器節點。服務器節點收到所述虛機創建指令之后,根據所述路徑信息在所述共享內存盤中查找得到所述云教室對應的母鏡像。實際上所述管理節點在創建云教室時,是將所述母鏡像存儲到其中一個服務器節點的內存盤中,其他服務器節點均可以讀取到該母鏡像。
進一步的,在管理節點創建好云教室,各服務器節點創建好相應的學生虛機之后,若所述管理節點接收到老師終端發送的對所述云教室的開課指令,則會向各服務器節點發送一相應的虛機啟動指令;各服務器節點接收所述虛機啟動指令,啟動本地創建的所述云教室對應的全部學生虛機,通過所述學生虛機連接對應的學生終端。
下面通過一應用場景,對上述實施例的實現云教室集群的方法進行舉例說明。該場景中包括2個服務器節點,各個服務器節點的子內存盤初始配置為128G內存64核CPU,所述實現云教室集群的方法的具體實現過程如下:
(1)各個云教室的服務器節點上都建有一個內存盤(本發明其他地方將該內存盤稱作子內存盤),然后通過共享內存盤組件將各個服務器節點上的子內存盤整合成一個共享存儲盤,使得各個服務器節點可以高效訪問其他服務器節點子內存盤中存儲的母鏡像資源。
例如:先將各個服務器節點的一部分內存(比如20G)隔離出來做成一個子內存盤,再先通過windows自帶的共享文件功能開啟各節點的子內存盤的共享權限,再在共享內存盤組件配置所有子內存盤的路徑,如://172.16.0.1/e。共享內存盤組件根據配置定時獲取到各個子內存盤的狀態,如是否在線,可用容量,存儲了哪些鏡像等信息,形成一張共享資源詳情表。當管理節點需要上傳鏡像時,可根據共享資源詳情表選擇一個可用容量足夠的服務器節點將鏡像上傳只該服務器節點的子內存盤;當某服務器節點需要新建學生虛機讀取母鏡像時,可根據共享資源詳情表獲取母鏡像的存儲路徑,進而讀取相應的母鏡像信息。
(2)老師登錄云教室的管理節點,選擇創建一個新的云教室。
優選的,創建一個新的云教室的過程中包括:選擇云教室的母鏡像,設置云教室名稱、網絡、學生虛機數量(即容量)等,點擊創建。
(3)管理節點監測各服務器節點子內存盤當前的負載,根據各服務器節點子內存盤當前的負載分配各節點為所述云教室創建的虛機數量,同時還可確定待創建的學生虛機的規格,將包含所述虛機數量的虛機創建命令發送到各服務器節點。
例如:比如新建的云教室的容量設置為30,對應的需創建30個學生虛機,每臺學生虛機的規格為4G內存雙核。其中服務器節點1已用80G內存32核CPU,服務器節點2已用40G內存16核CPU,說明服務器節點2當前的負載更低,所述服務器節點2能夠為所述云教室提供更多的學生虛機,比如在服務器節點1上為所述云教室創建10臺學生虛機,在服務器節點2上為所述云教室創建20臺學生虛機。
(4)服務器節點根據收到的虛機創建命令從所述共享內存盤中獲取對應的母鏡像信息制作差分盤,然后創建本地的學生虛機。
由于復制整個母鏡像需要消耗大量的時間,如果一個鏡像20G,在傳統方式下創建30個學生虛機就需要復制600G的文件,而采用本實施例的差分盤方式可以省去拷貝母鏡像的過程,從而節省大量時間,方便快捷。
(5)云教室的學生虛機創建完成后,老師通過老師終端選擇云教室點擊上課按鈕,管理節點接收老師終端發送的對所述云教室的開課指令時,根據云教室的名稱向各個服務器節點發送虛機啟動指令,以啟動各個服務器節點的所述云教室對應的學生虛機,通過所述學生虛機連接對應的學生終端。
基于上述實施例的實現云教室集群的系統,將至少兩個服務器節點的內存資源整合為一個共享內存盤,管理節點在接收到云教室創建指令,創建云教室之后,將所述云教室對應的母鏡像存儲到所述共享內存盤,各個服務器節點均能根據所述共享內存盤中的所述母鏡像制作差分盤,進而在各個服務器節點中分別創建一定數量的學生虛機,由此得到一云教室集群,實現了多個服務器節點的內存資源共享,通過共享內存盤方式可同時提供多個不同母鏡像,不同課程不同鏡像,各云教室之間相同課程母鏡像共用,有利于擴展云教室的容量,提高了服務器節點資源利用率。
如圖2所示,本發明還提供了一種實現云教室集群的方法的實施例,所述實現云教室集群的方法包括步驟:
S11,接收云教室創建指令,創建云教室,并將所述云教室對應的母鏡像存儲到預先構建的共享內存盤,所述共享內存盤為將至少兩個服務器節點的內存資源整合得到;
S12,分配各服務器節點為所述云教室提供的虛機數量,向各服務器節點發送虛機創建指令;所述虛機創建指令中的信息包含虛機數量,用于指示服務器節點在接收到所述虛機創建指令之后,在所述共享內存盤中查找所述云教室對應的母鏡像,并根據所述母鏡像制作差分盤,在本地創建對應數量的學生虛機。
可以理解的,上述步驟S11~S12的執行主體可以為上述實施例的實現云教室集群的系統中的管理節點。
在一優選實施例中,所述實現云教室集群的方法還可包括步驟:
S13,接收老師終端發送的對所述云教室的開課指令時,向各服務器節點發送虛機啟動指令,以指示各服務器節點在收到所述虛機啟動指令之后,啟動本地創建的所述云教室對應的全部學生虛機,以通過所述學生虛機連接對應的學生終端。
可以理解的,上述步驟S13的執行主體也為上述實施例的實現云教室集群的系統中的管理節點。
優選的,所述創建云教室的過程包括:選擇云教室的母鏡像,設置云教室的容量;對應的,為所述至少兩個服務器節點分配的待創建的學生虛機的總量等于所述云教室的容量。
優選的,所述創建云教室的過程還包括:設置所述云教室的名稱。對應的,在所述虛機啟動指令的信息中包括所述云教室的名稱;使得各服務器節點在接收到所述虛機啟動指令之后,啟動所述名稱關聯的學生虛機。
基于上述實施例的實現云教室集群的方法,管理節點在接收到云教室創建指令,創建云教室時,并將所述云教室對應的母鏡像存儲到預先構建的一共享內存盤,使得各個服務器節點均能根據所述共享內存盤中的所述母鏡像制作差分盤,進而在本地創建一定數量的學生虛機,由此得到一云教室集群,實現了多個服務器節點的內存資源共享,通過共享內存盤方式可同時提供多個不同母鏡像,不同課程不同鏡像,各云教室之間相同課程母鏡像共用,有利于擴展云教室的容量,提高了服務器資源利用率。
如圖3所示,本發明還提供了一種實現云教室集群的方法的實施例,所述實現云教室集群的方法包括步驟:
S21,接收管理節點發送的云教室的虛機創建指令,在預先構建的共享內存盤中查找所述云教室對應的母鏡像;所述虛機創建指令中的信息包含虛機數量,所述虛機數量為云教室的管理節點在接收云教室創建指令、創建云教室之后,分配本地為所述云教室提供的虛機數量;所述共享內存盤為將至少兩個服務器節點的內存資源整合得到;
S22,根據所述母鏡像制作差分盤,在本地創建對應數量的學生虛機。
可以理解的,上述步驟S21~S22的執行主體可以為上述實施例的實現云教室集群的系統中的各服務器節點。
在一優選實施例中,所述實現云教室集群的方法還包括步驟:
S23,接收管理節點發送的虛機啟動指令,啟動本端的所述云教室對應的全部學生虛機,通過所述學生虛機連接對應的學生終端;所述虛機啟動指令為所述管理節點在接收到對云教室的開課指令之后向本端發送虛機啟動指令。
可以理解的,上述步驟S23的執行主體也為上述實施例的實現云教室集群的系統中的各服務器節點。
基于上述實施例的實現云教室集群的方法,云教室的各服務器節點無需分別存儲同一份母鏡像,而是通過訪問預先構建的共享內存盤獲取對應的母鏡像制作差分盤,進而在本地創建一定數量的學生虛機,由此得到一云教室集群,實現了多個服務器內存資源的共享,所述共享內存盤可同時提供多個不同母鏡像,不同課程不同鏡像,所述云教室集群中的各云教室之間相同課程的母鏡像共用,有利于擴展云教室的容量,提高了服務器資源利用率。
需要說明的是,對于前述的各方法實施例,為了簡便描述,將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其它順序或者同時進行。此外,還可對上述實施例進行任意組合,得到其他的實施例。
基于與上述實施例中的實現云教室集群的方法相同的思想,本發明還提供實現云教室集群的裝置,該裝置可用于執行上述實現云教室集群的方法。為了便于說明,實現云教室集群的裝置實施例的結構示意圖中,僅僅示出了與本發明實施例相關的部分,本領域技術人員可以理解,圖示結構并不構成對裝置的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
本發明一實施例提供的實現云教室集群的裝置與圖2所示的實現云教室集群的方法相對應。本實施例的實現云教室集群的裝置包括:云教室創建模塊以及虛機分配模塊,各模塊詳述如下:
所述云教室創建模塊,由于接收云教室創建指令,創建云教室,并將所述云教室對應的母鏡像存儲到預先構建的共享內存盤,所述共享內存盤為將至少兩個服務器節點的內存資源整合得到。
所述虛機分配模塊,用于分配各服務器節點為所述云教室提供的虛機數量,向各服務器節點發送虛機創建指令;所述虛機創建指令中的信息包含虛機數量,用于指示服務器節點在接收到所述虛機創建指令之后,在所述共享內存盤中查找所述云教室對應的母鏡像,并根據所述母鏡像制作差分盤,在本地創建對應數量的學生虛機。
本發明另一實施例提供的實現云教室集群的裝置與圖3所示的實現云教室集群的方法相對應。本實施例的實現云教室集群的裝置包括:鏡像讀取模塊以及虛機創建模塊,各模塊詳述如下:
所述鏡像讀取模塊,用于接收云教室的虛機創建指令,在預先構建的共享內存盤中查找所述云教室對應的母鏡像;所述虛機創建指令中的信息包含虛機數量,所述虛機數量為云教室的管理節點在接收云教室創建指令、創建云教室之后,分配本端為所述云教室提供的虛機數量;所述共享內存盤為將至少兩個服務器節點的內存資源整合得到;
所述虛機創建模塊,用于根據所述母鏡像制作差分盤,在本端創建對應數量的學生虛機。
需要說明的是,上述示例的實現云教室集群的裝置的實施方式中,各模塊之間的信息交互、執行過程等內容,由于與本發明前述方法實施例基于同一構思,其帶來的技術效果與本發明前述方法實施例相同,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
此外,上述示例的實現云教室集群的裝置的實施方式中,各功能模塊的邏輯劃分僅是舉例說明,實際應用中可以根據需要,例如出于相應硬件的配置要求或者軟件的實現的便利考慮,將上述功能分配由不同的功能模塊完成,即將所述實現云教室集群的裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。其中各功能模既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。
本領域普通技術人員可以理解,實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,作為獨立的產品銷售或使用。所述程序在執行時,可執行如上述各方法的實施例的全部或部分步驟。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關描述。
以上所述實施例僅表達了本發明的幾種實施方式,不能理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。