文件指纹获取方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:24331022 阅读:48 留言:0更新日期:2020-05-29 19:36
本申请公开了一种文件指纹获取方法、装置、电子设备以及存储介质,涉及电子设备技术领域。所述方法包括:获取待处理文件,获取待处理文件的特征属性,并计算特征属性对应的哈希值作为第一哈希值,对待处理文件进行分片处理,获得第一数量的子文件,从第一数量的子文件中选取第二数量的子文件作为目标子文件,并计算目标子文件对应的哈希值作为第二哈希值,其中,第二数量小于第一数量,对第一哈希值和第二哈希值进行增量计算,获得第三哈希值作为待处理文件的文件指纹。本申请实施例通过待处理文件的特征属性和待处理文件的部分子文件,获得待处理文件的文件指纹,以缩短文件指纹的计算用时,节省文件上传的等待时间,提升用户体验。

Method, device, electronic equipment and storage medium of document fingerprint acquisition

【技术实现步骤摘要】
文件指纹获取方法、装置、电子设备以及存储介质
本申请涉及电子设备
,更具体地,涉及一种文件指纹获取方法、装置、电子设备以及存储介质。
技术介绍
随着科学技术的发展,电子设备的使用越来越广泛,功能越来越多,已经成为人们日常生活中的必备之一。目前,电子设备可以用于将文件上传至服务器,其中,在文件上传的场景中,电子设备可以计算文件的文件指纹,以用于在服务器进行文件的验证,但是,目前在文件指纹的计算上会耗费较长的时间,造成等待时间较长,用户体验不佳。
技术实现思路
鉴于上述问题,本申请提出了一种文件指纹获取方法、装置、电子设备以及存储介质,以解决上述问题。第一方面,本申请实施例提供了一种文件指纹获取方法,所述方法包括:获取待处理文件;获取所述待处理文件的特征属性,并计算所述特征属性对应的哈希值作为第一哈希值;对所述待处理文件进行分片处理,获得第一数量的子文件;从所述第一数量的子文件中选取第二数量的子文件作为目标子文件,并计算所述目标子文件对应的哈希值作为第二哈希值,其中,所述第二数量小于所述第一数量;对所述第一哈希值和所述第二哈希值进行增量计算,获得第三哈希值作为所述待处理文件的文件指纹。第二方面,本申请实施例提供了一种文件指纹获取装置,所述装置包括:待处理文件获取模块,用于获取待处理文件;第一哈希值获取模块,用于获取所述待处理文件的特征属性,并计算所述特征属性对应的哈希值作为第一哈希值;子文件获取模块,用于对所述待处理文件进行分片处理,获得第一数量的子文件;第二哈希值获取模块,用于从所述第一数量的子文件中选取第二数量的子文件作为目标子文件,并计算所述目标子文件对应的哈希值作为第二哈希值,其中,所述第二数量小于所述第一数量;文件指纹获取模块,用于对所述第一哈希值和所述第二哈希值进行增量计算,获得第三哈希值作为所述待处理文件的文件指纹。第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。本申请实施例提供的文件指纹获取方法、装置、电子设备以及存储介质,获取待处理文件,获取待处理文件的特征属性,并计算特征属性对应的哈希值作为第一哈希值,对待处理文件进行分片处理,获得第一数量的子文件,从第一数量的子文件中选取第二数量的子文件作为目标子文件,并计算目标子文件对应的哈希值作为第二哈希值,其中,第二数量小于第一数量,对第一哈希值和第二哈希值进行增量计算,获得第三哈希值作为待处理文件的文件指纹,从而通过待处理文件的特征属性和待处理文件的部分子文件,获得待处理文件的文件指纹,以缩短文件指纹的计算用时,节省文件上传的等待时间,提升用户体验。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1示出了可用于本申请实施例提供的文件指纹获取方法的应用环境示意图;图2示出了本申请一个实施例提供的文件指纹获取方法的流程示意图;图3示出了本申请又一个实施例提供的文件指纹获取方法的流程示意图;图4示出了本申请的图3所示的文件指纹获取方法的步骤S206的流程示意图;图5示出了本申请的图3所示的文件指纹获取方法的步骤S210的流程示意图;图6示出了本申请实施例提供的文件指纹获取装置的模块框图;图7示出了本申请实施例用于执行根据本申请实施例的文件指纹获取方法的电子设备的框图;图8示出了本申请实施例的用于保存或者携带实现根据本申请实施例的文件指纹获取方法的程序代码的存储单元。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。在文件上传的场景中,通常采用浏览器读取文件的全部内容再计算出响应的文件哈希值的方式。当上传的文件较大时,可以将文件按指定大小分成多个片段,依次读取每个文件片段,读取文件片段的同时使用增量计算的方式来计算整个文件的哈希值,其中,增量计算使浏览器可以以较小的内存开销计算出较大的文件的哈希值,避免了因文件过大而导致页面卡顿或崩溃。专利技术人在研究中发现,当选取的文件较大时,浏览器如果读取文件的全部内容再计算文件指纹,该过程会因为文件体积过大导致内存占用过多而使页面发生卡顿甚至崩溃;浏览器如果使用增量方式计算时,因为文件较大会导致分片数量较多,计算整个过程将耗费较长的时间,例如一个大小超过10G的文件,在上传服务器钱的计算等待用时长达数分钟,计算用时过长既降低了生产效率,又破坏了用户使用体验。针对上述问题,专利技术人经过长期的研究发现,并提出了本申请实施例提供的文件指纹获取方法、装置、电子设备以及存储介质,通过待处理文件的特征属性和待处理文件的部分子文件,获得待处理文件的文件指纹,以缩短文件指纹的计算用时,节省文件上传的等待时间,提升用户体验。其中,具体的文件指纹获取方法在后续的实施例中进行详细的说明。下面将针对可用于本申请实施例提供的文件指纹获取方法的应用环境进行描述。请参阅图1,图1示出了本申请实施提供的文件指纹获取方法的应用场景的示意图。其包括电子设备100和服务器200,其中,电子设备100和服务器200通信连接,以实现电子设备100和服务器200的数据交互,例如,电子设备100可以发送请求信息至服务器200,可以上传文件至服务器200,也可以从服务器200接收查询信息等,在此不做限定。作为一种方式,电子设备100和服务器200可以分别与基站连接,以通过基站实现电子设备100和服务器200之间的数据交互。其中,电子设备100可以包括智能手机、平板电脑、穿戴式电子设备等可以安装客户端(浏览器客户端)的电子设备。服务器200可以包括传统服务器、云服务器等,在此不做限定。请参阅图2,图2示出了本申请一个实施例提供的文件指纹获取方法的流程示意图。所述文件指纹获取方法用于通过待处理文件的特征属性和待处理文件的部分子文件,获得待处理文件的文件指纹,以缩短文件指纹的计算用时,节省文件上传的等待时间,提升用户体验。在具体的实施例中,所述文件指纹获取方法应用于如图6所示的文件指纹获取装置300以及配置有文件指纹获取装置300的电子设备100(图7)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以包括台式电脑、平板电脑、穿戴式电子设备等,在此不做限定。下面将针对图2所示的流程进行详细的阐述,所述文件指纹获取方法具体可以包括以下步骤:步骤S101:获取待处理文件。在本实施例中,电子设备在通过浏览器浏览文件的过程中,可以获本文档来自技高网
...

