一种动态数据存储方法技术

技术编号:6146535 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种动态数据存储方法:首先,根据外部输入的关键词构建键值对;其次,根据散列函数计算与键值对对应的数据的存储位置;接着,将外部输入的数据存储到本地内存中、计算获得的数据存储位置;最后,创建共享内存,将本地内存映射到共享内存中。本发明专利技术技术方案,可动态存储数据,实时地更新系统数据。在创建哈希表时,通过多个关键词自由组合形成不同键值对的方式,增加了数据存储的灵活性。相同键值对的数据以单链表的方式链接,确保在查找数据时,可以遍历所有对应相同键值对的数据。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及。
技术介绍
目前,现有的数据检索的存储方法主要包括静态查找表、动态查找表、哈希表。1)静态查找表仅做查询和检索操作的同一类型数据元素的集合 优点是数据存储时方便,检索快速缺点是功能单一。2)动态查找表在查询后将不在查找表中的数据插入到查找表中。优点是相对灵活。缺点是数据插入时时间复杂度较高3)哈希表hash表的实质是将关键值映射为地址。当关键值空间要比地址空间大的 多的时候就不可避免的会产生散列冲突问题。散列冲突会影响检索效率和检索结果。优点是查找效率快。缺点是实时性较差,数据更新需重新加载内存,对散列冲突的处理耗费较多时 间。
技术实现思路
本专利技术的目的在于提供。本专利技术的技术方案如下,,具体步骤如下 第一步,根据外部输入的关键词构建键值对;第二步,根据散列函数计算与所述键值对对应的数据的存储位置; 第三步,将外部输入的数据存储到本地内存中通过计算获得的数据存储位置; 第四步,创建共享内存,将所述本地内存映射到所述共享内存中。进一步地,所述第一步中,关键词为手机号段、业务账号、用户身份信息,上述关键 词中的两项或多项组合后形成所述键值对。进一步地,所述数据为提供服务的地区地址信息。进一步地,所述键值对以单链表的方式组织所述数据。本专利技术的有益效果是1.可动态存储数据,实时地更新系统数据。同时,因为本专利技术中的哈希表从本地内存映 射到共享内存中,则可删除本地内存中的哈希表,节省存储空间。2.在进行数据存储,创建哈希表时,通过多个关键词自由组合形成不同键值对的 方式,增加了数据存储的灵活性,检索时可通过键值对读取结果。3.相同键值对的数据以单链表的方式存放,确保在查找数据时,可以遍历所有对 应相同键值对的数据。附图说明图1为本专利技术动态数据存储方法的流程示意图。 具体实施例方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并 非用于限定本专利技术的范围。本专利技术提供,如图1所示,具体步骤如下 第一步,根据外部输入的关键词构建键值对;第二步,根据散列函数计算与键值对对应的数据的存储位置; 第三步,将外部输入的数据存储到本地内存中通过计算获得的数据存储位置; 第四步,创建共享内存,将本地内存映射到共享内存中。下面对本专利技术的工作过程进行简单介绍。首先,在本地内存中定义出key、value的存储结构体,建立key与value间的对应 关系,即可通过键值key查找到相应的数据value。其次,接收外部输入的关键词,该关键词可包括手机号段、业务账号(例如缴纳水 费、电费、燃气费等费单的账号)、用户ID (例如身份证号码等信息),任意组合上述关键词即 可形成多个键值对。在创建哈希表时,通过多个关键词自由组合形成不同键值对的方式,增加了数据 存储的灵活性,检索时可通过键值对读取结果。接着,通过散列函数计算与键值对对应的数据在本地内存中的存储位置,并将自 外部读取的相关数据存储到计算获得的存储位置中。该数据为提供服务的地区地址信息。最后,创建一个共享内存,将本地内存拷贝到共享内存中,即将哈希存储复制到共 享内存中。这就更新了哈希表,完成了动态数据的存储,在进行数据检索时,即可直接调用 共享内存中的哈希表。而本地内存中的哈希表则可删除,节省了存储空间。进一步地,在键值对与数据冲突时,键值对以单链表的方式组织数据。因为一个键值对可以唯一对应一个地区地址信息,也可以对应多个地区地址信 息。当一个键值对key对应多个地区地址信息value时,为了避免散列冲突,本专利技术中相同 的key的数据在内存中以单链表的方式存放。例如三个地区地址信息A、B、C对应一个相同 的key,则在创建哈希表时,可指定三个地区地址信息间的关联关系,例如通过key查找到 地区地址信息A后,如果A不是所需,则可根据A的指示继续查找C ;如果C还不是所需,则 可再进一步查找B,这样哈希表中,所有键值对相同的地区地址信息都能被查找一遍。下面简单介绍利用本专利技术的哈希表进行数据查找时的工作过程。首先,接收外部输入的关键词,将关键词组合后形成一个键值对。例如可将手机号 段、身份证号码、缴纳水费账单账号三个关键词组合构建一个键值对。其次,调用共享内存中的哈希表,根据上述生成的键值对来查找对应的地区地址信 息。通过地址信息再调用与所办业务相关的服务系统,进而完成所办业务。地区地址信息可以 是将某一省份按照业务负载量的多少划分为若干个区域,再为每个区域设置不同的地址信息。以上仅为本专利技术的较佳实施例,并不用以限制本专利技术,凡在本专利技术的精神和原则 之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。权利要求1.,其特征在于,第一步,根据外部输入的关键词构建键值对; 第二步,根据散列函数计算与所述键值对对应的数据的存储位置; 第三步,将外部输入的数据存储到本地内存中通过计算获得的数据存储位置; 第四步,创建共享内存,将所述本地内存映射到所述共享内存中。2.按照权利要求1所述的动态数据存储方法,其特征在于,所述第一步中,关键词为手机号段、业务账号、用户身份信息,上述关键词中的两项或 多项组合后形成所述键值对。3.按照权利要求1或2所述的动态数据存储方法,其特征在于,所述数据为提供服务的 地区地址信息。4.按照权利要求1或2所述的动态数据存储方法,其特征在于,所述键值对以单链表的 方式组织所述数据。5.按照权利要求3所述的动态数据存储方法,其特征在于,所述键值对以单链表的方 式组织所述数据。全文摘要本专利技术提供首先,根据外部输入的关键词构建键值对;其次,根据散列函数计算与键值对对应的数据的存储位置;接着,将外部输入的数据存储到本地内存中、计算获得的数据存储位置;最后,创建共享内存,将本地内存映射到共享内存中。本专利技术技术方案,可动态存储数据,实时地更新系统数据。在创建哈希表时,通过多个关键词自由组合形成不同键值对的方式,增加了数据存储的灵活性。相同键值对的数据以单链表的方式链接,确保在查找数据时,可以遍历所有对应相同键值对的数据。文档编号G06F17/30GK102117340SQ20111009736公开日2011年7月6日 申请日期2011年4月19日 优先权日2011年4月19日专利技术者张厚瑞, 杜鹏飞 申请人:北京神州数码思特奇信息技术股份有限公司本文档来自技高网...

【技术保护点】
1.一种动态数据存储方法,其特征在于,第一步,根据外部输入的关键词构建键值对;第二步,根据散列函数计算与所述键值对对应的数据的存储位置;第三步,将外部输入的数据存储到本地内存中通过计算获得的数据存储位置;第四步,创建共享内存,将所述本地内存映射到所述共享内存中。

【技术特征摘要】

【专利技术属性】
技术研发人员:杜鹏飞张厚瑞
申请(专利权)人:北京神州数码思特奇信息技术股份有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1