一种数据通信网络的心跳处理方法及计算机装置与流程
- 国知局
- 2024-12-06 13:08:43
本发明涉及数据通信中心跳处理领域,具体涉及一种数据通信网络的心跳处理方法及计算机装置。
背景技术:
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主控模块等待探测包的设定时间小于第n-1主控模块等待探测包的设定时间;
20、若第n主控模块不能正常收到初始的心跳信号,则第n-1主控模块会一直处于等待探测包状态,直到超时,超时后第n-1主控模块启动异常处理流程:
21、第n-1主控模块重新组织心跳探测包,将其前序节点的第n主控模块所在位置设置为0,并加上自己位置状态1,形成二进制串000...010的探测包,然后将二进制串000...010的探测包发送至第n-2主控模块,第n-2主控模块正常收到心跳探测包,则对收到的心跳信号探测包加上1,将该心跳信号探测包更新为二进制串000...110,然后将更新的二进制串000...110发送至第n-3主控模块,依次更新,最后第一主控模块将更新的二进制串111...110发送至服务器;
22、服务器将二进制串111...110与二进制串000...000进行逻辑或操作,得到二进制串111...110,并将二进制串111...110更新至连接状态表,0表示对应节点的主控模块故障,1表示对应节点的主控模块正常,则根据二进制串111...110判定第n主控模块故障。
23、第四方面,本发明提供一种数据通信网络的心跳处理方法,包括:
24、服务器根据连接的主控模块的数量建立一个连接状态表,所述连接状态表包含长度至少为n的二进制串,n为大于等于1的整数,分别对应其连接的n个主控模块,如果主控模块连接通畅,则二进制串中该对应位置设为1,否则该对应位置设为0;
25、初始时,服务器缺省认为所有的主控模块均处于无连接状态,则服务器组织一个心跳探测包作为初始的心跳信号,即一个全0且长度为n的二进制串000...000,按逆时针方向发送给第一主控模块,逆时针方向第n主控模块等待探测包的设定时间大于第n-1主控模块等待探测包的设定时间;
26、在心跳信号传递过程中,若第m主控模块不能正常收到心跳信号,1<m<n,则第m+1主控模块会一直处于等待探测包状态,直到超时,超时后第m+1主控模块启动异常处理流程:
27、第m+1主控模块重新组织心跳探测包,将其前序节点的所有主控模块所在位置设置为0,并加上自己位置状态1,形成二进制串0010...000、00010...000、000010...000、...、000...010或000...001 的探测包,然后将二进制串0010...000、00010...000、000010...000、...、000...010或000...001 的探测包发送至逆时针方向的下一个主控模块或服务器,逆时针方向的下一个主控模块正常收到心跳探测包,则对收到的心跳信号探测包加上1,将该心跳信号探测包更新为二进制串00110...000、000110...000、0000110...000、...、000...0110或000...011 的探测包,依次更新,最后第n模块将更新的二进制串0011...111、00011...111、000011...111、...、000...0111或000...011的探测包发送至服务器;
28、服务器收到探测包后,重新组织一个心跳探测包作为初始的心跳信号,即一个全0且长度为n的二进制串000...000,按顺时针方向发送给第n主控模块,顺时针方向,第n主控模块等待探测包的设定时间小于第n-1主控模块等待探测包的设定时间;
29、在心跳信号传递过程中,若第m主控模块不能正常收到心跳信号,则第m-1主控模块会一直处于等待探测包状态,直到超时,超时后第m-1主控模块启动异常处理流程:
30、第m-1主控模块重新组织心跳探测包,将其前序节点的所有主控模块所在位置设置为0,并加上自己位置状态1,形成二进制串000...0100、000...01000、000...010000、...、010...000或100...000的探测包,然后将二进制串000...0100、000...01000、000...010000、...、010...000或100...000的探测包发送至顺时针方向的下一个主控模块或服务器,顺时针方向的下一个主控模块正常收到心跳探测包,则对收到的心跳信号探测包加上1,将该心跳信号探测包更新为二进制串000...1100、000...011000、000...0110000、...、0110...000或110...000的探测包,依次更新,最后第一主控模块将更新的二进制串111...1100、111...11000、111...110000、...、1110...000或110...000的探测包发送至服务器;
31、服务器将二进制串0011...111、00011...111、000011...111、...、000...011或000...001与二进制串100...000、110...000、1110...000、...、111...11000或111...1100进行逻辑或操作,得到二进制串1011...111、1101...111、11101...111、...、111...11011或111...11101,并将二进制串1011...111、1101...111、11101...111、...、111...11011或111...11101更新至连接状态表,0表示对应节点的主控模块故障,1表示对应节点的主控模块正常,则根据连接状态表中的二进制串判断第二主控模块、第三主控模块、第四主控模块、...、第n-2主控模块或第n-1主控模块故障。
32、第五方面,本发明提供一种计算机装置,包括存储器,所述存储器存储有程序指令,所述程序指令运行时,执行如上述所述的数据通信网络的心跳处理方法。
33、本发明的有益效果为:
34、本发明针对分布式控制系统中服务器和现场主控模块之间的心跳信号的运行机制,创新性地提出了通过逻辑环方式而非点对点方式,实现心跳信号在网络中所有节点间的传播,提高了通信效率。
35、本发明不限于当前网络的拓扑结构,建立基于逻辑环的服务器和主控模块间的双向环网通信系统;通过特定心跳信号在环网中的中继传播,携带各个网络节点的状态信息,最终汇总到服务器并以此判断网络节点的工作状态,极大地提高了对单个故障节点判断的准确性。
本文地址:https://www.jishuxx.com/zhuanli/20241204/343286.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表