一种离线检测的方法和装置与流程

文档序号:12600708阅读:357来源:国知局
一种离线检测的方法和装置与流程

本申请涉及网络通信技术领域,特别涉及一种离线检测的方法和装置。



背景技术:

在智能家居的场景中,当用户通过客户端绑定了若干台智能设备时,通常具有通过客户端提供的用户界面,来实时查看已绑定成功的智能设备的设备状态的需求。而在现有的针对已绑定的智能设备的设备状态检测机制中,针对各已绑定的智能设备的状态检测过程,通常是由服务器来判断各智能设备发出的心跳报文是否超时来完成的。然而,现有的设备状态检测机制中,由于服务器通常在各智能设备发出的心跳报文超时时,才能够确定出智能设备当前的设备状态,因此用户的体验不好。



技术实现要素:

有鉴于此,本申请提供一种离线检测的方法和装置,提供客户从客户端获取均有刷新功能的智能设备的即时状态。

具体地,本申请是通过如下技术方案实现的:

一种离线检测的方法,应用于客户端,包括:

检测到用户针对已绑定的目标智能设备的状态更新操作;

响应于检测到的所述状态更新操作,向服务器发送针对所述目标智能设备执行设备状态更新的请求消息,以触发所述服务器向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并基于接收到的所述心跳报文对所述目标智能的设备进行状态检测;

当所述请求消息发送后的等待时长达到预设阈值时,向所述服务器发送针对所述目标智能设备的状态查询请求,并将所述服务端返回的所述目标智能设备的最新设备状态向用户输出。

一种离线检测的方法,应用于服务器,包括:

接收到客户端发送的针对已绑定的目标智能设备执行设备状态更新的请求消息;其中,所述请求消息由所述客户端在检测到用户针对所述目标智能设备的状态更新操作时触发;

向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并判断在预设时长内是否接收到所述目标智能设备返回的心跳报文;

如果是,将所述目标智能设备的设备状态设置为在线状态;如果否,将所述目标智能设备的设备状态设置为离线状态;

当接收到所述客户端发送的针对所述目标智能设备的状态查询请求时,向所述客户端返回所述目标智能设备的最新设备状态,以通过所述客户端向用户输出。

一种离线检测的装置,应用于客户端,包括:

检测单元,用于检测到用户针对已绑定的目标智能设备的状态更新操作;

响应单元,用于响应于检测到的所述状态更新操作,向服务器发送针对所述目标智能设备执行设备状态更新的请求消息,以触发所述服务器向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并基于接收到的所述心跳报文对所述目标智能的设备进行状态检测;

发送单元,用于当所述请求消息发送后的等待时长达到预设阈值时,向所述服务器发送针对所述目标智能设备的状态查询请求,并将所述服务端返回的所述目标智能设备的最新设备状态向用户输出。

一种离线检测的装置,应用于服务器,包括:

接收单元,用于接收到客户端发送的针对已绑定的目标智能设备执行设备状态更新的请求消息;其中,所述请求消息由所述客户端在检测到用户针对所述目标智能设备的状态更新操作时触发;

下发单元,用于向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并判断在预设时长内是否接收到所述目标智能设备返回的心跳报文;

设置单元,用于如果是,将所述目标智能设备的设备状态设置为在线状态;如果否,将所述目标智能设备的设备状态设置为离线状态;

发送单元,用于当接收到所述客户端发送的针对所述目标智能设备的状态查询请求时,向所述客户端发送所述目标智能设备的最新设备状态,以通过所述客户端向用户输出。

在本申请中,客户端在检测到用户针对已绑定的目标智能设备执的状态更新操作时,可以生成针对目标智能设备执行状态更新的请求,并将该请求消息上报至服务器,来触发服务器在接收到该请求消息后,向该目标智能设备主动下发用于触发该目标智能设备向该服务器上报心跳报文的通知消息,并基于接收到的心跳消息来主动探测该目标智能设备的设备状态,然后将探测到的该目标智能设备的设备状态反馈给客户端。

一方面,由于客户端是基于检测到的用户的状态更新操作,向服务器发起针对目标智能设备的设备更新的请求消息的,因此可以实现用户通过主动刷新已绑定的目标智能设备的即时设备状态;

另一方面,由于服务器在接收到客户端发送的设备状态更新的请求消息时,可以主动通知目标智能设备上报心跳报文,因此与现有技术中目标智能设备主动向服务器发送心跳报文来完成设备状态检测的机制相比,在针对目标智能设备进行状态检测的过程中,客户端可以不再需要等待该目标智能设备发送心跳报文的等待时长超时,因此可以即时的刷新该目标智能设备当前的设备状态,提升用户的体验。

