CN108737131B - 网络设备虚拟化的实现方法和装置 - Google Patents

网络设备虚拟化的实现方法和装置 Download PDF

Info

Publication number
CN108737131B
CN108737131B CN201710243136.9A CN201710243136A CN108737131B CN 108737131 B CN108737131 B CN 108737131B CN 201710243136 A CN201710243136 A CN 201710243136A CN 108737131 B CN108737131 B CN 108737131B
Authority
CN
China
Prior art keywords
network
network function
equipment
virtualization
virtual machine
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
CN201710243136.9A
Other languages
English (en)
Other versions
CN108737131A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201710243136.9A priority Critical patent/CN108737131B/zh
Publication of CN108737131A publication Critical patent/CN108737131A/zh
Application granted granted Critical
Publication of CN108737131B publication Critical patent/CN108737131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种网络设备虚拟化的实现方法,所述方法包括:接收对网络设备实例化的请求,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;根据所述请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器;获取与所述标准服务器连接的能够运行所述专用网络功能的外设设备,使所述虚拟机/容器与所述外设设备进行通信共同完成对所述网络设备的虚拟化。该方法能够实现对含有专用硬件的网络设备进行虚拟化。此外,还提出了一种网络设备虚拟化的实现装置。

Description

网络设备虚拟化的实现方法和装置
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种网络设备虚拟化的实现方法和装置。
背景技术
传统的CT(Communication Technology,通信技术)和IT(InformationTechnology,信息技术)设计的最大区别在于,CT设备上提供一套软硬件封闭的解决方案,效率高,但是硬件资源不对外开放,互通性差,导致A设备商的软件不能在B设备商的硬件平台上运行。IT设备商则采用通用的硬件和操作系统,可以适配不同厂家的业务。传统的CT设备商如基站,软硬一体化,设备软硬件平台采用封闭私有技术,影响了电信网络的可管理型、可扩展性、安全性以及可评估性,同时各业务系统之间不能实现共享及协同工作,新业务开发速度慢,造成电信网络投资和运营成本较高,开发和部署速度迟缓。
针对以上的问题,ETSI(European Telecommunications Standards Institute,欧洲电信标准化协会)的NFV(Network Function Virtualization,网络功能虚拟化)架构模型为网络功能虚拟化提供了架构思路,但是并不是所有的网络设备的网络功能都可以进行网络功能虚拟化,比如,对时延、功耗效能要求很高的网络功能由于依赖于专用硬件,传统的虚拟化技术不能对这部分网络功能进行虚拟化,从而也就不能采用编排软件统一管理这类不支持虚拟化的网络功能。
发明内容
基于此,有必要针对上述问题,提供了一种能够对含有专用硬件的网络设备进行虚拟化的网络设备虚拟化的实现方法和装置。
一种网络设备虚拟化的实现方法,所述方法包括:
接收对网络设备实例化的请求,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
根据所述请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器;
获取与所述标准服务器连接的能够运行所述专用网络功能的外设设备,使所述虚拟机/容器与所述外设设备进行通信共同完成对所述网络设备的虚拟化。
一种网络设备虚拟化的实现方法,所述方法包括:
接收虚拟化网络设备的指令,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
根据所述指令运行所述网络设备对应的通用网络功能,并与能够运行所述专用网络功能的外设设备建立通信,共同完成对所述网络设备的虚拟化。
一种网络设备虚拟化的实现装置,所述装置包括:
接收模块,用于接收对网络设备实例化的请求,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
创建模块,用于根据所述请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器;
通信模块,用于获取与所述标准服务器连接的能够运行所述专用网络功能的外设设备,使所述虚拟机/容器与所述外设设备进行通信共同完成对所述网络设备的虚拟化。
一种网络设备虚拟化的实现装置,所述装置包括:
指令接收模块,用于接收虚拟化网络设备的指令,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
虚拟化模块,用于根据所述指令运行所述网络设备对应的通用网络功能,并与能够运行所述专用网络功能的外设设备建立通信,共同完成对所述网络设备的虚拟化。
一个或多个存储有计算机可执行指令的非易失性计算机可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行以下步骤:
接收对网络设备实例化的请求,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
根据所述请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器;
获取与所述标准服务器连接的能够运行所述专用网络功能的外设设备,使所述虚拟机/容器与所述外设设备进行通信共同完成对所述网络设备的虚拟化。
一个或多个存储有计算机可执行指令的非易失性计算机可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行以下步骤:
接收虚拟化网络设备的指令,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
根据所述指令运行所述网络设备对应的通用网络功能,并与能够运行所述专用网络功能的外设设备建立通信,共同完成对所述网络设备的虚拟化。
上述网络设备的网络功能虚拟化的实现方法和装置,通过将网络设备的网络功能划分为通用网络功能和专用网络功能,其中,通用网络功能通过标准服务器中的虚拟机/容器即可运行,将能够运行专用网络功能的专用硬件作为标准服务器的外设设备,然后,通过虚拟机/容器和外设设备建立通信就可以完成对网络设备的虚拟化。从而可以实现对含有专用硬件的网络设备进行虚拟化,并且可以统一由编排软件统一进行管理。
上述网络设备虚拟化的实现方法和装置,通过虚拟机/容器运行网络设备对应的通用网络功能,并且与能够运行专用网络功能的外设设备建立通信,共同完成对网络设备的虚拟化,从而实现了对含有专用硬件的网络设备进行虚拟化。
附图说明
图1为一个实施例中网络设备虚拟化的实现方法流程图;
图2为另一个实施例中网络设备虚拟化的实现方法流程图;
图3为一个实施例中根据请求在标准服务器中创建虚拟机/容器的方法流程图;
图4为再一个实施例中网络设备虚拟化的实现方法流程图;
图5为一个实施例中与能够运行专用网络功能的外设设备建立通信,共同完成对网络设备虚拟化的方法流程图;
图6为一个实施例中虚拟机/容器与外设设备进行通信的示意图;
图7为一个实施例中基站虚拟化系统的结构示意图;
图8为一个实施例中网络设备虚拟化的实现装置的结构框图;
图9为另一个实施例中网络设备虚拟化的实现装置的结构框图;
图10为再一个实施例中网络设备虚拟化的实现装置的结构框图;
图11为一个实施例中虚拟化模块的结构框图。
具体实施方式
如图1所示,在一个实施例中,提出了一种网络设备虚拟化的实现方法,具体包括以下步骤:
步骤102,接收对网络设备实例化的请求,网络设备对应的网络功能分为通用网络功能和专用网络功能。
传统技术中,如果网络设备中含有依赖于专用硬件资源才能运行的网络功能,那么就不能对该网络设备进行虚拟化。而本实施例中为了能够对含有专用硬件资源的网络设备进行虚拟化,首先,根据网络设备中的网络功能是否依赖于专用硬件资源将网络设备对应的网络功能分为通用网络功能和专用网络功能。通用网络功能是指那些对实时性要求不高的,能够在标准服务器中(比如,X86服务器)的虚拟机/容器上运行的网络功能,而专用网络功能是指那些对时延、功耗等要求比较高,需要依赖于专用硬件才能处理,不能在虚拟机/容器上直接运行的网络功能。举个例子,基站中的某些功能,例如操作维护、传输、数据库、业务信令处理等由于对时延要求不高,所以可以在X86或者ARM通用芯片上的虚拟机/容器中运行。而基站中专用设备,例如BBU(Base Band Unit,基带处理单元)的基带加速卡、RRU(Radio Remote Unit,射频拉远单元)的射频板等由于对时延要求很高,只能通过专用芯片实现(类似于声卡、显卡等需要特殊硬件做加速处理),即通用芯片和通用的分时操作系统不能胜任专用网络功能的运行,所以不能直接在通用芯片上的虚拟机/容器中运行,这部分不能在虚拟机/容器上运行的网络功能就称为专用网络功能。具体地,编排软件接收对网络设备实例化的请求,网络设备实例化是指创建虚拟化的网络设备,所以接收对网络设备实例化的请求实际上就是指接收创建虚拟化的网络设备的请求。其中,在一个实施例中,编排软件可以理解为VNFM(VNF Manager网络功能虚拟化的管理器)。
步骤104,根据请求在标准服务器中创建能够运行通用网络功能的虚拟机/容器。
在本实施例中,虚拟机(VM)和容器(Docker)都是虚拟化的技术,采用任何一种都可以实现运行上述通用网络功能。对于通用网络功能,即那些对实时性要求不高的网络功能采用传统的虚拟化技术就可以实现,比如,采用KVM+Openstack的虚拟方式,或者采用Kubernetes+Docker的虚拟方式。其中,KVM(Kernel-based Virtual Machine,基于内核的虚拟机)是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术的Linux的全虚拟化解决方案。Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可运行多个操作系统和应用共享一套基础物理硬件。Openstack是一款云管理平台,支持几乎所有类型的云环境,使通用资源成池化管理,提供了基础设备即服务(Iaas)的解决方案,大大简化云的部署过程。Kubernetes是Google开源的容器集群管理系统,在Docker(容器)技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。所以通过采用KVM+Openstack或Kubernetes+Docker可以轻松的实现在虚拟中运行上述通用网络功能。具体地,编排软件接收到用户发送的对网络设备实例化的请求后,指示在标准服务器中通过加载对应的资源创建能够运行上述通用网络功能的虚拟机/容器。
步骤106,获取与标准服务器连接的能够运行专用网络功能的外设设备,使虚拟机/容器与外设设备进行通信共同完成对网络设备的虚拟化。
在本实施例中,为了实现对网络设备中的专用网络功能进行虚拟化,便于统一管理,将专用网络功能依赖的专用硬件做成专用板卡,然后将专用板卡虚拟为标准服务器的外设设备,该外设设备能够运行相应的专用网络功能。通过使虚拟机/容器与外设设备建立通信,然后,通过两者配合共同完成对网络设备的虚拟化,也就是说,通过标准服务器中的虚拟机/容器来实现网络设备对应的通用网络功能,然后通过与标准服务器连接的外设设备实现网络设备的专用网络功能,两者共同实现了网络设备的所有功能,即实现了对网络设备的虚拟化。其中,将专用板卡虚拟为外设设备有多种方式,在一个实施例中,可以将专用板卡做成真实的连接在标准服务器外设接口上的外设设备,比如,做成与PCIE接口匹配的外设设备,然后插在标准服务器(X86服务器)的PCIE插槽中;或者做成与USB接口匹配的外设设备,然后插在X86服务器的USB接口上等。
在另一个实施例中,专用板卡也可以与标准服务器连接的远端的外设设备,比如,通过在X86服务器上运行一个虚拟的驱动程序,然后通过X86服务器的网络接口与处于远端的外设设备进行通信,使得远端的外设设备在使用中与X86服务器近端的外设设备达到同样的效果。通过将能够运行专用网络功能的专用板卡虚拟为标准服务器的外设设备,就可以由VIM(Virtualised Infrastructure Manager,虚拟基础设施管理)统一管理,VIM与编排软件通信,根据编排软件的指示管理通用的计算/存储/网络/外设资源。其中,外设设备就属于VIM能够管理的外设资源。具体地,编排软件接收到实例化的请求后,通过VIM获取与标准服务器连接的能够运行专用网络功能的外设设备,然后使虚拟机/容器与外设设备建立通信,通过两者的配合共同完成对网络设备的虚拟化。
在本实施例中,通过将网络设备的网络功能划分为通用网络功能和专用网络功能,其中,通用网络功能通过标准服务器中的虚拟机/容器即可运行,将能够运行专用网络功能的专用硬件作为标准服务器的外设设备,然后,通过虚拟机/容器和外设设备建立通信就可以完成对网络设备的虚拟化。从而可以实现对含有专用硬件的网络设备进行虚拟化,并且网络设备的虚拟化可以由编排软件统一进行管理。
如图2所示,在一个实施例中,在接收对网络设备实例化的请求的步骤之前还包括:
步骤100,将网络设备对应的网络功能划分为通用网络功能和专用网络功能。
在本实施例中,网络设备是由很多模块组成的,每个模块都会运行自己的软件完成某个功能,所以网络设备能够完成的整体功能是通过多个网络功能构成的,对网络设备进行虚拟化,就是将网络设备对应的网络功能在通用的标准服务器上的虚拟机/容器中运行实现。但是由于有些网络功能依赖于专用硬件,所以不能直接在虚拟机/容器中运行,导致不能实现对网络设备的虚拟化,而本实施例中,为了能够对含有专用硬件的网络设备进行虚拟化,首先将网络设备对应的网络功能按照是否能够在虚拟机/容器中运行划分为通用网络功能和专用网络功能,其中,通用网络功能可以直接采用传统的虚拟化技术,即可以直接在虚拟机/容器上运行该通用网络功能。专用网络功能由于不能在虚拟机/容器上直接运行,所以需要单独对这部分网络功能进行特殊处理,这也是本实施例中关注的重点,以便实现对网络设备的虚拟化。
步骤101,将能够运行专用网络功能的专用板卡作为标准服务器的外设设备。
在本实施例中,为了能够实现运行专用网络功能,通过将能够运行专用网络功能的专用板卡虚拟为标准服务器的外设设备,将专用板卡虚拟为标准服务器的外设设备有多种方式,在一个实施例中,可以将专用板卡做成真实的插入PCIE插槽中的PCIE设备,也可以做成插入USB插槽中USB设备,然后该外设设备通过相应的标准的PCIE接口或USB接口连接到标准服务器。比如,将基站中的BBU的基带加速卡、RRU视频板做成标准服务器的外设设备,其中,作为基带加速卡的外设设备用于完成基带加速处理,作为射频卡的外设设备用于完成射频处理。在另一个实施例中,运行专用网络功能的设备也可以是与标准服务器连接的远端的外设设备,通过在标准服务器上运行一个驱动程序,然后通过标准服务器的网络接口与处于远端的外设设备进行通信,使得远端的外设设备在使用中与标准服务器近端的外设设备达到同样的效果。比如,基站的BP或者RRU可以设置为远端的设备,通过与标准服务器的网络接口连接将其虚拟为X86服务器的外设设备,具体地,通过在X86服务器上运行一个虚拟的驱动程序,使得远端的BP或者RRU在使用时跟在X86服务器近端的外设是一样的效果。其中,外设设备可以是PCIE类或者USB类型的外设,也可以是其他类型的外设。
如图3所示,在一个实施例中,根据所述请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器的步骤包括:
步骤104A,根据请求获取与网络设备对应的配置数据。
在本实施例中,接收到网络设备实例化的请求后,为了在标准服务器中创建虚拟机/容器,首先需要获取与该网络设备对应的配置数据,根据该配置数据就可以知道要获取哪些资源,然后获取对应的计算/存储/网络/外设资源,便于后续根据这些资源进行虚拟机/容器的创建。具体地,预先配置了要实现网络设备虚拟化所需要的配置数据,所以在接收到实例化的请求后便可以直接去获取与网络设备对应的配置数据。
步骤104B,根据配置数据加载对应的资源在标准服务器中创建能够运行通用网络功能的虚拟机/容器。
在本实施例中,为了能够运行网络功能对应的通用网络功能,需要建立运行该通用网络功能的虚拟机/容器。在获取到与网络设备对应的配置数据后,首先根据该配置数据加载对应的资源,然后根据加载到的资源在标准服务器中创建能够运行通用网络功能的一个或多个虚拟机/容器,具体创建几个虚拟机,一般是根据服务的划分来决定的,比如,可以将操作维护单独划分一个大服务,一个虚拟机/容器就可以实现,也可以将操作维护细分为告警、诊断、数据库、版本、配置等多个服务,这时就需要多个虚拟机/容器来运行。后续通过该虚拟机/容器运行对应的通用网络功能。
在一个实施例中,网络设备为基站,获取与标准服务器连接的能够运行专用网络功能的外设设备,使虚拟机/容器与外设设备进行通信共同完成对网络设备的虚拟化的步骤包括:获取与标准服务器连接的能够运行专用网络功能的专用板卡BP和RRU,其中,专用板卡BP用于完成基带加速处理的专用网络功能,专用板卡RRU用于完成射频处理的专用网络功能;通过运行基站通用网络功能的虚拟机/容器与专用板卡BP和RRU进行通信,共同完成对基站的虚拟化。
在本实施例中,将基站中的功能模块根据是否能够在标准服务器的虚拟机/容器中运行分为通用网络功能模块和专用网络功能模块。将通用网络功能模块对应实现的通用网络功能通过在标准服务器的虚拟机/容器中运行来实现。将专用网络功能模块依赖的专用硬件做成专用板卡,然后作为标准服务器的外设设备,用来实现对应的专用网络功能。基站虚拟化就是尽量将基站的软件(每个软件对应实现一个功能)移到标准服务器(X86服务器)上,运行在虚拟机/容器上。但是由于受限于当前的技术和芯片的处理能力,无法将整个基站的功能都从专用设备上移到标准服务器上,还有一部分功能模块要在专用芯片上处理。所以需要将基站上的功能模块按照是否能够移到标准服务器上的虚拟机/容器中运行分为通用网络功能模块和专用网络功能模块。
具体地,基站通常有天线、BBU、RRU等组成。其中,RRU是由射频硬件和视频算法处理芯片组成,射频硬件属于专用硬件,且射频算法处理对时延、功能效率要求很高,所以RRU不能使用虚拟机/容器实现相应的功能。BBU部分主要提供基带的处理,BBU中的某些功能比如操作维护、传输、数据库、以及业务信令处理等可以在虚拟机/容器上完成,但是基带加速卡BP由于对并发行、吞吐量和处理效能要求很高,所以这部分的功能不能够使用虚拟机/容器实现。该不能在虚拟机/容器上实现的功能称为专用网络功能。通过将实现该专用网络功能的专用板卡BP和RRU做成标准服务器的外设设备来实现对应的专用网络功能。专用板卡BP用于完成基带加速处理的功能,专用板卡RRU用于完成射频处理的专用网络功能。在一个实施例中,一个虚拟机/容器用于实现一个通用网络功能,基站对应的多个通用网络功能需要多个虚拟机/容器来实现,每个虚拟机/容器上运行不同的软件模块,实现不同的网络功能。在另一个实施例中,一个虚拟机/容器也可以实现多个通用网络功能。事实上,具体创建几个虚拟机,一般是根据服务的划分来决定的,比如,可以将操作维护单独划分一个大服务,一个虚拟机/容器就可以实现,也可以将操作维护细分为告警、诊断、数据库、版本、配置等多个服务,这时就需要多个虚拟机/容器来运行。与此同时,将BP和RRU的专用板卡做成标准服务器的外设设备,用来实现对应的专用网络功能。通过将虚拟机/容器与外设设备通信,共同实现虚拟化的基站。之所以称为虚拟化的基站,是因为将基站设备的软件模块做成了虚拟化的网络功能,运行在X86服务器上。虚拟化技术支持物理资源和资源池的动态共享,虚拟化的网络功能可以无损动态迁移,根据业务情况进行弹性伸缩,从而节省成本,更快适应各种业务需求,快速整合资源,提高资源利用率。
如图4所示,在一个实施例中,提出了一种网络设备虚拟化的实现方法,该方法包括:
步骤402,接收虚拟化网络设备的指令,网络设备对应的网络功能分为通用网络功能和专用网络功能。
在本实施例中,虚拟机/容器用于运行网络设备对应的通用网络功能。编排软件对虚拟机/容器和外设设备进行统一管理。当需要对网络设备进行虚拟化时,编排软件则向虚拟机/容器发送虚拟化该网络设备的指令,便于虚拟机/容器根据该指令运行网络设备对应的通用网络功能,同时与外设设备建立连接,共同完成对网络设备的虚拟化。
步骤404,根据指令运行网络设备对应的通用网络功能,并与能够运行专用网络功能的外设设备建立通信,共同完成对网络设备的虚拟化。
在本实施例中,虚拟机/容器根据虚拟化网络设备的指令运行网络设备对应的通用网络功能,同时需要与外设设备建立通信。外设设备用于运行专用网络功能。具体地,首先,外设设备向虚拟机/容器发送运行请求,虚拟机/容器根据该运行请求将与外设设备对应的版本信息及相应的配置数据发送给外设设备,外设设备通过加载对应的配置数据运行到工作状态,然后虚拟机/容器就可以和外设设备进行通信,共同完成对网络设备的虚拟化。
在本实施例中,通过虚拟机/容器运行网络设备对应的通用网络功能,并且与能够运行专用网络功能的外设设备建立通信,共同完成对网络设备的虚拟化,从而实现了对含有专用硬件的网络设备进行虚拟化
如图5所示,在一个实施例中,与能够运行专用网络功能的外设设备建立通信,共同完成对网络设备的虚拟化的步骤包括:
步骤404A,接收外设设备发送的运行请求。
在本实施例中,当外设设备与虚拟机/容器建立通信后,外设设备主动向虚拟机/容器发送运行请求,用于向虚拟机/容器请求相应的配置数据。虚拟机/容器接收外设设备发送的运行请求,根据该请求获取对应的配置数据。
步骤404B,根据运行请求获取与外设设备对应的配置数据,并将配置数据发送给外设设备,使外设设备加载配置数据运行到工作状态。
在本实施例中,虚拟机/容器接收到外设设备发送的运行请求后,根据该请求获取对应配置数据,具体地,首先,获取与外设设备对应的版本信息,根据该版本信息查找与该版本信息对应的配置数据,然后将获取到的与外设设备对应的配置数据发送给外设设备,外设设备通过加载对应的配置数据运行到工作状态下,即外设设备需要通过加载配置数据才能运行。之所以要先获取版本信息是因为每个功能模块都会对应自己的软件,而软件需要定期升级,比如,新增一些新的功能或者修复一些Bug都需要对软件进行更新升级,而不同的软件版本对应的配置数据不同,所以要先获取当前外设设备使用的版本信息,然后根据版本信息查找到对应的配置数据。
步骤404C,通过与处于工作状态下的外设设备进行通信共同完成对网络设备的虚拟化。
在本实施例中,当外设设备运行到工作状态下时,虚拟机/容器就可以与该外设设备进行通信,共同完成对网络设备的虚拟化。具体地,虚拟机/容器向外设设备发送消息,首先需要将消息封装成特定格式的报文,然后发送给外设设备,外设设备接收到虚拟机/容器发过来的消息,需要对消息进行拆包、解析,将数据转换为外设设备上运行的消息格式,然后再对消息进行处理。
如图6所示,在一个实施例中,示出了虚拟机/容器与外设设备进行通信的示意图。如图6所示,首先,从虚拟机/容器的角度来看,一方面,虚拟机/容器的应用层通过I/O模块提供的API接口向外设设备发送消息,消息被封装成特定格式的报文,通过外设总线(比如,PCIE总线)发送给外设设备。另一方面,虚拟机/容器的解析模块从I/O模块获取外设设备发过来的消息,经过拆包、解析,将数据转换为虚拟机/容器上运行的消息格式传递给对应虚拟机/容器的应用层,应用层对消息进行处理。其次,以外设设备的角度来看,一方面,外设设备的应用层通过I/O模块提供的API接口向标准服务器上的虚拟机/容器发送消息,消息被封装成特定格式的报文,通过外设总线(比如,PCIE总线、USB总线)发送给虚拟机/容器;另一方面,外设设备的解析模块从I/O模块获取虚拟机/容器发过来的消息,经过拆包、解析,将数据转换为外设设备上运行的消息格式传递给对应的应用层,应用层对消息进行处理。
在一个具体的实施例中,以基站为例,如图7所示,示出了一种基站虚拟化系统的结构示意图。如图7所示,在最底层采用的是通用的X86硬件,在X86硬件上层部署的Linux+Openstack,其中,OpenStack是一款云管理平台,支持几乎所有类型的云环境,使得通用资源成池化管理,提供了基础设施即服务(IaaS)的解决方案,大大简化云的部署过程。Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,主要厂商及产品:开源的KVM、VMware、Xen、VirtualBSD等。最上层则部署的是能够运行通用网络功能的虚拟机/容器。其中,虚拟机/容器与外设设备BP和RRU建立通信连接进行通信,且基站的通用网络功能可以采用多个虚拟机/容器运行,即一个基站的虚拟化可以采用多个虚拟机/容器来运行。
如图8所示,在一个实施例中,提出了一种网络设备虚拟化的实现装置,该装置包括:
接收模块802,用于接收对网络设备实例化的请求,网络设备对应的网络功能分为通用网络功能和专用网络功能。
创建模块804,用于根据请求在标准服务器中创建能够运行通用网络功能的虚拟机/容器。
通信模块806,用于获取与标准服务器连接的能够运行专用网络功能的外设设备,使虚拟机/容器与外设设备进行通信共同完成对网络设备的虚拟化。
如图9所示,在一个实施例中,上述网络设备虚拟化的实现装置还包括:
划分模块800,用于将网络设备对应的网络功能划分为通用网络功能和专用网络功能。
连接模块801,用于将能够运行专用网络功能的专用板卡作为标准服务器的外设设备。
在一个实施例中,上述创建模块还用于根据请求获取与网络设备对应的配置数据,根据配置数据加载对应的资源在标准服务器中创建能够运行通用网络功能的虚拟机/容器。
如图10所示,在一个实施例中,提出了一种网络设备虚拟化的实现装置,该装置包括:
指令接收模块1002,用于接收虚拟化网络设备的指令,网络设备对应的网络功能分为通用网络功能和专用网络功能。
虚拟化模块1004,用于根据指令运行网络设备对应的通用网络功能,并与能够运行专用网络功能的外设设备建立通信,共同完成对网络设备的虚拟化。
如图11所示,在一个实施例中,虚拟化模块1004还包括:
运行请求接收模块1004A,用于接收外设设备发送的运行请求。
发送模块1004B,用于根据运行请求获取与外设设备对应的配置数据,并将配置数据发送给外设设备,使外设设备加载配置数据运行到工作状态。
完成模块1004C,用于通过与处于工作状态下的外设设备进行通信共同完成对网络设备的虚拟化。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种网络设备虚拟化的实现方法,所述方法包括:
编排软件根据对网络设备实例化的请求,将所述网络设备对应的网络功能划分为通用网络功能和专用网络功能;
编排软件根据所述对网络设备实例化的请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器;
编排软件获取与所述标准服务器连接的能够运行所述专用网络功能的外设设备,使所述虚拟机/容器与所述外设设备进行通信共同完成对所述网络设备的虚拟化。
2.根据权利要求1所述的方法,其特征在于,在编排软件根据对网络设备实例化的请求的步骤之前还包括:
将能够运行所述专用网络功能的专用板卡作为所述标准服务器的外设设备。
3.根据权利要求1所述的方法,其特征在于,编排软件根据所述对网络设备实例化的请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器的步骤包括:
根据所述请求获取与所述网络设备对应的配置数据;
根据所述配置数据加载对应的资源在所述标准服务器中创建能够运行所述通用网络功能的虚拟机/容器。
4.一种网络设备虚拟化的实现方法,所述方法包括:
虚拟机/容器接收编排软件发送的虚拟化网络设备的指令,并根据所述指令运行所述网络设备对应的通用网络功能,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
虚拟机/容器根据外设设备发送的运行请求,将与外设设备对应的版本信息及相应的配置数据发送给外设设备,以便外设设备通过加载对应的配置数据运行到工作状态;
虚拟机/容器与能够运行所述专用网络功能的外设设备建立通信,共同完成对所述网络设备的虚拟化。
5.根据权利要求4所述的方法,其特征在于,所述虚拟机/容器与能够运行所述专用网络功能的外设设备建立通信,共同完成对所述网络设备的虚拟化的步骤包括:
接收所述外设设备发送的运行请求;
根据所述运行请求获取与所述外设设备对应的配置数据,并将所述配置数据发送给所述外设设备,使所述外设设备加载所述配置数据运行到工作状态;
通过与处于工作状态下的所述外设设备进行通信共同完成对所述网络设备的虚拟化。
6.一种网络设备虚拟化的实现装置,其特征在于,所述装置包括:
接收模块,用于根据对网络设备实例化的请求,将所述网络设备对应的网络功能划分为通用网络功能和专用网络功能;
创建模块,用于根据所述网络设备实例化的请求在标准服务器中创建能够运行所述通用网络功能的虚拟机/容器;
通信模块,用于获取与所述标准服务器连接的能够运行所述专用网络功能的外设设备,使所述虚拟机/容器与所述外设设备进行通信共同完成对所述网络设备的虚拟化。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
连接模块,用于将能够运行所述专用网络功能的专用板卡作为所述标准服务器的外设设备。
8.根据权利要求6所述的装置,其特征在于,所述创建模块还用于根据所述请求获取与所述网络设备对应的配置数据,根据所述配置数据加载对应的资源在所述标准服务器中创建能够运行所述通用网络功能的虚拟机/容器。
9.一种网络设备虚拟化的实现装置,其特征在于,所述装置包括:
指令接收模块,用于接收编排软件发送的虚拟化网络设备的指令,并根据所述指令运行所述网络设备对应的通用网络功能,所述网络设备对应的网络功能分为通用网络功能和专用网络功能;
虚拟化模块,用于根据外设设备发送的运行请求,将与外设设备对应的版本信息及相应的配置数据发送给外设设备,以便外设设备通过加载对应的配置数据运行到工作状态,并与能够运行所述专用网络功能的外设设备建立通信,共同完成对所述网络设备的虚拟化。
10.根据权利要求9所述的装置,其特征在于,所述虚拟化模块还包括:
运行请求接收模块,用于接收所述外设设备发送的运行请求;
发送模块,用于根据所述运行请求获取与所述外设设备对应的配置数据,并将所述配置数据发送给所述外设设备,使所述外设设备加载所述配置数据运行到工作状态;
完成模块,用于通过与处于工作状态下的所述外设设备进行通信共同完成对所述网络设备的虚拟化。
CN201710243136.9A 2017-04-14 2017-04-14 网络设备虚拟化的实现方法和装置 Active CN108737131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710243136.9A CN108737131B (zh) 2017-04-14 2017-04-14 网络设备虚拟化的实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710243136.9A CN108737131B (zh) 2017-04-14 2017-04-14 网络设备虚拟化的实现方法和装置

