交换机快速启动方法、交换机和介质与流程

文档序号:16128724发布日期:2018-12-01 00:04阅读:661来源:国知局

本发明实施例涉及通信技术,尤其涉及一种交换机快速启动方法、交换机和介质。

背景技术

交换机(英文:switch,意为“开关”)是一种用于电信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通路。交换机的启动速率直接影响着网络节点之间的通信速率。

目前,交换机的启动过程是:交换机上电后,交换机的cpu初始化,并加载交换机厂商提供的软件开发工具包(softwaredevelopmentkit,sdk),通过运行sdk得到交换芯片的配置项,再将配置项配置到交换芯片中,从而完成交换机的启动过程。

随着实际应用中对通信网络启动速率的要求越来越高,对交换机的启动速率要求也越来越高,尤其是当网络节点出现故障时,更需要快速重启交换机。目前交换机的启动耗时在60s左右,难以满足通信网络启动速率的要求。



技术实现要素:

本发明实施例提供一种交换机快速启动方法、交换机和介质,以实现提高交换机的启动速率。

第一方面,本发明实施例提供了一种交换机快速启动方法,包括:

交换机中的微控制器在初始化后,获取对交换芯片的访问权限;

所述微控制器读取预先保存的启动交换机所需的配置项;以及

将所述配置项配置到所述交换芯片中;

所述微控制器释放对所述交换芯片的访问权限,以使所述中央处理器访问所述交换芯片。

第二方面,本发明实施例还提供了一种交换机,包括:微控制器、交换芯片、中央处理器,所述交换芯片分别与所述微控制器和所述中央处理器连接;

所述微控制器,用于在初始化后,获取对交换芯片的访问权限;读取预先保存的启动交换机所需的配置项;以及将所述配置项配置到所述交换芯片中;释放对所述交换芯片的访问权限,以使所述中央处理器访问所述交换芯片;

所述中央处理器,用于在微处理器释放对所述交换芯片的访问权限后,访问所述交换芯片。

第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的交换机快速启动方法。

本发明实施例中,在交换机中新加入初始化较快的微控制器,并在微控制器初始化后,获取对交换芯片的访问权限,从而通过初始化较快的微控制器对交换芯片进行配置;通过读取预先保存的启动交换机所需的配置项;以及将配置项配置到交换芯片中,释放对所述交换芯片的访问权限,以使所述中央处理器访问所述交换芯片,从而直接将预存的配置项配置到交换芯片中,无需通过运行sdk得到交换芯片的配置项,无须等待sdk中一系列的状态判断等过程才能对交换芯片进行配置;而且,在微控制器配置交换芯片的过程,不需要中央处理器参与,中央处理器启动并加载操作系统的过程与微控制器配置交换芯片的过程是同时进行的,实现交换机的快速启动。本发明实施例中,交换机一上电,微控制器则开始配置交换芯片,微控制器和交换机的中央处理器是相互独立的,微控制器对交换芯片的任何操作都不需要交换机的中央处理器的参与,因此实现了交换芯片的快速启动。

附图说明

图1是本发明实施例一提供的一种交换机快速启动方法的流程图;

图2是本发明实施例二提供的一种交换机快速启动方法的流程图;

图3a是本发明实施例三提供的一种交换机快速启动方法的流程图;

图3b是本发明实施例三提供的私有异步数据通信协议的报文格式示意图;

图4a是本发明实施例四提供的一种交换机的结构示意图;

图4b是本发明实施例四提供的另一种交换机的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

本实施例中,在现有交换机内部新加入微控制器(microcontrolunit,mcu),并在微控制器中预先保存启动交换机所需的配置项,通过微控制器将配置项配置到交换芯片中。本实施例可适用于交换机启动的情况,该方法可以由新加入的微控制器执行,图1是本发明实施例一提供的一种交换机快速启动方法的流程图,具体包括如下步骤:

s110、交换机中的微控制器在初始化后,获取对交换芯片的访问权限。

本实施例中,微控制器可以是stm32芯片,类似一个单片机,相对于中央处理器(centralprocessingunit,cpu),微控制器具有快速初始化的特点。基于此,相比于现有技术中由中央处理器执行对交换芯片的配置操作,本实施例中,由初始化过程较快的微控制器执行对交换芯片的配置操作,以节省启动时间。

