指令信息处理方法、装置、计算机设备和存储介质与流程

摘要: 本技术涉及物联网通信领域,特别是涉及一种指令信息处理方法、装置、计算机设备和存储介质。背景技术:1、在车联网和资产追踪等物联网场景中,云平台常需向gps定位终端...
指令信息处理方法、装置、计算机设备和存储介质与流程

本技术涉及物联网通信领域,特别是涉及一种指令信息处理方法、装置、计算机设备和存储介质。

背景技术:

1、在车联网和资产追踪等物联网场景中,云平台常需向gps定位终端下发各类控制指令,但云平台向gps(global positioning system,全球定位系统)定位终端下发控制指令时,存在以下问题:无线终端依靠电池供电,为节能频繁休眠离线,致使平台难以实时下发指令;网关同时接入长期在线的有线终端和间歇联网的无线终端,现有方案未做策略区分,进一步拉高了无线终端的指令丢失率;多网关集群部署时,多个网关易同时处理同一条指令,造成重复下发并引发设备异常;同时现有机制无法关联指令与设备应答,平台不能追踪指令执行结果,缺少业务闭环;此外,设备因网络波动非正常断线时,已从信息队列取出却尚未下发的指令还会直接丢失。因此,在物联网网关集群环境下,如何针对有线终端和无线终端的不同连接特性,实现指令信息的可靠缓存、防重投递、差异化下发及执行结果闭环追踪,保证指令不丢失、不重复和可追踪,是需要解决的问题。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够在物联网网关集群环境下,针对有线终端和无线终端的不同连接特性,实现指令信息的可靠缓存、防重投递、差异化下发及执行结果闭环追踪,保证指令不丢失、不重复和可追踪的指令信息处理方法、装置、计算机设备和存储介质。

2、第一方面,本技术提供了一种指令信息处理方法,所述方法包括:

3、获取业务平台下发的原始指令信息,并确定物联网终端设备的设备状态和物联网终端设备的设备类型;

4、若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则将原始指令信息序列化处理为目标缓存指令,将所述目标缓存指令缓存至分布式缓存系统的待下发缓存键,并在获取到所述物联网终端设备发送的上报数据后,将目标缓存指令编码为协议报文下发至物联网终端设备;

5、若所述物联网终端设备的设备状态为持续在线状态,且所述物联网终端设备的设备类型为有线终端,则直接将所述原始指令信息编码为协议报文,并通过tcp通道将所述协议报文下发到所述物联网终端设备;

6、获取所述物联网终端设备基于所述协议报文反馈的应答报文,并根据所述应答报文和所述分布式缓存系统,确定目标指令信息,且将所述目标指令信息发送至业务平台。

7、在其中一个实施例中,确定物联网终端设备的设备状态,包括:

8、从信息队列中获取原始指令信息,基于原始指令信息中的物联网终端设备的目标设备标识,在本地会话容器中检索所述目标设备标识对应的活跃tcp长连接;

9、若未检索到目标设备标识对应的活跃tcp长连接,则确定所述物联网终端设备的设备状态为离线状态;

10、若检索到所述目标设备标识对应的活跃tcp长连接,则确定物联网终端设备的设备状态为在线状态。

11、在其中一个实施例中,若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则将原始指令信息序列化处理为目标缓存指令,将所述目标缓存指令缓存至分布式缓存系统的待下发缓存键,包括:

12、若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则通过分布式缓存系统获取分布式锁;

13、若分布式锁获取成功,则对所述原始指令信息进行序列化处理,确定目标缓存指令,且将所述目标缓存指令写入分布式缓存系统的待下发缓存键,并为目标缓存指令设定存储时长;

14、当所述目标缓存指令成功写入所述分布式缓存系统后释放所述分布式锁。

15、在其中一个实施例中,若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则通过分布式缓存系统获取分布式锁后,包括:

16、若分布式锁获取失败,则终止将所述原始指令信息写入所述分布式缓存系统执行的流程。

17、在其中一个实施例中,将目标缓存指令编码为协议报文下发至物联网终端设备,包括:

18、根据所述物联网终端设备的上报数据和本地会话中存储的备案设备标识,确定所述物联网终端设备是否完成注册授权;

19、若所述物联网终端设备完成了注册授权,则根据所述原始指令信息的指令前缀和目标设备标识组成的键,从分布式缓存系统中检索并获取所述物联网终端设备对应的目标缓存指令;

20、对所述目标缓存指令进行反序列化还原,确定原始指令信息,并调取目标指令处理器,通过所述指令处理器将所述原始指令信息封装为协议报文;

21、通过tcp通道将所述协议报文下发至所述物联网终端设备,协议报文下发成功后,删除所述分布式缓存系统的待下发缓存键;

22、将所述目标缓存指令写入所述分布式缓存系统的等待回复键。

23、在其中一个实施例中,若所述物联网终端设备的设备状态为持续在线状态,且所述物联网终端设备的设备类型为有线终端,则直接将所述原始指令信息编码为协议报文,并通过tcp通道将所述协议报文下发到所述物联网终端设备后,还包括:

24、确定所述协议报文下发成功后,向信息队列回传协议报文的报文发送状态信息,并对所述原始指令信息进行序列化处理,确定目标缓存指令,且将所述目标缓存指令存入所述分布式缓存系统的等待回复键。

25、在一个实施例中,根据所述应答报文和所述分布式缓存系统,确定目标指令信息,包括:

26、对所述应答报文进行解析,确定服务端流水号和执行结果码;

27、根据等待回复键的回复前缀、物联网终端设备的目标设备标识和服务端流水号组成的键,从所述分布式缓存系统的等待回复键中调取目标缓存指令,并对所述目标缓存指令进行反序列化处理,确定原始指令信息;

28、根据所述执行结果码确定执行结果信息,并将所述执行结果信息写入所述原始指令信息,确定目标指令信息。

29、第二方面,本技术还提供了一种指令信息处理装置,所述装置包括:

30、设备类型确定模块,用于获取业务平台下发的原始指令信息,并确定物联网终端设备的设备状态和物联网终端设备的设备类型;

31、指令信息缓存模块,用于若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则将原始指令信息序列化处理为目标缓存指令,将所述目标缓存指令缓存至分布式缓存系统的待下发缓存键,并在获取到所述物联网终端设备发送的上报数据后,将目标缓存指令编码为协议报文下发至物联网终端设备;

32、协议报文发送模块,用于若所述物联网终端设备的设备状态为持续在线状态,且所述物联网终端设备的设备类型为有线终端,则直接将所述原始指令信息编码为协议报文,并通过tcp通道将所述协议报文下发到所述物联网终端设备;

33、目标指令信息确定模块,用于获取所述物联网终端设备基于所述协议报文反馈的应答报文,并根据所述应答报文和所述分布式缓存系统,确定目标指令信息,且将所述目标指令信息发送至业务平台。

34、第三方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

35、获取业务平台下发的原始指令信息,并确定物联网终端设备的设备状态和物联网终端设备的设备类型;

36、若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则将原始指令信息序列化处理为目标缓存指令,将所述目标缓存指令缓存至分布式缓存系统的待下发缓存键,并在获取到所述物联网终端设备发送的上报数据后,将目标缓存指令编码为协议报文下发至物联网终端设备;

37、若所述物联网终端设备的设备状态为持续在线状态,且所述物联网终端设备的设备类型为有线终端,则直接将所述原始指令信息编码为协议报文,并通过tcp通道将所述协议报文下发到所述物联网终端设备;

38、获取所述物联网终端设备基于所述协议报文反馈的应答报文,并根据所述应答报文和所述分布式缓存系统,确定目标指令信息,且将所述目标指令信息发送至业务平台。

39、第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

40、获取业务平台下发的原始指令信息,并确定物联网终端设备的设备状态和物联网终端设备的设备类型;

41、若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则将原始指令信息序列化处理为目标缓存指令,将所述目标缓存指令缓存至分布式缓存系统的待下发缓存键,并在获取到所述物联网终端设备发送的上报数据后,将目标缓存指令编码为协议报文下发至物联网终端设备;

42、若所述物联网终端设备的设备状态为持续在线状态,且所述物联网终端设备的设备类型为有线终端,则直接将所述原始指令信息编码为协议报文,并通过tcp通道将所述协议报文下发到所述物联网终端设备;

43、获取所述物联网终端设备基于所述协议报文反馈的应答报文,并根据所述应答报文和所述分布式缓存系统,确定目标指令信息,且将所述目标指令信息发送至业务平台。

44、上述指令信息处理方法中,获取业务平台下发的原始指令信息,并确定物联网终端设备的设备状态和物联网终端设备的设备类型;若所述物联网终端设备的设备状态为离线状态,或所述物联网终端设备的设备类型为无线终端,则将原始指令信息序列化处理为目标缓存指令,将所述目标缓存指令缓存至分布式缓存系统的待下发缓存键,并在获取到所述物联网终端设备发送的上报数据后,将目标缓存指令编码为协议报文下发至物联网终端设备;若所述物联网终端设备的设备状态为持续在线状态,且所述物联网终端设备的设备类型为有线终端,则直接将所述原始指令信息编码为协议报文,并通过tcp通道将所述协议报文下发到所述物联网终端设备;获取所述物联网终端设备基于所述协议报文反馈的应答报文,并根据所述应答报文和所述分布式缓存系统,确定目标指令信息,且将所述目标指令信息发送至业务平台。解决了物联网网关向物联网终端设备发送指令信息时,无线终端指令易丢失、多网关并发导致指令重复下发、无法追踪指令执行结果且网络异常时指令丢失的问题。上述方案,能够针对有线终端和无线终端的不同连接特性,实现指令信息的可靠缓存、防重投递、差异化下发及执行结果闭环追踪,保证指令不丢失、不重复和可追踪。