一种物联网智能终端设备发现方法、装置及电子设备与流程

文档序号:25991668发布日期:2021-07-23 21:03阅读:72来源:国知局
一种物联网智能终端设备发现方法、装置及电子设备与流程

本申请涉及物联网,特别涉及一种物联网智能终端设备发现方法、装置及电子设备。



背景技术:

目前,常用的物联网智能终端设备发现方法有很多方法,比如基于地址解析协议(arp:addressresolutionprotocol)实现、基于通过创建套接字(socket)实现等,但常常在物联网发现过程中会出现以下问题:探测包的发送过程或接收过程可能会存在丢包情况,而丢包则会导致物联网智能终端设备发现结果不准确。



技术实现要素:

本申请提供了一种物联网智能终端设备发现方法、装置及电子设备,以提高物联网智能终端设备发现结果的准确度。

本申请实施例提供的技术方案包括:

一种物联网智能终端设备发现方法,应用于探测设备,包括:

在探测周期内的第一次探测阶段发送至少一个探测包;探测包用于探测发现物联网中的物联网智能终端设备,不同探测包探测发现物联网中不同物联网智能终端设备;

在发送探测包后的第一指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第一次探测阶段探测发现的第一类物联网智能终端设备信息;所述第一类物联网智能终端设备信息包括满足第一条件的物联网智能终端设备所对应的设备信息,第一条件为:针对第一次探测阶段内的探测包返回有效响应包;

当依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段,则在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备,所述第二次探测阶段至少包括发送至少一个探测包,在发送探测包后的第二指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第二次探测阶段探测发现的第二类物联网智能终端设备信息;所述第二类物联网智能终端设备信息包括满足第二条件的物联网智能终端设备所对应的设备信息,第二条件为:针对第二次探测阶段内的探测包返回有效响应包;

将所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息作为所述探测周期的探测发现结果并输出。

可选地,所述第一指定时间段与所述第二指定时间段的时长之和等于针对整个探测周期预设置的探测超时时间。

可选地,所述依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段包括:

从已配置的历史探测记录中获得在所述探测周期之前已探测发现的第三类物联网智能终端设备信息;

若所述第一类物联网智能终端设备信息不包含所述第三类物联网智能终端设备信息中的至少一个物联网智能终端设备信息,则确定还要在所述探测周期内执行第二次探测阶段。

可选地,所述在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备包括:

针对存在于所述第三类物联网智能终端设备信息但不存在于所述第一类物联网智能终端设备信息的每一物联网智能终端设备信息,在所述探测周期内生成针对该物联网智能终端设备信息对应的探测包并发送;其中,生成的探测包所携带的目的ip地址为该物联网智能终端设备信息包含的ip地址。

可选地,当依据已获得的第一类物联网智能终端设备信息确定无需在所述探测周期内执行第二次探测阶段,该方法进一步包括:

将所述历史探测记录更新为所述第一类物联网智能终端设备信息;

在所述探测周期结束前,判断当前是否满足更新所述历史探测记录的条件,若否,则维持所述历史探测记录不变,若是,则清空所述历史探测记录。

可选地,在获得第二类物联网智能终端设备信息之后,该方法进一步包括:

将所述历史探测记录更新为所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息;

在所述探测周期结束前,检查当前是否满足更新所述历史探测记录的条件,若否,则维持所述历史探测记录不变,若是,则清空所述历史探测记录。

一种物联网智能终端设备发现装置,应用于探测设备,包括:

第一次探测单元,用于在探测周期内的第一次探测阶段发送至少一个探测包;探测包用于探测发现物联网中的物联网智能终端设备,不同探测包探测发现物联网中的不同物联网智能终端设备;在发送探测包后的第一指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第一次探测阶段探测发现的第一类物联网智能终端设备信息;所述第一类物联网智能终端设备信息包括满足第一条件的物联网智能终端设备所对应的设备信息,第一条件为:针对第一次探测阶段内的探测包返回有效响应包;

决策单元,用于依据已获得的第一类物联网智能终端设备信息确定是否要在所述探测周期内执行第二次探测阶段;

第二次探测单元,用于在所述决策单元确定出要在所述探测周期内执行第二次探测阶段,则在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备,所述第二次探测阶段至少包括发送至少一个探测包,在发送探测包后的第二指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第二次探测阶段探测发现的第二类物联网智能终端设备信息;所述第二类物联网智能终端设备信息包括满足第二条件的物联网智能终端设备所对应的设备信息,第二条件为:针对第二次探测阶段内的探测包返回有效响应包;

