System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及通信。更具体地,涉及一种心跳机制的实现方法及系统。
技术介绍
1、近年来,分布式系统在各行业中被广泛应用,分布式系统的规模不断扩大,系统中各组件的功能越来越复杂,使得系统发生故障的概率也不断增加,分布式系统的监测变得越来越重要。
2、独立于业务流程之外的心跳技术是分布式系统中最常用的技术之一,广泛应用于分布式系统中。心跳技术原是以太网中收发节点之间进行判断存活状态的机制,节点间周期性的交换心跳数据包,用于检测其它节点的可用性。节点间采用交换机进行连接,可以对通信消息进行缓存。对于一些实时性、体积和成本要求比较高的分布式系统,较少使用以太网等具有交换节点的通信架构,多采用节点间直联的总线方式,总线上同一时间单向只能有一个节点进行消息发送,且业务消息和心跳消息使用同一通信总线,这种分布式系统由于实时性要求多采用统一的同步信号驱动进行工作,如果不对通信时序进行设计,很容易发生通信冲突问题。
3、针对上述问题,现有技术多采用点名发送模式,每个工作周期指定一个从节点在固定时刻进行发送消息,这种方法简单有效,可以避免通信冲突,并且可以将全部从节点的消息通过多个周期收集回来。但是这种方法一方面可能导致从节点消息获取的频率非常低,尤其当从节点数量特别多时,完成全部从节点的消息更新时间会很长,无法及时发现从节点的问题;另一方面,当某节点的控制或同步信号故障等原因,使该节点无法主动发送消息,从而失去对该节点的状态监测,无法判断该节点的状态。
技术实现思路
1、本公开的
2、为达到上述目的,本公开采用下述技术方案:
3、本公开第一方面提供了一种心跳机制的实现方法,该方法包括
4、对主节点和多个从节点供电后进行初始化,得到多个入网从节点的心跳消息分时发送时刻和心跳周期,以及多个离网从节点的入网申请消息发送时刻;
5、利用所述主节点在当前业务周期开始时刻发送开始消息至所述多个入网从节点和所述多个离网从节点,以使得所述多个入网从节点和所述多个离网从节点开始工作;
6、利用多个所述离网从节点在各自对应的所述入网申请消息发送时刻分别发送入网申请消息至所述主节点;
7、当所述主节点接收到第一个入网申请消息时,利用所述主节点发送暂停消息至所述多个入网从节点和所述多个离网从节点,并停止接收剩余的入网申请消息;
8、利用所述主节点对第一个入网申请消息进行处理后生成配置消息,并将所述配置消息发送至所述多个入网从节点和所述多个离网从节点;
9、利用离网从节点根据所述配置消息将与所述第一个入网申请消息对应的离网从节点设置为入网从节点;
10、在入网申请时间内,若所述主节点没有接收到入网申请消息,则利用所有入网从节点分别在各自对应的心跳消息分时发送时刻按照心跳周期依次向所述主节点发送心跳消息。
11、可选地,该方法还包括
12、利用所述主节点向待卸载的入网从节点发送离网命令消息,将所述待卸载的入网从节点设置为离网从节点;
13、利用所述主节点删除所述待卸载的入网从节点的节点消息,并回收与所述待卸载的入网从节点对应的心跳消息分时发送时刻。
14、可选地,所述对主节点和多个从节点供电后进行初始化,得到多个入网从节点的心跳消息分时发送时刻和心跳周期,以及多个离网从节点的入网申请消息发送时刻包括
15、利用所述主节点读取本地从节点记录消息并计算所述多个入网从节点的心跳消息分时发送时刻和心跳周期;其中
16、所述本地从节点记录消息包括所述入网从节点的基础消息、心跳配置消息和从节点数量。
17、可选地,所述对主节点和多个从节点供电后进行初始化,得到多个入网从节点的心跳消息分时发送时刻和心跳周期,以及多个离网从节点的入网申请消息发送时刻还包括
18、利用所述多个入网从节点读取所述心跳配置消息并等待接收开始消息;
19、利用所述多个离网从节点随机生成入网申请消息发送时刻并等待接收开始消息。
20、可选地,所述利用所述主节点在当前业务周期开始时刻发送开始消息至所述多个入网从节点和所述多个离网从节点,以使得所述多个入网从节点和所述多个离网从节点开始工作包括
21、利用所述多个入网从节点和所述多个离网从节点根据所述开始消息进行时间同步得到基准时刻,以使得所述多个离网从节点基于所述基准时刻和对应的入网申请消息发送时刻发送入网申请消息至所述主节点后,以使得所述多个入网从节点基于所述基准时刻和对应的心跳消息分时发送时刻和心跳周期发送心跳消息至所述主节点。
22、可选地,所述利用所述主节点对所述第一个入网申请消息进行处理后生成配置消息,并将所述配置消息发送至所述多个入网从节点和所述多个离网从节点包括
23、利用所述主节点获取所述第一个入网申请消息中的身份消息;
24、利用所述主节点根据所述身份消息生成配置消息,记录并将所述配置消息发送至所述多个入网从节点和所述多个离网从节点;其中,所述配置消息包括将与所述第一个入网申请消息对应的离网从节点设置为入网从节点时所对应的心跳消息分时发送时刻、心跳周期和所述身份消息。
25、可选地,所述利用离网从节点根据所述配置消息将与所述第一个入网申请消息对应的离网从节点设置为入网从节点包括
26、当所述配置消息中的身份消息与所述第一个入网申请消息中的身份消息匹配时,利用所述与所述第一个入网申请消息对应的离网从节点根据所述配置消息,将与所述第一个入网申请消息对应的离网从节点设置为入网从节点。
27、可选地,该方法还包括
28、在入网申请时间内,若所述主节点接收到入网申请消息,,则利用所述主节点在下一个业务周期开始时刻发送开始消息至所述多个入网从节点和剩余的离网从节点;
29、利用所述剩余的离网从节点根据所述开始消息重新计算所述剩余的离网从节点对应的入网申请消息发送时刻。
30、可选地,该方法还包括
31、利用所述剩余的离网从节点在各自对应的所述入网申请消息发送时刻分别发送入网申请消息至所述主节点;
32、当所述主节点接收到第一个入网申请消息时,利用所述主节点发送暂停消息至多个入网从节点和所述剩余的离网从节点,并停止接收剩余的入网申请消息;
33、利用所述主节点对所述第一个入网申请消息进行消息处理后生成配置消息,并将所述配置消息发送至多个入网从节点和所述剩余的离网从节点;
34、利用离网从节点根据所述配置消息将与所述第一个入网申请消息对应的离网从节点设置为入网从节点。
35、本公开第二方面提供了一种心跳机制的实现系统,该系统包括
36、初始化模块,用于对主节点和多个从节点供电后进行初始化,得到所述多个入网从节点的心跳消息分时发送时刻和心本文档来自技高网...
【技术保护点】
1.一种心跳机制的实现方法,其特征在于,该方法包括
2.根据权利要求1所述的心跳机制的实现方法,其特征在于,该方法还包括
3.根据权利要求1所述的心跳机制的实现方法,其特征在于,
4.根据权利要求3所述的心跳机制的实现方法,其特征在于,
5.根据权利要求1所述的心跳机制的实现方法,其特征在于,
6.根据权利要求1所述的心跳机制的实现方法,其特征在于,
7.根据权利要求1所述的心跳机制的实现方法,其特征在于,
8.根据权利要求1所述的心跳机制的实现方法,其特征在于,该方法还包括
9.根据权利要求8所述的心跳机制的实现方法,其特征在于,该方法还包括
10.一种心跳机制的实现系统,其特征在于,该系统包括
【技术特征摘要】
1.一种心跳机制的实现方法,其特征在于,该方法包括
2.根据权利要求1所述的心跳机制的实现方法,其特征在于,该方法还包括
3.根据权利要求1所述的心跳机制的实现方法,其特征在于,
4.根据权利要求3所述的心跳机制的实现方法,其特征在于,
5.根据权利要求1所述的心跳机制的实现方法,其特征在于,
...
【专利技术属性】
技术研发人员:王元元,朱颖,刘彦纲,于洪彬,路京龙,
申请(专利权)人:北京无线电测量研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。