网络服务请求的编译方法、编译装置和控制器与流程

文档序号:12133642阅读:290来源:国知局
网络服务请求的编译方法、编译装置和控制器与流程

本发明涉及通信领域,尤其涉及网络服务请求的编译方法、编译装置和控制器。



背景技术:

依赖于计算资源集成与服务共享的云计算技术近年获得了长足的发展。云计算在一个集成的计算资源池上提供了弹性的按需提供的计算资源服务。可动态分配的云计算资源将用户从高昂的硬件成本以及繁琐的硬件维护工作中解脱出来,用户可以从云计算服务提供商处租赁到廉价的计算资源(CPU、存储等),并且将更多的资源集中在其核心业务的开发中(而不是对底层设备的投入与维护)。而云计算提供商也通过这样的可伸缩的服务大幅度提升了其资源利用率。近些年随着云计算基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS)等技术的发展,越来越多的企业开始将自己的硬件资源云化。很多中小型互联网企业的业务已经完全由云计算服务商的平台承载。当云计算集成了越来越多的业务,云计算中各业务、各逻辑资源(虚拟机、计算节点等)之间的互联(网络连接)也必然越来越多,越来越复杂。而在目前的云计算平台中,计算节点之间的网络配置还主要依靠用户或网络管理人员手工配置。这无疑增加了用户的使用成本,而且随着业务指数级的增长(百万计算节点以上),通过人工配置复杂的网络几乎是不可能实现的。

在广域网中,网络服务提供商(ISP)为其用户提供网络连接服务。现行的服务模式中,用户希望申请新的网络服务或更改已有的服务时,首先需要填写申请表并以某种方式提交给ISP,ISP收到请求后由其网络管理人员手工进行网络配置修改以满足用户的请求。整个流程往往会消耗数小时甚至数天的时间,同时由于多个环节的人员参与,出现各种错误的概率也相应增加。而在互联网高速发展的今天,用户新建或修改其网络连接的需求也日益频繁。而相对固化的操作流程则成为限制这种变化的瓶颈之一,带来了网络利用率 低、使用成本高、不灵活等问题。另一方面,随着网络技术的发展,为满足不同需求而产生的技术如VPN、各级别的防火墙、流量均衡、网络地址转换、网络检测技术、网络容灾技术等不断涌现。新技术在提供了解决方案的同时也无疑增加了技术使用者的使用门槛(需要相应的软硬件学习、成本投入、培训等),也使得企业需要在网络配置管理方面投入大量的人力物力,一定程度上也限制了企业对其核心业务的投入。



技术实现要素:

本发明实施例提供了网络服务请求的编译方法、编译装置和控制器,用于实现网络即服务(Network as a Service,NaaS)应用中网络服务请求的自动化编译,从而为网络自动化部署提供基础。

本发明实施例第一方面提供了一种网络服务请求的编译方法,应用于网络即服务环境中,包括:

编译装置接收用户提交的网络服务请求,所述网络服务请求中包括至少一个连接需求,所述网络服务请求用于表示用户的网络服务需求;

所述编译装置按照预置分解规则,将所述网络服务请求分解为基本服务元组,所述基本服务元组包括至少一种基本服务元,所述基本服务元的类型包括点对点连接,共享连接或分支连接;

所述编译装置对所述基本服务元组中的基本服务元进行编译,得到基本网元,所述基本网元为一种通用网元模型;

所述编译装置对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组,所述基本网元组中包括至少一个基本网元。

结合本发明实施例的第一方面,本发明实施例第一方面的第一种实现方式中,所述连接需求中包括源列表和目的列表,所述连接需求表示建立所述源列表中任一网络节点到所述目的列表中任一网络节点的通信连接的需求,所述源列表和目的列表中都包括至少一个网络节点。

结合本发明实施例第一方面的第一种实现方式,本发明实施例第一方面的第二种实现方式中,所述连接需求中还包括连接类型,所述连接类型为预先定义的网络需求类型中的一种。

结合本发明实施例第一方面的第一种实现方式,本发明实施例第一方面的第三种实现方式中,所述预置分解规则包括:

对于每一个所述连接需求:

将源列表和目的列表中均只含有一个互不相同的网络节点的连接,分类为所述点对点连接;

将源列表和目的列表中包含同一组网络节点的连接,分类为所述共享连接,所述同一组网络节点包含至少两个网络节点;

将源列表和目的列表中,一个列表仅包含一个网络节点,另一个列表中包含至少两个网络节点的连接,分类为所述分支连接;

对于源列表和目的列表中均包含至少两个网络节点的连接,根据源列表中的网络节点与目的列表中的网络节点是否有相同的网络节点,分解方式为:

若没有相同的网络节点,则引入一个内部节点,将该连接分解为两个分支连接,分别为从源列表中网络节点到所述内部节点的分支连接,和从所述内部节点到所述目的列表中网络节点的分支连接;

若有相同的网络节点,则将该连接分解为三个连接,再对这三个连接分别分类,这三个连接分别为:从源列表中网络节点到第二网络节点组中网络节点的连接,从相同网络节点组中网络节点到相同网络节点组中网络节点的连接,和从第一网络节点组中网络节点到相同网络节点组中网络节点的连接,其中,所述相同网络节点组中包括该源列表与该目的列表中所有相同的网络节点,所述第一网络节点组中包括在该源列表中去掉所述相同的网络节点后的网络节点,所述第二网络节点组中包括在所述目的列表中去掉所述相同的网络节点后的网络节点。

结合本发明实施例第一方面的第三种实现方式,本发明实施例第一方面的第四种实现方式中,所述编译装置对所述基本服务元组中的基本服务元进行编译,得到基本网元,具体包括:

当所述基本服务元中涉及的网络节点都分布在第一网络域时,所述编译装置按照预置映射规则,将所述基本服务元映射为所述第一网络域内的基本网元,所述第一网络域为一个网络域。

结合本发明实施例第一方面的第四种实现方式,本发明实施例第一方面的第五种实现方式中,所述编译装置对所述基本服务元组中的基本服务元进行编译,得到基本网元,还包括:

当第一基本服务元中涉及的网络节点分布在第二网络域和第三网络域中时,所述编译装置根据所述第二网络域与所述第三网络域之间的连接情况,选择至少一条连接所述第二网络域和所述第三网络域的路径,得到所述第二网络域和所述第三网络域的连接节点,所述第二网络域为与所述第三网络域不同的网络域,所述不同的网络域表示不同的底层网络服务提供商;

所述编译装置结合所述连接节点和所述第一基本服务元,生成第二基本服务元和第三基本服务元,所述第二基本服务元涉及的网络节点均位于所述第二网络域中,所述第三基本服务元涉及的网络节点均位于所述第三网络域中,其中,所述第一基本服务元、所述第二基本服务元和所述第三基本服务元分别为一个基本服务元,且所述第二基本服务元的服务和所述第三基本服务元的服务之和等同于所述第一基本服务元的服务;

所述编译装置按照预置映射规则,将所述第二基本服务元映射为所述第二网络域内的基本网元,将所述第三基本服务元映射为所述第三网络域内的基本网元。

结合本发明实施例第一方面的第四种实现方式或第五种实现方式,本发明实施例第一方面的第六种实现方式中,所述预置映射规则为:

将类型为点对点连接的基本服务元,映射为网络域内的基本链路;

将类型为共享连接的基本服务元,映射为网络域内的虚拟网络,所述虚拟网络为交换机或路由器;

将类型为分支连接的基本服务元,映射为网络域内带规则限制的分发设备,所述基本链路,所述虚拟网络和所述分发设备均为一种基本网元。

结合本发明实施例第一方面的第六种实现方式,本发明实施例第一方面的第七种实现方式中,所述对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组具体包括:

将所述基本服务元组中连接的网络节点属于第四网络域的基本服务元编译出的基本网元组合为第一网元集合;

根据所述第四网络域中域控制器的策略和用户属性,获取对应的定价策略;

