本發明涉及計算機技術領域,具體涉及一種從提供云服務的服務器集群中刪除服務器的方法和裝置。
背景技術:
在私有云服務的環境下,服務器集群中的每臺服務器都可能提供多個業務或者多個用戶的服務。當一臺服務器或者服務器中的虛擬機進行刪除的時候,為了防止對整個服務器集群的服務業務產生影響,需要將與該待刪除的服務器或虛擬機相關聯的服務中的相關信息進行刪除。現有技術中,在進行服務器或虛擬機刪除的時候,往往是遍歷所有服務,查找與待刪除的服務器或虛擬機相關聯的服務,在查找到的服務中進行相應的刪除操作,然后再刪除服務器或虛擬機??梢姡麄€過程繁瑣、耗時長、運行過程占用資源大、效率低。
技術實現要素:
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的從提供云服務的服務器集群中刪除服務器的方法和相應的裝置。
依據本發明的一個方面,提供了一種從提供云服務的服務器集群中刪除服務器的方法,其中,該方法包括:
創建一信息列表;
將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到所述信息列表中;
當需要刪除所述服務器集群中的一個服務器時,從所述信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;
對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據所述關聯的信息進行刪除準備處理;
當對于該服務器關聯的所有服務都完成刪除準備處理后,從所述服務器集群中刪除該服務器。
可選地,所述將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到所述信息列表中包括:
將服務器集群中的各服務器關聯的所有服務按照一定的順序進行排序得到服務排序表;
對于服務器集群中的一個服務器,按照所述服務排序表,依次用一個二進制數值標記該服務器與一個服務是否關聯,直到各服務器關聯的所有服務的最后一個服務,得到一個二進制數字串;其中,1表示關聯,0表示不關聯;
將所述二進制數字串作為該服務器所關聯的服務的標識信息與該服務器的標識對應保存到所述信息列表中。
可選地,對于服務器集群中的一個服務器,該方法進一步包括:
將所述二進制數字串按倒序進行重排后轉換為一個除二進制以外的多進制的整數;
將所述整數作為該服務器所關聯的服務的最終標識信息與該服務器的標識對應保存到所述信息列表中。
可選地,從所述信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務包括:
從所述信息列表中查詢出該服務器所關聯的服務的標識信息,轉換為二進制數字串;
將轉換得到的二進制數字串按倒序進行重排后,對照所述服務排序表確定該服務器關聯的各服務。
可選地,所述創建一信息列表包括:
在所述服務器集群的服務器關系表中增加一列,用于保存各服務器所關聯的服務的標識信息;
其中,所述服務器關系表的每一行對應一個服務器,且所述服務器關系表中已存在服務器標識信息的列。
可選地,所述服務器為創建在物理機上的虛擬機;
從所述服務器集群中刪除該服務器包括:銷毀相應的虛擬機。
根據本發明的另一方面,提供了一種從提供云服務的服務器集群中刪除服務器的裝置,其中,該裝置包括:
表創建單元,適于創建一信息列表;以及將將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到所述信息列表中;
刪除準備處理單元,適于當需要刪除所述服務器集群中的一個服務器時,從所述信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據所述關聯的信息進行刪除準備處理;
刪除單元,適于當對于該服務器關聯的所有服務都完成刪除準備處理后,從所述服務器集群中刪除該服務器。
可選地,所述表創建單元,適于將服務器集群中的各服務器關聯的所有服務按照一定的順序進行排序得到服務排序表;對于服務器集群中的一個服務器,按照所述服務排序表,依次用一個二進制數值標記該服務器與一個服務是否關聯,直到各服務器關聯的所有服務的最后一個服務,得到一個二進制數字串;其中,1表示關聯,0表示不關聯;以及適于將所述二進制數字串作為該服務器所關聯的服務的標識信息與該服務器的標識對應保存到所述信息列表中。
可選地,所述表創建單元,進一步適于對于服務器集群中的一個服務器,將所述二進制數字串按倒序進行重排后轉換為一個除二進制以外的多進制的整數;
將所述整數作為該服務器所關聯的服務的最終標識信息與該服務器的標識對應保存到所述信息列表中。
可選地,所述刪除準備處理單元,適于從所述信息列表中查詢出該服務器所關聯的服務的標識信息,轉換為二進制數字串;將轉換得到的二進制數字串按倒序進行重排后,對照所述服務排序表確定該服務器關聯的各服務。
可選地,所述表創建單元,適于在所述服務器集群的服務器關系表中增加一列,用于保存各服務器所關聯的服務的標識信息;其中,所述服務器關系表的每一行對應一個服務器,且所述服務器關系表中已存在服務器標識信息的列。
可選地,所述服務器為創建在物理機上的虛擬機;
所述刪除單元從所述服務器集群中刪除該服務器具體為銷毀相應的虛擬機。
根據本發明的技術方案,首先創建一信息列表,將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中;當需要刪除服務器集群中的一個服務器時,不再需要取遍歷所有的服務,而是直接從信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據關聯的信息進行刪除準備處理,防止該服務器的刪除對整個服務器集群的服務業務產生影響;當對于該服務器關聯的所有服務都完成刪除準備處理后,從服務器集群中刪除該服務器??梢姡景l明在進行服務器刪除的時候,不需要遍歷服務器集群中的所有服務,通過信息列表就可以查找出與待刪除的服務器相關聯的服務,整個過程簡單易用、耗時短、運行過程占用資源小、效率高。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
附圖說明
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據本發明一個實施例的從提供云服務的服務器集群中刪除服務器的方法的流程示意圖;
圖2示出了根據本發明一個實施例的從提供云服務的服務器集群中刪除服務器的裝置的結構示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
圖1示出了根據本發明一個實施例的從提供云服務的服務器集群中刪除服務器的方法的流程示意圖。如圖1所示,該方法包括:
步驟S110,創建一信息列表。
步驟S120,將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中。
服務器集群中的各服務器都有唯一的標識信息,以及服務器集群中的所有服務也都有唯一的標識信息,將每個服務器的標識信息與其提供的服務的標識信息對應保存在信息列表中,那么在進行查詢的時候,只需要在信息列表中查找相應的服務器標識信息,其對應的服務的標識信息也可以在信息列表中查找到。這里的相關聯包含服務器正在提供的服務,以及服務器被授權的服務。例如,服務器集群中有服務器A1、A2、A3,整個集群提供的服務有B1、B2、B3、B4,且與A1相關聯的是B1和B3服務,與A2相關聯的是B1和B2服務,與A3相關聯的是B3和B4服務,那么就將A1和B1、B3對應保存,A2和B1、B2對應保存,A3和B3、B4對應保存,在信息列表中,每一行可以代表一個服務器,每一列保存一個相關聯的服務的標識信息。
步驟S130,當需要刪除服務器集群中的一個服務器時,從信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務。
在進行服務器刪除的時候,為了查找與待刪除的服務器相關聯的服務,需要遍歷整個服務器集群的所有服務,服務的相關信息表里查找該服務是否與該待刪除的服務器相關聯,如果是,則確定相關聯;如果不是,則繼續查找下一個服務。
在本步驟中,當需要刪除一個服務器時,不在需要遍歷所有的服務,只要在保存有各服務器標識信息和各服務器所關聯的服務的標識信息的信息列表中查找待刪除的服務器,其相關聯的服務的標識信息也就得到,提高了查找效率。
步驟S140,對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據關聯的信息進行刪除準備處理。
為了防止待刪除的服務器刪除后影響整個服務器集群的服務業務,在刪除該服務器之前,需要將與其相關聯的服務中相應的信息進行刪除。所以,在查找到與該服務器相關聯的每個服務的標識信息后,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據關聯的信息進行刪除準備處理,例如,在所相關的服務的信息中刪除該服務器的屬性信息等。
步驟S150,當對于該服務器關聯的所有服務都完成刪除準備處理后,從服務器集群中刪除該服務器。
完成對于該服務器關聯的所有服務刪除準備處理后,再進行該服務器的刪除操作,這樣就可以避免該服務器的刪除對整個服務器集群的服務業務帶來的影響。
可見,本發明在進行服務器刪除的時候,不需要遍歷服務器集群中的所有服務,通過信息列表就可以查找出與待刪除的服務器相關聯的服務,整個過程簡單易用、耗時短、運行過程占用資源小、效率高。
如果僅僅是將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中,那么隨著服務器相關聯的服務個數的不斷增加,整個信息列表中的信息量在不斷的增加。例如,每一行代表一個服務器,每列代表服務器相關聯的一個服務,那么隨著服務的增加,信息列表的列數也在不斷的增加,最終可能會導致其占用的存儲空間較大,以及查詢速度的降低。為了解決這個問題,在本發明的一個實施例中,步驟S120中的將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中包括:
首先,將服務器集群中的各服務器關聯的所有服務按照一定的順序進行排序得到服務排序表。例如,服務器集群中的各服務器關聯的所有服務的個數為5個,那么按照順序排列,可以為B1、B2、B3、B4、B5。
其次,對于服務器集群中的一個服務器,按照服務排序表,依次用一個二進制數值標記該服務器與一個服務是否關聯,直到各服務器關聯的所有服務的最后一個服務,即依次判斷所有的服務與該服務器是否關聯,最終會得到一個二進制數字串;其中,1表示關聯,0表示不關聯。例如,對于B1、B2、B3、B4、B5,與服務器A1相關聯的服務是B1、B3,那么在存儲的時候,依次判斷B1、B2、B3、B4、B5與服務器是否相關聯,相關聯就標記為“1”,不相關聯就標記為“0”,在本例中,對于A1,其得到的二進制數字串就是10100。
最后,將二進制數字串作為該服務器所關聯的服務的標識信息與該服務器的標識對應保存到信息列表中。這樣,最終在信息列表中只有兩列數據,一列是服務器的標識信息,一列是與服務器相相關聯的服務的標識信息(二進制字符串)。
在進行查找時,只需要讀取該服務器相關聯的服務的二進制字符串,將該二進制字符串與服務排序表相對應,根據其關聯標識“1”或“0”判斷對應的服務是否與該服務器相關聯。
當一個服務器中再增加或變更服務的時候,按著增加或變更的服務在服務排序表的排序位置,在二進制字符串中增加或改變相應的標記。在上述例子中,對于服務器A1,增加B5的服務,那么就將其在信息列表中保存的相關聯的服務的標識信息“10100”中的第5位“0”變為“1”,最終成為“10101”;或者對于服務器A1增加服務B6,那么就將信息列表中的保存的相關聯的服務的標識信息變更為“101001”。
但是,如果在服務數量巨大的情況下,采用二進制字符串作為相關聯的服務的標識信息進行保存,其信息列表中對應的單元格的信息量也非常巨大,所以,在本發明的一個實施例中,對于服務器集群中的一個服務器,上述方法進一步包括:將二進制數字串按倒序進行重排后轉換為一個除二進制以外的多進制的整數;將整數作為該服務器所關聯的服務的最終標識信息與該服務器的標識對應保存到信息列表中。這里,除二進制以外的多進制可以是十進制或者是十六進制。
以十進制為例,對于服務器A1的相關聯的服務的標識信息“10100”,按倒序進行重排后變為“00101”,經過二進制轉十進制的變換后,“00101”變為“5”,然后將“5”作為該服務器A1所關聯的服務的最終標識信息與該服務器的標識對應保存到信息列表中。
這里首先將相關聯的服務的標識信息按倒序進行重排后在進行轉換,是為了減小轉換后的整數的大小,以及為了增加或者變更相關聯的服務后,得到的整數不會太大。例如,上述例子中,對于服務器A1的相關聯的服務的標識信息“10100”,如果沒有進行倒序重排,其經過十進制轉換后得到的整數就是“20”.但是進行倒序重排后得到的整數是“5”;或者如果整個服務器集群增加服務后,對于服務器A1的相關聯的服務的標識信息“10100100”,如果沒有進行倒序重排,其經過十進制轉換后得到的整數就是“164”.但是進行倒序重排后變為“00100101”得到的整數是“37”,可見,倒序重拍后得到的整數要小于未倒序重排后的整數,特別是當服務的數量非常大的時候,這種效果會更加明顯。
因為保存于服務器相關聯的服務的最終標識信息時,是經過倒序重排,以及多進制轉換的,所以在根據信息列表確定該服務器關聯的各服務的時候需要經過反向轉換。在本發明的一個實施例中,步驟S130中的從信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務包括:從信息列表中查詢出該服務器所關聯的服務的標識信息,轉換為二進制數字串;將轉換得到的二進制數字串按倒序進行重排后,對照服務排序表確定該服務器關聯的各服務。
步驟S110中創建一信息列表,可以是重新創建一個新的列表,或者,利用服務器集群中本身存在的服務器關系表進行創建。所以,在本發明的一個實施例中,步驟S110中的創建一信息列表包括:在服務器集群的服務器關系表中增加一列,用于保存各服務器所關聯的服務的標識信息;其中,服務器關系表的每一行對應一個服務器,且服務器關系表中已存在服務器標識信息的列。
在現實的計算機技術領域中,為了獲得大于物理機器的內存實際大小的空間,通常會采用創建虛擬機的方法,本發明也適用于虛擬機的刪除操作,所以,在本發明的一個實施例中,服務器為創建在物理機上的虛擬機;從服務器集群中刪除該服務器包括:銷毀相應的虛擬機。
圖2示出了根據本發明一個實施例的從提供云服務的服務器集群中刪除服務器的裝置的結構示意圖。如圖2所示,該從提供云服務的服務器集群中刪除服務器的裝置200包括:
表創建單元210,適于創建一信息列表;以及將將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中。
服務器集群中的各服務器都有唯一的標識信息,以及服務器集群中的所有服務也都有唯一的標識信息,將每個服務器的標識信息與其提供的服務的標識信息對應保存在信息列表中,那么在進行查詢的時候,只需要在信息列表中查找相應的服務器標識信息,其對應的服務的標識信息也可以在信息列表中查找到。這里的相關聯包含服務器正在提供的服務,以及服務器被授權的服務。例如,服務器集群中有服務器A1、A2、A3,整個集群提供的服務有B1、B2、B3、B4,且與A1相關聯的是B1和B3服務,與A2相關聯的是B1和B2服務,與A3相關聯的是B3和B4服務,那么就將A1和B1、B3對應保存,A2和B1、B2對應保存,A3和B3、B4對應保存,在信息列表中,每一行可以代表一個服務器,每一列保存一個相關聯的服務的標識信息。
刪除準備處理單元220,適于當需要刪除服務器集群中的一個服務器時,從信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據關聯的信息進行刪除準備處理。
在進行服務器刪除的時候,為了查找與待刪除的服務器相關聯的服務,需要遍歷整個服務器集群的所有服務,服務的相關信息表里查找該服務是否與該待刪除的服務器相關聯,如果是,則確定相關聯;如果不是,則繼續查找下一個服務。
在本單元中,當需要刪除一個服務器時,不在需要遍歷所有的服務,只要在保存有各服務器標識信息和各服務器所關聯的服務的標識信息的信息列表中查找待刪除的服務器,其相關聯的服務的標識信息也就得到,提高了查找效率。
為了防止待刪除的服務器刪除后影響整個服務器集群的服務業務,在刪除該服務器之前,需要將與其相關聯的服務中相應的信息進行刪除。所以,在查找到與該服務器相關聯的每個服務的標識信息后,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據關聯的信息進行刪除準備處理,例如,在所相關的服務的信息中刪除該服務器的屬性信息等。
刪除單元230,適于當對于該服務器關聯的所有服務都完成刪除準備處理后,從服務器集群中刪除該服務器。
完成對于該服務器關聯的所有服務刪除準備處理后,再進行該服務器的刪除操作,這樣就可以避免該服務器的刪除對整個服務器集群的服務業務帶來的影響。
可見,本發明在進行服務器刪除的時候,不需要遍歷服務器集群中的所有服務,通過信息列表就可以查找出與待刪除的服務器相關聯的服務,整個過程簡單易用、耗時短、運行過程占用資源小、效率高。
如果僅僅是將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中,那么隨著服務器相關聯的服務個數的不斷增加,整個信息列表中的信息量在不斷的增加。例如,每一行代表一個服務器,每列代表服務器相關聯的一個服務,那么隨著服務的增加,信息列表的列數也在不斷的增加,最終可能會導致其占用的存儲空間較大,以及查詢速度的降低。為了解決這個問題,在本發明的一個實施例中,表創建單元210,適于:
首先,將服務器集群中的各服務器關聯的所有服務按照一定的順序進行排序得到服務排序表。例如,服務器集群中的各服務器關聯的所有服務的個數為5個,那么按照順序排列,可以為B1、B2、B3、B4、B5。
其次,對于服務器集群中的一個服務器,按照服務排序表,依次用一個二進制數值標記該服務器與一個服務是否關聯,直到各服務器關聯的所有服務的最后一個服務,得到一個二進制數字串;其中,1表示關聯,0表示不關聯;例如,對于B1、B2、B3、B4、B5,與服務器A1相關聯的服務是B1、B3,那么在存儲的時候,依次判斷B1、B2、B3、B4、B5與服務器是否相關聯,相關聯就標記為“1”,不相關聯就標記為“0”,在本例中,對于A1,其得到的二進制數字串就是10100。
最后,將二進制數字串作為該服務器所關聯的服務的標識信息與該服務器的標識對應保存到信息列表中。這樣,最終在信息列表中只有兩列數據,一列是服務器的標識信息,一列是與服務器相相關聯的服務的標識信息(二進制字符串)。
在進行查找時,只需要讀取該服務器相關聯的服務的二進制字符串,將該二進制字符串與服務排序表相對應,根據其關聯標識“1”或“0”判斷對應的服務是否與該服務器相關聯。
當一個服務器中再增加或變更服務的時候,按著增加或變更的服務在服務排序表的排序位置,在二進制字符串中增加或改變相應的標記。在上述例子中,對于服務器A1,增加B5的服務,那么就將其在信息列表中保存的相關聯的服務的標識信息“10100”中的第5位“0”變為“1”,最終成為“10101”;或者對于服務器A1增加服務B6,那么就將信息列表中的保存的相關聯的服務的標識信息變更為“101001”。
但是,如果在服務數量巨大的情況下,采用二進制字符串作為相關聯的服務的標識信息進行保存,其信息列表中對應的單元格的信息量也非常巨大,所以,在本發明的一個實施例中,表創建單元210,進一步適于對于服務器集群中的一個服務器,將二進制數字串按倒序進行重排后轉換為一個除二進制以外的多進制的整數;將整數作為該服務器所關聯的服務的最終標識信息與該服務器的標識對應保存到信息列表中。這里,除二進制以外的多進制可以是十進制或者是十六進制。
以十進制為例,對于服務器A1的相關聯的服務的標識信息“10100”,按倒序進行重排后變為“00101”,經過二進制轉十進制的變換后,“00101”變為“5”,然后將“5”作為該服務器A1所關聯的服務的最終標識信息與該服務器的標識對應保存到信息列表中。
這里首先將相關聯的服務的標識信息按倒序進行重排后在進行轉換,是為了減小轉換后的整數的大小,以及為了增加或者變更相關聯的服務后,得到的整數不會太大。例如,上述例子中,對于服務器A1的相關聯的服務的標識信息“10100”,如果沒有進行倒序重排,其經過十進制轉換后得到的整數就是“20”.但是進行倒序重排后得到的整數是“5”;或者如果整個服務器集群增加服務后,對于服務器A1的相關聯的服務的標識信息“10100100”,如果沒有進行倒序重排,其經過十進制轉換后得到的整數就是“164”.但是進行倒序重排后變為“00100101”得到的整數是“37”,可見,倒序重拍后得到的整數要小于未倒序重排后的整數,特別是當服務的數量非常大的時候,這種效果會更加明顯。
因為保存于服務器相關聯的服務的最終標識信息時,是經過倒序重排,以及多進制轉換的,所以在根據信息列表確定該服務器關聯的各服務的時候需要經過反向轉換。在本發明的一個實施例中,刪除準備處理單元220,適于從信息列表中查詢出該服務器所關聯的服務的標識信息,轉換為二進制數字串;將轉換得到的二進制數字串按倒序進行重排后,對照服務排序表確定該服務器關聯的各服務。
創建一信息列表時,可以是重新創建一個新的列表,或者,利用服務器集群中本身存在的服務器關系表進行創建。所以,在本發明的一個實施例中,表創建單元210,適于在服務器集群的服務器關系表中增加一列,用于保存各服務器所關聯的服務的標識信息;其中,服務器關系表的每一行對應一個服務器,且服務器關系表中已存在服務器標識信息的列。
在現實的計算機技術領域中,為了獲得大于物理機器的內存實際大小的空間,通常會采用創建虛擬機的方法,本發明也適用于虛擬機的刪除操作,所以,在本發明的一個實施例中,服務器為創建在物理機上的虛擬機;則刪除單元230從服務器集群中刪除該服務器具體為銷毀相應的虛擬機。
綜上所述,根據本發明的技術方案,首先創建一信息列表,將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到信息列表中;當需要刪除服務器集群中的一個服務器時,不再需要取遍歷所有的服務,而是直接從信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據關聯的信息進行刪除準備處理,防止該服務器的刪除對整個服務器集群的服務業務產生影響;當對于該服務器關聯的所有服務都完成刪除準備處理后,從服務器集群中刪除該服務器??梢?,本發明在進行服務器刪除的時候,不需要遍歷服務器集群中的所有服務,通過信息列表就可以查找出與待刪除的服務器相關聯的服務,整個過程簡單易用、耗時短、運行過程占用資源小、效率高。
需要說明的是:
在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設備固有相關。各種通用裝置也可以與基于在此的示教一起使用。根據上面的描述,構造這類裝置所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的從提供云服務的服務器集群中刪除服務器的裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本發明公開了A1、一種從提供云服務的服務器集群中刪除服務器的方法,其中,該方法包括:
創建一信息列表;
將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到所述信息列表中;
當需要刪除所述服務器集群中的一個服務器時,從所述信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;
對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據所述關聯的信息進行刪除準備處理;
當對于該服務器關聯的所有服務都完成刪除準備處理后,從所述服務器集群中刪除該服務器。
A2、如A1所述的方法,其中,所述將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到所述信息列表中包括:
將服務器集群中的各服務器關聯的所有服務按照一定的順序進行排序得到服務排序表;
對于服務器集群中的一個服務器,按照所述服務排序表,依次用一個二進制數值標記該服務器與一個服務是否關聯,直到各服務器關聯的所有服務的最后一個服務,得到一個二進制數字串;其中,1表示關聯,0表示不關聯;
將所述二進制數字串作為該服務器所關聯的服務的標識信息與該服務器的標識對應保存到所述信息列表中。
A3、如A2所述的方法,其中,對于服務器集群中的一個服務器,該方法進一步包括:
將所述二進制數字串按倒序進行重排后轉換為一個除二進制以外的多進制的整數;
將所述整數作為該服務器所關聯的服務的最終標識信息與該服務器的標識對應保存到所述信息列表中。
A4、如A3所述的方法,其中,從所述信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務包括:
從所述信息列表中查詢出該服務器所關聯的服務的標識信息,轉換為二進制數字串;
將轉換得到的二進制數字串按倒序進行重排后,對照所述服務排序表確定該服務器關聯的各服務。
A5、如A1-A4中任一項所述的方法,其中,所述創建一信息列表包括:
在所述服務器集群的服務器關系表中增加一列,用于保存各服務器所關聯的服務的標識信息;
其中,所述服務器關系表的每一行對應一個服務器,且所述服務器關系表中已存在服務器標識信息的列。
A6、如A1-A4中任一項所述的方法,其中,
所述服務器為創建在物理機上的虛擬機;
從所述服務器集群中刪除該服務器包括:銷毀相應的虛擬機。
本發明還公開了B7、一種從提供云服務的服務器集群中刪除服務器的裝置,其中,該裝置包括:
表創建單元,適于創建一信息列表;以及將將服務器集群中的各服務器標識信息和各服務器所關聯的服務的標識信息對應保存到所述信息列表中;
刪除準備處理單元,適于當需要刪除所述服務器集群中的一個服務器時,從所述信息列表中查詢出該服務器所關聯的服務的標識信息,確定該服務器關聯的各服務;對于該服務器關聯的每個服務,根據查詢出的該服務的標識信息查找到該服務的與該服務器相關聯的信息,根據所述關聯的信息進行刪除準備處理;
刪除單元,適于當對于該服務器關聯的所有服務都完成刪除準備處理后,從所述服務器集群中刪除該服務器。
B8、如B7所述的裝置,其中,
所述表創建單元,適于將服務器集群中的各服務器關聯的所有服務按照一定的順序進行排序得到服務排序表;對于服務器集群中的一個服務器,按照所述服務排序表,依次用一個二進制數值標記該服務器與一個服務是否關聯,直到各服務器關聯的所有服務的最后一個服務,得到一個二進制數字串;其中,1表示關聯,0表示不關聯;以及適于將所述二進制數字串作為該服務器所關聯的服務的標識信息與該服務器的標識對應保存到所述信息列表中。
B9、如B8所述的裝置,其中,
所述表創建單元,進一步適于對于服務器集群中的一個服務器,將所述二進制數字串按倒序進行重排后轉換為一個除二進制以外的多進制的整數;
將所述整數作為該服務器所關聯的服務的最終標識信息與該服務器的標識對應保存到所述信息列表中。
B10、如B9所述的裝置,其中,
所述刪除準備處理單元,適于從所述信息列表中查詢出該服務器所關聯的服務的標識信息,轉換為二進制數字串;將轉換得到的二進制數字串按倒序進行重排后,對照所述服務排序表確定該服務器關聯的各服務。
B11、如B7-B10中任一項所述的裝置,其中,
所述表創建單元,適于在所述服務器集群的服務器關系表中增加一列,用于保存各服務器所關聯的服務的標識信息;其中,所述服務器關系表的每一行對應一個服務器,且所述服務器關系表中已存在服務器標識信息的列。
B12、如B7-B10中任一項所述的裝置,其中,
所述服務器為創建在物理機上的虛擬機;
所述刪除單元從所述服務器集群中刪除該服務器具體為銷毀相應的虛擬機。