维护配置数据结构的方法和装置与流程

文档序号:13081382阅读:277来源:国知局
维护配置数据结构的方法和装置与流程

本公开涉及一种维护表示设备的配置的配置数据结构的方法和装置,该设备例如可以是,但不必须地,数据传输网络的网络元件。而且,本公开涉及一种维护配置数据结构的计算机程序以及涉及一种网络元件。



背景技术:

结合许多设备,诸如数据传输网络的网络元件,存在维护表示设备的更新配置的配置数据结构的需要。在设备为网络元件的情况下,配置数据结构可以表示例如整形器、调度器、出站端口、进站端口、转发表、接入控制列表、路由协议参数、边界网关协议“bgp”对端、软件实现的过程、和/或网络元件的其他物理实体和/或非物质实体。网络元件可以例如是互联网协议“ip”路由器、以太网交换机、多协议标签交换“mpls”交换机、用于软件定义的网络“sdn”的网络元件、异步传输模式“atm”交换机、和/或分组光学交换机。

维护上述配置数据结构的传统方式是将表示配置变化的增量变化描述符添加到配置数据结构,并且响应于更新配置数据结构的需要将整个配置数据结构更新为对应于主导配置。更新配置数据结构的需要可能例如在变化描述符的量达到预定限度,即变化描述符的列表变得长而不方便时发生。可以通过请求设备的功能实体来报告其配置以及基于功能实体所报告的信息来重新构建配置数据结构而更新配置数据结构。与该方法有关的不便之处在于在上述更新过程期间不能对配置做出变化,因此在更新过程期间配置必须被冻结。

维护上述配置数据结构的另一已知方式是维护设备的模型使得模型的配置始终是设备配置的精确复制。在此情况下,可以借助于模型离线构建与所需时刻相对应的辅助配置数据结构,并且可以基于辅助配置数据结构以及与在上述时刻之后对配置做出的变化有关的变化描述符来更新配置数据结构。与该方法有关的不便在于维护模型消耗设备的资源,因为在许多情况下,由于设备的功能实体必须以足够详细的方式进行建模,从而模型非常复杂。



技术实现要素:

下面呈现了一个简化总结以便提供对各种发明实施例的一些方面的基本理解。该总结不是本发明的扩展概览。它既不希望标识本发明的关键或重要元素,也不希望描绘本发明的范围。下面的总结仅仅以简化形式呈现了发明的一些概念,作为对本发明的示例实施例的更加详细的描述的前序。

根据本发明,提供了一种维护表示例如网络元件的设备的配置的配置数据结构的新装置。

根据本发明的装置包括处理系统,用于运行操作过程,包括对设备的配置做出变化,还用于向配置数据结构添加指示该变化的变化描述符。所述处理系统被配置为:

-响应于更新配置数据结构的需要,与操作过程并行地运行辅助过程,以及

-通过将配置数据结构的与更新时刻相对应的部分替换为由辅助过程构建的辅助配置数据结构来更新配置数据结构,所更新的配置数据结构包括辅助配置数据结构和指示在更新时刻之后做出的变化的变化描述符。

上述辅助过程包括:

-请求设备的一个或多个功能实体以报告在更新时刻主导的功能实体的配置,在更新时刻对配置做出的每个变化都由操作过程来实现,使得定义在更新时刻主导的配置的数据保持对于辅助过程可用,以及

-至少部分地基于由功能实体报告的信息来构建辅助配置数据结构。

因为辅助过程与上述操作过程并行地运行,所以当更新完成时没有必要冻结配置。另一方面,没有必要维护设备的功能实体的详细模型,因为辅助过程的初始状态可以例如是操作过程的状态的快照副本。

根据本发明,还提供一种新的网络元件,其能够例如是互联网协议“ip”路由器、以太网交换机、多协议标签交换“mpls”交换机、用于软件定义的网络“sdn”的网络元件、分组光学交换机、和/或异步传输模式“atm”交换机。根据本发明的网络元件包括:

-一个或多个功能实体,其用于控制和执行在网络元件和数据传输网络之间的数据传输,以及

-处理系统,其通信地连接到所述一个或多个功能实体,

网络元件的处理系统被配置为构成根据本发明的维护表示网络元件的配置的配置数据结构的装置

根据本发明,还提供一种维护表示设备的配置的配置数据结构的方法。根据本发明的方法包括:

-运行操作过程,包括对设备的配置做出变化,以及向配置数据结构添加表示所述变化的变化描述符,

-响应于更新配置数据结构的需要,与操作过程并行地运行上述辅助过程,以及

-通过将配置数据结构的与更新时刻相对应的部分替换为由辅助过程构建的辅助配置数据结构来更新配置数据结构。

根据本发明,还提供一种维护表示设备的配置的配置数据结构的新计算机程序。根据本发明的计算机程序包括计算机可执行指令,用于控制可编程处理系统以:

-运行操作过程,包括对设备的配置做出变化,以及向配置数据结构添加表示所述变化的变化描述符

-响应于更新配置数据结构的需要,与操作过程并行地运行上述辅助过程,以及

-通过将配置数据结构的与更新时刻相对应的部分替换为由辅助过程构建的辅助配置数据结构,更新配置数据结构。

根据本发明,还提供一种新的计算机程序产品。所述计算机程序产品包括利用根据本发明的计算机程序来编码的非易失性计算机可读介质,例如,压缩盘“cd”。

在所附从属权利要求中描述了本发明的多个示例性和非限定性实施例。

通过下面的特定示例实施例,当结合附图阅读时,将最好地理解关于构造和关于操作方法的本发明的各种示例性和非限定性实施例及其附加目标与优点。

动词“包括(tocomprise)”和“包含(toinclude)”在本文档中用作开放限定,其不排除也不要求未提及特征的存在。所附从属权利要求中所述的特征可以自由互相组合,除非另有明确陈述。而且,应该理解的是,在本文档通篇文字中,“一(a)”或“一个(an)”,即单数形式的使用,不排除多数。

附图说明

下面结合附图来更详细解释本发明的示例性和非限定性实施例及其优点,在附图中:

图1图示说明示例性配置数据结构的更新过程,该更新过程是根据本发明的示例性和非限定性实施例的方法的一部分,

图2示出根据本发明的示例性和非限定性实施例的用于维护配置数据结构的方法的流程图,以及

图3示出包括根据本发明的示例性和非限定性实施例的用于维护网络元件的配置数据结构的装置的网络元件的示意图示。

具体实施方式

图1图示说明示例性配置数据结构101的更新过程。配置数据结构101表示设备的一个或多个功能实体的最新配置,该设备例如可以是,但不必须地,数据传输网络的网络元件。每个功能实体可以是物理实体或者诸如软件实现的过程的非物质实体。在图1中,不同情形下的设备的配置用参考标记105和105a标注的块来描绘。例如,配置105是“c2,c3,c4,c5”。配置数据结构101包括基本部分104以及一个或多个变化描述符102,其表示配置相对于与基本部分相对应的配置如何变化。由变化描述符102构成的数据实体有时被称为“日志(journal)”或“德尔塔记录(deltalog)”。每个变化描述符表示对配置做出的变化。例如,配置105“c2,c3,c4,c5”由基本部分104和变化描述符102来表示,使得基本部分104对应于配置“c1,c2,c3,c4”,变化描述符+c5表示配置项c5被添加至由基本部分104所表示的配置,而变化描述符-c1表示配置项c1被从由基本部分104表示的配置中去除。

应该注意到,上述示例是强烈简化的情况,仅仅用来说明配置105、基本部分104和变化描述符102之间的原理性关系。上面呈现的简化示例情况可以导致这样的印象,即修改基本部分很简单,所以修改后的基本部分单独对应于主导配置,但是实际上,仅仅基于主导基本部分和变化描述符来修改基本部分使得修改后的基本部分单独对应于主导配置是麻烦的甚至是不可能的。因此,通常需要请求功能实体报告主导配置以便能够更新配置数据结构101使得基本部分被修改为对应于更早的基本部分和变化描述符。以上述方式更新配置数据结构101的需要可能在例如变化描述符102的量达到预定限度,即变化描述符102的列表变得长而不方便时发生。

当需要以上述方式更新配置数据结构101时,可以通过形成操作过程的瞬时状态的副本114或者足够的部分副本来启动辅助过程,如果需要,该操作过程修改配置105且将对应的变化描述符添加到配置数据结构101。在许多情况下,操作过程例如被网络管理系统“nms”控制。操作过程实际被分叉为两个分支,使得分支中的一个代表由例如网络管理系统所控制的操作过程的继续,而分支中的另一个代表辅助过程。在图1中,操作过程的分叉用箭头111来描绘,操作过程在分叉动作之后的进展用箭头110来描绘。在图1中所图示的示例情况下,操作过程包括变化配置105,使得根据例如从网络管理系统接收到的控制消息来添加配置项c6以及去除配置项c3。相应地,变化描述符+c6和-c3被添加到变化描述符的列表。变化的配置用参考标记105a来标注,变化的配置数据结构用参考标记101a来标注,而变化的变化描述符的列表用参考标记102a来标注。

辅助过程的开始点是操作过程的瞬时状态的副本114,或者足够部分副本。辅助过程包括请求设备的功能实体报告在更新时刻——即在对应于副本114的时刻——它们的主导配置。辅助过程包括至少部分地基于由功能实体报告的信息来构建辅助配置数据结构101b。在图1中所图示的示例性情况下,辅助配置数据结构101b包括对应于基本部分104的基本部分104a和变化描述符102。在图1中,构建辅助配置数据结构101b用箭头112来描绘。通过将对应于更新时刻的部分103替换为辅助配置数据结构101b来更新配置数据结构101a,其是操作过程中的配置数据结构的最新的形式。在图1中,更新配置数据结构101a用箭头113和115来描绘。更新后的配置数据结构101c包括辅助配置数据结构101b的基本部分104a和指示在更新时刻之后做出的变化的变化描述符+c6和-c3。在配置数据结构被更新之后,辅助过程终止。辅助过程的终止用箭头116来描绘。

图2示出根据本发明的示例性和非限定性实施例的用于维护诸如网络元件的设备的配置数据结构的方法的流程图。该方法包括运行操作过程,该操作过程包括对设备的配置做出201所需变化以及向配置数据结构添加202指示该变化的变化描述符。该方法进一步包括:

-响应于更新配置数据结构的需要,与操作过程并行地运行辅助过程,以及

-通过将配置数据结构的与更新时刻相对应的部分替换为由辅助过程构建的辅助配置数据结构来更新205配置数据结构,所更新的配置数据结构包括辅助配置数据结构和指示在更新时刻之后做出的变化的变化描述符。

辅助过程包括下面动作:

-动作203:请求设备的一个或多个功能实体以报告在更新时刻主导的功能实体的配置,以及

-动作204:至少部分地基于由功能实体报告的信息来构建辅助配置数据结构。

根据本发明的示例性和非限定性实施例的方法包括响应于变化描述符的量超过预先确定的限度的情形——即变化描述符的列表已变得长而不便的情形,启动辅助过程。

如图1中所图示,辅助过程被初始化,使得用于辅助过程中且至少定义在更新时刻主导的功能实体的配置的数据等于用于操作过程中的对应数据。

在根据本发明的示例性和非限定性实施例的方法中,辅助过程被初始化,使得该方法包括从设备的第一存储区域向设备的第二存储区域复制至少定义在上述更新时刻主导的功能实体的配置的数据。由第一存储区域包含的数据被用在操作过程中,且操作过程所需的变化被写入到这些第一存储区域中。相应地,由第二存储区域包含的数据被用在辅助过程中,且辅助过程所需要的变化被写入这些第二存储区域中。辅助过程所需的整个数据从上述第一存储区域复制到第二存储区域的方法的固有缺点在于辅助过程的所需存储容量大约与操作过程所需的存储容量相同。

在根据本发明的示例性和非限定性实施例的方法中,辅助过程被初始化以使用由操作过程使用且由设备的第一存储区域所包含的相同数据。在操作和辅助过程中的一个需要第一形式的给定数据段而操作和辅助过程中的另一个需要不同于第一形式的第二形式的该数据段的情况下,该方法包括在第一存储区域中的一个中存储第一形式的数据段以及在不同于第一存储区域的第二存储区域中的一个中存储第二形式的数据段。第一形式的数据段可以是例如原始数据段而第二形式的数据段可以是该数据段的修改,或者第一形式的数据段可以是数据段的修改而第二形式的数据段可以是原始数据段,或者第一和第二形式可以是数据段的相互不同的修改。在此方法中,操作过程被分叉为相互并行的操作和辅助过程通常不需要较大的存储容量,因为仅当相互并行的操作和辅助过程需要相互不同形式的数据段才需要第二存储区域。该原理被称为写时复制(copy-on-write)“cow”方法。

