本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種集群系統(tǒng)的升級控制方法及裝置。
背景技術(shù):
視頻存儲集群產(chǎn)品系統(tǒng)(簡稱視頻集群)一般會集成有多種不同的業(yè)務(wù)功能,例如:存儲業(yè)務(wù)功能、轉(zhuǎn)發(fā)業(yè)務(wù)功能等,因而,視頻集群相比于一般的存儲集群而言具有更高的穩(wěn)定性和魯棒性。
當(dāng)前,在視頻集群的軟件系統(tǒng)升級方面,普遍采用以下兩種:1、通過升級服務(wù)器批量升級視頻集群中所有節(jié)點(diǎn);2、按規(guī)則分批升級集群中的節(jié)點(diǎn),并將待升級的節(jié)點(diǎn)負(fù)載的任務(wù)備份到其他節(jié)點(diǎn)。
然而,針對方案1,由于其升級是針對所有節(jié)點(diǎn),因此,勢必會造成該視頻集群中的所有業(yè)務(wù)中斷,影響業(yè)務(wù)的正常執(zhí)行。而方案2中是根據(jù)設(shè)備節(jié)點(diǎn)的狀態(tài)屬性來進(jìn)行分批升級,雖然將待升級的節(jié)點(diǎn)負(fù)載的任務(wù)進(jìn)行備份,但是,考慮到每個(gè)設(shè)備節(jié)點(diǎn)可能存在多個(gè)業(yè)務(wù),例如,如圖1所示,主升級控制器11分控有三個(gè)次升級控制器12,其中,該次升級控制器12是對應(yīng)于每個(gè)節(jié)點(diǎn)的,因而,其升級必然造成該節(jié)點(diǎn)上的所有業(yè)務(wù)短期中斷,尤其是針對該節(jié)點(diǎn)中并不需要升級的業(yè)務(wù)而言,其中斷是沒有必要的,進(jìn)而,造成該視頻集群中不需要升級的業(yè)務(wù)發(fā)生不必要的中斷,給視頻集群的穩(wěn)定性造成影響。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種集群系統(tǒng)的升級控制方法及裝置,用以解決現(xiàn)有技術(shù)中存在的視頻集群的軟件系統(tǒng)升級造成不必要的業(yè)務(wù)中斷而影響視頻集群穩(wěn)定性的問題。
本發(fā)明實(shí)施例采用以下技術(shù)方案:
一種集群系統(tǒng)的升級方法,所述方法包括:
主升級控制器接收新版本文件,并按照各個(gè)業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)之間的串行執(zhí)行順序,根據(jù)所述新版本文件依次對相應(yīng)業(yè)務(wù)升級控制器進(jìn)行升級控制;
所述業(yè)務(wù)升級控制器根據(jù)所述主升級控制器的升級控制對相應(yīng)節(jié)點(diǎn)進(jìn)行升級;其中,所述業(yè)務(wù)升級控制器一一對應(yīng)于每個(gè)業(yè)務(wù)。
可選地,所述主升級控制器根據(jù)所述新版本文件對業(yè)務(wù)升級控制器進(jìn)行升級控制,具體包括:
獲取業(yè)務(wù)升級控制器的當(dāng)前版本文件;
判斷所述新版本文件的版本等級是否高于所述業(yè)務(wù)升級控制器的當(dāng)前版本文件;
若是,則根據(jù)所述新版本文件觸發(fā)所述業(yè)務(wù)升級控制器啟動升級操作,否則,結(jié)束升級控制。
可選地,所述業(yè)務(wù)升級控制器進(jìn)行升級操作,具體包括:
獲取所述業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)中所有節(jié)點(diǎn)的狀態(tài);
根據(jù)所有節(jié)點(diǎn)的狀態(tài)對各個(gè)節(jié)點(diǎn)進(jìn)行分類;
按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級,其中,所述節(jié)點(diǎn)的狀態(tài)包括節(jié)點(diǎn)所負(fù)載的任務(wù)量。
可選地,所述業(yè)務(wù)升級控制器根據(jù)所有節(jié)點(diǎn)的類型對各個(gè)節(jié)點(diǎn)進(jìn)行分類,具體包括:
所述業(yè)務(wù)升級控制器按照節(jié)點(diǎn)的類型將所有節(jié)點(diǎn)分類為:一級節(jié)點(diǎn)、二級節(jié)點(diǎn)、三級節(jié)點(diǎn)和四級節(jié)點(diǎn);其中,所述一級節(jié)點(diǎn)為無負(fù)載的業(yè)務(wù)節(jié)點(diǎn),所述二級節(jié)點(diǎn)為有負(fù)載的業(yè)務(wù)節(jié)點(diǎn),所述三級節(jié)點(diǎn)為管理節(jié)點(diǎn)的備份節(jié)點(diǎn),所述四級節(jié)點(diǎn)為管理節(jié)點(diǎn)。
可選地,所述業(yè)務(wù)升級控制器按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級,具體包括:
所述業(yè)務(wù)升級控制器按照節(jié)點(diǎn)等級由低至高的順序依次對各個(gè)等級的節(jié)點(diǎn)升級。
可選地,所述業(yè)務(wù)升級控制器對任一節(jié)點(diǎn)進(jìn)行升級,具體包括:
將所述節(jié)點(diǎn)所負(fù)載的任務(wù)備份至該業(yè)務(wù)中的備份節(jié)點(diǎn);
在備份完成之后,通知與該節(jié)點(diǎn)所負(fù)載的任務(wù)具有關(guān)聯(lián)關(guān)系的其它業(yè)務(wù)重定向至所述備份節(jié)點(diǎn);
將新版本文件發(fā)送至所述節(jié)點(diǎn)進(jìn)行版本更新升級。
一種集群系統(tǒng)的升級控制裝置,包括:主升級控制器和多個(gè)業(yè)務(wù)升級控制器;其中,
所述主升級控制器用于接收新版本文件,并按照各個(gè)業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)之間的串行執(zhí)行順序,根據(jù)所述新版本文件依次對相應(yīng)業(yè)務(wù)升級控制器進(jìn)行升級控制;
所述業(yè)務(wù)升級控制器根據(jù)所述主升級控制器的控制對相應(yīng)節(jié)點(diǎn)進(jìn)行升級;其中,所述業(yè)務(wù)升級控制器一一對應(yīng)于每個(gè)業(yè)務(wù)。
可選地,所述主升級控制器在根據(jù)所述新版本文件對業(yè)務(wù)升級控制器進(jìn)行升級控制時(shí),具體用于:
獲取業(yè)務(wù)升級控制器的當(dāng)前版本文件;
判斷所述新版本文件的版本等級是否高于獲取的業(yè)務(wù)升級控制器的當(dāng)前版本文件;
在判斷結(jié)果為是時(shí),根據(jù)所述新版本文件觸發(fā)所述業(yè)務(wù)升級控制器啟動升級操作,以及,用于在判斷結(jié)果為否時(shí),結(jié)束升級控制。
可選地,所述業(yè)務(wù)升級控制器在進(jìn)行升級操作時(shí),具體用于:
獲取所述業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)中所有節(jié)點(diǎn)的狀態(tài);
根據(jù)所有節(jié)點(diǎn)的狀態(tài)對各個(gè)節(jié)點(diǎn)進(jìn)行分類;
按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級,其中,所述節(jié)點(diǎn)的狀態(tài)包括節(jié)點(diǎn)所負(fù)載的任務(wù)量。
可選地,所述業(yè)務(wù)升級控制器在根據(jù)所有節(jié)點(diǎn)的類型對各個(gè)節(jié)點(diǎn)進(jìn)行分類時(shí),具體用于:
按照節(jié)點(diǎn)的類型將所有節(jié)點(diǎn)分類為:一級節(jié)點(diǎn)、二級節(jié)點(diǎn)、三級節(jié)點(diǎn)和四級節(jié)點(diǎn);其中,所述一級節(jié)點(diǎn)為無負(fù)載的業(yè)務(wù)節(jié)點(diǎn),所述二級節(jié)點(diǎn)為有負(fù)載的業(yè)務(wù)節(jié)點(diǎn),所述三級節(jié)點(diǎn)為管理節(jié)點(diǎn)的備份節(jié)點(diǎn),所述四級節(jié)點(diǎn)為管理節(jié)點(diǎn)。
可選地,所述業(yè)務(wù)升級控制器在按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級時(shí),具體用于:
按照節(jié)點(diǎn)等級由低至高的順序依次對各個(gè)等級的節(jié)點(diǎn)升級。
可選地,所述業(yè)務(wù)升級控制器對任一節(jié)點(diǎn)進(jìn)行升級時(shí),具體用于:
將所述節(jié)點(diǎn)所負(fù)載的任務(wù)備份至該業(yè)務(wù)中的備份節(jié)點(diǎn);
在備份完成之后,通知與該節(jié)點(diǎn)所負(fù)載的任務(wù)具有關(guān)聯(lián)關(guān)系的其它業(yè)務(wù)重定向至備份節(jié)點(diǎn);
將新版本文件發(fā)送至所述節(jié)點(diǎn)進(jìn)行版本更新升級。
在本發(fā)明實(shí)施例中,通過將視頻存儲集群的業(yè)務(wù)進(jìn)行獨(dú)立分割,讓各個(gè)業(yè)務(wù)擁有集群特性,并能夠進(jìn)行獨(dú)立升級功能,在此基礎(chǔ)上對集群升級進(jìn)行優(yōu)化。從而,當(dāng)對某個(gè)業(yè)務(wù)進(jìn)行功能修復(fù)而進(jìn)行升級,其他業(yè)務(wù)在集群里可以繼續(xù)工作且不受該業(yè)務(wù)升級的影響。另外,即使整體業(yè)務(wù)功能進(jìn)行升級,可以按照節(jié)點(diǎn)狀態(tài)進(jìn)行分批升級,在此升級過程中業(yè)務(wù)中斷的范圍和時(shí)間都將達(dá)到最小,使得視頻存儲集群的持續(xù)性和可用性得到提升。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中提供的集群系統(tǒng)升級裝置架構(gòu)圖;
圖2為本發(fā)明實(shí)施例提供的集群系統(tǒng)升級裝置架構(gòu)圖;
圖3為本發(fā)明實(shí)施例提供的一種集群系統(tǒng)的升級方法的步驟示意圖;
圖4為根據(jù)新版本文件升級業(yè)務(wù)升級控制器的步驟示意圖;
圖5為任一節(jié)點(diǎn)進(jìn)行升級操作的步驟示意圖;
圖6為本發(fā)明具體實(shí)例中節(jié)點(diǎn)升級的流程示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明所涉及的集群系統(tǒng)的升級方案可以適用于通信領(lǐng)域的任何類型的集群系統(tǒng),為了便于描述,在此主要以視頻集群系統(tǒng)為例進(jìn)行說明。
首先,介紹本發(fā)明所涉及的集群系統(tǒng)的系統(tǒng)架構(gòu),如圖2所示,為本發(fā)明實(shí)施例提供的集群系統(tǒng)架構(gòu)圖。該集群系統(tǒng)的升級控制裝置中包括主升級控制器21,以及多個(gè)業(yè)務(wù)升級控制器22,其中,主升級控制器21統(tǒng)一對各個(gè)業(yè)務(wù)升級控制器22進(jìn)行控制,進(jìn)一步,每個(gè)業(yè)務(wù)升級控制器22又對其對應(yīng)的多個(gè)節(jié)點(diǎn)進(jìn)行控制,例如,本發(fā)明所涉及的系統(tǒng)版本升級的操作控制,或者,其他的類似轉(zhuǎn)發(fā)操作等統(tǒng)一控制。該視頻集群系統(tǒng)中涉及到多種業(yè)務(wù),例如:實(shí)時(shí)播放業(yè)務(wù)、實(shí)時(shí)錄像業(yè)務(wù)、錄像存儲業(yè)務(wù)、獲取碼流業(yè)務(wù)等。與圖1中現(xiàn)有技術(shù)中以設(shè)備節(jié)點(diǎn)為控制粒度進(jìn)行分批升級所不同的是,本發(fā)明以業(yè)務(wù)作為控制粒度進(jìn)行劃分,即每個(gè)業(yè)務(wù)升級控制器22僅對應(yīng)一種業(yè)務(wù),舉例言之:一個(gè)業(yè)務(wù)升級控制器22僅對應(yīng)實(shí)時(shí)播放業(yè)務(wù),并不對應(yīng)控制其他業(yè)務(wù)。
下面通過具體的實(shí)施例對本發(fā)明所涉及的技術(shù)方案進(jìn)行詳細(xì)描述,本發(fā)明包括但并不限于以下實(shí)施例。
如圖3所示,為本發(fā)明實(shí)施例提供的一種集群系統(tǒng)的升級控制方法的流程示意圖,其中,該方法應(yīng)用于圖2所示的包含主升級控制器和業(yè)務(wù)升級控制器集群系統(tǒng)的軟件中,該方法主要包括以下步驟:
步驟31:主升級控制器接收新版本文件,并按照各個(gè)業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)之間的串行執(zhí)行順序,根據(jù)新版本文件依次對相應(yīng)業(yè)務(wù)升級控制器進(jìn)行升級控制。
具體地,在本發(fā)明實(shí)施例中,針對任一集群系統(tǒng),其主升級控制器可能會周期性的或不定時(shí)的接收新版本文件,以保證該集群系統(tǒng)的功能狀態(tài)最佳。
步驟32:業(yè)務(wù)升級控制器根據(jù)主升級控制器的升級控制對相應(yīng)節(jié)點(diǎn)進(jìn)行升級。
其中,業(yè)務(wù)升級控制器一一對應(yīng)于每個(gè)業(yè)務(wù),每一業(yè)務(wù)下所轄有多個(gè)節(jié)點(diǎn)。
其實(shí),針對主升級控制器所轄的各個(gè)業(yè)務(wù)升級控制器而言,考慮到CPU運(yùn)行速率以及運(yùn)行空間的限制,各個(gè)業(yè)務(wù)不可能同時(shí)執(zhí)行,因此,各個(gè)業(yè)務(wù)相對應(yīng)的業(yè)務(wù)升級控制器也相應(yīng)需要按照各個(gè)業(yè)務(wù)之間的串行執(zhí)行順序進(jìn)行升級控制。一般情況下,串行執(zhí)行順序可以根據(jù)業(yè)務(wù)的類型或者重要程度或者是根據(jù)用戶的使用習(xí)慣進(jìn)行設(shè)定,以保證業(yè)務(wù)執(zhí)行以及業(yè)務(wù)升級控制器的升級可以順序執(zhí)行,而不是多個(gè)業(yè)務(wù)或業(yè)務(wù)升級控制器并行執(zhí)行,導(dǎo)致CPU負(fù)擔(dān)過重,影響該集群系統(tǒng)的正常運(yùn)行。
可選地,在步驟31中,當(dāng)主升級控制器根據(jù)新版本文件對業(yè)務(wù)升級控制器進(jìn)行升級控制時(shí),可具體包括以下操作:
第一步,獲取業(yè)務(wù)升級控制器的當(dāng)前版本文件;
第二步,判斷新版本文件的版本等級是否高于該業(yè)務(wù)升級控制器的當(dāng)前版本文件,若是,則跳轉(zhuǎn)至第三步,否則,結(jié)束升級控制;
第三步,根據(jù)所述新版本文件觸發(fā)業(yè)務(wù)升級控制器啟動升級操作。
其實(shí),在本發(fā)明實(shí)施例中,可以按照步驟31的方式,依次進(jìn)行新、舊版本比對以及升級的操作?;蛘?,也可以先按照串行執(zhí)行順序依次進(jìn)行新、舊版本比對,從中確定待升級的業(yè)務(wù)升級控制器,由于比對之后淘汰了一些不需要升級的業(yè)務(wù)升級控制器,因此,后續(xù)仍需要根據(jù)串行執(zhí)行順序重新排序待升級的業(yè)務(wù)升級控制器,然后,根據(jù)新版本文件依次升級這些業(yè)務(wù)升級控制器。
進(jìn)一步,在本發(fā)明實(shí)施例中執(zhí)行第三步之后,業(yè)務(wù)升級控制器進(jìn)行升級操作時(shí),參照圖4所示,具體執(zhí)行為以下步驟:
步驟41:獲取業(yè)務(wù)升級控制器中所有節(jié)點(diǎn)的類型。
步驟42:根據(jù)所有節(jié)點(diǎn)的類型對各個(gè)節(jié)點(diǎn)進(jìn)行分類。
可選地,本步驟在對各個(gè)節(jié)點(diǎn)進(jìn)行分類時(shí),可按照節(jié)點(diǎn)類型將所有節(jié)點(diǎn)分類為:一級節(jié)點(diǎn)、二級節(jié)點(diǎn)、三級節(jié)點(diǎn)和四級節(jié)點(diǎn);其中,一級節(jié)點(diǎn)為無負(fù)載的業(yè)務(wù)節(jié)點(diǎn),二級節(jié)點(diǎn)為有負(fù)載的業(yè)務(wù)節(jié)點(diǎn),三級節(jié)點(diǎn)為管理節(jié)點(diǎn)的備份節(jié)點(diǎn),四級節(jié)點(diǎn)為管理節(jié)點(diǎn)。
步驟43:按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級。
進(jìn)一步,本申請步驟43可按照節(jié)點(diǎn)等級由低至高的順序依次對各個(gè)節(jié)點(diǎn)升級,進(jìn)而,保證節(jié)點(diǎn)升級的安全性,提升升級的速度以及穩(wěn)定性。其實(shí),針對某一個(gè)任務(wù)升級控制器進(jìn)行升級時(shí),其包含的節(jié)點(diǎn)的狀態(tài)可能較多,對其進(jìn)行分類后,針對同屬有負(fù)載的業(yè)務(wù)節(jié)點(diǎn),其包含的節(jié)點(diǎn)可以按照負(fù)載量由小至大的順序,依次進(jìn)行升級;而針對同屬無負(fù)載的業(yè)務(wù)節(jié)點(diǎn),由于無負(fù)載,其包含的節(jié)點(diǎn)可以任意排序,只要按照一定排序依次升級即可,即不可并行升級。
具體地,在針對二級節(jié)點(diǎn)進(jìn)行升級時(shí),可按照負(fù)載任務(wù)量由小至大的順序依次升級各個(gè)節(jié)點(diǎn)。
其實(shí),在集群系統(tǒng)中,業(yè)務(wù)節(jié)點(diǎn)的優(yōu)先級要高于管理節(jié)點(diǎn),因此,首先,按照業(yè)務(wù)節(jié)點(diǎn)優(yōu)于管理節(jié)點(diǎn)的等級進(jìn)行排序,然后,針對業(yè)務(wù)節(jié)點(diǎn)內(nèi)部的各個(gè)節(jié)點(diǎn),可按照負(fù)載的任務(wù)量由小至大的順序進(jìn)行排序依次進(jìn)行升級。
可選地,在本發(fā)明實(shí)施例中,針對任一業(yè)務(wù)所對應(yīng)的業(yè)務(wù)升級控制器進(jìn)行升級,其實(shí)是對該業(yè)務(wù)所轄的各個(gè)節(jié)點(diǎn)進(jìn)行升級。具體地,針對任一節(jié)點(diǎn)進(jìn)行升級操作,參照圖5,可具體執(zhí)行為:
步驟51:將節(jié)點(diǎn)所負(fù)載的任務(wù)備份至該業(yè)務(wù)中的備份節(jié)點(diǎn)。
其實(shí),在每個(gè)業(yè)務(wù)所轄的節(jié)點(diǎn)中,都有作為升級時(shí)作為臨時(shí)存儲設(shè)備的備份節(jié)點(diǎn),以便于為其它待升級的節(jié)點(diǎn)存儲任務(wù)或其它信息。而需要說明的是,備份節(jié)點(diǎn)并不是固定的,其可以隨著升級的依次執(zhí)行而發(fā)生轉(zhuǎn)移,例如,當(dāng)前業(yè)務(wù)開始升級,其中,備份節(jié)點(diǎn)為節(jié)點(diǎn)A,當(dāng)升級節(jié)點(diǎn)B時(shí),可將節(jié)點(diǎn)B中的任務(wù)等備份至節(jié)點(diǎn)A,當(dāng)節(jié)點(diǎn)B升級完成之后,需要升級節(jié)點(diǎn)C,由于先前作為備份節(jié)點(diǎn)的節(jié)點(diǎn)A中已經(jīng)存儲有節(jié)點(diǎn)B的任務(wù),尤其是其的存儲空間不足時(shí),節(jié)點(diǎn)A不可作為備份節(jié)點(diǎn)使用,那么,此時(shí)升級完成且空閑的節(jié)點(diǎn)B可以作為備份節(jié)點(diǎn)使用來存儲節(jié)點(diǎn)C的任務(wù)等。其中,備份的具體操作可參照現(xiàn)有技術(shù),在此不做贅述。此外,需要說明的是,備份節(jié)點(diǎn)與管理節(jié)點(diǎn)的備份節(jié)點(diǎn)不可以混淆使用。
步驟52:在備份完成之后,通知與該節(jié)點(diǎn)所負(fù)載的任務(wù)具有關(guān)聯(lián)關(guān)系的其它業(yè)務(wù)重定向至備份節(jié)點(diǎn)。
考慮到將該節(jié)點(diǎn)的任務(wù)備份至備份節(jié)點(diǎn)之后,與該節(jié)點(diǎn)的任務(wù)相關(guān)聯(lián)的任務(wù)并不知曉,若發(fā)生任務(wù)關(guān)聯(lián),則會關(guān)聯(lián)不到相應(yīng)的任務(wù),進(jìn)而導(dǎo)致任務(wù)中斷。因此,本步驟52在備份完成之后,需要及時(shí)將這一備份操作告知與進(jìn)行備份后的任務(wù)具有關(guān)聯(lián)關(guān)系的任務(wù),以便于其它任務(wù)可以準(zhǔn)確關(guān)聯(lián)至備份節(jié)點(diǎn),保證任務(wù)的順利執(zhí)行。
步驟53:將新版本文件發(fā)送至節(jié)點(diǎn)進(jìn)行版本更新升級。
具體地,在該節(jié)點(diǎn)的任務(wù)備份以及重定向完成之后,該節(jié)點(diǎn)就相當(dāng)于一個(gè)空任務(wù)節(jié)點(diǎn),可以對其進(jìn)行升級操作,且該升級操作執(zhí)行過程中不會對集群系統(tǒng)中的任務(wù)執(zhí)行造成影響,更不會對任務(wù)進(jìn)行中斷。
下面通過一個(gè)具體的實(shí)例對業(yè)務(wù)所轄的節(jié)點(diǎn)升級過程進(jìn)行描述。
如圖6所示,該集群系統(tǒng)的節(jié)點(diǎn)輪詢升級流程中具體包括:
步驟61:獲取當(dāng)前業(yè)務(wù)所轄的N個(gè)待升級的節(jié)點(diǎn)的類型,并分類排序。
步驟62:確定待升級的節(jié)點(diǎn)X。
其中,確定待升級的節(jié)點(diǎn)X,也是按照分類排序確定的順序依次從中確定待升級的節(jié)點(diǎn)。
步驟63:將待升級的節(jié)點(diǎn)X中的任務(wù)復(fù)制到備份節(jié)點(diǎn)上。
步驟64:通知與該節(jié)點(diǎn)X上的任務(wù)具有關(guān)聯(lián)關(guān)系的其它任務(wù)對應(yīng)的節(jié)點(diǎn)重定向至備份節(jié)點(diǎn)。
其中,該重定向操作可按照現(xiàn)有技術(shù)中的操作執(zhí)行,在此不做贅述。
步驟65:對該節(jié)點(diǎn)X進(jìn)行升級操作。
步驟66:判斷該升級操作是否成功,若成功,則執(zhí)行步驟67,否則,退回之前的版本,并跳轉(zhuǎn)至步驟67。
步驟67:結(jié)束該節(jié)點(diǎn)的升級操作并恢復(fù)業(yè)務(wù)服務(wù)。
步驟68:判斷該節(jié)點(diǎn)X的序號是否為N,若是,則結(jié)束針對該業(yè)務(wù)的升級操作,否則,跳轉(zhuǎn)至步驟62。
可見,通過本發(fā)明技術(shù)方案,能夠?qū)υ摷合到y(tǒng)中的各個(gè)業(yè)務(wù)所對應(yīng)的業(yè)務(wù)升級控制器進(jìn)行獨(dú)立升級,而不影響其它業(yè)務(wù)的執(zhí)行情況;現(xiàn)有技術(shù)的升級過程中雖然也進(jìn)行了備份業(yè)務(wù)的操作,但是由于視頻存儲集群是一個(gè)持續(xù)業(yè)務(wù)集群,各種業(yè)務(wù)一直持續(xù)進(jìn)行中,必定會有短暫的業(yè)務(wù)中斷。而本方案相較于現(xiàn)有技術(shù)方案而言,集群系統(tǒng)升級可以針對單個(gè)業(yè)務(wù)進(jìn)行升級,這對于升級過程中持續(xù)的用戶交互功能(如實(shí)時(shí)播放,實(shí)時(shí)錄像等)其業(yè)務(wù)功能將不會受到影響。例如在升級錄像業(yè)務(wù)時(shí),用戶在進(jìn)行實(shí)時(shí)播放的業(yè)務(wù)不會發(fā)生中斷,而現(xiàn)有技術(shù)方案則勢必會對此用戶的實(shí)時(shí)播放業(yè)務(wù)造成短暫的中斷。當(dāng)然本方案中也有業(yè)務(wù)依賴關(guān)系,如錄像存儲業(yè)務(wù)依賴于獲取碼流業(yè)務(wù)。對于這類業(yè)務(wù),可以通過升級前的重定向到備份節(jié)點(diǎn)獲取數(shù)據(jù)流來實(shí)現(xiàn)無縫切換,使得升級過程中該業(yè)務(wù)不會出現(xiàn)中斷。對于軟件更新小版本,往往可能只是更新部分業(yè)務(wù)內(nèi)部的邏輯問題或功能優(yōu)化。因此在這種優(yōu)化升級過程中,此方案可以保證其他業(yè)務(wù)可以完全不受影響,這給集群升級的穩(wěn)定性得到進(jìn)一步提升。升級中對于各個(gè)業(yè)務(wù)的升級中的備份過程不單單自己的業(yè)務(wù)需要知道,同時(shí)也需要通知其他集群做相應(yīng)的業(yè)務(wù)重定向,已保證其他業(yè)務(wù)的持續(xù)性。而且,升級過程中的節(jié)點(diǎn)狀態(tài)分類方式于當(dāng)前技術(shù)方案也不同,更注重業(yè)務(wù)的導(dǎo)向,使得升級的過程中從業(yè)務(wù)任務(wù)最小的節(jié)點(diǎn)進(jìn)行處理,以保障升級過程中的穩(wěn)定性。
與本發(fā)明實(shí)施例提供的一種集群系統(tǒng)的升級方法屬于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供了一種集群系統(tǒng)的升級裝置,具體參見以下方案。
如圖2所示,為本發(fā)明實(shí)施例提供的一種集群系統(tǒng)的升級裝置的結(jié)構(gòu)示意圖,該裝置主要包括:主升級控制器21和多個(gè)業(yè)務(wù)升級控制器22,其中,
主升級控制器21,用于接收新版本文件,并按照各個(gè)業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)之間的串行執(zhí)行順序,根據(jù)所述新版本文件依次對相應(yīng)業(yè)務(wù)升級控制器進(jìn)行升級控制;
業(yè)務(wù)升級控制器22,用于根據(jù)所述主升級控制器的控制對相應(yīng)節(jié)點(diǎn)進(jìn)行升級;其中,所述業(yè)務(wù)升級控制器一一對應(yīng)于每個(gè)業(yè)務(wù)。
可選地,所述主升級控制器21在根據(jù)新版本文件對業(yè)務(wù)升級控制器進(jìn)行升級控制時(shí),具體用于:
獲取業(yè)務(wù)升級控制器的當(dāng)前版本文件;
判斷新版本文件的版本等級是否高于獲取的業(yè)務(wù)升級控制器的當(dāng)前版本文件;
在判斷結(jié)果為是時(shí),根據(jù)新版本文件觸發(fā)業(yè)務(wù)升級控制器啟動升級操作,以及,在判斷結(jié)果為否時(shí),結(jié)束升級控制。
可選地,業(yè)務(wù)升級控制器在進(jìn)行升級操作時(shí),具體用于獲取業(yè)務(wù)升級控制器對應(yīng)的業(yè)務(wù)中所有節(jié)點(diǎn)的類型,根據(jù)所有節(jié)點(diǎn)的類型對各個(gè)節(jié)點(diǎn)進(jìn)行分類,按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級。
可選地,業(yè)務(wù)升級控制器在根據(jù)所有節(jié)點(diǎn)的類型對各個(gè)節(jié)點(diǎn)進(jìn)行分類時(shí),具體用于按照節(jié)點(diǎn)類型將所有節(jié)點(diǎn)分類為:一級節(jié)點(diǎn)、二級節(jié)點(diǎn)、三級節(jié)點(diǎn)和四級節(jié)點(diǎn);其中,一級節(jié)點(diǎn)為無負(fù)載的業(yè)務(wù)節(jié)點(diǎn),二級節(jié)點(diǎn)為有負(fù)載的業(yè)務(wù)節(jié)點(diǎn),三級節(jié)點(diǎn)為管理節(jié)點(diǎn)的備份節(jié)點(diǎn),四級節(jié)點(diǎn)為管理節(jié)點(diǎn)。
可選地,業(yè)務(wù)升級控制器在按照分類結(jié)果依次對各個(gè)節(jié)點(diǎn)升級時(shí),具體用于按照節(jié)點(diǎn)等級由低至高的順序依次對各個(gè)等級的節(jié)點(diǎn)升級。
可選地,業(yè)務(wù)升級控制器對任一節(jié)點(diǎn)進(jìn)行升級時(shí),具體用于將節(jié)點(diǎn)所負(fù)載的任務(wù)備份至該業(yè)務(wù)中備份節(jié)點(diǎn);在備份完成之后,通知與該節(jié)點(diǎn)所負(fù)載的任務(wù)具有關(guān)聯(lián)關(guān)系的其它業(yè)務(wù)重定向至備份節(jié)點(diǎn);將新版本文件發(fā)送至節(jié)點(diǎn)進(jìn)行版本更新升級。
本申請所涉及的方案中通過將視頻存儲集群的業(yè)務(wù)進(jìn)行獨(dú)立分割,讓各個(gè)業(yè)務(wù)擁有集群特性,并能夠進(jìn)行獨(dú)立升級功能,在此基礎(chǔ)上對集群升級進(jìn)行優(yōu)化。從而,當(dāng)對某個(gè)業(yè)務(wù)進(jìn)行功能修復(fù)而進(jìn)行升級,其他業(yè)務(wù)在集群里可以繼續(xù)工作且不受該業(yè)務(wù)升級的影響。另外,如果整體業(yè)務(wù)功能進(jìn)行升級,可以按照節(jié)點(diǎn)類型進(jìn)行分批升級,在此升級過程中業(yè)務(wù)中斷的范圍和時(shí)間都將達(dá)到最小,使得視頻存儲集群的持續(xù)性和可用性得到提升。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。