归档文件的写入和读取方法、装置、终端设备及存储介质制造方法及图纸

技术编号:36433593 阅读:16 留言:0更新日期:2023-01-20 22:46
本发明专利技术公开了一种归档文件的写入和读取方法、装置、终端设备及存储介质。该归档文件的写入方法包括:接收待写入数据文件;基于待写入数据文件对应的索引信息更新归档文件的尾部写入的索引文件得到目标索引文件;将目标索引文件写入归档文件的尾部,将待写入数据文件追加写入到归档文件的数据区,持续添加数据文件时只在归档文件的尾部追加数据文件,且更新归档文件尾部的索引文件,而不需要修改整个归档文件,解决采用ASSR文件进行文件归档的方式,不适用于在归档文件中追加内容的问题,提供一种支持持续追加写入文件归档方法,满足更广泛的数据归档需求。广泛的数据归档需求。广泛的数据归档需求。

【技术实现步骤摘要】
归档文件的写入和读取方法、装置、终端设备及存储介质


[0001]本专利技术涉及文件存储
,尤其涉及一种归档文件的写入和读取方法、装置、终端设备及存储介质。

技术介绍

[0002]文件归档是指将多个文件归档到一个归档文件的过程。目前主流的基于Node.js的归档文件主要是ASAR归档文件。
[0003]ASAR归档文件的优点是支持随机访问,使用JSON存储索引文件信息易于解析;缺点主要是在ASAR归档文件中追加内容时,需要修改它的文件头部存储的索引文件,从而导致有任何改动都需要重新修改整个ASAR归档文件。因此,ASAR归档文件一般只适用于一次性归档的场景。
[0004]显然,采用ASSR归档文件进行文件归档的方式适用场景有限,在不断会产生文件数据的文件归档场景下,是无法满足归档需求的。

技术实现思路

