具有容量动态控制功能的内存数据存储装置及其实现方法制造方法及图纸

技术编号:2826703 阅读:321 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种具有容量动态控制功能的内存数据存储装置及其实现方法,该方法包括:步骤一,设置包含纵向链和横向链的二维表表示内存表,纵向链为各CQ队列的记录链,横向链为脏记录链,纵向链、横向链相交的节点是内存表的所有记录,包括脏记录、当前冲突队列记录和空闲队列记录,空闲队列记录存放在FQ队列,且FQ队列的首尾指针登记在内存表的表节点中;脏记录、当前冲突队列记录和空闲队列记录对应的记录数据保存在记录数据区链表中,该记录数据区链表的首地址登记在内存表的表节点中;及步骤二,通过相应的操作接口对内存表的容量进行相应的动态监控与调整。采用本发明专利技术大大提高了内存表的使用效率,从而大幅度提高系统处理数据的效率。

【技术实现步骤摘要】

本专利技术涉及一种具有容量动态控制功能的内存数据存储装置及其实现方 法,特别是涉及一种在应用系统运行过程中根据内存数据库的使用情况对内存 数据库容量进行动态调整以达到内存数据库持续可用的实现方法及其装置。
技术介绍
随着丰富多彩的各种移动增殖业务(如点对点短信业务、多媒体彩信业务 等)的开展及普及,业务量每年都在快速增长,为了提高系统的数据处理能力, 系统一般都采用内存数据库。因为内存数据库与物理数据库相比,有着无法比 拟的处理速度,所以内存数据库正被越来越多的业务系统所采用。在目前的内存数据库系统中, 一般都是采用一个哈希(Hash)冲突队列来 保存记录, 一条记录在内存数据库中的生存周期是由业务层来决定的,而不是 内存数据库主动控制,对内存数据库中的记录的清理都是采用 一个独立线程扫 描死记录(即生命周期超长的记录)的方式进行,而对内存数据库容量缺少一 种实时的监控与管理,很容易造成内存数据库的溢出(即使用率达100%), 使内存表无效。同时,又因为记录在内存数据库的生存周期是由业务层决定,所以就会存 在一旦业务层控制不好,一条记录就会反复在内存数据库与物理数据库之间反 复操作本文档来自技高网...

【技术保护点】
一种具有容量动态控制功能的内存数据存储装置,其特征在于,包括:数据存储模块、容量监控模块;所述数据存储模块又包括:CQ记录模块、DQ记录模块、FQ记录模块、记录数据模块及节点信息模块;所述CQ记录模块,用于通过各CQ队列的记录链分别存放同一哈希值的记录,并连接到哈希索引数据区链表上,且所述各记录链的链头连接在哈希入口链表上;所述DQ记录模块,用于通过脏记录链存放脏记录,并将接入所述脏记录链的记录连接到所述哈希索引数据区链表上;所述接入所述脏记录链的记录属于DQ队列节点,未接入所述脏记录链的记录属于当前记录队列节点,所述脏记录链中的脏记录按使用先后插入;所述各CQ队列的记录链与所述脏记录链相交的...

【技术特征摘要】
1. 一种具有容量动态控制功能的内存数据存储装置,其特征在于,包括数据存储模块、容量监控模块;所述数据存储模块又包括CQ记录模块、DQ记录模块、FQ记录模块、记录数据模块及节点信息模块;所述CQ记录模块,用于通过各CQ队列的记录链分别存放同一哈希值的记录,并连接到哈希索引数据区链表上,且所述各记录链的链头连接在哈希入口链表上;所述DQ记录模块,用于通过脏记录链存放脏记录,并将接入所述脏记录链的记录连接到所述哈希索引数据区链表上;所述接入所述脏记录链的记录属于DQ队列节点,未接入所述脏记录链的记录属于当前记录队列节点,所述脏记录链中的脏记录按使用先后插入;所述各CQ队列的记录链与所述脏记录链相交的节点为脏记录、当前冲突队列记录和空闲队列记录;所述FQ记录模块用于存放所述空闲队列记录;所述记录数据模块,连接所述CQ记录模块、所述DQ记录模块、所述FQ记录模块,用于通过记录数据区链表保存所述脏记录、所述当前冲突队列记录及所述空闲队列记录对应的记录数据;所述节点信息模块,连接所述CQ记录模块、所述DQ记录模块、所述FQ记录模块、所述记录数据模块,用于存放所述哈希入口链表的表头信息、所述DQ队列的首尾指针信息、所述FQ的首尾指针信息及所述记录数据区链表的首地址信息;所述容量监控模块通过不同的操作接口对所述数据存储模块进行相应的动态监控与调整。2、 根据权利要求1所述的具有容量动态控制功能的内存数据存储装置, 其特征在于,所述操作接口包括初始化接口、增加记录接口、査询记录接口、 修改记录接口、删除记录接口、迁移记录接口、动态控制接口和/或批量清理 接口。3、 一种具有容量动态控制功能的内存数据存储装置的实现方法,其特征 在于,包括步骤一,设置包含纵向链和横向链的二维表表示内存表,所述纵向链为各CQ队列的记录链, 一条所述记录链存放同一哈希值的记录,并连接到哈希索 引数据区链表上,所述记录链的链头连接在哈希入口链表上,所述哈希入口链 表的表头登记在所述内存表的表节点中;所述横向链为脏记录链,接入所述脏记录链的记录属于DQ队列节点,并 连接到所述哈希索引数据区链表上,未接入所述脏记录链的记录属于当前记录 队列节点,所述脏记录链中的记录按使用先后插入,所述DQ队列的首尾指针 登记在所述内存表的表节点中;所述纵向链、横向链相交的节点是所述内存表的所有记录,包括脏记录、 当前冲突队列记录和空闲队列记录,所述空闲队列记录存放在所述FQ队列, 且所述FQ队列的首尾指针登记在所述内存表的表节点中;所述脏记录、所述 当前冲突队列记录和所述空闲队列记录对应的记录数据保存在记录数据区链 表中,该记录数据区链表的首地址登记在所述内存表的表节点中;及步骤二,通过相应的操作接口对所述内存表的容量进行相应的动态监控与 调整。4、 根据权利要求3所述的具有容量动态控制功能的内存数据存储装置的 实现方法,其特征在于,所述内存表的表节点的结构具体包括表名、表总容 量、哈希模值、每条记录的大小、哈希入口链表的入口指针、哈希索引数据区 链表的指针、记录数据区的指针、FQ队列的队首和队尾、DQ队列的队首和 队尾、DQ队列的记录数、CQ队列的记录数;其中,所述哈希索引数据区链 表的指针又包括CQ队列的下指针、DQ队列的前向指针、DQ队列的后向指 针。5、 根据权利要求3或4所述的具有容量动态控制功能...

【专利技术属性】
技术研发人员:陶长标
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1
相关领域技术
  • 暂无相关专利