一种泛电子文件封装方法及装置与流程

专利2023-04-06  123



1.本发明涉及文件管理技术领域,具体涉及一种泛电子文件封装方法及装置。


背景技术:

2.目前,档案行业中各种档案管理系统管理的电子文件主要涉及图形图像、文档、音频、视频等几种类型,在实际应用时,通常需要将一次事件(如:一次会议、一次访问等)所产生的所有文件组织到一起,方便管理、利用。主要管理方式有文件夹、压缩包和数据库三种方式,文件夹的方式是将电子文件按顺序、分类、时间先后、类型等方式存储;压缩包的方式是将电子文件存储在压缩包文件(如:zip、rar等)中;数据库的方式是将电子文件存储在数据库中。在档案管理系统中利用方式主要使用adobeflashplayer和html5实现,采用bs架构,再结合上述文件夹、压缩包和数据库三种电子文件管理方式,通过谷歌、ie等浏览器查看各类电子文件。虽然,文件夹、压缩包、数据库都可以实现电子文件的组织管理、利用。但是,在迁移、备份、还原、资源优化、大文件利用(如:电子文件浏览、打印等)、元数据获取、缩略图获取、大图片的放大缩小等方面存在不足。


技术实现要素:

3.因此,本发明要解决的技术问题在于克服现有技术中对多种电子文件进行组织的方法,在后续对电子文件进行利用时效率较低的缺陷,从而提供一种泛电子文件封装方法及装置。
4.本发明第一方面提供了一种泛电子文件封装方法,包括如下步骤:新建空电子文件,在空电子文件中初始化索引区、清单索引区、清单数据区、文件数据存储区;获取多个电子文件,将各电子文件的文件数据写入文件数据存储区;根据各电子文件的文件数据的存储位置,为各电子文件建立文件数据清单,将文件数据清单写入清单数据区,文件数据清单用于存储对应电子文件的文件属性和文件数据的存储位置;根据各电子文件的文件数据清单的存储位置,建立各电子文件的清单索引,将清单索引写入清单索引区;根据各电子文件的清单索引的存储位置建立索引,将索引写入索引区;在空电子文件中写入文件头,完成对各电子文件的封装,形成封装文件。
5.可选地,在本发明提供的泛电子文件封装方法中,若电子文件中包含图形图像类文件,该方法还包括:初始化切片清单区和切片清单索引区;根据图形图像类文件生成切片数据,将切片数据写入数据存储区;结合切片数据的存储位置、切片数据信息,生成各图形图像类文件的切片清单,将切片清单写入切片清单区;根据各图形图像类文件的切片清单的存储位置生成清单索引,将清单索引写入清单索引区。
6.可选地,在本发明提供的泛电子文件封装方法中,还包括:初始化封面图像存储区;将音频类电子文件,和/或,视频类电子文件的封皮数据写入数据存储区;将封皮数据的存储位置写入封面图像存储区。
7.可选地,在本发明提供的泛电子文件封装方法中,还包括:初始化描述存储区;将
音频类电子文件,和/或,视频类电子文件的描述信息写入描述存储区。
8.可选地,在本发明提供的泛电子文件封装方法中,还包括:初始化缩略图存储区;将图像类电子文件,和/或,文档类电子文件的缩略图数据信息写入缩略图存储区。
9.可选地,在本发明提供的泛电子文件封装方法中,还包括:初始化合并图存储区;将视频类电子文件的各个时间点上的预览图像数据信息写入合并图存储区。
10.可选地,在本发明提供的泛电子文件封装方法中,还包括:为新建空白电子文件建立文件扩展,若电子文件中占用空间大于预设值的资源存入文件扩展,文件扩展作为封装文件的独立附属文件。
11.本发明第二方面提供了一种泛电子文件封装装置,包括:初始化模块,用于新建空电子文件,在空电子文件中初始化索引区、清单索引区、清单数据区、文件数据存储区;数据存储模块,用于获取多个电子文件,将各电子文件的文件数据写入文件数据存储区;清单数据区构建模块,用于根据各电子文件的文件数据的存储位置,为各电子文件建立文件数据清单,将文件数据清单写入清单数据区,文件数据清单用于存储对应电子文件的文件属性和文件数据的存储位置;清单索引区构建模块,用于根据各电子文件的文件数据清单的存储位置,建立各电子文件的清单索引,将清单索引写入清单索引区;索引区构建模块,用于根据各电子文件的清单索引的存储位置建立索引,将索引写入索引区;文件头生成模块,用于在空电子文件中写入文件头,完成对各电子文件的封装,形成封装文件。
12.本发明第三方面提供了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,从而执行如本发明第一方面提供的泛电子文件封装方法。
13.本发明第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明第一方面提供的泛电子文件封装方法。
14.本发明技术方案,具有如下优点:
15.本发明提供的泛电子文件封装方法,能够将一组散的电子文件封装为一个电子文件,方便备份、迁移和还原,通过单个电子文件组织多个电子文件可以降低磁盘碎片的产生,并且在文件体部分不再采用传统的索引对应数据的存储结构,而是进行了分层,在索引部分加入了清单的设计,可以实现快速读取,提高网络利用效率。
附图说明
16.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本发明实施例中泛电子文件封装方法的一个具体示例的流程图;
18.图2为本发明实施例中文件类型字典层次结构图;
19.图3为本发明实施例中文件类型字典第一层分类图;
20.图4为本发明实施例中文件类型字典第二层分类图;
21.图5为本发明实施例中泛电子文件数据信息层级结构化组织逻辑结构;
22.图6为本发明实施例中泛电子文件封装装置的一个具体示例的原理框图;
23.图7为本发明实施例中计算机设备的一个具体示例的原理框图。
具体实施方式
24.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.在本发明的描述中,需要说明的是,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
26.本发明实施例提供了一种泛电子文件封装方法,如图1所示,包括如下步骤:
27.步骤s11:新建空电子文件,在空电子文件中初始化索引区、清单索引区、清单数据区、文件数据存储区。
28.步骤s12:获取多个电子文件,将各电子文件的文件数据写入文件数据存储区。
29.在一可选实施例中,多个电子文件可以为同一类型的多个电子文件,也可以为不同类型的多个电子文件,电子文件可以是图形图像类电子文件、音频类文件、视频类文件、文档类文件等。
30.步骤s13:根据各电子文件的文件数据的存储位置,为各电子文件建立文件数据清单,将文件数据清单写入清单数据区,文件数据清单用于存储对应电子文件的文件属性和文件数据的存储位置。
31.步骤s14:根据各电子文件的文件数据清单的存储位置,建立各电子文件的清单索引,将清单索引写入清单索引区。
32.在一可选实施例中,根据文件类型的不同,在清单索引区存储内容也不同,主要存储不同等级(如:图形图像)、不同尺寸(如:视频)、不同品质(如:音频)等文件对应的清单数据存储位置。
33.步骤s15:根据各电子文件的清单索引的存储位置建立索引,将索引写入索引区。
34.在一可选实施例中,索引区存储被封装的每个电子文件对应的清单索引的存储偏移位置,每个索引占8个字节。
35.步骤s16:在空电子文件中写入文件头,完成对各电子文件的封装,形成封装文件。
36.在本发明实施例中,文件头中所包含的信息并不是针对某一电子文件内容所进行的描述(如:名称、作者、时间等),而是,针对本泛电子文件封装方法所需的自定义的各类信息。
37.本发明实施例提供的泛电子文件封装方法,能够将一组散的电子文件封装为一个电子文件,方便备份、迁移和还原,通过单个电子文件组织多个电子文件可以降低磁盘碎片的产生,并且在文件体部分不再采用传统的索引对应数据的存储结构,而是进行了分层,在索引部分加入了清单的设计,可以实现快速读取,提高网络利用效率。
38.在一可选实施例中,文件头由15个信息段组成,主要包括:标识、版本号、创建时间、文件校验值、密钥索引位置等信息,详细存储结构如下表所示:
[0039][0040]
在一可选实施例中,对于文件校验值,采取可选方式(0代表md5算法、1代表crc32算法),第一个byte存储算法类型,其余存储算法计算结果。
[0041]
在一可选实施例中,元数据主要以键值对(key\value)的形式存储,如:名字、唯一标识、文件类型等。其中,文件类型的编码方式是按文件分类和文件格式从属关系构成(如:图2为文件类型字典层次结构图),分别为第一层(如:图3文件类型字典第一层分类图)、第二层(如:图4文件类型字典第二层分类图)分类层次结构组成,如图形图像类的jpg使用a01表示,第二层分类文件格式中的代码和名称为后续扩展使用。
[0042]
在一可选实施例中,空白电子文件中还包括密钥存储区,主要存储密钥长度和密钥内容,密钥存储位置与文件头中的密钥索引存储的位置相对应,该密钥用于对数据进行加解密。
[0043]
在一可选实施例中,若电子文件中包含图形图像类文件,上述方法还包括如下步骤:
[0044]
首先,初始化切片清单区和切片清单索引区。
[0045]
其次,根据图形图像类文件生成切片数据,将切片数据写入数据存储区。
[0046]
再次,结合切片数据的存储位置、切片数据信息,生成各图形图像类文件的切片清单,将切片清单写入切片清单区。
[0047]
在一可选实施例中,切片清单由包括切片清单长度和每一个切片图像的尺寸、数据存储位置。
[0048]
然后,根据各图形图像类文件的切片清单的存储位置生成清单索引,将清单索引写入清单索引区。
[0049]
在一可选实施例中,上述实施例中提供的泛电子文件封装方法还包括:
[0050]
首先,初始化封面图像存储区;
[0051]
然后,将音频类电子文件,和/或,视频类电子文件的封皮数据写入数据存储区;
[0052]
最后,将封皮数据的存储位置写入封面图像存储区。
[0053]
在一可选实施例中,封面图像存储区由张数和封面图像的存储位置组成,主要用于存储音频类、视频类电子文件的封皮数据。
[0054]
在一可选实施例中,上述实施例中提供的泛电子文件封装方法还包括:
[0055]
首先,初始化描述存储区。
[0056]
然后,将音频类电子文件,和/或,视频类电子文件的描述信息写入描述存储区。
[0057]
在一可选实施例中,描述存储区存储描述长度、描述数据,主要用于存储音频类、视频类电子文件的描述信息。
[0058]
在一可选实施例中,上述实施例中提供的泛电子文件封装方法还包括:
[0059]
首先,初始化缩略图存储区;
[0060]
然后,将图像类电子文件,和/或,文档类电子文件的缩略图数据信息写入缩略图存储区。
[0061]
在一可选实施例中,缩略图存储区存储缩略图张数、缩略图数据,主要用于存储图形图像类、文档类电子文件的缩略图数据信息。
[0062]
在一可选实施例中,上述实施例中提供的泛电子文件封装方法还包括:
[0063]
首先,初始化合并图存储区。
[0064]
然后,将视频类电子文件的各个时间点上的预览图像数据信息写入合并图存储区。
[0065]
在一可选实施例中,合并图存储区存储合并图张数、合并图数据,主要用于存储视频类电子文件的各个时间点上的预览图像数据信息。
[0066]
上述实施例提供的泛电子文件封装方法对不同类型的电子文件的支持作了辅助的拓展,其中,包括:音视频的封皮、描述,图形图像类的缩略图,视频类的合并图等等,通过清单和辅助拓展实现对一组电子文件封装的目的。
[0067]
在一可选实施例中,上述实施例中提供的泛电子文件封装方法还包括:
[0068]
为空电子文件建立文件扩展,若电子文件中占用空间大于预设值的资源存入文件扩展,文件扩展作为封装文件的独立附属文件。
[0069]
在本发明实施例中,文件扩展是独立存在的一个附属文件,作为上述封装文件的一个扩展,主要用于存储视频类电子文件的预览视频等较大的资源,实现了封装文件的轻量化。
[0070]
在一可选实施例中,在本发明实施例提供的泛电子文件封装方法中,在建立空电子文件时,还在空电子文件中初始化元数据区,元数据区存储总数、文件的元数据信息。元数据信息一般由大小、尺寸、dpi、格式等信息组成,也可以存储用户扩展类元数据信息。
[0071]
上述实施提供的泛电子文件封装方法,适用于档案管理系统、电子文件管理系统等相关电子文件的利用(如:浏览、打印等),能够快速提供文件索引、清单、元数据、缩略图等信息。
[0072]
在一可选实施例中,通过上述泛电子文件封装方法得到的封装文件的结构如图5所示。
[0073]
本发明实施例提供了一种泛电子文件封装装置,如图6所示,包括:
[0074]
初始化模块21,用于新建空电子文件,在空电子文件中初始化索引区、清单索引区、清单数据区、文件数据存储区,详细内容参见上述实施例中的描述,在此不再赘述。
[0075]
数据存储模块22,用于获取多个电子文件,将各电子文件的文件数据写入文件数据存储区,详细内容参见上述实施例中的描述,在此不再赘述。
[0076]
清单数据区构建模块23,用于根据各电子文件的文件数据的存储位置,为各电子文件建立文件数据清单,将文件数据清单写入清单数据区,文件数据清单用于存储对应电子文件的文件属性和文件数据的存储位置,详细内容参见上述实施例中的描述,在此不再赘述。
[0077]
清单索引区构建模块24,用于根据各电子文件的文件数据清单的存储位置,建立各电子文件的清单索引,将清单索引写入清单索引区,详细内容参见上述实施例中的描述,在此不再赘述。
[0078]
索引区构建模块25,用于根据各电子文件的清单索引的存储位置建立索引,将索引写入索引区,详细内容参见上述实施例中的描述,在此不再赘述。
[0079]
文件头生成模块26,用于在空电子文件中写入文件头,完成对各电子文件的封装,形成封装文件,详细内容参见上述实施例中的描述,在此不再赘述。
[0080]
本发明实施例提供了一种计算机设备,如图7所示,该计算机设备主要包括一个或多个处理器31以及存储器32,图7中以一个处理器31为例。
[0081]
该计算机设备还可以包括:输入装置33和输出装置34。
[0082]
处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图7中以通过总线连接为例。
[0083]
处理器31可以为中央处理器(central processing unit,cpu)。处理器31还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据泛电子文件封装装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至泛电子文件封装装置。输入装置33可接收用户输入的计算请求(或其他数字或字符信息),以及产生与泛电子文件封装装置有关的键信号输入。输出装置34可包括显示屏等显示设备,用以输出计算结果。
[0084]
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的泛电子文件封装方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
[0085]
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

