首页 > 专利 > 上海斐讯数据通信技术有限公司 > 一种MAC地址学习时哈希冲突的同步方法专利详情

一种MAC地址学习时哈希冲突的同步方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2014-12-01
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2015-09-16
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2017-11-24
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2034-12-01
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201410717423.5 申请日 2014-12-01
公开/公告号 CN104468362B 公开/公告日 2017-11-24
授权日 2017-11-24 预估到期日 2034-12-01
申请年 2014年 公开/公告年 2017年
缴费截止日 2022-01-01
分类号 H04L12/743 主分类号 H04L12/743
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 4
权利要求数量 5 非专利引证数量 0
引用专利数量 3 被引证专利数量 0
非专利引证
引用专利 CN101232444A、CN103731355A、US2014064090A1 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 上海斐讯数据通信技术有限公司 当前专利权人 台州市吉吉知识产权运营有限公司
发明人 周风林、胡哲、刘驰 第一发明人 周风林
地址 上海市松江区思贤路3666号 邮编 201616
申请人数量 1 发明人数量 3
申请人所在省 上海市 申请人所在市 上海市松江区
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明提供了一种MAC地址学习时哈希冲突的同步方法,创建一个同步队列,芯片每学习到一个MAC地址就将MAC地址信息加入到同步队列,MAC地址信息加入同步队列为先进先出的顺序;读取同步队列的第一条MAC地址信息;判断MAC地址对应的哈希桶是否已满;若MAC地址对应的哈希桶未满,则从MAC地址信息提取地址添加到芯片,同时删除对应同步队列的MAC地址信息,否则进行哈希冲突处理步骤。采用本发明技术方案后,在MAC地址学习时发生哈希冲突,提供了一种处理方式,使多个芯片的哈希表保持MAC地址一致,且做到先学习到的MAC地址先存储到哈希表里,放弃后学习到的MAC地址。
  • 摘要附图
    一种MAC地址学习时哈希冲突的同步方法
  • 说明书附图:图1
    一种MAC地址学习时哈希冲突的同步方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-11-17 专利权的转移 登记生效日: 2020.11.04 专利权人由上海斐讯数据通信技术有限公司变更为台州市吉吉知识产权运营有限公司 地址由201616 上海市松江区思贤路3666号变更为318015 浙江省台州市椒江区洪家街道东环大道2388号农港城A区2-3167号
2 2017-11-24 授权
3 2015-09-16 实质审查的生效 IPC(主分类): H04L 12/743 专利申请号: 201410717423.5 申请日: 2014.12.01
4 2015-03-25 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种MAC地址学习时哈希冲突的同步方法,其特征在于,包括:
创建一个同步队列,芯片每学习到一个MAC地址就将MAC地址信息加入到同步队列,MAC地址信息加入同步队列为先进先出的顺序;
读取同步队列的第一条MAC地址信息;
判断MAC地址对应的哈希桶是否已满;
若MAC地址对应的哈希桶未满,则将MAC地址同步到芯片,否则进行哈希冲突处理步骤;
所述哈希冲突处理步骤包括:
逐条读取MAC地址对应的哈希桶里的地址信息并匹配所述同步队列中的MAC地址;
若哈希桶里的地址信息与同步队列中的MAC地址匹配,则在芯片中删除匹配中的地址信息,并删除同步队列中匹配中的MAC地址信息,将同步队列的第一条MAC地址信息中的MAC地址同步到芯片。

2.根据权利要求1所述的MAC地址学习时哈希冲突的同步方法,其特征在于,将MAC地址同步到芯片的步骤包括:
从MAC地址信息提取地址添加到芯片;
删除对应同步队列的MAC地址信息。

3.根据权利要求1所述的MAC地址学习时哈希冲突的同步方法,其特征在于,所述MAC地址信息包括MAC地址学习内容和学习MAC地址的芯片标识。

4.根据权利要求2所述的MAC地址学习时哈希冲突的同步方法,其特征在于,判断MAC地址对应的哈希桶是否已满的步骤包括:
从MAC地址信息中提取出芯片标识;
运用哈希算法得出哈希桶;
判断非MAC地址学习芯片的哈希桶是否已满。

5.根据权利要求1所述的MAC地址学习时哈希冲突的同步方法,其特征在于,还包括:
若哈希桶里的所有地址信息与同步队列中的MAC地址都不匹配,则直接删除同步队列中所有MAC地址信息。
说明书

技术领域

[0001] 本发明涉及交换机技术领域,尤其涉及一种MAC地址学习时哈希冲突的同步方法。

背景技术

[0002] 多芯片交换机,在硬件上MAC地址表通常是一个哈希表,芯片学习到的MAC地址可以存放在相关哈希桶的任意一空闲项里。当MAC地址的个数超过哈希桶的大小时就会出现哈希冲突,超出部分将无处可存放。例如一个16000个表项的MAC地址表要学习32000个的MAC地址时,至少有16K的MAC地址将不可避免的因为哈希冲突而被丢弃。
[0003] 多芯片的交换机要保证各芯片的MAC地址表保持一致。每块芯片都能自动学习MAC地址,它们学习的MAC地址可能不一样,例如在某一瞬间第一块芯片上学习到X条MAC地址,同时第二块芯片上学习到Y条MAC地址,这些MAC地址的哈希值都是同一个,芯片的哈希桶的大小均为Z,X和Y均小于Z,但是X+Y>Z,而且两个芯片上学习到的MAC地址没有交集,如何保持各芯片的MAC地址在逻辑上保持一致,如何处理超出的部分。

发明内容

[0004] 本发明需解决的技术问题是克服上述的不足,提供一种MAC地址学习时哈希冲突的同步方法,包括:
[0005] 创建一个同步队列,芯片每学习到一个MAC地址就将MAC地址信息加入到同步队列,MAC地址信息加入同步队列为先进先出的顺序;
[0006] 读取同步队列的第一条MAC地址信息;
[0007] 判断MAC地址对应的哈希桶是否已满;
[0008] 若MAC地址对应的哈希桶未满,则从MAC地址信息提取地址添加到芯片,同时删除对应同步队列的MAC地址信息,否则进行哈希冲突处理步骤。
[0009] 进一步的,所述MAC地址信息包括MAC地址学习内容和学习MAC地址的芯片标识。
[0010] 进一步的,判断MAC地址对应的哈希桶是否已满的步骤包括:
[0011] 从MAC地址信息中提取出芯片标识;
[0012] 运用哈希算法得出哈希桶;
[0013] 判断非MAC地址学习芯片的哈希桶是否已满。
[0014] 进一步的,所述哈希冲突处理步骤包括:
[0015] 逐条读取MAC地址对应的哈希桶里的地址信息并匹配所述同步队列中的MAC地址;
[0016] 若哈希桶里的地址信息与同步队列中的MAC地址匹配,则在芯片中删除匹配中的地址信息,并删除同步队列中匹配中的MAC地址信息,将同步队列的第一条MAC地址信息中的MAC地址同步到芯片。
[0017] 进一步的,若哈希桶里的所有地址信息与同步队列中的MAC地址都不匹配,则直接删除同步队列中所有MAC地址信息。
[0018] 采用本发明的技术方案后,在MAC地址学习时发生哈希冲突,提供了一种处理方式,使多个芯片的哈希表保持MAC地址一致,且做到先学习到的MAC地址先存储到哈希表里,放弃后学习到的MAC地址。

实施方案

[0020] 为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
[0021] 下面结合附图和实施方式对本发明作进一步说明。
[0022] 参阅图1,本发明提供的一种MAC地址学习时哈希冲突的同步方法,包括:
[0023] 步骤S100,创建一个同步队列,芯片每学习到一个MAC地址就将MAC地址信息加入到同步队列,MAC地址信息加入同步队列为先进先出的顺序;
[0024] MAC地址信息包括MAC地址学习内容和学习MAC地址的芯片标识,MAC地址学习内容即芯片学习到的MAC地址。芯片每学习到一个MAC地址,依照先后顺序放进同步队列,同步队列中,依照先进先出的原则,先进同步队列的MAC信息先同步。
[0025] 步骤S200,读取同步队列的第一条MAC地址信息。
[0026] 同步队列的第一条MAC地址,即同步队列的目标同步信息,同步队列的头部。读取第一条MAC地址信息,即MAC地址学习内容(MAC地址)和学习MAC地址的芯片标识。
[0027] 步骤S300,判断MAC地址对应的哈希桶是否已满;
[0028] 具体的,从MAC地址信息中提取出芯片标识;
[0029] 运用哈希算法得出哈希桶;
[0030] 判断非MAC地址学习芯片的哈希桶是否已满。
[0031] 芯片学习到的MAC地址是要同步到非学习芯片上,所以对应的哈希桶也是非学习芯片上的。
[0032] 步骤S400,若MAC地址对应的哈希桶未满,则将MAC地址同步到芯片;
[0033] 本实施例中,将MAC地址同步到芯片的步骤包括:
[0034] 从MAC地址信息提取地址添加到芯片;
[0035] 删除对应同步队列的MAC地址信息。
[0036] 步骤S500,若MAC地址对应的哈希桶已经满了,则进行哈希冲突处理步骤。
[0037] 具体的,哈希冲突处理步骤包括:
[0038] 逐条读取MAC地址对应的哈希桶里的地址信息并匹配所述同步队列中的MAC地址;
[0039] 若哈希桶里的地址信息与同步队列中的MAC地址匹配,则在芯片中删除匹配中的地址信息,并删除同步队列中匹配中的MAC地址信息,将同步队列的第一条MAC地址信息中的MAC地址同步到芯片;
[0040] 若哈希桶里的所有地址信息与同步队列中的MAC地址都不匹配,则直接删除同步队列中所有MAC地址信息。
[0041] 下面举例说明,假如现在有两个芯片,芯片对应的哈希桶容量为8,即可以存储8个MAC地址,。假设每个芯片都学习8个MAC地址,对应的哈希桶已经存储了8个MAC地址,还有8个在同步队列中。
[0042] 如何判断谁先学到谁后面学到呢?同步队列的顺序为准,先学到的肯定先进入队列,所以第一条MAC地址信息肯定比同步队列中的其他MAC地址先到,因为队列是按先进先出的原则操作的,第一条MAC地址信息是队列中的正在出队的MAC地址信息,其他的还在队列中。如果在一个芯片的哈希桶里面的地址信息与同步队列中MAC地址信息匹配,说明哈希桶里面的地址信息还没有完成同步,且该地址信息比同步队列第一条MAC地址信息晚学习到,应该将第一条MAC地址信息的MAC地址同步到该哈希桶,具体操作为先删除芯片中匹配的地址信息,并将同步队列中匹配中的MAC地址信息删除,再将第一条MAC地址信息中的MAC地址同步到芯片。
[0043] 在MAC地址对应的哈希桶满了后,通过上述步骤,提供一种哈希冲突处理机制,保证多个芯片的哈希表保持MAC地址一致,且保存先学习到的MAC地址。
[0044] 采用本发明的技术方案后,在MAC地址学习时发生哈希冲突,提供了一种处理方式,使多个芯片的哈希表保持MAC地址一致,且做到先学习到的MAC地址先存储到哈希表里,放弃后学习到的MAC地址。
[0045] 以上仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

附图说明

[0019] 图1是本发明提供的MAC地址学习时哈希冲突的同步方法框图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号