一种自动发现方法及设备与流程

文档序号:12132826阅读:593来源:国知局
一种自动发现方法及设备与流程

本发明实施例涉及通信领域,尤其涉及一种自动发现方法及设备。



背景技术:

随着智能化要求的提高,扫描仪、网络打印机等被发现设备要求能够被自动发现,以及进行自动配置,以便于达到即插即用(plug-and-play,PnP)的效果。其中,自动发现是实现PnP的核心能力。

现有技术主要提供了三种自动发现方法。其中,现有技术一和现有技术二提供的自动发现方法均要求被发现设备预先配置互联网协议(internet protocol,IP)地址。现有技术一的发现过程为:当被发现设备连接发现设备时,发现设备可以通过IP地址段扫描,发现该被发现设备,并在确定该被发现设备为新接入发现设备的被发现设备时,获取该被发现设备的设备信息,以完成自动发现。现有技术二的发现过程为:发现设备可以采用组播域名系统(multicast domain name server,mDNS)协议和域名系统服务发现(DNS service discovery,DNS-SD)协议广播用于查找被发现设备的查询消息,当被发现设备检测到查询消息时,便可以将自身的IP地址携带在回应消息中发送给发现设备,此时,发现设备可以根据回应消息发现该被发现设备,并在确定该被发现设备为新接入发现设备的被发现设备时,获取该被发现设备的设备信息,以完成自动发现。现有技术三提供的自动发现方法要求被发现设备和发现设备预先部署动态主机配置协议(dynamic host configuration protocol,DHCP)服务,其发现过程为:当被发现设备启动时,可以广播用于获取IP地址的请求消息,此时,能够为该被发现设备分配IP地址的发现设备在接收到请求消息后,可以为该被发现设备分配IP地址,并根据为该被发现设备分配的IP地址获取该被发现设备的设备信息,以完成自动发现。

在实现自动发现的过程中,现有技术中至少存在以下问题:

现有技术一和现有技术二提供的自动发现方法,都需要预先给被发现设备配置IP地址,增加了前期的网络规划的复杂流程。

在现有技术三提供的自动发现方法中,若系统中存在多个部署有DHCP服务的发现设备,则会由先接收到被发现设备广播的请求消息的发现设备为其分配IP地址。这样,若被发现设备广播的请求消息不是被能够为其分配IP地址的配套发现设备先接收到,而是被其他发现设备先接收到,便会导致给该被发现设备分配的IP地址不正确,从而使得该被发现设备不能正常工作。



技术实现要素:

本发明实施例提供一种自动发现方法及设备,解决了预先给被发现设备配置IP地址导致的前期规划较多的问题,同时避免了采用DHCP实现自动发现导致的被发现设备不能正常工作的问题。

为达到上述目的,本发明实施例采用如下技术方案:

本发明实施例的第一方面,提供一种自动发现方法,包括:

发现设备获取被发现设备的组播消息,并根据获取到的组播消息判断本地保存的设备列表中是否包含有被发现设备的设备信息,该设备列表中包括已接入发现设备的被发现设备的设备信息,若发现设备确定设备列表中未包含有被发现设备的设备信息,则根据组播消息中包括的IP地址和服务类型获取被发现设备的设备信息,其中,IP地址为本地链路互联网协议第六版(internet protocol version 6,IPv6)地址,服务类型用于确定访问被发现设备所需的参数。

其中,发现设备是支持简单服务发现协议(simple service discovery protocol,SSDP)的超融合控制(Fusion Cube Center,FCC)管理节点,被发现设备也支持SSDP。

另外,若发现设备确定设备列表中包含有被发现设备的设备信息,则可以判断在预设时间后是否重新获取到该被发现设备的组播消息,以便对设备列表中的信息进行实时更新。

本发明实施例提供的自动发现方法,发现设备获取被发现设备的组播消息,并在根据获取到的组播消息确定出本地保存的设备列表中未包含有被发现设备的设备信息后,根据该组播消息中包括的本地链路IPv6地址和服务类型获取被发现设备的设备信息,以完成自动发现。发现设备通过采用本地链路IPv6地址和服务类型可以获取被发现设备的设备信息,以完成自动发现,解决了预先给被发现设备配置IP地址导致的前期规划较多的问题,同时避免了采用DHCP实现自动发现导致的被发现设备不能正常工作的问题。