Publications (2)

Publication Number Publication Date
CN108737131A CN108737131A (zh) 2018-11-02
CN108737131B true CN108737131B (zh) 2021-04-20

Family

ID=63923841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710243136.9A Active CN108737131B (zh) 2017-04-14 2017-04-14 网络设备虚拟化的实现方法和装置

Country Status (1)

Country Link
CN (1) CN108737131B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111384269B (zh) 2018-12-29 2021-08-03 Tcl科技集团股份有限公司 量子点发光二极管及其制备方法
CN111722906A (zh) * 2019-03-22 2020-09-29 华为技术有限公司 一种部署虚拟机和容器的方法及装置
CN111026505B (zh) * 2019-12-09 2024-04-05 斑马网络技术有限公司 网络设备虚拟化方法及装置
CN111124607A (zh) * 2019-12-16 2020-05-08 上海大学 Fpga虚拟化部署实现高速安全的服务器集群管理方法
CN111901902B (zh) * 2020-07-14 2022-12-30 苏州浪潮智能科技有限公司 一种移动基站及对应的业务处理方法和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105580328A (zh) * 2013-10-31 2016-05-11 英特尔Ip公司 无线通信网络的网关排布
CN106095563A (zh) * 2015-04-27 2016-11-09 阿尔特拉公司 灵活的物理功能和虚拟功能映射

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630270B (zh) * 2009-07-22 2013-06-26 成都市华为赛门铁克科技有限公司 数据处理系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105580328A (zh) * 2013-10-31 2016-05-11 英特尔Ip公司 无线通信网络的网关排布
CN106095563A (zh) * 2015-04-27 2016-11-09 阿尔特拉公司 灵活的物理功能和虚拟功能映射

