專利名稱:一種基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法。
背景技術(shù):
在通信領(lǐng)域,數(shù)據(jù)的可靠傳輸具有重要的意義,這一點(diǎn)尤其體現(xiàn)在會危及人民生命財(cái)產(chǎn)安全的行業(yè)中,例如鐵路運(yùn)輸業(yè)。在這些行業(yè)中,通常通過冗余通訊的方式保證數(shù)據(jù)的可靠接收,冗余通訊可通過硬件或軟件實(shí)現(xiàn),通過硬件實(shí)現(xiàn)具有成本高和故障率高的缺陷,而通過軟件實(shí)現(xiàn)則存在數(shù)據(jù)重復(fù)處理的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種通過軟件實(shí)現(xiàn)的可避免數(shù)據(jù)重復(fù)處理的冗余通訊方·法。本發(fā)明采用的技術(shù)方案為一種基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法,為每個節(jié)點(diǎn)配置N個相互獨(dú)立的網(wǎng)絡(luò)接口,將每個節(jié)點(diǎn)的N個網(wǎng)絡(luò)接口分別與物理上獨(dú)立的以太網(wǎng)I網(wǎng)至N網(wǎng)對應(yīng)相連,使每個節(jié)點(diǎn)具有N個獨(dú)立的以太網(wǎng)通道,所有節(jié)點(diǎn)的各網(wǎng)絡(luò)接口具有互不相同的IP地址,其中,N為大于等于2的自然數(shù);所述冗余通訊方法為發(fā)送方節(jié)點(diǎn)通過其N個以太網(wǎng)通道以數(shù)據(jù)幀的形式向接收方節(jié)點(diǎn)同時發(fā)送數(shù)據(jù),數(shù)據(jù)幀的幀頭包括幀編號、發(fā)送者ID和接收者ID,發(fā)送方節(jié)點(diǎn)對其每次發(fā)送的數(shù)據(jù)賦予不同的幀編號;接收方節(jié)點(diǎn)從其接收數(shù)據(jù)幀列表中提取一數(shù)據(jù)幀后,根據(jù)當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)判斷當(dāng)前提取的數(shù)據(jù)幀是否已經(jīng)處理過,如果未處理過則進(jìn)行數(shù)據(jù)處理,并關(guān)聯(lián)記錄當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)。其中,接收方節(jié)點(diǎn)根據(jù)當(dāng)前提取的數(shù)據(jù)幀的發(fā)送者ID及/或IP地址確定當(dāng)前提取的數(shù)據(jù)幀所屬的發(fā)送方節(jié)點(diǎn)。其中,第M個節(jié)點(diǎn)的第X個網(wǎng)絡(luò)接口的IP地址為128. 128.乂.11,其中,乂、1為自然數(shù),I < X < N,M彡2 ;接收方節(jié)點(diǎn)根據(jù)當(dāng)前提取的數(shù)據(jù)幀的發(fā)送者ID及/或IP地址的第四個字節(jié)確定當(dāng)前提取的數(shù)據(jù)幀所屬的發(fā)送方節(jié)點(diǎn)。其中,發(fā)送方節(jié)點(diǎn)在啟動或重新啟動后首先向接收方節(jié)點(diǎn)發(fā)送數(shù)據(jù)內(nèi)容表示連接信息的數(shù)據(jù)幀,以為接收方節(jié)點(diǎn)提供發(fā)送方節(jié)點(diǎn)的初始幀編號,即告知接收方節(jié)點(diǎn)以該數(shù)據(jù)幀的幀編號為起始記錄進(jìn)行判斷,相當(dāng)于告知接收方節(jié)點(diǎn)清除之前的針對該發(fā)送方節(jié)點(diǎn)的幀編號記錄;對于接收方節(jié)點(diǎn)每次均在自身的接收數(shù)據(jù)幀列表中提取幀編號最小的數(shù)據(jù)幀進(jìn)行判斷的技術(shù)方案,即為告知接收方節(jié)點(diǎn)該發(fā)送方節(jié)點(diǎn)的最小幀編號。其中,發(fā)送方節(jié)點(diǎn)采用自增長的方式對數(shù)據(jù)幀的幀編號進(jìn)行賦值,接收方節(jié)點(diǎn)每次均在自身的接收數(shù)據(jù)幀列表中提取幀編號最小的數(shù)據(jù)幀進(jìn)行判斷;接收方節(jié)點(diǎn)判斷當(dāng)前提取的數(shù)據(jù)幀是否已經(jīng)處理過的方法為當(dāng)前提取的數(shù)據(jù)幀的幀編號若大于上一次處理的來自同一發(fā)送方節(jié)點(diǎn)的數(shù)據(jù)幀的幀編號,則表示當(dāng)前提取的數(shù)據(jù)幀未處理過,否則表示當(dāng)前提取的數(shù)據(jù)幀已通過其余的以太網(wǎng)通道接收并處理過。本發(fā)明的有益效果為本發(fā)明的冗余通訊方法主要通過軟件實(shí)現(xiàn),降低了對硬件的要求,普通的網(wǎng)絡(luò)設(shè)備便可以實(shí)現(xiàn),從而降低了硬件冗余設(shè)備的成本;另外,本發(fā)明的冗余通訊方法通過引入判斷機(jī)制避免對相同數(shù)據(jù)的重復(fù)處理,提高了處理速度。
圖I為根據(jù)本發(fā)明的基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法的各節(jié)點(diǎn)間的網(wǎng)絡(luò)連接結(jié)構(gòu);圖2為根據(jù)本發(fā)明的基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法的一種實(shí)施方式的流 程圖。
具體實(shí)施例方式應(yīng)用本發(fā)明的冗余通訊方法的硬件基礎(chǔ)如圖I所示,為每個節(jié)點(diǎn)配置N個相互獨(dú)立的網(wǎng)絡(luò)接口,將每個節(jié)點(diǎn)的N個網(wǎng)絡(luò)接口分別與物理上獨(dú)立的以太網(wǎng)I網(wǎng)至N網(wǎng)對應(yīng)相連,使每個節(jié)點(diǎn)具有N個獨(dú)立的以太網(wǎng)通道(此處的獨(dú)立是針對同一節(jié)點(diǎn)的各以太網(wǎng)通道而言,而不是節(jié)點(diǎn)間的以太網(wǎng)通道相互獨(dú)立),所有節(jié)點(diǎn)的各網(wǎng)絡(luò)接口具有互不相同的IP地址,其中,N為大于等于2的自然數(shù)。圖I所示的實(shí)施例中具有M個節(jié)點(diǎn),分別為節(jié)點(diǎn)1,節(jié)點(diǎn)2,直到節(jié)點(diǎn)M,M為大于等于2的自然數(shù),M個節(jié)點(diǎn)均掛在N條以太網(wǎng)上,各節(jié)點(diǎn)的N個網(wǎng)絡(luò)接口與以太網(wǎng)I網(wǎng)至N網(wǎng)——對應(yīng)連接。本發(fā)明的冗余通訊方法為發(fā)送方節(jié)點(diǎn)(即向外發(fā)送數(shù)據(jù)的節(jié)點(diǎn))通過其相互間獨(dú)立的N個以太網(wǎng)通道向接收方節(jié)點(diǎn)(即接收數(shù)據(jù)的節(jié)點(diǎn))同時發(fā)送數(shù)據(jù),對應(yīng)所發(fā)送數(shù)據(jù)的數(shù)據(jù)幀的幀頭包括幀編號、發(fā)送者ID和接收者ID,發(fā)送方節(jié)點(diǎn)對其每次發(fā)送的數(shù)據(jù)賦予不同的幀編號;接收方節(jié)點(diǎn)從其接收數(shù)據(jù)幀列表中提取一數(shù)據(jù)幀后,根據(jù)當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)判斷當(dāng)前提取的數(shù)據(jù)是否已經(jīng)處理過,如果未處理過則進(jìn)行數(shù)據(jù)處理,并關(guān)聯(lián)記錄當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn),這樣,既可保證接收方節(jié)點(diǎn)對相同的數(shù)據(jù)僅處理一次,又實(shí)現(xiàn)了冗余通訊,即只要一條以太網(wǎng)通道通訊正常,即可接收到數(shù)據(jù)。在此,由于不同的節(jié)點(diǎn)可以采用相同的幀編號發(fā)送數(shù)據(jù),因此,必須關(guān)聯(lián)記錄幀編號和數(shù)據(jù)所屬的發(fā)送方節(jié)點(diǎn),否則將無法準(zhǔn)確判斷當(dāng)前提取的數(shù)據(jù)是否已經(jīng)處理過。需要說明的是,本領(lǐng)域技術(shù)人員均清楚,發(fā)送數(shù)據(jù)是以數(shù)據(jù)幀的形式進(jìn)行發(fā)送,數(shù)據(jù)幀包括幀頭、數(shù)據(jù)內(nèi)容和幀尾,幀頭和幀尾信息是格式化的定長信息,數(shù)據(jù)內(nèi)容是變長信息,由數(shù)據(jù)類型決定,由此可見,數(shù)據(jù)是數(shù)據(jù)幀的組成部分,在本領(lǐng)域中,某些情況下習(xí)慣采用“數(shù)據(jù)”進(jìn)行說明,例如“接收數(shù)據(jù)”、“發(fā)送數(shù)據(jù)”,某些情況下習(xí)慣采用“數(shù)據(jù)幀”進(jìn)行說明,例如“提取數(shù)據(jù)幀”,本領(lǐng)域的技術(shù)人員均清楚數(shù)據(jù)與數(shù)據(jù)幀間的對應(yīng)關(guān)系,因此,不能認(rèn)為本發(fā)明的申請文件存在技術(shù)術(shù)語不統(tǒng)一的問題。另外,各節(jié)點(diǎn)需要通過數(shù)據(jù)幀的接收者ID判斷是否為發(fā)送給自己的數(shù)據(jù),即判斷是否要接收以太網(wǎng)上傳輸?shù)臄?shù)據(jù),該部分是現(xiàn)有技術(shù),并不屬于本發(fā)明的發(fā)明點(diǎn),因此,本發(fā)明對此不予說明。接收方節(jié)點(diǎn)可根據(jù)當(dāng)前提取的數(shù)據(jù)幀的發(fā)送者ID及/或發(fā)送方節(jié)點(diǎn)的IP地址確定當(dāng)前提取的數(shù)據(jù)幀所屬的發(fā)送方節(jié)點(diǎn)。為了簡化接收方節(jié)點(diǎn)的判斷步驟,設(shè)第M個節(jié)點(diǎn)的第X個網(wǎng)絡(luò)接口的IP地址為128. 128.X.M,其中,X、M為自然數(shù),I < X<N,M彡2,這樣,接收方節(jié)點(diǎn)僅根據(jù)IP地址的第四個字節(jié)即可確定當(dāng)前提取的數(shù)據(jù)幀所屬的節(jié)點(diǎn)。同樣是為了簡化接收方節(jié)點(diǎn)的判斷步驟,發(fā)送方節(jié)點(diǎn)可采用自增長的方式對數(shù)據(jù)幀的幀編號進(jìn)行賦值,接收方節(jié)點(diǎn)每次均在自身的接收數(shù)據(jù)幀列表中提取幀編號最小的數(shù)據(jù)中貞進(jìn)行判斷;這樣,若當(dāng)前提取的數(shù)據(jù)巾貞的巾貞編號若大于上一次處理的來自同一發(fā)送方節(jié)點(diǎn)的數(shù)據(jù)幀的幀編號,則表示當(dāng)前提取的數(shù)據(jù)幀未處理過,否則表示當(dāng)前提取的數(shù)據(jù)幀已通過其余的以太網(wǎng)通道接收并處理過。例如,設(shè)有3條以太網(wǎng)通道,節(jié)點(diǎn)I通過以太網(wǎng)I網(wǎng)、2網(wǎng)和3網(wǎng)向節(jié)點(diǎn)2發(fā)送數(shù)據(jù) A (先發(fā))和B (后發(fā)),數(shù)據(jù)A的幀編號是55,數(shù)據(jù)B的幀編號是66,當(dāng)節(jié)點(diǎn)2先從以太網(wǎng)I網(wǎng)中收到了數(shù)據(jù)A,進(jìn)行數(shù)據(jù)處理并記錄節(jié)點(diǎn)I的幀編號55,當(dāng)從以太網(wǎng)2網(wǎng)和3網(wǎng)收到數(shù)據(jù)A時,幀編號55小于等于記錄的幀編號55,此時就不處理從以太網(wǎng)2網(wǎng)和3網(wǎng)收到的數(shù)據(jù)A ;當(dāng)節(jié)點(diǎn)2從以太網(wǎng)2網(wǎng)接收到了數(shù)據(jù)B,幀編號66大于記錄的幀編號55,則進(jìn)行數(shù)據(jù)處理并記錄此次的節(jié)點(diǎn)I的幀編號66,當(dāng)再次從以太網(wǎng)I網(wǎng)和3網(wǎng)收到數(shù)據(jù)B時,就不再進(jìn)行數(shù)據(jù)處理?,F(xiàn)針對一節(jié)點(diǎn)(該節(jié)點(diǎn)在接收數(shù)據(jù)時為接收方節(jié)點(diǎn),在發(fā)送數(shù)據(jù)時為發(fā)送方節(jié)點(diǎn))給出一種執(zhí)行上述冗余通訊方法的實(shí)施例,該節(jié)點(diǎn)開始工作后執(zhí)行以下各步驟步驟101 :更新當(dāng)前待發(fā)送數(shù)據(jù)的幀編號,之后執(zhí)行步驟102 ;步驟102 :將接收到的數(shù)據(jù)放入接收數(shù)據(jù)幀列表中,如發(fā)送數(shù)據(jù)幀列表中存在數(shù)據(jù),則通過N個以太網(wǎng)通道發(fā)送數(shù)據(jù)到對方節(jié)點(diǎn),之后執(zhí)行步驟103 ;步驟103 :判斷是否與對方節(jié)點(diǎn)建立連接,如果否則進(jìn)入步驟201,如果是則進(jìn)入步驟104 ;步驟104 :將數(shù)據(jù)內(nèi)容表示設(shè)備狀態(tài)的數(shù)據(jù)幀(以下簡稱設(shè)備狀態(tài)幀)放入發(fā)送數(shù)據(jù)幀列表中,如存在待發(fā)送數(shù)據(jù),則將待發(fā)送數(shù)據(jù)放入發(fā)送數(shù)據(jù)幀列表中,然后執(zhí)行步驟105 ;步驟105 :判斷接收數(shù)據(jù)幀列表中是否存在數(shù)據(jù)幀,如存在則進(jìn)入步驟106,如不存在則進(jìn)入步驟301 ;步驟106 :從接收數(shù)據(jù)幀列表中提取幀編號最小的數(shù)據(jù)幀,然后執(zhí)行步驟107 步驟107 :判斷當(dāng)前提取的數(shù)據(jù)幀的幀編號是否大于已處理過(上一次處理)的來自同一節(jié)點(diǎn)的數(shù)據(jù)幀的幀編號,如果是則進(jìn)入步驟108,如果否則進(jìn)入步驟105 ;步驟108 :根據(jù)數(shù)據(jù)類型對當(dāng)前提取的數(shù)據(jù)幀進(jìn)行數(shù)據(jù)處理;步驟201 :將數(shù)據(jù)內(nèi)容表示連接信息的數(shù)據(jù)幀放入發(fā)送數(shù)據(jù)幀列表中,之后進(jìn)入步驟202 ;步驟202 :判斷接收數(shù)據(jù)幀列表中是否存在數(shù)據(jù)幀,如存在則進(jìn)入步驟203,如不存在則進(jìn)入步驟101 ;步驟203 :從接收數(shù)據(jù)幀列表中提取幀編號最小的數(shù)據(jù)幀,然后執(zhí)行步驟204 步驟204:判斷當(dāng)前提取的數(shù)據(jù)幀的數(shù)據(jù)內(nèi)容是否為連接信息,如是則進(jìn)入步驟401,如否則進(jìn)入步驟205 ;
步驟205 :判斷當(dāng)前提取的數(shù)據(jù)幀的數(shù)據(jù)內(nèi)容是否為確認(rèn)連接信息,如是則進(jìn)入步驟501,如否則進(jìn)入步驟101 ;步驟401 :將數(shù)據(jù)內(nèi)容為確認(rèn)連接的數(shù)據(jù)幀放入發(fā)送數(shù)據(jù)幀列表中,并從當(dāng)前提取的數(shù)據(jù)幀中獲取當(dāng)前處理的對方節(jié)點(diǎn)的幀編號,之后進(jìn)入步驟101 ;步驟501 :設(shè)置和對方節(jié)點(diǎn)的連接狀態(tài)為已連接,之后進(jìn)入步驟101 ;步驟301 :判斷接收數(shù)據(jù)幀列表中不存在數(shù)據(jù)幀的時間是否超過預(yù)設(shè)時間,如否則進(jìn)入步驟101,如是則進(jìn)入步驟302 ;步驟302 :設(shè)置和對方節(jié)點(diǎn)的連接狀態(tài)為未連接,之后進(jìn)入步驟101。以上所述僅為本發(fā)明較佳的實(shí)施方式,并非用來限定本發(fā)明的實(shí)施范圍,但凡在本發(fā)明的保護(hù)范圍內(nèi)所做的等效變化及修飾,皆應(yīng)認(rèn)為落入了本發(fā)明的保護(hù)范圍內(nèi)?!?br>
權(quán)利要求
1.一種基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法,其特征在于為每個節(jié)點(diǎn)配置N個相互獨(dú)立的網(wǎng)絡(luò)接口,將每個節(jié)點(diǎn)的N個網(wǎng)絡(luò)接口分別與物理上獨(dú)立的以太網(wǎng)I網(wǎng)至N網(wǎng)對應(yīng)相連,使每個節(jié)點(diǎn)具有N個獨(dú)立的以太網(wǎng)通道,所有節(jié)點(diǎn)的各網(wǎng)絡(luò)接口具有互不相同的IP地址,其中,N為大于等于2的自然數(shù); 所述冗余通訊方法為發(fā)送方節(jié)點(diǎn)通過其N個以太網(wǎng)通道以數(shù)據(jù)幀的形式向接收方節(jié)點(diǎn)同時發(fā)送數(shù)據(jù),數(shù)據(jù)幀的幀頭包括幀編號、發(fā)送者ID和接收者ID,發(fā)送方節(jié)點(diǎn)對其每次發(fā)送的數(shù)據(jù)賦予不同的幀編號;接收方節(jié)點(diǎn)從其接收數(shù)據(jù)幀列表中提取一數(shù)據(jù)幀后,根據(jù)當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)判斷當(dāng)前提取的數(shù)據(jù)幀是否已經(jīng)處理過,如果未處理過則進(jìn)行數(shù)據(jù)處理,并關(guān)聯(lián)記錄當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求I所述的冗余通訊方法,其特征在于接收 方節(jié)點(diǎn)根據(jù)當(dāng)前提取的 數(shù)據(jù)幀的發(fā)送者ID及/或IP地址確定當(dāng)前提取的數(shù)據(jù)幀所屬的發(fā)送方節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求I所述的冗余通訊方法,其特征在于第M個節(jié)點(diǎn)的第X個網(wǎng)絡(luò)接口的IP地址為128. 128.乂1,其中3^為自然數(shù),1彡X彡N,M彡2 ;接收方節(jié)點(diǎn)根據(jù)當(dāng)前提取的數(shù)據(jù)幀的發(fā)送者ID及/或IP地址的第四個字節(jié)確定當(dāng)前提取的數(shù)據(jù)幀所屬的發(fā)送方節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求I所述的冗余通訊方法,其特征在于發(fā)送方節(jié)點(diǎn)在啟動或重新啟動后首先向接收方節(jié)點(diǎn)發(fā)送數(shù)據(jù)內(nèi)容表示連接信息的數(shù)據(jù)幀,以為接收方節(jié)點(diǎn)提供發(fā)送方節(jié)點(diǎn)的初始幀編號。
5.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的冗余通訊方法,其特征在于發(fā)送方節(jié)點(diǎn)采用自增長的方式對數(shù)據(jù)幀的幀編號進(jìn)行賦值,接收方節(jié)點(diǎn)每次均在自身的接收數(shù)據(jù)幀列表中提取幀編號最小的數(shù)據(jù)幀進(jìn)行判斷;接收方節(jié)點(diǎn)判斷當(dāng)前提取的數(shù)據(jù)幀是否已經(jīng)處理過的方法為當(dāng)前提取的數(shù)據(jù)幀的幀編號若大于上一次處理的來自同一發(fā)送方節(jié)點(diǎn)的數(shù)據(jù)幀的幀編號,則表示當(dāng)前提取的數(shù)據(jù)幀未處理過,否則表示當(dāng)前提取的數(shù)據(jù)幀已通過其余的以太網(wǎng)通道接收并處理過。
全文摘要
本發(fā)明公開了一種基于多網(wǎng)絡(luò)的節(jié)點(diǎn)間的冗余通訊方法,即發(fā)送方節(jié)點(diǎn)通過其N個以太網(wǎng)通道向接收方節(jié)點(diǎn)同時發(fā)送數(shù)據(jù),發(fā)送方節(jié)點(diǎn)對其每次發(fā)送的數(shù)據(jù)賦予不同的幀編號;接收方節(jié)點(diǎn)從其接收數(shù)據(jù)幀列表中提取一數(shù)據(jù)幀后,根據(jù)當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)判斷當(dāng)前提取的數(shù)據(jù)幀是否已經(jīng)處理過,如否則進(jìn)行數(shù)據(jù)處理,并關(guān)聯(lián)記錄當(dāng)前提取的數(shù)據(jù)幀的幀編號和所屬的發(fā)送方節(jié)點(diǎn)。本發(fā)明的冗余通訊方法主要通過軟件實(shí)現(xiàn),降低了對硬件的要求,普通的網(wǎng)絡(luò)設(shè)備便可以實(shí)現(xiàn),從而降低了硬件冗余設(shè)備的成本;另外,本發(fā)明的冗余通訊方法通過引入判斷機(jī)制避免對相同數(shù)據(jù)的重復(fù)處理,提高了處理速度。
文檔編號H04L12/713GK102970221SQ20121039662
公開日2013年3月13日 申請日期2012年10月18日 優(yōu)先權(quán)日2012年10月18日
發(fā)明者徐志豪, 王建強(qiáng), 陳真, 葉輝, 汪柏壽, 李金德 申請人:上海亨鈞科技有限公司