输出单元,用于将所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息作为所述探测周期的探测发现结果并输出。

可选地,所述决策单元依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段包括:

从已配置的历史探测记录中获得在所述探测周期之前已探测发现的第三类物联网智能终端设备信息;

若所述第一类物联网智能终端设备信息不包含所述第三类物联网智能终端设备信息中的至少一个物联网智能终端设备信息,则确定还要在所述探测周期内执行第二次探测阶段。

可选地,所述第二次探测单元在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备包括:

针对存在于所述第三类物联网智能终端设备信息但不存在于所述第一类物联网智能终端设备信息的每一物联网智能终端设备信息,在所述探测周期内生成针对该物联网智能终端设备信息对应的探测包并发送;其中,生成的探测包所携带的目的ip地址为该物联网智能终端设备信息包含的ip地址。

本申请实施例还提供了一种电子设备。该电子设备包括:处理器和机器可读存储介质;

所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;

所述处理器用于执行机器可执行指令,以实现上述公开的方法的步骤。

由以上技术方案可以看出,本申请实施例中,通过“二段式设备发现方案”实现了在一个探测周期内执行两次探测阶段(即第一次探测阶段、第二次探测阶段)来探测发现物联网智能终端设备,通过第二次探测阶段可进一步发现在第一次探测阶段未发现的物联网智能终端设备,避免现有因为网络抖动丢包导致的物联网智能终端设备发现结果不准确,有效提升了物联网智能终端设备发现结果的准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本申请实施例提供的方法流程图;

图2为本申请实施例提供的步骤103中确定第二次探测阶段的流程图;

图3为本申请实施例提供的装置结构图;

图4为本申请实施例提供的电子设备结构图。

具体实施方式

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

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

如背景技术描述的,在物联网发现过程中常会出现以下技术问题:在每一探测周期内只执行一次探测阶段的前提下,在该探测阶段中探测包的发送过程或接收过程可能会存在丢包情况,而丢包则会导致物联网智能终端设备发现结果不准确。而为了解决该技术问题,本申请实施例提供了“二段式设备发现方案”。这里,所谓“二段式设备发现方案”,其可为在一个探测周期内执行两次探测阶段(分别记为第一次探测阶段,第二次探测阶段),其中,第二次探测阶段是通过对在第一次探测阶段发现的物联网智能终端设备进行分析决策出的。通过二段式设备发现方案,可以进一步发现在第一次探测阶段未发现的物联网智能终端设备,极大提高了物联网智能终端设备发现结果的准确性和物联网智能终端设备发现的效率。

下面通过图1对本申请实施例提供的方法进行描述:

参见图1,图1为本申请实施例提供的方法流程图。该方法应用于探测设备。可选地,这里的探测设备可为防火墙设备、安全网关设备等,本实施例并不具体限定。

如图1所示,该流程可包括以下步骤:

步骤101,探测设备在探测周期内的第一次探测阶段发送至少一个探测包;探测包用于探测发现物联网中的物联网智能终端设备,不同探测包探测发现物联网中的不同物联网智能终端设备。

在本实施例中,在探测周期开始的一段时间(比如0.5s)内,探测设备会统一批量发送探测包。基于此,作为一个实施例,本实施例可将从探测周期的开始时间(记为t1)开始的一段时间(比如0.5秒等)作为探测周期内的第一次探测阶段。需要说明的是,这里第一次探测阶段的限定只是举例描述,其也可为探测周期内的其他一段时间,本实施例并不一一限定。

在本实施例中,一旦探测设备在探测周期内发起第一次探测阶段,则意味着探测设备在该第一次探测阶段内会发送至少一个探测包。这里,探测包用于探测发现物联网中的物联网智能终端设备,不同探测包探测发现物联网中的不同物联网智能终端设备。可选地,在本实施例中,探测包可携带目的ip地址。这里,目的ip地址为待发现物联网智能终端设备的ip地址。探测包用于探测发现其携带的目的ip地址对应的物联网智能终端设备,不同探测包携带的目的ip地址不同,用于探测发现物联网中的不同物联网智能终端设备。

