System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據通信中心跳處理領域,具體涉及一種數據通信網絡的心跳處理方法及計算機裝置。
技術介紹
1、當前,幾乎所有的分布式控制系統在結構上都采用多層分級的網絡形式,由現場控制網絡、系統網絡和管理網絡三者構成。其中,系統網絡承上啟下,連接著控制網絡和管理網絡,必須具備高效且安全的網絡結構。系統網絡通常支持多種類型的網絡拓撲結構及數據傳輸方向,以保證數據通信的可靠性。但網絡運行中仍然存在不少影響數據通信的因素,如節點過多可能影響傳輸速度、單節點故障可能導致全網癱瘓等。所以,及時掌握環網中節點的通信狀態顯得尤為重要。
2、在大多數的通信系統中,通信端點間通常采用心跳包來進行連接的確認,用于探查雙方是否仍然在線和數據鏈路是否通暢。此外通過心跳信號,還可以及時發現節點或鏈路的故障,及時采取相應的恢復措施。心跳包通常很小或者只是僅有包頭而無實際內容的空包,發送節點發送心跳包后,應該在規定的時間內收到接收方的心跳應答。如果收不到心跳應答,則可以判斷當前通信線路出現鏈接故障或者接收方應用程序已經處于異常狀態。
3、單個心跳包的收發雖然對節點的性能幾乎沒有影響,但如果網絡節點非常多,服務器對節點之間進行一對一的心跳信號收發且各自獨立完成,必然會對整個網絡的通信性能造成影響,導致通信效率降低,并且目前的心跳處理方法對單個故障節點的判斷也不夠準確,不清楚具體哪一個節點發生了故障。
技術實現思路
1、本專利技術的目的在于克服現有技術的缺點,提供一種數據通信網絡的心跳處理方法及
2、本專利技術采取如下技術方案實現上述目的,第一方面,本專利技術提供一種數據通信網絡的心跳處理方法,包括:
3、服務器根據連接的主控模塊的數量建立一個連接狀態表,所述連接狀態表包含長度至少為n的二進制串,n為大于等于1的整數,分別對應其連接的n個主控模塊,如果主控模塊連接通暢,則二進制串中該對應位置設為1,否則該對應位置設為0;
4、初始時,服務器缺省認為所有的主控模塊均處于無連接狀態,則服務器組織一個心跳探測包作為初始的心跳信號,即一個全0且長度為n的二進制串000...000,發送給第一主控模塊;
5、若第一主控模塊正常收到初始的心跳信號,則對收到的心跳信號探測包加上1,將該心跳信號探測包更新為二進制串100...000,然后將更新后的二進制串100...000發送至第二主控模塊,若第二主控模塊正常收到該心跳信號,則對收到的心跳信號探測包加上1,將該心跳信號探測包更新為二進制串110...000,然后將更新后的二進制串110...000發送至第三主控模塊,若第三主控模塊正常收到該心跳信號,則對收到的心跳信號探測包加上1,將該心跳信號探測包更新為二進制串111...000,依次更新,最后第n主控模塊將更新后的二進制串111...111發送至服務器,服務器將二進制串111...111更新至連接狀態表。
6、第二方面,本專利技術提供一種數據通信網絡的心跳處理方法,包括:
7、服務器根據連接的主控模塊的數量建立一個連接狀態表,所述連接狀態表包含長度至少為n的二進制串,n為大于等于1的整數,分別對應其連接的n個主控模塊,如果主控模塊連接通暢,則二進制串中該對應位置設為1,否則該對應位置設為0;
8、初始時,服務器缺省認為所有的主控模塊均處于無連接狀態,則服務器組織一個心跳探測包作為初始的心跳信號,即一個全0且長度為n的二進制串000...000,按逆時針方向發送給第一主控模塊,逆時針方向第n主控模塊等待探測包的設定時間大于第n-1主控模塊等待探測包的設定時間;
9、若第一主控模塊不能正常收到初始的心跳信號,則第二主控模塊會一直處于等待探測包狀態,直到超時,超時后第二主控模塊啟動異常處理流程:
10、第二主控模塊重新組織心跳探測包,將其前序節點的第一主控模塊所在位置設置為0,并加上自己位置狀態1,形成二進制串010...000的探測包,然后將二進制串010...000的探測包發送至第三主控模塊,若第三主控模塊正常收到該心跳信號,則對收到的心跳信號探測包加上1,將該心跳信號探測包更新為二進制串011...000,然后將該二進制串011...000發送至第四主控模塊,依次更新,最后第n主控模塊將更新后的二進制串011...111發送至服務器;
11、服務器收到二進制串011...111的探測包后,重新組織一個心跳探測包作為初始的心跳信號,即一個全0且長度為n的二進制串000...000,按順時針方向發送給第n主控模塊,順時針方向,第n主控模塊等待探測包的設定時間小于第n-1主控模塊等待探測包的設定時間;
12、在心跳信號傳遞過程中,若第一主控模塊不能正常收到初始的心跳信號,則服務器會一直處于等待探測包狀態,直到超時,超時后服務器啟動異常處理流程:
13、服務器將節點上的所有主控模塊設置為0,形成二進制串000...000的探測包;
14、服務器將二進制串011...111與二進制串000...000進行邏輯或操作,得到二進制串011...111,并將二進制串011...111更新至連接狀態表,0表示對應節點的主控模塊故障,1表示對應節點的主控模塊正常,則根據二進制串011...111判定第一主控模塊故障。
15、第三方面,本專利技術提供一種數據通信網絡的心跳處理方法,包括:
16、服務器根據連接的主控模塊的數量建立一個連接狀態表,所述連接狀態表包含長度至少為n的二進制串,n為大于等于1的整數,分別對應其連接的n個主控模塊,如果主控模塊連接通暢,則二進制串中該對應位置設為1,否則該對應位置設為0;
17、初始時,服務器缺省認為所有的主控模塊均處于無連接狀態,則服務器組織一個心跳探測包作為初始的心跳信號,即一個全0且長度為n的二進制串000...000,按逆時針方向發送給第一主控模塊,逆時針方向第n主控模塊等待探測包的設定時間大于第n-1主控模塊等待探測包的設定時間;
18、若第一主控模塊正常收到初始的心跳信號,則對收到的心跳信號探測包加上1,將該心跳信號探測包更新為二進制串100...000,然后將更新后的二進制串100...000發送至第二主控模塊,若第二主控模塊正常收到該心跳信號,則對收到的心跳信號探測包加上1,將該心跳信號探測包更新為二進制串110...000,然后將更新后的二進制串110...000發送至第三主控模塊,依次更新,若第n主控模塊不能正常收到初始的心跳信號,則服務器會一直處于等待探測包狀態,直到超時,超時后服務器啟動異常處理流程:
19、服務器將節點上的所有主控模塊設置為0,形成二進制串000...000的探測包,然后服務器重新組織一個心跳探測包作為初始的心跳信號,即一個全0且長度為n的二進制串000...000,按順時針方向發送給第n主控模塊,順時針方向,第n主本文檔來自技高網...
【技術保護點】
1.一種數據通信網絡的心跳處理方法,其特征在于,包括:
2.一種數據通信網絡的心跳處理方法,其特征在于,包括:
3.一種數據通信網絡的心跳處理方法,其特征在于,包括:
4.一種數據通信網絡的心跳處理方法,其特征在于,包括:
5.一種計算機裝置,包括存儲器,所述存儲器存儲有程序指令,其特征在于,所述程序指令運行時,執行如權利要求1或2或3或4所述的數據通信網絡的心跳處理方法。
【技術特征摘要】
1.一種數據通信網絡的心跳處理方法,其特征在于,包括:
2.一種數據通信網絡的心跳處理方法,其特征在于,包括:
3.一種數據通信網絡的心跳處理方法,其特征在于,包括:
4.一種...
【專利技術屬性】
技術研發人員:鄢治國,張川,張亞平,馬勁松,王剛,廖宏,邵勤豐,董華莉,吳金華,李駒光,唐東明,劉湛,胥正偉,陳杰,趙李磊,錢真勇,
申請(專利權)人:東方電氣自動控制工程有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。