CN115114242A - 文件处理方法、装置及计算机设备、存储介质、程序产品 - Google Patents

文件处理方法、装置及计算机设备、存储介质、程序产品 Download PDF

Info

Publication number
CN115114242A
CN115114242A CN202210527085.3A CN202210527085A CN115114242A CN 115114242 A CN115114242 A CN 115114242A CN 202210527085 A CN202210527085 A CN 202210527085A CN 115114242 A CN115114242 A CN 115114242A
Authority
CN
China
Prior art keywords
file
sampling
target
matching
granularity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210527085.3A
Other languages
English (en)
Inventor
李悦馨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210527085.3A priority Critical patent/CN115114242A/zh
Publication of CN115114242A publication Critical patent/CN115114242A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种文件处理方法、装置及计算机设备、存储介质、程序产品,该文件处理方法包括:获取待处理的目标文件,目标文件包括多个文件块,目标文件被配置M个采样粒度;在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息;获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息,基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理;在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。采用本申请实施例,可以提高文件摘要信息的计算速度,以提升文件匹配效率。

Description

文件处理方法、装置及计算机设备、存储介质、程序产品
技术领域
本申请涉及计算机技术领域,尤其涉及一种文件处理方法、一种文件处理装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。
背景技术
在文件处理场景中往往需要在文件之间进行匹配处理,进而可以根据匹配结果对文件执行相应的业务处理。文件之间的匹配处理可以是通过文件的摘要信息进行的,当两个文件的摘要信息相匹配时,可以确定两个文件相匹配。目前,在计算文件的摘要信息时,需要遍历文件的全部内容,这样使得文件的摘要信息的计算速度慢,导致文件匹配效率不高,特别是对于一些文件体积较大的文件而言,遍历文件的全部内容计算摘要信息的方式对文件匹配效率的影响更加明显。因此,如何提高文件摘要信息的计算速度以提升文件匹配效率成为当前的研究热点。
发明内容
本申请实施例提供了一种文件处理方法、装置及计算机设备、存储介质、程序产品,可以提高文件摘要信息的计算速度,以提升文件匹配效率。
一方面,本申请实施例提供了一种文件处理方法,该文件处理方法包括:
获取待处理的目标文件,目标文件包括多个文件块,目标文件被配置M个采样粒度,M为正整数;
在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息;
获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息,基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理;
在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。
相应地,本申请实施例提供了一种文件处理装置,该文件处理装置包括:
获取单元,用于获取待处理的目标文件,目标文件包括多个文件块,目标文件被配置M个采样粒度,M为正整数;
处理单元,用于在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息;
获取单元,用于获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息;
处理单元,还用于基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理;
处理单元,还用于在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。
在一种实现方式中,M个采样粒度按序排列,获取待处理的目标文件之后,处理单元,还用于执行如下步骤:
依次遍历M个采样粒度;
其中,每遍历到一个采样粒度,则触发执行一次文件匹配流程,一次文件匹配流程包括如下操作:文件块采样处理、摘要计算、获取各个参考文件的摘要信息,以及对目标文件进行匹配处理;
在执行完当前遍历到的采样粒度下的文件匹配流程后,处理单元,还用于执行如下步骤:
若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中不存在与目标文件相匹配的参考文件,则对M个采样粒度中未被遍历的采样粒度进行剪枝处理,以停止遍历M个采样粒度,并生成用于指示匹配处理失败的匹配结果。
在一种实现方式中,在执行完当前遍历到的采样粒度下的文件匹配流程后,处理单元,还用于执行如下步骤:
若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中存在与目标文件相匹配的参考文件,则对M个采样粒度的遍历进度进行检测;
若检测到的遍历进度指示M个采样粒度均被遍历完,则生成用于指示匹配处理成功的匹配结果;
若检测到的遍历进度指示M个采样粒度未被遍历完,则执行当前遍历到的采样粒度的下一采样粒度下的文件匹配流程。
在一种实现方式中,在当前遍历到的采样粒度下的文件匹配流程中,目标文件的摘要信息是对目标文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;任一参考文件的摘要信息是对相应参考文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;
针对当前遍历到的采样粒度下的文件匹配流程,处理单元,用于基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对所述目标文件进行匹配处理时,具体用于执行如下步骤:
若参考文件集中存在摘要信息与目标文件的摘要信息相匹配的参考文件,则确定参考文件集中存在与目标文件相匹配的参考文件;
若参考文件集中不存在摘要信息与目标文件的摘要信息相匹配的参考文件,则确定参考文件集中不存在与目标文件相匹配的参考文件。
在一种实现方式中,在当前遍历到的采样粒度下的文件匹配流程中,若当前遍历到的采样粒度在M个采样粒度中排列于首位,则参考文件集包括:文件库中与目标文件的文件名称或文件体积相匹配的文件;
若当前遍历到的采样粒度在M个采样粒度中排列于非首位,则参考文件集包括:通过当前遍历到的采样粒度的上一采样粒度下的文件匹配流程确定的,与目标文件相匹配的参考文件。
在一种实现方式中,处理单元,用于在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理时,具体用于执行如下步骤:
在M个采样粒度中的每个采样粒度下,分别对目标文件进行文件块采样处理,得到目标文件的M个采样文件,一个采样文件对应一个采样粒度;
其中,目标文件的摘要信息包括:目标文件的M个采样文件中的每个采样文件的摘要计算结果;任一参考文件的摘要信息包括:相应参考文件在每个采样粒度下的采样文件的摘要计算结果。
在一种实现方式中,处理单元,用于基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理时,具体用于执行如下步骤:
针对参考文件集中的任一参考文件,若任一参考文件的摘要信息中的摘要计算结果,与目标文件的摘要信息中的摘要计算结果按照采样粒度匹配,则确定任一参考文件与目标文件相匹配;
若任一参考文件的摘要信息与目标文件的摘要信息中,存在按照采样粒度不匹配的摘要计算结果,则确定目标文件与任一参考文件不匹配;
若参考文件集中存在与目标文件相匹配的参考文件,则生成用于指示匹配处理成功的匹配结果;
若参考文件集中不存在与目标文件相匹配的参考文件,则生成用于指示匹配处理失败的匹配结果。
在一种实现方式中,针对M个采样粒度中的第i个采样粒度,处理单元,用于在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理时,具体用于执行如下步骤:
确定第i个采样粒度对应的采样间隔;
根据第i个采样粒度对应的采样间隔,对目标文件进行文件块采样处理,得到目标文件在第i个采样粒度下的采样文件块;
对目标文件在第i个采样粒度下的采样文件块进行拼接处理,得到目标文件在第i个采样粒度下的采样文件,i为小于或等于M的正整数。
在一种实现方式中,参考文件集均已备份至云端,目标文件是待识别备份状态的文件;业务处理包括文件状态同步处理;处理单元,用于根据匹配结果对目标文件进行业务处理时,具体用于执行如下步骤:
若匹配结果指示匹配处理失败,则采用未备份状态标识对目标文件进行标记;
若匹配结果指示匹配处理成功,则采用已备份状态标识对目标文件进行标记。
在一种实现方式中,目标文件是当前被执行移动操作的文件,移动操作用于将目标文件移动至目标文件夹中;参考文件集存储于目标文件夹中;业务处理包括文件移动处理;处理单元,用于根据匹配结果对目标文件进行业务处理时,具体用于执行如下步骤:
若匹配结果指示匹配处理成功,则拒绝移动操作,以拒绝将目标文件移动至目标文件夹中;
若匹配结果指示匹配处理失败,则接受移动操作,将目标文件移动至目标文件夹中。
相应地,本申请实施例提供一种计算机设备,该计算机设备包括处理器和计算机可读存储介质,其中:
处理器,适于实现计算机程序;
计算机可读存储介质,存储有计算机程序,计算机程序适于由处理器加载并执行上述的文件处理方法。
相应地,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的文件处理方法。
相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的文件处理方法。
本申请实施例中,对于待处理的目标文件,目标文件中可以包括多个文件块,目标文件可以被配置一个或多个采样粒度,可以在一个或多个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息,然后可以基于目标文件的摘要信息和参考文件集中的各个参考文件的摘要信息,在参考文件集中对目标文件进行匹配处理,在得到目标文件的匹配结果后,可以根据匹配结果对目标文件进行业务处理;本申请实施例通过配置一个或多个采样粒度对目标文件进行文件块采样处理,使得文件块采样处理得到的采样文件的文件体积小于目标文件的文件体积,从而可以提高文件摘要信息的计算速度,提升文件匹配效率;并且,当配置的采样粒度的数量大于或等于两个时,可以在多个采样粒度下对文件进行匹配处理,还可以提升文件匹配结果的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种文件的逻辑结构的结构示意图;
图2是本申请实施例提供的一种文件处理方法的流程示意图;
图3是本申请实施例提供的一种单采样粒度下摘要信息的计算过程的示意图;
图4a是本申请实施例提供的一种文件块采样处理的示意图;
图4b是本申请实施例提供的另一种文件块采样处理的示意图;
图5是本申请实施例提供的一种多采样粒度和剪枝处理的文件匹配方式的流程示意图;
图6a是本申请实施例提供的一种多采样粒度和剪枝处理的文件匹配方式匹配成功的示意图;
图6b是本申请实施例提供的一种多采样粒度和剪枝处理的文件匹配方式匹配失败的示意图;
图7是本申请实施例提供的另一种文件处理方法的流程示意图;
图8是本申请实施例提供的一种多采样粒度下摘要信息的计算过程示意图;
图9a是本申请实施例提供的一种综合多采样粒度的文件匹配方式匹配成功的示意图;
图9b是本申请实施例提供的一种综合多采样粒度的文件匹配方式匹配失败的示意图;
图10是本申请实施例提供的一种文件状态同步场景的界面示意图;
图11是本申请实施例提供的一种文件处理系统的架构示意图;
图12是本申请实施例提供的一种文件处理装置的结构示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及文件。本申请实施例涉及的文件是指计算机文件,是以计算机硬盘为载体存储在计算机上的信息集合,本申请实施例涉及的文件可以包括但不限于以下任一种:文本文档、图片、音频、视频以及应用程序,本申请实施例不对文件的类型进行限定。文件通常具有格式为“.XXX”或“.XXXX”的文件扩展名,文件扩展名可以用于指示文件类型;举例来说,文件扩展名为“.jpg”或“.jpeg”的文件是图片,文件扩展名为“.doc”或“.docx”的文件是文本文档,文件扩展名为“.mp3”的文件是音频,文件扩展名为“.mp4”的文件是视频。文件可以文件块(也可以称为逻辑块)为单位进行划分,文件块可以被划分为以文件块为单位的文件块序列,并且在文件划分过程中,不足一个文件块的部分可以按照一个文件块进行划分,可以理解为,文件可以包括多个文件块,文件是多个文件块组成的文件块序列,如图1所示,文件是N个文件块组成的文件块序列,N个文件块分别是文件块1,文件块2,文件块3,…,文件块N,N为大于1的正整数。其中,文件块是文件系统IO(Input/Output,输入/输出)操作的基本单位,文件系统是指操作系统在存储设备(例如计算机硬盘)上组织文件的方法,操作系统中负责管理和存储文件信息的软件机构称为文件系统。
本申请实施例涉及文件匹配。文件匹配是指通过比对文件的摘要信息是否匹配(即相同),来判断文件是否匹配的操作;以目标文件和参考文件为例,若目标文件的摘要信息与参考文件的摘要信息相同,则可以确定目标文件与参考文件匹配,即目标文件与参考文件是同一个文件,若目标文件的摘要信息与参考文件的摘要信息不同,则可以确定目标文件与参考文件不匹配,即目标文件与参考文件不是同一个文件。文件的摘要信息可以是采用摘要算法对文件的内容进行摘要计算得到的摘要计算结果,其中,摘要算法可以包括但不限于以下任一种:MD5(Message-Digest Algorithm,信息摘要算法)、SHA-1(SecureHash Algorithm-1,安全散列算法-1)、SHA-256(安全散列算法-256)以及SHA-512(安全散列算法-512),本申请实施例不对摘要算法的类型进行限定。
基于文件和文件匹配的相关描述,本申请实施例提供了一种文件处理方法,在该文件处理方法中,文件被配置一个或多个采样粒度,可以在一个或多个采样粒度下对文件进行文件块采样处理(具体是文件块的下采样处理),在文件块采样处理得到采样文件后,可以对采样文件进行摘要计算,得到文件的摘要信息,从而可以基于文件的摘要信息进行文件匹配处理;本申请实施例通过配置采样粒度对文件进行文件块的下采样处理,文件块的下采样处理可以理解为是按照一定的采样间隔从文件中抽取部分文件块拼接形成新文件的操作,采样间隔与采样粒度相关,拼接形成的新文件便是采样文件,这样可以使得文件块的下采样处理得到的采样文件的文件体积小于原文件的文件体积,相比于遍历文件的全部内容计算文件的摘要信息的方式而言,本申请实施例提供的文件处理方法可以提高文件的摘要信息的计算速度,从而可以提升文件匹配效率。
其中,采样粒度可以用于表征文件块的下采样处理的程度,采样粒度越大(也可以理解为采样粒度越粗),根据采样粒度确定的采样间隔越大,则文件块的下采样处理的程度越高,采样文件相比于原文件的文件体积差越大,采样文件的文件内容与原文件的文件内容的差距越大;相反地,采样粒度越小(也可以理解为采样粒度越细),根据采样粒度确定的采样间隔越小,则文件块的下采样处理的程度越低,采样文件相比于原文件的文件体积差越小,采样文件的内容内容与原文件的文件内容的差距越小。本申请实施例通过配置不同的采样粒度,可以基于文件在不同采样粒度下的摘要信息进行文件匹配处理,这样可以提高文件的匹配结果的准确性。
下面结合图2-图10对本申请实施例提供的文件处理方法进行详细介绍。
本申请实施例提供了一种文件处理方法,该文件处理方法主要介绍文件块采样处理的过程,以及多采样粒度和剪枝处理的文件匹配方式等内容,该文件处理方法可以由计算机设备执行,计算机设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、车载终端、智能语音交互设备以及智能家电等终端。请参见图2,该文件处理方法可以包括以下步骤S201-步骤S206:
S201,获取待处理的目标文件。
目标文件可以包括多个文件块,并且目标文件被配置有M个采样粒度,采样粒度可以是一个具体的数值,M个采样粒度可以按序排列,具体可以是按照数值由大到小(即按照粒度由粗到细)的顺序依次排列,M为正整数。
S202,在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理。
S203,对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息。
步骤S202-步骤S203中,针对M个采样粒度中的第i个采样粒度,在第i个采样粒度下对目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算的过程可参见图3,具体可参见如下描述:首先,可以确定第i个采样粒度对应的采样间隔;在一种实现方式中,采样间隔与采样粒度之间可以存在幂运算关系,采样间隔可以是以目标数值(目标数值可以是大于或等于0的整数)为底数,以采样粒度为指数进行幂运算的结果,以目标数值是数值2为例,若将第i个采样粒度表示为Ki,则第i个采样粒度对应的采样间隔可以表示为2Ki;在另一种实现方式中,可以直接将采样粒度确定为采样间隔,例如,若将第i个采样粒度表示为Ki,则第i个采样粒度对应的采样间隔可以表示为Ki。其次,可以根据第i个采样粒度对应的采样间隔,对目标文件进行文件块采样处理,得到目标文件在第i个采样粒度下的采样文件块,可以对目标文件在第i个采样粒度下的采样文件块进行拼接处理,具体可以是按照采样文件块在目标文件中的排列顺序进行拼接处理,得到目标文件在第i个采样粒度下的采样文件;然后,可以采用摘要算法对第i个采样粒度下的采样文件进行摘要计算,得到目标文件在第i个采样粒度下的摘要信息,i为小于或等于M的正整数。
其中,根据第i个采样粒度对应的采样间隔,对目标文件进行文件块采样处理,得到目标文件在第i个采样粒度下的采样文件块的方式可以包括以下任一种:
第一种文件块采样处理方式,可以按照第i个采样粒度对应的采样间隔对目标文件包括的文件块进行分组,得到目标文件的至少一个文件块分组,每个文件块分组中包含的文件块的数量小于或等于第i个采样粒度对应的采样间隔;然后可以从每个文件块分组的相同对应位置处采样出一个采样文件块,也就是说,每个采样文件块在对应文件块分组中的排列位置是相同的,得到目标文件在第i个采样粒度下的采样文件块,将目标文件在第i个采样粒度下的各个采样文件块按序拼接处理,可以得到目标文件在第i个采样粒度下的采样文件。以图4a所示的文件块采样处理的示意图为例,目标文件中包括12个文件块,分别是文件块1,文件块2,…,文件块12,第i个采样粒度为2,第i个采样粒度对应的采样间隔为4,可以将文件块1-文件块4作为第一个文件块分组,将文件块5-文件块8作为第二个文件块分组,将文件块9-文件块12作为第三个文件块分组,将第一个文件块分组中排列于第二位的文件块2作为第一个采样文件块,将第二个文件块分组中排列于第二位的文件块6作为第二个采样文件块,将第三个文件块分组中排列于第二位的文件块10作为第三个采样文件块,然后,可以将文件块2、文件块6和文件块10按序进行拼接处理,得到目标文件在第i个采样粒度下的采样文件,目标文件在第i个采样粒度下的采样文件包括文件块2、文件块6和文件块10。
第二种文件块采样处理方式,在目标文件中选定第一个采样文件块(一般可以选择目标文件的第一个文件块作为第一个采样文件块)后,可以第一个采样文件块为基准,将间隔第一个采样文件块数量为第i个采样粒度对应的采样间隔的文件块作为第二个采样文件块,然后可以第二个采样文件块为基准,将间隔第二个采样文件块数量为第i个采样粒度对应的采样间隔的文件块作为第三个采样文件块,按此方式继续采样,直至目标文件的最后一个文件块为止,可以得到目标文件在第i个采样粒度下的采样文件块,然后将目标文件在第i个采样粒度下的各个采样文件块按序拼接处理,可以得到目标文件在第i个采样粒度下的采样文件。以图4b所示的文件块采样处理的示意图为例,目标文件中包括12个文件块,分别是文件块1,文件块2,…,文件块12,第i个采样粒度为2,第i个采样粒度对应的采样间隔为4,选定文件块1作为第一个采样文件块后,将间隔第一个采样文件块4个文件块的文件块6作为第二个采样文件块,将间隔第二个采样文件块4个文件块的文件块11作为第三个采样文件块,然后可以将文件块1、文件块6和文件块11按序进行拼接处理,得到目标文件在第i个采样粒度下的采样文件,目标文件在第i个采样粒度下的采样文件包括文件块2、文件块6和文件块10。
S204,获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息。
S205,基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理。
本申请实施例提供的文件匹配方式可以包括多采样粒度和剪枝处理的文件匹配方式,多采样粒度和剪枝处理的文件匹配方式是指:以单个采样粒度为单位,根据M个采样粒度中不同采样粒度从大到小(即由粗到细)的顺序,迭代进行参考文件集与目标文件的匹配处理,并在当前次迭代确定参考文件集与目标文件匹配处理失败时,停止当前次迭代的后续次迭代,在当前次迭代确定参考文件集与目标文件匹配处理成功时,继续当前次迭代的后续次迭代,直至迭代至最后一个采样粒度为止的文件匹配方式。更为具体地,多采样粒度和剪枝处理的文件匹配方式可以包括:在获取到待处理的目标文件之后,可以依次遍历M个采样粒度,每遍历到一个采样粒度,则可以触发执行一次文件匹配流程;在执行完当前遍历到的采样粒度下的文件匹配流程后,若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中不存在与目标文件相匹配的参考文件,则可以对M个采样粒度中未被遍历的采样粒度进行剪枝处理,以停止遍历M个采样粒度,不执行M个采样粒度中未被遍历的采样粒度下的文件匹配流程,并生成用于指示匹配处理失败的匹配结果;若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中存在与目标文件相匹配的参考文件,则可以对M个采样粒度的遍历进度进行检测,若检测到的遍历进度指示M个采样粒度均被遍历完,则可以生成用于指示匹配处理成功的匹配结果,若检测到的遍历进度指示M个采样粒度未被遍历完,则可以执行当前遍历到的采样粒度的下一采样粒度下的文件匹配流程。
其中,一次文件匹配流程可以包括如下操作:文件块采样处理、摘要计算、获取参考文件集中的各个参考文件的摘要信息,以及对目标文件进行匹配处理,即一次文件匹配流程可以包括步骤S202-步骤S205;也就是说,在获取到待处理的目标文件之后,可以依次遍历M个采样粒度,每遍历到一个采样粒度,可以触发执行在M个采样粒度中的至少一个采样粒度(此处的至少一个采样粒度具体可以是指当前遍历到的采样粒度)下,对目标文件进行文件块采样处理,对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息,获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息,基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理。
并且,在当前遍历到的采样粒度下的文件匹配流程中,若当前遍历到的采样粒度在M个采样粒度中排列于首位,即当前遍历到的采样粒度是M个采样粒度中的第一个采样粒度,则参考文件集中可以包括:文件库中与目标文件的文件名称或文件体积相匹配的文件;若当前遍历到的采样粒度在M个采样粒度中排列于非首位,即当前遍历到的采样粒度是M个采样粒度中除第一个采样粒度外的其他采样粒度,则参考文件集中可以包括:通过当前遍历到的采样粒度的上一采样粒度下的文件匹配流程确定的,与目标文件相匹配的参考文件。
此外,在当前遍历到的采样粒度下的文件匹配流程中,目标文件的摘要信息是对目标文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;任一参考文件的摘要信息是对相应参考文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的。针对当前遍历到的采样粒度下的文件匹配流程,基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理的过程,可以包括:若参考文件集中存在摘要信息与目标文件的摘要信息相匹配(即相同)的参考文件,则可以确定参考文件集中存在与目标文件相匹配的参考文件;若参考文件集中不存在摘要信息与目标文件的摘要信息相匹配的参考文件,则可以确定参考文件集中不存在与所述目标文件相匹配的参考文件。
下面将结合图5对多采样粒度和剪枝处理的文件匹配方式进行梳理,在对多采样粒度和剪枝处理的文件匹配方式进行梳理之前,在此先理清一些概念:①目标文件可以被配置采样粒度组合,采样粒度组合可以表示为[K1,K2,…,Ki,…,KM],采样粒度组合中可以包括M个采样粒度,M个采样粒度的数值逐渐减小,其中,第i个采样粒度可以表示为Ki。②目标文件q在M个采样粒度下的摘要信息可以表示为[S1(q),S2(q),..,Si(q),…,SM(q)],其中,目标文件q在第i个采样粒度下的摘要信息可以表示为Si(q)。③在首次迭代(即第一个采样粒度下的文件匹配流程)中,参考文件集Q1中的参考文件是文件库中与目标文件的文件体积或文件名称相匹配(即相同)的文件;在非首次迭代(以第i次迭代,即第i个采样粒度下的文件匹配流程,i≠1为例)中,参考文件集Qi中的参考文件是在第i-1次迭代(即第i-1个采样粒度下的文件匹配流程)中确定的,在第i-1次迭代的参考文件集Qi-1中与目标文件相匹配的参考文件。④参考文件集中各个参考文件的摘要信息可以包含于参考文件集的摘要信息集R中,参考文件集的摘要信息集R中可以包括参考文件集中的每个参考文件在M个采样粒度下的摘要信息,在第i个迭代中,参考文件集Qi在第i个采样粒度下的摘要信息集可以表示为Ri,摘要信息集Ri中可以包括参考文件集Qi中的各个参考文件在第i个采样粒度下的摘要信息。
基于上述概念,以第i次迭代(即第i个采样粒度下的文件匹配流程)为例,第i个采样粒度下的文件匹配流程可以包括:
(1)获取参考文件集Qi在第i个采样粒度下的摘要信息集Ri。参考文件集Qi在第i个采样粒度下的摘要信息集Ri中可以包括参考文件集Qi中的各个参考文件在第i个采样粒度Ki下的摘要信息。
(2)计算目标文件q在第i个采样粒度下的摘要信息Si(q)。具体来说,可以在第i个采样粒度Ki下,对目标文件q进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到目标文件q在第i个采样粒度Ki下的摘要信息Si(q)。
(3)将目标文件q在第i个采样粒度Ki下的摘要信息Si(q),与参考文件集Qi的摘要信息集Ri中的各个摘要信息进行匹配。具体来说,通过将目标文件q在第i个采样粒度Ki下的摘要信息Si(q),与参考文件集Qi的摘要信息集Ri中的各个摘要信息进行匹配,可以确定参考文件集Qi在第i个采样粒度下的摘要信息集Ri中是否存在目标文件q在第i个采样粒度Ki下的摘要信息Si(q)的匹配项,以确定参考文件集Qi中是否存在与目标文件相匹配的参考文件(即匹配项对应的参考文件)。
(4)若参考文件集Qi在第i个采样粒度下的摘要信息集Ri中存在目标文件q在第i个采样粒度Ki下的摘要信息Si(q)的匹配项,即参考文件集Qi中存在与目标文件相匹配的参考文件,则判断是否遍历完采样粒度组合中的所有采样粒度,若遍历完采样粒度组合中的所有采样粒度,则生成用于指示匹配处理成功的匹配结果;若未遍历完采样粒度组合中的所有采样粒度,则令i=i+1,执行第i+1个采样粒度下的文件匹配流程,第i+1个采样粒度下的文件匹配流程中的参考文件集Qi+1是根据参考文件集Qi中与目标文件相匹配的参考文件(即匹配项对应的参考文件)确定的。
(5)若参考文件集Qi在第i个采样粒度下的摘要信息集Ri中不存在目标文件q在第i个采样粒度Ki下的摘要信息Si(q)的匹配项,即参考文件集Qi中不存在与目标文件相匹配的参考文件,则进行剪枝处理,剪枝处理是指停止遍历M个采样粒度,即提前停止采样粒度组合中未遍历的采样粒度下的文件匹配流程,并生成用于指示匹配处理失败的匹配结果。
以图6a所示的多采样粒度和剪枝处理的文件匹配方式的示意图为例,采样粒度组合中包括三个采样粒度[2,1,0],在第一个采样粒度下的文件匹配流程中,目标文件在第一个采样粒度下的摘要信息为123456a,参考文件集中包括三个参考文件,参考文件集在第一个采样粒度下的摘要信息集为[123456a,123456a,123456c],即参考文件1在第一个采样粒度下的摘要信息为123456a,参考文件2在第一个采样粒度下的摘要信息为123456a,参考文件3在第一个采样粒度下的摘要信息为123456c,通过第一个采样粒度下的文件匹配流程,可以确定参考文件集中的参考文件1和参考文件2是与目标文件相匹配的参考文件,可以根据参考文件1和参考文件2确定第二个采样粒度下的文件匹配流程中的参考文件集;类似地,在第二个采样粒度下的文件匹配流程中,目标文件在第二个采样粒度下的摘要信息为1234567a,参考文件集在第二个采样粒度下的摘要信息集为[1234567a,1234567b],即参考文件1在第二个采样粒度下的摘要信息为1234567a,参考文件2在第二个采样粒度下的摘要信息为1234567b,通过第二个采样粒度下的文件匹配流程,可以确定参考文件集中的参考文件1是与目标文件相匹配的参考文件,可以根据参考文件1确定第三个采样粒度下的文件匹配流程中的参考文件集;类似地,在第三个采样粒度下的文件匹配流程中,目标文件在第三个采样粒度下的摘要信息为12345678a,参考文件集在第三个采样粒度下的摘要信息集为[12345678a],即参考文件1在第三个采样粒度下的摘要信息为12345678a,通过第三个采样粒度下的文件匹配流程,可以确定参考文件集中的参考文件1是与目标文件相匹配的参考文件,此时,采样粒度组合中的采样粒度均被遍历完,可以生成用于指示匹配处理成功的匹配结果。
以图6b所示的多采样粒度和剪枝处理的文件匹配方式的示意图为例,采样粒度组合中包括三个采样粒度[2,1,0],在第一个采样粒度下的文件匹配流程中,目标文件在第一个采样粒度下的摘要信息为123456a,参考文件集中包括三个参考文件,参考文件集在第一个采样粒度下的摘要信息集为[123456b,123456c,123456d],即参考文件1在第一个采样粒度下的摘要信息为123456b,参考文件2在第一个采样粒度下的摘要信息为123456c,参考文件3在第一个采样粒度下的摘要信息为123456d,通过第一个采样粒度下的文件匹配流程,可以确定参考文件集中不存在与目标文件相匹配的参考文件,此时,可以进行剪枝处理,可以提前停止第二个采样粒度和第三个采样粒度下的文件匹配流程,并生成用于指示匹配处理失败的匹配结果。
综上关于多采样粒度和剪枝处理的文件匹配方式,在采样粒度组合包括的M个采样粒度中,对于数值大(即粒度粗)的采样粒度,在数值大的采样粒度下进行文件块采样处理得到的采样文件相比于原文件的文件体积差越大,采样文件与原文件的内容差距也越大,摘要信息的计算速度也越快,但是匹配时的准确性越低,发生文件碰撞(即两个文件的摘要信息相同,但是两个文件不是同一个文件)的概率越高;而对于数值小(即粒度细)的采样粒度,在数值小的采样粒度下进行文件块采样处理得到的采样文件相比于原文件的文件体积差越小,采样文件与原文件的内容差距也越小,匹配时的准确性越高,发生文件碰撞的概率越低,但是摘要信息的计算速度越慢;本申请实施例为文件配置数值大小不同的多个采样粒度,综合考虑了文件匹配效率和文件匹配准确率,具备兼顾文件匹配效率和文件匹配准确率的能力。并且,在任一个采样粒度下的文件匹配流程中,若通过该采样粒度下的文件匹配流程确定参考文件集中不存在与目标文件相匹配的参考文件,则通过剪枝处理可以节省采样粒度组合中未遍历的采样粒度下的文件匹配流程的时间消耗,在统计意义上加速了文件匹配效率。另外,在采样间隔与采样粒度之间存在幂运算关系,以及采用文件块分组的文件块采样处理的方式下,可以将M个采样粒度中的最后一个采样粒度配置为0,这样可以使得在最后一个采样粒度下采样得到的采样文件与原文件是同一个文件,进一步提升文件匹配准确性。
S206,在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。
在得到目标文件的匹配结果后,可以根据目标文件的匹配结果对目标文件进行业务处理,匹配结果可以包括用于指示匹配处理成功的匹配结果或用于指示匹配处理失败的匹配结果。
本申请实施例中,通过为文件配置数值不同的多个采样粒度,综合考虑了文件匹配效率和文件匹配准确率,具备兼顾文件匹配效率和文件匹配准确率的能力,能够在保证文件匹配准确性前提下提升文件匹配效率,并且,在任一个采样粒度下的文件匹配流程中,若通过该采样粒度下的文件匹配流程确定参考文件集中不存在与目标文件相匹配的参考文件,则通过剪枝处理可以节省采样粒度组合中未遍历的采样粒度下的文件匹配流程的时间消耗,在统计意义上加速了文件匹配效率,本申请实施例提供的多采样粒度和剪枝处理的文件匹配方式,对于大体积文件的匹配过程而言,文件匹配时的准确率和文件匹配效率更优越。
本申请实施例还提供一种文件处理方法,该文件处理方法主要介绍综合多采样粒度的文件匹配方式,单采样粒度的文件匹配方式以及基于匹配结果进行文件的业务处理等内容,该文件处理方法可以由计算机设备执行,计算机设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、车载终端、智能语音交互设备以及智能家电等终端。请参见图7,该文件处理方法可以包括步骤S701-步骤S709:
S701,获取待处理的目标文件。
目标文件可以包括多个文件块,并且目标文件被配置有M个采样粒度,采样粒度可以是一个具体的数值,M个采样粒度可以按序排列,具体可以是按照数值由大到小(即按照粒度由粗到细)的顺序依次排列,M为正整数。
S702,在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理。
S703,对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息。
步骤S702-步骤S703中,上述图2所示实施例中重点介绍了多采样粒度和剪枝处理的文件匹配方式,除了多采样粒度和剪枝处理的文件匹配方式外,本申请实施例提供的文件匹配方式还可以包括综合多采样粒度的文件匹配方式,综合多采样粒度的文件匹配方式是指:文件的摘要信息中包括文件在多个采样粒度中的每个采样粒度下的摘要计算结果,在进行文件匹配时综合比对文件在多个采样粒度中的每个采样粒度下的摘要计算结果的文件匹配方式。在综合多采样粒度的文件匹配方式中,在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理的过程,可以包括:在M个采样粒度中的每个采样粒度下,分别对目标文件进行文件块采样处理,得到目标文件的M个采样文件,一个采样文件对应一个采样粒度。在综合多采样粒度的文件匹配方式中,对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息的过程可以包括:分别对目标文件的M个采样文件中的每个采样文件进行摘要计算,得到目标文件的每个采样文件的摘要计算结果,目标文件的摘要信息可以包括目标文件在每个采样粒度下的采样文件的摘要计算结果。举例来说,目标文件被配置了三个采样粒度,分别是第一个采样粒度、第二个采样粒度和第三个采样粒度,目标文件的摘要信息中可以包括目标文件在第一个采样粒度下的采样文件的摘要计算结果,目标文件在第二个采样粒度下的采样文件的摘要计算结果,以及目标文件在第三个采样粒度下的采样文件的摘要计算结果。
需要说明的是,在计算目标文件的摘要信息的过程中,目标文件在各个采样粒度下的摘要计算过程可以是并行的,即可以同步执行目标文件在每个采样粒度下的摘要计算过程。或者,目标文件在各个采样粒度下的摘要计算过程可以是串行的,也就是说,可以依次遍历M个采样粒度,每遍历到一个采样粒度,执行一次摘要计算过程,在执行完目标文件在当前遍历到的采样粒度下的摘要计算过程之后,再执行目标文件在当前遍历到的采样粒度的下一采样粒度下的摘要计算过程,直至遍历完M个采样粒度为止。如图8所示的多采样粒度下的摘要信息的计算过程示意图,可以在第i个采样粒度下对目标文件进行文件块采样处理,得到目标文件在第i个采样粒度下的采样文件,然后可以对目标文件在第i个采样粒度下的采样文件进行摘要计算,得到目标文件在第i个采样粒度下的摘要计算结果;在得到目标文件在第i个采样粒度下的摘要计算结果后,可以判断是否遍历完M个采样粒度,若未遍历完M个采样粒度,则可以令i=i+1,对目标文件在第i+1个采样粒度下的采样文件进行摘要计算,若遍历完M个采样粒度,则可以根据目标文件在M个采样粒度中的每个采样粒度下的摘要计算结果,确定目标文件的摘要信息。
S704,获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息。
在综合多采样粒度的文件匹配方式中,参考文件集中包括的参考文件是文件库中与目标文件的文件名称或文件体积相匹配的文件,参考文件集中的任一参考文件的摘要信息可以包括相应参考文件在M个采样粒度中的每个采样粒度下的采样文件的摘要计算结果。
S705,针对参考文件集中的任一参考文件,若任一参考文件的摘要信息中的摘要计算结果,与目标文件的摘要信息中的摘要计算结果按照采样粒度匹配,则确定任一参考文件与目标文件相匹配。
在综合多采样粒度的文件匹配方式中,若任一参考文件的摘要信息中的摘要计算结果,与目标文件的摘要信息中的摘要计算结果按照采样粒度匹配,则可以确定任一参考文件与目标文件相匹配;按照采样粒度相匹配可以理解为:目标文件在每个采样粒度下的摘要计算结果,与参考文件在对应采样粒度下的摘要计算结果均相匹配(即相同),则确定目标文件与参考文件相匹配。举例来说,目标文件和参考文件被配置三个采样粒度,分别是第一个采样粒度、第二个采样粒度以及第三个采样粒度,目标文件在第一个采样粒度下的摘要计算结果为123456a,目标文件在第二个采样粒度下的摘要计算结果为1234567a,目标文件在第三个采样粒度下的摘要计算结果为12345678a,参考文件在第一个采样粒度下的摘要计算结果为123456a,参考文件在第二个采样粒度下的摘要计算结果为1234567a,参考文件在第三个采样粒度下的摘要计算结果为12345678a,可以看出,目标文件在第一个采样粒度下的摘要计算结果与参考文件在第一个采样粒度下的摘要计算结果相匹配,目标文件在第二个采样粒度下的摘要计算结果与参考文件在第二个采样粒度下的摘要计算结果相匹配,目标文件在第三个采样粒度下的摘要计算结果与参考文件在第三个采样粒度下的摘要计算结果相匹配,则可以确定目标文件与参考文件相匹配。
S706,若任一参考文件的摘要信息与目标文件的摘要信息中,存在按照采样粒度不匹配的摘要计算结果,则确定目标文件与任一参考文件不匹配。
在综合多采样粒度的文件匹配方式中,若任一参考文件的摘要信息与目标文件的摘要信息中,存在按照采样粒度不匹配的摘要计算结果,则确定目标文件与任一参考文件不匹配;可以理解为,M个采样粒度中,存在一个采样粒度使得目标文件在该采样粒度下的摘要计算结果与参考文件在该采样粒度下的摘要计算结果是不匹配的,则可以确定目标文件与参考文件不匹配。举例来说,目标文件和参考文件被配置三个采样粒度,分别是第一个采样粒度、第二个采样粒度以及第三个采样粒度,目标文件在第一个采样粒度下的摘要计算结果为123456a,目标文件在第二个采样粒度下的摘要计算结果为1234567a,目标文件在第三个采样粒度下的摘要计算结果为12345678a,参考文件在第一个采样粒度下的摘要计算结果为123456b,参考文件在第二个采样粒度下的摘要计算结果为1234567b,参考文件在第三个采样粒度下的摘要计算结果为12345678a,可以看出,目标文件在第一个采样粒度下的摘要计算结果与参考文件在第一个采样粒度下的摘要计算结果不匹配,目标文件在第二个采样粒度下的摘要计算结果与参考文件在第二个采样粒度下的摘要计算结果也不匹配,则可以确定目标文件与参考文件不匹配。
S707,若参考文件集中存在与目标文件相匹配的参考文件,则生成用于指示匹配处理成功的匹配结果。
S708,若参考文件集中不存在与目标文件相匹配的参考文件,则生成用于指示匹配处理失败的匹配结果。
步骤S707-步骤S708中,在综合多采样粒度的文件匹配方式中,若参考文件集中存在与目标文件相匹配的参考文件,则可以生成用于指示匹配处理成功的匹配结果,若参考文件集中不存在与目标文件相匹配的参考文件,则可以生成用于指示匹配处理失败的匹配结果。以图9a所示的综合多采样粒度的文件匹配方式的示意图为例,参考文件集中包括三个参考文件,分别是参考文件1、参考文件2和参考文件3,参考文件1与目标文件在三个采样粒度下的摘要计算结果按照采样粒度匹配,则参考文件1与目标文件相匹配,参考文件2与目标文件在三个采样粒度下的摘要计算结果均不匹配,则参考文件2与目标文件不匹配,参考文件3与目标文件在三个采样粒度下的摘要计算结果均不匹配,则参考文件3与目标文件不匹配,也就是说,参考文件集中存在参考文件1与目标文件相匹配,则可以生成用于指示匹配处理成功的匹配结果。以图9b所示的综合多采样粒度的文件匹配方式的示意图为例,参考文件集中包括三个参考文件,分别是参考文件1、参考文件2和参考文件3,参考文件1与目标文件在三个采样粒度下的摘要计算结果均不匹配,则参考文件1与目标文件不匹配,参考文件2与目标文件在三个采样粒度下的摘要计算结果均不匹配,则参考文件2与目标文件不匹配,参考文件3与目标文件在三个采样粒度下的摘要计算结果均不匹配,则参考文件3与目标文件不匹配,也就是说,参考文件集中不存在与目标文件相匹配的参考文件,可以生成用于指示匹配处理失败的匹配结果。
综上关于综合多采样粒度的文件匹配方式,在M个采样粒度中,在数值大(即粒度粗)的采样粒度下,摘要信息的计算速度快,但是匹配时的准确性低,发生文件碰撞的概率越高;在数值小(即粒度细)的采样粒度下,匹配时的准确性高,发生文件碰撞的概率低,但是摘要信息的计算速度慢;本申请实施例为文件配置数值大小不同的多个采样粒度,综合考虑了文件匹配效率和文件匹配准确率,能够在保证文件匹配准确率的前提下提升文件匹配效率。
上述内容重点介绍了综合多采样粒度的文件匹配方式,除了综合多采样粒度的文件匹配方式外,本申请实施例提供的文件匹配方式还可以包括单采样粒度的文件匹配方式,单采样粒度的文件匹配方式是指:文件的摘要信息是对文件在单个采样粒度下的采样文件进行摘要计算得到的,在进行文件匹配时,比对文件在单个采样粒度下的摘要信息的文件匹配方式,可以理解为,单采样粒度的文件匹配方式是综合多采样粒度的文件匹配方式在M=1时的特殊情况。在单采样粒度的文件匹配方式中,单个采样粒度可以称为目标采样粒度,可以计算目标文件在目标采样粒度下的摘要信息,参考文件集中包括的参考文件是文件库中与目标文件的文件名称或文件体积相匹配的文件,参考文件集中的任一参考文件的摘要信息是对相应参考文件在目标采样粒度下的采样文件进行摘要计算得到的;若参考文件集中存在摘要信息与目标文件相匹配(即相同)的参考文件,则可以确定参考文件集中存在与目标文件相匹配的参考文件,进一步可以生成匹配处理成功的匹配结果;若参考文件集中不存在摘要信息与目标文件相匹配(即相同)的参考文件,则可以确定参考文件集中不存在与目标文件相匹配的参考文件,进一步可以生成匹配处理失败的匹配结果。
综上关于单采样粒度下的文件匹配方式,单采样粒度的文件匹配方式比对的是文件在单个采样粒度下的摘要信息,因此单采样粒度的文件匹配方式在文件匹配效率上的优势非常明显,但是单采样粒度的文件匹配方式提升文件匹配效率是以摘要信息表征的准确性损失为代价的,单采样粒度的文件匹配方式中出现文件碰撞的概率很高;对比多采样粒度和剪枝处理的文件匹配方式、综合多采样粒度的文件匹配方式以及单采样粒度的文件匹配方式,不难发现,多采样粒度和剪枝处理的文件匹配方式、以及综合多采样粒度的文件匹配方式弥补了单采样粒度的文件匹配方式在文件匹配准确率中的缺失。
总体来看,本申请实施例提供的文件匹配方式可以包括多采样粒度和剪枝处理的文件匹配方式、综合多采样粒度的文件匹配方式、以及单采样粒度的文件匹配方式中的任一种;本申请实施例可以根据实际需求选择任一种文件匹配方式进行文件匹配处理:例如,可以根据文件体积来选择文件匹配方式,当目标文件的文件体积大于体积阈值时,可以选择多采样粒度和剪枝处理的文件匹配方式,当目标文件的文件体积小于或等于体积阈值时,可以选择综合多采样粒度的文件匹配方式;又如,可以根据文件处理需求来选择文件匹配方式,对于高文件匹配效率的文件处理需求而言,可以选择单采样粒度的文件匹配方式,对于高文件匹配准确率的文件处理需求而言,可以选择多采样粒度和剪枝处理的文件匹配方式,或者可以选择综合多采样粒度的文件匹配方式。
S709,在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。
在得到目标文件的匹配结果后,可以根据目标文件的匹配结果对目标文件进行业务处理,匹配结果可以包括用于指示匹配处理成功的匹配结果或用于指示匹配处理失败的匹配结果。
业务处理可以包括文件状态同步处理,文件状态同步处理是指保持计算机设备(即终端)中的文件备份状态与云端的文件备份状态同步的处理。具体来说,在文件状态同步处理的业务处理场景中,目标文件是终端中待识别备份状态的文件,参考文件集中的各个参考文件均已备份至云端,参考文件集是云端的数据库(即前文提及的文件库)中与目标文件的文件名称或文件体积相匹配的文件,根据匹配结果对目标文件进行业务处理,可以包括:若匹配结果指示匹配处理成功,说明目标文件已备份至云端,则可以采用已备份标识对目标文件进行标记;若匹配结果指示匹配处理失败,说明目标文件未备份至云端,则可以采用未备份标识对目标文件进行标记;如图10所示的文件状态同步处理的业务处理场景中的相关界面示意图,文件名为“XX-1文件”的文件被未备份标识1001(例如图10中的“未备份”)标记,文件名为“XX-2文件”的文件被已备份标识1002(例如图10中的“已备份”)标记,文件名为“XX-3文件”的文件被已备份标识1002标记。此外,在采用未备份标识对目标文件进行标记后,若检测到对目标文件的备份操作,则可以响应于对目标文件的备份操作,将目标文件备份至云端进行存储。通过本申请实施例提供的文件匹配方式得到的匹配结果进行文件状态同步处理,不仅可以保证文件状态同步的准确性,还可以提升文件状态同步效率。
或者,业务处理可以包括文件备份处理,文件备份处理是指在检测到文件未备份至云端时立即将文件备份至云端的处理。具体来说,在文件备份处理的业务处理场景中,目标文件是终端中待识别备份状态的文件,参考文件集中的各个参考文件均已备份至云端,参考文件集是云端的数据库(即前文提及的文件库)中与目标文件的文件名称或文件体积相匹配的文件,根据匹配结果对目标文件进行业务处理,可以包括:若匹配结果指示匹配处理成功,则说明目标文件已备份至云端,则不对目标文件进行备份处理;若匹配结果指示匹配处理失败,则说明目标文件未备份至云端,则可以立即将目标文件备份至云端进行存储。通过本申请实施例提供的文件匹配方式得到的匹配结果,可以准确且高效地进行文件备份处理。
或者,业务处理可以包括文件移动处理,文件移动处理是指将文件移动至相应的文件夹中的处理。具体来说,在文件移动处理的业务处理场景中,目标文件是当前被执行移动操作的文件,移动操作可以用于将目标文件移动至目标文件夹中,参考文件集存储于目标文件夹(即前文提及的文件库)中,参考文件集是目标文件夹中与目标文件的文件名称或文件体积相匹配的文件,根据匹配结果对目标文件进行业务处理,可以包括:若匹配结果指示匹配处理成功,则可以拒绝移动操作,以拒绝将目标文件移动至目标文件夹中;若匹配结果指示匹配处理失败,则可以接受移动操作,将目标文件移动至目标文件夹中。通过本申请实施例提供的文件匹配方式得到的匹配结果,可以准确且高效地进行文件移动处理。
需要说明的是,本申请实施例中参考文件集中的各个参考文件的摘要信息可以是直接获取到的;例如,在文件状态同步处理和文件备份处理的业务处理场景中,每备份至云端一个文件,云端都会将该文件的摘要信息作为该文件的唯一标识与该文件进行关联存储,也就是说,云端存储有参考文件集中的各个参考文件的摘要信息,当需要进行文件匹配处理时,终端可以直接从云端获取参考文件集中的各个参考文件的摘要信息;类似地,在文件移动场景中,终端每存储一个文件,都会将该文件的摘要信息作为该文件的唯一标识与该文件进行关联存储,也就是说,终端中存储有参考文件集中的各个参考文件的摘要信息,当需要进行文件匹配处理时,可以直接从终端获取参考文件集中的各个参考文件的摘要信息;通过这种方式,可以进一步提升文件匹配效率。或者,本申请实施例中的参考文件集中的各个参考文件的摘要信息,是获取到参考文件集后进行文件块采样处理,摘要计算处理得到的;例如,在文件状态同步处理和文件备份处理的业务处理场景中,当需要进行文件匹配处理时,可以从云端获取参考文件集,然后终端可以对参考文件集中的各个参考文件进行文件块采样处理、摘要计算,得到参考文件集中的各个参考文件的摘要信息;类似地,在文件移动场景中,当需要进行文件匹配处理时,可以从终端获取参考文件集,然后可以对参考文件集中的各个参考文件进行文件块采样处理、摘要计算,得到参考文件集中的各个参考文件的摘要信息;通过这种方式,可以进一步提升文件匹配准确率。
本申请实施例中,对于综合多采样粒度的文件匹配方式,在文件匹配过程中可以对各个采样粒度下的摘要计算结果均进行比对,在文件匹配准确率上的优势较为明显。对于单采样粒度的文件匹配方式,在文件匹配过程中对单个采样粒度下的摘要计算结果进行比对,在文件匹配效率上的优势较为明显。本申请实施例可以根据不同的文件处理需求选择不同的文件匹配方式进行文件处理,文件处理方式灵活多样。另外,本申请实施例提供的文件处理方式可以应用在文件状态同步处理、文件备份处理、以及文件同步处理等文件业务处理场景中,可以准确且高效地进行文件业务处理。
上述图2-图10所示实施例详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的文件处理系统。
如图11所示的文件处理系统,文件处理系统中可以包括终端1101和服务器1102(或者文件处理系统中可以包括终端1101,不包括服务器1102,图11以文件处理系统包括终端1101和服务器1102为例);本申请实施例提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器;本申请实施例提及的终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、车载终端、智能语音交互设备以及智能家电等,但并不局限于此;终端和服务器之间可以通过有线通信方式进行直接地连接,或可以通过无线通信方式进行间接地连接,本申请在此不做限制。
在上述文件状态同步处理或文件备份处理的文件业务处理场景中,文件处理系统可以包括终端和服务器,文件被备份至服务器(即云端)中,即服务器中存储有已备份的文件,当终端中存在对目标文件的文件状态同步处理或文件备份处理需求时,终端可以向服务器发送文件处理请求,文件处理请求中可以携带目标文件的文件名称或目标文件的文件体积;当服务器接收到终端发送的文件处理请求时,响应于文件处理请求,可以从服务器的数据库(即前文所提及的文件库)中查找与目标文件的文件名称或文件体积相匹配的文件,并根据查找到的文件确定参考文件集;若服务器中存储有参考文件集中的各个参考文件的摘要信息,则服务器可以将参考文件集中的各个参考文件的摘要信息发送至终端;若服务器中未存储有参考文件集中的各个参考文件的摘要信息,则服务器可以通过文件块采样处理以及摘要计算得到参考文件集中的各个参考文件的摘要信息,并将参考文件集中的各个参考文件的摘要信息发送至终端;或者,若服务器中未存储有参考文件集中的各个参考文件的摘要信息,则服务器可以将参考文件集中的各个参考文件发送至终端,终端可以通过文件块采样处理以及摘要计算得到参考文件集中的各个参考文件的摘要信息;然后,终端可以基于目标文件的摘要信息以及参考文件集中的各个参考文件的摘要信息,采用多采样粒度和剪枝处理的文件匹配方式、综合多采样粒度的文件匹配方式、以及单采样粒度的文件匹配方式中的任一种文件匹配方式,在参考文件集中对目标文件进行匹配处理,并在得到目标文件的匹配结果后,根据目标文件的匹配结果对目标文件进行文件状态同步处理或文件备份处理。
在上述文件移动处理的文件业务处理场景中,文件处理系统可以包括终端,文件存储于终端中,当终端中存在将目标文件移动至目标文件夹的操作需求时,终端可以在目标文件夹(即前文所提及的文件库)中查找与目标文件的文件名称或文件体积相匹配的文件,并根据查找到的文件确定参考文件集;若终端中存储有参考文件集中的各个参考文件的摘要信息,则终端可以基于目标文件的摘要信息以及参考文件集中的各个参考文件的摘要信息,采用多采样粒度和剪枝处理的文件匹配方式、综合多采样粒度的文件匹配方式、以及单采样粒度的文件匹配方式中的任一种文件匹配方式,在参考文件集中对目标文件进行匹配处理,并在得到目标文件的匹配结果后,根据匹配结果对目标文件进行文件移动处理;若终端中未存储有参考文件集中的各个参考文件的摘要信息,则终端可以通过文件块采样处理以及摘要计算得到参考文件集中的各个参考文件的摘要信息,然后,终端可以基于目标文件的摘要信息以及参考文件集中的各个参考文件的摘要信息,采用多采样粒度和剪枝处理的文件匹配方式、综合多采样粒度的文件匹配方式、以及单采样粒度的文件匹配方式中的任一种文件匹配方式,在参考文件集中对目标文件进行匹配处理,并在得到目标文件的匹配结果后,根据匹配结果对目标文件进行文件移动处理。
在本申请实施例提供的文件处理系统的系统架构下,采用本申请实施例提供的文件匹配方式,可以在文件状态同步处理、文件备份处理、以及文件移动处理等文件业务处理场景中高效且准确地进行业务处理。
可以理解的是,本申请实施例描述的文件处理系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着区块链网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
需要说明的是,本申请实施例提供的文件处理方法可以与云基础技术类中的云计算(Cloud Computing)技术、以及云存储(Cloud Storage)技术相结合。
其中:
云计算技术是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。云计算技术指IT(Internet Technology,互联网技术)基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算技术是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、以及负载均衡(LoadBalance)等传统计算机和网络技术发展融合的产物。本申请实施例可以在进行文件块采样处理、摘要计算、以及对目标文件进行匹配处理时,采用云计算技术加速文件块采样处理、摘要计算、以及对目标文件进行匹配处理,从而可以进一步提升文件匹配效率。
云存储技术是在云计算技术概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(Identity,ID)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。本申请实施例的服务器(即云端)或本申请实施例的终端可以采用云存储技术存储文件,以及文件的摘要信息,提高文件和文件摘要信息的存储效率。
上述详细阐述了本申请实施例的方法和系统,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图12,图12是本申请实施例提供的一种文件处理装置的结构示意图,该文件处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述提及的终端。图12所示的文件处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该文件处理装置可以用于执行图2或图7所示的方法实施例中的部分或全部步骤。请参见图12,该文件处理装置可以包括如下单元:
获取单元1201,用于获取待处理的目标文件,目标文件包括多个文件块,目标文件被配置M个采样粒度,M为正整数;
处理单元1202,用于在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息;
获取单元1201,用于获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息;
处理单元1202,还用于基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理;
处理单元1202,还用于在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。
在一种实现方式中,M个采样粒度按序排列,获取待处理的目标文件之后,处理单元1202,还用于执行如下步骤:
依次遍历M个采样粒度;
其中,每遍历到一个采样粒度,则触发执行一次文件匹配流程,一次文件匹配流程包括如下操作:文件块采样处理、摘要计算、获取各个参考文件的摘要信息,以及对目标文件进行匹配处理;
在执行完当前遍历到的采样粒度下的文件匹配流程后,处理单元1202,还用于执行如下步骤:
若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中不存在与目标文件相匹配的参考文件,则对M个采样粒度中未被遍历的采样粒度进行剪枝处理,以停止遍历M个采样粒度,并生成用于指示匹配处理失败的匹配结果。
在一种实现方式中,在执行完当前遍历到的采样粒度下的文件匹配流程后,处理单元1202,还用于执行如下步骤:
若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中存在与目标文件相匹配的参考文件,则对M个采样粒度的遍历进度进行检测;
若检测到的遍历进度指示M个采样粒度均被遍历完,则生成用于指示匹配处理成功的匹配结果;
若检测到的遍历进度指示M个采样粒度未被遍历完,则执行当前遍历到的采样粒度的下一采样粒度下的文件匹配流程。
在一种实现方式中,在当前遍历到的采样粒度下的文件匹配流程中,目标文件的摘要信息是对目标文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;任一参考文件的摘要信息是对相应参考文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;
针对当前遍历到的采样粒度下的文件匹配流程,处理单元1202,用于基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对所述目标文件进行匹配处理时,具体用于执行如下步骤:
若参考文件集中存在摘要信息与目标文件的摘要信息相匹配的参考文件,则确定参考文件集中存在与目标文件相匹配的参考文件;
若参考文件集中不存在摘要信息与目标文件的摘要信息相匹配的参考文件,则确定参考文件集中不存在与目标文件相匹配的参考文件。
在一种实现方式中,在当前遍历到的采样粒度下的文件匹配流程中,若当前遍历到的采样粒度在M个采样粒度中排列于首位,则参考文件集包括:文件库中与目标文件的文件名称或文件体积相匹配的文件;
若当前遍历到的采样粒度在M个采样粒度中排列于非首位,则参考文件集包括:通过当前遍历到的采样粒度的上一采样粒度下的文件匹配流程确定的,与目标文件相匹配的参考文件。
在一种实现方式中,处理单元1202,用于在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理时,具体用于执行如下步骤:
在M个采样粒度中的每个采样粒度下,分别对目标文件进行文件块采样处理,得到目标文件的M个采样文件,一个采样文件对应一个采样粒度;
其中,目标文件的摘要信息包括:目标文件的M个采样文件中的每个采样文件的摘要计算结果;任一参考文件的摘要信息包括:相应参考文件在每个采样粒度下的采样文件的摘要计算结果。
在一种实现方式中,处理单元1202,用于基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理时,具体用于执行如下步骤:
针对参考文件集中的任一参考文件,若任一参考文件的摘要信息中的摘要计算结果,与目标文件的摘要信息中的摘要计算结果按照采样粒度匹配,则确定任一参考文件与目标文件相匹配;
若任一参考文件的摘要信息与目标文件的摘要信息中,存在按照采样粒度不匹配的摘要计算结果,则确定目标文件与任一参考文件不匹配;
若参考文件集中存在与目标文件相匹配的参考文件,则生成用于指示匹配处理成功的匹配结果;
若参考文件集中不存在与目标文件相匹配的参考文件,则生成用于指示匹配处理失败的匹配结果。
在一种实现方式中,针对M个采样粒度中的第i个采样粒度,处理单元1202,用于在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理时,具体用于执行如下步骤:
确定第i个采样粒度对应的采样间隔;
根据第i个采样粒度对应的采样间隔,对目标文件进行文件块采样处理,得到目标文件在第i个采样粒度下的采样文件块;
对目标文件在第i个采样粒度下的采样文件块进行拼接处理,得到目标文件在第i个采样粒度下的采样文件,i为小于或等于M的正整数。
在一种实现方式中,参考文件集均已备份至云端,目标文件是待识别备份状态的文件;业务处理包括文件状态同步处理;处理单元1202,用于根据匹配结果对目标文件进行业务处理时,具体用于执行如下步骤:
若匹配结果指示匹配处理失败,则采用未备份状态标识对目标文件进行标记;
若匹配结果指示匹配处理成功,则采用已备份状态标识对目标文件进行标记。
在一种实现方式中,目标文件是当前被执行移动操作的文件,移动操作用于将目标文件移动至目标文件夹中;参考文件集存储于目标文件夹中;业务处理包括文件移动处理;处理单元1202,用于根据匹配结果对目标文件进行业务处理时,具体用于执行如下步骤:
若匹配结果指示匹配处理成功,则拒绝移动操作,以拒绝将目标文件移动至目标文件夹中;
若匹配结果指示匹配处理失败,则接受移动操作,将目标文件移动至目标文件夹中。
根据本申请的一个实施例,图2或图7所示的方法实施例所涉及的方法步骤可以是由图12所示的文件处理装置中的各个单元来执行的。例如,图2中所示的步骤S201和步骤S204可由图12中所示的获取单元1201执行,图2中所示的步骤S202-步骤S203,以及步骤S205-步骤S206可由图12中所示的处理单元1202执行。又如,图7中所示的步骤S701和步骤S704可由图12中所示的获取单元1201执行,图7中所示的步骤S702-步骤S703,以及步骤S705-步骤S709可由图12中所示的处理单元1202执行。
根据本申请的另一个实施例,图12所示的文件处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,文件处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图7中所示的相应方法实施例所涉及的各步骤的计算机程序(包括程序代码),来构造如图12中所示的文件处理装置,以及来实现本申请实施例的文件处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,对于待处理的目标文件,目标文件中可以包括多个文件块,目标文件可以被配置一个或多个采样粒度,可以在一个或多个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息,然后可以基于目标文件的摘要信息和参考文件集中的各个参考文件的摘要信息,在参考文件集中对目标文件进行匹配处理,在得到目标文件的匹配结果后,可以根据匹配结果对目标文件进行业务处理;本申请实施例通过配置一个或多个采样粒度对目标文件进行文件块采样处理,使得文件块采样处理得到的采样文件的文件体积小于目标文件的文件体积,从而可以提高文件摘要信息的计算速度,提升文件匹配效率;并且,当配置的采样粒度的数量大于或等于两个时,可以在多个采样粒度下对文件进行匹配处理,还可以提升文件匹配结果的准确率。
基于上述方法、系统以及装置实施例,本申请实施例提供了一种计算机设备,该计算机设备可以是前述所提及的终端。请参见图13,图13是本申请实施例提供的一种计算机设备的结构示意图。图13所示的计算机设备至少包括处理器1301、输入接口1302、输出接口1303以及计算机可读存储介质1304。其中,处理器1301、输入接口1302、输出接口1303以及计算机可读存储介质1304可通过总线或其他方式连接。
输入接口1302可以用于获取目标文件,目标文件被配置的M个采样粒度,参考文件集中的各个参考文件,或参考文件集中的各个参考文件的摘要信息。输出接口1303可以用于输出对目标文件的业务处理结果(例如输出已备份标识,或输出未备份标识等等)。
计算机可读存储介质1304可以存储在计算机设备的存储器中,计算机可读存储介质1304用于存储计算机程序,计算机程序包括计算机指令,处理器1301用于执行计算机可读存储介质1304存储的程序指令。处理器1301(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
可由处理器1301加载并执行计算机可读存储介质1304中存放的一条或多条计算机指令,以实现上述有关图2或图7所示的车辆导航方法的相应步骤。具体实现中,计算机可读存储介质1304中的计算机指令由处理器1301加载并执行如下步骤:
获取待处理的目标文件,目标文件包括多个文件块,目标文件被配置M个采样粒度,M为正整数;
在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息;
获取用于对目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息;
基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理;
在得到目标文件的匹配结果后,根据匹配结果对目标文件进行业务处理。
在一种实现方式中,M个采样粒度按序排列,获取待处理的目标文件之后,计算机可读存储介质1304中的计算机指令由处理器1301加载并还用于执行如下步骤:
依次遍历M个采样粒度;
其中,每遍历到一个采样粒度,则触发执行一次文件匹配流程,一次文件匹配流程包括如下操作:文件块采样处理、摘要计算、获取各个参考文件的摘要信息,以及对目标文件进行匹配处理;
在执行完当前遍历到的采样粒度下的文件匹配流程后,计算机可读存储介质1304中的计算机指令由处理器1301加载并还用于执行如下步骤:
若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中不存在与目标文件相匹配的参考文件,则对M个采样粒度中未被遍历的采样粒度进行剪枝处理,以停止遍历M个采样粒度,并生成用于指示匹配处理失败的匹配结果。
在一种实现方式中,在执行完当前遍历到的采样粒度下的文件匹配流程后,计算机可读存储介质1304中的计算机指令由处理器1301加载并还用于执行如下步骤:
若通过当前遍历到的采样粒度下的文件匹配流程,确定参考文件集中存在与目标文件相匹配的参考文件,则对M个采样粒度的遍历进度进行检测;
若检测到的遍历进度指示M个采样粒度均被遍历完,则生成用于指示匹配处理成功的匹配结果;
若检测到的遍历进度指示M个采样粒度未被遍历完,则执行当前遍历到的采样粒度的下一采样粒度下的文件匹配流程。
在一种实现方式中,在当前遍历到的采样粒度下的文件匹配流程中,目标文件的摘要信息是对目标文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;任一参考文件的摘要信息是对相应参考文件在当前遍历到的采样粒度下的采样文件进行摘要计算得到的;
针对当前遍历到的采样粒度下的文件匹配流程,计算机可读存储介质1304中的计算机指令由处理器1301加载并执行基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对所述目标文件进行匹配处理时,具体用于执行如下步骤:
若参考文件集中存在摘要信息与目标文件的摘要信息相匹配的参考文件,则确定参考文件集中存在与目标文件相匹配的参考文件;
若参考文件集中不存在摘要信息与目标文件的摘要信息相匹配的参考文件,则确定参考文件集中不存在与目标文件相匹配的参考文件。
在一种实现方式中,在当前遍历到的采样粒度下的文件匹配流程中,若当前遍历到的采样粒度在M个采样粒度中排列于首位,则参考文件集包括:文件库中与目标文件的文件名称或文件体积相匹配的文件;
若当前遍历到的采样粒度在M个采样粒度中排列于非首位,则参考文件集包括:通过当前遍历到的采样粒度的上一采样粒度下的文件匹配流程确定的,与目标文件相匹配的参考文件。
在一种实现方式中,计算机可读存储介质1304中的计算机指令由处理器1301加载并执行在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理时,具体用于执行如下步骤:
在M个采样粒度中的每个采样粒度下,分别对目标文件进行文件块采样处理,得到目标文件的M个采样文件,一个采样文件对应一个采样粒度;
其中,目标文件的摘要信息包括:目标文件的M个采样文件中的每个采样文件的摘要计算结果;任一参考文件的摘要信息包括:相应参考文件在每个采样粒度下的采样文件的摘要计算结果。
在一种实现方式中,计算机可读存储介质1304中的计算机指令由处理器1301加载并执行基于各个参考文件的摘要信息和目标文件的摘要信息,在参考文件集中对目标文件进行匹配处理时,具体用于执行如下步骤:
针对参考文件集中的任一参考文件,若任一参考文件的摘要信息中的摘要计算结果,与目标文件的摘要信息中的摘要计算结果按照采样粒度匹配,则确定任一参考文件与目标文件相匹配;
若任一参考文件的摘要信息与目标文件的摘要信息中,存在按照采样粒度不匹配的摘要计算结果,则确定目标文件与任一参考文件不匹配;
若参考文件集中存在与目标文件相匹配的参考文件,则生成用于指示匹配处理成功的匹配结果;
若参考文件集中不存在与目标文件相匹配的参考文件,则生成用于指示匹配处理失败的匹配结果。
在一种实现方式中,针对M个采样粒度中的第i个采样粒度,计算机可读存储介质1304中的计算机指令由处理器1301加载并执行在M个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理时,具体用于执行如下步骤:
确定第i个采样粒度对应的采样间隔;
根据第i个采样粒度对应的采样间隔,对目标文件进行文件块采样处理,得到目标文件在第i个采样粒度下的采样文件块;
对目标文件在第i个采样粒度下的采样文件块进行拼接处理,得到目标文件在第i个采样粒度下的采样文件,i为小于或等于M的正整数。
在一种实现方式中,参考文件集均已备份至云端,目标文件是待识别备份状态的文件;业务处理包括文件状态同步处理;计算机可读存储介质1304中的计算机指令由处理器1301加载并执行根据匹配结果对目标文件进行业务处理时,具体用于执行如下步骤:
若匹配结果指示匹配处理失败,则采用未备份状态标识对目标文件进行标记;
若匹配结果指示匹配处理成功,则采用已备份状态标识对目标文件进行标记。
在一种实现方式中,目标文件是当前被执行移动操作的文件,移动操作用于将目标文件移动至目标文件夹中;参考文件集存储于目标文件夹中;业务处理包括文件移动处理;计算机可读存储介质1304中的计算机指令由处理器1301加载并执行根据匹配结果对目标文件进行业务处理时,具体用于执行如下步骤:
若匹配结果指示匹配处理成功,则拒绝移动操作,以拒绝将目标文件移动至目标文件夹中;
若匹配结果指示匹配处理失败,则接受移动操作,将目标文件移动至目标文件夹中。
本申请实施例中,对于待处理的目标文件,目标文件中可以包括多个文件块,目标文件可以被配置一个或多个采样粒度,可以在一个或多个采样粒度中的至少一个采样粒度下,对目标文件进行文件块采样处理,并对采样处理得到的采样文件进行摘要计算,得到目标文件的摘要信息,然后可以基于目标文件的摘要信息和参考文件集中的各个参考文件的摘要信息,在参考文件集中对目标文件进行匹配处理,在得到目标文件的匹配结果后,可以根据匹配结果对目标文件进行业务处理;本申请实施例通过配置一个或多个采样粒度对目标文件进行文件块采样处理,使得文件块采样处理得到的采样文件的文件体积小于目标文件的文件体积,从而可以提高文件摘要信息的计算速度,提升文件匹配效率;并且,当配置的采样粒度的数量大于或等于两个时,可以在多个采样粒度下对文件进行匹配处理,还可以提升文件匹配结果的准确率。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的文件处理方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种文件处理方法,其特征在于,所述方法包括:
获取待处理的目标文件,所述目标文件包括多个文件块,所述目标文件被配置M个采样粒度,M为正整数;
在所述M个采样粒度中的至少一个采样粒度下,对所述目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到所述目标文件的摘要信息;
获取用于对所述目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息,基于所述各个参考文件的摘要信息和所述目标文件的摘要信息,在所述参考文件集中对所述目标文件进行匹配处理;
在得到所述目标文件的匹配结果后,根据所述匹配结果对所述目标文件进行业务处理。
2.如权利要求1所述的方法,其特征在于,所述M个采样粒度按序排列,所述获取待处理的目标文件之后,所述方法还包括:依次遍历所述M个采样粒度;
其中,每遍历到一个采样粒度,则触发执行一次文件匹配流程,一次文件匹配流程包括如下操作:文件块采样处理、摘要计算、获取所述各个参考文件的摘要信息,以及对所述目标文件进行匹配处理;
在执行完当前遍历到的采样粒度下的文件匹配流程后,所述方法还包括:若通过所述当前遍历到的采样粒度下的文件匹配流程,确定所述参考文件集中不存在与所述目标文件相匹配的参考文件,则对所述M个采样粒度中未被遍历的采样粒度进行剪枝处理,以停止遍历所述M个采样粒度,并生成用于指示匹配处理失败的匹配结果。
3.如权利要求2所述的方法,其特征在于,在执行完当前遍历到的采样粒度下的文件匹配流程后,所述方法还包括:
若通过所述当前遍历到的采样粒度下的文件匹配流程,确定所述参考文件集中存在与所述目标文件相匹配的参考文件,则对所述M个采样粒度的遍历进度进行检测;
若检测到的遍历进度指示所述M个采样粒度均被遍历完,则生成用于指示匹配处理成功的匹配结果;
若检测到的遍历进度指示所述M个采样粒度未被遍历完,则执行所述当前遍历到的采样粒度的下一采样粒度下的文件匹配流程。
4.如权利要求2所述的方法,其特征在于,在当前遍历到的采样粒度下的文件匹配流程中,所述目标文件的摘要信息是对所述目标文件在所述当前遍历到的采样粒度下的采样文件进行摘要计算得到的;任一参考文件的摘要信息是对相应参考文件在所述当前遍历到的采样粒度下的采样文件进行摘要计算得到的;
针对所述当前遍历到的采样粒度下的文件匹配流程,所述基于所述各个参考文件的摘要信息和所述目标文件的摘要信息,在所述参考文件集中对所述目标文件进行匹配处理,包括:
若所述参考文件集中存在摘要信息与所述目标文件的摘要信息相匹配的参考文件,则确定所述参考文件集中存在与所述目标文件相匹配的参考文件;
若所述参考文件集中不存在摘要信息与所述目标文件的摘要信息相匹配的参考文件,则确定所述参考文件集中不存在与所述目标文件相匹配的参考文件。
5.如权利要求2所述的方法,其特征在于,在当前遍历到的采样粒度下的文件匹配流程中,若所述当前遍历到的采样粒度在所述M个采样粒度中排列于首位,则所述参考文件集包括:文件库中与所述目标文件的文件名称或文件体积相匹配的文件;
若所述当前遍历到的采样粒度在所述M个采样粒度中排列于非首位,则所述参考文件集包括:通过所述当前遍历到的采样粒度的上一采样粒度下的文件匹配流程确定的,与所述目标文件相匹配的参考文件。
6.如权利要求1所述的方法,其特征在于,所述在所述M个采样粒度中的至少一个采样粒度下,对所述目标文件进行文件块采样处理,包括:
在所述M个采样粒度中的每个采样粒度下,分别对所述目标文件进行文件块采样处理,得到所述目标文件的M个采样文件,一个采样文件对应一个采样粒度;
其中,所述目标文件的摘要信息包括:所述目标文件的M个采样文件中的每个采样文件的摘要计算结果;任一参考文件的摘要信息包括:相应参考文件在所述每个采样粒度下的采样文件的摘要计算结果。
7.如权利要求6所述的方法,其特征在于,所述基于所述各个参考文件的摘要信息和所述目标文件的摘要信息,在所述参考文件集中对所述目标文件进行匹配处理,包括:
针对所述参考文件集中的任一参考文件,若所述任一参考文件的摘要信息中的摘要计算结果,与所述目标文件的摘要信息中的摘要计算结果按照采样粒度匹配,则确定所述任一参考文件与所述目标文件相匹配;
若所述任一参考文件的摘要信息与所述目标文件的摘要信息中,存在按照采样粒度不匹配的摘要计算结果,则确定所述目标文件与所述任一参考文件不匹配;
若所述参考文件集中存在与所述目标文件相匹配的参考文件,则生成用于指示匹配处理成功的匹配结果;
若所述参考文件集中不存在与所述目标文件相匹配的参考文件,则生成用于指示匹配处理失败的匹配结果。
8.如权利要求1所述的方法,其特征在于,针对所述M个采样粒度中的第i个采样粒度,所述在所述M个采样粒度中的至少一个采样粒度下,对所述目标文件进行文件块采样处理,包括:
确定所述第i个采样粒度对应的采样间隔;
根据所述第i个采样粒度对应的采样间隔,对所述目标文件进行文件块采样处理,得到所述目标文件在所述第i个采样粒度下的采样文件块;
对所述目标文件在所述第i个采样粒度下的采样文件块进行拼接处理,得到所述目标文件在所述第i个采样粒度下的采样文件,i为小于或等于M的正整数。
9.如权利要求1所述的方法,其特征在于,所述参考文件集均已备份至云端,所述目标文件是待识别备份状态的文件;所述业务处理包括文件状态同步处理;所述根据所述匹配结果对所述目标文件进行业务处理,包括:
若所述匹配结果指示匹配处理失败,则采用未备份状态标识对所述目标文件进行标记;
若所述匹配结果指示匹配处理成功,则采用已备份状态标识对所述目标文件进行标记。
10.如权利要求1所述的方法,其特征在于,所述目标文件是当前被执行移动操作的文件,所述移动操作用于将所述目标文件移动至目标文件夹中;所述参考文件集存储于所述目标文件夹中;所述业务处理包括文件移动处理;所述根据所述匹配结果对所述目标文件进行业务处理,包括:
若所述匹配结果指示匹配处理成功,则拒绝所述移动操作,以拒绝将所述目标文件移动至所述目标文件夹中;
若所述匹配结果指示匹配处理失败,则接受所述移动操作,将所述目标文件移动至所述目标文件夹中。
11.一种文件处理装置,其特征在于,所述文件处理装置包括:
获取单元,用于获取待处理的目标文件,所述目标文件包括多个文件块,所述目标文件被配置M个采样粒度,M为正整数;
处理单元,用于在所述M个采样粒度中的至少一个采样粒度下,对所述目标文件进行文件块采样处理,并对文件块采样处理得到的采样文件进行摘要计算,得到所述目标文件的摘要信息;
所述获取单元,还用于获取用于对所述目标文件进行匹配处理的参考文件集中的各个参考文件的摘要信息;
所述处理单元,还用于基于所述各个参考文件的摘要信息和所述目标文件的摘要信息,在所述参考文件集中对所述目标文件进行匹配处理;
所述处理单元,还用于在得到所述目标文件的匹配结果后,根据所述匹配结果对所述目标文件进行业务处理。
12.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-10任一项所述的文件处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-10任一项所述的文件处理方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1-10任一项所述的文件处理方法。
CN202210527085.3A 2022-05-16 2022-05-16 文件处理方法、装置及计算机设备、存储介质、程序产品 Pending CN115114242A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210527085.3A CN115114242A (zh) 2022-05-16 2022-05-16 文件处理方法、装置及计算机设备、存储介质、程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210527085.3A CN115114242A (zh) 2022-05-16 2022-05-16 文件处理方法、装置及计算机设备、存储介质、程序产品

Publications (1)

Publication Number Publication Date
CN115114242A true CN115114242A (zh) 2022-09-27

Family

ID=83326182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210527085.3A Pending CN115114242A (zh) 2022-05-16 2022-05-16 文件处理方法、装置及计算机设备、存储介质、程序产品

Country Status (1)

Country Link
CN (1) CN115114242A (zh)

Similar Documents

Publication Publication Date Title
US11068441B2 (en) Caseless file lookup in a distributed file system
US9251160B1 (en) Data transfer between dissimilar deduplication systems
US9317373B2 (en) Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
US10380103B2 (en) Object data updating method and apparatus in an object storage system
CN110347651B (zh) 基于云存储的数据同步方法、装置、设备及存储介质
CN111309732B (zh) 数据处理方法、装置、介质和计算设备
CN109033360B (zh) 一种数据查询方法、装置、服务器及存储介质
WO2020093501A1 (zh) 文件存储方法、删除方法、服务器及存储介质
CN111949710A (zh) 数据存储方法、装置、服务器及存储介质
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置
CN111966631A (zh) 一种可快速分发的镜像文件生成方法、系统、设备和介质
CN113687964A (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN107181773A (zh) 分布式存储系统的数据存储及数据管理方法、设备
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
US20160203032A1 (en) Series data parallel analysis infrastructure and parallel distributed processing method therefor
CN112306957A (zh) 获取索引节点号的方法、装置、计算设备和存储介质
US9684668B1 (en) Systems and methods for performing lookups on distributed deduplicated data systems
US10248677B1 (en) Scaling an SSD index on a deduplicated storage system
CN113609090A (zh) 数据存储方法及装置、计算机可读存储介质、电子设备
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
CN111414239B (zh) 基于麒麟云计算平台的虚拟机镜像管理方法、系统及介质
US10083121B2 (en) Storage system and storage method
CN112783417A (zh) 数据缩减的方法、装置、计算设备和存储介质
CN108121807B (zh) Hadoop环境下多维索引结构OBF-Index的实现方法
CN110221778A (zh) 酒店数据的处理方法、系统、存储介质以及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination