[发明专利]一种数据存取方法及装置有效
申请号: | 201410040329.0 | 申请日: | 2014-01-27 |
公开(公告)号: | CN104809135B | 公开(公告)日: | 2019-01-11 |
发明(设计)人: | 谢立强 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 贾允;肖丁 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存取 方法 装置 | ||
一种数据存取方法,包括:在存储器中构建哈希桶和链表,接收存储数据的指令并获取要存储的对象,新分配一个链表的节点,并在该节点内写入该对象的序列号以及过期时间,将该节点插入到该链表中对应的位置使该链表中所有节点按照过期时间排序,根据该序列号获取一个索引值,将该对象以及该节点的地址存储在该哈希桶中下标为该索引值的位置。还提供一种数据存取装置,上述方法及装置可实现对数据高效的添加、查找、删除操作,以及实现高效的状态机超时检测操作。
技术领域
本发明涉及数据处理领域,尤其涉及一种数据存取方法及装置。
背景技术
在服务器模块开发过程中,经常会用到状态机,状态机对应的是一个数据结构,状态机的每一个状态的变化都是由于网络收发引起的,而在全异步的服务器模型中,为了实现IO复用,映射关系频繁被使用,并且服务器需要感知到状态机的超时。
现有技术中,标准模板库(STL,Standard Template Library)是C++标准库里的一个数据结构,内部是由红黑树实现的。
在以上现有技术中,数据处理效率低,需要平衡树结构,哈希算法选择不适当,会造成冲突较多,并且检测状态机超时需要遍历全部元素,检测效率低。
发明内容
有鉴于此,本发明提供一种数据存取方法及装置,可实现对数据高效的存取操作。
本发明实施例提供的数据存取方法,包括:
在存储器中构建哈希桶和链表;
接收存储数据的指令并获取要存储的对象;
新分配一个链表的节点,并在所述节点内写入所述对象的序列号以及过期时间;
将所述节点插入到所述链表中对应的位置使所述链表中所有节点按照过期时间排序;
根据所述序列号获取一个索引值;
将所述对象以及所述节点的地址存储在所述哈希桶中下标为所述索引值的位置。
本发明实施例提供的数据存取装置,包括:
构建模块,用于在存储器中构建哈希桶和链表;
第一获取模块,用于接收存储数据的指令并从所述指令中获取要存储的对象;
链表存储模块,用于新分配一个链表的节点模块,并在所述节点内写入所述对象的序列号以及过期时间;
链表排序模块,用于将所述节点插入到所述链表中对应的位置使所述链表中所有节点按照过期时间排序;
索引值获取模块,用于根据所述序列号获取一个索引值;
存储模块,用于将所述对象以及所述节点的地址存储在所述哈希桶中下标为所述索引值的位置。
本发明实施例提供的数据存取方法及装置,通过在互相可定位的哈希桶和链表组成的数据结构中,在链表中存储节点以及节点对应的数据,并根据存储位置生成索引值,以在哈希桶中快速定位需要处理的对象,用以实现高效的添加操作。并且,可以快速查找到过期的节点,提高处理过期节点的效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为计算装置的一个实施例的结构框图。
图2为第一实施例提供的数据存取方法流程图。
图3为第一实施例的方法中采用的哈希桶与链表的存储结构示意图。
图4为第二实施例提供的数据存取方法流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410040329.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置