结合第一方面,在一种可能的实现方式中,发现设备获取被发现设备的组播消息,具体的可以包括:发现设备监听IPv6组播地址,该IPv6组播地址对应的组播域中包括被发现设备的组播消息。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,当发现设备需要查找某个或某类被发现设备时,为了减少发现设备的负担,发现设备获取被发现设备的组播消息,具体的可以包括:发现设备在IPv6组播地址对应的组播域中发送用于查找该被发现设备的查询消息,并接收该被发现设备返回的组播消息。

其中,查询消息中包括服务类型,被发现设备的服务类型与查询消息中的服务类型相同。也就是说,当发现设备需要查找某个或某类被发现设备时,可以在IPv6组播地址对应的组播域中发送携带服务类型的查询消息,以便于与查询消息中的服务类型相同的被发现设备向发现设备返回组播消息。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,组播消息中还包括被发现设备的设备序列号,此时,发现设备根据组播消息确定本地保存的设备列表中未包含有被发现设备的设备信息,具体的可以包括:发现设备确定设备列表中未包含有设备序列号。也就是说,发现设备将接收到的组播消息中包括的设备序列号与设备列表中包含的设备序列号进行对比,并在确定出组播消息中包括的设备序列号与设备列表中包含的设备序列号都不相同时,确定设备列表中未包含有设备序列号,此时,发现设备可以确定出该被发现设备为新接入发现设备的被发现设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,发现设备根据组播消息确定本地保存的设备列表中未包含有被发现设备的设备信息,具体的可以包括:发现设备确定设备列表中未包含有本地链路IPv6地址。也就是说,发现设备将接收到的组播消息中包括的本地链路IPv6地址与设备列表中包含的本地链路IPv6地址进行对比,并在确定出组播消息中包括的本地链路IPv6地址与设备列表中包含的本地链路IPv6地址都不相同时,确定设备列表中未包含有本地链路IPv6地址,此时,发现设备可以确定出该被发现设备为新接入发现设备的被发现设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,本发明实施例提供的自动发现方法还包括:发现设备根据本地链路IPv6地址,为被发现设备分配IPv4地址,该IPv4地址用于用户访问被发现设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,为了及时对设备列表中的信息进行更新,本发明实施例提供的自动发现方法,还可以包括:发现设备将被发现设备的设备信息、组播消息和发现时刻保存在设备列表中,其中,发现时刻为发现设备获取到被发现设备的组播消息的时刻,并以发现时刻为起始时刻,判断在预设时间后是否重新获取到被发现设备的组播消息,若确定在预设时间后未重新获取到被发现设备的组播消息,则发现设备从设备列表中将被发现设备的设备信息、组播消息和发现时刻删除;若确定在预设时间后重新获取到被发现设备的组播消息,则发现设备更新发现时刻。

本发明实施例的第二方面,提供一种发现设备,包括:

获取单元,用于获取被发现设备的组播消息;

确定单元,用于根据获取单元获取到的组播消息,确定本地保存的设备列表中未包含有被发现设备的设备信息,该设备列表中包括已接入发现设备的被发现设备的设备信息;

获取单元,还用于根据组播消息中包括的IP地址和服务类型,获取被发现设备的设备信息,其中,IP地址为本地链路IPv6地址,服务类型用于确定访问被发现设备所需的参数。

结合第一方面,在一种可能的实现方式中,获取单元,具体用于监听IPv6组播地址,该IPv6组播地址对应的组播域中包括被发现设备的组播消息。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,获取单元,具体用于:在IPv6组播地址对应的组播域中发送查询消息,该查询消息用于查找被发现设备,并接收被发现设备返回的组播消息。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,获取单元获取到的组播消息中还包括被发现设备的设备序列号,此时,相应的,确定单元,具体用于确定设备列表中未包含有设备序列号。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,确定单元,具体用于确定设备列表中未包含有本地链路IPv6地址。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,发现设备还包括:分配单元;分配单元,用于根据本地链路IPv6地址,为被发现设备分配IPv4地址,IPv4地址用于用户访问被发现设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,发现设备还包括:存储单元、判断单元、删除单元和更新单元;存储单元,用于将被发现设备的设备信息、组播消息和发现时刻保存在设备列表中,发现时刻为发现设备获取到被发现设备的组播消息的时刻;判断单元,用于以发现时刻为起始时刻,判断在预设时间后是否重新获取到被发现设备的组播消息;删除单元,用于若确定在预设时间后未重新获取到被发现设备的组播消息,则从设备列表中将被发现设备的设备信息、组播消息和发现时刻删除;更新单元,用于若确定在预设时间后重新获取到被发现设备的组播消息,则更新发现时刻。

