CN114244893A - 指令处理方法、装置及通信*** - Google Patents
指令处理方法、装置及通信*** Download PDFInfo
- Publication number
- CN114244893A CN114244893A CN202111530141.0A CN202111530141A CN114244893A CN 114244893 A CN114244893 A CN 114244893A CN 202111530141 A CN202111530141 A CN 202111530141A CN 114244893 A CN114244893 A CN 114244893A
- Authority
- CN
- China
- Prior art keywords
- instruction
- sent
- equipment
- heartbeat message
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 15
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 9
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本说明书提供一种指令处理方法、装置及通信***,所述方法包括:获取待发送指令,并确定所述待发送指令对应的第一设备;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;接收第一设备发送的所述待发送指令对应的响应信息,实现指令的成功发送以及响应。
Description
技术领域
本说明书涉及通信技术领域,尤其涉及指令处理方法、装置及通信***。
背景技术
随着技术的发展,物联网设备的种类越来越多。物联网设备通过相关协议与云平台连接,云平台可以发送指令至物联网设备以控制物联网设备进行相关操作,并返回相应的响应信息至云平台,实现指令的成功响应。
目前,当低功耗的物联网设备,即低功耗设备与云平台连接的过程中,由于低功耗设备大部分时间处于休眠状态,因此,当云平台发送指令至低功耗设备时,在该低功耗设备处于休眠状态的情况下,该低功耗设备无法接收到云平台发送的指令,导致指令发送失败,从而造成指令的响应失败。
发明内容
为克服相关技术中存在的问题,本说明书提供了指令处理方法、装置及通信***。
根据本说明书实施例的第一方面,提供一种指令处理方法,应用于服务器,所述方法包括:
获取待发送指令,并确定所述待发送指令对应的第一设备;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;
接收第一设备发送的所述待发送指令对应的响应信息。
可选的,所述基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,包括:
响应于预设位置中存在所述第一设备上报的心跳消息或所述第一设备对应的标识信息,将所述待发送指令发送至所述第一设备;其中,所述第一设备对应的标识信息是在接收到所述第一设备上报的心跳消息的情况下确定的;
响应于所述预设位置中不存在所述第一设备上报的心跳消息或所述第一设备对应的标识信息,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备;
其中,所述预设位置中的第一设备上报的心跳消息或第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下保存,并在经过所述设定时间后删除的
可选的,所述基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,包括:
获取目标心跳消息对应的上报时刻,并获取所述第一设备对应的设定时间;其中,所述目标心跳消息表示最近接收到的第一设备上报的心跳消息;
根据所述目标心跳消息对应的上报时刻以及所述设定时间,将所述待发送指令发送至所述第一设备。
可选的,所述根据所述目标心跳消息对应的上报时刻以及所述设定时间,将所述待发送指令发送至所述第一设备,包括:
根据所述目标心跳消息对应的上报时刻和所述设定时间,确定第一时间范围,所述第一时间范围表示所述第一设备处于活跃状态的时间范围;
响应于当前时刻处于所述第一时间范围内,将所述待发送指令发送至所述第一设备;
响应于当前时刻未处于所述第一时间范围内,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备。
可选的,所述基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,包括:
获取第一设备对应的状态标识位;其中,所述状态标识位是根据第一设备上报的心跳消息确定的;
在所述状态标识位为第一预设标识的情况下,将所述待发送指令发送至所述第一设备;其中,所述第一预设标识指示所述第一设备处于活跃状态;
在所述状态标识位为第二预设标识的情况下,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备;其中,所述第二预设标识指示所述第一设备处于休眠状态。
可选的,所述方法还包括:
在接收到所述第一设备上报的心跳消息的情况下,获取所述第一设备对应的设定时间;
在接收到所述第一设备上报的心跳消息的情况下,获取所述第一设备对应的设定时间;
将所述第一设备上报的心跳消息保存至预设位置,或者,获取所述第一设备对应的标识信息,并将第一设备对应的标识信息保存至所述预设位置;
在经过所述第一设备对应的设定时间后,从所述预设位置中删除所述第一设备上报的心跳消息,或者,从所述预设位置中删除所述第一设备对应的标识信息。
可选的,所述方法还包括:
将所述待发送指令发送至第一设备;
响应于未接收到所述第一设备发送的所述待发送指令对应的响应信息,返回至所述将所述待发送指令发送至第一设备的步骤;
响应于接收到所述第一设备发送的所述待发送指令对应的响应信息,停止将所述待发送指令发送至所述第一设备。
可选的,所述将所述第一设备上报的心跳消息保存至预设位置,包括:
获取所述第一设备对应的设备标识,并将所述第一设备对应的设备标识作为键名;
将所述第一设备上报的心跳消息作为键值,并将所述键名、所述键值以及所述第一设备对应的设定时间保存至所述预设位置。
可选的,所述预设位置包括缓存、磁盘和数据库中的一个或多个;所述心跳消息包括当前心跳周期、当前报警状态、当前报警阈值、当前信号强度、当前电压和当前倾斜角度中的一个或多个。
可选的,所述方法还包括:
在接收到所述第一设备上报的心跳消息的情况下,基于预设协议格式,解析所述心跳消息,并显示解析后的心跳消息。
可选的,所述待发送指令包括更新指令;
所述方法还包括:
响应于第一页面内的第一设备信息的更新操作,获取更新后的第一设备信息,并根据所述更新后的第一设备信息生成所述第一设备对应的更新指令;其中,所述更新指令指示所述第一设备基于所述更新后的第一设备信息进行相应的更新处理;所述第一设备信息包括第一设备对应的心跳周期和/或报警阈值。
可选的,所述待发送指令包括查询指令;
所述方法还包括:
获取第一设备对应的待查询信息,并根据所述第一设备对应的待查询信息生成所述第一设备对应的查询指令。
根据本说明书实施例的第二方面,提供一种通信***,所述通信***包括服务器和第一设备;
所述服务器,用于获取待发送指令,并确定所述待发送指令对应的第一设备;基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备;以及接收第一设备发送的所述待发送指令对应的响应信息;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
所述第一设备,用于在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息。
可选的,所述通信***还包括显示设备;
所述服务器,用于在接收到所述第一设备上报的心跳消息的情况下,基于预设协议格式,解析所述心跳消息,并将解析后的心跳消息发送至显示设备;
所述显示设备,用于显示所述解析后的心跳消息。
可选的,通过所述显示设备提供第一页面,所述第一页面显示第一设备信息:
响应于所述第一页面内的第一设备信息的更新操作,确定更新后的第一设备信息,并将所述第一设备信息发送至所述服务器。
根据本说明书实施例的第三方面,提供一种指令处理装置,应用于服务器,所述装置包括:
指令获取模块,用于获取待发送指令,并确定所述待发送指令对应的第一设备;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
指令发送模块,用于基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;
信息接收模块,用于接收第一设备发送的所述待发送指令对应的响应信息。
可选的,指令发送模块具体用于:
响应于预设位置中存在所述第一设备上报的心跳消息或所述第一设备对应的标识信息,将所述待发送指令发送至所述第一设备;其中,所述第一设备对应的标识信息是在接收到所述第一设备上报的心跳消息的情况下确定的;
响应于所述预设位置中不存在所述第一设备上报的心跳消息或所述第一设备对应的标识信息,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备;
其中,所述预设位置中的第一设备上报的心跳消息或第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下保存,并在经过所述设定时间后删除的。
可选的,指令发送模块具体用于:
获取目标心跳消息对应的上报时刻,并获取所述第一设备对应的设定时间;其中,所述目标心跳消息表示最近接收到的第一设备上报的心跳消息;
根据所述目标心跳消息对应的上报时刻以及所述设定时间,将所述待发送指令发送至所述第一设备。
可选的,指令发送模块还具体用于:
根据所述目标心跳消息对应的上报时刻和所述设定时间,确定第一时间范围,所述第一时间范围表示所述第一设备处于活跃状态的时间范围;
响应于当前时刻处于所述第一时间范围内,将所述待发送指令发送至所述第一设备;
响应于当前时刻未处于所述第一时间范围内,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备。
可选的,指令发送模块还用于:
获取第一设备对应的状态标识位;其中,所述状态标识位是根据第一设备上报的心跳消息确定的;
在所述状态标识位为第一预设标识的情况下,将所述待发送指令发送至所述第一设备;其中,所述第一预设标识指示所述第一设备处于活跃状态;
在所述状态标识位为第二预设标识的情况下,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备;其中,所述第二预设标识指示所述第一设备处于休眠状态。
可选的,指令发送模块还用于
将所述待发送指令发送至第一设备;
响应于未接收到所述第一设备发送的所述待发送指令对应的响应信息,返回至所述将所述待发送指令发送至第一设备的步骤;
响应于接收到所述第一设备发送的所述待发送指令对应的响应信息,停止将所述待发送指令发送至所述第一设备。
可选的,指令处理装置还包括信息保存模块;
所述信息保存模块用于:
在接收到所述第一设备上报的心跳消息的情况下,获取所述第一设备对应的设定时间;
将所述第一设备上报的心跳消息保存至预设位置,或者,获取所述第一设备对应的标识信息,并将第一设备对应的标识信息保存至所述预设位置;
在经过所述第一设备对应的设定时间后,从所述预设位置中删除所述第一设备上报的心跳消息,或者,从所述预设位置中删除所述第一设备对应的标识信息。
可选的,所述信息保存模块具体用于:
获取所述第一设备对应的设备标识,并将所述第一设备对应的设备标识作为键名;
将所述第一设备上报的心跳消息作为键值,并将所述键名、所述键值以及所述第一设备对应的设定时间保存至所述预设位置。
可选的,所述预设位置包括缓存、磁盘和数据库中的一个或多个;所述心跳消息包括当前心跳周期、当前报警状态、当前报警阈值、当前信号强度、当前电压和当前倾斜角度中的一个或多个。
可选的,所述指令处理装置还包括显示模块;
显示模块用于:
在接收到所述第一设备上报的心跳消息的情况下,基于预设协议格式,解析所述心跳消息,并显示解析后的心跳消息。
可选的,所述待发送指令包括更新指令;
所述指令获取模块还用于:
响应于第一页面内的第一设备信息的更新操作,获取更新后的第一设备信息,并根据所述更新后的第一设备信息生成所述第一设备对应的更新指令;其中,所述更新指令指示所述第一设备基于所述更新后的第一设备信息进行相应的更新处理;所述第一设备信息包括第一设备对应的心跳周期和/或报警阈值。
可选的,所述待发送指令包括查询指令;
所述指令获取模块还用于:
获取第一设备对应的待查询信息,并根据所述第一设备对应的待查询信息生成所述第一设备对应的查询指令。
根据本说明书实施例的第四方面,提供一种服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待发送指令;
根据预设发送方式,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;其中,所述预设发送方式包括第一预设发送方式和/或第二预设发送方式,所述第一预设发送方式表示持续发送指令的方式;所述第二预设发送方式表示基于第一设备上报的心跳消息发送指令的方式;所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
接收第一设备发送的所述待发送指令对应的响应信息。
根据本说明书实施例的第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的指令处理方法。
根据本说明书实施例的第六方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的指令处理方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,在获取到待发送指令的情况下,表明需将待发送指令发送至相应的第一设备,该第一设备为每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备,即第一设备为低功耗设备,则基于利用第一设备上报的心跳消息确定当前时间是否在第一设备上报消息后的设定时间内,也即确定第一设备当前是否处于非休眠状态,即活跃状态,从而在第一设备处于活跃状态的情况下,将该待发送指令发送至该第一设备,实现指令的成功发送,避免指令的丢失,使得第一设备可以基于该待发送指令生成相应的响应信息,并返回该响应信息,实现指令的成功响应,从而实现对第一设备的成功控制,满足用户的需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种指令处理方法的流程图。
图2是本说明书根据一示例性实施例示出的另一种指令处理方法的流程图。
图3是本说明书根据一示例性实施例示出的第二页面的界面的示意图。
图4是本说明书实施例指令处理装置所在服务器的一种硬件结构图。
图5是本说明书根据一示例性实施例示出的一种指令处理装置的结构框图。
图6是本说明书根据一示例性实施例示出的一种通信***的结构示意图。
图7是本说明书根据一示例性实施例示出的另一种通信***的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
在一些实现方式中,低功耗设备大部分时间处于休眠状态,当上报心跳消息时,才进入活跃状态,因此,低功耗设备并不是实时可以接收到云平台下发的指令并响应的,即低功耗设备在处于休眠状态的情况下,无法接收到云平台发送的指令,从而导致指令发送失败。
因此,针对上述问题,本申请考虑到低功耗设备上报心跳消息后的一定时间,即t时间,也即设定时间(例如,2秒)内,处于活跃状态,即在该t时间内可以接收到云平台下发的指令,提出一种指令下发方法,该方法通过云平台在接收到低功耗设备上报的心跳消息后的t时间内,发送待发送指令至低功耗设备。为了保证可以在该t时间内下发待发送指令,云平台可以循环下发待发送指令至低功耗设备,直至时间达到低功耗设备的非休眠期,即直至达到低功耗设备上报的心跳消息后的t时间内,也即直至低功耗设备处于活跃状态,使得低功耗设备可以接收到待发送指令,实现指令的成功发送;云平台也可以基于最近接收到的第一设备上报的心跳消息,确定当前时刻是否处于第一设备上报心跳消息后的t时间内,并在确定当前时刻处于第一设备上报心跳消息后的t时间,将待发送指令发送至低功耗设备,使得低功耗设备可以成功接收到该待发送指令,实现指令的精准下发,避免资源的浪费,从而实现对低功耗设备的控制。
如图1所示,图1是本说明书根据一示例性实施例示出的一种指令处理方法的流程图,该方法应用于服务器,所述方法包括以下步骤:
步骤101、获取待发送指令,并确定待发送指令对应的第一设备。其中,第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备。
在本实施例中,在获取到需下发的指令,即待发送指令的情况下,获取该待发送指令对应的目标设备,即需接收该待发送指令的设备,也即第一设备。
其中,第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备,即第一设备在上报心跳消息至服务器后,进入活跃状态,并在经过活跃状态对应的设定时间后,重新进入休眠状态。设定时间表示第一设备上报心跳消息后,处于活跃状态的时长,即在第一设备上报心跳消息后的设定时间内,即t时间内,第一设备处于活跃状态,其可以接收到服务器发送的指令。例如,心跳周期为5秒,设定时间为2秒,则第一设备每隔5秒上报心跳消息至服务器,第一设备在该5秒内处于休眠状态,在上报心跳消息后,经过2秒后,第一设备重新进入休眠状态,而在该2秒内,第一设备处于活跃状态。
可选的,待发送指令包括更新指令和/或查询指令。当然,待发送指令也可以包括其它类型的指令,该指令只需可以控制第一设备执行相应的操作即可,在此,不对待发送指令的类型进行限制。
其中,更新指令用于指示第一设备更新相关参数;查询指令用于指示第一设备查询相关参数。
可选的,在获取到待发送指令的情况下,可以根据待发送指令中的设备标识确定第一设备,即将该设备标识对应的设备作为第一设备。
步骤102、基于第一设备上报的心跳消息,将待发送指令发送至第一设备,以使第一设备在接收到待发送指令的情况下,生成待发送指令对应的响应信息。
步骤103、接收第一设备发送的待发送指令对应的响应信息。
在本实施例中,基于第一设备上报的心跳消息确定第一设备当前是否处于上报心跳消息后的设定时间内,即判断第一设备当前是否处于活跃状态,也即判断第一设备当前是否可以接收到服务器下发的指令。在确定第一设备当前处于上报心跳消息后的设定时间内,表明第一设备当前处于活跃状态,也即表明第一设备当前可以接收到服务器下发的指令,则将待发送指令发送至第一设备,使得第一设备可以成功接收到该待发送指令,实现指令的成功发送,且实现指令的精准发送,避免服务器下发的指令的丢失,以及避免资源的浪费。第一设备在接收到该待发送指令的情况下,执行该待发送指令,即基于该待发送指令执行相关操作,并生成相应的响应信息,即生成待发送指令对应的响应信息,以实现该指令的成功响应,从而实现对第一设备的成功控制,避免第一设备的控制失败。
在本实施例中,第一设备在生成待发送指令对应的响应信息后,将该响应信息返回至服务器,服务器在接收到该响应信息的情况下,确定第一设备已经成功接收并执行该待发送指令,无需再继续发送该待发送指令。
可选的,在将第一设备对应的待发送指令发送至第一设备的情况下,若在预设接收时间内,并未接收到第一设备返回的响应信息,表明该待发送指令可能丢失或者第一设备未执行该待发送指令,则重新将待发送指令发送至第一设备。
其中,预设接收时间可以根据实际情况进行设置,例如,预设接收时间为1分钟。
从上述描述可知,在获取到待发送指令的情况下,表明需将待发送指令发送至相应的第一设备,该第一设备为每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备,即第一设备为低功耗设备,则基于利用第一设备上报的心跳消息确定当前时间是否在第一设备上报消息后的设定时间内,也即确定第一设备当前是否处于非休眠状态,即活跃状态,从而在第一设备处于活跃状态的情况下,将该待发送指令发送至该第一设备,实现指令的成功发送,避免指令的丢失,使得第一设备可以基于该待发送指令生成相应的响应信息,并返回该响应信息,实现指令的成功响应,从而实现对第一设备的成功控制,满足用户的需求。
如图2所示,图2是本说明书根据一示例性实施例示出的另一种指令处理方法的流程图,在接收第一设备上报的心跳消息的情况下,可以对该心跳消息进行显示。下面将结合一个具体实施例对此过程进行详细说明,如图2所示,该方法包括以下步骤:
步骤201、获取待发送指令,并确定待发送指令对应的第一设备。
在本实施例中,响应于第一页面内的第一设备信息的更新操作,获取更新后的第一设备信息,并根据更新后的第一设备信息生成第一设备对应的更新指令。其中,更新指令指示第一设备基于更新后的第一设备信息进行相应的更新处理。第一设备信息包括第一设备对应的心跳周期和/或报警阈值。
具体的,当用户需对第一设备的相关信息进行修改时,对显示的第一页面内的第一设备信息进行相应的修改,即输入相应的更新操作,服务器在接收到该第一设备信息对应的更新操作时,获取用户修改后的数据,即更新后的第一设备信息,并生成包括该更新后的第一设备信息的更新指令,将该更新指令发送至第一设备,以使第一设备基于该更新指令中的更新后的第一设备信息对本地的第一设备信息进行修改,实现对第一设备的相关参数的更新,从而实现对第一设备的有效控制。
举例来说,第一设备当前的心跳周期为5分钟,用户对第一页面上显示的心跳周期进行修改,即进行更新,更新后的心跳周期为4分钟,则生成包括该更新后的心跳周期的更新指令,并将该更新指令发送至第一设备,第一设备在接收到该更新指令后,从该更新指令中提取更新后的心跳周期,并将自身的心跳周期更新为4分钟。
其中,第一设备信息也可以包括其它类型的信息,在此,不对其进行限制。
可选的,第一页面可以是前端页面,其可以通过显示设备进行显示,也即显示设备提供第一页面,该第一页面显示第一设备信息。响应于所述第一页面内的第一设备信息的更新操作,确定更新后的第一设备信息,并将所述第一设备信息发送至所述服务器。
具体的,当用户需修改显示设备显示的第一页面上的第一设备信息时,对该第一设备信息进行相应的修改,即输入相应的更新操作,显示设备获取该更新操作对应的更新后的第一设备信息,并将其发送至服务器,以使服务器生成包括该更新后的第一设备信息的更新指令。
可选的,服务器可以为云平台。当然,该云平台还可以包括显示设备,即云平台是由服务器和显示设备组成的。
在本实施例中,当用户需查询第一设备的相关信息时,获取第一设备对应的待查询信息,并根据第一设备对应的待查询信息生成第一设备对应的查询指令。将该查询指令发送至第一设备,以使第一设备基于该查询指令中的待查询信息进行查询,得到相应的目标信息,并生成包括该目标信息的响应信息。将该响应信息发送至服务器,以使服务器从该响应信息中获取该目标信息,实现信息的查询。
可选的,服务器在得到目标信息后,可以对该目标信息进行显示,以使相关人员可以直接直观地获知该目标信息。
其中,待查询信息包括第一设备对应的报警状态、心跳周期、报警阈值、信号强度、电压和倾斜角度中的一个或多个。
其中,报警阈值可以表示相关参数(例如,电压)对应的报警阈值。报警状态是根据报警阈值以及该相关参数。例如,当该相关参数大于该报警阈值时,表明该相关参数异常,报警状态为第一状态(例如,Alarm状态);又例如,当该相关参数小于或等于该报警阈值时,表明该相关参数正常,则报警状态为第二状态(例如,No Alarm状态)
步骤202、基于第一设备上报的心跳消息,将待发送指令发送至第一设备,以使第一设备在接收到所述待发送指令的情况下,生成待发送指令对应的响应信息。
在本实施例中,在接收到第一设备上报的心跳消息的情况下,获取第一设备对应的设定时间。将第一设备上报的心跳消息保存至预设位置,或者,生成第一设备对应的标识信息,并将第一设备对应的标识信息保存至预设位置。在经过第一设备对应的设定时间后,从预设位置中删除第一设备上报的心跳消息,或者,从预设位置中删除第一设备对应的标识信息。
具体的,为了便于通过判断预设位置中是否存在心跳消息来确定第一设备是否处于活跃状态,当接收到第一设备上报的心跳消息时,将该心跳消息保存至预设位置,并在经过第一设备对应的设定时间后,即在将心跳消息在预设位置保存设定时间后,表明第一设备已经进入休眠状态,其无法接收到服务器下发的指令,则从预设位置中删除该心跳消息。
可以理解,在预设位置中存在第一设备上报的心跳消息期间,表明第一设备处于活跃状态,即可以接收到服务器下发的指令。在预设位置中不存在第一设备上报的心跳消息的情况下,表明第一设备当前处于休眠状态,即表明已经经过第一设备上报心跳消息的t时间,也即表明无法接收服务器下发的指令。
其中,预设位置包括缓存、磁盘和数据库中的一个或多个。可以根据需求设置预设位置,例如,为了提高信息读写效率,可以将预设位置设置为缓存。当然,预设位置也可以包括其它位置,只需该位置可以存储数据即可,在此,不对其进行限定。
具体的,为了便于通过判断预设位置中是否存在标识信息来确定判断第一设备是否处于活跃状态,当接收到第一设备上报的心跳消息时,生成相应的标识信息,并将其作为第一设备对应的标识信息,将该第一设备对应的标识信息保存至预设位置,并在经过第一设备对应的设定时间后,即在将该第一设备对应的标识信息在预设位置保存设定时间后,表明第一设备已经进入休眠状态,其无法接收到服务器下发的指令,则从预设位置中删除该该第一设备对应的标识信息。
其中,在生成第一设备对应的标识信息时,可以基于心跳消息生成,也可以直接将预设的标识(例如01)作为第一设备对应的标识信息,在此,不对其进行限制,只需其可以表示服务器接收到第一设备上报的心跳消息即可。
可选的,当基于心跳消息生成相应的标识信息时,可以将心跳消息中的指定信息作为标识信息,也可以通过对心跳消息进行相关处理确定(例如,计算心跳消息对应的哈希值,并将该哈希值作为第一设备对应的标识信息),还可以将其它与第一设备相关的信息(例如,第一设备对应的设备标识)作为第一设备对应的标识信息。
可以理解,在预设位置中存在第一设备对应的标识信息期间,表明第一设备处于活跃状态,即可以接收到服务器下发的指令。在预设位置中不存在第一设备上报的标识信息的情况下,表明第一设备当前处于休眠状态,即无法接收服务器下发的指令。
可选的,可以通过key、value、t的形式将第一设备上报的心跳消息保存至预设位置,以便于判断预设位置中是否存在第一设备上报的心跳消息,即可以通过第一设备对应的设备标识进行查找,其具体过程为:获取第一设备对应的设备标识,并将第一设备对应的设备标识作为键名,即将第一设备对应的设备标识作为t。将第一设备上报的心跳消息作为键值,并将键名、键值以及第一设备对应的设定时间保存至预设位置。
其中,当预设位置为缓存,将键名、键值以及第一设备对应的设定时间保存至缓存位置的代码如下:
/*
消息预设位置
*/
if msg.Topic=="Publish Topic"{
global.Cache.Set("device_id","msg",t)
return
};
可选的,也可以通过key、value、t的形式将第一设备对应的标识信息保存至预设位置,其具体过程为:获取第一设备对应的设备标识,并将第一设备对应的设备标识作为键名,即将第一设备对应的设备标识作为t。将第一设备对应的标识信息作为键值,并将键名、键值以及第一设备对应的设定时间保存至预设位置。
可选的,在接收到第一设备上报的心跳消息的情况下,将第一设备对应的状态标识位修改为第一预设标识,以表明第一设备进入活跃状态,即第一预设标识指示第一设备处于活跃状态。在经过第一设备对应的设定时间后,将第一设备对应的状态标识位修改为第二预设标识,以表明第一设备进入休眠状态,即第二预设标识指示第一设备处于休眠状态。
其中,第一预设标识和第二预设标识的具体值可以根据实际情况进行设置,只需两者不同即可,例如,第一预设标识为1,第二预设标识为0。
可选的,在基于第一设备上报的心跳消息,将待发送指令发送至第一设备的情况下,可以通过以下三种方式进行发送。
一种方式为:响应于预设位置中存在第一设备上报的心跳消息或第一设备对应的标识信息,将待发送指令发送至第一设备。其中,第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下确定的。响应于预设位置中不存在第一设备上报的心跳消息或第一设备对应的标识信息,在接收到第一设备上报的新的心跳消息的情况下,将待发送指令发送至第一设备。其中,预设位置中的第一设备上报的心跳消息或第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下保存,并在经过所述设定时间后删除的
具体的,在需要将第一设备对应的待发送指令发送至第一设备时,判断预设位置中是否存在第一设备上报的心跳消息或第一设备对应的标识信息,以确定第一设备当前是否处于活跃状态,即确定第一设备是否可以接收到服务器下发的指令,也即确定当前时刻是否处于第一设备在上报心跳消息后,可以接收到指令的时间范围内。在预设位置中存在第一设备上报的心跳消息或第一设备对应的标识信息的情况下,表明当前时刻仍处于第一设备可以接收到指令的时间范围内,即表明第一设备当前处于活跃状态,则将该待发送指令发送至第一设备,该第一设备可以成功接收到该待发送指令,实现指令的精准下发,无需重复发送指令,在避免指令发送失败的基础上,可以避免资源的浪费。
在预设位置中不存在第一设备上报的心跳消息或第一设备对应的标识信息的情况下,表明当前时刻未处于第一设备可以接收到指令的时间范围内,即表明该第一设备当前处于休眠状态,为了避免指令下发失败,停止发送该第一设备对应的待发送指令,直至第一设备上报心跳消息时,触发指令下发,即在接收到第一设备发送的新的心跳消息的情况下,表明第一设备当前处于活跃状态,则将待发送指令发送至第一设备,实现指令的精准下发,在避免指令发送失败的基础上,可以避免资源的浪费。
可以理解,在将第一设备上报的心跳消息直接保存至预设位置的情况下,则在需将待发送指令发送至第一设备时,判断预设位置中是否存在该第一设备上报的心跳消息,若该预设位置中存在该第一设备上报的心跳消息,则将待发送指令发送至第一设备。若该预设位置中不存在该第一设备上报的心跳消息,则在接收到第一设备再次上传的心跳消息的情况下,将待发送指令发送至第一设备。同理,在将第一设备对应的标识信息保存至预设位置的情况下,则在需将待发送指令发送至第一设备时,判断预设位置中是否存在该第一设备对应的标识信息。
可选的,判断预设位置中是否存在该第一设备上报的心跳消息或第一设备对应的标识信息可以通过第一设备对应的设备标识进行判断,从而确定是否直接发送待发送指令至第一设备,该过程具体为:即在预设位置中未查找到与第一设备对应的设备标识对应的value值,即心跳消息或第一设备对应的标识信息的情况下,表明预设位置为空,则确定预设位置中不存在该第一设备上报的心跳消息,并在接收到第一设备再次上传的心跳消息的情况下,将待发送指令发送至第一设备。在预设位置中查找到与第一设备对应的设备标识对应的value值,即心跳消息或第一设备对应的标识信息的情况下,表明预设位置不为空,则确定预设位置中存在该第一设备上报的心跳消息,并将待发送指令发送至第一设备。其中,当预设位置为缓存时,该过程的实现代码如下:
/*
查询缓存区是否为空
*/
if msg.Topic=="Subscribe Topic"{
get,_:=global.Cache.Get("device_id")
if get!=nil{
token:=mqttProducer.client.Publish(msg.Topic,msg.Qos,msg.Retained,msg.Payload)
}
else{
ProduceMqttMessageBytes("Subscribe Topic",gconv.Bytes(msg.Payload))
}
};
在本实施例中,在发送待发送指令至第一设备的情况下,由于第一设备上报的心跳消息或第一设备对应的标识信息仅在预设位置中保存设定时间,即仅在第一设备上报心跳消息的设定时间内,将该心跳消息保存至预设位置中,因此,可以通过判断预设位置中是否存在第一设备上报的心跳消息或者第一设备对应的标识信息来判断当前是否处于第一设备上报心跳消息后的设定时间内,即判断第一设备当前是否处于活跃状态,从而确定是否立即下发待发送指令,实现指令的精准下发,避免指令的丢失以及由于重复发送导致的资源的浪费。
另一种方式为:获取目标心跳消息对应的上报时刻,并获取第一设备对应的设定时间。其中,目标心跳消息表示最近接收到的第一设备上报的心跳消息。设定时间表示第一设备上报心跳消息后,处于活跃状态的时长。根据目标心跳消息对应的上报时刻以及设定时间,将待发送指令发送至第一设备。
具体的,在需要将第一设备对应的待发送指令发送至第一设备时,获取最近一次接收到该第一设备上报的心跳消息,并将该心跳消息作为目标心跳消息。获取该目标心跳消息对应的上报时刻,并获取该第一设备对应的设定时间,以供利用该上报时刻和该设定时间确定第一设备当前是否处于活跃状态,即确定第一设备是否可以接收到服务器下发的指令,也即确定当前时刻是否处于第一设备在上报心跳消息后,可以接收到指令的时间范围内,从而确定是否将第一设备对应的待发送指令直接发送至第一设备。
其中,上报时刻可以表示接收到第一设备上报的心跳消息的时刻,即在接收到第一设备上报的心跳消息的情况下,记录当前时刻,并将该当前时刻作为该上报时刻。上报时刻也可以表示第一设备采集到心跳消息的时刻,即第一设备在需发送心跳消息的情况下,采集相应的信息,并记录采集时刻,生成包括该采集的信息以及采集时刻的心跳消息,并将该心跳消息上报至服务器,服务器在接收到该心跳消息的情况下,从该心跳消息中提取采集时刻,并将该采集时刻作为第一设备对应的上报时刻。
可选的,根据目标心跳消息对应的上报时刻以及设定时间,将待发送指令发送至第一设备,包括:
根据目标心跳消息对应的上报时刻和设定时间,确定第一时间范围,第一时间范围表示第一设备处于活跃状态的时间范围。
响应于当前时刻处于第一时间范围内,将待发送指令发送至第一设备。
响应于当前时刻未处于第一时间范围内,在接收到第一设备上报的新的心跳消息的情况下,将待发送指令发送至第一设备。
具体的,根据最近接收到的心跳消息,即第一设备最近上传的心跳消息,也即目标心跳消息对应的上报时刻和设定时间,确定第一设备处于活跃状态的时间,即第一时间范围。判断当前时刻是否处于第一时间范围内,以确定第一设备当前是否处于活跃状态,即确定第一设备是否可以接收到服务器下发的指令。在当前时刻处于第一时间范围内的情况下,表明第一设备当前处于活跃状态,即表明第一设备可以接收到服务器下发的指令,则将第一设备对应的待发送指令发送至第一设备,第一设备可以成功接收到该待发送指令,实现指令的精准下发,无需重复发送指令,在避免指令发送失败的基础上,可以避免资源的浪费。
在当前时刻未处于第一时间范围内的情况下,表明当前时刻未处于第一设备可以接收到指令的时间范围内,即表明该第一设备当前处于休眠状态,为了避免指令下发失败,停止发送该第一设备对应的待发送指令,直至第一设备上报心跳消息时,触发指令下发,即在接收到第一设备发送的新的心跳消息的情况下,表明第一设备当前处于活跃状态,则将待发送指令发送至第一设备,实现指令的精准下发,在避免指令发送失败的基础上,可以避免资源的浪费。
以一个具体应用场景为例,第一设备对应的心跳周期为5秒,设定时间为2秒,即第一设备每隔5秒上报一次心跳消息,并在上报心跳消息的2秒内处于活跃状态。第一设备最近上传的心跳消息,即目标心跳消息对应的上报时刻为9:00′20″,则第一设备在9:00′20″-9:00′22″这段时间范围内,处于活跃状态,即9:00′20″-9:00′22″为第一时间范围。在当前时刻处于该第一时间范围内的情况下,例如,当前时刻为9:00′21″,表明第一设备当前处于活跃状态,则将待发送指令下发至该第一设备。在当前时刻未处于该第一时间范围内的情况下,例如,当前时刻为9:00′23″,表明第一设备当前未处于活跃状态,第一设备会在9:00′27″时再次上报心跳消息,则服务器在接收到第一设备再次上报的心跳消息的情况下,将待发送指令发送至第一设备。
在本实施例中,在发送待发送指令至第一设备的情况下,获取最近接收到的第一设备上报的心跳消息所对应的上报时刻,并基于该上报时间以及该第一设备对应的设定时间直接判断当前时刻是否处于第一设备上报心跳消息的设定时间内,即直接判断第一设备当前是否处于活跃状态,从而确定是否立即下发待发送指令,实现指令的精准下发,避免指令的丢失以及由于重复发送导致的资源的浪费。
又一种方式为:获取第一设备对应的状态标识位。其中,状态标识位是根据第一设备上报的心跳消息确定的。在状态标识位为第一预设标识的情况下,将待发送指令发送至第一设备。其中,第一预设标识指示第一设备处于活跃状态。在状态标识位为第二预设标识的情况下,在接收到第一设备上报的新的心跳消息的情况下,将待发送指令发送至第一设备。其中,第二预设标识指示第一设备处于休眠状态。
具体的,在需将第一设备对应的待发送设备下发至第一设备时,获取第一设备对应的状态标识位,即该状态标识位当前的具体值。在该状态标识位为第一预设标识的情况下,表明当前仍处于第一设备上报心跳消息后的设定时间内,即表明第一设备当前处于活跃状态,则将该待发送指令发送至第一设备。在该状态标识位为第二预设标识的情况下,表明当前未处于第一设备上报心跳消息后的设定时间内,即表明第一设备当前处于休眠状态,则进行等待,直至在接收到第一设备上报的新的心跳消息的情况下,即在第一设备对应的状态标识位重新为第一预设标识的情况下,将待发送指令发送至第一设备。
在本实施例中,在发送待发送指令至第一设备的情况下,获取第一设备对应的状态标识位,并通过该状态标识位直接判断当前时刻是否处于第一设备上报心跳消息的设定时间内,即直接判断第一设备当前是否处于活跃状态,从而确定是否立即下发待发送指令,实现指令的精准下发,避免指令的丢失以及由于重复发送导致的资源的浪费。
可选的,在需发送待发送指令至第一设备的情况下,还可以采用循环发送指令的方式发送该待发送指令,即将待发送指令发送至第一设备;响应于未接收到第一设备发送的待发送指令对应的响应信息,返回至将待发送指令发送至第一设备的步骤;响应于接收到第一设备发送的待发送指令对应的响应信息,停止将待发送指令发送至第一设备。
具体的,在按照持续发送指令的方式发送待发送指令的情况下,每隔一定时间,便将待发送指令发送至第一设备,直至在接收到第一设备返回的响应信息后,停止发送待发送指令。
其中,在预设接收时间内未接收到第一设备发送的待发送指令对应的响应信息的情况下,确定未接收到第一设备发送的待发送指令对应的响应信息。在预设接收时间内接收到第一设备发送的待发送指令对应的响应信息的情况下,确定接收到第一设备发送的待发送指令对应的响应信息。
步骤203、接收第一设备发送的待发送指令对应的响应信息。
步骤204、在接收到第一设备上报的心跳消息的情况下,基于预设协议格式,解析心跳消息,并显示解析后的心跳消息。
在本实施例中,服务器在接收到第一设备上报的心跳消息的情况下,基于预设协议格式,解析该心跳消息,即从心跳消息中提取所需的信息,得到解析后的心跳消息,并对解析后的心跳消息进行显示,实现心跳消息的可视化,以使相关人员可以直观地获知第一设备当前的情况。
其中,第一设备上报的心跳消息与第一设备的类型相关联,相关人员也可以预先设置第一设备上报的心跳消息所包括的信息。例如,当第一设备为双轴倾斜传感器时,第一设备上报的心跳消息包括当前心跳周期、当前报警状态、当前报警阈值、当前信号强度、当前电压和当前倾斜角度中的一个或多个。
其中,当前倾斜角度包括当前X轴角度和/Y轴角度。
其中,基于预设协议格式解析心跳消息的过程与现有基于协议格式解析相关消息的过程类似,在此,不再对其进行赘述。
可选的,在显示解析后的心跳消息的情况下,可以通过前端进行显示,即可以通过显示设备进行显示包括该解析后的心跳消息的叶绵绵,也即服务器将解析后的心跳消息发送至显示设备,以使显示设备显示该解析后的心跳消息(如图3所示的显示解析后的心跳消息的第二页面)。
其中,在将解析后的心跳消息发送至显示设备的情况下,可以基于物联网(Internet of Things,IoT)协议进行发送。
其中,心跳消息还可以包括相关参数对应的期望值,如图3所示,心跳周期的期望值表示设置的心跳周期的标准值,即心跳周期的设置值。例如,设置第一设备的心跳周期为6秒,但第一设备在运行期间,心跳周期变成5秒,即当前心跳周期为5秒。
可选的,用户还可以在第二页面上修改相关参数,即输入相应的更新操作。如图3所示,用户可以对第二页面上的心跳周期和报警阈值进行修改,即在输入框10内输入相应的修改值。
可选的,用户还可以对第二页面显示的解析后的心跳消息进行刷新操作,即对于解析后的心跳消息中的各个信息,即参数对应的刷新按键(如图3所示的刷新按键20),用户通过触发该刷新按键,实现对该信息的更新,即刷新。例如,解析后的心跳消息包括电压,通过触发该电压对应的刷新按键,对电压进行刷新,以将其更新至最新值。
可选的,在得到解析后的心跳消息后,还可以对其进行其它处理操作,例如,当解析后的心跳消息中的报警状态为第一状态(例如,Alarm状态)时,表明第一设备的相关参数已经超过报警阈值,即第一设备已经进行报警,需相关人员对该第一设备进行检测,则生成报警信息,并将其发送至相关人员对应的用户端。
在本实施例中,考虑到第一设备的实际心跳周期可能与设置的心跳周期,即心跳周期的期望值不符,因此,无法直接利用第一设备的心跳周期确定第一设备是否处于活跃状态,从而在基于第一设备对应的心跳周期发送待发送指令时,无法确定第一设备当前是否处于活跃状态,从而无法实现指令的成功发送。同时考虑到仅在接收到第一设备上报的心跳消息的情况下发送待发送指令,每次发送指令可能都需要等待,造成指令的延迟发送,因此,本申请基于第一设备上报的心跳消息准确确定当前时刻是否处于第一设备上报心跳消息后的设定时间内,即第一设备当前是否处于活跃状态,从而在确定第一设备当前处于活跃状态的情况下,将待发送指令发送至第一设备,实现指令的及时精准下发。
在本实施例中,第一设备每隔心跳周期上报心跳消息至服务器,服务器在接收到第一设备上报的心跳消息的情况下,对其进行解析,以提取所需的信息,从而得到解析后的心跳消息,并对解析后的心跳消息进行显示,实现心跳消息的可视化展示,从而使得用户可以直观地获知第一设备的心跳消息,即第一设备当前的情况,满足用户需求。
与前述方法的实施例相对应,本说明书还提供了指令处理装置及其所应用的终端的实施例。
本说明书指令处理装置的实施例可以应用在服务器上,例如服务器(例如,如上所述的媒体服务器)。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书实施例指令处理装置所在服务器的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口420、以及非易失性存储器440之外,实施例中指令处理装置431所在的服务器,通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。
如图5所示,图5是本说明书根据一示例性实施例示出的一种指令处理装置的框图,所述装置包括:
指令获取模块510,用于获取待发送指令,并确定待发送指令对应的第一设备;其中,第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备。
指令发送模块520,用于基于第一设备上报的心跳消息,将待发送指令发送至第一设备,以使第一设备在接收到待发送指令的情况下,生成待发送指令对应的响应信息。
信息接收模块530,用于接收第一设备发送的待发送指令对应的响应信息。
可选的,指令发送模块520具体用于:
响应于预设位置中存在第一设备上报的心跳消息或第一设备对应的标识信息,将待发送指令发送至第一设备。其中,第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下确定的。
响应于预设位置中不存在第一设备上报的心跳消息或第一设备对应的标识信息,在接收到第一设备上报的新的心跳消息的情况下,将待发送指令发送至第一设备。
其中,预设位置中的第一设备上报的心跳消息或第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下保存,并在经过设定时间后删除的。
可选的,预设位置包括缓存、磁盘和数据库中的一个或多个。
可选的,指令发送模块520具体用于:
获取目标心跳消息对应的上报时刻,并获取第一设备对应的设定时间。其中,目标心跳消息表示最近接收到的第一设备上报的心跳消息。
根据目标心跳消息对应的上报时刻以及设定时间,将待发送指令发送至第一设备。
可选的,指令发送模块520还具体用于:
根据目标心跳消息对应的上报时刻和设定时间,确定第一时间范围,第一时间范围表示第一设备处于活跃状态的时间范围。
响应于当前时刻处于第一时间范围内,将待发送指令发送至第一设备。
响应于当前时刻未处于第一时间范围内,在接收到第一设备上报的新的心跳消息的情况下,将待发送指令发送至第一设备。
可选的,指令发送模块520还用于:
获取第一设备对应的状态标识位。其中,状态标识位是根据第一设备上报的心跳消息确定的。
在状态标识位为第一预设标识的情况下,将待发送指令发送至第一设备。其中,第一预设标识指示第一设备处于活跃状态。
在状态标识位为第二预设标识的情况下,在接收到第一设备上报的新的心跳消息的情况下,将待发送指令发送至第一设备。其中,第二预设标识指示第一设备处于休眠状态。
可选的,指令发送模块520还用于
将待发送指令发送至第一设备。
响应于未接收到第一设备发送的待发送指令对应的响应信息,返回至将待发送指令发送至第一设备的步骤。
响应于接收到第一设备发送的待发送指令对应的响应信息,停止将待发送指令发送至第一设备。
可选的,指令处理装置还包括信息保存模块。
信息保存模块用于:
在接收到第一设备上报的心跳消息的情况下,获取第一设备对应的设定时间。
将第一设备上报的心跳消息保存至预设位置,或者,获取第一设备对应的标识信息,并将第一设备对应的标识信息保存至预设位置。
在经过第一设备对应的设定时间后,从预设位置中删除第一设备上报的心跳消息,或者,从预设位置中删除第一设备对应的标识信息。
可选的,信息保存模块具体用于:
获取第一设备对应的设备标识,并将第一设备对应的设备标识作为键名。
将第一设备上报的心跳消息作为键值,并将键名、键值以及第一设备对应的设定时间保存至预设位置。
可选的,心跳消息包括当前心跳周期、当前报警状态、当前报警阈值、当前信号强度、当前电压和当前倾斜角度中的一个或多个。
可选的,指令处理装置还包括显示模块。
显示模块用于:
在接收到第一设备上报的心跳消息的情况下,基于预设协议格式,解析心跳消息,并显示解析后的心跳消息。
可选的,待发送指令包括更新指令。
指令获取模块510还用于:
响应于第一页面内的第一设备信息的更新操作,获取更新后的第一设备信息,并根据更新后的第一设备信息生成第一设备对应的更新指令。其中,更新指令指示第一设备基于更新后的第一设备信息进行相应的更新处理。第一设备信息包括第一设备对应的心跳周期和/或报警阈值。
可选的,待发送指令包括查询指令。
指令获取模块510还用于:
获取第一设备对应的待查询信息,并根据第一设备对应的待查询信息生成第一设备对应的查询指令。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
如图6所示,图6是本说明书根据一示例性实施例示出的一种通信***的结构图,***包括服务器和第一设备。
服务器610,用于获取待发送指令,并确定待发送指令对应的第一设备。基于第一设备上报的心跳消息,将待发送指令发送至第一设备。以及接收第一设备发送的待发送指令对应的响应信息。其中,第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备。
第一设备620,用于在接收到待发送指令的情况下,生成待发送指令对应的响应信息。
在本实施例中,服务器610在获取到待发送指令的情况下,表明需将待发送指令发送至相应的第一设备620,该第一设备620为每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备,即第一设备620为低功耗设备,则服务器610基于第一设备620上报的心跳消息,将该待发送指令发送至该第一设备620,实现指令的成功发送,避免指令的丢失,使得第一设备620可以基于该待发送指令生成相应的响应信息,并返回该响应信息,实现指令的成功响应,从而实现对第一设备620的成功控制,满足用户的需求。
如图7所示,图7是本说明书根据一示例性实施例示出的另一种通信***的结构图,如图7所示,所述通信***还包括显示设备630;
服务器610,用于在接收到第一设备620上报的心跳消息的情况下,基于预设协议格式,解析心跳消息,并将解析后的心跳消息发送至显示设备630。
显示设备630,用于显示解析后的心跳消息。
可选的,通过显示设备630提供第一页面,第一页面显示第一设备620信息。响应于第一页面内的第一设备620信息的更新操作,确定更新后的第一设备620信息,并将第一设备620信息发送至服务器610。
上述***中各个设备的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序代码,该计算机程序代码被处理器执行时实现上述方法步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上述方法步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (16)
1.一种指令处理方法,其特征在于,应用于服务器,所述方法包括:
获取待发送指令,并确定所述待发送指令对应的第一设备;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;
接收第一设备发送的所述待发送指令对应的响应信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,包括:
响应于预设位置中存在所述第一设备上报的心跳消息或所述第一设备对应的标识信息,将所述待发送指令发送至所述第一设备;其中,所述第一设备对应的标识信息是在接收到所述第一设备上报的心跳消息的情况下确定的;
响应于所述预设位置中不存在所述第一设备上报的心跳消息或所述第一设备对应的标识信息,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备;
其中,所述预设位置中的第一设备上报的心跳消息或第一设备对应的标识信息是在接收到第一设备上报的心跳消息的情况下保存,并在经过所述设定时间后删除的。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,包括:
获取目标心跳消息对应的上报时刻,并获取所述第一设备对应的设定时间;其中,所述目标心跳消息表示最近接收到的第一设备上报的心跳消息;
根据所述目标心跳消息对应的上报时刻以及所述设定时间,将所述待发送指令发送至所述第一设备。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标心跳消息对应的上报时刻以及所述设定时间,将所述待发送指令发送至所述第一设备,包括:
根据所述目标心跳消息对应的上报时刻和所述设定时间,确定第一时间范围,所述第一时间范围表示所述第一设备处于活跃状态的时间范围;
响应于当前时刻处于所述第一时间范围内,将所述待发送指令发送至所述第一设备;
响应于当前时刻未处于所述第一时间范围内,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,包括:
获取第一设备对应的状态标识位;其中,所述状态标识位是根据第一设备上报的心跳消息确定的;
在所述状态标识位为第一预设标识的情况下,将所述待发送指令发送至所述第一设备;其中,所述第一预设标识指示所述第一设备处于活跃状态;
在所述状态标识位为第二预设标识的情况下,在接收到所述第一设备上报的新的心跳消息的情况下,将所述待发送指令发送至所述第一设备;其中,所述第二预设标识指示所述第一设备处于休眠状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述待发送指令发送至第一设备;
响应于未接收到所述第一设备发送的所述待发送指令对应的响应信息,返回至所述将所述待发送指令发送至第一设备的步骤;
响应于接收到所述第一设备发送的所述待发送指令对应的响应信息,停止将所述待发送指令发送至所述第一设备。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一设备对应的设备标识,并将所述第一设备对应的设备标识作为键名;
将所述第一设备上报的心跳消息作为键值,并将所述键名、所述键值以及所述第一设备对应的设定时间保存至预设位置。
8.根据权利要求2或7所述的方法,其特征在于,所述预设位置包括缓存、磁盘和数据库中的一个或多个;所述心跳消息包括当前心跳周期、当前报警状态、当前报警阈值、当前信号强度、当前电压和当前倾斜角度中的一个或多个。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
在接收到所述第一设备上报的心跳消息的情况下,基于预设协议格式,解析所述心跳消息,并显示解析后的心跳消息。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述待发送指令包括更新指令;
所述方法还包括:
响应于第一页面内的第一设备信息的更新操作,获取更新后的第一设备信息,并根据所述更新后的第一设备信息生成所述第一设备对应的更新指令;其中,所述更新指令指示所述第一设备基于所述更新后的第一设备信息进行相应的更新处理;所述第一设备信息包括第一设备对应的心跳周期和/或报警阈值。
11.根据权利要求1至7任一项所述的方法,其特征在于,所述待发送指令包括查询指令;
所述方法还包括:
获取第一设备对应的待查询信息,并根据所述第一设备对应的待查询信息生成所述第一设备对应的查询指令。
12.一种通信***,其特征在于,所述通信***包括服务器和第一设备;
所述服务器,用于获取待发送指令,并确定所述待发送指令对应的第一设备;基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备;以及接收第一设备发送的所述待发送指令对应的响应信息;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
所述第一设备,用于在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息。
13.根据权利要求12所述的***,其特征在于,所述通信***还包括显示设备;
所述服务器,用于在接收到所述第一设备上报的心跳消息的情况下,基于预设协议格式,解析所述心跳消息,并将解析后的心跳消息发送至显示设备;
所述显示设备,用于显示所述解析后的心跳消息。
14.根据权利要求13所述的***,其特征在于,通过所述显示设备提供第一页面,所述第一页面显示第一设备信息:
响应于所述第一页面内的第一设备信息的更新操作,确定更新后的第一设备信息,并将所述第一设备信息发送至所述服务器。
15.一种指令处理装置,其特征在于,应用于服务器,所述装置包括:
指令获取模块,用于获取待发送指令,并确定所述待发送指令对应的第一设备;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
指令发送模块,用于基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;
信息接收模块,用于接收第一设备发送的所述待发送指令对应的响应信息。
16.一种服务器,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如下方法:
获取待发送指令,并确定所述待发送指令对应的第一设备;其中,所述第一设备是每个心跳周期上报心跳消息,并在每次上报心跳消息后,经过设定时间进入休眠状态的设备;
基于所述第一设备上报的心跳消息,将所述待发送指令发送至第一设备,以使所述第一设备在接收到所述待发送指令的情况下,生成所述待发送指令对应的响应信息;
接收第一设备发送的所述待发送指令对应的响应信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530141.0A CN114244893A (zh) | 2021-12-14 | 2021-12-14 | 指令处理方法、装置及通信*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530141.0A CN114244893A (zh) | 2021-12-14 | 2021-12-14 | 指令处理方法、装置及通信*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114244893A true CN114244893A (zh) | 2022-03-25 |
Family
ID=80756033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111530141.0A Pending CN114244893A (zh) | 2021-12-14 | 2021-12-14 | 指令处理方法、装置及通信*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244893A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594268A (zh) * | 2009-06-23 | 2009-12-02 | 中兴通讯股份有限公司 | 链路检测方法 |
CN102685768A (zh) * | 2011-03-08 | 2012-09-19 | 华为技术有限公司 | 心跳消息的处理方法、心跳周期的获取方法及接入网设备 |
CN104408956A (zh) * | 2014-11-06 | 2015-03-11 | 深圳市广和通无线通信软件有限公司 | 车辆状态监控方法和*** |
US20160164990A1 (en) * | 2013-11-28 | 2016-06-09 | Huawei Device Co., Ltd. | Method for Sending Heartbeat Message and Mobile Terminal |
CN105827697A (zh) * | 2016-03-14 | 2016-08-03 | 广州趣丸网络科技有限公司 | 用户离线检测方法和用户离线检测*** |
CN111698098A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 通信方法、装置和计算机可读存储介质 |
CN112492555A (zh) * | 2020-11-30 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种控制指令的处理方法以及装置 |
-
2021
- 2021-12-14 CN CN202111530141.0A patent/CN114244893A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594268A (zh) * | 2009-06-23 | 2009-12-02 | 中兴通讯股份有限公司 | 链路检测方法 |
CN102685768A (zh) * | 2011-03-08 | 2012-09-19 | 华为技术有限公司 | 心跳消息的处理方法、心跳周期的获取方法及接入网设备 |
US20160164990A1 (en) * | 2013-11-28 | 2016-06-09 | Huawei Device Co., Ltd. | Method for Sending Heartbeat Message and Mobile Terminal |
CN104408956A (zh) * | 2014-11-06 | 2015-03-11 | 深圳市广和通无线通信软件有限公司 | 车辆状态监控方法和*** |
CN105827697A (zh) * | 2016-03-14 | 2016-08-03 | 广州趣丸网络科技有限公司 | 用户离线检测方法和用户离线检测*** |
CN111698098A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 通信方法、装置和计算机可读存储介质 |
CN112492555A (zh) * | 2020-11-30 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种控制指令的处理方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598280B (zh) | 一种设备仿真***和方法、计算机可读存储介质 | |
US20170109206A1 (en) | Task scheduling method, apparatus, and device | |
CN101252462B (zh) | 告警页面刷新方法以及服务器和客户端 | |
CN107038017B (zh) | 渲染数据获取的方法和装置 | |
CN111355622A (zh) | 容器的业务监控方法、***和计算机可读存储介质 | |
US11288054B2 (en) | Vehicular communication system | |
CN111669717A (zh) | 云手机数据发送方法、计算机装置和存储介质 | |
CN109508277A (zh) | 一种数据库一体机的监控***和方法 | |
CN113886198A (zh) | 一种告警方法、***、设备以及介质 | |
CN109409948B (zh) | 交易异常检测方法、装置、设备及计算机可读存储介质 | |
KR100747467B1 (ko) | 로그 관리 객체를 이용한 장치관리 시스템 및 해당시스템에서의 로깅 데이터 생성 및 제어 방법 | |
CN110888790B (zh) | 日志管理方法及装置、电子设备、存储介质 | |
CN110019974B (zh) | 图表下钻实现方法及装置 | |
CN114244893A (zh) | 指令处理方法、装置及通信*** | |
CN110275785B (zh) | 数据处理方法、装置、客户端和服务器 | |
CN105208516B (zh) | 一种蓝牙寻呼方法和装置 | |
CN107402865B (zh) | 客户端数据监控方法及装置 | |
CN110955669B (zh) | 基于事件与内存数据库的前后端数据一致性方法及*** | |
CN112532703B (zh) | 一种配置页面的请求方法、装置及电子设备 | |
CN114546677A (zh) | 一种消息执行处理方法、装置、电子设备和存储介质 | |
CN111895618A (zh) | 云平台数据可视化控制方法、装置及存储介质 | |
CN110704735B (zh) | 一种列表页的前端实现方法和装置 | |
CN116150162B (zh) | 基于时间分片的数据图表更新方法、装置及电子设备 | |
CN115599330B (zh) | 一种数据采集***的故障诊断方法及相关装置 | |
CN113726872B (zh) | 一种推广信息的过滤方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |