一种链路切换方法及装置与流程

文档序号:18542974发布日期:2019-08-27 21:24阅读:173来源:国知局
本申请涉及通信
技术领域
:,尤其涉及一种链路切换方法及装置。
背景技术
::随着信息技术的发展,通信系统中出现越来越多的客户端服务器(clientservice,cs)模式,如1588服务器与基站的布网结构即属于此模式。一般地,在cs模式中,服务器留有一个网口,网口与一个链路接口相连,且网口和链路接口之间包括多个网元,如二层交换机,这多个网元组成网口和链路接口之间的多条物理链路,服务器通过这多条物理链路与各客户端进行通信,其中,每条物理链路上不仅包括多个网元,而且会包括多条用于连接网元的网线和用于续接网线的转换器,如果网元损坏、网线损坏、或者转换器损坏,都可能会导致网口和链路接口之间的物理链路不通,客户端无法与服务器进行会话,这样,会影响服务器的稳定性,并且会降低用户体验。可见,现有技术中存在着由于服务器和客户端之间的物理链路易损坏而导致的服务器的稳定性较差的问题。技术实现要素:本申请实施例提供一种链路切换方法及装置,用以解决现有技术中存在的由于服务器和客户端之间的物理链路易损坏而导致的服务器的稳定性较差的问题。第一方面,本申请实施例提供的一种链路切换方法,应用于服务器,所述服务器包括至少两个网口,每个网口与一个链路接口相连,所述网口与所述链路接口之间包括多个网元,所述多个网元组成所述网口和所述链路接口之间的物理链路,该方法包括:若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则开启所述服务器中的第二网口;根据存储的网口和媒体访问控制(mediaaccesscontrol,mac)地址之间的对应关系,确定所述第二网口的mac地址;通过所述第二网口与第二链路接口之间的物理链路向各客户端发送用于广播所述第二网口的mac地址的报文,使各客户端根据所述报文切换到使用所述第二网口与第二链路接口之间的物理链路与所述服务器进行会话。本申请实施例中,若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则开启服务器中的第二网口,根据存储的网口和mac地址之间的对应关系,确定第二网口的mac地址,通过第二网口与第二链路接口之间的物理链路向各客户端发送用于广播第二网口的mac地址的报文,使各客户端根据该报文切换到使用第二网口与第二链路接口之间的物理链路与服务器进行会话,这样,若服务器当前使用的第一网口与第一链路接口之间的物理链路发生故障,还可切换到使用第二网口与第二链路接口之间的物理链路与各客户端进行会话,对客户端的影响比较小,服务器的稳定性也较好。可选地,所述预设的故障条件包括以下任意一种或多种:当前没有客户端通过所述第一网口与所述服务器进行会话;最近成功通过所述第一网口接入所述服务器的n个客户端均无法ping通、且在预设时长内没有客户端成功通过所述第一网口接入所述服务器,其中,n为大于零的整数。可选地,若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,还包括:关闭所述第一网口。采用上述方案,可确保当服务器使用的物理链路发生切换时,服务器的网络协议(internetprotocol,ip)地址保持不变、仅切换mac地址,ip资源的开销也比较小。可选地,还包括:读取所述服务器中与所述第一网口和所述第二网口均相连的phy芯片的状态信息,所述状态信息用于表征所述第一网口和所述第二网口关闭与否的状态;以及在通过所述第二网口与第二链路接口之间的物理链路向各客户端发送用于广播所述第二网口的mac地址的报文之前,还包括:根据所述phy芯片的状态信息确定所述第一网口处于关闭状态、所述第二网口处于打开状态。可选地,所述服务器为第五代5g移动通信网络中的集中单元cu,每个客户端为5g移动通信网络中的分布单元du;所述服务器为授时服务器,每个客户端为基站;或者,所述服务器为扩展单元cp,每个客户端为远端单元dp。第二方面,本申请实施例提供的一种链路切换装置,应用于服务器,所述服务器包括至少两个网口,每个网口与一个链路接口相连,所述网口与所述链路接口之间包括多个网元,所述多个网元组成所述网口和所述链路接口之间的物理链路,该装置包括:网口管理模块,用于若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则开启所述服务器中的第二网口;确定模块,用于根据存储的网口和媒体访问控制mac地址之间的对应关系,确定所述第二网口的mac地址;发送模块,用于通过所述第二网口与第二链路接口之间的物理链路向各客户端发送用于广播所述第二网口的mac地址的报文,使各客户端根据所述报文切换到使用所述第二网口与第二链路接口之间的物理链路与所述服务器进行会话。可选地,所述预设的故障条件包括以下任意一种或多种:当前没有客户端通过所述第一网口与所述服务器进行会话;最近成功通过所述第一网口接入所述服务器的n个客户端均无法ping通、且在预设时长内没有客户端成功通过所述第一网口接入所述服务器,其中,n为大于零的整数。可选地,所述网口管理模块还用于:若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则关闭所述第一网口。可选地,还包括:读取模块,用于读取所述服务器中与所述第一网口和所述第二网口均相连的phy芯片的状态信息,所述状态信息用于表征所述第一网口和所述第二网口关闭与否的状态;所述发送模块,还用于在通过所述第二网口与第二链路接口之间的物理链路向各客户端发送用于广播所述第二网口的mac地址的报文之前,根据所述phy芯片的状态信息确定所述第一网口处于关闭状态、所述第二网口处于打开状态。可选地,所述服务器为第五代5g移动通信网络中的集中单元cu,每个客户端为5g移动通信网络中的分布单元du;所述服务器为授时服务器,每个客户端为基站;或者,所述服务器为扩展单元cp,每个客户端为远端单元dp。第三方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述链路切换方法。第四方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述链路切换方法。另外,第二方面至第四方面中任一种设计方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的链路切换系统的示意图;图2为本申请实施例提供的一种链路切换方法的流程图;图3为本申请实施例提供的用于实现链路切换方法的电子设备的硬件结构示意图;图4为本申请实施例提供的链路切换装置的结构示意图。具体实施方式为了解决现有技术中存在的由于服务器和客户端之间的物理链路易损坏而导致的服务器的稳定性较差的问题,本申请实施例提供了一种链路切换方法及装置。以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。参见图1,图1示出了本申请实施例提供的链路切换系统的示意图,包括,服务器、链路系统和多个客户端,其中,服务器包括两个网口:网口1和网口2;网口1与链路1接口相连,网口1和链路1接口之间包括多个二层交换机,这多个二层交换机组成网口1和链路1接口之间的物理链路;网口2与链路2接口相连,网口2和链路2接口之间包括多个二层交换机,这多个二层交换机组成网口2和链路2接口之间的物理链路,服务器通过任一物理链路都可与各客户端进行会话,其中,网口1与链路1接口之间的二层交换机,和,网口2与链路2接口之间的二层交换机,可完全不同,也可有部分相同,且两者相同的二层交换机的数量越少链路备份的效果越好。在具体实施时,当服务器为第五代(fifthgeneration,5g)移动通信网络中的集中单元(centralizedunit,cu)时,每个客户端为5g移动通信网络中的分布单元(distributedunit,du);当服务器为授时服务器时,每个客户端为基站;当服务器为皮基站中的扩展单元(centralizedpart,cp)时,每个客户端为皮基站中的远端单元(distributedpart,dp)。假设当前服务器使用网口1与链路1接口之间的物理链路与各客户端进行会话,在此过程中,若确定网口1与链路1接口之间的物理链路满足预设的故障条件,如当前没有客户端通过网口1与服务器进行会话,则可通过现场可编程门阵列(field-programmablegatearray,fpga)编程来关闭网口1,开启网口2,根据存储的物理链路和mac地址之间的对应关系,确定网口2的mac地址,进而通过网口2与链路2接口之间的物理链路向各客户端发送用于广播网口2的mac地址的报文,使各客户端根据收到的该报文切换到使用网口2与链路2接口之间的物理链路与服务器进行会话。这样,若服务器当前使用的第一网口与第一链路接口之间的物理链路发生故障,还可切换到使用第二网口与第二链路接口之间的物理链路与各客户端进行会话,对客户端的影响比较小,服务器的稳定性也较好。并且,在本申请中,每个网口对应的为专用mac地址,当物理链路发生切换时,服务器的ip地址可保持不变、仅切换mac地址,这样,ip资源的开销也比较小。为了确保物理链路切换前后仅需改变服务器的mac地址、不需改变服务器的ip地址,上述过程中,在通过网口2与链路2接口之间的物理链路向各客户端发送用于广播网口2的mac地址的报文之前,还可以读取服务器中与网口1和网口2均相连的物理接口收发器phy芯片的状态信息,该状态信息用于表征网口1和网口2关闭与否的状态,根据phy芯片的状态信息确定网口1处于关闭状态、网口2处于打开状态。此外,上述网口1与链路1接口之间的物理链路和网口2与链路2接口之间的物理链路均属于业务链路,服务器还可包含一条控制链路,该条控制链路与服务器中的另一个网口相连(图1中未示出),在具体实施时,可利用路由策略将服务器的业务链路与控制链路分开,这样,可将业务数据与控制数据分离,增强业务数据和系统的安全性。如图2所示,为本申请实施例提供的一种链路切换方法的流程图,包括以下步骤:s201:确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件。其中,预设的故障条件包括以下任意一种或多种:当前没有客户端通过第一网口与服务器进行会话;最近成功通过第一网口接入服务器的n个客户端均无法ping通、且在预设时长内没有客户端成功通过第一网口接入服务器,其中,n为大于零的整数。s202:关闭第一网口,开启第二网口。这里,第一网口关闭成功以后第一网口与第一链路接口之间的物理链路就不可使用,第二网口打开成功以后第二网口与第二链路接口之间的物理链路即可使用。s203:读取服务器中与第一网口和第二网口均相连的phy芯片的状态信息,该状态信息用于表征第一网口和第二网口关闭与否的状态。比如,对第一网口,若phy芯片对应的状态信息为true,则代表第一网口处于打开状态;若phy芯片对应的状态信息为false,则代表第一网口处于关闭状态;第二网口类似,在此不再赘述。s204:根据phy芯片的状态信息判断是否第一网口处于关闭状态、且第二网口处于打开状态,若是,则进入s205;否则,返回s202。s205:通过第二网口与第二链路接口之间的物理链路向各客户端发送用于广播第二网口的mac地址的报文,使各客户端根据该报文切换到使用第二网口与第二链路接口之间的物理链路与服务器进行会话。比如,可以通过第二网口与第二链路接口之间的物理链路向各客户端发送免费地址解析协议(addressresolutionprotocol,arp)报文,这样,每个客户端在接收到arp报文后,可更新自己存储的服务器的ip地址和mac地址,后续,根据更新后的服务器ip地址和mac地址使用第二网口与第二链路接口之间的物理链路与服务器进行会话。本申请实施例中,若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则开启服务器中的第二网口,根据存储的网口和mac地址之间的对应关系,确定第二网口的mac地址,通过第二网口与第二链路接口之间的物理链路向各客户端发送用于广播第二网口的mac地址的报文,使各客户端根据该报文切换到使用第二网口与第二链路接口之间的物理链路与服务器进行会话,这样,若服务器当前使用的第一网口与第一链路接口之间的物理链路发生故障,还可切换到使用第二网口与第二链路接口之间的物理链路与各客户端进行会话,对客户端的影响比较小,服务器的稳定性也较好。此外,在本申请中,每个网口对应的为该网口专用的mac地址,当网口发生切换时,服务器的ip地址保持不变、仅切换mac地址,ip资源的开销也比较小。下面结合具体的实施例对上述过程进行介绍。在具体实施时,服务器启动后,可利用路由策略将业务链路与控制链路分开,比如利用路由表将业务网口与控制网口分别绑定不同的路由表,如下列绑定命令:iprouteadd10.10.10.8/24deveth0table100;iprouteadddefaultvia10.10.10.254table100;ipruleaddfrom10.10.10.18table100pref30000;这样,可将业务数据与控制数据分离,增强业务数据和系统的安全性。进一步地,服务器可周期性读取底层phy芯片的值,若根据phy芯片的值确定网口1在位,则通过底层fpga编程,开启网口1,同时关闭网口2,然后发送免费arp报文以广播服务器的ip地址和网口1对应的专用mac地址,等待客户端连接,若在设定时长后,如2分钟后,没有客户端通过网口1成功连接服务器,则利用fpga编程,关闭网口1,开启网口2,然后发送免费arp报文以广播服务器的ip地址和网口2对应的专用mac地址,等待客户端连接…依次轮询操作这两个网口,直到检测到某网口有相关业务数据包时停止轮询,并对相关业务数据包进行检测。假设检测到有相关业务数据包的为网口1,则服务器后续使用网口1与链路接口1之间的物理链路与各客户端进行会话,在使用网口1与链路接口1之间的物理链路的过程中,若检测到当前没有客户端通过网口1与服务器进行会话,而且最近通过网口1成功接入服务器的5个客户端无法ping通、且等待2分钟后仍无客户端通过网口1成功接入服务器,则可确定网口1与链路接口1之间的物理链路发生了故障,此时,可重新回到周期性读取底层phy芯片的值的步骤。这样,结合客户端的会话情况、ping机制和等待时长来处理物理链路的损坏问题,不需要复杂的检测试机制,处理方法比较简单、高效。参见图3所示,为本申请实施例提供的一种电子设备的结构示意图,该电子设备包括收发器301以及处理器302等物理器件,其中,处理器302可以是一个中央处理单元(centralprocessingunit,cpu)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器301用于电子设备和其他设备进行数据收发。该电子设备还可以包括存储器303用于存储处理器302执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器303可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器303也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器303是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器303可以是上述存储器的组合。本申请实施例中不限定上述处理器302、存储器303以及收发器301之间的具体连接介质。本申请实施例在图3中仅以存储器303、处理器302以及收发器301之间通过总线304连接为例进行说明,总线在图3中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。处理器302可以是专用硬件或运行软件的处理器,当处理器302可以运行软件时,处理器302读取存储器303存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的链路切换方法。当本申请实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。具体的,参见图4所示,为本申请实施例提供的链路切换装置的结构示意图,包括网口管理模块401、确定模块402、发送模块403。网口管理模块401,用于若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则开启所述服务器中的第二网口;确定模块402,用于根据存储的网口和媒体访问控制mac地址之间的对应关系,确定所述第二网口的mac地址;发送模块403,用于通过所述第二网口与第二链路接口之间的物理链路向各客户端发送用于广播所述第二网口的mac地址的报文,使各客户端根据所述报文切换到使用所述第二网口与第二链路接口之间的物理链路与所述服务器进行会话。可选地,所述预设的故障条件包括以下任意一种或多种:当前没有客户端通过所述第一网口与所述服务器进行会话;最近成功通过所述第一网口接入所述服务器的n个客户端均无法ping通、且在预设时长内没有客户端成功通过所述第一网口接入所述服务器,其中,n为大于零的整数。可选地,所述网口管理模块401还用于:若确定服务器当前使用的第一网口与第一链路接口之间的物理链路满足预设的故障条件,则关闭所述第一网口。可选地,还包括:读取模块404,用于读取所述服务器中与所述第一网口和所述第二网口均相连的phy芯片的状态信息,所述状态信息用于表征所述第一网口和所述第二网口关闭与否的状态;所述发送模块403,还用于在通过所述第二网口与第二链路接口之间的物理链路向各客户端发送用于广播所述第二网口的mac地址的报文之前,根据所述phy芯片的状态信息确定所述第一网口处于关闭状态、所述第二网口处于打开状态。可选地,所述服务器为第五代5g移动通信网络中的集中单元cu,每个客户端为5g移动通信网络中的分布单元du;所述服务器为授时服务器,每个客户端为基站;或者,所述服务器为扩展单元cp,每个客户端为远端单元dp。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。在一些可能的实施方式中,本申请提供的链路切换方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的链路切换方法中的步骤。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。本申请的实施方式的用于链路切换的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1