基于文件存储数据的存储方法及装置制造方法

文档序号:6514030阅读:186来源:国知局
基于文件存储数据的存储方法及装置制造方法
【专利摘要】本发明涉及数据存储领域,尤其涉及基于文件存储数据的存储方法及装置。该方法包括:在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表;接收待存储的数据记录;根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件;分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。通过本发明,可以进行高并发及高效读写充分利用存储,避免过多编程,并有很广泛的使用范围。
【专利说明】基于文件存储数据的存储方法及装置
【技术领域】
[0001 ] 本发明涉及数据存储领域,尤其涉及基于文件存储数据的存储方法及装置。
【背景技术】
[0002]伴随着计算机信息技术日益成熟和企业信息化建设的发展,动态数据的存储在企业信息化中具有十分重要的作用。
[0003]目前,在数据交换系统中,或者在信息系统中常用的动态数据存储基于关系型数据库。基于关系型数据库的数据存储方法包括:获得需要存储的数据记录;将所述数据记录按行存储、按定长大小数据存储或者按系列化对象存储在关系型数据库的数据表中,并对数据库表中的单列或多列创建索引记录,形成索引列表,以便处理所述数据文件的数据记录。
[0004]然而,基于关系型数据库的数据存储方法存在着如下的不足:数据库的中间件授权价格昂贵并且还需要额外的编程,造成实施成本及维护成本较高;针对整个数据表构建的索引记录导致在数据存储过程中效率较低。

【发明内容】

[0005]有鉴于此,本发明实施例提供基于文件存储数据的存储方法及装置,来降低实施成本及维护成本。
[0006]一方面,本发明实施例提供了基于文件存储数据的存储方法,所述方法包括:
[0007]在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表;
[0008]接收待存储的数据记录;
[0009]根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件;
[0010]分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。
[0011]进一步的,所述在操作系统中创建存储文件和辅助文件包括:
[0012]接收所述数据文件的名称和所述数据文件的存储单元的长度;
[0013]根据所述数据文件的名称和所述数据文件的存储单元的长度,在操作系统中创建所述数据文件和所述索引文件,其中所述数据文件用于存储所述数据记录,所述数据文件和所述索引文件名称一致;
[0014]构建空字节填充数组,所述空字节填充数组的长度等于所述数据文件的存储单元的长度;
[0015]根据所述索引文件构建空闲索引列表,其中,所述空闲索引列表用于获取所述数据文件中的存储位置。
[0016]进一步的,所述接收待存储的数据记录之后还包括:[0017]将所述数据记录转化为字节形式;
[0018]从所述空闲索引列表中获取第一个空闲索引编号,并把所述第一个空闲索引编号从所述空闲索引列表中删除;
[0019]在所述数据文件中定位到所述第一个空闲索引编号的存储位置。
[0020]进一步的,所述根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件还包括当实际存储的所述数据记录的长度小于所述数据文件的存储单元的长度时,使用所述空字节填充数组的部分字节填充所述存储单元。
[0021]进一步的,所述将所述索引记录存储到所述索引文件中之后包括更新最后一条索引记录。
[0022]进一步的,所述索引记录的内容包括所述数据记录的状态、所述数据记录的上一条数据记录的索引编号和所述数据记录的下一条数据记录的索引编号。
[0023]对应地,本发明实施例还提出了基于文件存储数据的存储装置,所述装置包括:
[0024]创建存储文件和辅助文件模块,用于在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表;
[0025]接收数据记录模块,用于接收待存储的数据记录;
[0026]存储数据记录模块,用于根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件;
[0027]分成并存储索引记录模块,用于分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。
[0028]进一步的,所述创建存储文件和辅助文件模块包括:
[0029]接收配置参数模块,用于接收所述数据文件的名称和所述数据文件的存储单元的长度;
[0030]创建文件模块,用于根据所述数据文件的名称和所述数据文件的存储单元的长度,在操作系统中创建所述数据文件和所述索引文件,其中所述数据文件用于存储所述数据记录,所述数据文件和所述索引文件名称一致;
[0031]构建空字节填充数组模块,用于构建空字节填充数组,所述空字节填充数组的长度等于所述存储单元的长度;
[0032]构建空闲索引列表模块,用于根据所述索引文件构建空闲索引列表,其中,所述空闲索引列表用于获取所述数据文件中的存储位置。
[0033]进一步的,所述装置还包括:
[0034]数据记录格式转化模块,用于将所述数据记录转化为字节形式;
[0035]空闲索引编号检索模块,用于从所述空闲索引列表中获取第一个空闲索引编号,并把所述第一个空闲索引编号从所述空闲索引列表中删除;
[0036]存储位置定位模块,用于在所述数据文件中定位到所述第一个空闲索引编号的存储位置。
[0037]进一步的,所述存储数据记录模块还包括空字节填充模块,用于当实际存储的所述数据记录的长度小于所述数据文件的存储单元的长度时,使用所述空字节填充数组的部分字节填充所述存储单元。[0038]进一步的,所述生成并存储索引记录模块还包括更新最后一条索引记录模块,用于更新最后一条索引记录。
[0039]进一步的,所述索引记录的内容包括所述数据记录的状态、所述数据记录的上一条数据记录的索引编号和所述数据记录的下一条数据记录的索引编号。
[0040]本发明实施例提出的基于文件存储数据的存储方法及装置,具有如下特点:首先,采用数据文件存储需要交换的数据或信息系统运行所需的动态数据,并可通过简单的API(Application Programming Interface,应用程序编程接口)进行高并发和高效读写,避免过多编程,并且有广泛的使用范围;其次,每条数据记录都有一个简单的、非常小索引记录,这样就能高效的定位到数据记录;另外,在数据文件中是按字节存储,这样既可以存储字符串,也可以存储系列化对象,提闻了其适用范围。
【专利附图】

