一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据流镜像方法及装置与流程

2022-05-06 08:12:55 来源:中国专利 TAG:


1.本技术涉及nfv技术领域,尤其涉及一种数据流镜像方法及装置。


背景技术:

2.网络功能虚拟化(network function virtualization,nfv)指通过使用通用的硬件设备及虚拟化技术,来承载传统网络中专用设备的功能,从而降低部署专用设备带来的昂贵成本。软件不与专有硬件绑定,使网络设备功能不再依赖于专用硬件。同时利用云计算的特点,使资源可以充分灵活共享,现实新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。nfv技术在数据中心(data center,dc),尤其是运营商的数据中心领域获得了极大的认可,是运营商一直在推广的网络技术。
3.数据流镜像业务目前可应用于数据中心,以对指定的数据流进行镜像获得镜像数据流,进而对镜像数据流进行分析;数据流镜像业务在很多领域(比如业务安全风险洞察、系统安全漏洞)起着非常重要的作用。
4.然而,如何通过nfv架构实现数据流镜像业务,仍需进一步研究。


技术实现要素:

5.有鉴于此,本技术提供了一种数据流镜像方法及装置,用于实现端到端(即从oss/bss到vim)的数据流镜像业务。
6.第一方面,本技术实施例提供一种数据流镜像方法,该方法可以由nfvo执行,在该方法中,nfvo接收来自oss/bss的实例化请求,所述实例化请求用于请求实例化ns;根据所述实例化请求,获取所述ns的描述nsd信息,所述nsd信息包括第一镜像对象信息,所述第一镜像对象信息用于描述创建第一镜像对象的信息;所述第一镜像对象用于对第一数据流进行镜像;根据所述第一镜像对象信息,向虚拟基础设施管理器vim请求创建所述第一镜像对象,所述第一镜像对象关联第一镜像服务,所述第一镜像服务用于对所述第一数据流的镜像数据流进行分析。
7.采用上述方法,通过对目前的nsd信息进行扩展,扩展后的nsd信息中可以包括镜像对象信息(可选地,还可以包括镜像服务信息),从而能够在设计态指定需要进行镜像的数据流,进而部署ns时可以自动进行镜像对象(和镜像服务)的创建,实现端到端(即从oss/bss到vim)的数据流镜像业务。
8.在一种可能的设计中,所述第一数据流为流入所述ns所包括的第一虚拟化网络功能vnf的数据流或流出所述第一vnf的数据流。
9.在一种可能的设计中,所述nsd信息还包括第一镜像服务信息,所述第一镜像服务信息用于描述创建第一镜像服务的信息;所述方法还包括:根据所述第一镜像服务信息,向vim请求创建所述第一镜像服务。
10.在一种可能的设计中,所述第一镜像服务信息包括所述第一镜像服务的名称;根据所述第一镜像服务信息,向vim请求创建所述第一镜像服务,包括:向所述vim发送查询请
求,所述查询请求包括所述第一镜像服务的名称;接收来自所述vim的查询响应,所述查询响应包括所述第一镜像服务对应的分析系统的地址信息;向所述vim发送第一创建请求,所述第一创建请求用于请求创建所述第一镜像服务,所述第一创建请求包括所述第一镜像服务的名称和所述第一镜像服务对应的分析系统的地址信息。
11.采用上述方法,由于nsd信息中可以不包含第一镜像服务对应的分析系统的地址信息,而是由vim来分配第一镜像服务对应的分析系统的地址信息,从而能够提高安全性。
12.在一种可能的设计中,所述第一镜像对象信息包括所述第一vnf的外部连接点的标识;根据所述第一镜像对象信息,向vim请求创建所述第一镜像对象,包括:根据所述外部连接点的标识,向vnfm获取所述外部连接点对应的端口信息;向vim发送第二创建请求,所述第二创建请求用于请求创建所述第一镜像对象,所述第二创建请求包括所述端口信息。
13.在一种可能的设计中,第一镜像对象信息还包括镜像位置信息;所述方法还包括:当所述镜像位置信息为连接点时,向vnfm获取所述外部连接点对应的安全组规则信息;所述第二创建请求还包括所述安全组规则信息,所述第一数据流为符合所述安全组规则信息的数据流。
14.采用上述方法,考虑到vnfd信息对连接点可能定义有安全组规则,即只有满足一定要求的数据流可以流入或者流出指定的连接点,因此,当镜像位置信息为连接点时,可以获取安全组规则信息,从而使得进行镜像的数据流也通过安全组规则过滤。
15.在一种可能的设计中,所述方法还包括:获取策略信息;所述第二创建请求还包括策略信息,所述第一数据流为符合所述策略信息的数据流。
16.在一种可能的设计中,所述方法还包括:接收来自所述oss/bss的第一更新请求,所述第一更新请求用于请求将所述第一镜像服务更新为第二镜像服务,所述第一更新请求包括第二镜像服务信息,所述第二镜像服务信息用于描述创建所述第二镜像服务的信息;根据所述第一更新请求,向所述vim请求删除所述第一镜像服务;确定所述vim成功删除所述第一镜像服务后,根据所述第二镜像服务信息,向所述vim请求创建所述第二镜像服务。
17.在一种可能的设计中,所述方法还包括:根据所述第一更新请求,向所述vim请求删除所述第一镜像服务关联的第一镜像对象;确定所述vim成功删除所述第一镜像对象后,将所述第一镜像对象信息更新为第二镜像对象信息,所述第二镜像对象信息用于描述创建所述第二镜像对象的信息,所述第二镜像对象用于对所述第一数据流进行镜像,所述第二镜像对象关联所述第二镜像服务;根据所述第二镜像对象信息,向所述vim请求创建第二镜像对象。
18.在一种可能的设计中,所述方法还包括:接收来自所述oss/bss的第二更新请求,所述第二更新请求用于请求新增第三镜像对象,所述第二更新请求包括第三镜像对象信息,所述第三镜像对象信息用于描述创建所述第三镜像对象的信息,所述第三镜像对象用于对第二数据流进行镜像,所述第三镜像对象关联所述第二镜像服务;根据所述第三镜像对象信息,向vim请求创建所述第三镜像对象。此处,第二数据流和第一数据流可以为不同的数据流。
19.在一种可能的设计中,所述方法还包括:接收来自所述oss/bss的第三更新请求,所述第三更新请求用于请求将所述第一镜像对象更新为第四镜像对象,所述第三更新请求包括所述第四镜像对象信息,所述第四镜像对象信息用于描述创建所述第四镜像对象的信
息,所述第四镜像对象用于对第三数据流进行镜像,所述第四镜像对象关联所述第一镜像服务;根据所述第三更新请求,向所述vim请求删除所述第一镜像对象;确定所述vim成功删除所述第一镜像对象后,根据所述第四镜像对象信息,向vim请求创建所述第四镜像对象。此处,第三数据流和第一数据流可以为不同的数据流。
20.在一种可能的设计中,所述方法还包括:接收来自所述oss/bss的第四更新请求,所述第四更新请求用于请求新增第五镜像对象,所述第四更新请求包括第五镜像对象信息,所述第五镜像对象信息用于描述创建所述第五镜像对象的信息,所述第五镜像对象用于对第四数据流进行镜像,所述第五镜像对象关联所述第一镜像服务;根据所述第五镜像对象信息,向vim请求创建所述第五镜像对象。此处,第四数据流和第一数据流可以为不同的数据流。
21.第二方面,本技术实施例提供一种数据流镜像装置,所述数据流镜像装置可以为nfvo或者设置在nfvo内部的芯片。所述数据流镜像装置具备实现上述第一方面的功能,比如,所述数据流镜像装置包括执行上述第一方面涉及步骤所对应的模块或单元或手段(means),所述功能或单元或手段可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现。
22.在一种可能的实现方式,所述数据流镜像装置包括处理单元、通信单元,其中,通信单元可以用于收发信号,以实现该数据流镜像装置和其它装置之间的通信,比如,通信单元用于接收来自oss/bss的实例化请求;处理单元可以用于执行该数据流镜像装置的一些内部操作。处理单元、通信单元执行的功能可以和上述第一方面涉及的操作相对应。
23.在一种可能的设计中,所述数据流镜像装置包括处理器,还可以包括收发器,所述收发器用于收发信号,所述处理器执行程序指令,以完成上述第一方面中任意可能的设计或实现方式中的方法。其中,所述数据流镜像装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,所述存储器可以保存实现上述第一方面涉及的功能的必要计算机程序或指令。所述处理器可执行所述存储器存储的计算机程序或指令,当所述计算机程序或指令被执行时,使得所述数据流镜像装置实现上述第一方面任意可能的设计或实现方式中的方法。
24.在一种可能的设计中,所述数据流镜像装置包括处理器,处理器可以用于与存储器耦合。所述存储器可以保存实现上述第一方面涉及的功能的必要计算机程序或指令。所述处理器可执行所述存储器存储的计算机程序或指令,当所述计算机程序或指令被执行时,使得所述数据流镜像装置实现上述第一方面任意可能的设计或实现方式中的方法。
25.在一种可能的设计中,所述数据流镜像装置包括处理器和接口电路,其中,处理器用于通过所述接口电路与其它装置通信,并执行上述第一方面任意可能的设计或实现方式中的方法。
26.可以理解地,上述第二方面中,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。此外,以上处理器可以为一个或多个,存储器可以为一个或多个。存储器可以与处理器集成在一起,或者存储器与处理器分离设置。在具体实现过程中,存储器可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方
function,vnf)140,多个设备管理(element management,em)130,以及一个或多个运营支撑系统/业务支撑系统(operation support system/business support system,oss/bss)120。其中,nfv-mano 110可以包括nfv编排器(nfv orchestrator,nfvo)111、一个或多个vnf管理器(vnf manager,vnfm)112,以及一个或多个vim113。
45.下面分别对nfv架构中所包括的各个部分进行介绍。
46.(1)nfvo111:主要负责处理虚拟化业务的生命周期管理,以及虚拟基础设施及nfvi中虚拟资源的分配和调度等。nfvo111可以与一个或多个vnfm112通信,以执行资源相关请求,发送配置信息给vnfm104,收集vnf140的状态信息。另外,nfvo111也可与vim113通信,以执行资源分配和/或预留、交换虚拟化硬件资源配置和状态信息。
47.(2)vnfm112:主要负责一个或多个vnf的生命周期管理,比如实例化(instantiating)vnf140、更新(updating)vnf140、查询vnf140、弹性伸缩(scaling)vnf140、终止(terminating)vnf140。vnfm112可以与vnf140通信,以完成vnf生命周期管理及交换配置和状态信息。在nfv架构中vnfm可以有多个,负责对不同类型的vnf进行生命周期管理。
48.(3)vim113:主要负责控制和管理vnf140与计算硬件1521、存储硬件1522、网络硬件1523、虚拟计算1511(例如虚拟机(virtual machine,vm))、虚拟存储1512和虚拟网络1513的交互。例如vim113执行资源管理功能,包括管理基础设施资源、分配(例如增加资源给虚拟容器)及运行功能(例如收集nfvi故障信息)。vnfm112可以与vim113通信,以请求资源分配、交换虚拟化硬件资源配置和状态信息。
49.(4)nfvi150:可以包括计算硬件1521、存储硬件1522、网络硬件1523组成的硬件资源层、虚拟化层、以及虚拟计算1511、虚拟存储1512和虚拟网络1513组成的虚拟资源层。硬件资源层中的计算硬件1521可以为专用的处理器或通用的用于提供处理和计算功能的处理器,如中央处理器(central process unit,cpu);存储硬件1522用于提供存储能力,例如,磁盘或网络附属存储(network attached storage,nas);网络硬件1523可以是交换机、路由器和/或其他网络设备。nfvi 150中的虚拟化层用于抽象硬件资源层的硬件资源,将vnf 140和硬件资源所属的物理层解耦,向vnf提供虚拟资源。虚拟资源层可以包括虚拟计算1511、虚拟存储1512和虚拟网络1513。虚拟计算1511、虚拟存储1512可以以虚拟机或其他虚拟容器的形式向vnf140提供,例如一个或多个虚拟机组成一个vnf140。虚拟化层通过抽象网络硬件1523形成虚拟网络1513。虚拟网络1513,用于实现多个虚拟机之间,或多个承载vnf的其他类型的虚拟容器之间的通信。
50.(5)em130:是传统电信系统中用于对设备进行配置、管理的系统;在nfv架构中,em130也可以用于对vnf进行配置和管理,以及向vnfm112发起新的vnf的实例化等生命周期管理操作。
51.(6)oss/bss120:支持各种端到端电信业务,比如oss支持的管理功能包括:网络配置、业务提供、故障管理等;bss处理订单、付费、收入等,支持产品管理、订单管理、收益管理及客户管理。
52.(7)vnf140:对应于传统非虚拟化网络中的物理网络功能(physical network function,pnf),如虚拟化的分组核心网(evolved packet core,epc)节点(例如移动性管理实体(mobilitymanagement entity,mme)、服务网关(serving gateway,sgw)、公用数据
网网关(public datanetwork gateway,pgw)等)。网络功能的功能性行为和状态与虚拟化与否无关,nfv技术需求希望vnf和pnf拥有相同的功能性行为和外部接口。
53.基于图1所示的nfv架构,图2为实例化网络服务(network service,ns)的一种流程示意图。其中,ns比如可以是一个epc网络服务,一个ns中可以包含若干个vnf,也称为虚拟化网元。如图2所示,该流程可以包括:
54.s201,oss/bss向nfvo上传预先设计的ns的描述(network service descriptor,nsd)信息。
55.示例性地,nsd信息也可以称为ns部署模板。nsd信息中可以包括nsd的标识(即nsd id)、描述该ns的拓扑结构信息以及该ns包含的各个vnf的描述(vnf descriptor,vnfd)信息。其中,在拓扑结构信息中可以使用ns虚拟化连接描述(network service virtuallink descriptor,nsvld)信息(或简称为vld信息)来描述vnf之间的虚拟链路(virtual link,vl)。vnfd信息也可以称为vnf的部署模板。nsd信息中所包括的vnfd信息的数量与该ns所包括的vnf的数量相同,即每一个vnf对应一个vnfd,每个vnfd用于描述与其对应的vnf的信息。每一个vnf是由一个或多个虚拟部署单元(virtualisation deploymentunit,vdu)构成,因此,与每个vnf对应的vnfd信息中可以包括一个或多个的vdu的信息。一个vdu的信息中可以包括形成该vdu的至少一个vm资源的信息,例如,每个vm的资源的信息可以包括vm的中央处理器(central processing unit,cpu)的数量、cpu性能、内存大小、带宽、存储大小等等信息。
56.为了更加清楚地说明nsd信息中所包括的vld信息,下面结合两种示例为例进行描述。
57.示例1,参见图3中的(a)所示,ns中包括部署在数据中心中同一机架上的两个vnf,分别为vnf1和vnf2,且vnf1和vnf2通过一个交换机(可以是虚拟交换机,也可以是物理交换机)通信,也就是说,vnf1和vnf2通过一个虚拟局域网(virtual local area network,vlan)通信,为便于描述,可以将该vlan标记为vlan1。此种情况下,该ns的nsd信息中包括与vnf1对应的vnfd信息1,与vnf2对应的vnfd信息2,以及vnf1和vnf2之间的vld信息,该vld信息中可以包括vnf1和vnf2之间的vlan(即vlan1)的信息,或者,由于vnf1和vnf2连接在同一个vlan下,因此,vnf1和vnf2可以基于2层链路进行通信,则该vld信息中也可以包括vlan1中的2层链路的信息。
58.示例2,参见图3中的(b)所示,与示例1不同的是,在示例2中,与vnf1和vnf2连接的交换机的上层路由设备还可以为vnf1和vnf2分配3层链路,这样,vnf1和vnf3还可以基于上层路由设备分配的3层链路进行通信,因此,该vld信息中也可以包括通过上层路由设备为vnf1和vnf2分配的3层链路的信息。
59.s202,oss/bss向nfvo发送请求创建ns实例标识的请求消息,该请求消息中可以包括该ns的nsd的标识。
60.s203,nfvo向oss/bss返回响应消息,该响应消息包括与nsd的标识对应的ns实例标识。
61.s204,oss/bss向nfvo发送实例化请求,该实例化请求用于请求实例化ns,该实例化请求中可以包括ns实例标识。
62.s205,nfvo接收实例化请求,并根据实例化请求中的ns实例标识以及ns实例标识
与nsd的标识的对应关系,获取该ns的nsd信息。
63.s206,nfvo根据nsd信息中的vld信息,向vim申请创建虚拟链路。
64.示例性地,若该vld信息中仅包括2层链路,则nfvo只向vim申请创建该2层链路,若该vld信息中还包括3层链路,则该nfvo在创建完该2层链路后,还需要创建3层链路。
65.s207,nfvo根据nsd信息中的vnfd信息,向vnfm申请实例化vnf。
66.此处,nfvo可以向vnfm发送vnf实例化请求,该vnf实例化请求中可以包括需要实例化的vnf的标识以及与各个vnf连接的2层链路和/或3层链路的信息。
67.s208,vnfm完成vnf的实例化过程,并向nfvo反馈实例化vnf成功的消息。
68.此处,vnfm在获取vnf实例化请求之后,则根据与每个vnf标识对应的vnfd,为每个vnf申请虚拟机资源、存储资源以及网络资源等,并根据与各个vnf连接的2层链路和/或3层链路的信息,完成vnf与2层链路和/或3层链路的连接,从而完成vnf的实例化过程,然后,向nfvo反馈实例化vnf成功的消息。
69.s209,nfvo向oss/bss反馈实例化ns成功的消息。
70.此处,nfvo在接收到vnfm发送的实例化vnf成功的消息后,则确认完成了对该ns实例化的过程,从而向oss/bss反馈实例化ns成功的消息。
71.参见图4,为本技术实施例提供的一种数据中心内部署数据流镜像业务的示例图。如图4所示,该数据中心包括多个虚拟机(比如虚拟机1a、虚拟机1b
……
虚拟机4a、虚拟机4b)、多个虚拟交换机(virtual switch)(比如虚拟交换机1、虚拟交换机2
……
虚拟交换机4)、多个交换机(比如交换机1、交换机2、交换机3)、数据中心网关等。其中,多个虚拟机可以部署在不同的服务器上,比如虚拟机1a和虚拟机1b部署在机架1的服务器上,虚拟机2a和虚拟机2b部署在机架2的服务器上,虚拟机3a和虚拟机3b部署在机架3的服务器上,虚拟机4a和虚拟机4b部署在机架4的服务器上。虚拟交换机用于为虚拟机提供网络服务,比如虚拟交换机1用于为虚拟机1a和虚拟机1b提供网络服务,虚拟交换机2用于为虚拟机2a和虚拟机2b提供网络服务,虚拟交换机3用于为虚拟机3a和虚拟机3b提供网络服务,虚拟交换机4用于为虚拟机4a和虚拟机4b提供网络服务。交换机用于连接不同机架上的服务器,比如交换机1用于连接机架1和机架2上的服务器,交换机2用于连接机架3和机架4上的服务器;具体实施中,数据中心可以包括有多层交换机。数据中心网关可以为数据中心的出口网关设备。进一步地,数据中心内可以部署分析系统,用于对接收到的镜像数据流(比如虚拟机上流入或者流出的数据流的镜像数据流,虚拟交换机上的数据流或者交换机上的数据流的镜像数据流)进行分析,比如可以对镜像数据流的流量大小、类型等进行分析,具体不做限定。示例性地,本技术实施例对分析系统在数据中心内的部署位置可以不做限定,分析系统可以与虚拟交换机之间设置有通信接口,或者也可以与交换机之间设置有通信接口,具体不做限定。
72.下面基于图4所描述的示例图,对数据流镜像业务的一种可能的实现方式进行描述。具体来说,数据中心中管理虚拟资源的平台可以有多种,以openstack为例,为实现数据流镜像业务,openstack定义了tapflow(或者说dataflow)和tapservice(或者说dataservice)来管理数据流镜像。其中,tapflow用于对数据流进行镜像得到镜像数据流,比如tapflow信息用于描述创建tapflow的信息,比如tapflow信息可以包括tapflow的名称、tapflow关联的tapservice的名称以及用于指定需要进行镜像的数据流的信息(比如虚拟机的端口信息、流向信息等)。tapservice用于对镜像数据流进行分析,比如tapservice
信息可以包括分析系统的地址信息,分析系统的地址信息可以包括ip地址信息或者分析系统所在的虚拟机(即analysis_vm)的端口(port)信息。通过tapflow和tapservice的定义,可以实现对指定的数据流的镜像数据流进行分析。
73.举个例子,如果要对流入虚拟机1上的数据流进行镜像,则tapflow可以定义为:
74.{id:flow123,
75.name:flow_1,
76.tapservice_id:service123,#定义该tapflow关联的tapservice#
77.source_port:vm 1-port,
78.position:port,
79.direction:in}。
80.以及,tapservice可以定义为:
81.{id:service123,
82.name:service_1,
83.port_id:analysis_vm-port}。
84.上述tapflow定义了虚拟机的端口信息(即vm1-port)、镜像位置信息(即port)、通过该端口的数据流的方向(即in),上述tapflow关联的tapservice定义了分析系统所在的虚拟机上的端口信息(即analysis_vm-port),从而通过定义上述tapflow和tapflow关联的tapservice,能够将流入虚拟机1上的数据流的镜像数据流传输至分析系统进行分析。
85.根据上述内容可以看出,当前openstack定义的实现数据流镜像的操作接口所涉及的信息大多是实例化的信息(即部署态的信息),比如虚拟机上的端口信息等,因此,这些信息通常是用于nfvo与vim之间的传输。比如当采用图2所示意的ns实例化流程对ns完成实例化后,若需要对流入虚拟机1上的数据流进行镜像,则nfvo可以向vim发送上述tapflow信息和tapservice信息,进而vim可以根据tapflow信息和tapservice信息实现对流入虚拟机1上的数据流进行镜像。也就是说,上述实现方式主要是在部署态实现数据流镜像业务,而无法在设计态(设计nsd)时指定需要进行镜像的数据流,即缺少端到端(即从oss/bss到vim)实现数据流镜像业务的方案。
86.基于此,本技术实施例提供一种数据流镜像方法,用于实现端到端(即从oss/bss到vim)的数据流镜像业务。示例性地,在本技术实施例提供的方法中,可以对nsd信息进行改进,比如可以在nsd信息中指定需要进行镜像的数据流,从而实现端到端的数据流镜像业务。
87.需要说明的是,本技术实施例描述的ns的实例化以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
88.下面结合附图介绍本技术实施例提供的技术方案。
89.如上所述,本技术实施例中,可以对nsd信息进行改进。下面结合一个具体示例,对改进nsd信息的具体实现进行描述。
90.(1)改进前的nsd信息
91.参见图5中的(a)所示,为改进前的nsd模型示例图。改进前的nsd模型中包括vnf1、
vnf2以及vnf1和vnf2之间的vl_1,其中,vnf1通过vnf1的外部连接点(extcp)(比如extcp_1)连接到vl_1上,vnf2通过vnf2的外部连接点(比如extcp_2)连接到vl_1上。针对于该nsd模型,对应的nsd信息可以包括vnf1对应的vnfd信息、vnf2对应的vnfd信息以及vnf1和vnf2之间的vl_1的描述信息(即vld信息)。
92.示例性地,nsd信息中还可以包括nsvirtuallinkconnectivity信息,用来描述ns所包括的vnf(即vnf1、vnf2)和vl_1之间的连接,可以理解为,ns所包括的vnf与2层链路和/或3层链路之间的连接关系。作为一种示例,ns所包括的vnf与2层链路和/或3层链路之间的连接关系包括:vnf的外部连接点的标识以及连接外部连接点的2层链路和/或3层链路的信息。下面以欧洲电信标准化协会(european telecommunications standards institute,etsi)为nfv技术定义的标准为例,说明该nsvirtuallinkconnectivity信息中包括的内容。参见表1,表1中包括两项属性信息,分别为virtuallinkconnectioninfo和constituentcpdid。其中,virtuallinkconnectioninfo用于表示vl_1的信息,即2层链路和/或3层链路的信息,constituentcpdid表示的是vnf的外部连接点(可以标记为vnfextcp)的信息。
93.表1:nsvirtuallinkconnectivity信息中包括的内容示例
[0094][0095][0096]
其中,virtuallinkconnectioninfo的候选值为1,即表示vnf跟一个vl相连。virtuallinkconnectioninfo可以包含vl文件(virtuallinkprofile)的标识(identifier,id)(比如可以是前述vld信息的标识符)。constituentcpdid表示连接在该vl上的cp的标识,该cp可以是vnf的外部连接点。
[0097]
(2)改进后的nsd信息
[0098]
参见图5中的(b)所示,为改进后的nsd模型示例图。改进后的nsd模型相比于改进前的nsd模型来说,vnf1、vnf2和vl_1保持不变,并增加了两个模型节点,分别为tapflow(比如tapflow_1和tapflow_2)和tapservice。其中tap-flow定义在需要进行镜像的位置上,比如tapflow_1定义在vnf1的extcp 1和vl_1之间,用于对vnf1流向vl_1的数据流或者vl_1流向vnf1的数据流进行镜像;tapflow_2定义在vnf2的extcp 2和vl_1之间,用于对vnf2流向vl_1的数据流或者vl_1流向vnf2的数据流进行镜像。针对于该nsd模型,对应的nsd信息可以包括vnf1对应的vnfd信息、vnf2对应的vnfd信息以及vnf1和vnf2之间的vl_1的描述信息,还可以包括镜像对象信息和镜像服务信息。
[0099]
示例性地,镜像对象信息可以是指tapflow信息,用于描述创建镜像对象(或者tapflow)的信息;镜像对象可以用于对指定的数据流进行镜像,创建镜像对象可以理解为由vim创建一个任务或者一个进程;一个镜像对象可以关联一个镜像服务。镜像服务信息可以是指tapservice信息,用于描述创建镜像服务(或者tapservice)的信息;镜像服务用于对关联该镜像服务的镜像对象所指示的数据流的镜像数据流进行分析,创建镜像服务可以
理解为由vim创建一个任务或者一个进程;一个镜像服务可以关联一个或多个镜像对象。本技术实施例中,将以镜像对象为tapflow、镜像服务为tapservice为例进行描述。
[0100]
在一种可能的情形(称为情形一)中,nsd信息中可以包括tapflow信息和tapservice信息。此种情形下,tapflow信息可以包括以下至少一项:tapflow的名称、数据流的流向信息、关联的tapservice的名称、策略信息、镜像位置信息、外部连接点的标识。tapservice信息可以包括以下至少一项:tapservice的名称、tapservice对应的分析系统的地址信息。
[0101]
参见表2所示,为tapflow信息所包括内容的一种示例。
[0102]
表2:tapflow信息所包括内容的一种示例
[0103][0104][0105]
需要说明的是,本技术实施例中,镜像位置信息的取值可以为有多种,比如上述表2中所示意的cp或vl。当镜像位置信息的取值为cp(此处的cp可以是指vnf的外部连接点)时,表示该tapflow信息指示从cp上对数据流进行镜像;此种情形下,由于vnfd文件对cp可能定义有安全组规则(即只有满足一定要求的数据流可以流入或流出该cp),因此当镜像位置信息的取值为cp,进行镜像的数据流也需要通过安全组规则的过滤。当镜像位置信息的取值为vl时,表示该tapflow信息指示从cp连接的vl上对数据流进行镜像;此种情形下,由于无法对vl定义安全组规则,因此可以不再考虑安全组规则。
[0106]
参见表3所示,为tapservice信息所包括内容的一种示例。
[0107]
表3:tapservice信息所包括内容的一种示例
[0108][0109]
在又一种可能的情形(称为情形二)中,若tapflow关联的tapservice为已经创建好的tapservice,比如可以是在实例化其它ns时创建好的tapservice,则nsd信息中可以包括tapflow信息,而不再包括tapservice信息。此种情形下,tapflow信息可以包括以下至少一项:tapflow的名称、流向信息、关联的tapservice的标识、策略信息、镜像位置信息、外部连接点的标识。
[0110]
针对于上述两种可能的情形,在一种可能的实现方式中,nsd中的tapflow信息可以包含在nsvirtuallinkconnectivity信息中,也就是说,可以对nsvirtuallinkconnectivity信息进行扩展,参见表4所示,为扩展后的nsvirtuallinkconnectivity信息中包括的内容示例。
[0111]
表4:扩展后的nsvirtuallinkconnectivity信息中包括的内容示例
[0112][0113]
需要说明的是,上述表4中,tapflow的取值可以为0..n,当tapflow的取值为0时,表示vnf和vl之间没有需要进行镜像的数据流,当tapflow的取值为n时,表示针对该vnf和vl可以创建一个或多个tapflow。
[0114]
基于上述对改进后的nsd信息的描述,下面对本技术实施例提供的数据流镜像方法的流程进行描述。
[0115]
在下文的介绍过程中,以该方法应用于图1所示的nfv架构为例,也就是说,下文中的oss/bss可以是图1所示的oss/bss120,nfvo可以是图1所示的nfvo111,vim可以是图1所示的vim113。
[0116]
实施例一
[0117]
图6为本技术实施例一提供的数据流镜像方法所对应的流程示意图,如图6所示,该方法包括:
[0118]
s601,oss/bss向nfvo发送实例化请求,该实例化请求用于请求实例化ns,该实例化请求可以包括ns实例标识。
[0119]
s602,nfvo接收实例化请求,并根据实例化请求中ns实例标识,获取ns的nsd信息。
[0120]
此处,nsd信息可以包括第一镜像对象信息,第一镜像对象信息用于描述创建第一
镜像对象的信息,第一镜像对象用于对第一数据流进行镜像,第一镜像对象可以关联第一镜像服务。
[0121]
示例性地,若第一镜像服务为尚未创建的镜像服务,则nsd信息还可以包括第一镜像服务信息(对应上述情形一),第一镜像服务信息用于描述创建第一镜像服务的信息,此种情形下,可以执行s603和s604。若第一镜像服务为已经创建好的镜像服务,则nsd信息中可以不再包括第一镜像服务信息(对应上述情形二),此种情形下,可以不再执行s603和s604。
[0122]
本技术实施例中,nfvo获取ns的nsd信息后,可以根据nsd信息进行ns的实例化,其中,ns的实例化可以包括如下s603至s606,还可以包括创建虚拟链路、vnf实例化等过程。
[0123]
s603,nfvo根据第一镜像服务信息,向vim请求创建所述第一镜像服务。
[0124]
s604,vim根据nfvo的请求,创建第一镜像服务。
[0125]
在一个示例中,第一镜像服务信息可以包括第一镜像服务的名称和第一镜像服务对应的分析系统的地址信息。此种情形下,nfvo可以向vim发送第一创建请求,第一创建请求包括第一镜像服务的名称和第一镜像服务对应的分析系统的地址信息;进而,vim可以根据第一创建请求创建第一镜像服务。
[0126]
在又一个示例中,第一镜像服务信息可以包括第一镜像服务的名称,而未包括第一镜像服务对应的分析系统的地址信息。此种情形下,在一种可能的实现方式中,nfvo可以向vim发送查询请求,查询请求包括第一镜像服务的名称;vim接收到查询请求后,可以根据查询请求为第一镜像服务分配对应的分析系统,并向nfvo返回查询响应,查询响应包括第一镜像服务对应的分析系统的地址信息;nfvo接收到查询响应后,可以向vim发送第一创建请求,第一创建请求包括第一镜像服务的名称和第一镜像服务对应的分析系统的地址信息;进而,vim可以根据第一创建请求创建第一镜像服务。在又一种可能的实现方式中,nfvo可以向vim发送第一创建请求,第一创建请求包括第一镜像服务的名称;vim接收到第一创建请求后,可以根据第一创建请求为第一镜像服务分配对应的分析系统,并根据第一镜像服务的名称和第一镜像服务对应的分析系统的地址信息创建第一镜像服务。采用上述两种实现方式,由于nsd信息中可以不包含第一镜像服务对应的分析系统的地址信息,而是由vim来分配第一镜像服务对应的分析系统的地址信息,从而能够提高安全性。在又一种可能的实现方式中,实例化请求中携带第一镜像服务对应的分析系统的地址信息,进而nfvo可以从实例化请求中获取第一镜像服务对应的分析系统的地址信息,并向vim发送第一创建请求,第一创建请求包括第一镜像服务的名称和第一镜像服务对应的分析系统的地址信息;进而,vim可以根据第一创建请求创建第一镜像服务。
[0127]
此外,在上述两个示例中,vim根据第一创建请求创建第一镜像服务后,可以向nfvo发送第一创建响应,第一创建响应用于指示第一镜像服务创建成功,第一创建响应可以包括vim为第一镜像服务分配的标识。
[0128]
s605,nfvo根据第一镜像对象信息,向vim请求创建第一镜像对象。
[0129]
s606,vim根据nfvo的请求,创建第一镜像对象。
[0130]
示例性地,以第一数据流为流入ns所包括的第一vnf的数据流或流出第一vnf的数据流为例,第一镜像对象信息可以包括第一镜像对象的名称、第一镜像对象关联的第一镜像服务的名称(或标识)、用于指定第一数据流的信息(比如流向信息、策略信息、第一vnf的
外部连接点的标识),可选地,还可以包括镜像位置信息。需要说明的是,当nsd信息中未包括第一镜像服务信息(说明第一镜像服务为已经创建好的镜像服务)时,第一镜像对象信息可以包括第一镜像对象关联的第一镜像服务的标识。当nsd信息中包括第一镜像服务信息(说明第一镜像服务为尚未创建的镜像服务,此时vim尚未为第一镜像服务分配标识)时,第一镜像对象信息可以包括第一镜像对象关联的第一镜像服务的名称。
[0131]
nfvo可以根据外部连接点的标识,向vnfm获取外部连接点对应的端口信息。以及,当镜像位置信息为cp时,nfvo可以向vnfm获取第一vnf的外部连接点对应的安全组规则信息。进一步地,nfvo可以向vim发送第二创建请求,第二创建请求用于请求创建第一镜像对象,第二创建请求可以包括第一镜像对象的名称、第一镜像对象关联的第一镜像服务的标识、流向信息、策略信息、端口信息。进而,vim可以根据第二创建请求创建第一镜像对象。可选地,vim根据第二创建请求创建第一镜像服务后,可以向nfvo发送第二创建响应,第二创建响应用于指示第一镜像对象创建成功,第二创建响应可以包括vim为第一镜像对象分配的标识。
[0132]
本技术实施例中,在完成ns的实例化之后,还可以对该ns对应的镜像对象和/或镜像服务进行更新。
[0133]
作为一种可能的更新场景(比如更新场景1),在完成ns的实例化之后,可以将第一镜像服务更新为第二镜像服务。此种情形下,上述方法还包括:
[0134]
s607,oss/bss向nfvo发送第一更新请求,第一更新请求用于请求将ns对应的第一镜像服务更新为第二镜像服务。
[0135]
此处,第一更新请求可以包括ns实例标识和第二镜像服务信息,第二镜像服务信息用于描述创建第二镜像服务的信息。比如,第二镜像服务信息可以包括第二镜像服务的名称,还可以包括第二镜像服务对应的分析系统的地址信息,第二镜像服务对应的分析系统的地址信息不同于第一镜像服务对应的分析系统的地址信息。第二镜像服务的名称和第一镜像服务的名称相同,进而nfvo可以确定第一更新请求是用于将第一镜像服务更新为第二镜像服务。
[0136]
s608,nfvo根据第一更新请求,向vim请求将第一镜像服务更新为第二镜像服务。
[0137]
具体来说,nfvo可以根据第一更新请求,向vim请求删除第一镜像服务,比如nfvo向vim发送第一删除请求,第一删除请求包括第一镜像服务的标识;进而vim可以根据第一删除请求删除第一镜像服务,并向nfvo发送第一删除响应,第一删除响应用于指示成功删除第一镜像服务。nfvo确定vim成功删除第一镜像服务后,可以根据第二镜像服务信息,向vim请求创建第二镜像服务,其中,请求创建第二镜像服务的具体实现可以参见请求创建第一镜像服务的描述,此处不再赘述。
[0138]
进一步地,nfvo还可以根据第一更新请求,向vim请求删除第一镜像服务关联的镜像对象(比如第一镜像对象),比如nfvo可以向vim发送第二删除请求,第二删除请求包括第一镜像对象的标识;进而vim可以根据第二删除请求删除第一镜像对象,并向nfvo发送第二删除响应,第二删除响应用于指示成功删除第一镜像对象。nfvo确定vim成功删除第一镜像对象后,可以将第一镜像对象信息更新为第二镜像对象信息(比如将第一镜像对象信息中包括的第一镜像对象关联的第一镜像服务的名称或标识更新为第二镜像服务的名称或标识,进而得到第二镜像对象信息),第二镜像对象信息用于描述创建第二镜像对象的信息,
第二镜像对象用于对第一数据流进行镜像,第二镜像对象关联第二镜像服务;进而,nfvo可以根据第二镜像对象信息,向vim请求创建第二镜像对象,其中,请求创建第二镜像对象的具体实现可以参见请求创建第一镜像对象的描述,此处不再赘述。
[0139]
如此,vim创建第二镜像对象和第二镜像服务后,后续可以将第一数据流的镜像数据流传输至第二镜像服务对应的分析系统进行分析。
[0140]
在上述更新场景1中,执行完s607和s608之后,还可以包括:
[0141]
s609,oss/bss向nfvo发送第二更新请求,第二更新请求用于请求新增第三镜像对象。
[0142]
此处,第二更新请求包括第三镜像对象信息,第三镜像对象信息用于描述创建第三镜像对象的信息,第三镜像对象用于对第二数据流进行镜像,第三镜像对象关联第二镜像服务。比如第二数据流为流入ns所包括的第二vnf的数据流或流出第二vnf的数据流,则第三镜像对象信息可以包括第三镜像对象的名称、第三镜像对象关联的第二镜像服务的名称(或标识)、用于指定第二数据流的信息(比如流向信息、策略信息、第二vnf的外部连接点的标识),可选地,还可以包括镜像位置信息。
[0143]
s610,nfvo根据第三镜像对象信息,向vim请求创建第三镜像对象。
[0144]
nfvo请求创建第三镜像对象的具体实现可以参见请求创建第一镜像对象的描述,此处不再赘述。
[0145]
作为又一种可能的更新场景(比如更新场景2),在完成ns的实例化之后,可以将第一镜像对象更新为第四镜像对象。此种情形下,上述方法还包括:
[0146]
s611,oss/bss向nfvo发送第三更新请求,第三更新请求用于请求将第一镜像对象更新为第四镜像对象。
[0147]
此处,第三更新请求包括第四镜像对象信息,第四镜像对象信息用于描述创建第四镜像对象的信息,第四镜像对象用于对第三数据流进行镜像,第四镜像对象可以关联第一镜像服务。比如第三数据流为流入ns所包括的第三vnf的数据流或流出第三vnf的数据流,则第四镜像对象信息可以包括第四镜像对象的名称、第四镜像对象关联的第一镜像服务的名称(或标识)、用于指定第三数据流的信息(比如流向信息、策略信息、第三vnf的外部连接点的标识),可选地,还可以包括镜像位置信息。
[0148]
s612,nfvo根据第三更新请求,向vim请求将第一镜像对象更新为第四镜像对象。
[0149]
具体来说,nfvo可以向vim请求删除第一镜像对象,并在确定vim成功删除第一镜像对象后,根据第四镜像对象信息,向vim请求创建第四镜像对象。
[0150]
需要说明的是,上述是以两种可能的更新场景为例来对完成ns的实例化的更新流程进行描述,本技术实施例中的方案还可以适用于其它可能的更新场景,比如更新场景3,新增一个第五镜像对象,第五镜像对象可以关联第一镜像服务,具体不再赘述。
[0151]
采用上述方法,通过对目前的nsd信息进行扩展,扩展后的nsd信息中可以包括镜像对象信息(还可以包括镜像服务信息),从而能够在设计态指定需要进行镜像的数据流,进而部署ns时可以自动进行镜像对象(和镜像服务)的创建,实现端到端(即从oss/bss到vim)的数据流镜像业务。
[0152]
下面结合一个具体示例,对本技术实施例提供的数据流镜像方法进行描述。
[0153]
实施例二
[0154]
图7为本技术实施例二提供的数据流镜像方法所对应的流程示意图,如图7所示,该方法包括:
[0155]
s701,oss/bss向nfvo发送实例化请求,该实例化请求用于请求实例化ns。
[0156]
s702,nfvo接收实例化请求,并根据实例化请求获取ns的nsd信息。
[0157]
示例性地,nsd信息中可以包括vld信息和vnfd信息,进一步地,还可以包括tapflow信息(比如tapflow_1信息、tapflow_2信息)和tapservice信息(比如tapservice_1信息)。
[0158]
其中,tapflow_1信息所包括的内容,可以参见表5所示。
[0159]
表5:tapflow_1信息所包括的内容示例
[0160]
flow_nametapflow_1directionintapservice_nametapservice_1flow_policy无positioncpcpdidextcp_1
[0161]
上述tapflow_1信息所指定的需要进行镜像的数据流是流入到vnf1的extcp_1的数据流。tapflow_2信息所包括的内容,可以参见表6所示。
[0162]
表6:tapflow_2信息所包括的内容示例
[0163]
flow_nametapflow_2directionouttapservice_nametapservice_1flow_policysource_ip:10.1.1.2positionvlcpdidextcp_2
[0164]
上述tapflow_2信息所指定的需要进行镜像的数据流是从vnf2的extcp_2的ip地址为10.1.1.2流出的数据流。
[0165]
tapservice_1信息所包括的内容,可以参见表7所示。
[0166]
表7:tapservice_1信息所包括的内容示例
[0167]
tapservice_nametapservice_1address_infoip:10.10.1.1
[0168]
s703,nfvo根据nsd中包含的vld信息(即vl_1的描述信息),向vim请求创建对应的虚拟链路。
[0169]
s704,nfvo根据nsd中包含的tapservice_1信息,向vim发送创建请求1,创建请求1用于请求创建tapservice_1。
[0170]
此处,创建请求1可以包括tapservice_1的名称。
[0171]
s705,vim根据创建请求1创建tapservice_1,以及向nfvo发送创建响应1,创建响应1用于指示已成功创建tapservice_1。
[0172]
此处,创建响应1可以包括vim为tapservice_1分配的标识。
[0173]
s706,nfvo根据nsd信息中包含的vnfd信息,向vnfm发送vnf实例化请求。
[0174]
s707,vnfm根据vnfd信息完成vnf实例化。
[0175]
示例性地,针对vnf1,vnf1实例化过程包括针对vnf1上的外部连接点(extcp_1)向vim申请在vl-1上创建对应的端口信息(比如port1),并使用port1同extcp_1连接,从而完成vnf1连接到vl-1网络实例上。针对vnf2,vnf2实例化过程包括针对vnf2上的外部连接点(extcp_2)向vim申请在vl-1上创建对应的端口信息(比如port2),并使用port2同extcp_2连接,从而完成vnf2连接到vl-1网络实例上。
[0176]
s708,vnfm向nfvo返回vnf实例化响应,vnf实例化响应用于指示vnf实例化完成。
[0177]
s709,nfvo针对nsd中包含的nsvirtuallinkconnectivity信息,查看是否包含有tapflow信息,若确定包含tapflow信息(比如tapflow_1信息和tapflow_2信息),则执行s710至s713。
[0178]
s710,nfvo根据tapflow_1信息确定创建请求2,并向vim发送创建请求2,创建请求2用于请求创建tapflow_1。
[0179]
s711,vim接收创建请求2,并根据创建请求2创建tapflow_1,以及向nfvo返回创建响应2,创建响应2用于指示已成功创建tapflow_1,创建响应2可以包括vim为tapflow_1分配的标识。
[0180]
具体来说,nfvo根据tapflow_1信息确定创建请求2,可以包括:(1)nfvo根据tapflow_1信息中外部连接点的标识(即extcp_1),向vnfm获取外部连接点对应的端口信息(即port1);比如nfvo向vnfm发送获取端口信息的请求,该请求包括外部连接点的标识,进而vnfm接收到该请求后,可以向nfvo发送响应,该响应中包括外部连接点对应的端口信息。(2)nfvo若确定tapflow_1信息包含镜像位置信息,且镜像位置信息为连接点,则可以向vnfm获取外部连接点对应的安全组规则信息。举个例子,安全组规则信息为:direction:ingress;protocol:tcp;port_range_min:16;port_range_max:65535。该安全组规则信息表示只有请求进入extcp_1的协议为tcp且服务端口是16到65535之间的数据流可以进入的到extcp_1。如此,创建请求2可以包括安全组规则信息和端口信息,还可以包括tapflow_1的名称、流向信息、关联的tapservice的标识。此外,由于tapflow_1信息中不包括策略信息,因此创建请求2可以不包括策略信息。
[0181]
s712,nfvo根据tapflow_2信息确定创建请求3,并向vim发送创建请求3,创建请求3用于请求创建tapflow_2。
[0182]
s713,vim接收创建请求3,并根据创建请求3创建tapflow_2,以及向nfvo返回创建响应3,创建响应3用于指示已成功创建tapflow_2,创建响应3可以包括vim为tapflow_2分配的标识。
[0183]
具体来说,nfvo根据tapflow_2信息确定创建请求3,可以包括:(1)nfvo根据tapflow_2信息中外部连接点的标识(即extcp_2),向vnfm获取外部连接点对应的端口信息(即port2)。(2)nfvo若确定tapflow_2信息包含镜像位置信息,但镜像位置信息为vl,则此种情形下,无需再获取安全组规则信息。如此,第二创建请求可以包括端口信息,还可以包括tapflow_2的名称、流向信息、关联的tapservice的标识。此外,由于tapflow_2信息中包括策略信息,因此创建请求3还可以包括策略信息。
[0184]
s714,nfvo向oss/bss发送实例化响应,实例化响应用于指示完成ns的实例化。
[0185]
需要说明的是,上述实施例一中是以nsd信息中包含tapflow信息(比如tapflow_1信息、tapflow_2信息)和tapservice信息(比如tapservice_1信息)为例进行描述,若tapflow_1和tapflow_2关联的tapservice_1为已经创建好的tapservice,则nsd信息中也可以不再包含tapservice_1信息,此种情形下,可以不再执行上述s704和s705。
[0186]
基于实施例二所描述的ns实例化流程,下面结合实施例三描述在ns实例化之后的一种可能的更新流程。
[0187]
实施例三
[0188]
图8为本技术实施例三提供的数据流镜像方法所对应的流程示意图,如图8所示,该方法包括:
[0189]
s801,oss/bss向nfvo发送更新请求1,更新请求用于请求将tapservice_1更新为tapservice_2,更新请求1可以包括ns实例标识、tapservice_2信息。其中,tapservice_2信息所包括的tapservice_2的名称和tapservice_1的名称可以相同。
[0190]
其中,tapservice_2信息所包括的内容,可以参见表8所示。
[0191]
表8:tapservice_2信息所包括的内容示例
[0192]
tapservice_nametapservice_2(tapservice_1)address_infoip:10.10.1.2
[0193]
s802,nfvo接收更新请求1,根据更新请求1,向vim发送删除请求1,删除请求1用于请求删除tapservice_1。
[0194]
此处,删除请求1可以包括tapservice_1的标识。
[0195]
s803,vim接收删除请求1,并根据删除请求1,删除tapservice_1,以及向nfvo返回删除响应1,删除响应1用于指示成功删除tapservice_1。
[0196]
s804,nfvo根据tapservice_2信息,向vim请求创建tapservice_2。
[0197]
其中,nfvo向vim请求创建tapservice_2的实现方式可以参照实施例一中nfvo向vim请求创建第一镜像服务的实现方式,不再赘述。
[0198]
s805,nfvo根据更新请求1,向vim发送删除请求2,删除请求2用于请求删除tapservice_1关联的tapflow_1。
[0199]
此处,删除请求2可以包括tapflow_1的标识。
[0200]
s806,vim接收删除请求2,并根据删除请求2,删除tapflow_1,以及向nfvo返回删除响应2,删除响应2用于指示成功删除tapflow_1。
[0201]
s807,nfvo将tapflow_1信息更新为tapflow_3信息(即将tapflow_1信息中的tapservice_1的名称更新为tapservice_2的名称),并根据tapflow_3信息,向vim请求创建tapflow_3。
[0202]
其中,tapflow_3信息所包括的内容,可以参见表9所示。
[0203]
表9:tapflow_3信息所包括的内容示例
[0204]
flow_nametapflow_1directionintapservice_nametapservice_2flow_policy无positioncp
cpdidextcp_1
[0205]
nfvo根据tapflow_3信息,向vim请求创建tapflow_3的实现方式可以参照实施例一中nfvo向vim请求创建第一镜像对象的实现方式,不再赘述。
[0206]
s808,nfvo根据更新请求1,向vim发送删除请求3,删除请求3用于请求删除tapservice_1关联的tapflow_2。
[0207]
此处,删除请求3可以包括tapflow_2的标识。
[0208]
s809,vim接收删除请求3,并根据删除请求3,删除tapflow_2,以及向nfvo返回删除响应3,删除响应3用于指示成功删除tapflow_2。
[0209]
s810,nfvo将tapflow_2信息更新为tapflow_4信息(即将tapflow_2信息中的tapservice_1的名称更新为tapservice_2的标识),并根据tapflow_4信息,向vim请求创建tapflow_4。
[0210]
其中,tapflow_4信息所包括的内容,可以参见表10所示。
[0211]
表10:tapflow_4信息所包括的内容示例
[0212]
flow_nametapflow_2directionouttapservice_nametapservice_2flow_policysource_ip:10.1.1.2positionvlcpdidextcp_2
[0213]
nfvo根据tapflow_4信息,向vim请求创建tapflow_4的实现方式可以参照实施例一中nfvo向vim请求创建第一镜像对象的实现方式,不再赘述。
[0214]
s811,oss/bss向nfvo发送更新请求2,更新请求2用于请求增加tapflow_5,更新请求2包括ns实例标识、tapflow_5信息。
[0215]
其中,tapflow_5信息所包括的内容,可以参见表11所示。
[0216]
表11:tapflow_5信息所包括的内容示例
[0217]
flow_nametapflow_5directionouttapservice_nametapservice_2flow_policy无positioncpcpdidextcp_1
[0218]
上述tapflow_5信息描述了需要进行镜像的数据流是从vnf1的extcp_1流出的数据流,且tapflow_5关联新建立的tapservice_2。
[0219]
s812,nfvo接收到更新请求2后,根据tapflow_5信息,向vim请求创建tapflow_5。
[0220]
具体来说,由于确定tapflow_5信息包含镜像位置信息,且镜像位置信息为连接点,因此,nfvo可以向vnfm获取外部连接点对应的安全组规则信息。举个例子,安全组规则信息为:direction:outgress;protocol:tcp;port_range_min:16;port_range_max:65535。该安全组规则信息表示只有请求extcp_1流出的协议为tcp且服务端口是16到65535之间的数据流可以发送出去。此外,nfvo还可以获取extcp_1对应的端口信息(即port1)。进
而,nfvo可以根据安全组规则信息、端口信息以及其它信息(具体参照实施例一),向vim请求创建tapflow_5。
[0221]
针对于上述实施例一至实施例三,需要说明的是:实施例一至实施例三所描述的各个流程图的步骤编号仅为执行流程的一种示例,并不构成对步骤执行的先后顺序的限制,本技术实施例中相互之间没有时序依赖关系的步骤之间没有严格的执行顺序。此外,各个流程图中所示意的步骤并非全部是必须执行的步骤,可以根据实际需要在各个流程图的基础上增添或者删除部分步骤。
[0222]
上述主要从设备之间交互的角度对本技术实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,各个设备可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术的实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0223]
本技术实施例可以根据上述方法示例对各个进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0224]
在采用集成的单元的情况下,图9示出了本技术实施例中所涉及的装置的可能的示例性框图。如图9所示,装置900可以包括:处理单元902和通信单元903。处理单元902用于对装置900的动作进行控制管理。通信单元903用于支持装置900与其他设备的通信。可选地,通信单元903也称为收发单元,可以包括接收单元和/或发送单元,分别用于执行接收和发送操作。装置900还可以包括存储单元901,用于存储装置900的程序代码和/或数据。
[0225]
该装置900可以为上述实施例中的nfvo。处理单元902可以支持装置900执行上文中各方法示例中nfvo的动作。或者,处理单元902主要执行方法示例中的nfvo的内部动作,通信单元903可以支持装置900与其它设备之间的通信。
[0226]
具体地,在一个实施例中,通信单元903用于:接收来自运营支撑系统/业务支撑系统oss/bss的实例化请求,所述实例化请求用于请求实例化网络服务ns;处理单元902用于:根据所述实例化请求,获取所述ns的描述nsd信息,所述nsd信息包括第一镜像对象信息,所述第一镜像对象信息用于描述创建第一镜像对象的信息;所述第一镜像对象用于对第一数据流进行镜像;通信单元903还用于:根据所述第一镜像对象信息,向虚拟基础设施管理器vim请求创建所述第一镜像对象,所述第一镜像对象关联第一镜像服务,所述第一镜像服务用于对所述第一数据流的镜像数据流进行分析。
[0227]
在一种可能的设计中,所述第一数据流为流入所述ns所包括的第一vnf的数据流或流出所述第一vnf的数据流。
[0228]
在一种可能的设计中,所述nsd信息还包括第一镜像服务信息,所述第一镜像服务信息用于描述创建第一镜像服务的信息;通信单元903还用于:根据所述第一镜像服务信息,向vim请求创建所述第一镜像服务。
[0229]
在一种可能的设计中,所述第一镜像服务信息包括所述第一镜像服务的名称;通信单元903具体用于:向所述vim发送查询请求,所述查询请求包括所述第一镜像服务的名
称;接收来自所述vim的查询响应,所述查询响应包括所述第一镜像服务对应的分析系统的地址信息;以及,向所述vim发送第一创建请求,所述第一创建请求用于请求创建所述第一镜像服务,所述第一创建请求包括所述第一镜像服务的名称和所述第一镜像服务对应的分析系统的地址信息。
[0230]
在一种可能的设计中,所述第一镜像对象信息包括所述第一vnf的外部连接点的标识;通信单元903具体用于:根据所述外部连接点的标识,向vnfm获取所述外部连接点对应的端口信息;以及,向vim发送第二创建请求,所述第二创建请求用于请求创建所述第一镜像对象,所述第二创建请求包括所述端口信息。
[0231]
在一种可能的设计中,所述第一镜像对象信息还包括镜像位置信息;通信单元903还用于:当所述镜像位置信息为连接点时,向vnfm获取所述外部连接点对应的安全组规则信息;所述第二创建请求还包括所述安全组规则信息,所述第一数据流为符合所述安全组规则信息的数据流。
[0232]
在一种可能的设计中,通信单元903还用于:获取策略信息;所述第二创建请求还包括策略信息,所述第一数据流为符合所述策略信息的数据流。
[0233]
在一种可能的设计中,通信单元903还用于:接收来自所述oss/bss的第一更新请求,所述第一更新请求用于请求将所述第一镜像服务更新为第二镜像服务,所述第一更新请求包括第二镜像服务信息,所述第二镜像服务信息用于描述创建所述第二镜像服务的信息;根据所述第一更新请求,向所述vim请求删除所述第一镜像服务;以及,在处理单元902确定所述vim成功删除所述第一镜像服务后,根据所述第二镜像服务信息,向所述vim请求创建所述第二镜像服务。
[0234]
在一种可能的设计中,通信单元903还用于:根据所述第一更新请求,向所述vim请求删除所述第一镜像服务关联的第一镜像对象;处理单元902还用于:确定所述vim成功删除所述第一镜像对象后,将所述第一镜像对象信息更新为第二镜像对象信息,所述第二镜像对象信息用于描述创建所述第二镜像对象的信息,所述第二镜像对象用于对所述第一数据流进行镜像,所述第二镜像对象关联所述第二镜像服务;通信单元903还用于:根据所述第二镜像对象信息,向所述vim请求创建第二镜像对象。
[0235]
在一种可能的设计中,通信单元903还用于:接收来自所述oss/bss的第二更新请求,所述第二更新请求用于请求新增第三镜像对象,所述第二更新请求包括第三镜像对象信息,所述第三镜像对象信息用于描述创建所述第三镜像对象的信息,所述第三镜像对象用于对第二数据流进行镜像,所述第三镜像对象关联所述第二镜像服务;以及,根据所述第三镜像对象信息,向vim请求创建所述第三镜像对象。
[0236]
在一种可能的设计中,通信单元903还用于:接收来自所述oss/bss的第三更新请求,所述第三更新请求用于请求将所述第一镜像对象更新为第四镜像对象,所述第三更新请求包括所述第四镜像对象信息,所述第四镜像对象信息用于描述创建所述第四镜像对象的信息,所述第四镜像对象用于对第三数据流进行镜像,所述第四镜像对象关联所述第一镜像服务;根据所述第三更新请求,向所述vim请求删除所述第一镜像对象;以及,在处理单元902确定所述vim成功删除所述第一镜像对象后,根据所述第四镜像对象信息,向vim请求创建所述第四镜像对象。
[0237]
应理解以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部
或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各操作或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
[0238]
在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital singnal processor,dsp),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,fpga),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是处理器,比如通用中央处理器(central processing unit,cpu),或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
[0239]
以上用于接收的单元是一种该装置的接口电路,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该接收单元是该芯片用于从其它芯片或装置接收信号的接口电路。以上用于发送的单元是一种该装置的接口电路,用于向其它装置发送信号。例如,当该装置以芯片的方式实现时,该发送单元是该芯片用于向其它芯片或装置发送信号的接口电路。
[0240]
如图10所示为本技术实施例提供的数据流镜像装置1000,其中,数据流镜像装置1000可以是图6~图8所示的实施例中的nfvo,能够实现本技术实施例提供的方法中nfvo的功能;数据流镜像装置1000也可以是能够支持nfvo实现本技术实施例提供的方法中nfvo的功能的装置。其中,该数据流镜像装置1000可以为芯片系统。本技术实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0241]
数据流镜像装置1000还可以包括至少一个存储器1030,用于存储程序指令和/或数据。存储器1030和处理器1020耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1020可能和存储器1030协同操作。处理器1020可能执行存储器1030中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
[0242]
数据流镜像装置1000还可以包括通信接口1010,用于通过传输介质和其它设备进行通信,从而用于数据流镜像装置1000中的装置可以和其它设备进行通信。示例性地,该其它设备可以是控制设备。处理器1020可以利用通信接口1010收发数据。
[0243]
本技术实施例中不限定上述通信接口1010、处理器1020以及存储器1030之间的具体连接介质。本技术实施例在图10中以存储器1030、处理器1020以及通信接口1010之间通过总线1040连接,总线在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0244]
在本技术实施例中,处理器1020可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0245]
在本技术实施例中,存储器1030可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0246]
本技术实施例中还提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被执行时,实现图6~图8所示的实施例中nfvo执行的方法。
[0247]
本技术实施例中还提供一种计算机程序产品,当计算机读取并执行所述计算机程序产品时,使得计算机执行图6~图8所示的实施例中nfvo执行的方法。
[0248]
本技术实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中nfvo的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0249]
本技术实施例提供了一种数据流镜像系统,所述系统包括前述所述的nfvo和其他设备,该其他设备可以包括oss/bss、vim、vnfm中的至少一项。
[0250]
本技术实施例中的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a、同时存在a和b、单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如“a,b和c中的至少一个”包括a,b,c,ab,ac,bc或abc。以及,除非有特别说明,本技术实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
[0251]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0252]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0253]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0254]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0255]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献