根据得到的定价策略,对所述第一网元集合进行最小化成本计算,将所述第一网元集合进行合并或拆分,得到优化后的第二网元集合,作为以所述第四网络域为目标域的基本网元组。

结合本发明实施例的第一方面至第一方面的第七种实现方式中任一种实现方式,本发明实施例第一方面的第八种实现方式中,所述基本网元的描述特征包括id,port_list,rule_list和extention_list,其中,所述id为该基本网元设备的唯一编号,所述port_list为该基本网元设备拥有的端点列表,所述rule_list为该基本网元设备中的规则列表,所述extention_list表示该网元设备中其他无法用所述规则列表表示的属性。

结合本发明实施例的第一方面至第一方面的第八种实现方式中任一种实现方式,本发明实施例第一方面的第九种实现方式中,所述编译装置将对所述基本服务元组中所有基本服务元的编译结果进行处理,得到基本网元组的步骤之后还包括:

所述编译装置根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述目标域的域控制器可识别的网元模型。

结合本发明实施例第一方面的第九种实现方式,本发明实施例第一方面的第十种实现方式中,所述方法还包括:

所述编译装置存储各类型的基本网元与各网络域中域控制器可识别的网元模型的对应关系到数据库中;

所述编译装置根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组,具体包括:

所述编译装置根据目标域的域控制器采用的域技术,查找所述数据库,得到所述基本网元组中基本网元对应的所述目标域的域控制器能识别的网元模型;

所述编译装置组合查找到的所述目标域的域控制器能识别的网元模型,得到所述域网元组。

结合本发明实施例的第一方面至第一方面的第八种实现方式中任一种实现方式,本发明实施例第一方面的第十一种实现方式中,所述编译装置将对所述基本服务元组中所有基本服务元的编译结果进行处理,得到基本网元组的步骤之后还包括:

所述编译装置将所述基本网元组发送给目标域的域控制器,使得所述目标域的域控制器将所述基本网元组编译成为所述目标域的域控制器能识别的网元模型。

本发明实施例第二方面提供了一种网络服务请求的编译方法,包括:

域控制器接收编译装置发送的基本网元组,所述基本网元组中包括至少一个基本网元,所述基本网元为一种通用网元模型;

所述域控制器根据存储的基本网元与域网元的对应关系,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述域控制器可识别的网元模型。

本发明实施例第三方面提供了一种编译装置,应用于网络即服务环境中,包括:

第一接收模块,用于接收用户提交的网络服务请求,所述网络服务请求中包括至少一个连接需求,所述网络服务请求用于表示用户的网络服务需求;

分解模块,用于按照预置分解规则,将所述网络服务请求分解为基本服务元组,所述基本服务元组包括至少一种基本服务元,所述基本服务元的类型包括点对点连接,共享连接或分支连接;

第一编译模块,用于对所述基本服务元组中的基本服务元进行编译,得到基本网元,所述基本网元为一种通用网元模型;

处理模块,用于对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组,所述基本网元组中包括至少一个基本网元。

结合本发明实施例的第三方面,本发明实施例第三方面的第一种实现方式中,所述连接需求中包括源列表和目的列表,所述连接需求表示建立所述源列表中任一网络节点到所述目的列表中任一网络节点的通信连接的需求,所述源列表和目的列表中都包括至少一个网络节点。

结合本发明实施例第三方面的第一种实现方式,本发明实施例第三方面 的第二种实现方式中,所述连接需求中还包括连接类型,所述连接类型为预先定义的网络需求类型中的一种。

结合本发明实施例第三方面的第一种实现方式,本发明实施例第三方面的第三种实现方式中,所述预置分解规则包括:

对于每一个所述连接需求:

将源列表和目的列表中均只含有一个互不相同的网络节点的连接,分类为所述点对点连接;

将源列表和目的列表中包含同一组网络节点的连接,分类为所述共享连接,所述同一组网络节点包含至少两个网络节点;

将源列表和目的列表中,一个列表仅包含一个网络节点,另一个列表中包含至少两个网络节点的连接,分类为所述分支连接;

对于源列表和目的列表中均包含至少两个网络节点的连接,根据源列表中的网络节点与目的列表中的网络节点是否有相同的网络节点,分解方式为:

若没有相同的网络节点,则引入一个内部节点,将该连接分解为两个分支连接,分别为从源列表中网络节点到所述内部节点的分支连接,和从所述内部节点到所述目的列表中网络节点的分支连接;

若有相同的网络节点,则将该连接分解为三个连接,再对这三个连接分别分类,这三个连接分别为:从源列表中网络节点到第二网络节点组中网络节点的连接,从相同网络节点组中网络节点到相同网络节点组中网络节点的连接,和从第一网络节点组中网络节点到相同网络节点组中网络节点的连接,其中,所述相同网络节点组中包括该源列表与该目的列表中所有相同的网络节点,所述第一网络节点组中包括在该源列表中去掉所述相同的网络节点后的网络节点,所述第二网络节点组中包括在所述目的列表中去掉所述相同的网络节点后的网络节点。

结合本发明实施例第三方面的第三种实现方式,本发明实施例第三方面的第四种实现方式中,所述第一编译模块具体包括:

域内映射单元,用于当所述基本服务元中涉及的网络节点都分布在第一网络域时,按照预置映射规则,将所述基本服务元映射为所述第一网络域内的基本网元,所述第一网络域为一个网络域。

结合本发明实施例第三方面的第四种实现方式,本发明实施例第三方面的第五种实现方式中,所述第一编译模块还包括:

路径选择单元,用于当第一基本服务元中涉及的网络节点分布在第二网络域和第三网络域中时,根据所述第二网络域与所述第三网络域之间的连接情况,选择至少一条连接所述第二网络域和所述第三网络域的路径,得到所述第二网络域和所述第三网络域的连接节点,所述第二网络域为与所述第三网络域不同的网络域,所述不同的网络域表示不同的底层网络服务提供商;

生成单元,用于结合所述连接节点和所述第一基本服务元,生成第二基本服务元和第三基本服务元,所述第二基本服务元涉及的网络节点均位于所述第二网络域中,所述第三基本服务元涉及的网络节点均位于所述第三网络域中,其中,所述第一基本服务元、所述第二基本服务元和所述第三基本服务元分别为一个基本服务元,且所述第二基本服务元的服务和所述第三基本服务元的服务之和等同于所述第一基本服务元的服务;

触发单元,用于触发所述域内映射单元按照预置映射规则,将所述第二基本服务元映射为所述第二网络域内的基本网元,将所述第三基本服务元映射为所述第三网络域内的基本网元。

结合本发明实施例第三方面的第四种实现方式或第五种实现方式,本发明实施例第三方面的第六种实现方式中,所述预置映射规则为:

将类型为点对点连接的基本服务元,映射为网络域内的基本链路;

将类型为共享连接的基本服务元,映射为网络域内的虚拟网络,所述虚拟网络为交换机或路由器;

将类型为分支连接的基本服务元,映射为网络域内带规则限制的分发设备,所述基本链路,所述虚拟网络和所述分发设备均为一种基本网元。

结合本发明实施例第三方面的第六种实现方式,本发明实施例第三方面的第七种实现方式中,所述处理模块具体包括:

组合单元,用于将所述基本服务元组中连接的网络节点属于第四网络域的基本服务元编译出的基本网元组合为第一网元集合;

获取单元,用于根据所述第四网络域中域控制器的策略和用户属性,获取对应的定价策略;

优化单元,用于根据得到的定价策略,对所述第一网元集合进行最小化成本计算,将所述第一网元集合进行合并或拆分,得到优化后的第二网元集合,作为以所述第四网络域为目标域的基本网元组。

