首页 [word doc]基于B+树索引的实时数据库缓冲区管理算法

[word doc]基于B+树索引的实时数据库缓冲区管理算法

举报
开通vip

[word doc]基于B+树索引的实时数据库缓冲区管理算法[word doc]基于B+树索引的实时数据库缓冲区管理算法 基于B,树索引的实时数据库缓冲区管理算 法 工程技术 计算机光盘软件与应用 ComputerCDSoftwareandApplications2010年第12期 基于B+树索引的实时数据库缓冲区管理算法 社冀秦 (华北计算机系统工程研究所,北京100083) 摘要:考虑到工控位号历史数据时间戳递增的特点,针对已有实时数据库产品历史数据存储索引查询效率不高,磁 盘空间利用率低的不足,提出了一种以B+树为索引方式,以状态链表和页式存储为管理...

[word doc]基于B+树索引的实时数据库缓冲区管理算法
[word doc]基于B+树索引的实时数据库缓冲区管理算法 基于B,树索引的实时数据库缓冲区管理算 法 工程技术 计算机光盘软件与应用 ComputerCDSoftwareandApplications2010年第12期 基于B+树索引的实时数据库缓冲区管理算法 社冀秦 (华北计算机系统工程研究所,北京100083) 摘要:考虑到工控位号历史数据时间戳递增的特点,针对已有实时数据库产品历史数据存储索引查询效率不高,磁 盘空间利用率低的不足,提出了一种以B+树为索引方式,以状态链表和页式存储为管理方式的历史数据缓冲区管理方式. 经过实际测试表明,基于该缓冲区管理算法的历史数据存储模块存取效率高,并发性能好,磁盘空间的利用率高,完全可 以替代关系数据库作为实时数据库的历史数据存储模块. 关键词:实时数据库;历史数据;B+树 中图分类号:TP309文献标识码:A文章编号:1007-9599(2010)12-0116 一叭 B+TreeIndexbasedBuffermanagementAlgorithmofReal-timeDatabase DuJiqin (NationalComputerSystemsEngineeringResearchInstituteofChina,Beijing100083,China) Abstract:Consideringtheincrementofhistorydatatimestampinreal-timedatabase,withrespecttothedefectthatexisting real-timedatabaseproductarenoteffectiveatindexofdataandarelowinstorageutilization,thearticleproposesaB+treebased buffermanagementalgorithmwithstatelinkedlistandsegmentationwithpaging.theresultshowsthatthehistorystoragemodule usingthisalgorithmisgoodathandlinghistorydataaCCeSSandconcurrentrequests,withgoodstorageutilization. Keywords:Real-timedatabase;Historydata;B+tree 一 ,引言 实时数据库系统是开发实时控制系统,数据采集系统,CIMS 系统等的支撑软件.在流程行业中,大量使用实时数据库系统进 行控制系统监控,系统先进控制和优化控制”,本文针对工控历 史数据的特点,提出了一种改善的B+树索引,并将其应用到实时 数据库历史数据缓冲管理当中,测试结果证明,该设计有效避免 了因I/0操作而引起的系统阻塞,从而达到了高效管理历史数据 缓存的目的. 二,数据结构及算法 (一)改进的B+树 B一和B+树是关系数据库普遍常采用的数据结构,由于其每 个节点具有固定的大小,并且非叶子节点具有的大量的分支,使 其具有了更小的查找深度和更少的磁盘空间开销.但是由于为了 保持B+树的平衡性,当一个节点(无论是叶子节点还是非叶子节 点)由于数据写满而产生分裂的时候,节点会从中部裂开,并将 处于中间位置的键值写入其父节点,当写入键值的大小是随机 的情况下,这种策略是可以保证树的整体平衡性的,但是,对于 工业现场采集的历史数据而言,数据往往以其时间标签作为键值 ,正常情况下,该键值只会增加而不会减小.在这种情况下, 如果依然按照原来的策略进行节点分裂的话,势必造成时间标签 较小的那一页面的空间浪费,因为在无历史数据追加的情况下, 这一页面永远都不会再次插入数据了.因此,为了尽量提高页面 的利用率,我们将节点分裂的部位向后推移,对于叶节点,我们 将最后一条记录值复制到新申请的兄弟节点上,并将该记录的键 值插入到父节点中,对于非叶子节点,我们将最后一条键值写入 其兄弟节点中,将倒数第二条键值插入其父节点中,采用这种策 略,相比于原来的B+树,磁盘空间的利用率提升了近一倍,虽然 在一定程度上,B树的平衡性降低了,但查找效率并没有损失太 多,因此,总体来讲,改进的结果是利远大于弊. (二)插入及查找算法大致流程 最初系统为每一个测点分配一个叶子节点,当该结点写满之 后,会按照所讲到的策略进行分裂生成新的父节点和兄弟节点. 以后每生成一个新的兄弟节点,都会将该节点的第一条记录插入 父节点当中,如果父节点也被写满了,就按照策略进行内部节点 的分裂,当爷爷节点也被写满的时候,便按照父节点被写满时的 分裂方式,再次分裂,依次类推,直到父节点不需要再分裂,或 者没有父节点为止.当根节点因写满而分裂时,B+树的层次便提 升了一层,随着树的层次不断升高,B+树所索引的数据量也在以 指数方式增长. 三,数据写入速度测试结果 为了方便对比,本文选择在组态单点,10点,i00点和1000 点的情况下,写入7800万条数据所用的时间,经测试,平均写入 速度在150万次/秒左右. 四,总结 基于新的缓冲区管理算法的历史数据存储系统,具有层次清 晰,磁盘空间利用率大,数据存取效率高,并发性能良好的特点, 很适合作为要求快速响应的实时数据库的历史存储核心.今后应 当在此基础上,引入数据库点组态功能,支持更多的点类型,并 且逐步探索数据恢复功能,保证存储系统在遭到意外而终止之后, 能够在重启动之后将系统恢复到一致性状态. 参考文献: …刘卫昌,马增良.企业综合自动化系统中实时数据库系统设计卟 计算机应用研究,2005,22,8:146—149 【2】ThomasKyte.ExpertOracleDatabaseArchitecture9iandlOg ProgrammingTechniquesandSolutions[M].Apress,UnitedStatesof America,2005 【3】魏小亮,蔡弘B一树/B+树的批量插入算法叽北京:中央民族大 学 (自然科学版),2001,10,1:57—61
本文档为【[word doc]基于B+树索引的实时数据库缓冲区管理算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-11-15
浏览量:13