CN113645048B - 网卡切换方法、装置以及现场可编程逻辑门阵列fpga - Google Patents
网卡切换方法、装置以及现场可编程逻辑门阵列fpga Download PDFInfo
- Publication number
- CN113645048B CN113645048B CN202110909558.1A CN202110909558A CN113645048B CN 113645048 B CN113645048 B CN 113645048B CN 202110909558 A CN202110909558 A CN 202110909558A CN 113645048 B CN113645048 B CN 113645048B
- Authority
- CN
- China
- Prior art keywords
- phy
- network card
- fpga
- link state
- link
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000006854 communication Effects 0.000 claims abstract description 152
- 238000004891 communication Methods 0.000 claims abstract description 151
- 230000002159 abnormal effect Effects 0.000 claims abstract description 31
- 101100520014 Ceratodon purpureus PHY1 gene Proteins 0.000 claims description 77
- 238000012545 processing Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 101150005660 PHY1 gene Proteins 0.000 description 4
- 238000011835 investigation Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 101100520018 Ceratodon purpureus PHY2 gene Proteins 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011451 sequencing strategy Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种网卡切换方法、装置以及现场可编程逻辑门阵列FPGA,用于提供一种新的网卡切换机制,减少网卡切换为FPGA所处设备的处理器带来的负担,进而保障了网卡切换操作的稳定性、流畅性。本申请提供的一种网卡切换方法,方法包括:FPGA采集连接的第一PHY的第一链路状态信息;FPGA根据第一链路状态信息,判断第一PHY对应第一通信链路是否异常;若第一通信链路异常,则FPGA将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。有效的解决了现有技术中系统对于网卡之间的切换,有时候存在异常或者不稳定的问题。
Description
技术领域
本申请涉及通信领域,具体涉及一种网卡切换方法、装置以及现场可编程逻辑门阵列FPGA。
背景技术
在部署的以太网通信架构中,涉及到网卡的部署,网卡,也可称为网络接口卡,可以理解为一块用于允许计算机设备在计算机网络上进行通讯的计算机硬件,作为计算机设备对外通信的基础。
为保证通信上的可靠性,业界广泛采用双网卡冗余备份方案,简单地可以理解为部署了两块网卡,这两块网卡分为主网卡和备用网卡,两块网卡具有相同的介质存取控制(Media Access Control,MAC)地址和互联网协议(Internet Protocol,IP)地址,正常情况下由主网卡进行数据的收发工作,当主网卡的通信链路出现故障时,切换到备用网卡继续进行数据的收发工作。
而在现有的相关技术的研究过程中,发明人发现,从切换结果看,系统对于网卡之间的切换,有时候存在异常或者不稳定的情况,而这影响了计算机设备的使用。
发明内容
本申请提供了一种网卡切换方法、装置以及现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA),用于提供一种新的网卡切换机制,减少网卡切换为FPGA所处设备的处理器带来的负担,进而保障了网卡切换操作的稳定性、流畅性。
第一方面,本申请提供了一种网卡切换方法,方法包括:
FPGA采集连接的第一端口物理层(Physical,PHY)的第一链路状态信息;
FPGA根据第一链路状态信息,判断第一PHY对应第一通信链路是否异常;
若第一通信链路异常,则FPGA将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,FPGA采集连接的第一PHY的第一链路状态信息之前,方法还包括:
FPGA识别自身连接的至少两个PHY;
FPGA采集至少两个PHY的链路状态信息;
FPGA根据至少两个PHY的链路状态信息,确定链路正常的目标PHY;
FPGA根据预设的排序策略对目标PHY进行排序,并将取得第一序列的PHY确认为第一PHY。
结合本申请第一方面,在本申请第一方面第二种可能的实现方式中,FPGA采集连接的第一PHY的第一链路状态信息之前,方法还包括:
FPGA接收物理网卡传输过来的第一数字信号;
FPGA通过物理网卡与第一PHY之间的链路状态,将第一数字信号传输至第一PHY,使得第一PHY将第一数字信号转换为第一模拟信号,并将第一模拟信号通过第一PHY对应链路的网络接口传输出去;
或者,
FPGA接收第一PHY传输过来的第二数字信号,第二数字信号是第一PHY将网络接口接收到的第二模拟信号转换得到的;
FPGA通过物理网卡与第一PHY之间的链路状态,将第二数字信号传输至物理网卡,使得物理网卡将第二数字信号传输出去。
结合本申请第一方面,在本申请第一方面第三种可能的实现方式中,FPGA将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态之前,方法还包括:
FPGA采集连接的第二PHY的第二链路状态信息;
FPGA根据第二链路状态信息,判断第二PHY对应第二通信链路是否异常;
若第二通信链路正常,则FPGA触发将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
结合本申请第一方面,在本申请第一方面第四种可能的实现方式中,FPGA将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态之后,方法还包括:
FPGA采集连接的第一PHY的新的第一链路状态信息;
FPGA根据新的第一链路状态信息,判断第一PHY对应第一通信链路是否异常;
若第一通信链路正常,则FPGA将物理网卡与第二PHY之间的链路状态,切换至物理网卡与第一PHY之间的链路状态。
结合本申请第一方面,在本申请第一方面第五种可能的实现方式中,FPGA包括状态控制器、网络控制器以及切换控制器;
状态控制器用于采集连接的PHY的链路状态信息;
网络控制器用于网络数据、MAC数据的收发;
切换控制器用于切换物理网卡与PHY之间的链路状态。
第二方面,本申请提供了一种网卡切换装置,装置包括:
采集单元,用于采集连接的第一PHY的第一链路状态信息;
判断单元,用于根据第一链路状态信息,判断第一PHY对应第一通信链路是否异常,若第一通信链路异常,则触发切换单元;
切换单元,用于将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,装置还包括确认单元,用于:
识别自身连接的至少两个PHY;
采集至少两个PHY的链路状态信息;
根据至少两个PHY的链路状态信息,确定链路正常的目标PHY;
根据预设的排序策略对目标PHY进行排序,并将取得第一序列的PHY确认为第一PHY。
结合本申请第二方面,在本申请第二方面第二种可能的实现方式中,装置还包括传输单元,用于:
接收物理网卡传输过来的第一数字信号;
通过物理网卡与第一PHY之间的链路状态,将第一数字信号传输至第一PHY,使得第一PHY将第一数字信号转换为第一模拟信号,并将第一模拟信号通过第一PHY对应链路的网络接口传输出去;
或者,
接收第一PHY传输过来的第二数字信号,第二数字信号是第一PHY将网络接口接收到的第二模拟信号转换得到的;
通过物理网卡与第一PHY之间的链路状态,将第二数字信号传输至物理网卡,使得物理网卡将第二数字信号传输出去。
结合本申请第二方面,在本申请第二方面第三种可能的实现方式中,装置还包括触发单元,用于:
采集连接的第二PHY的第二链路状态信息;
根据第二链路状态信息,判断第二PHY对应第二通信链路是否异常;
若第二通信链路正常,则触发将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
结合本申请第二方面,在本申请第二方面第四种可能的实现方式中,装置还包括恢复单元,用于:
采集连接的第一PHY的新的第一链路状态信息;
根据新的第一链路状态信息,判断第一PHY对应第一通信链路是否异常;
若第一通信链路正常,则将物理网卡与第二PHY之间的链路状态,切换至物理网卡与第一PHY之间的链路状态。
结合本申请第二方面,在本申请第二方面第五种可能的实现方式中,装置包括状态控制器、网络控制器以及切换控制器;
状态控制器用于采集连接的PHY的链路状态信息;
网络控制器用于网络数据、MAC数据的收发;
切换控制器用于切换物理网卡与PHY之间的链路状态。
第三方面,本申请提供了一种FPGA,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种处理设备,包括本申请第三方面提供的FPGA。
第五方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对于网卡切换场景,本申请在物理网卡与两PHY之间引入FPGA,由FPGA实现单网卡与双冗余网络接口之间的网卡切换控制,对于所处设备的处理器而言,在软件层面上处理器也只能识别到一块网卡,只需要管理一块网卡,有效降低了处理器的负担,保障了网卡切换操作的稳定性、流畅性,尤其是可直接避免现有技术中两网卡处于不同处理器平台或者操作系统对网卡切换的影响,此外基于硬件进行双冗余网卡切换,尤其是由FPGA直接在网卡切换所涉及的通信结构中进行实时监测以及切换控制,还可大大提高切换的实时性,并且在硬件层面上也只需要配置一块网卡,也可有效降低硬件成本以及结构设计成本,具有较佳的实用价值。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请网卡切换方法的一种流程示意图;
图2为本申请网卡切换方法的一种场景示意图;
图3为本申请网卡切换方法的又一种场景示意图;
图4为本申请网卡切换装置的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的网卡切换方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的网卡切换方法、装置以及计算机可读存储介质,可应用于FPGA,用于提供一种新的网卡切换机制,减少网卡切换为FPGA所处设备的处理器带来的负担,进而保障了网卡切换操作的稳定性、流畅性。
本申请提及的网卡切换方法,其执行主体可以为网卡切换装置,或者集成了该网卡切换装置的FPGA,而FPGA可配置在服务器、物理主机或者用户设备(User Equipment,UE)等不同类型的处理设备上。其中,网卡切换装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal DigitalAssistant,PDA)等终端设备,处理设备可以通过设备集群的方式设置。
可以理解的是,本申请所称的降低FPGA所处设备的处理器(非FPGA的处理器)的负担,也可以理解为降低FPGA所处设备的系统的负担,该系统既可以是处理设备整体层面的管理系统,也可以是处理设备通信层面的管理系统。
其网卡切换机制,相比于现有技术中在两块物理网卡之间进行切换,本申请则采用的是系统未感知、未操作的情况下,在一块物理网卡的基础上实现网卡对应主、备用通信链路的切换功能,在主通信链路出现异常时切换备用通信链路继续工作,保障处理设备的通信功能,因此,本申请还可以理解为提出一种新的通信链路的切换方法、切换机制。
本申请网卡切换机制的核心在于引入的FPGA,该FPGA,现场可编程逻辑门阵列,从芯片器件的角度来看,可以理解为其本身构成了半定制电路中的一种典型集成电路,能够有效的解决原有的器件门电路数较少的问题。
FPGA的基本结构,可包括可编程输入输出单元、可配置逻辑块、数字时钟管理模块、嵌入式块RAM、布线资源、内嵌专用硬核、底层内嵌功能单元等,具有布线资源丰富、可重复编程、集成度高、成本较低等优点。
下面,开始介绍本申请提供的网卡切换方法。
首先,参阅图1,图1示出了本申请网卡切换方法的一种流程示意图,本申请提供的网卡切换方法,具体可包括如下步骤S101至步骤S103:
步骤S101,FPGA采集连接的第一PHY的第一链路状态信息;
可以理解,在本申请中,第一PHY为预先配置的主通信链路中的PHY,在正常通信链路中,物理网卡通过PHY与网络接口之间构成一通信链路,而本申请,则具体在物理网卡与PHY之间,配置的FPGA。
其中,PHY,端口物理层,用于对通信过程中涉及的数字信号以及模拟信号之间,进行信号的转换,在实际应用中,一般是以PHY处理芯片的形式存在。
结合图2示出的本申请网卡切换方法的一种场景示意图,可以理解,本申请在存在主、备用两条通信链路时,PHY一侧连接的单块物理网卡,另一侧连接两条通信链路,一条通信链路包括第一PHY以及第一网络接口,另一条通信链路包括第二PHY以及第二网络接口。
而包括第一PHY、第一网络接口的通信链路,则为预先配置的主通信链路,另一通信链路,则为备用通信链路。
应当说明的是,在实际应用中,还可能存在多个备用通信链路的特殊情况,因此,第二通信链路,还可能为包括多条通信链路的情况,每条通信链路的结构应当和第一通信链路相同。
对于这些通信链路,在网卡切换需求下,是共享相同的MAC地址以及IP地址的,但链路之间不会同时工作,在正常工作时,只由当前配置的第一通信链路进行工作,提供通信服务,其他通信链路则作为备用链路等待切换使用。
在数据层面上,FPGA则可通过基于数据包的数据交换,进行通联链路的链路状态检测,并得到其链路状态信息。
该链路状态信息,为PHY所在通信链路的状态信息,是根据预设的链路状态检测需求,在具体的链路状态项目下检测并得到的。
一般的,链路状态信息可包括通断状态,进一步的还可包括传输速率、丢包率等更为具体的信息,具体可随实际需要调整,在此不做具体限定。
步骤S102,FPGA根据第一链路状态信息,判断第一PHY对应第一通信链路是否异常,若第一通信链路异常,则触发步骤S103;
可以理解的是,本申请所采集的链路状态信息,主要是针对判断对应通信链路是否存在异常而采集的,也就是说,链路状态信息中的具体信息,是为判断对应通信链路是否存在异常而配置的,当然,在实际应用中,该链路状态信息中的具体信息,也可能包含并非为判断对应通信链路是否存在异常而配置的信息。
其中,该链路状态信息,以及基于链路状态信息判断对应通信链路是否存在异常,两者所采取的处理方案,可以是现有方案,或者,也可以是本申请经过优化设置后的方案。
而当确定了第一通信链路,即主通信链路异常时,则可触发后续步骤S103进行通信链路的切换。
若确定未异常,或者说确定正常,则可继续保持当前的主通信链路、第一通信链路。
步骤S103,FPGA将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
当确定了当前的主通信链路、第一通信链路异常后,则可触发链路的切换,由FPGA将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
可以理解的是,该链路状态的切换,为原有的硬件连接状态的基础上,由FPGA内部程序上进行数据传输路径的调整。
此时,在切换至物理网卡与第二PHY之间的链路状态后,则可避避免第一PHY所在第一通信链路存在的异常带来的通信异常影响。
从图1所示实施例可看出,针对于网卡切换场景,本申请在物理网卡与两PHY之间引入FPGA,由FPGA实现单网卡与双冗余网络接口之间的网卡切换控制,对于所处设备的处理器而言,在软件层面上处理器也只能识别到一块网卡,只需要管理一块网卡,有效降低了处理器的负担,保障了网卡切换操作的稳定性、流畅性,尤其是可直接避免现有技术中两网卡处于不同处理器平台或者操作系统对网卡切换的影响,此外基于硬件进行双冗余网卡切换,尤其是由FPGA直接在网卡切换所涉及的通信结构中进行实时监测以及切换控制,还可大大提高切换的实时性,并且在硬件层面上也只需要配置一块网卡,也可有效降低硬件成本以及结构设计成本,具有较佳的实用价值。
以上内容是从网卡切换场景进行说明的,下面则对该网卡切换场景涉及的其他内容继续说明。
在实际应用中,主、备用通信链路,可以是由用户、工作人员手动配置的。可以理解,在实际应用中未发现异常的通信链路前,都可默认主、备用光通信链路都是正常的,因此,可随机择一作为主通信链路,该主通信链路中的PHY则为上述所提及的第一PHY,网络接口同理,为第一网络接口。
当然,用户、工作人员在手动配置主、备用通信链路时,也可对通信链路进行排查,并选择未存在异常的通信链路作为主通信链路。
或者,基于排查所涉及的排查逻辑,由FPGA自主进行排查。
作为一种具体的实现方式,该排查逻辑,仍可以通过上述步骤S101以及步骤S102中涉及的链路状态信息,以及基于链路状态信息确定对应通信链路是否异常的确定策略实现。
对应的,在不定时、定时或者受人工触发下执行步骤S101之前,还可包括第一通信链路的配置,即,可包括下述步骤:
FPGA识别自身连接的至少两个PHY;
FPGA采集至少两个PHY的链路状态信息;
FPGA根据至少两个PHY的链路状态信息,确定链路正常的目标PHY;
FPGA根据预设的排序策略对目标PHY进行排序,并将取得第一序列的PHY确认为第一PHY。
可以理解,第一通信链路的确定,可相当于第一PHY的确定,确定了直接连接FPGA的第一PHY,即确定了第一通信链路。
而对于目标PHY的排序策略,可以理解,通常主通信链路的配置,是处于处理设备的初始工作状态的,此时各通信链路都为正常状态,则需由FPGA选择其中的一条通信链路作为主通信链路。
或者,在上文也有提及了,还可能存在多条通信链路(至少三条)的情况,此时,无论是所有的通信链路都正常,还是某一条通信链路异常、触发配置新的主通信链路,都涉及通信链路的挑选。
该排序策略,可以根据链路标识的标识形式部署,例如根据链路编码1、2的数字排序方式选择下一顺位的通信链路,又例如根据链路编码a、b的字母排序方式选择下一顺位的通信链路;或者,也可将预先手动直接设定好的通信链路的顺序进行排序及其选择;或者,还可以采用随机的方式部署,其具体排序策略,可随实际需要调整,在此不做具体限定。
此外,在未检测到主通信链路出现异常时,基于主通信链路实现的通信、数据传输,其过程包括:
FPGA接收物理网卡传输过来的第一数字信号;
FPGA通过物理网卡与第一PHY之间的链路状态,将第一数字信号传输至第一PHY,使得第一PHY将第一数字信号转换为第一模拟信号,并将第一模拟信号通过第一PHY对应链路的网络接口传输出去;
或者,
FPGA接收第一PHY传输过来的第二数字信号,第二数字信号是第一PHY将网络接口接收到的第二模拟信号转换得到的;
FPGA通过物理网卡与第一PHY之间的链路状态,将第二数字信号传输至物理网卡,使得物理网卡将第二数字信号传输出去。
可以看出,FPGA在正常工作时,除了监测主通信链路是否异常以及切换链路状态以外,一般在整体的通信链路中起到的是一种数据传输路径的效果,未对传输的信号、数据进行加工处理,只起到传输作用。
回归到链路切换过程,进一步的,为保证有效切换到正常的通信链路,在触发将物理网卡与第一PHY之间的链路状态,切换至第二PHY之间的链路状态之前,还可对该第二PHY对应通信链路进行异常排查,从而构建了一种安全保障机制。
如此,又可涉及到类似步骤S101、步骤S102,对第二PHY对应通信链路的链路状态信息的采集以及判断是否异常的处理,即:
FPGA采集连接的第二PHY的第二链路状态信息;
FPGA根据第二链路状态信息,判断第二PHY对应第二通信链路是否异常;
若第二通信链路正常,则FPGA触发将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
此外,在实际应用中,当监测到异常的通信链路后,FPGA还可对外输出预警,以便用户、工作人员对该异常的通信链路进行异常排查、维护、维修等操作,例如更换PHY、网络接口硬件、空置一段时间等操作,以恢复通信链路的正常状态。
可考虑最初通信链路的选择,可以理解的是,之前确定的主通信链路,为取得最佳通信性能的通信链路,并可认为其恢复正常后,认为仍可取得最佳通信性能,因此,还可将其切换回来,又作为主通信链路进行使用。
即:
FPGA采集连接的第一PHY的新的链路状态信息;
FPGA根据新的链路状态信息,判断第一PHY对应第一通信链路是否异常;
若第一通信链路正常,则FPGA将物理网卡与第二PHY之间的链路状态,切换至物理网卡与第一PHY之间的链路状态。
当然,应当理解的是,不仅可出于通信性能的考量,在实际应用中,也可考虑其他考量因素,尽可能将原先作为主通信链路的通信链路在后续仍作为主通信链路使用,具体随实际需要配置即可。
例如,可能主、备用通信链路在硬件上的配件是不同的,优选采用认为具有更佳性能的配件的通信链路作为主通信链路;
又例如,可能主、备用通信链路的使用寿命是不同的,优选采用使用寿命较长的通信链路作为主通信链路。
可以理解,在主通信链路的恢复机制,主要目的是为了使得通信链路的工作性能保持相对一定。
继续参考图3示出的本申请网卡切换方法的又一种场景示意图,在本申请中,FPGA可包括状态控制器、网络控制器以及切换控制器,其中,状态控制器用于采集连接的PHY的链路状态信息,网络控制器用于网络数据、MAC数据的收发,切换控制器用于切换物理网卡与PHY之间的链路状态。
从图3中可看出,在FPGA右侧,对应PHY1所在的通信链路1,则可配置状态控制器1以及网络控制器1;对应PHY2所在的通信链路2,则可配置状态控制器1以及网络控制器1。而在FPGA左侧,对应物理网卡,配置一状态控制器以及一网络控制器即可,这两控制器的工作,可参考PHY所在通信链路对应的控制器。
在设备处于工作状态后,切换控制器默认将左侧的状态控制器与右侧的状态控制器1进行连接,左侧的网络控制器与右侧的网络控制器1进行连接,该设置可以理解为主通信链路的配置。
PHY可监测各通信链路的链路状态,即切换控制器通过状态控制器1持续读取PHY1的链路状态信息,状态控制器2持续读取网络控制器2的状态信息。
当切换控制器监测到PHY1的链路异常时,如果PHY2的链路正常,则启动链路切换,将左侧的状态控制器与右侧的状态控制器2进行连接,左侧的网络控制器与右侧网络控制器2进行连接,该设置可以理解为将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
后续的,当切换控制器监测到PHY1的链路正常后,则启动通道恢复,将左侧的状态控制器与右侧的状态控制器1进行连接,左侧的网络控制器与右侧的网络控制器1进行连接,该设置可以理解为将物理网卡与第二PHY之间的链路状态,切换至物理网卡与第一PHY之间的链路状态。
以上是本申请提供网卡切换方法的介绍,为便于更好的实施本申请提供的网卡切换方法,本申请还从功能模块角度提供了一种网卡切换装置。
参阅图4,图4为本申请网卡切换装置的一种结构示意图,在本申请中,网卡切换装置400具体可包括如下结构:
采集单元401,用于采集连接的第一PHY的第一链路状态信息;
判断单元402,用于根据第一链路状态信息,判断第一PHY对应第一通信链路是否异常,若第一通信链路异常,则触发切换单元403;
切换单元403,用于将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
在一种示例性的实现方式中,装置还包括确认单元404,用于:
识别自身连接的至少两个PHY;
采集至少两个PHY的链路状态信息;
根据至少两个PHY的链路状态信息,确定链路正常的目标PHY;
根据预设的排序策略对目标PHY进行排序,并将取得第一序列的PHY确认为第一PHY。
在又一种示例性的实现方式中,装置还包括传输单元405,用于:
接收物理网卡传输过来的第一数字信号;
通过物理网卡与第一PHY之间的链路状态,将第一数字信号传输至第一PHY,使得第一PHY将第一数字信号转换为第一模拟信号,并将第一模拟信号通过第一PHY对应链路的网络接口传输出去;
或者,
接收第一PHY传输过来的第二数字信号,第二数字信号是第一PHY将网络接口接收到的第二模拟信号转换得到的;
通过物理网卡与第一PHY之间的链路状态,将第二数字信号传输至物理网卡,使得物理网卡将第二数字信号传输出去。
在又一种示例性的实现方式中,装置还包括触发单元406,用于:
采集连接的第二PHY的第二链路状态信息;
根据第二链路状态信息,判断第二PHY对应第二通信链路是否异常;
若第二通信链路正常,则触发将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
在又一种示例性的实现方式中,装置还包括恢复单元407,用于:
采集连接的第一PHY的新的第一链路状态信息;
根据新的第一链路状态信息,判断第一PHY对应第一通信链路是否异常;
若第一通信链路正常,则将物理网卡与第二PHY之间的链路状态,切换至物理网卡与第一PHY之间的链路状态。
在又一种示例性的实现方式中,装置包括状态控制器、网络控制器以及切换控制器;
状态控制器用于采集连接的PHY的链路状态信息;
网络控制器用于网络数据、MAC数据的收发;
切换控制器用于切换物理网卡与PHY之间的链路状态。
本申请还从硬件结构角度提供了一种FPGA,该FPGA的基本结构,可包括可编程输入输出单元、可配置逻辑块、数字时钟管理模块、嵌入式块RAM、布线资源、内嵌专用硬核、底层内嵌功能单元等,其处理器用于执行存储器中存储的计算机程序时实现如图1对应实施例中网卡切换方法的各步骤;或者,处理器用于执行存储器中存储的计算机程序时实现如图4对应实施例中各单元的功能,存储器用于存储处理器执行上述图1对应实施例中网卡切换方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
处理器用于执行存储器中存储的计算机程序时,具体可实现以下功能:
采集连接的第一PHY的第一链路状态信息;
根据第一链路状态信息,判断第一PHY对应第一通信链路是否异常;
若第一通信链路异常,则将物理网卡与第一PHY之间的链路状态,切换至物理网卡与第二PHY之间的链路状态。
本申请还继续从硬件结构角度提供了一种处理设备,例如服务器、物理主机或者UE等不同类型的处理设备,该处理设备配置了本申请所提供的FPGA,从而可通过该FPGA,实现如图1对应实施例中网卡切换方法的各步骤或者图4对应实施例中各单元的功能。
而对于处理设备本身,其可包括,但不仅限于处理器、存储器、输入输出设备。本领域技术人员可以理解,示意仅仅是处理设备的示例,并不构成对处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如处理设备还可以包括网络接入设备、总线等,处理器、存储器、输入输出设备等通过总线相连。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是处理设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据处理设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网卡切换装置、处理设备及其相应单元的具体工作过程,可以参考如图1对应实施例中网卡切换方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中网卡切换方法的步骤,具体操作可参考如图1对应实施例中网卡切换方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例中网卡切换方法的步骤,因此,可以实现本申请如图1对应实施例中网卡切换方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的网卡切换方法、装置、FPGA、处理设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种网卡切换方法,其特征在于,所述方法包括:
现场可编程逻辑门阵列FPGA采集连接的第一端口物理层PHY的第一链路状态信息,所述FPGA分别连接物理网卡、第一PHY和第二PHY三者;
所述FPGA根据所述第一链路状态信息,判断所述第一PHY对应第一通信链路是否异常;
若所述第一通信链路异常,则所述FPGA将所述物理网卡与所述第一PHY之间的链路状态,切换至所述物理网卡与所述第二PHY之间的链路状态;
其中,所述FPGA包括状态控制器、网络控制器以及切换控制器;
所述状态控制器用于采集连接的PHY的链路状态信息;
所述网络控制器用于网络数据、MAC数据的收发;
所述切换控制器用于切换所述物理网卡与PHY之间的链路状态;
所述FPGA在整体的通信链路中起到的是一种数据传输路径的效果,未对传输的信号、数据进行加工处理,只起到传输作用,对应的,所述FPGA采集连接的第一PHY的第一链路状态信息之前,所述方法还包括:
所述FPGA接收所述物理网卡传输过来的第一数字信号;
所述FPGA通过所述物理网卡与所述第一PHY之间的链路状态,将所述第一数字信号传输至所述第一PHY,使得所述第一PHY将所述第一数字信号转换为第一模拟信号,并将所述第一模拟信号通过所述第一PHY对应链路的网络接口传输出去;
或者,
所述FPGA接收所述第一PHY传输过来的第二数字信号,所述第二数字信号是所述第一PHY将所述网络接口接收到的第二模拟信号转换得到的;
所述FPGA通过所述物理网卡与所述第一PHY之间的链路状态,将所述第二数字信号传输至所述物理网卡,使得所述物理网卡将所述第二数字信号传输出去。
2.根据权利要求1所述的方法,其特征在于,所述FPGA采集连接的第一PHY的第一链路状态信息之前,所述方法还包括:
所述FPGA识别自身连接的至少两个PHY;
所述FPGA采集所述至少两个PHY的链路状态信息;
所述FPGA根据所述至少两个PHY的链路状态信息,确定链路正常的目标PHY;
所述FPGA根据预设的排序策略对所述目标PHY进行排序,并将取得第一序列的PHY确认为所述第一PHY。
3.根据权利要求1所述的方法,其特征在于,所述FPGA将物理网卡与所述第一PHY之间的链路状态,切换至所述物理网卡与第二PHY之间的链路状态之前,所述方法还包括:
所述FPGA采集连接的所述第二PHY的第二链路状态信息;
所述FPGA根据所述第二链路状态信息,判断所述第二PHY对应第二通信链路是否异常;
若所述第二通信链路正常,则所述FPGA触发将所述物理网卡与所述第一PHY之间的链路状态,切换至所述物理网卡与第二PHY之间的链路状态。
4.根据权利要求1所述的方法,其特征在于,所述FPGA将物理网卡与所述第一PHY之间的链路状态,切换至所述物理网卡与第二PHY之间的链路状态之后,所述方法还包括:
所述FPGA采集连接的所述第一PHY的新的第一链路状态信息;
所述FPGA根据所述新的第一链路状态信息,判断所述第一PHY对应第一通信链路是否异常;
若所述第一通信链路正常,则所述FPGA将所述物理网卡与所述第二PHY之间的链路状态,切换至所述物理网卡与第一PHY之间的链路状态。
5.一种网卡切换装置,其特征在于,所述装置应用于现场可编程逻辑门阵列FPGA,所述装置包括:
采集单元,用于采集连接的第一端口物理层PHY的第一链路状态信息,所述FPGA分别连接物理网卡、第一PHY和第二PHY三者;
判断单元,用于根据所述第一链路状态信息,判断所述第一PHY对应第一通信链路是否异常,若所述第一通信链路异常,则触发切换单元;
所述切换单元,用于将所述物理网卡与所述第一PHY之间的链路状态,切换至所述物理网卡与所述第二PHY之间的链路状态;
其中,所述FPGA包括状态控制器、网络控制器以及切换控制器;
所述状态控制器用于采集连接的PHY的链路状态信息;
所述网络控制器用于网络数据、MAC数据的收发;
所述切换控制器用于切换所述物理网卡与PHY之间的链路状态;
所述FPGA在整体的通信链路中起到的是一种数据传输路径的效果,未对传输的信号、数据进行加工处理,只起到传输作用,对应的,所述装置还包括传输单元,用于:
接收所述物理网卡传输过来的第一数字信号;
通过所述物理网卡与所述第一PHY之间的链路状态,将所述第一数字信号传输至所述第一PHY,使得所述第一PHY将所述第一数字信号转换为第一模拟信号,并将所述第一模拟信号通过所述第一PHY对应链路的网络接口传输出去;
或者,
接收所述第一PHY传输过来的第二数字信号,所述第二数字信号是所述第一PHY将所述网络接口接收到的第二模拟信号转换得到的;
通过所述物理网卡与所述第一PHY之间的链路状态,将所述第二数字信号传输至所述物理网卡,使得所述物理网卡将所述第二数字信号传输出去。
6.一种现场可编程逻辑门阵列FPGA,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至4任一项所述的方法。
7.一种处理设备,其特征在于,包括如权利要求6所述的FPGA。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909558.1A CN113645048B (zh) | 2021-08-09 | 2021-08-09 | 网卡切换方法、装置以及现场可编程逻辑门阵列fpga |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909558.1A CN113645048B (zh) | 2021-08-09 | 2021-08-09 | 网卡切换方法、装置以及现场可编程逻辑门阵列fpga |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645048A CN113645048A (zh) | 2021-11-12 |
CN113645048B true CN113645048B (zh) | 2024-02-02 |
Family
ID=78420364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110909558.1A Active CN113645048B (zh) | 2021-08-09 | 2021-08-09 | 网卡切换方法、装置以及现场可编程逻辑门阵列fpga |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645048B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157402A (zh) * | 2021-11-15 | 2022-03-08 | 天津市英贝特航天科技有限公司 | 一种双冗余网卡通讯方法及装置 |
CN115133983B (zh) * | 2022-06-15 | 2024-04-19 | 国网青海省电力公司信息通信公司 | 通信链路的确定方法、系统、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011072536A1 (zh) * | 2009-12-17 | 2011-06-23 | 研祥智能科技股份有限公司 | 一种VxWorks系统下的多网卡双冗余装置及系统 |
CN105406998A (zh) * | 2015-11-06 | 2016-03-16 | 天津津航计算技术研究所 | 基于fpga的双冗余千兆以太网介质访问控制器ip核 |
CN106657029A (zh) * | 2016-12-05 | 2017-05-10 | 南京南瑞继保电气有限公司 | 一种基于白名单实现多网口共享ip地址的冗余通信方法 |
CN113055313A (zh) * | 2021-03-17 | 2021-06-29 | 南方电网科学研究院有限责任公司 | 网口扩展的方法、装置、电子设备及存储介质 |
-
2021
- 2021-08-09 CN CN202110909558.1A patent/CN113645048B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011072536A1 (zh) * | 2009-12-17 | 2011-06-23 | 研祥智能科技股份有限公司 | 一种VxWorks系统下的多网卡双冗余装置及系统 |
CN105406998A (zh) * | 2015-11-06 | 2016-03-16 | 天津津航计算技术研究所 | 基于fpga的双冗余千兆以太网介质访问控制器ip核 |
CN106657029A (zh) * | 2016-12-05 | 2017-05-10 | 南京南瑞继保电气有限公司 | 一种基于白名单实现多网口共享ip地址的冗余通信方法 |
CN113055313A (zh) * | 2021-03-17 | 2021-06-29 | 南方电网科学研究院有限责任公司 | 网口扩展的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113645048A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6859889B2 (en) | Backup system and method for distributed systems | |
CN109495312B (zh) | 基于仲裁盘和双链路的高可用集群的实现方法和系统 | |
CN113645048B (zh) | 网卡切换方法、装置以及现场可编程逻辑门阵列fpga | |
CN101714109B (zh) | 双cpu系统主板的控制方法及设备 | |
CN102882704B (zh) | 一种issu的软重启升级过程中的链路保护方法和设备 | |
CN101494560B (zh) | 主从网络设备配置方法、装置和系统 | |
CN107948063B (zh) | 一种建立聚合链路的方法和接入设备 | |
CN101867468A (zh) | 以太网供电交换机的热重启处理方法及以太网供电交换机 | |
CN103490914A (zh) | 一种网络应用设备多机热备的切换系统及方法 | |
CN111212451A (zh) | 一种切换网络传输通道的方法和装置 | |
CN109254876A (zh) | 云计算系统中数据库的管理方法和装置 | |
CN111585835B (zh) | 一种带外管理系统的控制方法、装置和存储介质 | |
CN108983695A (zh) | 一种基于复杂可编程逻辑器件的主从切换方法和装置 | |
CN103324554A (zh) | 备用系统设备、控制方法及其程序 | |
CN111629344A (zh) | 数据传输方法、装置、设备和计算机可读存储介质 | |
CN111314148A (zh) | 基于冗余计算机的冗余网络ip智能切换方法及系统 | |
CN105515838A (zh) | 一种服务配置方法及ha集群系统 | |
CN116137603B (zh) | 链路故障的检测方法和装置、存储介质及电子装置 | |
CN115145782A (zh) | 一种服务器切换方法,MooseFS系统及存储介质 | |
CN117010858A (zh) | 一种设备故障自动报单系统的处理方法、装置以及系统 | |
CN110597672A (zh) | 一种atca交换系统的主备倒换的方法及装置 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
JP2003345620A (ja) | 多ノードクラスタシステムのプロセス監視方法 | |
CN111737062B (zh) | 一种备份处理方法、装置及系统 | |
CN110119111B (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 |