结合本发明实施例的第三方面至第三方面的第七种实现方式,本发明实施例第三方面的第八种实现方式中,所述基本网元的描述特征包括id,port_list,rule_list和extention_list,其中,所述id为该基本网元设备的唯一编号,所述port_list为该基本网元设备拥有的端点列表,所述rule_list为该基本网元设备中的规则列表,所述extention_list表示该网元设备中其他无法用所述规则列表表示的属性。

结合本发明实施例的第三方面至第三方面的第八种实现方式,本发明实施例第三方面的第九种实现方式中,所述编译装置还包括:

第二编译模块,用于根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述目标域的域控制器可识别的网元模型。

结合本发明实施例第三方面的第九种实现方式,本发明实施例第三方面的第十种实现方式中,所述编译装置还包括:

存储模块,用于存储各类型的基本网元与各网络域中域控制器可识别的网元模型的对应关系到数据库中;

所述第二编译模块具体包括:

查找单元,用于根据目标域的域控制器采用的域技术,查找所述数据库,得到所述基本网元组中基本网元对应的所述目标域的域控制器能识别的网元模型;

组合单元,用于组合查找到的所述目标域的域控制器能识别的网元模型,得到所述域网元组。

结合本发明实施例的第三方面至第三方面的第八种实现方式,本发明实施例第三方面的第十一种实现方式中,所述编译装置还包括:

发送模块,用于将所述基本网元组发送给目标域的域控制器,使得所述目标域的域控制器将所述基本网元组编译成为所述目标域的域控制器能识别的网元模型。

本发明实施例第四方面提供了一种控制器,包括:

第二接收模块,用于接收编译装置发送的基本网元组,所述基本网元组中包括至少一个基本网元,所述基本网元为一种通用网元模型;

第三编译模块,用于根据存储的基本网元与域网元的对应关系,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述域控制器可识别的网元模型。

从以上技术方案可以看出,本发明实施例具有以下优点:本发明实施例中,自动将接收到的用户服务请求分解为能被下层技术处理的基本服务元组,再将该基本服务元组编译为基本网元组,实现从网络服务抽象到网络资源抽象的转换,实现了NaaS应用中对网络服务请求的自动化编译,为网络自动化部署提供了基础。

附图说明

图1为本发明实施例中Openstack Neutron的一个结构示意图;

图2为本发明实施例中对网络服务请求自动化编译的一个流程示意图;

图3为本发明实施例中网络服务请求的编译方法一个流程示意图;

图4为本发明实施例中将网络服务请求分解为基本服务元组一个逻辑流程示意图;

图5为本发明实施例中对无重叠型连接分解的一个实例示意图;

图6为本发明实施例中对特殊连接进行处理的一个实例示意图;

图7为本发明实施例中为分解得到的基本服务元组一个实例示意图;

图8为本发明实施例中对基本服务元组中特殊连接处理的一个实例示意图;

图9为本发明实施例中对基本服务元组中特殊连接处理的另一个实例示意图;

图10为本发明实施例中最终生成的基本服务元组一个实例示意图;

图11为本发明实施例中将基本服务元组编译为基本网元组的一个流程示意图;

图12为本发明实施例中进行跨域的服务元分解的一个实例示意图;

图13为本发明实施例中域内服务元映射的一个实例示意图;

图14为本发明实施例中基本服务元合并处理的一个实例示意图;

图15为本发明实施例中网络服务请求的编译方法另一个流程示意图;

图16为本发明实施例中网络服务请求的编译方法另一个流程示意图;

图17为本发明实施例中网络服务请求的编译方法另一个流程示意图;

图18为本发明实施例中编译装置一个结构示意图;

图19为本发明实施例中编译装置另一个结构示意图;

图20为本发明实施例中编译装置另一个结构示意图;

图21为本发明实施例中编译装置另一个结构示意图;

图22为本发明实施例中控制器一个结构示意图;

图23为本发明实施例中网络设备一个结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

云计算为主的数据中心和广域网等场景都面临着网络配置不灵活的问题,而这个问题正逐渐成为技术发展的主要瓶颈。近年来提出的网络即服务(Network as a Service,NaaS)的概念主要是为了解决这样的问题。NaaS的目标是根据用户的服务需求,弹性地提供网络资源,实现网络自动化部署。使用NaaS服务的用户只需要提出相关的网络请求而不需要关心网络配置方式以及实现细节,因此可以从繁琐的网络配置与管理任务中解放出来,从而更多地投入到其核心业务中。而从网络服务提供商的角度看,NaaS也将使运营商对网络有更多的控制权,也可以使运营商对网络服务进行更合理的优化。而动态的网络资源分配也可以提升其网络资源利用率。

Openstack Neutron是当前一个比较成熟的NaaS案例。其最初作为Openstack云平台中的网络模块出现,为云平台提供了灵活的网络控制支持。基本原理如图1所示,Neutron定义了基本的“网络资源抽象”的模型,并定义 了相应的调用接口(API),以网元为单位表述网络资源。用户可以通过相应的接口向Neutron申请虚拟网络设备,然后根据自身需求对这些虚拟网络设备连接组网。

然而,虽然Neutron提供了网络设备层面的抽象,但是,组网过程以及相关网络资源的配置依然需要用户的参与才能完成,因此并没有实现网络服务层面的抽象化。为满足所需的网络服务,用户依然需要将较为复杂的网络需求进行人工分解与解析,从而生成一系列的虚拟网络资源需求,然后根据新的需求调用相关接口进行配置连接,整个过程都离不开用户与网管人员的参与。

本发明实施例提供了网络服务请求的编译方法、编译装置和控制器,用于实现NaaS应用中网络服务请求的自动化编译,从而为网络自动化部署提供基础。

可以理解的是,本发明实施例中,编译装置可以为独立的协同器,可以为服务器,还可以为集成部署在域控制器上的装置,此处不作限定。

如图2所示为本发明实施例中对网络服务请求自动化编译的流程示意图。主要过程为:先将网络服务请求中的连接需求进行分解,得到由基本服务元组成的基本服务元组,再对基本服务元组进行编译,得到由基本网元组成的基本网元组,再根据具体网络服务所请求的目标域的域控制器采用的域技术的不同,将该基本网元组编译为由该目标域内域控制器能识别的网元模型组成的域网元组。得到域网元组后,编译装置或者域控制器可以根据该网络服务请求进行域内网元部署。

本发明实施例中,自动将复杂多变的不能被下层NaaS技术直接支持的用户的网络需求分解为能被下层技术处理的基本网络服务的组合(基本服务元组),再将该基本网络服务编译为虚拟网络资源集合(基本网元组),实现自动从网络服务抽象到网络资源抽象的转换,逐步实现了对用户网络请求的自动化编译。其中,表示基本网络服务的组合的基本服务元组由基本服务元组成,基本服务元有点对点连接,共享连接或分支连接这三种连接类型,这三种基本服务类型能被下层技术处理;表示虚拟网络资源集合的基本网元组由基本网元组成,基本网元为通用网元模型,例如虚拟链路、虚拟网络和带规 则限制的分发设备等,可以保证本发明实施例的方法适应于不同的技术。

可选的,得到抽象的网络资源后,还可以将该抽象的网络资源编译为具体域内可识别的实体资源(域网元组),表示实体资源的域网元组中包括的是域控制器可识别的网元模型,使得域控制器可以根据该域网元组进行实际网络资源的部署。

下面对本发明实施例中网络服务请求的编译方法进行描述,请参阅图3,本发明实施例中网络服务请求的编译方法一个实施例包括:

301、接收用户提交的网络服务请求,所述网络服务请求中包括至少一个连接需求,所述网络服务请求用于表示用户的网络服务需求;

用户可以通过特定的接口提交网络服务请求,该网络服务请求用于表示用户的网络服务需求,该网络服务请求中包括至少一个连接需求,表示用户需求的网络连接,编译装置接收用户提交的该网络服务请求。

可以理解的是,编译装置可以直接接收用户提交的该网络服务请求,也可以是接收到由其他设备转发的用户提交的该网络服务请求,此处不作限定。