具体的实现方式可以参考第一方面或第一方面的可能的实现方式提供的自动发现方法中发现设备的行为功能。

本发明实施例的第三方面,提供一种发现设备,该发现设备包括:至少一个处理器、存储器、系统总线、通信接口;

存储器,用于存储指令;

处理器,用于执行第一方面或第一方面的可能的实现方式提供的自动发现方法,以实现第二方面或第二方面的可能的实现方式中获取单元、确定单元、分配单元、判断单元、删除单元和更新单元的功能;

存储器,还用于执行第一方面或第一方面的可能的实现方式提供的自动发现方法,以实现第二方面或第二方面的可能的实现方式中存储单元的功能。

本发明实施例的第四方面,提供一种计算机存储介质,用于存储上述发现设备所用的计算机软件指令,该计算机软件指令包含用于执行上述自动发现方法所设计的程序。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种应用本发明实施例的系统架构的简化示意图;

图2为本发明实施例提供的一种发现设备的组成示意图;

图3为本发明实施例提供的一种自动发现方法流程图;

图4为本发明实施例提供的另一种发现设备的组成示意图;

图5为本发明实施例提供的另一种发现设备的组成示意图;

图6为本发明实施例提供的另一种发现设备的组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

为了解决预先给被发现设备配置IP地址导致的前期规划较多的问题,同时为了避免采用DHCP实现自动发现导致的被发现设备不能正常工作的问题,本发明实施例提供一种自动发现方法,其基本原理是:发现设备获取被发现设备的组播消息,并在根据获取到的组播消息确定出本地保存的设备列表中未包含有被发现设备的设备信息后,根据该组播消息中包括的本地链路IPv6地址和服务类型获取被发现设备的设备信息,以完成自动发现。发现设备通过采用本地链路IPv6地址和服务类型可以获取被发现设备的设备信息,以完成自动发现,解决了预先给被发现设备配置IP地址导致的前期规划较多的问题,同时避免了采用DHCP实现自动发现导致的被发现设备不能正常工作的问题。

下面将结合附图对本发明实施例的实施方式进行详细描述。

如图1所示,图1示出的是可以应用本发明实施例的系统架构的简化示意图。该系统架构可以包括发现设备11和被发现设备12。

发现设备11和被发现设备12均支持SSDP,且两者之间采用SSDP进行通信。

其中,发现设备11是支持SSDP的FCC管理节点。具体的可以为终端设备、服务器等安装有管理软件的设备,该管理软件用于实现发现被发现设备12的功能。终端设备可以包括各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为终端设备。

被发现设备12具体的可以为扫描仪、网络打印机等设备。该被发现设备12可以预先配置有服务类型、设备序列号、本地链路IPv6地址等属性。其中,服务类型可以是系统根据功能类型的不同来预先定义的,例如,根据功能类型的不同定义的服务类型具体的可以包括以下种类:计算节点、存储节点、基板管理控制器(baseboard management controller,BMC)、硬件管理模块(hardware management module,HMM)、管理节点、转换(switch)。

图2为本发明实施例提供的一种发现设备的组成示意图,如图2所示,该发现设备可以包括:至少一个处理器21、存储器22、系统总线23和通信接口24。

下面结合图2对发现设备的各个构成部件进行具体的介绍:

处理器21可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理器(central processing unit,CPU),也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。

在具体实现中,作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中的CPU0和CPU1。

在具体实现中,作为一种实施例,发现设备可以包括多个处理器,例如图2中的处理器21和处理器25。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器22用于存储执行本发明方案的应用程序代码,并由处理器21来控制执行。所述处理器21用于执行所述存储器22中存储的应用程序代码。存储器22还用于存储设备列表,该设备列表中包括被发现设备的设备信息、组播消息和发现时刻。

系统总线23可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口24,使用任何收发器一类的装置,用于与其他设备通信,如与被发现设备通信,或用于与通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。通信接口24可以包括接收单元,用于实现接收功能,以及可以包括发送单元,用于实现发送功能。

