掌桥专利:专业的专利平台
掌桥专利
首页

文件处理方法及装置

文献发布时间:2023-06-19 18:32:25


文件处理方法及装置

技术领域

本申请涉及文件处理技术领域,特别涉及一种文件处理方法及装置。

背景技术

当前是互联网极度发达的时代,在互联网中每天都会产生巨大的数据。其中,在数据的传输和保存等过程中,均有可能需要对数据进行压缩。

相关技术中,常用的压缩方法是从文件中获取数据流,然后将数据流分成多个数据块,对多个数据块逐个进行压缩,再将压缩后的数据块存储为文件的压缩文件。

在该压缩方法中,虽然能够保证压缩的速度,但文件的压缩率还有待提高。

发明内容

本申请提供了一种文件处理方法及装置。本申请能够提高文件的压缩率。本申请提供的技术方案如下:

第一方面,本申请提供了一种文件处理方法。该方法包括:获取元数据的压缩指示信息,压缩指示信息用于指示元数据中各种内容的出现频率;基于压缩指示信息对元数据进行第一压缩处理;对数据进行第二压缩处理。

该文件处理方法能够分别对文件的元数据和数据进行压缩处理,且对元数据进行第一压缩处理时能够参考该元数据中各种内容的出现频率。通过根据该出现频率对元数据进行压缩处理,能够利用该元数据中内容的相似性,确定对元数据中各种内容进行压缩处理的方式,相较于直接对文件中的多个数据块进行压缩处理的相关技术,能够为元数据中各种内容选择合适的压缩处理方式,提高了对元数据进行第一压缩处理的压缩率,从而提高整个文件的压缩率。

由于同类文件的元数据具有相似性,则可以针对不同文件类型的样本文件,分别获取每种文件类型的文件的元数据的压缩指示信息,以便于利用任一文件类型对应的压缩指示信息对该文件类型的文件的元数据进行压缩。在一种可实现方式中,压缩指示信息基于对文件所属文件类型的多个样本文件的元数据进行统计得到。

在一种可实现方式中,元数据中各种内容包括:元数据中的各种字符和各种字符串中的至少一种。

可选地,获取元数据的压缩指示信息,包括:获取文件的文件类型;基于文件的文件类型,获取文件的文件类型对应的压缩指示信息,将文件的文件类型对应的压缩指示信息确定为元数据的压缩指示信息。

由于同类文件的元数据具有相似性,在本申请中同类文件的元数据使用的压缩指示信息可以相同,则可以根据文件的文件类型,获取文件的元数据的压缩指示信息。也即是,基于文件的文件类型,获取文件的文件类型对应的压缩指示信息,包括:基于文件的文件类型,查询预置的文件类型与压缩指示信息的对应关系,得到文件的文件类型对应的压缩指示信息。这样一来,能够利用同类文件中元数据中内容的相似性,确定对元数据中各种内容进行第一压缩处理的方式,进而提高文件的压缩率。

在一种可实现方式中,在对文件进行压缩处理时,可以采用不等长编码方式进行对文件的内容进行压缩编码。在采用不等长编码方式进行压缩编码时,可以采用较短的码长对文件中出现频率较高的内容进行压缩编码,采用较长的码长对文件中出现频率较低的内容进行压缩编码,从而达到提高压缩率的目的。

并且,第一压缩处理和第二压缩处理可以采用不同类型的压缩算法,也可以采用相同类型的压缩算法,但由于文件的数据与元数据种的内容通常不同,因此,第一压缩处理和第二压缩处理采用的参数(例如,码长)通常不同。

相应的,作为一种可实现方式,基于压缩指示信息对元数据进行第一压缩处理,包括:基于压缩指示信息指示的出现频率,确定对元数据中的内容进行编码使用的码长;基于对元数据中的内容进行编码使用的码长,对元数据中的内容进行编码。

以及,作为一种可实现方式,对数据进行第二压缩处理,包括:在对数据进行第二压缩处理的过程中,实时统计数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对数据中的内容进行编码使用的码长;基于对数据中的内容进行编码使用的码长,对数据中的内容进行编码。

可选地,该方法还包括:基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理;对经过第二压缩处理后的文件的数据进行解压缩处理。

其中,对经过第一压缩处理后的文件的元数据进行解压缩处理,与对经过第二压缩处理后的文件的数据进行解压缩处理,可以采用不同类型的解压缩算法,也可以采用相同类型的解压缩算法,但由于文件的数据与元数据种的内容通常不同,因此,两者解压缩采用的参数(例如,码长)通常不同。

可选地,基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理,包括:基于压缩指示信息指示的出现频率,确定对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长;基于对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长,对经过第一压缩处理后的文件的元数据中的内容进行解码。

并且,对经过第二压缩处理后的文件的数据进行解压缩处理,包括:在对经过第二压缩处理后的文件的数据进行解压缩的过程中,实时统计经过第二压缩处理后的文件的数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长;基于对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长,对经过第二压缩处理后的文件的数据中的内容进行解码。

第二方面,本申请提供了一种文件处理装置,该装置包括:获取模块,用于获取元数据的压缩指示信息,压缩指示信息用于指示元数据中各种内容的出现频率;处理模块,用于基于压缩指示信息对元数据进行第一压缩处理;处理模块,还用于对数据进行第二压缩处理。

可选的,压缩指示信息基于对文件所属文件类型的多个样本文件的元数据进行统计得到。

可选地,元数据中各种内容包括:元数据中的各种字符和各种字符串中的至少一种。

可选地,获取模块,具体用于:获取文件的文件类型;基于文件的文件类型,获取文件的文件类型对应的压缩指示信息,将文件的文件类型对应的压缩指示信息确定为元数据的压缩指示信息。

可选地,获取模块,具体用于:基于文件的文件类型,查询预置的文件类型与压缩指示信息的对应关系,得到文件的文件类型对应的压缩指示信息。

可选地,处理模块基于压缩指示信息对元数据进行第一压缩处理,具体用于:基于压缩指示信息指示的出现频率,确定对元数据中的内容进行编码使用的码长;基于对元数据中的内容进行编码使用的码长,对元数据中的内容进行编码。

可选地,处理模块对数据进行第二压缩处理,具体用于:在对数据进行第二压缩处理的过程中,实时统计数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对数据中的内容进行编码使用的码长;基于对数据中的内容进行编码使用的码长,对数据中的内容进行编码

可选地,处理模块,基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理;处理模块,还用于对经过第二压缩处理后的文件的数据进行解压缩处理。

可选地,处理模块基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理,具体用于:基于压缩指示信息指示的出现频率,确定对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长;基于对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长,对经过第一压缩处理后的文件的元数据中的内容进行解码。

可选地,处理模块对经过第二压缩处理后的文件的数据进行解压缩处理,具体用于:在对经过第二压缩处理后的文件的数据进行解压缩的过程中,实时统计经过第二压缩处理后的文件的数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长;基于对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长,对经过第二压缩处理后的文件的数据中的内容进行解码。

第三方面,本申请提供了一种计算机设备,包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行本申请第一方面以及其任一种可能的实现方式中提供的方法。

第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算机设备上运行时,使得计算机设备执行本申请第一方面以及其任一种可能的实现方式中提供的方法。

第五方面,本申请提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请第一方面以及其任一种可能的实现方式中提供的方法。

附图说明

图1是本申请实施例提供的一种计算机设备的结构示意图;

图2是本申请实施例提供的一种文件处理方法涉及的应用场景的示意图;

图3是本申请实施例提供的另一种文件处理方法涉及的应用场景的示意图;

图4是本申请实施例提供的又一种文件处理方法涉及的应用场景的示意图;