首先,微控制器上电并初始化自己的时钟以及总线连接器等,完成初始化操作。其中,交换芯片分别与微控制器和中央处理器连接。微控制器初始化后,获取对交换芯片的访问权限,即实现交换芯片与微控制器连接;同时交换芯片与中央处理器之间的连接断开。

s120、微控制器读取预先保存的启动交换机所需的配置项。

s130、微控制器将配置项配置到交换芯片中。

可选地,启动交换机所需的配置项可以是二层交换机功能的配置项,也可以是三层交换机功能的配置项。具体地,启动交换机所需的配置项至少包括端口速率双工配置项、端口的虚拟局域网编号(port-basevirtuallocalareanetworkid,pvid)配置项、虚拟局域网(virtuallocalareanetwork,vlan)成员配置项、聚合口配置项、生成树协议(spanningtreeprotocol,stp)配置项、串行外设接口(serialperipheralinterface,spi)通信控制配置项、交换机的动态事件对应的配置项中的一种。

上述配置项可以保存在微控制器内的存储器中,或者与微控制器连接的存储器中。该存储器可以是rom,flash,光盘,软盘,机械硬盘等非易失性存储器。

上述配置项可以直接配置到交换芯片中,无需进行状态判断等过程。可选地,微控制器经由与交换芯片之间的总线,直接将读取到的配置项配置到交换芯片中。至此,微控制器完成对交换芯片的配置操作。

s140、微控制器释放对交换芯片的访问权限,以使中央处理器访问所述交换芯片。

微控制器完成对交换芯片的配置操作后,不再对交换芯片进行其他配置,而是将对交换芯片的访问权限转交给中央处理器,由中央处理器对交换芯片进行访问。基于此,微控制器断开与交换芯片之间的连接,连接交换芯片与中央处理器。其中,中央处理器是交换机的主处理器,用于处理交换机所有的功能项。

可选地,中央处理器经由与交换芯片之间的总线,访问已经配置好的交换芯片。至此,交换机完成启动。

综上,本实施例相对于现有技术至少节省的两部分时间,一是中央处理器的初始化时间,一是运行sdk得到配置项的时间。经过多次试验证明,本实施例能够保证交换机在5s的时间内完成启动,能够正常的二层通信,并具备基本的虚拟局域网设置、聚合设置、生成树协议支持以及端口速率双工设置等。

本实施例中,在交换机中新加入初始化较快的微控制器,并在微控制器初始化后,获取对交换芯片的访问权限,从而通过初始化较快的微控制器对交换芯片进行配置;通过读取预先保存的启动交换机所需的配置项;以及将配置项配置到交换芯片中,释放对所述交换芯片的访问权限,以使所述中央处理器访问所述交换芯片,从而直接将预存的配置项配置到交换芯片中,无需通过运行sdk得到交换芯片的配置项,无须等待sdk中一系列的状态判断等过程才能对交换芯片进行配置;而且,在微控制器配置交换芯片的过程,不需要中央处理器参与,中央处理器启动并加载操作系统的过程与微控制器配置交换芯片的过程是同时进行的,实现交换机的快速启动。本发明实施例中,交换机一上电,微控制器则开始配置交换芯片,微控制器和交换机的中央处理器是相互独立的,微控制器对交换芯片的任何操作都不需要交换机的中央处理器的参与,因此实现了交换芯片的快速启动。

在一些实施例中,微控制器所配置的配置项仅与交换机启动相关,交换芯片经过配置后能够实现二层通信。若令交换芯片实现三层通信和其它功能,还需要运行软件开发工具包(softwaredevelopmentkit,sdk)并在交换芯片中配置sdk的运行结果。基于此,中央处理器在初始化后,运行修改后的sdk;将sdk的运行结果配置到交换芯片;其中,修改后的sdk是在交换机厂商提供的sdk中删除或跳过与配置项对应的程序得到的。

因为微控制器已经将上述配置项配置到交换芯片中,所以中央处理器不需要再进行相同的配置,以避免微控制器和中央处理器重复对交换芯片进行配置,避免网络断流,而发生网络断流。

实施例二

本实施例对上述实施例进行进一步优化,本实施例中,在交换机中加入总线连接器。微控制器通过向总线连接器下发总线控制参数实现对总线控制权的获取、释放和赋予。图2是本发明实施例二提供的一种交换机快速启动方法的流程图,如图2所示,具体包括以下步骤:

