[发明专利]一种面向实时数据库的表文件空间分配方法无效
申请号: | 201110082064.7 | 申请日: | 2011-04-01 |
公开(公告)号: | CN102184140A | 公开(公告)日: | 2011-09-14 |
发明(设计)人: | 刘波;刘华;薛亮;王智尧;李艳艳;汪红强;梁洁雯 | 申请(专利权)人: | 航天恒星科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F17/30 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 安丽 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 实时 数据库 文件 空间 分配 方法 | ||
技术领域
本发明属于数据库设计技术领域,涉及一种面向实时数据库的表文件空间分配方法,适用于卫星地面设备监控中实时数据库表的存储空间分配,适用于存储大量有关地面设备运行状态的实时数据。
背景技术
卫星地面设备监控系统需要对大量数据信息进行采集、传输、综合分析和计算等处理。从监控系统组成可以看出,数据是联系各功能模块的纽带。随着卫星地面应用系统的发展,地面设备监控系统的功能需求也不断增多、增强,数据量也不断扩大,数据之间的关系也越来越复杂。因此需要将数据库技术引入卫星地面设备监控中,采用数据库技术来管理、处理监控过程中的数据。但卫星地面设备监控中数据的一个显著特点是其有效时间短暂,过时则失效。而以关系数据库为代表的传统数据库的设计目标是维护数据的正确性、保证系统的低代价和提供友好的用户接口。这种数据库系统对传统的商务和事务型应用是有效、成功的,但对于新领域的实时数据和实时事务的应用要求难以胜任。所以,需要结合数据库技术和实时技术,研究具有显式定时限制的实时数据库系统。
在卫星地面设备监控中,实时数据库将面临大量的实时数据,最新的实时记录必须能在给定的时间期限内存入数据库表,因此必然涉及文件空间的分配和释放。如果不控制表文件中数据的写入或删除位置,随着分配和释放操作的累积,数据库文件将出现大量的不可再利用的微小碎片,降低数据库文件存储空间的利用率。同时过多的文件碎片必然导致分配存储空间时要进行多次遍历,降低数据库的实时性能。而且卫星地面设备监控中需存储的数据格式相对简单、固定和独立,传统的文件空间分配方法并没考虑到这种实时数据的特点,导致其在文件空间的利用率上很难达到要求。
发明内容
本发明的技术解决问题是:针对现有技术的不足,提供了一种面向实时数据库的表文件空间分配方法。采用本发明实现了实时数据库表文件存储空间的分配和释放,提高了数据库文件存储空间的利用率。
本发明的技术解决方案通过以下步骤实现:
(1)利用位图对数据库表文件中的空间进行管理,采用比特0代表未分配的存储单元,比特1代表已分配的存储单元;所述存储单元为大小相同的存储空间;
(2)针对分配或释放存储空间的操作,对表文件位图页面进行操作,
对于分配存储空间操作:
根据待分配空间的大小,确定所需存储单元的个数;
将表文件的位图页面换入到分配存储空间的进程缓冲区中;
采用位图法,在进程缓冲区的位图页面中寻找由连续比特0代表的存储单元,并将查找到的存储单元标记为比特1;若未找到由连续比特0代表的存储单元,则将表文件的下一个位图页面换入到分配存储空间的进程缓冲区中,继续寻找可分配的存储单元;循环进行直到寻找到足够的存储单元;
若在换入到分配存储空间的进程缓冲区中的表文件的最后一个位图页面中仍未寻找到足够的存储单元,则对进程缓冲区中表文件的位图页面进行扩展,并将寻找到的由连续比特0代表的存储单元标记为比特1;
根据找到的第一个存储单元,确定已分配存储空间的起始地址,并将起始地址返回给分配存储空间的进程;
对于释放存储空间操作:
根据待释放存储空间的大小,确定待释放存储空间对应的存储单元个数;
将表文件的位图页面换入到释放存储空间的进程缓冲区中;
根据待释放存储空间在位图页面中的起始位置和待释放存储单元的个数,寻找位图页面中的连续比特1代表的存储单元,并将比特1标记为比特0;
(3)将进程缓冲区中操作完的表文件位图页面换出到数据库表文件中。
在所述步骤(2)和步骤(3)中采用LRU算法将数据库表文件的一个页面换入到进程缓冲区或从进程缓冲区中换出到数据库表文件中。
本发明与现有技术相比具有如下优点:
(1)本发明根据地面设备监控中实时数据的特点,采用LRU算法实现数据库表文件页面转移到进程缓冲区中和从进程缓冲区中换出修改过的表文件页面,避免了大量磁盘页面换入换出的抖动现象;利用位图法管理文件存储空间,避免了大量碎片的出现,提高了数据库文件存储空间的利用率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天恒星科技有限公司,未经航天恒星科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110082064.7/2.html,转载请声明来源钻瓜专利网。