图3为本发明实施例提供的一种自动发现方法流程图,如图3所示,该方法可以包括:

301、发现设备获取被发现设备的组播消息。

其中,发现设备是支持SSDP的FCC管理节点,被发现设备支持SSDP。当被发现设备启动时,发现设备可以根据IPv6组播地址获取被发现设备的组播消息。例如,IPv6组播地址可以为FF05::C。

组播消息中至少包括本地链路IPv6地址和服务类型,进一步的,组播消息中还可以包括设备序列号。需要说明的是,在本发明实施例中,被发现设备的组播消息中包括的具体内容可以根据实际应用场景的需要进行设置,本发明实施例在此不做具体限制。

在本发明实施例中,发现设备获取被发现设备的组播消息具体的可以有两种实现方式。

方式一,步骤301具体的可以包括以下步骤301A:

301A、发现设备监听IPv6组播地址,其中,IPv6组播地址对应的组播域中包括被发现设备的组播消息。

被发现设备启动之后,可以定时向IPv6组播地址对应的组播域中发送自身的组播消息,以便发现设备可以通过监听IPv6组播地址,来获取被发现设备的组播消息。

方式二,步骤301具体的可以包括以下步骤301A’和步骤301B’:

301A’、发现设备在IPv6组播地址对应的组播域中发送查询消息。

其中,查询消息用于查找被发现设备。当发现设备需要查找某个或某类被发现设备时,发现设备可以在IPv6组播地址对应的组播域中发送用于查找该被发现设备的查询消息。例如,可以在查询消息中携带服务类型,以用来查找某个或某类被发现设备。

301B’、发现设备接收被发现设备返回的组播消息。

其中,发现设备在IPv6组播地址对应的组播域中发送了用于查找某个或某类被发现设备的查询消息之后,该被发现设备可以接收查询消息,并根据接收到的查询消息向发现设备返回组播消息,此时,发现设备便可以接收被发现设备返回的组播消息。

例如,当发现设备发送的查询消息中携带服务类型时,被发现设备可以在接收到携带有服务类型的查询消息后,将查询消息中的服务类型与自身的服务类型进行对比,并在确定出查询消息中的服务类型和自身的服务类型相同时,向发现设备返回组播消息,此时,发现设备便可以接收服务类型与查询消息中的服务类型相同的被发现设备返回的组播消息。

302、发现设备根据获取到的组播消息确定本地保存的设备列表中未包含有被发现设备的设备信息。

其中,设备列表中包括已接入发现设备的被发现设备的设备信息。在发现设备根据IPv6组播地址获取到被发现设备的组播消息之后,发现设备可以根据获取到的组播消息判断本地保存的设备列表中是否包含有被发现设备的设备信息,若本地保存的设备列表中包含有被发现设备的设备信息,则可以更新发现时刻,并以更新后的发现时刻为起始时刻,判断在预设时间后是否重新获取到该被发现设备的组播消息,以便对设备列表中的信息进行实时更新;若本地保存的设备列表中未包含有被发现设备的设备信息,则发现设备可以确定出该被发现设备为新接入发现设备的被发现设备,此时可以执行以下步骤303。

发现设备可以通过以下两种方式判断设备列表中是否包含有被发现设备的设备信息。

方式一、发现设备根据组播消息中包括的设备序列号,判断设备列表中是否包含有被发现设备的设备信息。

其中,设备序列号用于唯一标识被发现设备。当组播消息中包括有设备序列号时,发现设备可以根据组播消息中包括的设备序列号,判断设备列表中是否包含有被发现设备的设备信息。具体的,当确定设备列表中包含有被发现设备的设备序列号时,表明设备列表中包含有被发现设备的设备信息;当确定组播消息中未包含有被发现设备的设备序列号时,表明设备列表中未包含被发现设备的设备信息,此时,发现设备便可以确定该被发现设备为新接入发现设备的被发现设备。

方式二、发现设备根据组播消息中包括的本地链路IPv6地址,判断设备列表中是否包含有被发现设备的设备信息。

其中,本地链路IPv6地址也用于唯一标识被发现设备。当组播消息中包括有本地链路IPv6地址时,发现设备可以根据组播消息中包括的本地链路IPv6地址,判断设备列表中是否包含有被发现设备的设备信息。具体的,当确定设备列表中包含有被发现设备的本地链路IPv6地址时,表明设备列表中包含有被发现设备的设备信息;当确定设备列表中未包含被发现设备的本地链路IPv6地址时,表明设备列表中未包含有被发现设备的设备信息,此时,发现设备便可以确定该被发现设备为新接入发现设备的被发现设备。

