发明名称 一种基于Hash的字符串存储方法
摘要 本发明涉及一种基于Hash的字符串存储方法,用于解决存储客户端中大量的字符数据而造成的内存浪费问题,其并采用hash数据结构的字符串管理技术,重复性很高的字符串,在内存中只占用一个全集的nameHash,而使用地方只需要存储index即可,这样,字符串的占用资源的大小跟他的复杂度和使用次数基本无关,大大提高减少了内存占用率,同时,采用index的对比,可以快速的定位同名字符串,避开了繁琐的字符串比对操作,提高了程序的执行效率。
申请公布号 CN103778180A 申请公布日期 2014.05.07
申请号 CN201310569923.4 申请日期 2013.11.16
申请人 大连创达技术交易市场有限公司 发明人 陈洋
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种基于Hash的字符串存储方法,其步骤如下:    步骤1:建立字符串HASH表;<b> </b>选取合适的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值。
地址 116011 辽宁省大连市西岗区双兴街25号311室