CN108958878B - 基于容器的网络设备运行控制方法和装置 - Google Patents

基于容器的网络设备运行控制方法和装置 Download PDF

Info

Publication number
CN108958878B
CN108958878B CN201710372742.0A CN201710372742A CN108958878B CN 108958878 B CN108958878 B CN 108958878B CN 201710372742 A CN201710372742 A CN 201710372742A CN 108958878 B CN108958878 B CN 108958878B
Authority
CN
China
Prior art keywords
container
distributed
network equipment
network device
network
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
Application number
CN201710372742.0A
Other languages
English (en)
Other versions
CN108958878A (zh
Inventor
罗威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201710372742.0A priority Critical patent/CN108958878B/zh
Publication of CN108958878A publication Critical patent/CN108958878A/zh
Application granted granted Critical
Publication of CN108958878B publication Critical patent/CN108958878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于容器的网络设备运行控制方法,包括获取待运行业务对应的网络设备容器;根据网络设备对应的CPU资源获取网络设备所要启动的进程数按,并照进程数运行网络设备容器;通过各个网络设备容器预设的网络接口进行数据交互。本发明还公开了一种基于容器的网络设备运行控制装置。本发明不需要通过设置专门的虚拟层进行数据交互,直接通过服务器中预设的接口进行通信即可,该方案不用专门的客户端系统以及虚拟层占用资源以及内存较少,提高网络设备的业务性能。

Description

基于容器的网络设备运行控制方法和装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于容器的网络设备运行控制方法和装置。
背景技术
随着IT行业的发展,无论其规模还是复杂度都远远超过以前,互联网的兴起,大数据的运用,以及云计算背景下的各种“云”,在IT成本不断提高的形式下,虚拟化因其具有节约成本的优势而更加令人瞩目。随着虚拟化技术的普及,不仅能提高设备的利用率,减少能源的消耗,还为数据管理员带来了高效便捷的管理体验,所以对于网络设备一虚多技术的支持显得越来越重要。
传统虚拟机需要虚拟层Hypervisor和客户机操作系统Guest OS,Hypervisor实现硬件虚拟化时,要占用较多的CPU资源以及内存资源,同时虚拟机要单独运行Guest OS,使得虚拟机占用更多的CPU以及内存资源,导致网络设备的业务性能低。
发明内容
本发明提供一种基于容器的网络设备运行控制方法和装置,其主要目的在于提高网络设备的业务性能。
为实现上述目的,本发明提供一种基于容器的网络设备运行控制方法,所述基于容器的网络设备运行控制方法包括:
获取待运行业务对应的网络设备容器;
根据所述网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数,并按照所述进程数运行所述网络设备容器;
通过各个所述网络设备容器预设的网络接口进行数据交互。
可选地,所述获取待运行业务对应的网络设备容器的步骤之前,所述基于容器的网络设备运行控制方法还包括:
依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核,其中,所述待分配网络设备容器请求的CPU资源小于所述待分配内核剩余资源时,所述待分配网络设备容器与所述待分配内核匹配;
在获取到与所述待分配网络设备容器匹配的所述待分配内核时,将所述待分配网络设备容器分配至与其匹配的所述待分配内核,并更新各个所述待分配内核的剩余资源。
可选地,所述依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核的步骤之后,所述基于容器的网络设备运行控制方法还包括步骤:
在有所述待分配网络容器未匹配到所述待分配内核时,根据各个所述待分配内核的剩余资源对所述待分配网络容器的CPU资源进行拆分;
根据拆分后的CPU资源获取与所述待分配网络容器匹配的所述待分配内核;
将所述待分配网络设备容器分配至与其匹配的所述待分配内核,并更新各个所述待分配内核的剩余资源。
可选地,所述基于容器的网络设备运行控制方法还包括步骤:
在检测到新建网络设备容器时,获取未被占用的虚拟功能VF接口;
在所有VF接口均被占用时,在服务器的物理接口上创建Macvtap接口;
将创建的所述Macvtap接口作为所述新建网络设备容器的数据传输接口。
可选地,所述通过各个所述网络设备容器预设的网络接口进行数据交互的步骤之后,所述基于容器的网络设备运行控制方法还包括步骤:
获取各个所述网络设备容器当前运行所需要的内存;
为各个所述网络设备容器分配对应的内存。
此外,为实现上述目的,本发明还提出一种基于容器的网络设备运行控制装置,所述基于容器的网络设备运行控制装置包括:
获取模块,用于获取待运行业务对应的网络设备容器,以及根据所述网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数;
运行模块,用于按照所述进程数运行所述网络设备容器;
处理模块,用于通过各个所述网络设备容器预设的网络接口进行数据交互。
可选地,所述基于容器的网络设备运行控制装置还包括:
匹配模块,用于依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核,其中,所述待分配网络设备容器请求的CPU资源小于所述待分配内核剩余资源时,所述待分配网络设备容器与所述待分配内核匹配;
分配模块,用于在获取到与所述待分配网络设备容器匹配的所述待分配内核时,将所述待分配网络设备容器分配至与其匹配的所述待分配内核;
更新模块,用于更新各个所述待分配内核的剩余资源。
可选地,所述基于容器的网络设备运行控制装置还包括拆分模块,用于在有所述待分配网络容器未匹配到所述待分配内核时,根据各个所述待分配内核的剩余资源对所述待分配网络容器的CPU资源进行拆分;
所述匹配模块,还用于根据拆分后的CPU资源获取与所述待分配网络容器匹配的所述待分配内核;
所述分配模块,还用于将所述待分配网络设备容器分配至与其匹配的所述待分配内核。
可选地,
所述获取模块,还用于在检测到新建网络设备容器时,获取未被占用的虚拟功能VF接口;
所述基于容器的网络设备运行控制装置还包括:
创建模块,用于在所有VF接口均被占用时,在服务器的物理接口上创建Macvtap接口;
所述处理模块,还用于将创建的所述Macvtap接口作为所述新建网络设备容器的数据传输接口。
可选地,
所述获取模块,还用于获取各个所述网络设备容器当前运行所需要的内存;
所述分配模块,还用于为各个所述网络设备容器分配对应的内存。
本发明提出的基于容器的网络设备运行控制方法和装置,通过容器实现网络设备,并根据网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数,保证网络设备容器的各个进程运行于不同的内核中,不需要通过设置专门的虚拟层进行数据交互,直接通过服务器中预设的接口进行通信即可,该方案不用专门的客户端系统以及虚拟层占用资源以及内存较少,提高网络设备的业务性能。
附图说明
图1为本发明基于容器的网络设备运行控制方法第一实施例的流程示意图;
图2为本发明基于容器的网络设备运行控制方法第二实施例的流程示意图;
图3为本发明基于容器的网络设备运行控制方法第三实施例的流程示意图;
图4为本发明基于容器的网络设备运行控制方法第四实施例的流程示意图;
图5为本发明基于容器的网络设备运行控制装置第一实施例的功能模块示意图;
图6为本发明基于容器的网络设备运行控制装置第二实施例的功能模块示意图;
图7为本发明基于容器的网络设备运行控制装置第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于容器的网络设备运行控制方法。
参照图1,图1为本发明基于容器的网络设备运行控制方法第一实施例的流程示意图。
本实施例提出一种基于容器的网络设备运行控制方法,该基于容器的网络设备运行控制方法包括:
步骤S10,获取待运行业务对应的网络设备容器;
各个网络设备容器中运行网络设备对应的进程,在运行一个业务时可获取该业务需要涉及的网络设备,每个网络设备均对应有一个网络设备容器。具体可预设各个业务与网络设备之间的映射关系,在启动某个业务时直接获取该业务关联的网络设备即可。
通过容器的方式实现网络设备时,各个网络设备容器之间没有任何数据接口,则各个网络设备容器之间不存在数据交互,即可实现各个网络设备之间的数据隔离,而并不需要对各个网络设备设置单独的操作系统实现各个网络设备之间的隔离,成本更低。
步骤S20,根据所述网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数,并按照所述进程数运行所述网络设备容器;
在某个网络设备容器对应的CPU资源大于服务器每个核的容量时,可启动多个进程来运行该网络设备容器的业务。例如,在某个网络设备容器对应得CPU资源大于内核中各个核的容量时,可通过启动多个进程来运行该网络设备容器对应的业务,以提高运行速率。例如,如果服务器是4核,每核THZ,此时所有的CPU资源为4*THZ,如果有A,B,C,D,E五租户,分别需申请T/2HZ,3/2THZ,3T/4HZ,T/4HZ,THZ,则可以分别启动相应的业务进程个数为1,2,1,1,1来处理相应的业务。
步骤S30,通过各个所述网络设备容器预设的网络接口进行数据交互。
可预先配置各个网络设备容器对应的网络接口,并通过网络接口与服务内核中的系统程序进行数据交互,实现数据的传输,该预设的网络接口可在新建网络设备容器时,为网络设备容器配置。各个网络设备容器均采用自己单独的网络接口进行数据交互,使得网络设备容器之间的数据独立。
本实施例提出的基于容器的网络设备运行控制方法,通过容器实现网络设备,并根据网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数,保证网络设备容器的各个进程运行于不同的内核中,不需要通过设置专门的虚拟层进行数据交互,直接通过服务器中预设的接口进行通信即可,该方案不用专门的客户端系统以及虚拟层占用资源以及内存较少,提高网络设备的业务性能。
进一步地,参照图2,基于第一实施例提出本发明基于容器的网络设备控制方法第二实施例,在本实施例中,步骤S10之前,所述基于容器的网络设备控制方法还包括步骤:
步骤S40,依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核,其中,所述待分配网络设备容器请求的CPU资源小于所述待分配内核剩余资源时,所述待分配网络设备容器与所述待分配内核匹配;
步骤S50,在获取到与所述待分配网络设备容器匹配的所述待分配内核时,将所述待分配网络设备容器分配至与其匹配的所述待分配内核,并更新各个所述待分配内核的剩余资源。
可以理解的是,可能有网络设备容器请求的CPU资源大于内核本身的资源数,例如每个内核的资源数均为THZ,而某个网络设备容器申请的CPU资源为3/2THZ,则可能所有的内核与该网络设备容器均不匹配,则需要对该网络设备容器请求的CPU资源进行拆分,以将该网络设备容器分配至多个内核,即步骤S40之后,本发明基于容器的网络设备控制方法还包括:在有所述待分配网络容器未匹配到所述待分配内核时,根据各个所述待分配内核的剩余资源对所述待分配网络容器的CPU资源进行拆分;根据拆分后的CPU资源获取与所述待分配网络容器匹配的所述待分配内核;将所述待分配网络设备容器分配至与其匹配的所述待分配内核,并更新各个所述待分配内核的剩余资源。
以下以实例对上述方案进行说明,如果服务器是4核,每核THZ,此时所有的CPU资源为4*THZ,如果有A,B,C,D,E五租户,分别需申请T/2HZ,3/2THZ,3T/4HZ,T/4HZ,THZ。则可以分别启动相应的业务进程个数为1,2,1,1,1来处理相应的业务。从这五个相应的容器中,任意选出若干去匹配每单个核的资源数THZ,使每个核的剩余CPU的资源最少。整体效果:容器A的资源分配到第一内核上还剩余T/2HZ的资源,容器B所需的3T/2HZ资源数,第一内核不能容纳,此时将容器B分配到第二内核上,并将剩余的T/2HZ的CPU资源再匹配分配到第一内核上,容器C分配到第三内核上,还剩余T/4HZ的资源;容器D查找核的剩余资源,匹配到第三内核的剩余资源,将其分配到第三核上;容器E分配到第四内核上。
本实施例公开的各个网络设备容器的CPU资源分配方案,可充分利用每个核的CPU资源数,保证做多的业务进程在同一核调度,可减少多核之间的CPU切换的问题,提升网络设备容器的业务性能。
进一步地,参照图3,基于第一或第二实施例提出本发明基于容器的网络设备控制方法第三实施例,在本实施例中,所述基于容器的网络设备控制方法还包括步骤:
步骤S60,在检测到新建网络设备容器时,获取未被占用的虚拟接口;
步骤S70,在所有VF接口均被占用时,在服务器的物理接口上创建Macvtap接口;
步骤S80,将创建的所述Macvtap接口作为所述新建网络设备容器的数据传输接口。
VF(Virtual Function,虚拟功能)接口为虚拟接口,是服务器中的物理接口即PF(physical Function,物理功能)接口虚拟得到的,但虚拟得到的VF接口是有数量限制的,在网络设备容器较多时,可能会不能满足所有的租户,则需要在所有VF接口均被占用时,在PF接口上创建Macvtap接口进行数据传输,以满足租户较多时的数据传输。
本实施例公开的技术方案中在虚拟机租户密度较大时,满足虚拟网络设备容器的数据传输,使得该虚拟机系统可支持较高密度租户的虚拟方案;同时通过Macvtap接口数据包的收发可跳过内核网桥,提高了网络设备容器的数据传输的效率,进一步提高网络设备容器的性能。
进一步地,参照图4,基于第一至第三任一实施例提出本发明基于容器的网络设备控制方法第四实施例,在本实施例中,所述步骤S30之后,本发明基于容器的网络设备控制方法还包括步骤:
步骤S90,获取各个所述网络设备容器当前运行所需要的内存;
步骤S100,为各个所述网络设备容器分配对应的内存。
本实施例提出的技术方案中,通过各个网络设备容器在运行业务时需要的为各个网络设备分配对应的内存,避免提前分配内存使得网络设备容器运行受限。
可以理解的是,在网络设备容器运行过程中,实时或定时获取各个所述网络设备容器当前运行所需要的内存,在有网络设备容器所需要的内存变化时,重新为该网络设备容器分配内存。
本发明进一步提供一种基于容器的网络设备控制装置。
参照图5,图5为本发明基于容器的网络设备控制装置第一实施例的功能模块示意图。
需要强调的是,对本领域的技术人员来说,图5所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图5所示的基于容器的网络设备控制装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助基于容器的网络设备控制装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
本实施例提出一种基于容器的网络设备控制控制装置,该基于容器的网络设备控制控制装置包括:
获取模块10,用于获取待运行业务对应的网络设备容器,以及根据所述网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数;
各个网络设备容器中运行网络设备对应的进程,在运行一个业务时可获取该业务需要涉及的网络设备,每个网络设备均对应有一个网络设备容器。具体可预设各个业务与网络设备之间的映射关系,在启动某个业务时直接获取该业务关联的网络设备即可。
通过容器的方式实现网络设备时,各个网络设备容器之间没有任何数据接口,则各个网络设备容器之间不存在数据交互,即可实现各个网络设备之间的数据隔离,而并不需要对各个网络设备设置单独的操作系统实现各个网络设备之间的隔离,成本更低。
运行模块20,用于按照所述进程数运行所述网络设备容器;
在某个网络设备容器对应的CPU资源大于服务器每个核的容量时,可启动多个进程来运行该网络设备容器的业务。例如,在某个网络设备容器对应得CPU资源大于内核中各个核的容量时,可通过启动多个进程来运行该网络设备容器对应的业务,以提高运行速率。例如,如果服务器是4核,每核THZ,此时所有的CPU资源为4*THZ,如果有A,B,C,D,E五租户,分别需申请T/2HZ,3/2THZ,3T/4HZ,T/4HZ,THZ,则可以分别启动相应的业务进程个数为1,2,1,1,1来处理相应的业务。
处理模块30,用于通过各个所述网络设备容器预设的网络接口进行数据交互。
可预先配置各个网络设备容器对应的网络接口,并通过网络接口与服务内核中的系统程序进行数据交互,实现数据的传输,该预设的网络接口可在新建网络设备容器时,为网络设备容器配置。各个网络设备容器均采用自己单独的网络接口进行数据交互,使得网络设备容器之间的数据独立。
本实施例提出的基于容器的网络设备运行控制装置,通过容器实现网络设备,并根据网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数,保证网络设备容器的各个进程运行于不同的内核中,不需要通过设置专门的虚拟层进行数据交互,直接通过服务器中预设的接口进行通信即可,该方案不用专门的客户端系统以及虚拟层占用资源以及内存较少,提高网络设备的业务性能。
进一步地,参照图6,基于第一实施例提出本发明基于容器的网络设备控制装置第二实施例,在本实施例中,所述基于容器的网络设备控制装置还包括步骤:
匹配模块40,用于依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核,其中,所述待分配网络设备容器请求的CPU资源小于所述待分配内核剩余资源时,所述待分配网络设备容器与所述待分配内核匹配;
分配模块50,用于在获取到与所述待分配网络设备容器匹配的所述待分配内核时,将所述待分配网络设备容器分配至与其匹配的所述待分配内核;
更新模块60,用于更新各个所述待分配内核的剩余资源。
可以理解的是,可能有网络设备容器请求的CPU资源大于内核本身的资源数,例如每个内核的资源数均为THZ,而某个网络设备容器申请的CPU资源为3/2THZ,则可能所有的内核与该网络设备容器均不匹配,则需要对该网络设备容器请求的CPU资源进行拆分,以将该网络设备容器分配至多个内核,即所述基于容器的网络设备运行控制装置还包括拆分模块,用于在有所述待分配网络容器未匹配到所述待分配内核时,根据各个所述待分配内核的剩余资源对所述待分配网络容器的CPU资源进行拆分;所述匹配模块40,还用于根据拆分后的CPU资源获取与所述待分配网络容器匹配的所述待分配内核;所述分配模块50,还用于将所述待分配网络设备容器分配至与其匹配的所述待分配内核。
以下以实例对上述方案进行说明,如果服务器是4核,每核THZ,此时所有的CPU资源为4*THZ,如果有A,B,C,D,E五租户,分别需申请T/2HZ,3/2THZ,3T/4HZ,T/4HZ,THZ。则可以分别启动相应的业务进程个数为1,2,1,1,1来处理相应的业务。从这五个相应的容器中,任意选出若干去匹配每单个核的资源数THZ,使每个核的剩余CPU的资源最少。整体效果:容器A的资源分配到第一内核上还剩余T/2HZ的资源,容器B所需的3T/2HZ资源数,第一内核不能容纳,此时将容器B分配到第二内核上,并将剩余的T/2HZ的CPU资源再匹配分配到第一内核上,容器C分配到第三内核上,还剩余T/4HZ的资源;容器D查找核的剩余资源,匹配到第三内核的剩余资源,将其分配到第三核上;容器E分配到第四内核上。
本实施例公开的各个网络设备容器的CPU资源分配方案,可充分利用每个核的CPU资源数,保证做多的业务进程在同一核调度,可减少多核之间的CPU切换的问题,提升网络设备容器的业务性能。
进一步地,参照图7,基于第一或第二实施例提出本发明基于容器的网络设备控制装置第三实施例,在本实施例中,
所述获取模块10,还用于在检测到新建网络设备容器时,获取未被占用的虚拟功能VF接口;
所述基于容器的网络设备运行控制装置还包括:
创建模块70,用于在所有VF接口均被占用时,在服务器的物理接口上创建Macvtap接口;
所述处理模块30,还用于将创建的所述Macvtap接口作为所述新建网络设备容器的数据传输接口。
VF(Virtual Function,虚拟功能)接口为虚拟接口,是服务器中的物理接口即PF(physical Function,物理功能)接口虚拟得到的,但虚拟得到的VF接口是有数量限制的,在网络设备容器较多时,可能会不能满足所有的租户,则需要在所有VF接口均被占用时,在PF接口上创建Macvtap接口进行数据传输,以满足租户较多时的数据传输。
本实施例公开的技术方案中在虚拟机租户密度较大时,满足虚拟网络设备容器的数据传输,使得该虚拟机系统可支持较高密度租户的虚拟方案;同时通过Macvtap接口数据包的收发可跳过内核网桥,提高了网络设备容器的数据传输的效率,进一步提高网络设备容器的性能。
进一步地,基于第一至第三任一实施例提出本发明基于容器的网络设备控制装置第四实施例,在本实施例中,所述获取模块10,还用于获取各个所述网络设备容器当前运行所需要的内存;所述分配模块20,还用于为各个所述网络设备容器分配对应的内存。
本实施例提出的技术方案中,通过各个网络设备容器在运行业务时需要的为各个网络设备分配对应的内存,避免提前分配内存使得网络设备容器运行受限。
可以理解的是,在网络设备容器运行过程中,实时或定时获取各个所述网络设备容器当前运行所需要的内存,在有网络设备容器所需要的内存变化时,重新为该网络设备容器分配内存。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,云端服务器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种基于容器的网络设备运行控制方法,其特征在于,所述基于容器的网络设备运行控制方法包括:
获取待运行业务对应的网络设备容器;
根据所述网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数,并按照所述进程数运行所述网络设备容器;
通过各个所述网络设备容器预设的网络接口进行数据交互;
其中,所述获取待运行业务对应的网络设备容器的步骤之前,所述基于容器的网络设备运行控制方法还包括:
依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核,其中,所述待分配网络设备容器请求的CPU资源小于所述待分配内核剩余资源时,所述待分配网络设备容器与所述待分配内核匹配;
在获取到与所述待分配网络设备容器匹配的所述待分配内核时,将所述待分配网络设备容器分配至与其匹配的所述待分配内核,并更新各个所述待分配内核的剩余资源。
2.如权利要求1所述的基于容器的网络设备运行控制方法,其特征在于,所述依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核的步骤之后,所述基于容器的网络设备运行控制方法还包括步骤:
在有所述待分配网络容器未匹配到所述待分配内核时,根据各个所述待分配内核的剩余资源对所述待分配网络容器的CPU资源进行拆分;
根据拆分后的CPU资源获取与所述待分配网络容器匹配的所述待分配内核;
将所述待分配网络设备容器分配至与其匹配的所述待分配内核,并更新各个所述待分配内核的剩余资源。
3.如权利要求1-2任一项所述的基于容器的网络设备运行控制方法,其特征在于,所述基于容器的网络设备运行控制方法还包括步骤:
在检测到新建网络设备容器时,获取未被占用的虚拟功能VF接口;
在所有VF接口均被占用时,在服务器的物理接口上创建Macvtap接口;
将创建的所述Macvtap接口作为所述新建网络设备容器的数据传输接口。
4.如权利要求1-2任一项所述的基于容器的网络设备运行控制方法,其特征在于,所述通过各个所述网络设备容器预设的网络接口进行数据交互的步骤之后,所述基于容器的网络设备运行控制方法还包括步骤:
获取各个所述网络设备容器当前运行所需要的内存;
为各个所述网络设备容器分配对应的内存。
5.一种基于容器的网络设备运行控制装置,其特征在于,所述基于容器的网络设备运行控制装置包括:
获取模块,用于获取待运行业务对应的网络设备容器,以及根据所述网络设备容器对应的CPU资源获取所述网络设备容器所要启动的进程数;
运行模块,用于按照所述进程数运行所述网络设备容器;
处理模块,用于通过各个所述网络设备容器预设的网络接口进行数据交互;
其中,所述基于容器的网络设备运行控制装置还包括:
匹配模块,用于依次匹配各个待分配网络设备容器与各个待分配内核,以获取与各个所述待分配网络设备容器匹配的所述待分配内核,其中,所述待分配网络设备容器请求的CPU资源小于所述待分配内核剩余资源时,所述待分配网络设备容器与所述待分配内核匹配;
分配模块,用于在获取到与所述待分配网络设备容器匹配的所述待分配内核时,将所述待分配网络设备容器分配至与其匹配的所述待分配内核;
更新模块,用于更新各个所述待分配内核的剩余资源。
6.如权利要求5所述的基于容器的网络设备运行控制装置,其特征在于,
所述基于容器的网络设备运行控制装置还包括拆分模块,用于在有所述待分配网络容器未匹配到所述待分配内核时,根据各个所述待分配内核的剩余资源对所述待分配网络容器的CPU资源进行拆分;
所述匹配模块,还用于根据拆分后的CPU资源获取与所述待分配网络容器匹配的所述待分配内核;
所述分配模块,还用于将所述待分配网络设备容器分配至与其匹配的所述待分配内核。
7.如权利要求5-6任一项所述的基于容器的网络设备运行控制装置,其特征在于,
所述获取模块,还用于在检测到新建网络设备容器时,获取未被占用的虚拟功能VF接口;
所述基于容器的网络设备运行控制装置还包括:
创建模块,用于在所有VF接口均被占用时,在服务器的物理接口上创建Macvtap接口;
所述处理模块,还用于将创建的所述Macvtap接口作为所述新建网络设备容器的数据传输接口。
8.如权利要求5-6任一项所述的基于容器的网络设备运行控制装置,其特征在于,
所述获取模块,还用于获取各个所述网络设备容器当前运行所需要的内存;
所述分配模块,还用于为各个所述网络设备容器分配对应的内存。
CN201710372742.0A 2017-05-23 2017-05-23 基于容器的网络设备运行控制方法和装置 Active CN108958878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710372742.0A CN108958878B (zh) 2017-05-23 2017-05-23 基于容器的网络设备运行控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710372742.0A CN108958878B (zh) 2017-05-23 2017-05-23 基于容器的网络设备运行控制方法和装置

Publications (2)

Publication Number Publication Date
CN108958878A CN108958878A (zh) 2018-12-07
CN108958878B true CN108958878B (zh) 2021-10-19

Family

ID=64494279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710372742.0A Active CN108958878B (zh) 2017-05-23 2017-05-23 基于容器的网络设备运行控制方法和装置

Country Status (1)

Country Link
CN (1) CN108958878B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084005A (zh) * 2020-09-09 2020-12-15 北京升鑫网络科技有限公司 一种容器行为审计方法、装置、终端及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678203A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种实现网卡零拷贝方法及装置
CN105247826A (zh) * 2013-01-11 2016-01-13 华为技术有限公司 网络设备的网络功能虚拟化
CN106407190A (zh) * 2015-07-27 2017-02-15 阿里巴巴集团控股有限公司 一种事件记录查询方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527992B2 (en) * 2009-09-30 2013-09-03 Sap Ag HTTP request preservation
CN101968746B (zh) * 2010-09-02 2016-03-02 北京航空航天大学 一种内核虚拟机组织架构模式的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105247826A (zh) * 2013-01-11 2016-01-13 华为技术有限公司 网络设备的网络功能虚拟化
CN103678203A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种实现网卡零拷贝方法及装置
CN106407190A (zh) * 2015-07-27 2017-02-15 阿里巴巴集团控股有限公司 一种事件记录查询方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Linux容器构建网络功能虚拟机化平台;葛虎;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315(第3期);第I139-68页 *

Also Published As

Publication number Publication date
CN108958878A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN107580083B (zh) 一种容器ip地址分配的方法和系统
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN110365502A (zh) 一种服务升级管理的方法、装置及存储介质
CN114244717B (zh) 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN110166507B (zh) 多资源调度方法和装置
CN105592110B (zh) 一种资源调度方法及装置
US10728169B1 (en) Instance upgrade migration
CN106911741B (zh) 一种虚拟化网管文件下载负载均衡的方法及网管服务器
CN103747107A (zh) 一种兼容式云操作平台及其实现方法
CN108829523A (zh) 内存资源分配方法、装置、电子设备及可读存储介质
CN108279979A (zh) 一种为应用程序容器绑定cpu的方法及装置
CN108073423A (zh) 一种加速器加载方法、系统和加速器加载装置
CN114374609B (zh) 基于rdma设备的深度学习作业运行方法及系统
CN108540408B (zh) 一种基于Openstack的分布式虚拟交换机的管理方法及系统
CN111835679A (zh) 多租户场景下的租户资源管理方法和装置
CN115525434A (zh) 资源分配方法、容器管理组件和资源分配系统
CN114281444B (zh) 一种实施云桌面客户端的布置方法
CN112035244A (zh) 在多租户环境中虚拟节点集群的部署
CN108958878B (zh) 基于容器的网络设备运行控制方法和装置
CN112565475B (zh) 容器集群业务层添加新节点的ip地址分配方法
CN115665231A (zh) 服务创建方法、装置以及计算机可读存储介质
CN116436968A (zh) 一种服务网格通信方法、系统、装置以及存储介质
CN108833177A (zh) 虚拟交换机管理方法及主控卡
CN114726657A (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