本發(fā)明涉及計(jì)算機(jī)集群技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法及裝置。
背景技術(shù):
隨著國(guó)產(chǎn)中間件應(yīng)用服務(wù)器(簡(jiǎn)稱應(yīng)用服務(wù)器,也稱服務(wù)器)產(chǎn)品應(yīng)用范圍不斷擴(kuò)大,使用服務(wù)器的場(chǎng)景的規(guī)模和拓?fù)涞膹?fù)雜程度不斷加大。通常情況下,會(huì)將多個(gè)應(yīng)用服務(wù)器集中管理統(tǒng)一對(duì)外提供同一種服務(wù),把這樣的模式稱為服務(wù)器集群。在服務(wù)器集群中,對(duì)于每個(gè)服務(wù)器在功能和穩(wěn)定性上提出了更高的要求。在服務(wù)器集群下進(jìn)行應(yīng)用發(fā)布過(guò)程中,需要服務(wù)器集群中的主控服務(wù)器通過(guò)安全傳輸協(xié)議把應(yīng)用對(duì)應(yīng)的相關(guān)文件同步傳輸至分布于不同節(jié)點(diǎn)的服務(wù)器上(服務(wù)器的容器內(nèi)),并對(duì)準(zhǔn)備部署的應(yīng)用通過(guò)統(tǒng)一的標(biāo)準(zhǔn)規(guī)范進(jìn)行一致性驗(yàn)證,用于保證應(yīng)用的完整性和可用性。在應(yīng)用發(fā)布過(guò)程中,主控服務(wù)器會(huì)持續(xù)檢測(cè)各個(gè)服務(wù)器的文件一致性情況。在一致性驗(yàn)證過(guò)程中,驗(yàn)證標(biāo)準(zhǔn)會(huì)根據(jù)服務(wù)器和應(yīng)用的特點(diǎn)各有區(qū)別,這個(gè)驗(yàn)證標(biāo)準(zhǔn)對(duì)集群的穩(wěn)定性和功能性有重要影響。
目前現(xiàn)有的一致性驗(yàn)證標(biāo)準(zhǔn)大多以參考
但是,上述驗(yàn)證標(biāo)準(zhǔn)是固化的,隨著應(yīng)用開(kāi)發(fā)標(biāo)準(zhǔn)的更新,不能根據(jù)新的應(yīng)用構(gòu)架進(jìn)行修改和更新。在進(jìn)行應(yīng)用發(fā)布或者應(yīng)用升級(jí)時(shí),會(huì)由于驗(yàn)證失敗產(chǎn)生兼容性問(wèn)題,最終導(dǎo)致應(yīng)用發(fā)布失敗,需要對(duì)應(yīng)用進(jìn)行修改以適應(yīng)服務(wù)器的標(biāo)準(zhǔn)規(guī)范。由此可見(jiàn),如何克服現(xiàn)有技術(shù)中驗(yàn)證標(biāo)準(zhǔn)固化而帶來(lái)的弊端是本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法及裝置,用于克服現(xiàn)有技術(shù)中驗(yàn)證標(biāo)準(zhǔn)固化而帶來(lái)的弊端。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法,包括:
接收用于過(guò)濾預(yù)定類(lèi)型文件的驗(yàn)證標(biāo)準(zhǔn)配置文件,所述驗(yàn)證標(biāo)準(zhǔn)配置文件中包含有所述預(yù)定類(lèi)型文件的文件列表;
判斷各節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中;
如果是,則對(duì)所述文件進(jìn)行一致性驗(yàn)證;如果否,則確定所述文件通過(guò)一致性驗(yàn)證。
優(yōu)選地,所述判斷各節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中具體包括:
按照預(yù)定驗(yàn)證順序選擇一個(gè)節(jié)點(diǎn)的服務(wù)器作為首個(gè)驗(yàn)證對(duì)象;
判斷當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中;
其中,如果包含,則進(jìn)入所述對(duì)所述文件進(jìn)行一致性驗(yàn)證的步驟,否則,進(jìn)入所述確定所述文件通過(guò)一致性驗(yàn)證的步驟,之后,還包括:
判斷服務(wù)器集群中的節(jié)點(diǎn)是否全部驗(yàn)證完畢;
如果未全部驗(yàn)證完畢,則由當(dāng)前節(jié)點(diǎn)跳轉(zhuǎn)至下一個(gè)節(jié)點(diǎn),并返回所述判斷當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中的步驟。
優(yōu)選地,所述對(duì)所述文件進(jìn)行一致性驗(yàn)證具體為:驗(yàn)證所述文件是否與對(duì)應(yīng)的原始文件一致;
如果是,則確定對(duì)應(yīng)的服務(wù)器通過(guò)一致性驗(yàn)證,否則,輸出異常信息。
優(yōu)選地,還包括:獲取所述文件列表中對(duì)應(yīng)的全部原始文件的快照;
其中,所述驗(yàn)證所述文件是否與對(duì)應(yīng)的原始文件一致具體為:驗(yàn)證所述文件是否與對(duì)應(yīng)的原始文件的快照一致。
優(yōu)選地,所述判斷當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中具體為:判斷所述文件的文件類(lèi)型和文件所占用空間是否與所述文件列表中的同一對(duì)比文件相同;
如果是,則確定當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件包含在所述文件列表中,否則,確定當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件未包含在所述文件列表中。
優(yōu)選地,還包括:當(dāng)接收到修改所述文件列表的指令時(shí),按照所述指令修改所述文件列表以更新所述驗(yàn)證標(biāo)準(zhǔn)配置文件。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證裝置,包括:
接收單元,用于接收用于過(guò)濾預(yù)定類(lèi)型文件的驗(yàn)證標(biāo)準(zhǔn)配置文件,所述驗(yàn)證標(biāo)準(zhǔn)配置文件中包含有所述預(yù)定類(lèi)型文件的文件列表;
判斷單元,用于判斷各節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中;
確定單元,用于在所述判斷單元的結(jié)果為是時(shí),對(duì)所述文件進(jìn)行一致性驗(yàn)證;在所述判斷單元的結(jié)果為否時(shí),確定所述文件通過(guò)一致性驗(yàn)證。
本發(fā)明所提供的應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法及裝置,首先接收驗(yàn)證標(biāo)準(zhǔn)配置件,該文件中包含了一個(gè)用于過(guò)濾預(yù)定類(lèi)型文件的文件列表,在應(yīng)用同步或者運(yùn)行過(guò)程中需要進(jìn)行一致性驗(yàn)證時(shí),先判斷每個(gè)節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在文件列表中,如果包含在文件列表中,說(shuō)明當(dāng)前這個(gè)文件需要進(jìn)行一致性驗(yàn)證,相反,如果不包含在文件列表中,則說(shuō)明當(dāng)前這個(gè)文件對(duì)應(yīng)的服務(wù)器在進(jìn)行應(yīng)用部署過(guò)程中直接通過(guò)一致性驗(yàn)證。由此可見(jiàn),本方法可以根據(jù)應(yīng)用架構(gòu)的實(shí)際情況,動(dòng)態(tài)修改文件列表,從而在應(yīng)用架構(gòu)發(fā)生變化時(shí),克服由于一致性驗(yàn)證標(biāo)準(zhǔn)是固化所帶來(lái)的問(wèn)題,提高了服務(wù)器集群運(yùn)行的兼容性和操作性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例,下面將對(duì)實(shí)施例中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的另一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。
本發(fā)明的核心是提供一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法,用于克服現(xiàn)有技術(shù)中驗(yàn)證標(biāo)準(zhǔn)固化而帶來(lái)的弊端。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法的流程圖。如圖1所示,包括:
s10:接收用于過(guò)濾預(yù)定類(lèi)型文件的驗(yàn)證標(biāo)準(zhǔn)配置文件,驗(yàn)證標(biāo)準(zhǔn)配置文件中包含有預(yù)定類(lèi)型文件的文件列表。
s11:判斷各節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在文件列表中,如果是,則進(jìn)入步驟s12,否則,進(jìn)入步驟s13。
s12:對(duì)文件進(jìn)行一致性驗(yàn)證。
s13:確定文件通過(guò)一致性驗(yàn)證。
步驟s10中,預(yù)定類(lèi)型文件是根據(jù)當(dāng)前服務(wù)器集群中所要發(fā)布的應(yīng)用設(shè)定的,應(yīng)用發(fā)布者可以根據(jù)當(dāng)前應(yīng)用的架構(gòu)特點(diǎn)預(yù)先在主控服務(wù)器上添加驗(yàn)證標(biāo)準(zhǔn)配置文件。這個(gè)文件中包含了一個(gè)文件列表,用來(lái)過(guò)濾那些與文件列表上一致的文件。例如,文件列表中包含了一個(gè)文件類(lèi)型為.doc格式的文件,則在進(jìn)行一致性驗(yàn)證過(guò)程中,并不是對(duì)全部的文件進(jìn)行驗(yàn)證,而是類(lèi)型為.doc格式的文件才進(jìn)行一致性驗(yàn)證,其他類(lèi)型的文件就可以直接通過(guò)一致性驗(yàn)證,即不需要經(jīng)過(guò)一致性驗(yàn)證,默認(rèn)為通過(guò)了一致性驗(yàn)證。
由于應(yīng)用架構(gòu)的不同,集群在運(yùn)行過(guò)程中,應(yīng)用程序會(huì)生產(chǎn)帶有各自的環(huán)境信息的文件,導(dǎo)致部分節(jié)點(diǎn)的服務(wù)器所產(chǎn)生的文件與主控服務(wù)器原始文件有所不同,該現(xiàn)象是正常的,如果按照現(xiàn)有技術(shù)中固化的一致性驗(yàn)證標(biāo)準(zhǔn)的話,則在應(yīng)用發(fā)布時(shí),經(jīng)常輸出異常信息,導(dǎo)致應(yīng)用發(fā)布失敗。而采用上述步驟的話,應(yīng)用發(fā)布者可以預(yù)先對(duì)驗(yàn)證標(biāo)準(zhǔn)配置文件中的文件列表進(jìn)行合理更改,使得相應(yīng)的文件能夠不需要通過(guò)一致性驗(yàn)證即可通過(guò),這樣就可避免服務(wù)器集群在正常情況下輸出異常信息的問(wèn)題。
需要說(shuō)明的是,如果步驟s11得到一個(gè)文件包含在文件列表中,則需要進(jìn)行步驟s12,步驟s12中對(duì)文件進(jìn)行一致性驗(yàn)證具體為:驗(yàn)證文件是否與對(duì)應(yīng)的原始文件一致;如果是,則確定對(duì)應(yīng)的服務(wù)器通過(guò)一致性驗(yàn)證,否則,輸出異常信息。
本實(shí)施例提供的應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法,首先接收驗(yàn)證標(biāo)準(zhǔn)配置件,該文件中包含了一個(gè)用于過(guò)濾預(yù)定類(lèi)型文件的文件列表,在應(yīng)用同步或者運(yùn)行過(guò)程中需要進(jìn)行一致性驗(yàn)證時(shí),先判斷每個(gè)節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在文件列表中,如果包含在文件列表中,說(shuō)明當(dāng)前這個(gè)文件需要進(jìn)行一致性驗(yàn)證,相反,如果不包含在文件列表中,則說(shuō)明當(dāng)前這個(gè)文件對(duì)應(yīng)的服務(wù)器在進(jìn)行應(yīng)用部署過(guò)程中直接通過(guò)一致性驗(yàn)證。由此可見(jiàn),本方法可以根據(jù)應(yīng)用架構(gòu)的實(shí)際情況,動(dòng)態(tài)修改文件列表,從而在應(yīng)用架構(gòu)發(fā)生變化時(shí),克服由于一致性驗(yàn)證標(biāo)準(zhǔn)是固化所帶來(lái)的問(wèn)題,提高了服務(wù)器集群運(yùn)行的兼容性和操作性。
圖2為本發(fā)明實(shí)施例提供的另一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法的流程圖。如圖2所示,步驟s11具體包括:
s110:按照預(yù)定驗(yàn)證順序選擇一個(gè)節(jié)點(diǎn)的服務(wù)器作為首個(gè)驗(yàn)證對(duì)象。
s111:判斷當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在文件列表中,如果是,進(jìn)入步驟s12,否則,進(jìn)入步驟s13。在步驟s13之后進(jìn)入步驟s112。
s112:判斷服務(wù)器集群中的節(jié)點(diǎn)是否全部驗(yàn)證完畢,如果否,則進(jìn)入步驟s113,如果是,則結(jié)束。
s113:由當(dāng)前節(jié)點(diǎn)跳轉(zhuǎn)至下一個(gè)節(jié)點(diǎn),并返回步驟s111。
在具體實(shí)施中,可以靈活設(shè)定服務(wù)器集群在一致性驗(yàn)證過(guò)程中的驗(yàn)證順序,本實(shí)施例不再贅述。例如服務(wù)器集群中有10個(gè)服務(wù)器,其中標(biāo)號(hào)為1的服務(wù)器為主控服務(wù)器用于執(zhí)行上述步驟,其余2-9號(hào)的普通的服務(wù)器要被驗(yàn)證一致性。如果2號(hào)服務(wù)器作為首個(gè)驗(yàn)證對(duì)象時(shí),則在第一輪執(zhí)行過(guò)程中,步驟s112的判斷結(jié)果就是否,步驟s113中的下一個(gè)節(jié)點(diǎn)就是3號(hào)服務(wù)器。其余的循環(huán)過(guò)程本實(shí)施例不再贅述。
另外,作為優(yōu)選的實(shí)施方式,步驟s111具體為:判斷文件的文件類(lèi)型和文件所占用空間是否與文件列表中的同一對(duì)比文件相同;
如果是,則確定當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件包含在文件列表中,否則,確定當(dāng)前節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件未包含在文件列表中。
可以理解的是,通過(guò)文件類(lèi)型和文件所占用空間兩個(gè)參數(shù)進(jìn)行判斷是其中的一種方式,還可以只是通過(guò)文件類(lèi)型進(jìn)行判斷,對(duì)于其他實(shí)施方式,本實(shí)施例不再贅述。
在上述實(shí)施例的基礎(chǔ)上,還包括:獲取文件列表中對(duì)應(yīng)的全部原始文件的快照;其中,驗(yàn)證文件是否與對(duì)應(yīng)的原始文件一致具體為:驗(yàn)證文件是否與對(duì)應(yīng)的原始文件的快照一致。
在進(jìn)行步驟s12,即對(duì)文件進(jìn)行一致性驗(yàn)證時(shí),驗(yàn)證的是文件是否與對(duì)應(yīng)的原始文件一致。由于主控服務(wù)器在進(jìn)行原始文件的調(diào)取過(guò)程中所需的時(shí)間較長(zhǎng),為了提高效率,需要預(yù)先獲取各原始文件的快照,這樣在與原始文件進(jìn)行驗(yàn)證時(shí)就可以直接調(diào)取原始文件的快照即可。
在上述實(shí)施例的基礎(chǔ)上,還包括:當(dāng)接收到修改文件列表的指令時(shí),按照指令修改文件列表以更新驗(yàn)證標(biāo)準(zhǔn)配置文件。
在具體實(shí)施中,當(dāng)需要對(duì)文件列表進(jìn)行修改時(shí),例如應(yīng)用架構(gòu)發(fā)生變化,則在接收到應(yīng)用發(fā)布者的指令后,按照指令對(duì)文件列表進(jìn)行修改,使得驗(yàn)證標(biāo)準(zhǔn)配置文件得到更新,以適應(yīng)新的應(yīng)用架構(gòu)。由此可見(jiàn),即使應(yīng)用架構(gòu)發(fā)生變化,則當(dāng)前服務(wù)器集群也能夠?qū)崿F(xiàn)應(yīng)用的發(fā)布,兼容性更高。
在上述實(shí)施例中對(duì)服務(wù)器集群的一致性驗(yàn)證方法進(jìn)行了詳細(xì)說(shuō)明,此外,本發(fā)明還公開(kāi)一種與服務(wù)器集群的一致性驗(yàn)證方法對(duì)應(yīng)的服務(wù)器集群的一致性驗(yàn)證裝置。圖3為本發(fā)明實(shí)施例提供的一種應(yīng)用服務(wù)器集群的一致性驗(yàn)證裝置的結(jié)構(gòu)圖。如圖3所示,該裝置包括:
接收單元10,用于接收用于過(guò)濾預(yù)定類(lèi)型文件的驗(yàn)證標(biāo)準(zhǔn)配置文件,所述驗(yàn)證標(biāo)準(zhǔn)配置文件中包含有所述預(yù)定類(lèi)型文件的文件列表;
判斷單元11,用于判斷各節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在所述文件列表中;
確定單元12,用于在所述判斷單元的結(jié)果為是時(shí),對(duì)所述文件進(jìn)行一致性驗(yàn)證;在所述判斷單元的結(jié)果為否時(shí),確定所述文件通過(guò)一致性驗(yàn)證。
由于裝置部分的實(shí)施例與方法部分完全對(duì)應(yīng),因此本實(shí)施例不再贅述。需要說(shuō)明的是,服務(wù)器集群的一致性驗(yàn)證裝置是應(yīng)用在服務(wù)器集群中的主控服務(wù)器上。
本實(shí)施例提供的應(yīng)用服務(wù)器集群的一致性驗(yàn)證裝置,首先接收驗(yàn)證標(biāo)準(zhǔn)配置件,該文件中包含了一個(gè)用于過(guò)濾預(yù)定類(lèi)型文件的文件列表,在應(yīng)用同步或者運(yùn)行過(guò)程中需要進(jìn)行一致性驗(yàn)證時(shí),先判斷每個(gè)節(jié)點(diǎn)的服務(wù)器所對(duì)應(yīng)的文件是否包含在文件列表中,如果包含在文件列表中,說(shuō)明當(dāng)前這個(gè)文件需要進(jìn)行一致性驗(yàn)證,相反,如果不包含在文件列表中,則說(shuō)明當(dāng)前這個(gè)文件對(duì)應(yīng)的服務(wù)器在進(jìn)行應(yīng)用部署過(guò)程中直接通過(guò)一致性驗(yàn)證。由此可見(jiàn),本裝置可以根據(jù)應(yīng)用架構(gòu)的實(shí)際情況,動(dòng)態(tài)修改文件列表,從而在應(yīng)用架構(gòu)發(fā)生變化時(shí),克服由于一致性驗(yàn)證標(biāo)準(zhǔn)是固化所帶來(lái)的問(wèn)題,提高了服務(wù)器集群運(yùn)行的兼容性和操作性。
以上對(duì)本發(fā)明所提供的應(yīng)用服務(wù)器集群的一致性驗(yàn)證方法及裝置進(jìn)行了詳細(xì)介紹。說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。