图5是本申请实施例提供的一种文件处理方法的流程图;

图6是本申请实施例提供的一种获取某一文件类型的文件中元数据的压缩指示信息的过程示意图;

图7是本申请实施例提供的一种获取文件的压缩指示信息的方法流程图;

图8是本申请实施例提供的一种对文件进行压缩处理的过程示意图;

图9是本申请实施例提供的一种文件处理装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供了一种文件处理方法。在该文件处理方法中,对文件进行压缩的过程包括:获取文件的元数据的压缩指示信息,基于压缩指示信息对元数据进行第一压缩处理,并对文件的数据进行第二压缩处理。其中,压缩指示信息用于指示元数据中各种内容的出现频率。

该文件处理方法能够分别对文件的元数据和数据进行压缩处理,且对元数据进行第一压缩处理时能够参考该元数据中各种内容的出现频率。通过根据该出现频率对元数据进行压缩处理,能够利用该元数据中内容的相似性,确定对元数据中各种内容进行第一压缩处理的方式,相较于直接对文件中的多个数据块进行压缩处理的相关技术,能够为元数据中各种内容选择合适的压缩处理方式,提高了对元数据进行第一压缩处理的压缩率,从而提高整个文件的压缩率。

图1是本申请实施例提供的一种文件处理方法涉及的实施场景的示意图。如图1所示,该实施场景包括:计算机设备10。该计算机设备10用于执行本申请实施例提供的文件处理方法。例如,该计算机设备10用于获取压缩请求,根据压缩请求确定文件,并按照本申请实施例提供的文件处理方法对文件进行压缩处理。可选地,该计算机设备10可以为服务器等。

图1是本申请实施例提供的一种计算机设备10的结构示意图。如图1所示,该计算机设备10包括存储器101、处理器102、通信接口103以及总线104。其中,存储器101、处理器102、通信接口103通过总线104实现彼此之间的通信连接。并且,该计算机设备10可以包括多个处理器102,以便于通过不同的处理器实现上述不同功能模块的功能。

存储器101可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器101可以存储可执行代码序,当存储器101中存储的可执行代码被处理器102执行时,处理器102和通信接口103用于执行本申请实施例提供的文件处理方法。存储器101中还可以包括操作系统等其他运行进程所需的软件模块和数据等。且操作系统可以为LINUX

处理器102可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。

处理器102还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的文件处理方法的部分或全部功能可以通过处理器102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器102还可以是通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器102读取存储器101中的信息,结合其硬件完成本申请实施例的文件处理方法。

通信接口103使用例如但不限于收发器一类的收发模块,来实现计算机设备10与其他设备或通信网络之间的通信。例如,通信接口103可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。

总线104可包括在计算机设备10各个部件(例如,存储器101、处理器102、通信接口103)之间传送信息的通路。

需要说明的是,当该计算机设备为客户端时,该计算机设备还包括显示屏,该显示屏用于显示程序开发平台的图形用户界面。

上述每个计算机设备10间通过通信网络建立通信通路。每个计算机设备10用于实现本申请实施例提供的文件处理方法的部分功能。任一计算机设备10可以为云数据中心中的计算机设备(例如:服务器),或边缘数据中心中的计算机设备等。

上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供程序开发平台的计算机程序产品包括一个或多个计算机指令,在计算机设备上加载和执行这些计算机程序指令时,全部或部分地实现本申请实施例提供的文件处理方法的流程或功能。

计算机设备可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质存储有提供程序开发平台的计算机程序指令。

该计算机设备执行本申请实施例提供的文件处理方法的场景有多种,下面以以下三种为例对其进行说明:

在第一种场景中,本申请实施例提供的文件处理方法可以以应用程序包的方式向用户提供。例如,服务提供商可以向用户提供用于实现本申请实施例提供的文件处理方法的应用程序包。此时,计算机设备10为用户拥有的计算机设备。计算机设备10从服务提供商处获取该应用程序包后,可以在计算机设备10中安装该应用程序包,得到用于执行该文件处理方法的应用程序。当计算机设备10接收到用户指示对文件进行处理的指令后,该应用程序可以对该指令指示的待处理文件执行该文件处理方法。并且,该文件处理方法包括对文件进行压缩的方法和对文件进行解压缩的方法,则该用于对文件进行处理的应用程序包可以具有对文件进行压缩的功能和对文件进行解压缩的功能中的至少一个,本申请实施例对其不做具体限定。

此时,如图2所示,该实施场景还可以包括:计算机设备20,该计算机设备20用于为计算机设备10提供用于实现本申请实施例提供的文件处理方法的应用程序包。可选地,该计算机设备20可以为服务器等。

在第二种场景中,本申请实施例提供的文件处理方法可以以文件处理服务的方式向用户提供。文件处理服务的服务提供商拥有大量基础资源,如计算资源、存储资源和网络资源等,服务提供商能够利用该基础资源提供该文件处理服务。用户从服务提供商处购买该文件处理服务后,服务提供商能够为用户提供该文件处理云服务。其中,用户可以通过客户端从服务提供商的管理平台购买文件处理服务,并向服务提供商的管理平台发送文件,服务提供商的管理平台可向服务提供商的计算机设备10分配对文件进行处理的任务,并将文件发送至服务提供商的计算机设备10,使得计算机设备10对该文件执行本申请实施例提供的文件处理方法,并向用户提供经过文件处理后的文件,以完成向用户提供文件处理服务的过程。

此时,如图3所示,该实施场景还可以包括:客户端30,该客户端30用于从服务提供商处购买文件处理服务,向文件提供商的管理平台提供待处理文件,并接收经过文件处理后的文件。可选地,客户端30可以是手机、平板电脑、个人计算机、虚拟机、容器、膝上型计算机、移动电话、多媒体播放器、智能家电、人工智能设备、智能可穿戴设备、电子阅读器、智能车载设备或物联网设备等。

在一种可实现方式中,计算机设备10可以通过云平台中的资源实现。云平台中部署有云服务提供商拥有的基础资源。例如:云平台中部署有计算资源、存储资源和网络资源等,计算资源可以是大量的计算机设备(例如服务器),则计算机设备10可以通过云平台中的计算资源实现。此时,如图4所示,本申请实施例提供的文件处理方法,能够由云服务提供商在云平台抽象成一种文件处理云服务提供给用户。用户在云平台购买文件处理云服务后,云平台能够利用云平台中的计算机设备10,为用户提供该文件处理云服务。

可选地,在本申请实施例中,云平台可以是中心云的云平台,或边缘云的云平台。并且,当该计算机设备10采用分布式部署方式进行部署时,该云平台还可以是包括中心云和边缘云的云平台,此时,该计算机设备10可以部分部署在边缘云的云平台中,部分部署在中心云的云平台中,本申请实施例对其不做具体限定。

在第三种场景中,本申请实施例提供的文件处理方法可以作为其他服务的附加服务提供。在一种可实现方式中,在对文件提供文件传输服务时,可以将通过该文件处理方法实现的文件处理服务,作为该文件传输服务的附加服务提供。例如,在接收待传输文件时,可以先采用本申请实施例提供的文件处理方法对文件进行压缩处理,然后传输压缩处理后的待传输文件,再在将文件传输至目的端时,采用本申请实施例提供的文件处理方法对文件进行解压缩处理,然后向目的端提供解压缩处理后的文件。在另一种可实现中,在提供存储服务(如将文件存储在存储池中)时,在接收到待存储文件时,可以先采用本申请实施例提供的文件处理方法对待存储文件进行压缩处理,然后存储压缩处理后的文件。并且,该其他服务也可以为云服务,本申请实施例对其不做具体限定。该场景对应的应用场景的实现方式可以相应参考第二种场景对应的应用场景,此处不再赘述。