附图说明

图1为本申请一示例性实施例示出的一种离线检测的方法流程图;

图2为本申请一示例性实施例示出的一种客户端用户界面示意图;

图3为本申请一示例性实施例示出的针对单个智能设备的状态更新示意图;

图4为本申请一种离线检测的装置所在客户端的一种硬件结构图;

图5为本申请一示例性实施例示出的应用于客户端的一种离线检测的装置;

图6为本申请一种离线检测的装置所在服务器的一种硬件结构图;

图7为本申请一示例性实施例示出的应用于服务器的一种离线检测的装置。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在智能家居的场景中,当用户通过客户端绑定了若干台智能设备时,通常具有通过客户端提供的用户界面,来实时查看已绑定成功的智能设备的设备状态的需求。而在现有的针对已绑定的智能设备的设备状态检测机制中,针对各已绑定的智能设备的状态检测过程,通常是由服务器来判断各智能设备发出的心跳报文是否超时来完成的。

具体的,智能设备可以通过周期性向服务器发送心跳报文,当服务器能够实时地接收到智能设备发送的心跳报文时,表明该智能设备为在线状态;在这种情况下,服务器可以记录接收到该智能设备发送的心跳报文的时间,并将该智能设备的状态设置为在线状态,然后向客户端反馈该智能设备的在线状态的信息。当客户端接收到该智能设备的在线状态的信息时,可以在用户界面中显示该智能设备的在线状态。

相反的,如果服务器在预设的超时时长内,没有接收到该智能设备上报的心跳报文,表明该智能设备已经离线;在这种情况下,服务器可以将智能设备的状态设置为离线状态,然后向客户端反馈该智能设备的离线状态的信息。当客户端接收到该智能设备的离线状态的信息时,可以在用户界面中显示该智能状态的离线状态。

上述现有技术中,存在以下问题:

通常智能设备的心跳报文的超时时长比较长,而智能设备在离线后通常并不能主动的通知服务器,因此服务器通常需要等到各智能设备在上报心跳报文的超时时长超时后(比如N秒未接收到心跳报文),才能确定该智能设备已经处于离线状态,因此,对于用户来说,无法及时的知道该智能设备的即时设备状态。

为了解决现有技术中的问题,本申请提出了一种离线检测的方法,客户端在检测到用户针对已绑定的目标智能设备执的状态更新操作时,可以生成针对目标智能设备执行状态更新的请求,并将该请求消息上报至服务器,来触发服务器在接收到该请求消息后,向该目标智能设备主动下发用于触发该目标智能设备向该服务器上报心跳报文的通知消息,并基于接收到的心跳消息来主动探测该目标智能设备的设备状态,然后将探测到的该目标智能设备的设备状态反馈给客户端。

一方面,由于客户端是基于检测到的用户的状态更新操作,向服务器发起针对目标智能设备的设备更新的请求消息的,因此可以实现用户通过主动刷新已绑定的目标智能设备的即时设备状态;

另一方面,由于服务器在接收到客户端发送的设备状态更新的请求消息时,可以主动通知目标智能设备上报心跳报文,因此与现有技术中目标智能设备主动向服务器发送心跳报文来完成设备状态检测的机制相比,在针对目标智能设备进行状态检测的过程中,客户端可以不再需要等待该目标智能设备发送心跳报文的等待时长超时,因此可以即时的刷新该目标智能设备当前的设备状态,提升用户的体验。

请参见图1,图1为本申请一示例性实施例示出的一种离线检测的方法流程图。具体执行以下步骤:

步骤101:客户端检测到用户针对已绑定的目标智能设备的状态更新操作;

请参见图2,图2为本申请一示例性实施例示出的一种客户端用户界面示意图。

在本实施例中,上述客户端可以是针对智能设备开发的APP,其中所述APP可以与服务器进行数据传输。

用户可以启动该客户端,然后在用户界面中可以显示一个智能设备列表,其中该智能设备列表中包括若干已经绑定的智能设备,且各智能设备显示了响应的状态。

例如,如图2所示,在用户界面中包括一个智能设备列表,该列表中包含若干已经绑定的智能设备,每个智能设备均有对应的状态显示(比如智能设备显示阴影状态表示离线状态,否则表示在线状态)。

当用户需要查询目标智能设备的状态时,用户可以针对目标智能设备执行状态更新操作,其中所述的目标智能设备可以是一个智能设备,也可以是整个智能设备列表中的所有智能设备。

请参见图3,图3为本申请一示例性实施例示出的针对单个智能设备的状态更新示意图。