作为一个实施例,在第一次探测阶段,探测设备可按照已获得的待探测设备的ip地址集合(可以是一个c段、一个序列等)构造探测包。其中,构造的每一探测包携带的目的ip地址为ip地址集合中的一个ip地址,用于探测发现其携带的目的ip地址对应的物联网智能终端设备,不同探测包携带的目的ip地址不同,用于探测发现物联网中的不同物联网智能终端设备。需要说明的是,上述探测包除了携带目的ip地址外,还可进一步携带目的端口、序列号(sequence_num)、源ip地址(探测设备的ip地址)、源端口(探测设备上发送探测包的端口)等,本实施例并不具体限定。

在本实施例中,上述探测包可为tcp探测方式下的探测包(简称tcp探测包)。需要说明的是,本实施例中,上述探测包也可为icmp、udp等方式下的探测包,本实施例并不具体限定。

步骤102,探测设备在发送探测包后的第一指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第一次探测阶段探测发现的第一类物联网智能终端设备信息。

可选地,在本实施例中,第一指定时间段是基于快速探测发现物联网智能终端设备的目的设置的,作为一个实施例,其具体可通过以下公式1表示:

探测包发送时间(记为t1_1)~t1_1+(t_timeout*1/n)(公式1)

作为一个实施例,第一指定时间段可为针对第一次探测阶段的一个固定时间段,在此前提下,上述公式1中的t1_1可统一为第一次探测阶段发送的首个探测包的时间,当然也可为第一次探测阶段发送的最后一个探测包的时间等,本实施例并不具体限定。作为另一个实施例,第一指定时间段也可为在每次发送探测包后的一个时间段,在此前提下,针对第一次探测阶段内发送的每一探测包,则会有一个对应的第一指定时间段,上述公式1中的t1_1即为第一次探测阶段内发送的该探测包的时间。

在上述公式1中,t_timeout表示针对整个探测周期预设置的总探测超时时间,其可根据实际需求设置。上述公式1中,n可根据实际需求设置,其一般大于1,以实现在预先设置的超时时间t_timeout之前获得在第一次探测阶段内探测发现的第一类物联网智能终端设备信息。

在本实施例中,第一类物联网智能终端设备信息包括满足第一条件的物联网智能终端设备所对应的设备信息,第一条件为:针对第一次探测阶段内的探测包返回有效响应包。至于如何依据监听到的各响应包获得通过所述第一次探测阶段探测发现的第一类物联网智能终端设备信息,其有很多实现方式,比如:在第一指定时间段内实时监听物联网智能终端设备针对探测包返回的响应包,针对监听到的每一响应包,对该响应包进行逐层解析获取响应包携带的数据包信息(比如源ip地址、源端口、源mac地址、目的ip地址、目的端口、目的mac地址、ack值等)。之后,根据数据包信息中的ack值判断该响应包是否为有效数据包,这里,若ack值为该响应包所对应的探测包中的序列号(sequence_num)与1的和,则表示该响应包为有效数据包,否则丢弃响应包。一旦判断出响应包为有效数据包时,则获取上述数据包信息中与物联网智能终端设备相关的物联网智能终端设备信息(比如源ip地址、源端口、源mac地址等)。以物联网智能终端设备信息为源ip地址(记为ip_1)、源端口(记为port_1)、源mac地址(记为mac_1)为例,则可按照以下表示物联网智能终端设备信息:ip_1:[port_1、mac_1]。依此类推,最终第一类物联网智能终端设备信息可如下表示:

{ip_1:[port_1、mac_1]

ip_2:[port_2、mac_2]

……

ip_n:[port_n、mac_n]}

步骤103,探测设备在依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段,则在上述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备,所述第二次探测阶段至少包括发送至少一个探测包。

这里,第二次探测阶段可为上述第一指定时间段结束时间(记为t1_1_ent)开始的一段时间(比如0.5秒等)。可选地,作为一个实施例,这里的t1_1_ent可为在发送第一次探测阶段中最后一个探测包后的第一指定时间段。

作为一个实施例,探测设备如何依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段有很多实现方式,下文举例描述其中一种方式。

如步骤103描述的,一旦探测设备依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段,则在所述探测周期内发起第二次探测阶段(即发送至少一个探测包以探测在第一次探测阶段未被探测到的物联网智能终端设备)。通过步骤103最终实现了在一个探测周期执行两次探测阶段。

步骤104,探测设备在发送探测包后的第二指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第二次探测阶段探测发现的第二类物联网智能终端设备信息;将所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息作为所述探测周期的探测发现结果并输出。