303、发现设备根据组播消息中包括的IP地址和服务类型获取被发现设备的设备信息,其中,IP地址为本地链路IPv6地址。

其中,服务类型用于确定访问被发现设备所需的参数,例如,该参数具体的可以为访问被发现设备所需的端口、协议、方法等。若发现设备确定出被发现设备为新接入发现设备的被发现设备,则可以先根据服务类型,确定出访问被发现设备所需的端口、协议、方法等,再根据组播消息中包括的本地链路IPv6地址,以及确定出的端口、协议、方法获取被发现设备的设备信息,以完成自动发现。具体的,发现设备可以根据本地链路IPv6地址,以及确定出的端口、协议、方法,并采用智能平台管理接口(intelligent platform management interface,IPMI)或者简单网络管理协议(simple network management protocol,SNMP)或者安全外壳(secure shell,SSH)协议,获取被发现设备的设备信息。该被发现设备的设备信息可以包括以下至少一种:硬件类型、磁盘、内存、网络。

304、发现设备根据本地链路IPv6地址,为被发现设备分配IPv4地址。

其中,IPv4地址用于用户访问被发现设备。在发现设备获取到被发现设备的设备信息之后,发现设备可以根据组播消息中包括的本地链路IPv6地址以及被发现设备的IP地址范围,为被发现设备分配IPv4地址。进一步的,发现设备可以根据本地链路IPv6地址或IPv4地址、服务类型和被发现设备的设备信息对被发现设备进行初始化配置。

305、发现设备将被发现设备的设备信息、组播消息和发现时刻保存在设备列表中。

其中,发现时刻为发现设备获取到被发现设备的组播消息的时刻。

306、发现设备以发现时刻为起始时刻,判断在预设时间后是否重新获取到被发现设备的组播消息。

示例性的,可以预先设置一个定时器,该定时器的定时周期等于预设时间。这样,在发现设备保存了被发现设备的设备信息、组播消息和发现时刻之后,发现设备可以以发现时刻为起始时刻,启动定时器,并在定时器的定时周期到达时,判断是否重新获取到被发现设备的组播消息。需要说明的是,在本发明实施例中,预设时间的具体取值可以根据实际应用场景的需要进行设置,本发明实施例在此不做具体限制。

当然,发现设备也可以以发现时刻为起始时刻,周期性的判断是否重新获取到被发现设备的组播消息,若重新获取到被发现设备的组播消息,则可以执行以下步骤308,若在预设时间内未重新获取到被发现设备的组播消息,则可以执行以下步骤307。示例性的,假设预设时间为9秒(s),判断周期为1s,则发现设备可以以发现时刻为起始时刻,每隔1s判断一次是否重新获取到被发现设备的组播消息,若重新获取到被发现设备的组播消息,则可以执行以下步骤308,若在9s内未重新获取到被发现设备的组播消息,则可以执行以下步骤307。

其中,当采用步骤301中的方式一获取被发现设备的组播消息时,在发现设备保存了被发现设备的设备信息、组播消息和发现时刻之后,发现设备可以以发现时刻为起始时刻,判断在预设时间后是否重新获取到被发现设备的组播消息,若确定在预设时间后未重新获取到被发现设备的组播消息,则发现设备可以确定该被发现设备已经离线,此时可以执行以下步骤307,若确定在预设时间后重新获取到被发现设备的组播消息,则可以执行以下步骤308。

当采用步骤301中的方式二获取被发现设备的组播消息时,在发现设备保存了被发现设备的设备信息、组播消息和发现时刻之后,发现设备可以以发现时刻为起始时刻,在预设时间后在IPv6组播地址对应的组播域中发送查询消息,并判断是否重新接收到被发现设备的组播消息,若确定未重新接收到被发现设备的组播消息,则发现设备可以确定出该被发现设备已经离线,此时可以执行以下步骤307,若确定重新接收到被发现设备的组播消息,则可以执行以下步骤308,且发现设备可以周期性的在IPv6组播地址对应的组播域中发送查询消息,以便根据是否重新获取到该被发现设备的组播消息,对设备列表中的信息进行实时更新。