s210、交换机中的微控制器在初始化后,向与其连接的总线连接器下发第一总线控制参数。

总线连接器分别连接微控制器和交换芯片,第一总线控制参数用于控制总线连接器连接微控制器和交换芯片,可选地,第一总线控制参数还用于断开中央处理器和交换芯片之间的连接。

总线连接器用于根据第一总线控制参数,连接微控制器和交换芯片,并断开中央处理器和交换芯片之间的连接。

s220、微控制器读取预先保存的启动交换机所需的配置项。

s230、微控制器经由与交换芯片之间的总线,将配置项配置到交换芯片中。

s220和s230分别与s120和s130相同,此处不再赘述。

s240、微控制器向总线连接器下发第二总线控制参数,以便中央处理器经由与交换芯片之间的总线,访问交换芯片。

总线连接器还连接中央处理器,第二总线控制参数用于控制总线连接器连接中央处理器和交换芯片,并断开微控制器和交换芯片之间的连接。

值得说明的是,本实施例通过可配置的总线连接器这一硬件实现访问权限控制,但不限于此。任何能够实现总线控制的软件和/或硬件方法均在本实施例的保护范围内。

值得说明的是,在微控制器对交换芯片进行配置时,中央处理器与交换芯片之间的总线被切断,此时,中央处理器完成上电和初始化过程,且在初始化过程中不会访问交换芯片。微控制器完成对交换芯片的配置大概花费2~3秒。大多数情况下,中央处理器的初始化过程会长于交换芯片的配置过程,则在2~3秒之后,中央处理器才会完成初始化过程,并通过总线连接器与交换芯片连接,访问交换芯片,进而实现网络通信。基于上述分析,中央处理器将感知不到总线连接器的操作,也感觉不到与交换芯片的连接或断开。

本实施例中,在交换机中加入总线连接器,微控制器通过向总线连接器下发总线控制参数实现访问权限的获取和释放,为微控制器对交换芯片的配置以及配置完成后中央处理器对交换芯片的访问提供总线基础;同时,通过访问权限的获取和释放,微控制器和中央处理器得以分时段单独对交换芯片进行操作,;进一步,中央处理器感知不到与交换芯片的连接或断开,因此与交换芯片的连接或断开对中央处理器几乎无影响。

实施例三

本实施例对上述实施例进行进一步优化,主要限定保存启动交换机所需的配置项的过程。该配置项至少有2个来源:1、交换机启动前或运行过程中,由用户配置的配置项;2、交换机运行过程中通过协议或者物理状态产生的交换机事件所对应的配置项。图3a是本发明实施例三提供的一种交换机快速启动方法的流程图,如图3a所示,包括以下步骤:

s310、在交换机启动前,微控制器周期性接收并保存中央处理器发送的启动交换机所需的配置项。

在交换机启动前,用户向中央处理器配置启动交换机所需的配置项。中央处理器将用户配置的配置项周期性发送至微处理器。继而,微控制器将接收到的配置项写入微控制器内的存储器中,或者与微控制器连接的存储器中。

值得说明的是,为了保证交换机第一次启动就能够快速启动,则在交换机第一次启动前便在微控制器中写入配置项,以便交换机第一次启动以及后续启动时,均能够直接将预先保存的配置项配置到交换芯片中,实现快速启动。当然,也可以在交换机第一次启动前不对其进行配置项的写入,而是在交换机启动后保存用户配置的配置项和/或交换机事件对应的配置项。

s320、交换机中的微控制器在初始化后,获取对交换芯片的访问权限。

s330、微控制器读取预先保存的启动交换机所需的配置项。

s340、微控制器将配置项配置到交换芯片中。

s350、微控制器释放对交换芯片的访问权限,以使中央处理器访问所述交换芯片。

在s350之后,微控制器运行在轮询状态,经由与中央处理器之间的总线接收中央处理器发送的启动交换机所需的配置项,该配置项封装在中央处理器发送的报文中。

s360、在交换机运行过程中,微控制器实时接收并保存中央处理器发送的交换机的动态事件对应的配置项;和/或,微控制器周期性接收并保存中央处理器发送的用户配置的配置项。在交换机重启时,跳转到s320。

值得说明的是,在交换机运行过程中,微控制器只有接收并保存配置项的功能,不具备访问交换芯片的权限,中央处理器具有交换芯片的访问权限。

