本发明涉及通信领域,特别涉及一种多设备主从竞争方法、装置、存储介质和电子设备。
背景技术:
1、对于单机系统,通过单个设备与一个或多个单元进行通信。当该单个设备出现故障时,无法再与各单元进行通信,单机系统可靠性较差。为了解决单机系统可靠性较差的问题,提出一种多机系统,然而,对于多机系统,需要选出一个主机对外通信。因此,多机系统需要具有主从竞争机制,而多机系统要求主机控制从机具有一定的实时性。即,如何确保主机故障时,从机可以迅速接替主机进行工作以恢复整个多机系统的正常工作成为了本领域人员亟待解决的技术问题。
技术实现思路
1、鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种多设备主从竞争方法、装置、存储介质和电子设备。
2、第一方面,一种多设备主从竞争方法,包括:
3、目标设备在上电之后,更新自身的设备表,其中,所述设备表记录总线上的各设备的优先级,所述目标设备在所述从机模式下的通信数据帧的通信id字段中的工作模式标志位为第一标志;
4、进入从机模式并等待接收主机发送的波形同步命令和心跳包;
5、若等待时间超过预设时间阈值仍未收到所述波形同步命令和所述心跳包,则查看自身的所述设备表;
6、若所述设备表中记录自身的优先级为最高优先级,则切换进入主机模式并向所述总线发送波形同步命令,其中,所述目标设备在所述主机模式下的can通信数据帧的通信id字段中的工作模式标志位为第二标志。
7、可选的,在某些可选的实施方式中,在所述进入从机模式并等待接收主机发送的波形同步命令和心跳包之后,所述方法还包括:
8、若在第一预设时间阈值内收到所述波形同步命令,则根据所述波形同步命令同步自身的时钟,并保持所述从机模式。
9、可选的,在某些可选的实施方式中,在所述进入从机模式并等待接收主机发送的波形同步命令和心跳包之后,所述方法还包括:
10、若在第二预设时间阈值内收到所述心跳包,则保持所述从机模式,并向所述总线上报自身的设备信息。
11、可选的,在某些可选的实施方式中,在所述若等待时间超过预设时间阈值仍未收到所述波形同步命令和所述心跳包,则查看自身的所述设备表之后,所述方法还包括:
12、若所述设备表中记录自身的优先级不是所述最高优先级,则保持所述从机模式。
13、可选的,在某些可选的实施方式中,在所述若所述设备表中记录自身的优先级不是所述最高优先级,则保持所述从机模式之后,所述方法还包括:
14、继续等待接收所述主机发送的所述波形同步命令和所述心跳包。
15、可选的,在某些可选的实施方式中,所述目标设备在上电之后,更新自身的设备表,包括:
16、目标设备在上电之后,将自身的设备信息发送到所述总线并获得所述总线上其他设备的设备信息;
17、根据自身的设备信息和所述其他设备的设备信息,更新自身的所述设备表。
18、可选的,在某些可选的实施方式中,所述方法还包括:
19、若所述目标设备发生通信故障,则切换进入离线模式。
20、可选的,在某些可选的实施方式中,在所述若所述目标设备发生通信故障,则切换进入离线模式之后,所述方法还包括:
21、若所述目标设备恢复通信并获得所述主机发送的报文,则切换进入所述从机模式。
22、第二方面,一种多设备主从竞争装置,包括:设备表更新单元、命令等待单元、设备表查看单元和命令发送单元;
23、所述设备表更新单元,用于目标设备在上电之后,更新自身的设备表,其中,所述设备表记录总线上的各设备的优先级,所述目标设备在所述从机模式下的通信数据帧的通信id字段中的工作模式标志位为第一标志;
24、所述命令等待单元,用于进入从机模式并等待接收主机发送的波形同步命令和心跳包;
25、所述设备表查看单元,用于若等待时间超过预设时间阈值仍未收到所述波形同步命令和所述心跳包,则查看自身的所述设备表;
26、所述命令发送单元,用于若所述设备表中记录自身的优先级为最高优先级,则切换进入主机模式并向所述总线发送波形同步命令,其中,所述目标设备在所述主机模式下的can通信数据帧的通信id字段中的工作模式标志位为第二标志。
27、第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的多设备主从竞争方法。
28、第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的多设备主从竞争方法。
29、借由上述技术方案,本发明提供的一种多设备主从竞争方法、装置、存储介质和电子设备,可以通过目标设备在上电之后,更新自身的设备表,其中,所述设备表记录总线上的各设备的优先级,所述目标设备在所述从机模式下的通信数据帧的通信id字段中的工作模式标志位为第一标志;进入从机模式并等待接收主机发送的波形同步命令和心跳包;若等待时间超过预设时间阈值仍未收到所述波形同步命令和所述心跳包,则查看自身的所述设备表;若所述设备表中记录自身的优先级为最高优先级,则切换进入主机模式并向所述总线发送波形同步命令,其中,所述目标设备在所述主机模式下的can通信数据帧的通信id字段中的工作模式标志位为第二标志。由此可以看出,本发明的设备每次上电后,持续等待主机发送的波形同步命令和心跳包。若未能收到波形同步命令和心跳包,则说明主机已经出现故障,因此将设备表中优先级最高的从机切换为主机,以及时确保有新的主机工作,恢复整个系统的正常工作,反应比较迅速,响应快。
30、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种多设备主从竞争方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述进入从机模式并等待接收主机发送的波形同步命令和心跳包之后,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在所述进入从机模式并等待接收主机发送的波形同步命令和心跳包之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述若等待时间超过预设时间阈值仍未收到所述波形同步命令和所述心跳包,则查看自身的所述设备表之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述若所述设备表中记录自身的优先级不是所述最高优先级,则保持所述从机模式之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述目标设备在上电之后,更新自身的设备表,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,在所述若所述目标设备发生通信故障,则切换进入离线模式之后,所述方法还包括:
9.一种多设备主从竞争装置,其特征在于,包括:设备表更新单元、命令等待单元、设备表查看单元和命令发送单元;
10.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8中任一项所述的多设备主从竞争方法。
11.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至8中任一项所述的多设备主从竞争方法。