302、按照预置分解规则,将所述网络服务请求分解为基本服务元组;

其中,所述基本服务元组包括至少一种基本服务元,所述基本服务元的类型为点对点连接,共享连接或分支连接。

可以理解的是,分解出的每个基本服务元不仅表示一种连接,还包括网络服务请求所请求的该连接所连接的网络节点的信息。

编译装置得的网络服务请求是用户的网络需求,不能直接被下层技术处理,需要先解析成下层技术能处理的统一的、规范的基本服务元。本步骤中,编译装置按照预置分解规则,将该网络服务请求分解为基本服务元组,该基本服务元组中包括至少一种基本服务元,该基本服务元的类型为点对点连接,共享连接或分支连接。

303、对所述基本服务元组中的基本服务元进行编译,得到基本网元;

其中,所述基本网元为一种通用网元模型;

将网络服务请求分解为包含基本服务元的基本服务元组后,编译装置分别对每个基本服务元进行编译,得到基本网元,该基本网元为一种通用网元模型。

可以理解的是,将各基本服务元编译成对应的基本网元是按照预置编译规则来编译的。

304、对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组。

其中,所述基本网元组中包括至少一个基本网元;

可以理解的是,该基本网元还包括该基本网元所连接的网络节点的信息。

将基本服务元组中的所有基本服务元分别编译完成后,编译装置对编译的结果进行处理,得到至少一个基本网元组,每个基本网元组中包括至少一个基本网元。

各基本网元组中的基本网元连接的网络节点均位于同一个网络域中。若基本服务元组中的基本服务元连接的网络节点涉及到多个网络域,则可以得到以各网络域为目标域的多个基本网元组。

可以理解的是,对编译的结果进行处理主要是基于经济效益的考虑,通过使用等效的较少的基本网元去替代多个基本网元,从而在达到同样的效果的同时,可以降低成本。

本发明实施例中,自动将接收到的用户服务请求分解为能被下层技术处理的基本服务元组,再将该基本服务元组编译为基本网元组,实现从网络服务抽象到网络资源抽象的转换,实现了NaaS应用中对网络服务请求的自动化编译,为网络自动化部署提供了基础。

下面分别对上述实施例的各步骤进行具体描述:

上面实施例步骤301中,接收用户提交的网络服务请求,该网络服务请求中包括至少一个连接需求,在实际应用中,该连接需求中可以包括源列表和目的列表,该连接需求表示建立该源列表中任一网络节点到该目的列表中任一网络节点的通信连接的需求,该源列表和目的列表中都包括至少一个网络节点。

可选的,在实际应用中,该连接需求还可以包括更多的其他属性,例如连接类型,附加属性等,此处不作限定。该连接类型为预先定义的网络需求类型中的一种。

例如,一个网络服务请求的模型格式可以如下所示:

[连接1:(源列表,目的列表,连接类型,[附加属性1,附加属性2,…]),

连接2:(源列表,目的列表,连接类型,[附加属性1,附加属性2,…]),

连接3:(源列表,目的列表,连接类型,[附加属性1,附加属性2,…]),

连接n:(源列表,目的列表,连接类型,[附加属性1,附加属性2,…])]

该模型整体为一个由多连接组成的列表,对于每个连接,源列表/目的列表里分别包括这组连接的源节点与目的节点,每个列表都包含一个或多个网络节点。源列表内的任意节点可以与目的列表内的任意节点进行通信,但是各列表中的节点之间并没有定义连接关系,因此,默认情况下各列表内的节点之间不能通信。其中,连接类型是预先定义的网络需求类型中的一种,例如为常规工作连接、视频连接、语音连接、数据库通信连接等,此处不作限定。不同的连接对应不同的网络需求(带宽、延时等方面)。附加属性列表为用户提供了一些自定义连接特性的功能。

下面结合一个实际应用场景,对该网络服务请求进行描述:

例如,在一个企业包含研发团队(研发节点1,研发节点2,研发节点3)、销售团队(销售节点1,销售节点2)、产品团队(产品节点1,产品节点2)、数据库节点和一个互联网节点。三个团队之间需要创建常规工作连接,研发团队需要与数据库建立数据库连接,销售团队和产品团队都需要连接互联网进行工作(防火墙连接),同时各个团队内部有工作连接互联。这个网络连接服务请求可以表述为:

[连接1:([研发节点1,研发节点2,研发节点2,销售节点1,销售节点2,产品节点1,产品节点2],[研发节点1,研发节点2,研发节点2,销售节点1,销售节点2,产品节点1,产品节点2],常规工作连接,[]),

连接2:([研发节点1,研发节点2,研发节点3],[数据库节点],数据库连接,[带宽100M]),

连接3:([销售节点1,销售节点2,产品节点1,产品节点2],[互联网节点],防火墙连接,[]),

连接4:([研发节点1,研发节点2,研发节点3],[研发节点1,研发节点2,研发节点3],工作连接,[]),

连接5:([销售节点1,销售节点2],[销售节点1,销售节点2],工作连接,[]),

连接6:([产品节点1,产品节点2],[产品节点1,产品节点2],工作连接,[])]。

可以理解的是,除了采用这种网络服务请求的模型格式,也可以采用其他的网络服务请求的模型格式,只要能表示从源列表的网络节点到目的列表的网络节点的连接需求即可,此处不作限定。

上面实施例步骤302中,按照预置分解规则,将所述网络服务请求分解为基本服务元组。下面首先对本发明实施例中的基本服务元进行描述:

本发明实施例中,使用一种基本服务元模型来描述网络服务的基本单元。所有复杂的网络服务均可以表述为基本服务元的组合。基本服务元也是网络服务编译的基本单元。引入服务元的好处在于编译时不需要考虑过于复杂的网络需求,而用户在提出网络需求的时候也不需要顾虑底层网络实现的细节。具体的,本发明中引用了三种类型的基本服务元:

点对点连接(Point Connection,PC):表述一种源列表与目的列表均只包含一个节点的连接方案,可表示为PC服务元;

共享连接(Shared Connection,SC):表述一种源列表与目的列表包含同一组节点的连接方案(即各节点之间可以互联互通),可表示为SC服务元;

分支连接(Branch Connection,BC):表述源列表只包含一个节点而目的列表包含多个节点,或,源列表包含多个节点而目的列表包含一个节点的连接方案(即多节点与单节点通信的方案),可表示为BC服务元。

下面再对上述步骤302中预置分解规则进行具体描述:

该预置分解规则可以为:

对于每一个所述连接需求:

将源列表和目的列表中均只含有一个互不相同的网络节点的连接,分类为所述点对点连接;

将源列表和目的列表中包含同一组网络节点的连接,分类为所述共享连接,所述同一组网络节点包含至少两个网络节点;

将源列表和目的列表中,一个列表仅包含一个网络节点,另一个列表中 包含至少两个网络节点的连接,分类为所述分支连接;

对于源列表和目的列表中均包含至少两个网络节点的连接,根据源列表中的网络节点与目的列表中的网络节点是否有相同的网络节点,分解方式为:

若没有相同的网络节点,则引入一个内部节点,将该连接分解为两个分支连接,分别为从源列表中网络节点到所述内部节点的分支连接,和从所述内部节点到所述目的列表中网络节点的分支连接;

若有相同的网络节点,则将该连接分解为三个连接,再对这三个连接分别分类,这三个连接分别为:从源列表中网络节点到第二网络节点组中网络节点的连接,从相同网络节点组中网络节点到相同网络节点组中网络节点的连接,和从第一网络节点组中网络节点到相同网络节点组中网络节点的连接,其中,所述相同网络节点组中包括该源列表与该目的列表中所有相同的网络节点,所述第一网络节点组中包括在该源列表中去掉所述相同的网络节点后的网络节点,所述第二网络节点组中包括在所述目的列表中去掉所述相同的网络节点后的网络节点。

