本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種服務(wù)器集群中的軟件同步方法及裝置。
背景技術(shù):
隨著信息時(shí)代的持續(xù)發(fā)展,服務(wù)器運(yùn)維已經(jīng)成為技術(shù)服務(wù)中的重要組成部分。面對(duì)越來越復(fù)雜的業(yè)務(wù)以及多樣化的用戶需求,工作人員需定期對(duì)服務(wù)器集群中的各個(gè)服務(wù)器中的軟件配置進(jìn)行更新。
目前,主要通過人工方式對(duì)服務(wù)器集群中的各個(gè)服務(wù)器中的軟件配置進(jìn)行更新,即工作人員逐個(gè)對(duì)服務(wù)器進(jìn)行檢測(cè),當(dāng)檢測(cè)到服務(wù)器上有軟件需要更新時(shí),再對(duì)該服務(wù)器上的軟件進(jìn)行逐個(gè)更新。
由于服務(wù)器集群中的服務(wù)器數(shù)量較多,并且各個(gè)服務(wù)器中安裝有相同配置的軟件,則采用人工方式更新軟件配置時(shí),工作人員做了大量重復(fù)的工作,導(dǎo)致更新軟件配置的效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種服務(wù)器集群中的軟件同步方法及裝置,能提高更新軟件配置的效率。
第一方面,本發(fā)明實(shí)施例提供了一種服務(wù)器集群的軟件同步方法,包括:
根據(jù)預(yù)設(shè)的服務(wù)器集群的結(jié)構(gòu)信息,確定服務(wù)器集群中的配置服務(wù)器,以及與所述配置服務(wù)器相連的至少一個(gè)客戶機(jī);
確定所述配置服務(wù)器中的至少一項(xiàng)軟件配置信息;
接收外部輸入的同步請(qǐng)求,所述同步請(qǐng)求中攜帶有至少一個(gè)所述客戶機(jī)的標(biāo)識(shí)信息;
根據(jù)所述同步請(qǐng)求中攜帶的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將所述至少一項(xiàng)軟件配置信息發(fā)送給與至少一個(gè)所述標(biāo)識(shí)信息相對(duì)應(yīng)的至少一個(gè)目標(biāo)客戶機(jī);
每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,對(duì)自身的軟件配置進(jìn)行同步。
優(yōu)選地,
所述每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,對(duì)自身的軟件配置進(jìn)行同步,包括:
每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,確定是否存在分別與每一項(xiàng)所述軟件配置信息相對(duì)應(yīng)的軟件;
如果否,則:
針對(duì)存在對(duì)應(yīng)的軟件的至少一項(xiàng)所述軟件配置信息,根據(jù)所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新;
針對(duì)不存在對(duì)應(yīng)的軟件的至少一項(xiàng)所述軟件配置信息,生成軟件安裝請(qǐng)求,并將所述軟件安裝請(qǐng)求發(fā)送給所述配置服務(wù)器;
所述配置服務(wù)器根據(jù)所述軟件安裝請(qǐng)求,發(fā)送與所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息相對(duì)應(yīng)的至少一個(gè)軟件安裝包;
所述目標(biāo)客戶機(jī)接收所述至少一個(gè)軟件安裝包,并根據(jù)所述至少一個(gè)軟件安裝包,安裝對(duì)應(yīng)的軟件;
根據(jù)所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息,對(duì)安裝的所述軟件的軟件配置信息進(jìn)行同步。
優(yōu)選地,
所述每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,對(duì)自身的軟件配置進(jìn)行同步,包括:
每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,確定是否存在分別與每一項(xiàng)所述軟件配置信息分別對(duì)應(yīng)的軟件;
如果是,則所述目標(biāo)客戶機(jī)根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新。
優(yōu)選地,
所述所述目標(biāo)客戶機(jī)根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新,包括:
針對(duì)每一項(xiàng)所述軟件配置信息,均執(zhí)行:
所述目標(biāo)客戶機(jī)根據(jù)接收的所述軟件配置信息,檢測(cè)與所述軟件配置信息對(duì)應(yīng)的所述軟件的當(dāng)前配置信息;
當(dāng)接收的所述軟件配置信息與對(duì)應(yīng)的所述軟件的當(dāng)前配置信息不相同時(shí),根據(jù)接收到的所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新。
優(yōu)選地,
所述根據(jù)所述同步請(qǐng)求中攜帶的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將所述至少一項(xiàng)軟件配置信息發(fā)送給與至少一個(gè)所述標(biāo)識(shí)信息相對(duì)應(yīng)的至少一個(gè)目標(biāo)客戶機(jī),包括:
根據(jù)所述至少一個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,構(gòu)建分別與每一個(gè)所述目標(biāo)客戶機(jī)相對(duì)應(yīng)的至少一個(gè)配置文件,每個(gè)所述配置文件中包括所述至少一項(xiàng)軟件配置信息;
將所述配置文件分別發(fā)送給對(duì)應(yīng)的各個(gè)所述目標(biāo)客戶機(jī)。
優(yōu)選地,
所述所述目標(biāo)客戶機(jī)根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新,包括:
針對(duì)每一項(xiàng)所述軟件配置信息,均執(zhí)行:
所述目標(biāo)客戶機(jī)根據(jù)接收的所述軟件配置信息,檢測(cè)與所述軟件配置信息對(duì)應(yīng)的所述軟件的當(dāng)前配置信息;
當(dāng)接收的所述軟件配置信息與對(duì)應(yīng)的所述軟件的當(dāng)前配置信息相同時(shí),構(gòu)建所述目標(biāo)客戶機(jī)對(duì)應(yīng)的所述配置文件的硬鏈接。
第二方面,本發(fā)明實(shí)施例提供了一種服務(wù)器集群的軟件同步裝置,包括:第一確定單元、第二確定單元、接收單元和同步單元;其中,
所述第一確定單元,用于根據(jù)預(yù)設(shè)的服務(wù)器集群的結(jié)構(gòu)信息,確定服務(wù)器集群中的配置服務(wù)器,以及與所述配置服務(wù)器相連的至少一個(gè)客戶機(jī);
所述第二確定單元,用于確定所述第一確定單元確定出的配置服務(wù)器中的至少一項(xiàng)軟件配置信息;
所述接收單元,用于接收外部輸入的同步請(qǐng)求,所述同步請(qǐng)求中攜帶有至少一個(gè)所述客戶機(jī)的標(biāo)識(shí)信息;
所述同步單元,用于根據(jù)所述同步請(qǐng)求中攜帶的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將所述至少一項(xiàng)軟件配置信息發(fā)送給與至少一個(gè)所述標(biāo)識(shí)信息相對(duì)應(yīng)的至少一個(gè)目標(biāo)客戶機(jī),以使每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,對(duì)自身的軟件配置進(jìn)行同步。
優(yōu)選地,
所述同步單元,包括判斷子單元、更新子單元、請(qǐng)求發(fā)送子單元和軟件安裝子單元;其中,
所述判斷子單元,用于根據(jù)所述至少一項(xiàng)軟件配置信息,確定是否存在分別與每一項(xiàng)所述軟件配置信息分別對(duì)應(yīng)的軟件,如果是,則觸發(fā)所述更新子單元,否則觸發(fā)所述請(qǐng)求發(fā)送子單元;
所述請(qǐng)求發(fā)送子單元,用于根據(jù)所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息,生成軟件安裝請(qǐng)求,并將所述軟件安裝請(qǐng)求發(fā)送給所述配置服務(wù)器;
所述軟件安裝子單元,用于接收所述配置服務(wù)器根據(jù)所述軟件安裝請(qǐng)求,發(fā)送的與所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息相對(duì)應(yīng)的至少一個(gè)軟件安裝包,并根據(jù)所述至少一個(gè)軟件安裝包,安裝對(duì)應(yīng)的軟件;觸發(fā)所述更新子單元;
所述更新子單元,用于根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新。
優(yōu)選地,
所述同步單元,用于根據(jù)所述至少一個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,構(gòu)建分別與每一個(gè)所述目標(biāo)客戶機(jī)相對(duì)應(yīng)的至少一個(gè)配置文件,每個(gè)所述配置文件中包括所述至少一項(xiàng)軟件配置信息;并將所述配置文件分別發(fā)送給對(duì)應(yīng)的各個(gè)所述目標(biāo)客戶機(jī)。
優(yōu)選地,
所述更新子單元,用于針對(duì)每一項(xiàng)所述軟件配置信息,均執(zhí)行:根據(jù)接收的所述軟件配置信息,檢測(cè)與所述軟件配置信息對(duì)應(yīng)的所述軟件的當(dāng)前配置信息;判斷接收的所述軟件配置信息與對(duì)應(yīng)的所述軟件的當(dāng)前配置信息是否相同時(shí),如果是,則根據(jù)接收到的所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新;否則,構(gòu)建對(duì)應(yīng)的所述配置文件的硬鏈接。
本發(fā)明實(shí)施例提供了一種服務(wù)器集群中的軟件同步方法及裝置,首先從服務(wù)器集群中的配置服務(wù)器中確定出至少一項(xiàng)軟件配置信息,在接收到外部輸入的同步請(qǐng)求時(shí),根據(jù)同步請(qǐng)求中攜帶的服務(wù)器集群中的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將確定出的至少一項(xiàng)軟件配置信息發(fā)送給對(duì)應(yīng)的客戶機(jī),以使接收軟件配置信息的各個(gè)客戶機(jī)對(duì)自身的軟件配置進(jìn)行同步。由此,服務(wù)器集群中的各個(gè)客戶機(jī)可根據(jù)配置服務(wù)器中的軟件配置信息,自動(dòng)對(duì)自身的軟件配置進(jìn)行同步,而無須工作人員對(duì)各個(gè)服務(wù)器中分別包括的各個(gè)軟件進(jìn)行逐個(gè)更新,從而提高了更新軟件配置的效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種服務(wù)器集群中軟件同步方法的流程圖;
圖2是本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器集群中軟件同步方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種服務(wù)器集群中軟件同步裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器集群中軟件同步裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種服務(wù)器集群的軟件同步方法,該方法可以包括以下步驟:
步驟101:根據(jù)預(yù)設(shè)的服務(wù)器集群的結(jié)構(gòu)信息,確定服務(wù)器集群中的配置服務(wù)器,以及與所述配置服務(wù)器相連的至少一個(gè)客戶機(jī);
步驟102:確定所述配置服務(wù)器中的至少一項(xiàng)軟件配置信息;
步驟103:接收外部輸入的同步請(qǐng)求,所述同步請(qǐng)求中攜帶有至少一個(gè)所述客戶機(jī)的標(biāo)識(shí)信息;
步驟104:根據(jù)所述同步請(qǐng)求中攜帶的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將所述至少一項(xiàng)軟件配置信息發(fā)送給與至少一個(gè)所述標(biāo)識(shí)信息相對(duì)應(yīng)的至少一個(gè)目標(biāo)客戶機(jī);
步驟105:每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,對(duì)自身的軟件配置進(jìn)行同步。
上述實(shí)施例中,首先從服務(wù)器集群中的配置服務(wù)器中確定出至少一項(xiàng)軟件配置信息,在接收到外部輸入的同步請(qǐng)求時(shí),根據(jù)同步請(qǐng)求中攜帶的服務(wù)器集群中的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將確定出的至少一項(xiàng)軟件配置信息發(fā)送給對(duì)應(yīng)的客戶機(jī),以使接收軟件配置信息的各個(gè)客戶機(jī)對(duì)自身的軟件配置進(jìn)行同步。由此,服務(wù)器集群中的各個(gè)客戶機(jī)可根據(jù)配置服務(wù)器中的軟件配置信息,自動(dòng)對(duì)自身的軟件配置進(jìn)行同步,而無須工作人員對(duì)各個(gè)服務(wù)器中分別包括的各個(gè)軟件進(jìn)行逐個(gè)更新,從而提高了更新軟件配置的效率。
為了提高更新軟件配置的完整性和準(zhǔn)確性,本發(fā)明一個(gè)實(shí)施例中,步驟105的具體實(shí)時(shí)方式,可以包括:
每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,確定是否存在分別與每一項(xiàng)所述軟件配置信息相對(duì)應(yīng)的軟件;
如果否,則:
針對(duì)存在對(duì)應(yīng)的軟件的至少一項(xiàng)所述軟件配置信息,根據(jù)所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新;
針對(duì)不存在對(duì)應(yīng)的軟件的至少一項(xiàng)所述軟件配置信息,生成軟件安裝請(qǐng)求,并將所述軟件安裝請(qǐng)求發(fā)送給所述配置服務(wù)器;
所述配置服務(wù)器根據(jù)所述軟件安裝請(qǐng)求,發(fā)送與所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息相對(duì)應(yīng)的至少一個(gè)軟件安裝包;
所述目標(biāo)客戶機(jī)接收所述至少一個(gè)軟件安裝包,并根據(jù)所述至少一個(gè)軟件安裝包,安裝對(duì)應(yīng)的軟件;
根據(jù)所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息,對(duì)安裝的所述軟件的軟件配置信息進(jìn)行同步。
在這里,當(dāng)目標(biāo)客戶機(jī)中不存在與軟件配置信息相對(duì)應(yīng)的軟件時(shí),例如,配置服務(wù)器發(fā)送了軟件a和軟件b的軟件配置信息,目標(biāo)客戶機(jī)中僅安裝有軟件a,而未安裝軟件b,此時(shí)目標(biāo)客戶機(jī)向配置服務(wù)器發(fā)送與軟件b相對(duì)應(yīng)的軟件安裝請(qǐng)求,配置服務(wù)器在接收到安裝請(qǐng)求時(shí),向?qū)?yīng)的目標(biāo)客戶機(jī)發(fā)送軟件b的安裝包,則目標(biāo)客戶機(jī)可根據(jù)接收的安裝包,安裝軟件b,而后再根據(jù)軟件a和軟件b分別對(duì)應(yīng)的軟件配置信息,對(duì)軟件a和軟件b的配置進(jìn)行更新。由此,目標(biāo)客戶機(jī)可根據(jù)接收到的軟件配置信息,對(duì)自身當(dāng)前存在的和不存在的軟件都分別進(jìn)行更新,實(shí)現(xiàn)與配置服務(wù)器的完全同步,從而提高了更新軟件配置的完整性和準(zhǔn)確性。
本發(fā)明一個(gè)實(shí)施例中,步驟105的具體實(shí)施方式,可以包括:
每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,確定是否存在分別與每一項(xiàng)所述軟件配置信息分別對(duì)應(yīng)的軟件;
如果是,則所述目標(biāo)客戶機(jī)根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新。
在這里,若目標(biāo)客戶機(jī)中存在與各個(gè)軟件配置信息相對(duì)應(yīng)的軟件,則直接根據(jù)軟件配置信息,對(duì)相應(yīng)的軟件進(jìn)行更新,從而進(jìn)一步提高了更新軟件配置的效率。
本發(fā)明一個(gè)實(shí)施例中,步驟104的具體實(shí)施方式,可以包括:
根據(jù)所述至少一個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,構(gòu)建分別與每一個(gè)所述目標(biāo)客戶機(jī)相對(duì)應(yīng)的至少一個(gè)配置文件,每個(gè)所述配置文件中包括所述至少一項(xiàng)軟件配置信息;
將所述配置文件分別發(fā)送給對(duì)應(yīng)的各個(gè)所述目標(biāo)客戶機(jī)。
上述實(shí)施例中,根據(jù)各個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,分別構(gòu)建與每個(gè)目標(biāo)客戶機(jī)相對(duì)應(yīng)的配置文件,將各項(xiàng)軟件配置信息存入配置文件中,并直接將配置文件發(fā)送給對(duì)應(yīng)的目標(biāo)客戶機(jī)。則在傳輸時(shí),可直接對(duì)各個(gè)配置文件進(jìn)行傳輸,而無須一一傳輸各個(gè)軟件配置信息給對(duì)應(yīng)的目標(biāo)客戶機(jī),從而便于配置服務(wù)器與目標(biāo)客戶機(jī)之間的通信,進(jìn)而進(jìn)一步提高了更新軟件配置的效率。
具體地,本發(fā)明一個(gè)實(shí)施例中,所述所述目標(biāo)客戶機(jī)根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新,包括:
針對(duì)每一項(xiàng)所述軟件配置信息,均執(zhí)行:
所述目標(biāo)客戶機(jī)根據(jù)接收的所述軟件配置信息,檢測(cè)與所述軟件配置信息對(duì)應(yīng)的所述軟件的當(dāng)前配置信息;
當(dāng)接收的所述軟件配置信息與對(duì)應(yīng)的所述軟件的當(dāng)前配置信息相同時(shí),構(gòu)建所述目標(biāo)客戶機(jī)對(duì)應(yīng)的所述配置文件的硬鏈接。
當(dāng)接收的所述軟件配置信息與對(duì)應(yīng)的所述軟件的當(dāng)前配置信息不相同時(shí),根據(jù)接收到的所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新。
舉例來說,可定期將配置服務(wù)器中的軟件配置信息發(fā)送給各個(gè)目標(biāo)客戶機(jī),若配置服務(wù)器中的軟件在此周期內(nèi)有更新,則目標(biāo)客戶機(jī)接收到的軟件配置信息將與目標(biāo)客戶機(jī)的當(dāng)前配置信息有所不同,此時(shí)根據(jù)接收到的軟件配置信息,對(duì)目標(biāo)客戶機(jī)中的軟件進(jìn)行更新,以使當(dāng)前配置信息與接收到的軟件配置信息相同,即實(shí)現(xiàn)與配置服務(wù)器的同步。當(dāng)配置服務(wù)器中的軟件在此檢測(cè)周期內(nèi)無更新時(shí),則構(gòu)建配置文件的硬鏈接,由此,當(dāng)配置服務(wù)器中有更新時(shí),目標(biāo)客戶機(jī)可直接訪問配置文件進(jìn)行更新,從而進(jìn)一步提高了更新軟件配置的效率。
如圖2所示,本發(fā)明實(shí)施例提供了一種服務(wù)器集群的軟件同步方法,該方法可以包括以下步驟:
步驟201:根據(jù)預(yù)設(shè)的服務(wù)器集群的結(jié)構(gòu)信息,確定服務(wù)器集群中的配置服務(wù)器,以及與所述配置服務(wù)器相連的至少一個(gè)客戶機(jī)。
例如,可根據(jù)服務(wù)器集群的拓?fù)浣Y(jié)構(gòu),確定服務(wù)器集群中的配置服務(wù)器和客戶機(jī),配置服務(wù)器相當(dāng)于服務(wù)器集群中的主節(jié)點(diǎn),客戶機(jī)相當(dāng)于與此主節(jié)點(diǎn)相連的從節(jié)點(diǎn)。
步驟202:確定所述配置服務(wù)器中的至少一項(xiàng)軟件配置信息。
例如,確定出配置服務(wù)器中軟件a和軟件b分別對(duì)應(yīng)的軟件配置信息。
步驟203:接收外部輸入的同步請(qǐng)求,所述同步請(qǐng)求中攜帶有至少一個(gè)所述客戶機(jī)的標(biāo)識(shí)信息。
舉例來說,接收到用戶輸入的同步請(qǐng)求中攜帶客戶機(jī)1的ip地址和客戶機(jī)2的ip地址。
步驟204:根據(jù)所述至少一個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,構(gòu)建分別與每一個(gè)所述目標(biāo)客戶機(jī)相對(duì)應(yīng)的至少一個(gè)配置文件,每個(gè)所述配置文件中包括所述至少一項(xiàng)軟件配置信息。
在這里,可根據(jù)客戶機(jī)1的ip地址,構(gòu)建與客戶機(jī)1對(duì)應(yīng)的配置文件1,配置文件1中包括軟件a和軟件b的軟件配置信息。另外,可根據(jù)客戶機(jī)2的ip地址,構(gòu)建與客戶機(jī)2對(duì)應(yīng)的配置文件2,配置文件2中包括軟件a和軟件b的軟件配置信息。
步驟205:將所述配置文件發(fā)送給對(duì)應(yīng)的客戶機(jī)。
在這里,將配置文件1發(fā)送給客戶機(jī)1,將配置文件2發(fā)送給客戶機(jī)2。
步驟206:每一個(gè)接收配置文件的客戶機(jī)執(zhí)行:從配置文件中解析出所述至少一項(xiàng)軟件配置信息。
步驟207:判斷是否存在分別與每一項(xiàng)所述軟件配置信息相對(duì)應(yīng)的軟件,如果是,則執(zhí)行步驟211,否則執(zhí)行步驟208。
步驟208:針對(duì)不存在對(duì)應(yīng)的軟件的至少一項(xiàng)所述軟件配置信息,生成軟件安裝請(qǐng)求,并將所述軟件安裝請(qǐng)求發(fā)送給所述配置服務(wù)器。
步驟209:接收所述配置服務(wù)器根據(jù)所述軟件安裝請(qǐng)求,發(fā)送的與所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息相對(duì)應(yīng)的至少一個(gè)軟件安裝包;
步驟210:根據(jù)所述至少一個(gè)軟件安裝包,安裝對(duì)應(yīng)的軟件。
步驟207至步驟210中,配置文件中包括軟件a和軟件b的軟件配置信息,客戶機(jī)1中僅安裝有軟件a,而未安裝軟件b,此時(shí)客戶機(jī)1向配置服務(wù)器發(fā)送與軟件b相對(duì)應(yīng)的軟件安裝請(qǐng)求,配置服務(wù)器在接收到安裝請(qǐng)求時(shí),向客戶機(jī)1發(fā)送軟件b的安裝包,則客戶機(jī)1可根據(jù)接收的安裝包,安裝軟件b。客戶機(jī)2中安裝有軟件a和軟件b,則無需再安裝。
步驟211:根據(jù)接收的所述軟件配置信息,檢測(cè)與所述軟件配置信息對(duì)應(yīng)的所述軟件的當(dāng)前配置信息。
步驟212:判斷接收的軟件配置信息與當(dāng)前配置信息是否相同,如果是,則執(zhí)行步驟213,否則執(zhí)行步驟214。
步驟213:構(gòu)建所述客戶機(jī)對(duì)應(yīng)的所述配置文件的硬鏈接,并結(jié)束當(dāng)前流程。
步驟214:根據(jù)接收到的所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新。
舉例來說,可定期將配置服務(wù)器中的軟件配置信息發(fā)送給各個(gè)客戶機(jī),若配置服務(wù)器中的軟件在此周期內(nèi)有更新,則客戶機(jī)接收到的軟件配置信息將與客戶機(jī)的當(dāng)前配置信息有所不同,此時(shí)根據(jù)接收到的軟件配置信息,對(duì)客戶機(jī)中的軟件進(jìn)行更新,以使當(dāng)前配置信息與接收到的軟件配置信息相同,即實(shí)現(xiàn)與配置服務(wù)器的同步。當(dāng)配置服務(wù)器中的軟件在此檢測(cè)周期內(nèi)無更新時(shí),則構(gòu)建配置文件的硬鏈接,由此,當(dāng)配置服務(wù)器中有更新時(shí),客戶機(jī)可直接訪問配置文件進(jìn)行更新。
上述實(shí)施例中,首先從服務(wù)器集群中的配置服務(wù)器中確定出至少一項(xiàng)軟件配置信息,在接收到外部輸入的同步請(qǐng)求時(shí),根據(jù)同步請(qǐng)求中攜帶的服務(wù)器集群中的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將確定出的至少一項(xiàng)軟件配置信息發(fā)送給對(duì)應(yīng)的客戶機(jī),以使接收軟件配置信息的各個(gè)客戶機(jī)對(duì)自身的軟件配置進(jìn)行同步。由此,服務(wù)器集群中的各個(gè)客戶機(jī)可根據(jù)配置服務(wù)器中的軟件配置信息,自動(dòng)對(duì)自身的軟件配置進(jìn)行同步,而無須工作人員對(duì)各個(gè)服務(wù)器中分別包括的各個(gè)軟件進(jìn)行逐個(gè)更新,從而提高了更新軟件配置的效率。
如圖3所示,本發(fā)明實(shí)施例提供了一種服務(wù)器集群的軟件同步裝置,包括:第一確定單元301、第二確定單元302、接收單元303和同步單元304;其中,
所述第一確定單元301,用于根據(jù)預(yù)設(shè)的服務(wù)器集群的結(jié)構(gòu)信息,確定服務(wù)器集群中的配置服務(wù)器,以及與所述配置服務(wù)器相連的至少一個(gè)客戶機(jī);
所述第二確定單元302,用于確定所述第一確定單元301確定出的配置服務(wù)器中的至少一項(xiàng)軟件配置信息;
所述接收單元303,用于接收外部輸入的同步請(qǐng)求,所述同步請(qǐng)求中攜帶有至少一個(gè)所述客戶機(jī)的標(biāo)識(shí)信息;
所述同步單元304,用于根據(jù)所述接收單元303接收到的同步請(qǐng)求中攜帶的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將所述第二確定單元302確定出的至少一項(xiàng)軟件配置信息發(fā)送給與至少一個(gè)所述標(biāo)識(shí)信息相對(duì)應(yīng)的至少一個(gè)目標(biāo)客戶機(jī),以使每一個(gè)所述目標(biāo)客戶機(jī)根據(jù)所述至少一項(xiàng)軟件配置信息,對(duì)自身的軟件配置進(jìn)行同步。
上述實(shí)施例中,首先從服務(wù)器集群中的配置服務(wù)器中確定出至少一項(xiàng)軟件配置信息,在接收到外部輸入的同步請(qǐng)求時(shí),根據(jù)同步請(qǐng)求中攜帶的服務(wù)器集群中的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將確定出的至少一項(xiàng)軟件配置信息發(fā)送給對(duì)應(yīng)的客戶機(jī),以使接收軟件配置信息的各個(gè)客戶機(jī)對(duì)自身的軟件配置進(jìn)行同步。由此,服務(wù)器集群中的各個(gè)客戶機(jī)可根據(jù)配置服務(wù)器中的軟件配置信息,自動(dòng)對(duì)自身的軟件配置進(jìn)行同步,而無須工作人員對(duì)各個(gè)服務(wù)器中分別包括的各個(gè)軟件進(jìn)行逐個(gè)更新,從而提高了更新軟件配置的效率。
為了提高更新軟件配置的完整性和準(zhǔn)確性,如圖4所示,本發(fā)明一個(gè)實(shí)施例中,所述同步單元304,包括判斷子單元401、更新子單元402、請(qǐng)求發(fā)送子單元403和軟件安裝子單元404;其中,
所述判斷子單元401,用于根據(jù)所述第二確定子單元302確定的至少一項(xiàng)軟件配置信息,確定是否存在分別與每一項(xiàng)所述軟件配置信息分別對(duì)應(yīng)的軟件,如果是,則觸發(fā)所述更新子單元402,否則觸發(fā)所述請(qǐng)求發(fā)送子單元403;
所述請(qǐng)求發(fā)送子單元403,用于根據(jù)所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息,生成軟件安裝請(qǐng)求,并將所述軟件安裝請(qǐng)求發(fā)送給所述配置服務(wù)器;
所述軟件安裝子單元404,用于接收所述配置服務(wù)器根據(jù)所述軟件安裝請(qǐng)求,發(fā)送的與所述不存在對(duì)應(yīng)的軟件的至少一個(gè)所述軟件配置信息相對(duì)應(yīng)的至少一個(gè)軟件安裝包,并根據(jù)所述至少一個(gè)軟件安裝包,安裝對(duì)應(yīng)的軟件;觸發(fā)所述更新子單元;
所述更新子單元402,用于根據(jù)每一項(xiàng)所述軟件配置信息,分別對(duì)對(duì)應(yīng)的每一個(gè)軟件進(jìn)行更新。
在這里,當(dāng)目標(biāo)客戶機(jī)中不存在與軟件配置信息相對(duì)應(yīng)的軟件時(shí),例如,配置服務(wù)器發(fā)送了軟件a和軟件b的軟件配置信息,目標(biāo)客戶機(jī)中僅安裝有軟件a,而未安裝軟件b,此時(shí)目標(biāo)客戶機(jī)向配置服務(wù)器發(fā)送與軟件b相對(duì)應(yīng)的軟件安裝請(qǐng)求,配置服務(wù)器在接收到安裝請(qǐng)求時(shí),向?qū)?yīng)的目標(biāo)客戶機(jī)發(fā)送軟件b的安裝包,則目標(biāo)客戶機(jī)可根據(jù)接收的安裝包,安裝軟件b,而后再根據(jù)軟件a和軟件b分別對(duì)應(yīng)的軟件配置信息,對(duì)軟件a和軟件b的配置進(jìn)行更新。由此,目標(biāo)客戶機(jī)可根據(jù)接收到的軟件配置信息,對(duì)自身當(dāng)前存在的和不存在的軟件都分別進(jìn)行更新,實(shí)現(xiàn)與配置服務(wù)器的完全同步,從而提高了更新軟件配置的完整性和準(zhǔn)確性。若目標(biāo)客戶機(jī)中存在與各個(gè)軟件配置信息相對(duì)應(yīng)的軟件,則直接根據(jù)軟件配置信息,對(duì)相應(yīng)的軟件進(jìn)行更新,從而進(jìn)一步提高了更新軟件配置的效率。
本發(fā)明一個(gè)實(shí)施例中,
所述同步單元304,用于根據(jù)所述至少一個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,構(gòu)建分別與每一個(gè)所述目標(biāo)客戶機(jī)相對(duì)應(yīng)的至少一個(gè)配置文件,每個(gè)所述配置文件中包括所述至少一項(xiàng)軟件配置信息;并將所述配置文件分別發(fā)送給對(duì)應(yīng)的各個(gè)所述目標(biāo)客戶機(jī)。
上述實(shí)施例中,根據(jù)各個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,分別構(gòu)建與每個(gè)目標(biāo)客戶機(jī)相對(duì)應(yīng)的配置文件,將各項(xiàng)軟件配置信息存入配置文件中,并直接將配置文件發(fā)送給對(duì)應(yīng)的目標(biāo)客戶機(jī)。則在傳輸時(shí),可直接對(duì)各個(gè)配置文件進(jìn)行傳輸,而無須一一傳輸各個(gè)軟件配置信息給對(duì)應(yīng)的目標(biāo)客戶機(jī),從而便于配置服務(wù)器與目標(biāo)客戶機(jī)之間的通信,進(jìn)而進(jìn)一步提高了更新軟件配置的效率。
具體地,本發(fā)明一個(gè)實(shí)施例中,所述更新子單元402,用于針對(duì)每一項(xiàng)所述軟件配置信息,均執(zhí)行:根據(jù)接收的所述軟件配置信息,檢測(cè)與所述軟件配置信息對(duì)應(yīng)的所述軟件的當(dāng)前配置信息;判斷接收的所述軟件配置信息與對(duì)應(yīng)的所述軟件的當(dāng)前配置信息是否相同時(shí),如果是,則根據(jù)接收到的所述軟件配置信息,對(duì)對(duì)應(yīng)的所述軟件進(jìn)行更新;否則,構(gòu)建對(duì)應(yīng)的所述配置文件的硬鏈接。
舉例來說,可定期將配置服務(wù)器中的軟件配置信息發(fā)送給各個(gè)目標(biāo)客戶機(jī),若配置服務(wù)器中的軟件在此周期內(nèi)有更新,則目標(biāo)客戶機(jī)接收到的軟件配置信息將與目標(biāo)客戶機(jī)的當(dāng)前配置信息有所不同,此時(shí)根據(jù)接收到的軟件配置信息,對(duì)目標(biāo)客戶機(jī)中的軟件進(jìn)行更新,以使當(dāng)前配置信息與接收到的軟件配置信息相同,即實(shí)現(xiàn)與配置服務(wù)器的同步。當(dāng)配置服務(wù)器中的軟件在此檢測(cè)周期內(nèi)無更新時(shí),則構(gòu)建配置文件的硬鏈接,由此,當(dāng)配置服務(wù)器中有更新時(shí),目標(biāo)客戶機(jī)可直接訪問配置文件進(jìn)行更新,從而進(jìn)一步提高了更新軟件配置的效率。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
本發(fā)明還提供了一種可讀介質(zhì),包括執(zhí)行指令,當(dāng)存儲(chǔ)控制器的處理器執(zhí)行所述執(zhí)行指令時(shí),所述存儲(chǔ)控制器執(zhí)行本發(fā)明上述任一實(shí)施例提供的方法。
另外,本發(fā)明還提供了一種存儲(chǔ)控制器,包括:處理器、存儲(chǔ)器和總線;所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過所述總線連接,當(dāng)所述存儲(chǔ)控制器運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述執(zhí)行指令,以使所述存儲(chǔ)控制器執(zhí)行本發(fā)明上述任一實(shí)施例提供的方法。
綜上所述,本發(fā)明各個(gè)實(shí)施例至少具有如下有益效果:
1、在本發(fā)明實(shí)施例中,首先從服務(wù)器集群中的配置服務(wù)器中確定出至少一項(xiàng)軟件配置信息,在接收到外部輸入的同步請(qǐng)求時(shí),根據(jù)同步請(qǐng)求中攜帶的服務(wù)器集群中的至少一個(gè)客戶機(jī)的標(biāo)識(shí)信息,將確定出的至少一項(xiàng)軟件配置信息發(fā)送給對(duì)應(yīng)的客戶機(jī),以使接收軟件配置信息的各個(gè)客戶機(jī)對(duì)自身的軟件配置進(jìn)行同步。由此,服務(wù)器集群中的各個(gè)客戶機(jī)可根據(jù)配置服務(wù)器中的軟件配置信息,自動(dòng)對(duì)自身的軟件配置進(jìn)行同步,而無須工作人員對(duì)各個(gè)服務(wù)器中分別包括的各個(gè)軟件進(jìn)行逐個(gè)更新,從而提高了更新軟件配置的效率。
2、在本發(fā)明實(shí)施例中,目標(biāo)客戶機(jī)接收到配置信息之后,確定自身是否存在分別與每一項(xiàng)軟件配置信息相對(duì)應(yīng)的軟件,如果是,則直接根據(jù)軟件配置信息,對(duì)相應(yīng)的軟件進(jìn)行更新,從而進(jìn)一步提高了更新軟件配置的效率。否則向配置服務(wù)器發(fā)送針對(duì)不存在對(duì)應(yīng)的軟件的至少一項(xiàng)所述軟件配置信息生成的軟件安裝請(qǐng)求,并接收配置服務(wù)器根據(jù)軟件安裝請(qǐng)求發(fā)送的軟件安裝包,根據(jù)接收的安裝包安裝對(duì)應(yīng)的軟件,而后再根據(jù)軟件配置信息,對(duì)軟件進(jìn)行更新。由此,客戶機(jī)可根據(jù)接收到的軟件配置信息,對(duì)自身當(dāng)前存在的和不存在的軟件都分別進(jìn)行更新,實(shí)現(xiàn)與配置服務(wù)器的完全同步,從而提高了更新軟件配置的完整性和準(zhǔn)確性。
3、在本發(fā)明實(shí)施例中,根據(jù)各個(gè)目標(biāo)客戶機(jī)的標(biāo)識(shí)信息,分別構(gòu)建與每個(gè)目標(biāo)客戶機(jī)相對(duì)應(yīng)的配置文件,將各項(xiàng)軟件配置信息存入配置文件中,并直接將配置文件發(fā)送給對(duì)應(yīng)的目標(biāo)客戶機(jī)。則在傳輸時(shí),可直接對(duì)各個(gè)配置文件進(jìn)行傳輸,而無須一一傳輸各個(gè)軟件配置信息給對(duì)應(yīng)的目標(biāo)客戶機(jī),從而便于配置服務(wù)器與目標(biāo)客戶機(jī)之間的通信,進(jìn)而進(jìn)一步提高了更新軟件配置的效率。
4、在本發(fā)明實(shí)施例中,當(dāng)接收的軟件配置信息與當(dāng)前配置信息相同時(shí),構(gòu)建配置文件的硬鏈接,由此,當(dāng)配置服務(wù)器中有更新時(shí),目標(biāo)客戶機(jī)可直接訪問配置文件進(jìn)行更新,從而進(jìn)一步提高了更新軟件配置的效率。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。