可选地,在本实施例中,第二指定时间段是基于最终探测发现在第一次探测阶段未发现的物联网智能终端设备的目的设置的,其具体可为在第二次探测阶段发送的探测包发送时间(记为t1_2)~t1_2+(t_timeout*(n-1)/n)。作为一个实施例,t1_2可为第二次探测阶段发送的首个探测包的时间。t_timeout、n如上描述。

可选地,如上基于上述有关第一指定时间段、第二指定时间段的描述可以看出,最终第一指定时间段与第二指定时间段的时长之和等于预设置的上述超时时间t_timeout。也就是说,在本实施例中,第一次探测阶段、第二次探测阶段在探测发现时所用的监听响应包的延时时间都不是预设置的整个延时时间t_timeout,这两次探测阶段在探测发现时所用的监听响应包的延时时间之和才为预设置的整个延时时间t_timeout。至于第一指定时间段的时长与第二指定时间段的时长的大小,本实施例并不具体限定,其可为:比如第一指定时间段的时长小于第二指定时间段的时长、第一指定时间段的时长大于第二指定时间段的时长、甚至第一指定时间段的时长等于第二指定时间段的时长等。

在本实施例中,第二类物联网智能终端设备信息可包括满足第二条件的物联网智能终端设备所对应的设备信息,第二条件为:针对第二次探测阶段内的探测包返回有效响应包。至于如何依据监听到的各响应包获得通过所述第二次探测阶段探测发现的第二类物联网智能终端设备信息,其可参见步骤102中确定第一类物联网智能终端设备信息的描述,这里不再一一举例。

当通过第二次探测阶段获得上述第二类物联网智能终端设备信息后,如步骤104描述,则可直接将将第一类物联网智能终端设备信息和第二类物联网智能终端设备信息作为上述探测周期的探测发现结果并输出,这种通过在一个探测周期执行两个不同阶段的探测发现物联网智能终端设备,可以避免现有在一个探测周期发起一次探测阶段时因为网络抖动丢包导致的物联网智能终端设备发现结果不准确,有效提升了物联网智能终端设备发现结果的准确性和设备发现效率。

至此,完成图1所示流程。

通过图1所示流程可以看出,本申请实施例中,通过“二段式设备发现方案”实现了在一个探测周期内执行第一次探测阶段,第二次探测阶段共两次探测阶段,以进一步发现在第一次探测阶段未发现的物联网智能终端设备,可以避免现有在一个探测周期发起一次探测阶段时因为网络抖动丢包导致的物联网智能终端设备发现结果不准确,有效提升了物联网智能终端设备发现结果的准确性和设备发现效率。

下面对上述步骤103中如何依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段进行描述:

参见图2,图2为本申请实施例提供的步骤103中确定执行第二次探测阶段的流程图。如图2所示,该流程可包括以下步骤:

步骤201,从已配置的历史探测记录中获得在所述探测周期之前已探测发现的第三类物联网智能终端设备信息。

可选地,在本实施例中,历史探测记录可存放在已配置的历史存活设备列表字典(ip_all_history)中。对于ip_all_history,其用于记录在上述探测周期之前已探测发现的物联网智能终端设备信息。ip_all_history记录物联网智能终端设备信息的格式可参见如上第一类物联网智能终端设备信息中各物联网智能终端设备信息的格式,这里不再赘述。

基于此,在本步骤201中,从已配置的历史探测记录中获得在所述探测周期之前已探测发现的第三类物联网智能终端设备信息可包括:从ip_all_history获取ip_all_history已记录的所有物联网智能终端设备信息,将获取的所有物联网智能终端设备信息作为上述的第三类物联网智能终端设备信息。

需要说明的是,在本实施例中,ip_all_history初始为空,在每一探测周期结束前根据本探测周期内的探测发现结果更新,下文会描述如何更新ip_all_history,这里暂不赘述。本步骤201暂时以ip_all_history不为空为例。

步骤202,若第一类物联网智能终端设备信息不包含所述第三类物联网智能终端设备信息中的至少一个物联网智能终端设备信息,则确定还要在所述探测周期内执行第二次探测阶段。

