[发明专利]数据存储方法、查找方法及装置有效
申请号: | 201410829380.X | 申请日: | 2014-12-26 |
公开(公告)号: | CN104484281B | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 高鋆;范路路;吴璠;李明玉 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 查找 装置 | ||
本申请公开了一种数据存储方法及装置,所述方法包括:对待存储到三态内容寻址存储器TCAM中的关键字Key进行哈希Hash运算,得到所述Key的Hash值;并,从预设的位图中为所述Key申请一个空闲bit位,将所述空闲bit位的状态置为占用;将所述Key和所述Key对应的bit位的身份标识ID保存在预设的Hash表中所述Key的Hash值对应的链表中,所述位图和所述Hash表均保存在内存中;将所述Key对应的bit位的ID和所述Key的关联数据存入TCAM中。本申请还公开了一种数据查找方法及装置。采用本申请实施例,以解决现有技术中TCAM存储空间浪费的问题。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据存储方法、查找方法及装置。
背景技术
三态内容寻址存储器(Ternary Content Addressable Memory,TCAM)中的每一个bit的状态可以是“0”或“1”,或者是第三种状态“don′t care”,所以称为“三态”。这个特点使得TCAM对所查找的数据的位域具有筛选的功能。TCAM表内所有条目都可以并行访问。例如,如果TCAM具有100条表项,能一次对这100条表项进行对比操作,相对于普通的轮询查找方法,提高了查找的速度。
TCAM所使用的特定Key长度主要有以下四种标准位宽:80bit,160bit,320bit和640bit。现有的TCAM的存储方案是:按照待存储的关键字key值的位宽选择需要用到的标准位宽,选择标准是选择大于待存储的Key值位宽的最小标准位宽。
在实际应用中,某些Key值的位宽较大,需要占用TCAM较大的存储空间,造成TCAM存储空间的浪费。同时,TCAM的Key值的位宽因业务需求各不相同,很难达到以上标准位宽。例如,报文的Key值的位宽为330bit,需要使用标准位宽为640bit的表项来存储,多出的310bit用mask码表示,可见,该表项浪费了310bit的空间。
由此可见,现有的存储方案存在浪费TCAM存储空间的问题。
发明内容
本申请提供数据存储方法、查找方法及装置,以解决现有技术中TCAM存储空间浪费的问题。
根据本申请实施例的第一方面,提供一种数据存储方法,所述方法包括:
对待存储到三态内容寻址存储器TCAM中的关键字Key进行哈希Hash运算,得到所述Key的Hash值;并,从预设的位图中为所述Key申请一个空闲bit位,将所述空闲bit位的状态置为占用;
将所述Key和所述Key对应的bit位的ID(Identity,身份标识)保存在预设的Hash表中所述Key的Hash值对应的链表中,所述位图和所述Hash表均保存在内存中;
将所述Key对应的bit位的ID和所述Key的关联数据存入TCAM中。
其中,所述对待存储到三态内容寻址存储器TCAM中的关键字Key进行哈希Hash运算包括:当Key的位宽超过预设字节长度时,对所述Key进行Hash运算。
其中,所述对待存储到三态内容寻址存储器TCAM中的关键字Key进行哈希Hash运算包括:当Key的位宽不是固定字节长度时,对所述Key进行Hash运算。
其中,所述从预设的位图中为所述Key申请一个空闲bit位,包括:从所述位图的第一个bit位开始搜索,当搜索到第一个状态为空闲的bit位时,将所述bit位分配给所述Key。
其中,所述方法还包括:删除TCAM中保存的所述Key对应的bit位的ID和所述Key的关联数据,删除所述Hash表中所述Key的Hash值对应的链表中保存的所述Key和所述Key对应的bit位的ID,并将所述位图中所述Key对应bit位的状态设置为空闲。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410829380.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置