应当理解的是,以上内容是对本申请实施例提供的文件处理方法的应用场景的示例性说明,并不构成对于该事件分析方法的应用场景的限定,本领域普通技术人员可知,随着业务需求的改变,其应用场景可以根据应用需求进行调整,本申请实施例对其不做一一列举。

下面对本申请实施例提供的文件处理方法的实现过程进行说明。如图5所示,该文件处理方法的实现过程可以包括以下步骤:

步骤501、基于多个文件类型中任一文件类型的多个样本文件的元数据,得到任一文件类型对应的压缩指示信息。

其中,文件包括数据和元数据。文件的数据包括文件中除元数据之外的部分或全部数据。文件的数据用于指示文件中表达文件实际内容的实际数据。例如,用于通知征文比赛的文件的数据用于指示征文表赛的名称、主题、举办单位、投稿要求和投稿方式等信息。文件的元数据用于描述文件的特征,如描述文件的访问权限、文件的拥有者以及文件包括的数据块的分布信息等。用户在需要对文件进行操作时,需要先得到文件的元数据,才能定位到文件的位置并得到文件的实际内容或相关属性等内容。

压缩指示信息用于指示元数据中各种内容的出现频率。在一种可实现方式中,元数据中各种内容包括:元数据中的各种字符和各种字符串中的至少一种。例如,文件的元数据的压缩指示信息用于指示元数据中每个字符和每个字符串的出现频率。其中,当压缩指示信息指示字符串的出现频率时,字符串的长度可以根据应用需求进行调整。例如,字符串的长度可以为两个、三个或四个字符的长度,本申请实施例对其不做具体限定。

由于同类文件的元数据具有相似性,在本申请实施例中,可以针对不同文件类型,分别获取每种文件类型的文件的元数据的压缩指示信息,以便于利用任一文件类型对应的压缩指示信息对该文件类型的文件的元数据进行第一压缩处理。可选地,获取任一文件类型的文件的元数据的压缩指示信息,可以通过对该文件类型的多个样本文件的元数据进行统计得到。在一种可实现方式中,由于压缩指示信息用于指示元数据中各种内容的出现频率,则如图6所示,可以针对任一文件类型的多个样本文件(图6中为样本文件1至样本文件n),先获取每个样本文件中的元数据,然后针对元数据中的任一内容,分别统计该内容在该多个样本文件中的每个样本文件的出现频率,然后根据该内容分别在多个样本文件中的出现频率,确定该内容在该多个样本文件中的出现频率,依次类推,可以得到该文件类型的样本文件中元数据各种内容在样本文件中的出现频率,得到该文件类型对应的压缩指示信息。例如,可以将任一内容分别在多个样本文件中的出现频率的平均值,确定为该内容在该多个样本文件中的出现频率。其中,该统计操作可以通过大数据分析技术实现。或者,也可以采用其他实现方式获取各个文件类型对应的压缩指示信息。例如,也可以采用人工智能模型得到各个文件类型对应的压缩指示信息。

可选地,对文件类型的划分粒度可以根据应用需求确定。在一种可实现方式中,可以根据文件的表示方式划分文件类型。例如,不同文件类型的文件可以包括:使用文字表示的文件(如word文件)、使用图片表示的文件(如图片文件)、使用音频表示的文件(如音频文件)和使用视频表示的文件(如视频文件)等。在另一种可实现方式中,可以根据文件格式划分文件类型。例如,不同文件类型的图片文件可以包括:联合图像专家小组(jointphotographic experts group,JPEG)格式的图片文件、位图(bitmap,BMP)格式的图片文件、流式网络图形(portable network graphic,PNG)格式的图片文件等。

步骤502、接收用户发送的文件压缩请求,获取文件压缩请求指示的文件。