作为一个实施例,在本实施例中,会将第一类物联网智能终端设备信息记录至第一次设备数据列表字典(ip_all_now_1)。在此前提下,基于上面有关历史探测记录存放在ip_all_history中的描述,则可选地,在本步骤202中,可先判断ip_all_now_1是否包含ip_all_history中所有物联网智能终端设备信息,如果否,则认为第一类物联网智能终端设备信息不包含所述第三类物联网智能终端设备信息中的至少一个物联网智能终端设备信息。而一旦当判断出第一类物联网智能终端设备信息不包含所述第三类物联网智能终端设备信息中的至少一个物联网智能终端设备信息,则说明此时物联网中一些物联网智能终端设备还有可能没有被探测发现,为提高物联网智能终端设备发现的准确度,则如步骤202描述,需要在所述探测周期内执行第二次探测阶段。

至此,完成图2所示流程。

通过图2所示流程实现了如何依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段。

对应图2所示流程,则作为一个实施例,上述步骤103中,在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备可包括:

针对存在于所述第三类物联网智能终端设备信息但不存在于所述第一类物联网智能终端设备信息的每一物联网智能终端设备信息,在所述探测周期内生成针对该物联网智能终端设备信息对应的探测包并发送;其中,生成的探测包所携带的目的ip地址为该物联网智能终端设备信息包含的ip地址。仍以第一类物联网智能终端设备信息记录至ip_all_now_1,历史探测记录存放在ip_all_history为例,则可针对存在于ip_all_history中但不存在于ip_all_now_1中的每一物联网智能终端设备信息,生成针对该物联网智能终端设备信息对应的探测包比如探测包的目的ip地址为该物联网智能终端设备信息所包含的ip地址。最终实现了通过在探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备。

需要说明的是,在本实施例中,当依据已获得的第一类物联网智能终端设备信息确定无需在所述探测周期内执行第二次探测阶段,比如当上述ip_all_history为空时确定不在上述探测周期内执行第二次探测阶段,再比如当ip_all_now_1包含了ip_all_history中所有物联网智能终端设备信息时确定不在所述探测周期内执行第二次探测阶段等,则可进一步执行以下步骤:将所述历史探测记录更新为所述第一类物联网智能终端设备信息;在上述探测周期结束前,检查当前是否满足更新所述历史探测记录的条件,若否,维持历史探测记录不变,若是,则清空所述历史探测记录。这里,检查当前是否满足更新所述历史探测记录的条件包括但不限于:检查当前时间是否为设置的所述历史探测记录的更新时间、检查历史探测记录的更新次数是否已达到已设置的更新次数阈值等,本实施例并不具体限定。

以检查历史探测记录的更新次数是否已达到已设置的更新次数阈值为例,基于上述第一类物联网智能终端设备信息记录至ip_all_now_1,历史探测记录存放在ip_all_history的描述,则本实施例中,先将ip_all_history更新为ip_all_now_1,之后在上述探测周期结束前,检查截止当前ip_all_history的更新次数是否已达到已设置的更新次数阈值,若否,则维持ip_all_history不变(依然为上述更新后的ip_all_now_1),若是,则清空ip_all_history。这里,当检查出截止当前ip_all_history的更新次数已达到已设置的更新次数阈值,则清空已记录的ip_all_history的更新次数,以备后续各探测周期及时更新ip_all_history。而当检查出截止当前ip_all_history的更新次数还未达到已设置的更新次数阈值,则在已记录的ip_all_history的更新次数的基础上增加设定值比如1。

还需要说明的是,本实施例中,在依据已获得的第一类物联网智能终端设备信息确定无需在所述探测周期内执行第二次探测阶段时,此时可将探测周期的探测发现结果确定为上述ip_all_now_1中记录的第一类物联网智能终端设备信息。

另外,作为一个实施例,在本实施例中,当探测设备获得上述第二类物联网智能终端设备信息后,会将上述第二类物联网智能终端设备信息记录至第二次设备数据列表字典(记为ip_all_now_2)。基于此,如上步骤104的描述,本实施例最终会将ip_all_now_1、ip_all_now_2的并集作为探测周期的探测发现结果输出,同时还会将ip_all_history更新为ip_all_now_1、ip_all_now_2的并集。

需要说明的是,在本实施例中,还可进一步在探测周期结束前中执行以下步骤:检查当前是否满足更新所述历史探测记录比如ip_all_history的条件,若否,则维持所述历史探测记录比如ip_all_history不变(即依然为所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息,也即ip_all_history为ip_all_now_1、ip_all_now_2的并集),若是,则清空所述历史探测记录比如ip_all_history。至此,实现了历史探测记录比如ip_all_history的更新,以保证历史探测记录比如ip_all_history记录物联网中最新的存活物联网智能终端设备,防止在本探测周期执行第二次探测阶段之前因为部分物联网智能终端设备离线后ip_all_history仍然记录该离线的物联网智能终端设备的设备信息。