【技术保护点】
1.一种文件指纹获取方法,其特征在于,所述方法包括:/n获取待处理文件;/n获取所述待处理文件的特征属性,并计算所述特征属性对应的哈希值作为第一哈希值;/n对所述待处理文件进行分片处理,获得第一数量的子文件;/n从所述第一数量的子文件中选取第二数量的子文件作为目标子文件,并计算所述目标子文件对应的哈希值作为第二哈希值,其中,所述第二数量小于所述第一数量;/n对所述第一哈希值和所述第二哈希值进行增量计算,获得第三哈希值作为所述待处理文件的文件指纹。/n

【技术特征摘要】
1.一种文件指纹获取方法,其特征在于,所述方法包括:
获取待处理文件;
获取所述待处理文件的特征属性,并计算所述特征属性对应的哈希值作为第一哈希值;
对所述待处理文件进行分片处理,获得第一数量的子文件;
从所述第一数量的子文件中选取第二数量的子文件作为目标子文件,并计算所述目标子文件对应的哈希值作为第二哈希值,其中,所述第二数量小于所述第一数量;
对所述第一哈希值和所述第二哈希值进行增量计算,获得第三哈希值作为所述待处理文件的文件指纹。


2.根据权利要求1所述的方法,其特征在于,在所述对所述第一哈希值和所述第二哈希值进行增量计算,获得第三哈希值作为所述待处理文件的文件指纹之后,还包括:
向服务器发送携带所述文件指纹的请求信息,所述请求信息用于请求所述服务器基于所述文件指纹查询所述待处理文件的上传信息;
接收所述服务器反馈的针对所述待处理文件的上传信息的查询结果;
基于所述查询结果对所述待处理文件进行处理。


3.根据权利要求2所述的方法,其特征在于,所述基于所述查询结果对所述待处理文件进行处理,包括:
当所述查询结果表征没有上传所述待处理文件时,将所述待处理文件上传至所述服务器;
当所述查询结果表征已上传所述待处理文件中的部分子文件时,将所述待处理文件中除所述部分子文件以外的其他部分子文件上传至所述服务器。


4.根据权利要求1所述的方法,其特征在于,所述对所述待处理文件进行分片处理,获得第一数量的子文件,包括:
获取所述待处理文件的文件大小;
当所述文件大小大于指定大小时,对所述待处理文件进行分片处理,获得所述第一数量的子文件。


5.根据权利要求1-4任一项所述的方法,其特征在于,所述从所述第一数量的子文件中选取第二数量的子文件作为目标子文件,包括:
选取排列在所...

【专利技术属性】
技术研发人员:郭子亮
申请(专利权)人:OPPO重庆智能科技有限公司
类型:发明
国别省市:重庆;50

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

1