在需要对文件进行压缩时,用户可以通过执行指定操作触发文件压缩请求,计算机设备会接收到文件压缩请求。该文件压缩请求用于请求计算机设备对文件压缩请求指示的文件进行压缩处理。例如,对应于前述第一种场景,当计算机设备10上安装有用于对文件进行压缩的程序时,用户在使用该计算机设备10时,若需要对文件进行压缩,该用户可以在计算机设备10上执行操作,以触发指示计算机设备10对文件进行压缩的文件压缩请求。并且,文件压缩请求中可以携带有文件的标识,以便于计算机设备根据该文件的标识,获取文件。

步骤503、获取文件的元数据的压缩指示信息。

可选的,如图7所示,该步骤503的实现过程包括:

步骤5031、获取文件的文件类型。

根据前面的描述可知,由于任一文件类型的文件的压缩指示信息可以基于该文件类型的多个样本文件的元数据得到,则在确定文件的元数据的压缩指示信息时,可以先获取该文件所属的文件类型,并根据该文件所属的文件类型,确定该文件的元数据的压缩指示信息。

步骤5032、基于文件的文件类型,获取文件的文件类型对应的压缩指示信息,将文件的文件类型对应的压缩指示信息确定为文件的元数据的压缩指示信息。

可选的,由于任一文件类型的文件的压缩指示信息基于该文件类型的多个样本文件的元数据得到,可以确定不同的文件类型与不同的压缩指示信息之间具有对应关系,则可以根据文件的文件类型和该对应关系,得到文件所属的文件类型对应的压缩指示信息,并将文件所属的文件类型对应的压缩指示信息,确定为该文件的元数据的压缩指示信息。

在一种可实现方式中,计算机设备(或用于实现本申请实施例提供的文件处理方法的应用程序)中可以内置有文件类型与压缩指示信息的对应关系,及每种文件类型的文件使用的压缩指示信息,则该步骤5032的实现过程包括:基于文件的文件类型,查询预置的文件类型与压缩指示信息的对应关系,得到文件的文件类型对应的压缩指示信息,即得到文件的元数据的压缩指示信息。

步骤504、基于压缩指示信息对文件的元数据进行第一压缩处理。

如图8所示,在对文件进行压缩处理时,可以分别对文件中的元数据和数据进行压缩处理,即对文件的压缩处理包括对元数据的第一压缩处理,及对数据的第二压缩处理。且在对元数据进行第一压缩处理时,可以基于该元数据的压缩指示信息对该元数据进行第一压缩处理。

在一种可实现方式中,在对元数据进行第一压缩处理时,可以采用不等长编码方式对元数据进行压缩编码。在采用不等长编码方式进行压缩编码时,可以采用较短的码长对元数据中出现频率较高的内容进行压缩编码,采用较长的码长对元数据中出现频率较低的内容进行压缩编码,从而达到提高压缩率的目的。作为一种可实现方式,该步骤504的实现过程可以包括:基于压缩指示信息指示的出现频率,确定对元数据中的内容进行编码使用的码长,并基于对元数据中的内容进行编码使用的码长对元数据中的内容进行编码。例如,可以采用算数编码等熵编码方式,根据压缩指示信息指示的出现频率,确定对元数据中的内容进行编码使用的码长,并基于对元数据中的内容进行编码使用的码长对元数据的内容进行编码。

步骤505、对文件的数据进行第二压缩处理,并向用户提供第二压缩处理后的文件。

其中,第一压缩处理和第二压缩处理可以采用不同类型的压缩算法,也可以采用相同类型的压缩算法,但由于文件的数据与元数据种的内容通常不同,因此,第一压缩处理和第二压缩处理采用的参数(例如,码长)通常不同。

在一种可实现方式种,对文件的数据进行第二压缩处理的实现方式,包括:在对数据进行第二压缩处理的过程中,实时统计数据中各种内容的出现频率,基于数据中各种内容的出现频率,确定对数据中的内容进行编码使用的码长,并基于对数据中的内容进行编码使用的码长,对数据中的内容进行编码。

