【技术实现步骤摘要】
一种表项存储地址冲突的解决方法
[0001]本专利技术涉及数据通信
,具体涉及一种表项存储地址冲突的解决方法。
技术介绍
[0002]当前通信设备中,需要设置诸多转发表项,而这些表项,是根据某些特定关键字来索引的,这里就涉及到关键字到表项地址的对应关系。由于关键字的长度一般都是大于甚至远大于表项地址,所以在关键字到表项地址的对应过程中,不可避免地会产生地址冲突。为了减少冲突,目前业界多采用多个表项空间的方式解决,但这种方法只能减低冲突,依旧无法完全避免,且会增加表项空间开销。
技术实现思路
[0003](一)要解决的技术问题
[0004]本专利技术要解决的技术问题是:如何解决通信设备表项存储时,表项地址冲突的技术问题。
[0005](二)技术方案
[0006]为了解决上述技术问题,本专利技术提供了一种表项存储地址冲突的解决方法,包括以下步骤:
[0007]步骤101、根据新增表项的关键字,缩位计算表项地址,这里不限定缩位计算的方法;
[0008]步骤102、根据步 ...
【技术保护点】
【技术特征摘要】
1.一种表项存储地址冲突的解决方法,其特征在于,包括以下步骤:步骤101、根据新增表项的关键字,缩位计算表项地址,这里不限定缩位计算的方法;步骤102、根据步骤101计算的地址,读取表项存储器中对应地址的表项内容;步骤103、判断表项是否有效,如果表项无效,则说明该地址是空闲的,则执行步骤109;如果表项有效,说明该地址被占用,此时执行步骤104判断是否发生地址冲突;步骤104根据读取的存储器中表项内容中的“查表关键字”,缩位计算表项地址;然后执行步骤105;步骤105判断计算得到的地址跟表项地址是否相等,若得到的地址跟与表项存储地址相等的,则说明发生了地址冲突,则执行步骤106;不相等,则说明该地址被误占,执行步骤110;步骤106检测到地址冲突,则根据下一个表项地址,找到表项链表最后一个表项;然后执行步骤107;步骤107从空闲地址指示表中获取一个空闲地址,所述空闲地址指示表用于指示存储器中未被占用的地址信息;然后执行步骤108;步骤108将新增表项写入步骤107获取的空闲地址,然后将该地址写入表项链表最后一个表项的“下一个表项地址”,并且设置“下一个表项有效”标识,即将新增表项加入表项链表;然后执行步骤114;步骤109当新增表项关键字缩位计算得到的地址是空闲地址时,直接将表项写入该地址;然后执行步骤114;步骤110将新增表项写入被误占的地址,然后执行步骤111;步骤111从空闲指示表中获取一个空闲地址,然后执行步骤112;步骤112将原表项写入步骤111获取的空闲地址;然后执行步骤113;步骤113原表项移到新地址后,更新原表项所在的链表上一级表项的“下一个表项地址”字段;然后执行步骤114;步骤114新增表项写入存储器后,更新空闲指示表。2.一种基于如权利要求1所述的方法实现的表项查找方法。3.如权利要求2所述的方法,其特征在于,该表项查找方法包括以下步骤:步骤201设备接收报文;步骤202从报文提取查表所需的关键字;步骤203通过缩位计算方法,计算关键字对应的表项地址,这里并不限定缩位计算...
【专利技术属性】
技术研发人员:邱圣斌,沈皓,张红磊,侯运通,龚清生,沈月峰,王吕大,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。