技术领域
[0001] 本发明涉及网络技术领域,特别涉及一种网络功能虚拟化(NFV,Network Function Virtualization)核心网网元测试方法、架构和管理和编排(MANO)架构。
相关背景技术
[0002] 目前NFV核心网网元(以下简称NFV网元)由硬件层,虚拟层(如,网络功能虚拟化基础设施解决方案(NFVI))和虚拟化网络功能(VNF)层组成。MANO架构下,通过虚拟网络功能管理器(VNFM)对NFV网元的VNF层进行管理,通过虚拟基础设施管理器(VIM)对NFV网元的虚拟层进行管理,从而实现对NFV网元实现编排、拉起等操作控制。对NFV网元进行测试时,测试仪表模拟周边网元对被测网元开展话务包围测试,通过仪表控制软件对测试仪表的测试能力层(可以理解为包括硬件层和虚拟层)进行控制,实现对被测网元的测试。对NFV网元进行测试时,MANO架构与被测网元、测试仪表之间的关系示意图可以如图1所示,其中,MANO架构和测试仪表的控制部分、能力部分均无交互。
[0003] 而随着虚拟化技术的成熟,NFV网元部署也越来越灵活快速,现有的NFV网元测试方案至少存在如下缺点:
[0004] NFV网元的热迁移、容量申缩等虚拟化新功能测试,要求测试过程中测试仪表的测试能力能按照需要快速灵活地部署在被测网元周围,现有测试方案中,测试仪表由于无法从MANO架构获得实时的被测网元状态信息,无法实现测试能力的统一部署和调度;
[0005] 随着测试场景中被测网元容量的增加,包围测试需要的测试仪表数量越来越多,测试能力调度由堆叠的测试仪表各自携带仪表控制软件来控制,导致测试控制点过于分散,无法实现集中控制;
[0006] 测试仪表硬件形式逐步由各专用硬件向X86的通用硬件发展,如果测试仪表的测试能力层与被测网元部署与同一虚拟层上面,现有技术还无法实现仪表控制软件调度虚拟层资源。
具体实施方式
[0025] 本发明方案提出一种基于NFV核心网的MANO架构对测试仪表调度和控制的方法。通过适配层(可以但不限于命名为TestVNF API)的引入实现整个测试场景中被测网元功能和测试仪表能力的桥接,通过控制原语的设计实现MANO架构对测试仪表测试能力的统一部署及调度,完全能实现NFV网元“部署即测试”的要求。
[0026] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0028] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
[0029] 此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0030] 实施例一
[0031] 本发明实施例一提供一种NFV核心网网元测试方法,该方法的步骤流程可以如图2所示,包括:
[0032] 步骤101、接收控制原语。
[0033] 在本步骤中,测试仪表中的测试能力层可以接收位于MANO架构下的适配层通过指定的控制原语应用程序编程接口(API)发送的指定的控制原语。
[0034] 即在本实施例中,MANO架构下可以构建一个新的适配层,通过适配层发送控制原语的方式,实现对测试仪表的控制。
[0035] 在本发明各实施例中,测试仪表可以是现有技术中现有的硬件形式为各专用硬件的测试仪表,也可以是采用X86通用硬件的虚拟仪表。即所述测试仪表中的测试能力层可以不部署在所述被测网元的虚拟层上,或者,所述测试仪表中的测试能力层也可以部署在所述被测网元的虚拟层上。
[0036] 不论测试仪表的硬件形式为各专用硬件还是采用X86通用硬件,其测试能力层均可以理解为包括硬件层和虚拟层,即,测试仪表可以由硬件层和虚拟层共同提供测试能力,测试能力可以模拟被测网元的周边网元进行全包围测试。
[0037] 步骤102、进行全包围测试。
[0038] 在本步骤中,测试仪表中的测试能力层可以根据所述指定的控制原语,模拟被测网元的周边网元实现对所述被测网元的全包围测试。
[0039] 被测网元与现有技术一样,可以理解为包括硬件层,虚拟层(如,NFVI)和VNF层。在本发明各实施例中,可以对单一被测网元,或者多个被测网元组合的功能和性能进行全包围测试。即,所述被测网元数量可以为一个或至少两个。
[0040] 在本实施例中,MANO架构可以理解为包括以下三部分:
[0041] 1、VIM,用于对所述被测网元的虚拟层进行管理。VIM可以进行虚拟基础设施管理,管理虚拟层(如NFVI),例如,OpenStack等组件的典型应用环境。
[0042] 2、VNFM,用于对所述被测网元的虚拟层进行管理。VNFM可以实现VNF层的生命周期管理(如实例化,更新,查询,缩放,终止等),可能是多个VNFM管理一个VNF层或者多个VNF层,或者一组VNFM管理多个VNF层,或者一个通用的VNFM管理所有的VNF层的生命周期。根据MANO架构报告,ETSI NFV可以根据GS/NFV-IF009定义提供VNFM的相应的多种开放能力。
[0043] 3、适配层(TestVNF API),实现调度和控制的各个控制原语API。主要可以但不限于实现测试能力配置、测试能力拉起、测试能力暂停/终止,以及测试数据统计。
[0044] 通过适配层实现测试能力配置时,步骤101中,测试仪表中的测试能力层可以接收位于MANO架构下的适配层通过配置原语API发送的配置原语,所述配置原语中包括测试参数;步骤102中,测试仪表中的测试能力层可以根据所述配置原语中的测试参数构建测试组网环境。
[0045] 通过适配层实现测试能力拉起时,步骤101中,测试仪表中的测试能力层可以接收位于MANO架构下的适配层通过拉起原语API发送的拉起原语;步骤102中,测试仪表中的测试能力层可以根据所述拉起原语拉起用例,开始全包围测试。
[0046] 通过适配层实现测试能力暂停/终止时,步骤101中,测试仪表中的测试能力层可以接收位于MANO架构下的适配层通过停止原语API发送的停止原语;步骤102中,测试仪表中的测试能力层可以根据所述停止原语,停止全包围测试。
[0047] 通过适配层实现测试数据统计时,步骤101中,测试仪表中的测试能力层可以接收位于MANO架构下的适配层通过统计原语API发送的统计原语;步骤102中,测试仪表中的测试能力层可以根据所述统计原语,对全包围测试结果数据进行统计分析。
[0048] 此外,需要说明的是,所述适配层可以但不限于采用表述性状态传递(REST)框架搭建。
[0049] REST框架指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计为RESTful架构。其最重要的原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合虚拟资源池的环境。
[0050] 在服务器端,应用程序状态和功能可以分为各种资源,包括:应用程序对象、数据库记录、算法等等。每个资源都使用统一资源定位符(URI,Universal Resource Identifier)得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的超文本传输协议(HTTP)方法,比如得到(GET)、放(PUT)、张贴(POST)和删除(DELETE)。
[0051] 另一个重要的REST原则是分层系统,这表示组件无法了解它与之交互的中间层以外的组件。通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进了底层的独立性。
[0052] 当REST框架的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降低了客户端和服务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。
[0053] 正是由于考虑到REST框架的如上优点,因此,可以采用REST框架搭建适配层。采用REST框架搭建的适配层的架构示意图可以如图3所示,服务器(Server)和客户端(Client)均可以包括因特网协议(IP)层、传输控制协议(TCP)层、HTTP层和REST层,且服务器和客户端之间可以通过网络(Network)进行通信,客户端可以向服务器发送请求(Request),服务器可以向客户端返回响应(Response)。
[0054] 本发明实施例一提出了NFV网元测试方案的全新架构,基于MANO实现的被测网元功能和测试仪表能力的集中统一调度。实现对测试仪表测试能力的调度来完成对被测网元的包围测试,打造针对NFV网元热迁移、扩缩容等特性的快速部署,灵活测试的方案。
[0055] 此外,通过MANO实现不同VNF功能和容量的部署,还可以解决现有技术中存在的随着测试场景中被测网元容量的增加,包围测试需要的测试仪表数量越来越多,测试控制点过于分散,无法实现集中控制的问题。
[0056] 同时,本方案可以适用的硬件包括通用X86平台,也具备较强的可移植性。
[0057] 下面通过一个具体的实例对本发明实施例一提供的方案进行说明。
[0058] 实施例二、
[0059] 本发明实施例二提供一种NFV核心网网元测试方法,该方法的步骤流程可以如图4所示,包括:
[0060] 步骤201、测试仪表检查测试资源状态是否正常。
[0061] 如果正常,则继续执行步骤203,否则,执行步骤2021。
[0062] 步骤2021、反馈至MANO架构。
[0063] 如果测试仪表检查出测试资源状态不正常,则可以将测试资源状态不正常的信息反馈到MANO架构(中的适配层),并继续执行步骤2022。
[0064] 步骤2022、重新初始化测试资源。
[0065] 在本步骤,测试仪表可以重新初始化测试资源,并结束本流程。
[0066] 步骤203、接收配置原语。
[0067] 如果测试仪表检查出测试资源状态正常,MANO架构中的适配层可以通过配置原语API向测试仪表(中的测试能力层)发送配置原语,所述配置原语中可以包括测试参数。
[0068] 在本步骤中,测试仪表(中的测试能力层)可以接收配置原语,根据测试参数构建测试组网环境。
[0069] 步骤204、接收拉起原语。
[0070] 测试组网环境构建完成后,在本步骤中,测试仪表(中的测试能力层)可以接收适配层通过拉起原语API发送的拉起原语,根据所述拉起原语拉起用例,开始全包围测试。
[0071] 步骤205、监控测试过程是否正常运行。
[0072] 在本步骤中,测试仪表(中的测试能力层)可以监控测试过程是否正常运行。如果正常运行,则继续执行步骤207,否则,执行步骤2061。
[0073] 步骤2061、接收停止原语。
[0074] 如果监控到测试过程异常运行,在本步骤中,测试仪表(中的测试能力层)可以接收适配层通过停止原语API向测试仪表(中的测试能力层)发送的停止原语,根据所述停止原语,停止全包围测试。
[0075] 步骤2062、排查系统异常。
[0076] 在本步骤中,测试仪表(中的测试能力层)可以排查系统异常,并在系统恢复正常时,返回执行步骤204。
[0077] 步骤207、接收停止原语。
[0078] 如果测试仪表(中的测试能力层)监控到测试过程正常运行,则适配层可以在测试结束,或者中途需要终止测试时,发送停止原语给测试仪表(中的测试能力层)。
[0079] 在本步骤中,测试仪表(中的测试能力层)可以根据所述停止原语,停止全包围测试,结束测试例。
[0080] 步骤208、接收统计原语。
[0081] 在本步骤中,测试仪表(中的测试能力层)可以接收适配层通过统计原语API向测试仪表(中的测试能力层)发送的统计原语,根据所述统计原语,对全包围测试结果数据进行统计分析,并可以将统计分析结果存入数据库。
[0082] 与实施例一基于同一发明构思,提供以下的架构。
[0083] 实施例三
[0084] 本发明实施例三提供一种NFV核心网网元测试架构,该架构的结构可以如图5所示,包括被测网元11、测试仪表12和管理和编排MANO架构13,所述MANO架构13下包括适配层131,其中:
[0085] 所述MANO架构13下包括的适配层131用于通过指定的控制原语API向所述测试仪表12的测试能力层发送指定的控制原语;
[0086] 所述测试仪表12的测试能力层,用于根据所述指定的控制原语,模拟所述被测网元11的周边网元实现对所述被测网元11的全包围测试。
[0087] 所述MANO架构13下还包括虚拟网络功能管理器132和虚拟基础设施管理器133,其中:
[0088] 所述MANO架构13下还包括的虚拟网络功能管理器132,用于对所述被测网元的VNF层进行管理;
[0089] 所述MANO架构13下还包括的虚拟基础设施管理器133,用于对所述被测网元的虚拟层进行管理。
[0090] 当然,所述被测网元11可以理解为包括硬件层111,虚拟层112(如,NFVI)和VNF层113。
[0091] 实施例四
[0092] 本发明实施例三提供一种MANO架构,该架构的结构可以如图6所示,所述MANO架构下包括适配层21,其中:
[0093] 所述适配层21用于通过指定的控制原语应用程序编程接口API向测试仪表的测试能力层发送指定的控制原语,以便所述测试仪表的测试能力层,根据所述指定的控制原语,模拟被测网元的周边网元实现对所述被测网元的全包围测试。
[0094] 所述MANO架构下还包括虚拟网络功能管理器22和虚拟基础设施管理器23,其中:
[0095] 所述虚拟网络功能管理器22,用于对所述被测网元的VNF层进行管理;
[0096] 所述虚拟基础设施管理器23,用于对所述被测网元的虚拟层进行管理。
[0097] 所述适配层21可以但不限于进一步包括配置模块211、拉起模块212、停止模块213和统计模块214,其中:
[0098] 所述配置模块211,用于实现测试仪表的测试能力配置。可以理解为,所述配置模块211可以通过配置原语API实现MANO架构对测试仪表的参数配置以及测试组网环境的构建。
[0099] 所述拉起模块212,用于实现测试仪表的测试能力拉起。可以理解为,所述拉起模块212可以通过拉起原语API实现MANO架构对测试仪表功能模块的拉起。
[0100] 所述停止模块213,用于实现测试仪表的测试能力暂停/终止。可以理解为,所述停止模块213可以通过停止原语API实现MANO架构对测试仪表测试能力的暂停和终止。
[0101] 所述统计模块214,用于实现测试仪表的测试数据统计。可以理解为,所述统计模块214可以通过统计原语API实现MANO架构对测试结果的统计和测试数据的筛选。
[0102] 在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0103] 在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
[0104] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0105] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0106] 本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0107] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0108] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0109] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0110] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。