下面对按照该预置分解规则将网络服务请求分解为基本服务元组的过程进行具体描述:

对上述的网络服务请求模型中的每个连接,根据源列表与目的列表的不同特性,将其进行分类。将用户的业务请求表示为S→D形式,S表示源节点集合,D表示目的节点集合。按照S与D中包含节点的不同可以将连接分解为如下几类:

空型:S或者D有一个为空,这种连接相当于没有连接,因此不继续处理;

1→1型:S与D均只包含一个节点,(S=D表示节点自身通信,不做处理);

1→N型:S只包含一个节点;

N→1型:D只包含一个节点;

M→N型:S与D均包含大于一个节点,此时又可以分为:

N→N型,即S=N,表示所有节点之间可以互相通信;

没有相同的网络节点,即S∩D=空集;

有相同的网络节点,即S∩D≠空集。

其中,1→1型即为上文描述的PC服务元,1→N型和N→1型为上文所述BC服务元,N→N型为上文所述的SC服务元。

其他类型的连接可以按照图4所示逻辑框图进行分解,其中,对于M→N无重叠型(表示没有相同网络节点的类型),将输入与输出单独处理,输入分解为M→I子连接,输出分解为I→N子连接,其中I为包含一个内部节点的节点列表,分解过程如图5所示。

对于M→N有重叠型(表示有相同网络节点的类型),令:

B=S∩D;A=S-B;C=D-B;其中,B为相同网络节点组,其中包括源列表与目的列表中所有相同的网络节点;A为第一网络节点组,其中包括在源列表中去掉该相同网络节点组中网络节点后的网络节点;C为第二网络节点组,其中包括在目的列表中去掉相同网络节点组中网络节点后的网络节点。

可以通过如下形式将该M→N有重叠型连接分解为三个子连接:

S→D=(A+B)→(B+C)

=(A+B)→C+B→B+A→B

=(S→C)+(B→B)+(A→B)

将分解之后得到的三个新的连接按照图4所示分解逻辑框图进行处理。

对用户输入的网络服务请求中的所有连接应用上述分解,可以得到一系列的基本服务元的组合。然后还需要处理两种特殊情况:如图6所示,对于单节点多连接的节点,考虑到实际物理连接中一个节点只能有一个连接,这时需要在该节点处新增一个BC型服务元,并且,对于通过内部节点级联的BC型服务元可以合并。

下面结合一个具体应用场景,对网服务请求的分解过程进行描述:

场景:某公司开视频会议,经理A和主管B参会且需要做远程报告,员工C,D,E参会但不需要做报告,同时嘉宾F将进行汇报,但F不需要参会。参与会议要求每人带宽下行100M上行10M,汇报需要带宽上行50M下行10M。

基于此场景的业务需求,可以生成网络服务请求:

[连接1:((A,B,F),(A,B,C,D,E),视频会议)]

视频会议连接特性描述:(源:上行50M,下行10M;目的:上行10M, 下行100M);

一、先按预置分解规则,如图4所示的分解逻辑将该网络服务器你去进行分解:

1、请求类型(A,B,F)→(A,B,C,D,E)有相同的网络节点,分解为

(A,B)→(A,B);(A,B,F)→(C,D,E);(F)→(A,B)。

2、(A,B)→(A,B)映射为SC_1;

3、(A,B,F)→(C,D,E)分解为(A,B,F)→(H)和(H)→(C,D,E),其中H为内部节点;

4、(F)→(A,B)映射为BC_2;

5、(A,B,F)→(H)映射为BC_3;

6、(H)→(C,D,E)映射为BC_4。

即将该网络服务请求分解为了由SC_1、BC_2、BC_3和BC_4这四个基本服务元组成的基本服务元组。

如图7所示,为该基本服务元组中基本服务元以及各基本服务元的连接关系。

二、对特殊节点进行处理:

由图7可知,在得到的基本服务元组中,A、B、F都是单点多连接的状态,因此分别生成BC型服务元BC_5、BC_6、BC_7,结果如图8所示。而BC_2与BC_7之间构成了BC型级联的关系,因此可以合并,从而合并得到图9所示结果。

最后,对所有节点的接入出添加带宽限制,就生成了最后的基本服务元组(包括基本服务元及其互相连接关系),如下图10所示。

上面实施例步骤303中,对所述基本服务元组中的基本服务元进行编译,得到基本网元,在实际应用中,根据基本服务元涉及的网络节点分布的网络域的不同,具体编译方式也有所不同:

可选的,当所述基本服务元中涉及的网络节点都分布在第一网络域时,将所述基本服务元映射为所述第一网络域内的基本网元,所述第一网络域为一个网络域。

可选的,当第一基本服务元中涉及的网络节点分布在第二网络域和第三网络域中时,根据所述第二网络域与所述第三网络域之间的连接情况,选择至少一条连接所述第二网络域和所述第三网络域的路径,得到所述第二网络域和所述第三网络域的连接节点,所述第二网络域为与所述第三网络域不同的网络域,所述不同的网络域表示不同的底层网络服务提供商;

结合所述连接节点和所述第一基本服务元,生成第二基本服务元和第三基本服务元,所述第二基本服务元涉及的网络节点均位于所述第二网络域中,所述第三基本服务元涉及的网络节点均位于所述第三网络域中,其中,所述第一基本服务元、所述第二基本服务元和所述第三基本服务元分别为一个基本服务元,且所述第二基本服务元的服务和所述第三基本服务元的服务之和等同于所述第一基本服务元的服务;

按照预置映射规则,将所述第二基本服务元映射为所述第二网络域内的基本网元,将所述第三基本服务元映射为所述第三网络域内的基本网元。

上述预置映射规则可以为:

将类型为点对点连接的基本服务元,映射为网络域内的基本链路;

将类型为共享连接的基本服务元,映射为网络域内的虚拟网络,所述虚拟网络为交换机或路由器;

将类型为分支连接的基本服务元,映射为网络域内带规则限制的分发设备,所述基本链路,所述虚拟网络和所述分发设备均为一种基本网元。

步骤303将基本服务元转换为基本网元后,步骤304对得到的所有基本网元进行处理,得到基本网元组,在实际应用中,为了降低成本,可以采用如下方式:

将所述基本服务元组中连接的网络节点属于第四网络域的基本服务元编译出的基本网元组合为第一网元集合;其中,该第四网络域可以为与第一网络域、第二网络域或第三网络域中任一个相同的网络域,也可以为与该第一网络域、第二网络域和第三网络域不同的网络域,此处不作限定。

可以理解的是,根据基本服务元连接的网络节点所在的网络域的不同,也即编译出的基本网元连接的网络节点所在的网络域的不同,可以将基本网元组合为各个不同的网元集合,最后生成对应不同目标域的基本网元组。

根据所述第四网络域中域控制器的策略和用户属性,获取对应的定价策略;

根据得到的定价策略,对所述第一网元集合进行最小化成本计算,将所述第一网元集合进行合并或拆分,得到优化后的第二网元集合,作为以所属第四网络域为目标域的基本网元组。

下面对该编译过程进行具体描述:

首先对本发明实施例中的基本网元进行描述:

本发明实施例中采用基本网元统一描述虚拟网络设备,基本网元即为一种统一网元模型。因为本发明的方法可能被应用在不同的下层NaaS技术(不同的网络虚拟化或网络控制技术)中,而不同技术的控制/配置接口对虚拟化设备的抽象方式不同,因此,为保证本发明中方法适应于不同的技术,将基本服务元编译为统一的网元模型(即基本网元),便于将基本网元映射为下层技术对应的配置信息。

一种基本网元的模型可以采用如下方式描述:

{id,port_list,type,rule_list,extention_list};

其中,id为该基本网元设备的唯一编号,所述port_list为该基本网元设备拥有的端点列表,所述rule_list为该基本网元设备中的规则列表,所述extention_list表示该网元设备中其他无法用所述规则列表表示的属性。