其中,交换机动态事件至少包括端口宕机、生成树协议转发状态、链路状态中的一种。用户配置的配置项至少包括端口速率双工配置项、端口的虚拟局域网编号配置项、虚拟局域网成员配置项、聚合口配置项、生成树协议配置项、串行外设接口通信控制配置项中的一种。

可选地,交换机运行过程中,有些配置项是由动态性事件产生,即通过动行协议或物理状态产生,例如,端口宕机,stp转发状态、link(连接)状态等这些事件会产生交换机的配置项,中央处理器需要实时将对应的配置项发送至微控制器并保存;有些配置项是用户配置的,例如,vlan状态,端口聚合、pvid设置、vlan成员设置、stp设置和端口速率设置等,中央处理器可周期性将对应的配置项发送至微控制器并保存。微控制器通过保存交换机事件对应的配置项,使得微控制器中的交换机事件对应的配置项与交换机芯片的配置情况保护一致。那么,当下次交换机重启时,微控制器可将重启之前保存的与交换机芯片的配置情况一致的配置项重新配置到交换芯片中,以保证重启之后交换芯片的配置情况与重启之前相同。

在一些实施例中,中央处理器和微控制器之间采用私有异步数据通信协议。相应地,微控制器接收中央处理器发送的启动交换机所需的配置项,包括:微控制器接收中央处理器发送的基于私有异步数据通信协议的报文,报文包括配置项;微控制器从报文中解析配置项,并保存配置项。

图3b示出了私有异步数据通信协议的报文格式。该报文在用户信息帧的开始位置添加特殊字符,例如0x40,作为开始标识,在用户信息帧的结尾位置添加特殊字符,例如0x24,作为结尾标识。开始标识和结尾标识各占1个字节。用户信息帧的第一个字节为用户信息帧的长度。用户信息帧的第二个字节为预留字节,设置为0。用户信息帧的第三个字节为命令字节,命令分类包括:0x01:响应报文;0x11:端口速率双工设置;0x21:pvid设置;0x31:vlan成员设置;0x41:聚合口设置;0x51:stp设置;0x61:spi通信控制。用户信息帧的后续n个字节是与命令字节匹配的配置项。

微控制器接收到报文后,验证开始标识、结尾标识和用户信息帧的长度,如果验证合法,从报文中解析配置项并将配置项保存至存储器中。可选地,微控制器配置项保存后,向中央处理器回复响应报文,以告知中央处理器配置结果,例如,是否接收到报文、解析出那些配置项、将哪些配置项进行了保存、保存地址等。

在交换机的正常运行过程中,如果发生网络故障导致交换机重启,此时微控制器仍然保存有之前的配置项。于是,继续执行s320以及后续步骤,交换机中的微控制器在初始化后,获取对交换芯片的访问权限,读取预先保存的启动交换机所需的配置项;以及将配置项配置到交换芯片中,从而实现交换机的快速启动。

本实施例中,一方面,通过微控制器在交换机启动前和运行过程中周期性接收并保存用户配置的配置项,以及在交换机运行过程中,接收并保存中央处理器发送交换机事件配置项,从而能够根据用户配置的配置项、交换机事件对应的配置项快速启动交换机,同时通过保存交换机事件对应的配置项,使得微控制器中的交换机事件对应的配置项与交换机芯片的配置情况保护一致。那么,当下次交换机重启时,微控制器可将重启之前保存的与交换机芯片的配置情况一致的配置项重新配置到交换芯片中,以保证重启之后交换芯片的配置情况与重启之前相同。

另一方面,中央处理器的处理能力较微控制器强,微控制器利用中央处理器的较强处理能力,采集交换机运行过程中与配置有关的信息,例如vlan状态,端口聚合、pvid、vlan成员、stp和端口速率等用户为交换机配置的信息,又例如,端口宕机,stp转发状态、连接状态等交换机事件,并将这些信息作为交换芯片的配置项保存至存储器中,使得微控制器能够直接从本地读取配置项进行配置,而不需要微控制器在配置交换芯片时再获取配置项,进一步节省了交换机启动时间;而且,正是因为由微控制器对交换芯片进行配置,中央处理器免于再对交换芯片进行相应配置,可见,本实施例利用微控制器的配置时间和配置功能,分担中央处理器的配置压力。

实施例四

图4a是本发明实施例四提供的一种交换机的结构示意图。如图4a所示,交换机包括:微控制器51、交换芯片52、中央处理器53,交换芯片52分别与微控制器51和中央处理器53连接。