上述cow方法可以在虚拟存储空间中实现,使得互相并行的操作和辅助过程指的是相同物理存储区域,并且操作系统“os”可以使用存储管理单元“mmu”,用于在操作和辅助过程之间出现差异时将写入动作引导到不同物理存储区域。在此情况下,该方法包括控制操作过程以使用第一虚拟存储空间以及控制辅助过程以使用第二虚拟存储空间。第一和第二虚拟存储空间这两者在更新时刻都被映射到包含至少定义在更新时刻主导的功能实体的配置的数据的第一存储区域。在操作和辅助过程中的一个需要第一形式的给定数据段而操作和辅助过程中的另一个需要第二形式的该数据段的情况下,该方法包括变化i)第一虚拟存储空间的虚拟存储区域和ii)第二虚拟存储空间的虚拟存储区域中的一个从第一存储区域中的一个到第二存储区域中的一个的映射。换句话说,至少在操作和辅助过程根据原始映射需要与这些虚拟存储区域有关的互相不同形式的数据段时,第一和第二虚拟存储空间的相互对应的虚拟存储区域的映射被分叉。

根据本发明的示例性和非限定性实施例的计算机程序包括计算机可执行指令,用于控制可编程处理系统以执行与根据本发明的上述示例实施例中任意一个所述的方法有关的动作。

根据本发明的示例性实施例的计算机程序包括用于维护表示设备的配置的配置数据结构的软件模块。软件模块包括计算机可执行指令,用于控制可编程处理系统以:

-运行操作过程,包括对设备的配置做出变化,以及向配置数据结构添加指示该变化的变化描述符,

-响应于更新配置数据结构的需要,与操作过程并行地运行辅助过程,以及

-通过将配置数据结构的与更新时刻相对应的部分替换为由辅助过程构建的辅助配置数据结构来更新配置数据结构,所更新的配置数据结构包括辅助配置数据结构和指示在更新时刻之后做出的变化的变化描述符,

辅助过程包括:

-请求设备的一个或多个功能实体报告在更新时刻主导的功能实体的配置,以及

-至少部分地基于由功能实体所报告的信息来构建辅助配置数据结构。

软件模块可以是例如利用合适的编程语言以及利用适于编程语言且适于考虑的可编程处理系统的编译器实现的子程序或功能。还值得注意的是,对应于合适编程语言的源代码代表计算机可执行软件模块,因为源代码包含用于控制可编程处理系统来执行上面呈现的动作所需的信息,并且编译只改变信息的格式。而且,还有可能向可编程处理系统提供解释器,使得利用合适编程语言实现的源代码在运行前不需要被编译。

根据本发明的示例性和非限定性实施例的计算机程序产品包括利用根据本发明的示例性和非限定性实施例的计算机程序来编码的计算机可读介质,例如压缩盘“cd”。

根据本发明的示例性和非限定性实施例的信号被编码以携带定义根据本发明的示例实施例的计算机程序的信息。

图3示出包括根据本发明的示例性和非限定性实施例的网络元件的示意图示。网络元件可以是例如互联网协议“ip”路由器、以太网交换机、多协议标签交换“mpls”交换机、用于软件定义的网络“sdn”的网络元件、异步传输模式“atm”交换机、和/或分组光学交换机。网络元件包括用于将数据发射到数据传输网络390的网络接口以及用于从数据传输网络接收数据的网络接口。在图3中,用于发射数据的网络接口中的两个利用参考标记304和306来标注,而用于接收数据的网络接口中的一个利用参考标记305来标注。在此示例性和非限定性情况下,网络元件包括网络处理器“np”303,用于运行正在使用的数据传输协议,例如ip、传输控制协议“tcp”、以太网、atm和/或mpls。还有可能的是,数据传输协议由提供有适当软件的一个或多个可编程处理器电路、和/或诸如专用集成电路“asic”的一个或多个专用硬件处理器、和/或诸如现场可编程门阵列“fpga”的一个或多个可配置硬件处理器一个或多个可编程处理器电路来运行。上述网络接口和网络处理器代表用于在网络元件和数据传输网络390之间控制和执行数据传输的功能实体。而且,功能实体可以包括非物质实体,诸如软件实现的过程。对于进一步的示例,功能实体可以包括整形器、调度器、物理或逻辑出站端口、物理或逻辑进站端口、转发表、接入控制列表、路由协议参数、边界网关协议“bgp”对等,等等。网络元件包括存储器307,用于缓冲要转发的数据并且用于存储其他数据。存储器307可以用诸如一个或多个随机存取存储器“ram”电路的一个或多个存储设备来实现。网络元件包括处理系统302,其通信地连接到存储器307、网络处理器303和网络接口304-306。处理系统302可以用一个或多个处理器电路实现,每个处理器电路可以是提供有适当软件的可编程处理器电路、诸如专用集成电路“asic”的专用硬件处理器、或者诸如现场可编程门阵列“fpga”的可配置硬件处理器。

