CN110943859B - 一种网口序列调整方法、装置、设备及存储介质 - Google Patents
一种网口序列调整方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110943859B CN110943859B CN201911151033.5A CN201911151033A CN110943859B CN 110943859 B CN110943859 B CN 110943859B CN 201911151033 A CN201911151033 A CN 201911151033A CN 110943859 B CN110943859 B CN 110943859B
- Authority
- CN
- China
- Prior art keywords
- network
- card
- sequence
- network port
- port
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- 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/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网口序列调整方法,该方法包括以下步骤:获得服务设备的网卡信息,网卡信息包括每个卡槽上网卡的型号信息;根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;将网口初始序列调整为网口目标序列。应用本发明实施例所提供的技术方案,实现了自适应进行网口序列的调整,使得最终网口序列与网口目标序列一致。本发明还公开了一种网口序列调整装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种网口序列调整方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展,各种linux服务设备的使用逐渐增多。linux服务设备中多设置有多个卡槽,可支持多种型号网卡的插入,每种型号网卡可能有多个网口。
受主板网卡硬件设计和linux系统本身的限制,linux服务设备在多网卡场景下,系统得到的网口的网口号一般都不是有序的。如某型号网卡的网口顺序为“eth2,eth3,eth0,eth1”。而实际设备面板的网口号多是按照连续递增顺序排列。这将使得用户在前台web界面上,很难正确配置和实际设备面板相符的网口号,容易误导用户,产生错误的拓扑。
所以,如何进行网口序列的调整,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种网口序列调整方法、装置、设备及存储介质,以自适应进行网口序列调整,方便用户准确进行网口配置。
为解决上述技术问题,本发明提供如下技术方案:
一种网口序列调整方法,包括:
获得服务设备的网卡信息,所述网卡信息包括每个卡槽上网卡的型号信息;
根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;
按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;
将所述网口初始序列调整为网口目标序列。
在本发明的一种具体实施方式中,所述网口配置文件中包含多种型号网卡的网口原始序列,针对每种型号网卡,通过以下第一方式确定该型号网卡的网口原始序列:
仅保留一个卡槽插入该型号网卡,其他卡槽置空,获取该型号网卡每个网口的实际物理位置,基于每个网口的实际物理位置,确定该型号网卡的网口原始序列。
在本发明的一种具体实施方式中,所述网口配置文件中包含多种型号网卡的网口原始序列,针对每种型号网卡,通过以下第二方式确定该型号网卡的网口原始序列:
将不同型号网卡插入不同卡槽中,获取每个网口的实际物理位置,针对每种型号网卡,基于该型号网卡的每个网口的实际物理位置,确定该型号网卡的每个网口的序列号,将该型号网卡的每个网口的序列号减去该型号网卡的最小序列号,得到该型号网卡的网口原始序列。
在本发明的一种具体实施方式中,所述根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列,包括:
针对每个卡槽,根据该卡槽上网卡的型号,在网口配置文件中查找该型号网卡的网口原始序列。
在本发明的一种具体实施方式中,所述按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列,包括:
将网口初始序列置空,初始化增量p;
按照卡槽前后顺序,令i=1,确定第i个卡槽是否为空;
如果确定第i个卡槽不为空,则将该卡槽上网卡的网口原始序列中的每个网口的序列号加上p,放入所述网口初始序列中;
更新p=p+(x+1),(x+1)为该卡槽上网卡的网口数;
令i=i+1,重复执行所述确定第i个卡槽是否为空的步骤,直至遍历完所有卡槽,获得所述网口初始序列。
在本发明的一种具体实施方式中,还包括:
如果确定第i个卡槽为空,则令i=i+1,重复执行所述确定第i个卡槽是否为空的步骤。
在本发明的一种具体实施方式中,所述将所述网口初始序列调整为网口目标序列,包括:
遍历所述网口初始序列和网口目标序列;
通过交换命令交换所述网口初始序列和所述网口目标序列中对应位置的序列号。
一种网口序列调整方法,包括:
网卡信息获得模块,用于获得服务设备的网卡信息,所述网卡信息包括每个卡槽上网卡的型号信息;
网口原始序列确定模块,用于根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;
网口初始序列确定模块,用于按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;
网口初始序列调整模块,用于将所述网口初始序列调整为网口目标序列。
一种网口序列调整设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述网口序列调整方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述网口序列调整方法的步骤。
应用本发明实施例所提供的技术方案,获得服务设备的网卡信息,该网卡信息中包括每个卡槽上网卡的型号信息,根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列,按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列,将网口初始序列调整为网口目标序列。通过网口配置文件,准确确定出每个卡槽上网卡的网口原始序列,进而得到网口初始序列,再将网口初始序列调整为网口目标序列,实现了自适应进行网口序列的调整,使得最终网口序列与网口目标序列一致,方便用户准确进行网口配置。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种网口序列调整方法的实施流程图;
图2为本发明实施例中支持多网卡的服务设备面板卡槽示意图;
图3为本发明实施例中网卡型号C1的网卡的网口原始序列示意图;
图4为本发明实施例中网卡型号C2的网卡的网口原始序列示意图;
图5为本发明实施例中网卡型号C3的网卡的网口原始序列示意图;
图6为本发明实施例中网口初始序列确定流程示意图;
图7为本发明实施例中一种具体的网口初始序列示意图;
图8为本发明实施例中自适应调整网口后的网口序列示意图;
图9为本发明实施例中一种网口序列调整装置的结构示意图;
图10为本发明实施例中一种网口序列调整设备的结构示意图;
图11为本发明实施例中一种应用场景示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,为本发明实施例所提供的一种网口序列调整方法的实施流程图,该方法可以包括以下步骤:
S110:获得服务设备的网卡信息。
网卡信息包括每个卡槽上网卡的型号信息。
服务设备可以设置有多个卡槽,本发明中的卡槽是指可插入网卡的卡槽,属于主板上的扩展槽。如图2所示设置有1号卡槽slot1、2号卡槽slot2、3号卡槽slot3、……、N号卡槽slotN。每个卡槽可支持插入多种型号网卡。所谓网卡,即NIC(Network InterfaceCard),也可称为网络接口卡,负责计算机与网络介质之间的电气连接,比特数据流的传输和网络地址的确认。
可以获得服务设备的网卡信息。具体的,可以根据系统的PCI(PeripheralComponent Interconnect,外设部件互连标准)信息,对服务设备卡槽上的网卡进行检测,获得服务设备的网卡信息。网卡信息可以包括每个卡槽上网卡的型号信息,还可以包括卡槽总数信息等。对于网卡信息的获得,可以在服务设备启动过程中进行,还可以在服务设备的驱动加载,网卡处于在线状态后,在服务关联网口之前进行。
根据获得的服务设备的网卡信息,可以生成网卡信息配置文件slot.ini,如:
[config]
slot_count=N
slot1=C1
slot2=C2
slot3=C3
...
slotN=CN
其中,Ci表示第i(1≤i≤N)号卡槽上网卡的型号,在该网卡信息配置文件中,slot_count字段的值表示服务设备卡槽总数。sloti=Ci(1≤i≤N)表示的是,第i号卡槽上对应有网卡型号为Ci的网卡。Ci和Cj(1≤i<j≤N)表示的网卡型号可以为同一型号,也可为不同型号,Ci也可以为空值,即卡槽上没有插网卡。
S120:根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列。
在本发明实施例中,可以预先获得网口配置文件,网口配置文件中包含多种型号网卡的网口原始序列。
网卡的网口原始序列,即linux服务设备在没有经过网口顺序调整时的网口顺序。一般是固定不变的,和网卡的硬件、网卡驱动、系统有关。例如,某网卡原始网口顺序是“eth2,eth3,eth0,eth1”,那么“2,3,0,1”就是该网卡的网口原始序列。
通过预先测试等可以获得多种型号网卡的网口原始序列,可以基于这些型号网卡的网口原始序列,生成网口配置文件。可将网口配置文件命名为nic.ini,具体格式如下:
[config]
slot_order=1,2,3,...,N
C1=0,2,4,6,1,3,5,7
C2=2,3,0,1
C3=0,1
...
Cm=a0,a1,a2,…,ax
在该网口配置文件中,slot_order字段表示的是服务设备面板期望的网卡序列顺序,也即卡槽前后顺序。以本例slot_order=1,2,3,...,N的配置为例,其指出了网卡网口号,是要以第1个卡槽连续递增到第N个卡槽的方式调整网口顺序。Cm(1≤m≤M)字段表示第m种网卡型号,a0,a1,a2,…,ax表示网口原始序列,其中Cm网卡的网口个数是x+1个。N、M、m、x为正整数。
根据每个卡槽上网卡的型号,可以在网口配置文件中查找该型号网卡的网口原始序列,从而可以确定每个卡槽上网卡的网口原始序列。
举例而言,服务设备的1号卡槽上插入网卡型号C3的网卡,2号卡槽上插入网卡型号C2的网卡,3号卡槽上插入网卡型号C1的网卡,根据每个卡槽上网卡的型号和网口配置文件,可以确定1号卡槽上网卡的网口原始序列为“0,1”,2号卡槽上网卡的网口原始序列为“2,3,0,1”,3号卡槽上网卡的网口原始序列为“0,2,4,6,1,3,5,7”。
S130:按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列。
卡槽前后顺序,也即服务设备面板期望的网卡序列顺序。一般情况下,卡槽前后顺序是按照1,2,3,…,N的顺序。当然,也可以按照其他顺序。在预先获得的网口配置文件中可以包含卡槽前后顺序。
按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,可以确定网口初始序列。网口初始序列中不存在重复的网口序列号。
仍以上例为例,服务设备的1号卡槽上插入网卡型号C3的网卡,2号卡槽上插入网卡型号C2的网卡,3号卡槽上插入网卡型号C1的网卡,根据每个卡槽上网卡的型号和网口配置文件,可以确定1号卡槽上网卡的网口原始序列为“0,1”,2号卡槽上网卡的网口原始序列为“2,3,0,1”,3号卡槽上网卡的网口原始序列为“0,2,4,6,1,3,5,7”。如果卡槽前后顺序为1,2,3,则在网口初始序列中前面为1号卡槽网卡对应的网口,然后是2号卡槽网卡对应的网口,最后是3号卡槽网卡对应的网口。最终得到的网口初始序列可以为“0,1,4,5,2,3,6,8,10,12,7,9,11,13”。
当然,最终得到的网口初始序列中的数值也可为其他数值,只要基于网卡的网口原始序列,使得网口初始序列中的数值不重复即可,或者以升序的方式将各网口的网口原始序列写入到网口初始序列中。
S140:将网口初始序列调整为网口目标序列。
按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定出来的网口初始序列的顺序是乱序的。可以预先设定一个网口目标序列,如按照连续递增的顺序、连续递减的顺序或者基于习惯的一些顺序设定网口目标序列。基于预设的网口目标序列,可以调整网口初始序列,获得系统中待显示的网口序列,使得该网口序列与网口目标序列一致。
应用本发明实施例所提供的方法,获得服务设备的网卡信息,该网卡信息中包括每个卡槽上网卡的型号信息,根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列,按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列,将网口初始序列调整为网口目标序列。通过网口配置文件,准确确定出每个卡槽上网卡的网口原始序列,进而得到网口初始序列,再将网口初始序列调整为网口目标序列,实现了自适应进行网口序列的调整,使得最终网口序列与网口目标序列一致,方便用户准确进行网口配置。
在本发明的一个实施例中,网口配置文件中包含多种型号网卡的网口原始序列,针对每种型号网卡,可以通过以下第一方式确定该型号网卡的网口原始序列:仅保留一个卡槽插入该型号网卡,其他卡槽置空,获取该型号网卡每个网口的实际物理位置,基于每个网口的实际物理位置,确定该型号网卡的网口原始序列。
可以理解的是,对于确定的系统和网卡硬件型号,在调整网口顺序前,网卡内部的原始网口顺序一般都是固定的。每种型号网卡的网口原始序列可以预先由软件服务商,如防火墙软件服务商等进行确定。在进行某型号网卡的网口原始序列的确定时,可以仅保留一个卡槽插入该型号网卡,其它卡槽置空,然后获取该型号网卡每个网口的实际物理位置。具体的,可以通过执行网卡参数查询命令,如ethtool-p ethX(其中X为网口号)的方式获取X网口号的实际物理位置。基于每个网口的实际物理位置,可以确定该型号网卡的网口原始序列。
例如,对于某供应商网卡型号C1的8网口网卡,确定的该网卡的网口原始序列是“0,2,4,6,1,3,5,7”。网卡型号C2的4网口网卡,确定的该网卡的网口原始序列是“2,3,0,1”。网卡型号C3的2网口网卡,确定的该网卡的网口原始序列是“0,1”。分别如图3、图4、图5所示。
如果后续还需支持其他型号网卡,则可以通过上述方式确定其他型号网卡的网口原始序列。
通过这种方式,可以快速、准确确定每种型号网卡的网口原始序列,以为后续准确地进行网口初始序列的调整。而且,每次直插一个网卡,可以避免其他网卡的网口干扰。
在本发明的一个实施例中,网口配置文件中包含多种型号网卡的网口原始序列,针对每种型号网卡,可以通过以下第二方式确定该型号网卡的网口原始序列:
将不同型号网卡插入不同卡槽中,获取每个网口的实际物理位置,针对每种型号网卡,基于该型号网卡的每个网口的实际物理位置,确定该型号网卡的每个网口的序列号,将该型号网卡的每个网口的序列号减去该型号网卡的最小序列号,得到该型号网卡的网口原始序列。
在本发明实施例中,可以选择不同型号网卡,获取每种型号网卡的网口原始序列。将每种型号网卡分别插入不同卡槽中,如1号卡槽上插入网卡型号C3的网卡,2号卡槽上插入网卡型号C2的网卡。获取每个网口的实际物理位置。具体的,可以通过执行网卡参数查询命令,如ethtool-p ethX(其中X为网口号)的方式获取X网口号的实际物理位置。根据获取到的每个网口的实际物理位置,可以得到每个网口的序列号,如1号卡槽上插入的网卡型号C3的网卡的网口序列号为“0,1”,2号卡槽上插入的网卡型号C2的网卡的网口序列号为“4,5,2,3”。即针对每种型号网卡,基于该型号网卡的每个网口的实际物理位置,可以确定该型号网卡的每个网口的序列号。将该型号网卡的每个网口的序列号减去该型号网卡的最小序列号,可以得到该型号网卡的网口原始序列。如网卡型号C3的网卡的最小序列号为0,将该型号网卡的每个网口的序列号减去0,即可得到该型号网卡的网口原始序列为“0,1”,网卡型号C2的网卡的最小序列号为2,将该型号网卡的每个网口的序列号减去2,即可得到该型号网卡的网口原始序列为“2,3,0,1”。
同时插入多种型号的网卡,进行每种型号网卡的网口原始序列的确定,操作简单、方便。
在本发明的一种具体实施方式中,步骤S120可以包括以下步骤:
针对每个卡槽,根据该卡槽上网卡的型号,在网口配置文件中查找该型号网卡的网口原始序列。
在本发明实施例中,获得服务设备的网卡信息,该网卡信息中包括每个卡槽上网卡的型号信息。预先获得网口配置文件,网口配置文件中包含多种型号网卡的网口原始序列。针对每个卡槽,可以根据该卡槽上网卡的型号,在网口配置文件中查找该型号网卡的网口原始序列,从而确定出每个卡槽上网卡的网口原始序列。
在本发明的一个实施例中,步骤S130可以包括以下步骤:
步骤一:将网口初始序列置空,初始化增量p;
步骤二:按照卡槽前后顺序,令i=1,确定第i个卡槽是否为空;
步骤三:如果确定第i个卡槽不为空,则将该卡槽上网卡的网口原始序列中的每个网口的序列号加上p,放入网口初始序列中;
步骤四:更新p=p+(x+1),(x+1)为该卡槽上网卡的网口数;
步骤五:令i=i+1,重复执行确定第i个卡槽是否为空的步骤,直至遍历完所有卡槽,获得网口初始序列。
为便于描述,将上述五个步骤结合起来进行说明。
如图6所示,在本发明实施例中,在确定出每个卡槽上网卡的网口原始序列之后,可以先将网口初始序列置空,初始化增量p,如将增量p初始化为0。
按照卡槽前后顺序,从第1个卡槽开始进行遍历。
令i=1,确定第i个卡槽是否为空。如果卡槽上没有插有网卡,则卡槽为空,如果插有网卡,则卡槽不为空。具体的,可以通过PCI(Peripheral Component Interconnect,外设部件互连标准)总线信息确定卡槽上是否插有网卡。
如果确定第i个卡槽不为空,则表明该卡槽上插有网卡,可以将该卡槽上网卡的网口原始序列中的每个网口的序列号加上p,放入网口初始序列中。
更新p=p+(x+1),(x+1)为该卡槽上网卡的网口数。
令i=i+1,重复执行确定第i个卡槽是否为空的步骤。
如果确定第i个卡槽为空,则令i=i+1,重复执行确定第i个卡槽是否为空的步骤。
直至遍历完所有卡槽,可以获得网口初始序列。
为便于理解,举例说明。
如图7所示,假设服务设备的1号卡槽上插入网卡型号C3的网卡,2号卡槽上插入网卡型号C2的网卡,3号卡槽上插入网卡型号C1的网卡,N号卡槽插入网卡型号Cm的网卡。
根据每个卡槽上网卡的型号和网口配置文件,确定1号卡槽上网卡的网口原始序列为“0,1”,2号卡槽上网卡的网口原始序列为“2,3,0,1”,3号卡槽上网卡的网口原始序列为“0,2,4,6,1,3,5,7”。
将网口初始序列置空,将增量p初始化为0,遍历1号到N号卡槽:
1号卡槽不为空,将1号卡槽上网卡的网口原始序列中的每个网口的网口号加上p,也就是p+0,p+1,得到“0,1”。将“0,1”放入网口初始序列中。
此时,网口初始序列为“0,1”。
更新增量p=p+2,2为1号卡槽上插入的网卡型号C3的网卡的网口数,p=2。
再确定2号卡槽是否为空,不为空,则将2号卡槽上网卡的网口原始序列中的每个网口的网口号加上p,也就是p+2,p+3,p+0,p+1,得到“4,5,2,3”。按顺序将“4,5,2,3”放入网口初始序列中。
此时,网口初始序列为“0,1,4,5,2,3”。
更新增量p=p+4,4为2号卡槽上插入的网卡型号C2的网卡的网口数,p=6。
再确定3号卡槽是否为空,不为空,则将3号卡槽上网卡的网口原始序列中的每个网口的网口号加上p,也就是p+0,p+2,p+4,p+6,p+1,p+3,p+5,p+7,得到“6,8,10,12,7,9,11,13”。按顺序将“6,8,10,12,7,9,11,13”放入网口初始序列中。
此时,网口初始序列为“0,1,4,5,2,3,6,8,10,12,7,9,11,13”。
更新增量p=p+8,8为3号卡槽上插入的网卡型号C1的网卡的网口数,p=14。
再确定4号卡槽是否为空,为空,则再确定5号卡槽是否为空,……。
以此类推,一直遍历到卡槽N位置,获得网口初始序列为:“0,1,4,5,2,3,6,8,10,12,7,9,11,13...kS”。
在本发明的一个实施例中,步骤S140可以包括以下步骤:
步骤一:遍历网口初始序列和预设的网口目标序列;
步骤二:通过交换命令交换网口初始序列和网口目标序列中对应位置的序列号。
在本发明实施例中,获得服务设备的网卡信息,根据每个卡槽上网卡的型号和网口配置文件,确定出每个卡槽上网卡的网口原始序列,按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列。
可以预设一个网口目标序列,也就是用户期望的网口顺序。具体的,可以由用户根据自身使用习惯进行设置或者调整。如预设的网口目标序列为“0,1,2,3,4,5,6,7,8,9,10,11,12,13,…,S”这样的升序,或者为“S,S-1,S-2,…,3,2,1,0”这样的降序,或者其他有规律的升序、降序等。网口目标序列更符合用户的网口配置习惯。S为最大序列号。
在确定出网口初始序列后,可以遍历网口初始序列和网口目标序列,然后通过交换命令交换网口初始序列和网口目标序列中对应位置的网口的网口号。
如网口初始序列为“0,1,4,5,2,3,6,8,10,12,7,9,11,13...kS”,网口目标序列为“0,1,2,3,4,5,6,7,8,9,10,11,12,13,…,S”,可以通过数据对这两组序列进行定义:
网口初始序列:src_arr[S+1]={0,1,4,5,2,3,6,8,10,12,7,9,11,13,...,kS}
网口目标序列:dst_arr[S+1]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,...,S}
遍历网口初始序列和网口目标序列,可按照如下流程处理:
for j=0to S
swap src_arr[j]dst_arr[j]
其中,swap操作,可通过服务设备通用的ip link set命令,交换相应位置处的两个网口的序列号,并且作为可选操作,该命令也可交换网口的MAC(Media Access Control,媒体访问控制)地址,以使得每个网口的MAC地址和序列号对应起来。
遍历交换完成后,系统的网口序列中的序列号将从无序的状态,设置成有序的状态,如图8所示。这样更方便用户对网口进行配置,避免无序的网口误导用户产生错误的拓扑。
在本发明的一个实施例中,在将网口初始序列调整为网口目标序列之后,该方法还可以包括以下步骤:
输出显示网口目标序列。
在本发明实施例中,在将网口初始序列调整为网口目标序列之后,即获得系统中待显示的网口序列,该网口序列即为网口目标序列,可以输出显示该网口序列,这样用户可以根据显示的网口序列,确定是否符合预期,同时,可以根据显示的网口序列进行网口配置。
在实际应用中,本发明实施例可以在软件服务商处应用。在现有技术中,为使用户能在前台web界面上,正确配置和实际设备面板相符的网口号,软件服务商,如防火墙软件服务商通常通过一个调整网口序号的开机执行脚本,将系统的网口号和设备硬件面板印刷的网口号一一对应起来。这种方法存在的缺陷在于,每次用户有交换、添加网卡的需求,服务设备都需要经过软件服务商的评估和定制,来修改调整网口的开机执行脚本。从确认需求到最终交付产品,增加了软件服务商的人力成本,延长了向用户交付产品的周期。软件服务商通常并不了解硬件的具体设计细节,也无法修改服务设备主板或网卡的硬件或固件。正因如此,本发明实施例实现了在软件层面自适应进行网卡网口排序。如果服务设备设置有N个网卡卡槽,可支持M种网卡,那么理论上就有NM种网卡的排序方式或网口序列。本发明实施例在不改变主板或网卡硬件的条件下,自适应调整可能多达NM种的系统网口序列状态,使之达到网口目标序列,如设备面板网口序列一致的连续递增状态。也就是说,本发明实施例不需要关注和修改系统底层的具体硬件设计,仅利用网卡信息和网卡的网口原始序列,在软件抽象层面达到网卡网口自适应排序的目的。这对硬件关注度少、无法通过修改硬件进行网卡自适应排序的软件服务商,有着较好的可使用、可操作、可拓展性。通过本发明实施例所提供的技术方案,在用户有网卡调整需求时,软件服务商不会增加网口顺序方面的额外软件开发。这样可以加快软件服务商交付产品的周期,为用户提供更灵活的网卡配置服务。
相应于上面的方法实施例,本发明实施例还提供了一种网口序列调整装置,下文描述的一种网口序列调整装置与上文描述的一种网口序列调整方法可相互对应参照。
参见图9所示,该装置包括以下模块:
网卡信息获得模块910,用于获得服务设备的网卡信息,网卡信息包括每个卡槽上网卡的型号信息;
网口原始序列确定模块920,用于根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;
网口初始序列确定模块930,用于按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;
网口初始序列调整模块940,用于将网口初始序列调整为网口目标序列。
应用本发明实施例所提供的装置,获得服务设备的网卡信息,该网卡信息中包括每个卡槽上网卡的型号信息,根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列,按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列,将网口初始序列调整为网口目标序列。通过网口配置文件,准确确定出每个卡槽上网卡的网口原始序列,进而得到网口初始序列,再将网口初始序列调整为网口目标序列,实现了自适应进行网口序列的调整,使得最终网口序列与网口目标序列一致,方便用户准确进行网口配置。
在本发明的一种具体实施方式中,网口配置文件中包含多种型号网卡的网口原始序列,装置还包括原始序列获取模块,用于针对每种型号网卡,通过以下第一方式确定该型号网卡的网口原始序列:
仅保留一个卡槽插入该型号网卡,其他卡槽置空,获取该型号网卡每个网口的实际物理位置,基于每个网口的实际物理位置,确定该型号网卡的网口原始序列。
在本发明的一种具体实施方式中,网口配置文件中包含多种型号网卡的网口原始序列,原始序列获取模块,还用于针对每种型号网卡,通过以下第二方式确定该型号网卡的网口原始序列:
将不同型号网卡插入不同卡槽中,获取每个网口的实际物理位置,针对每种型号网卡,基于该型号网卡的每个网口的实际物理位置,确定该型号网卡的每个网口的序列号,将该型号网卡的每个网口的序列号减去该型号网卡的最小序列号,得到该型号网卡的网口原始序列。
在本发明的一种具体实施方式中,网口原始序列确定模块920,用于:
针对每个卡槽,根据该卡槽上网卡的型号,在网口配置文件中查找该型号网卡的网口原始序列。
在本发明的一种具体实施方式中,网口初始序列确定模块930,用于:
将网口初始序列置空,初始化增量p;
按照卡槽前后顺序,令i=1,确定第i个卡槽是否为空;
如果确定第i个卡槽不为空,则将该卡槽上网卡的网口原始序列中的每个网口的序列号加上p,放入网口初始序列中;
更新p=p+(x+1),(x+1)为该卡槽上网卡的网口数;
令i=i+1,重复执行确定第i个卡槽是否为空的步骤,直至遍历完所有卡槽,获得网口初始序列。
在本发明的一种具体实施方式中,网口初始序列确定模块930,还用于:
如果确定第i个卡槽为空,则令i=i+1,重复执行确定第i个卡槽是否为空的步骤。
在本发明的一种具体实施方式中,网口初始序列调整模块940,用于:
遍历网口初始序列和网口目标序列;
通过交换命令交换网口初始序列和网口目标序列中对应位置的序列号。
相应于上面的方法实施例,本发明实施例还提供了一种网口序列调整设备,该设备包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述网口序列调整方法的步骤。
如图10所示,为网口序列调整设备的组成结构示意图,网口序列调整设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本发明实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行网口序列调整方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本发明实施例中,存储器11中至少存储有用于实现以下功能的程序:
获得服务设备的网卡信息,网卡信息包括每个卡槽上网卡的型号信息;
根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;
按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;
将网口初始序列调整为网口目标序列。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如声音播放功能、图像播放功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如网卡信息数据、网口初始序列数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图10所示的结构并不构成对本发明实施例中网口序列调整设备的限定,在实际应用中网口序列调整设备可以包括比图10所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述网口序列调整方法的步骤。
图11所示,为本发明实施例的一种应用场景示意图,网口序列调整设备可以接收用户输入的网口配置文件,获得服务设备的网卡信息,根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列,然后按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列,将网口初始序列调整为网口目标序列,实现网口序列的自适应调整。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种网口序列调整方法,其特征在于,包括:
获得服务设备的网卡信息,所述网卡信息包括每个卡槽上网卡的型号信息;
根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;所述网卡原始序列基于所述网卡上每个网口的实际物理位置确定;
按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;
将所述网口初始序列调整为网口目标序列;
其中,所述按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列,包括:
将网口初始序列置空,初始化增量p;
按照卡槽前后顺序,令i=1,确定第i个卡槽是否为空;
如果确定第i个卡槽不为空,则将该卡槽上网卡的网口原始序列中的每个网口的序列号加上p,放入所述网口初始序列中;
更新p=p+(x+1),(x+1)为该卡槽上网卡的网口数;
令i=i+1,重复执行所述确定第i个卡槽是否为空的步骤,直至遍历完所有卡槽,获得所述网口初始序列;
其中,还包括:
如果确定第i个卡槽为空,则令i=i+1,重复执行所述确定第i个卡槽是否为空的步骤。
2.根据权利要求1所述的方法,其特征在于,所述网口配置文件中包含多种型号网卡的网口原始序列,针对每种型号网卡,通过以下第一方式确定该型号网卡的网口原始序列:
仅保留一个卡槽插入该型号网卡,其他卡槽置空,获取该型号网卡每个网口的实际物理位置,基于每个网口的实际物理位置,确定该型号网卡的网口原始序列。
3.根据权利要求1所述的方法,其特征在于,所述网口配置文件中包含多种型号网卡的网口原始序列,针对每种型号网卡,通过以下第二方式确定该型号网卡的网口原始序列:
将不同型号网卡插入不同卡槽中,获取每个网口的实际物理位置,针对每种型号网卡,基于该型号网卡的每个网口的实际物理位置,确定该型号网卡的每个网口的序列号,将该型号网卡的每个网口的序列号减去该型号网卡的最小序列号,得到该型号网卡的网口原始序列。
4.根据权利要求2或3所述的方法,其特征在于,所述根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列,包括:
针对每个卡槽,根据该卡槽上网卡的型号,在网口配置文件中查找该型号网卡的网口原始序列。
5.根据权利要求1至3之中任一项所述的方法,其特征在于,所述将所述网口初始序列调整为网口目标序列,包括:
遍历所述网口初始序列和网口目标序列;
通过交换命令交换所述网口初始序列和所述网口目标序列中对应位置的序列号。
6.一种网口序列调整装置,其特征在于,包括:
网卡信息获得模块,用于获得服务设备的网卡信息,所述网卡信息包括每个卡槽上网卡的型号信息;
网口原始序列确定模块,用于根据每个卡槽上网卡的型号和网口配置文件,确定每个卡槽上网卡的网口原始序列;所述网卡原始序列基于所述网卡上每个网口的实际物理位置确定;
网口初始序列确定模块,用于按照卡槽前后顺序,基于每个卡槽上网卡的网口原始序列,确定网口初始序列;
网口初始序列调整模块,用于将所述网口初始序列调整为网口目标序列;
其中,所述网口初始序列确定模块,用于:
将网口初始序列置空,初始化增量p;
按照卡槽前后顺序,令i=1,确定第i个卡槽是否为空;
如果确定第i个卡槽不为空,则将该卡槽上网卡的网口原始序列中的每个网口的序列号加上p,放入所述网口初始序列中;
更新p=p+(x+1),(x+1)为该卡槽上网卡的网口数;
令i=i+1,重复执行所述确定第i个卡槽是否为空的步骤,直至遍历完所有卡槽,获得所述网口初始序列;
其中,所述网口初始序列确定模块,还用于:
如果确定第i个卡槽为空,则令i=i+1,重复执行所述确定第i个卡槽是否为空的步骤。
7.一种网口序列调整设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述网口序列调整方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述网口序列调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151033.5A CN110943859B (zh) | 2019-11-21 | 2019-11-21 | 一种网口序列调整方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151033.5A CN110943859B (zh) | 2019-11-21 | 2019-11-21 | 一种网口序列调整方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110943859A CN110943859A (zh) | 2020-03-31 |
CN110943859B true CN110943859B (zh) | 2022-09-30 |
Family
ID=69907414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911151033.5A Active CN110943859B (zh) | 2019-11-21 | 2019-11-21 | 一种网口序列调整方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110943859B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113904930B (zh) * | 2021-09-27 | 2024-04-09 | 深信服科技股份有限公司 | 一种网口排序方法、装置、设备和存储介质 |
CN114416185B (zh) * | 2021-12-27 | 2024-04-09 | 深信服科技股份有限公司 | 一种网口排序方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2490380A2 (en) * | 2011-02-21 | 2012-08-22 | Huawei Technologies Co. Ltd. | Cell processing method, source line card, and network card in switching network |
CN102693192A (zh) * | 2011-03-23 | 2012-09-26 | 研祥智能科技股份有限公司 | 网卡自动排序方法、系统以及相应的电子设备 |
CN108696394A (zh) * | 2018-05-18 | 2018-10-23 | 深圳市智微智能科技开发有限公司 | 一种linux系统下多个PCIE网卡的通讯方法及设备 |
CN109547233A (zh) * | 2018-10-10 | 2019-03-29 | 华为技术有限公司 | 一种服务器网口配置的方法、装置及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186484A (zh) * | 2011-12-28 | 2013-07-03 | 鸿富锦精密工业(深圳)有限公司 | 网卡命名方法及系统 |
DE102014116865B4 (de) * | 2014-11-18 | 2020-08-13 | Phoenix Contact Gmbh & Co. Kg | Analysevorrichtung zur Analyse und Manipulation einer Kommunikationssequenz |
-
2019
- 2019-11-21 CN CN201911151033.5A patent/CN110943859B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2490380A2 (en) * | 2011-02-21 | 2012-08-22 | Huawei Technologies Co. Ltd. | Cell processing method, source line card, and network card in switching network |
CN102693192A (zh) * | 2011-03-23 | 2012-09-26 | 研祥智能科技股份有限公司 | 网卡自动排序方法、系统以及相应的电子设备 |
CN108696394A (zh) * | 2018-05-18 | 2018-10-23 | 深圳市智微智能科技开发有限公司 | 一种linux系统下多个PCIE网卡的通讯方法及设备 |
CN109547233A (zh) * | 2018-10-10 | 2019-03-29 | 华为技术有限公司 | 一种服务器网口配置的方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110943859A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509210B (zh) | 自动更新基本输入输出系统的系统与方法 | |
CN110943859B (zh) | 一种网口序列调整方法、装置、设备及存储介质 | |
CN104516838B (zh) | 管理路径确定方法及装置 | |
CN113495732A (zh) | 服务器部署方法、装置、设备及可读存储介质 | |
CN112596815B (zh) | 功能组件的生成方法和装置、存储介质及电子装置 | |
WO2020211360A1 (zh) | Mock测试方法、系统、电子设备及计算机非易失性可读存储介质 | |
CN104243590A (zh) | 资源对象推荐方法和装置 | |
CN110209569A (zh) | 接口测试方法、接口测试装置及存储介质 | |
CN112738220A (zh) | 服务器集群的管理方法、负载均衡方法和负载均衡设备 | |
CN114997101A (zh) | 基于芯片验证系统的信号控制方法、系统、介质及设备 | |
CN116301596A (zh) | 一种软件raid构建方法、装置、设备及存储介质 | |
CN109416667A (zh) | 具有动态且可配置的响应的、使用两个存储器级的串行设备仿真器 | |
CN111506501B (zh) | 一种测试指令集的生成方法、装置及电子设备 | |
CN106708569B (zh) | 一种跨线列车中vobc配置文件的热加载方法及装置 | |
CN109324731A (zh) | 信息展现方法和装置 | |
CN104536884A (zh) | 代码测试方法和装置 | |
CN116107737A (zh) | 一种数据节点的性能资源配置方法和装置 | |
CN110417856A (zh) | 多活负载均衡应用的扩容方法、装置、设备及存储介质 | |
CN111897582B (zh) | 一体机以太网刷新方法、装置、存储介质及一体机设备 | |
WO2021104051A1 (zh) | 站点坐标规划方法、装置、设备和存储介质 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN106254440A (zh) | 一种ap的升级方法和装置 | |
CN110161870A (zh) | 一种物联网设备控制方法及系统 | |
CN110971665A (zh) | 一种对接多类型存储的管理方法、系统、设备及存储介质 | |
CN110661655A (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 |