微控制器51,用于在初始化后,获取对交换芯片52的访问权限;读取预先保存的启动交换机所需的配置项;以及将配置项配置到所述交换芯片52中;释放对所述交换芯片52的访问权限,以使所述中央处理器53访问所述交换芯片52;

中央处理器53,用于在微处理器51释放对所述交换芯片52的访问权限后,访问交换芯片52。

本实施例中,在交换机中新加入初始化较快的微控制器,并在微控制器初始化后,获取对交换芯片的访问权限,从而通过初始化较快的微控制器对交换芯片进行配置;通过读取预先保存的启动交换机所需的配置项;以及将配置项配置到交换芯片中,释放对所述交换芯片的访问权限,以使所述中央处理器访问所述交换芯片,从而直接将预存的配置项配置到交换芯片中,无需通过运行sdk得到交换芯片的配置项,无须等待sdk中一系列的状态判断等过程才能对交换芯片进行配置;而且,在微控制器配置交换芯片的过程,不需要中央处理器参与,中央处理器启动并加载操作系统的过程与微控制器配置交换芯片的过程是同时进行的,实现交换机的快速启动。本发明实施例中,交换机一上电,微控制器则开始配置交换芯片,微控制器和交换机的中央处理器是相互独立的,微控制器对交换芯片的任何操作都不需要交换机的中央处理器的参与,因此实现了交换芯片的快速启动。

在一可选实施方式中,中央处理器53,还用于在初始化后,运行修改后的软件开发工具包;将修改后的软件开发工具包的运行结果配置到交换芯片52;其中,修改后的软件开发工具包是在交换机厂商提供的软件开发工具包中删除或跳过与配置项对应的程序得到的。

在一可选实施方式中,如图4b所示,交换机还包括:总线连接器54;总线连接器54分别与交换芯片52、微控制器51和中央处理器53连接。

交换机包括交换板50和底板60,底板60也称为交换机中的主控板。交换板50通过连接器55扣接到底板60上。交换板50上设置有交换芯片52总线连接器54和微控制器51,底板60上设置有中央处理器53。为了方便描述与区分,在图4b中,微控制器51与中央处理器53之间的总线称为总线1,微控制器51和中央处理器53与交换芯片52之间的总线称为总线2。

可选地,底板60上还设置有网卡接口56,交换芯片52与网卡接口56之间通过总线3连接。

微控制器51用于向总线连接器54下发第一总线控制参数或第二总线控制参数。

总线连接器54,用于根据第一总线控制参数,连接微控制器51和交换芯片52中央处理器53交换芯片52;或者,根据第二总线控制参数,连接中央处理器53和交换芯片52,并断开微控制器51和交换芯片52之间的连接。

在一可选实施方式中,微控制器51还用于在所述交换机运行过程中,实时接收并保存所述中央处理器发送的所述交换机的动态事件对应的配置项;和/或在所述交换机启动前或者运行过程中,所述微控制器周期性接收并保存所述中央处理器发送的用户配置的配置项;

其中,所述交换机动态事件至少包括端口宕机、生成树协议转发状态、链路状态中的一种;所述用户配置的配置项至少包括端口速率双工配置项、端口的虚拟局域网编号配置项、虚拟局域网成员配置项、聚合口配置项、生成树协议配置项、串行外设接口通信控制配置项中的一种。

在一可选实施方式中,微控制器51和中央处理器53之间采用私有异步数据通信协议;

相应地,微控制器51在接收中央处理器53发送的启动交换机所需的配置项时,具体用于:接收中央处理器53发送的基于私有异步数据通信协议的报文,报文包括配置项;从报文中解析配置项,并在存储器中保存配置项。

实施例五

本发明实施例五还提供一种其上存储有计算机程序的计算机可读存储介质,计算机程序在由微控制器执行时用于执行一种交换机快速启动方法,该方法包括:

交换机中的微控制器在初始化后,获取对交换芯片的访问权限;

所述微控制器读取预先保存的启动交换机所需的配置项;以及

将所述配置项配置到所述交换芯片中;

所述微控制器释放对所述交换芯片的访问权限,以使所述中央处理器访问所述交换芯片。

当然,本发明实施例所提供的一种其上存储有计算机程序的计算机可读存储介质,其计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的交换机快速启动方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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