对文件中的元数据进行第一压缩处理,及对文件中的数据进行第二压缩处理后,可以得到经过压缩处理后的文件,即可向用户提供经过压缩处理后的文件。

步骤506、接收用户发送的文件解压缩请求,获取文件解压缩请求指示的经过压缩处理后的文件。

在需要对经过压缩处理后的文件进行解压缩时,用户可以通过执行指定操作触发文件解压缩请求,计算机设备会接收到文件解压缩请求。该文件解压缩请求用于请求计算机设备对文件解压缩请求指示的文件进行解压缩处理。例如,对应于前述第一种场景,当计算机设备10上安装有用于对经过压缩处理后的文件进行解压缩的程序时,用户在使用该计算机设备10时,若需要对经过压缩处理后的文件进行解压缩,该用户可以在计算机设备10上执行操作,以触发指示计算机设备10对经过压缩处理后的文件进行解压缩的文件解压缩请求。并且,文件解压缩请求中可以携带有经过压缩处理后的文件的标识,以便于计算机设备根据该文件的标识,获取经过压缩处理后的文件。

步骤507、获取经过压缩处理后的文件的元数据的压缩指示信息。

可选的,获取经过压缩处理后的文件的元数据的压缩指示信息,包括:获取经过压缩处理后的文件的文件类型,基于文件类型,获取该文件类型对应的压缩指示信息。该步骤507的实现过程,请相应参考步骤503的实现过程,此处不再赘述。

步骤508、基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理。

可选地,基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理,包括:基于压缩指示信息指示的出现频率,确定对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长;基于对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长,对经过第一压缩处理后的文件的元数据的内容进行解码。其中,解压缩处理可视为压缩处理的逆过程,该步骤508的实现过程请相应参考步骤504的实现过程,此处不再赘述。

步骤509、对经过第二压缩处理后的文件的数据进行解压缩处理,并向用户提供解压缩处理后的文件。

其中,对经过第一压缩处理后的文件的元数据进行解压缩处理,与对经过第二压缩处理后的文件的数据进行解压缩处理,可以采用不同类型的解压缩算法,也可以采用相同类型的解压缩算法,但由于文件的数据与元数据种的内容通常不同,因此,两者解压缩采用的参数(例如,码长)通常不同。

在一种可实现方式中,对经过第二压缩处理后的文件的数据进行解压缩处理的实现过程,可以包括:在对经过第二压缩处理后的文件的数据进行解压缩的过程中,实时统计经过第二压缩处理后的文件的数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长;基于对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长,对经过第二压缩处理后的文件的数据中的内容进行解码。

对经过第一压缩处理后的文件的元数据进行解压缩处理,及对经过第二压缩处理后的文件的数据进行解压缩处理后,可以得到经过解压缩处理后的文件,即可向用户提供经过解压缩处理后的文件。

综上所述,在本申请实施例提供的文件处理方法中,该文件处理方法能够分别对文件的元数据和数据进行压缩处理,且对元数据进行第一压缩处理时能够参考该元数据中各种内容的出现频率。通过根据该出现频率对元数据进行压缩处理,能够利用该元数据中内容的相似性,确定对元数据中各种内容进行压缩处理的方式,相较于直接对文件中的多个数据块进行压缩处理的相关技术,能够为元数据中各种内容选择合适的压缩处理方式,提高了对元数据进行第一压缩处理的压缩率,从而提高整个文件的压缩率。

需要说明的是,本申请实施例提供的文件处理方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。

本申请实施例还提供了一种文件处理装置。如图9所示,该文件处理装置90包括:

获取模块901,用于获取元数据的压缩指示信息,压缩指示信息用于指示元数据中各种内容的出现频率。

处理模块902,用于基于压缩指示信息对元数据进行第一压缩处理。

处理模块902,还用于对数据进行第二压缩处理。

