CN111756817A - 设备发现方法、装置及计算机可读存储介质 - Google Patents
设备发现方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111756817A CN111756817A CN202010503679.1A CN202010503679A CN111756817A CN 111756817 A CN111756817 A CN 111756817A CN 202010503679 A CN202010503679 A CN 202010503679A CN 111756817 A CN111756817 A CN 111756817A
- Authority
- CN
- China
- Prior art keywords
- multicast
- client
- information
- discovery
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 155
- 239000004744 fabric Substances 0.000 claims 1
- 238000007726 management method Methods 0.000 description 52
- 238000004458 analytical method Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种设备发现方法、装置及计算机可读存储介质,所述设备发现方法应用于服务端,所述设备发现方法包括以下步骤:基于设备发现指令,生成组播发现报文;将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。本发明通过组播发现报文不仅可以获取同网段客户端的设备信息,也可以获取不同网段即跨网段客户端的设备信息,解决了难以对跨网段的网络设备进行设备发现的技术问题。
Description
技术领域
本发明涉及网络设备管理技术领域,尤其涉及一种设备发现方法、装置及计算机可读存储介质。
背景技术
目前网络设备领域中设备发现的方法很多,现有技术中的设备发现方法包括单播轮询发现、广播发现或者借助云平台的管理方法。由于单播轮询以发现设备的机制效率低下,需要轮询网段内所有设备的地址,因此这种单播轮询发现设备的方式低效且大量占用带宽。由于广播报文不会被路由设备进行转发,因此基于广播的设备发现机制只能在同网段进行搜索发现设备。而当设备无法上网的情况下,基于云平台的设备发现方法不能对设备进行管理。因此,在不清楚其他网段设备IP的情况下,难以对跨网段的网络设备进行设备发现。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种设备发现方法、装置及计算机可读存储介质,旨在解决现有技术中难以对跨网段的网络设备进行设备发现的技术问题。
为实现上述目的,本发明提供一种设备发现方法,所述设备发现方法应用于服务端,所述设备发现方法包括以下步骤:
基于设备发现指令,生成组播发现报文;
将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;
接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。
可选地,所述第二预设规则包括第一私有协议规则,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
接收所述组播响应报文,并解析所述组播响应报文的匹配字段,得到所述客户端的第一匹配信息;
检测所述第一匹配信息是否满足所述第一私有协议规则;
若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息。
可选地,所述第一匹配信息包括所述客户端的协议名称、网络结构类型、协议端口、协议组播地址和数据内容,所述检测所述第一匹配信息是否满足所述第一私有协议规则的步骤包括:
检测所述第一匹配信息中的所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息是否对应匹配;
所述若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
若所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息对应匹配,则基于所述组播响应报文确定所述客户端的设备信息。
可选地,所述客户端的设备信息包括地址信息,所述基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
解析所述组播响应报文中的地址信息字段,得到所述客户端的地址信息。
可选地,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤之后,还包括:
获取设备管理队列,并检测所述设备管理队列中是否存在与所述客户端的设备信息相匹配的队列元素;
若存在,则更新目标队列元素对应的时间戳,其中,所述目标队列元素与所述设备信息相匹配;
若不存在,则将所述客户端的设备信息存储至所述设备管理队列。
可选地,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤之后,还包括:
将所述客户端的设备信息存储至所述设备管理队列,并将所述设备信息对应的关联时刻存储至所述设备管理队列;
基于所述设备管理队列,实时检测所述关联时刻与当前时间的时间间隔是否达预设时长;
若所述时间间隔达预设时长,则删除所述客户端的设备信息以及所述设备信息对应的关联时刻。
可选地,所述将所述客户端的设备信息存储至所述设备管理队列的步骤之后,还包括:
读取所述设备管理队列的全局队列信息,并输出所述全局队列信息,以显示所述设备管理队列中的各设备信息。
可选地,所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文的步骤包括:
客户端接收所述组播发现报文,并解析所述组播发现报文中的匹配字段,得到所述服务端的第二匹配信息;
客户端检测所述第二匹配信息是否满足所述第二私有协议规则;
若所述第二匹配信息满足所述第二私有协议规则,则客户端生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文。
此外,为实现上述目的,本发明还提供一种设备发现装置,所述设备发现装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备发现程序,所述设备发现程序被所述处理器执行时实现如上述的设备发现方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有设备发现程序,所述设备发现程序被处理器执行时实现如上述的设备发现方法的步骤。
本发明通过基于设备发现指令,生成组播发现报文;将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。在本实施例中,服务端生成组播发现报文并将组播发现报文发送至客户端,客户端在检测到组播发现报文满足第一预设规则时,生成组播响应报文并以组播响应报文回复服务端,以使客户端正确响应服务端;服务端接收客户端回复的组播响应报文,并在组播响应报文满足第二预设规则时,获取组播响应报文中包含的客户端的设备信息。通过上述步骤,使得服务端成功获取客户端的设备信息,从而发现网络中的客户端设备;并且,服务端基于组播发现报文获取客户端的设备信息,组播发现报文属于组播报文,由于组播报文可以跨网段传输,因此服务端通过组播发现报文不仅可以获取同网段客户端的设备信息,也可以获取不同网段即跨网段客户端的设备信息。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备发现装置结构示意图;
图2为本发明设备发现方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例设备发现装置可以是PC,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该设备发现装置可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,设备发现装置还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图1中示出的设备发现装置结构并不构成对设备发现装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备发现程序。
在图1所示的设备发现装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的设备发现程序。
在本实施例中,设备发现装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的设备发现程序,其中,处理器1001调用存储器1005中存储的设备发现程序时,并执行以下操作:
基于设备发现指令,生成组播发现报文;
将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;
接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
接收所述组播响应报文,并解析所述组播响应报文的匹配字段,得到所述客户端的第一匹配信息;
检测所述第一匹配信息是否满足所述第一私有协议规则;
若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
检测所述第一匹配信息中的所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息是否对应匹配;
所述若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
若所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息对应匹配,则基于所述组播响应报文确定所述客户端的设备信息。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
解析所述组播响应报文中的地址信息字段,得到所述客户端的地址信息。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
获取设备管理队列,并检测所述设备管理队列中是否存在与所述客户端的设备信息相匹配的队列元素;
若存在,则更新目标队列元素对应的时间戳,其中,所述目标队列元素与所述设备信息相匹配;
若不存在,则将所述客户端的设备信息存储至所述设备管理队列。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
将所述客户端的设备信息存储至所述设备管理队列,并将所述设备信息对应的关联时刻存储至所述设备管理队列;
基于所述设备管理队列,实时检测所述关联时刻与当前时间的时间间隔是否达预设时长;
若所述时间间隔达预设时长,则删除所述客户端的设备信息以及所述设备信息对应的关联时刻。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
读取所述设备管理队列的全局队列信息,并输出所述全局队列信息,以显示所述设备管理队列中的各设备信息。
进一步地,处理器1001可以调用存储器1005中存储的设备发现程序,还执行以下操作:
客户端接收所述组播发现报文,并解析所述组播发现报文中的匹配字段,得到所述服务端的第二匹配信息;
客户端检测所述第二匹配信息是否满足所述第二私有协议规则;
若所述第二匹配信息满足所述第二私有协议规则,则客户端生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文。
本发明还提供一种设备发现方法,参照图2,图2为本发明设备发现方法第一实施例的流程示意图。
本发明所提出的设备发现方法应用于一种系统架构,该系统架构包括服务端和客户端,其中,服务端包括服务端解析模块、服务端组包模块、服务端发送模块和服务端接收模块,客户端包括客户端解析模块、客户端组包模块、客户端发送模块和客户端接收模块,并且客户端包括一个或者多个客户端。服务端组包模块与服务端发送模块数据交互,服务端接收模块与服务端解析模块数据交互,服务端发送模块与客户端接收模块通信;客户端组包模块与客户端发送模块数据交互,客户端接收模块与客户端解析模块数据交互,客户端发送模块与服务端接收模块通信。
服务端可以是设备,也可以是基于PC端的应用程序或者安装软件,服务端主动发送组播发现报文至客户端;客户端主要是网络设备,用于接收处理组播发现报文,并发送组播响应报文给服务端。
服务端包括服务端解析模块、服务端组包模块、服务端发送模块和服务端接收模块。其中,服务端解析模块用于解析报文以获得报文内容,在本发明所提出的设备发现方法中服务端解析模块用于解析服务端接收模块接收报文;服务端组包模块用于组装报文,在本发明所提出的设备发现方法中服务端组包模块用于组装组播发现报文;服务端发送模块用于发送报文,在本发明所提出的设备发现方法中服务端发送模块用于发送服务端组包模块组装的组播发现报文;服务端接收模块用于接收其他网络设备发送的报文,在本发明所提出的设备发现方法中服务端接收模块用于接收客户端发送的组播响应报文。
客户端包括客户端解析模块、客户端组包模块、客户端发送模块和客户端接收模块。其中,客户端解析模块用于解析报文以获得报文内容,在本发明所提出的设备发现方法中客户端解析模块用于解析客户端接收模块接收的组播发现报文;客户端组包模块用于组装报文,在本发明所提出的设备发现方法中客户端组包模块用于组装组播响应报文;客户端发送模块用于发送报文,在本发明所提出的设备发现方法中客户端发送模块用于发送客户端组包模块组装的组播响应报文;客户端接收模块用于接收其他网络设备发送的报文,在本发明所提出的设备发现方法中客户端接收模块用于接收服务端发送的组播响应报文。
在本实施例中,该设备发现方法包括以下步骤:
步骤S10,基于设备发现指令,生成组播发现报文;
一实施例中,服务端中的应用程序触发或者服务端接收外部设备输入的设备发现指令,服务端的服务端组包模块基于该设备发现指令组装组播发现指令,以供服务端中的服务端发送模块将组播发现报文发送至同网段的一个或多个客户端或者跨网段的一个或多个客户端。
步骤S20,将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;
一实施例中,服务端中的服务端组包模块组装完成组播发现报文后,服务端组包模块将组播发现报文发送至一个或多个客户端。客户端的客户端接收模块接收组播发现报文,并将组播发现报文发送至客户端解析模块。客户端解析模块解析客户端接收模块发送的组播发现报文得到组播发现报文的报文内容。得到组播发现报文的报文内容后,检测组播发现报文的报文内容是否合法,若检测到组播发现报文的报文内容合法,则客户端解析模块将组播发现报文的报文内容发送至客户端组包模块;若检测到组播发现报文的报文内容不合法,则丢弃该组播发现报文。若检测到组播发现报文的报文内容合法,则客户端解析模块将组播发现报文的报文内容发送至客户端组包模块,客户端组包模块基于组播发现报文的报文内容生成组播发现报文对应的组播响应报文,并将所生成的组播响应报文发送至客户端发送模块,以使客户端发送模块发出组播响应报文,以供客户端发送模块将组播响应报文发送至服务端。
进一步地,通过检测组播发现报文的报文内容是否满足第一预设规则,确定组播发现报文的报文内容是否合法,若组播发现报文的报文内容满足第一预设规则,则组播发现报文的报文内容合法;若组播发现报文的报文内容不满足第一预设规则,则组播发现报文的报文内容不合法。其中,第一预设规则包括客户端的私有协议规则。
需要说明的是,服务端将组播发现报文发送至一个还是多个客户端取决于网络中连接客户端的数量,当网络中只接入一个客户端,且客户端在线,则将组播发现报文发送至一个客户端,当网络中接入多个客户端,且多个客户端在线,则将组播发现报文发送至多个客户端。
需要说明的是,服务端将组播发现报文发送至交换机,交换机复制接收到的组播发现报文,并将组播发现报文复制成多份,以供交换机将组播发现报文分别转发至同网段的一个或多个客户端或者跨网段的一个或多个客户端。
步骤S30,接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。
一实施例中,当服务端中的服务端接收模块接收到客户端发送的组播响应报文时,服务端接收模块将组播响应报文发送至服务端解析模块。服务端解析模块对组播响应报文进行解析,得到组播响应报文的报文内容。之后,对组播响应报文的报文内容进行检测,以检测组播响应报文是否合法。在服务端检测到组播响应报文合法时,基于组播响应报文中的报文内容获取客户端的设备信息,其中,设备信息包括客户端的地址信息,客户端的地址信息包括客户端的MAC地址和IP地址。
进一步地,通过检测组播响应报文的报文内容是否满足第二预设规则,确定组播响应报文的报文内容是否合法,若组播响应报文的报文内容满足第二预设规则,则组播响应报文合法;若组播响应报文的报文内容不满足第二预设规则,则组播响应报文不合法。其中,第二预设规则包括服务端的私有协议规则,且第二预设规则与第一预设规则相对应。需要说明的是,预先在服务端设定服务端的私有协议规则,以及预先在客户端设定服务端的私有协议规则,服务端的私有协议规则与客户端的私有协议规则相对应,也就是说,只有设定私有协议规则的客户端才可以判定组播发现报文合法并正确响应服务端,即只有设定私有协议规则的客户端才可接受对应的服务端的设备管理。
进一步地,服务端以预设周期发出组播响应报文,以周期性获取客户端的设备信息,以实时更新客户端的设备信息,其中,预设周期可以是一个小时或者半天或者一天,在本实施例中,预设周期不作具体限定。
进一步地,客户端的设备信息包括地址信息,服务端解析模块解析组播响应报文中的地址信息字段,得到所述客户端的地址信息。
本实施例提出的设备发现方法,通过基于设备发现指令,生成组播发现报文;然后,将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;最后,接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。在本实施例中,服务端生成组播发现报文并将组播发现报文发送至客户端,客户端在检测到组播发现报文满足第一预设规则时,生成组播响应报文并以组播响应报文回复服务端,以使客户端正确响应服务端;服务端接收客户端回复的组播响应报文,并在组播响应报文满足第二预设规则时,获取组播响应报文中包含的客户端的设备信息。通过上述步骤,使得服务端成功获取客户端的设备信息,从而发现网络中的客户端设备;并且,服务端基于组播发现报文获取客户端的设备信息,组播发现报文属于组播报文,由于组播报文可以跨网段传输,因此服务端通过组播发现报文不仅可以获取同网段客户端的设备信息,也可以获取不同网段即跨网段客户端的设备信息,解决了现有技术中难以对跨网段的网络设备进行设备发现的技术问题。
基于第一实施例,提出本发明设备发现方法的第二实施例,在本实施例中,步骤S30包括:
步骤S31,接收所述组播响应报文,并解析所述组播响应报文的匹配字段,得到所述客户端的第一匹配信息;
步骤S32,检测所述第一匹配信息是否满足所述第一私有协议规则;
步骤S33,若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息。
一实施例中,组播响应报文的报文内容包括匹配字段和客户端信息字段。当服务端中的服务端接收模块接收到客户端发送的组播响应报文时,服务端接收模块将组播响应报文发送至服务端解析模块。服务端解析模块解析组播响应报文中的匹配字段,得到组播响应报文中的第一匹配信息。接着,基于第一匹配信息中的各匹配信息,将第一匹配信息中的各匹配信息和第一私有协议规则中的各规则信息进行对应匹配,以检测第一匹配信息中的各匹配信息是否满足第一私有协议规则。若第一匹配信息中的各匹配信息和第一私有协议规则中的各规则信息对应匹配,即第一匹配信息满足第一私有协议规则,那么基于组播响应报文中的客户端信息字段获取客户端的设备信息,其中,客户端信息字段存储有客户端的设备信息,设备信息包括客户端的地址信息,客户端的地址信息包括客户端的MAC地址和IP地址。
可以理解的是,将第一匹配信息中的各匹配信息和第一私有协议规则中的各规则信息进行对应匹配,若第一匹配信息中的各匹配信息和第一私有协议规则中的各规则信息存在至少一项不对应匹配,则丢弃该组播响应报文。
进一步地,一实施例中,所述第一匹配信息包括所述客户端的协议名称、网络结构类型、协议端口、协议组播地址和数据内容,所述检测所述第一匹配信息是否满足所述第一私有协议规则的步骤包括:
步骤S320,检测所述第一匹配信息中的所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息是否对应匹配;
步骤S321,所述若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
若所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息对应匹配,则基于所述组播响应报文确定所述客户端的设备信息。
一实施例中,基于第一匹配信息中客户端的协议名称、网络结构类型、协议端口、协议组播地址和组播响应报文的数据内容,将第一匹配信息中协议名称、网络结构类型、协议端口、协议组播地址和数据内容和第一私有协议规则所规定的第一预设协议名称、第一预设网络结构类型、第一预设协议端口、第一预设协议组播地址和第一预设数据内容进行对应匹配,以检测第一匹配信息中的各匹配信息是否满足第一私有协议规则。若第一匹配信息中协议名称、网络结构类型、协议端口、协议组播地址和数据内容和第一私有协议规则所规定的预设协议名称、预设网络结构类型、预设协议端口、预设协议组播地址和预设数据内容对应匹配,则第一匹配信息满足第一私有协议规则,那么基于组播响应报文获取客户端的设备信息。
进一步地,一实施例中,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤之后,还包括:
步骤S34,获取设备管理队列,并检测所述设备管理队列中是否存在与所述客户端的设备信息相匹配的队列元素;
步骤S35,若存在,则更新目标队列元素对应的时间戳,其中,所述目标队列元素与所述设备信息相匹配;
步骤S36,若不存在,则将所述客户端的设备信息存储至所述设备管理队列。
一实施例中,在服务端获取到客户端的设备信息之后,需要将客户端的设备信息存储至设备管理队列中,其中,设备管理队列为全局队列。在服务端获取到客户端的设备信息之后,检测设备管理队列中是否存在相同的队列元素,以确定设备队列中是否已存在该客户端的设备信息。若存在,说明设备管理队列中已存储客户端的设备信息,那么获取系统当前时间,并将系统当前时间作为客户端对应的目标队列元素对应的目标时间戳,从而更新设备管理队列中已存储的客户端设备对应的时间戳。若不存在,则将客户端的设备信息以及其关联时间存储至所述设备管理队列,其中,关联时间包括系统当前时间,客户端的设备信息包括客户端的MAC地址和IP地址。
需要说明的是,在获取设备管理队列之前,创建设备管理队列,设备管理队列用于存储服务端发现的客户端设备。
进一步地,一实施例中,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤之后,还包括:
步骤S301,将所述客户端的设备信息存储至所述设备管理队列,并将所述设备信息对应的关联时刻存储至所述设备管理队列;
步骤S302,基于所述设备管理队列,实时检测所述关联时刻与当前时间的时间间隔是否达预设时长;
步骤S303,若所述时间间隔达预设时长,则删除所述客户端的设备信息以及所述设备信息对应的关联时刻。
一实施例中,在获取客户端的设备信息后,将客户端的设备信息存储至设备管理队列,并且将对应的关联时间关联存储至设备管理队列,其中,设备信息对应的关联时刻可以是系统当前时间。在将客户端的设备信息和对应的关联时间存储至设备管理队列后,通过服务端实时检测设备管理队列中各队列元素对应的时间戳与当前时间的时间间隔是否达预设时长,以检测该设备信息对应的关联时刻与当前时间的时间间隔是否达预设时长;若达预设时长,则在设备管理队列中删除该客户端的设备信息和对应的关联时间。
需要说明的是,服务端实时检测设备管理队列中各队列元素对应的时间戳与当前时间的时间间隔是否达预设时长;若设备管理队列中各队列元素对应的时间戳与当前时间的时间间隔达预设时长,则删除与当前时间的时间间隔达预设时长的队列元素。例如,当设备管理队列中所存储的一客户端设备信息对应的时间戳与系统当前时间的时间间隔超过七天,则将该客户端设备信息和对应的时间戳删除。通过实时检测设备管理队列,更新设备管理队列中存储的设备信息,在客户端下线超过预设时长,则将客户端从服务端的管理设备中移除,从而达到实时更新客户端设备信息,并且在服务器无需联网的情况下更新管理设备的信息,使得服务器在断网的突发情况下,仍可对客户端设备进行管理,避免在断网的突发情况下丢失客户端的设备信息。
进一步地,一实施例中,所述将所述客户端的设备信息存储至所述设备管理队列的步骤之后,还包括:
读取所述设备管理队列的全局队列信息,并输出所述全局队列信息,以显示所述设备管理队列中的各设备信息。
一实施例中,服务端的显示模块读取设备管理全局队列信息,从而输出全局队列信息中存储的所有客户端的设备信息至显示模块,以使在显示模块中显示设备管理队列中存储的所有设备信息,以便实时查看和管理客户端设备。
进一步地,一实施例中,所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文的步骤包括:
客户端接收所述组播发现报文,并解析所述组播发现报文中的匹配字段,得到所述服务端的第二匹配信息;
客户端检测所述第二匹配信息是否满足所述第二私有协议规则;
若所述第二匹配信息满足所述第二私有协议规则,则客户端生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文。
一实施例中,组播发现报文的报文内容包括匹配字段。当客户端中的客户端接收模块接收到服务端发送的组播发现报文时,客户端接收模块将组播发现报文发送至客户端解析模块。客户端解析模块解析组播发现报文中的匹配字段,得到组播发现报文中的第二匹配信息。接着,基于第二匹配信息中的各匹配信息,将第二匹配信息中的各匹配信息和第二私有协议规则中的各规则信息进行对应匹配,以检测第二匹配信息中的各匹配信息是否满足第二私有协议规则。若第二匹配信息中的各匹配信息和第二私有协议规则中的各规则信息对应匹配,即第二匹配信息满足第二私有协议规则,那么基于组播发现报文获取服务端的设备信息,其中,服务端的设备信息包括服务端的地址信息,服务端的地址信息为服务端的IP地址。
可以理解的是,将第二匹配信息中的各匹配信息和第二私有协议规则中的各规则信息进行对应匹配,若第二匹配信息中的各匹配信息和第二私有协议规则中的各规则信息存在至少一项不对应匹配,则丢弃该组播发现报文。
需要说明的是,第二匹配信息包括服务端的协议名称、服务端的网络结构类型、服务端的协议端口、服务端的协议组播地址和组播发现报文的数据内容。第二私有协议规则中包括所规定的第二预设协议名称、第二预设网络结构类型、第二预设协议端口、第二预设协议组播地址和第二预设数据内容。
需要说明的是,基于第二匹配信息中服务端的协议名称、服务端网络结构类型、服务端的协议端口、服务端的协议组播地址和组播发现报文的数据内容,将第二匹配信息中服务端协议名称、服务端网络结构类型、服务端协议端口、服务端协议组播地址和组播发现报文的数据内容和第二私有协议规则所规定的第二预设协议名称、第二预设网络结构类型、第二预设协议端口、第二预设协议组播地址和第二预设数据内容进行对应匹配,以检测第二匹配信息中的各匹配信息是否满足第二私有协议规则。
本实施例提出的设备发现方法,通过接收所述组播响应报文,并解析所述组播响应报文的匹配字段,得到所述客户端的第一匹配信息;然后,检测所述第一匹配信息是否满足所述第一私有协议规则;最后,若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息。服务端接收客户端回复的组播响应报文,并在组播响应报文满足第二预设规则时,获取组播响应报文中包含的客户端的设备信息。通过上述步骤,使得服务端成功获取客户端的设备信息,从而发现网络中的客户端设备;并且,服务端基于组播发现报文获取客户端的设备信息,组播发现报文属于组播报文,由于组播报文可以跨网段传输,因此服务端通过组播发现报文不仅可以获取同网段客户端的设备信息,也可以获取不同网段即跨网段客户端的设备信息。
为了便于理解,下面进行举例说明。
(101)服务端运行,进程建立套接字,套接字绑定组播地址为238.0.0.88,组播端口为8888,服务端组包模块先组装一个组播发现协议报文,通过服务器发送模块将其以组播方式发送至客户端接收模块,组播发现报文内容含有协议名称(proto:xxxxxx),C/S类型(cs:server),协议端口(port:8888),协议组播IP(ip:238.0.0.88),数据内容(msg:discover)。同时拉起服务端接收模块。
(102)客户端接收模块将组播发现报文转发给客户端解析模块,客户端解析模块解析组播发现报文内容,解析匹配字段proto、cs、port、ip、msg字段的内容是否与私有协议(xxxxxx,server,8888,238.0.0.88,discover)的相同,相同则认为合法,不同则不合法则丢弃不作处理,合法转(103)。
(103)客户端运行,进程建立套接字,绑定本地IP,端口8888,将本机加入8888和238.0.0.88的广播组,设置组播超时时间,组播回环许可,拉起客户端接收模块、客户端组包模块、客户端解析模块和客户端发送模块。客户端接收模块接收的报文合法,客户端组包模块则重新组装一个组播响应报文,报文内容含有协议名(proto:xxxxxx),C/S类型(cs:client),协议端口(port:8888),协议组播IP(ip:238.0.0.88),客户端设备IP(device_ip:192.168.1.254),MAC地址(device_mac:XX:XX:XX:XX:XX:XX),数据内容(msg:reply),通过客户端发送模块发送给服务端接收模块。
(104)服务端接收模块收到后将组播响应报文转发给服务端解析模块,服务端解析模块解析匹配字段proto,cs,port,ip,msg字段的内容是否与私有协议(xxxxxx,client,8888,238.0.0.88,reply)的相同,相同则认为合法,不合法则丢弃组播响应包不作处理,合法转(105)。
(105)组播响应报文匹配成功后,除了匹配字段,继续解析出device_ip,device_mac字段内容,创建一个全局队列,若队列为空,将报文device_ip和device_mac字段内容保存在队列中,若队列不为空,匹配MAC地址,存在则不作处理,不存在则添加。
(106)服务器显示模块将全局队列信息读取并显示所有发现设备信息。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有设备发现程序,所述设备发现程序被处理器执行时实现如上述中任一项所述的设备发现方法的步骤。
本发明计算机可读存储介质具体实施例与上述设备发现方法的各实施例基本相同,在此不再详细赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种设备发现方法,其特征在于,所述设备发现方法应用于服务端,所述设备发现方法包括以下步骤:
基于设备发现指令,生成组播发现报文;
将所述组播发现报文发送至客户端,以供所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文;
接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息。
2.如权利要求1所述的设备发现方法,其特征在于,所述第二预设规则包括第一私有协议规则,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
接收所述组播响应报文,并解析所述组播响应报文的匹配字段,得到所述客户端的第一匹配信息;
检测所述第一匹配信息是否满足所述第一私有协议规则;
若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息。
3.如权利要求2所述的设备发现方法,其特征在于,所述第一匹配信息包括所述客户端的协议名称、网络结构类型、协议端口、协议组播地址和数据内容,所述检测所述第一匹配信息是否满足所述第一私有协议规则的步骤包括:
检测所述第一匹配信息中的所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息是否对应匹配;
所述若所述第一匹配信息满足所述第一私有协议规则,则基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
若所述协议名称、所述网络结构类型、所述协议端口、所述协议组播地址、所述数据内容与所述第一私有协议规则中的各协议信息对应匹配,则基于所述组播响应报文确定所述客户端的设备信息。
4.如权利要求1至3任一项所述的设备发现方法,其特征在于,所述客户端的设备信息包括地址信息,所述基于所述组播响应报文确定所述客户端的设备信息的步骤包括:
解析所述组播响应报文中的地址信息字段,得到所述客户端的地址信息。
5.如权利要求1所述的设备发现方法,其特征在于,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤之后,还包括:
获取设备管理队列,并检测所述设备管理队列中是否存在与所述客户端的设备信息相匹配的队列元素;
若存在,则更新目标队列元素对应的时间戳,其中,所述目标队列元素与所述设备信息相匹配;
若不存在,则将所述客户端的设备信息存储至所述设备管理队列。
6.如权利要求1所述的设备发现方法,其特征在于,所述接收所述组播响应报文,并在所述组播响应报文满足第二预设规则时,基于所述组播响应报文确定所述客户端的设备信息的步骤之后,还包括:
将所述客户端的设备信息存储至所述设备管理队列,并将所述设备信息对应的关联时刻存储至所述设备管理队列;
基于所述设备管理队列,实时检测所述关联时刻与当前时间的时间间隔是否达预设时长;
若所述时间间隔达预设时长,则删除所述客户端的设备信息以及所述设备信息对应的关联时刻。
7.如权利要求5或6所述的设备发现方法,其特征在于,所述将所述客户端的设备信息存储至所述设备管理队列的步骤之后,还包括:
读取所述设备管理队列的全局队列信息,并输出所述全局队列信息,以显示所述设备管理队列中的各设备信息。
8.如权利要求1所述的设备发现方法,其特征在于,所述客户端接收所述组播发现报文,并在所述组播发现报文满足第一预设规则时生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文的步骤包括:
客户端接收所述组播发现报文,并解析所述组播发现报文中的匹配字段,得到所述服务端的第二匹配信息;
客户端检测所述第二匹配信息是否满足所述第二私有协议规则;
若所述第二匹配信息满足所述第二私有协议规则,则客户端生成所述组播发现报文对应的组播响应报文,返回所述组播响应报文。
9.一种设备发现装置,其特征在于,所述设备发现装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备发现程序,所述设备发现程序被所述处理器执行时实现如权利要求1至8中任一项所述的设备发现方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有设备发现程序,所述设备发现程序被处理器执行时实现如权利要求1至8中任一项所述的设备发现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010503679.1A CN111756817A (zh) | 2020-06-04 | 2020-06-04 | 设备发现方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010503679.1A CN111756817A (zh) | 2020-06-04 | 2020-06-04 | 设备发现方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111756817A true CN111756817A (zh) | 2020-10-09 |
Family
ID=72674780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010503679.1A Pending CN111756817A (zh) | 2020-06-04 | 2020-06-04 | 设备发现方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756817A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600800A (zh) * | 2020-04-01 | 2020-08-28 | 武汉迈威通信股份有限公司 | 一种跨网段拓扑发现的方法及设备 |
CN112689025A (zh) * | 2020-12-04 | 2021-04-20 | 深圳市信义科技有限公司 | 网络终端设备ip自适应方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873301A (zh) * | 2014-03-20 | 2014-06-18 | 浙江宇视科技有限公司 | 一种自动发现和添加设备的系统和方法 |
CN103986631A (zh) * | 2014-05-26 | 2014-08-13 | 小米科技有限责任公司 | 局域网设备发现方法及装置 |
CN104618375A (zh) * | 2015-01-30 | 2015-05-13 | 普联技术有限公司 | 一种网络设备的发现方法及装置 |
CN105049495A (zh) * | 2015-06-29 | 2015-11-11 | 广州酷狗计算机科技有限公司 | 设备发现方法、装置及系统 |
CN106470234A (zh) * | 2015-08-20 | 2017-03-01 | 腾讯科技(北京)有限公司 | 一种设备发现的方法及装置 |
CN107360069A (zh) * | 2017-07-28 | 2017-11-17 | 杭州聪普智能科技有限公司 | 一种智能家居控制系统的网络设备识别方法 |
CN108900603A (zh) * | 2018-06-27 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种服务器发现方法、装置和系统 |
-
2020
- 2020-06-04 CN CN202010503679.1A patent/CN111756817A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873301A (zh) * | 2014-03-20 | 2014-06-18 | 浙江宇视科技有限公司 | 一种自动发现和添加设备的系统和方法 |
CN103986631A (zh) * | 2014-05-26 | 2014-08-13 | 小米科技有限责任公司 | 局域网设备发现方法及装置 |
CN104618375A (zh) * | 2015-01-30 | 2015-05-13 | 普联技术有限公司 | 一种网络设备的发现方法及装置 |
CN105049495A (zh) * | 2015-06-29 | 2015-11-11 | 广州酷狗计算机科技有限公司 | 设备发现方法、装置及系统 |
CN106470234A (zh) * | 2015-08-20 | 2017-03-01 | 腾讯科技(北京)有限公司 | 一种设备发现的方法及装置 |
CN107360069A (zh) * | 2017-07-28 | 2017-11-17 | 杭州聪普智能科技有限公司 | 一种智能家居控制系统的网络设备识别方法 |
CN108900603A (zh) * | 2018-06-27 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种服务器发现方法、装置和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600800A (zh) * | 2020-04-01 | 2020-08-28 | 武汉迈威通信股份有限公司 | 一种跨网段拓扑发现的方法及设备 |
CN112689025A (zh) * | 2020-12-04 | 2021-04-20 | 深圳市信义科技有限公司 | 网络终端设备ip自适应方法、装置、设备及介质 |
CN112689025B (zh) * | 2020-12-04 | 2023-04-18 | 深圳市广电信义科技有限公司 | 网络终端设备ip自适应方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103069755B (zh) | 使用多个客户端实例的即时消息传送的方法和系统 | |
CN110049098B (zh) | 手机应用分布式运行快捷启动系统及方法 | |
CN110753129A (zh) | 消息传输方法、系统、装置、设备及计算机可读存储介质 | |
CN103051617A (zh) | 识别程序的网络行为的方法、装置及系统 | |
CN111510476B (zh) | 通信方法、装置、计算机设备和计算机可读存储介质 | |
CN112448873B (zh) | 设备的绑定方法、装置及计算机可读存储介质 | |
CN106679095B (zh) | 一种互联接入的方法、装置及智能空调系统 | |
CN107786669B (zh) | 一种负载均衡处理的方法、服务器、装置及存储介质 | |
CN111756817A (zh) | 设备发现方法、装置及计算机可读存储介质 | |
CN102811298A (zh) | 信息处理设备及其控制方法和服务器设备及其控制方法 | |
CN112328413B (zh) | 应用服务的调用方法、装置及系统 | |
CN111510353A (zh) | 在线设备的检测方法、装置、设备及计算机可读存储介质 | |
US8718058B2 (en) | Device search apparatus and method, and device search server, device search system, and storage medium | |
CN109729582B (zh) | 信息交互方法、装置及计算机可读存储介质 | |
US8456671B2 (en) | Communication system, information storage device, management device, and terminal device | |
CN110868479A (zh) | 一种设备寻址方法、装置和系统 | |
CN110505075B (zh) | 设备管理方法及相关设备 | |
CN112333054B (zh) | 设备通信方法、装置、设备及计算机可读存储介质 | |
CN111935206B (zh) | 报文处理方法、装置及网络设备 | |
CN105517142B (zh) | 一种wlan的定位方法、终端和wlan接入服务器 | |
CN116521384A (zh) | 跨进程通信方法、装置、设备及存储介质 | |
CN113891441A (zh) | 网络连接方法、装置和电子设备 | |
CN111490910A (zh) | 设备信息的扫描方法、终端设备及计算机可读存储介质 | |
JP2005092265A (ja) | データ配信システム、サーバ装置、受信端末及びそれらに用いるデータ配信方法並びにそのプログラム | |
CN102761625A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201009 |