一种ptn设备基于通用业务模型的单盘配置系统及方法

文档序号:10597022阅读:358来源:国知局
一种ptn设备基于通用业务模型的单盘配置系统及方法
【专利摘要】一种PTN设备基于通用业务模型的单盘配置系统及方法,涉及通信设备领域,通用业务模型、匹配规则库和配置数据库初始化;单盘接收配置信息,将一个配置消息拆分为若干个配置条目,将每个配置条目映射若干个配置对象;先将配置对象的配置信息分离成配置数据和配置命令两部分,将配置数据保存到配置数据库,通过模块间接口将配置命令下发到紧邻的下层功能模块中,每层功能模块针对配置对象进行适配处理后,完成相应配置命令的配置处理,直至最底层,将配置信息适配成直接写到芯片内部寄存器或内部硬表的比特级数据,完成信息配置到单盘硬件。本发明减少配置数据的冗余备份,节省CPU内存,满足PTN设备的增量扩容需求。
【专利说明】
一种PTN设备基于通用业务模型的单盘配置系统及方法
技术领域
[0001]本发明涉及通信设备领域,具体来讲涉及一种PTN设备基于通用业务模型的单盘配置系统及方法。
【背景技术】
[0002]现有PTN(Packet Transport Network,分组传送网)设备的单盘配置软件普遍采用分层分模块的方式实现,比如一个典型的PTN单盘配置软件可能包括位于管理层、业务层、驱动层的多个模块。在单盘的配置过程中,不同层面的模块位于配置过程的不同阶段,所起的作用、要实现的功能也不同。每个模块对内实现各自的专用功能也会保存相应的配置数据,对外通过模块之间的复杂接口进行通信实现配置信息的传递,模块间的接口多数采用函数调用的方式实现,函数接口传递的配置信息不仅包含配置命令(即创建、删除、修改等操作命令),而且还会包含配置数据。
[0003]在设备软件开发过程中,由于有些模块的历史继承性或公共通用性等原因,导致各个模块之间的内部数据结构、外部函数接口有较大差异。因此单盘配置业务时,各层之间需要通过差异化的接口来传递差异化的配置信息;同时各层模块在实现各自的功能时,都需要基于单盘的已有配置进行后续配置的相应分析处理,因而必须保存配置数据以备后续操作访问。但各层模块间内部数据结构有差异,导致了各层模块只能以各自内部的数据结构形式保存各自的配置数据,不能访问或借用其他模块保存的配置数据。
[0004]因此现有单盘配置业务的方法,出现了同一个业务的配置数据在各层模块内部都有冗余备份的现象,导致CPU内存的大量浪费,制约单盘业务的容量规格,在如今流量爆炸式增长、新业务层出不穷的情况下,往往无法满足传送网络对PTN设备的增量扩容或新增功能的需求。

【发明内容】

[0005]针对现有技术中存在的缺陷,本发明的目的在于提供一种PTN设备基于通用业务模型的单盘配置系统及方法,减少配置数据的冗余备份,节省CPU内存,满足PTN设备的增量扩容需求。
[0006]为达到以上目的,本发明采取一种PTN设备基于通用业务模型的单盘配置系统,与外部管控单元信息交互,包括:通用业务模型,使配置过程中各层模块有统一的数据结构;配置信息模块,包括配置消息、配置条目和配置对象,三者均包括配置数据,配置条目和配置对象还包括配置命令,配置条目有条目类型之分;配置消息是外部管控单元下发给单盘的配置信息,一个配置消息代表若干个功能或业务对应的配置信息集合;一个配置条目代表一个功能或业务对应的配置信息;一个配置对象代表一个子功能或子业务的配置信息;匹配规则库,用于存储条目类型与配置类型的对应关系;映射关系库,用于存储每个配置条目与配置对象的对应关系;配置数据库,用于保存PTN单盘所有配置对象的配置数据,并提供统一的基于配置对象的访问接口; ID资源管理模块,用于配置对象ID的分发与回收的维护管理;模块间接口,用于对配置对象进行操作的接口 ;配置对象处理模块,用于对配置对象的配置信息进行处理。
[0007]在上述技术方案的基础上,PTN单盘所有业务和功能进一步细化为独立的子业务和子功能,并抽象为基本的配置类型,通用业务模型包括所述配置类型的集合,以及配置类型之间的关系。
[0008]在上述技术方案的基础上,一个配置消息包括若干个配置条目,一个配置条目匹配映射若干个配置对象。
[0009]在上述技术方案的基础上,配置条目有条目类型,是由PTN单盘配置协议约定的功能或业务类型决定的,配置条目ID含在配置条目的配置数据中;配制条目的配置命令分为set、delete 两种。
[0010]本发明还提供一种PTN设备基于通用业务模型的单盘配置方法,包括步骤:
[0011 ] S1.通用业务模型、匹配规则库和配置数据库初始化;
[0012]S2.PTN单盘接收来自外部管控单元的配置信息,将一个配置消息拆分为若干个配置条目,再将每个配置条目映射若干个配置对象;
[0013]S3.进行配置对象的配置功能处理,先将配置对象的配置信息分离成配置数据和配置命令两部分,将所述配置数据保存到配置数据库,通过模块间接口将所述配置命令下发到紧邻的下层功能模块中,每层功能模块依据通用业务模型、针对配置对象进行适配处理后,完成相应配置命令的配置处理,直至最底层,将配置信息适配成直接写到芯片内部寄存器或内部硬表的比特级数据,完成信息配置到单盘硬件。
[0014]在上述技术方案的基础上,所述S2中,将一个配置消息拆分为若干个配置条目,具体包括,收到配置消息后,处理第一个配置条目,获取配置条目的条目类型和信息长度,获取配置条目的全部配置信息,根据配置信息中的配置命令,进行对应的配置命令操作,完成该配置条目的操作后,处理下一个配置条目,直至所有配置条目处理完成。
[0015]在上述技术方案的基础上,所述配置命令为delete命令时,直接从映射关系库获取配置条目对应的配置对象列表,依次对每个配置对象进行删除处理。
[0016]在上述技术方案的基础上,从映射关系库获取配置条目对应的配置对象列表时,首先从配置条目的配置信息中取出配置条目ID,并在映射关系库中搜索该配置条目ID,判断是否存在,若否,不需要删除,直接退出;若是,说明已经存在该配置条目,应该删除。
[0017]在上述技术方案的基础上,所述删除处理具体为,从映射关系库取出对应的配置对象列表,依次处理配置对象列表中的每一个配置对象,通过配置对象处理模块进行删除处理,并从映射关系库中清除该配置条目与配置对象的映射关系,ID资源管理模块回收所有删除的配置对象ID资源。
[0018]在上述技术方案的基础上,所述配置命令为set命令时,根据匹配规则库,将配置条目映射为配置对象列表,生成映射关系并写入映射关系库,基于通用业务模型衍生配置对象间的关联信息,从ID资源管理模块申请新配置对象ID,汇集配置对象的全部配置信息。
[0019]在上述技术方案的基础上,配置条目生成映射关系时,依次判断匹配规则中的每种配置类型的配置对象的属性值,看是否存在配置条目的配置数据中,若否,不映射;若是,提取配置该配置对象的配置数据和配置类型,将所有非空配置对象提取出来的信息缓存为对象列表X。
[0020]在上述技术方案的基础上,缓存对象列表X后,判断映射关系库中是否含有配置条目ID,若否,set命令等效于所有配置对象的新增命令;若是,说明已存在对应配置条目的配置,进行已有配置的修改。
[0021 ]在上述技术方案的基础上,set命令等效于新增命令时,为对象列表中的每个配置对象,向ID资源管理模块申请新的配置对象ID,暂存于对象列表X,对每个配置对象设置配置命令,依次处理每一个配置条目的配置对象,映射关系库保存配置条目与配置对象的映射关系。
[0022]在上述技术方案的基础上,进行已有配置的修改时,从映射关系库中取该配置条目的旧对象列表Y,基于匹配规则,将对象列表X和旧对象列表Y进行对比合成处理,得到临时对象列表Z,临时对象列表Z包括全新对象子集、旧对象子集和新换旧对象子集,为全新对象子集中的配置对象向ID资源管理模块申请新的配置对象ID,暂存于对象列表X和临时对象列表Z,设置全新对象子集配置命令为增加命令,旧对象子集配置命令为删除命令,新换旧对象子集配置命令为修改命令,通过配置对象处理模块对配置对象进行相对应的配置命令处理。
[0023]在上述技术方案的基础上,S2中,基于配置对象动态申请内存单元,将配置类型相同的所有配置对象组织成一棵二叉树,再将指向二叉树根部的所有指针用链表串连,构建配置数据库。
[0024]在上述技术方案的基础上,S3中,将所述配置数据保存到配置数据库,每个配置对象的配置数据分别存放在一个二叉树节点中,节点采用动态方式申请或释放所需内存单元,并与节点代表的配置对象具有相同的生存期。
[0025]在上述技术方案的基础上,为每种配置类型配置读写接口,通过写接口将一个配置对象的配置数据存入对应配置类型二叉树的相应节点,通过读接口将一个配置对象的配置数据从对应配置类型二叉树的相应节点获取,通过配置对象ID搜索关键字来选择节点。
[0026]在上述技术方案的基础上,S3中,将配置对象的配置信息实施解耦处理,分离出配置数据和配置命令两部分,从配置信息中得到配置类型和配置对象ID,每层功能模块根据下发的配置命令进行相应处理。
[0027]在上述技术方案的基础上,如果配置命令为删除命令,根据配置对象ID,从配置数据库中清除该配置对象的配置数据,将命令下发至下层功能模块,下层功能模块按照配置命令做相应的删除操作,再次下发至底层功能模块,底层功能模块执行配置对象的底层实际删除操作,完成。
[0028]在上述技术方案的基础上,如果配置命令为增加命令,添加该配置对象的配置数据到单盘配置数据库,将命令下发至下层功能模块,从配置数据库中获取关联配置对象的配置数据,做适配处理后,再次下发至底层功能模块,执行实际增加操作,完成。
[0029]在上述技术方案的基础上,如果配置命令为修改命令,在配置数据库中用该配置对象新配置数据覆盖旧配置数据,将命令下发至下层功能模块,从配置数据库中获取关联配置对象的配置数据,进行配置信息的适配处理,再次下发至底层功能模块,执行配置对象的实际修改操作,结束。
[0030]本发明的有益效果在于:
[0031]1、基于通用业务模型的配置数据库,以全局共享的方式为各层功能模块提供所需要的配置数据,使得各层功能模块不再需要单独保存配置数据;从内存使用的角度看,配置数据库以共享模式达到了只保存一份配置数据的目的,取代了原有各层功能模块冗余储存多份配置数据(一般有三份或以上)的方式,减少配置数据的冗余备份;在配置相同数量业务量的情况下,PTN单盘(以下简称单盘)CPU内存占用量约缩减到原来的三分之一,节省了CPU的内存。
[0032]2、提高内存利用率,实际应用中约提升了200%,相应的,扩大了单盘业务容量,内存对业务容量的支撑能力可以扩充至原来的3倍左右。
[0033]3、通过分离配置命令与配置数据,模块间接口得以统一并简化,便于模块CBB(Common Bulling Block,共用构-建模块)化,解除了上下层功能模块间接口与配置数据的捆绑关系,模块间接口只需传递配置对象ID和配置命令信息,使得各层模块间的接口变得非常简单、统一,便于模块CBB化。
[0034]4、统一的模块间接口解除了模块向上、向下的外部接口与功能模块内部实现方式的紧耦合关系,使得功能模块内部可以自由选择所需配置数据结构、算法逻辑等关键技术来实现内部功能处理,便于模块平滑升级、完善优化、甚至彻底的重新开发。
[0035]5、简化的模块间接口使得实现该接口的函数原型得以简化,函数接口参数也十分简单(图5中,接口a和接口b处的接口函数的参数只有配置对象ID,),完全摒弃了不易直接输入数据的结构变量和指针变量,非常适合命令行下人工直接输入数据进行相关操作,方便问题诊断排查。
【附图说明】
[0036]图1为本发明PTN设备基于通用业务模型的单盘配置系统与外部管控单元交互示意图;
[0037]图2为本发明一个配置消息拆分成若干个配置条目流程图;
[0038]图3为本发明配置条目delete操作的匹配映射流程图;
[0039]图4为本发明配置条目set操作的匹配映射流程图;
[0040]图5为本发明实施例PW类型配置对象的配置功能处理流程图。
[0041]附图标记:
[0042]通用业务模型I,配置信息模块2,匹配规则库3,映射关系库4,配置数据库5,ID资源管理模块6,模块间接口 7,配置对象处理模块8,外部管控单元9。
【具体实施方式】
[0043]以下结合附图及实施例对本发明作进一步详细说明。
[0044]如图1所示,本发明PTN设备基于通用业务模型的单盘配置系统,与外部管控单元9信息交互,系统包括通用业务模型1、配置信息模块2、匹配规则库3、映射关系库4、配置数据库5、ID资源管理模块6、模块间接口 7和配置对象处理模块8。
[0045]通用业务模型I,具体是将PTN单盘(为了便于描述,以下简称单盘)支持的所有业务和功能划分为粒度更细、相对独立的子业务和子功能,将它们分别抽象为一个个基本的配置类型,得到配置类型集合、加上配置类型之间的关系而构成的一个原子功能模型。单盘上一些配置类型举例:以太网物理端口类型、LAG逻辑端口类型、UNI逻辑接口类型、NNI接口类型、Tx_LSP类型、Rx_LSP类型、LSP保护组类型、PW类型、Me ter类型、优先级队列调度类型、TP OAM类型等。立足于通用业务模型,再采用配置类型定义配置对象、各层功能模块基于配置对象进行功能处理的方法,使得模块外部有统一的数据结构、内部有清晰的配置对象间的相互关系,带来的好处显而易见:盘内各层功能模块有了可以通用的模型,且这些模块间的接口可以统一并简化。
[0046]配置信息模块2,内部包含配置信息,配置信息是指在配置过程中,各个软件模块内部处理的及相互间传递的和配置功能有关联的信息的统称。根据配置的不同阶段不同模块所需处理的信息的粒度、内容、格式不同,配置信息模块内包括配置消息、配置条目和配置对象,三者均包括配置数据,配置条目和配置对象还包括配置命令。配置消息是外部管控单元9下发给单盘的配置信息,一个配置消息是代表采用TLV(Type/Length/ValUe,类型/长度/值)格式的若干个功能或业务对应的配置信息集合;一个配置条目代表按照TLV格式组织起来的、一个功能或业务对应的配置信息,一个配置消息一般可以拆分为若干个配置条目。配置条目的配置命令分为set(设置)、delete(删除)两种操作,配置条目有类型之分,称为条目类型,是由单盘配置协议约定的功能或业务类型决定的,配置条目ID含在它的配置数据中。配置对象是用配置类型定义的,一个配置对象代表一个相对独立的子功能或子业务的配置信息,配置对象包括配置对象ID(Identify,标识符)、配置命令、配置数据和配置类型,它的配置命令分为增加、删除、修改对象三种操作;配置对象是比配置条目颗粒更细的基本配置单元,一个配置条目一般可以匹配映射为若干个配置对象。
[0047]匹配规则库3,用于存储条目类型与配置类型的对应关系。具体的,每种配置条目的条目类型都有一个匹配规则,用来描述和约束该条目类型对应到若干个配置类型的映射法则,所有条目类型的匹配规则的集合,构成匹配规则库3;匹配规则库3是从通用业务模型I衍生出来的。
[0048]映射关系库4,用于存储每个配置条目与配置对象的对应关系,具体的,一个配置条目一般与若干个配置对象集合构成映射关系,这个集合是相应匹配规则的配置类型集合的一个子集的实例。
[0049]配置数据库5,基于通用业务模型I构建,用于保存单盘所有配置对象的配置数据,并提供统一的基于配置对象的访问接口,为单盘各层功能模块提供配置数据共享支撑。
[0050]ID资源管理模块6,负责配置对象ID的分发与回收的维护管理,保证配置对象ID的唯一性,创建新配置对象时向ID资源管理模块6申请新ID,删除旧配置对象时向它注销旧ID0
[0051 ]模块间接口 7,是对配置对象进行操作的接口,它传递信息简单统一,只含配置对象ID和配置命令,不含配置数据;配置命令一般为配置对象的增加、删除、修改操作。
[0052]配置对象处理模块8,用于对配置对象的配置信息进行处理,包括配置信息解析转换和配置对象的配置功能处理。
[0053]本发明PTN设备基于通用业务模型的单盘配置方法,包括如下步骤:
[0054]S1.通用业务模型1、匹配规则库3和配置数据库5初始化。
[0055]S2.单盘接收来自外部管控单元9的配置信息,将一个配置消息拆分为若干个配置条目,再将每个配置条目映射成若干个配置对象,即配置条目delete命令的操作匹配映射,以及配置条目set命令的操作匹配映射。
[0056]S3.进行配置对象的配置功能处理,先将配置对象的配置信息分离成配置数据和配置命令两部分,将所述配置数据保存到配置数据库5,通过模块间接口 7将所述配置命令下发到紧邻的下层功能模块中,每层功能模块依据通用业务模型I,针对配置对象进行适配处理后,完成相应配置命令的配置处理,直至最底层,将配置信息适配成直接写到芯片内部寄存器或内部硬表的比特级数据,完成信息配置到单盘硬件。
[0057]具体的,步骤SI中,通用业务模型I和匹配规则库3的初始化,为建立二者,在匹配规则库3的初始化过程中,对照通用业务模型I的各种配置类型所包含的信息属性,将单盘协议中每种条目类型所描述的信息属性进行划分和匹配,得出每种条目类型与若干个配置类型的对应关系,即匹配规则。一种条目类型的匹配规则,可以用这种条目类型可能映射到的所有配置类型的集合来表示,例如,根据通用业务模型I和单盘配置协议可知LSP功能可以划分为发送子功能和接收子功能,因此,LSP条目类型的匹配规则={Tx_LSP配置类型,Rx_LSP配置类型}。
[0058]配置数据库5初始化过程中,由于单盘配置数据库存在于CPU系统内存中,基于配置对象动态申请内存单元,基于通用业务模型1,为每种配置类型分别分配一个逻辑内存块头部指针,该逻辑内存块专门用于保存该类型配置对象的配置数据,采用链表将这些头部指针头尾串连起来,逻辑上组成一块更大区域,这样便构建了配置数据库5的框架。这里每个逻辑内存块按平衡二叉树方式组织,配置类型指针指向二叉树根部,在后面的步骤S3中,每个配置对象的配置数据分别存放在一个二叉树节点中,节点采用动态方式申请或释放所需内存单元,并与节点代表的配置对象具有相同的生存期;因而配置过程中逻辑内存块的大小是动态变化的。然后为每种配置类型实现一套基于配置对象进行访问的读写接口:通过写接口可以将一个配置对象的配置数据存入对应配置类型二叉树的相应节点中,通过读接口可以将一个配置对象的配置数据从对应配置类型二叉树的相应节点中获取出来,用配置对象ID作为匹配搜索关键字来选择节点。
[0059]上述初始化完毕,单盘便可以随时接收配置信息,进行单盘配置处理了。单盘每次收到外部管控单元9发来的一个配置消息,都会启动一轮配置流程的处理活动。
[0060]如图2所示,单盘将一个配置消息拆分为若干个配置条目,其具体过程如下:
[0061]Al.当单盘接收到一个完整的配置消息后,进行消息头校验、消息缓存处理,进入A2o
[0062]A2.从配置消息的Length字段获取该配置消息的长度,赋给变量LI,即配置消息长度LI。
[0063]A3.预置循环初值。用L2表示已处理信息长度的变量,赋初值0,循环变量j赋初值I,准备处理第一个配置条目。
[0064]A4.判断循环结束条件L2 = L1是否满足,如果是,则退出循环,接着清该缓存配置消息后,退出整个配置消息处理流程;如果否,则进入A5,开始一轮循环处理。
[0065]A5.获取第j个配置条目的信息长度和内容。从第j个配置条目的Type字段获取条目类型,从Length字段获取配置条目的信息长度L3,通过L3计算出Value字段的首末位置,进而得到第j个配置条目的全部配置信息。
[0066]A6.从第j个配置条目的配置信息中取出该配置条目的配置命令,判断是delete命令还是set命令,如果是delete命令,则转入A7;如果是set命令,则转入A8。
[0067]A7.完成配置条目对应的deIete命令操作,进入A9。
[0068]AS.通过配置对象处理模块8,完成配置条目对应的set命令操作,进入A9。
[0069]A9.将刚处理完的第j个配置条目的信息长度L3,添加到已处理信息长度L2中,循环变量j的值增加I,准备进入下一轮循环,处理下一个配置条目,即转入步骤A4。
[0070]如图3所示,所述配置命令为delete命令时,不需匹配映射处理,直接从映射关系库4获取配置条目对应的配置对象列表,依次对每个配置对象进行删除处理,具体步骤如下:
[0071]A701.查找配置条目ID。具体的,从配置条目的配置信息中取出配置条目ID,并在映射关系库4中搜索该配置条目ID。
[0072]A702.查看是否存在该配置条目的旧配置,即判断映射关系库4中是否存在该配置条目ID,若否,说明单盘没有配置该配置条目,不需要删除,直接退出结束;若是,进入A703。
[0073]A703.根据配置条目ID,从映射关系库4中取出它包含的旧的配置对象列表(列表中每个配置对象都含有配置类型值和配置对象ID,假定列表中有m个配置对象),进入A704。
[0074]A704.开始对m个配置对象做循环处理。循环变量k赋初值I,准备处理第一个配置对象进入A705。
[0075]A705.判断循环结束条件k>m是否满足,如果是,退出循环转入A709 ;如果否,则进ΛΑ706,开始一轮循环处理。
[0076]A706.设置第k个配置对象的配置命令为删除,进入A707。
[0077]A707.汇集第k个配置对象的完整配置信息(类型、对象ID、配置命令、配置数据),通过函数调用方式将这些信息送给配置对象处理模块8,对第k个配置对象进行后续删除处理,函数返回后进入A708。
[0078]A708.循环变量k的值增加I,准备下一个配置对象,进入下一轮循环处理,即转入A705o
[0079]A709.清除配置条目与配置对象的映射关系,即,从映射关系库4中配置条目ID位置处清除该配置条目的“条目-对象映射关系”,进入A710。
[0080]A710.回收所有配置对象ID资源。依次对m个配置对象的ID进行注销处理,告知ID资源管理模块6回收这些已经被删除了的配置对象的ID资源。所有旧配置对象的ID资源回收后,退出本流程。
[0081]如图4所示,配置命令为set命令时,根据匹配规则库3,将配置条目映射为配置对象列表,并基于通用业务模型I衍生配置对象间的关联信息,从ID资源管理模块6申请新配置对象ID,汇集配置对象的全部配置信息,具体步骤如下:
[0082]A801.获取匹配规则。具体的,先从配置条目的配置信息中提取条目类型,然后根据条目类型从匹配规则库3中获取匹配规则。
[0083]A802.配置信息映射。比照匹配规则对配置条目的配置数据作分析映射处理,即依次判断匹配规则中的每种配置类型的配置对象的属性值,看是否存在于配置条目的配置数据中,若否,则不需映射该类配置对象,若是,则提取该配置对象的配置数据和配置类型,将所有的非空配置对象(假定有P个对象)提取出来的信息缓存为对象列表χ(此时X中每个配置对象有类型信息,没有配置对象ID信息)。
[0084]A803.查找配置条目ID。从配置条目的配置信息中取出配置条目ID,判断映射关系库中是否含有该配置条目ID,若否,说明单盘没有配置该配置条目,该配置条目的set命令等效于它的所有对象的新增命令,转入A804;若是,说明单盘已存在该配置条目的配置,本次set命令是对已有配置的修改操作,则转入A807分支进行修改处理。
[0085]A804.为对象列表X中的每个配置对象,向ID资源管理模块6申请新的配置对象ID,并暂存于对象列表X中,进入A805。
[0086]A805.为对象列表X中的每个配置对象设置配置命令,P个新配置对象都为增加命令,进入A806。
[0087]A806.将对象列表X中配置对象的总个数设置为循环总次数,S卩m = p,然后跳到A812,开始对对象列表X中的配置对象做轮循处理。
[0088]A807.从映射关系库4中取出该配置条目的旧对象列表Y(假定为u个配置对象),且获取列表信息中每个配置对象都含有的类型和ID信息,进入Α808。
[0089]Α808.新旧列表对比合成。基于匹配规则,对新旧两个对象列表进行对比合成处理:先把新对象列表X中每个配置对象的new_flag置I,匹配规则中超出了对象列表X的那些类型所对应的虚拟对象设置new_f Iag = O;接着将旧对象列表Y中每个配置对象的old_f lag置I,匹配规则中超出了列表Y的那些类型所对应的虚拟对象设置old_flag = 0。再将新旧两个对象列表按照数学中的集合合并原理,进行合成处理,即,依次将两个对象列表中配置类型相同的两个配置对象进行1:1组队比较合并,得到一个临时对象列表Z(假定为w个配置对象)。此时,对象列表Z中配置对象分为3个不重叠的子集:全新对象子集(子集SI) = {符合new_flag= I且old_f Iag = O的所有配置对象},旧对象子集(子集S2) = {符合new_f Iag = O且old_flag=l的所有配置对象},新换旧对象子集(子集S3) = {符合new_fIag= I且old_flag = I的所有配置对象};接着进入A809。
[0090]A809.为子集SI中的q个配置对象分别向ID资源管理模块6申请新的配置对象ID,并暂存于对象列表X和对象列表Z中,进入A810。
[0091]A810.设置配置对象的配置命令。为对象列表Z中的每配置个对象设置配置命令:子集SI中的配置对象为增加命令,子集S2中的配置对象为删除命令,子集S3中的配置对象为修改命令,然后进入A811。
[0092]A811.将对象列表Z中配置对象的个数设置为循环总次数,S卩m=w,然后跳到A812,开始对对象列表Z中的配置对象做轮循处理。
[0093]A812.开始对m个配置对象做循环处理。循环变量k赋初值I,准备处理第一个配置条目;进入步骤A813。
[0094]A813.判断循环结束条件k>m是否满足,如果是,退出循环转入A816;如果否,则进入A814,开始一轮循环处理。
[0095]A814.汇集第k个配置对象的完整配置信息(类型、对象ID、配置命令、配置数据),通过函数调用方式将这些信息送给配置对象处理模块8,对第k个配置对象进行后续配置处理,函数返回后进入A815。
[0096]A815.循环变量k的值增加I,准备下一个配置对象,进入下一轮循环处理,即转入A813o
[0097]A816.保存配置条目与配置对象的映射关系。在映射关系库4中,对该配置条目的“条目-对象映射关系”进行刷新存储,即用新对象列表X的每个配置对象的类型及ID信息,采用彻底覆盖写入的方式,保存到映射关系库4中该配置条目ID的位置处;完成映射关系库4的更新后,进入A817。
[0098]A817.旧配置对象ID资源回收。A808中的旧对象子集S2为非空,则依次对子集S2中的每一个配置对象ID进行注销处理,告知ID资源管理模块6回收这些已经被删除了的配置对象的ID资源。所有旧配置对象的ID资源回收后,退出本流程。
[0099]所述步骤S3中,进行配置对象的配置功能处理,基于配置对象实施单盘所需的各种配置功能的处理,包括如下动作:配置分离、配置存储、命令下发、配置获取、信息收集与适配、各层专用功能处理。
[0100]首先进行配置分离处理,即对配置对象的配置信息实施解耦处理,分离成配置数据和配置命令两部分。然后通过配置存储,将分离出来的配置数据保存到配置数据库5中,主要采用配置数据库5的写接口来完成,即通过写接口将一个配置对象的配置数据存入对应配置类型二叉树的相应节点中。接着是命令下发处理,通过模块间接口 7将所述配置命令下发到紧邻的下层功能模块中。每层功能模块收到配置命令后,各司其职地完成相应配置命令的配置处理。在每个功能模块内,先根据配置对象ID调用配置数据库5的读接口获取配置数据,即,通过读接口可以将一个配置对象的配置数据从对应配置类型二叉树的相应节点中获取出来,搜索关键字来选择节点。然后基于通用业务模型I中配置类型间的相互关系,分析待处理对象的关联对象,并对它们进行配置获取处理,将收集全的配置信息适配成原有专用功能模块的专门数据结构,送给原有功能模块进行后续处理。对于各层功能模块这一部分,本发明与原有单盘相比,有相同部分也有显著区别;相同部分:各功能模块间的层次架构以及每个功能模块完成的专用功能基本保持一样;主要差异:每个功能模块剔除了原有的按照专门数据结构备份数据的部分,增加了信息收集与适配处理。
[0101 ] 如图5所示,以PW类型配置对象为例,对配置对象的配置功能处理步骤进行详细说明,本实施例有三层,从上至下分别为配置分离存储层(以下简称存储层)、业务层和驱动适配层(以下简称适配层),其中存储层和业务层之间通过接口 a相连,业务层和适配层之间通过接口 b相连。
[0102]B100.对配置对象的配置信息实施解耦分离处理,将配置数据、配置命令、配置类型、配置对象ID分别从配置信息中抽取出来。
[0103]B101.取出配置对象的配置命令,判断是哪一种配置命令,若是删除命令,进入B102;若是增加命令,进入B107;若是修改命令,进入BI 16。
[0104]B102.根据配置对象ID,从配置数据库5中清除该配置对象的配置数据,即通过写接口将单盘配置数据中配置对象ID代表的节点的配置数据写为空。
[0105]B103.即通过接口a中的配置对象Delete子接口,传递该配置对象的配置类型、Delete命令、配置对象ID信息;即实现存储层与业务层的信息传递,完成配置命令的下发。
[0106]B104.执行业务层的通用业务处理功能,实现配置对象在业务层的删除操作。
[0107]B105.业务层通过接口b中的配置对象Delete子接口,将该配置对象的配置类型、Delete命令、配置对象ID信息,传递给适配层。即实现业务层与适配层的信息传递,完成配置命令的下发。
[0108]B106.在适配层执行PW功能的相关处理,执行配置对象的底层实际删除操作,退出本流程,结束。
[0109]B107.根据配置对象ID,添加该对象配置数据到配置数据库5,即通过写接口将该对象的配置数据写到配置数据库5中配置对象ID代表的节点处。
[0110]B108.存储层通过接口a中的配置对象Add子接口,将该配置对象的配置类型、Add命令、配置对象ID信息,传递给业务层;即实现存储层与业务层的信息传递,完成配置命令的下发。
[0111]B109.根据配置对象ID,通过读接口从配置数据库5中配置对象ID所代表的节点处,获取该配置对象的配置数据。
[0112]B110.基于通用业务模型I中配置类型间的相互关系,从该配置对象的配置数据中,解析该配置对象的关联对象,并从配置数据库5中获取关联对象的配置数据,然后进行信息适配处理,封装成原有业务层专用的数据格式信息。
[0113]Bill.执行业务层的逻辑处理功能,实现配置对象在业务层的增加操作。
[0114]B112.业务层通过接口b中的配置对象Add子接口,将该配置对象的配置类型、Add命令、配置对象ID信息,传递给适配层;即实现业务层与适配层的信息传递,完成配置命令的下发。
[0115]B113.根据配置对象ID,通过读接口从配置数据库5中配置对象ID所代表的节点处,获取该配置对象的配置数据。
[0116]B114.基于通用业务模型I中配置类型间的相互关系,从该配置对象的配置数据中,解析该配置对象的关联对象,并从配置数据库5中获取关联对象的配置数据,然后进行信息适配处理,封装成原有驱动适配层专用的数据格式信息。
[0117]B115.在执行PW功能的相关处理,执行配置对象的底层实际增加操作,完成后退出本流程,结束。
[0118]B116.根据配置对象ID,在配置数据库5中用该配置对象的新配置数据覆盖旧配置数据。即,通过写接口在配置数据中配置对象ID代表的节点处,用该配置对象的新配置数据覆盖旧配置数据。
[0119]B117.存储层通过接口a中的配置对象Modify子接口,将该配置对象的配置类型、Modify命令、对象ID信息,传递给业务层;即实现存储层与业务层的信息传递,完成配置命令的下发。
[0120]B118.根据配置对象ID,通过读接口从配置数据库5中配置对象ID所代表的节点处,获取该配置对象的配置数据。
[0121]B119.基于通用业务模型I中配置类型间的相互关系,从该配置对象的配置数据中解析该配置对象的关联对象,并从配置数据库5中获取关联对象的配置数据,然后进行信息适配处理,封装成原有业务层专用的数据格式信息。
[0122]B120.执行业务层的逻辑处理功能,实现配置对象在业务层的修改操作。
[0123]B121.业务层通过接口b中的配置对象Modify子接口,将该配置对象的配置类型、Modify命令、对象ID信息,传递给适配层;即实现业务层与适配层的信息传递,完成配置命令的下发。
[0124]B122.根据配置对象ID,通过读接口从配置数据库5中对象ID所代表的节点处,获取该配置对象的配置数据。
[0125]B123.基于通用业务模型I中配置类型间的相互关系,从该配置对象的配置数据中,解析该配置对象的关联对象,并从配置数据库5中获取关联对象的配置数据,然后进行信息适配处理,封装成原有驱动适配层专用的数据格式信息。
[0126]B124.在适配层执行PW功能的相关处理,执行配置对象的底层实际修改操作,完成后退出本流程,结束。
[0127]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种PTN设备基于通用业务模型的单盘配置系统,与外部管控单元信息交互,其特征 在于,包括:通用业务模型,使配置过程中各层模块有统一的数据结构;配置信息模块,包括配置消息、配置条目和配置对象,三者均包括配置数据,配置条目 和配置对象还包括配置命令,配置条目有条目类型之分;配置消息是外部管控单元下发给 单盘的配置信息,一个配置消息代表若干个功能或业务对应的配置信息集合;一个配置条 目代表一个功能或业务对应的配置信息;一个配置对象代表一个子功能或子业务的配置信 息;匹配规则库,用于存储条目类型与配置类型的对应关系;映射关系库,用于存储每个配置条目与配置对象的对应关系;配置数据库,用于保存PTN单盘所有配置对象的配置数据,并提供统一的基于配置对象 的访问接口;ID资源管理模块,用于配置对象ID的分发与回收的维护管理;模块间接口,用于对配置对象进行操作的接口;配置对象处理模块,用于对配置对象的配置信息进行处理。2.如权利要求1所述的PTN设备基于通用业务模型的单盘配置系统,其特征在于:PTN单 盘所有业务和功能进一步细化为独立的子业务和子功能,并抽象为基本的配置类型,通用 业务模型包括所述配置类型的集合,以及配置类型之间的关系。3.如权利要求1所述的PTN设备基于通用业务模型的单盘配置系统,其特征在于:一个 配置消息包括若干个配置条目,一个配置条目匹配映射若干个配置对象。4.如权利要求1所述的PTN设备基于通用业务模型的单盘配置系统,其特征在于:配置 条目有条目类型,是由PTN单盘配置协议约定的功能或业务类型决定的,配置条目ID含在配 置条目的配置数据中;配制条目的配置命令分为set、delete两种。5.—种基于权利要求1所述系统的PTN设备基于通用业务模型的单盘配置方法,其特征 在于,包括步骤:51.通用业务模型、匹配规则库和配置数据库初始化;52.PTN单盘接收来自外部管控单元的配置信息,将一个配置消息拆分为若干个配置条 目,再将每个配置条目映射若干个配置对象;53.进行配置对象的配置功能处理,先将配置对象的配置信息分离成配置数据和配置 命令两部分,将所述配置数据保存到配置数据库,通过模块间接口将所述配置命令下发到 紧邻的下层功能模块中,每层功能模块依据通用业务模型、针对配置对象进行适配处理后, 完成相应配置命令的配置处理,直至最底层,将配置信息适配成直接写到芯片内部寄存器 或内部硬表的比特级数据,完成信息配置到单盘硬件。6.如权利要求5所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:所述 S2中,将一个配置消息拆分为若干个配置条目,具体包括,收到配置消息后,处理第一个配 置条目,获取配置条目的条目类型和信息长度,获取配置条目的全部配置信息,根据配置信 息中的配置命令,进行对应的配置命令操作,完成该配置条目的操作后,处理下一个配置条 目,直至所有配置条目处理完成。7.如权利要求6所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:所述配置命令为delete命令时,直接从映射关系库获取配置条目对应的配置对象列表,依次对 每个配置对象进行删除处理。8.如权利要求7所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:从映 射关系库获取配置条目对应的配置对象列表时,首先从配置条目的配置信息中取出配置条 目ID,并在映射关系库中搜索该配置条目ID,判断是否存在,若否,不需要删除,直接退出; 若是,说明已经存在该配置条目,应该删除。9.如权利要求8所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:所述 删除处理具体为,从映射关系库取出对应的配置对象列表,依次处理配置对象列表中的每 一个配置对象,通过配置对象处理模块进行删除处理,并从映射关系库中清除该配置条目 与配置对象的映射关系,ID资源管理模块回收所有删除的配置对象ID资源。10.如权利要求6所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:所述 配置命令为set命令时,根据匹配规则库,将配置条目映射为配置对象列表,生成映射关系 并写入映射关系库,基于通用业务模型衍生配置对象间的关联信息,从ID资源管理模块申 请新配置对象ID,汇集配置对象的全部配置信息。11.如权利要求10所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:配 置条目生成映射关系时,依次判断匹配规则中的每种配置类型的配置对象的属性值,看是 否存在配置条目的配置数据中,若否,不映射;若是,提取配置该配置对象的配置数据和配 置类型,将所有非空配置对象提取出来的信息缓存为对象列表X。12.如权利要求11所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:缓 存对象列表X后,判断映射关系库中是否含有配置条目ID,若否,set命令等效于所有配置对 象的新增命令;若是,说明已存在对应配置条目的配置,进行已有配置的修改。13.如权利要求12所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:set 命令等效于新增命令时,为对象列表中的每个配置对象,向ID资源管理模块申请新的配置 对象ID,暂存于对象列表X,对每个配置对象设置配置命令,依次处理每一个配置条目的配 置对象,映射关系库保存配置条目与配置对象的映射关系。14.如权利要求12所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:进 行已有配置的修改时,从映射关系库中取该配置条目的旧对象列表Y,基于匹配规则,将对 象列表X和旧对象列表Y进行对比合成处理,得到临时对象列表Z,临时对象列表Z包括全新 对象子集、旧对象子集和新换旧对象子集,为全新对象子集中的配置对象向ID资源管理模 块申请新的配置对象ID,暂存于对象列表X和临时对象列表Z,设置全新对象子集配置命令 为增加命令,旧对象子集配置命令为删除命令,新换旧对象子集配置命令为修改命令,通过 配置对象处理模块对配置对象进行相对应的配置命令处理。15.如权利要求5所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:S2 中,基于配置对象动态申请内存单元,将配置类型相同的所有配置对象组织成一棵二叉树, 再将指向二叉树根部的所有指针用链表串连,构建配置数据库。16.如权利要求15所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:S3 中,将所述配置数据保存到配置数据库,每个配置对象的配置数据分别存放在一个二叉树 节点中,节点采用动态方式申请或释放所需内存单元,并与节点代表的配置对象具有相同 的生存期。17.如权利要求16所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:为 每种配置类型配置读写接口,通过写接口将一个配置对象的配置数据存入对应配置类型二 叉树的相应节点,通过读接口将一个配置对象的配置数据从对应配置类型二叉树的相应节 点获取,通过配置对象ID搜索关键字来选择节点。18.如权利要求5所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:S3 中,将配置对象的配置信息实施解耦处理,分离出配置数据和配置命令两部分,从配置信息 中得到配置类型和配置对象ID,每层功能模块根据下发的配置命令进行相应处理。19.如权利要求18所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:如 果配置命令为删除命令,根据配置对象ID,从配置数据库中清除该配置对象的配置数据,将 命令下发至下层功能模块,下层功能模块按照配置命令做相应的删除操作,再次下发至底 层功能模块,底层功能模块执行配置对象的底层实际删除操作,完成。20.如权利要求18所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:如 果配置命令为增加命令,添加该配置对象的配置数据到单盘配置数据库,将命令下发至下 层功能模块,从配置数据库中获取关联配置对象的配置数据,做适配处理后,再次下发至底 层功能模块,执行实际增加操作,完成。21.如权利要求18所述的PTN设备基于通用业务模型的单盘配置方法,其特征在于:如 果配置命令为修改命令,在配置数据库中用该配置对象新配置数据覆盖旧配置数据,将命 令下发至下层功能模块,从配置数据库中获取关联配置对象的配置数据,进行配置信息的 适配处理,再次下发至底层功能模块,执行配置对象的实际修改操作,结束。
【文档编号】H04L12/24GK105959135SQ201610273762
【公开日】2016年9月21日
【申请日】2016年4月28日
【发明人】施先清
【申请人】烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1