需要说明的是,针对本地保存的设备列表中所有的已接入发现设备的被发现设备,也可以周期性的判断在预设时间后是否重新获取到组播消息,以便对设备列表中的信息进行实时更新。

307、发现设备从设备列表中将被发现设备的设备信息、组播消息和发现时刻删除。

其中,若发现设备确定出被发现设备已经离线,便可以从设备列表中将被发现设备的设备信息、组播消息和发现时刻删除,并可以提示用户该被发现设备已经离线。

308、发现设备更新发现时刻。

其中,若发现设备确定在预设时间后重新获取到被发现设备的组播消息,则可以更新发现时刻,并以更新后的发现时刻(更新后的发现时刻为重新获取到被发现设备的组播消息的时刻)为起始时刻,重新判断在预设时间后是否获取到该被发现设备的组播消息,以便对设备列表中的信息进行实时更新。

需要说明的是,在本发明实施例中,步骤304,与步骤305-步骤308的执行没有先后关系,即在执行完步骤303之后,可以先执行步骤304,然后再执行步骤305-步骤308,或者,也可以先执行步骤305-步骤308,然后再执行步骤304,本发明实施例在此对步骤304,与步骤305-步骤308的执行顺序不做具体限制。

另外,本发明实施例中步骤303中的IP地址也可以为IPv4地址。当IP地址为IPv4地址时,可以执行步骤301-步骤303,以及步骤305-步骤308,来完成被发现设备的自动发现和自动配置。

本发明实施例提供的自动发现方法,发现设备获取被发现设备的组播消息,并在根据获取到的组播消息确定出本地保存的设备列表中未包含有被发现设备的设备信息后,根据该组播消息中包括的本地链路IPv6地址和服务类型获取被发现设备的设备信息,以完成自动发现。发现设备通过采用本地链路IPv6地址和服务类型可以获取被发现设备的设备信息,以完成自动发现,解决了预先给被发现设备配置IP地址导致的前期规划较多的问题,同时避免了采用DHCP实现自动发现导致的被发现设备不能正常工作的问题。

并且,发现设备通过判断在预设时间后是否重新获取到被发现设备的组播消息,可以实时更新设备列表中的信息。

上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如发现设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明实施例可以根据上述方法示例对发现设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图4示出了上述和实施例中涉及的发现设备的一种可能的组成示意图,如图4所示,该发现设备可以包括:获取单元41、确定单元42。

其中,获取单元41,用于支持发现设备执行图3所示的自动发现方法中的步骤301、步骤303。

确定单元42,用于支持发现设备执行图3所示的自动发现方法中的步骤307。

在本发明实施例中,进一步的,如图5所示,该发现设备还可以包括:分配单元43、存储单元44、判断单元45、删除单元46和更新单元47。

分配单元43,用于支持发现设备执行图3所示的自动发现方法中的步骤304。

存储单元44,用于支持发现设备执行图3所示的自动发现方法中的步骤305。

判断单元45,用于支持发现设备执行图3所示的自动发现方法中的步骤302、步骤306。

删除单元46,用于支持发现设备执行图3所示的自动发现方法中的步骤307。

更新单元47,用于支持发现设备执行图3所示的自动发现方法中的步骤308。

需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

本发明实施例提供的发现设备,用于执行上述自动发现方法,因此可以达到与上述自动发现方法相同的效果。

在采用集成的单元的情况下,图6示出了上述实施例中所涉及的发现设备的另一种可能的组成示意图。如图6所示,该发现设备包括:处理模块51和通信模块52。

处理模块51用于对发现设备的动作进行控制管理,例如,处理模块51用于支持发现设备执行图3中的步骤301、步骤302、步骤303、步骤304、步骤306、步骤307、步骤308、和/或用于本文所描述的技术的其它过程。通信模块52用于支持发现设备与其他网络实体的通信,例如与图1示出的网络实体之间或功能模块的通信。发现设备还可以包括存储模块53,用于存储发现设备的程序代码和数据,例如,存储模块53,用于支持发现设备执行图3中的步骤305。

其中,处理模块51可以是处理器或控制器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块52可以是收发器、收发电路或通信接口等。存储模块53可以是存储器。

当处理模块51为处理器,通信模块52为通信接口,存储模块53为存储器时,本发明实施例所涉及的发现设备可以为图2所示的发现设备。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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