CN109218060A - 一种业务配置驱动流表的方法及装置 - Google Patents
一种业务配置驱动流表的方法及装置 Download PDFInfo
- Publication number
- CN109218060A CN109218060A CN201710551692.2A CN201710551692A CN109218060A CN 109218060 A CN109218060 A CN 109218060A CN 201710551692 A CN201710551692 A CN 201710551692A CN 109218060 A CN109218060 A CN 109218060A
- Authority
- CN
- China
- Prior art keywords
- flow table
- business
- business model
- variation
- registration
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文公开了一种业务配置驱动流表的方法和装置。所述方法包括:将转发设备的流表所关注的属性映射到业务模型上以完成流表在所述业务模型上的注册;确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。本文的技术方案能够对业务配置和流表配置进行隔离,从而降低流表配置的复杂性、实现流表配置的通用性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及的是一种业务配置驱动流表的方法及装置。
背景技术
现有网络中,对流量的控制和转发都依赖于网络设备实现,且设备中集成了与业务特性紧耦合的操作系统和专用硬件,这些操作系统和专用硬件都是各个厂家自己开发和设计的。
SDN(Software Defined Network,软件定义网络)是一种新型的网络架构,它的设计理念是将网络的控制平面与数据转发平面进行分离,从而通过集中的控制器中的软件平台去实现可编程化控制底层硬件,实现对网络资源灵活的按需调配。在SDN网络中,网络设备只负责单纯的数据转发,可以采用通用的硬件;而原来负责控制的操作系统将提炼为独立的网络操作系统,负责对不同业务特性进行适配,而且网络操作系统和业务特性以及硬件设备之间的通信都可以通过编程实现。
SDN的典型架构共分三层,最上层为应用层,包括各种不同的业务和应用;中间的控制层主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;最底层的基础设施层负责基于流表的数据处理、转发和状态收集。SDN本质上具有“控制和转发分离”、“设备资源虚拟化”和“通用硬件及软件可编程”三大特性。
目前SDN技术方案中,控制器占据了非常重要的位置。控制器和转发设备之间的业务模型协商以及控制器与APP之间的业务模型协商,会影响整个SDN产业链,现在相关讨论非常活跃,也推出了相关的概念:TTP(Table Type Patterns,表类型模式)、NDM(Negotiabable Data-plane Model,可协商的数据转发面模型)等。其中,TTP率先由博通公司发布转发芯片而得到物理交换机的支持,应用在Openflow网络中,包含Openflow网络发展的生命周期、部署以及运营等多个方面。具体来说,TTP是一种结构化的逻辑交换机的行为描述,是一种抽象交换机模型,它把交换机行为定义为逻辑的主要原因是业务在这里是和特定物理交换机平台是分离的;一个TTP代表了Openflow逻辑交换机的流处理能力,它是根据Openflow协议的描述来定义的,包括对流表、以及Openflow消息的说明等。交换机按照TTP这一套规则来开发,控制器开发人员可以获得足够的信息来了解交换机支持的特性有哪些,交换机开发人员也同样能够知道交换机所需要支持的信息。
在SDN控制器管理支持TTP的PTN(Packet Transport Network,分组传送网)转发设备时,从应用层下发过来的PTN业务配置需要以某种方法转换为TTP流表配置。
相关技术中,将PTN业务配置直接转换为TTP流表配置。在这种方式中,每一条PTN业务配置都需要进行特定转换,并且需要感知TTP的存在,如果多个转发设备支持的TTP不一致或者同一设备TTP能力改变时,同一条PTN业务配置还需要进行差异处理,开发和维护成本都比较高。
发明内容
本发明所要解决的技术问题是提供一种业务配置驱动流表的方法和装置,能够对业务配置和流表配置进行隔离,从而降低流表配置的复杂性、实现流表配置的通用性。
本发明实施例提供一种业务配置驱动流表的方法,包括:
将转发设备的流表所关注的属性映射到业务模型上以完成流表在所述业务模型上的注册;
确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。
本发明实施例还提供一种业务配置驱动流表的装置,包括:
流表注册模块,用于将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册;
业务配置模块,用于确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。
本发明实施例还提供一种软件定义网络控制器,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务配置驱动流表的程序,所述业务配置驱动流表的程序被所述处理器执行时实现上述业务配置驱动流表的方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有业务配置驱动流表的程序,所述业务配置驱动流表的程序被处理器执行时实现上述业务配置驱动流表的方法的步骤。
与现有技术相比,本发明提供的一种业务配置驱动流表的方法和装置,通过引入业务模型,将转发设备的流表所关注的属性映射到业务模型上以完成流表在所述业务模型上的注册,确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目,能够对业务配置和流表配置进行隔离,从而降低流表配置的复杂性、实现流表配置的通用性。
附图说明
图1为本发明实施例1的一种数据发送方法流程图;
图2为本发明实施例2的一种数据接收方法流程图;
图3(a)为网元业务流抽象示意图一;
图3(b)为网元业务流抽象示意图二;
图4为PTN业务模型和TTP流表的业务流映射关系示意图;
图5(a)为节点属性的DSL设计的流程图;
图5(b)为TTP流表注册的静态DSL设计的流程图;
图5(c)为TTP流表注册的动态DSL的流程图;
图6(a)为节点属性变化时的搜索示意程图;
图6(b)为节点父子关系变化时的搜索示意程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例1
如图1所示,本发明实施例提供了一种业务配置驱动流表的方法,包括:
步骤S110,将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册;
步骤S120,确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。
所述方法还可以包括下述特点:
在一种实施方式中,在将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册之前,所述方法还包括:对业务进行建模生成所述业务的业务模型;
在一种实施方式中,所述对业务进行建模生成所述业务的业务模型,包括:
a)从业务中抽象出各种类型的属性;
b)将每一类属性通过元数据的形式进行描述;
c)通过一段通用的程序分析每一类属性的元数据,得到所述属性的细节信息,根据所述细节信息生成属性类;
在一种实施方式中,所述将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册,包括:
a)获取所有转发设备的转发能力描述文件;
b)通过一段通用的程序分析每一个转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类;
c)记录每一个转发能力描述文件与注册流表类的对应关系;
d)在控制器与某个转发设备建立连接后,根据所述转发设备上报的转发能力描述文件查询对应的注册流表类,如果能够查找到匹配的注册流表类,则获取所述注册流表类;如果不能够查找到匹配的注册流表,则分析所述转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类。
在一种实施方式中,所述转发设备的转发能力描述文件是TTP转发能力描述文件;所述转发设备的流表是TTP流表;
在一种实施方式中,所述业务是PTN业务。
在一种实施方式中,所述确定业务配置的变化在所述业务模型的相关对象上引起的变化,包括:
确定业务配置的变化在所述业务模型上引起的节点、和/或节点属性和/或节点之间的层级关系的变化。
在一种实施方式中,所述将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目,包括:
遍历所述业务模型上已经注册的与所述业务模型上相关对象的变化有关的流表,在某个已注册的流表映射在所述业务模型上的所有属性都配置完成后,生成所述流表的流条目并下发给所述流表对应的转发设备。
其中,所述业务配置的变化在所述业务模型上引起的变化包括以下至少一种:
节点的创建、节点的删除、节点的改变、节点属性的创建、节点属性的删除、节点属性的改变、两个节点之间层级关系的创建、两个节点之间层级关系的删除、和两个节点之间层级关系的改变。
实施例2
如图2所示,本发明实施例提供了一种业务配置驱动流表的装置,包括:
流表注册模块201,用于将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册;
业务配置模块202,用于确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。
在一种实施方式中,所述装置还包括:
业务模型建立模块203,用于对业务进行建模生成所述业务的业务模型。
在一种实施方式中,业务模型建立模块,用于采用以下方式对业务进行建模生成所述业务的业务模型:
从业务中抽象出各种类型的属性;
将每一类属性通过元数据的形式进行描述;
分析每一类属性的元数据,得到各类属性的细节信息,根据所述细节信息生成各个属性类。
在一种实施方式中,流表注册模块,用于采用以下方式将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册:
获取各个转发设备的转发能力描述文件;
分析每一个转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类;
记录每一个转发能力描述文件与注册流表类的对应关系;
在控制器与某个转发设备建立连接后,根据所述转发设备上报的转发能力描述文件查询对应的注册流表类,如果能够查找到匹配的注册流表类,则获取所述注册流表类;如果不能够查找到匹配的注册流表类,则分析所述转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类。
在一种实施方式中,业务配置模块,用于采用以下方式确定业务配置的变化在所述业务模型的相关对象上引起的变化:确定业务配置的变化在所述业务模型上引起的节点、和/或节点属性和/或节点之间的层级关系的变化。
在一种实施方式中,业务配置模块,用于采用以下方式将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目:遍历所述业务模型上已经注册的与所述业务模型上相关对象的变化有关的流表,在某个已注册的流表映射在所述业务模型上的所有属性都配置完成后,生成所述流表的流条目并下发给所述流表对应的转发设备。
在一种实施方式中,所述业务配置的变化在所述业务模型上引起的变化包括以下至少一种:
节点的创建、节点的删除、节点的改变、节点属性的创建、节点属性的删除、节点属性的改变、两个节点之间层级关系的创建、两个节点之间层级关系的删除、和两个节点之间层级关系的改变。
在一种实施方式中,所述转发设备的转发能力描述文件是TTP转发能力描述文件;所述转发设备的流表是TTP流表;
在一种实施方式中,所述业务是PTN业务。
实施例3
本发明实施例提供一种软件定义网络SDN控制器,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务配置驱动流表的程序,所述业务配置驱动流表的程序被所述处理器执行时实现上述实施例1中所述的业务配置驱动流表的方法的步骤。
实施例4
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有业务配置驱动流表的程序,所述业务配置驱动流表的程序被处理器执行时实现上述实施例1中所述的业务配置驱动流表的方法的步骤。
下面详细解释业务配置驱动流表的方案的各个细节部分。
PTN业务模型是在抽象层面对PTN转发面建立的领域模型,是对PTN业务转发行为的统一抽象描述,不随具体的转发设备变化而变化。对PTN转发设备而言,其业务的本质就是转发,如图3(a)所示,可以对一条业务流做最笼统的抽象,一条业务流至少包括:“业务入”和“业务出”。进一步细化的话,如图3(b)所示,一条业务流里面其实包含了许多端口/子端口、客户层/服务层这样的层级关系,可以把这样的层级关系用树的父子关系进行抽象。比如,图3(b)中,子端口节点与端口节点之间具有父子关系,子端口节点是子节点,端口节点是父节点;再比如,LSP(Label Switching Path,标签交换路径)节点和PW(Pseudo wire,伪线)节点之间具有父子关系,LSP节点是子节点,PW节点是父节点。在用树描述的PTN层级关系里,层级关系可以任意添加,这非常符合PTN业务的特点。树的一条完整路径描述了PTN业务从入到出的一条业务流。利用PTN业务模型可以对PTN业务进行建模。
如图4所示,PTN业务模型描述的业务流和由TTP流表组成的流水线所描述的业务流,其实是站在不同角度对同一事物的描述。对一条PTN业务流而言,虚线以上部分是通过PTN业务模型中的一条业务路径来描述的,虚线以下部分是通过一连串的TTP流表组成的一条流水线来描述的。这两者其实都是在描述同一条PTN业务流。因此,对虚线以下部分的每一个TTP流表而言,它们代表了这条PTN业务流的一段,它需要的属性应该映射在虚线以上部分的PTN业务模型中的这条业务路径的某一段。
每个TTP流表只需要处理自己关心的属性的注册并在该属性变化时进行更新,所有的TTP流表合在一起就形成了一个完整的PTN业务流了。每个TTP流表会形成流条目下发到转发设备,完成相应业务在转发设备上的配置。PTN业务模型可以计算出一条完整的业务路径,即业务流。对具体的TTP流表而言,将自己关心的属性向PTN业务模型注册,之后,如果该属性发生变化,则PTN业务模型会将属性的变化下发给所述流表,TTP流表关系的属性齐备后可以生成一个流条目,将所述流条目下发给转发设备。
为了达到隔离性,PTN业务模型需要确定各流表感兴趣的属性有哪些,并以流表为单位向PTN业务模型注册。随后,应用层发起PTN业务配置时可以直接根据具体业务对PTN业务模型进行操作,这些操作可以标准化为下述变化:对节点的创删改(创建、删除、修改),对节点上属性的创删改(创建、删除、修改)以及节点和节点的关系变更。PTN业务模型感知这些变化后,在所有可能的业务流中查找各TTP流表(已注册的TTP流表)关注的属性是否齐备,若齐备则通知相应的流表,生成流条目下发到转发设备,从而完成业务配置。在这个过程中,应用层完全不感知TTP的存在,只需要知道如何把业务数据配置到业务模型上,业务模型会驱动底层的TTP流表完成流条目下发转发设备的过程。
在构建PTN业务模型时,通过分析PTN业务,可以抽象出节点和节点上的属性。其中,属性包括PTN业务的配置数据。通过面向对象的设计,一个属性可以是一个类,PTN全部业务将产生数量庞大的属性类,为了降低开发和维护成本,可以针对节点属性做DSL(Domain Specific Language,领域专用语言)设计。
如图5(a)所示,节点属性的DSL设计可以包括下述步骤:
1)从PTN业务中抽象出属性类型;
2)将每一类属性通过元数据的形式进行描述;
3)通过一段通用的程序分析每一类属性的元数据,得到所述属性的细节信息,根据所述细节信息生成属性类;
4)将生成的每一个属性类作为PTN业务模型的API(Application ProgrammingInterface,应用程序编程接口)提供给应用层使用。
在构建PTN业务模型时,转发设备支持的每一张TTP流表根据自身关注的属性向PTN业务模型完成注册。通过面向对象的设计,每一个TTP流表会形成一个类,这个类需要表示出自己在PTN业务模型上感兴趣的属性有哪些。为了降低这部分开发和维护成本,可以针对TTP流表做DSL的设计。TTP流表的DSL设计可以分为两种场景:静态DSL和动态DSL。两种场景下的DSL方式有一定差异,描述如下:
静态DSL适用于提前得知所有转发设备类型的场景,优点是DSL开销不会在运行时体现,缺点是设备管理能力在运行时不能扩展。如图5(b)所示,静态DSL可以包括下述步骤:
1)获取所有转发设备的TTP能力描述文件;所述TTP能力描述文件可以是JSON(JavaScript Object Notation,JAVA脚本对象标记)格式的文件;
2)通过一段通用的程序分析每一个TTP能力描述文件,得到各个TTP流表,以及每个TTP流表关注的属性的信息,根据所述信息生成TTP流表注册类;
3)记录每一个TTP能力描述文件与TTP流表注册类的对应关系;
4)在系统运行过程中,在控制器与转发设备建立连接后,转发设备上报TTP能力描述文件;
5)根据TTP能力描述文件查询到对应的TTP流表注册类,向PTN业务模型注册所述TTP流表注册类。
动态DSL适用于管理未知转发设备类型的场景,优点是提升了设备控制能力,缺点是DSL开销会在运行时体现。如图5(c)所示,动态DSL可以包括下述步骤:
1)在系统运行过程中,在控制器与转发设备建立连接后,转发设备上报TTP能力描述文件;
2)实时分析所述TTP能力描述文件,得到各个TTP流表,以及每个TTP流表关注的属性的信息,根据所述信息生成TTP流表注册类
3)向PTN业务模型注册所述TTP流表注册类。
应用层通过API接口操作PTN业务模型时,PTN业务模型感知模型发生的变化,搜索变化所涉及的流表,并通知相应流表。具体地,PTN业务模型发生变化,在每一条业务路径上查找所述变化有关的TTP流表所关注的属性。在查找过程中,如果某个TTP流表关注的所有属性齐备了,则结束查找,通知响应的TTP流表。
如图6(a)所示,当PTN模型业务路径上的某个节点(比如:X节点)的属性发生变化时,从X节点开始,搜索所述路径上X节点的所有下游节点,以及搜索所述路径上X节点的所有上游节点。如图6(b)所示,当PTN模型业务路径上的两个节点之间的父子关系发生变化时,比如,节点P为父节点,节点C为子节点,当节点P和节点C父子关系发生变化时,从节点P开始,搜索所述路径上节点P的所有下游节点,以及搜索所述路径上节点C的所有上游节点。
示例1
以VPWS(Virtual Private Wire Service,虚拟专线业务)业务配置为例,解释PTN业务模型驱动TTP流表的方法。其中,DSL设计的实现语言采用JAVA,构建工具采用Maven。
通过以下四个方面说明VPWS业务配置驱动TTP流表的整个过程:PTN业务模型框架的搭建、实现PTN业务模型对VPWS业务的支持、实现应用层对VPWS业务配置的支持、运行时下发VPWS业务。
(一)搭建PTN业务模型框架。
PTN业务模型框架是基于面向对象的设计,包括以下部分:
1)确定基础功能:
确定节点类,属性基类,节点枚举,属性枚举,工具类等基础设施类,涵盖PTN业务模型操作接口和TTP流表注册接口,以及在内部通过编码实现的PTN业务模型驱动流表算法。
2)确定节点属性DSL元数据:
确定属性标注,这是元数据格式,而元数据的载体是基础功能中定义的节点枚举,属性枚举。属性标注使用在节点枚举值上时用于描述节点ID属性,属性标注使用在属性枚举值上时用于描述节点除ID之外的普通属性。
3)确定节点属性DSL Maven插件:
插件设置运行点为编译后,运行过程中分析节点枚举和属性枚举中的所有属性标注,得到所有属性的细节信息后用javassist技术生成所有属性类的字节码。
4)确定TTP流表DSL元数据:
收集所有转发设备的TTP能力描述文件,集中放在PTN框架构建目录中。
5)确定TTP流表DSL Maven插件:
插件设置运行点为编译后,运行过程中分析所有TTP能力描述文件,得到所有TTP流表的细节信息后用javassist技术生成所有TTP流表注册类的字节码。最后记录下每一个TTP能力描述文件映射哪些TTP流表类的信息,并用javassist技术生成TTP能力映射类。
将基础功能类,节点属性DSL元数据和TTP流表DSL元数据规划在一个Maven模块中,称之为PTN业务模型框架模块。在PTN业务模型框架模块的构建配置中,在编译阶段后插入节点属性DSL Maven插件和TTP流表DSL Maven插件运行。这样处理后,在构建过程完毕时,PTN业务模型框架模块生成的Java类将包含基础功能类和所有DSL生成的类,这些类可以一起作为API提供给应用层使用。
(二)实现PTN业务模型对VPWS业务的支持。
在PTN业务模型框架的基础上,确定VPWS业务相关的节点和属性,以及VPWS层次模型,将VPWS业务的节点和属性添加到PTN业务模型框架的节点枚举和属性枚举中,并用属性标注配置好每一个属性值。随着PTN业务模型模块的构建,PTN业务模型的API中就会自动带有支持VPWS业务的节点和属性类。
(三)实现应用层对VPWS业务配置的支持。
应用层有自己的VPWS业务命令模块,这个模块依赖于PTN业务模型框架模块。针对每一条VPWS业务配置命令创建一个VPWS业务配置命令类。在命令类的命令回调接口中,将界面传递过来的VPWS配置数据按照规定的VPWS层次模型转换为对PTN业务模型中的VPWS节点和属性的操作。编译后,VPWS业务命令模块作为独立Jar包进行部署。
(四)运行时下发VPWS业务。
在系统运行时,转发设备建链后上报TTP能力描述文件,查询TTP能力映射类,找到对应的所有TTP流表注册类,并向PTN业务模型注册。应用层界面下发一条VPWS业务配置,而后转到应用层对应的VPWS命令处理。VPWS命令把VPWS配置数据转换为对PTN业务模型中的VPWS节点和属性的操作。PTN业务模型感知到自身发生变化,触发PTN业务模型驱动流表算法,TTP流表注册类收到属性齐备通知,整合流条目下发到转发设备。
在上述示例中,应用层发起VPWS业务配置和底层转发设备完成VPWS流表配置完全解耦,VPWS业务配置从开发角度不感知TTP流表配置。PTN业务模型框架完成后,对VPWS这种PTN业务而言,其开发只需要做少量工作即可完成,其中大部分代码都是自定义Maven插件生成出来的,开发和维护成本低。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (18)
1.一种业务配置驱动流表的方法,包括:
将转发设备的流表所关注的属性映射到业务模型上以完成流表在所述业务模型上的注册;
确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
对业务进行建模生成所述业务的业务模型。
3.如权利要求2所述的方法,其特征在于:
所述对业务进行建模生成所述业务的业务模型,包括:
从业务中抽象出各种类型的属性;
将每一类属性通过元数据的形式进行描述;
分析每一类属性的元数据,得到各类属性的细节信息,根据所述细节信息生成各个属性类。
4.如权利要求1所述的方法,其特征在于:
所述将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册,包括:
获取各个转发设备的转发能力描述文件;
分析每一个转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类;
记录每一个转发能力描述文件与注册流表类的对应关系;
在控制器与某个转发设备建立连接后,根据所述转发设备上报的转发能力描述文件查询对应的注册流表类,如果能够查找到匹配的注册流表类,则获取所述注册流表类;如果不能够查找到匹配的注册流表类,则分析所述转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类。
5.如权利要求1所述的方法,其特征在于:
所述确定业务配置的变化在所述业务模型的相关对象上引起的变化,包括:
确定业务配置的变化在所述业务模型上引起的节点、和/或节点属性和/或节点之间的层级关系的变化。
6.如权利要求1所述的方法,其特征在于:
所述将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目,包括:
遍历所述业务模型上已经注册的与所述业务模型上相关对象的变化有关的流表,在某个已注册的流表映射在所述业务模型上的所有属性都配置完成后,生成所述流表的流条目并下发给所述流表对应的转发设备。
7.如权利要求5所述的方法,其特征在于:
所述业务配置的变化在所述业务模型上引起的变化包括以下至少一种:
节点的创建、节点的删除、节点的改变、节点属性的创建、节点属性的删除、节点属性的改变、两个节点之间层级关系的创建、两个节点之间层级关系的删除、和两个节点之间层级关系的改变。
8.如权利要求4所述的方法,其特征在于:
所述转发设备的转发能力描述文件是表类型模式TTP转发能力描述文件;所述转发设备的流表是TTP流表。
9.如权利要求1-8中任一项所述的方法,其特征在于:
所述业务是分组传送网PTN业务。
10.一种业务配置驱动流表的装置,包括:
流表注册模块,用于将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册;
业务配置模块,用于确定业务配置的变化在所述业务模型的相关对象上引起的变化,将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
业务模型建立模块,用于对业务进行建模生成所述业务的业务模型。
12.如权利要求10所述的装置,其特征在于:
业务模型建立模块,用于采用以下方式对业务进行建模生成所述业务的业务模型:
从业务中抽象出各种类型的属性;
将每一类属性通过元数据的形式进行描述;
分析每一类属性的元数据,得到各类属性的细节信息,根据所述细节信息生成各个属性类。
13.如权利要求10所述的装置,其特征在于:
流表注册模块,用于采用以下方式将转发设备的流表所关注的属性映射到所述业务模型上以完成流表在所述业务模型上的注册:
获取各个转发设备的转发能力描述文件;
分析每一个转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类;
记录每一个转发能力描述文件与注册流表类的对应关系;
在控制器与某个转发设备建立连接后,根据所述转发设备上报的转发能力描述文件查询对应的注册流表类,如果能够查找到匹配的注册流表类,则获取所述注册流表类;如果不能够查找到匹配的注册流表类,则分析所述转发能力描述文件得到流表以及每个流表关注的属性的信息,根据所述信息生成注册流表类。
14.如权利要求10所述的装置,其特征在于:
业务配置模块,用于采用以下方式确定业务配置的变化在所述业务模型的相关对象上引起的变化:确定业务配置的变化在所述业务模型上引起的节点、和/或节点属性和/或节点之间的层级关系的变化。
15.如权利要求10所述的装置,其特征在于:
业务配置模块,用于采用以下方式将所述业务模型的相关对象上的变化映射到对应的流表上,驱动所述流表生成流条目:遍历所述业务模型上已经注册的与所述业务模型上相关对象的变化有关的流表,在某个已注册的流表映射在所述业务模型上的所有属性都配置完成后,生成所述流表的流条目并下发给所述流表对应的转发设备。
16.如权利要求14所述的装置,其特征在于:
所述业务配置的变化在所述业务模型上引起的变化包括以下至少一种:
节点的创建、节点的删除、节点的改变、节点属性的创建、节点属性的删除、节点属性的改变、两个节点之间层级关系的创建、两个节点之间层级关系的删除、和两个节点之间层级关系的改变。
17.一种软件定义网络控制器,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务配置驱动流表的程序,所述业务配置驱动流表的程序被所述处理器执行时实现如权利要求1-9中任一项所述的业务配置驱动流表的方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有业务配置驱动流表的程序,所述业务配置驱动流表的程序被处理器执行时实现如权利要求1-9中任一项所述的业务配置驱动流表的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710551692.2A CN109218060B (zh) | 2017-07-07 | 2017-07-07 | 一种业务配置驱动流表的方法及装置 |
PCT/CN2018/094701 WO2019007403A1 (zh) | 2017-07-07 | 2018-07-05 | 业务配置驱动流表的方法及装置 |
EP18828798.1A EP3637690B1 (en) | 2017-07-07 | 2018-07-05 | Service configuration-driven flow table method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710551692.2A CN109218060B (zh) | 2017-07-07 | 2017-07-07 | 一种业务配置驱动流表的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218060A true CN109218060A (zh) | 2019-01-15 |
CN109218060B CN109218060B (zh) | 2023-04-07 |
Family
ID=64949751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710551692.2A Active CN109218060B (zh) | 2017-07-07 | 2017-07-07 | 一种业务配置驱动流表的方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3637690B1 (zh) |
CN (1) | CN109218060B (zh) |
WO (1) | WO2019007403A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650224A (zh) * | 2020-12-21 | 2022-06-21 | 北京金山云网络技术有限公司 | 节点功能的配置方法、装置、电子设备及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746657A (zh) * | 2020-05-30 | 2021-12-03 | 华为技术有限公司 | 一种业务配置方法及其装置 |
CN112653766B (zh) * | 2020-12-25 | 2022-08-16 | 中国电子科技集团公司第三十四研究所 | 一种智能业务感知方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378309A (zh) * | 2013-08-16 | 2015-02-25 | 中兴通讯股份有限公司 | OpenFlow网络中实现QoS的方法、系统和相关设备 |
CN104506511A (zh) * | 2014-12-15 | 2015-04-08 | 蓝盾信息安全技术股份有限公司 | 一种sdn网络动态目标防御系统及方法 |
CN105208585A (zh) * | 2014-06-23 | 2015-12-30 | 中兴通讯股份有限公司 | 调度信息的配置、配置参数的处理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9674315B2 (en) * | 2013-05-07 | 2017-06-06 | Futurewei Technologies, Inc. | Methods for dynamically binding header field identifiers in a network control protocol |
US9367366B2 (en) * | 2014-03-27 | 2016-06-14 | Nec Corporation | System and methods for collaborative query processing for large scale data processing with software defined networking |
CN106411972A (zh) * | 2015-07-29 | 2017-02-15 | 中国科学院沈阳自动化研究所 | 一种基于Openflow协议的实时数据分发系统和方法 |
US10003529B2 (en) * | 2015-08-04 | 2018-06-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for memory allocation in a software-defined networking (SDN) system |
-
2017
- 2017-07-07 CN CN201710551692.2A patent/CN109218060B/zh active Active
-
2018
- 2018-07-05 WO PCT/CN2018/094701 patent/WO2019007403A1/zh unknown
- 2018-07-05 EP EP18828798.1A patent/EP3637690B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378309A (zh) * | 2013-08-16 | 2015-02-25 | 中兴通讯股份有限公司 | OpenFlow网络中实现QoS的方法、系统和相关设备 |
CN105208585A (zh) * | 2014-06-23 | 2015-12-30 | 中兴通讯股份有限公司 | 调度信息的配置、配置参数的处理方法及装置 |
CN104506511A (zh) * | 2014-12-15 | 2015-04-08 | 蓝盾信息安全技术股份有限公司 | 一种sdn网络动态目标防御系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650224A (zh) * | 2020-12-21 | 2022-06-21 | 北京金山云网络技术有限公司 | 节点功能的配置方法、装置、电子设备及系统 |
CN114650224B (zh) * | 2020-12-21 | 2023-06-30 | 北京金山云网络技术有限公司 | 节点功能的配置方法、装置、电子设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3637690B1 (en) | 2023-06-07 |
CN109218060B (zh) | 2023-04-07 |
WO2019007403A1 (zh) | 2019-01-10 |
EP3637690A1 (en) | 2020-04-15 |
EP3637690A4 (en) | 2021-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rahman et al. | A comprehensive survey on semantic interoperability for Internet of Things: State‐of‐the‐art and research challenges | |
Li et al. | Design patterns and extensibility of REST API for networking applications | |
US8352411B2 (en) | Activity schemes for support of knowledge-intensive tasks | |
US11625293B1 (en) | Intent driven root cause analysis | |
CN106664224B (zh) | 通信系统的元数据增强型库存管理的方法和系统 | |
CN106462538B (zh) | 用于基于亲和性网络配置的系统和方法 | |
Raz et al. | Fast and efficient context-aware services | |
CN113508403A (zh) | 用于自动化系统组件与多个信息源的可互操作通信的系统和方法 | |
Moraitis et al. | The GAIA2JADE process for multi-agent systems development | |
US20220166679A1 (en) | Connectivity templates | |
CN107624230A (zh) | 业务可用性管理的方法与实体 | |
Sedlmair et al. | Relex: Visualization for actively changing overlay network specifications | |
CN107203388A (zh) | 一种面向REST架构风格的Web服务快速开发方法 | |
Mogul et al. | Experiences with modeling network topologies at multiple levels of abstraction | |
Di Martino et al. | A rule‐based procedure for automatic recognition of design patterns in UML diagrams | |
CN109218060A (zh) | 一种业务配置驱动流表的方法及装置 | |
WO2013185166A1 (en) | System management tool | |
CN106796607A (zh) | 用于基于模型的搜索及网络数据检索的系统和方法 | |
Kritikos et al. | Multi-cloud provisioning of business processes | |
Madhusudanan et al. | Hybrid Aspect of Context‐Aware Middleware for Pervasive Smart Environment: A Review | |
TW201931227A (zh) | 一種虛實網路資源拓樸之介面系統 | |
JP4836412B2 (ja) | グラフィカル・ユーザ・インタフェースを生成する方法および装置 | |
Rana et al. | Semantic aware processing of user defined inference rules to manage home networks | |
CN111045757A (zh) | It资源运行状态的可视化展示系统和方法及存储介质 | |
Yongsiriwit | Modeling and mining business process variants in cloud environments |
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 |