CN109150628A - 一种系统网络拓扑自动生成方法以及装置 - Google Patents

一种系统网络拓扑自动生成方法以及装置 Download PDF

Info

Publication number
CN109150628A
CN109150628A CN201811185945.XA CN201811185945A CN109150628A CN 109150628 A CN109150628 A CN 109150628A CN 201811185945 A CN201811185945 A CN 201811185945A CN 109150628 A CN109150628 A CN 109150628A
Authority
CN
China
Prior art keywords
terminal
terminals
grouping
connection
respective switch
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.)
Granted
Application number
CN201811185945.XA
Other languages
English (en)
Other versions
CN109150628B (zh
Inventor
王雁来
方丙武
陈亮
王传霸
路骏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing HWA Create Co Ltd
Original Assignee
Beijing HWA Create Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing HWA Create Co Ltd filed Critical Beijing HWA Create Co Ltd
Priority to CN201811185945.XA priority Critical patent/CN109150628B/zh
Publication of CN109150628A publication Critical patent/CN109150628A/zh
Application granted granted Critical
Publication of CN109150628B publication Critical patent/CN109150628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种系统网络拓扑自动生成方法及装置,其中该方法包括:获取多个终端中每个终端与其它各个终端之间的连接数;建立交换机之间的串联关系后,根据各个交换机上未被使用的端口数量或终端数量,确定各个交换机上用于连接终端的可用端口数;根据各个交换机上的可用端口数以及每个终端与其它各个终端之间的连接数,将终端分成多个分组;建立各个分组与交换机之间的连接关系;根据每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成系统网络拓扑。本申请实施例能够自动生成复杂网络航电系统的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计效率。

Description

一种系统网络拓扑自动生成方法以及装置
技术领域
本申请涉及网络拓扑设计技术领域,具体而言,涉及一种系统网络拓扑自动生成方法以及装置。
背景技术
网络拓扑(Network Topology)结构是指用传输介质互连各种设备的物理布局,指构成网络的成员间特定的物理的即真实的、或者逻辑的即虚拟的排列方式。如果两个网络的连接结构相同,则它们的网络拓扑相同。
目前,复杂网络航电系统的网络拓扑设计全部依靠人工。设计人员会根据航电系统中各个终端的连接关系进行网络规划,且设计人员的技术水平直接决定了该网络设计的效果。目前设计人员所设计的系统都是相对比较简单的,对于复杂的航电系统的网络拓扑设计,非常困难和低效,而且设计结果直接决定了系统网络的数据传输性能。
发明内容
有鉴于此,本申请实施例的目的在于提供一种系统网络拓扑自动生成方法以及装置,能够全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
第一方面,本申请实施例提供了一种系统网络拓扑自动生成方法,包括:
获取多个终端中,每个所述终端与其它各个终端之间的连接数;
建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或所述终端的数量,确定各个交换机上用于连接所述终端的可用端口数;
根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组;其中,分组的数量与所述系统网络拓扑中交换机的数量相等;并
建立各个分组与所述交换机之间的连接关系;所述交换机与所述分组一一对应;
根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,还包括:
根据各个交换机上实际有的端口数量,交换机的数量以及所述终端的数量,判断是否可以成功生成所述系统网络拓扑;
针对可以成功生成所述系统网络拓扑的情况,执行所述系统网络拓扑自动生成方法。
结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组,包括:
根据每个所述终端与其它各个终端之间的连接数,获取每个所述终端与其它所有终端之间的连接数总和;
根据所述连接数总和从大到小的顺序,以及所述分组的数量,依次从所述终端中选择多个终端作为各个分组中的种子终端;
根据各个交换机上的可用端口数,以及每个所述种子终端与其它非种子终端之间的连接数,将多个所述终端划分成多个分组。
结合第一方面的第二种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述根据各个交换机上的可用端口数,以及每个所述种子终端与其它非种子终端之间的连接数,将多个所述终端划分成多个分组,包括:
针对每个种子终端,根据所述各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从所述其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组;
其中,每个分组包括的终端的数量等于与该分组对应的所述交换机的可用端口数。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述根据所述各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从所述其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组之前,还包括:
检测该种子终端是否被划分到其它分组中;
如果是,则根据所述连接数总和从大到小的顺序,重新从当前未完成分组的非种子终端中,确定一个终端作为当前分组的种子终端。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
针对没有划分到任何所述分组的所述终端,将该终端划分到与该终端之间的连接数最多,且对应的交换机还有剩余端口的分组中。
结合第一方面,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑,包括:
按照每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和从大到小的顺序,依次建立所述连接数总和最大的两个所述分组分别对应的所述交换机的连接关系,直到达到停止连接条件,获得所述系统网络拓扑。
第二方面,本申请实施例提供了一种系统网络拓扑自动生成装置,包括:
连接数获取模块:用于获取多个终端中,每个所述终端与其它各个终端之间的连接数;
可用端口数获取模块:用于建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或所述终端的数量,确定各个交换机上用于连接所述终端的可用端口数;
分组划分模块:用于根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组;其中,分组的数量与所述系统网络拓扑中交换机的数量相等;
其他连接关系建立模块,用于建立各个分组与所述交换机之间的连接关系;所述交换机与所述分组一一对应;
系统网络拓扑生成模块:用于根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑。
第三方面,本申请实施例提供了一种计算机设备,包括:
处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面以及第一方面的第一种可能的实施方式至第一方面的第六种可能的实施方式任一所述的系统网络拓扑自动生成的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面以及第一方面的第一种可能的实施方式至第一方面的第六种可能的实施方式任意一项所述的系统网络拓扑自动生成的方法的步骤。
本申请实施例提供的系统网络拓扑自动生成方法及装置中,首先获取多个终端中,每个所述终端与其它各个终端之间的连接数;建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或所述终端的数量,确定各个交换机上用于连接所述终端的可用端口数;然后根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组;其中,分组的数量与所述系统网络拓扑中交换机的数量相等;并建立各个分组与所述交换机之间的连接关系;所述交换机与所述分组一一对应;根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑,该过程全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种系统网络拓扑自动生成方法的流程图;
图2示出了本申请实施例所提供的系统网络拓扑自动生成方法中,将多个终端划分成多个分组的流程图;
图3示出了本申请实施例所提供的一种具体实施例的示意图;
图4示出了本申请实施例所提供的一种系统网络拓扑自动生成装置的结构示意图;
图5示出了本申请实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,复杂网络航电系统的网络拓扑设计全部依靠人工。设计人员会根据航电系统中各个终端的连接关系进行网络规划,且设计人员的技术水平直接决定了该网络设计的效果。目前设计人员所设计的系统都是相对比较简单的,对于复杂的航电系统的网络拓扑设计,非常困难和低效,而且设计结果直接决定了系统网络的数据传输性能。基于此,本申请提供的一种系统网络拓扑自动生成方法以及装置,能够全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
在一种系统网络拓扑自动生成软件平台上,用户将本系统的交换机的数量(CountSW)、每个交换机实际有的端口数量(PortCountSW),终端数量(CountES)输入到该系统网络拓扑自动生成软件平台中,本申请实施例在执行系统网络拓扑自动生成方法之前,首先需要进行判断是否能成功生成系统网络拓扑,本申请实施例采用下述步骤判断是否能成功生成系统网络拓扑:
根据各个交换机上实际有的端口数量,交换机的数量以及所述终端的数量,判断是否可以成功生成所述系统网络拓扑;
针对可以成功生成所述系统网络拓扑的情况,执行所述系统网络拓扑自动生成方法。
本申请实施例具体采用下述方式判断是否能成功生成系统网络拓扑:
如果CountSW×PortCountSW≤CountES,则无法生成系统网络拓扑;
如果CountSW×PortCountSW>CountES,因为本申请实施例提供的系统网络拓扑自动生成方法首先要建立多个交换机之间的串联关系,然后将所有终端组成的各个分组连接到各个交换机上,最后建立交换机之间的其他连接关系,因此要保证在建立交换机之间的其他连接关系时,交换机上还有可以使用的端口,因此,还需要进行如下判断:
如果CountSW×PortCountSW-2×(CountSW-1)-CountES<0,则无法组建系统网络拓扑;
如果CountSW×PortCountSW-2×(CountSW-1)-CountES≥0,则可以生成系统网络拓扑,执行本申请实施例提供的系统网络拓扑自动生成方法。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种系统网络拓扑自动生成方法进行详细介绍。本申请实施例所公开的系统网络拓扑生成方法可以应用在多种领域,例如适用于基于航空电子全双工通信以太网交换(Avionics Full Duplex SwitchedEthernet,AFDX)总线协议规范的系统网拓扑设计等。
参见图1所示,本申请实施例所提供的系统网络拓扑自动生成方法包括S101~S105:
S101:获取多个终端中,每个终端与其它各个终端之间的连接数。
此处,每个终端与其它各个终端之间的连接数,指的是每个终端与其它各个终端之间的虚拟链路的连接个数;例如终端1和终端2之间有5条虚拟链路,这5条虚拟链路都运行在同一条物理线路上,则终端1和终端2之间的连接数为5。
S102:建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或终端的数量,确定各个交换机上用于连接终端的可用端口数。
此处,本申请实施例首先建立多个交换机之间的串联关系,这样可以确保所有连接到交换机上的终端都可以实现互相通信。
在一种可能的实施方式中,为了保证在后续分组的过程中,所有分组中包括的终端数量尽可能相等或相差不多,使得所有交换机上连接的终端尽可能相等或相差不多,因此,可以将各个交换机上用于连接终端的可用端口数设定为相等的数值,即每个分组包括的终端数量相等。
当将各个交换机上用于连接终端的可用端口数设定为相等的数值时,各个交换机上的可用端口数采用下述方式得到:
如果一个交换机处于所有串联起来的交换机的首尾位置,则该交换机上未被使用的端口的数量为该交换机所有端口数减1;如果一个交换机处于所有串联起来的交换机的非首尾位置,则该交换机上未被使用的端口的数量为该交换机所有端口数减2;
可选地,根据各个交换机上未被使用的端口的数量,以及一个百分比,例如70%,在各个交换机上未被使用的端口的数量乘以这个百分比得到的一系列数值中,选择一个最小或最大的数值作为各个交换机上用于连接终端的可用端口数;或
将终端的数量与交换机的个数的商或商+1作为各个交换机上用于连接终端的可用端口数。
此处,需要注意的是,为了保证终端之间通信的效率,要尽量减少终端信息在交换机中转发的次数,因此交换机之间除了串联关系以外,还要建立交换机之间的其他连接关系,因此可选地,各个交换机上的可用端口数一般少于交换机在建立了串联关系后未被使用的端口的数量。
另外,还需要注意的是,上述S101和上述S102并无执行的先后顺序。
S103:根据各个交换机上的可用端口数,以及每个终端与其它各个终端之间的连接数,将多个终端划分成多个分组。
其中,分组的数量与系统网络拓扑中交换机的数量相等,且每个分组中终端的数量等于各个交换机上的可用端口数,这样设置的优势是,可以实现每个分组连接到一个交换机上,且属于同一组的终端之间的连接数较多,以确保终端在消息传递过程中,在交换机中转发的次数最少。但在实际分组时,所有终端可能不会被平均划分到各个分组中,因此会导致有些分组中终端的数量可能小于各个交换机上的可用端口数。
具体实现的时候,参见图2所示,本申请实施例采用下述方式将多个终端划分成多个分组:
S201:根据每个终端与其它各个终端之间的连接数,获取每个终端与其它所有终端之间的连接数总和。
具体实现的时候,可选地,可以根据每个终端与其它各个终端之间的连接数,建立终端之间的邻接矩阵Adj,其中,终端之间的邻接矩阵中的数值为两个终端之间的连接数。根据终端之间的邻接矩阵Adj中每一行的数值之和,获取每个终端与其它所有终端之间的连接数总和。
例如:一共有4个终端,终端A、终端B、终端C、及终端D,终端A和终端B之间的连接数为1,终端A和终端C之间的连接数为3,终端A和终端D之间的连接数为2,终端B和终端C之间的连接数为2,终端B和终端D之间的连接数为1,终端C和终端D之间的连接数为4,则终端之间的邻接矩阵Adj为:
此时,每个终端与其它所有终端之间的连接数总和,为邻接矩阵Adj每一行所有数值之和,例如上述邻接矩阵Adj每一行的所有数值之和分别为6、4、9、7。
S202:根据连接数总和从大到小的顺序,以及分组的数量,依次从终端中选择多个终端作为各个分组中的种子终端。
例如,步骤S201中的邻接矩阵Adj每一行的所有数值之和从大到小的顺序为9、7、6、4,可以按照数值之和从大到小的顺序对每个终端进行依次编号,例如9对应的终端C的编号为ES1,7对应的终端D的编号为ES2,6对应的终端A的编号为ES3,4对应的终端B的编号为ES4。
为了方便后续的描述,本申请实施例根据ES1、ES2、ES3、ES4的顺序,将邻接矩阵Adj的排列方式进行重新排序,得到下面的邻接矩阵Adj:
如果分组的数量,也即交换机的个数为2,则从终端中选择前2个终端作为各个分组中的种子终端,也就是ES1和ES2分别作为2个分组中的种子终端。
S203:根据各个交换机上的可用端口数,以及每个种子终端与其它非种子终端之间的连接数,将多个终端划分成多个分组。
具体实现的时候,针对每个种子终端,根据各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组。
其中,每个分组包括的终端的数量等于与该分组对应的交换机的可用端口数。
例如,首先针对步骤S202中的被选为种子终端的ES1,按照ES1与除了ES1以外其它未完成分组的终端之间的连接数从大到小的顺序,从其它未完成分组的终端中选择多个终端,假如交换机的可用端口数为3,则从其它未完成分组的终端中选择2个终端。从重新排序之后的邻接矩阵Adj中可以看出与ES1连接数在前两名的是ES2和ES3,则将ES2和ES3与种子终端ES1划分为一个分组。
然后在针对下一个种子终端执行上述操作,需要注意的是,有可能这个种子终端已经被划分到上面的分组中,这时,就不再需要对这个种子终端进行另外分组。因此,在针对下一个种子终端执行上述操作之前,首先需要检测该种子终端是否被划分到其它分组中;
如果是,则根据连接数总和从大到小的顺序,重新从当前未完成分组的非种子终端中,确定一个终端作为当前分组的种子终端。
例如,针对步骤S202中的被选为种子终端的ES1划分完分组之后,要对被选为种子终端的ES2划分分组,但由于ES2已经被划分到ES1对应的分组中,所以ES2就不能再作为种子终端,这时,要从当前未完成分组的非种子终端中,确定一个终端作为当前分组的种子终端,由于ES3也被划分到ES1对应的分组中,这时,将ES4作为当前分组的种子终端,此时,ES4对应的分组中只包括ES4。
可以理解,上述举例中,列举的终端数比较少,在实际中,终端的个数会比较多,交换机个数和交换机的可用端口数也会比较多,因此,种子终端的数量会相应的较多,每个分组中包括的终端数也会比较多。其中,分组中包括的终端个数等于或小于该分组对应的交换机的用于连接终端的可用端口数。
在一种可能的情况中,当所有交换机上用于连接终端的可用端口数大于终端的数量时,可能在后划分的分组中包括的终端个数小于该分组对应的交换机的用于连接终端的可用端口数,这时所有的终端都必然已经被划分到各个分组中了。
但在另一种可能的情况中,当所有交换机上用于连接终端的可用端口数不大于终端的数量时,每个分组中包括的终端个数都等于了该分组对应的交换机的用于连接终端的可用端口数,这时就可能会有某终端由于与每个种子终端的连接数都比较少,没有被划分到任何分组中,这时,针对没有划分到任何分组的终端,将该终端划分到与该终端之间的连接数最多,且对应的交换机还有剩余端口的分组中。此处,交换机会有剩余端口是因为该交换机对应的分组中的终端的数量为交换机用于连接终端的可用端口数,而可用端口数是小于交换机本身实际有的端口数量,因此交换机会有剩余端口。
在将多个终端划分成多个分组之后,本申请实施例提供的系统网络拓扑自动生成方法还包括下述步骤S104和S105:
S104:建立各个分组与交换机之间的连接关系。
具体实现的时候,交换机与分组一一对应;由于分组个数与交换机个数相等,因此建立各个分组分别与各个交换机的连接关系,每个分组中的所有终端都连接到该分组对应的交换机的不同端口上。
S105:根据每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成系统网络拓扑。
具体实现的时候,按照每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和从大到小的顺序,依次建立连接数总和最大的两个分组分别对应的交换机的连接关系,直到达到停止连接条件,获得系统网络拓扑。
例如,假如一共有4个分组,分组1和分组2的连接数总和为10,分组1和分组3的连接数总和为9,分组1和分组4的连接数总和为8,分组2和分组3的连接数总和为7,分组2和分组4的连接数总和为6,分组3和分组4的连接数总和为5,则首先建立分组1和分组2对应的交换机之间的连接关系,然后建立分组1和分组3对应的交换机之间的连接关系,以此类推,直到达到停止连接条件,获得系统网络拓扑。
可选地,停止连接条件可以为两种,一种是所有交换机互联,另一种是所有交换机已经没有剩余端口。
需要注意的是,在上述过程中,如果有并列的情况出现,就会出现多个分支,基于本申请实施例提供的系统网络拓扑自动生成方法生成的系统网络拓扑有可能不是唯一的结果,此时,在本申请的另一实施例中提供了对生成的系统网络拓扑进行评估的方法:
(1)采用基础目标进行评估:所有终端都可以通过一个或者多个交换机进行数据通信;
(2)采用总目标进行评估:所有终端的通信链路,经过交换机的总个数之和最小。
通过上述方法对生成的系统网络拓扑进行评估,可以从所有结果中选出最优的系统网络拓扑。
本申请实施例提供的一种系统网络拓扑自动生成方法:首先获取多个终端中,每个终端与其它各个终端之间的连接数;建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或终端的数量,确定各个交换机上用于连接终端的可用端口数;然后根据各个交换机上的可用端口数,以及每个终端与其它各个终端之间的连接数,将多个终端划分成多个分组;其中,分组的数量与系统网络拓扑中交换机的数量相等;并建立各个分组与交换机之间的连接关系;交换机与分组一一对应;根据每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成系统网络拓扑,该过程全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
具体实施例:
参见图3所示,本申请实施例还提供一种系统网络拓扑自动生成的具体示例,包括:
系统网络中包括了13个终端,分别是终端A、终端B、终端C、终端D、终端E、终端F、终端G、终端H、终端J、终端K、终端11、终端12、终端13,包括了5个交换机,每个交换机上至少有7个端口,用于连接终端的可用端口数设置为2。
首先将所有交换机串联成起来。通过本申请提供的系统网络拓扑自动生成方法将所有终端划分成了5个分组,有的分组中包括了2个终端,有的分组中包括了3个终端,包括了3个终端的分组中多的那个终端是由于该终端与每个种子终端的连接数都比较少,一开始没有被划分到任何分组中,这时,将该终端划分到与该终端之间的连接数最多,且对应的交换机还有剩余端口的分组中。
每个分组分别对应一个交换机,将每个分组中包括的终端全部连接到该分组对应的交换机的不同端口上,最后根据各个分组之间的连接数总和,对5个交换机建立其他连接关系,直到所有交换机互连,构成了系统网络拓扑。
基于同一发明构思,本申请实施例中还提供了与系统网络拓扑自动生成方法对应的系统网络拓扑自动生成装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述系统网络拓扑自动生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图4所示,本申请实施例所提供的系统网络拓扑自动生成装置包括:
连接数获取模块41:用于获取多个终端中,每个终端与其它各个终端之间的连接数;
可用端口数获取模块42:用于建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或终端的数量,确定各个交换机上用于连接终端的可用端口数;
分组划分模块43:用于根据各个交换机上的可用端口数,以及每个终端与其它各个终端之间的连接数,将多个终端划分成多个分组;其中,分组的数量与系统网络拓扑中交换机的数量相等;
其他连接关系建立模块44,用于建立各个分组与交换机之间的连接关系;交换机与分组一一对应;
系统网络拓扑生成模块45:用于根据每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成系统网络拓扑。
可选地,本申请实施例所提供的系统网络拓扑自动生成装置还包括:判断模块46;
判断模块46,用于根据各个交换机上实际有的端口数量,交换机的数量以及终端的数量,判断是否可以成功生成系统网络拓扑;
针对可以成功生成系统网络拓扑的情况,执行系统网络拓扑自动生成方法。
可选地,分组划分模块43,具体用于根据每个终端与其它各个终端之间的连接数,获取每个终端与其它所有终端之间的连接数总和;
根据连接数总和从大到小的顺序,以及分组的数量,依次从终端中选择多个终端作为各个分组中的种子终端;
根据各个交换机上的可用端口数,以及每个种子终端与其它非种子终端之间的连接数,将多个终端划分成多个分组。
可选地,分组划分模块43,具体采用下述方式将多个终端划分成多个分组:
针对每个种子终端,根据各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组;
其中,每个分组包括的终端的数量等于与该分组对应的交换机的可用端口数。
具体的,分组划分模块43,在根据各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组之前,还用于检测该种子终端是否被划分到其它分组中;
如果是,则根据连接数总和从大到小的顺序,重新从当前未完成分组的非种子终端中,确定一个终端作为当前分组的种子终端。
可选地,分组划分模块43,还用于针对没有划分到任何分组的终端,将该终端划分到与该终端之间的连接数最多,且对应的交换机还有剩余端口的分组中。
可选地,系统网络拓扑生成模块45,具体用于按照每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和从大到小的顺序,依次建立连接数总和最大的两个分组分别对应的交换机的连接关系,直到达到停止连接条件,获得系统网络拓扑。
本申请实施例提供的一种系统网络拓扑自动生成装置,在进行系统网络拓扑自动生成的时候:首先获取多个终端中,每个终端与其它各个终端之间的连接数;建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或终端的数量,确定各个交换机上用于连接终端的可用端口数;然后根据各个交换机上的可用端口数,以及每个终端与其它各个终端之间的连接数,将多个终端划分成多个分组;其中,分组的数量与系统网络拓扑中交换机的数量相等;并建立各个分组与交换机之间的连接关系;交换机与分组一一对应;根据每个分组中包括的终端与其他各个分组中包括的终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成系统网络拓扑,该过程全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述系统网络拓扑自动生成方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述系统网络拓扑自动生成方法,从而能够全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
对应于图1中的系统网络拓扑自动生成方法,本申请实施例还提供了一种计算机设备,如图5所示,该设备包括存储器1000、处理器2000及存储在该存储器1000上并可在该处理器2000上运行的计算机程序,其中,上述处理器2000执行上述计算机程序时实现上述系统网络拓扑自动生成方法的步骤。
具体地,上述存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述系统网络拓扑自动生成方法,从而能够全程不需要人为参与,而是自动根据需要生成的网络拓扑的相关参数,如网络拓扑中交换机的数量、终端的数量、每个终端与其它各个终端之间的连接数自动生成复杂网络环境下的网络拓扑,降低由于人工设计造成的复杂网络拓扑生成难度,提高复杂网络拓扑设计的效率。
本申请实施例所提供的系统网络拓扑自动生成方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种系统网络拓扑自动生成方法,其特征在于,包括:
获取多个终端中,每个所述终端与其它各个终端之间的连接数;
建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或所述终端的数量,确定各个交换机上用于连接所述终端的可用端口数;
根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组;其中,分组的数量与所述系统网络拓扑中交换机的数量相等;并
建立各个分组与所述交换机之间的连接关系;所述交换机与所述分组一一对应;
根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据各个交换机上实际有的端口数量,交换机的数量以及所述终端的数量,判断是否可以成功生成所述系统网络拓扑;
针对可以成功生成所述系统网络拓扑的情况,执行所述系统网络拓扑自动生成方法。
3.根据权利要求1所述的方法,其特征在于,所述根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组,包括:
根据每个所述终端与其它各个终端之间的连接数,获取每个所述终端与其它所有终端之间的连接数总和;
根据所述连接数总和从大到小的顺序,以及所述分组的数量,依次从所述终端中选择多个终端作为各个分组中的种子终端;
根据各个交换机上的可用端口数,以及每个所述种子终端与其它非种子终端之间的连接数,将多个所述终端划分成多个分组。
4.根据权利要求3所述的方法,其特征在于,所述根据各个交换机上的可用端口数,以及每个所述种子终端与其它非种子终端之间的连接数,将多个所述终端划分成多个分组,包括:
针对每个种子终端,根据所述各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从所述其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组;
其中,每个分组包括的终端的数量等于与该分组对应的所述交换机的可用端口数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述各个交换机上的可用端口数,按照该种子终端与除了该种子终端以外其它未完成分组的终端之间的连接数从大到小的顺序,从所述其它未完成分组的终端中选择多个终端,与该种子终端划分为一个分组之前,还包括:
检测该种子终端是否被划分到其它分组中;
如果是,则根据所述连接数总和从大到小的顺序,重新从当前未完成分组的非种子终端中,确定一个终端作为当前分组的种子终端。
6.根据权利要求4所述的方法,其特征在于,还包括:
针对没有划分到任何所述分组的所述终端,将该终端划分到与该终端之间的连接数最多,且对应的交换机还有剩余端口的分组中。
7.根据权利要求1所述的方法,其特征在于,所述根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑,包括:
按照每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和从大到小的顺序,依次建立所述连接数总和最大的两个所述分组分别对应的所述交换机的连接关系,直到达到停止连接条件,获得所述系统网络拓扑。
8.一种系统网络拓扑自动生成装置,其特征在于,包括:
连接数获取模块:用于获取多个终端中,每个所述终端与其它各个终端之间的连接数;
可用端口数获取模块:用于建立多个交换机之间的串联关系后,根据各个交换机上未被使用的端口的数量或所述终端的数量,确定各个交换机上用于连接所述终端的可用端口数;
分组划分模块:用于根据各个交换机上的可用端口数,以及每个所述终端与其它各个终端之间的连接数,将多个所述终端划分成多个分组;其中,分组的数量与所述系统网络拓扑中交换机的数量相等;
其他连接关系建立模块,用于建立各个分组与所述交换机之间的连接关系;所述交换机与所述分组一一对应;
系统网络拓扑生成模块:用于根据每个分组中包括的所述终端与其他各个分组中包括的所述终端之间的连接数总和,建立各个交换机之间的其他连接关系,以生成所述系统网络拓扑。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的系统网络拓扑自动生成的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任意一项所述的系统网络拓扑自动生成的方法的步骤。
CN201811185945.XA 2018-10-11 2018-10-11 一种系统网络拓扑自动生成方法以及装置 Active CN109150628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811185945.XA CN109150628B (zh) 2018-10-11 2018-10-11 一种系统网络拓扑自动生成方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811185945.XA CN109150628B (zh) 2018-10-11 2018-10-11 一种系统网络拓扑自动生成方法以及装置

Publications (2)

Publication Number Publication Date
CN109150628A true CN109150628A (zh) 2019-01-04
CN109150628B CN109150628B (zh) 2021-07-09

Family

ID=64811222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811185945.XA Active CN109150628B (zh) 2018-10-11 2018-10-11 一种系统网络拓扑自动生成方法以及装置

Country Status (1)

Country Link
CN (1) CN109150628B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756374A (zh) * 2019-01-10 2019-05-14 北京航空航天大学 一种基于度数中心性的航空电子网络拓扑结构生成方法
CN110620691A (zh) * 2019-09-25 2019-12-27 上海兰鹤航空科技有限公司 664航电网络的物理拓扑结构生成算法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294797A (zh) * 2017-08-24 2017-10-24 广东电网有限责任公司电力科学研究院 网络拓扑结构识别方法和系统
CN107294745A (zh) * 2016-03-30 2017-10-24 中国移动通信集团四川有限公司 网络拓扑自动发现方法及装置
US20180041396A1 (en) * 2016-08-04 2018-02-08 Futurewei Technologies, Inc. System and method for topology discovery in data center networks
US20180077625A1 (en) * 2007-11-14 2018-03-15 Hand Held Products, Inc. Electronic device with wireless path selection capability
CN107995047A (zh) * 2017-12-22 2018-05-04 上海浪潮云计算服务有限公司 一种数据中心的拓扑组网方法及装置
CN108494824A (zh) * 2018-02-14 2018-09-04 厚元技术(香港)有限公司 一种用于物联网的网络架构和组网方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180077625A1 (en) * 2007-11-14 2018-03-15 Hand Held Products, Inc. Electronic device with wireless path selection capability
CN107294745A (zh) * 2016-03-30 2017-10-24 中国移动通信集团四川有限公司 网络拓扑自动发现方法及装置
US20180041396A1 (en) * 2016-08-04 2018-02-08 Futurewei Technologies, Inc. System and method for topology discovery in data center networks
CN107294797A (zh) * 2017-08-24 2017-10-24 广东电网有限责任公司电力科学研究院 网络拓扑结构识别方法和系统
CN107995047A (zh) * 2017-12-22 2018-05-04 上海浪潮云计算服务有限公司 一种数据中心的拓扑组网方法及装置
CN108494824A (zh) * 2018-02-14 2018-09-04 厚元技术(香港)有限公司 一种用于物联网的网络架构和组网方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹绍华: "以太网物理拓扑发现方法研究", 《电脑知识与技术》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756374A (zh) * 2019-01-10 2019-05-14 北京航空航天大学 一种基于度数中心性的航空电子网络拓扑结构生成方法
CN109756374B (zh) * 2019-01-10 2020-06-09 北京航空航天大学 一种基于度数中心性的航空电子网络拓扑结构生成方法
CN110620691A (zh) * 2019-09-25 2019-12-27 上海兰鹤航空科技有限公司 664航电网络的物理拓扑结构生成算法

Also Published As

Publication number Publication date
CN109150628B (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN104917678B (zh) 基于sdn的链路聚合方法
CN101217528B (zh) 一种链路聚合方法和装置
CN107211036B (zh) 一种数据中心网络组网的方法以及数据中心网络
CN103078798B (zh) 一种建立路由表的方法和设备
CN107579923A (zh) 一种sdn网络的链路负载均衡方法和sdn控制器
JPH0241054A (ja) 通信ネツトワークにおいて最小重みのルートを選択する方法
CN109150628A (zh) 一种系统网络拓扑自动生成方法以及装置
CN110324159A (zh) 链路配置方法和控制器
CN106254244A (zh) 一种基于sdn网络的合并流表项方法
CN108282362A (zh) 一种网络拓扑生成方法、装置和设备
CN104618130A (zh) 一种软件定义数据中心网络控制器的最小代价同步方法
CN109257282A (zh) 一种数据传输方法及装置
CN111193971A (zh) 一种面向机器学习的分布式计算互连网络系统及通信方法
CN107995047A (zh) 一种数据中心的拓扑组网方法及装置
CN104641604B (zh) 确定最短路径的方法及装置
CN106951646A (zh) 一种电力系统实时仿真中的多速率接口方法和装置
CN105681215B (zh) 一种转发表项的生成方法及控制器
CN112217652A (zh) 一种基于中心通信模式的网络拓扑装置及方法
CN101651572A (zh) 一种网管系统拓扑搜索的实现方法和装置
Bogdanski et al. Achieving predictable high performance in imbalanced fat trees
CN109445995A (zh) 服务器数据处理方法、装置以及存储介质
CN105656682B (zh) 一种sdn控制器选址方法
Bogdanski et al. Discovery and routing of degraded fat-trees
CN107333320A (zh) 数据转发方法和装置
CN110445574A (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