水聲通信網絡系統的製作方法
2023-06-23 08:06:01
本發明涉及通信領域,特別涉及水聲通信網絡系統。
背景技術:
由於在水下無線電信號受到很大的衰減,因此不適合用於水下通信,光波在水中的散射和衰減也很嚴重,也不適合用於水下通信。
目前在水下常使用水聲作為數據通信介質。但由於水聲信道的時間-空間-頻率的變化特性,水聲信道也是最困難的隨機多徑傳輸無線通信信道,水聲信道具有有效帶寬較低、誤碼率高、損耗大、多徑傳播幹擾的特點。
現有的水聲通信網絡系統大多都屬於中央控制式網絡,都有一個或多個中心節點,一旦中心節點遭到破壞或無法正常工作,就造成整體網絡系統的崩潰。水聲通信網絡系統中接入的節點數量有限並且需要事先為每個節點指定傳輸路徑,使得水聲通信網絡系統的覆蓋和使用範圍受到了很大的限制。再加上水聲信道損耗大、多徑傳播幹擾的特點導致現有的水聲通信網絡系統經常會出現數據傳輸易中斷以及傳輸延遲長的問題,導致實際工作效率低下。
如何提供一種穩定可靠的水聲通信網絡系統是當前亟待解決的一個問題。
技術實現要素:
針對現有技術中的缺陷,本發明提出了一種水聲通信網絡系統,該系統由分布在不同地點的多個節點構成分布式網絡,任一節點與至少兩個節點相連;每個節點均配置有物理地址號、識別號和公共網絡號;每個節點均設置成接收存儲轉發模式,所述接收存儲轉發模式為接收上一節點的數據包,存儲備份所述數據包於本地,轉發所述數據包至下一節點;任一節點均採用動態路由算法建立通信鏈路。
作為上述技術方案的進一步改進,當有新增節點加入所述水聲通信網絡系統時,所述新增節點通過廣播方式發出一信息識別包,所述信息識別包包括:物理地址號、識別號、公共網絡號和轉發集合樹數據;相鄰節點接收到所述信息識別包後,將所述轉發集合樹數據加入其轉發集合矩陣樹中,所述轉發集合矩陣樹包含了所有可行的轉發鏈路。
作為上述技術方案的進一步改進,當源節點有數據包需要發送給目的節點時,所述源節點沿第一路徑傳輸所述數據包至所述目的節點,當所述目的節點在預設的時間範圍內沒有收到所述數據包時,所述源節點將沿第二路徑傳輸所述數據包至所述目的節點。
作為上述技術方案的進一步改進,所述第一路徑為所述源節點到所述目的節點的最優路徑,所述第二路徑為所述源節點到所述目的節點的次優路徑。
作為上述技術方案的進一步改進,當所述源節點沿所述第二路徑發出所述數據包後所述目的節點收到所述源節點沿所述第一路徑傳輸的所述數據包時,所述目的節點沿所述第二路徑的逆向發出撤銷刪除包,所述第二路徑沿途的節點收到所述撤銷刪除包後,將撤銷沿所述第二路徑發出所述數據包的轉發。
作為上述技術方案的進一步改進,當目的節點收到源節點發送過來的數據包時,所述目的節點將按照所述數據包的接收路徑的逆向轉發收到確認包,所述接收路徑沿途的節點收到所述收到確認包後,將本地保存的備份數據包刪除。
作為上述技術方案的進一步改進,節點本地保存的備份數據包保存時長超過預設時長時,將刪除本地保存的所述備份數據包。
作為上述技術方案的進一步改進,當節點檢測到自身的故障告警時,所述節點將通過廣播方式發出故障預警包,其他節點收到所述節點的故障預警包將保存於本地,並重新啟用動態路由算法建立新的通信鏈路轉發路徑以繞開所述節點。
作為上述技術方案的進一步改進,所述故障告警包括:部分功能故障以及節點的剩餘能量低於預設值。
作為上述技術方案的進一步改進,所述動態路由算法為dijkstra算法。
本發明提供的技術方案,與已有的公知技術相比,至少具有如下有益效果:
(1)無中心節點,每個節點都包含了全網的所有節點信息,並在有新的節點加入網絡時,將新節點存儲於本節點的矩陣樹中。當需轉發數據包時,自動計算出最優,次優等轉發路徑。當某一節點被破環時,不會影響整個網絡的正常工作。
(2)減少了可能重傳的數目,即也減少了在這些重傳中消耗的能量。提高了整網節點的實際生命周期。
(3)由於水聲時域的影響,連接性的短暫性丟失是可能發生的,而多個轉發節點中只需要有一個能正確接收到該數據包即可。使用多於一個節點作為轉發節點會減少數據包出現錯誤的概率,水下聲信號的傳播距離很長,許多節點都可以偵聽到整個傳輸過程,本發明利用相鄰節點作為數據包的備份備用,減少了丟包率,提高了數據在水聲網絡中傳輸的可靠性。
(4)目前由於cpu計算速度的提高和大容量內存的普及應用,分布式全息節點的路徑計算和數據包的存儲備份不再是很大的成本開銷,為本發明的實際應用鋪平了道路。使用本發明對於減少整個網絡重傳的次數,降低傳輸的延遲,提高系統的可靠性和整網系統性能尤為有益。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對範圍的限定,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖1為本發明一實施例提出的一種水聲通信網絡系統的結構示意圖。
具體實施方式
在下文中,將更全面地描述本公開的各種實施例。本公開可具有各種實施例,並且可在其中做出調整和改變。然而,應理解:不存在將本公開的各種實施例限於在此公開的特定實施例的意圖,而是應將本公開理解為涵蓋落入本公開的各種實施例的精神和範圍內的所有調整、等同物和/或可選方案。
在下文中,可在本公開的各種實施例中使用的術語「包括」或「可包括」指示所公開的功能、操作或元件的存在,並且不限制一個或更多個功能、操作或元件的增加。此外,如在本公開的各種實施例中所使用,術語「包括」、「具有」及其同源詞僅意在表示特定特徵、數字、步驟、操作、元件、組件或前述項的組合,並且不應被理解為首先排除一個或更多個其它特徵、數字、步驟、操作、元件、組件或前述項的組合的存在或增加一個或更多個特徵、數字、步驟、操作、元件、組件或前述項的組合的可能性。
在本公開的各種實施例中,表述「a或/和b中的至少一個」包括同時列出的文字的任何組合或所有組合。例如,表述「a或b」或「a或/和b中的至少一個」可包括a、可包括b或可包括a和b二者。
在本公開的各種實施例中使用的表述(諸如「第一」、「第二」等)可修飾在各種實施例中的各種組成元件,不過可不限制相應組成元件。例如,以上表述並不限制所述元件的順序和/或重要性。以上表述僅用於將一個元件與其它元件區別開的目的。例如,第一用戶裝置和第二用戶裝置指示不同用戶裝置,儘管二者都是用戶裝置。例如,在不脫離本公開的各種實施例的範圍的情況下,第一元件可被稱為第二元件,同樣地,第二元件也可被稱為第一元件。
應注意到:如果描述將一個組成元件「連接」到另一組成元件,則可將第一組成元件直接連接到第二組成元件,並且可在第一組成元件和第二組成元件之間「連接」第三組成元件。相反地,當將一個組成元件「直接連接」到另一組成元件時,可理解為在第一組成元件和第二組成元件之間不存在第三組成元件。
在本公開的各種實施例中使用的術語「用戶」可指示使用電子裝置的人或使用電子裝置的裝置(例如,人工智慧電子裝置)。
在本公開的各種實施例中使用的術語僅用於描述特定實施例的目的並且並非意在限制本公開的各種實施例。如在此所使用,單數形式意在也包括複數形式,除非上下文清楚地另有指示。除非另有限定,否則在這裡使用的所有術語(包括技術術語和科學術語)具有與本公開的各種實施例所屬領域普通技術人員通常理解的含義相同的含義。所述術語(諸如在一般使用的詞典中限定的術語)將被解釋為具有與在相關技術領域中的語境含義相同的含義並且將不被解釋為具有理想化的含義或過於正式的含義,除非在本公開的各種實施例中被清楚地限定。
實施例1
一種水聲通信網絡系統,由分布在不同地點的多個節點構成分布式網絡,任一節點與至少兩個節點相連。
每個節點均配置有物理地址號、識別號和公共網絡號。
每個節點均設置成接收存儲轉發模式。
接收存儲轉發模式為接收上一節點的數據包,存儲備份所述數據包於本地,轉發所述數據包至下一節點。
任一節點均採用動態路由算法建立通信鏈路。
當有新增節點加入所述水聲通信網絡系統時,所述新增節點通過廣播方式發出一信息識別包,所述信息識別包包括:物理地址號、識別號、公共網絡號和轉發集合樹數據;相鄰節點接收到所述信息識別包後,將所述轉發集合樹數據加入其轉發集合矩陣樹中,所述轉發集合矩陣樹包含了所有可行的轉發鏈路。
當源節點有數據包需要發送給目的節點時,所述源節點沿第一路徑傳輸所述數據包至所述目的節點,當所述目的節點在預設的時間範圍內沒有收到所述數據包時,所述源節點將沿第二路徑傳輸所述數據包至所述目的節點。
所述第一路徑為所述源節點到所述目的節點的最優路徑,所述第二路徑為所述源節點到所述目的節點的次優路徑。
當所述源節點沿所述第二路徑發出所述數據包後所述目的節點收到所述源節點沿所述第一路徑傳輸的所述數據包時,所述目的節點沿所述第二路徑的逆向發出撤銷刪除包,所述第二路徑沿途的節點收到所述撤銷刪除包後,將撤銷沿所述第二路徑發出所述數據包的轉發。
當目的節點收到源節點發送過來的數據包時,所述目的節點將按照所述數據包的接收路徑的逆向轉發收到確認包,所述接收路徑沿途的節點收到所述收到確認包後,將本地保存的備份數據包刪除。
節點本地保存的備份數據包保存時長超過預設時長時,將刪除本地保存的所述備份數據包。
當節點檢測到自身的故障告警時,所述節點將通過廣播方式發出故障預警包,其他節點收到所述節點的故障預警包將保存於本地,並重新啟用動態路由算法建立新的通信鏈路轉發路徑以繞開所述節點。
所述故障告警包括:部分功能故障以及節點的剩餘能量低於預設值。
動態路由算法為dijkstra算法。
dijkstra算法是典型的單源最短路徑算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。dijkstra算法是很有代表性的最短路徑算法。
如圖1所示,一種水聲通信網絡系統,包括節點a,節點b,節點c,節點d,節點e。節點a,節點b,節點c,節點d和節點e構成一個分布式網絡系統。
節點a與節點b、節點c以及節點e相連。節點b與節點a、節點c以及節點e相連。節點c與節點a、節點b以及節點d相連。節點d與節點c以及節點e相連。節點e與節點a、節點b以及節點d相連。
節點a,節點b,節點c,節點d和節點e均配置有不同的物理地址號、不同的識別號。以便能否相互區分。
節點a,節點b,節點c,節點d和節點e具有相同的公共網絡號。
具有相同的公共網絡號的節點可以組成一個分布式網絡系統。
節點a,節點b,節點c,節點d和節點e均設置成接收存儲轉發模式。
接收存儲轉發模式為接收上一節點的數據包,存儲備份所述數據包於本地,轉發所述數據包至下一節點。
例如:當數據包從節點a發出,途經節點b,到達節點c,節點b在本地會存儲備份數據包。
節點a,節點b,節點c,節點d和節點e均採用動態路由算法建立通信鏈路。
當有新增節點加入所述水聲通信網絡系統時,所述新增節點通過廣播方式發出一信息識別包,所述信息識別包包括:物理地址號、識別號、公共網絡號和轉發集合樹數據;相鄰節點接收到所述信息識別包後,將所述轉發集合樹數據加入其轉發集合矩陣樹中,所述轉發集合矩陣樹包含了所有可行的轉發鏈路。加入水聲通信網絡系統的新增節點的公共網絡號需要與水聲通信網絡系統中所有節點的公共網絡號相同。
當節點a為源節點,節點d為目的節點。由於每個節點之間的距離不同,兩個節點之間的通信開銷各不相同。節點a到節點d的最小開銷路徑為a-b-e-d,其最小開銷為10+10+20=40。
節點a到節點d的第二小開銷路徑為a-b-c-d,其開銷為10+5+30=45。
節點a到節點d的第三小開銷路徑為a-e-d,其開銷為30+20=50。
當源節點a有數據包需要發送給目的節點d時,源節點a沿第一路徑a-b-e-d傳輸所述數據包至目的節點d,當目的節點d在預設的時間範圍內沒有收到所述數據包時,源節點a將沿第二路徑a-b-c-d傳輸所述數據包至目的節點d。
第一路徑a-b-e-d為源節點a到目的節點d的最優路徑,第二路徑a-b-c-d為源節點a到目的節點d的次優路徑。
當源節點a沿第二路徑a-b-c-d發出所述數據包後目的節點d收到源節點a沿第一路徑a-b-e-d傳輸的所述數據包時,目的節點d沿第二路徑a-b-c-d的逆向d-c-b-a發出撤銷刪除包,第二路徑沿途的節點收到所述撤銷刪除包後,將撤銷沿所述第二路徑a-b-c-d發出所述數據包的轉發。
當目的節點d按接收路徑a-b-e-d收到源節點a發送過來的數據包時,目的節點d將按照所述數據包的接收路徑a-b-e-d的逆向d-e-b-a轉發收到確認包,沿途的節點e和節點b收到所述收到確認包後,將本地保存的備份數據包刪除。
節點a,節點b,節點c,節點d和節點e本地保存的備份數據包保存時長超過預設時長時,將刪除本地保存的所述備份數據包。
當節點b檢測到自身的故障告警時,節點b將通過廣播方式發出故障預警包,節點a、節點c和節點e收到節點b的故障預警包將保存於本地,並重新啟用動態路由算法建立新的通信鏈路轉發路徑以繞開節點b。
當重新啟用動態路由算法建立新的通信鏈路轉發路徑後,節點a到節點d的轉發路徑變化如下:
節點a到節點d的最小開銷路徑為a-e-d,其最小開銷為30+20=50。
節點a到節點d的第二小開銷路徑為a-c-d,其開銷為25+30=55。
所述故障告警包括:部分功能故障以及節點的剩餘能量低於預設值。
本領域技術人員可以理解附圖只是一個優選實施場景的示意圖,附圖中的模塊或流程並不一定是實施本發明所必須的。
本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布於實施場景的裝置中,也可以進行相應變化位於不同於本實施場景的一個或多個裝置中。上述實施場景的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。
上述本發明序號僅僅為了描述,不代表實施場景的優劣。以上公開的僅為本發明的幾個具體實施場景,但是,本發明並非局限於此,任何本領域的技術人員能思之的變化都應落入本發明的保護範圍。