一种文件数据库管理方法技术

技术编号:21913886 阅读:21 留言:0更新日期:2019-08-21 12:24
本发明专利技术公开一种文件数据库管理方法,包括数据的删除和数据的插入,文件数据库的文件头记录数据库中状态为“删除”的行的总行数;进行数据的删除时,首先将要删除的数据所在行的状态从“正常”改为“删除”,并更新文件数据库文件头的“已删除”的总行数;进行数据的插入时,若判断目前数据库没有状态为“删除”的数据,那么在数据库末尾增加一行,将需插入的数据放入此行;如果已经存在状态为“删除”的数据,将需插入的数据覆盖第一行状态为“删除”的行,并将该行数据的状态从“删除”改为“正常”,同时更新数据库的文件头状态为“删除”的行的数量。此种方法可优化数据库存储空间,提高数据库操作效率。

A File Database Management Method

【技术实现步骤摘要】
一种文件数据库管理方法
本专利技术涉及一种文件数据库管理方法,能够优化文件数据库存储性能。
技术介绍
文件数据库又叫嵌入式数据库,是将整个数据库的内容保存在单个索引文件中,以便于数据库的发布。文件数据库对于小型数据的存储有着很多的优点,比如免安装、支持跨平台、数据量不太大时速度快等优点。很多企业或研究机构,会自主开发文件数据库系统,具体是定义一张表结构,把每条数据按表结构的格式以二进制形式写入文件,数据库存储着一条或多条数据,每条数据的长度都是表结构的结构体长度,就形成了一个简单的文件数据库。文件数据库的基本操作有增、删、改、查,本专利技术对文件数据库性能的优化主要体现在优化增、删的操作。目前对文件数据库插入数据的做法,都是在文件数据库的末尾,按数据库表结构的格式增加一行数据。删除文件数据库数据的操作,如果把要删除的行从文件数据库删除,需要重写整个数据库文件,把被删除的行后面的数据往前移,这样对于数据库性能是非常差的,因为假设数据库文件大小为10MB,如果删除数据库的第一条数据,要把这10MB的内容重新写入文件。所以目前都是采用假删除的技术来实现文件数据库的数据删除,所谓假删除就是对要删除的行记录一个标志,标志该行的状态为“删除”,以此提高数据库操作性能。现有对文件数据库插入数据和删除数据的方法有很明显的缺陷:(1)把要删除的行从文件数据库删除,那就需要重写整个文件数据库,把被删除的行后面的数据往前移,每次删除一条数据都要重新写入整个文件数据库,效率非常低下;(2)在文件数据库末尾追加一条新数据,删除数据的方式为是对要删除的行记录一个标志,标志该行的状态为“删除”,实际上该条数据还是存在于文件数据库中,在多次删除数据后,数据库状态为“删除”的数据越来越多,会导致文件数据库越来越庞大,影响数据库的读写性能。
技术实现思路
本专利技术的目的,在于提供一种文件数据库管理方法,其可优化数据库存储空间,提高数据库操作效率。为了达成上述目的,本专利技术的解决方案是:一种文件数据库管理方法,为文件数据库中各行数据设置状态位,包含“正常”和“删除”,且文件数据库的文件头记录数据库中状态为“删除”的行的总行数;所述管理方法包括数据的删除和数据的插入,通过对状态位的修改,实现数据的删除和插入。上述数据的删除包括如下步骤:步骤a1,在文件数据库中找到要删除的数据,将该行数据的状态从“正常”改为“删除”;步骤a2,相应的,更新文件数据库文件头的“已删除”的总行数。上述数据的插入包括如下步骤:判断文件数据库中是否有状态为“删除”的数据,如果没有,那么在数据库末尾增加一行,将需插入的数据放入此行;如果已经存在状态为“删除”的数据,将需插入的数据覆盖第一行状态为“删除”的行,并将该行数据的状态从“删除”改为“正常”,同时更新数据库的文件头状态为“删除”的行的数量。其中,判断文件数据库中是否有状态为“删除”的数据的方法是,根据文件数据库记录的状态为“删除”的行的总行数来判断。采用上述方案后,本专利技术具有如下改进:(1)为了解决每次删除文件数据库的一条数据都要重新写入整个数据库文件,效率非常低下的问题,本专利技术把删除数据库方式改为标记数据状态为“删除”,这样,删除文件数据库的数据不需要重新写入整个数据库文件,只需要把要删除的行的状态改为“删除”;(2)为了解决现有数据库操作方式是插入数据都要在文件数据库末尾追加一条新数据,删除数据的是对要删除的行记录一个标志,标志该行的状态为“删除”,本专利技术把插入数据的方式改为覆盖到状态为“删除”的数据;(3)由于目前文件数据库频繁删除和插入数据导致数据库文件越来越庞大,影响数据库的读写性能,本专利技术通过将插入数据到文件数据库的方式设为优先查找状态为“删除”的数据的位置,并覆盖写到该位置,假设表A一行数据的长度是1kb,往表A执行1024次插入一条数据再删除该数据,现有方式的文件数据库大小=1kb*1024次=1mb,而采用本专利技术,文件数据库大小=1kb;(4)本专利技术能够优化数据库存储空间,提高数据库操作效率,只要对业务系统升级新数据库组件,就能达到优化数据库执行效率的目的,不影响原有的业务数据。附图说明图1是本专利技术中删除数据的流程图;图2是本专利技术中插入数据的流程图。具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。本专利技术提供一种文件数据库管理方法,包括数据的删除和数据的插入,文件数据库的文件头记录数据库中状态为“删除”的行的总行数;如图1所示,是数据的删除的流程图,包括如下步骤:步骤a1,在文件数据库中找到要删除的数据,将该行数据的状态从“正常”改为“删除”;步骤a2,相应的,更新文件数据库文件头的“已删除”的总行数。如图2所示,是数据的插入流程图,包括如下步骤:步骤b1,根据文件数据库记录的状态为“删除”的行的总行数,判断目前数据库是否有状态为“删除”的数据,如果没有,那么在数据库末尾增加一行,将需插入的数据放入此行;如果已经存在状态为“删除”的数据,那么将需插入的数据覆盖第一行状态为“删除”的行,并将该行数据的状态从“删除”改为“正常”,同时更新数据库的文件头状态为“删除”的行的数量。以上实施例仅为说明本专利技术的技术思想,不能以此限定本专利技术的保护范围,凡是按照本专利技术提出的技术思想,在技术方案基础上所做的任何改动,均落入本专利技术保护范围之内。本文档来自技高网
...

【技术保护点】
1.一种文件数据库管理方法,其特征在于:为文件数据库中各行数据设置状态位,包含“正常”和“删除”,且文件数据库的文件头记录数据库中状态为“删除”的行的总行数;所述管理方法包括数据的删除和数据的插入,通过对状态位的修改,实现数据的删除和插入。

【技术特征摘要】
1.一种文件数据库管理方法,其特征在于:为文件数据库中各行数据设置状态位,包含“正常”和“删除”,且文件数据库的文件头记录数据库中状态为“删除”的行的总行数;所述管理方法包括数据的删除和数据的插入,通过对状态位的修改,实现数据的删除和插入。2.如权利要求1所述的一种文件数据库管理方法,其特征在于:所述数据的删除包括如下步骤:步骤a1,在文件数据库中找到要删除的数据,将该行数据的状态从“正常”改为“删除”;步骤a2,相应的,更新文件数据库文件头的“已删除”的总行数。3.如权利要求1所述的一种...

【专利技术属性】
技术研发人员:涂高元邱志斌郭永兴陆云燕吴炜斌
申请(专利权)人:厦门天锐科技股份有限公司
类型:发明
国别省市:福建,35

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

1