專利名稱:實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,更具體的說是涉及一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法和系統(tǒng)。
背景技術(shù):
在基于互聯(lián)網(wǎng)技術(shù)的應(yīng)用中,通常涉及到發(fā)送節(jié)點(diǎn)需要向接收節(jié)點(diǎn)同步傳輸數(shù)據(jù),同步傳輸是指同一數(shù)據(jù)包或者同一文件需要傳送至多個(gè)接收節(jié)點(diǎn),其中,發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)可以是相應(yīng)的web服務(wù)器?,F(xiàn)有的實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法中,通常是由發(fā)送節(jié)點(diǎn)將需要同步傳輸?shù)臄?shù)據(jù)分別發(fā)送至多個(gè)接收節(jié)點(diǎn),當(dāng)傳送的數(shù)據(jù)量較多,或者接收節(jié)點(diǎn)較多時(shí),發(fā)送節(jié)點(diǎn)需要傳輸大量的數(shù)據(jù),且增加了發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)的次數(shù),由于發(fā)送節(jié)點(diǎn)出口帶寬的限制,從而就會影響數(shù)據(jù)傳輸?shù)男?,且發(fā)送次數(shù)的增多也影響了發(fā)送節(jié)點(diǎn)的性能
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法和系統(tǒng),用以解決數(shù)據(jù)傳輸效率低,影響節(jié)點(diǎn)性能的問題。為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法,所述方法包括發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息,所述傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息;所述發(fā)送節(jié)點(diǎn)將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)占.
I— /、、、 以所述對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),并觸發(fā)所述起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程,所述循環(huán)發(fā)送流程包括起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,并將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),再以所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),直至最后一個(gè)目的節(jié)點(diǎn)接收到所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表。優(yōu)選地,所述發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息之后還包括所述發(fā)送節(jié)點(diǎn)觸發(fā)首地址循環(huán)檢測流程,所述首地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中的首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊正常,再執(zhí)行所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn)的步驟,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。優(yōu)選地,所述起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其地址信息相鄰的下一個(gè)地址信息之后還包括
所述起始目的節(jié)點(diǎn)觸發(fā)下一個(gè)地址循環(huán)檢測流程,所述下一個(gè)地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,再執(zhí)行將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)的步驟,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。優(yōu)選地,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,則所述方法還包括最后一個(gè)目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);發(fā)送節(jié)點(diǎn)根據(jù)所述當(dāng)前傳遞路徑表判斷是否存在通訊異常節(jié)點(diǎn),以便于存在通訊異常節(jié)點(diǎn)時(shí),重新根據(jù)通訊異常節(jié)點(diǎn)的地址信息,建立新的傳遞路徑表;并將所述新的傳遞路徑表作為當(dāng)前路徑表。 優(yōu)選地,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,所述方法還包括最后一個(gè)目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中所述發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息, 并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括發(fā)送節(jié)點(diǎn)和至少兩個(gè)目的節(jié)點(diǎn),所述發(fā)送節(jié)點(diǎn),用于獲取當(dāng)前傳遞路徑表中的首地址信息,并將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn),所述傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息;所述目的節(jié)點(diǎn),用于接收待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表,獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,將所述待傳輸?shù)臄?shù)據(jù)和傳遞路徑表發(fā)送至下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。優(yōu)選地,所述發(fā)送節(jié)點(diǎn)還用于觸發(fā)首地址循環(huán)檢測流程,所述首地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與所述當(dāng)前傳遞路徑表中的首地址信息所對應(yīng)的目的節(jié)點(diǎn)通訊正常,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。優(yōu)選地,所述目的節(jié)點(diǎn)還用于觸發(fā)下一個(gè)地址循環(huán)檢測流程,所述下一個(gè)地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中其地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。優(yōu)選地,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,則,當(dāng)所述目的節(jié)點(diǎn)為最后一個(gè)目的節(jié)點(diǎn)時(shí),所述 目的節(jié)點(diǎn)還用于獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);所述發(fā)送節(jié)點(diǎn)還用于根據(jù)所述當(dāng)前傳遞路徑表判斷是否存在通訊異常節(jié)點(diǎn),以便于存在通訊異常節(jié)點(diǎn)時(shí),重新根據(jù)通訊異常節(jié)點(diǎn)的地址信息,建立新的傳遞路徑表;并將所述新的傳遞路徑表作為當(dāng)前傳遞路徑表。優(yōu)選地,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,則,當(dāng)所述目的節(jié)點(diǎn)為最后一個(gè)目的節(jié)點(diǎn)時(shí),所述目的節(jié)點(diǎn)還用于獲取發(fā)送節(jié)點(diǎn)的地址信息,并將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);所述發(fā)送節(jié)點(diǎn)還用于接收到最后一個(gè)目的節(jié)點(diǎn)發(fā)送的待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表后,獲取當(dāng)前傳遞路徑表中所述發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法和系統(tǒng),由發(fā)送節(jié)點(diǎn)根據(jù)當(dāng)前傳遞路徑表中的每個(gè)目的節(jié)點(diǎn)的地址信息,首先將待傳輸數(shù)據(jù)和傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn),該目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn)觸發(fā)循環(huán)發(fā)送流程,直至每個(gè)目的節(jié)點(diǎn)均接收到待傳輸?shù)臄?shù)據(jù),發(fā)送節(jié)點(diǎn)只發(fā)送一次待傳輸數(shù)據(jù),即實(shí)現(xiàn)了同步傳輸,從而節(jié)省了出口帶寬,提高了數(shù)據(jù)傳輸效率,提高了節(jié)點(diǎn)性能。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例1的流程圖;圖2為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例2的流程圖;圖3為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例3的流程圖;圖4為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例4的流程圖;圖5為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng)實(shí)施例1的結(jié)構(gòu)示意圖;圖6為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng)實(shí)施例2的結(jié)構(gòu)示意圖;圖7為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng)實(shí)施例3的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例公開了一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法和系統(tǒng),發(fā)送節(jié)點(diǎn)根據(jù)當(dāng)前傳遞路徑表中的每個(gè)目的節(jié)點(diǎn)的地址信息,首先將待傳輸數(shù)據(jù)和傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn),該目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn)觸發(fā)循環(huán)發(fā)送流程,直至每個(gè)目的節(jié)點(diǎn)均接收到待傳輸?shù)臄?shù)據(jù),發(fā)送節(jié)點(diǎn)只發(fā)送一次待傳輸數(shù)據(jù),即實(shí)現(xiàn)了同步傳輸,從而節(jié)省了出口帶寬,提高了數(shù)據(jù)傳輸效率,提高了節(jié)點(diǎn)性能。參見圖1,示出本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例1的流程圖,可以包括以下幾個(gè)步驟步驟101 發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息,所述傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息。本實(shí)施例中,發(fā)送節(jié)點(diǎn)作為發(fā)送端,在需要向多個(gè)目的節(jié)點(diǎn)同步傳輸數(shù)據(jù)時(shí),首先預(yù)先設(shè)置傳遞路徑表,傳遞路徑表中包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述地址信息在傳遞路徑表中按預(yù)定順序排列,所述地址信息包括IP地址和/或通訊端口。該預(yù)定順序可根據(jù)實(shí)際情況具體設(shè)定。發(fā)送節(jié)點(diǎn)將預(yù)先設(shè)置的傳遞路徑表作為當(dāng)前傳遞路徑表,獲取該當(dāng)前傳遞路徑表中的首地址信息。步驟102 所述發(fā)送節(jié)點(diǎn)將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn)。發(fā)送節(jié)點(diǎn)獲取待傳輸?shù)臄?shù)據(jù),該數(shù)據(jù)可以是文件、程序或者其他可以進(jìn)行傳輸?shù)臄?shù)據(jù)組織形式,待傳輸數(shù)據(jù)即是指需要同步傳輸?shù)臄?shù)據(jù)。發(fā)送節(jié)點(diǎn)可將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表封裝成數(shù)據(jù)包的形式進(jìn)行傳輸,由于發(fā)送節(jié)點(diǎn)可能執(zhí)行不同的數(shù)據(jù)傳輸任務(wù),為提高傳輸?shù)男?,封裝好的數(shù)據(jù)包首先進(jìn)入發(fā)送隊(duì)列,由發(fā)送線程池負(fù)責(zé)發(fā)送,根據(jù)首地址信息中的IP地址和通訊端口,將數(shù)據(jù)包發(fā)送至對應(yīng)的目的節(jié)點(diǎn)。步驟103 以所述首地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),并觸發(fā)起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程。所述循環(huán)發(fā)送流程包括起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,并將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),再以所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),直至最后一個(gè)目的節(jié)點(diǎn)接收到所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表。傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,并按預(yù)定順序排列,在實(shí)際應(yīng)用中,假設(shè)有N個(gè)目的節(jié)點(diǎn),(其中N為整數(shù),N大于等于2),其地址信息在傳遞路徑表中按預(yù)定順序排列,路徑節(jié)點(diǎn)列表排列可如下slpl = XXX. XXX. xxx. xxx ;
slp2 = xxx. xxx. xxx. xxx ;slp3 = xxx. xxx. xxx. xxx ;slp4 = xxx. xxx. xxx. xxx ;......sIpN = xxx. xxx. xxx. xxx ;其中,xxx. xxx. xxx. xxx代表具體的每個(gè)目的節(jié)點(diǎn)地址信息,傳遞路徑表中slpl,
slp2......sIpN即代表按照預(yù)定順序排列后的目的節(jié)點(diǎn),在該表中slpl對應(yīng)的地址信息
即為首地址信息。發(fā)送節(jié)點(diǎn)獲取slpl的地址信息,將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表封裝成數(shù)據(jù)包并發(fā)送至slpl對應(yīng)的目的節(jié)點(diǎn),該slpl對應(yīng)的目的節(jié)點(diǎn)保存所述數(shù)據(jù)包,并解封裝獲取當(dāng)前傳遞路路徑表中slp2的地址信息,即與其對應(yīng)的地址信息之后的下一個(gè)地址信息,并繼續(xù)將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表封裝成數(shù)據(jù)包發(fā)送至slp2對應(yīng)的目的節(jié)
點(diǎn)......,每個(gè)目的節(jié)點(diǎn)均執(zhí)行相似的操作,獲取傳遞路徑表中與自身對應(yīng)的地址信息之
后的下一個(gè)地址信息,并將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),直至最后一個(gè)目的節(jié)點(diǎn),即sIpN對應(yīng)的目的節(jié)點(diǎn)接收到待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表。本實(shí)施例中的傳遞路徑表,即是指路徑節(jié)點(diǎn)的列表,在數(shù)據(jù)傳輸過程中,針對傳遞路徑表,數(shù)據(jù)結(jié)構(gòu)和相關(guān)變量的定義可采用如下代碼實(shí)現(xiàn)
struct sendNode//路徑節(jié)點(diǎn)信息
{
string sip;//主機(jī) IP 地址
short nPort;//主機(jī)通訊端口
};
struct sendPath//傳遞路徑信息
{
int nNextNode;//后續(xù)操作節(jié)點(diǎn)索引
list〈struct sendNode> nodeList; //路徑節(jié)點(diǎn)列表
};
struct sendPath sendPathList;//傳遞路徑對象需要說明的是,上述傳遞路徑表只是一種可以實(shí)現(xiàn)的的實(shí)施例,并不是對傳遞路徑表 的具體限定,所述傳遞路徑表需滿足包含目的節(jié)點(diǎn)的地址信息,并按照一定順序排列, 使得目的節(jié)點(diǎn)能夠讀取表中信息即可。本實(shí)施例中,假設(shè)發(fā)送節(jié)點(diǎn)需要發(fā)送的數(shù)據(jù)包總量為m,目的節(jié)點(diǎn)數(shù)為n,單位時(shí)間內(nèi)發(fā)送數(shù)據(jù)包的個(gè)數(shù)為b,即網(wǎng)絡(luò)傳輸速率為b,若采用傳統(tǒng)的一對多方式進(jìn)行傳輸,則數(shù)據(jù)傳輸總時(shí)間為Tl = m*n/b ;
而采用本發(fā)明所述的方法,數(shù)據(jù)傳輸總時(shí)間為T2 = m/b+n/b = (m+n) /b ;其中n/b表示數(shù)據(jù)包從發(fā)送節(jié)點(diǎn)發(fā)出到最后一個(gè)目的節(jié)點(diǎn)接收到數(shù)據(jù)包的延遲時(shí)間,該延遲時(shí)間與目的節(jié)點(diǎn)總數(shù)η成正比,與網(wǎng)絡(luò)傳輸速率b成反比。由上述式子可知,當(dāng)m或η中有一個(gè)值為1時(shí),才會有則Tl <Τ2,否則Tl彡Τ2, 且m和η數(shù)值越大時(shí),Tl越遠(yuǎn)遠(yuǎn)大于Τ2,因此采用本發(fā)明所述的方法可明顯提高數(shù)據(jù)傳輸?shù)男?。在本?shí)施例中,發(fā)送節(jié)點(diǎn)根據(jù)當(dāng)前傳遞路徑表中的每個(gè)目的節(jié)點(diǎn)的地址信息,首先將待傳輸數(shù)據(jù)和傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn),該目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn)觸發(fā)循環(huán)發(fā)送流程,直至每個(gè)目的節(jié)點(diǎn)均接收到待傳輸?shù)臄?shù)據(jù),發(fā)送節(jié)點(diǎn)只需發(fā)送一次待傳輸數(shù)據(jù),再由目的節(jié)點(diǎn)依次進(jìn)行傳遞,即實(shí)現(xiàn)了同步傳輸,從而節(jié)省了出口帶寬, 提高了數(shù)據(jù)傳輸效率,提高了節(jié)點(diǎn)性能。 參見圖2,示出了本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例2的流程圖,可以包括以下幾個(gè)步驟步驟201 發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息,該當(dāng)前傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息。本步驟與實(shí)施例1相似,在此不再贅述。步驟202 所述發(fā)送節(jié)點(diǎn)觸發(fā)首地址循環(huán)檢測流程。所述首地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中的首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊正常,進(jìn)入步驟203。所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息后,需要首先針對該首地址信息對應(yīng)的目的節(jié)點(diǎn),進(jìn)行通訊狀態(tài)檢測,當(dāng)通訊狀態(tài)出現(xiàn)異常時(shí),需要調(diào)整傳遞路徑表,將出現(xiàn)通訊異常的目的節(jié)點(diǎn)所對應(yīng)的地址信息置于傳遞路徑表的末尾,即位于其他節(jié)點(diǎn)的地址信息之后,形成調(diào)整后的傳遞路徑表,發(fā)送節(jié)點(diǎn)將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表, 執(zhí)行首地址循環(huán)檢測流程,直至檢測出與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊正常,該當(dāng)前傳遞路徑表即表示最后一次調(diào)整后的傳遞路徑表。以實(shí)施例1中所描述的傳遞路徑表為例,未調(diào)整前的傳遞路徑表為slpl = XXX. XXX. xxx. xxx ;slp2 = xxx. xxx. xxx. xxx ;slp3 = xxx. xxx. xxx. xxx ;slp4 = xxx. xxx. xxx. xxx ;......sIpN = xxx. xxx. xxx. xxx ;若發(fā)送節(jié)點(diǎn)與slpl的目的節(jié)點(diǎn)通訊異常,則重新獲取調(diào)整后的傳遞路徑表中的首地址信息,此時(shí)即為slp2所對應(yīng)的地址信息,若仍存在通訊異常,則繼續(xù)檢測,當(dāng)檢測到與第三個(gè)地址信息所對應(yīng)的目的節(jié)點(diǎn),即slp3通訊狀態(tài)正常,則將該次調(diào)整后的傳遞表作為當(dāng)前傳遞路徑表,該調(diào)整后的傳遞表為slp3 = XXX. xxx. xxx. xxx ;slp4 = xxx. xxx. xxx. xxx ;......
sIpN = xxx. xxx. xxx. xxx ;slpl = xxx. xxx. xxx. xxx ;slp2 = xxx. xxx. xxx. xxx ;通訊異常節(jié)點(diǎn)的地址信息依次位于傳遞路徑表末尾。步驟203 所述發(fā)送節(jié)點(diǎn)將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn)。該首地址信息即為在發(fā)送節(jié)點(diǎn)檢測出現(xiàn)通訊異常節(jié)點(diǎn)時(shí),最后調(diào)整的傳遞路徑表中的首地址信息,如步驟202中所舉實(shí)例,即為slp3對應(yīng)的地址信息。步驟204 以所述首地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),并觸發(fā)所述起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程。所述循環(huán)發(fā)送流程包括起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,并將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),再以所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),直至最后一個(gè)目的節(jié)點(diǎn)接收到所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表。其中,該循環(huán)發(fā)送流程中,所述起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息后,可以首先觸發(fā)下一個(gè)地址循環(huán)檢測流程,所述下一個(gè)地址循環(huán)檢測流程包括起始目的節(jié)點(diǎn)檢測與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,再執(zhí)行將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)的步驟,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。起始目的節(jié)點(diǎn)獲取下一個(gè)地址信息,在傳送數(shù)據(jù)之前,也需要執(zhí)行與發(fā)送節(jié)點(diǎn)相同的通訊檢測操作,若出現(xiàn)通訊異常節(jié)點(diǎn)時(shí),需要重新調(diào)整傳遞路徑表,將出現(xiàn)通訊異常的節(jié)點(diǎn)的地址信息置于傳遞路徑表末尾,即其它節(jié)點(diǎn)地址信息之后,該起始目的節(jié)點(diǎn)將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,繼續(xù)進(jìn)行通訊檢測,直至與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,該當(dāng)前傳遞路徑表即為本步驟204 中最后一次調(diào)整后的傳遞路徑表。仍以步驟202中所舉實(shí)例為例,在發(fā)送節(jié)點(diǎn)檢測時(shí),最后調(diào)整的傳遞路徑表為slp3 = xxx. xxx. xxx. xxx ;slp4 = xxx. xxx. xxx. xxx ;......sIpN = xxx. xxx. xxx. xxx ;
slpl = xxx. xxx. xxx. xxx ;slp2 = xxx. xxx. xxx. xxx ;slp3接收到待傳輸數(shù)據(jù)和上述傳遞路徑表后,作為起始目的節(jié)點(diǎn),獲取該表中其對應(yīng)的地址信息之后的下一個(gè)地址信息,即slp4對應(yīng)的地址信息,當(dāng)與slp4的目的節(jié)點(diǎn)通訊異常時(shí),則將傳遞路徑表進(jìn)行再一次調(diào)整,調(diào)整后的表為slp3 = xxx. xxx. xxx. xxx ;slp5 = xxx. xxx. xxx. xxx ;
......sIpN = xxx. xxx. xxx. xxx ;slpl = xxx. xxx. xxx. xxx ;slp2 = xxx. xxx. xxx. xxx ;slp4 = xxx. xxx. xxx. xxx ;將slp4及其對應(yīng)的地址信息置于其他節(jié)點(diǎn)地址信息之后,起始目的節(jié)點(diǎn)繼續(xù)獲取當(dāng)前傳遞路徑表中的下一個(gè)地址信息,即slp5所對應(yīng)的地址信息,并繼續(xù)進(jìn)行通訊檢測,直接檢測出與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常。起始目的節(jié)點(diǎn)檢測出與下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊正常時(shí),繼續(xù)起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程。每一個(gè)可作為起始目的節(jié)點(diǎn)的目的節(jié)點(diǎn),均可觸發(fā)下一個(gè)地址信息循環(huán)檢測流程,以保證數(shù)據(jù)的準(zhǔn)確傳輸。在本實(shí)施例中,發(fā)送節(jié)點(diǎn)和目的節(jié)點(diǎn)在進(jìn)行數(shù)據(jù)傳輸前,均首先進(jìn)行通訊狀態(tài)檢測,在節(jié)省了出口帶寬,提高了數(shù)據(jù)傳輸效率的同時(shí),保證了數(shù)據(jù)的有效傳輸。參見圖3,示出了本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例3的流程圖,所述方法可以包括步驟301 發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息。發(fā)送節(jié)點(diǎn)首先將預(yù)先設(shè)置的傳遞路徑表作為當(dāng)前傳遞路徑表,該預(yù)先設(shè)置的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,還包括發(fā)送節(jié)點(diǎn)的地址信息,所述地址信息按預(yù)定順序排列,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾,即其他目的節(jié)點(diǎn)地址信息之后, 仍以方法實(shí)施例1所舉傳遞路徑表為例,在預(yù)先設(shè)置的傳遞路徑表中,在本實(shí)施例中,所述 SlpN即可代表發(fā)送節(jié)點(diǎn)的地址信息。步驟302 所述發(fā)送節(jié)點(diǎn)觸發(fā)首地址循環(huán)檢測流程。步驟303 所述發(fā)送節(jié)點(diǎn)將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn)。步驟304 以所述首地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),并觸發(fā)所述起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程。步驟302 步驟304與實(shí)施例2步驟202 步驟204所述相似,具體可參見實(shí)施例2所述,在此不再贅述。步驟305 最后一個(gè)目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn)。
待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表封裝成數(shù)據(jù)包形式傳送至最后一個(gè)目的節(jié)點(diǎn)時(shí),本實(shí)施例中,由于預(yù)先設(shè)置的傳遞路徑中還包括發(fā)送節(jié)點(diǎn)的地址信息,位于最后一個(gè)目的節(jié)點(diǎn)地址信息之后,該最后一個(gè)目的節(jié)點(diǎn)獲取傳遞路徑表與其對應(yīng)的信息之后的下一個(gè)地址信息,即發(fā)送節(jié)點(diǎn)的地址信息,將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn)。其中,所述最后一個(gè)目的節(jié)點(diǎn)在發(fā)送待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表之前,也可以先進(jìn)行通訊狀態(tài)的檢測,若其與發(fā)送節(jié)點(diǎn)的通訊異常時(shí),則直接結(jié)束流程。步驟306 發(fā)送節(jié)點(diǎn)根據(jù)所述當(dāng)前傳遞路徑表判斷是否存在通訊異常節(jié)點(diǎn),以便于存在通訊異常節(jié)點(diǎn)時(shí),重新根據(jù)通訊異常節(jié)點(diǎn)的地址信息,建立新的傳遞路徑表。發(fā)送節(jié)點(diǎn)接收到當(dāng)前傳遞路徑表后,根據(jù)當(dāng)前傳遞路徑表,檢測出與其對應(yīng)的地址信息之后是否還存在地址信息,若存在,則表明在數(shù)據(jù)傳輸中,存在通訊異常的節(jié)點(diǎn),在調(diào)整傳遞路徑表的過程中,該通訊異常的節(jié)點(diǎn)的地址信息被依次置于傳遞路徑表末尾,且連續(xù)排列。根據(jù)傳遞路徑表中,通訊異常節(jié)點(diǎn)的地址信息列表,可重新建立新的傳遞路徑表。步驟307 發(fā)送節(jié)點(diǎn)將所述新的傳遞路徑表作為當(dāng)前傳遞路徑表。
發(fā)送節(jié)點(diǎn)建立失敗重傳任務(wù),將所述新的傳遞路徑表作為當(dāng)前傳遞路徑表,可返回步驟301繼續(xù)執(zhí)行。直至發(fā)送節(jié)點(diǎn)檢測出當(dāng)前傳遞路徑表中的后續(xù)的地址信息為空,即表明所有目的節(jié)點(diǎn)均接收到待傳輸?shù)臄?shù)據(jù),保證了同步傳輸數(shù)據(jù)的完整性。在本實(shí)施例中,最后一個(gè)目的節(jié)點(diǎn)接收到待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表后,還將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表反饋給發(fā)送節(jié)點(diǎn),以便于發(fā)送節(jié)點(diǎn)檢測出存在通訊異常節(jié)點(diǎn)時(shí),建立失敗重傳任務(wù),將新的傳遞表作為當(dāng)前傳遞路徑表,繼續(xù)向未接收到待傳輸數(shù)據(jù)的目的節(jié)點(diǎn)傳輸數(shù)據(jù),在節(jié)省了出口帶寬,提高了數(shù)據(jù)傳輸效率提的同時(shí),還保證了數(shù)據(jù)的有效傳輸,保證了數(shù)據(jù)傳輸?shù)目煽啃浴⒁妶D4,示出了本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法實(shí)施例4的流程圖,本實(shí)施例中步驟401 405與方法實(shí)施例3的步驟301 步驟305相似,具體可參見方法實(shí)施例 3所述,其中,所述方法還包括步驟406 發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中所述發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息。當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),通訊異常節(jié)點(diǎn)的地址信息依次被置于傳遞路徑表末尾, 即發(fā)送節(jié)點(diǎn)的地址信息之后,發(fā)送節(jié)點(diǎn)接收到當(dāng)前傳遞路徑表后,還可以直接獲取位于發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息。步驟407 發(fā)送節(jié)點(diǎn)將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。該目的節(jié)點(diǎn)可作為起始目的節(jié)點(diǎn),觸發(fā)起始目的節(jié)點(diǎn)循環(huán)發(fā)送流程,直至某個(gè)目的節(jié)點(diǎn)檢測出當(dāng)前傳遞路徑表中后續(xù)地址信息為空,則結(jié)束流程。在本實(shí)施例中,由于出現(xiàn)通訊異常節(jié)點(diǎn)時(shí),該通訊異常節(jié)點(diǎn)即被置于傳遞路徑表末尾,發(fā)送節(jié)點(diǎn)接收到待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表后,可繼續(xù)獲取位于發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息,將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),繼續(xù)進(jìn)行數(shù)據(jù)傳輸,直至當(dāng)前傳遞路徑表中后續(xù)地址信息為空,從而保證了同步傳輸數(shù)據(jù)的可靠性,節(jié)省了出口帶寬,提高了數(shù)據(jù)傳輸效率。
本發(fā)明還提供了一 種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng),參見圖5,為該系統(tǒng)實(shí)施例1的結(jié)構(gòu)示意圖,所述系統(tǒng)包括發(fā)送節(jié)點(diǎn)501和至少兩個(gè)目的節(jié)點(diǎn)502。發(fā)送節(jié)點(diǎn)501,用于獲取當(dāng)前傳遞路徑表中的首地址信息,并將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn),所述傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址f曰息。所述地址信息包括目的節(jié)點(diǎn)的IP地址和通訊端口。目的節(jié)點(diǎn)502,用于接收待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表,獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,將所述待傳輸?shù)臄?shù)據(jù)和傳遞路徑表發(fā)送至下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。其中,所述發(fā)送節(jié)點(diǎn)501,還用于觸發(fā)首地址循環(huán)檢測流程。所述首地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與所述當(dāng)前傳遞路徑表中的首地址信息所對應(yīng)的目的節(jié)點(diǎn)通訊正常,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。所述目的節(jié)點(diǎn)502,還用于觸發(fā)下一個(gè)地址循環(huán)檢測流程。所述下一個(gè)地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中其地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。參見圖6,為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng)實(shí)施例2的結(jié)構(gòu)示意圖,在本實(shí)施例中,傳遞路徑表中還包括發(fā)送節(jié)點(diǎn)的地址信息,發(fā)送節(jié)點(diǎn)的地址信息在預(yù)先設(shè)置傳遞路徑表時(shí),被置于最后一個(gè)目的節(jié)點(diǎn)地址信息之后。發(fā)送節(jié)點(diǎn)在進(jìn)行首地址循環(huán)檢測流程中,或者,目的節(jié)點(diǎn)在進(jìn)行下一個(gè)地址信息的循環(huán)檢測流程中,出現(xiàn)通訊異常節(jié)點(diǎn)時(shí),在調(diào)整傳遞路徑表的過程中,通訊異常節(jié)點(diǎn)的地址信息被依次置于傳遞路徑表末尾,且連續(xù)排列。貝1J,當(dāng)目的節(jié)點(diǎn)為最后一個(gè)目的節(jié)點(diǎn)時(shí),所述目的節(jié)點(diǎn)602,還用于獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)601的地址信息,并將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn)601,則,所述發(fā)送節(jié)點(diǎn)601,還用于根據(jù)所述當(dāng)前傳遞路徑表判斷是否存在通訊異常節(jié)點(diǎn), 以便于存在通訊異常節(jié)點(diǎn)時(shí),重新根據(jù)通訊異常節(jié)點(diǎn)的地址信息,建立新的傳遞路徑表;并將所述新的傳遞路徑表作為當(dāng)前傳遞路徑表。發(fā)送節(jié)點(diǎn)601和目的節(jié)點(diǎn)602的其他功能可具體參見系統(tǒng)實(shí)施例1所述,在此不
再贅述。其中,作為另一個(gè)可行的實(shí)施例,參見圖7,為本發(fā)明一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng)實(shí)施例3的結(jié)構(gòu)示意圖,在本實(shí)施例中,傳遞路徑表中還包括發(fā)送節(jié)點(diǎn)的地址信息,發(fā)送節(jié)點(diǎn)的地址信息在預(yù)先設(shè)置傳遞路徑表時(shí),被置于最后一個(gè)目的節(jié)點(diǎn)地址信息之后。發(fā)送節(jié)點(diǎn)在進(jìn)行首地址循環(huán)檢測流程中,或者,目的節(jié)點(diǎn)在進(jìn)行下一個(gè)地址信息的循環(huán)檢測流程中,出現(xiàn)通訊異常節(jié)點(diǎn)時(shí),在調(diào)整傳遞路徑表的過程中,通訊異常節(jié)點(diǎn)的地址信息被依次置于傳遞路徑表末尾,且連續(xù)排列。則,當(dāng)目的節(jié)點(diǎn)為最后一個(gè)目的節(jié)點(diǎn)時(shí),所述目的節(jié)點(diǎn)702,還用于獲取發(fā)送節(jié)點(diǎn)的地址信息,并將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn)701,則,所述發(fā)送節(jié)點(diǎn)701,還用于接收到最后一個(gè)目的節(jié)點(diǎn)發(fā)送的待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表后,獲取當(dāng)前傳遞路徑表中所述發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。發(fā)送節(jié)點(diǎn)701和目的節(jié)點(diǎn)702的其他功能可具體參見系統(tǒng)實(shí)施例1所述,在此不再贅述。在本發(fā)明的系統(tǒng)實(shí)施例中,發(fā)送節(jié)點(diǎn)在同步傳輸數(shù)據(jù)時(shí),只需發(fā)送一次數(shù)據(jù),目的節(jié)點(diǎn)在將所述待傳輸數(shù)據(jù)依次傳遞,即可實(shí)現(xiàn)數(shù)據(jù)的同步傳輸,節(jié)省了發(fā)送節(jié)點(diǎn)的出口帶寬,提高了數(shù)據(jù)傳輸?shù)男?,且發(fā)送節(jié)點(diǎn)和目的節(jié)點(diǎn)在傳送數(shù)據(jù)過程中可進(jìn)行通訊狀態(tài)的檢測,根據(jù)出現(xiàn)通訊異常的節(jié)點(diǎn),還可重新建立失敗重傳任務(wù),從而保證了數(shù)據(jù)傳輸?shù)目煽啃浴T趯?shí)際應(yīng)用中,所述發(fā)送節(jié)點(diǎn)可具體為一個(gè)發(fā)布服務(wù)器,所述目的節(jié)點(diǎn)可具體為文件服務(wù)器,發(fā)布服務(wù)器向文件服務(wù)器同步傳輸大量文件時(shí),由于只需發(fā)送一次數(shù)據(jù),節(jié)省了發(fā)布服務(wù)器的出口帶寬,從而提高了數(shù)據(jù)傳輸?shù)男省?本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
1.一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法,其特征在于,所述方法包括發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息,所述傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息;所述發(fā)送節(jié)點(diǎn)將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn)。以所述對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),并觸發(fā)所述起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程,所述循環(huán)發(fā)送流程包括起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,并將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),再以所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),直至最后一個(gè)目的節(jié)點(diǎn)接收到所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息之后還包括所述發(fā)送節(jié)點(diǎn)觸發(fā)首地址循環(huán)檢測流程,所述首地址循環(huán)檢測流程包括 檢測與當(dāng)前傳遞路徑表中的首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊正常,再執(zhí)行所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn)的步驟,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其地址信息相鄰的下一個(gè)地址信息之后還包括所述起始目的節(jié)點(diǎn)觸發(fā)下一個(gè)地址循環(huán)檢測流程,所述下一個(gè)地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,再執(zhí)行將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)的步驟,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,則所述方法還包括最后一個(gè)目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);發(fā)送節(jié)點(diǎn)根據(jù)所述當(dāng)前傳遞路徑表判斷是否存在通訊異常節(jié)點(diǎn),以便于存在通訊異常節(jié)點(diǎn)時(shí),重新根據(jù)通訊異常節(jié)點(diǎn)的地址信息,建立新的傳遞路徑表;并將所述新的傳遞路徑表作為當(dāng)前路徑表。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,所述方法還包括最后一個(gè)目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中所述發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。
6.一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括發(fā)送節(jié)點(diǎn)和至少兩個(gè)目的節(jié)點(diǎn),所述發(fā)送節(jié)點(diǎn),用于獲取當(dāng)前傳遞路徑表中的首地址信息,并將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn),所述傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址 fn息;所述目的節(jié)點(diǎn),用于接收待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表,獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,將所述待傳輸?shù)臄?shù)據(jù)和傳遞路徑表發(fā)送至下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述發(fā)送節(jié)點(diǎn)還用于觸發(fā)首地址循環(huán)檢測流程,所述首地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中首地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與所述當(dāng)前傳遞路徑表中的首地址信息所對應(yīng)的目的節(jié)點(diǎn)通訊正常,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。
8.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述目的節(jié)點(diǎn)還用于觸發(fā)下一個(gè)地址循環(huán)檢測流程,所述下一個(gè)地址循環(huán)檢測流程包括檢測與當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)通訊狀態(tài)是否正常,若否,則將調(diào)整后的傳遞路徑表作為當(dāng)前傳遞路徑表,直至檢測出與當(dāng)前傳遞路徑表中其地址信息之后的下一個(gè)地址信息通訊狀態(tài)正常,所述調(diào)整后的傳遞路徑表包括每個(gè)目的節(jié)點(diǎn)的地址信息,所述通訊異常節(jié)點(diǎn)的地址信息位于傳遞路徑表末尾。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,則, 當(dāng)所述目的節(jié)點(diǎn)為最后一個(gè)目的節(jié)點(diǎn)時(shí),所述目的節(jié)點(diǎn)還用于獲取當(dāng)前傳遞路徑表中發(fā)送節(jié)點(diǎn)的地址信息,并將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn);所述發(fā)送節(jié)點(diǎn)還用于根據(jù)所述當(dāng)前傳遞路徑表判斷是否存在通訊異常節(jié)點(diǎn),以便于存在通訊異常節(jié)點(diǎn)時(shí),重新根據(jù)通訊異常節(jié)點(diǎn)的地址信息,建立新的傳遞路徑表;并將所述新的傳遞路徑表作為當(dāng)前傳遞路徑表。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述傳遞路徑表還包括發(fā)送節(jié)點(diǎn)的地址信息,所述發(fā)送節(jié)點(diǎn)的地址信息位于傳遞路徑表中最后一個(gè)目的節(jié)點(diǎn)所對應(yīng)的地址信息之后,當(dāng)存在通訊異常節(jié)點(diǎn)時(shí),所述通訊異常節(jié)點(diǎn)的地址信息依次置于傳遞路徑表末尾,則, 當(dāng)所述目的節(jié)點(diǎn)為最后一個(gè)目的節(jié)點(diǎn)時(shí),所述目的節(jié)點(diǎn)還用于獲取發(fā)送節(jié)點(diǎn)的地址信息,并將所述待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表返回給發(fā)送節(jié)點(diǎn); 所述發(fā)送節(jié)點(diǎn)還用于接收到最后一個(gè)目的節(jié)點(diǎn)發(fā)送的待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表后,獲取當(dāng)前傳遞路徑表中所述發(fā)送節(jié)點(diǎn)地址信息之后的下一個(gè)地址信息,并將待傳輸數(shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送給所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)同步傳輸數(shù)據(jù)的方法和系統(tǒng),所述方法包括發(fā)送節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中的首地址信息,所述發(fā)送節(jié)點(diǎn)將待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至首地址信息對應(yīng)的目的節(jié)點(diǎn);以所述對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),并觸發(fā)所述起始目的節(jié)點(diǎn)的循環(huán)發(fā)送流程,所述循環(huán)發(fā)送流程包括起始目的節(jié)點(diǎn)獲取當(dāng)前傳遞路徑表中與其對應(yīng)的地址信息之后的下一個(gè)地址信息,并將所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表發(fā)送至所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn),再以所述下一個(gè)地址信息對應(yīng)的目的節(jié)點(diǎn)作為起始目的節(jié)點(diǎn),直至最后一個(gè)目的節(jié)點(diǎn)接收到所述待傳輸?shù)臄?shù)據(jù)和當(dāng)前傳遞路徑表,通過本發(fā)明,節(jié)省了節(jié)點(diǎn)的出口帶寬,提高了數(shù)據(jù)傳輸?shù)男省?br>
文檔編號H04L1/00GK102201911SQ201110129220
公開日2011年9月28日 申請日期2011年5月18日 優(yōu)先權(quán)日2011年5月18日
發(fā)明者王進(jìn) 申請人:山東中創(chuàng)軟件商用中間件股份有限公司