Also Published As

Publication number Publication date
CN108737131A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108737131B (zh) 网络设备虚拟化的实现方法和装置
US10922153B2 (en) Communication method and device for virtual base stations
CN107479943B (zh) 基于工业互联网操作系统的多操作系统运行方法及装置
CN109739618B (zh) 虚拟机迁移方法及装置
US20130055254A1 (en) Methods and apparatuses for providing a virtual machine with dynamic assignment of a physical hardware resource
EP3497889B1 (en) Device virtualization for containers
WO2017140191A1 (zh) 基站硬件虚拟化方法、装置和基站
CN115858102B (zh) 一种用于部署支持虚拟化硬件加速的虚拟机的方法
CN114499945B (zh) 一种虚拟机的入侵检测方法及装置
CN109743205B (zh) 一种云平台os网络管理方法、装置及服务器
US20170024231A1 (en) Configuration of a computer system for real-time response from a virtual machine
US20130204924A1 (en) Methods and apparatuses for providing application level device transparency via device devirtualization
CN115858103B (zh) 用于开放堆栈架构虚拟机热迁移的方法、设备及介质
CN114691286A (zh) 服务器系统、虚拟机创建方法及装置
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN111123737A (zh) 一种数字硬件虚拟仿真系统
CN113821308A (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
CN109656675B (zh) 总线设备、计算机设备及实现物理主机云存储的方法
Ahmad et al. vIoT: A first step towards a shared, multi-tenant IoT Infrastructure architecture
CN113296926A (zh) 一种资源分配方法、计算设备及存储介质
EP4148568A1 (en) Method for realizing live migration, chip, board, and storage medium
CN113326098B (zh) 支持kvm虚拟化与容器虚拟化的云管平台
US20140237469A1 (en) Firmware metadata and migration in virtualized systems
US20190012208A1 (en) Virtual device migration or cloning based on device profiles
US20240160492A1 (en) System and method for radio access network baseband workload pool resizing

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