[0005]本专利技术提供了一种归档文件的写入和读取方法、装置、终端设备及存储介质,以解决采用ASSR文件进行文件归档的方式,不适用于在归档文件中追加内容的问题,提供一种支持持续追加写入文件归档方法,满足更广泛的数据归档需求。
[0006]根据本专利技术的第一方面,提供了一种归档文件的写入方法,包括:
[0007]接收待写入数据文件;
[0008]基于所述待写入数据文件对应的索引信息更新归档文件的尾部写入的索引文件得到目标索引文件;
[0009]将所述待写入数据文件追加写入到所述归档文件的数据区,将所述目标索引文件写入所述归档文件的尾部。
[0010]根据本专利技术的第二方面,提供了一种归档文件的读取方法,包括:
[0011]获取待读取数据文件存储路径;其中,所述待读取数据文件采用任一实施例所述的归档文件写入方法写入到所述归档文件;
[0012]根据所述存储路径初始化所述归档文件中的索引文件;
[0013]根据所述存储路径,从所述索引文件中获取所述待读取数据文件的索引信息;
[0014]基于所述索引信息从所述归档文件的数据区读取所述待读取数据文件。
[0015]根据本专利技术的第三方面,提供了一种归档文件的写入装置,包括:
[0016]数据文件接收模块,用于接收待写入数据文件;
[0017]索引文件更新模块,用于基于所述待写入数据文件对应的索引信息更新归档文件的尾部写入的索引文件得到目标索引文件;
[0018]文件写入模块,用于将所述待写入数据文件追加写入到所述归档文件的数据区,将所述目标索引文件写入所述归档文件的尾部。
[0019]根据本专利技术的第四方面,提供了一种归档文件的读取装置,包括:
[0020]路径获取模块,用于获取待读取数据文件的存储路径;其中,所述待读取数据文件采用任一实施例所述的归档文件写入方法写入到所述归档文件;
[0021]初始化模块,用于根据所述存储路径初始化所述归档文件中的索引文件;
[0022]信息获取模块,用于根据所述存储路径,从所述索引文件中获取所述待读取数据文件的索引信息;
[0023]数据文件读取模块,用于基于所述索引信息从所述归档文件的数据区读取所述待读取数据文件。
[0024]根据本专利技术的四五方面,提供了一种终端设备,所述终端设备包括:
[0025]至少一个处理器;以及
[0026]与所述至少一个处理器通信连接的存储器;其中,
[0027]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的归档文件的写入方法或者本专利技术任一实施例所述的归档文件的读取方法。
[0028]根据本专利技术的第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的归档文件的写入方法或者本专利技术任一实施例所述的归档文件的读取方法。
[0029]本专利技术实施例的技术方案,通过接收待写入数据文件;基于待写入数据文件对应的索引信息更新归档文件的尾部写入的索引文件得到目标索引文件;将目标索引文件写入归档文件的尾部,将待写入数据文件追加写入到归档文件的数据区,持续添加数据文件时只在归档文件的尾部追加数据文件,且更新归档文件尾部的索引文件,而不需要修改整个归档文件,解决采用ASSR文件进行文件归档的方式,不适用于在归档文件中追加内容的问题,提供一种支持持续追加写入文件归档方法,满足更广泛的数据归档需求。
[0030]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0031]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是本专利技术实施例一提供的一种归档文件的写入方法的流程图;
[0033]图2是归档文件中的索引文件的数据结构的示意图;
[0034]图3是本专利技术实施例二提供的一种归档文件的写入方法的流程图;
[0035]图4是归档文件的数据结构的结构示意图;
[0036]图5是本专利技术实施例三提供的一种归档文件的读取方法的流程图;
[0037]图6是本专利技术实施例四提供的一种归档文件的读取方法的流程图;
[0038]图7是本专利技术实施例三提供的一种归档文件的写入装置的结构示意图;
[0039]图8是本专利技术实施例三提供的一种归档文件的读取装置的结构示意图;
[0040]图9是实现本专利技术实施例的归档文件的写入或读取方法的终端设备的结构示意图。
具体实施方式
[0041]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0042]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0043]一般在文件客户端中(例如邮件客户端),需要将从服务器接收到的数据文件存储在本地磁盘文件系统便于快速读取,因此文件系统需要支持持续不间断的将新收取的数据文件写入到归档文件中,但是基于Node.js的ASAR归档文件一般只适用于一次性归档的场景,不支持归档文件的持续追加写入本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种归档文件的写入方法,其特征在于,包括:接收待写入数据文件;基于所述待写入数据文件对应的索引信息更新归档文件的尾部写入的索引文件得到目标索引文件;将所述待写入数据文件追加写入到所述归档文件的数据区,将所述目标索引文件写入所述归档文件的尾部。2.根据权利要求1所述的方法,其特征在于,所述基于所述待写入数据文件对应的索引信息更新归档文件的尾部写入的索引文件得到目标索引文件,包括:在所述归档文件的尾部写入的索引文件的大小大于预设数据量时,分割所述索引文件产生当前索引文件;其中,所述当前索引文件存储在所述归档文件的尾部,用于写入所述待写入数据文件对应的索引信息;将所述当前索引文件的链表指针指向分割前的索引文件的形成链表;基于所述待写入数据文件对应的索引信息更新所述当前索引文件存储的索引信息,得到目标索引文件。3.根据权利要求2所述的方法,其特征在于,所述归档文件的数据结构包括:头部区、数据区和位于所述归档文件的尾部的索引区;其中,所述索引区用于存储所述当前索引文件;所述头部区用于存储所述当前索引文件的偏移量和文件长度;所述数据区用于存储所述待写入数据文件和所述索引文件。4.根据权利要求1所述的方法,其特征在于,将所述待写入数据文件追加写入到所述归档文件的数据区,将所述目标索引文件写入所述归档文件的尾部,包括:在所述归档文件的数据区的尾部预留空白存储区域,所述空白存储区域的大小根据所述待写入数据文件的大小确定;将指向所述归档文件的尾部的写入指针移动至指向所述空白存储区域的末端,并在所述归档文件尾端写入所述目标索引文件;将所述写入指针移动至指向所述空白存储区域的起始端,在所述空白存储区域写入所述待写入数据文件。5.根据权利要求4所述的方法,其特征在于,还包括:将所述待写入数据文件的索引信息备份到日志文件;其中,所述日志文件和所述归档文件在同一目录下。6.根据权利要求1所述的方法,其特征在于,所述索引信息包括:数据文件的偏移量、文件大小和压缩存储标识。7.一种归档文件的读取方法,其特征在于,包括:获取待读取数据文件存储路径;其中,所述待读取数据文件采用权利要求1

6任一所述的归档文件写入方法写入到所述归档文件;根据所述存储路径初始化所述归档文件中的索引文件;根据所述存储路径,从所述索引文件中获取所述待读取数据文件的索引信息;基于所述索引信息从所述归档文件的数据区读取所述待读取数据文件。8.根据权利要求7所述的方法,其特征在于,所述根据所述...

【专利技术属性】
技术研发人员:杨良志白琳汪志新方跃涵铁喜光
申请(专利权)人:彩讯科技股份有限公司
类型:发明
国别省市:

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

1