一种基于跳表的mac表项检索方法及系统的利记博彩app
【技术领域】
[0001]本发明涉及通信的技术领域,特别是涉及一种基于跳表的MAC表项检索方法及系统。
【背景技术】
[0002]在光线路终端(Optical Line Terminal,0LT)中,交换机(switch)以及无源光纤网络(Passive Optical Network,P0N)MAC芯片上都会对大量的MAC地址进行保存和管理。对于某个无源光纤网络(Passive Optical Network,P0N) 口下面接入的光网络单元(Optical Network Unit,0NU),从交换机端是无法直接获取MAC地址与下面ONU ID间的一一对应关系,需要与PON MAC芯片进行交互,从而一条一条的获取。
[0003]对于单个PON口下挂接大量OUN的情况,单条地查询MAC地址与ONU ID的对应关系显得相当低效。
【发明内容】
[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于跳表的MAC表项检索方法及系统,采用跳表进行MAC表项信息进行统一管理,并与PON MAC芯片交互通过MAC地址反查对应的ONU ID0
[0005]为实现上述目的及其他相关目的,本发明提供一种基于跳表的MAC表项检索方法,包括以下步骤:将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONU ID;在检索所需的MAC表项信息时,在跳表中进行查找。
[0006]于本发明一实施例中,新增MAC表项信息时,与PON MAC芯片进行交互获取MAC地址对应的ONU ID,并将MAC地址对应的VLAN、流量和ONU ID保存至跳表。
[0007]于本发明一实施例中,删除MAC表项信息时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
[0008]于本发明一实施例中,变更MAC表项时,与PON MAC芯片进行交互获取MAC地址对应的ONU ID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONU ID保存至跳表。
[0009]于本发明一实施例中,所述MAC表项信息存储在包括至少两层结构的跳表中;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。
[0010]同时,本发明还提供一种基于跳表的MAC表项检索系统,包括存储模块和查找模块;
[0011]所述存储模块用于将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONU ID;
[0012]所述查找模块用于在检索所需的MAC表项信息时,在跳表中进行查找。
[0013]于本发明一实施例中,新增MAC表项信息时,与PON MAC芯片进行交互获取MAC地址对应的ONU ID,并将MAC地址对应的VLAN、流量和ONU ID保存至跳表。
[0014]于本发明一实施例中,删除MAC表项信息时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
[0015]于本发明一实施例中,变更MAC表项时,与PON MAC芯片进行交互获取MAC地址对应的ONU ID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONU ID保存至跳表。
[0016]于本发明一实施例中,所述MAC表项信息存储在包括至少两层结构的跳表中;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。
[0017]如上所述,本发明的基于跳表的MAC表项检索方法及系统,具有以下有益效果:
[0018](I)通过采用跳表这种数据结构,对MAC表项信息进行统一管理,提升了 MAC表项查询与反查的效率;
[0019](2)数据的管理更加的简洁与高效,在查询多条甚至全部MAC表项时更加地快速与准确。
【附图说明】
[0020]图1显示为本发明的基于跳表的MAC表项检索方法的流程图;
[0021]图2显示为跳表的原理示意图;
[0022]图3显示为本发明的基于跳表的MAC表项检索系统的结构示意图。
[0023]元件标号说明
[0024]I 存储模块
[0025]2 查找模块
【具体实施方式】
[0026]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0027]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028]本发明的基于跳表的MAC表项检索方法及系统采用跳表这种相对比较高效的数据结构,对业务流中新增的、删除的以及变更的MAC表项信息进行本地保存与管理,并与PONMAC芯片交互获取MAC地址对应的ONU ID,并对应保存到跳表结构。
[0029]跳表是一种随机化的数据结构,只不过在链表的基础上增加了跳跃功能。正是这个跳跃功能,使得在查找元素时,跳表能够提供O(1gN)的时间复杂度。红黑树等这样的平衡数据结构查找的时间复杂度也是O(1gN),但是相比较实现像红黑树这样的数据结构,跳表实现显得更加简洁快速。因此,本发明的基于跳表的MAC表项检索方法能够在查询多条甚至全部MAC表项时更加地快速与准确。
[0030]具体地,跳表通过在每个节点中增加了向前的指针,从而提升查找的效率。跳跃列表是按层建造的。底层是一个普通的有序链表。每个更高层都充当下面列表的“快速跑道”,而最高层的元素在0(logl/p η)个列表中出现。跳表的核心思想就是把数据不断的提取出来,作为索引,其原理如图2所示。跳表以空间换时间,无论是单条表项还是多条甚至全部表项,都可以采用直接对本地跳表进行查询与搜索,从而加快了数据的处理速度。
[0031 ]因此,跳表至少包括两层结构;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。故跳表具有如下性质:
[0032](I)由至少两层结构组成;
[0033](2)每一层都是一个有序的链表;
[0034](3)最底层(Level I)的链表包含所有元素;
[0035](4)如果一个元素出现在Level i的链表中,则它在Level i之下的链表也都会出现。
[0036](5)每个节点包含两个指针,一个指向同一链表中的下一个元素,一个指向下面一层的元素。
[0037]参照图1,本发明的基于跳表的MAC表项检索方法包括以下步骤:
[0038]I)将MAC表项信息以跳表的方式进行存储。
[0039]其中,MAC表项信息包括MAC地址对应的VLAN、流量和ONU ID JAC表项信息存储在包括至少两层结构的跳表中。
[0040 ] 2)检索所需的MAC表项信息时,在跳表中进行查找。
[0041]其中,由于跳表由很多层组成,在查找MAC表项信息时,首