本发明涉及通信,尤其涉及一种设备状态检测方法、装置、电子设备和存储介质。
背景技术:
1、楼宇自动化在现代建筑中扮演着重要角色,为了兼容不同的设备和不同的系统,bacnet是楼宇自控场景应用最多的通讯协议之一,mstp通信是bacnet协议中基于rs485硬件基础通讯标准要求。
2、设备之间的通信包括有效数据和无效数据,用于数据传递的相应请求命令是属于有效数据开支,设备之间传递和接收的令牌(mstp token)和轮询(poll for master)为无效数据,因为,设备之间实时会进行有效数据和无效数据的传递,并不关心设备是否已经离线,这会使得设备间线路吞吐的数据数量太多,导致网路资源的占用,极大的影响通信效率。
技术实现思路
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、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种设备状态检测方法,其特征在于,应用于目标对象关联的主控制器,所述主控制器关联预设数量个参考设备,所述主控制器用于接收参考设备之间通信的数据包以及向所述参考设备发送数据包,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,确定所述参考数据包的数据包类型,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述参考数据包的数据包类型和所述第一目的地地址,确定所述第二参考设备的运行状态,包括:
4.根据权利要求2所述的方法,其特征在于,根据所述参考数据包的数据包类型和所述第一目的地地址,确定所述第二参考设备的运行状态,包括:
5.根据权利要求2所述的方法,其特征在于,根据所述参考数据包的数据包类型和所述第一目的地地址,确定所述第二参考设备的运行状态,包括:
6.根据权利要求3或5所述的方法,其特征在于,确定所述第二参考设备为掉线状态之后,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种设备状态检测装置,其特征在于,应用于目标对象关联的主控制器,所述主控制器关联预设数量个参考设备,所述主控制器用于接收参考设备之间通信的数据包以及向所述参考设备发送数据包,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的设备状态检测方法。