技术特征:
1.一种泛电子文件封装方法,其特征在于,包括如下步骤:新建空电子文件,在所述空电子文件中初始化索引区、清单索引区、清单数据区、文件数据存储区;获取多个电子文件,将各所述电子文件的文件数据写入所述文件数据存储区;根据各电子文件的文件数据的存储位置,为各电子文件建立文件数据清单,将所述文件数据清单写入所述清单数据区,所述文件数据清单用于存储对应电子文件的文件属性和所述文件数据的存储位置;根据各电子文件的文件数据清单的存储位置,建立各电子文件的清单索引,将所述清单索引写入所述清单索引区;根据各电子文件的清单索引的存储位置建立索引,将所述索引写入所述索引区;在所述空电子文件中写入文件头,完成对各电子文件的封装,形成封装文件。2.根据权利要求1所述的泛电子文件封装方法,其特征在于,若所述电子文件中包含图形图像类文件,所述方法还包括:初始化切片清单区和切片清单索引区;根据所述图形图像类文件生成切片数据,将所述切片数据写入所述数据存储区;结合切片数据的存储位置、切片数据信息,生成各图形图像类文件的切片清单,将所述切片清单写入所述切片清单区;根据各图形图像类文件的切片清单的存储位置生成清单索引,将所述清单索引写入所述清单索引区。3.根据权利要求1或2所述的泛电子文件封装方法,其特征在于,还包括:初始化封面图像存储区;将音频类电子文件,和/或,视频类电子文件的封皮数据写入所述数据存储区;将所述封皮数据的存储位置写入所述封面图像存储区。4.根据权利要求1-3中任一项所述的泛电子文件封装方法,其特征在于,还包括:初始化描述存储区;将音频类电子文件,和/或,视频类电子文件的描述信息写入所述描述存储区。5.根据权利要求1-4中任一项所述的泛电子文件封装方法,其特征在于,还包括:初始化缩略图存储区;将图像类电子文件,和/或,文档类电子文件的缩略图数据信息写入所述缩略图存储区。6.根据权利要求1-5中任一项所述的泛电子文件封装方法,其特征在于,还包括:初始化合并图存储区;将视频类电子文件的各个时间点上的预览图像数据信息写入所述合并图存储区。7.根据权利要求1-6中任一项所述的泛电子文件封装方法,其特征在于,为所述空电子文件建立文件扩展,若所述电子文件中占用空间大于预设值的资源存入所述文件扩展,所述文件扩展作为所述封装文件的独立附属文件。8.一种泛电子文件封装装置,其特征在于,包括:初始化模块,用于新建空电子文件,在所述空电子文件中初始化索引区、清单索引区、
清单数据区、文件数据存储区;数据存储模块,用于获取多个电子文件,将各所述电子文件的文件数据写入所述文件数据存储区;清单数据区构建模块,用于根据各电子文件的文件数据的存储位置,为各电子文件建立文件数据清单,将所述文件数据清单写入所述清单数据区,所述文件数据清单用于存储对应电子文件的文件属性和所述文件数据的存储位置;清单索引区构建模块,用于根据各电子文件的文件数据清单的存储位置,建立各电子文件的清单索引,将所述清单索引写入所述清单索引区;索引区构建模块,用于根据各电子文件的清单索引的存储位置建立索引,将所述索引写入所述索引区;文件头生成模块,用于在所述空电子文件中写入文件头,完成对各电子文件的封装,形成封装文件。9.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求1-7中任一项所述的泛电子文件封装方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-7中任一项所述的泛电子文件封装方法。

技术总结
本发明提供了一种泛电子文件封装方法及装置,该方法包括:新建空电子文件,初始化索引区、清单索引区、清单数据区、文件数据存储区;获取多个电子文件,将电子文件的文件数据写入文件数据存储区;根据各电子文件的文件数据的存储位置为各电子文件建立文件数据清单,将文件数据清单写入清单数据区;根据各电子文件的文件数据清单的存储位置建立各电子文件的清单索引,将清单索引写入清单索引区;根据各电子文件的清单索引的存储位置建立索引,将索引写入索引区;在空电子文件中写入文件头完成对各电子文件的封装,形成封装文件。通过本发明将一组散的电子文件封装为一个电子文件,在索引部分加入了清单的设计可以实现快速读取,提高网络利用效率。高网络利用效率。高网络利用效率。


技术研发人员:徐伟 郭鑫 李玲 丁祖军
受保护的技术使用者:北京航星永志科技有限公司
技术研发日:2022.07.25
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2205.html

最新回复(0)