可以理解的是,步骤303和304主要将基本服务元转化为基本网元,对跨域网元进行分解,再对域内网元映射,最后将对基本服务元编译的结果进行处理,得到基本网元组。

这里的域是网络域,指不同的底层网络服务提供商。NaaS的应用场景中,用户的节点可能分布在不同的网络服务提供商的网络中。而不同服务商的网络之间通过一定的方式互联形成一个多域的网络环境(可以类比传统网络运营商之间互联形成整个互联网)。

如图11所示,为将基本服务元组编译为基本网元组的一个流程示意图:

1101、域间选路:

如果基本服务元中涉及的节点分布在不同的网络域中,则首先需要根据域之间的连接情况进行选路,选择一条(或根据需求选择多条做冗余)可以 连通各节点的路径。原有节点结合选路得到的各个域之间的连接节点,在各个域内生成新的基本服务元。

如图12所示,为跨域的服务元分解的一个实例示意图。域一与域二之间通过节点C,D连接。如果请求为用户节点A与用户节点B之间的点对点连接(PC服务元),则通过选路环节选择C→D的连接。之后在域一中生成新的服务元PC_1用于连接A、C,在域二中生成新的服务元PC_2用于连接D、B。而域一中的点对点连接E、F之间则不需要进行选路,直接生成基本服务元PC_3。

1102、域内映射;

在域内将网络服务元映射为网络资源。根据基本服务元的不同,映射为不同的基本网元:

将类型为点对点连接的基本服务元,映射为网络域内的基本链路;

将类型为共享连接的基本服务元,映射为网络域内的虚拟网络(例如Router),所述虚拟网络为交换机或路由器;

将类型为分支连接的基本服务元,映射为网络域内带规则限制的分发设备(例如HUB),所述基本链路,所述虚拟网络和所述分发设备均为一种基本网元。

例如,如图13所示,为一个域内服务元映射的实例示意图,即为对图12所示的基本服务元映射后得到的结果。

1103、基于成本控制的结果优化;

步骤1102中将基本服务元均映射为基本网元后,本步骤中,可以对得到的基本网元进行处理。

由于网络设备都是虚拟的,所以不同的网络设备可以合并为一个网络设备来实现相同的服务。网络请求生成的新的虚拟网络设备的集合,可以选择与已有的设备合并使用,也可以使用新的设备,不同的方案会产生不同的成本。本步骤针对该问题进行优化。具体步骤如下:

1、编译过程生成的基本网元组合成初始基本网元集合(第一网元集合);

2、根据目标域的域控制器的策略和用户属性获取对应的定价策略(不同域可能有不同的定价策略);

3、根据得到的定价策略进行最小化成本计算,将初始基本网元集合(第一网元集合)进行合并或拆分,得到优化后的基本网元集合(第二网元集合)。

结合图13所示映射后的基本网元集合,假设域一的定价策略为每一路由器(Router)收费X元/天,与路由器实现的功能无关。根据此策略可以知道,应该尽量合并虚拟网络设备。在上述例子中,Router_1与Router_3可以合并为一个路由器以降低成本,合并结果如图14所示。

可以理解的是,每个基本网元组中包括的基本网元所连接的网络节点均位于同一个网络域内,对一个基本服务元组编译的结果进行处理后,根据得到的基本网元连接的网络节点所在域的不同,可以得到至少一个基本网元组,该基本网元组的目标域为该基本网元组中基本网元连接的网络节点所在的网络域。

上面实施例中,编译装置自动化编译,将网络服务请求编译为基本网元组,该基本网元组中包括至少一个表示通用网元模型的基本网元,在实际应用中,还可以继续将该基本网元映射到能被域控制器识别的域网元,具体处理方式有多种:

可选的,请参阅图15,作为本发明实施例中网络服务请求的编译方法另一个实施例,上述步骤304之后,该网络服务请求的编译方法还可以包括如下步骤:

1505、根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组。

其中,所述域网元组用于所述域控制器进行网络部署,所述域网元组中包括至少一个域网元,所述域网元为所述目标域的域控制器可识别的网元模型。

由于不同网络域的域控制器采用的域技术不同,因此各域控制器能识别的网元模型也有所不同。域控制器采用的域技术可以为软件定义网络(Software Defined Network,SDN)网络控制器采用的Openflow协议及相关虚拟化技术,也可以为Openstack集群中Neutron控制器提供的网络虚拟化及网络控制技术,还可以为虚拟机软件VMWare集群中的网络管理与控制技术等,还可以为其他的域技术,此处不作限定。本步骤中,翻译装置根据目标 域的域控制器采用的域技术,将基本网元组中的通用网元模型转换为目标域的域控制器能识别的网元模型。可以理解的是,该目标域为基本网元组中基本网元连接的网络节点所在的域,也即基本网元需要映射到的域。

本发明实施例中,自动将接收到的用户服务请求分解为能被下层技术处理的基本服务元组,再将该基本服务元组编译为基本网元组,实现从网络服务抽象到网络资源抽象的转换,再将基本网元组翻译为具体域内可识别的域网元组,逐步实现了NaaS应用中对用户网络请求的自动化编译,为网络自动化部署提供了基础。

步骤1505中,根据目标域的域控制器采用的域技术,将基本网元组编译为域网元组,在实际应用中,进行该编译步骤之前,可以先存储一个对应关系到数据库中,该对应关系为各类型的基本网元与各网络域中域控制器可识别的网元模型的对应关系。

具体的,则该编译步骤可以为:

根据目标域的域控制器采用的域技术,查找所述数据库,得到所述基本网元组中基本网元对应的所述目标域的域控制器能识别的网元模型;

组合查找到的所述目标域的域控制器能识别的网元模型,得到所述域网元组。

可以理解的是,将基本网元编译为目标域的域控制器能识别的网元模型,实现了将虚拟的网络资源转换为域内实体资源的目的,对得到的域网元组进行部署即可以满足用户提出的网络服务请求。

在实际应用中,可以由一个编译装置对应所有的网络域,也可以每个编译装置对应一个网络域,此处不作限定。

可选的,可以先将基本网元组翻译成域网元组,再由特定设备或域控制器或编译装置按照该域网元组进行网络部署;

可选的,也可以先按照网络服务请求设置相应的触发器(如时间触发,时间触发等),在达到触发条件时,再从数据库中读取与基本网元组对应的域网元及相应的配置文件,对基本网元组进行编译,并调用底层相应的接口进行实际的部署。

还可以有其他的编译和部署的方式,可以根据实际情况进行选择,此处 不作限定。

可选的,请参阅图16,作为本发明实施例中网络服务请求的编译方法另一个实施例,上述步骤304之后,该网络服务请求的编译方法还可以包括如下步骤:

1605、将所述基本网元组发送给目标域的域控制器,使得所述目标域的域控制器将所述基本网元组编译成为所述目标域的域控制器能识别的网元模型。

本步骤中,编译装置将得到的基本网元组发送给目标域的域控制器,由域控制器来完成基本网元组到域网元组的编译工作。

本发明实施例中,由域控制器完成基本网元组到域网元组的编译工作,减轻了编译装置的工作负荷,且由域控制器完成该段编译工作,使得编译结果更加准确。

请参阅图17,本发明实施例中网络服务请求的编译方法另一个实施例包括:

1701、域控制器接收编译装置发送的基本网元组,所述基本网元组中包括至少一个基本网元,所述基本网元为一种通用网元模型;

1702、所述域控制器根据存储的基本网元与域网元的对应关系,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述域控制器可识别的网元模型。

本发明实施例中,由域控制器完成基本网元组到域网元组的编译工作,减轻了编译装置的工作负荷,且由域控制器完成该段编译工作,使得编译结果更加准确。

下面对本发明实施例中的编译装置进行描述:

请参阅图18,本发明实施例中编译装置一个实施例包括:

第一接收模块1801,用于接收用户提交的网络服务请求,所述网络服务请求中包括至少一个连接需求,所述网络服务请求用于表示用户的网络服务需求;