可选的,压缩指示信息基于对文件所属文件类型的多个样本文件的元数据进行统计得到。

可选地,元数据中各种内容包括:元数据中的各种字符和各种字符串中的至少一种。

可选地,获取模块901,具体用于:获取文件的文件类型;基于文件的文件类型,获取文件的文件类型对应的压缩指示信息,将文件的文件类型对应的压缩指示信息确定为元数据的压缩指示信息。

可选地,获取模块901,具体用于:基于文件的文件类型,查询预置的文件类型与压缩指示信息的对应关系,得到文件的文件类型对应的压缩指示信息。

可选地,处理模块902基于压缩指示信息对元数据进行第一压缩处理,具体用于:基于压缩指示信息指示的出现频率,确定对元数据中的内容进行编码使用的码长;基于对元数据中的内容进行编码使用的码长,对元数据中的内容进行编码。

可选地,获取模块901对数据进行第二压缩处理,具体用于:在对数据进行第二压缩处理的过程中,实时统计数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对数据中的内容进行编码使用的码长;基于对数据中的内容进行编码使用的码长,对数据中的内容进行编码。

可选的,处理模块902,还用于基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理;处理模块902,还用于对经过第二压缩处理后的文件的数据进行解压缩处理。

可选地,处理模块901基于压缩指示信息对经过第一压缩处理后的文件的元数据进行解压缩处理,具体用于:基于压缩指示信息指示的出现频率,确定对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长;基于对经过第一压缩处理后的文件的元数据中的内容进行解码使用的码长,对经过第一压缩处理后的文件的元数据中的内容进行解码。

可选地,处理模块902对经过第二压缩处理后的文件的数据进行解压缩处理,具体用于:在对经过第二压缩处理后的文件的数据进行解压缩的过程中,实时统计经过第二压缩处理后的文件的数据中各种内容的出现频率;基于数据中各种内容的出现频率,确定对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长;基于对经过第二压缩处理后的文件的数据中的内容进行解码使用的码长,对经过第二压缩处理后的文件的数据中的内容进行解码。

综上所述,在本申请实施例提供的文件处理装置中,该文件处理装置能够分别对文件的元数据和数据进行压缩处理,且对元数据进行第一压缩处理时能够参考该元数据中各种内容的出现频率。通过根据该出现频率对元数据进行压缩处理,能够利用该元数据中内容的相似性,确定对元数据中各种内容进行压缩处理的方式,相较于直接对文件中的多个数据块进行压缩处理的相关技术,能够为元数据中各种内容选择合适的压缩处理方式,提高了对元数据进行第一压缩处理的压缩率,从而提高整个文件的压缩率。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应内容,在此不再赘述。

本申请实施例提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行本申请提供的文件处理方法。例如,执行以下过程:获取元数据的压缩指示信息,压缩指示信息用于指示元数据中各种内容的出现频率;基于压缩指示信息对元数据进行第一压缩处理;对数据进行第二压缩处理。并且,计算机设备通过执行存储器中的程序指令,执行本申请提供的文件处理方法的步骤的实现过程可以相应参考上述方法实施例中对应的描述。可选地,图1为本申请实施例提供一种计算机设备的结构示意图。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算机设备上运行时,使得计算机设备执行如本申请实施例提供的文件处理方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的文件处理方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。

本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 日志文件处理方法、装置、计算机设备及存储介质
  • 文本文件处理方法、装置、系统、电子设备、存储介质
  • 一种文件处理方法、装置及系统
  • 文件上传的处理方法、装置和服务器
  • 文件处理方法和装置、计算设备及存储介质
  • 文件处理设备、文件处理方法、文件处理方法程序、包含该文件处理方法程序的记录媒体、成像设备、和包含记录文件的记录媒体
  • 图像文件生成装置、图像处理装置、图像文件生成方法、图像处理方法以及图像文件的数据结构
技术分类

06120115602608