專利名稱:一種基于分布式網(wǎng)絡(luò)的程序部署方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其是涉及一種基于分布式網(wǎng)絡(luò)的程序部署方法和系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展,越來越多的組織和機(jī)構(gòu)選擇多級分布式網(wǎng)絡(luò)作為其核心的計(jì)算機(jī)系統(tǒng)。如圖1所示,是一家銀行所使用網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)示意圖。其中,M1是總行使用的根服務(wù)器;M21和M22為兩個(gè)分行使用的子服務(wù)器,M301和M302為與M21相連的兩個(gè)用戶終端,并與M21構(gòu)成一個(gè)局域網(wǎng);M1和M21、M22之間通過網(wǎng)絡(luò)連接。圖1示出的僅僅是最簡單的一種結(jié)構(gòu)示意圖,在實(shí)際運(yùn)行環(huán)境中,諸如M21和M301的服務(wù)器和終端會有多個(gè)。在這樣的網(wǎng)絡(luò)體系中,由于終端節(jié)點(diǎn)數(shù)量眾多,并且地理上分布較廣,因此,為了保證數(shù)據(jù)和規(guī)則的一致性,各終端節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序通常由根服務(wù)器統(tǒng)一提供。同時(shí),為了適應(yīng)業(yè)務(wù)的發(fā)展,對于已發(fā)布的應(yīng)用程序,還必須對其做進(jìn)一步改進(jìn)和升級,發(fā)布該程序新的版本。
目前,各終端節(jié)點(diǎn)為了獲取應(yīng)用程序或者新的程序版本,首先由用戶通過終端向根服務(wù)器發(fā)送下載請求,根服務(wù)器收到請求后將相應(yīng)的文件發(fā)送至終端。但是,對于像銀行這樣的大型企業(yè)或機(jī)構(gòu)來說,其網(wǎng)絡(luò)分布范圍非常廣泛,甚至遍及全國,在整個(gè)網(wǎng)絡(luò)中,終端的數(shù)量更是多到幾千臺甚至幾萬臺。由于終端需要用戶干預(yù)發(fā)送下載請求,不但需要耗費(fèi)大量的人力,而且不同用戶發(fā)送下載請求的時(shí)間很難做到一致,因此導(dǎo)致終端上運(yùn)行程序的版本不一致。
終端獲取應(yīng)用程序的另一種方式是在各個(gè)終端上設(shè)置升級程序,該升級程序中設(shè)有計(jì)時(shí)器,當(dāng)計(jì)時(shí)器到達(dá)預(yù)定時(shí)間后,由升級程序向根服務(wù)器發(fā)送下載請求。采用這種方式,由于升級程序并不知道根服務(wù)器何時(shí)會發(fā)布新的程序版本,因此,升級程序需要定期的向根服務(wù)器發(fā)送查詢請求,其中的大多數(shù)將因?yàn)槭菬o效請求而被服務(wù)器拒絕,這樣,不但浪費(fèi)了大量的網(wǎng)絡(luò)資源,也會對服務(wù)器造成沉重的負(fù)擔(dān);而且,一旦某個(gè)終端上的升級程序出現(xiàn)故障,該終端將無法發(fā)送下載請求,也無法獲得新的程序版本,而對此異常,外界也無法及時(shí)獲知,造成終端使用的程序版本不一致,由此,會進(jìn)一步造成業(yè)務(wù)數(shù)據(jù)的不一致,給該企業(yè)帶來非常嚴(yán)重的數(shù)據(jù)風(fēng)險(xiǎn)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于分布式網(wǎng)絡(luò)的程序部署方法和系統(tǒng),以解決現(xiàn)有技術(shù)由于采用由終端向服務(wù)器請求獲取程序?qū)е碌某绦虬姹静灰恢碌膯栴}。
為解決上述問題,本發(fā)明公開了一種基于分布式網(wǎng)絡(luò)的程序部署方法,包括在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn);目標(biāo)節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
優(yōu)選的,所述傳輸狀態(tài)表存儲在發(fā)布節(jié)點(diǎn)中;發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)送至目標(biāo)節(jié)點(diǎn)后,在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志;發(fā)布節(jié)點(diǎn)收到目標(biāo)節(jié)點(diǎn)發(fā)送的反饋信息后,更新傳輸狀態(tài)表中該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
優(yōu)選的,目標(biāo)節(jié)點(diǎn)更新后,將該節(jié)點(diǎn)位置信息和更新后程序的屬性信息發(fā)送至發(fā)布節(jié)點(diǎn);將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒆鳛楸O(jiān)控信息存儲在節(jié)點(diǎn)監(jiān)控表中。
優(yōu)選的,定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)當(dāng)前程序的屬性信息。
其中,所述發(fā)布程序?qū)傩孕畔ㄔ摮绦虻漠a(chǎn)品標(biāo)識;所述獲取目標(biāo)節(jié)點(diǎn)位置信息是通過查詢目標(biāo)節(jié)點(diǎn)配置表,獲取與所述發(fā)布程序產(chǎn)品標(biāo)識相匹配的目標(biāo)節(jié)點(diǎn)位置信息。
其中,所述發(fā)布程序?qū)傩孕畔⑦€包括該程序的版本標(biāo)識。
為解決上述問題,本發(fā)明還公開了一種基于分布式網(wǎng)絡(luò)的程序部署方法,包括發(fā)布節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)通過代理節(jié)點(diǎn)相連;在發(fā)布節(jié)點(diǎn)中預(yù)置代理節(jié)點(diǎn)配置表,所述代理節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述代理節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息;發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)送至相應(yīng)的代理節(jié)點(diǎn);所述代理節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;代理節(jié)點(diǎn)將收到的發(fā)布程序發(fā)送至相應(yīng)的目標(biāo)節(jié)點(diǎn)。
目標(biāo)節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
優(yōu)選的,代理節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該代理節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
優(yōu)選的,在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn)。
優(yōu)選的,目標(biāo)節(jié)點(diǎn)更新后,將該節(jié)點(diǎn)位置信息和更新后程序的屬性信息發(fā)送至發(fā)布節(jié)點(diǎn);將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒆鳛楸O(jiān)控信息存儲在節(jié)點(diǎn)監(jiān)控表中。
優(yōu)選的,定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)當(dāng)前程序的屬性信息。
優(yōu)選的,所述發(fā)布程序?qū)傩孕畔ㄔ摮绦虻漠a(chǎn)品標(biāo)識;所述獲取代理節(jié)點(diǎn)位置信息是通過查詢代理節(jié)點(diǎn)配置表,獲取與所述發(fā)布程序產(chǎn)品標(biāo)識相匹配的代理節(jié)點(diǎn)位置信息;所述獲取目標(biāo)節(jié)點(diǎn)位置信息是通過查詢目標(biāo)節(jié)點(diǎn)配置表,獲取與所述發(fā)布程序產(chǎn)品標(biāo)識相匹配的目標(biāo)節(jié)點(diǎn)位置信息。
其中,所述發(fā)布程序?qū)傩孕畔⑦€包括該程序的版本標(biāo)識。
為解決上述問題,本發(fā)明公開了一種基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng),包括服務(wù)器和客戶端,其中,所述服務(wù)器包括第一存儲單元,用于存儲目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;選擇單元,用于查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;第一接口單元,用于將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的目標(biāo)節(jié)點(diǎn);設(shè)置單元,用于在傳輸狀態(tài)表中設(shè)置目標(biāo)節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài),所述傳輸狀態(tài)表存儲在第一存儲單元中;所述客戶端包括第二接口單元,用于接收服務(wù)器發(fā)送的程序;反饋單元,用于收到發(fā)布程序后向服務(wù)器發(fā)送反饋信息。
優(yōu)選的,客戶端的反饋單元還包括更新反饋模塊,用于在目標(biāo)節(jié)點(diǎn)更新后,將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序的屬性信息發(fā)送至服務(wù)器;所述服務(wù)器還包括監(jiān)控信息生成單元,用于在第一存儲單元中的節(jié)點(diǎn)監(jiān)控表中生成目標(biāo)節(jié)點(diǎn)的監(jiān)控信息,所述監(jiān)控信息包括目標(biāo)節(jié)點(diǎn)的位置信息和當(dāng)前運(yùn)行程序的屬性信息。
優(yōu)選的,所述服務(wù)器還包括掃描單元,用于定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息。
為解決上述問題,本發(fā)明還公開了另一種基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng),包括服務(wù)器、代理和客戶端,所述服務(wù)器和客戶端通過代理相連,其中,所述服務(wù)器包括第一存儲單元,用于存儲代理節(jié)點(diǎn)配置表,所述代理節(jié)點(diǎn)配置表包括該代理節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;第一選擇單元,用于查詢所述代理節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息;第一接口單元,用于將發(fā)布程序發(fā)送至與所述代理節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);所述代理包括第二存儲單元,用于存儲目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;第二選擇單元,用于查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;第二接口單元,用于將發(fā)布程序發(fā)送至與所述目標(biāo)節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);所述客戶端包括第三接口單元,用于接收發(fā)布程序;第三反饋單元,用于收到發(fā)布程序后發(fā)送反饋信息;所述服務(wù)器還包括設(shè)置單元,用于在傳輸狀態(tài)表中設(shè)置目標(biāo)節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài),所述傳輸狀態(tài)表存儲在第一存儲單元中。
優(yōu)選的,所述代理還包括第二反饋單元,用于收到發(fā)布程序后發(fā)送反饋信息;所述設(shè)置單元還用于在傳輸狀態(tài)表中設(shè)置代理節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài)。
優(yōu)選的,所述第一存儲單元還存儲了目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;所述第一選擇單元還包括目標(biāo)節(jié)點(diǎn)選擇模塊,用于查詢第一存儲單元中的目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,并通過第一接口單元將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn)。
優(yōu)選的,所述第三反饋單元還包括更新反饋模塊,用于在目標(biāo)節(jié)點(diǎn)更新后,將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序的屬性信息發(fā)送至服務(wù)器;所述服務(wù)器還包括監(jiān)控信息生成單元,用于在第一存儲單元中的節(jié)點(diǎn)監(jiān)控表中生成目標(biāo)節(jié)點(diǎn)的監(jiān)控信息,所述監(jiān)控信息包括目標(biāo)節(jié)點(diǎn)的位置信息和當(dāng)前運(yùn)行程序的屬性信息。
優(yōu)選的,所述服務(wù)器還包括掃描單元,用于定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明通過在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,然后將發(fā)布程序發(fā)送至該目標(biāo)節(jié)點(diǎn)。采用這種方式避免了現(xiàn)有技術(shù)使用升級程序從服務(wù)器下載程序而產(chǎn)生的大量的無效請求,由于服務(wù)器不再響應(yīng)和處理這種無效請求,因此大大降低了服務(wù)器的負(fù)荷,保證了服務(wù)器安全穩(wěn)定的運(yùn)行。同時(shí),本發(fā)明將程序發(fā)送至目標(biāo)節(jié)點(diǎn)后,會記錄該程序在傳輸過程中的狀態(tài),并且,只有在收到了目標(biāo)節(jié)點(diǎn)的反饋信息后才將該傳輸狀態(tài)標(biāo)記為結(jié)束。若目標(biāo)節(jié)點(diǎn)未在規(guī)定的時(shí)間內(nèi)發(fā)送反饋信息,則可認(rèn)為傳輸過程異常,管理人員可據(jù)此做出反應(yīng)。因此,通過本發(fā)明可準(zhǔn)確獲知目標(biāo)節(jié)點(diǎn)接收程序的狀況,從而保證目標(biāo)節(jié)點(diǎn)能夠及時(shí)地更新程序版本。避免了現(xiàn)有技術(shù)中由于升級程序故障,導(dǎo)致的無法及時(shí)下載程序,造成程序版本不一致的問題。
進(jìn)一步的,本發(fā)明通過目標(biāo)節(jié)點(diǎn)主動發(fā)送或者定期掃描目標(biāo)節(jié)點(diǎn)的方式,獲取該節(jié)點(diǎn)當(dāng)前程序的版本信息,這樣以來,使得所有節(jié)點(diǎn)上運(yùn)行的程序都處于監(jiān)控之中。對于不符合要求的節(jié)點(diǎn)和程序,可及時(shí)地預(yù)警和處理,徹底解決了各節(jié)點(diǎn)程序版本不一致而產(chǎn)生的數(shù)據(jù)風(fēng)險(xiǎn)。
本發(fā)明在部署程序時(shí),只需在發(fā)布節(jié)點(diǎn)或服務(wù)器進(jìn)行控制,各目標(biāo)節(jié)點(diǎn)和客戶端并不需要干預(yù),因此,在及時(shí)準(zhǔn)確地部署程序的同時(shí)還節(jié)約了大量的人力資源成本。
圖1是分布式網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)示意圖;圖2是根據(jù)本發(fā)明所述的基于分布式網(wǎng)絡(luò)的程序部署方法的優(yōu)選實(shí)施例的步驟流程圖;圖3是根據(jù)本發(fā)明所述的基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng)的優(yōu)選實(shí)施例的結(jié)構(gòu)方框圖;圖4是根據(jù)本發(fā)明所述的基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng)的另一優(yōu)選實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施例方式
為了更好地理解本發(fā)明,在介紹本發(fā)明的實(shí)施例之前,首先介紹一下TCP/IP(Transmission Control Protocol/Internet Protocol)網(wǎng)絡(luò)中節(jié)點(diǎn)間通信的基本原理。
網(wǎng)絡(luò)中的設(shè)備根據(jù)它們的網(wǎng)絡(luò)地址(TCP/IP網(wǎng)絡(luò)中為IP地址)互相通信。IP地址是與硬件地址無關(guān)的“邏輯”地址。IP地址的結(jié)構(gòu)有兩部分,一部分定義網(wǎng)絡(luò)號,另一部分定義網(wǎng)絡(luò)內(nèi)的主機(jī)號。同一個(gè)網(wǎng)絡(luò)中的主機(jī)IP地址,其網(wǎng)絡(luò)號相同,這個(gè)網(wǎng)絡(luò)稱為IP子網(wǎng)。
在同一IP子網(wǎng)中的兩臺主機(jī)通信時(shí),可直接將分組發(fā)送給對方。要與其它IP子網(wǎng)的主機(jī)進(jìn)行通信,則必須選擇一個(gè)能到達(dá)目的子網(wǎng)上的路由器,把分組送給該路由器,再由路由器負(fù)責(zé)把分組送到目的地。所謂分組是將用戶傳送的數(shù)據(jù)劃分成一定的長度,每個(gè)部分叫做一個(gè)分組。
路由動作包括兩項(xiàng)基本內(nèi)容尋徑和轉(zhuǎn)發(fā)。尋徑即判定到達(dá)目的地的最佳路徑,由路由選擇算法來實(shí)現(xiàn)。為了判定最佳路徑,路由選擇算法必須啟動并維護(hù)包含路由信息的路由表,其中路由信息依賴于所用的路由選擇算法而不盡相同。路由選擇算法將收集到的不同信息填入路由表中,根據(jù)路由表可將目的網(wǎng)絡(luò)與下一站(nexthop)的關(guān)系告訴路由器。路由器間互通信息進(jìn)行路由更新,更新維護(hù)路由表使之正確反映網(wǎng)絡(luò)的拓?fù)渥兓⒂陕酚善鞲鶕?jù)量度來決定最佳路徑。這就是路由選擇協(xié)議(routing protocol),例如路由信息協(xié)議(RIP)、開放式最短路徑優(yōu)先協(xié)議(OSPF)和邊界網(wǎng)關(guān)協(xié)議(BGP)等。
轉(zhuǎn)發(fā)即沿尋徑好的最佳路徑傳送信息。路由器首先在路由表中查找,判明是否知道如何將分組發(fā)送到下一個(gè)站點(diǎn)(路由器或主機(jī)),如果路由器不知道如何發(fā)送數(shù)據(jù),通常將該分組丟棄;否則就根據(jù)路由表的相應(yīng)表項(xiàng)將分組發(fā)送到下一個(gè)站點(diǎn),如果目的網(wǎng)絡(luò)直接與路由器相連,路由器就把分組直接送到相應(yīng)的端口上。這就是路由轉(zhuǎn)發(fā)協(xié)議(routed protocol)。
路由轉(zhuǎn)發(fā)協(xié)議和路由選擇協(xié)議是相互配合又相互獨(dú)立,前者使用后者維護(hù)的路由表,同時(shí)后者要利用前者提供的功能來發(fā)布路由協(xié)議數(shù)據(jù)分組。
典型的路由選擇方式有兩種靜態(tài)路由和動態(tài)路由。
靜態(tài)路由是在路由器中設(shè)置的固定的路由表。除非網(wǎng)絡(luò)管理員干預(yù),否則靜態(tài)路由不會發(fā)生變化。靜態(tài)路由的優(yōu)點(diǎn)是簡單、高效、可靠。
動態(tài)路由是網(wǎng)絡(luò)中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實(shí)時(shí)地適應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)的變化。如果路由更新信息表明發(fā)生了網(wǎng)絡(luò)變化,路由選擇軟件就會重新計(jì)算路由,并發(fā)出新的路由更新信息。這些信息通過各個(gè)網(wǎng)絡(luò),引起各路由器重新啟動其路由算法,并更新各自的路由表以動態(tài)地反映網(wǎng)絡(luò)拓?fù)渥兓討B(tài)路由適用于網(wǎng)絡(luò)規(guī)模大、網(wǎng)絡(luò)拓?fù)鋸?fù)雜的網(wǎng)絡(luò)。當(dāng)然,各種動態(tài)路由協(xié)議會不同程度地占用網(wǎng)絡(luò)帶寬和CPU資源。
本發(fā)明所述的基于分布式網(wǎng)絡(luò)的程序部署方法,就是基于一個(gè)節(jié)點(diǎn)到多個(gè)節(jié)點(diǎn)的數(shù)據(jù)通信過程。
以上介紹了網(wǎng)絡(luò)中節(jié)點(diǎn)通信的基本原理,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
本發(fā)明所述的用于分布式網(wǎng)絡(luò)的程序部署方法包括在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn);目標(biāo)節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
參照圖2,圖2示出了根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的程序部署方法的步驟流程圖。下面參考圖2并參照圖1對本發(fā)明的這一優(yōu)選實(shí)施例進(jìn)行詳細(xì)描述。
在本例中,以M1為發(fā)布節(jié)點(diǎn),節(jié)點(diǎn)M301和M302為目標(biāo)節(jié)點(diǎn)?,F(xiàn)將要發(fā)布的程序由M1部署到M301和M302。
步驟201發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息。
目標(biāo)節(jié)點(diǎn)配置表中存儲了該目標(biāo)節(jié)點(diǎn)的位置信息,通過位置信息可以在網(wǎng)絡(luò)中唯一確定一個(gè)節(jié)點(diǎn)。如上文所述,要在網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)間互相通信,需要知道對方的IP地址。優(yōu)選的,所述目標(biāo)節(jié)點(diǎn)位置信息從節(jié)點(diǎn)配置數(shù)據(jù)中獲取,該配置數(shù)據(jù)包括網(wǎng)絡(luò)中所有節(jié)點(diǎn)的節(jié)點(diǎn)號、IP地址和節(jié)點(diǎn)端口號。在網(wǎng)絡(luò)技術(shù)中,端口(Port)一般有兩種含義一是物理意義上的端口,比如,ADSLModem、集線器、交換機(jī)、路由器用于連接其他網(wǎng)絡(luò)設(shè)備的接口,如RJ-45端口、SC端口等等;二是邏輯意義上的端口,一般是指TCP/IP協(xié)議中的端口,端口號的范圍從0到65535,比如用于瀏覽網(wǎng)頁服務(wù)的80端口,用于FTP服務(wù)的21端口等等。本發(fā)明所述端口是指邏輯意義上的端口。以下,我們用節(jié)點(diǎn)號表示該節(jié)點(diǎn)的位置信息。如圖1所示,在該網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)中,每一個(gè)節(jié)點(diǎn)對應(yīng)其唯一的節(jié)點(diǎn)號。使用節(jié)點(diǎn)號可方便對本發(fā)明的實(shí)施例進(jìn)行描述,但在通信中,節(jié)點(diǎn)號最終會被轉(zhuǎn)換成該節(jié)點(diǎn)對應(yīng)的IP和端口號用于尋址。
目標(biāo)節(jié)點(diǎn)配置表中還存儲有該目標(biāo)節(jié)點(diǎn)可接收程序的屬性信息,優(yōu)選的,可接收程序的屬性信息包括該程序的產(chǎn)品標(biāo)識。為了讓已發(fā)布的程序繼續(xù)保持其生命力,需要對該程序做進(jìn)一步改進(jìn)和升級,因此,也就需要發(fā)布該程序新的版本。由于網(wǎng)絡(luò)中不同節(jié)點(diǎn)的作用和目的通常存在差異,因此,各節(jié)點(diǎn)上可運(yùn)行的程序也不盡相同。本發(fā)明中,用產(chǎn)品標(biāo)識表示一類獨(dú)立發(fā)布的程序,而對于同一類程序的不同版本通過版本標(biāo)識進(jìn)行區(qū)分。例如,在節(jié)點(diǎn)M301上運(yùn)行兩個(gè)程序,一個(gè)是用于人事管理的程序P1,另一個(gè)是用于帳務(wù)管理的程序P2,其中P1先后發(fā)布了兩個(gè)版本V1.0和V1.1,P2發(fā)布了一個(gè)版本V1.0。利用程序?qū)傩孕畔⒅械漠a(chǎn)品標(biāo)識和版本標(biāo)識可唯一確定一個(gè)程序。
需要說明的是,所述產(chǎn)品標(biāo)識并不局限為一個(gè)單一的數(shù)據(jù),還可以是幾個(gè)數(shù)據(jù)的組合,只要這種組合能夠區(qū)分出不同的程序即可,本發(fā)明對此不作限制。所述發(fā)布節(jié)點(diǎn)中預(yù)置的目標(biāo)節(jié)點(diǎn)配置表結(jié)構(gòu)如下
步驟102查詢目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序產(chǎn)品標(biāo)識相匹配的目標(biāo)節(jié)點(diǎn)位置信息。
當(dāng)確定了一個(gè)要發(fā)布的程序后,同時(shí)也就確定了該程序的屬性信息,如該程序的產(chǎn)品標(biāo)識和版本標(biāo)識等。這樣,就可以根據(jù)該程序的產(chǎn)品標(biāo)識查詢目標(biāo)節(jié)點(diǎn)配置表,獲取該程序要部署的節(jié)點(diǎn)的位置信息。作為本領(lǐng)域的普通技術(shù)人員應(yīng)該容易理解,根據(jù)發(fā)布程序的產(chǎn)品標(biāo)識獲取目標(biāo)節(jié)點(diǎn)位置信息只是本發(fā)明優(yōu)選的方法,在實(shí)施本發(fā)明時(shí)當(dāng)然不必局限于此。例如可以通過程序的作者、所屬公司、組織以及運(yùn)行環(huán)境參數(shù)等信息匹配,也可以通過幾種數(shù)據(jù)的組合進(jìn)行匹配等。
步驟103將發(fā)布程序發(fā)送至與目標(biāo)節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn)。
步驟104目標(biāo)節(jié)點(diǎn)接收發(fā)布程序并發(fā)送反饋信息。
步驟105在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
將發(fā)布程序發(fā)送至相應(yīng)的目標(biāo)節(jié)點(diǎn)后,通過在傳輸狀態(tài)表設(shè)置傳輸狀態(tài)標(biāo)志記錄所述目標(biāo)節(jié)點(diǎn)接收該發(fā)布程序的過程。所述傳輸狀態(tài)表主要包括以下數(shù)據(jù)
優(yōu)選的,傳輸狀態(tài)表存儲于發(fā)布節(jié)點(diǎn)中;發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)送至目標(biāo)節(jié)點(diǎn)后,在傳輸狀態(tài)表設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志;發(fā)布節(jié)點(diǎn)收到目標(biāo)節(jié)點(diǎn)的反饋信息后更新傳輸狀態(tài)表中相應(yīng)的傳輸狀態(tài)標(biāo)志。利用發(fā)布節(jié)點(diǎn)存儲傳輸狀態(tài)表,有利于管理人員對整個(gè)部署過程進(jìn)行集中管理和監(jiān)控。當(dāng)然,在什么位置,以何種方式存儲、更新傳輸狀態(tài)表,本發(fā)明對此并不作限制。例如,可另外設(shè)置一管理節(jié)點(diǎn)用于存儲、更新傳輸狀態(tài)表。發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)出后,即在傳輸狀態(tài)表中設(shè)置相應(yīng)的傳輸狀態(tài)標(biāo)志,這樣,可以及時(shí)方便地查看發(fā)布程序的傳輸狀態(tài),當(dāng)然,容易得知,發(fā)布節(jié)點(diǎn)在收到目標(biāo)節(jié)點(diǎn)的反饋信息后再設(shè)置傳輸狀態(tài)標(biāo)志也是可以的。
通過傳輸狀態(tài)表,可以準(zhǔn)確地反映出各個(gè)目標(biāo)節(jié)點(diǎn)在接收發(fā)布程序的過程中所處的狀態(tài)。例如,若某個(gè)應(yīng)該接收發(fā)布程序的目標(biāo)節(jié)點(diǎn)在超出規(guī)定的時(shí)間后,其在傳輸狀態(tài)表中沒有產(chǎn)生相應(yīng)的傳輸狀態(tài)記錄或者相應(yīng)的傳輸狀態(tài)標(biāo)志仍為未結(jié)束,則可認(rèn)為該節(jié)點(diǎn)接收失敗。管理人員可據(jù)此向該節(jié)點(diǎn)重新發(fā)送發(fā)布程序,如此可有效保證所有目標(biāo)節(jié)點(diǎn)的接收過程均處于監(jiān)控之中,一旦接收過程發(fā)生異常,可及時(shí)進(jìn)行處理,避免了現(xiàn)有技術(shù)中因?yàn)樯壋绦蚬收隙鴮?dǎo)致無法下載程序,造成各節(jié)點(diǎn)程序版本的不一致。
優(yōu)選的,目標(biāo)節(jié)點(diǎn)安裝完所述發(fā)布程序后,將該目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔l(fā)送至發(fā)布節(jié)點(diǎn);發(fā)布節(jié)點(diǎn)在節(jié)點(diǎn)監(jiān)控表中記錄該目標(biāo)節(jié)點(diǎn)當(dāng)前運(yùn)行程序的信息。這樣以來,管理人員可通過節(jié)點(diǎn)監(jiān)控表檢驗(yàn)各目標(biāo)節(jié)點(diǎn)當(dāng)前程序的版本標(biāo)識是否為最新,若否,則認(rèn)為該目標(biāo)節(jié)點(diǎn)尚未安裝最新的發(fā)布程序,管理人員可向該節(jié)點(diǎn)發(fā)送通知。所述節(jié)點(diǎn)監(jiān)控表主要包括以下數(shù)據(jù)
另外,本發(fā)明還可通過以下方法獲取節(jié)點(diǎn)監(jiān)控表所需的數(shù)據(jù)定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息和該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息,然后將上述目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒋鎯υ诠?jié)點(diǎn)監(jiān)控表中。上述掃描過程可以由駐留在各目標(biāo)節(jié)點(diǎn)的監(jiān)控程序定期將掃描結(jié)果發(fā)送回發(fā)布節(jié)點(diǎn),也可以由發(fā)布節(jié)點(diǎn)定期向各目標(biāo)節(jié)點(diǎn)發(fā)送查詢請求以獲取相應(yīng)的信息。
可以看出,以何種方式獲取節(jié)點(diǎn)監(jiān)控表所需的數(shù)據(jù),本發(fā)明對此不作限制,本領(lǐng)域的技術(shù)人員可根據(jù)需要選擇使用。
本發(fā)明的另一實(shí)施例中,發(fā)布節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)通過代理節(jié)點(diǎn)相連,例如以節(jié)點(diǎn)M21作為代理節(jié)點(diǎn)。發(fā)布節(jié)點(diǎn)存儲代理節(jié)點(diǎn)配置表,所述代理節(jié)點(diǎn)配置表包括該代理節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;代理節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息。首先,查詢代理節(jié)點(diǎn)配置表,獲得與要發(fā)布的程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息。然后,發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)送至相應(yīng)的代理節(jié)點(diǎn);代理節(jié)點(diǎn)收到程序后,查詢目標(biāo)節(jié)點(diǎn)配置表,獲取與該程序?qū)傩孕畔⑵ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,并將程序發(fā)送至該目標(biāo)節(jié)點(diǎn);目標(biāo)節(jié)點(diǎn)收到程序后發(fā)出反饋信息;最后,在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)記錄。
優(yōu)選的,代理節(jié)點(diǎn)收到發(fā)布程序后發(fā)出反饋信息;在傳輸狀態(tài)表中設(shè)置與該代理節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
優(yōu)選的,在發(fā)布節(jié)點(diǎn)中還預(yù)置了目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序直接發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn)。當(dāng)需要檢驗(yàn)需要接收發(fā)布程序的目標(biāo)節(jié)點(diǎn)是否成功接收時(shí),首先從目標(biāo)節(jié)點(diǎn)配置表中查詢出需要接收發(fā)布程序的全部目標(biāo)節(jié)點(diǎn),然后逐一判斷該目標(biāo)節(jié)點(diǎn)在傳輸狀態(tài)表中是否存在相應(yīng)的記錄,若不存在,則認(rèn)為該目標(biāo)節(jié)點(diǎn)接收異常。
在本例中,發(fā)布節(jié)點(diǎn)可以將發(fā)布程序直接發(fā)送至目標(biāo)節(jié)點(diǎn);另外,當(dāng)存在大量目標(biāo)節(jié)點(diǎn)的情況下,發(fā)布節(jié)點(diǎn)只需向少量的幾個(gè)代理節(jié)點(diǎn)發(fā)送程序,由代理節(jié)點(diǎn)繼續(xù)向目標(biāo)節(jié)點(diǎn)發(fā)送程序。這樣以來,大大減少了發(fā)布節(jié)點(diǎn)向所有目標(biāo)節(jié)點(diǎn)發(fā)送程序而導(dǎo)致的沉重負(fù)擔(dān),有效保證了發(fā)布節(jié)點(diǎn)正常穩(wěn)定的工作。以上兩種部署方式可擇一使用,也可結(jié)合使用,在應(yīng)用本發(fā)明時(shí),本領(lǐng)域的技術(shù)人員可根據(jù)需要進(jìn)行選擇。
優(yōu)選的,目標(biāo)節(jié)點(diǎn)安裝完所述發(fā)布程序后,將該目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔l(fā)送至發(fā)布節(jié)點(diǎn);發(fā)布節(jié)點(diǎn)在節(jié)點(diǎn)監(jiān)控表中記錄該目標(biāo)節(jié)點(diǎn)當(dāng)前運(yùn)行程序的信息。另外,本發(fā)明還可通過定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息和該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息,然后將上述目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒋鎯υ诠?jié)點(diǎn)監(jiān)控表中。節(jié)點(diǎn)監(jiān)控表優(yōu)選的存儲于發(fā)布節(jié)點(diǎn),當(dāng)然也可以另外設(shè)置一節(jié)點(diǎn)用于存儲和管理節(jié)點(diǎn)監(jiān)控表。在實(shí)際應(yīng)用中,目標(biāo)節(jié)點(diǎn)還可以向代理節(jié)點(diǎn)發(fā)送更新后的反饋信息,由代理節(jié)點(diǎn)存儲和管理節(jié)點(diǎn)監(jiān)控表,這樣,將節(jié)點(diǎn)監(jiān)控的工作分散到各代理節(jié)點(diǎn),減輕了發(fā)布節(jié)點(diǎn)的工作負(fù)擔(dān)。
以上,結(jié)合具體實(shí)施例描述了本發(fā)明的一種基于分布式網(wǎng)絡(luò)的程序部署方法。參照以上有關(guān)本發(fā)明的介紹,如圖3所示,是本發(fā)明所述的一種基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng),包括服務(wù)器3100和客戶端3200,所述服務(wù)器部署在發(fā)布節(jié)點(diǎn),所述客戶端部署在目標(biāo)節(jié)點(diǎn),其中,所述服務(wù)器包括第一存儲單元3106,用于存儲目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;選擇單元3102,用于查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;第一接口單元3101,用于將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的目標(biāo)節(jié)點(diǎn);設(shè)置單元3103,用于在傳輸狀態(tài)表中設(shè)置目標(biāo)節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài),所述傳輸狀態(tài)表存儲在第一存儲單元中3106;所述客戶端包括第二接口單元3201,用于接收服務(wù)器發(fā)送的程序;反饋單元3202,用于收到發(fā)布程序后向服務(wù)器發(fā)送反饋信息。
優(yōu)選的,反饋單元還包括更新反饋模塊3203,用于在目標(biāo)節(jié)點(diǎn)更新后,將該目標(biāo)節(jié)點(diǎn)位置信息和發(fā)布程序?qū)傩孕畔l(fā)送至服務(wù)器;所述服務(wù)器還包括監(jiān)控信息生成單元3104,用于在第一存儲單元3106中的節(jié)點(diǎn)監(jiān)控表中生成目標(biāo)節(jié)點(diǎn)的監(jiān)控信息,所述監(jiān)控信息包括目標(biāo)節(jié)點(diǎn)的位置信息和當(dāng)前運(yùn)行程序的屬性信息。
優(yōu)選的,所述服務(wù)器還包括掃描單元3105,用于定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息。
服務(wù)器部署發(fā)布程序之前,首先,在服務(wù)器的第一存儲單元3106中存儲目標(biāo)節(jié)點(diǎn)配置表;然后,選擇單元3102查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,并通過第一接口單元3101,將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的目標(biāo)節(jié)點(diǎn);第二接口3201單元收到服務(wù)器發(fā)送的程序后,反饋單元3202通過第二節(jié)口單元3201向服務(wù)器發(fā)送反饋信息;設(shè)置單元3103在第一節(jié)口單元3101收到反饋信息后在傳輸狀態(tài)表中設(shè)置與目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志;目標(biāo)節(jié)點(diǎn)更新后,更新反饋模塊3203將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序的屬性信息發(fā)送至服務(wù)器。另外,服務(wù)器也可通過掃描單元3105,定期掃描目標(biāo)節(jié)點(diǎn),獲取各目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前程序的屬性信息;監(jiān)控信息生成單元3104將收到的目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒆鳛楸O(jiān)控信息存儲在節(jié)點(diǎn)監(jiān)控表中。
如圖4所示,是本發(fā)明所述的一種基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng)的另一實(shí)施例,包括服務(wù)器4100、代理4200和客戶端4300,其中服務(wù)器4100和客戶端4300通過代理4200相連接,其中,所述服務(wù)器4100包括第一存儲單元4105,用于存儲代理節(jié)點(diǎn)配置表,所述代理節(jié)點(diǎn)配置表包括該代理節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;第一選擇單元4104,用于查詢所述代理節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息;第一接口單元4101,用于將發(fā)布程序發(fā)送至與所述代理節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);所述代理包括第二存儲單元4203,用于存儲目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;第二選擇單元4202,用于查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;第二接口單元4201,用于將發(fā)布程序發(fā)送至與所述目標(biāo)節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);所述客戶端包括第三接口單元4301,用于接收發(fā)布程序;第三反饋單元4302,用于收到發(fā)布程序后發(fā)送反饋信息;所述服務(wù)器還包括設(shè)置單元4102,用于在傳輸狀態(tài)表中設(shè)置目標(biāo)節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài),所述傳輸狀態(tài)表存儲在第一存儲單元4105中。
首先,服務(wù)器通過第一選擇單元4104查詢代理節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息;然后,通過第一接口單元4101將發(fā)布程序發(fā)送至與所述代理節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);代理收到發(fā)布程序后,通過第二選擇單元4202查詢第二存儲單元4203中的目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,并通過第二接口單元4201,將發(fā)布程序發(fā)送至與所述目標(biāo)節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);客戶端收到發(fā)布程序后,向服務(wù)器發(fā)送反饋信息;服務(wù)器收到反饋信息后,通過設(shè)置單元4102在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài),若傳輸狀態(tài)表中不存在該目標(biāo)節(jié)點(diǎn)相應(yīng)的記錄,則通過設(shè)置單元4102生成相應(yīng)的記錄。
優(yōu)選的,第一存儲單元4105還存儲了目標(biāo)節(jié)點(diǎn)配置表;第一選擇單元4104還包括目標(biāo)節(jié)點(diǎn)選擇模塊4103;目標(biāo)節(jié)點(diǎn)選擇模塊4103查詢第一存儲單元4105中的目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,并由第一接口單元4101將發(fā)布程序發(fā)送至與所述目標(biāo)節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn)。
服務(wù)器是否將發(fā)布程序直接發(fā)送至目標(biāo)節(jié)點(diǎn),可由本領(lǐng)域的技術(shù)人員在實(shí)施本發(fā)明時(shí)根據(jù)需要選擇使用。
優(yōu)選的,所述第三反饋單元4302還包括更新反饋模塊4303,用于在目標(biāo)節(jié)點(diǎn)更新后,將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序的屬性信息發(fā)送至服務(wù)器4100;所述服務(wù)器4100還包括監(jiān)控信息生成單元4106,用于在第一存儲單元4105中的節(jié)點(diǎn)監(jiān)控表中生成目標(biāo)節(jié)點(diǎn)的監(jiān)控信息,所述監(jiān)控信息包括目標(biāo)節(jié)點(diǎn)的位置信息和當(dāng)前運(yùn)行程序的屬性信息。優(yōu)選的,服務(wù)器4100還包括掃描單元4107,用于定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息上述關(guān)于本發(fā)明所述系統(tǒng)的描述中未詳盡之處,可以參見本說明書前述相關(guān)部分。
以上對本發(fā)明所提供的一種基于分布式網(wǎng)絡(luò)的程序部署方法、系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種基于分布式網(wǎng)絡(luò)的程序部署方法,其特征在于,包括以下步驟在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn);目標(biāo)節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
2.根據(jù)權(quán)利要求1所述的程序部署方法,其特征在于,所述傳輸狀態(tài)表存儲在發(fā)布節(jié)點(diǎn)中;發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)送至目標(biāo)節(jié)點(diǎn)后,在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志;發(fā)布節(jié)點(diǎn)收到目標(biāo)節(jié)點(diǎn)發(fā)送的反饋信息后,更新傳輸狀態(tài)表中該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
3.根據(jù)權(quán)利要求2所述的程序部署方法,其特征在于,還包括目標(biāo)節(jié)點(diǎn)更新后,將該節(jié)點(diǎn)位置信息和更新后程序的屬性信息發(fā)送至發(fā)布節(jié)點(diǎn);將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒆鳛楸O(jiān)控信息存儲在節(jié)點(diǎn)監(jiān)控表中。
4.根據(jù)權(quán)利要求1至3所述的任意一項(xiàng)程序部署方法,其特征在于,還包括定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)當(dāng)前程序的屬性信息。
5.根據(jù)權(quán)利要求1所述的程序部署方法,其特征在于,所述發(fā)布程序?qū)傩孕畔ㄔ摮绦虻漠a(chǎn)品標(biāo)識;所述獲取目標(biāo)節(jié)點(diǎn)位置信息是通過查詢目標(biāo)節(jié)點(diǎn)配置表,獲取與所述發(fā)布程序產(chǎn)品標(biāo)識相匹配的目標(biāo)節(jié)點(diǎn)位置信息。
6.根據(jù)權(quán)利要求5所述的程序部署方法,其特征在于,所述發(fā)布程序?qū)傩孕畔⑦€包括該程序的版本標(biāo)識。
7.一種基于分布式網(wǎng)絡(luò)的程序部署方法,其特征在于,包括發(fā)布節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)通過代理節(jié)點(diǎn)相連;在發(fā)布節(jié)點(diǎn)中預(yù)置代理節(jié)點(diǎn)配置表,所述代理節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述代理節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息;發(fā)布節(jié)點(diǎn)將發(fā)布程序發(fā)送至相應(yīng)的代理節(jié)點(diǎn);所述代理節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;代理節(jié)點(diǎn)將收到的發(fā)布程序發(fā)送至相應(yīng)的目標(biāo)節(jié)點(diǎn)。目標(biāo)節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
8.根據(jù)權(quán)利要求7所述的程序部署方法,其特征在于,還包括代理節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該代理節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。
9.根據(jù)權(quán)利要求8所述的程序部署方法,其特征在于,還包括在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求9所述的程序部署方法,其特征在于,還包括目標(biāo)節(jié)點(diǎn)更新后,將該節(jié)點(diǎn)位置信息和更新后程序的屬性信息發(fā)送至發(fā)布節(jié)點(diǎn);將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序?qū)傩孕畔⒆鳛楸O(jiān)控信息存儲在節(jié)點(diǎn)監(jiān)控表中。
11.根據(jù)權(quán)利要求7至10所述的任意一項(xiàng)程序部署方法,其特征在于,還包括定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)當(dāng)前程序的屬性信息。
12.根據(jù)權(quán)利要求7所述的程序部署方法,其特征在于,所述發(fā)布程序?qū)傩孕畔ㄔ摮绦虻漠a(chǎn)品標(biāo)識;所述獲取代理節(jié)點(diǎn)位置信息是通過查詢代理節(jié)點(diǎn)配置表,獲取與所述發(fā)布程序產(chǎn)品標(biāo)識相匹配的代理節(jié)點(diǎn)位置信息;所述獲取目標(biāo)節(jié)點(diǎn)位置信息是通過查詢目標(biāo)節(jié)點(diǎn)配置表,獲取與所述發(fā)布程序產(chǎn)品標(biāo)識相匹配的目標(biāo)節(jié)點(diǎn)位置信息。
13.根據(jù)權(quán)利要求12所述的程序部署方法,其特征在于,所述發(fā)布程序?qū)傩孕畔⑦€包括該程序的版本標(biāo)識。
14.一種基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng),其特征在于,包括服務(wù)器和客戶端,其中,所述服務(wù)器包括第一存儲單元,用于存儲目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;選擇單元,用于查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;第一接口單元,用于將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的目標(biāo)節(jié)點(diǎn);設(shè)置單元,用于在傳輸狀態(tài)表中設(shè)置目標(biāo)節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài),所述傳輸狀態(tài)表存儲在第一存儲單元中;所述客戶端包括第二接口單元,用于接收服務(wù)器發(fā)送的程序;反饋單元,用于收到發(fā)布程序后向服務(wù)器發(fā)送反饋信息。
15.根據(jù)權(quán)利要求14所述的程序部署系統(tǒng),其特征在于,客戶端的反饋單元還包括更新反饋模塊,用于在目標(biāo)節(jié)點(diǎn)更新后,將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序的屬性信息發(fā)送至服務(wù)器;所述服務(wù)器還包括監(jiān)控信息生成單元,用于在第一存儲單元中的節(jié)點(diǎn)監(jiān)控表中生成目標(biāo)節(jié)點(diǎn)的監(jiān)控信息,所述監(jiān)控信息包括目標(biāo)節(jié)點(diǎn)的位置信息和當(dāng)前運(yùn)行程序的屬性信息。
16.根據(jù)權(quán)利要求14或15所述的程序部署系統(tǒng),其特征在于,所述服務(wù)器還包括掃描單元,用于定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息。
17.一種基于分布式網(wǎng)絡(luò)的程序部署系統(tǒng),其特征在于,包括服務(wù)器、代理和客戶端,所述服務(wù)器和客戶端通過代理相連,其中,所述服務(wù)器包括第一存儲單元,用于存儲代理節(jié)點(diǎn)配置表,所述代理節(jié)點(diǎn)配置表包括該代理節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;第一選擇單元,用于查詢所述代理節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞拇砉?jié)點(diǎn)位置信息;第一接口單元,用于將發(fā)布程序發(fā)送至與所述代理節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);所述代理包括第二存儲單元,用于存儲目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;第二選擇單元,用于查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;第二接口單元,用于將發(fā)布程序發(fā)送至與所述目標(biāo)節(jié)點(diǎn)位置信息相應(yīng)的節(jié)點(diǎn);所述客戶端包括第三接口單元,用于接收發(fā)布程序;第三反饋單元,用于收到發(fā)布程序后發(fā)送反饋信息;所述服務(wù)器還包括設(shè)置單元,用于在傳輸狀態(tài)表中設(shè)置目標(biāo)節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài),所述傳輸狀態(tài)表存儲在第一存儲單元中。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,所述代理還包括第二反饋單元,用于收到發(fā)布程序后發(fā)送反饋信息;所述設(shè)置單元還用于在傳輸狀態(tài)表中設(shè)置代理節(jié)點(diǎn)接收發(fā)布程序的傳輸狀態(tài)。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,所述第一存儲單元還存儲了目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該節(jié)點(diǎn)的位置信息以及該節(jié)點(diǎn)可接收程序的屬性信息;所述第一選擇單元還包括目標(biāo)節(jié)點(diǎn)選擇模塊,用于查詢第一存儲單元中的目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息,并通過第一接口單元將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn)。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述第三反饋單元還包括更新反饋模塊,用于在目標(biāo)節(jié)點(diǎn)更新后,將更新后的目標(biāo)節(jié)點(diǎn)位置信息和程序的屬性信息發(fā)送至服務(wù)器;所述服務(wù)器還包括監(jiān)控信息生成單元,用于在第一存儲單元中的節(jié)點(diǎn)監(jiān)控表中生成目標(biāo)節(jié)點(diǎn)的監(jiān)控信息,所述監(jiān)控信息包括目標(biāo)節(jié)點(diǎn)的位置信息和當(dāng)前運(yùn)行程序的屬性信息。
21.根據(jù)權(quán)利要求17至20所述的任意一種程序部署系統(tǒng),其特征在于,所述服務(wù)器還包括掃描單元,用于定期掃描目標(biāo)節(jié)點(diǎn),獲取目標(biāo)節(jié)點(diǎn)位置信息以及該節(jié)點(diǎn)上當(dāng)前運(yùn)行程序的屬性信息。
全文摘要
本發(fā)明公開了一種基于分布式網(wǎng)絡(luò)的程序部署方法和系統(tǒng),用于解決現(xiàn)有技術(shù)在部署程序時(shí)難以控制版本一致的問題。所述方法包括在發(fā)布節(jié)點(diǎn)中預(yù)置目標(biāo)節(jié)點(diǎn)配置表,所述目標(biāo)節(jié)點(diǎn)配置表包括該目標(biāo)節(jié)點(diǎn)的位置信息以及可接收程序的屬性信息;查詢所述目標(biāo)節(jié)點(diǎn)配置表,獲取與發(fā)布程序?qū)傩孕畔⑾嗥ヅ涞哪繕?biāo)節(jié)點(diǎn)位置信息;將發(fā)布程序發(fā)送至與所述位置信息相應(yīng)的節(jié)點(diǎn);目標(biāo)節(jié)點(diǎn)接收所述發(fā)布程序并發(fā)送反饋信息;在傳輸狀態(tài)表中設(shè)置與該目標(biāo)節(jié)點(diǎn)相應(yīng)的傳輸狀態(tài)標(biāo)志。這樣以來,通過監(jiān)控每一個(gè)目標(biāo)節(jié)點(diǎn)接收程序的過程,有效保證了各目標(biāo)節(jié)點(diǎn)上程序版本的一致。
文檔編號G06F9/445GK1976289SQ200610170640
公開日2007年6月6日 申請日期2006年12月22日 優(yōu)先權(quán)日2006年12月22日
發(fā)明者林志農(nóng), 周子堅(jiān), 張立峰, 鄭煒杰 申請人:中國建設(shè)銀行股份有限公司