处理系统302被配置为构成用于维护表示网络元件的配置的配置数据结构的装置301。值得注意的是,除了上述配置数据结构的维护之外,处理系统302通常还具有许多其他任务。处理系统302被配置为构成装置301,使得该装置包括部件用于运行操作过程,包括对网络元件的配置做出变化,以及向配置数据结构添加表示该变化的变化描述符。该装置301进一步包括:

-用于响应于更新配置数据结构的需要,与操作过程并行地运行辅助过程的部件,以及

-用于通过将配置数据结构的与更新时刻相对应的部分替换为由辅助过程构建的辅助配置数据结构来更新配置数据结构的部件。

用于运行辅助过程的部件包括:

-用于请求网络元件的功能实体以报告在更新时刻主导的功能实体的配置的部件,以及

-用于至少部分地基于功能实体所报告的信息来构建辅助配置数据结构的部件。

更新的配置数据结构包括上述的辅助配置数据结构和指示在上述更新时刻之后做出的变化的变化描述符。

在根据本发明的示例性和非限定性实施例的网络元件中,处理系统302被配置为初始化辅助过程,使得用在辅助过程中且至少定义在更新时刻主导的功能实体的配置的数据等于用于操作过程中的对应数据。

在根据本发明的示例性和非限定性实施例的网络元件中,处理系统302被配置为:

-从存储器307的第一存储区域向存储器的第二存储区域复制至少定义在更新时刻主导的功能实体的配置的数据,

-对于操作过程,使用由第一存储区域包含的数据且根据操作过程变化该数据,以及

-对于辅助过程,使用由第二存储区域包含的复制数据且根据辅助过程变化复制的数据。

在根据本发明的示例性和非限定性实施例的网络元件中,处理系统302被配置为:

-对于操作和辅助过程这两者,使用由存储器307的第一存储区域包含且至少定义在更新时刻主导的功能实体的配置的数据,

-响应于以下情形:a)第一和第二形式的数据段中的至少一个是数据段的修改,使得第一和第二形式的数据段相互不同;b)操作和辅助过程中的一个需要第一形式的数据段;以及c)操作和辅助过程中的另一个需要第二形式的数据段,在第一存储区域中的一个中存储第一形式的数据段且在不同于第一存储区域的第二存储区域中的一个中存储第二形式的数据段。

在根据本发明的示例性和非限定性实施例的网络元件中,处理系统302被配置为控制操作过程以使用第一虚拟存储空间,并且控制辅助过程以使用第二虚拟存储空间。第一和第二虚拟存储空间这两者都在更新时刻被映射到上述的第一存储区域。

在根据本发明的示例性和非限定性实施例的网络元件中,处理系统302被配置为响应于上述情形:a)第一和第二形式的数据段中的至少一个是数据段的修改,使得第一和第二形式的数据段相互不同;b)操作和辅助过程之一需要第一形式的数据段;以及c)操作和辅助过程中的另一个需要第二形式的数据段,变化i)第一虚拟存储空间的虚拟存储区域和ii)第二虚拟存储空间的虚拟存储区域中的一个从所述第一存储区域中的一个到第二存储区域中的一个的映射。

在根据本发明的示例性和非限定性实施例的网络元件中,处理系统302被配置为响应于变化描述符的量超过预先确定的限度的情形而启动辅助过程。

上面给出的描述中所提供的具体示例不应该被理解为限制所附权利要求的范围和/或适用性。上面给出的描述中所提供的示例的列表和组不是穷尽的,除非另外明确陈述。

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