CN118054998B - 用于内核网络驱动的驱动器和驱动升级方法 - Google Patents
用于内核网络驱动的驱动器和驱动升级方法 Download PDFInfo
- Publication number
- CN118054998B CN118054998B CN202410444142.0A CN202410444142A CN118054998B CN 118054998 B CN118054998 B CN 118054998B CN 202410444142 A CN202410444142 A CN 202410444142A CN 118054998 B CN118054998 B CN 118054998B
- Authority
- CN
- China
- Prior art keywords
- driver
- child
- network
- interface
- sub
- 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 37
- 230000002776 aggregation Effects 0.000 claims description 43
- 238000004220 aggregation Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000005012 migration Effects 0.000 description 10
- 238000013508 migration Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000008447 perception Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000002349 favourable effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- 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
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请涉及计算机技术领域并提供一种用于内核网络驱动的驱动器和驱动升级方法。驱动器包括:父驱动,用于管理网络接口和子设备,还用于提供父网络设备操作接口和父以太操作接口;第一子驱动和第二子驱动,第一子驱动绑定子设备并且提供子网络设备操作接口和子以太操作接口。当第一子驱动已被加载时,父驱动使得父网络设备操作接口和父以太操作接口分别短接到对应的子网络设备操作接口和子以太操作接口,并且,当第一子驱动已被卸载时,父驱动通过父网络设备操作接口和父以太操作接口接管网络接口。如此,避免了网络接口和子设备的重建,有利于实现驱动的热升级。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于内核网络驱动的驱动器和驱动升级方法。
背景技术
随着云计算、数据中心等技术的发展,数据处理单元(Data Processing Unit,DPU)和网络接口卡(Network Interface Card,NIC)等硬件得到了广泛的部署。硬件厂商会发布配套的内核网络驱动以提供网络能力,还可以支持客户定制和纠错,因此可能需要时而升级内核网络驱动。现有技术中,对内核网络驱动升级需要卸载驱动,同时删除驱动提供的内核网络接口,然后再安装驱动和创建内核网络接口,重新进行网络地址分配等以恢复网络功能。因为内核网络驱动的升级时间可能较长,云厂商需要事先找到可用的服务器资源用于业务迁移,但是,业务迁移操作复杂容易出错,而且需要占用大量的额外的服务器资源。
为此,本申请提供了一种用于内核网络驱动的驱动器和驱动升级方法,用于应对现有技术中的技术难题。
发明内容
第一方面,本申请提供了一种用于内核网络驱动的驱动器。所述驱动器包括:父驱动,其中,所述父驱动用于管理多个网络接口和与所述多个网络接口一一对应的多个子设备,所述父驱动还用于提供与所述多个网络接口一一对应的父网络设备操作接口和父以太操作接口,所述多个网络接口包括第一网络接口和第二网络接口,所述多个子设备包括第一子设备和第二子设备,所述第一网络接口对应所述第一子设备,所述第二网络接口对应所述第二子设备;第一子驱动和第二子驱动,其中,所述第一子驱动绑定所述第一子设备并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第二子设备并且提供与所述第二网络接口对应的子网络设备操作接口和子以太操作接口,其中,当所述第一子驱动已被加载时,所述父驱动使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第一网络接口对应的父网络设备操作接口和父以太操作接口接管所述第一网络接口。
通过本申请的第一方面,避免了网络接口和子设备的重建,避免了接口状态出现异常,也节省了重新分配设备编号和重新创建内核网络接口的损耗,有利于应对客户定制需要和业务发展需要来升级内核网络驱动,并且,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。
在本申请的第一方面的一种可能的实现方式中,当所述第二子驱动已被加载时,所述父驱动使得与所述第二网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第二网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第二子驱动已被卸载时,所述父驱动通过与所述第二网络接口对应的父网络设备操作接口和父以太操作接口接管所述第二网络接口。
在本申请的第一方面的一种可能的实现方式中,所述第一子驱动被卸载后再加载以完成所述第一子驱动的升级,并且,所述第二子驱动被卸载后再加载以完成所述第二子驱动的升级。
在本申请的第一方面的一种可能的实现方式中,当所述第一子驱动已被加载时,经过所述第一网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理,并且,当所述第二子驱动已被加载时,经过所述第二网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理。
在本申请的第一方面的一种可能的实现方式中,所述第一网络接口和所述第二网络接口组成同一网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第一网络接口的链路并且将经过所述第一网络接口的链路流量切换到经过所述第二网络接口的链路,从而使得经过所述第一网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理,并且,当所述第二子驱动已被卸载时,所述父驱动关闭经过所述第二网络接口的链路并且将经过所述第二网络接口的链路流量切换到经过所述第一网络接口的链路,从而使得经过所述第二网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理。
在本申请的第一方面的一种可能的实现方式中,当所述第一子驱动已被卸载后又加载时,所述第一子驱动匹配所述第一子设备并发出所述第一子驱动的升级结束通知,所述父驱动打开经过所述第一网络接口的链路并且恢复经过所述第一网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理,并且,当所述第二子驱动已被卸载后又加载时,所述第二子驱动匹配所述第二子设备并发出所述第二子驱动的升级结束通知,所述父驱动打开经过所述第二网络接口的链路并且恢复经过所述第二网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理。
在本申请的第一方面的一种可能的实现方式中,所述第一子驱动的升级结束通知和所述第二子驱动的升级结束通知通过用户内核访问接口或者字符设备内核访问接口被用户接收。
在本申请的第一方面的一种可能的实现方式中,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载,并且,所述第一网络接口在所述第一子驱动升级期间保持,所述第二网络接口在所述第二子驱动升级期间保持。
在本申请的第一方面的一种可能的实现方式中,所述第一子驱动通过虚拟总线与所述多个子设备中所述第一子驱动所绑定的子设备连接,所述第二子驱动通过所述虚拟总线与所述多个子设备中所述第二子驱动所绑定的子设备连接,所述父驱动与物理总线连接。
在本申请的第一方面的一种可能的实现方式中,所述多个网络接口还包括第三网络接口,所述多个子设备还包括第三子设备,所述第三网络接口对应所述第三子设备,所述第一子驱动绑定所述第三子设备并且提供与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,当所述第一子驱动已被加载时,所述父驱动使得与所述第三网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第三网络接口对应的父网络设备操作接口和父以太操作接口接管所述第三网络接口,并且,当所述第一子驱动已被加载时,经过所述第三网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理。
在本申请的第一方面的一种可能的实现方式中,所述第一网络接口、所述第二网络接口和所述第三网络接口组成所述同一网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第三网络接口的链路并且将经过所述第三网络接口的链路流量切换到经过所述第二网络接口的链路,从而使得经过所述第三网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理,并且,当所述第一子驱动已被卸载后又加载时,所述第一子驱动匹配所述第三子设备,所述父驱动打开经过所述第三网络接口的链路并且恢复经过所述第三网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理,并且,所述第三网络接口在所述第一子驱动升级期间保持。
在本申请的第一方面的一种可能的实现方式中,所述多个网络接口还包括第三网络接口和第四网络接口,所述多个子设备还包括第三子设备和第四子设备,所述第三网络接口对应所述第三子设备,所述第四网络接口对应所述第四子设备,所述第一子驱动绑定所述第三子设备并且提供与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第四子设备并且提供与所述第四网络接口对应的子网络设备操作接口和子以太操作接口,当所述第一子驱动已被加载时,所述父驱动使得与所述第三网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第三网络接口对应的父网络设备操作接口和父以太操作接口接管所述第三网络接口,并且,当所述第二子驱动已被加载时,所述父驱动使得与所述第四网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第四网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第二子驱动已被卸载时,所述父驱动通过与所述第四网络接口对应的父网络设备操作接口和父以太操作接口接管所述第四网络接口。
在本申请的第一方面的一种可能的实现方式中,当所述第一子驱动已被加载时,经过所述第三网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理,并且,当所述第二子驱动已被加载时,经过所述第四网络接口的链路流量通过所述第二子驱动所驱动的所述第四子设备处理。
在本申请的第一方面的一种可能的实现方式中,所述第一网络接口和所述第二网络接口组成第一网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第一网络接口的链路并且将经过所述第一网络接口的链路流量切换到经过所述第二网络接口的链路,从而使得经过所述第一网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理,并且,当所述第二子驱动已被卸载时,所述父驱动关闭经过所述第二网络接口的链路并且将经过所述第二网络接口的链路流量切换到经过所述第一网络接口的链路,从而使得经过所述第二网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理。
在本申请的第一方面的一种可能的实现方式中,所述第三网络接口和所述第四网络接口组成第二网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第三网络接口的链路并且将经过所述第三网络接口的链路流量切换到经过所述第四网络接口的链路,从而使得经过所述第三网络接口的链路流量通过所述第二子驱动所驱动的所述第四子设备处理,并且,当所述第二子驱动已被卸载时,所述父驱动关闭经过所述第四网络接口的链路并且将经过所述第四网络接口的链路流量切换到经过所述第三网络接口的链路,从而使得经过所述第四网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理。
在本申请的第一方面的一种可能的实现方式中,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载,并且,所述第一网络接口和所述第三网络接口在所述第一子驱动升级期间保持,所述第二网络接口和所述第四网络接口在所述第二子驱动升级期间保持。
在本申请的第一方面的一种可能的实现方式中,所述多个网络接口包括偶数个的网络接口,所述多个子设备包括偶数个的子设备,所述第一子驱动绑定所述多个子设备中设备编号为奇数的子设备并且提供与所述第一子驱动所绑定的子设备所对应的网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述多个子设备中设备编号为偶数的子设备并且提供与所述第二子驱动所绑定的子设备所对应的网络接口对应的子网络设备操作接口和子以太操作接口。
在本申请的第一方面的一种可能的实现方式中,所述多个网络接口中每两个网络接口组成同一个网络聚合接口,并且,所述同一个网络聚合接口中的成员口分别对应所述第一子驱动和所述第二子驱动。
在本申请的第一方面的一种可能的实现方式中,经过所述同一网络聚合接口的流量通过哈希选择所述同一网络聚合接口中的成员口。
第二方面,本申请实施例还提供了一种用于内核网络驱动的驱动升级方法。驱动器包括父驱动、第一子驱动和第二子驱动。所述驱动升级方法包括:通过卸载后再加载所述第一子驱动以完成所述第一子驱动的升级;通过卸载后再加载所述第二子驱动以完成所述第二子驱动的升级。其中,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载。其中,所述父驱动用于管理多个网络接口和与所述多个网络接口一一对应的多个子设备,所述父驱动还用于提供与所述多个网络接口一一对应的父网络设备操作接口和父以太操作接口,所述多个网络接口包括第一网络接口和第二网络接口,所述多个子设备包括第一子设备和第二子设备,所述第一网络接口对应所述第一子设备,所述第二网络接口对应所述第二子设备。其中,所述第一子驱动绑定所述第一子设备并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第二子设备并且提供与所述第二网络接口对应的子网络设备操作接口和子以太操作接口。其中,当所述第一子驱动已被加载时,所述父驱动使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第一网络接口对应的父网络设备操作接口和父以太操作接口接管所述第一网络接口。
通过本申请的第二方面,避免了网络接口和子设备的重建,避免了接口状态出现异常,也节省了重新分配设备编号和重新创建内核网络接口的损耗,有利于应对客户定制需要和业务发展需要来升级内核网络驱动,并且,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。
第三方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第五方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的第一种实施方式的一种用于内核网络驱动的驱动器的示意图;
图2为本申请实施例提供的第二种实施方式的一种用于内核网络驱动的驱动器的示意图;
图3为本申请实施例提供的第三种实施方式的一种用于内核网络驱动的驱动器的示意图;
图4为本申请实施例提供的一种用于内核网络驱动的驱动升级方法的流程示意图;
图5为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为本申请实施例提供的第一种实施方式的一种用于内核网络驱动的驱动器的示意图。如图1所示,用于内核网络驱动的驱动器包括父驱动102、第一子驱动105和第二子驱动106。所述父驱动102用于管理多个网络接口(图1中示例性示出了网络接口A110和网络接口B120)和与所述多个网络接口一一对应的多个子设备(图1中示例性示出了网络接口A110的子设备A118和网络接口B120的子设备B128)。所述父驱动102还用于提供与所述多个网络接口一一对应的父网络设备操作接口和父以太操作接口(图1中示例性示出了网络接口A110的父网络设备操作接口A111和父以太操作接口A112,以及网络接口B120的父网络设备操作接口B121和父以太操作接口B122)。所述多个网络接口包括第一网络接口(网络接口A110)和第二网络接口(网络接口B120)。所述多个子设备包括第一子设备(网络接口A110的子设备A118)和第二子设备(网络接口B120的子设备B128)。所述第一网络接口(网络接口A110)对应所述第一子设备(网络接口A110的子设备A118)。所述第二网络接口(网络接口B120)对应所述第二子设备(网络接口B120的子设备B128)。这里,父网络设备操作接口例如网络接口A110的父网络设备操作接口A111用于实现网络接口的管理基本功能例如通过网络接口的上下行流量,父以太操作接口例如网络接口A110的父以太操作接口A112用于实现以太口的管理基本功能例如通过以太口的报文收发。继续参阅图1,所述第一子驱动105绑定所述第一子设备(网络接口A110的子设备A118)并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口(网络接口A110的子网络设备操作接口A113和子以太操作接口A114)。所述第二子驱动106绑定所述第二子设备(网络接口B120的子设备B128)并且提供与所述第二网络接口对应的子网络设备操作接口和子以太操作接口(网络接口B120的子网络设备操作接口B123和子以太操作接口B124)。当所述第一子驱动105已被加载时,所述父驱动102使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口(网络接口A110的父网络设备操作接口A111和父以太操作接口A112)分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口(网络接口A110的子网络设备操作接口A113和子以太操作接口A114)。并且,当所述第一子驱动105已被卸载时,所述父驱动102通过与所述第一网络接口对应的父网络设备操作接口和父以太操作接口(网络接口A110的父网络设备操作接口A111和父以太操作接口A112)接管所述第一网络接口(网络接口A110)。这里,子网络设备操作接口例如网络接口A110的子网络设备操作接口A113用于实现网络接口的管理基本功能例如通过网络接口的上下行流量,子以太操作接口例如网络接口A110的子以太操作接口A114用于实现以太口的管理基本功能例如通过以太口的报文收发。
图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,提供了包括父驱动102还有第一子驱动105和第二子驱动106的两层驱动结构。父驱动102针对每一个网络接口提供了与该网络接口一一对应的父网络设备操作接口和父以太操作接口,例如,父驱动102针对第一网络接口(网络接口A110)提供了与所述第一网络接口对应的父网络设备操作接口和父以太操作接口(网络接口A110的父网络设备操作接口A111和父以太操作接口A112);第一子驱动105绑定所述第一子设备(网络接口A110的子设备A118)并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口(网络接口A110的子网络设备操作接口A113和子以太操作接口A114)。如此,在第一子驱动105已被加载时,所述父驱动102使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口(网络接口A110的父网络设备操作接口A111和父以太操作接口A112)分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口(网络接口A110的子网络设备操作接口A113和子以太操作接口A114),这样意味着,通过第一网络接口(网络接口A110)的流量是由第一子驱动105所驱动的第一子设备(网络接口A110的子设备A118)来进行处理。换句话说,通过将网络接口A110的父网络设备操作接口A111和父以太操作接口A112直接短接到对应的网络接口A110的子网络设备操作接口A113和子以太操作接口A114,这样等效于:在驱动器的外部看来例如从物理总线103看来,是由父驱动102来提供内核网络驱动,但是实质上在第一子驱动105被加载期间是由第一子驱动105来驱动所述第一子驱动105所绑定的所述第一子设备(网络接口A110的子设备A118)。在第一子驱动105已被卸载时,例如第一子驱动105被升级或者被纠错期间,父驱动102利用与所述第一网络接口对应的父网络设备操作接口和父以太操作接口(网络接口A110的父网络设备操作接口A111和父以太操作接口A112),从而可以接管所述第一网络接口(网络接口A110)。这样意味着,第一子驱动105的升级或者纠错,不会导致第一网络接口(网络接口A110)的删除,也即不需要删除由第一子驱动105提供的内核网络接口,因此也就节省了再次创建内核网络接口和重新进行网络地址分配等损耗。因此,在第一子驱动105已被加载时,或者,在第一子驱动105被卸载时,父驱动102负责维持和管理第一网络接口(网络接口A110)以及第一子驱动105所绑定的第一子设备(网络接口A110的子设备A118),这样等效于:在驱动器的外部看来例如从物理总线103看来,是由父驱动102来提供内核网络驱动,第一子驱动105只有在其已被加载期间(这意味着第一子驱动105不处在升级、纠错或者更改配置等会导致其被卸载或者等效于被卸载的状态)才会通过将网络接口A110的父网络设备操作接口A111和父以太操作接口A112直接短接到对应的网络接口A110的子网络设备操作接口A113和子以太操作接口A114来提供内核网络驱动功能。如此,一方面,利用包括父驱动102还有第一子驱动105和第二子驱动106的两层驱动结构,实现了对第一子驱动105的改动如卸载、安装、更新、纠错、再配置等,不会导致由第一子驱动105绑定的子设备的删除也不会导致第一子驱动105对应的网络接口的删除,这样就避免了网络接口和子设备的重建,避免了接口状态出现异常,也节省了重新分配设备编号和重新创建内核网络接口的损耗,有利于应对客户定制需要和业务发展需要来升级内核网络驱动;另一方面,利用父驱动102来管理多个网络接口和与多个网络接口一一对应的多个子设备,并且由父驱动102所提供的父网络设备操作接口和父以太操作接口在第一子驱动105升级时接管第一网络接口,这样意味着父驱动102可以提供网络接口、子设备的状态管理基本功能,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。进一步地,父驱动102所提供的父网络设备操作接口和父以太操作接口用于提供网络接口、子设备的状态管理基本功能,以及用于在第一子驱动105被卸载时接管第一网络接口,而在第一子驱动105被加载时,通过第一网络接口(网络接口A110)的流量是由第一子驱动105所绑定和驱动的第一子设备(网络接口A110的子设备A118)来进行处理。因此,相比于将原本由第一子驱动105来提供内核网络驱动的整个业务迁移到额外的服务器资源上,图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,只需要占用有限的资源从而使得由父驱动102所提供的父网络设备操作接口和父以太操作接口在第一子驱动105升级时接管第一网络接口(网络接口A110),这样可以通过保持父驱动102不升级从而确保网络接口和子设备的稳定性以及整个接口状态的正常,而且对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
总之,图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,避免了网络接口和子设备的重建,避免了接口状态出现异常,也节省了重新分配设备编号和重新创建内核网络接口的损耗,有利于应对客户定制需要和业务发展需要来升级内核网络驱动,并且,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。
在一种可能的实施方式中,当所述第二子驱动106已被加载时,所述父驱动102使得与所述第二网络接口对应的父网络设备操作接口和父以太操作接口(网络接口B120的父网络设备操作接口B121和父以太操作接口B122)分别短接到与所述第二网络接口对应的子网络设备操作接口和子以太操作接口(网络接口B120的子网络设备操作接口B123和子以太操作接口B124),并且,当所述第二子驱动106已被卸载时,所述父驱动102通过与所述第二网络接口对应的父网络设备操作接口和父以太操作接口(网络接口B120的父网络设备操作接口B121和父以太操作接口B122)接管所述第二网络接口(网络接口B120)。如此,一方面,利用包括父驱动102还有第一子驱动105和第二子驱动106的两层驱动结构,实现了对第二子驱动106的改动如卸载、安装、更新、纠错、再配置等,不会导致由第二子驱动106绑定的子设备的删除也不会导致第二子驱动106对应的网络接口的删除,这样就避免了网络接口和子设备的重建,避免了接口状态出现异常,也节省了重新分配设备编号和重新创建内核网络接口的损耗,有利于应对客户定制需要和业务发展需要来升级内核网络驱动;另一方面,利用父驱动102来管理多个网络接口和与多个网络接口一一对应的多个子设备,并且由父驱动102所提供的父网络设备操作接口和父以太操作接口在第二子驱动106升级时接管第二网络接口,这样意味着父驱动可以提供网络接口、子设备的状态管理基本功能,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。
在一些实施例中,所述第一子驱动105被卸载后再加载以完成所述第一子驱动105的升级,并且,所述第二子驱动106被卸载后再加载以完成所述第二子驱动106的升级。如此,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。
在一些实施例中,当所述第一子驱动105已被加载时,经过所述第一网络接口(网络接口A110)的链路流量通过所述第一子驱动105所驱动的所述第一子设备(网络接口A110的子设备A118)处理,并且,当所述第二子驱动106已被加载时,经过所述第二网络接口(网络接口B120)的链路流量通过所述第二子驱动106所驱动的所述第二子设备(网络接口B120的子设备B128)处理。如此,在第一子驱动105已被加载时,所述父驱动102使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口(网络接口A110的父网络设备操作接口A111和父以太操作接口A112)分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口(网络接口A110的子网络设备操作接口A113和子以太操作接口A114),这样意味着,通过第一网络接口(网络接口A110)的流量是由第一子驱动105所驱动的第一子设备(网络接口A110的子设备A118)来进行处理。并且,在第二子驱动106已被加载时,所述父驱动102使得与所述第二网络接口对应的父网络设备操作接口和父以太操作接口(网络接口B120的父网络设备操作接口B121和父以太操作接口B122)分别短接到与所述第二网络接口对应的子网络设备操作接口和子以太操作接口(网络接口B120的子网络设备操作接口B123和子以太操作接口B124),这样意味着,通过第二网络接口(网络接口B120)的流量是由第二子驱动106所驱动的第二子设备(网络接口B120的子设备B128)来进行处理。如此,只需要占用有限的资源从而使得由父驱动102所提供的父网络设备操作接口和父以太操作接口可以在第一子驱动105或者第二子驱动106升级时接管对应的网络接口,可以通过保持父驱动102不升级从而确保网络接口和子设备的稳定性以及整个接口状态的正常,而且对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述第一网络接口(网络接口A110)和所述第二网络接口(网络接口B120)组成同一网络聚合接口(网络聚合接口A190),当所述第一子驱动105已被卸载时,所述父驱动102关闭经过所述第一网络接口(网络接口A110)的链路并且将经过所述第一网络接口(网络接口A110)的链路流量切换到经过所述第二网络接口(网络接口B120)的链路,从而使得经过所述第一网络接口(网络接口A110)的链路流量通过所述第二子驱动106所驱动的所述第二子设备(网络接口B120的子设备B128)处理,并且,当所述第二子驱动106已被卸载时,所述父驱动102关闭经过所述第二网络接口(网络接口B120)的链路并且将经过所述第二网络接口(网络接口B120)的链路流量切换到经过所述第一网络接口(网络接口A110)的链路,从而使得经过所述第二网络接口(网络接口B120)的链路流量通过所述第一子驱动105所驱动的所述第一子设备(网络接口A110的子设备A118)处理。如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,例如当第一子驱动105需要升级时,通过卸载第一子驱动105,关闭经过所述第一网络接口(网络接口A110)的链路,使得流量不经过所述第一网络接口(网络接口A110)的链路而是被切换到经过所述第二网络接口(网络接口B120)的链路,利用网络接口A110的父网络设备操作接口A111和父以太操作接口A112来接管第一网络接口(网络接口A110),以及通过所述第二子驱动106所驱动的所述第二子设备(网络接口B120的子设备B128)处理链路流量例如进行报文收发,这样可以确保在第一子驱动105的升级期间,业务不中断。并且,在外部例如物理总线103看来,在第一子驱动105的升级期间,对端感知到的是链路故障也即关闭了经过所述第一网络接口(网络接口A110)的链路并且切换到了经过所述第二网络接口(网络接口B120)的链路,这样在第一子驱动105升级完成后,可以实现升级后的第一子驱动105与第一子设备(网络接口A110的子设备A118)之间的匹配,然后恢复由网络接口A110的子网络设备操作接口A113和子以太操作接口A114来提供内核网络驱动。如此,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,当所述第一子驱动105已被卸载后又加载时,所述第一子驱动105匹配所述第一子设备(网络接口A110的子设备A118)并发出所述第一子驱动105的升级结束通知,所述父驱动102打开经过所述第一网络接口(网络接口A110)的链路并且恢复经过所述第一网络接口(网络接口A110)的链路流量通过所述第一子驱动105所驱动的所述第一子设备(网络接口A110的子设备A118)处理,并且,当所述第二子驱动106已被卸载后又加载时,所述第二子驱动106匹配所述第二子设备(网络接口B120的子设备B128)并发出所述第二子驱动106的升级结束通知,所述父驱动102打开经过所述第二网络接口(网络接口B120)的链路并且恢复经过所述第二网络接口(网络接口B120)的链路流量通过所述第二子驱动106所驱动的所述第二子设备(网络接口B120的子设备B128)处理。如此,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述第一子驱动105的升级结束通知和所述第二子驱动106的升级结束通知通过用户内核访问接口或者字符设备内核访问接口被用户接收。如此,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述第一子驱动105和所述第二子驱动106交替升级,并且,所述第一子驱动105和所述第二子驱动106不被同时卸载,并且,所述第一网络接口(网络接口A110)在所述第一子驱动105升级期间保持,所述第二网络接口(网络接口B120)在所述第二子驱动106升级期间保持。如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,这样可以通过保持父驱动102不升级从而确保网络接口和子设备的稳定性以及整个接口状态的正常,而且对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一种可能的实施方式中,所述第一子驱动105通过虚拟总线104与所述多个子设备中所述第一子驱动105所绑定的子设备连接,所述第二子驱动106通过所述虚拟总线104与所述多个子设备中所述第二子驱动所绑定的子设备连接,所述父驱动102与物理总线103连接。如此,在驱动器的外部看来例如从物理总线103看来,是由父驱动102来提供内核网络驱动,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
图2为本申请实施例提供的第二种实施方式的一种用于内核网络驱动的驱动器的示意图。图2所示的第二种实施方式的一种用于内核网络驱动的驱动器,与图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,除非下面另有所指,用相同的标记来注明相同的元素,这些重复的元素可以参考上述关于图1所示的具体实施例的有关描述,在此不再赘述。其中,图2所示的第二种实施方式的一种用于内核网络驱动的驱动器,不同于图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,所述多个网络接口还包括第三网络接口(网络接口C130),所述多个子设备还包括第三子设备(网络接口C130的子设备C138)。所述第三网络接口(网络接口C130)对应所述第三子设备(网络接口C130的子设备C138)。所述第一子驱动105绑定所述第三子设备(网络接口C130的子设备C138)并且提供与所述第三网络接口对应的子网络设备操作接口和子以太操作接口(网络接口C130的子网络设备操作接口C133和子以太操作接口C134)。当所述第一子驱动105已被加载时,所述父驱动102使得与所述第三网络接口对应的父网络设备操作接口和父以太操作接口(网络接口C130的父网络设备操作接口C131和父以太操作接口C132)分别短接到与所述第三网络接口对应的子网络设备操作接口和子以太操作接口(网络接口C130的子网络设备操作接口C133和子以太操作接口C134)。并且,当所述第一子驱动105已被卸载时,所述父驱动102通过与所述第三网络接口对应的父网络设备操作接口和父以太操作接口(网络接口C130的父网络设备操作接口C131和父以太操作接口C132)接管所述第三网络接口(网络接口C130)。并且,当所述第一子驱动105已被加载时,经过所述第三网络接口(网络接口C130)的链路流量通过所述第一子驱动105所驱动的所述第三子设备(网络接口C130的子设备C138)处理。
参阅图2,父驱动102可以提供网络接口、子设备的状态管理基本功能,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务,例如图2中所述多个网络接口还包括第三网络接口(网络接口C130)。只需要占用有限的资源从而使得由父驱动102所提供的父网络设备操作接口和父以太操作接口在第一子驱动105升级时接管第三网络接口(网络接口C130),这样可以通过保持父驱动102不升级从而确保网络接口和子设备的稳定性以及整个接口状态的正常,而且对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一种可能的实施方式中,所述第一网络接口(网络接口A110)、所述第二网络接口(网络接口B120)和所述第三网络接口(网络接口C130)组成所述同一网络聚合接口(网络聚合接口B191)。当所述第一子驱动105已被卸载时,所述父驱动102关闭经过所述第三网络接口(网络接口C130)的链路并且将经过所述第三网络接口(网络接口C130)的链路流量切换到经过所述第二网络接口(网络接口B120)的链路,从而使得经过所述第三网络接口(网络接口C130)的链路流量通过所述第二子驱动106所驱动的所述第二子设备(网络接口B120的子设备B128)处理。并且,当所述第一子驱动105已被卸载后又加载时,所述第一子驱动105匹配所述第三子设备(网络接口C130的子设备C138),所述父驱动102打开经过所述第三网络接口(网络接口C130)的链路并且恢复经过所述第三网络接口(网络接口C130)的链路流量通过所述第一子驱动105所驱动的所述第三子设备(网络接口C130的子设备C138)处理,并且,所述第三网络接口(网络接口C130)在所述第一子驱动105升级期间保持。如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
图3为本申请实施例提供的第三种实施方式的一种用于内核网络驱动的驱动器的示意图。图3所示的第三种实施方式的一种用于内核网络驱动的驱动器,相比于图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,除非下面另有所指,用相同的标记来注明相同的元素,这些重复的元素可以参考上述关于图1所示的具体实施例的有关描述,在此不再赘述。其中,图3所示的第三种实施方式的一种用于内核网络驱动的驱动器,不同于图1所示的驱动器,所述多个网络接口还包括第三网络接口(网络接口C130)和第四网络接口(网络接口D140),所述多个子设备还包括第三子设备(网络接口C130的子设备C138)和第四子设备(网络接口D140的子设备D148)。所述第三网络接口(网络接口C130)对应所述第三子设备(网络接口C130的子设备C138),所述第四网络接口(网络接口D140)对应所述第四子设备(网络接口D140的子设备D148)。所述第一子驱动105绑定所述第三子设备(网络接口C130的子设备C138)并且提供与所述第三网络接口对应的子网络设备操作接口和子以太操作接口(网络接口C130的子网络设备操作接口C133和子以太操作接口C134)。所述第二子驱动106绑定所述第四子设备(网络接口D140的子设备D148)并且提供与所述第四网络接口对应的子网络设备操作接口和子以太操作接口(网络接口D140的子网络设备操作接口D143和子以太操作接口D144)。
继续参阅图3,当所述第一子驱动105已被加载时,所述父驱动102使得与所述第三网络接口对应的父网络设备操作接口和父以太操作接口(网络接口C130的父网络设备操作接口C131和父以太操作接口C132)分别短接到与所述第三网络接口对应的子网络设备操作接口和子以太操作接口(网络接口C130的子网络设备操作接口C133和子以太操作接口C134)。并且,当所述第一子驱动105已被卸载时,所述父驱动102通过与所述第三网络接口对应的父网络设备操作接口和父以太操作接口(网络接口C130的父网络设备操作接口C131和父以太操作接口C132)接管所述第三网络接口(网络接口C130)。并且,当所述第二子驱动106已被加载时,所述父驱动102使得与所述第四网络接口对应的父网络设备操作接口和父以太操作接口(网络接口D140的父网络设备操作接口D141和父以太操作接口D142)分别短接到与所述第四网络接口对应的子网络设备操作接口和子以太操作接口(网络接口D140的子网络设备操作接口D143和子以太操作接口D144),并且,当所述第二子驱动106已被卸载时,所述父驱动102通过与所述第四网络接口对应的父网络设备操作接口和父以太操作接口(网络接口D140的父网络设备操作接口D141和父以太操作接口D142)接管所述第四网络接口(网络接口D140)。如此,相比于图1所示的第一种实施方式的一种用于内核网络驱动的驱动器,图3所示的第三种实施方式的一种用于内核网络驱动的驱动器,增加了两个新的网络接口,也就是第三网络接口(网络接口C130)和第四网络接口(网络接口D140)。并且,通过第一子驱动105来对应第三网络接口(网络接口C130)并且绑定对应的第三子设备(网络接口C130的子设备C138),以及通过第二子驱动106来对应第四网络接口(网络接口D140)并且绑定对应的第四子设备(网络接口D140的子设备D148),这样可以充分利用包括父驱动102还有第一子驱动105和第二子驱动106的两层驱动结构,在不需要增加子驱动数量的前提下增加所支持的网络接口数量及增加需要驱动的对应的子设备的数量。而且,可以通过分散第一子驱动105和第二子驱动106各自需要支持的内核网络驱动负担,例如保持第一子驱动105和第二子驱动106各自绑定的子设备的数量一致,这样意味着利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,也即每次先后操作两个子驱动的升级,在保障业务不中断的前提下,实现了整体的网络接口和子设备所对应的内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一种可能的实施方式中,当所述第一子驱动105已被加载时,经过所述第三网络接口(网络接口C130)的链路流量通过所述第一子驱动105所驱动的所述第三子设备(网络接口C130的子设备C138)处理,并且,当所述第二子驱动106已被加载时,经过所述第四网络接口(网络接口D140)的链路流量通过所述第二子驱动106所驱动的所述第四子设备(网络接口D140的子设备D148)处理。如此,只需要占用有限的资源从而使得由父驱动102所提供的父网络设备操作接口和父以太操作接口可以在第一子驱动105或者第二子驱动106升级时接管对应的网络接口,可以通过保持父驱动102不升级从而确保网络接口和子设备的稳定性以及整个接口状态的正常,而且对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述第一网络接口(网络接口A110)和所述第二网络接口(网络接口B120)组成第一网络聚合接口(网络聚合接口C192)。当所述第一子驱动105已被卸载时,所述父驱动102关闭经过所述第一网络接口(网络接口A110)的链路并且将经过所述第一网络接口(网络接口A110)的链路流量切换到经过所述第二网络接口(网络接口B120)的链路,从而使得经过所述第一网络接口(网络接口A110)的链路流量通过所述第二子驱动106所驱动的所述第二子设备(网络接口B120的子设备B128)处理。并且,当所述第二子驱动106已被卸载时,所述父驱动102关闭经过所述第二网络接口(网络接口B120)的链路并且将经过所述第二网络接口(网络接口B120)的链路流量切换到经过所述第一网络接口(网络接口A110)的链路,从而使得经过所述第二网络接口(网络接口B120)的链路流量通过所述第一子驱动105所驱动的所述第一子设备(网络接口A110的子设备A118)处理。如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述第三网络接口(网络接口C130)和所述第四网络接口(网络接口D140)组成第二网络聚合接口(网络聚合接口D193)。当所述第一子驱动105已被卸载时,所述父驱动102关闭经过所述第三网络接口(网络接口C130)的链路并且将经过所述第三网络接口(网络接口C130)的链路流量切换到经过所述第四网络接口(网络接口D140)的链路,从而使得经过所述第三网络接口(网络接口C130)的链路流量通过所述第二子驱动106所驱动的所述第四子设备(网络接口D140的子设备D148)处理。并且,当所述第二子驱动106已被卸载时,所述父驱动102关闭经过所述第四网络接口(网络接口D140)的链路并且将经过所述第四网络接口(网络接口D140)的链路流量切换到经过所述第三网络接口(网络接口C130)的链路,从而使得经过所述第四网络接口(网络接口D140)的链路流量通过所述第一子驱动105所驱动的所述第三子设备(网络接口C130的子设备C138)处理。如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,对外保持网络接口和子设备不变,有利于实现在外部无感知的情况下完成内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。并且,如图3所示,所述第一网络接口(网络接口A110)和所述第二网络接口(网络接口B120)组成第一网络聚合接口(网络聚合接口C192),并且,在第一网络聚合接口(网络聚合接口C192)中的成员口之间通过链路切换实现热升级也即内核网络驱动升级期间不中断业务。另外,所述第三网络接口(网络接口C130)和所述第四网络接口(网络接口D140)组成第二网络聚合接口(网络聚合接口D193),并且,在第二网络聚合接口(网络聚合接口D193)中的成员口之间通过链路切换实现热升级也即内核网络驱动升级期间不中断业务。进一步地,通过分散第一子驱动105和第二子驱动106各自需要支持的内核网络驱动负担,例如保持第一子驱动105和第二子驱动106各自绑定的子设备的数量一致,这样意味着利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,也即每次先后操作两个子驱动的升级,在保障业务不中断的前提下,实现了整体的网络接口和子设备所对应的内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述第一子驱动105和所述第二子驱动106交替升级,并且,所述第一子驱动105和所述第二子驱动106不被同时卸载,并且,所述第一网络接口(网络接口A110)和所述第三网络接口(网络接口C130)在所述第一子驱动105升级期间保持,所述第二网络接口(网络接口B120)和所述第四网络接口(网络接口D140)在所述第二子驱动106升级期间保持。如此,在保障业务不中断的前提下,实现了整体的网络接口和子设备所对应的内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述多个网络接口包括偶数个的网络接口,所述多个子设备包括偶数个的子设备,所述第一子驱动105绑定所述多个子设备中设备编号为奇数的子设备并且提供与所述第一子驱动105所绑定的子设备所对应的网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动106绑定所述多个子设备中设备编号为偶数的子设备并且提供与所述第二子驱动106所绑定的子设备所对应的网络接口对应的子网络设备操作接口和子以太操作接口。如此,通过分散第一子驱动105和第二子驱动106各自需要支持的内核网络驱动负担,通过第一子驱动105绑定设备编号为奇数的子设备以及通过第二子驱动106绑定设备编号为偶数的子设备,而偶数个的网络接口和偶数个的子设备意味着这样可以保持第一子驱动105和第二子驱动106各自绑定的子设备的数量一致,如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,也即每次先后操作两个子驱动的升级,在保障业务不中断的前提下,实现了整体的网络接口和子设备所对应的内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,所述多个网络接口中每两个网络接口组成同一个网络聚合接口,并且,所述同一个网络聚合接口中的成员口分别对应所述第一子驱动105和所述第二子驱动106。如此,通过分散第一子驱动105和第二子驱动106各自需要支持的内核网络驱动负担,保持第一子驱动105和第二子驱动106各自绑定的子设备的数量一致,如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,也即每次先后操作两个子驱动的升级,在保障业务不中断的前提下,实现了整体的网络接口和子设备所对应的内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
在一些实施例中,经过所述同一网络聚合接口的流量通过哈希选择所述同一网络聚合接口中的成员口。如此,利用网络聚合接口的链路故障切换技术,可以通过交替升级第一子驱动105和第二子驱动106,也即每次先后操作两个子驱动的升级,在保障业务不中断的前提下,实现了整体的网络接口和子设备所对应的内核网络驱动的升级,这样降低了整体复杂度,降低了出错概率,同时具备了业务拓展方面的灵活性和业务升级方面的可靠性,有利于满足云计算、数据中心等快速增长且复杂多变的业务需求。
图4为本申请实施例提供的一种用于内核网络驱动的驱动升级方法的流程示意图。图4所示的用于内核网络驱动的驱动升级方法,应用于驱动器,驱动器包括父驱动、第一子驱动和第二子驱动。所述驱动升级方法包括以下步骤。
步骤S410:通过卸载后再加载第一子驱动以完成第一子驱动的升级。
步骤S420:通过卸载后再加载第二子驱动以完成第二子驱动的升级。
其中,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载。所述父驱动用于管理多个网络接口和与所述多个网络接口一一对应的多个子设备,所述父驱动还用于提供与所述多个网络接口一一对应的父网络设备操作接口和父以太操作接口,所述多个网络接口包括第一网络接口和第二网络接口,所述多个子设备包括第一子设备和第二子设备,所述第一网络接口对应所述第一子设备,所述第二网络接口对应所述第二子设备。所述第一子驱动绑定所述第一子设备并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第二子设备并且提供与所述第二网络接口对应的子网络设备操作接口和子以太操作接口。当所述第一子驱动已被加载时,所述父驱动使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第一网络接口对应的父网络设备操作接口和父以太操作接口接管所述第一网络接口。
图4所示的用于内核网络驱动的驱动升级方法,避免了网络接口和子设备的重建,避免了接口状态出现异常,也节省了重新分配设备编号和重新创建内核网络接口的损耗,有利于应对客户定制需要和业务发展需要来升级内核网络驱动,并且,有利于实现驱动的热升级,在升级驱动期间网络不中断也不需要业务迁移,也不需要冗余的服务器资源,便于扩展网络接口数量和拓展业务。
图5是本申请实施例提供的一种计算设备的结构示意图,该计算设备500包括:一个或者多个处理器510、通信接口520以及存储器530。所述处理器510、通信接口520以及存储器530通过总线540相互连接。可选地,该计算设备500还可以包括输入/输出接口550,输入/输出接口550连接有输入/输出设备,用于接收用户设置的参数等。该计算设备500能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器510还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备500执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器510用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备500可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口520具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器510具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图5的计算设备500可以包括一个或者多个处理器510,并且多个处理器510可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器510可以构成处理器序列或者处理器阵列,或者多个处理器510之间可以分成主处理器和辅助处理器,或者多个处理器510之间可以具有不同的架构如采用异构计算架构。另外,图5所示的计算设备500,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备500可以包括比图5所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器510可以有多种具体实现形式,例如处理器510可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器510还可以是单核处理器或多核处理器。处理器510可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器510也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口520可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器530可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器530也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器530也可用于存储程序代码和数据,以便于处理器510调用存储器530中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备500可能包含相比于图5展示的更多或者更少的组件,或者有不同的组件配置方式。
总线540可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线540可以分为地址总线、数据总线、控制总线等。总线540除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (20)
1.一种用于内核网络驱动的驱动器,其特征在于,所述驱动器包括:
父驱动,其中,所述父驱动用于管理多个网络接口和与所述多个网络接口一一对应的多个子设备,所述父驱动还用于提供与所述多个网络接口一一对应的父网络设备操作接口和父以太操作接口,所述多个网络接口包括第一网络接口和第二网络接口,所述多个子设备包括第一子设备和第二子设备,所述第一网络接口对应所述第一子设备,所述第二网络接口对应所述第二子设备;
第一子驱动和第二子驱动,其中,所述第一子驱动绑定所述第一子设备并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第二子设备并且提供与所述第二网络接口对应的子网络设备操作接口和子以太操作接口,
其中,当所述第一子驱动已被加载时,所述父驱动使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第一网络接口对应的父网络设备操作接口和父以太操作接口接管所述第一网络接口。
2.根据权利要求1所述的驱动器,其特征在于,当所述第二子驱动已被加载时,所述父驱动使得与所述第二网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第二网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第二子驱动已被卸载时,所述父驱动通过与所述第二网络接口对应的父网络设备操作接口和父以太操作接口接管所述第二网络接口。
3.根据权利要求2所述的驱动器,其特征在于,所述第一子驱动被卸载后再加载以完成所述第一子驱动的升级,并且,所述第二子驱动被卸载后再加载以完成所述第二子驱动的升级。
4.根据权利要求2所述的驱动器,其特征在于,当所述第一子驱动已被加载时,经过所述第一网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理,并且,当所述第二子驱动已被加载时,经过所述第二网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理。
5.根据权利要求4所述的驱动器,其特征在于,所述第一网络接口和所述第二网络接口组成同一网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第一网络接口的链路并且将经过所述第一网络接口的链路流量切换到经过所述第二网络接口的链路,从而使得经过所述第一网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理,并且,当所述第二子驱动已被卸载时,所述父驱动关闭经过所述第二网络接口的链路并且将经过所述第二网络接口的链路流量切换到经过所述第一网络接口的链路,从而使得经过所述第二网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理。
6.根据权利要求5所述的驱动器,其特征在于,当所述第一子驱动已被卸载后又加载时,所述第一子驱动匹配所述第一子设备并发出所述第一子驱动的升级结束通知,所述父驱动打开经过所述第一网络接口的链路并且恢复经过所述第一网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理,并且,当所述第二子驱动已被卸载后又加载时,所述第二子驱动匹配所述第二子设备并发出所述第二子驱动的升级结束通知,所述父驱动打开经过所述第二网络接口的链路并且恢复经过所述第二网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理。
7.根据权利要求6所述的驱动器,其特征在于,所述第一子驱动的升级结束通知和所述第二子驱动的升级结束通知通过用户内核访问接口或者字符设备内核访问接口被用户接收。
8.根据权利要求5所述的驱动器,其特征在于,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载,并且,所述第一网络接口在所述第一子驱动升级期间保持,所述第二网络接口在所述第二子驱动升级期间保持。
9.根据权利要求1所述的驱动器,其特征在于,所述第一子驱动通过虚拟总线与所述多个子设备中所述第一子驱动所绑定的子设备连接,所述第二子驱动通过所述虚拟总线与所述多个子设备中所述第二子驱动所绑定的子设备连接,所述父驱动与物理总线连接。
10.根据权利要求1所述的驱动器,其特征在于,所述多个网络接口还包括第三网络接口,所述多个子设备还包括第三子设备,所述第三网络接口对应所述第三子设备,所述第一子驱动绑定所述第三子设备并且提供与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,当所述第一子驱动已被加载时,所述父驱动使得与所述第三网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第三网络接口对应的父网络设备操作接口和父以太操作接口接管所述第三网络接口,并且,当所述第一子驱动已被加载时,经过所述第三网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理。
11.根据权利要求10所述的驱动器,其特征在于,所述第一网络接口、所述第二网络接口和所述第三网络接口组成同一网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第三网络接口的链路并且将经过所述第三网络接口的链路流量切换到经过所述第二网络接口的链路,从而使得经过所述第三网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理,并且,当所述第一子驱动已被卸载后又加载时,所述第一子驱动匹配所述第三子设备,所述父驱动打开经过所述第三网络接口的链路并且恢复经过所述第三网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理,并且,所述第三网络接口在所述第一子驱动升级期间保持。
12.根据权利要求1所述的驱动器,其特征在于,所述多个网络接口还包括第三网络接口和第四网络接口,所述多个子设备还包括第三子设备和第四子设备,所述第三网络接口对应所述第三子设备,所述第四网络接口对应所述第四子设备,所述第一子驱动绑定所述第三子设备并且提供与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第四子设备并且提供与所述第四网络接口对应的子网络设备操作接口和子以太操作接口,当所述第一子驱动已被加载时,所述父驱动使得与所述第三网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第三网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第三网络接口对应的父网络设备操作接口和父以太操作接口接管所述第三网络接口,并且,当所述第二子驱动已被加载时,所述父驱动使得与所述第四网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第四网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第二子驱动已被卸载时,所述父驱动通过与所述第四网络接口对应的父网络设备操作接口和父以太操作接口接管所述第四网络接口。
13.根据权利要求12所述的驱动器,其特征在于,当所述第一子驱动已被加载时,经过所述第三网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理,并且,当所述第二子驱动已被加载时,经过所述第四网络接口的链路流量通过所述第二子驱动所驱动的所述第四子设备处理。
14.根据权利要求13所述的驱动器,其特征在于,所述第一网络接口和所述第二网络接口组成第一网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第一网络接口的链路并且将经过所述第一网络接口的链路流量切换到经过所述第二网络接口的链路,从而使得经过所述第一网络接口的链路流量通过所述第二子驱动所驱动的所述第二子设备处理,并且,当所述第二子驱动已被卸载时,所述父驱动关闭经过所述第二网络接口的链路并且将经过所述第二网络接口的链路流量切换到经过所述第一网络接口的链路,从而使得经过所述第二网络接口的链路流量通过所述第一子驱动所驱动的所述第一子设备处理。
15.根据权利要求14所述的驱动器,其特征在于,所述第三网络接口和所述第四网络接口组成第二网络聚合接口,当所述第一子驱动已被卸载时,所述父驱动关闭经过所述第三网络接口的链路并且将经过所述第三网络接口的链路流量切换到经过所述第四网络接口的链路,从而使得经过所述第三网络接口的链路流量通过所述第二子驱动所驱动的所述第四子设备处理,并且,当所述第二子驱动已被卸载时,所述父驱动关闭经过所述第四网络接口的链路并且将经过所述第四网络接口的链路流量切换到经过所述第三网络接口的链路,从而使得经过所述第四网络接口的链路流量通过所述第一子驱动所驱动的所述第三子设备处理。
16.根据权利要求15所述的驱动器,其特征在于,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载,并且,所述第一网络接口和所述第三网络接口在所述第一子驱动升级期间保持,所述第二网络接口和所述第四网络接口在所述第二子驱动升级期间保持。
17.根据权利要求12所述的驱动器,其特征在于,所述多个网络接口包括偶数个的网络接口,所述多个子设备包括偶数个的子设备,所述第一子驱动绑定所述多个子设备中设备编号为奇数的子设备并且提供与所述第一子驱动所绑定的子设备所对应的网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述多个子设备中设备编号为偶数的子设备并且提供与所述第二子驱动所绑定的子设备所对应的网络接口对应的子网络设备操作接口和子以太操作接口。
18.根据权利要求17所述的驱动器,其特征在于,所述多个网络接口中每两个网络接口组成同一网络聚合接口,并且,所述同一网络聚合接口中的成员口分别对应所述第一子驱动和所述第二子驱动。
19.根据权利要求18所述的驱动器,其特征在于,经过所述同一网络聚合接口的流量通过哈希选择所述同一网络聚合接口中的成员口。
20.一种用于内核网络驱动的驱动升级方法,其特征在于,驱动器包括父驱动、第一子驱动和第二子驱动,所述驱动升级方法包括:
通过卸载后再加载所述第一子驱动以完成所述第一子驱动的升级;
通过卸载后再加载所述第二子驱动以完成所述第二子驱动的升级,
其中,所述第一子驱动和所述第二子驱动交替升级,并且,所述第一子驱动和所述第二子驱动不被同时卸载,
其中,所述父驱动用于管理多个网络接口和与所述多个网络接口一一对应的多个子设备,所述父驱动还用于提供与所述多个网络接口一一对应的父网络设备操作接口和父以太操作接口,所述多个网络接口包括第一网络接口和第二网络接口,所述多个子设备包括第一子设备和第二子设备,所述第一网络接口对应所述第一子设备,所述第二网络接口对应所述第二子设备,
其中,所述第一子驱动绑定所述第一子设备并且提供与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,所述第二子驱动绑定所述第二子设备并且提供与所述第二网络接口对应的子网络设备操作接口和子以太操作接口,
其中,当所述第一子驱动已被加载时,所述父驱动使得与所述第一网络接口对应的父网络设备操作接口和父以太操作接口分别短接到与所述第一网络接口对应的子网络设备操作接口和子以太操作接口,并且,当所述第一子驱动已被卸载时,所述父驱动通过与所述第一网络接口对应的父网络设备操作接口和父以太操作接口接管所述第一网络接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410444142.0A CN118054998B (zh) | 2024-04-15 | 2024-04-15 | 用于内核网络驱动的驱动器和驱动升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410444142.0A CN118054998B (zh) | 2024-04-15 | 2024-04-15 | 用于内核网络驱动的驱动器和驱动升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118054998A CN118054998A (zh) | 2024-05-17 |
CN118054998B true CN118054998B (zh) | 2024-06-18 |
Family
ID=91046693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410444142.0A Active CN118054998B (zh) | 2024-04-15 | 2024-04-15 | 用于内核网络驱动的驱动器和驱动升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118054998B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857995A (zh) * | 2023-02-08 | 2023-03-28 | 珠海星云智联科技有限公司 | 一种用于互联设备升级的方法、介质及计算设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119662A1 (zh) * | 2016-12-27 | 2018-07-05 | 华为技术有限公司 | 内核更新方法和装置、计算机设备 |
CN110209620A (zh) * | 2019-07-04 | 2019-09-06 | 深圳昆仑通态科技有限责任公司 | 一种多接口电子设备 |
CN117493027B (zh) * | 2024-01-02 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 热升级方法、装置及电子设备 |
-
2024
- 2024-04-15 CN CN202410444142.0A patent/CN118054998B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857995A (zh) * | 2023-02-08 | 2023-03-28 | 珠海星云智联科技有限公司 | 一种用于互联设备升级的方法、介质及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN118054998A (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7809982B2 (en) | Reconfigurable computing machine and related systems and methods | |
WO2012000997A1 (en) | An apparatus for processing a batched unit of work | |
JP2012174081A (ja) | 情報処理システム | |
CN115858102A (zh) | 一种用于部署支持虚拟化硬件加速的虚拟机的方法 | |
CN112470119B (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
CN115934623B (zh) | 一种基于远程直接内存访问的数据处理方法、设备及介质 | |
CN116257276B (zh) | 支持虚拟化硬件加速的虚拟宿主机用户后端升级方法 | |
US7797475B2 (en) | Flexibly configurable multi central processing unit (CPU) supported hypertransport switching | |
CN115857995B (zh) | 一种用于互联设备升级的方法、介质及计算设备 | |
CN116055426B (zh) | 用于多绑定模式下流量卸载转发的方法、设备及介质 | |
CN118054998B (zh) | 用于内核网络驱动的驱动器和驱动升级方法 | |
CN117519908B (zh) | 一种虚拟机热迁移方法、计算机设备及介质 | |
CN108090004B (zh) | 硬件资源共用系统及连线桥接平台的操作方法 | |
CN117909031A (zh) | 用于数据处理单元的报文处理方法、计算机设备及介质 | |
US20230276213A1 (en) | Distributed ledger control over wireless network slices | |
CN118282851B (zh) | 用于网络控制器边带接口协议的配置方法、设备及介质 | |
CN115934624A (zh) | 多主机远程直接内存访问网络管理的方法、设备及介质 | |
CN118233414B (zh) | 数据处理单元点对点通信方法、计算机设备及介质 | |
US7624405B1 (en) | Maintaining availability during change of resource dynamic link library in a clustered system | |
CN108762747B (zh) | 数据处理方法以及计算机设备 | |
CN118250228B (zh) | 基于硬件卸载的流量限速装置及方法 | |
CN118331747B (zh) | 用于数据处理器的转发方法、计算机设备及介质 | |
CN111338682B (zh) | 基于负载的持续升级系统服务方法 | |
CN118426913B (zh) | 用于vDPA内存映射的方法、计算机设备及介质 | |
CN114296961B (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 |