在本实施例中,一旦得到探测周期的探测发现结果,则可基于探测周期的探测发现结果对设备数据进行富化,比如,依赖已设置的物联网智能终端设备标识比如mac地址等与厂商之间的映射数据库,为探测发现结果内的物联网智能终端设备信息中增加对应的厂商信息;再比如依赖黑白ip地址名单,为探测发现结果内的物联网智能终端设备信息中增加对应的安全信息(比如在黑名单,就是不安全,在白名单,就是安全等),本实施例并不具体限定富化数据的具体实现形式。

以上对本申请提供的方法进行了描述,下面对本申请提供的装置进行描述:

参见图3,图3为本申请实施例提供的装置结构图。该装置应用于探测设备,包括:

第一次探测单元,用于在探测周期内的第一次探测阶段发送至少一个探测包;探测包用于探测发现物联网中的物联网智能终端设备,不同探测包探测发现物联网中的不同物联网智能终端设备;在发送探测包后的第一指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第一次探测阶段探测发现的第一类物联网智能终端设备信息;所述第一类物联网智能终端设备信息包括满足第一条件的物联网智能终端设备所对应的设备信息,第一条件为:针对第一次探测阶段内的探测包返回有效响应包;

决策单元,用于依据已获得的第一类物联网智能终端设备信息确定是否要在所述探测周期内执行第二次探测阶段;

第二次探测单元,用于在所述决策单元确定出要在所述探测周期内执行第二次探测阶段,则在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备,所述第二次探测阶段至少包括发送至少一个探测包,在发送探测包后的第二指定时间段内监听物联网智能终端设备针对探测包返回的响应包,依据监听到的各响应包获得通过所述第二次探测阶段探测发现的第二类物联网智能终端设备信息;所述第二类物联网智能终端设备信息包括满足第二条件的物联网智能终端设备所对应的设备信息,第二条件为:针对第二次探测阶段内的探测包返回有效响应包;

输出单元,用于将所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息作为所述探测周期的探测发现结果并输出。

可选地,在本实施例中,所述第一指定时间段的时长小于所述第二指定时间段的时长;

所述第一指定时间段与所述第二指定时间段的时长之和等于预设置的超时时间。

可选地,所述决策单元依据已获得的第一类物联网智能终端设备信息确定还要在所述探测周期内执行第二次探测阶段包括:

从已配置的历史探测记录中获得在所述探测周期之前已探测发现的第三类物联网智能终端设备信息;

若所述第一类物联网智能终端设备信息不包含所述第三类物联网智能终端设备信息中的至少一个物联网智能终端设备信息,则确定还要在所述探测周期内执行第二次探测阶段。

可选地,所述第二次探测单元在所述探测周期内发起第二次探测阶段以探测在第一次探测阶段未被探测到的物联网智能终端设备包括:

针对存在于所述第三类物联网智能终端设备信息但不存在于所述第一类物联网智能终端设备信息的每一物联网智能终端设备信息,在所述探测周期内生成针对该物联网智能终端设备信息对应的探测包并发送;其中,生成的探测包所携带的目的ip地址为该物联网智能终端设备信息包含的ip地址。

可选地,本实施例中,当所述决策单元依据已获得的第一类物联网智能终端设备信息确定无需在所述探测周期内执行第二次探测阶段,所述第一次探测单元进一步将所述历史探测记录更新为所述第一类物联网智能终端设备信息;在所述探测周期结束前,判断当前是否满足更新所述历史探测记录的条件,若否,则维持所述历史探测记录不变,若是,则清空所述历史探测记录。

所述输出单元用于将所述第一类物联网智能终端设备信息作为所述探测周期的探测发现结果并输出。

可选地,本实施例中,第二次探测单元在获得第二类物联网智能终端设备信息之后,进一步将所述历史探测记录更新为所述第一类物联网智能终端设备信息和所述第二类物联网智能终端设备信息;在所述探测周期结束前,检查当前是否满足更新所述历史探测记录的条件,若否,则维持所述历史探测记录不变,若是,则清空所述历史探测记录。

至此,完成图3所示装置的结构图。

本申请实施例还提供了图3所示装置的硬件结构。参见图4,图4为本申请实施例提供的电子设备结构图。如图4所示,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的方法。

基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。

示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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