专利名称:一种通信设备端口信息管理方法和系统的制作方法
技术领域:
本发明涉及通信设备信息管理领域,尤其是涉及到通信设备中与端口相关 信息的管理方法和系统。
背景技术:
通信接入设备利用多个端口进行通信,通信接入设备通过端口与其他通信 设备进行互联或连接用户终端设备。因此,通信接入设备需要对所有的端口 (包 括物理端口和逻辑端口)进行管理,即利用信息管理系统进行管理。信息管理 系统的这种管理既包括系统控制方面的,比如端口属性、状态等的管理;也包 括业务方面的,其中, 一般地,通信接入设备中所有基于端口的与之相关的业 务数据都需要组织和管理。
这些各种应用场合下利用信息管理系统进行管理的基于端口所管理的内 容统称为端口信息。
端口信息的信息管理在很大程度上影响着通信设备中各个不同的功能单 元的实现,最终影响到系统或业务功能的稳定性、可扩展性、可维护性等方面。
现有技术中,通信接入设备的信息管理系统往往使用静态数组或链表的数 据结构方式来管理端口信息,然而,但随着通信接入设备的不断发展,在越来 越多的应用场合下,静态数组或者链表的数据结构难以适应新的需求。
也就是说,现代通信接入设备,尤其是宽带接入设备的发展呈现出数量大, 集成度高,多样化的特点,现有的通信接入设备的端口信息管理系统无法满足 需求。
1)随着通信接入设备的端口数量不断增加,现有的信息管理系统消耗了 大量的资源。
与其他通信设备相比,宽带接入设备的用户端口数量原本就很大;而随着 新技术的发展,设备端口集成度在不断提高、系统中端口的总数也在不端增加。 面对数量巨大的端口,静态的端口信息管理方法将消耗大量的内存,尤其是某
些端口信息比较复杂的业务。
2) 随着通信接入设备的线卡端口集成度不断提高,现有的信息管理系统 可扩展性不好,很难根据业务的变化进行调整。
通信接入设备的线卡是交换机、路由器或其它网络设备的访问线路与访问 设备间的一种设备接口,可以用来连接电缆或光纤线路。
用静态方式管理通信接入设备的线卡端口时,通常在信息管理系统中定义 一个线卡的最大端口数,同时,为了线卡中的端口应用,分配端口信息的内存 时,也是根据线卡最大端口数分配。但是随着通信接入设备中的线卡集成度的 增加,通信接入设备的端口信息管理系统定义的线卡最大端口数也必须相应提 高,同时实现代码也必须相应调整,这时最大端口数的限制,使得信息管理系 统的可扩展性不好,很难根据业务的变化而调整。
3) 随着通信接入设备的端口接入方式多样化,现有的信息管理系统不能 适应多元化管理,同时也带来可扩展性的问题。
对通信接入设备而言,不同类型的线卡往往有不同的端口类型、端口密度。 这也使得设计中很难使用静态方式来组织端口信息。同样,新类型线卡的不断 出现也带来了系统可扩展性的问题。
因此,在很多情况下,静态方式的端口信息管理系统已经无法满足通信接 入设备的端口信息管理的需求。
发明内容
本发明的所要解决的问题是提供一种通信设备端口信息管理方法和系统, 其解决了现有技术使用静态方法进行端口信息管理时所面临的占用大量内存 及可扩展性差等问题,为系统控制或业务提供灵活、高效,便于扩展的端口信 息管理方法和系统。
为实现本发明目的而提供的一种通信设备端口信息管理方法,包括下列步
骤
步骤A,根据通信接入设备中的线卡,创建端口信息管理的动态链表树数
据库;
步骤B,根据通信接入设备中对线卡端口的操作信息,对动态链表树数据 库中的端口信息进行管理。
所述步骤B,根据通信接入设备中对线卡端口的操作信息,对动态链表树 数据库中的端口信息进行管理,具体包括下列步骤
步骤B1,判断通信接入设备中对线卡端口的操作;
步骤B2,根据判断的结果,当是为一个线卡端口配置信息时,则根据线 卡相应的动态链表树进行査找判断,或者创建相应的端口信息节点,并将配置 信息记录到端口信息节点中;或者修改相应端口信息节点的配置信息;
歩骤B3,根据判断的结果,当是要删除端口的端口信息时,则根据线卡 相应的动态链表树进行査找判断,在找到该端口相应的端口信息节点后,删除 该节点;
歩骤B4,根据判断的结果,当是査询端口配置信息时,则先根据线卡信 息的动态链表树定位到相应动态链表树根节点,然后再遍历动态链表树査找端 口对应的节点,获取配置信息。
所述步骤B2中,根据线卡相应的动态链表树进行查找判断,或者创建相 应的端口信息节点,并将配置信息记录到端口信息节点中;或者修改相应端口 信息节点的配置信息,具体包括以下步骤
步骤B21,先根据线卡相应的动态链表树的定位到相应的根节点,然后在 信息树上査找该端口对应的节点;
步骤B22,根据査找的结果,判断是否找到;
步骤B23,如果没找到,则创建该端口信息节点插入动态链表树,并将配 置信息记录到节点的端口信息节点中;
步骤B24,如果找到,则直接修改节点中的端口信息的配置信息。 所述步骤B3中,根据线卡相应的动态链表树进行查找判断,在找到该端
口相应的端口信息节点后,删除该节点,具体包括下列步骤
步骤B31,先根据线卡信息的动态链表树定位到相应动态链表树根节点, 然后在信息树上査找该端口对应的节点;
步骤B32,根据査找的结果,判断是否找到; 步骤B33,如果没找到,直接返回; 步骤B34,如果找到,则删除该节点。 所述步骤B34之后进一步包括下列步骤
当删除线卡时,线卡对应的动态链表树上所有节点都被删除,树根节点指
针置空。
为实现本发明目的还提供一种通信设备端口信息管理系统,包括动态链表 树数据库单元和端口信息管理单元,其中
所述动态链表树数据库单元,用于根据通信接入设备中的线卡端口信息, 创建并存储通信接入设备中的线卡的端口信息的动态链表树数据库;
端口信息管理单元,用于根据通信接入设备中对线卡端口的操作信息,对 动态链表树数据库中的端口信息进行管理。
所述端口管理信息管理单元,包括操作判断单元,配置信息单元,删除信 息单元,查询信息单元,其中
所述的操作判断单元,用于判断通信接入设备中对线卡端口的操作信息, 并根据不同的操作信息对动态链表树数据库中的端口信息进行不同的操作;
配置信息单元,用于当操作判断单元判断的结果是为一个线卡端口配置信 息时,根据线卡相应的动态链表树进行査找判断,或者创建相应的端口信息节 点,并将配置信息记录到端口信息节点中;或者修改相应端口信息节点的配置 信息;
删除信息单元,用于当操作判断单元判断的结果是要删除端口的端口信息 时,根据线卡相应的动态链表树进行查找判断,在找到该端口相应的端口信息 节点后,删除该节点;
査询信息单元,用于当操作判断单元判断的结果是查询端口配置信息时, 根据线卡相应的动态链表树进行遍历査找相应的端口信息节点,获取相应的端 口的配置信息。
所述动态链表树为二叉树。
所述二叉树的每个节点包含以下几个部分
连接词,用于连接二叉树中各个节点;
端口索引,用于标识端口,可用作以端口索引遍历二叉树时的关键字; 端口信息,用于根据不同应用,存放各种端口相关信息。 本发明的有益效果是本发明的通信设备端口信息管理方法和系统,通过 使用动态链表树结构的方式管理通信接入设备的端口信息,既要考虑灵活性, 又要考虑效率和易用性。其是一种基于链表树结构的端口信息动态信息管理, 可方便的适用于多种基于端口进行管理的应用场合,有很好的灵活性和可扩展性,同时有较高的效率,并能减少占用系统的内存。
图1是本发明通信设备端口信息管理方法流程图2是本发明实施例中管理通信设备端口信息流程图3是本发明实施例中配置端口信息流程图4是本发明实施例中删除端口信息流程图5是本发明端口信息链表树数据结构示意图6是本发明通信设备端口信息管理系统结构示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明的一种通信设备端口信息管理方法和系统进行进一步详细说 明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定 本发明。
本发明的通信设备端口信息管理方法和系统,通过使用动态链表树结构的 方式管理通信接入设备的端口信息。
如图1所示,下面详细说明本发明的通信设备端口信息管理方法
步骤sioo,根据通信接入设备中的线卡,创建端口信息管理的动态链表
树数据库。
为通信接入设备中每个线卡创建一棵二叉树(也可以称为端口信息树)的 动态链表树数据结构,动态链表树数据结构的根节点指针放在指针数组中,初
始为空(NULL)。该二叉树的动态链表树数据结构以端口标识为索引,将需 要管理的端口信息放在树节点中,这样形成一个线卡的信息管理的动态链表 树。将通信接入设备的每个线卡的端口信息的动态链表树依序排列,得到该通 信接入设备的端口信息管理的动态链表树数据库。
较佳地,动态链表树数据库以通信接入设备的线卡信息为下标的二维数 组,每个数组成员为相应线卡对应的二叉树(端口信息树)根节点指针。指针 初始为空(NULL)。
二叉树(端口信息树)的每个节点含以下几部分
连接词,用于连接二叉树中各个节点;
端口索引,用于标识端口,可用作以端口索引遍历二叉树时的关键字 (key);
端口信息,用于根据不同应用,存放各种端口相关信息。
步骤S200,根据通信接入设备中对线卡端口的操作信息,对动态链表树 数据库中的端口信息进行管理。
当为线卡端口创建相关配置数据时,相应在动态链表树数据库中创建一个 树节点插入到该线卡端口对应的动态链表的二叉树(端口信息树),并将相关 的配置数据存储到该二叉树中 ,
当为线卡端口删除配置数据时,相应地在动态链表树数据库中删除该线卡 端口对应的动态链表的二叉树(端口信息树)中对应的端口的树节点中的内容, 并删除该树节点。
当在线卡端口査询端口信息时,相应地在动态链表树数据库中査询该线卡 端口对应的动态链表的二叉树(端口信息树)中对应的端口的树节点中的内容。
当在线卡端口修改端口信息时,相应地在动态链表树数据库中修改该线卡 端口对应的动态链表的二叉树(端口信息树)中对应的端口的树节点中的内容。
当在线卡端口遍历端口信息时,相应地在动态链表树数据库中遍历该线卡 端口对应的动态链表的二叉树。
如图2所示,具体而言,本发明实施例中的对端口信息进行管理,包括下 列步骤
步骤S210,判断通信接入设备中对线卡端口的操作;
步骤S220,根据判断的结果,当是为一个线卡端口配置信息时,则根据 线卡相应的二叉树进行査找判断,或者创建相应的端口信息节点,并将配置信 息记录到端口信息节点中;或者修改相应端口信息节点的配置信息;
步骤S230,根据判断的结果,当是要删除端口的端口信息时,则根据线 卡相应的二叉树进行査找判断,在找到该端口相应的端口信息节点后,删除该 节点;
步骤S240,根据判断的结果,当是査询端口配置信息时,则先根据线卡 信息的二叉树定位到相应二叉树根节点,然后再遍历二叉树査找端口对应的节 点,获取配置信息。
如图3所示,步骤S220中,根据线卡相应的二叉树进行査找判断,或者 创建相应的端口信息节点,并将配置信息记录到端口信息节点中;或者修改相 应端口信息节点的配置信息,具体包括以下步骤
步骤S2201,先根据线卡相应的二叉树定位到相应的根节点,然后在二叉 树上查找该端口对应的节点;
步骤S2202,根据査找的结果,判断是否找到;
步骤S2203,如果没找到,则创建该端口信息节点插入二叉树,并将配置 信息记录到端口信息节点中;
步骤S2204,如果找到,则直接修改节点中的端口信息的配置信息。
如图4所示,步骤S230中,根据线卡相应的二叉树进行査找判断,在找 到该端口相应的端口信息节点后,删除该节点,具体包括下列步骤
步骤S2301,先根据线卡信息的二叉树,定位到相应二叉树根节点,然后 在信息树上査找该端口对应的节点;
步骤S2302,根据査找的结果,判断是否找到;
步骤S2303,如果没找到,直接返回;
步骤S2304,如果找到,则删除该节点。
步骤S2305,进一步地,当删除线卡时,线卡对应的二叉树上所有节点都 被删除,树根节点指针置空(NULL)。
如图5所示,下面通过使用动态链表树数据库管理组播业务端口鉴权信息 的例子予以说明。
其中,动态链表树数据库TreeTable[shelf][slot]是以通信接入设备的机框、
槽位为下标的二维数组,每个数组成员为相应线卡对应的二叉树(端口信息树) 根节点指针。指针初始为NULL。
二叉树(端口信息树)的每个节点含以下几部分.-
AvlNode:用来连接二叉树节点的部分
Portld:端口索引,用来标识端口,可用作以端口索引遍历二叉树时的关 键字(key)。
PortAttr:端口信息,根据不同应用,存放各种端口相关信息。本发明实 施例中为组播端口鉴权信息。
当为一个线卡端口 (以Portld标识)配置组播鉴权信息时,先根据线卡的 [shelf], [slot]定位到相应信息树根节点,然后在信息树上查找该端口对应的节 点。如果没找到,则创建该节点插入二叉树,并将配置信息记入节点的PortAttr 中。如果找到,则直接修改节点中的PortAttr配置信息。
相反,当要删除某端口的组播鉴权信息时,先根据线卡的shdf, slot定位 到相应信息树根节点,然后在信息树上査找该端口对应的节点。如果没找到, 直接返回。如果找到,则删除该节点。
当删除线卡时,线卡对应的二叉树上所有节点都被删除,树根节点指针置 NULL。
査询端口鉴权配置信息时,先根据线卡的shelf, slot定位到相应信息树根 节点,然后再遍历二叉树査找端口对应的节点,获取配置信息。
如图6所示,下面详细说明本发明的通信设备端口信息管理系统
本发明的通信设备端口信息管理系统60,包括动态链表树数据库单元61 和端口信息管理单元62。其中,
所述动态链表树数据库单元61,用于根据通信接入设备中的线卡端口信 息,创建并存储通信接入设备中的线卡的端口信息的动态链表树数据库。
所述的动态链表树数据库以通信接入设备的线卡信息为下标的二维数组, 每个数组成员为相应线卡对应的二叉树(端口信息树)根节点指针。指针初始 为空(NULL)。
二叉树(端口信息树)的每个节点含以下几部分 连接词用于连接二叉树中各个节点;
端口索引,用于标识端口,可用作以端口索引遍历二叉树时的关键字 Ckey) o
端口信息,用于根据不同应用,存放各种端口相关信息。 端口信息管理单元62,用于根据通信接入设备中对线卡端口的操作信息, 对动态链表树数据库中的端口信息进行管理。其包括操作判断单元63,配置
信息单元64,删除信息单元65,査询信息单元66。
其中,所述的操作判断单元63,用于判断通信接入设备中对线卡端口的 操作信息,并根据不同的操作信息对动态链表树数据库中的端口信息进行不同 的操作。
配置信息单元64,用于当操作判断单元63判断的结果是为一个线卡端口 配置信息时,根据线卡相应的二叉树进行查找判断,或者创建相应的端口信息 节点,并将配置信息记录到端口信息节点中;或者修改相应端口信息节点的配
置信息。
删除信息单元65,用于当操作判断单元63判断的结果是要删除端口的端 口信息时,根据线卡相应的二叉树进行査找判断,在找到该端口相应的端口信 息节点后,删除该节点。
如果当删除线卡时,线卡对应的二叉树上所有节点都被删除,树根节点指 针置空(NULL)。
査询信息单元66,用于当操作判断单元判断的结果是査询端口配置信息 时,根据线卡相应的二叉树进行遍历査找相应的端口信息节点,获取相应的端 口的配置信息。
本发明的通信设备端口信息管理系统60,利用动态链表树数据库单元61, 通过为通信接入设备中每个线卡创建动态链表树数据结构,形成一个线卡的信 息管理的动态链表树,得到该通信接入设备的端口信息管理的动态链表树数据库。
然后,根据通信接入设备中对线卡端口的操作信息,端口信息管理单元 62对动态链表树数据库中的端口信息进行管理。
首先,操作判断单元63判断通信接入设备中对线卡端口的操作; 然后,当操作判断单元63判断的结果是为一个线卡端口配置信息时,配 置信息单元64根据线卡相应的二叉树进行査找判断,或者创建相应的端口信 息节点,并将配置信息记录到端口信息节点中;或者修改相应端口信息节点的 配置信息;当操作判断单元63判断的结果是要删除端口的端口信息时,删除 信息单元根65据线卡相应的二叉树进行査找判断,在找到该端口相应的端口 信息节点后,删除该节点;当操作判断单元63判断的结果是査询端口配置信 息时,査询信息单元66根据线卡相应的二叉树进行遍历查找相应的端口信息 节点,获取相应的端口的配置信息。
在实际使用中,将本发明所述通信设备端口信息管理方法和系统可用于宽 带接入设备的组播鉴权管理等业务,取代原先静态数组的方法,解决了因系统
逻辑端口容量扩展造成的组播鉴权管理等业务占用内存过大的难题;同时也解 决了新增接入方式(GPON)后,其线卡最大逻辑端口数大幅增加带来的扩展 性问题。
本发明的通信设备端口信息管理方法和系统,具有以下的优点
1) 端口信息动态管理,节省内存。
很多情况下,设备并非满配置的;或者既便是满配置,对一业务而言,也 不是所有端口都需要开通或配置业务。本发明的通信设备端口信息管理方法和 系统中仅对创建了或有业务配置的端口创建相应节点,可以有效节省大量内 存。
2) 适应性好,便于扩展
二叉树的数据结构的特点决定了对每个线卡上的端口数量没有限制。对拥 有不同端口数量的各类线卡,都可以用端口信息树管理。当遇到新增类型线卡 或线卡端口集成度增加时,端口信息树的管理部分不需要做任何修改。另一方 面,当系统的总线卡数增加时,也只需相应增加根节点指针数组的大小,以容 纳更多的二叉树既可。
这个特点在宽带接入方式、技术,在接入设备发展迅速的情况下很有意义。
3) 简单高效
本发明实施例中的二叉树数据结构本身是排序的,其査询、插入、删除等 操作都有很好的效率。与静态数组相比,二叉树在效率方面有明显的优势。而 动态方法之所以采用二叉树,是因为与其他动态数据结构,如顺序链表等相比, 二叉树既方便又高效。
另一方面,本发明实施例的通信设备端口信息管理方法和系统,为每个线 卡单独创建一棵二叉树。这样对于一个端口,可以先通过线卡标识定位到二叉 树,再在二叉树上査找相应节点。这种两级定位的方式,比起将所有端口放在 一棵二叉树上,效率进一步提高。
通过以下结合附图对本发明具体实施例的描述,本发明的其它方面及特征 对本领域的技术人员而言是显而易见的。 以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只 是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行 解释。
权利要求
1、一种通信设备端口信息管理方法,其特征在于,包括下列步骤步骤A,根据通信接入设备中的线卡,创建端口信息管理的动态链表树数据库;步骤B,根据通信接入设备中对线卡端口的操作信息,对动态链表树数据库中的端口信息进行管理。
2、 根据权利要求l所述的通信设备端口信息管理方法,其特征在于,所 述步骤B,根据通信接入设备中对线卡端口的操作信息,对动态链表树数据库 中的端口信息进行管理,具体包括下列步骤步骤B1,判断通信接入设备中对线卡端口的操作;步骤B2,根据判断的结果,当是为一个线卡端口配置信息时,则根据线 卡相应的动态链表树进行査找判断,或者创建相应的端口信息节点,并将配置 信息记录到端口信息节点中;或者修改相应端口信息节点的配置信息;步骤B3,根据判断的结果,当是要删除端口的端口信息时,则根据线卡 相应的动态链表树进行査找判断,在找到该端口相应的端口信息节点后,删除 该节点;步骤B4,根据判断的结果,当是査询端口配置信息时,则先根据线卡信 息的动态链表树定位到相应动态链表树根节点,然后再遍历动态链表树,査找 端口对应的节点,获取配置信息。
3、 根据权利要求2所述的通信设备端口信息管理方法,其特征在于,所 述步骤B2中,根据线卡相应的动态链表树进行査找判断,或者创建相应的端 口信息节点,并将配置信息记录到端口信息节点中;或者修改相应端口信息节 点的配置信息,具体包括以下步骤-歩骤B21,先根据线卡相应的动态链表树的定位到相应的根节点,然后在 信息树上査找该端口对应的节点;步骤B22,根据査找的结果,判断是否找到;步骤B23,如果没找到,则创建该端口信息节点插入动态链表树,并将配 置信息记录到节点的端口信息节点中;步骤B24,如果找到,则直接修改节点中的端口信息的配置信息。
4、 根据权利要求2所述的通信设备端口信息管理方法,其特征在于,所 述步骤B3中,根据线卡相应的动态链表树进行査找判断,在找到该端口相应 的端口信息节点后,删除该节点,具体包括下列步骤步骤B31,先根据线卡信息的动态链表树定位到相应动态链表树根节点, 然后在信息树上查找该端口对应的节点;步骤B32,根据查找的结果,判断是否找到; 步骤B33,如果没找到,直接返回; 步骤B34,如果找到,则删除该节点。
5、 根据权利要求4所述的通信设备端口信息管理方法,其特征在于,所 述步骤B34之后进一步包括下列步骤当删除线卡时,线卡对应的动态链表树上所有节点都被删除,树根节点指 针置空。
6、 根据权利要求1至5任一项所述的通信设备端口信息管理方法,其特 征在于,所述动态链表树为二叉树。
7、 根据权利要求6所述的通信设备端口信息管理方法,其特征在于,所 述二叉树的每个节点包含以下几个部分连接词,用于连接二叉树中各个节点;端口索引,用于标识端口,可用作以端口索引遍历二叉树时的关键字; 端口信息,用于根据不同应用,存放各种端口相关信息。
8、 一种通信设备端口信息管理系统,其特征在于,包括动态链表树数据 库单元和端口信息管理单元,其中所述动态链表树数据库单元,用于根据通信接入设备中的线卡端口信息, 创建并存储通信接入设备中的线卡的端口信息的动态链表树数据库;端口信息管理单元,用于根据通信接入设备中对线卡端口的操作信息,对 动态链表树数据库中的端口信息进行管理。
9、 根据权利要求8所述的通信设备端口信息管理系统,其特征在于,所 述端口管理信息管理单元,包括操作判断单元,配置信息单元,删除信息单元, 查询信息单元,其中所述的操作判断单元,用于判断通信接入设备中对线卡端口的操作信息, 并根据不同的操作信息对动态链表树数据库中的端口信息进行不同的操作; 配置信息单元,用于当操作判断单元判断的结果是为一个线卡端口配置信 息时,根据线卡相应的动态链表树进行査找判断,或者创建相应的端口信息节点,并将配置信息记录到端口信息节点中;或者修改相应端口信息节点的配置 信息;删除信息单元,用于当操作判断单元判断的结果是要删除端口的端口信息 时,根据线卡相应的动态链表树进行査找判断,在找到该端口相应的端口信息 节点后,删除该节点;査询信息单元,用于当操作判断单元判断的结果是査询端口配置信息时, 根据线卡相应的动态链表树进行遍历査找相应的端口信息节点,获取相应的端 口的配置信息。
10、 根据权利要求8或9所述的通信设备端口信息管理系统,其特征在于, 所述动态链表树为二叉树。
11、 根据权利要求10所述的通信设备端口信息管理系统,其特征在于, 所述二叉树的每个节点包含以下几个部分连接词,用于连接二叉树中各个节点;端口索引,用于标识端口,可用作以端口索引遍历二叉树时的关键字; 端口信息,用于根据不同应用,存放各种端口相关信息。
全文摘要
本发明公开了一种通信设备端口信息管理方法和系统。该方法包括下列步骤步骤A,根据通信接入设备中的线卡,创建端口信息管理的动态链表树数据库;步骤B,根据通信接入设备中对线卡端口的操作信息,对动态链表树数据库中的端口信息进行管理。其是一种基于链表树结构的端口信息动态信息管理,可方便的适用于多种基于端口进行管理的应用场合,有很好的灵活性和可扩展性,同时有较高的效率,并能减少占用系统的内存。
文档编号H04L12/24GK101192944SQ20061011470
公开日2008年6月4日 申请日期2006年11月21日 优先权日2006年11月21日
发明者衍 谢 申请人:中兴通讯股份有限公司