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

SDN网络业务配置下发方法、装置及存储介质与流程

2022-02-22 03:11:54 来源:中国专利 TAG:

sdn网络业务配置下发方法、装置及存储介质
技术领域
1.本发明涉及通信技术领域,尤其涉及一种sdn网络业务配置下发方法、装置及存储介质。


背景技术:

2.近年来,软件定义网络(software defined network,sdn)技术被广泛应用于各个领域和各种用户实际网络中。sdn控制器作为网络的大脑,控制着各种网络配置片段的下发。通常情况下,用户会使用sdn控制器进行业务编排,sdn控制器会将业务编排转换成配置片段,下发到设备上,最终使得业务在多台设备上自动化部署。
3.然而,由于sdn控制器需要根据实际状态进行配置片段的下发,因此sdn控制器需要和所有设备进行交互,这个过程需要sdn控制器维护着和所有设备的连接关系,并控制各种业务对应的配置片段按序执行。在广域网分支应用场景下,一个大型企业对应的分支机构非常多,因此需要sdn控制器纳管数以万计的路由器。此时,sdn控制器管理并按序给这些路由器下发配置片段就会存在巨大的性能压力。而且,业务编排一般是异步的,业务编排的实际操作会被sdn控制器放到后台执行,一次业务编排会被sdn控制器拆分为多个配置片段下发任务,因此这些配置片段下发任务都会被放在后台作为异步任务执行。用户经常需要在做完一个业务编排后就需要紧接着进行下一个业务编排操作,如果此时用户发现刚刚编排的业务参数有误,需要对刚完成的业务做一次修改或删除,那么就会再生成一系列的配置片段下发任务到后台,并以此执行直至结束,那么这种情况下,快速执行的两次或多次业务编排中,后一次业务编排往往表达出用户的真实用途,那么此时如果所有任务都依次执行,就会让控制器做了多余操作,浪费控制器的性能。所以,sdn控制器随着用户的组网规模扩大,存在巨大的性能压力。
4.通过横向扩展sdn控制器的硬件能力,配合负载均衡的系统,虽然能实现系统性能的提升,但是一般来说sdn控制器的性能增长难以跟上组网规模的上升,因为组网规模的上升会导致配置片段呈o(n2)的增长趋势,因此横向扩展sdn系统的硬件难以满足持续的实际的性能要求。


技术实现要素:

5.有鉴于此,本发明提供一种sdn网络业务配置下发方法、装置及存储介质,用于解决sdn规模组网时配置下发性能的技术问题。
6.基于本发明实施例的一方面,本发明提供了一种sdn网络业务配置下发方法,所述方法应用于软件定义网络sdn控制器,包括:
7.基于业务类型生成所编排业务的配置片段;
8.调用配置片段层的配置下发接口,将配置片段下发给配置片段层;
9.配置片段层在收到业务编排层通过配置下发接口下发的配置片段下发任务后,根据设备标识把不同的配置片段下发任务写入对应设备的配置片段下发任务队列中;
10.当接收到配置获取请求时,根据配置获取请求携带的设备编号从对应的配置片段下发任务队列中取出对应设备的配置片段下发任务并发送给网络设备。
11.进一步地,所述配置片段下发任务包括的信息有:业务标识、设备标识、任务标识、任务类型、配置片段;
12.所述业务标识用于标识所编排的业务;
13.所述设备标识用于标识网络设备;
14.所述任务标识用于标识基于所编排的业务生成的配置片段下发任务;
15.所述任务类型用于标识配置片段下发任务的操作类型,包括创建类、更新类、删除类。
16.进一步地,所述方法还包括:当配置片段下发任务队列中有相同任务标识的配置片段下发任务时,对相同任务标识的配置片段下发任务进行合并处理。
17.进一步地,所述方法还包括:在对配置片段下发任务队列中的配置片段下发任务进行合并处理之前,首先为配置片段下发任务队列上锁;在完成合并处理之后,为所述配置片段下发任务队列解锁。
18.进一步地,所述合并处理方法为:
19.当新增的配置片段下发任务为更新类且当队列中已存在相同任务标识的创建类和更新类任务或仅存在相同任务标识的更新类任务时,保留已入队列的创建类配置片段下发任务,删除已入队列的更新类配置片段下发任务,将新增的配置片段下发任务入队列;
20.当新增的配置片段下发任务为删除类且队列中已存在相同任务标识的创建类和更新类任务时,删除已入队列的创建类和更新类任务,同时取消新增的未入队列配置片段下发任务:
21.当新增的配置片段下发任务为删除类且队列中已存在相同任务标识的更新类任务时,删除已入队列的更新类任务,将新增的未入队列的删除类配置片段下发任务入队列。
22.基于本发明实施例的另一方面,本发明还提供一种sdn网络业务配置下发装置,该装置应用于软件定义网络sdn控制器,包括:
23.业务编排层模块,用于基于业务类型生成所编排业务的配置片段,调用配置片段层模块的配置下发接口,将配置片段下发给配置片段层模块;
24.配置片段层模块,用于在收到业务编排层模块通过配置下发接口下发的配置片段下发任务后,根据设备标识把不同的配置片段下发任务写入对应设备的配置片段下发任务队列中;当接收到网络设备层模块发送的配置获取请求时,根据配置获取请求携带的设备编号从对应的配置片段下发任务队列中取出对应设备的配置片段下发任务并发送给网络设备。
25.进一步地,所述配置片段下发任务包括的信息有:业务标识、设备标识、任务标识、任务类型、配置片段;
26.所述业务标识用于标识所编排的业务;
27.所述设备标识用于标识网络设备;
28.所述任务标识用于标识基于所编排的业务生成的配置片段下发任务;
29.所述任务类型用于标识配置片段下发任务的操作类型,包括创建类、更新类、删除类。
30.进一步地,所述配置片段层模块还用于,当配置片段下发任务队列中有相同任务标识的配置片段下发任务时,对相同任务标识的配置片段下发任务进行合并处理。
31.进一步地,所述配置片段层模块还用于,在对配置片段下发任务队列中的配置片段下发任务进行合并处理之前,首先为配置片段下发任务队列上锁;在完成合并处理之后,为所述配置片段下发任务队列解锁。
32.本发明中,在sdn控制器中,对业务编排和配置下发分层处理,由网络设备层主动从位于控制器的配置片段层拉去下发给自己的配置片段,避免sdn控制器在负责业务编排的同时,在配置片段下发方面消耗过多资源,减轻sdn控制器的性能开销。
附图说明
33.为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本发明实施例的这些附图获得其他的附图。
34.图1为本发明一实施例提供的sdn网络中业务编排及配置下发的逻辑分层结构示意图;
35.图2为本发明一实施例提供的sdn网络业务配置下发方法的步骤逻辑示意图;
36.图3为本发明一实施例提供的一种sdn网络业务配置下发装置结构示意图;
37.图4为本发明一实施例提供的一种能够实现sdn网络业务配置下发步骤的电子设备结构示意图。
具体实施方式
38.在本发明实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明实施例。本发明实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本发明中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
39.应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
40.图1为本发明一实施例提供的sdn网络中业务编排及配置下发的逻辑分层结构示意图。sdn网络中实现配置下发的层级结构可分为三个层级,分别为:业务编排层、配置片段层和设备网络层,相应地,完成各层级配置下发相关功能的软件和/或硬件模块分别命名为业务编排层模块、配置片段层模块和设备网络层模块。
41.业务编排层:主要用以抽象业务模型,满足和保障各种各样的业务需求。sdn控制器会在后台把不同的业务抽象成针对多台设备的多个网络配置netconf协议的配置片段,提交给配置片段层。
42.配置片段层:按照设备维度维护配置片段任务列表,实现业务无关的配置下发功
能。
43.设备网络层:由所有的网络设备组成,每台设备会监听配置片段层针对于本设备的配置片段消息变化,并及时消费相关的配置片段。
44.图2为本发明一实施例提供的sdn网络业务配置下发方法的步骤逻辑示意图,在上述分层结构中,业务编排层模块和配置片段层模块位于sdn控制器中,网络设备层模块位于每一个接收配置的网络设备当中。一项业务的实现可能涉及到多个网络设备,业务编排层模块在完成业务编排后,会将业务相关配置拆分为多个配置片段,将相应的配置片段下发任务下发到与各设备对应的配置片段下发任务队列中。例如,业务1与设备a即devicea相关的配置片段有三个分别为config1、config2和config3,业务编排层模块将业务1与设备a相关的三个配置片段形成三个配置片段下发任务,然后将三个配置片段下发任务下发写入到设备a的配置片段下发任务队列当中。以下结合附图,分别对各层在配置下发过程中所执行的步骤流程进行详细描述:
45.一、业务编排层的处理步骤
46.步骤s10.基于业务类型生成所编排业务的配置片段;
47.用户在使用业务编排软件编排一个业务时,业务编排层模块会根据不同的业务类型,将业务分解并生成不同的netconf协议的配置片段,如:服务质量(quality of service,qos)配置片段、接入控制列表(access control list,acl)配置片段、路由策略(policy based route,pbr)配置片段等。
48.步骤s11.调用配置片段层的配置下发接口,将配置片段下发给配置片段层;
49.配置片段生成后,业务编排层模块会调用配置片段层模块提供的配置下发接口将配置片段形成配置片段下发任务下发给配置片段层模块,实现整体业务配置的下发,配置下发接口需要传递的参数主要:
50.1)业务标识:用于表征当前用户业务类型。业务标识可在sdn网络中提前规划好,如:运维业务、防火墙业务、通用客户端设备(universal customer premise equipment,ucpe)业务、其他一些增值业务等等。
51.2)设备标识:用于标识当前配置片段需要下发到哪一台设备。
52.3)任务标识:用于标识业务当前生成的配置片段下发任务的标识。
53.4)任务类型:用于表征当前配置片段下发任务的具体类型,主要分为创建类(create)/更新类(update)/删除类(delete)。
54.5)配置片段:即要下发的netconf配置片段。不同配置参数类型的netconf配置片段具有不同的netconf前缀头,netconf前缀头可包括但不限于:qos、acl、pbr、route-policy等等。
55.进一步地,为了使用户或网络管理平台了解业务配置片段的下发状态,一实施例中还包括如下业务状态反馈更新步骤:
56.业务编排层模块调用配置片段层模块的配置下发接口后,会把自身的已编排的业务状态置为相应的创建中/更新中/删除中的状态,并监听配置片段层模块是否消费了所下发的配置片段。当配置片段层中所有关于当前业务的所有配置片段都被消费完成后,业务编排层模块会更新当前业务状态为正常,否则更新为失败。
57.二、配置片段层的处理步骤
58.步骤s13.配置片段层模块在收到业务编排层模块通过配置下发接口下发的配置片段下发任务后,会根据任务中的设备标识把不同的配置片段的配置片段下发任务放到相应设备的配置片段下发任务队列(简称队列)中。
59.步骤s14.当配置片段下发任务队列中有相同任务标识的配置片段下发任务时,配置片段层模块会对相同任务标识的任务进行合并处理。
60.当配置片段没有被设备拉取消费时,sdn控制器针对相同业务的配置片段下发任务进行合并处理,提升sdn系统对于业务下发的及时性,降低sdn系统的性能消耗。
61.配置片段下发任务的合并主要的情况有如下几种:
62.a)当新增任务的类型为创建类即create类的配置片段下发任务时,可直接将该类配置片段下发任务入队列:
63.b)当新增任务的类型为更新类即update类的配置片段下发任务时,根据如下不同情形进行处理:
64.情形1:当队列中已存在相同任务标识create类任务时,可直接将update类配置片段下发任务入队列。
65.情形2:当队列中已存在相同任务标识的create类和update类任务时,保留已入队列的create类任务,从队列中删除已入队列的update类任务,然后将未入队列的update类任务入队列。
66.情形3:当队列中已存在相同任务标识的update类任务时,则直接从队列中删除已入队列的update类任务,然后将未入队列的update类任务入队列。
67.c)当新增任务的类型为删除类即delete类配置片段下发任务时,根据如下不同情形进行处理:
68.情形1:当队列中存在相同任务标识的create类和update类任务时,那么该任务的已入队列的create类、update类任务都还未执行,删除已入队列的create类和update类任务,同时取消未入队列的该任务的delete类任务:
69.情形2:当队列中只存相同任务标识的update类任务时,则删除已入队列的update类任务,将未入队列的delete类任务入队列:
70.为了提高配置任务下发的安全性,本发明一实施例中,如果配置片段层需要做配置片段下发任务队列的任务合并,配置片段层模块会首先为该设备标识的配置片段下发任务队列加锁,防止该设备在配置片段下发任务队列更新过程中对其进行消费。当配置片段层模块完成设备的配置片段下发任务队列的任务合并处理后,配置片段层模块会为该设备标识的配置片段下发任务队列解锁,以使该设备可以对队列中的配置任务进行消费。进一步地,为了提高实时性,还可在解锁后,向设备发送任务队列已准备好的消息,使设备及时读取任务队列进行任务消费。
71.步骤s15.配置片段层模块接收到网络设备层模块发送的配置获取请求时,根据配置获取请求携带的设备编号从对应的配置片段下发任务队列中取出该设备的配置片段下发任务,将任务发送给网络设备层模块。
72.三、网络设备层的处理步骤
73.步骤s16.网络设备层模块向配置片段层模块发送配置获取请求以获取所在网络设备的配置片段下发任务;其中,配置获取请求中携带设备标识。
74.步骤s17.当从配置片段层模块中的设备对应的配置片段下发任务队列中获取到配置片段下发任务时,并任务中的配置片段下发到网络设备上;
75.位于网络设备当中的网络设备层模块会监听sdn控制器中配置片段层模块中配置片段下发任务队列是否有本设备的配置片段下发任务,一旦监听有新的配置片段下发任务就绪,就会主动去队列中获取配置片段下发任务,将任务中的配置片段应用到该设备上,完成业务配置的下发。
76.进一步地,当网络设备层模块所在的设备消费了配置片段层模块中该设备的消息,那么配置片段层模块就会发送包括设备标识的配置片段下发完成的消息给业务编排层模块,各个业务编排层模块接收到配置片段被消费的消息后,根据消费结果置业务状态为成功或失败,最终完成多个业务的完整下发。
77.图3为本发明一实施例提供的一种sdn网络业务配置下发装置结构示意图,该装置300中的各功能模块可以采用软件、硬件或软硬件相结合的方式实现。
78.该装置300包括:
79.业务编排层模块301,用于基于业务类型生成所编排业务的配置片段,调用配置片段层模块的配置下发接口,将配置片段下发给配置片段层模块;
80.配置片段层模块302,用于在收到业务编排层模块通过配置下发接口下发的配置片段下发任务后,根据设备标识把不同的配置片段下发任务写入对应设备的配置片段下发任务队列中;当接收到网络设备层模块发送的配置获取请求时,根据配置获取请求携带的设备编号从对应的配置片段下发任务队列中取出对应设备的配置片段下发任务并发送给网络设备。
81.其中,配置片段层模块302中每个网络设备对应一个配置片段下发队列,业务编排模块301通过调用接口将配置片段下发任务放入设备标识对应的配置片段下发任务队列,网络设备从队列中拉去自己的配置片段下发任务。
82.配置片段下发任务包括的信息有:业务标识、设备标识、任务标识、任务类型、配置片段;所述业务标识用于标识所编排的业务;所述设备标识用于标识网络设备;所述任务标识用于标识基于所编排的业务生成的配置片段下发任务;所述任务类型用于标识配置片段下发任务的操作类型,包括创建类、更新类、删除类。
83.进一步地,配置片段层模块302还用于当配置片段下发任务队列中有相同任务标识的配置片段下发任务时,对相同任务标识的配置片段下发任务进行合并处理。
84.进一步地,配置片段层模块302还用于在对配置片段下发任务队列中的配置片段下发任务进行合并处理之前,首先为配置片段下发任务队列上锁;在完成合并处理之后,为所述配置片段下发任务队列解锁。
85.图4为本发明一实施例提供的一种能够实现sdn网络业务配置下发步骤的电子设备结构示意图,该设备400包括:诸如中央处理单元(cpu)的处理器410、通信总线420、通信接口440以及存储介质430。其中,处理器410与存储介质430可以通过通信总线420相互通信。存储介质430内存储有计算机程序,当该计算机程序被处理器410执行时即可实现本发明提供的sdn网络业务配置下发方法的各步骤的功能。
86.其中,存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。另外,存储
介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
87.应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本发明描述的过程的操作,除非本发明另外指示或以其他方式明显地与上下文矛盾。本发明描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
88.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本发明所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
89.以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献