发明名称 文件空闲块的分配和回收方法
摘要 文件空闲块的分配和回收方法,将文件按预设大小划分成N个文件块,并对文件块进行编号,将N个文件块中K个作为索引块,索引块采用双向链表连接,索引块中存储有本索引块的前索引块序号、后索引块序号和本索引块管理的空闲块的块数,根据索引块在双向链表中的顺序依次分配索引块管理的空闲块,并相应修改索引块中存储的信息。回收方法为,据索引块在双向链表中的顺序由索引块依次回收空闲块,并相应修改索引块中存储的信息。本发明特别适合于对实时性很高的应用场合。其在实时数据库海量历史数据的存储中将会节省大量的存储空间,同时由于其极高的空闲块分配速度可以保证实时数据库对数据的实时响应。
申请公布号 CN101692252B 申请公布日期 2014.03.26
申请号 CN200910194886.7 申请日期 2009.08.31
申请人 上海宝信软件股份有限公司 发明人 沈春锋;张超锋;丛力群;闻扬;董文生;李振光
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 上海金盛协力知识产权代理有限公司 31242 代理人 罗大忱
主权项 一种文件空闲块的分配方法,其特征在于:将文件按预设大小划分成N个文件块,并对文件块进行编号,将N个文件块中K个作为索引块,索引块采用双向链表连接,索引块中存储有本索引块的前索引块序号、后索引块序号和本索引块管理的空闲块的块数,根据索引块在双向链表中的顺序依次分配索引块管理的空闲块,并相应修改索引块中存储的信息;所述N个文件块中设有一保留块,所述索引块中的第一个索引块中的前索引块序号和最后一个索引块中的后索引块序号为保留块的序号;所述N个文件块编号依次为0、1、2、…、N‑1,所述保留块的块号为0,所述索引块的块号依次为1到K,每一索引块最多可存储m个文件块的编号,从序号为1的索引块开始,将从N‑1开始到K+1的整数依次写入该K个索引块中;在系统启动时,从文件保留块中获取索引块链表的首位置,然后在链表中遍历,如果索引块中的后索引块序号为0,将该索引块读入内存作为当前索引块,读取当前索引块中的第三个参数:块数h,如果h大于0,进入步骤11);如果h等于0,则转步骤12):11)通过块数获取当前索引块管理的空闲块的序号;将空闲块的序号分配给用户使用;当前索引块中的块数减1;12)如果当前索引块的前索引块序号不为0,则进入步骤121);如果当前索引块的前索引块序号为0,则转步骤122):121)读取当前索引块中的前索引块序号;将当前索引块作为空闲块,将其序号分配给用户;将前索引块中的后索引块序号置为0;122)将当前索引块作为空闲块,将其序号分配给用户;将保留块中的索引块链表首序号置为0。
地址 201203 上海市浦东张江高科技园区郭守敬路515号