【附图说明】
[0041]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0042]图1是本发明第一实施例中的基于文件存储数据的存储方法的实现流程图;
[0043]图2是数据文件中的所存储的数据记录示意图;
[0044]图3是索引文件中的所存储的索引记录示意图;
[0045]图4是索引记录的示意图;
[0046]图5为根据本发明第一实施例的基于文件存储数据的删除方法的实现流程图;
[0047]图6是根据本发明第三实施例的基于文件存储数据的存储装置的实现流程图;
[0048]图7是根据本发明第三实施例的基于文件存储数据的存储装置的示意图。
【具体实施方式】
[0049]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0050]在图1-图4中示出了本发明的第一实施例。
[0051]图1为根据本发明第一实施例的基于文件存储数据的存储方法的实现流程100,该实现流程100详述如下:
[0052]在步骤101中,在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表。
[0053]在第一实施例中,数据存储客户端在操作系统中创建存储文件、辅助文件和存储接口,其中,存储文件包括数据文件和索引文件。数据文件用于存储数据记录,索引文件用于存储数据记录的存储信息的索引记录。图2是数据文件中的所存储的数据记录示意图,数据文件中每条数据记录的长度是固定的,即数据文件的存储单元具有固定的长度。根据实际的应用场景进行评估确定,设置数据记录的长度为所需要处理数据集合中的最大长度值接近的值,数据记录以无序随机存储方式存储于数据文件。图3是索引文件中的所存储的索引记录示意图,索引文件以无序随机存储方式存储具有固定长度的索引记录集合。索引记录与数据记录一一对应,即每一条数据记录都有一条记录其存储信息的索引记录。图4是索引记录的示意图,索引记录包括数据记录的状态、数据记录的上一条记录的索引编号(上一条索引编号)和数据记录的下一条记录的索引编号(下一条索引编号)。由于索引记录中数据记录状态为布尔型(数据记录状态为false表示数据记录已经被使用,true表示数据记录未被使用)占用一个字节、上一条索引编号及下一条索引编号均为长整型,均占用8个字节,因此,索引记录具有17字节的固定长度。
[0054]在操作系统中初始化存储文件和辅助文件包括下列步骤:首先,接收外部编程设定的数据文件的名称和数据文件的存储单元的长度;其次,根据所述数据文件的名称和所述数据文件的存储单元的长度构建并以随即读写方式打开数据文件,同步构建并以随即读写方式打开与所述数据文件名称一致的索引文件,其中,所述数据文件和所述索引文件的文件后缀不同,如索引文件后缀为idx,数据文件后缀为mdf;再次,构建填充字节数组,其中,所述填充字节数组的内容是空字节,其长度与数据文件中存储单元的长度一致,目的在于当数据记录存储到数据文件中时,如果数据记录实际长度小于数据装置配置的数据记录长度,将使用该填充字节数组的部分字节进行填充;最后,根据所述索引文件构建空闲索引列表。构建空闲索引列表的过程中,如果索引文件为空文件,则空闲索引列表为空的;否则,遍历索引文件,读取所有的索引记录,如果索引记录的数据记录状态为false,则添加到空闲索引列表中,空闲索引列表的构建为快速的常规处理,能够简单的通过索引文件计算出那些记录索引编号是可用的,另外,为了高效的完成存储装置的初始化,这里需要单独的使用缓存的IO (Input/Output,输入或输出)操作,把索引文件中那些索引记录中的数据记录状态为false的添加到空闲索引列表中。
[0055]在步骤102中,接收待存储的数据记录。
[0056]在完成步骤101中存储文件初始化后,存储装置就处于可使用状态,可以接收待存储的数据记录,其中所述数据记录可以为任何数据,包括文本、字节流和图片等。
[0057]在步骤103中,根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件。
[0058]将数据记录存储到数据文件之前还包括下列步骤;存储接口将所述数据记录转化为字节形式,更进一步地,转化为UTF格式;从所述空闲索引列表中获取第一个空闲索引编号,并把所述第一个空闲索引编号从所述空闲索引列表中删除;在所述数据文件中定位到所述第一个空闲索引编号的存储位置,通过将第一个空闲索引编号乘以数据文件中存储单元的长度实现的。
[0059]将所述数据记录写入数据文件时,还需要用每条实际输入记录的长度减去数据文件中存储单元的字节长度,当结果不为O时,即实际存储的所述数据记录的长度小于所述存储单元的长度时,使用所述填充字节数组的部分字节填充所述存储单元。
[0060]在步骤104中,分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。
[0061]存储接口根据每一个所述数据记录分别生成一个索引记录。第一个空闲索引编号乘以索引记录长度17从而获得第一个空闲索引编号的序号存储位置,并且通过随机定位方式定位到第一个空闲索引编号序号存储位置。紧接着在索引文件中写入与所述数据记录相对应的索引记录,其中,是否使用过该数据记录的标识的值为false和上一条索引编号为最后一条数据记录的索引编号,同时下一条数据记录的索引编号为-1。同时地,更新最后一条索引记录的下一条索引编号为当前记录的索引编号,即所述第一个空闲索引编号,设置最后一条记录的索引编号为当前记录的索引编号。
[0062]本发明第一实施例是利用操作系统中的存储文件即数据文件和索引文件存储数据记录,而且所述数据文件的存储单元具有固定长度,针对每一个数据记录分别构建一个索引记录存储于索引文件中,这样就能高效的定位到某条数据记录以及所述某条数据记录的存储位置,同时,数据记录在数据文件中按字节存储,这样既可以存储字符串,也可以存储系列化对象,提高了适用范围。另外,本发明的第一实施例,采用操作系统中的存储文件存储数据记录,只需要简单的API接口进行高并发及高效读写,有效地避免了基于关系型数据库存储数据的过程中需要大量额外的编程以及后续的程序维护,从而有效地降低了开发成本。
[0063]在图5中示出了本发明的第二实施例。
[0064]图5为根据本发明第一实施例的基于文件存储数据的删除方法的实现流程500,该实现流程500详述如下:
[0065]在步骤501中,接收待删除数据记录的序号。
[0066]本发明实施例应用于同步删除存储文件中的数据记录及所述数据记录的索引记录,其中存储文件包括数据文件和索引文件。所述数据记录和索引记录分别存储于数据文件和索引文件中,数据记录以固定长度的字节形式存储于数据文件中,以序号标识数据记录。索引记录包括数据记录的状态、数据记录的上一条记录的索引编号即上一条索引编号、数据记录的下一条记录的索引编号即下一条索引编号,其中,数据记录状态为布尔型(数据记录状态为false代表该数据记录未被使用或者为true代表该数据记录被使用),数据记录装置占用一个字节、上一条索引编号及下一条索引编号均为长整型,均占用8个字节,因此索引记录长度固定为17字节。存储文件记录的存储,不是有序的,而是把记录存储到可用的位置。
[0067]接收待删除数据记录的序号,能够快速定位到所述数据记录和所述数据记录的索引记录,进而为高效完成删除该数据记录做铺垫。
[0068]在步骤502中,根据所述待删除数据记录的序号,同步删除所述数据记录并更新所述数据记录的上一条数据记录或者下一条数据记录的索引记录。
[0069]每条数据记录都具有一个与之相对应的索引记录。由于索引记录中含有数据记录的上一条索引编号和数据记录的下一条索引编号,因此删除所述数据记录时需要更新所述数据记录相邻的上一条数据记录或者下一条数据记录的索引记录。
[0070]根据所述待删除数据记录的序号,分别通过如下步骤删除所述数据记录,并同步更新相关联的索引记录:
[0071]当待删除数据记录为其所在的数据文件中第一条数据记录且为最后一条数据记录,即为数据文件中唯一条数据记录时,设置所述数据文件中第一条数据记录和最后一条数据记录均为-1。
[0072]当待删除数据记录为其所在的数据文件中第一条数据记录但不是最后一条数据记录时,进行如下操作:从与所述数据文件名称相一致的索引文件中读取第一条索引记录中的下一条索引编号;根据所述下一条索引编号获取下一条索引编号所对应的下一条索引记录和下一条数据记录;将所述下一条数据记录设置为第一条数据记录;将所述下一条索引记录中的上一条索引编号设置为-1。
[0073]当待删除数据记录为其所在的数据文件中最后一条数据记录但不是第一条数据记录时,进行如下操作:从与所述数据文件名称相一致的索引文件中读取最后一条索引记录中的上一条索引编号;根据所述上一条索引编号获取上一条索引编号所对应的上一条索引记录和上一条数据记录;将所述上一条数据记录设置为最后一条数据记录;将所述上一条索引记录中的下一条索引编号设置为-1。
[0074]当待删除数据记录为其所在的数据文件中既不为第一条数据记录同时也不是最后一条数据记录时,进行如下操作:从与所述数据文件名称相一致的索引文件中读取所述待删除数据记录对应的索引记录中的上一条索引编号和下一条索引编号;根据所述上一条索引编号和下一条索引编号分别地定位读取所述上上一条索引记录和下一条索引记录,设置所述上一条索引记录中的下一条索引编号为下一条数据记录的索引编号,下一条索引记录的上一条索引编号为上一条数据记录的索引编号。
[0075]在步骤503中,在索引文件中的读取所述待删除数据记录的索引记录,设置该索引记录中数据记录状态为false。
[0076]在数据文件中删除数据记录后,在与所述数据文件名称一致的索引文件中读取所述待删除数据记录的索引记录,设置所述索引记录中的数据记录状态为未使用,即设置为布尔型数据false。
[0077]在步骤504中,在空闲索引列表中添加所述索引记录的索引编号。
[0078]在删除数据记录后,释放了该数据记录的存储单元。将所述数据记录的索引记录编号添加到空闲列表中,以使新的数据记录能够使用释放的存储单元。
[0079]步骤501至步骤504适用于删除一部分数据记录,其中,所述数据记录存储于即为文件存储的装置中。如果删除数据存储装置中的所有数据记录时,通过如下简单操作即可实现:同步设置数据文件和索引文件的长度均为O即可,另外情况空闲索引列表中的空闲索引编号。
[0080]以下为本发明实施例的装置实施例,本发明的方法实施例和装置实施例属于同一构思,在装置实施例中未详尽描述的细节内容,可以参考上述方法实施例。
[0081]在图6和图7中示出了本发明的第三实施例。
[0082]图6为根据本发明第三实施例的基于文件存储数据的存储装置的实现流程600,该的实现流程600,该装置600详述如下:
[0083]该装置包括:创建存储文件和辅助文件模块601,用于在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表;接收数据记录模块602,用于接收待存储的数据记录;存储数据记录模块603,用于根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件;分成并存储索引记录模块604,用于分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。
[0084]该装置还包括:数据记录格式转化模块,用于将所述数据记录转化为字节形式;空闲索引编号检索模块,用于从所述空闲索引列表中获取第一个空闲索引编号,并把所述第一个空闲索引编号从所述空闲索引列表中删除;存储位置定位模块,用于在所述数据文件中定位到所述第一个空闲索引编号的存储位置。[0085]更进一步的,所述创建存储文件和辅助文件模块601包括:接收配置参数模块,用于接收所述数据文件的名称和所述数据文件的存储单元的长度;创建文件模块,用于根据所述数据文件的名称和所述数据文件的存储单元的长度,在操作系统中创建所述数据文件和所述索引文件,其中所述数据文件用于存储所述数据记录,所述数据文件和所述索引文件名称一致;构建空字节填充数组模块,用于构建空字节填充数组,所述空字节填充数组的长度等于所述存储单元的长度;构建空闲索引列表模块,用于根据所述索引文件构建空闲索引列表,其中,所述空闲索引列表用于高效获取所述数据文件中的存储位置。
[0086]更进一步的,所述存储数据记录模块603还包括空字节填充模块,用于当实际存储的所述数据记录的长度小于所述存储单元的长度时,使用所述空字节填充数组的部分字节填充所述存储单元。所述生成并存储索引记录模块604还包括更新最后一条索引记录模块,用于更新最后一条索引记录。
[0087]参见图7,该存储装置分别通过存储接口和读取接口在该装置存储数据记录和对外提供记录。读取接口读取数据记录的一种实现方式为根据索引编号读取数据记录,即以一个索引编号为参数,返回待读取的数据记录;另外一种实现方式是为数据存储装置提供类似于Java数组中遍历器Iterator,使用者能够更加便利的进行数据记录浏览封装,减少使用者的编程工作量。遍历器提供下一条记录操作、是否还有下一条操作和移除数据记录操作,所有这些操作均为同步操作,保证数据的一致性。
[0088]更进一步,该存储装置还包括数据记录遍历器,能够为使用者提供更加便利的。
[0089]更进一步的,该存储装置还可以包括数据记录总数设置模块,用于为数据存储装置增加数据文件可以保存的记录总数,这样可以有效的避免因为大量数据写入而造成数据文件过大,在写入时,如果数据文件中的数据记录数量超过数据存储装置所配置的记录总数,则可以报警并拒绝存储数据记录,也可以擦除最老的数据,而把数据写入到老数据的位置。
[0090]更进一步,该装置还可以包括数据文件名称驱动返回模块,用于提供根据数据文件名称返回存储装置实例的操作,这样更加方便多线程并发数据存取应用场景。
[0091]该装置还包括是否关闭的标识模块,用于设置是否关闭该数据存储装置,该标识模块的内容为布尔型数据即为true或false。如果需要关闭数据存储装置时,只需设置该标识为true,并关闭数据文件和索引文件即可。当存储装置关闭后,后续对数据存储装置的所有后续操作均不被执行,并会抛出数据读取异常提醒。
[0092]本发明基于文件存储需要交换的数据或信息系统运行所需的动态数据,并可通过简单的API进行高并发及高效读写,避免过多额外的编程,有效降低了存储数据的实施成本及维护成,并有很广泛的使用范围。
[0093]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【权利要求】
1.基于文件存储数据的存储方法,其特征在于,所述方法包括: 在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表; 接收待存储的数据记录; 根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件; 分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。
2.根据权利要求1所述的方法,其特征在于,所述在操作系统中创建存储文件和辅助文件包括: 接收所述数据文件的名称和所述数据文件的存储单元的长度; 根据所述数据文件的名称和所述数据文件的存储单元的长度,在操作系统中创建所述数据文件和所述索引文件,其中所述数据文件用于存储所述数据记录,所述数据文件和所述索引文件名称一致; 构建空字节填充数组,所述空字节填充数组的长度等于所述数据文件的存储单元的长度; 根据所述索引文件构建空闲索引列表,其中,所述空闲索引列表用于获取所述数据文件中的存储位置。
3.根据权利要求1所述的方法,其特征在于,所述接收待存储的数据记录之后还包括: 将所述数据记录转化为字节形式; 从所述空闲索引列表中获取第一个空闲索引编号,并把所述第一个空闲索引编号从所述空闲索引列表中删除; 在所述数据文件中定位到所述第一个空闲索引编号的存储位置。
4.根据权利要求1所述的方法,其特征在于,所述根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件还包括当实际存储的所述数据记录的长度小于所述数据文件的存储单元的长度时,使用所述空字节填充数组的部分字节填充所述存储单元。
5.根据权利要求1所述的方法,其特征在于,所述将所述索引记录存储到所述索引文件中之后包括更新最后一条索引记录。
6.根据权利要求1所述的方法,其特征在于,所述索引记录的内容包括所述数据记录的状态、所述数据记录的上一条数据记录的索引编号和所述数据记录的下一条数据记录的索引编号。
7.基于文件存储数据的存储装置,其特征在于,所述装置包括: 创建存储文件和辅助文件模块,用于在操作系统中创建存储文件和辅助文件,其中,所述存储文件包括数据文件和索引文件,所述辅助文件包括空字节填充数组和空闲索引列表; 接收数据记录模块,用于接收待存储的数据记录; 存储数据记录模块,用于根据所述辅助文件将所述数据记录以固定长度的字节形式存储到所述数据文件; 分成并存储索引记录模块,用于分别生成每一个所述数据记录的索引记录,并将所述索引记录存储到所述索引文件,其中,所述索引记录具有固定长度。
8.根据权利要求7所述的装置,其特征在于,所述创建存储文件和辅助文件模块包括: 接收配置参数模块,用于接收所述数据文件的名称和所述数据文件的存储单元的长度; 创建文件模块,用于根据所述数据文件的名称和所述数据文件的存储单元的长度,在操作系统中创建所述数据文件和所述索引文件,其中所述数据文件用于存储所述数据记录,所述数据文件和所述索引文件名称一致; 构建空字节填充数组模块,用于构建空字节填充数组,所述空字节填充数组的长度等于所述存储单元的长度; 构建空闲索引列表模块,用于根据所述索引文件构建空闲索引列表,其中,所述空闲索引列表用于获取所述数据文件中的存储位置。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括: 数据记录格式转化模块,用于将所述数据记录转化为字节形式; 空闲索引编号检索模块,用于从所述空闲索引列表中获取第一个空闲索引编号,并把所述第一个空闲索引编号从所述空闲索引列表中删除; 存储位置定位模块,用于在所述数据文件中定位到所述第一个空闲索引编号的存储位置。
10.根据权利要求7所述的 装置,其特征在于,所述存储数据记录模块还包括空字节填充模块,用于当实际存储的所述数据记录的长度小于所述数据文件的存储单元的长度时,使用所述空字节填充数组的部分字节填充所述存储单元。
11.根据权利要求7所述的装置,其特征在于,所述生成并存储索引记录模块还包括更新最后一条索引记录模块,用于更新最后一条索引记录。
12.根据权利要求7所述的装置,其特征在于,所述索引记录的内容包括所述数据记录的状态、所述数据记录的上一条数据记录的索引编号和所述数据记录的下一条数据记录的索引编号。
【文档编号】G06F17/30GK103500206SQ201310455152
【公开日】2014年1月8日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】张志武, 郑驰 申请人:北京华胜天成科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1