分解模块1802,用于按照预置分解规则,将所述网络服务请求分解为基本服务元组,所述基本服务元组包括至少一种基本服务元,所述基本服务元 的类型包括点对点连接,共享连接或分支连接;

第一编译模块1803,用于对所述基本服务元组中的基本服务元进行编译,得到基本网元,所述基本网元为一种通用网元模型;

处理模块1804,用于对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组,所述基本网元组中包括至少一个基本网元。

本发明实施例中,分解模块1802自动将接收到的用户服务请求分解为能被下层技术处理的基本服务元组,第一编译模块1803再将该基本服务元组编译为基本网元组,实现从网络服务抽象到网络资源抽象的转换,实现了NaaS应用中对网络服务请求的自动化编译,为网络自动化部署提供了基础。

可选的,作为本发明实施例中编译装置另一个实施例,上述实施例中连接需求中包括源列表和目的列表,所述连接需求表示建立所述源列表中任一网络节点到所述目的列表中任一网络节点的通信连接的需求,所述源列表和目的列表中都包括至少一个网络节点。

可选的,作为本发明实施例中编译装置另一个实施例,上述连接需求中还包括连接类型,所述连接类型为预先定义的网络需求类型中的一种。

可选的,作为本发明实施例中编译装置另一个实施例,上述预置分解规则包括:

对于每一个所述连接需求:

将源列表和目的列表中均只含有一个互不相同的网络节点的连接,分类为所述点对点连接;

将源列表和目的列表中包含同一组网络节点的连接,分类为所述共享连接,所述同一组网络节点包含至少两个网络节点;

将源列表和目的列表中,一个列表仅包含一个网络节点,另一个列表中包含至少两个网络节点的连接,分类为所述分支连接;

对于源列表和目的列表中均包含至少两个网络节点的连接,根据源列表中的网络节点与目的列表中的网络节点是否有相同的网络节点,分解方式为:

若没有相同的网络节点,则引入一个内部节点,将该连接分解为两个分支连接,分别为从源列表中网络节点到所述内部节点的分支连接,和从所述内部节点到所述目的列表中网络节点的分支连接;

若有相同的网络节点,则将该连接分解为三个连接,再对这三个连接分别分类,这三个连接分别为:从源列表中网络节点到第二网络节点组中网络节点的连接,从相同网络节点组中网络节点到相同网络节点组中网络节点的连接,和从第一网络节点组中网络节点到相同网络节点组中网络节点的连接,其中,所述相同网络节点组中包括该源列表与该目的列表中所有相同的网络节点,所述第一网络节点组中包括在该源列表中去掉所述相同的网络节点后的网络节点,所述第二网络节点组中包括在所述目的列表中去掉所述相同的网络节点后的网络节点。

可选的,请参阅图19,作为本发明实施例中编译装置另一个实施例,上述编译装置中第一编译模块1803具体包括:

域内映射单元1901,用于当所述基本服务元中涉及的网络节点都分布在第一网络域时,按照预置映射规则,将所述基本服务元映射为所述第一网络域内的基本网元,所述第一网络域为一个网络域;

可选的,该第一编译模块1803还可以包括:

路径选择单元1902,用于当第一基本服务元中涉及的网络节点分布在第二网络域和第三网络域中时,根据所述第二网络域与所述第三网络域之间的连接情况,选择至少一条连接所述第二网络域和所述第三网络域的路径,得到所述第二网络域和所述第三网络域的连接节点,所述第二网络域为与所述第三网络域不同的网络域,所述不同的网络域表示不同的底层网络服务提供商;

生成单元1903,用于结合所述连接节点和所述第一基本服务元,生成第二基本服务元和第三基本服务元,所述第二基本服务元涉及的网络节点均位于所述第二网络域中,所述第三基本服务元涉及的网络节点均位于所述第三网络域中,其中,所述第一基本服务元、所述第二基本服务元和所述第三基本服务元分别为一个基本服务元,且所述第二基本服务元的服务和所述第三基本服务元的服务之和等同于所述第一基本服务元的服务;

触发单元1904,用于触发所述域内映射单元按照预置映射规则,将所述第二基本服务元映射为所述第二网络域内的基本网元,将所述第三基本服务元映射为所述第三网络域内的基本网元。

可选的,上述预置映射规则可以为:

将类型为点对点连接的基本服务元,映射为网络域内的基本链路;

将类型为共享连接的基本服务元,映射为网络域内的虚拟网络,所述虚拟网络为交换机或路由器;

将类型为分支连接的基本服务元,映射为网络域内带规则限制的分发设备,所述基本链路,所述虚拟网络和所述分发设备均为一种基本网元;

可选的,上述处理模块1804具体可以包括:

组合单元1905,用于将所述基本服务元组中连接的网络节点属于第四网络域的基本服务元编译出的基本网元组合为第一网元集合;其中,该第四网络域可以表示任一个网络域。

获取单元1906,用于根据所述第四网络域中域控制器的策略和用户属性,获取对应的定价策略;

优化单元1907,用于根据得到的定价策略,对所述第一网元集合进行最小化成本计算,将所述第一网元集合进行合并或拆分,得到优化后的第二网元集合,作为以所述第四网络域为目标域的基本网元组;

可选的,所述基本网元的描述特征可以包括id,port_list,rule_list和extention_list,其中,所述id为该基本网元设备的唯一编号,所述port_list为该基本网元设备拥有的端点列表,所述rule_list为该基本网元设备中的规则列表,所述extention_list表示该网元设备中其他无法用所述规则列表表示的属性;

本发明实施例中,分解模块1802自动将接收到的用户服务请求分解为能被下层技术处理的基本服务元组,第一编译模块1803和处理模块1804再将该基本服务元组编译为基本网元组,实现从网络服务抽象到网络资源抽象的转换,实现了NaaS应用中对网络服务请求的自动化编译,为网络自动化部署提供了基础。处理模块1804对基本网元进行等效叠加合并处理,节省了网络部署成本。

在实际应用中,处理模块1804得到基本网元组后,编译装置还可以继续将该基本网元映射到能被域控制器识别的域网元,具体处理方式有多种:

可选的,请参阅图20,作为本发明实施例中编译装置另一个实施例,上 述编译装置还包括:

第二编译模块2001,用于根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述目标域的域控制器可识别的网元模型;

可选的,该编译装置还可以包括:

存储模块2002,用于存储各类型的基本网元与各网络域中域控制器可识别的网元模型的对应关系到数据库中;

该第二编译模块2001具体可以包括:

查找单元,用于根据目标域的域控制器采用的域技术,查找所述数据库,得到所述基本网元组中基本网元对应的所述目标域的域控制器能识别的网元模型;

组合单元,用于组合查找到的所述目标域的域控制器能识别的网元模型,得到所述域网元组。

本发明实施例中,分解模块1802自动将接收到的用户服务请求分解为能被下层技术处理的基本服务元组,第一编译模块1803和处理模块1804再将该基本服务元组编译为基本网元组,实现从网络服务抽象到网络资源抽象的转换,第二编译模块2001再将基本网元组翻译为具体域内可识别的域网元组,逐步实现了NaaS应用中对用户网络请求的自动化编译,为网络自动化部署提供了基础。

可选的,请参阅图21,作为本发明实施例中编译装置另一个实施例,图18或图19对应的编译装置还包括:

发送模块2101,用于将所述基本网元组发送给目标域的域控制器,使得所述目标域的域控制器将所述基本网元组编译成为所述目标域的域控制器能识别的网元模型。

本步骤中,发送模块2101将得到的基本网元组发送给目标域的域控制器,由域控制器来完成基本网元组到域网元组的编译工作。

下面对本发明实施例中的控制器进行描述,该控制器在本发明实施例中可以用作域控制器,请参阅图22,本发明实施例中控制器一个实施例包括:

第二接收模块2201,用于接收编译装置发送的基本网元组,所述基本网 元组中包括至少一个基本网元,所述基本网元为一种通用网元模型;

第三编译模块2202,用于根据存储的基本网元与域网元的对应关系,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述域控制器可识别的网元模型。

本发明实施例中,第二接收模块2201接收编译装置发送的基本网元组,由域控制器中的第三编译模块2202完成基本网元组到域网元组的编译工作,减轻了编译装置的工作负荷,且由域控制器中的第三编译模块2202完成该段编译工作,使得编译结果更加准确。

请参阅图23,为本发明实施例中网络设备2300一个结构示意图,该网络设备可以表示本发明实施例中的编译装置,也可以表示本发明实施例中的域控制器,该网络设备2300一个实施例包括:

输入装置2301、输出装置2302、处理器2303和存储器2304(其中第一交换机2300中的处理器2303的数量可以一个或多个,图23中以一个处理器2303为例)。在本发明的一些实施例中,输入装置2301、输出装置2302、处理器2303和存储器2304可通过总线或其它方式连接,其中,图23中以通过总线连接为例。

其中,当该网络设备表示本发明实施例中的编译装置时,通过调用存储器2304存储的操作指令,该处理器2303,用于执行如下步骤:

指示所述输入装置2301接收用户提交的网络服务请求,所述网络服务请求中包括至少一个连接需求,所述网络服务请求用于表示用户的网络服务需求;

按照预置分解规则,将所述网络服务请求分解为基本服务元组,所述基本服务元组包括至少一种基本服务元,所述基本服务元的类型包括点对点连接,共享连接或分支连接;

对所述基本服务元组中的基本服务元进行编译,得到基本网元,所述基本网元为一种通用网元模型;

对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组,所述基本网元组中包括至少一个基本网元。

本发明的一些实施例中,该连接需求中包括源列表和目的列表,所述连 接需求表示建立所述源列表中任一网络节点到所述目的列表中任一网络节点的通信连接的需求,所述源列表和目的列表中都包括至少一个网络节点。

本发明的一些实施例中,该连接需求中还包括连接类型,所述连接类型为预先定义的网络需求类型中的一种。

本发明的一些实施例中,该预置分解规则包括:

对于每一个所述连接需求:

将源列表和目的列表中均只含有一个互不相同的网络节点的连接,分类为所述点对点连接;

将源列表和目的列表中包含同一组网络节点的连接,分类为所述共享连接,所述同一组网络节点包含至少两个网络节点;

将源列表和目的列表中,一个列表仅包含一个网络节点,另一个列表中包含至少两个网络节点的连接,分类为所述分支连接;

对于源列表和目的列表中均包含至少两个网络节点的连接,根据源列表中的网络节点与目的列表中的网络节点是否有相同的网络节点,分解方式为:

若没有相同的网络节点,则引入一个内部节点,将该连接分解为两个分支连接,分别为从源列表中网络节点到所述内部节点的分支连接,和从所述内部节点到所述目的列表中网络节点的分支连接;

若有相同的网络节点,则将该连接分解为三个连接,再对这三个连接分别分类,这三个连接分别为:从源列表中网络节点到第二网络节点组中网络节点的连接,从相同网络节点组中网络节点到相同网络节点组中网络节点的连接,和从第一网络节点组中网络节点到相同网络节点组中网络节点的连接,其中,所述相同网络节点组中包括该源列表与该目的列表中所有相同的网络节点,所述第一网络节点组中包括在该源列表中去掉所述相同的网络节点后的网络节点,所述第二网络节点组中包括在所述目的列表中去掉所述相同的网络节点后的网络节点。

本发明的一些实施例中,该处理器2303执行所述对所述基本服务元组中的基本服务元进行编译,得到基本网元的步骤时,具体执行如下步骤:

当所述基本服务元中涉及的网络节点都分布在第一网络域时,按照预置映射规则,将所述基本服务元映射为所述第一网络域内的基本网元,所述第 一网络域为一个网络域。

本发明的一些实施例中,该处理器2303执行所述对所述基本服务元组中的基本服务元进行编译,得到基本网元的步骤时,还执行如下步骤:

当第一基本服务元中涉及的网络节点分布在第二网络域和第三网络域中时,根据所述第二网络域与所述第三网络域之间的连接情况,选择至少一条连接所述第二网络域和所述第三网络域的路径,得到所述第二网络域和所述第三网络域的连接节点,所述第二网络域为与所述第三网络域不同的网络域,所述不同的网络域表示不同的底层网络服务提供商;

结合所述连接节点和所述第一基本服务元,生成第二基本服务元和第三基本服务元,所述第二基本服务元涉及的网络节点均位于所述第二网络域中,所述第三基本服务元涉及的网络节点均位于所述第三网络域中,其中,所述第一基本服务元、所述第二基本服务元和所述第三基本服务元分别为一个基本服务元,且所述第二基本服务元的服务和所述第三基本服务元的服务之和等同于所述第一基本服务元的服务;

按照预置映射规则,将所述第二基本服务元映射为所述第二网络域内的基本网元,将所述第三基本服务元映射为所述第三网络域内的基本网元。

本发明的一些实施例中,该预置映射规则为:

将类型为点对点连接的基本服务元,映射为网络域内的基本链路;

将类型为共享连接的基本服务元,映射为网络域内的虚拟网络,所述虚拟网络为交换机或路由器;

将类型为分支连接的基本服务元,映射为网络域内带规则限制的分发设备,所述基本链路,所述虚拟网络和所述分发设备均为一种基本网元。

本发明的一些实施例中,该处理器2303执行所述对所述基本服务元组中基本服务元编译的结果进行处理,得到基本网元组的步骤时,具体执行如下步骤:

将所述基本服务元组中连接的网络节点属于第四网络域的基本服务元编译出的基本网元组合为第一网元集合;

根据所述第四网络域中域控制器的策略和用户属性,获取对应的定价策略;

根据得到的定价策略,对所述第一网元集合进行最小化成本计算,将所述第一网元集合进行合并或拆分,得到优化后的第二网元集合,作为以所述第四网络域为目标域的基本网元组。

本发明的一些实施例中,该基本网元的描述特征包括id,port_list,rule_list和extention_list,其中,所述id为该基本网元设备的唯一编号,所述port_list为该基本网元设备拥有的端点列表,所述rule_list为该基本网元设备中的规则列表,所述extention_list表示该网元设备中其他无法用所述规则列表表示的属性。

本发明的一些实施例中,该处理器2303还用于执行如下步骤:

根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述目标域的域控制器可识别的网元模型。

本发明的一些实施例中,该处理器2303还用于执行如下步骤:

指示所述存储器2304存储各类型的基本网元与各网络域中域控制器可识别的网元模型的对应关系到数据库中;

执行所述根据目标域的域控制器采用的域技术,将所述基本网元组编译为域网元组的步骤时,该处理器2303具体用于执行如下步骤:

根据目标域的域控制器采用的域技术,查找所述数据库,得到所述基本网元组中基本网元对应的所述目标域的域控制器能识别的网元模型;

组合查找到的所述目标域的域控制器能识别的网元模型,得到所述域网元组。

本发明的一些实施例中,该处理器2303还用于执行如下步骤:

指示所述输出装置2302将所述基本网元组发送给目标域的域控制器,使得所述目标域的域控制器将所述基本网元组编译成为所述目标域的域控制器能识别的网元模型。

当该网络设备2300表示本发明实施例中的控制器时,通过调用存储器2304存储的操作指令,该处理器2303,用于执行如下步骤:

指示所述输入装置2301接收编译装置发送的基本网元组,所述基本网元组中包括至少一个基本网元,所述基本网元为一种通用网元模型;

根据存储器2304存储的基本网元与域网元的对应关系,将所述基本网元组编译为域网元组,所述域网元组中包括至少一个域网元,所述域网元为所述域控制器可识别的网元模型。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、 磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1