在示出的一种实施方式中,当用户在智能设备列表中点击某个智能设备时,此时客户端可以检测到用户针对该智能设备列表的触发操作,并检测到该触发操作为针对该智能设备列表中的单个智能设备的触发操作,客户端可以将针对该单个智能设备的信息与操作选项输出,显示在用户界面中。

用户见到该目标智能设备的用户界面时,用户可以在该用户界面中存在针对该目标智能设备的状态更新操作选项,例如,所述选项可以是按钮。

当用户执行外针对该目标智能设备的状态更新操作时,客户端可以检测并确定到针对所述目标智能设备的状态更新操作。

例如,用户可以点击刷新按钮,客户端可以检测并确定到针对该单个智能设备的状态更新操作。

在示出的一种实施方式中,当用户按照预设方向对整个智能设备列表进行刷新时,其中,所述预设方向在本申请中不做具体限定,该预设方向可以是向下,也可是向上。

当客户端检测到用户针对该智能设备列表的触发操作时,客户端可以判断该触发操作是否是预设操作。此时客户端可以检测到用户整个智能设备列表进行触发操作,因此,可以确定所述智能设备列表中的各智能设备均选定为目标智能设备,由于该触发操作为刷新操作,因此客户端可以确定检测到针对所述智能设备列表中的各目标智能设备的状态更新操作。

步骤102:客户端响应于检测到的所述状态更新操作,可以向服务器发送针对所述目标智能设备执行设备状态更新的请求消息。

在本申请中,当客户端确定检查到针对所述目标智能设备的状态更新操作时,客户端可以构建针对所述目标智能设备执行设备状态更新的请求消息,然后将该请求消息发送至服务器。

在示出的一种实施方式中,当服务器接收到客户端发送的请求消息时,服务器可以从解析所述请求消息,然后中该请求消息中获取所述目标智能设备,并判断所述目标智能设备是否支持状态刷新功能。

如果所述目标智能设备支持状态刷新功能,此时服务器可以向该目标智能设备下发通知消息,以使该智能设备接收到该通知消息时向服务器发送心跳报文。

如果所述目标智能设备不支持状态刷新功能,此时服务器可以将该目标智能设备的当前状态发送至客户端。

步骤103:服务器向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并判断在预设时长内是否接收到所述目标智能设备返回的心跳报文;

当服务器确定所述目标智能设备不支持状态刷新功能时,服务器可以向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息。

当服务器向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息时,服务器可以启动定时器,设置预设的时长。如果在预设的时长内接收到所述目标智能设备上报的心跳报文,在这种情况下,服务器可以确定所述目标智能设备为在线状态,并将服务器中保存的所述目标智能设备的状态设置为在线状态。

如果在预设的时长内没有接收到所述目标智能设备上报的心跳报文,在这种情况下,服务器可以确定所述目标智能设备为离线状态,并将服务器中保存的所述目标智能设备的状态设置为离线状态。

步骤104:当所述请求消息发送后的等待时长达到预设阈值时,客户端向服务器发送针对所述目标智能设备的状态查询请求。

在客户端将所述请求消息发送至服务器后,当等待时长达到预设阈值时,客户端可以构建针对所述目标智能设备的状态查询请求,然后将所述状态查询请求发送至服务器。

步骤105:当服务器接收到客户端发送的针对所述目标智能设备的状态查询请求时,向所述客户端返回所述目标智能设备的最新设备状态,以使客户端将所述目标智能设备的最新设备状态向用户输出。

在示出的一种实施方式中,当服务器接收到客户端发送的针对所述目标智能设备的状态查询请求时,服务器可以解析所述状态查询请求,然后从该状态查询请求中获取所述目标智能设备,然后从服务器保存的智能设备的状态记录中获取所述目标智能设备的最新状态,并将所述目标智能设备的最新状态返回至客户端。

在本申请中,当客户端接收到服务器返回的针对所述目标智能设备的最新状态时,客户端可以将该目标智能设备的最新状态向用户输出。

例如,当客户端接收到服务器返回的针对所述目标智能设备的最新状态为离线状态时,客户端可以在用户界面中将该目标智能状态设置为阴影状态。

以下结合智能家居的应用场景对本申请的技术方案进行详细描述。

例如用户打开APP想要查看空气净化器的状态时,用户可以在智能设备列表中查找到空气净化器的选项,然后点击进入空气净化器的设备用户界面。用户可以在该界面中点击刷新按钮,客户端就可以向服务器发送查询请求,然后服务器可以主动向空气净化器查询,来获取空气净化器的状态,最后将空气净化器的状态反馈给客户端,并显示在客户端的用户界面中。

