文件一致性验证方法、装置及电子设备
文献发布时间:2023-06-19 11:44:10
技术领域
本发明涉及数据验证技术领域,特别是指一种文件一致性验证方法、装置及电子设备。
背景技术
随着终端业务的不断丰富,与业务相关联的文件信息需要线上进行文件一致性验证,除此之外,为保证文件信息的安全性和正确性,需要将下载文件与原始发布方所发布的软件文件进行文件一致性验证。验证手段的发展从最低效的基于人力的文件一致性验证到基于签名算法的文件一致性验证,一定程度降低了人力成本以及提高了工作效率。
由于互联网的大数据化以及信息环境下大数据时代的到来移动终端业务急剧增加,带来了大量的、多种类的文件。考虑到文件的传输交互,现有的基于签名算法的文件一致性验证方法对正在传输的文件进行特征值的提取存在着较多的问题,例如网络环境的问题,该类方法对网络的环境具有极大的依赖性,尤其涉及到大量视频文件的一致性验证时,在网络不佳的情况下所对比的数据容易出现漏传、误传的情况,导致一致性验证出错。
发明内容
本发明的目的是提供一致性验证方法、装置及电子设备,用以解决现有的文件一致性验证方法在网络波动时的验证结果误差较大的问题。
为达到上述目的,本发明提供一种文件一致性验证方法,包括:
提取源文件的第一文件信息和待验证文件的第二文件信息;
分别对所述第一文件信息和所述第二文件信息进行三层分片处理,每一层分片的单位不同;
根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证。
可选地,三层分片中,第一层分片的单位大于第二层分片的单位;
所述第二层分片的单位大于第三层分片的单位。
可选地,所述根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证之前,所述方法还包括:
检测网络质量;
在所述网络质量的参数小于第一阈值的情况下,以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息;或者
在所述网络质量的参数大于或者等于第一阈值的情况下,以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
可选地,所述根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证,包括:
以所述第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证;
根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。
可选地,所述根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
可选地,所述根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的至少部分分片未完成验证,对所述第一文件信息中的第二目标分片和所述第二文件信息中的第二目标分片进行字节码验证;
重复执行根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性的步骤;
其中,所述第二目标分片为与所述第一目标分片相邻的分片。
可选地,所述方法还包括:
在以第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证的过程中,检测网络质量;
在网络质量的参数小于第二阈值的情况下,以第三层分片为单元重传所述第一目标分片的字节码数据。
为达到上述目的,本发明提供一种文件一致性验证装置,包括:
信息提取模块,用于提取源文件的第一文件信息和待验证文件的第二文件信息;
处理模块,用于分别对所述第一文件信息和所述第二文件信息进行三层分片处理,每一层分片的单位不同;
验证模块,用于根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证。
可选地,三层分片中,第一层分片的单位大于第二层分片的单位;
所述第二层分片的单位大于第三层分片的单位。
可选地,所述装置还包括:
第一检测模块,用于检测网络质量;
第一传输模块,用于在所述网络质量的参数小于第一阈值的情况下,以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息;或者
第二传输模块,在所述网络质量的参数大于或者等于第一阈值的情况下,以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
可选地,所述验证模块包括:
第一验证单元,用于以所述第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证;
第一确定单元,用于根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。
可选地,所述第一确定单元具体用于:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
可选地,所述第一确定单元还用于:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的至少部分分片未完成验证,对所述第一文件信息中的第二目标分片和所述第二文件信息中的第二目标分片进行字节码验证;
重复执行根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性的步骤;
其中,所述第二目标分片为与所述第一目标分片相邻的片区。
可选地,所述装置还包括:
第二检测模块,用于在以第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证的过程中,检测网络质量;
重传单元,用于在网络质量的参数小于第二阈值的情况下,以第三层分片为单元重传所述第一目标分片的字节码数据。
为达到上述目的,本发明提供一种电子设备,包括:收发器和处理器;
所述处理器用于:提取源文件的第一文件信息和待验证文件的第二文件信息;
分别对所述第一文件信息和所述第二文件信息进行三层分片处理,每一层分片的单位不同;
根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证。
可选地,三层分片中,第一层分片的单位大于第二层分片的单位;
所述第二层分片的单位大于第三层分片的单位。
可选地,所述处理器还用于:
检测网络质量;
在所述网络质量的参数小于第一阈值的情况下,以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息;或者
在所述网络质量的参数大于或者等于第一阈值的情况下,以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
可选地,所述处理器根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证,具体包括:
以所述第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证;
根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。
可选地,所述处理器根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,具体包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
可选地,所述处理器根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,具体包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的至少部分分片未完成验证,对所述第一文件信息中的第二目标分片和所述第二文件信息中的第二目标分片进行字节码验证;
重复执行根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性的步骤;
其中,所述第二目标分片为与所述第一目标分片相邻的分片。
可选地,所述处理器还用于:
在以第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证的过程中,检测网络质量;
在网络质量的参数小于第二阈值的情况下,以第三层分片为单元重传所述第一目标分片的字节码数据。
为达到上述目的,本发明提供一种电子设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现如上所述的文件一致性验证方法。
为达到上述目的,本发明提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的文件一致性验证方法的步骤。
本发明的上述技术方案的有益效果如下:
本申请的实施例,将源文件提取的第一文件信息和待验证文件提取的第二文件信息分别进行三层分片处理,根据分片处理的结果对源文件和所述待验证文件进行一致性的验证。分片处理后的文件信息具有更高的粒度,能够在网络环境较差的情况下针对更小分片上的信息进行传输,对网络环境有更强的适应性,能够极大程度上确保文件传输不受到干扰,保证验证结果的准确性。在保证传输文件不重传、不丢包、无误差的情况下,使得比对验证速度增快。
附图说明
图1为本发明实施例的文件一致性验证方法的流程示意图之一;
图2为本发明实施例的文件分层示意图;
图3为本发明实施例的文件一致性验证方法的流程示意图之二;
图4为本发明实施例的文件一致性验证装置的结构示意图;
图5为本发明实施例的电子设备的结构示意图之一;
图6为本发明实施例的电子设备的结构示意图之二。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
如图1所示,本发明实施例的一种文件一致性验证方法,包括:
步骤101、提取源文件的第一文件信息和待验证文件的第二文件信息。
所述源文件为用于进行比较的原样本文件,所述待验证文件为需要与所述源文件比较一致性的文件。获取到所述源文件和所述待验证文件的数据源后,提取所述源文件的文件信息,即所述第一文件信息,例如:根据需求提取所述源文件的关键信息、内容、术语、关键词等。提取所述待验证文件的文件信息,即所述第二文件信息,例如:根据需求提取所述待验证文件的关键信息、内容、术语、关键词等。
需要说明的是,对于所述第一文件信息和所述第二文件信息,为类型相同的信息内容,以保证利用相同的信息内容进行文件验证。例如:所述第一文件信息为提取的所述源文件的与主题相关的关键词,则所述第二文件信息为提取的所述待验证文件的与主题相关的关键词。或者:所述第一文件信息为提取的所述源文件的与人物1相关的内容,则所述第二文件信息为提取的所述待验证文件的与人物1相关的内容。
步骤102、分别对所述第一文件信息和所述第二文件信息进行三层分片处理,每一层分片的单位不同。
在提取所述第一文件信息和所述第二文件信息后,按照相同的分频处理方式分别对所述第一文件信息和所述第二文件信息进行三层分片处理。所述三层分片是指:按照不同的单位将文件信息分为三层,每一层包括多个分片,且每一层分片的单位不同。例如:将目标文档进行三层分片时,可以以“页”为单位进行第一层分片处理,获得多个以“页”为单位的分片;再对每个以“页”为单位的分片分别进行第二层分片处理,第二层分片处理可以以“段”为单位进行分片处理,则可以获得多个以“段”为单位的分片;再对每个以“段”为单位的分片分别进行第三层分片处理,第三层分片处理可以以“行”为单位进行分片处理,则可以获得多个以“行”为单位的分片。
需要说明的是,对所述第一文件信息和所述第二文件信息进行分片时,每一层的分片单位可以根据需求设置。
步骤103、根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证。
对所述第一文件信息和所述第二文件信息分别进行三层分片后,在每一层均得到多个分片,根据分片对所述源文件和所述待验证文件进行一致性验证。
本申请的实施例,将源文件提取的第一文件信息和待验证文件提取的第二文件信息分别进行三层分片处理,根据分片处理的结果对源文件和所述待验证文件进行一致性的验证。分片处理后的文件信息具有更高的粒度,能够在网络环境较差的情况下针对更小分片上的信息进行传输,对网络环境有更强的适应性,能够极大程度上确保文件传输不受到干扰,保证验证结果的准确性。在保证传输文件不重传、不丢包、无误差的情况下,使得比对验证速度增快。
其中,三层分片中,第一层分片的单位大于第二层分片的单位;所述第二层分片的单位大于第三层分片的单位。
如图2所示,可以将待分层的文件(File)分为:Chunk(即第一层)、Blockette(即第二层)和SubBlockette(即第三层)三层,其中Chunk层是用来对文件的一致性验证位置进行定位,是三层中单位大小最大的,也是字节码数据验证的基本单元,以保证源文件和待验证文件能在相对应的位置快速开始字节码的验证,Chunk层可以包括多个分片,如:ChunkA、ChunkB、ChunkC等。Blockette层是网络正常的情况下进行传输的基本单元,是三层中单位大小较大的,Blockette层可以包括多个分片,如:Blockette a、Blockette b、Blockette c等;SubBlockette为网络情况较差的情况下传输的基本单元,是三层中单位大小最小的,且一旦发生网络波动,则进行字节码数据的重传,SubBlockette层可以包括多个分片,如:SubBlockette i、SubBlockette ii、SubBlockette iii等。
该实施例的分片方式通过Blockette层和SubBlockette层来保证Chunk层中单元内数据不漏传、不重传、无误差,从而为后续一致性验证提供准确的数据。
可选地,所述根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证之前,所述方法还包括:
检测网络质量;
在所述网络质量的参数小于第一阈值的情况下,以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息;或者
在所述网络质量的参数大于或者等于第一阈值的情况下,以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
该实施例中,在对所述第一文件信息和所述第二文件信息进行三层分片处理后,在进行一致性验证之前,可以检测网络质量,以确定当前网络环境的情况。所述网络质量可以根据网络质量的相关参数确定,例如指示网络性能指标的参数,如带宽、时延、带宽时延积等。
所述第一阈值可以根据不同的网络质量的参数预先设定。在网络质量的参数小于所述第一阈值时,网络有波动,当前的网络环境较差,则以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息。在网络质量的参数大于或者等于所述第一阈值时,当前的网络环境较好,则以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
以所述第三层分片的单位为“行”、所述第二层分片的单位为“段”为例,在网络质量较差时,为了避免文件的漏传,以第三层中的“行”为单位的分片传输所述第一文件信息和所述第二文件信息;在网络质量较好时,以分片单位较大的第二层中的“段”为单位的分片传输所述第一文件信息和所述第二文件信息,文件传输速度更快。
以所述三层分片为图2所示的分片方式为例,在网络质量较差时,以SubBlockette层的分片为单元进行传输。该层的分片为网络较差的情况下的传输单元,分片单位更小,在发生波动时进行重发,以保证分布式环境下文件的传输不漏传、不重传、无误差。在网络质量较好时,以Blockett层的分片为单元进行传输,该片区为网络正常的情况下的数据传输单元。
该实施例根据网络质量确定传输第一文件信息和所述第二文件信息的传输单元,在网络质量较差时,以单位较小的第三层分片为单元传输文件,在网络质量较好时,以单位较大的第二层分片为单元传输文件,能够保证在网络波动时数据不漏传、不重传、无误差,从而保证验证结果的准确性。
进一步地,所述根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证,可以包括:
以所述第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证;根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。
该实施例中,在对源文件和所述待验证文件进行一致性验证时,以所述第一层分片的结果为验证单元进行字节码的验证,例如:以“页”为单位进行验证,或者以“Chunk”层中的分片为单元进行字节码的验证。
所述第一目标分片为所述第一文件信息和所述第二文件信息中相对应的分片,即在对所述源文件和所述待验证文件进行一致性验证时,将源文件的第一层分片中的“第一目标分片”与待验证文件的第一层分片中的“第一目标分片”进行比较。例如:所述三层分片为:第一层分片:以“页”为单位的分片;第二层分片:以“段”为单位的分片;第三层分片:以“行”为单位的分片,在对所述源文件和所述待验证文件进行一致性验证时,将源文件中的“第1页”分片与待验证文件中的“第1页”分片进行字节码验证,将源文件中的“第5页”分片与待验证文件中的“第5页”分片进行字节码比较验证。
例如:以所述三层分片为图2所示的分片方式为例,在对所述源文件和所述待验证文件进行一致性验证时,将源文件的Chunk层中的“ChunkA”分片与待验证文件的Chunk层中的“ChunkA”分片进行字节码比较验证。
在进行一致性验证时,以单位较大的第一层分片为单元进行验证,便于文件的快速定位以保证源文件和待验证文件能在相对应的位置快速开始字节码的验证。
验证完成后,根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。具体地,所述根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,可以包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
该实施例中,若所述第一文件信息中的第一目标分片与所述第二文件信息中的第一目标分片的字节码验证结果不一致,则所述待验证文件与所述源文件不一致。若所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片的字节码内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
可选地,所述根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,还包括:若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的至少部分分片未完成验证,对所述第一文件信息中的第二目标分片和所述第二文件信息中的第二目标分片进行字节码验证;重复执行根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性的步骤;其中,所述第二目标分片为与所述第一目标分片相邻的分片。
该实施例中,在所述第一文件信息的第一目标分片与第二文件信息的第一目标分片验证完成后,若还有其他分片未验证,则继续对第一文件信息中的第二目标分片和第二文件信息中的第二目标分片进行验证,所述第二目标分片为与所述第一目标分片相邻的未验证的分片,若字节码验证的结果指示所述第二文件信息中的第二目标分片与所述第一文件信息中的第二目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;若字节码验证的结果指示所述第二文件信息中的第二目标分片与所述第一文件信息中的第二目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致,若验证仍未完成,继续执行上述验证步骤。
例如:将源文件中的“第1页”分片与待验证文件中的“第1页”分片进行字节码验证后,还存在分片未验证,则继续将源文件中的“第2页”分片与待验证文件中的“第2页”分片进行字节码验证,依次执行上述验证步骤,直至所有分片全部验证完成。
可选地,所述方法还包括:在以第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证的过程中,检测网络质量;在网络质量的参数小于第二阈值的情况下,以第三层分片为单元重传所述第一目标分片的字节码数据。
该实施例中,在对第一层分片进行字节码验证的过程中,可以持续监测网络质量,所述第二阈值可以根据不同的网络质量的参数预先设定。在网络质量的参数小于所述第二阈值时,网络有波动,当前的网络环境较差,则以所述第三层分片为单元重传所述第一文件信息和所述第二文件信息。在网络质量的参数大于或者等于所述第二阈值时,当前的网络环境较好,则继续以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
该实施例在文件传输过程中,检测网络质量,在网络质量较差时,以单位较小的第三层分片为单元重传文件,能够保证在网络波动时数据不漏传、不重传、无误差,从而保证验证结果的准确性。
下面通过具体实施例说明本申请实施例的文件一致性验证方法的实现过程。
如图3所示,在得到的三层分片形式的文件后,以分片中的字节码数据为比对验证对象,在比对过程中如果遇到不同点则直接验证结束,验证形式以分片数据为验证单元,代替了以整个文件为验证单元。具体步骤为:
步骤301:对源文件和待验证文件进行信息提取;
步骤302:对提取的文件信息分别进行三层分片;
步骤303:判断网络环境,即判断网络是否有波动,若网络环境有波动则执行步骤304;
步骤304:以SubBlockette层的分片为单元进行传输。该层的分片为网络较差的情况下的传输单元,片区单位更小,在发生波动时进行重发,以保证分布式环境下文件的传输不漏传、不重传、无误差;
步骤305:若网络环境较好(无波动或波动较小)以Blockette片区为单元进行传输,该片区为网络正常的情况下的数据传输;
步骤306:对Chunk层的分片进行字节码验证。该单位片区较大,便于文件的快速定位以保证样本文件和待比较文件能在相对应的位置快速开始字节码的验证;
步骤307:对Chunk层的分片的验证结果(即字节码的验证结果)进行判断,若验证一致则执行步骤308,若不一致则执行步骤310;
步骤308:检查文件是否验证完毕,若全部检查完毕,则说明文件验证一致,得到文件一致结果,若未检查完毕,则执行步骤309;
步骤309;转移到邻近的Chunk分片,对下一分片重复完成验证比对。
步骤310;得到文件不一致的验证结果。
该实施例在对源文件和待验证文件进行验证时,以Chunk层中的分片的字节码数据为比对验证对象,以该分片中的字节码为计算单元,能够快速得到比对结果。通过Blockette层和SubBlockette层来保证Chunk层中分片的数据不漏传、不重传、无误差,从而为后续一致性验证提供准确的数据。有效地解决了待验证文件在分布式环境下由网络波动下带来的的数据误差问题;在对比到不同点时即可得到结果而不必每次都需要将整个文件进行对比,有效地解决了大文件计算复杂度高的问题。
本申请的实施例,将源文件提取的第一文件信息和待验证文件提取的第二文件信息分别进行三层分片处理,根据分片处理的结果对源文件和所述待验证文件进行一致性的验证。分片处理后的文件信息具有更高的粒度,能够在网络环境较差的情况下针对更小分片上的信息进行传输,对网络环境有更强的适应性,能够极大程度上确保文件传输不受到干扰,从而保证验证结果的准确性。在保证传输文件不重传、不丢包、无误差的情况下,使得比对验证速度增快。
如图4所示,本发明实施例的一种文件一致性验证装置400,包括:
信息提取模块410,用于提取源文件的第一文件信息和待验证文件的第二文件信息;
处理模块420,用于分别对所述第一文件信息和所述第二文件信息进行三层分片处理,每一层分片的单位不同;
验证模块430,用于根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证。
可选地,三层分片中,第一层分片的单位大于第二层分片的单位;
所述第二层分片的单位大于第三层分片的单位。
可选地,所述装置还包括:
第一检测模块,用于检测网络质量;
第一传输模块,用于在所述网络质量的参数小于第一阈值的情况下,以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息;或者
第二传输模块,在所述网络质量的参数大于或者等于第一阈值的情况下,以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
可选地,所述验证模块包括:
第一验证单元,用于以所述第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证;
第一确定单元,用于根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。
可选地,所述第一确定单元具体用于:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
可选地,所述第一确定单元还用于:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的至少部分分片未完成验证,对所述第一文件信息中的第二目标分片和所述第二文件信息中的第二目标分片进行字节码验证;
重复执行根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性的步骤;
其中,所述第二目标分片为与所述第一目标分片相邻的片区。
可选地,所述装置还包括:
第二检测模块,用于在以第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证的过程中,检测网络质量;
重传单元,用于在网络质量的参数小于第二阈值的情况下,以第三层分片为单元重传所述第一目标分片的字节码数据。
本申请的实施例,将源文件提取的第一文件信息和待验证文件提取的第二文件信息分别进行三层分片处理,根据分片处理的结果对源文件和所述待验证文件进行一致性的验证。分片处理后的文件信息具有更高的粒度,能够在网络环境较差的情况下针对更小分片上的信息进行传输,对网络环境有更强的适应性,能够极大程度上确保文件传输不受到干扰,从而保证验证结果的准确性。在保证传输文件不重传、不丢包、无误差的情况下,使得比对验证速度增快。
在此需要说明的是,本发明实施例提供的装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
如图5所示,本发明实施例的一种电子设备500,包括处理器510和收发器520,其中,
所述处理器510用于:提取源文件的第一文件信息和待验证文件的第二文件信息;
分别对所述第一文件信息和所述第二文件信息进行三层分片处理,每一层分片的单位不同;
根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证。
可选地,三层分片中,第一层分片的单位大于第二层分片的单位;
所述第二层分片的单位大于第三层分片的单位。
可选地,所述处理器510还用于:
检测网络质量;
在所述网络质量的参数小于第一阈值的情况下,以所述第三层分片为单元分别传输所述第一文件信息和所述第二文件信息;或者
在所述网络质量的参数大于或者等于第一阈值的情况下,以所述第二层分片为单元分别传输所述第一文件信息和所述第二文件信息。
可选地,所述处理器510根据所述三层分片处理的结果,对所述源文件和所述待验证文件进行一致性验证,具体包括:
以所述第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证;
根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性。
可选地,所述处理器510根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,具体包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容不一致,则确定所述待验证文件与所述源文件不一致;
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的全部分片均验证完成,则确定所述待验证文件与所述源文件一致。
可选地,所述处理器510根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性,具体包括:
若所述字节码验证的结果指示所述第二文件信息中的第一目标分片与所述第一文件信息中的第一目标分片的内容一致,且所述源文件与所述待验证文件的至少部分分片未完成验证,对所述第一文件信息中的第二目标分片和所述第二文件信息中的第二目标分片进行字节码验证;
重复执行根据所述字节码验证的结果确定所述源文件与所述待验证文件的一致性的步骤;
其中,所述第二目标分片为与所述第一目标分片相邻的分片。
可选地,所述处理器510还用于:
在以第一层分片的结果为验证单元,对所述第一文件信息中的第一目标分片和所述第二文件信息中的第一目标分片进行字节码验证的过程中,检测网络质量;
在网络质量的参数小于第二阈值的情况下,以第三层分片为单元重传所述第一目标分片的字节码数据。
需要说明的是,本发明实施例提供的上述电子设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本发明另一实施例的电子设备,如图6所示,包括收发器610、处理器600、存储器620及存储在所述存储器620上并可在所述处理器600上运行的程序或指令;所述处理器600执行所述程序或指令时实现上述的文件一致性验证方法。
所述收发器610,用于在处理器600的控制下接收和发送数据。
其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。
本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的文件一致性验证方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的电子设备包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 文件一致性验证方法、装置及电子设备
- 文件一致性验证方法、装置、计算机设备及存储介质