多節(jié)點遠程操作方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種多節(jié)點遠程操作方法和裝置。涉及計算應(yīng)用及集群管理領(lǐng)域;解決了對多節(jié)點遠程操作效率低下的問題。該方法包括:獲取需要遠程操作的節(jié)點信息;在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作。本發(fā)明提供的技術(shù)方案適用于大規(guī)模集群,實現(xiàn)了批量高效的節(jié)點遠程操作。
【專利說明】多節(jié)點遠程操作方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及服務(wù)器計算應(yīng)用及集群管理領(lǐng)域,尤其涉及一種多節(jié)點遠程操作方法和裝置。
【背景技術(shù)】
[0002]隨著集群在網(wǎng)絡(luò)服務(wù)以及高性能計算領(lǐng)域的普遍使用,需要對集群中的各服務(wù)器進行批量遠程操作的內(nèi)容越來越多,而目前各領(lǐng)域使用的集群規(guī)模也在逐年擴大,包含上百至上千臺服務(wù)器的集群已經(jīng)成為大型互連網(wǎng)公司、超級計算中心的必需設(shè)備。
[0003]而在這些大規(guī)模集群的管理中,不可避免的會對集群中包含的各個節(jié)點服務(wù)器進行遠程批量操作,一般的批量操作使用腳本進行,腳本的一般流程是通過循環(huán),順序遠程指定列表中的節(jié)點服務(wù)器名稱,并執(zhí)行同一操作。這種方法因為是順序執(zhí)行遠程操作,所以在集群的節(jié)點服務(wù)器數(shù)量在幾百、幾千甚至上萬時,這種情況下,順序執(zhí)行的方法將所需時間是單臺服務(wù)器所需時間的幾百、幾千甚至上萬倍。
[0004]因此,提供快速化的操作腳本工具,就顯得非常有實際意義。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種多節(jié)點遠程操作方法和裝置,解決了對多節(jié)點遠程操作效率低下的問題。
[0006]一種多節(jié)點遠程操作方法,包括:
[0007]獲取需要遠程操作的節(jié)點信息;
[0008]在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作。
[0009]優(yōu)選的,獲取需要遠程操作的節(jié)點信息包括:
[0010]獲取預(yù)置的節(jié)點名稱列表,在所述節(jié)點名稱列表中存儲有一個或多個節(jié)點的信
肩、O
[0011]優(yōu)選的,在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作包括:
[0012]將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點;
[0013]為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄;
[0014]在本批次的節(jié)點全部能夠遠程登錄時,使用各節(jié)點對應(yīng)的線程對相應(yīng)的節(jié)點進行遠程操作;
[0015]在對所述節(jié)點遠程操作完畢后,結(jié)束該節(jié)點對應(yīng)的線程;
[0016]在本批次全部線程均結(jié)束后,啟動對下一批次節(jié)點的遠程操作。
[0017]優(yōu)選的,在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作的步驟之前,還包括:[0018]設(shè)置可啟動的最大線程數(shù)為大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值。
[0019]優(yōu)選的,將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點包括:
[0020]在所述節(jié)點數(shù)量未超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為一個批次;
[0021]在所述節(jié)點數(shù)量超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為兩個以上的批次,各批次包含兩個以上、所述最大線程數(shù)以下的節(jié)點。
[0022]優(yōu)選的,為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄的步驟之后,還包括:
[0023]在存在不能遠程登錄的節(jié)點時,停止對全部節(jié)點的遠程操作,并輸出不能登錄的節(jié)點的信息。
[0024]本發(fā)明還提供了一種多節(jié)點遠程操作裝置,包括:
[0025]節(jié)點信息獲取模塊,用于獲取需要遠程操作的節(jié)點信息;
[0026]批量處理模塊,用于在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作。
[0027]優(yōu)選的,所述批量處理模塊包括:
[0028]批次劃分單元,用于將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點;
[0029]線程啟動單元,用于為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄;
[0030]操作執(zhí)行單元,用于在本批次的節(jié)點全部能夠遠程登錄時,使用各節(jié)點對應(yīng)的線程對相應(yīng)的節(jié)點進行遠程操作;
[0031]線程結(jié)束單元,用于在對所述節(jié)點遠程操作完畢后,結(jié)束該節(jié)點對應(yīng)的線程;
[0032]執(zhí)行管理單元,用于在本批次全部線程均結(jié)束后,啟動對下一批次節(jié)點的遠程操作。
[0033]優(yōu)選的,該裝置還包括:
[0034]線程數(shù)據(jù)限制模塊,用于設(shè)置可啟動的最大線程數(shù)為大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值。
[0035]優(yōu)選的,所述批次劃分單元具體用于:
[0036]在所述節(jié)點數(shù)量未超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為一個批次,
[0037]在所述節(jié)點數(shù)量超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為兩個以上的批次,各批次包含兩個以上、所述最大線程數(shù)以下的節(jié)點。
[0038]本發(fā)明提供了一種多節(jié)點遠程操作方法和裝置,在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作,實現(xiàn)了批量高效的節(jié)點遠程操作,同樣耗時內(nèi)遠程操作的節(jié)點數(shù)量增加,提高了對節(jié)點遠程操作的效率,解決了對多節(jié)點遠程操作效率低下的問題。
【專利附圖】
【附圖說明】[0039]圖1為本發(fā)明的實施例一提供的一種多節(jié)點遠程操作方法的流程圖;
[0040]圖2為圖1中步驟103的具體流程圖;
[0041]圖3為本發(fā)明的實施例二提供的一種多節(jié)點遠程操作裝置的結(jié)構(gòu)示意圖;
[0042]圖4為圖3中批量處理模塊302的結(jié)構(gòu)示意圖。
【具體實施方式】
[0043]在大規(guī)模集群的管理中,不可避免的會對集群中包含的各個節(jié)點服務(wù)器進行遠程批量操作,一般的批量操作使用腳本進行,腳本的一般流程是通過循環(huán),順序遠程指定列表中的節(jié)點服務(wù)器名稱,并執(zhí)行同一操作。這種方法因為是順序執(zhí)行遠程操作,所以在集群的節(jié)點服務(wù)器數(shù)量在幾百、幾千甚至上萬時,這種情況下,順序執(zhí)行的方法將所需時間是單臺服務(wù)器所需時間的幾百、幾千甚至上萬倍。
[0044]下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0045]首先結(jié)合附圖,對本發(fā)明的實施例一進行說明。
[0046]本發(fā)明實施例提供了一種多節(jié)點遠程操作方法,使用該方法對多節(jié)點進行批量遠程操作的流程如圖1所示,包括:
[0047]步驟101、獲取需要遠程操作的節(jié)點信息;
[0048]本發(fā)明實施例中,以運行腳本的方式控制整個遠程操作過程。
[0049]本步驟中,具體的,集群中的服務(wù)器(可以是指定完成遠程操作的集群中的任意服務(wù)器,優(yōu)選的,可為管理服務(wù)器)獲取預(yù)置的節(jié)點名稱列表,在所述節(jié)點名稱列表中存儲有一個或多個節(jié)點的信息。
[0050]步驟102、設(shè)置可啟動的最大線程數(shù)為大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值;
[0051]本步驟中,設(shè)置腳本的可啟動的最大線程數(shù),考慮到處理器的處理能力,可設(shè)置為一大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值;優(yōu)選的,可設(shè)置為當前所在節(jié)點的處理器核心數(shù)的值。
[0052]步驟103、在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作;
[0053]本步驟具體如圖2所示,包括:
[0054]步驟1031、將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點;
[0055]本步驟中,首先通過得到的節(jié)點列表,計算待操作的節(jié)點總數(shù)量以統(tǒng)計節(jié)點總數(shù)量;然后判斷節(jié)點總數(shù)量是否超過腳本可啟動的最大線程數(shù)。根據(jù)判斷結(jié)果作具體劃分,包括:
[0056]在所述節(jié)點數(shù)量未超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為一個批次;
[0057]在所述節(jié)點數(shù)量超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為兩個以上的批次,各批次包含兩個以上、所述最大線程數(shù)以下的節(jié)點。
[0058]然后,即可以批次為單位批量對上述多個節(jié)點進行遠程操作。
[0059]步驟1032、為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄;
[0060]本步驟中,使用啟動的線程并行檢測節(jié)點列表中的節(jié)點是否可遠程登錄.根據(jù)檢測結(jié)果,在本批次全部節(jié)點均成功遠程登錄時,進入步驟1033,否則進入步驟1034。
[0061]步驟1033、在本批次的節(jié)點全部能夠遠程登錄時,使用各節(jié)點對應(yīng)的線程對相應(yīng)的節(jié)點進行遠程操作,然后進入步驟1035。
[0062]步驟1034、在存在不能遠程登錄的節(jié)點時,停止對全部節(jié)點的遠程操作,并輸出不能登錄的節(jié)點的信息;
[0063]本步驟中,如果檢測出有節(jié)點無法遠程登錄,則輸出提示相應(yīng)的節(jié)點無法遠程登錄,提示用戶修改節(jié)點名稱列表或檢查相應(yīng)的節(jié)點,并退出腳本,中止對全部節(jié)點的遠程操作。
[0064]步驟1035、在對所述節(jié)點遠程操作完畢后,結(jié)束該節(jié)點對應(yīng)的線程;
[0065]步驟1036、在本批次全部線程均結(jié)束后,啟動對下一批次節(jié)點的遠程操作;
[0066]本步驟中,如果節(jié)點總數(shù)量超過腳本可啟動的最大線程數(shù),則每次以啟動線程數(shù)來并行執(zhí)行不同節(jié)點上的批量操作,一次啟動的全部線程都結(jié)束之后,再啟動下一批線程,分次直至節(jié)點名稱列表中的最后一個節(jié)點完成批量操作。
[0067]下面結(jié)合附圖,對本發(fā)明的實施例二進行說明。
[0068]本發(fā)明實施例提供了一種多節(jié)點遠程操作裝置,該裝置的結(jié)構(gòu)如圖3所示,包括:
[0069]節(jié)點信息獲取模塊301,用于獲取需要遠程操作的節(jié)點信息;
[0070]批量處理模塊302,用于在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作。
[0071]優(yōu)選的,所述批量處理模塊302的結(jié)構(gòu)如圖4所示,包括:
[0072]批次劃分單元3021,用于將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點;
[0073]線程啟動單元3022,用于為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄;
[0074]操作執(zhí)行單元3023,用于在本批次的節(jié)點全部能夠遠程登錄時,使用各節(jié)點對應(yīng)的線程對相應(yīng)的節(jié)點進行遠程操作;
[0075]線程結(jié)束單元3024,用于在對所述節(jié)點遠程操作完畢后,結(jié)束該節(jié)點對應(yīng)的線程;
[0076]執(zhí)行管理單元3025,用于在本批次全部線程均結(jié)束后,啟動對下一批次節(jié)點的遠程操作。
[0077]優(yōu)選的,該裝置還包括:
[0078]線程數(shù)據(jù)限制模塊303,用于設(shè)置可啟動的最大線程數(shù)為大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值。
[0079]優(yōu)選的,所述批次劃分單元3021具體用于:
[0080]在所述節(jié)點數(shù)量未超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為一個批次,
[0081]在所述節(jié)點數(shù)量超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為兩個以上的批次,各批次包含兩個以上、所述最大線程數(shù)以下的節(jié)點。[0082]上述多節(jié)點遠程操作裝置,能夠集成于集群中的服務(wù)器中,與本發(fā)明的實施例一提供的一種多節(jié)點遠程操作方法相結(jié)合,在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作,實現(xiàn)了批量高效的節(jié)點遠程操作,同樣耗時內(nèi)遠程操作的節(jié)點數(shù)量增加,提高了對節(jié)點遠程操作的效率,解決了對多節(jié)點遠程操作效率低下的問題。
[0083]本領(lǐng)域普通技術(shù)人員可以理解上述實施例的全部或部分步驟可以使用計算機程序流程來實現(xiàn),所述計算機程序可以存儲于一計算機可讀存儲介質(zhì)中,所述計算機程序在相應(yīng)的硬件平臺上(如系統(tǒng)、設(shè)備、裝置、器件等)執(zhí)行,在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0084]可選地,上述實施例的全部或部分步驟也可以使用集成電路來實現(xiàn),這些步驟可以被分別制作成一個個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0085]上述實施例中的各裝置/功能模塊/功能單元可以采用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,也可以分布在多個計算裝置所組成的網(wǎng)絡(luò)上。
[0086]上述實施例中的各裝置/功能模塊/功能單元以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述提到的計算機可讀取存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0087]任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求所述的保護范圍為準。
【權(quán)利要求】
1.一種多節(jié)點遠程操作方法,其特征在于,包括: 獲取需要遠程操作的節(jié)點信息; 在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作。
2.根據(jù)權(quán)利要求1所述的多節(jié)點遠程操作方法,其特征在于,獲取需要遠程操作的節(jié)點信息包括: 獲取預(yù)置的節(jié)點名稱列表,在所述節(jié)點名稱列表中存儲有一個或多個節(jié)點的信息。
3.根據(jù)權(quán)利要求1所述的遠程批量操作方法,其特征在于,在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作包括: 將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點; 為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄; 在本批次的節(jié)點全部能夠遠程登錄時,使用各節(jié)點對應(yīng)的線程對相應(yīng)的節(jié)點進行遠程操作; 在對所述節(jié)點遠程操作完畢后,結(jié)束該節(jié)點對應(yīng)的線程; 在本批次全部線程均結(jié)束后,啟動對下一批次節(jié)點的遠程操作。
4.根據(jù)權(quán)利要求3所述的多節(jié)點遠程操作方法,其特征在于,在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作的步驟之前,還包括: 設(shè)置可啟動的最大線程數(shù)為大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值。
5.根據(jù)權(quán)利要求4所述的多節(jié)點遠程操作方法,其特征在于,將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)點包括: 在所述節(jié)點數(shù)量未超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為一個批次; 在所述節(jié)點數(shù)量超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為兩個以上的批次,各批次包含兩個以上、所述最大線程數(shù)以下的節(jié)點。
6.根據(jù)權(quán)利要求3所述的多節(jié)點遠程操作方法,其特征在于,為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄的步驟之后,還包括: 在存在不能遠程登錄的節(jié)點時,停止對全部節(jié)點的遠程操作,并輸出不能登錄的節(jié)點的信息。
7.一種多節(jié)點遠程操作裝置,其特征在于,包括: 節(jié)點信息獲取模塊,用于獲取需要遠程操作的節(jié)點信息; 批量處理模塊,用于在需要遠程操作的節(jié)點數(shù)量為多個時,分批次批量對所述節(jié)點進行遠程操作,每批次對至少兩個所述節(jié)點進行遠程操作。
8.根據(jù)權(quán)利要求7所述的多節(jié)點遠程操作裝置,其特征在于,所述批量處理模塊包括: 批次劃分單元,用于將所述節(jié)點劃分為一個或多個批次,每個批次包括至少兩個節(jié)占.線程啟動單元,用于為本批次需要進行遠程操作的節(jié)點各啟動一唯一對應(yīng)的線程,檢測各節(jié)點是否能夠遠程登錄; 操作執(zhí)行單元,用于在本批次的節(jié)點全部能夠遠程登錄時,使用各節(jié)點對應(yīng)的線程對相應(yīng)的節(jié)點進行遠程操作; 線程結(jié)束單元,用于在對所述節(jié)點遠程操作完畢后,結(jié)束該節(jié)點對應(yīng)的線程; 執(zhí)行管理單元,用于在本批次全部線程均結(jié)束后,啟動對下一批次節(jié)點的遠程操作。
9.根據(jù)權(quán)利要求8所述的多節(jié)點遠程操作裝置,其特征在于,該裝置還包括: 線程數(shù)據(jù)限制模塊,用于設(shè)置可啟動的最大線程數(shù)為大于I且小于或等于當前所在節(jié)點的處理器核心數(shù)的值。
10.根據(jù)權(quán)利要求9所述的多節(jié)點遠程操作裝置,其特征在于,所述批次劃分單元具體用于: 在所述節(jié)點數(shù)量未超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為一個批次,在所述節(jié)點數(shù)量超過所述可啟動的最大線程數(shù)時,將所述節(jié)點劃分為兩個以上的批次,各批次包含兩個以上、所述最大線程數(shù)以下的節(jié)點。
【文檔編號】H04L29/08GK103997537SQ201410242440
【公開日】2014年8月20日 申請日期:2014年6月3日 優(yōu)先權(quán)日:2014年6月3日
【發(fā)明者】陳博文 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司