[发明专利]一种基于Hash的字符串存储方法在审
申请号: | 201310569923.4 | 申请日: | 2013-11-16 |
公开(公告)号: | CN103778180A | 公开(公告)日: | 2014-05-07 |
发明(设计)人: | 陈洋 | 申请(专利权)人: | 大连创达技术交易市场有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 116011 辽宁省*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于Hash的字符串存储方法,用于解决存储客户端中大量的字符数据而造成的内存浪费问题,其并采用hash数据结构的字符串管理技术,重复性很高的字符串,在内存中只占用一个全集的nameHash,而使用地方只需要存储index即可,这样,字符串的占用资源的大小跟他的复杂度和使用次数基本无关,大大提高减少了内存占用率,同时,采用index的对比,可以快速的定位同名字符串,避开了繁琐的字符串比对操作,提高了程序的执行效率。 | ||
搜索关键词: | 一种 基于 hash 字符串 存储 方法 | ||
【主权项】:
一种基于Hash的字符串存储方法,其步骤如下: 步骤1:建立字符串HASH表; 选取合适的HASH函数;建立一个hash函数为int appstrhash(char*);把一个字符串转换为了一个Int值,HASH表的主键为Int的键值,而对应的容器中为各个字符串的字符值; 步骤2)加载资源时,对资源名进行HASH;对资源名进行拆分HASH,如果一个物件的名字为Map1_AM_StaticMesh,那么这个物件就可以表示成三个键值的Int集合;如结构体:Struct ResIndex{ Int KeyIndex; Int HashIndex;}Struct ResName{ ResIndex ResName;ResIndex MakerName;ResIndex KindName;};具体的字符串,只需要查找对应的hash表即可获得; 步骤3:字符按照使用周期的垃圾回收; 当资源的生存周期结束后,对字符hash表进行适时的回收;所述回收分为两个方式:动态回收和固定回收;动态回收:把对应hash表中的字符串删除,对应的容器index不发生改变;固定回收:整个字符串hash结构重构,删除不用的字符,同时重新生成Index值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连创达技术交易市场有限公司,未经大连创达技术交易市场有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310569923.4/,转载请声明来源钻瓜专利网。