CN105516387A - 一种基于跳表的mac表项检索方法及系统 - Google Patents
一种基于跳表的mac表项检索方法及系统 Download PDFInfo
- Publication number
- CN105516387A CN105516387A CN201510906722.8A CN201510906722A CN105516387A CN 105516387 A CN105516387 A CN 105516387A CN 201510906722 A CN201510906722 A CN 201510906722A CN 105516387 A CN105516387 A CN 105516387A
- Authority
- CN
- China
- Prior art keywords
- mac address
- address entries
- jumping table
- onuid
- jumping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于跳表的MAC表项检索方法及系统,包括以下步骤:将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONU?ID;在检索所需的MAC表项信息时,在跳表中进行查找。本发明的基于跳表的MAC表项检索方法及系统通过采用跳表这种数据结构,对MAC表项信息进行统一管理,提升了MAC配置表项查询与反查的效率;数据的管理更加的简洁与高效,在查询多条甚至全部MAC表项时更加地快速与准确。
Description
技术领域
本发明涉及通信的技术领域,特别是涉及一种基于跳表的MAC表项检索方法及系统。
背景技术
在光线路终端(OpticalLineTerminal,OLT)中,交换机(switch)以及无源光纤网络(PassiveOpticalNetwork,PON)MAC芯片上都会对大量的MAC地址进行保存和管理。对于某个无源光纤网络(PassiveOpticalNetwork,PON)口下面接入的光网络单元(OpticalNetworkUnit,ONU),从交换机端是无法直接获取MAC地址与下面ONUID间的一一对应关系,需要与PONMAC芯片进行交互,从而一条一条的获取。
对于单个PON口下挂接大量OUN的情况,单条地查询MAC地址与ONUID的对应关系显得相当低效。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于跳表的MAC表项检索方法及系统,采用跳表进行MAC表项信息进行统一管理,并与PONMAC芯片交互通过MAC地址反查对应的ONUID。
为实现上述目的及其他相关目的,本发明提供一种基于跳表的MAC表项检索方法,包括以下步骤:将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONUID;在检索所需的MAC表项信息时,在跳表中进行查找。
于本发明一实施例中,新增MAC表项信息时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,并将MAC地址对应的VLAN、流量和ONUID保存至跳表。
于本发明一实施例中,删除MAC表项信息时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
于本发明一实施例中,变更MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONUID保存至跳表。
于本发明一实施例中,所述MAC表项信息存储在包括至少两层结构的跳表中;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。
同时,本发明还提供一种基于跳表的MAC表项检索系统,包括存储模块和查找模块;
所述存储模块用于将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONUID;
所述查找模块用于在检索所需的MAC表项信息时,在跳表中进行查找。
于本发明一实施例中,新增MAC表项信息时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,并将MAC地址对应的VLAN、流量和ONUID保存至跳表。
于本发明一实施例中,删除MAC表项信息时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
于本发明一实施例中,变更MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONUID保存至跳表。
于本发明一实施例中,所述MAC表项信息存储在包括至少两层结构的跳表中;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。
如上所述,本发明的基于跳表的MAC表项检索方法及系统,具有以下有益效果:
(1)通过采用跳表这种数据结构,对MAC表项信息进行统一管理,提升了MAC表项查询与反查的效率;
(2)数据的管理更加的简洁与高效,在查询多条甚至全部MAC表项时更加地快速与准确。
附图说明
图1显示为本发明的基于跳表的MAC表项检索方法的流程图;
图2显示为跳表的原理示意图;
图3显示为本发明的基于跳表的MAC表项检索系统的结构示意图。
元件标号说明
1存储模块
2查找模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的基于跳表的MAC表项检索方法及系统采用跳表这种相对比较高效的数据结构,对业务流中新增的、删除的以及变更的MAC表项信息进行本地保存与管理,并与PONMAC芯片交互获取MAC地址对应的ONUID,并对应保存到跳表结构。
跳表是一种随机化的数据结构,只不过在链表的基础上增加了跳跃功能。正是这个跳跃功能,使得在查找元素时,跳表能够提供O(logN)的时间复杂度。红黑树等这样的平衡数据结构查找的时间复杂度也是O(logN),但是相比较实现像红黑树这样的数据结构,跳表实现显得更加简洁快速。因此,本发明的基于跳表的MAC表项检索方法能够在查询多条甚至全部MAC表项时更加地快速与准确。
具体地,跳表通过在每个节点中增加了向前的指针,从而提升查找的效率。跳跃列表是按层建造的。底层是一个普通的有序链表。每个更高层都充当下面列表的“快速跑道”,而最高层的元素在O(log1/pn)个列表中出现。跳表的核心思想就是把数据不断的提取出来,作为索引,其原理如图2所示。跳表以空间换时间,无论是单条表项还是多条甚至全部表项,都可以采用直接对本地跳表进行查询与搜索,从而加快了数据的处理速度。
因此,跳表至少包括两层结构;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。故跳表具有如下性质:
(1)由至少两层结构组成;
(2)每一层都是一个有序的链表;
(3)最底层(Level1)的链表包含所有元素;
(4)如果一个元素出现在Leveli的链表中,则它在Leveli之下的链表也都会出现。
(5)每个节点包含两个指针,一个指向同一链表中的下一个元素,一个指向下面一层的元素。
参照图1,本发明的基于跳表的MAC表项检索方法包括以下步骤:
1)将MAC表项信息以跳表的方式进行存储。
其中,MAC表项信息包括MAC地址对应的VLAN、流量和ONUID。MAC表项信息存储在包括至少两层结构的跳表中。
2)检索所需的MAC表项信息时,在跳表中进行查找。
其中,由于跳表由很多层组成,在查找MAC表项信息时,首先从跳表的较高层开始查找,并根据查找结果跳至下一层继续进行查找。如此反复,直至查找到为止。由于跳表结果的特殊性,使得MAC表项信息的查找速度相较于逐个查找的速度有很大的提高。
如图2所示的跳表中,每个节点中存储一个MAC表项信息。该跳表共包含两层结构,其中第一层包括5-68这64个节点;第二层,也就是第一层的下层包含4-68这65个节点。当目标节点为节点4时,首先检索跳表的第一层。由于第一层包含的是5-68的节点,故通过对第一层的查找,无法找到节点4;于是转向第二层进行查找,由于第一层已经对5-68的节点进行过查找,故在第二层查找时,跳过5-68的节点,只对剩余节点进行查找,故在第二层时通过一次查找即可找到节点4,从而相较于逐个遍历的查找方式,极大地提高了检索速度。
本发明的基于跳表的MAC表项检索方法在MAC表项的新增、删除以及变更过程中,业务进程根据不同的指示(indication)回应,会自动的增添与删除相关的MAC配置信息,同时查询对应的ONUID,并把对应的VLAN和流量等信息保存到跳表。
具体地,新增MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,并将MAC地址对应的虚拟局域网(VirtualLocalAreaNetwork,VLAN)、流量(flow)和ONUID保存至跳表。
删除MAC表项时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
变更MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONUID保存至跳表。
参照图3,本发明的基于跳表的MAC表项检索系统包括存储模块1和查找模块2。
存储模块1用于将MAC表项信息以跳表的方式进行存储储。
其中,MAC表项信息包括MAC地址对应的VLAN、流量和ONUID。MAC表项信息存储在包括至少两层结构的跳表中。
查找模块2与存储模块1相连,用于在检索所需的MAC表项信息时,在跳表中进行查找。
其中,由于跳表由很多层组成,在查找MAC表项信息时,首先从跳表的较高层开始查找,并根据查找结果跳至下一层继续进行查找。如此反复,直至查找到为止。由于跳表结果的特殊性,使得MAC表项信息的查找速度相较于逐个查找的速度有很大的提高。
本发明的基于跳表的MAC表项检索方法在MAC表项的新增、删除以及变更过程中,业务进程根据不同的指示(indication)回应,会自动的增添与删除相关的MAC配置信息,同时查询对应的ONUID,并把对应的VLAN和流量等信息保存到跳表。
具体地,新增MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,并将MAC地址对应的虚拟局域网(VirtualLocalAreaNetwork,VLAN)、流量(flow)和ONUID保存至跳表。
删除MAC表项时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
变更MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONUID保存至跳表。
综上所述,本发明的基于跳表的MAC表项检索方法及系统通过采用跳表这种数据结构,对MAC表项信息进行统一管理,提升了MAC配置表项查询与反查的效率;数据的管理更加的简洁与高效,在查询多条甚至全部MAC表项时更加地快速与准确。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于跳表的MAC表项检索方法,其特征在于:包括以下步骤:
将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONUID;
在检索所需的MAC表项信息时,在跳表中进行查找。
2.根据权利要求1所述的基于跳表的MAC表项检索方法,其特征在于:新增MAC表项信息时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,并将MAC地址对应的VLAN、流量和ONUID保存至跳表。
3.根据权利要求1所述的基于跳表的MAC表项检索方法,其特征在于:删除MAC表项信息时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
4.根据权利要求1所述的基于跳表的MAC表项检索方法,其特征在于:变更MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONUID保存至跳表。
5.根据权利要求1所述的基于跳表的MAC表项检索方法,其特征在于:所述MAC表项信息存储在包括至少两层结构的跳表中;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。
6.一种基于跳表的MAC表项检索系统,其特征在于:包括存储模块和查找模块;
所述存储模块用于将MAC表项信息以跳表的方式进行存储;所述MAC表项信息包括MAC地址对应的ONUID;
所述查找模块用于在检索所需的MAC表项信息时,在跳表中进行查找。
7.根据权利要求6所述的基于跳表的MAC表项检索系统,其特征在于:新增MAC表项信息时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,并将MAC地址对应的VLAN、流量和ONUID保存至跳表。
8.根据权利要求6所述的基于跳表的MAC表项检索系统,其特征在于:删除MAC表项信息时,以MAC地址为关键值,从跳表中删除该MAC地址对应的MAC表项。
9.根据权利要求6所述的基于跳表的MAC表项检索系统,其特征在于:变更MAC表项时,与PONMAC芯片进行交互获取MAC地址对应的ONUID,从跳表中删除该MAC地址对应的MAC表项,并更新流量值,并将VLAN、更新的流量和ONUID保存至跳表。
10.根据权利要求6所述的基于跳表的MAC表项检索系统,其特征在于:所述MAC表项信息存储在包括至少两层结构的跳表中;每一层都是一个有序的链表;最底层的链表包含所有元素;上一层的元素均包含在下一层链表中,对下一层链表进行检索时,跳过上一层所包含的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906722.8A CN105516387B (zh) | 2015-12-09 | 2015-12-09 | 一种基于跳表的mac表项检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906722.8A CN105516387B (zh) | 2015-12-09 | 2015-12-09 | 一种基于跳表的mac表项检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105516387A true CN105516387A (zh) | 2016-04-20 |
CN105516387B CN105516387B (zh) | 2019-07-05 |
Family
ID=55724012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510906722.8A Active CN105516387B (zh) | 2015-12-09 | 2015-12-09 | 一种基于跳表的mac表项检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105516387B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045254A (zh) * | 2010-11-30 | 2011-05-04 | 福建星网锐捷网络有限公司 | 路由表的扩展处理方法、装置和网络设备 |
CN103457864A (zh) * | 2013-08-27 | 2013-12-18 | 福建星网锐捷网络有限公司 | 处理路由下一跳的方法、装置及网络设备 |
CN104243092A (zh) * | 2013-06-24 | 2014-12-24 | 华为技术有限公司 | 光网络单元onu、光线路终端olt以及信息传输方法 |
CN105049265A (zh) * | 2015-08-24 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种olt用户侧端口地址本地定位方法及生成方法 |
-
2015
- 2015-12-09 CN CN201510906722.8A patent/CN105516387B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045254A (zh) * | 2010-11-30 | 2011-05-04 | 福建星网锐捷网络有限公司 | 路由表的扩展处理方法、装置和网络设备 |
CN104243092A (zh) * | 2013-06-24 | 2014-12-24 | 华为技术有限公司 | 光网络单元onu、光线路终端olt以及信息传输方法 |
CN103457864A (zh) * | 2013-08-27 | 2013-12-18 | 福建星网锐捷网络有限公司 | 处理路由下一跳的方法、装置及网络设备 |
CN105049265A (zh) * | 2015-08-24 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种olt用户侧端口地址本地定位方法及生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105516387B (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101673307B (zh) | 空间数据索引方法及系统 | |
CN106462625B (zh) | 针对大型图表的实时所保存查询更新 | |
CN102971732B (zh) | 键/值存储器的集成分级查询处理的系统结构 | |
CN102541529B (zh) | 一种查询页面生成装置和方法 | |
CN100566281C (zh) | 虚拟私用网路由查找的方法和装置 | |
CN104794177B (zh) | 一种数据存储方法及装置 | |
CN103810237A (zh) | 数据管理方法和系统 | |
CN104850572A (zh) | HBase非主键索引构建与查询方法及其系统 | |
CN100407200C (zh) | 一种关联查询的系统及其方法 | |
WO2011067932A1 (ja) | 表検索装置、表検索方法、及び、表検索システム | |
EP2544414A1 (en) | Method and device for storing routing table entry | |
CN101655861A (zh) | 基于双计数布鲁姆过滤器的哈希方法和哈希装置 | |
CN103049473A (zh) | 一种数据查询方法及装置 | |
US20140229427A1 (en) | Database management delete efficiency | |
CN104268295A (zh) | 一种数据查询方法及装置 | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
CN111241108A (zh) | 基于键值对kv系统的索引方法、装置、电子设备和介质 | |
CN103020054A (zh) | 模糊查询方法及系统 | |
CN108874930A (zh) | 文件属性信息统计方法、装置、系统、设备及存储介质 | |
CN102736986A (zh) | 一种内容可寻址存储器及其检索数据的方法 | |
CN104462080A (zh) | 针对检索结果进行分组统计的索引结构创建方法和系统 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN104679904A (zh) | 一种路网中位置点查询方法及装置 | |
CN105516387A (zh) | 一种基于跳表的mac表项检索方法及系统 | |
CN111290714A (zh) | 数据读取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201102 Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province Patentee after: Taizhou Jiji Intellectual Property Operation Co.,Ltd. Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666 Patentee before: Phicomm (Shanghai) Co.,Ltd. |