然而现有技术中,用户无法通过客户端主动发起查询请求,需要等待服务器通过是否在预设的时长(比如5分钟)内接收到空气净化器发送的心跳报文来判断空气净化器的状态,最后才将空气净化器的状态反馈给客户端,并显示子客户端的用户界面中。

由以上提供的技术方案可见,客户端在检测到用户针对已绑定的目标智能设备执的状态更新操作时,可以生成针对目标智能设备执行状态更新的请求,并将该请求消息上报至服务器,来触发服务器在接收到该请求消息后,向该目标智能设备主动下发用于触发该目标智能设备向该服务器上报心跳报文的通知消息,并基于接收到的心跳消息来主动探测该目标智能设备的设备状态,然后将探测到的该目标智能设备的设备状态反馈给客户端。

一方面,由于客户端是基于检测到的用户的状态更新操作,向服务器发起针对目标智能设备的设备更新的请求消息的,因此可以实现用户通过主动刷新已绑定的目标智能设备的即时设备状态;

另一方面,由于服务器在接收到客户端发送的设备状态更新的请求消息时,可以主动通知目标智能设备上报心跳报文,因此与现有技术中目标智能设备主动向服务器发送心跳报文来完成设备状态检测的机制相比,在针对目标智能设备进行状态检测的过程中,客户端可以不再需要等待该目标智能设备发送心跳报文的等待时长超时,因此可以即时的刷新该目标智能设备当前的设备状态,提升用户的体验。

与前述一种离线检测的方法的实施例相对应,本申请还提供了一种离线检测的装置的实施例。

本申请一种离线检测的装置的实施例可以应用在客户端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在客户端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请一种离线检测的装置所在客户端的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的客户端通常根据该离线检测的实际功能,还可以包括其他硬件,对此不再赘述。

请参见图5,图5为本申请一示例性实施例示出的应用于客户端的一种离线检测的装置,所述装置包括:检测单元510,响应单元520,发送单元530。

其中,检测单元510,用于检测到用户针对已绑定的目标智能设备的状态更新操作;

响应单元520,用于响应于检测到的所述状态更新操作,向服务器发送针对所述目标智能设备执行设备状态更新的请求消息,以触发所述服务器向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并基于接收到的所述心跳报文对所述目标智能的设备进行状态检测;

发送单元530,用于当所述请求消息发送后的等待时长达到预设阈值时,向所述服务器发送针对所述目标智能设备的状态查询请求,并将所述服务端返回的所述目标智能设备的最新设备状态向用户输出。

在本申请示出的一种实施方式中,所述检测单元510具体用于:

检测用户针对所述智能设备列表的触发操作;

当检测到用户针对所述智能设备列表触发操作时,判断检测到的触发操作是否为预设操作;

如果是,将所述智能设备列表中的各智能设备均选定为目标智能设备,并确定检测到针对所述智能设备列表中的各目标智能设备的状态更新操作。

在本申请示出的另一种实施方式中,所述检测单元510进一步用于:

检测用户针对所述智能设备列表的触发操作;

当检测到用户针对所述智能设备列表中与任一智能设备对应的状态更新选项的触发操作时,将该智能设备选定为目标智能设备,并确定检测到针对所述目标智能设备的状态更新操作。

与前述一种离线检测的方法的实施例相对应,本申请还提供了一种离线检测的装置的实施例。

本申请一种离线检测的装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请一种离线检测的装置所在服务器的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该离线检测的实际功能,还可以包括其他硬件,对此不再赘述。

请参见图7,图7为本申请一示例性实施例示出的应用于服务器的一种离线检测的装置,所述装置包括:接收单元710,下发单元720,设置单元730,发送单元740。

其中,接收单元710,用于接收到客户端发送的针对已绑定的目标智能设备执行设备状态更新的请求消息;其中,所述请求消息由所述客户端在检测到用户针对所述目标智能设备的状态更新操作时触发;

下发单元720,用于向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息,并判断在预设时长内是否接收到所述目标智能设备返回的心跳报文;

设置单元730,用于如果是,将所述目标智能设备的设备状态设置为在线状态;如果否,将所述目标智能设备的设备状态设置为离线状态;

发送单元740,用于当接收到所述客户端发送的针对所述目标智能设备的状态查询请求时,向所述客户端发送所述目标智能设备的最新设备状态,以通过所述客户端向用户输出。

在本申请示出实施例中,所述装置还包括:

判断单元,用于判断所述目标智能设备是否支持状态刷新功能;如果所述目标智能设备支持状态刷新功能,向所述目标智能设备下发用于触发所述目标智能设备向所述服务器上报心跳报文的通知消息;如果所述目标智能设备不支持状态刷新功能,向客户端返回所述目标智能设备的当前状态。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1