CN110011820B - 一种系统间的连接方法、设备及计算机存储介质 - Google Patents
一种系统间的连接方法、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110011820B CN110011820B CN201810009071.6A CN201810009071A CN110011820B CN 110011820 B CN110011820 B CN 110011820B CN 201810009071 A CN201810009071 A CN 201810009071A CN 110011820 B CN110011820 B CN 110011820B
- Authority
- CN
- China
- Prior art keywords
- type
- system information
- equipment
- adjacent
- connection
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- 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/141—Setup of application sessions
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种系统间的连接方法,包括:通过链路层发现协议LLDP接收第一设备发送的第一报文;其中,第一报文包括第一设备的地址;基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型;若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接。本发明实施例同时还公开了一种设备以及计算机存储介质。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种系统间的连接方法、设备及计算机存储介质。
背景技术
目前,大型管理系统通常由多个子系统构成,在运行时需要多个子系统协同进行工作;由于功耗和性能的影响,这些子系统需要部署到不同的服务器上进行工作。在安装和维护时,需要手动配置相关软件系统的网络环境信息和运行参数信息,以实现多个系统之间的连接。但是,这种手动配置方式不仅费时费力,而且容易出错。
为了解决上述问题,现有技术中有了一种对网络中的系统进行自动发现和连接的方案。但是,现有自动发现和连接的方案会造成严重的网络广播风暴,导致系统间的业务传输不能正常进行,甚至会导致网络瘫痪;而且,容易被防火墙拦截,使得自动发现过程容易中断,导致自动连接的有效性较低。
发明内容
为解决上述技术问题,本发明实施例期望提供一种系统间的连接方法、设备及计算机存储介质,解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
为实现上述目的,本发明的技术方案是这样实现的:
第一方面,提供一种系统间的连接方法,所述方法包括:
通过链路层发现协议(Link Layer Discovery Protocol,LLDP)接收第一设备发送的第一报文;其中,所述第一报文包括第一设备的地址;
基于所述第一设备的地址,从所述第一设备中获取第二设备的系统信息和设备类型;
若所述第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与所述第二设备的系统之间的通信连接。
可选的,所述基于所述第一设备的地址,从所述第一设备中获取第二设备的系统信息和设备类型,包括:
基于所述第一设备的地址,通过简单网络管理协议(Simple Network ManagementProtocol,SNMP)读取所述第一设备的管理信息库(Management Information Base,MIB)中的信息,得到与所述第一设备相邻的第一邻接设备的系统信息和设备类型;
若所述第一邻接设备的设备类型为非交换设备类型,从所述第一邻接设备的系统信息中获取第一非交换设备的系统信息;
确定所述第一非交换设备的系统信息为所述第二设备的系统信息。
可选的,所述基于所述第一设备的地址,通过简单网络管理协议SNMP读取所述第一设备的管理信息库MIB中的信息,得到与所述第一设备相邻的第一邻接设备的系统信息和设备类型之后,所述方法还包括:
若所述第一邻接设备的设备类型为交换设备类型,在所述第一邻接设备中获取与所述第一邻接设备相邻的第二邻接设备的系统信息和设备类型;其中,第二邻接设备的系统信息和设备类型是所述第二邻接设备发送至所述第一邻接设备的;
若所述第二邻接设备的设备类型为非交换设备类型,从所述第二邻接设备的系统信息中获取第二非交换设备的系统信息;
确定所述第二非交换设备的系统信息为所述第二设备的系统信息;
若所述第二邻接设备的设备类型为交换设备类型,获取与所述第二邻接设备相邻的第三邻接设备的系统信息和设备类型,直到将需要与所述第三设备的系统连接的设备的系统信息和设备类型均获取完成。
可选的,所述系统信息包括系统的连接状态,所述方法还包括:
判断所述第二设备的设备类型是否为非交换设备类型;
若所述第二设备的设备类型为非交换设备类型,判断所述第二设备的系统的连接状态是否为可连接状态;
若所述系统的连接状态为可连接状态,确定所述第二设备的设备类型和系统信息满足预设条件。
可选的,所述系统信息包括系统的连接状态和系统类型,所述方法还包括:
判断所述第二设备的设备类型是否为非交换设备类型;
若所述第二设备的设备类型为非交换设备类型,判断所述第二设备的系统类型是否为可以识别的系统类型;
若所述系统类型为可以识别的系统类型,判断所述系统的连接状态是否为可连接状态;
若所述系统的连接状态为可连接状态,确定所述第二设备的设备类型和系统信息满足所述预设条件。
可选的,所述建立所述第三设备的系统与所述第二设备的系统之间的通信连接,包括:
读取所述第二设备的系统信息,得到所述第二设备的地址和连接端口;
基于所述第二设备的地址和连接端口,建立所述第三设备的系统与所述第二设备的系统之间的通信连接。
可选的,所述若所述第二设备的设备类型和系统信息满足预设条件,建立所述第三设备的系统与所述第二设备的系统之间的通信连接之后,还包括:
基于所述第三设备的系统当前的系统信息,更新所述第三设备的系统信息中的连接端口和系统的连接状态;
通过所述LLDP,发送更新后的第三设备的系统信息至所述第一设备。
第二方面,提供一种系统间的连接方法,所述方法包括:
将第一邻接设备的系统信息和设备类型转换为类型-长度-值(type-length-value,TLV)格式的数据,根据所述TLV格式的数据得到第二报文;
通过LLDP发送所述第二报文至第一设备;其中,所述第二报文用于使第三设备在所述第一设备中获取第二设备的系统信息和设备类型,进而基于所述第二设备的系统信息和设备类型建立所述第三设备的系统与第二设备的系统的通信连接。
可选的,所述将第一邻接设备的系统信息转换为类型-长度-值TLV格式的数据,根据所述TLV格式的数据得到第二报文,包括:
将所述第一邻接设备的系统信息转换为层叠的类型-长度-值(Stacking-TLV,S-TLV)格式的数据;
将所述S-TLV格式的数据转换为TLV格式的数据,并根据所述TLV格式的数据得到所述第二报文。
可选的,所述S-TLV格式包括:基本TLV格式中的S-TLV格式和组织定义TLV格式中的S-TLV格式;其中,
所述基本TLV格式中的S-TLV格式包括:类型type、长度length和值value;
所述组织定义TLV格式中的S-TLV格式定义为:类型type、长度length和值value。
第三方面,提供一种第三设备,所述第三设备至少包括:第一处理器和配置为存储可执行指令的第一存储介质,其中:
所述第一处理器配置为执行存储的可执行指令,所述可执行指令用于执行权利要求第一方面所述的系统间的连接方法的步骤。
第四方面,提供一种第一邻接设备,其特征在于,所述第一邻接设备至少包括:第二处理器和配置为存储可执行指令的第二存储介质,其中:
所述第二处理器配置为执行存储的可执行指令,所述可执行指令用于执行权利要求第二方面所述的系统间的连接方法的步骤。
第五方面,提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求第一方面或第二方面所述的一种系统间的连接方法的步骤。
本发明的实施例所提供的系统间的连接方法、设备及计算机存储介质,通过LLDP接收第一设备发送的第一报文,其中,第一报文中包括第二设备的地址,然后基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型,若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接,这样,第三设备可以通过LLDP接收邻居设备发送的该邻居设备的地址,从而第三设备可以根据该邻居设备的地址在邻居设备中获取待连接的设备的系统信息和设备类型,之后根据系统信息和设备类型建立自己的系统与待连接的设备的系统之间的连接,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
附图说明
图1为本发明的实施例提供的一种系统间的连接方法的流程示意图;
图2为本发明的实施例提供的另一种系统间的连接方法一种系统间的连接方法的流程示意图;
图3为本发明的实施例提供的又一种系统间的连接方法的流程示意图;
图4为本发明的实施例提供的再一种系统间的连接方法的流程示意图;
图5为本发明的另一实施例提供的一种系统间的连接方法的流程示意图;
图6为本发明的实施例提供的一种基本TLV格式中的S-TLV格式结构示意图;
图7为本发明的实施例提供的一种S-TLV的类型域的示意图;
图8为本发明的实施例提供的一种S-TLV的分组结束标识结构示意图;
图9为本发明的实施例提供的一种组织定义TLV格式中的S-TLV格式结构示意图;
图10为本发明的实施例提供的一种EthernetⅡ报文结构示意图;
图11为本发明的实施例提供的一种SNAP报文结构示意图;
图12为本发明的实施例提供的一种系统结构示意图;
图13为本发明的实施例提供的一种注册模块运行流程示意图;
图14为本发明的实施例提供的一种发现模块运行流程示意图;
图15为本发明的实施例提供的一种连接模块运行流程示意图;
图16为本发明的实施例提供的一种应用场景的架构示意图;
图17为本发明的实施例提供的一种第三设备的结构示意图;
图18为本发明的实施例提供的一种第一邻接设备的结构示意图。
具体实施方式
目前,构成大型管理系统的多个子系统通常分布在不同的服务器上,进行工作时需要这些子系统协同工作,这就需要系统之间进行连接来实现业务传输的功能。
为了实现系统间高效快速的连接,现有技术中通常使用用户数据报协议(UserDatagram Protocol,UDP)或传输控制协议(Transmission Control Protocol,TCP),对网络内不同设备上运行的软件系统进行自动发现和连接。但是,UDP和TCP在自动发现和连接过程中通常采用广播或搜索的方式,在网络规模比较大或需要连接的软件系统较多的情况下,广播数据报文充斥整个网络,会造成严重的网络广播风暴,导致系统间的业务传输不能正常进行,甚至会导致网络瘫痪;而且,UDP和TCP协议的搜索报文容易被防火墙拦截,使得自动发现过程中断,导致连接的有效性较低。
有鉴于此,本发明实施例中提供了一种系统间的连接方法以解决上述问题。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种系统间的连接方法,参照图1所示,该方法包括以下步骤:
步骤101:通过LLDP接收第一设备发送的第一报文。
其中,第一报文包括第一设备的地址。
在本发明的其他实施例中,步骤101通过LLDP接收第一设备发送的第一报文可以由第三设备来实现;第三设备可以是能够部署各种软件系统的硬件设备,该第三设备包括但不限于:工业控制计算机、个人计算机等各种类型计算机、一体式电脑、智能手机等;第一设备可以是提供独享信号通路的交换设备,例如可以是交换机、路由器等设备。第一报文可以是第一设备将自身的系统信息编写为相应的数据格式,并封装于链路层发现协议数据单元(Link Layer Discovery Protocol Data Unit,LLDPDU)中获得的;第一报文的LLDPDU中的数据格式可以包括TLV数据格式等;第一设备的系统信息可以包括:第一设备的地址、第一设备的设备标识、第一设备系统信息等。第三设备接收到第一报文后,可以将第一报文保存至第三设备中。
步骤102、基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型。
其中,步骤102基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型可以由第三设备来实现;第二设备可以是部署软件系统的硬件设备或为与其相邻的设备提供独享信号通路的交换设备;第二设备与第三设备不同,即第二设备和第三设备不是同一个设备,而且第一设备与第二设备也不相同,即第一设备与第二设备也不是同一个设备;第三设备通过访问第三设备自身保存的信息,可以读取到第一设备发送的第一报文;第三设备通过解析第一报文得到第一设备的地址;第二设备的系统信息可以包括第二设备的地址、系统类型、系统名称、可供其他系统连接的协议、连接端口、系统的连接状态等;第二设备的设备类型可以包括交换设备类型与非交换设备类型。
步骤103、若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接。
其中,步骤103若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接可以由第三设备来实现;预设条件可以是与第二设备的系统建立连接时需要满足的条件;第三设备的系统与第二设备的系统之间的通信连接可以是基于第二设备的系统信息建立的。
本发明的实施例所提供的系统间的连接方法,通过LLDP接收第一设备发送的第一报文,其中,第一报文中包括第一设备的地址,然后基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型,若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接,这样,第三设备可以通过LLDP接收邻居设备发送的该邻居设备的地址,从而第三设备可以根据该邻居设备的地址在邻居设备中获取待连接的设备的系统信息和设备类型,之后根据系统信息和设备类型建立自己的系统与待连接的设备的系统之间的连接,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
基于前述实施例,本发明的实施例提供一种系统间的连接方法,参照图2所示,该方法包括以下步骤:
步骤201、将第一邻接设备的系统信息和设备类型转换为TLV格式的数据,根据所述TLV格式的数据得到第二报文。
其中,步骤201将第一邻接设备的系统信息转换为TLV格式的数据,根据所述TLV格式的数据得到第二报文可以由第一邻接设备来实现;第一邻接设备可以是部署软件系统的硬件设备或为与其相邻的设备提供独享信号通路的交换设备;例如,第一邻接设备可以包括:工业控制计算机、个人计算机等各种类型计算机、一体式电脑、智能手机、交换机、路由器等设备。
第一邻接设备与第一设备不同,即第一邻接设备与第一设备不是同一个设备;第一邻接设备的系统信息可以包括第一邻接设备的地址、系统类型、系统名称、可供其他系统连接的协议、连接端口、系统的连接状态等。
步骤202、通过LLDP发送第二报文至第一设备。
其中,第二报文用于使第三设备在第一设备中获取第二设备的系统信息,进而基于第二设备的系统信息建立第三设备的系统与第二设备的系统的通信连接。
在本发明其他实施例中,步骤202通过LLDP发送第二报文至第一设备可以由第一邻接设备来实现;第一邻接设备与第一设备相邻,第一邻接设备能够在开启LLDP的情况下,利用LLDP将第二报文发送至第一设备;第一设备在接收到第二报文后,将第二报文保存至第一设备中。
需要说明的是,与第一设备相邻的设备可以有多个,那么第一邻接设备可以是与第一设备相邻的多个设备中的一个;每个与第一设备相邻的邻接设备都可以将自身的系统信息封装到相应的报文中;与第一设备相邻的所有邻接设备都可以通过LLDP将相应的报文发送至第一设备;第一设备在接收到报文之后,将其保存至第一设备中,用于使第三设备通过SNMP读取到第一设备所有邻接设备的信息,从而确定第二设备的系统信息。
本发明的实施例所提供的系统间的连接方法,将第一邻接设备的系统信息转换为TLV格式的数据,并根据TLV格式的数据得到第二报文,然后通过LLDP发送第二报文至第一设备,这样,第一设备接收到第二报文后,第三设备可以在第一设备的第二报文中获取第二设备的系统信息,并基于第二设备的系统信息建立第三设备的系统与第二设备的系统的通信连接,而且,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
基于前述实施例,本发明的实施例提供一种系统间的连接方法,参照图3所示,该方法包括以下步骤:
步骤301、第一邻接设备将第一邻接设备的系统信息和设备类型转换为TLV格式的数据,并根据TLV格式的数据得到第二报文。
其中,TLV格式的数据包括type、length和value三种属性,type属性表示数据类型,length属性表示数据长度,value属性表示数据的内容;其中,数据长度以字节为单位。示例性的,系统信息和设备类型转换为TLV格式后,其对应的TLV格式的数据可以如表1所示:
TLV含义 | type | length | value |
设备类型 | 100 | 1 | 1 |
系统类型 | 101 | 12 | mastersystem |
系统名称 | 102 | 7 | System1 |
连接协议 | 103 | 3 | TCP |
设备地址 | 104 | 4 | 192.168.100.12 |
连接端口 | 105 | 2 | 20220 |
连接状态 | 106 | 1 | 0 |
结束标志 | 0 | 0 |
表1
其中,表1中的每一行可以代表一类数据信息,可以包括设备类型、系统类型、系统名称等;以表1中的设备类型数据为例,其中,TLV格式的数据中的type属性对应的值为100时,表示这一条TLV数据为设备类型对应的数据;TLV格式的数据中的length属性对应的值为1表示TLV格式的数据中的value属性中存储的报文的长度为1字节;TLV格式的数据中的value对应的值为1,表示设备类型为1代表的类型。也就是说,获取设备类型时可以在第二报文中找type值为100时,与其对应的value的值,即可以知道设备的设备类型。需要说明的是,其他数据与上述类似,这里不再赘述。
步骤302、第一邻接设备通过LLDP发送第二报文至第一设备。
其中,第二报文用于使第三设备在第一设备中获取第二设备的系统信息,进而基于第二设备的系统信息建立第三设备的系统与第二设备的系统的通信连接。
步骤303、第一设备接收第一邻接设备发送的第二报文,并保存。
其中,第一设备可以将第二报文保存到本地的MIB中。
步骤304、第一设备将包括有自身地址信息的系统信息封装到第一报文中,并发送至第三设备。
其中,第一设备可以通过LLDP将第一报文发送至第三设备。
需要说明的是,步骤304可以与步骤301或步骤302同时进行。
步骤305、第三设备通过LLDP接收第一设备发送的第一报文。
其中,第一设备与第三设备相邻,第一报文包括第一设备的地址。
需要说明的是,步骤305可以与步骤303同时进行。
步骤306、第三设备基于第一设备的地址,通过SNMP读取第一设备的MIB中的信息,得到与第一设备相邻的第一邻接设备的系统信息和设备类型。
其中,第三设备能够根据第一设备的地址,通过SNMP读取第一设备的MIB,获得第三设备的第二报文,之后第三设备解析第二报文,得到第一邻接设备的系统信息和设备类型。
步骤307、第三设备判断第一邻接设备的设备类型是否为非交换设备类型。
具体地,第三设备在判断第一邻接设备的设备类型是否为非交换设备类型的过程,可以根据第三设备读取到第一设备MIB中的第二报文来实现;判断过程可以为:第三设备读取第二报文中设备类型的TLV数据,判断该设备类型的TLV数据value属性值所表示的设备类型是什么。示例性地,若上述TLV数据中的value属性中保存的值为1则得到第一邻接设备的设备类型为非交换设备类型,若上述TLV数据中的value属性中保存的值为0则得到第一邻接设备的设备类型为交换设备类型。
步骤308、若第一邻接设备的设备类型为非交换设备类型,第三设备从第一邻接设备的系统信息中获取第一非交换设备的系统信息。
其中,第一邻接设备为非交换设备类型的设备,可以认为第一邻接设备是需要进行连接的设备。
步骤309、第三设备确定第一非交换设备的系统信息为第二设备的系统信息。
其中,第三设备可以从第一非交换设备的系统信息中,逐一确定每个第一非交换设备的系统信息为第二设备的系统信息;第二设备为第二邻接设备中设备类型为非交换设备类型的任一设备。
需要说明的是,第一非交换设备可以有多个,第三设备需要对所有的第一非交换设备逐一进行遍历,分别确定每个第一非交换设备的系统信息为第二设备的系统信息。
基于前述实施例,在本发明的其它实施例中,如图4所示,步骤307之后也可以执行以下步骤;
步骤310、若第一邻接设备的设备类型为交换设备类型,第三设备在第一邻接设备中获取与第一邻接设备相邻的第二邻接设备的系统信息和设备类型。
其中,第一邻接设备与第二邻接设备相邻,第二邻接设备可以将自身的系统信息和设备类型封装为相应的报文,通过LLDP发送上述报文至第一邻接设备,第一邻接设备在接收到报文之后,将上述报文保存至第一邻接设备的MIB中。
第三设备通过SNMP读取第一邻接设备的MIB中的信息,获得第二邻接设备对应的报文,通过解析上述报文,得到第二邻接设备的系统信息和设备类型。
步骤311、第三设备判断第二邻接设备的设备类型是否为非交换设备类型。
需要说明的是,步骤311之后可以选择执行步骤312~313,或者步骤315;
步骤312、若第二邻接设备的设备类型为非交换设备类型,第三设备从第二邻接设备的系统信息中获取第二非交换设备的系统信息。
其中,第二非交换设备与第一非交换设备不同,即第二非交换设备与第一非交换设备不是同一设备。
步骤313、第三设备确定第二非交换设备的系统信息为第二设备的系统信息。
其中,第三设备从第二非交换设备的系统信息中,逐一确定每一个第二非交换设备的系统信息为第二设备的系统信息;第二设备为第二邻接设备中设备类型为非交换设备类型的任一设备。
在本发明的其它实施例中,第二非交换设备也可以有多个,第三设备需要将上述所有的第二非交换设备逐一进行遍历,确定每一个第二非交换设备的系统信息为第二设备的系统信息。
需要说明的是,在执行完步骤309和步骤313之后都可以执行步骤314。
步骤314、若第二设备的系统信息满足预设条件,第三设备建立第三设备的系统与第二设备的系统之间的通信连接。
在一种可行的实现方式中,第三设备可以逐一判断第二设备的系统信息是否满足预设条件,并逐一与第二设备建立通信连接。
步骤315、若第二邻接设备的设备类型为交换设备类型,第三设备获取与第二邻接设备相邻的第三邻接设备的系统信息和设备类型,直到将需要与第三设备的系统连接的设备的系统信息和设备类型均遍历完成。
其中,开启LLDP的设备都可以将自身的系统信息和设备类型发送至与其相邻的邻接设备,邻接设备将接收到的信息保存至本地的MIB中,以便其他设备进行访问。也就是说,第三邻接设备可以将自身的系统信息和设备类型发送至第二邻接设备;这样,第二邻接中保存有第三邻接设备的系统信息和设备类型。第三设备读取第二邻接设备的MIB信息,便可获得第三邻接设备的系统信息和设备类型。
在本发明的其它实施例中,第三设备在获取到第三邻接设备的系统信息和设备类型之后,判断第三邻接设备的系统类型是否为非交换设备类型;若第三邻接设备为非交换设备类型,第三设备从第三邻接设备的系统信息中获取第三非交换设备的系统信息;第三设备从第三非交换设备的系统信息中,确定一个第三非交换设备的系统信息为第二设备的系统信息,并在满足预设条件时建立自己的系统与第二设备的系统的通信连接;之后,可以从第三非交换设备中选取另一个第三非交换设备,并确定其的系统系统信息为第二设备的系统信息,并在满足预设条件时建立自己的系统与第二设备的系统的通信连接;第三设备继续执行上述操作,一直到第三非交换设备中的每一第三非交换设备的系统均与第三设备的系统建立通信连接。
若第三邻接设备为交换设备类型,第三设备获取与第三邻接设备相邻的第四邻接设备的系统信息和设备类型,并判断第四邻接设备的设备类型;若第四邻接设备为非交换设备类型,可以针对第四邻接设备执行步骤308~309的过程,若第四邻接设备为交换设备类型,可以针对第四邻接设备执行步骤311的过程,直到将需要与第三设备的系统连接的设备均遍历完成。
需要说明的是,在实际应用中,在对第一设备的第一邻接设备或者其他设备进行遍历的过程可以是:按照设备类型把第一邻接设备进行分类,将非交换设备类型的设备存入一个栈中,将交换设备类型的设备存入另一个栈中;第三设备首先遍历非交换设备类型栈中的设备,再遍历交换设备类型栈中的设备。
需要说明的是,本实施例中与其他实施例中相同或相关步骤的解释可以参照其他实施例中的描述,此处不再赘述。
本发明的实施例所提供的系统间的连接方法,通过LLDP接收第一设备发送的第一报文,其中,第一报文中包括第一设备的地址,然后基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型,若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接,这样,第三设备可以通过LLDP接收邻居设备发送的该邻居设备的地址,从而第三设备可以根据该邻居设备的地址在邻居设备中获取待连接的设备的系统信息和设备类型,之后根据系统信息和设备类型建立自己的系统与待连接的设备的系统之间的连接,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
基于前述实施例,本发明的实施例提供一种系统间的连接方法,参照图5所示,该方法包括以下步骤:
步骤401、第一邻接设备将第一邻接设备系统信息和设备类型转换为S-TLV格式的数据。
其中,S-TLV格式的数据包括基本TLV格式中的S-TLV格式和组织定义TLV格式中的S-TLV格式。
参见图6所示,基本的TLV格式的数据可以包括TLV数据头和TLV数据内容;其中,数据头可以包括TLV type值和TLV length值;TLV数据内容包括TLV value值,该数据内容可以由多个S-TLV格式的数据构成。其中,TLV type值占7bits(比特),TLV length值占9bits,而TLV value值占0~511octets(字节)。
基本TLV格式中的S-TLV格式包括:type、length和value三种属性。其中,S-TLVtype值占7bits,取值范围0~127;S-TLV length值占9bits,取值范围0~510;由于标准TLV格式中的length最大值是511,并且S-TLV格式中的type值和length值占用16bits,所以S-TLV length最大值只能是509;S-TLV格式中的value值占0~509octets;S-TLV格式保留type 0作为分组结束标志,长度定义为0。
基本TLV格式中的S-TLV格式的类型域如图7所示,包括S-TLV type、S-TLV的名称和S-TLV的要求;其中type值为1~127代表的含义可以根据用户需求进行自定义,且为可选项。type值为0表示为分组结束标识,分组结束标识具体定义参见图8所示,S-TLV type值为0时,长度为0。
参见图9所示,组织定义TLV格式的数据中可以包括TLV数据头和TLV数据内容;其中,数据头可以包括TLV type值和TLV length值;TLV数据内容包括组织机构ID值、组织自定义类型值和组织定义信息值;组织定义信息值可以由多个S-TLV格式的数据构成。其中,TLV type属性的数据占7bits,length值占9bits,组织机构ID值占3octets,组织自定义类型值占1octets,组织定义信息值占0~507octets。
组织定义TLV格式中的S-TLV格式包括:type、length和value三种属性;S-TLVtype值占7bits,取值范围0~127;S-TLV length值占9bits,取值范围0~506;由于组织定义TLV length最大值是507,并且S-TLV type值和length值占用16bits,所以S-TLV length最大值只能是505;S-TLV value值占0~505octets;其中,S-TLV保留type 0作为分组结束标志,长度定义为0。
组织定义TLV报文中的S-TLV格式的类型域如图7所示,包括S-TLV type、S-TLV的名称和S-TLV的要求;其中type值为1~127代表的含义可以根据用户需求进行自定义,且为可选项。type值为0表示为分组结束标识,分组结束标识具体定义参见图8所示,S-TLV type值为0时,长度为0。
步骤402、第一邻接设备将S-TLV格式的数据转换为TLV格式的数据,并根据TLV格式的数据得到第二报文。
第二报文可以是以太网Ⅱ(Ethernet Ⅱ)报文或子网络访问协议(SubNetworkAccess Protocol,SNAP)报文;
若第二报文为EthernetⅡ报文,第二报文的报文结构可以如图10所示。其中,第二报文的报文结构中可以包括目的地址、源地址、LLDP帧类型、LLDPDU和帧检验序列;目的地址占6octets,源地址占6octets、LLDP帧类型占2octets、LLDPDU占1500octets、帧检验序列占4octets;其中,LLDPDU由多个TLV格式的数据组成,而TLV格式的数据由S-TLV格式的数据构成。
若第二报文为SNAP报文,第二报文的报文结构可以如图11所示。其中,第二报文的报文结构中可以包括目的地址、源地址、SNAP编码的LLDP帧类型、LLDPDU和帧检验序列;目的地址占6octets,源地址占6octets、SNAP编码的LLDP帧类型占8octets、LLDPDU所占字节数可以根据用户需要进行定义、帧检验序列占4octets;其中,LLDPDU由多个TLV格式的数据组成,而TLV格式的数据由S-TLV格式的数据构成。
步骤403、第一邻接设备通过LLDP发送第二报文至第一设备。
步骤404、第一设备接收第一邻接设备发送的第二报文,并保存。
其中,第一设备可以将第二报文保存到第一设备的MIB中。
步骤405、第一设备将包括有自身地址信息的系统信息封装到第一报文中,并发送至第三设备。
需要说明的是,步骤405可以与步骤403同时进行。
步骤406、第三设备通过LLDP接收第一设备发送的第一报文。
其中,第一设备与第三设备相邻,第一报文包括第一设备的地址。
步骤407、第三设备基于第一设备的地址,通过SNMP读取第一设备的管理信息库MIB中的信息,得到与第一设备相邻的第一邻接设备的系统信息和设备类型。
步骤408、第三设备判断第一邻接设备的设备类型是否为非交换设备类型。
步骤409、若第一邻接设备的设备类型为非交换设备类型,第三设备从第一邻接设备的系统信息中获取第一非交换设备的系统信息。
步骤410、第三设备确定第一非交换设备的系统信息为第二设备的系统信息。
需要说明的是,步骤410之后执行步骤415~418。
基于前述实施例,在本发明的其他实施例中,步骤408之后,也可以执行以下步骤;
步骤411、若第一邻接设备的设备类型为交换设备类型,第三设备在第一邻接设备中获取与第一邻接设备相邻的第二邻接设备的系统信息和设备类型。
步骤412、第三设备判断第二邻接设备的设备类型是否为非交换设备类型。
需要说明的是,步骤412之后可以选择执行步骤413~418,或者步骤419;
步骤413、若第二邻接设备的设备类型为非交换设备类型,第三设备从第二邻接设备的系统信息中获取第二非交换设备的系统信息。
步骤414、第三设备确定第二非交换设备的系统信息为第二设备的系统信息。
步骤415、第三设备判断第二设备的系统信息中系统的连接状态是否为可连接状态。
在一种可行的实现方式中,步骤415判断系统的连接状态是否为可连接状态,可以通过以下步骤来实现:
步骤415a、第三设备判断第二设备的系统信息中的系统类型是否为可以识别的系统类型。
其中,判断第二设备的系统类型是否为可以识别的系统类型可以通过以下方式实现:第三设备读取第二设备的系统信息中系统类型的TLV格式的数据,读取该系统类型的TLV数据value属性值所表示的系统类型,判断第三设备是否与该系统类型建立过连接;若第三设备已经与该类型的系统建立过连接,则第三设备判断第二设备的系统类型为不可识别的系统类型。
步骤415b、若系统类型为可以识别的系统类型,第三设备判断第二设备的系统的连接状态是否为可连接状态。
示例性地,第三设备判断第二设备的系统的连接状态是否为可连接状态可以通过以下方式实现:第三设备读取第二设备的系统信息中连接状态的TLV格式的数据,读取该连接状态的TLV数据value属性值所表示的连接状态是什么。上述TLV数据中的value属性中保存的值为0则得到第二设备为可连接状态,若上述TLV数据中的value属性中保存的值为1则得到第二设备为不可连接状态。
步骤416、若系统的连接状态为可连接状态,第三设备确定第二设备的系统信息满足预设条件。
步骤417、第三设备读取第二设备的系统信息,得到第二设备的地址和连接端口。
步骤418、第三设备基于第二设备的地址和连接端口,建立第三设备的系统与第二设备的系统之间的通信连接。
其中,第三设备依据第二设备的地址,向第二设备的连接端口发送链路连接请求;第二设备通过该连接端口接收到链路连接请求后,响应上述请求,并向第三设备发送连接应答;若第二设备反馈的连接应答为肯定,链路建立成功;第三设备继续通过上述方式向第二设备发送连接协商请求,确认第二设备是否可以建立业务连接;若第二设备接受业务连接,则完成连接。
步骤419、若第二邻接设备的设备类型为交换设备类型,第三设备获取与第二邻接设备相邻的第三邻接设备的系统信息和设备类型直到将需要与第三设备的系统连接的设备的系统信息与设备类型均获取完成。
步骤420、基于第三设备的系统当前的系统信息,第三设备更新第三设备的系统信息中的连接端口和系统的连接状态。
其中,第三设备获取当前的系统信息,即第三设备当前时刻的系统信息;第三设备将当前时刻系统信息与当前时刻之前时刻的系统信息进行对比;若当前时刻的系统信息中的连接端口和连接状态与当前时刻之前时刻的系统信息中的连接状态和连接端口不同,说明第三设备的系统的连接状态发生了改变,此时可以使用第三设备当前时刻的连接信息更新系统信息中的连接状态。
步骤421、第三设备通过LLDP,发送更新后的第三设备的系统信息至第一设备。
需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参考其它实施例中的描述,此处不再赘述。
本发明的实施例所提供的系统间的连接方法,通过LLDP接收第一设备发送的第一报文,其中,第一报文中包括第一设备的地址,然后基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型,若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接,这样,第三设备可以通过LLDP接收邻居设备发送的该邻居设备的地址,从而第三设备可以根据该邻居设备的地址在邻居设备中获取待连接的设备的系统信息和设备类型,之后根据系统信息和设备类型建立自己的系统与待连接的设备的系统之间的连接,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
本发明实施例中提供的系统间的连接方法,可以应用于图12所示的系统结构中,该系统架构可以包括注册模块、发现模块和连接模块。其中,注册模块用于在本地MIB中注册自身系统的系统信息和设备信息;接收连接模块发送的连接状态变更信息,更新本地MIB中注册的系统信息中的连接状态;发现模块用于访问本地MIB和其他设备的MIB;读取其他设备的系统信息和设备类型,完成对网络拓扑内的各系统的识别,并从中识别出可进行业务连接的系统,将可进行业务连接的系统信息发送至连接模块;连接模块用于接收发现模块发送的其他设备的系统信息,与该设备的系统进行连接,并将当前的连接信息发送给注册模块。
在本发明其它实施例中,如图13所示,注册模块运行流程可以为:检查LLDP状态,判断是否已经开启LLDP,未开启LLDP,则开启LLDP后读取系统信息,并注册该系统信息;同时,监听系统状态变更,根据连接状态变更信息,更新注册的系统信息。
在本发明其它实施例中,如图14所示,发现模块运行流程可以为:从本地MIB中读取到与自身相邻的交换设备的地址后,根据相邻的交换设备的地址读取邻接交换设备的MIB中的所有邻接设备的系统信息和设备类型;判断设备类型是否为非交换设备;若不是非交换设备,读取下一个邻接设备的系统信息和设备类型,继续判断下一个邻接设备的设备类型是否为非交换设备;若为非交换设备判断该下一个邻接设备的系统信息中是包含可识别的系统信息的标识,若不包含可识别的系统信息的标识,读取再下一个邻接设备的系统信息和设备类型;若包含可识别的系统信息的标识,继续判断下一个设备的系统信息中是否包含可连接的标识,若不包含可连接的标识,读取再下一个邻接设备的系统信息和设备类型;若包含可连接的标识发送连接信息到连接模块。
在本发明其它实施例中,如图15所示,连接模块运行流程可以为:接收发现模块发送的需要连接的系统的系统信息,与该系统建立链路连接,若链路连接失败退出连接程序;若链路连接成功,向需要连接的系统发送业务连接协商请求,判断该系统是否允许建立业务连接,若不允许建立业务连接,则退出业务连接程序;若允许建立业务连接,则业务连接成功,并将连接后的状态变更信息发送给注册模块。
基于前述实施例,以本发明的实施例提供的系统间的连接方法应用于如图16中所示的第1系统System1、第2系统System2、第3系统System3、第4系统System4、第5系统System5、第6系统System6、第7系统System7、第8系统System8、第一交换设备SwitchA和第二交换设备SwitchB中;其中,以System1为第三设备,SwitchA为第一设备,System2、System3、System4和SwitchB为第一邻接设备,System5、System6、System7和System8为第二邻接设备为例进行说明,System1、System4、System5、System7为运行在不同设备上的可进行业务连接的应用软件系统,System2、System3、System6、System8为不相关的其他系统。其中System1和System4跨越了SwitchA;System1和System5、System7跨越两个交换设备SwitchA和SwitchB。该方法可以包括以下步骤:
步骤A1,System1注册模块将本地软件系统信息转换为TLV格式的数据封装到LLDPDU,并注册到本地的MIB中。其中,System1将自身的系统信息转换为TLV格式的数据,该TLV格式的数据可以如表2所示:
TLV含义 | type | Length | value |
系统类型 | 101 | 12 | mastersystem |
系统名称 | 102 | 7 | System1 |
连接协议 | 103 | 3 | TCP |
设备地址 | 104 | 4 | 192.168.100.123 |
连接端口 | 105 | 2 | 20220 |
连接状态 | 106 | 1 | 0 |
结束标志 | 0 | 0 |
表2
步骤A2,System1的发现模块在本地的MIB中查找到邻接设备有SwitchA,识别其为交换设备。
步骤A3,System1的发现模块读取SwitchA的MIB,查找SwitchA的邻接设备有System1、System2、System3、System4、SwitchB。
步骤A4:System1的发现模块读取SwitchA的MIB中的System2信息,识别其为非交换设备,并且是未知的系统(不可识别的系统的识别依据是LLDPDU中不包含TLV type为101~106的TLV),将其忽略。
步骤A5:System1的发现模块读取SwitchA的MIB中的System3信息,识别其为非交换设备,并且是未知的系统,将其忽略。
步骤A6:System1的发现模块读取SwitchA的MIB中的System4信息,识别其为非交换设备,但是可识别的系统(可识别系统的识别依据是LLDPDU中包含TLV type为101~106的TLV)。
步骤A7:System1的发现模块进一步分析System4的系统信息,其系统类型和连接状态都为可连接,则System1发现模块将System4系统信息中的连接协议、设备地址、连接端口等信息转发到System1的连接模块。
步骤A8:System1的连接模块根据System4系统信息中的连接协议、设备地址、连接端口与System4建立链路连接,开始业务交互。
步骤A9:System1的注册模块更新System1本地MIB中的系统连接状态(System4注册模块更新System4本地MIB中的系统连接状态)。
步骤A10:System1的发现模块读取SwitchA的MIB中的SwitchB信息,识别其为交换设备。
步骤A11:System1的发现模块读取SwitchB的MIB,查找SwitchB的邻接设备有System5、System6、System7、System8、SwitchA。
步骤A12:System1的发现模块读取SwitchB的MIB中的System5信息,识别其为非交换设备,但是可识别的系统。
步骤A13:System1的发现模块进一步分析System5的系统信息,其系统类型和连接状态都为可连接,则System1的发现模块将System5系统信息中的连接协议、IP、端口等信息转发到System1的连接模块。
步骤A14:System1连接模块根据System5系统信息中的连接协议、设备地址、连接端口与System5建立链路连接,开始业务交互。
步骤A15:System1的注册模块更新System1本地的MIB中系统信息中的连接状态(System5的注册模块更新System5本地MIB中的系统信息中的连接状态)。
步骤A16:System1的发现模块读取SwitchB的MIB中的System6信息,识别其为非交换设备,并且是未知的系统,将其忽略。
步骤A17:System1的发现模块读取SwitchB的MIB中的System7信息,识别其为非交换设备,但是可识别的系统。
步骤A18:System1的发现模块进一步分析System7的系统信息,其系统类型与已连接的System4相同,不可重复连接,将System7忽略。
步骤A19:System1的发现模块读取SwitchB的MIB中的System8信息,识别其为非交换设备,并且是未知的系统,将其忽略。
步骤A20:System1的发现模块判断SwitchA已访问过,将其忽略。
步骤A21:System1完成拓扑内的系统发现和连接。
基于前述实施例,本发明的实施例提供一种系统间的连接方法,在前述实施例的基础上,本实施例将上述实施例中的步骤A1替换为下述步骤B1、步骤A4替换为下述步骤B4、步骤A6替换为下述步骤B6;未替换的其余步骤与上述实施例相同:
步骤B1,System1的注册模块将自身的系统信息编写为S-TLV格式的数据,该S-TLV格式的数据可以如表3所示:
S-TLV含义 | type | length | value |
系统类型 | 101 | 12 | mastersystem |
系统名称 | 102 | 7 | System4 |
连接协议 | 103 | 3 | TCP |
设备地址 | 104 | 4 | 192.168.100.12 |
连接端口 | 105 | 2 | 20220 |
连接状态 | 106 | 1 | 0 |
结束标志 | 0 | 0 |
表3
然后将S-TLV格式的数据转换为TLV格式的数据,该TLV格式的数据可以如表4所示:
TLV含义 | type | length | value |
S-TLV数据 | 121 | 43 | S-TLV(s) |
表4
步骤B4,System1的发现模块读取SwitchA的MIB中的System2信息,识别其为非交换设备,并且是未知的系统(不可识别的系统的识别依据是LLDPDU中不包含TLV type为121的TLV),将其忽略。
步骤B6,System1的发现模块读取SwitchA的MIB中的System4信息,识别其为非交换设备,但是可识别的系统(可识别系统的识别依据是LLDPDU中包含TLV type为121的TLV)。
基于前述实施例,本发明的实施例提供一种系统间的连接方法,其中,System7同时存在两个或两个以上应用服务系统,每个应用服务系统需要有不同的端口对外进行业务连接;在前述实施例的基础上,本实施例将上述实施例中的步骤B1替换为下述步骤C1、步骤B18替换为下述步骤C18;未替换的其余步骤与上述实施例相同:
步骤C1,System7的注册模块将自身的系统信息转换为S-TLV格式的数据,该S-TLV格式的数据可以如表5所示:
S-TLV含义 | type | length | value |
设备类型 | 100 | 1 | 1 |
系统类型 | 101 | 9 | datastore |
系统名称 | 102 | 8 | System7A |
连接协议 | 103 | 3 | TCP |
设备地址 | 104 | 4 | 192.168.100.117 |
连接端口 | 105 | 2 | 20220 |
连接状态 | 106 | 1 | 0 |
结束标志 | 0 | 0 | |
设备类型 | 100 | 1 | 1 |
系统类型 | 101 | 9 | sftpproxy |
系统名称 | 102 | 8 | System7B |
连接协议 | 103 | 3 | TCP |
设备地址 | 104 | 4 | 192.168.100.117 |
连接端口 | 105 | 2 | 4222 |
连接状态 | 106 | 1 | 0 |
结束标志 | 0 | 0 |
表5
然后将S-TLV格式的数据转换为TLV格式的数据,该TLV格式的数据可以如表6所示:
TLV含义 | type | length | value |
S-TLV数据 | 121 | 82 | S-TLV(s) |
表6
步骤C18:System1的发现模块进一步分析System7的系统信息,其包含两个应用系统服务。系统类型sftpproxy与已连接的System4相同,不可重复连接;第二个系统类型为datastore的系统可以建立连接。则System1发现模块将System7B的系统信息中的连接协议、IP、端口等信息转发到System1的连接模块,System1连接模块根据System7B系统信息中的连接协议、IP、端口与System7B建立链路连接,开始业务交互。
基于前述实施例,本发明的实施例提供一种第三设备,可以应用于图1、3-5对应的实施例提供的系统间的连接方法中,参见图17所示,该第三设备8至少包括:第一处理器81和配置为存储可执行指令的第一存储介质82,其中:
第一处理器81配置为执行存储的可执行指令,可执行指令用于实现下面的步骤:
通过LLDP接收第一设备发送的第一报文;
其中,第一报文包括第一设备的地址;
基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型;
若第二设备的设备类型和系统信息满足预设连接条件,建立第三设备的系统与第二设备的系统之间的通信连接。
在本发明的其它实施例中,第一处理器在执行基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型时,可以实现以下步骤:
基于第一设备的地址,通过SNMP读取第一设备的管理信息库MIB中的信息,得到与第一设备相邻的第一邻接设备的系统信息和设备类型。
若第一邻接设备的设备类型为非交换设备类型,从第一邻接设备的系统信息中获取第一非交换设备的系统信息;
确定所述第一非交换设备的系统信息为所述第二设备的系统信息。
进一步地,第一处理器在执行基于第一设备的地址,通过简单网络管理协议SNMP读取第一设备的管理信息库MIB中的信息,得到与第一设备相邻的第一邻接设备的系统信息和设备类型之后,还可以实现以下步骤:
若第一邻接设备的设备类型为交换设备类型,在第一邻接设备中获取与第一邻接设备相邻的第二邻接设备的系统信息和设备类型;其中,第二邻接设备的系统信息是第二邻接设备发送至第一邻接设备的;
若第二邻接设备的设备类型为非交换设备类型,从第二邻接设备的系统信息中获取第二非交换设备的系统信息;
确定所述第二非交换设备的系统信息为所述第二设备的系统信息;
若第二邻接设备的设备类型为交换设备类型,获取与第二邻接设备相邻的第三邻接设备的系统信息和设备类型,直到将需要与第三设备的系统连接的设备的系统信息和设备类型均获取完成。
在本发明的其它实施例中,系统信息包括系统的连接状态,第一处理器还可以实现以下步骤:
判断系统的连接状态是否为可连接状态;
若系统的连接状态为可连接状态,确定第二设备的系统信息满足预设条件。
在本发明的其它实施例中,系统信息包括系统的连接状态和系统类型,第一处理器还可以实现以下步骤:
判断系统类型是否为可以识别的系统类型;
若系统类型为可以识别的系统类型,判断系统的连接状态是否为可连接状态;
若系统的连接状态为可连接状态,确定第二设备的系统信息满足预设条件。
在本发明的其它实施例中,第一处理器在执行建立第三设备的系统与第二设备的系统之间的通信连接时,可以实现以下步骤:
读取第二设备的系统信息,得到第二设备的地址和连接端口;
基于第二设备的地址和连接端口,建立第三设备的系统与第二设备的系统之间的通信连接。
在本发明的其它实施例中,第一处理器在执行若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接之后,可以实现以下步骤:
基于第三设备的系统当前的系统信息,更新第三设备的系统信息中的连接端口和系统的连接状态;
通过LLDP,发送更新后的第三设备的系统信息至第一设备。
需要说明的是,本实施例中第一处理器所执行的步骤的具体实现过程,可以参照图1、3-5对应的实施例提供的系统间连接方法中的实现过程,此处不再赘述。
本发明实施例所提供的第三设备,通过LLDP接收第一设备发送的第一报文,其中,第一报文中包括第一设备的地址,然后基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型,若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接,这样,第三设备可以通过LLDP接收邻居设备发送的该邻居设备的地址,从而第三设备可以根据该邻居设备的地址在邻居设备中获取待连接的设备的系统信息和设备类型,之后根据系统信息和设备类型建立自己的系统与待连接的设备的系统之间的连接,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了自动连接的有效性,实现了系统间业务传输的正常运行。
基于前述实施例,本发明的实施例提供一种第一邻接设备,该第一邻接设备可以应用于图2-5对应的实施例提供的系统间的连接方法中,参照图18所示,该第一邻接设备9至少包括:第二处理器91和配置为存储可执行指令的第二存储介质92,其中:
第二处理器91配置为执行存储的可执行指令,可执行指令用于实现下面的步骤:
将第一邻接设备的系统信息和设备类型转换为TLV格式的数据,根据TLV格式的数据得到第二报文;
通过LLDP发送第二报文至第一设备;
其中,第二报文用于使第三设备在第一设备中获取第二设备的系统信息,进而基于第二设备的系统信息建立第三设备的系统与第二设备的系统的通信连接。
具体地,第二处理器在执行将第一邻接设备的系统信息TLV格式的数据,根据TLV格式的数据得到第二报文时,可以实现以下步骤:
将第一邻接设备系统信息转换为S-TLV格式的数据;
将S-TLV格式的数据转换为TLV格式的数据,并根据所述TLV格式的数据,得到第二报文。
需要说明的是,本实施例中第二处理器所执行的步骤的具体实现过程,可以参照图2-5对应的实施例提供的系统间的连接方法中的实现过程,此处不再赘述。
本发明的实施例所提供的第一邻接设备,将第一邻接设备的系统信息转换为TLV格式的数据的报文得到第二报文,然后通过LLDP发送第二报文至第一设备,这样,第一设备接收到第二报文后,第三设备可以在第一设备的第二报文中获取第二设备的系统信息,并基于第二设备的系统信息建立第三设备的系统与第二设备的系统的通信连接,而且,由于LLDP是单向传输信息的,在网络中传输的数据和占用的带宽较小,同时,LLDP协议工作在数据链路层,数据报文不易被防火墙拦截,从而解决了现有技术中会产生网络广播风暴且自动发现过程中断的问题,降低了网络中数据报文的数量,避免产生网络瘫痪的情况;同时,保证了连接的有效性,实现了系统间业务传输的正常运行。
基于前述实施例,本发明的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
通过LLDP接收第一设备发送的第一报文;
其中,第一报文包括第一设备的地址;
基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型;
若第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与第二设备的系统之间的通信连接。
在本发明的其它实施例中,该一个或者多个程序可被一个或者多个处理器执行基于第一设备的地址,从第一设备中获取第二设备的系统信息和设备类型时,可以实现以下步骤:
基于第一设备的地址,通过SNMP读取第一设备的管理信息库MIB中的信息,得到与第一设备相邻的第一邻接设备的系统信息和设备类型;
若第一邻接设备的设备类型为非交换设备类型,从第一邻接设备的系统信息中获取第一非交换设备的系统信息;
确定所述第一非交换设备的系统信息为所述第二设备的系统信息。
进一步地,该一个或者多个程序可被一个或者多个处理器在执行基于第一设备的地址,通过简单网络管理协议SNMP读取第一设备的管理信息库MIB中的信息,得到与第一设备相邻的第一邻接设备的系统信息和设备类型之后,还可以实现以下步骤:
若第一邻接设备的设备类型为交换设备类型,在第一邻接设备中获取与第一邻接设备相邻的第二邻接设备的系统信息和设备类型;其中,第二邻接设备的系统信息是第二邻接设备发送至第一邻接设备的;
若第二邻接设备的设备类型为非交换设备类型,从第二邻接设备的系统信息中获取第二非交换设备的系统信息;
确定所述第二非交换设备的系统信息为所述第二设备的系统信息;
若第二邻接设备的设备类型为交换设备类型,获取与第二邻接设备相邻的第三邻接设备的系统信息和设备类型,直到将需要与第三设备的系统连接的设备的系统信息和设备类型均获取完成。
进一步地,系统信息包括系统的连接状态,该一个或者多个程序可被一个或者多个处理器还可以实现以下步骤:
判断系统的连接状态是否为可连接状态;
若系统的连接状态为可连接状态,确定第二设备的系统信息满足预设条件。
进一步地,系统信息包括系统的连接状态和系统类型,该一个或者多个程序可被一个或者多个处理器还可以实现以下步骤:
判断系统类型是否为可以识别的系统类型;
若系统类型为可以识别的系统类型,判断系统的连接状态是否为可连接状态;
若系统的连接状态为可连接状态,确定第二设备的系统信息满足预设条件。
进一步地,该一个或者多个程序可被一个或者多个处理器在执行建立第三设备的系统与第二设备的系统之间的通信连接时,可以实现以下步骤:
读取第二设备的系统信息,得到第二设备的地址和连接端口;
基于第二设备的地址和连接端口,建立第三设备的系统与第二设备的系统之间的通信连接。
进一步地,该一个或者多个程序可被一个或者多个处理器在执行若第二设备的设备类型和系统信息满足预设连接条件,建立第三设备的系统与第二设备的系统之间的通信连接之后,可以实现以下步骤:
基于第三设备的系统当前的系统信息,更新第三设备的系统信息中的连接端口和系统的连接状态。
通过LLDP,发送更新后的第三设备的系统信息至第一设备。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1、3-5对应的实施例提供的系统间连接方法中的实现过程,此处不再赘述。
基于前述实施例,本发明的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
将第一邻接设备的系统信息和设备类型转换为TLV格式的数据,根据TLV格式的数据得到第二报文;
通过LLDP发送第二报文至第一设备;
其中,第二报文用于使第三设备在第一设备中获取第二设备的系统信息,进而基于第二设备的系统信息建立第三设备的系统与第二设备的系统的通信连接。
进一步地,该一个或者多个程序可被一个或者多个处理器在执行将第一邻接设备的系统信息转换为TLV格式的数据,根据TLV格式的数据得到第二报文时,可以实现以下步骤:
将第一邻接设备系统信息转换为层叠的S-TLV格式的数据;
将S-TLV格式的数据转换为TLV格式的数据,并根据所述TLV格式的数据得到第二报文。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图2-5对应的实施例提供的系统间的连接方法中的实现过程,此处不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种系统间的连接方法,其特征在于,所述方法包括:
通过链路层发现协议LLDP接收第一设备发送的第一报文;其中,所述第一报文包括第一设备的地址;
基于所述第一设备的地址,从所述第一设备中获取第二设备的系统信息和设备类型;
若所述第二设备的设备类型和系统信息满足预设条件,建立第三设备的系统与所述第二设备的系统之间的通信连接;
其中,所述基于所述第一设备的地址,从所述第一设备中获取第二设备的系统信息和设备类型,包括:
基于所述第一设备的地址,通过简单网络管理协议SNMP读取所述第一设备的管理信息库MIB中的信息获得第二报文,并解析所述第二报文得到与所述第一设备相邻的第一邻接设备的系统信息和设备类型;其中,所述第二报文为所述第一邻接设备将自身的系统信息和设备类型转换为层叠的类型-长度-值S-TLV格式的数据;将所述S-TLV格式的数据转换为TLV格式的数据,并根据所述TLV格式的数据得到的;
若所述第一邻接设备的设备类型为非交换设备类型,从所述第一邻接设备的系统信息中获取第一非交换设备的系统信息;
确定所述第一非交换设备的系统信息为所述第二设备的系统信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一设备的地址,通过简单网络管理协议SNMP读取所述第一设备的管理信息库MIB中的信息获得第二报文,并解析所述第二报文得到与所述第一设备相邻的第一邻接设备的系统信息和设备类型之后,所述方法还包括:
若所述第一邻接设备的设备类型为交换设备类型,在所述第一邻接设备中获取与所述第一邻接设备相邻的第二邻接设备的系统信息和设备类型;其中,第二邻接设备的系统信息和设备类型是所述第二邻接设备发送至所述第一邻接设备的;
若所述第二邻接设备的设备类型为非交换设备类型,从所述第二邻接设备的系统信息中获取第二非交换设备的系统信息;
确定所述第二非交换设备的系统信息为所述第二设备的系统信息;
若所述第二邻接设备的设备类型为交换设备类型,获取与所述第二邻接设备相邻的第三邻接设备的系统信息和设备类型,直到将需要与所述第三设备的系统连接的设备的系统信息和设备类型均获取完成。
3.根据权利要求1所述的方法,其特征在于,所述系统信息包括系统的连接状态,所述方法还包括:
判断所述第二设备的设备类型是否为非交换设备类型;
若所述第二设备的设备类型为非交换设备类型,判断所述第二设备的系统的连接状态是否为可连接状态;
若所述系统的连接状态为可连接状态,确定所述第二设备的设备类型和系统信息满足预设条件。
4.根据权利要求1所述的方法,其特征在于,所述系统信息包括系统的连接状态和系统类型,所述方法还包括:
判断所述第二设备的设备类型是否为非交换设备类型;
若所述第二设备的设备类型为非交换设备类型,判断所述第二设备的系统类型是否为可以识别的系统类型;
若所述系统类型为可以识别的系统类型,判断所述系统的连接状态是否为可连接状态;
若所述系统的连接状态为可连接状态,确定所述第二设备的设备类型和系统信息满足所述预设条件。
5.根据权利要求1所述的方法,其特征在于,所述建立所述第三设备的系统与所述第二设备的系统之间的通信连接,包括:
读取所述第二设备的系统信息,得到所述第二设备的地址和连接端口;
基于所述第二设备的地址和连接端口,建立所述第三设备的系统与所述第二设备的系统之间的通信连接。
6.根据权利要求1所述的方法,其特征在于,所述若所述第二设备的设备类型和系统信息满足预设条件,建立所述第三设备的系统与所述第二设备的系统之间的通信连接之后,还包括:
基于所述第三设备的系统当前的系统信息,更新所述第三设备的系统信息中的连接端口和系统的连接状态;
通过所述LLDP,发送更新后的第三设备的系统信息至所述第一设备。
7.一种系统间的连接方法,其特征在于,所述方法包括:
将第一邻接设备的系统信息和设备类型转换为层叠的类型-长度-值S-TLV格式的数据;所述S-TLV格式包括:基本TLV格式中的S-TLV格式和组织定义TLV格式中的S-TLV格式;其中,所述基本TLV格式中的S-TLV格式包括:类型type、长度length和值value;所述组织定义TLV格式中的S-TLV格式定义为:类型type、长度length和值value;
将所述S-TLV格式的数据转换为TLV格式的数据,并根据所述TLV格式的数据得到第二报文;
通过LLDP发送所述第二报文至第一设备;其中,所述第二报文用于使第三设备在所述第一设备中获取第二设备的系统信息和设备类型,进而基于所述第二设备的系统信息和设备类型建立所述第三设备的系统与第二设备的系统的通信连接。
8.一种计算机设备,其特征在于,所述计算机设备至少包括:第一处理器和配置为存储可执行指令的第一存储介质,其中:
所述第一处理器配置为执行存储的可执行指令,所述可执行指令用于执行权利要求1~6任一项所述的系统间的连接方法的步骤。
9.一种第一邻接设备,其特征在于,所述第一邻接设备至少包括:第二处理器和配置为存储可执行指令的第二存储介质,其中:
所述第二处理器配置为执行存储的可执行指令,所述可执行指令用于执行权利要求7所述的系统间的连接方法的步骤。
10.一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1~6或7提供的系统间的连接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810009071.6A CN110011820B (zh) | 2018-01-04 | 2018-01-04 | 一种系统间的连接方法、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810009071.6A CN110011820B (zh) | 2018-01-04 | 2018-01-04 | 一种系统间的连接方法、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110011820A CN110011820A (zh) | 2019-07-12 |
CN110011820B true CN110011820B (zh) | 2022-03-18 |
Family
ID=67164408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810009071.6A Active CN110011820B (zh) | 2018-01-04 | 2018-01-04 | 一种系统间的连接方法、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110011820B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205729A (zh) * | 2013-01-16 | 2014-12-10 | 华为技术有限公司 | 网络中的设备配置方法、设备和系统 |
CN104301141A (zh) * | 2014-10-10 | 2015-01-21 | 华为技术有限公司 | 一种保存配置信息的方法、装置及系统 |
CN104717380A (zh) * | 2015-04-09 | 2015-06-17 | 迈普通信技术股份有限公司 | 交换机、语音设备、ip电话系统及语音设备部署方法 |
-
2018
- 2018-01-04 CN CN201810009071.6A patent/CN110011820B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205729A (zh) * | 2013-01-16 | 2014-12-10 | 华为技术有限公司 | 网络中的设备配置方法、设备和系统 |
CN104301141A (zh) * | 2014-10-10 | 2015-01-21 | 华为技术有限公司 | 一种保存配置信息的方法、装置及系统 |
CN104717380A (zh) * | 2015-04-09 | 2015-06-17 | 迈普通信技术股份有限公司 | 交换机、语音设备、ip电话系统及语音设备部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110011820A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391560B (zh) | 网络拥塞的通告方法、代理节点及计算机设备 | |
US10623237B2 (en) | Method of managing zigbee network in the internet of things | |
EP2947907B1 (en) | Startup configuration method in base station, base station and server | |
WO2018231197A1 (en) | Conveying non-access stratum messages over ethernet | |
WO2020159846A1 (en) | Link auto-negotiation between a radio equipment controller (rec) and radio equipment (re) in an ethernet-based fronthaul network | |
CN112751733B (zh) | 一种链路检测方法、装置、设备、系统及交换机 | |
CN103763121A (zh) | 一种网络配置信息快速下发的方法及装置 | |
US11838846B2 (en) | Configuration method and controller | |
CN105515816B (zh) | 检测层次信息的处理方法及装置 | |
CN107645389B (zh) | 一种网络通信方法和装置 | |
EP4064622A1 (en) | Method and apparatus for updating routing information, computer device, and storage medium | |
US20230091414A1 (en) | Packet Processing Method, Device, and System | |
CN101540772A (zh) | 一种深度报文检测设备及其通信方法 | |
EP3188408A1 (en) | Method and apparatus for determining network topology, and centralized network state information storage device | |
WO2017215383A1 (zh) | 网元配置方法及装置、网元管理方法及装置 | |
CN107786441B (zh) | 一种通信方法、OpenFlow交换机及通信系统 | |
US20230336377A1 (en) | Packet forwarding method and apparatus, and network system | |
CN107528788B (zh) | 实现网络设备之间自动堆叠的方法和装置 | |
CN111277426B (zh) | 一种ioam信息的处理方法和装置 | |
CN115514719B (zh) | 报文发送方法、装置、交换机及可读存储介质 | |
CN110224916B (zh) | 报文的处理方法、装置及报文的封装方法、装置和系统 | |
CN110011820B (zh) | 一种系统间的连接方法、设备及计算机存储介质 | |
CN108574637B (zh) | 一种地址自学习的方法、装置及交换机 | |
CN116057911A (zh) | 使用多协议标签交换的服务功能链中的负载均衡和oam | |
CN105991448B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |