配置保障方法及装置与流程

文档序号:27758210发布日期:2021-12-03 22:55阅读:124来源:国知局
配置保障方法及装置与流程

1.本技术属于通信领域,具体涉及一种配置保障方法及装置。


背景技术:

2.在软件定义网络(software defined network,sdn)中,sdn控制器将针对网络设备的预期规划转换为设备配置,并通过网络配置协议(network configuration protocol,netconf)下发配置到网络设备上,以使网络设备能够按照sdn控制器对其的预期规划进行工作。在此过程中,网络设备可能存在故障或者重启的情况,会导致网络设备运行配置不正确,因此,有对sdn控制器下发的配置进行保障的需求。
3.在现有技术中,sdn控制器每下发一条配置就在本端记录一条操作以及时间,网络设备端每接收一条配置也在本端记录一条操作以及时间,后续将两者进行crc比较,即可识别出哪些配置存在下发故障需要需重新下发,以此对配置进行保障。
4.然而,sdn控制器所下发的配置数量较多,因此,上述过程对网络设备的存储要求较高。


技术实现要素:

5.有鉴于此,本技术的目的在于提供一种配置保障方法及装置,可以在降低对网络设备的存储要求的基础上,对配置进行保障。
6.本技术的实施例是这样实现的:
7.第一方面,本技术实施例提供一种配置保障方法,应用于sdn控制器,所述方法包括:接收sdn业务配置请求中的待操作的配置信息;从数据库中读取与所述待操作的配置信息对应的目标设备的配置信息;其中,所述目标设备的配置信息为已下发到网络设备上的配置信息;比对所述待操作的配置信息与所述目标设备的配置信息,得到比对结果;从预先保存的规则中,查找与所述比对结果匹配的目标规则;根据所述目标规则包括的操作方式,执行对应的操作。
8.在上述过程中,不再需要网络设备每接收一条配置后在本端记录一条配置操作以及时间,因此,相较于现有技术而言,可以降低配置保障对网络设备的存储要求,具有推广性。
9.结合第一方面实施例,在一种可能的实施方式中,所述根据所述目标规则包括的操作方式,执行对应的操作,包括:在所述操作方式表征更新数据时,将所述数据库中与所述目标设备的配置信息对应的配置的来源更新为sdn;或者,在所述操作方式表征请求错误时,生成错误信息;或者,在所述操作方式表征执行下发操作时,根据与所述待操作的配置信息对应的操作类型,更新所述数据库,并通过netconf协议下发执行命令,所述执行命令表示执行所述待操作的配置信息。
10.结合第一方面实施例,在一种可能的实施方式中,根据与所述待操作的配置信息对应的操作类型,更新所述数据库,并通过netconf协议下发执行命令,包括:在所述操作类
型为新增配置时,将所述待操作的配置信息写入所述数据库,并将其配置类型设置为逻辑新增,将其来源设置为sdn;通过所述netconf协议下发执行命令,所述执行命令为新增配置;或者,在所述操作类型为删除配置时,将所述目标设备的配置信息的配置类型设置为逻辑删除;通过所述netconf协议下发执行命令,所述执行命令为删除配置。
11.结合第一方面实施例,在一种可能的实施方式中,在所述通过netconf协议下发执行命令之后,所述执行对应的操作,还包括:获取所述目标设备响应所述执行命令后所反馈的最新变更序号;在所述操作类型为所述新增配置时,将位于所述数据库中的所述待操作的配置信息的下发结果设置为下发成功,并将其变更序号修改为所述最新变更序号;在所述操作类型为所述删除配置时,将位于所述数据库中的所述目标设备的配置信息的变更序号修改为所述最新变更序号。
12.结合第一方面实施例,在一种可能的实施方式中,所述执行对应的操作,还包括:获取所述目标设备将所述待操作配置写入到所述目标设备的磁盘后所反馈的通知报文;在所述操作类型为所述新增配置时,将位于所述数据库中的所述待操作的配置信息的配置类型设置为物理新增;在所述操作类型为所述删除配置时,删除所述数据库中其配置类型为逻辑删除的配置信息。
13.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:获取与所述待操作的配置信息对应的操作类型;根据所述操作类型,确定规则类型;相应的,所述从预先保存的规则中,查找与所述比对结果匹配出的目标规则,包括:从预先保存的规则中筛选出符合所述规则类型的备选规则;从所述备选规则中,查找与所述比对结果匹配的目标规则。
14.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:在确定与本设备通信连接的网络设备中存在网络中断的网络设备时,读取所述存在网络中断的网络设备所存储的配置信息的变更序号;根据所述存在网络中断的网络设备所存储的配置信息的变更序号与该配置信息在所述数据库中所对应的变更序号,确定需要进行重发的配置信息,并对其进行下发。
15.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:在确定存在重启设备或者在所述数据库中存在变更序号丢失的配置信息时,读取网络设备中存储的配置信息;将读取出的配置信息与所述数据库中保存的对应网络设备的所有配置信息进行比对,得到比对结果;从预先保存的规则中,查找与所述比对结果匹配的目标规则;根据所述目标规则包括的操作方式,执行对应的操作。
16.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:响应获取到的表征解除sdn控制的控制指令;从所述数据库中获取其来源为sdn的配置信息,并针对存储有该配置信息的网络设备下发该配置信息的删除指令。
17.第二方面,本技术实施例提供一种配置保障装置,应用于sdn控制器,所述装置包括:接收模块、获取模块、比对模块、匹配模块以及执行模块。
18.接收模块,用于接收sdn业务配置请求中的待操作的配置信息;
19.获取模块,用于从数据库中读取与所述待操作的配置信息对应的目标设备的配置信息;其中,所述目标设备的配置信息为已下发到网络设备上的配置信息;
20.比对模块,用于比对所述待操作的配置信息与所述目标设备的配置信息,得到比对结果;
21.匹配模块,用于从预先保存的规则中,查找与所述比对结果匹配的目标规则;
22.执行模块,用于根据所述目标规则包括的操作方式,执行对应的操作。
23.结合第二方面实施例,在一种可能的实施方式中,所述执行模块,用于在所述操作方式表征更新数据时,将所述数据库中与所述目标设备的配置信息对应的配置的来源更新为sdn;或者,在所述操作方式表征请求错误时,生成错误信息;或者,在所述操作方式表征执行下发操作时,根据与所述待操作的配置信息对应的操作类型,更新所述数据库,并通过netconf协议下发执行命令,所述执行命令表示执行所述待操作的配置信息。
24.结合第二方面实施例,在一种可能的实施方式中,所述执行模块,用于在所述操作类型为新增配置时,将所述待操作的配置信息写入所述数据库,并将其配置类型设置为逻辑新增,将其来源设置为sdn;通过所述netconf协议下发执行命令,所述执行命令为新增配置;或者,在所述操作类型为删除配置时,将所述目标设备的配置信息的配置类型设置为逻辑删除;通过所述netconf协议下发执行命令,所述执行命令为删除配置。
25.结合第二方面实施例,在一种可能的实施方式中,所述执行模块,还用于获取所述目标网络设备响应所述执行命令后所反馈的最新变更序号;在所述操作类型为所述新增配置时,将位于所述数据库中的所述待操作的配置信息的下发结果设置为下发成功,并将其变更序号修改为所述最新变更序号;在所述操作类型为所述删除配置时,将位于所述数据库中的所述目标设备的配置信息的变更序号修改为所述最新变更序号。
26.结合第二方面实施例,在一种可能的实施方式中,所述执行模块,还用于获取所述目标设备将所述待操作配置写入到所述目标设备的磁盘后所反馈的通知报文;在所述操作类型为所述新增配置时,将位于所述数据库中的所述待操作的配置信息的配置类型设置为物理新增;在所述操作类型为所述删除配置时,删除所述数据库中其配置类型为逻辑删除的配置信息。
27.结合第二方面实施例,在一种可能的实施方式中,所述获取模块,还用于获取与所述待操作的配置信息对应的操作类型;根据所述操作类型,确定规则类型;
28.相应的,所述匹配模块,用于从预先保存的规则中筛选出符合所述规则类型的备选规则;从所述备选规则中,查找与所述比对结果匹配的目标规则。
29.结合第二方面实施例,在一种可能的实施方式中,所述装置还包括对账模块,用于在确定与本设备通信连接的网络设备中存在网络中断的网络设备时,读取所述存在网络中断的网络设备所存储的配置信息的变更序号;根据所述存在网络中断的网络设备所存储的配置信息的变更序号与该配置信息在所述数据库中所对应的变更序号,确定需要进行重发的配置信息,并对其进行下发。
30.结合第二方面实施例,在一种可能的实施方式中,所述装置还包括对账模块,用于在确定存在重启设备或者在所述数据库中存在变更序号丢失的配置信息时,读取网络设备中存储的配置信息;将读取出的配置信息与所述数据库中保存的对应网络设备的所有配置信息进行比对,得到比对结果;从预先保存的规则中,查找与所述比对结果匹配目标规则;根据所述目标规则包括的操作方式,执行对应的操作。
31.结合第二方面实施例,在一种可能的实施方式中,所述装置还包括删除模块,用于响应获取到的表征解除sdn控制的控制指令;从所述数据库中获取其来源为sdn的配置信息,并针对存储有该配置信息的网络设备下发该配置信息的删除指令。
32.第三方面,本技术实施例还提供一种网络设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
33.第四方面,本技术实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
34.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例而了解。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本技术的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本技术的主旨。
36.图1示出本技术实施例提供的一种配置保障方法的流程图。
37.图2示出本技术实施例提供的一种配置保障装置的结构框图。
38.图3示出本技术实施例提供的一种网络设备的结构示意图。
39.图标:100

网络设备;110

处理器;120

存储器;400

配置保障装置;410

接收模块;420

获取模块;430

比对模块;440

匹配模块;450

执行模块。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
41.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
42.再者,本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
43.此外,针对现有技术中的配置保障方案所存在的缺陷(对网络设备的存储要求较高)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文
中本技术实施例针对上述缺陷所提出的解决方案,都应该被认定为是申请人对本技术做出的贡献。
44.为了解决上述问题,本技术实施例提供一种配置保障方法及装置,可以在降低对网络设备的存储要求的基础上,对配置进行保障。
45.该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本技术实施例进行详细介绍。
46.下面将针对本技术所提供的配置保障方法进行介绍。
47.请参照图1,本技术实施例提供一种应用于sdn控制器的配置保障方法,可以包括以下步骤。
48.步骤s110:接收sdn业务配置请求中的待操作的配置信息。
49.在本技术实施例中,当sdn业务根据业务需求,存在对特定的配置进行操作的需求时,可以触发sdn业务配置请求。
50.在sdn业务配置请求内可以包括待操作的配置信息,用于表征sdn业务所请求的配置(即待操作的配置)的相关信息。
51.其中,在sdn业务配置请求内还可以包括本次配置保障的操作类型。一般而言,操作类型可以包括新增配置、删除配置中的一种。
52.当操作类型为新增配置时,说明用户期望将待操作的配置信息所对应的配置下发到对应的网络设备上。
53.当操作类型为删除配置时,说明用户期望从对应的网络设备上删除待操作的配置信息所指向的配置。
54.步骤s120:从数据库中读取与所述待操作的配置信息对应的目标设备的配置信息。
55.值得指出的是,在本技术实施例中,在执行步骤s120之前,每当sdn控制器首次发现某个网络设备或者某个网络设备首次注册到sdn控制器时,sdn控制器将会使用netconf协议读取首次发现的网络设备或者首次注册到sdn控制器上的网络设备上的所有配置及其配置信息、网络设备的启动时间以及与每个配置对应的变更序号。
56.其中,网络设备每次启动时,会记录其当前的启动时间,并用当前的启动时间覆盖既往的启动时间,因此,每个网络设备只存在一个启动时间。
57.与配置对应的变更序号,用于表征一次配置操作。当然,前后两次不同的操作所对应的变更序号不同,且后一次操作的变更序号大于前一次操作的变更序号。值得指出的是,若某次配置操作同时操作了多条配置,那么这多条被操作的配置均对应于同一个变更序号,且用该变更序号覆盖其原有的变更序号,因此,每个网络设备只存在一个变更序号。
58.一般而言,首次被sdn控制器发现的网络设备或者首次注册到sdn控制器上的网络设备上的所有配置是该网络设备在出厂时,就下发到其数据库内的基础配置。当然,在一些情况中,sdn控制器在此时所获取到的配置也有可能是由其他网络设备已经配置到该网络设备上的配置,此时,也默认该配置是网络设备的基础配置。
59.sdn控制器在获取到各个网络设备的基础配置后,可以对基础配置进行分类,并将分类后的基础配置保存到sdn控制器的数据库中。
60.当然,每条基础配置具有对应的配置信息,sdn控制器在每条基础配置的配置信息
的来源字段处,设置表征网络设备的字段(例如dev,当然也可以采用其他约定好的字符),用于标记该配置来自于网络设备。
61.至于sdn控制的分类策略,在一些实施方式中,sdn控制器可以按照网络设备的网络标识,将获取到的基础配置分类保存到sdn控制器的数据库中。
62.例如类别a所包括的配置为属于网络设备a上的基础配置,类别b所包括的配置为属于网络设备b上的基础配置。
63.此外,在一些实施方式中,针对从同一个网络设备上获取到的基础配置,sdn控制器还可以根据基础配置所对应的业务的不同,将从同一个网络设备上获取到的基础配置进一步分类保存到sdn控制器的数据库中。
64.例如类别a

bgp(border gateway protocol,边界网关协议)所包括的配置为属于网络设备a上的,用于配置bgp业务的基础配置,类别a

acl(access control list,访问控制列表)所包括的配置信息为属于网络设备a上的,用于配置acl业务的基础配置。
65.此外,由于配置一般具有层级关系,呈现出树状结构,为了便于减少后续进行比对操作时的比对复杂度,在一些实施方式中,sdn控制器还可以针对获取到的所有基础配置进行扁平化处理,将具有多个层级关系的基础配置拆分为只具有一个层级关系的基础配置,再将扁平化处理后得到的基础配置及其基础配置信息保存到sdn控制器的数据库中。
66.当然,在这种实施方式下,sdn控制器所获取到的待操作的配置信息所对应的配置也是经过扁平化处理后的配置。
67.例如sdn控制器获取到如下基础配置:#ip access

list standard mytest
68.#10remark da_lian_test
69.#20permit 36.48.3.0 0.0.0.255
70.#30deny 36.48.0.0 0.0.255.255
71.上述基础配置是一个具有两级结构的acl配置,包括acl以及ace(access control entry,访问控制项)。
72.其中,acl的信息包括:ip access

list standard mytest和10remark da_lian_test。
73.经过扁平化处理后,上述acl配置被扁平化为两个表格存储于sdn控制器的数据库中,分别如表1以及表2所示。
74.表1:数据库表
75.acl名称类型是否扩展描述来源变更序号mytestipstandardda_lian_testdev17623510
76.表1:数据库表
77.acl名称ace序号类型规则来源变更序号mytest20permit36.48.3.00.0.0.255dev17623510mytest30deny36.48.0.00.0.255.255dev17623510
78.当然,值得指出的是,以上表格仅为举例,可以理解,不同的配置在被扁平化后,其所得到的表格所包括的字段可能不同,可以根据实际情况增减相应的字段。
79.在经过上述处理后,即可在sdn控制器的数据库中保存已下发到网络设备的数据库内的基础配置及其配置信息。配置信息用于描述每条配置的具体情况。
80.后续,在执行步骤s120时,即可以根据当前所获取到的待操作的配置信息,从sdn控制器的数据库中读取与待操作的配置信息对应的目标设备的配置信息。目标设备是指待操作的配置信息应该操作的网络设备。
81.其中,当操作类型为新增配置时,说明用户期望将待操作的配置信息所对应的配置下发到对应的目标设备上。在正常情况下,在该对应的目标设备的数据库中,不应该存在与待操作的配置信息指向同一条配置的目标设备的配置信息,因此,在正常情况下,此时在目标设备上所读取到的与待操作的配置信息对应的配置信息为空。然而可能存在网络故障的情况,导致在对应的目标设备的数据库中,实际存在与待操作的配置信息所指向的配置,相应的,此时获取到的目标设备的配置信息不为空。
82.当操作类型为删除配置时,说明用户期望从对应的目标设备上删除待操作的配置信息所指向的配置。在正常情况下,在该对应的目标设备上应该存在与待操作的配置信息相同的配置信息,因此,在正常情况下,此时在目标设备上所读取到的与待操作的配置信息对应的配置信息应该与待操作的配置信息基本相同。然而可能存在网络故障的情况,导致在对应的目标设备的数据库中,实际不存在与待操作的配置信息所指向的配置,相应的,此时获取到的目标设备的配置信息为空。
83.步骤s130:比对所述待操作的配置信息与所述目标设备的配置信息,得到比对结果。
84.其中,比对的过程,即将待操作的配置信息与目标设备的配置信息的相应字段进行两两比对的过程,从而输出比对结果。
85.在本技术实施例中,比对结果用于表征一系列的限制条件。
86.例如,在一举例中,比对结果为:在sdn控制器的数据库中存在该配置,在目标设备的数据库中不存在该配置。
87.步骤s140:从预先保存的规则中,查找与所述比对结果匹配的目标规则。
88.在本技术实施例中,可以预先动态加载xml定义的大量规则,以尽可能地应对后续可能出现的所有比对结果所对应的比对结果,进而使得每个比对结果都能匹配到对应的目标规则。
89.前文提及,在配置保障请求内还可以包括本次配置保障的操作类型。在一些实施方式中,在执行步骤s140之前,可以根据操作类型,确定规则类型。
90.其中,操作类型可以包括新增配置、删除配置,相应的,规则类型可以包括与新增配置操作类型对应的新增规则,与删除配置操作类型对应的删除规则等。
91.在这种实施方式下,sdn控制器的数据库内的每条规则都具有相应的规则类型,当后续在执行步骤s140时,可以从符合确定出的规则类型的所有规则中,查找与比对结果匹配的目标规则。
92.例如当前的操作类型为新增配置,那么在匹配规则时,可以从新增规则中,查找与比对结果匹配的目标规则。
93.下面将针对匹配的过程进行介绍。
94.针对每条规则而言,可以包括多个比对结果字段以及操作方式字段。
95.例如在一举例中,规则为:
[0096][0097]
其中,rule代表每一条规则;
[0098]
dev代表配置在网络设备的数据库中是否存在;
[0099]
db代表配置在sdn控制器的数据库是否存在;
[0100]
src.dev代表配置的来源是否来自网络设备;
[0101]
src.biz代表配置的来源是否来自业务(sdn);
[0102]
status代表配置当前的下发状态,例如可以包括:逻辑新增(例如用字段logic_add来表示)、逻辑删除(例如用字段logic_delete来表示)、物理新增等(例如用字段py_add来表示)。
[0103]
option代表该规则所指向的操作方式。
[0104]
在上述举例中,规则中的dev、db、src.dev、src.biz以及status均为规则的条件字段,option为规则的操作方式字段,用于表示满足规则的条件字段的比对结果应该按照规则的操作方式字段所指向的操作方式来处理后续流程。
[0105]
其中,若某个比对结果满足某条规则的所有条件字段,则该规则即为与该比对结果匹配的目标规则。
[0106]
步骤s150:根据所述目标规则包括的操作方式,执行对应的操作。
[0107]
前文提及,在确定出目标规则后,需要按照目标规则的操作方式字段所指向的操作方式来处理后续流程。
[0108]
具体的,操作方式大致可以分为:更新数据、请求错误以及执行操作三大类。
[0109]
一实施例a中,在目标规则的操作方式表征更新数据时,表征sdn控制器需要向目标设备下发与待操作的配置信息对应的配置,但是通过比对,发现在sdn控制器的数据库内已经存在该配置,且该配置的来源为网络设备(例如dev),此时说明该配置已经成功下发并写入到目标设备的startup(目标设备中用于存储配置文件的区域,位于磁盘中)。
[0110]
在这种情况下,sdn控制器可以将sdn控制器的数据库中,与目标设备的配置信息对应的配置的来源更新为表征sdn的字段,例如“sdn”,表征该配置是由sdn下发给目标设备的。当然,也可以将其来源更新为其他约定好的用于表征sdn的字符,此处不再赘述。
[0111]
一实施例b中,在目标规则的操作方式表征请求错误时,表征sdn控制器需要删除目标设备上的某条配置,但是通过比对,发现在sdn控制器的数据库内已经不存在该配置,此时说明该配置已经从目标设备中删除。
[0112]
在这种情况下,sdn控制器生成错误信息。
[0113]
一实施例c中,在目标规则的操作方式表征执行操作时,需要进一步根据与待操作的配置信息对应的操作类型,来确定具体如何更新sdn控制器的数据库,并通过netconf协议下发执行命令到目标设备。其中,执行命令表示执行待操作的配置信息。
[0114]
具体的,在一种实施方式中,在操作类型为新增配置时,可以将待操作的配置信息写入sdn控制器的数据库,并将其配置类型设置为表征逻辑新增(例如logic_add)的字段,将其来源设置为表征sdn的字段(例如sdn)。然后通过netconf协议向待操作的配置信息所对应的目标设备下发执行命令。该执行命令为新增配置,表示需要增加待操作的配置信息。
[0115]
其中,逻辑新增表示该配置应该被新增,并不表示该配置实际已被新增。
[0116]
在另一种实施方式中,在操作类型为删除配置时,可以将目标设备的配置信息的配置类型设置为表征逻辑删除(例如logic_delete)的字段。然后通过netconf协议向待操作的配置信息所对应的目标设备下发执行命令。该执行命令为删除配置,表示删除目标配配置信息。
[0117]
其中,逻辑删除表示该配置应该被删除,并不表示该配置实际已被删除。
[0118]
sdn控制器在通过netconf协议下发执行命令之后,若对应的目标设备接收到该执行命令,则会执行相应的动作。例如当sdn控制器下发的执行命令为新增配置时,目标设备会在本地的数据库的running config(网络设备中用于存储配置文件的区域,位于内存中)数据库内新增与待操作的配置信息及其对应的配置;当sdn控制器下发的执行命令为删除配置时,目标备会在自身的数据库的running config数据库内删除目标设备的配置信息及其对应的配置。
[0119]
前文提及,任何引起配置发生变动的配置操作都会引发配置的变更序号进行更新。目标设备在响应执行命令之后,会将当前的最新变更序号通过netconf协议反馈给sdn控制器。
[0120]
sdn控制器在获取到当前的最新变更序号后,若其确定操作类型为新增配置,那么sdn控制器将位于sdn控制器的数据库中的待操作的配置信息的下发结果字段设置为表征下发成功的字段(例如用字段success来表示),并将其所对应的配置的变更序号修改为当前的最新变更序号。
[0121]
当然,在一些实施方式中,若sdn控制器在获取到当前的最新变更序号之前,检测到与目标设备之间的netconf连接故障,那么sdn控制器可以将位于sdn控制器的数据库中的待操作的配置信息的下发结果字段设置为表征下发失败的字段(例如用字段fail来表示)。
[0122]
sdn控制器在获取到当前的最新变更序号后,若其在确定操作类型为删除配置时,那么sdn控制器将位于sdn控制器的数据库中的目标设备的配置信息的变更序号修改为当前的最新变更序号。
[0123]
目标设备在基于sdn控制器下发的执行命令来对其running config数据库进行相应的操作后,若目标设备检测到本设备在在预设时间周期内没有出现配置变更,那么目标设备可以将running config数据库的配置写入到startup配置文件,实现配置落盘。
[0124]
当配置写入成功后,目标设备可以基于netconf协议向sdn控制器反馈表示配置写入并保存成功的通知报文(notification)。
[0125]
sdn控制器获取到该通知报文后,若确定操作类型为新增配置时,将位于sdn控制
器的数据库中内的待操作的配置信息的配置类型设置为表征物理新增的字段(例如py

add);在确定操作类型为删除配置时,sdn控制器删除sdn控制器的数据库中其配置类型为表征逻辑删除的字段(例如logic_delete)的配置信息及其配置。
[0126]
此外,在一些实施方式中,本技术实施例所提供的配置保障方案还可以包括对账流程,用于在出现故障时,将sdn控制器已下发给网络设备的配置与网络设备上已保存的配置进行对账。
[0127]
可选的,sdn控制器可以在确定与本设备通信连接的网络设备中存在网络中断但已修复中断的网络设备时,读取存在网络中断的网络设备的running config数据库中所存储的配置信息的变更序号。然后根据存在网络中断的网络设备的running config数据库中所存储的配置信息的变更序号与该配置信息在sdn控制器数据库中所对应的变更序号,确定需要进行重发的配置信息,并对其进行下发。此过程为快速对账。
[0128]
其中,若sdn控制器数据库中所对应的变更序号大于网络设备的running config数据库中的变更序号,则说明网络设备遗失了配置,需要重新下发该配置;若sdn控制器数据库中存在变更序号为空的配置信息,说明该配置信息对应的配置在下发过程存在故障,需要重新下发。
[0129]
此外,若sdn控制器数据库中存在其配置信息的下发结果字段为失败(例如fail)的配置信息,则说明该配置信息对应的配置下发失败,也需要重新下发。
[0130]
当然,针对上述重新下发后的配置,与其对应的配置信息中的变更信号需要相应进行更新。
[0131]
可选的,sdn控制器可以在确定存在重启设备或者在sdn控制器的数据库中存在变更序号丢失的配置信息时,读取网络设备中存储的配置信息;然后将读取出的配置信息与数据库中保存的对应网络设备的所有配置信息进行比对,得到比对结果;并重复上述步骤s140

s150,实现全量对账。
[0132]
此外,在一些实施方式中,用户还可以触发表征解除sdn控制器的控制指令,该控制指令用于删除控制指令所指向的网络设备上的配置。
[0133]
sdn控制器响应该控制指令后,从sdn控制器的数据库中获取到其来源为sdn的配置信息,并针对存储有该配置信息的网络设备下发针对该配置信息的删除指令,以便存储有该配置信息的网络设备可以响应删除指令,删除sdn控制器所下发的配置,完成对sdn控制器配置的清理。
[0134]
本技术实施例所提供的一种配置保障方法,sdn控制器预先获取网络设备上的基础配置并保存到sdn控制器的数据库内。后续,sdn控制器有针对目标设备进行配置操作的需求时,接收待操作的配置信息,然后从sdn控制器的数据库内读取出与待操作的配置信息对应的目标设备的配置信息来与之进行比对,进而确定对应的操作来对配置进行保障。
[0135]
在上述过程中,不再需要网络设备每接收一条配置后在本端记录一条配置操作以及时间,因此,相较于现有技术而言,可以降低配置保障对网络设备的存储要求,具有推广性。
[0136]
如图2所示,本技术实施例还提供一种配置保障装置400,应用于sdn控制器,配置保障装置400可以包括:接收模块410、获取模块420、比对模块430、匹配模块440以及执行模块450。
[0137]
接收模块410,用于接收sdn业务配置请求中的待操作的配置信息;
[0138]
获取模块420,用于从数据库中读取与所述待操作的配置信息对应的目标设备的配置信息;其中,所述目标设备的配置信息为已下发到网络设备上的配置信息;
[0139]
比对模块430,用于比对所述待操作的配置信息与所述目标设备的配置信息,得到比对结果;
[0140]
匹配模块440,用于从预先保存的规则中,查找与所述比对结果匹配的目标规则;
[0141]
执行模块450,用于根据所述目标规则包括的操作方式,执行对应的操作。
[0142]
在一种可能的实施方式中,所述执行模块450,用于在所述操作方式表征更新数据时,将所述数据库中与所述目标设备的配置信息对应的配置的来源更新为sdn;或者,在所述操作方式表征请求错误时,生成错误信息;或者,在所述操作方式表征执行下发操作时,根据与所述待操作的配置信息对应的操作类型,更新所述数据库,并通过netconf协议下发执行命令,所述执行命令表示执行所述待操作的配置信息。
[0143]
在一种可能的实施方式中,所述执行模块450,用于在所述操作类型为新增配置时,将所述待操作的配置信息写入所述数据库,并将其配置类型设置为逻辑新增,将其来源设置为sdn;通过所述netconf协议下发执行命令,所述执行命令为新增配置;或者,在所述操作类型为删除配置时,将所述目标设备的配置信息的配置类型设置为逻辑删除;通过所述netconf协议下发执行命令,所述执行命令为删除配置。
[0144]
在一种可能的实施方式中,所述执行模块450,还用于获取所述目标网络设备响应所述执行命令后所反馈的最新变更序号;在所述操作类型为所述新增配置时,将位于所述数据库中的所述待操作的配置信息的下发结果设置为下发成功,并将其变更序号修改为所述最新变更序号;在所述操作类型为所述删除配置时,将位于所述数据库中的所述目标设备的配置信息的变更序号修改为所述最新变更序号。
[0145]
在一种可能的实施方式中,所述执行模块450,还用于获取所述目标设备将所述待操作配置写入到所述目标设备的磁盘后所反馈的通知报文;在所述操作类型为所述新增配置时,将位于所述数据库中的所述待操作的配置信息的配置类型设置为物理新增;在所述操作类型为所述删除配置时,删除所述数据库中其配置类型为逻辑删除的配置信息。
[0146]
在一种可能的实施方式中,所述获取模块420,还用于获取与所述待操作的配置信息对应的操作类型;根据所述操作类型,确定规则类型;
[0147]
相应的,所述匹配模块440,用于从预先保存的规则中筛选出符合所述规则类型的备选规则;从所述备选规则中,查找与所述比对结果匹配的目标规则。
[0148]
在一种可能的实施方式中,所述装置还包括对账模块,用于在确定与本设备通信连接的网络设备中存在网络中断的网络设备时,读取所述存在网络中断的网络设备所存储的配置信息的变更序号;根据所述存在网络中断的网络设备所存储的配置信息的变更序号与该配置信息在所述数据库中所对应的变更序号,确定需要进行重发的配置信息,并对其进行下发。
[0149]
在一种可能的实施方式中,所述装置还包括对账模块,用于在确定存在重启设备或者在所述数据库中存在变更序号丢失的配置信息时,读取网络设备中存储的配置信息;将读取出的配置信息与所述数据库中保存的对应网络设备的所有配置信息进行比对,得到比对结果;从预先保存的规则中,查找与所述比对结果匹配的目标规则;根据所述目标规则
包括的操作方式,执行对应的操作。
[0150]
在一种可能的实施方式中,所述装置还包括删除模块,用于响应获取到的表征解除sdn控制的控制指令;从所述数据库中获取其来源为sdn的配置信息,并针对存储有该配置信息的网络设备下发该配置信息的删除指令。
[0151]
本技术实施例所提供的配置保障装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0152]
此外,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的配置保障方法。
[0153]
此外,请参照图3,本技术实施例还提供一种用于实现本技术实施例的配置保障方法、装置的网络设备100,该网络设备为sdn控制器。
[0154]
其中,网络设备100可以包括:处理器110、存储器120。
[0155]
应当注意,图3所示的网络设备100的组件和结构只是示例性的,而非限制性的,根据需要,网络设备100也可以具有其他组件和结构。
[0156]
处理器110、存储器120以及其他可能出现于网络设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
[0157]
存储器120用于存储程序,例如存储有前文出现的配置保障方法对应的程序或者前文出现的配置保障装置。可选的,当存储器120内存储有配置保障装置时,配置保障装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
[0158]
可选的,配置保障装置所包括软件功能模块也可以固化在网络设备100的操作系统(operating system,os)中。
[0159]
处理器110用于执行存储器120中存储的可执行模块,例如配置保障装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:接收sdn业务配置请求中的待操作的配置信息;从数据库中读取与所述待操作的配置信息对应的目标设备的配置信息;其中,所述目标设备的配置信息为已下发到网络设备上的配置信息;比对所述待操作的配置信息与所述目标设备的配置信息,得到比对结果;从预先保存的规则中,查找与所述比对结果匹配的目标规则;根据所述目标规则包括的操作方式,执行对应的操作。
[0160]
当然,本技术任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
[0161]
综上所述,本发明实施例提出的配置保障方法及装置,sdn控制器预先获取网络设备上的基础配置并保存到sdn控制器的数据库内。后续,sdn控制器有针对目标设备进行配置操作的需求时,接收待操作的配置信息,然后从sdn控制器的数据库内读取出与待操作的配置信息对应的目标设备的配置信息来与之进行比对,进而确定对应的操作来对配置进行保障。
[0162]
在上述过程中,不再需要网络设备每接收一条配置后在本端记录一条配置操作以及时间,因此,相较于现有技术而言,可以降低配置保障对网络设备的存储要求,具有推广性。
[0163]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0164]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0165]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0166]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0167]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1