控制服務器升級的裝置及方法
【專利摘要】本發(fā)明公開了一種控制服務器升級的方法,屬于網(wǎng)絡控制技術領域。所述方法包括:根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升級服務器,所述至少兩個服務器中升級優(yōu)先級低的服務器的全部或部分功能依賴于至少一個升級優(yōu)先級高的服務器;向所述待升級服務器發(fā)送升級指令,所述升級指令用于指示所述待升級服務器開始升級,根據(jù)各個服務器之間的依賴關系自動確定哪些服務器可以進行升級,并自動控制可以升級的服務器進行升級,不需要手動選擇待升級的服務器,從而達到減少服務器升級所占用的人力和時間,降低服務器升級復雜度,以及提高待升級服務器選擇準確性的效果。
【專利說明】
控制服務器升級的裝置及方法
技術領域
[0001] 本發(fā)明涉及網(wǎng)絡控制技術領域,特別涉及一種控制服務器升級的裝置及方法。
【背景技術】
[0002] 大型網(wǎng)絡服務平臺通常由成千上萬臺的服務器來支撐日常的業(yè)務運營。由于平臺 漏洞修復和新的功能特性上線等因素,有時需要對這些服務器進行升級。
[0003] 基于某些業(yè)務特性的需要,服務器間可能存在一定的依賴關系,某些服務器必須 在其他服務器升級之后才能升級。例如,某個服務器升級后數(shù)據(jù)庫中新增了一個業(yè)務屬性, 而其他服務器需要讀取該新增的屬性用來展示和處理新業(yè)務。如果先升級其他服務器,而 該服務器的數(shù)據(jù)庫還沒有升級,則會導致其他服務器無法正確展示和進行該新業(yè)務的處 理。
[0004] 在現(xiàn)有技術中,平臺管理人員可以通過升級工具批量升級服務器,比如,升級工具 提供操作界面,平臺管理人員根據(jù)各個服務器之間的依賴關系,在該操作界面中手動選擇 一批服務器進行升級,當這些服務器升級完成后,再選擇下一批可以升級的服務器。
[0005] 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術存在如下問題:
[0006] 通過升級工具批量升級服務器時,各個服務器的升級時序依賴人工去控制,當服 務器個數(shù)較多時,每次升級都會占用大量的人力和時間,服務器升級操作過程較為復雜,人 工維護成本高。
【發(fā)明內容】
[0007] 為了解決現(xiàn)有技術中各個服務器的升級時序依賴人工去控制,當服務器個數(shù)較多 時,每次升級都會占用大量的人力和時間,服務器升級操作過程較為復雜,人工維護成本高 的問題,本申請?zhí)峁┝艘环N控制服務器升級的裝置及方法。
[0008] 第一方面,本發(fā)明提供了一種控制服務器升級的方法,包括:
[0009] 根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升 級服務器,所述至少兩個服務器中升級優(yōu)先級低的服務器的全部或部分功能依賴于至少一 個升級優(yōu)先級高的服務器;向所述待升級服務器發(fā)送升級指令,所述升級指令用于指示所 述待升級服務器開始升級。
[0010] 本發(fā)明實施例提供的控制服務器升級的方法,通過根據(jù)至少兩個服務器各自對應 的、用于指示該至少兩個服務器之間的依賴關系的升級優(yōu)先級,確定該至少兩個服務器中 的待升級服務器,并向該待升級服務器發(fā)送升級指令,指示該待升級服務器開始升級,根據(jù) 各個服務器之間的依賴關系自動確定哪些服務器可以進行升級,并自動控制可以升級的服 務器進行升級,不需要手動選擇待升級的服務器,從而達到減少服務器升級所占用的人力 和時間,降低服務器升級復雜度,以及提高待升級服務器選擇準確性的效果。
[0011] 在第一方面的第一種可能實現(xiàn)方式中,所述升級優(yōu)先級包括群組優(yōu)先級和服務器 優(yōu)先級;所述群組優(yōu)先級用于指示對應服務器所在的群組的優(yōu)先級,所述服務器優(yōu)先級用 于指示對應服務器在所述對應服務器所在的群組中的優(yōu)先級;其中,所述群組優(yōu)先級低的 群組中包含的服務器的全部或部分功能依賴于至少一個所述群組優(yōu)先級高的群組中包含 的服務器;在一個所述群組內,所述服務器優(yōu)先級低的服務器的全部或部分功能依賴于至 少一個服務器優(yōu)先級高的服務器。
[0012] 結合第一方面的第一種可能實現(xiàn)方式,在第一方面的第二種可能實現(xiàn)方式中,所 述根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升級服務 器,包括:
[0013] 當接收到所述至少兩個服務器中的請求服務器發(fā)送的升級請求時,查詢至少一個 目標群組,所述至少一個目標群組是尚未完成升級的各個群組中、群組優(yōu)先級最高的所述 群組;獲取可升級列表,所述可升級列表中包含每一個所述目標群組中尚未完成升級的各 個服務器中、服務器優(yōu)先級最高的至少一個服務器;檢測所述請求服務器是否存在于所述 可升級列表中;若所述請求服務器存在于所述可升級列表中,則確定所述請求服務器為所 述待升級服務器。
[0014] 提供一種服務器主動請求時,根據(jù)服務器之間的依賴關系自動控制服務器進行升 級的方法,達到減少服務器升級所占用的人力和時間,降低服務器升級復雜度,以及提高待 升級服務器選擇準確性的效果。
[0015] 結合第一方面的第一種可能實現(xiàn)方式,在第一方面的第三種可能實現(xiàn)方式中,所 述根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升級服務 器,包括:
[0016] 當接收到所述至少兩個服務器中的請求服務器發(fā)送的升級請求時,查詢所述請求 服務器的群組優(yōu)先級和服務器優(yōu)先級;檢測所述請求服務器的群組優(yōu)先級是否為所述至少 兩個服務器中尚未完成升級的各個服務器的群組優(yōu)先級中的最高優(yōu)先級;若所述請求服務 器的群組優(yōu)先級是所述至少兩個服務器中尚未完成升級的各個服務器的群組優(yōu)先級中的 最高優(yōu)先級,則檢測所述請求服務器的服務器優(yōu)先級是否為所述請求服務器所在群組內尚 未完成升級的各個服務器的服務器優(yōu)先級中的最高優(yōu)先級;若所述請求服務器的服務器優(yōu) 先級是所述請求服務器所在群組內尚未完成升級的各個服務器的服務器優(yōu)先級中的最高 優(yōu)先級,則確定所述請求服務器為所述待升級服務器。
[0017] 提供另一種服務器主動請求時,根據(jù)服務器之間的依賴關系自動控制服務器進行 升級的方法,達到減少服務器升級所占用的人力和時間,降低服務器升級復雜度,以及提高 待升級服務器選擇準確性的效果。
[0018] 結合第一方面的第一種可能實現(xiàn)方式,在第一方面的第四種可能實現(xiàn)方式中,所 述根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升級服務 器,包括:
[0019] 查詢至少一個目標群組,所述目標群組是尚未完成升級的各個群組中、群組優(yōu)先 級最高的所述群組;對于所述至少一個目標群組中的每一個目標群組,將所述目標群組中 尚未完成升級的各個服務器中、服務器優(yōu)先級最高的至少一個服務器確定為所述待升級服 務器。
[0020] 提供一種控制設備主動根據(jù)服務器之間的依賴關系自動控制服務器進行升級的 方法,達到減少服務器升級所占用的人力和時間,降低服務器升級復雜度,以及提高待升級 服務器選擇準確性的效果。
[0021 ]在第一方面的第五種可能實現(xiàn)方式中,所述方法還包括:
[0022] 在根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待 升級服務器之前,獲取所述至少兩個服務器之間的依賴關系;根據(jù)所述至少兩個服務器之 間的依賴關系確定所述至少兩個服務器各自對應的升級優(yōu)先級。
[0023] 控制設備根據(jù)各個服務器之間的依賴關系自動確定各個服務器的升級優(yōu)先級,進 一步減少人工操作步驟,降低服務器升級復雜度。
[0024]第二方面,本發(fā)明實施例提供了一種控制設備,該控制設備包括:處理器和存儲 器;該處理器被配置為執(zhí)行存儲器中存儲的指令;該處理器通過執(zhí)行指令來實現(xiàn)上述第一 方面或第一方面的任意一種可能實現(xiàn)方式所提供的控制服務器升級的方法。
[0025] 第三方面,本發(fā)明實施例提供了一種控制服務器升級的裝置,該控制服務器升級 的裝置包括至少一個單元,該至少一個單元用于實現(xiàn)上述第一方面或第一方面的任意一種 可能的實現(xiàn)方式所提供的控制服務器升級的方法。
[0026] 第四方面,本發(fā)明實施例還提供了一種計算機可讀介質,該計算機可讀介質存儲 有用于實現(xiàn)第一方面或第一方面的任意一種可能的實現(xiàn)方式所提供的控制服務器升級的 方法的指令。
【附圖說明】
[0027] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0028] 圖1是本發(fā)明所涉及的網(wǎng)絡環(huán)境的架構圖;
[0029] 圖2是本發(fā)明一個示例性實施例提供的網(wǎng)絡設備的結構示意圖;
[0030] 圖3是圖2所示實施例提供的一種應用程序模塊的構成圖;
[0031 ]圖4是本發(fā)明一個實施例提供的控制服務器升級的方法的流程圖;
[0032] 圖5是本發(fā)明另一實施例提供的控制服務器升級的方法的流程圖;
[0033] 圖6是本發(fā)明一個實施例提供的控制服務器升級的裝置的框圖。
【具體實施方式】
[0034]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方 式作進一步地詳細描述。
[0035]請參考圖1,其示出了本發(fā)明所涉及的網(wǎng)絡環(huán)境的架構圖。該網(wǎng)絡環(huán)境包括以下網(wǎng) 絡設備:控制設備110以及至少兩個服務器120。
[0036] 至少兩個服務器120可以組成一個或多個大型網(wǎng)絡服務平臺,每個服務器120負責 該大型網(wǎng)絡服務平臺中的一項或多項功能。每個服務器120可以是單臺服務器,或者,每個 服務器120也可以由多臺實現(xiàn)相同功能的服務器組成。在本發(fā)明實施例所示的網(wǎng)絡環(huán)境中, 一個服務器120中的全部或者部分功能的實現(xiàn)可能需要另一個服務器120提供數(shù)據(jù)支持。 [0037]控制設備110與至少兩個服務器120相連接,在本發(fā)明各個實施例中,控制設備110 是所有服務器120的升級控制的總設備,控制所有服務器120能夠按一定的依賴時序進行升 級。
[0038] 可選的,該網(wǎng)絡環(huán)境還可以包括至少一個升級包數(shù)據(jù)庫130,每個升級包數(shù)據(jù)庫 130連接一個或多個服務器120,并存儲該一個或多個服務器120升級所需的升級數(shù)據(jù)包。
[0039] 請參考圖2,其示出了本發(fā)明一個示例性實施例提供的網(wǎng)絡設備的結構示意圖。該 網(wǎng)絡設備20可以實現(xiàn)為上述圖1所示網(wǎng)絡環(huán)境中的控制設備110。
[0040] 該網(wǎng)絡設備20可以包括:處理器21、存儲器23以及通信接口 24。
[0041 ] 處理器21可以包括一個或者一個以上中央處理單元(英文:Central Processing Unit,縮寫:CPU)。處理器21通過運行軟件程序以及模塊,從而執(zhí)行各種功能應用以及業(yè)務 數(shù)據(jù)處理。
[0042] 通信接口24包括包處理器(英文:packet processor)和網(wǎng)絡接口。包處理器解析 到達網(wǎng)絡設備的數(shù)據(jù)包后,將數(shù)據(jù)包發(fā)送給處理器21進行處理,或者,也可以將該數(shù)據(jù)包通 過網(wǎng)絡接口轉發(fā)給上級/下級設備。網(wǎng)絡接口可以包含有線網(wǎng)絡接口,比如以太網(wǎng)接口,也 可以包含無線網(wǎng)絡接口。
[0043] 可選的,該網(wǎng)絡設備20還可以包括通信總線22。存儲器23和通信接口 24分別通過 通信總線22與處理器21相連。
[0044]存儲器23可用于存儲軟件程序以及模塊,該軟件程序以及模塊由處理器21執(zhí)行。 此外,該存儲器23中還可以存儲各類業(yè)務數(shù)據(jù)和用戶數(shù)據(jù)。
[0045] 在本發(fā)明實施例中,存儲器23中存儲的軟件程序以及模塊中可以包括由處理器21 執(zhí)行的至少一個功能所需的應用程序模塊26。
[0046] 請參考圖3,其示出了本發(fā)明實施例涉及的一種應用程序模塊的組成示意圖,其 中,該應用程序模塊26可以是:第一確定模塊26a、指令發(fā)送模塊26b、獲取模塊26c以及第二 確定模塊26d;
[0047] 第一確定模塊26a,用于根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至 少兩個服務器中的待升級服務器,所述至少兩個服務器中升級優(yōu)先級低的服務器的全部或 部分功能依賴于至少一個升級優(yōu)先級高的服務器。
[0048]指令發(fā)送模塊26b,用于向所述待升級服務器發(fā)送升級指令,所述升級指令用于指 示所述待升級服務器開始升級。
[0049] 獲取模塊26c,用于在所述第一確定單元根據(jù)至少兩個服務器各自對應的升級優(yōu) 先級,確定所述至少兩個服務器中的待升級服務器之前,獲取所述至少兩個服務器之間的 依賴關系。
[0050] 第二確定模塊26d,用于根據(jù)所述至少兩個服務器之間的依賴關系確定所述至少 兩個服務器各自對應的升級優(yōu)先級。
[0051 ] 此外,該網(wǎng)絡設備20還可以包括輸出設備25以及輸入設備27。輸出設備25和輸入 設備27也通過通信總線22與處理器21相連。輸出設備25可以是用于顯示信息的顯示器、播 放聲音的功放設備或者打印機等,輸出設備25還可以包括輸出控制器,用以提供輸出到顯 示屏、功放設備或者打印機。輸入設備27可以是用于用戶輸入信息的諸如鼠標、鍵盤、電子 觸控筆或者觸控面板之類的設備,輸入設備27還可以包括輸出控制器以用于接收和處理來 自鼠標、鍵盤、電子觸控筆或者觸控面板等設備的輸入。
[0052] 本發(fā)明各個實施例所示的方案,控制設備可以根據(jù)至少兩個服務器各自對應的升 級優(yōu)先級,確定至少兩個服務器中的待升級服務器,該至少兩個服務器中升級優(yōu)先級低的 服務器的全部或部分功能依賴于至少一個升級優(yōu)先級高的服務器,控制設備向待升級服務 器發(fā)送升級指令,用于指示待升級服務器開始升級。其中,控制設備控制服務器進行升級 時,可以由服務器向控制設備主動發(fā)起升級請求,并在控制設備的控制下進行升級,或者, 也可以由控制設備主動通知服務器進行升級。本發(fā)明下面的實施例將以這兩種情形為例分 別進行說明。
[0053] 請參考圖4,其示出了本發(fā)明一個實施例提供的控制服務器升級的方法的流程圖。 該方法可以用于圖1所示的網(wǎng)絡環(huán)境的控制設備110中。如圖4所示,以服務器120向控制設 備110主動發(fā)起升級請求,并在控制設備110的控制下進行升級為例,該控制服務器升級的 方法可以包括:
[0054]步驟401,控制設備獲取至少兩個服務器之間的依賴關系。
[0055] 在本發(fā)明實施例中,服務器之間的依賴關系是指一個服務器的全部或部分功能依 賴于另外至少一個服務器。比如,假設某網(wǎng)絡服務平臺中的服務器a對外提供某項查詢業(yè)務 時,需要從服務器b獲取相關的業(yè)務數(shù)據(jù),則認為服務器a對服務器b有依賴關系。
[0056] 控制設備獲取至少兩個服務器之間的依賴關系時,可以接收各個服務器上報的依 賴信息,該依賴信息用于指示對應的服務器所依賴的服務器,比如,服務器a依賴服務器b, 則服務器a上報給控制設備的依賴信息中可以包含服務器b的標識??刂圃O備對各個服務器 發(fā)送的依賴信息進行統(tǒng)計,獲得各個服務器之間的依賴關系。
[0057]或者,在另一種可能的實現(xiàn)方式中,也可以由管理人員通過控制設備的控制界面 手動輸入或者設置各個服務器之間的依賴關系。
[0058] 該步驟401可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行獲取模塊26c來實現(xiàn)。 [0059]步驟402,控制設備根據(jù)該至少兩個服務器之間的依賴關系確定該至少兩個服務 器各自對應的升級優(yōu)先級。
[0060] 其中,該升級優(yōu)先級包括群組優(yōu)先級和服務器優(yōu)先級;該群組優(yōu)先級用于指示對 應服務器所在的群組的優(yōu)先級,該服務器優(yōu)先級用于指示對應服務器在該對應服務器所在 的群組中的優(yōu)先級;其中,該群組優(yōu)先級低的群組中包含的服務器的全部或部分功能依賴 于至少一個該群組優(yōu)先級高的群組中包含的服務器;在一個該群組內,該服務器優(yōu)先級低 的服務器的全部或部分功能依賴于至少一個服務器優(yōu)先級高的服務器。
[0061] 控制設備在根據(jù)該至少兩個服務器之間的依賴關系確定該至少兩個服務器各自 對應的升級優(yōu)先級時,可以根據(jù)該至少兩個服務器之間的依賴關系自動生成各個服務器對 應的升級優(yōu)先級。或者,控制設備也可以向管理人員展示根據(jù)各個服務器之間的依賴關系 (比如,向管理人員展示可以指示各個服務器之間的依賴關系的網(wǎng)狀圖,該網(wǎng)狀圖中的每個 節(jié)點表示一個服務器,服務器之間的依賴關系通過節(jié)點之間的箭頭表示),由管理人員根據(jù) 展示的依賴關系來設置各個服務器的升級優(yōu)先級。
[0062]比如,網(wǎng)絡服務平臺中有服務器A、B、C、D和E五個服務器,服務器A依賴服務器B,服 務器C依賴服務器D,服務器C/D與服務器A/B不相互依賴。服務器E依賴服務器A、B、C、D。則控 制設備可以將服務器A、B、C、D、E劃分為三個服務器群組,其中,
[0063] 群組1包括:服務器A、服務器B;
[0064] 群組2包括:服務器C、服務器D;
[0065] 群組3包括:服務器E。
[0066]上述三個群組具有各自的群組優(yōu)先級,并且各個服務器還具有自己的服務器優(yōu)先 級。上述三個群組中每個服務器的升級優(yōu)先級可以表示為Χ-χ,其中,X為服務器對應的群組 優(yōu)先級,X為該服務器對應的服務器優(yōu)先級。
[0067] 比如,在上述三個群組中,群組1和群組2之間互不依賴,則群組1和群組2的群組優(yōu) 先級可以為1(優(yōu)先級數(shù)字越小,表示優(yōu)先級越高),群組3中的服務器需要依賴群組1和群組 2中的服務器,則群組3的群組優(yōu)先級需要比群組1和群組2的群組優(yōu)先級低,比如,群組3的 群組優(yōu)先級可以為2。在單個群組內,比如,在群組1內,服務器A需要依賴服務器B,則服務器 A的服務器優(yōu)先級可以設置為2,服務器B的服務器優(yōu)先級可以設置為優(yōu)先級1,同理,在群組 2中,服務器C需要依賴服務器D,則服務器C的服務器優(yōu)先級可以設置為2,服務器D的服務器 優(yōu)先級可以設置為優(yōu)先級1。群組3中只存在一個服務器E,則服務器E的服務器優(yōu)先級可以 設置為1。
[0068] 綜上,服務器A、B、C、D和E的升級優(yōu)先級可以如下表1所示:
[0069]
[0070] 表 1
[0071 ]可選的,在本發(fā)明實施例中,控制設備確定該至少兩個服務器各自對應的升級優(yōu) 先級之后,管理人員還可以對其進行人工干預調整,比如,控制設備可以提供升級優(yōu)先級調 整界面,管理人員在該調整界面中對某一個或者多個服務器的升級優(yōu)先級進行人工調整。 [0072]該步驟402可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行第二確定模塊26d來實 現(xiàn)。
[0073] 步驟403,控制設備向該至少兩個服務器發(fā)送可升級通知,該至少兩個服務器中的 請求服務器接收該可升級通知,該可升級通知用于指示可以進行服務器升級。
[0074]當至少兩個服務器需要升級時,控制設備向該至少兩個服務器分別發(fā)送可升級通 知,以通知這些服務器可以進行升級。
[0075]步驟404,請求服務器向控制設備發(fā)送升級請求,控制設備接收該升級請求。
[0076]該至少兩個服務器中的一個請求服務器接收到可升級通知后,即可以向控制設備 發(fā)送升級請求,以查詢該請求服務器是否可以進行升級。
[0077]步驟405,控制設備查詢至少一個目標群組,該至少一個目標群組是尚未完成升級 的各個群組中、群組優(yōu)先級最高的該群組。
[0078]步驟406,控制設備獲取可升級列表,該可升級列表中包含每一個該目標群組中尚 未完成升級的各個服務器中、服務器優(yōu)先級最高的至少一個服務器。
[0079] 步驟407,控制設備檢測該請求服務器是否存在于該可升級列表中。
[0080] 步驟408,若該請求服務器存在于該可升級列表中,則控制設備確定該請求服務器 為待升級服務器,向請求服務器發(fā)送升級指令,該升級指令用于指示該請求服務器開始升 級。
[0081] 控制設備接收到請求服務器發(fā)送的升級請求后,首先根據(jù)該請求服務器的升級優(yōu) 先級檢測該請求服務器是否可以升級(即檢測其是否為此時的待升級服務器)。在上述步驟 405至步驟408所示的方案中,控制設備首先生成用于指示當前可升級的各個服務器的可升 級列表,再檢測請求服務器是否存在與該可升級列表中,如果是,則說明當前未完成升級的 其它服務器中沒有該請求服務器需要依賴的服務器,并向其發(fā)送升級指令。
[0082] 可選的,在另一種可能的實現(xiàn)方式中,控制設備在接收到該至少兩個服務器中的 請求服務器發(fā)送的升級請求時,也可以不獲取可升級列表,而是直接查詢該請求服務器的 升級優(yōu)先級是否為當前可升級的各個服務器中的最高優(yōu)先級,如果是,則向請求服務器發(fā) 送升級指令,其實現(xiàn)過程如下:
[0083] 控制設備查詢該請求服務器的群組優(yōu)先級和服務器優(yōu)先級;檢測該請求服務器的 群組優(yōu)先級是否為該至少兩個服務器中尚未完成升級的各個服務器的群組優(yōu)先級中的最 高優(yōu)先級;若該請求服務器的群組優(yōu)先級是該至少兩個服務器中尚未完成升級的各個服務 器的群組優(yōu)先級中的最高優(yōu)先級,則進一步檢測該請求服務器的服務器優(yōu)先級是否為該請 求服務器所在群組內尚未完成升級的各個服務器的服務器優(yōu)先級中的最高優(yōu)先級;若該請 求服務器的服務器優(yōu)先級是該請求服務器所在群組內尚未完成升級的各個服務器的服務 器優(yōu)先級中的最高優(yōu)先級,則確定該請求服務器為該待升級服務器。
[0084] 在上述實現(xiàn)過程中,控制設備首先檢測請求服務器的群組優(yōu)先級是否為該至少兩 個服務器中尚未完成升級的各個服務器的群組優(yōu)先級中的最高優(yōu)先級,如果是,則說明該 請求服務器所在的群組之外的其他群組中,不可能存在該請求服務器需要依賴且未完成升 級的服務器;反之,如果否,則說明該請求服務器所在的群組之外的其他群組中,可能存在 該請求服務器需要依賴且未完成升級的服務器,此時可以判定請求服務器不是待升級服務 器。
[0085] 如果請求服務器的群組優(yōu)先級是尚未完成升級的各個服務器的群組優(yōu)先級中的 最高優(yōu)先級,則控制設備進一步檢測該請求服務器的服務器優(yōu)先級是否為該請求服務器所 在群組內尚未完成升級的各個服務器的服務器優(yōu)先級中的最高優(yōu)先級,如果是,則說明在 該群組內不存在該請求服務器需要依賴的服務器;反之,如果否,則說明該群組存在該請求 服務器需要依賴的服務器,此時可以判定請求服務器不是待升級服務器。如果該請求服務 器的服務器優(yōu)先級是該請求服務器所在群組內尚未完成升級的各個服務器的服務器優(yōu)先 級中的最高優(yōu)先級,則控制設備向該請求服務器發(fā)送升級指令。
[0086] 上述步驟405至步驟407中控制設備確定該請求服務器為該待升級服務器的過程 可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行第一確定模塊26a來實現(xiàn),上述步驟407中 控制設備向請求服務器發(fā)送升級指令的過程可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí) 行指令發(fā)送模塊26b來實現(xiàn)。
[0087]步驟409,請求服務器接收升級指令并開始升級。
[0088]請求服務器接收到該升級指令之后,即可以從該請求服務器對應的升級包數(shù)據(jù)庫 中提取升級數(shù)據(jù)包并自動進行升級。
[0089] 步驟410,請求服務器升級完成后向控制設備發(fā)送完成響應。
[0090] 請求服務器升級完成之后,將通知控制設備,以便控制設備及時更新該請求服務 器的升級狀態(tài)。
[0091] 步驟411,若該請求服務器不存在于該可升級列表中,則控制設備向請求服務器發(fā) 送休眠指令。
[0092] 如果請求服務器不存在與上述可升級列表中,則說明未完成升級的其它服務器中 可能存在該請求服務器需要依賴的服務器,此時,控制設備控制請求服務器進入休眠狀態(tài), 暫不升級。
[0093]步驟412,請求服務器接收該休眠指令,并在休眠指定時間后重新發(fā)送升級請求。 [0094]請求服務器在休眠的一段時間之后,重新向控制設備發(fā)起升級請求。
[0095]比如,以上述服務器A、B、C、D和E為例,控制設備向服務器A、B、C、D和E分別發(fā)送可 升級通知,控制設備確定當前優(yōu)先級最高且未完成升級的群組為群組1和群組2,進一步確 定群組1和群組2中各自服務器優(yōu)先級最高的服務器為服務器B和服務器D,則生成用于指示 服務器B和服務器D的可升級別表,此時,若控制設備接收到服務器B或者D發(fā)送的升級請求, 檢測出服務器B或者D存在于可升級列表中,則向服務器B或者D發(fā)送升級指令,服務器B或者 D接收到升級指令后,從升級包數(shù)據(jù)庫獲取升級數(shù)據(jù)包并進行升級,并在升級完成后向控制 設備返回升級完成響應,控制設備接收到升級完成響應后,可以將服務器B或者服務器D從 可升級列表中移除,當可升級列表中所有服務器都被移除時,控制設備重新獲取可升級列 表。若控制設備接收到服務器A、C或者E發(fā)送的升級請求,則控制設備向服務器A、C或者E發(fā) 送休眠指令,服務器A、C或者E進入休眠一段時間(比如一小時)后,重新向控制設備發(fā)送升 級請求。
[0096] 或者,在另一種可能的實現(xiàn)方式中,假設上述服務器A、B、C、D和E均未完成升級,當 控制設備接收到服務器A、B、C、D和E分別發(fā)送的升級請求后,首先根據(jù)服務器A、B、C、D和E的 群組優(yōu)先級確定服務器A、B、C和D的群組優(yōu)先級為尚未完成升級的群組的群組優(yōu)先級中最 高優(yōu)先級,向服務器E發(fā)送休眠指令;進一步的,控制設備根據(jù)服務器A、B、C和D的服務器優(yōu) 先級,確定服務器B和服務器D的服務器優(yōu)先級是各自群組內尚未完成升級的服務器對應的 服務器優(yōu)先級中的最高優(yōu)先級,則控制設備向服務器B和服務器D發(fā)送升級指令,并向服務 器A和服務器C發(fā)送休眠指令。服務器B和服務器D接收到升級指令后,從升級包數(shù)據(jù)庫獲取 升級數(shù)據(jù)包并進行升級,并在升級完成后向控制設備返回升級完成響應,控制設備接收到 升級完成響應后,將服務器B和服務器D標記為已完成升級,服務器A、C和E進入休眠一段時 間(比如一小時)后,重新向控制設備發(fā)送升級請求。
[0097] 可選的,為了使不存在依賴關系的各個服務器可以并行升級,以提高各個服務器 整體的升級效率,在本發(fā)明實施例中,如果兩個群組中的各個服務器之間不存在依賴關系, 則在滿足與其它各個群組之間的依賴關系的情況下,這兩個群組可以設置相同的群組優(yōu)先 級,即這兩個群組中的服務器可以同時進行升級;類似的,對于一個群組中的多個服務器, 若其中兩個服務器之間不存在依賴關系,則在滿足與群組中其它各個服務器之間的依賴關 系的情況下,這兩個服務器可以設置相同的服務器優(yōu)先級,即這兩個服務器可以同時進行 升級。
[0098] 綜上所述,本發(fā)明實施例所示的控制服務器升級的方法,控制設備根據(jù)至少兩個 服務器各自對應的、用于指示該至少兩個服務器之間的依賴關系的升級優(yōu)先級,確定該至 少兩個服務器中的待升級服務器,并向該待升級服務器發(fā)送升級指令,指示該待升級服務 器開始升級,根據(jù)各個服務器之間的依賴關系自動確定哪些服務器可以進行升級,并自動 控制可以升級的服務器進行升級,不需要手動選擇待升級的服務器,從而達到減少服務器 升級所占用的人力和時間,降低服務器升級復雜度,以及提高待升級服務器選擇準確性的 效果。
[0099] 請參考圖5,其示出了本發(fā)明另一實施例提供的控制服務器升級的方法的流程圖。 該方法可以用于圖1所示的網(wǎng)絡環(huán)境的控制設備110中。如圖5所示,以控制設備110主動通 知服務器120進行升級為例,該控制服務器升級的方法可以包括:
[0100]步驟501,控制設備獲取至少兩個服務器之間的依賴關系。
[0101] 該步驟501可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行獲取模塊26c來實現(xiàn)。
[0102] 步驟502,控制設備根據(jù)該至少兩個服務器之間的依賴關系確定該至少兩個服務 器各自對應的升級優(yōu)先級。
[0103] 該步驟502可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行第二確定模塊26d來實 現(xiàn)。
[0104] 步驟503,控制設備查詢至少一個目標群組,該至少一個目標群組是尚未完成升級 的各個群組中、群組優(yōu)先級最高的該群組。
[0105] 步驟504,對于該至少一個目標群組中的每一個目標群組,控制設備將該目標群組 中尚未完成升級的各個服務器中、服務器優(yōu)先級最高的至少一個服務器確定為待升級服務 器。
[0106] 在本發(fā)明實施例中,控制設備可以主動通知升級優(yōu)先級滿足條件的服務器開始升 級。具體的,控制設備在確定待升級服務器時,首先查詢當前未完成升級的各個群組中,群 組優(yōu)先級最高的至少一個群組,對于該至少一個群組中的每個群組,將該群組中尚未完成 升級的各個服務器中,服務器優(yōu)先級最高的服務器作為待升級服務器。
[0107] 上述步驟503和步驟504可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行第一確定 模塊26a來實現(xiàn)。
[0108] 步驟505,控制設備向待升級服務器發(fā)送升級指令,該升級指令用于指示該待升級 服務器開始升級。
[0109] 該步驟可以由上述圖2所示網(wǎng)絡設備中的處理器21執(zhí)行指令發(fā)送模塊26b來實現(xiàn)。
[0110] 步驟506,待升級服務器接收升級指令并開始升級。
[0111] 步驟507,請求服務器升級完成后向控制設備發(fā)送完成響應。
[0112] 比如,以上述服務器A、B、C、D和E需要升級為例,控制設備首先確定尚未完成升級 的群組中,群組優(yōu)先級最高的群組為群組1和群組2,之后,控制設備進一步從群組1和群組2 中選擇尚未完成升級且服務器優(yōu)先級最高的服務器B和服務器D,將這兩個服務器作為待升 級服務器,并向服務器B和服務器D發(fā)送升級指令。服務器B和服務器D完成升級后,向控制設 備發(fā)送完成響應,控制設備更新服務器的升級狀態(tài),并繼續(xù)確定新的待升級服務器,比如, 當控制設備接收到服務器B發(fā)送的完成響應后,可以確定服務器A為下一個待升級服務器, 并向服務器A發(fā)送升級指令,當服務器A、B、C和D都完成升級后,控制設備確定服務器E為待 升級服務器。
[0113] 綜上所述,本發(fā)明實施例所示的控制服務器升級的方法,控制設備根據(jù)至少兩個 服務器各自對應的、用于指示該至少兩個服務器之間的依賴關系的升級優(yōu)先級,確定該至 少兩個服務器中的待升級服務器,并向該待升級服務器發(fā)送升級指令,指示該待升級服務 器開始升級,根據(jù)各個服務器之間的依賴關系自動確定哪些服務器可以進行升級,并自動 控制可以升級的服務器進行升級,不需要手動選擇待升級的服務器,從而達到減少服務器 升級所占用的人力和時間,降低服務器升級復雜度,以及提高待升級服務器選擇準確性的 效果。
[0114] 請參考圖6,其示出了本發(fā)明一個實施例提供的控制服務器升級的裝置的框圖。該 裝置可以通過硬件或者軟硬結合的方式實現(xiàn)為圖1所示網(wǎng)絡環(huán)境的控制設備110的部分或 者全部,用以執(zhí)行如圖4或圖5中由控制設備所執(zhí)行的全部或者部分步驟。在本實施例中,該 裝置是以功能單元的形式來呈現(xiàn)。這里的"單元"可以指特定應用集成電路(application-specific integrated circuit,ASIC) , 電路,執(zhí)行一個或多個軟件或固件程序的處理器和 存儲器,集成邏輯電路,和/或其他可以提供上述功能的器件。該裝置可以包括:第一確定單 元601、指令發(fā)送單元602、獲取單元603以及第二確定單元604;
[0115] 第一確定單元601,具有與第一確定模塊26a相同或相似的功能。
[0116] 指令發(fā)送單元602,用于與指令發(fā)送模塊26b相同或相似的功能。
[0117] 獲取單元603,具有與獲取模塊26c相同或相似的功能。
[0118] 第二確定單元604,用于與第二確定模塊26d相同或相似的功能。
[0119] 本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀 存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0120] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1. 一種控制服務器升級的裝置,其特征在于,所述裝置包括: 第一確定單元,用于根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個 服務器中的待升級服務器,所述至少兩個服務器中升級優(yōu)先級低的服務器的全部或部分功 能依賴于至少一個升級優(yōu)先級高的服務器; 指令發(fā)送單元,用于向所述待升級服務器發(fā)送升級指令,所述升級指令用于指示所述 待升級服務器開始升級。2. 根據(jù)權利要求1所述的裝置,其特征在于,所述升級優(yōu)先級包括群組優(yōu)先級和服務器 優(yōu)先級; 所述群組優(yōu)先級用于指示對應服務器所在的群組的優(yōu)先級,所述服務器優(yōu)先級用于指 示對應服務器在所述對應服務器所在的群組中的優(yōu)先級; 其中,所述群組優(yōu)先級低的群組中包含的服務器的全部或部分功能依賴于至少一個所 述群組優(yōu)先級高的群組中包含的服務器; 在一個所述群組內,所述服務器優(yōu)先級低的服務器的全部或部分功能依賴于至少一個 服務器優(yōu)先級高的服務器。3. 根據(jù)權利要求2所述的裝置,其特征在于, 所述第一確定單元,具體用于當接收到所述至少兩個服務器中的請求服務器發(fā)送的升 級請求時,查詢至少一個目標群組,所述至少一個目標群組是尚未完成升級的各個群組中、 群組優(yōu)先級最高的所述群組;獲取可升級列表,所述可升級列表中包含每一個所述目標群 組中尚未完成升級的各個服務器中、服務器優(yōu)先級最高的至少一個服務器;檢測所述請求 服務器是否存在于所述可升級列表中;若所述請求服務器存在于所述可升級列表中,則確 定所述請求服務器為所述待升級服務器。4. 根據(jù)權利要求2所述的裝置,其特征在于, 所述第一確定單元,具體用于當接收到所述至少兩個服務器中的請求服務器發(fā)送的升 級請求時,查詢所述請求服務器的群組優(yōu)先級和服務器優(yōu)先級;檢測所述請求服務器的群 組優(yōu)先級是否為所述至少兩個服務器中尚未完成升級的各個服務器的群組優(yōu)先級中的最 高優(yōu)先級;若所述請求服務器的群組優(yōu)先級是所述至少兩個服務器中尚未完成升級的各個 服務器的群組優(yōu)先級中的最高優(yōu)先級,則檢測所述請求服務器的服務器優(yōu)先級是否為所述 請求服務器所在群組內尚未完成升級的各個服務器的服務器優(yōu)先級中的最高優(yōu)先級;若所 述請求服務器的服務器優(yōu)先級是所述請求服務器所在群組內尚未完成升級的各個服務器 的服務器優(yōu)先級中的最高優(yōu)先級,則確定所述請求服務器為所述待升級服務器。5. 根據(jù)權利要求2所述的裝置,其特征在于, 所述第一確定單元,具體用于查詢至少一個目標群組,所述目標群組是尚未完成升級 的各個群組中、群組優(yōu)先級最高的所述群組;對于所述至少一個目標群組中的每一個目標 群組,將所述目標群組中尚未完成升級的各個服務器中、服務器優(yōu)先級最高的至少一個服 務器確定為所述待升級服務器。6. 根據(jù)權利要求1所述的裝置,其特征在于,所述裝置還包括: 獲取單元,用于在所述第一確定單元根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確 定所述至少兩個服務器中的待升級服務器之前,獲取所述至少兩個服務器之間的依賴關 系; 第二確定單元,用于根據(jù)所述至少兩個服務器之間的依賴關系確定所述至少兩個服務 器各自對應的升級優(yōu)先級。7. -種控制服務器升級的方法,其特征在于,所述方法包括: 根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升級服 務器,所述至少兩個服務器中升級優(yōu)先級低的服務器的全部或部分功能依賴于至少一個升 級優(yōu)先級高的服務器; 向所述待升級服務器發(fā)送升級指令,所述升級指令用于指示所述待升級服務器開始升 級。8. 根據(jù)權利要求7所述的方法,其特征在于,所述升級優(yōu)先級包括群組優(yōu)先級和服務器 優(yōu)先級; 所述群組優(yōu)先級用于指示對應服務器所在的群組的優(yōu)先級,所述服務器優(yōu)先級用于指 示對應服務器在所述對應服務器所在的群組中的優(yōu)先級; 其中,所述群組優(yōu)先級低的群組中包含的服務器的全部或部分功能依賴于至少一個所 述群組優(yōu)先級高的群組中包含的服務器; 在一個所述群組內,所述服務器優(yōu)先級低的服務器的全部或部分功能依賴于至少一個 服務器優(yōu)先級高的服務器。9. 根據(jù)權利要求8所述的方法,其特征在于,所述根據(jù)至少兩個服務器各自對應的升級 優(yōu)先級,確定所述至少兩個服務器中的待升級服務器,包括: 當接收到所述至少兩個服務器中的請求服務器發(fā)送的升級請求時,查詢至少一個目標 群組,所述至少一個目標群組是尚未完成升級的各個群組中、群組優(yōu)先級最高的所述群組; 獲取可升級列表,所述可升級列表中包含每一個所述目標群組中尚未完成升級的各個 服務器中、服務器優(yōu)先級最高的至少一個服務器; 檢測所述請求服務器是否存在于所述可升級列表中; 若所述請求服務器存在于所述可升級列表中,則確定所述請求服務器為所述待升級服 務器。10. 根據(jù)權利要求8所述的方法,其特征在于,所述根據(jù)至少兩個服務器各自對應的升 級優(yōu)先級,確定所述至少兩個服務器中的待升級服務器,包括: 當接收到所述至少兩個服務器中的請求服務器發(fā)送的升級請求時,查詢所述請求服務 器的群組優(yōu)先級和服務器優(yōu)先級; 檢測所述請求服務器的群組優(yōu)先級是否為所述至少兩個服務器中尚未完成升級的各 個服務器的群組優(yōu)先級中的最高優(yōu)先級; 若所述請求服務器的群組優(yōu)先級是所述至少兩個服務器中尚未完成升級的各個服務 器的群組優(yōu)先級中的最高優(yōu)先級,則檢測所述請求服務器的服務器優(yōu)先級是否為所述請求 服務器所在群組內尚未完成升級的各個服務器的服務器優(yōu)先級中的最高優(yōu)先級; 若所述請求服務器的服務器優(yōu)先級是所述請求服務器所在群組內尚未完成升級的各 個服務器的服務器優(yōu)先級中的最高優(yōu)先級,則確定所述請求服務器為所述待升級服務器。11. 根據(jù)權利要求8所述的方法,其特征在于,所述根據(jù)至少兩個服務器各自對應的升 級優(yōu)先級,確定所述至少兩個服務器中的待升級服務器,包括: 查詢至少一個目標群組,所述目標群組是尚未完成升級的各個群組中、群組優(yōu)先級最 高的所述群組; 對于所述至少一個目標群組中的每一個目標群組,將所述目標群組中尚未完成升級的 各個服務器中、服務器優(yōu)先級最高的至少一個服務器確定為所述待升級服務器。12.根據(jù)權利要求7所述的方法,其特征在于,所述方法還包括: 在根據(jù)至少兩個服務器各自對應的升級優(yōu)先級,確定所述至少兩個服務器中的待升級 服務器之前,獲取所述至少兩個服務器之間的依賴關系; 根據(jù)所述至少兩個服務器之間的依賴關系確定所述至少兩個服務器各自對應的升級 優(yōu)先級D
【文檔編號】G06F9/445GK105933155SQ201610361851
【公開日】2016年9月7日
【申請日】2016年5月26日
【發(fā)明人】于新波
【申請人】華為軟件技術有限公司