CN110430279B - 文件下载控制方法及装置 - Google Patents
文件下载控制方法及装置 Download PDFInfo
- Publication number
- CN110430279B CN110430279B CN201910750353.6A CN201910750353A CN110430279B CN 110430279 B CN110430279 B CN 110430279B CN 201910750353 A CN201910750353 A CN 201910750353A CN 110430279 B CN110430279 B CN 110430279B
- Authority
- CN
- China
- Prior art keywords
- file
- download
- downloading
- content
- target file
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种文件下载控制方法及装置,其中方法包括:接收文件下载请求,判断所述文件下载请求的类型;若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;根据所述文件下载请求获取对应的目标文件;比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。本发明通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件下载控制方法及装置。
背景技术
现有技术中,文件下载时因网络或环境问题导致下载失败,或者是主动暂停下载之后,只能重新发起下载请求,无法做到断点续载。特别地,当针对大批量文件下载断点后再逐一发起下载请求时,该问题显得尤为突出。
因此,有必要提供一种能够实现断点文件高效续载的文件下载控制方法。
发明内容
为解决上述问题,特别是现有文件下载方法中断点续载不够高效的问题,本发明采用如下各方面的技术方案:
第一方面,本发明提供一种文件下载控制方法,包括:
接收文件下载请求,判断所述文件下载请求的类型;
若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;
根据所述文件下载请求获取对应的目标文件;
比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。
优选地,所述根据所述文件下载请求获取目标文件,包括:
获取所述文件下载请求携带的用户代理参数,根据所述用户代理参数,确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件。
优选地,所述根据所述文件下载请求获取目标文件,还包括:
基于预配置的文件关联表获取与所述目标文件关联的关联文件,根据所述编码格式重命名下载之后的所述关联文件。
进一步地,所述方法还包括:
当接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程。
优选地,所述比对所述下载指针与所述目标文件的所有内容指针之前,还包括:
判断所述目标文件是否为动态数据文件;
若是,则比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度;
当所述内容匹配度≥第一阈值,继续后续步骤;
当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
优选地,所述内容匹配度根据所述目标文件与所述原始下载文件的元数据相似性、数据内容相似性、读写顺序相似性的至少一种进行计算。
优选地,所述比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度,还包括:
若所述第二阈值<内容匹配度<第一阈值,判断所述目标文件相对所述原始下载文件是否为叠加式更新;
若是,则继续后续步骤;
否则,发送所述目标文件的全部文件数据。
第二方面,本发明提供一种文件下载控制装置,包括:
接收模块,用于接收文件下载请求,判断所述文件下载请求的类型;
获取模块,用于根据所述文件下载请求的类型,获取包含于所述断点续载请求的下载指针;
确定模块,用于根据所述文件下载请求获取对应的目标文件;
发送模块,用于比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。
第三方面,本发明提供一种计算机设备,包括存储介质和处理器,所述存储介质中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述第一方面所述文件下载控制方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述第一方面所述的文件下载控制方法的步骤。
相对于现有技术,本发明的技术方案至少具备如下优点:
1.本发明提供的文件下载控制方法,通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。
2.本发明提供的文件下载控制方法,根据用户代理参数确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件,能够从根本上避免下载文件时文件名乱码的情况。
3.本发明提供的文件下载控制方法,在下载目标文件时,能够获取与所述目标文件关联的关联文件,为用户的下载提供了方便,有利于提高用户下载体验。
4.本发明提供的文件下载控制方法支持多线程下载,在接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程,大大提升了用户的下载速度。
5.本发明提供的文件下载控制方法,通过判断目标文件与原始下载文件的内容匹配度,并根据内容匹配度进一步剔除不适合直接采用断点续载方式下载的文件。其中内容匹配度根据元数据相似性、数据内容相似性、读写顺序相似性等策略进行计算,能够实现对目标文件与原始下载文件之间内容匹配度的准确把握。
6.本发明提供的文件下载控制方法,当通过内容匹配度无法直接剔除不适合直接采用断点续载方式下载的文件时,还通过判断目标文件更新方式的方法实现进一步剔除。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明文件下载控制方法一种实施例流程框图;
图2本发明文件下载控制装置一种实施例流程框图;
图3为本发明一个实施例中计算机设备的内部结构框图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S11、S12等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域普通技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本领域普通技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明所提供的一种文件下载控制方法,其中,具体的一种实施方式中,包括如下步骤:
S11、接收文件下载请求,判断所述文件下载请求的类型;
本发明实施例以服务器为执行主体进行阐述,请求方为终端设备上的浏览器,服务器接收请求方发送的文件下载请求,可以通过浏览器下载txt文本文件、apk安装包文件或mp4音视频文件,接收到所述文件下载请求后,判断所述文件下载请求的分类类型,所述分类类型包括断点续传类型、新下载文件类型、预览下载类型,针对不同的类型,服务器端分配不同的文件下载策略,以此简化不同下载类型的代码复杂度,同时可为不同下载类型分配不同的资源,方便对文件下载的管控。
S12、若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;
断点续载请求发生在下载过程中因网络原因或环境问题导致下载失败、或主动暂停下载而后需要重新继续下载的情况下。在本发明实施例中,请求方在本地下载文件的过程中,生成一个临时全量文件,所述临时全量文件记录了请求方在本地下载了所需的文件多少字节内容以及下载的字节内容的位置,以一下载指针作为标识,当请求方需要继续下载所述文件时,向服务器方发送的断点续载请求中包含了所述下载指针。在本发明实施例中,若确定所述文件下载请求为断点续载请求,则获取包含于所述断点续载请求的下载指针。
S13、根据所述文件下载请求获取对应的目标文件;
服务器在接收到所述文件下载请求后,根据所述文件下载请求获取对应的目标文件,不同请求方对于同一目标文件的下载进度不同,服务器上保存了各请求方对于目标文件的下载进度,下载了多少字节,以及下载内容的位置,以内容指针作为标识,当接收到所述下载请求时,便能够确定该请求方对应的目标文件的内容指针。
在本发明实施例中,根据所述文件下载请求获取目标文件,包括:
获取所述文件下载请求携带的用户代理参数,根据所述用户代理参数,确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件。
在本发明实施例中,目标文件的源文件在服务器中以特定的格式进行存储,由于不同的请求方所使用的浏览器不同,为了使得请求方下载的文件能够与浏览器兼容,获取所述文件下载请求携带的用户代理参数,即获取所述文件下载请求的User-Agent属性,User Agent是Http协议中的一部分,属于头域的组成部分,是一种向访问网站提供用户所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识,在得到所述用户代理参数后,根据所述用户代理参数,确定所述文件下载请求的浏览器的编码格式,具体的,所述用户代理参数的标准格式包括浏览器标识(操作系统标识、加密等级标识、浏览器语言)和渲染引擎标识版本信息。根据所述用户代理参数便可确定浏览器类型及版本,例如,手机端谷歌浏览器和电脑端谷歌浏览器时,用户代理参数是不一样的,若根据所述用户代理参数确定浏览器为电脑端谷歌浏览器,则确定该文件下载请求的浏览器的编码格式为iso8859-1编码格式,然后根据所述编码格式重命名所述目标文件,亦将浏览器存储的特定格式的目标文件的源文件转化为与该浏览器兼容的格式。根据用户代理参数确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件,能够从根本上避免下载文件时文件名乱码的情况。
在本发明实施例中,根据所述文件下载请求获取目标文件,还包括:
基于预配置的文件关联表获取与所述目标文件关联的关联文件,根据所述编码格式重命名下载之后的所述关联文件。
在本发明实施例中,服务器通过配置表配置记录了每个文件的关联关系,当获取到文件下载请求所需的目标文件后,基于预配置的文件关联表获取与所述目标文件关联的关联文件,文件关联就是将一种类型的文件与另一种类型的文件建立起一种依存关系,在两种文件的共同合作下能更好地提高作业效率。目标文件与其他文件有关联关系,指的是该文件依赖于其他文件或该文件与其他文件有强关联。当触发下载此关联文件时,即根据所述编码格式重命名所述目标文件及所述关联文件,然后记录所述关联文件的内容指针,根据所述内容指针将所述关联文件推送至请求方。例如,请求下载的文件A与文件a1、a2具有关联关系,文件a1、a2为文件A所应用场景下的子场景,便可预先让请求方将文件a1、a2一并下载,后续在文件A所对应的场景下进入文件a1所对应的场景,便可快速地使用文件a1相应的场景。通过获取与所述目标文件关联的关联文件,能够为用户的下载提供了方便,有利于提高用户下载体验。
S14、比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。
在本发明实施例中,服务器比较所述下载指针与内容指针,若所述下载指针与任一所述内容指针一致,则说明请求方下载的进度与服务器保存的请求方的下载进度是吻合的,此时,服务器便可根据所述内容指针定位至所述目标文件的指定位置,然后将所述目标文件的文件数据推送至请求方,让请求方继续下载剩下的文件数据。例如请求方下载到第8个字节,则服务器记载的内容指针为第9个字节,前8个字节的文件数据即推送至请求方。
通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。
在本发明实施例中,所述比对所述下载指针与所述目标文件的所有内容指针之前,还包括:
判断所述目标文件是否为动态数据文件;
若是,则比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度;
当所述内容匹配度≥第一阈值,继续后续步骤;
当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
具体地,动态数据文件是指记载着随时间变化而变化的内容的文件,比如商品订单表、财务数据报表等。其中,所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度是基于所述目标文件与所述原始下载文件的元数据相似性、数据内容相似性、读写顺序相似性的至少一种进行计算。文件的数据分为两类:一类为数据,即文件的实际内容;另一类为元数据,用来描述文件属性的数据。通过所述目标文件与所述原始下载文件的元数据比对,可以初步判断所述目标文件与所述原始下载文件之间的属性异同,从而通过内容匹配度体现。当所述目标文件与所述原始下载文件的元数据之间某些参数,比如文件名、文件所占块个数的差异较大时,则说明文件属性已发生重大变化,数据上表现为匹配度较小。元数据相似性判断是区分所述目标文件与所述原始下载文件之间差异的首选要素,但对于断点续载的文件来说,大多数情况下,元数据是相似的。此时,通过所述目标文件与所述原始下载文件的数据内容相似性和读写顺序相似性的比对,能够进一步实现对目标文件与原始下载文件之间内容匹配度的准确把握。一般而言,对于某些数据报表,原始下载文件和目标文件的区别可能仅在于某些项目数据的变化,而元数据的变化并不大,对此,结合数据内容相似性和读写顺序相似性的比对可以进一步得到所述原始下载文件和所述目标文件的内容匹配度。
当所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度大于等于第一阈值,也即,内容匹配度较大时,则比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,则发送所述目标文件中截止至所述内容指针的文件数据。
当所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度小于等于第二阈值,也即,内容匹配度较小时,则发送所述目标文件的全部文件数据,从而重新下载所述目标文件。
通过判断目标文件与原始下载文件的内容匹配度,并根据内容匹配度进一步剔除不适合直接采用断点续载方式下载的文件。其中内容匹配度根据元数据相似性、数据内容相似性、读写顺序相似性等策略进行计算,能够实现对目标文件与原始下载文件之间内容匹配度的准确把握。
进一步地,所述比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度,还包括:
若所述第二阈值<内容匹配度<第一阈值,判断所述目标文件相对所述原始下载文件是否为叠加式更新;
若是,则继续后续步骤;
否则,发送所述目标文件的全部文件数据。
当通过内容匹配度无法直接剔除不适合直接采用断点续载方式下载的文件时,还通过判断目标文件更新方式的方法实现进一步剔除。具体地,所述叠加式更新是指随时间变化文件内容不断叠加而此前的文件内容保持不变的更新方式,比如商品订单表,相对来说,不断更新的内容是新产生的订单数据。当所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度大于第二阈值同时小于第一阈值时,通过进一步判断所述原始下载文件是否为叠加式更新从而判断断点续载的方式,如果是叠加式更新,则继续本发明实施例的文件下载控制方法。否则,重新下载所述目标文件。
通过比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度,进而判断针对文件下载请求进行断点续载还是重新下载,从而有效提高断点续载的下载效率。
进一步地,在本发明实施例中,所述文件下载控制方法还包括:当接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程。
本发明实施例中,在服务器上,当接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,就会启动一个单独的线程来处理,而多个请求就会启动多个线程,根据多个下载线程将多个下载文件的文件数据推送至请求方,将各个文件下载任务异步进行,文件下载之间不互相干扰。进一步的,还可以为不同的文件下载请求类型分配不同的资源,若文件下载请求类型的优先级别较高时,分配更高的带宽资源,以让高级别的文件得以优先完成下载,大大提升了用户的体验
总的来说,本发明提供的文件下载控制方法,通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。此外,还根据用户代理参数确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件,从根本上避免下载文件时文件名乱码的情况。在下载目标文件时,还能够获取与所述目标文件关联的关联文件,为用户的下载提供了方便,有利于提高用户下载体验。同时,支持多线程下载,在接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程,大大提升了用户的下载速度。此外,本发明提供的文件下载控制方法,通过判断目标文件与原始下载文件的内容匹配度,并根据内容匹配度进一步剔除不适合直接采用断点续载方式下载的文件。当通过内容匹配度无法直接剔除不适合直接采用断点续载方式下载的文件时,还通过判断目标文件更新方式的方法实现进一步剔除,从而实现断点续载方法过程的有序把控。
请参考图2,本发明的实施例还提供一种文件下载控制装置,包括接收模块11、获取模块12、确定模块13和发送模块14,其中:
接收模块11,用于接收文件下载请求,判断所述文件下载请求的类型;
本发明实施例以服务器为执行主体进行阐述,请求方为终端设备上的浏览器,服务器接收请求方发送的文件下载请求,可以通过浏览器下载txt文本文件、apk安装包文件或mp4音视频文件,接收到所述文件下载请求后,判断所述文件下载请求的分类类型,所述分类类型包括断点续传类型、新下载文件类型、预览下载类型,针对不同的类型,服务器端分配不同的文件下载策略,以此简化不同下载类型的代码复杂度,同时可为不同下载类型分配不同的资源,方便对文件下载的管控。
获取模块12,用于根据所述文件下载请求的类型,获取包含于所述断点续载请求的下载指针;
断点续载请求发生在下载过程中因网络原因或环境问题导致下载失败、或主动暂停下载而后需要重新继续下载的情况下。在本发明实施例中,请求方在本地下载文件的过程中,生成一个临时全量文件,所述临时全量文件记录了请求方在本地下载了所需的文件多少字节内容以及下载的字节内容的位置,以一下载指针作为标识,当请求方需要继续下载所述文件时,向服务器方发送的断点续载请求中包含了所述下载指针。在本发明实施例中,若确定所述文件下载请求为断点续载请求,则获取包含于所述断点续载请求的下载指针。
确定模块13,用于根据所述文件下载请求获取对应的目标文件;
服务器在接收到所述文件下载请求后,根据所述文件下载请求获取对应的目标文件,不同请求方对于同一目标文件的下载进度不同,服务器上保存了各请求方对于目标文件的下载进度,下载了多少字节,以及下载内容的位置,以内容指针作为标识,当接收到所述下载请求时,便能够确定该请求方对应的目标文件的内容指针。
在本发明实施例中,根据所述文件下载请求获取目标文件,包括:
获取所述文件下载请求携带的用户代理参数,根据所述用户代理参数,确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件。
在本发明实施例中,目标文件的源文件在服务器中以特定的格式进行存储,由于不同的请求方所使用的浏览器不同,为了使得请求方下载的文件能够与浏览器兼容,获取所述文件下载请求携带的用户代理参数,即获取所述文件下载请求的User-Agent属性,User Agent是Http协议中的一部分,属于头域的组成部分,是一种向访问网站提供用户所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识,在得到所述用户代理参数后,根据所述用户代理参数,确定所述文件下载请求的浏览器的编码格式,具体的,所述用户代理参数的标准格式包括浏览器标识(操作系统标识、加密等级标识、浏览器语言)和渲染引擎标识版本信息。根据所述用户代理参数便可确定浏览器类型及版本,例如,手机端谷歌浏览器和电脑端谷歌浏览器时,用户代理参数是不一样的,若根据所述用户代理参数确定浏览器为电脑端谷歌浏览器,则确定该文件下载请求的浏览器的编码格式为iso8859-1编码格式,然后根据所述编码格式重命名所述目标文件,亦将浏览器存储的特定格式的目标文件的源文件转化为与该浏览器兼容的格式。根据用户代理参数确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件,能够从根本上避免下载文件时文件名乱码的情况。
在本发明实施例中,根据所述文件下载请求获取目标文件,还包括:
基于预配置的文件关联表获取与所述目标文件关联的关联文件,根据所述编码格式重命名下载之后的所述关联文件。
在本发明实施例中,服务器通过配置表配置记录了每个文件的关联关系,当获取到文件下载请求所需的目标文件后,基于预配置的文件关联表获取与所述目标文件关联的关联文件,文件关联就是将一种类型的文件与另一种类型的文件建立起一种依存关系,在两种文件的共同合作下能更好地提高作业效率。目标文件与其他文件有关联关系,指的是该文件依赖于其他文件或该文件与其他文件有强关联。当触发下载此关联文件时,即根据所述编码格式重命名所述目标文件及所述关联文件,然后记录所述关联文件的内容指针,根据所述内容指针将所述关联文件推送至请求方。例如,请求下载的文件A与文件a1、a2具有关联关系,文件a1、a2为文件A所应用场景下的子场景,便可预先让请求方将文件a1、a2一并下载,后续在文件A所对应的场景下进入文件a1所对应的场景,便可快速地使用文件a1相应的场景。通过获取与所述目标文件关联的关联文件,能够为用户的下载提供了方便,有利于提高用户下载体验。
发送模块14,用于比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。
在本发明实施例中,服务器比较所述下载指针与内容指针,若所述下载指针与任一所述内容指针一致,则说明请求方下载的进度与服务器保存的请求方的下载进度是吻合的,此时,服务器便可根据所述内容指针定位至所述目标文件的指定位置,然后将所述目标文件的文件数据推送至请求方,让请求方继续下载剩下的文件数据。例如请求方下载到第8个字节,则服务器记载的内容指针为第9个字节,前8个字节的文件数据即推送至请求方。
通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。
在本发明实施例中,所述比对所述下载指针与所述目标文件的所有内容指针之前,还包括:
判断所述目标文件是否为动态数据文件;
若是,则比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度;
当所述内容匹配度≥第一阈值,继续后续步骤;
当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
具体地,动态数据文件是指记载着随时间变化而变化的内容的文件,比如商品订单表、财务数据报表等。其中,所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度是基于所述目标文件与所述原始下载文件的元数据相似性、数据内容相似性、读写顺序相似性的至少一种进行计算。文件的数据分为两类:一类为数据,即文件的实际内容;另一类为元数据,用来描述文件属性的数据。通过所述目标文件与所述原始下载文件的元数据比对,可以初步判断所述目标文件与所述原始下载文件之间的属性异同,从而通过内容匹配度体现。当所述目标文件与所述原始下载文件的元数据之间某些参数,比如文件名、文件所占块个数的差异较大时,则说明文件属性已发生重大变化,数据上表现为匹配度较小。元数据相似性判断是区分所述目标文件与所述原始下载文件之间差异的首选要素,但对于断点续载的文件来说,大多数情况下,元数据是相似的。此时,通过所述目标文件与所述原始下载文件的数据内容相似性和读写顺序相似性的比对,能够进一步实现对目标文件与原始下载文件之间内容匹配度的准确把握。一般而言,对于某些数据报表,原始下载文件和目标文件的区别可能仅在于某些项目数据的变化,而元数据的变化并不大,对此,结合数据内容相似性和读写顺序相似性的比对可以进一步得到所述原始下载文件和所述目标文件的内容匹配度。
当所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度大于等于第一阈值,也即,内容匹配度较大时,则比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,则发送所述目标文件中截止至所述内容指针的文件数据。
当所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度小于等于第二阈值,也即,内容匹配度较小时,则发送所述目标文件的全部文件数据,从而重新下载所述目标文件。
通过判断目标文件与原始下载文件的内容匹配度,并根据内容匹配度进一步剔除不适合直接采用断点续载方式下载的文件。其中内容匹配度根据元数据相似性、数据内容相似性、读写顺序相似性等策略进行计算,能够实现对目标文件与原始下载文件之间内容匹配度的准确把握。
进一步地,所述比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度,还包括:
若所述第二阈值<内容匹配度<第一阈值,判断所述目标文件相对所述原始下载文件是否为叠加式更新;
若是,则继续后续步骤;
否则,发送所述目标文件的全部文件数据。
当通过内容匹配度无法直接剔除不适合直接采用断点续载方式下载的文件时,还通过判断目标文件更新方式的方法实现进一步剔除。具体地,所述叠加式更新是指随时间变化文件内容不断叠加而此前的文件内容保持不变的更新方式,比如商品订单表,相对来说,不断更新的内容是新产生的订单数据。当所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度大于第二阈值同时小于第一阈值时,通过进一步判断所述原始下载文件是否为叠加式更新从而判断断点续载的方式,如果是叠加式更新,则继续本发明实施例的文件下载控制方法。否则,重新下载所述目标文件。
通过比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度,进而判断针对文件下载请求进行断点续载还是重新下载,从而有效提高断点续载的下载效率。
进一步地,在本发明实施例中,所述文件下载控制方法还包括:当接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程。
本发明实施例中,在服务器上,当接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,就会启动一个单独的线程来处理,而多个请求就会启动多个线程,根据多个下载线程将多个下载文件的文件数据推送至请求方,将各个文件下载任务异步进行,文件下载之间不互相干扰。进一步的,还可以为不同的文件下载请求类型分配不同的资源,若文件下载请求类型的优先级别较高时,分配更高的带宽资源,以让高级别的文件得以优先完成下载,大大提升了用户的体验
总的来说,本发明提供的文件下载控制方法,通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。此外,还根据用户代理参数确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件,从根本上避免下载文件时文件名乱码的情况。在下载目标文件时,还能够获取与所述目标文件关联的关联文件,为用户的下载提供了方便,有利于提高用户下载体验。同时,支持多线程下载,在接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程,大大提升了用户的下载速度。此外,本发明提供的文件下载控制方法,通过判断目标文件与原始下载文件的内容匹配度,并根据内容匹配度进一步剔除不适合直接采用断点续载方式下载的文件。当通过内容匹配度无法直接剔除不适合直接采用断点续载方式下载的文件时,还通过判断目标文件更新方式的方法实现进一步剔除,从而实现断点续载方法过程的有序把控。
在一个实施例中,本发明还提出了一种计算机设备,所述计算机设备包括存储介质、处理器及存储在所述存储介质上并可在所述处理介质上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收文件下载请求,判断所述文件下载请求的类型;若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;根据所述文件下载请求获取对应的目标文件;比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。
在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:判断所述目标文件是否为动态数据文件;
若是,则比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度;
当所述内容匹配度≥第一阈值,继续后续步骤;
当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:若所述第二阈值<内容匹配度<第一阈值,判断所述目标文件相对所述原始下载文件是否为叠加式更新;
若是,则继续后续步骤;
否则,发送所述目标文件的全部文件数据。
请参考图3,图3为一个实施例中计算机设备的内部结构示意图。如图3所示,该计算机设备包括通过系统总线连接的处理器1、存储介质2、存储器3和网络接口4。其中,该计算机设备的存储介质2存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器1执行时,可使得处理器1实现一种文件下载控制方法,处理器1能实现图2所示实施例中的一种文件下载控制方法装置中的接收模块11、获取模块12、确定模块13和发送模块14的功能。该计算机设备的处理器1用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器3中可存储有计算机可读指令,该计算机可读指令被处理器1执行时,可使得处理器1执行一种文件下载控制方法。该计算机设备的网络接口4用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
此外,本发明还提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收文件下载请求,判断所述文件下载请求的类型;若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;根据所述文件下载请求获取对应的目标文件;比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据。一个或多个处理器能实现图2所示实施例中的在文件下载控制装置中的接收模块11、获取模块12、确定模块13和发送模块14的功能。
在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:判断所述目标文件是否为动态数据文件;
若是,则比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度;
当所述内容匹配度≥第一阈值,继续后续步骤;
当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:若所述第二阈值<内容匹配度<第一阈值,判断所述目标文件相对所述原始下载文件是否为叠加式更新;
若是,则继续后续步骤;
否则,发送所述目标文件的全部文件数据。
综合上述实施例可知,本发明最大的有益效果在于:
本发明提供的文件下载控制方法,通过包含于断点续载请求的下载指针和目标文件对应的内容指针的相互对应性,实现断点文件的快速定位,从而实现后续文件内容的智能化和高效下载,使得用户能够以最短的时间将历史下载文件从上次下载断线的地方继续传送,从而提高了用户体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种文件下载控制方法,其特征在于,包括:
接收文件下载请求,判断所述文件下载请求的类型;
若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;
根据所述文件下载请求获取对应的目标文件;
判断所述目标文件是否为动态数据文件;
若是,则比较所述下载指针对应的原始下载文件和内容指针对应的目标文件的内容匹配度;
当所述内容匹配度≥第一阈值,比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据;
当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
2.根据权利要求1所述的文件下载控制方法,其特征在于,所述根据所述文件下载请求获取目标文件,包括:
获取所述文件下载请求携带的用户代理参数,根据所述用户代理参数,确定所述文件下载请求的浏览器的编码格式,根据所述编码格式重命名下载之后的所述目标文件。
3.根据权利要求2所述的文件下载控制方法,其特征在于,所述根据所述文件下载请求获取目标文件,还包括:
基于预配置的文件关联表获取与所述目标文件关联的关联文件,根据所述编码格式重命名下载之后的所述关联文件。
4.根据权利要求3所述的文件下载控制方法,其特征在于,还包括:
当接收到同一请求方的多个文件下载请求时或所述目标文件具有关联文件时,为每个目标文件配置下载线程。
5.根据权利要求1所述的文件下载控制方法,其特征在于,所述内容匹配度根据所述目标文件与所述原始下载文件的元数据相似性、数据内容相似性、读写顺序相似性的至少一种进行计算。
6.根据权利要求1所述的文件下载控制方法,其特征在于,所述比较所述下载指针对应的原始下载文件和所述内容指针对应的目标文件的内容匹配度,还包括:
若所述第二阈值<内容匹配度<第一阈值,判断所述目标文件相对所述原始下载文件是否为叠加式更新;
若是,则继续后续步骤;
否则,发送所述目标文件的全部文件数据。
7.一种文件下载控制装置,其特征在于,包括:
接收模块,用于接收文件下载请求,判断所述文件下载请求的类型;
获取模块,用于若所述文件下载请求的类型为断点续载请求,获取包含于所述断点续载请求的下载指针;
确定模块,用于根据所述文件下载请求获取对应的目标文件;
发送模块,用于判断所述目标文件是否为动态数据文件;若是,则比较所述下载指针对应的原始下载文件和内容指针对应的目标文件的内容匹配度;当所述内容匹配度≥第一阈值,比对所述下载指针与所述目标文件的所有内容指针,若所述下载指针与任一所述内容指针一致,发送所述目标文件中截止至所述内容指针的文件数据;当所述内容匹配度≤第二阈值,发送所述目标文件的全部文件数据。
8.一种计算机设备,其特征在于,包括存储介质和处理器,所述存储介质中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述文件下载控制方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项所述文件下载控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750353.6A CN110430279B (zh) | 2019-08-14 | 2019-08-14 | 文件下载控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750353.6A CN110430279B (zh) | 2019-08-14 | 2019-08-14 | 文件下载控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110430279A CN110430279A (zh) | 2019-11-08 |
CN110430279B true CN110430279B (zh) | 2022-12-09 |
Family
ID=68414706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910750353.6A Active CN110430279B (zh) | 2019-08-14 | 2019-08-14 | 文件下载控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110430279B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427863B (zh) * | 2020-03-11 | 2023-08-08 | 支付宝(杭州)信息技术有限公司 | 一种基于领域模型的数据迁移方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030195974A1 (en) * | 1998-12-04 | 2003-10-16 | Ronning Joel A. | Apparatus and method for scheduling of search for updates or downloads of a file |
CN104994143B (zh) * | 2015-06-19 | 2018-06-19 | 小米科技有限责任公司 | 文件下载方法和装置 |
CN106817391A (zh) * | 2015-12-01 | 2017-06-09 | 百度在线网络技术(北京)有限公司 | 文件断点续传方法和装置 |
CN106101284B (zh) * | 2016-08-19 | 2019-04-02 | 福建天晴数码有限公司 | 一种文件下载断点续传的方法及系统 |
CN107786583A (zh) * | 2016-08-24 | 2018-03-09 | 中兴通讯股份有限公司 | 一种文件下载方法及装置 |
CN109561145B (zh) * | 2018-11-27 | 2022-04-05 | 泰康保险集团股份有限公司 | 文件处理方法、装置、电子设备及存储介质 |
-
2019
- 2019-08-14 CN CN201910750353.6A patent/CN110430279B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110430279A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10387451B2 (en) | Synchronization system for multiple client devices | |
KR102042723B1 (ko) | 애플리케이션을 업데이트하는 방법 | |
US9973564B2 (en) | Determining variable chunk size for transfer of a file | |
CN106657213A (zh) | 文件传输方法和装置 | |
US11226944B2 (en) | Cache management | |
CN109471843B (zh) | 一种元数据缓存方法、系统及相关装置 | |
US20190005031A1 (en) | Accessing cloud based document libraries over unreliable networks | |
CN113779060A (zh) | 数据查询方法和装置 | |
EP3132350A1 (en) | Conditional saving of input data | |
CN112134908B (zh) | 应用适配方法及服务器、介质、车载多媒体系统 | |
CN110430279B (zh) | 文件下载控制方法及装置 | |
US7213245B2 (en) | Software on demand system | |
US8938522B2 (en) | Tiered XML services in a content management system | |
CN114296835A (zh) | 应用程序的启动方法和装置 | |
US20110047165A1 (en) | Network cache, a user device, a computer program product and a method for managing files | |
CN111382136A (zh) | 文件系统镜像及文件请求方法 | |
KR101694301B1 (ko) | 스토리지 시스템의 파일 처리 방법 및 그 방법에 따른 데이터 서버 | |
EP2680135A1 (en) | Methods for updating applications | |
CN111680014B (zh) | 共享文件的获取方法、装置、电子设备及存储介质 | |
CN113961841A (zh) | 原生应用网页加载方法、系统、存储介质及设备 | |
CN105812894A (zh) | 一种基于智能终端的视频文件处理方法和装置 | |
CN112995284A (zh) | 文件存储方法、电子设备及存储介质 | |
CN113194330A (zh) | 一种碎片化多云视频资源管理方法及系统 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN113746881A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |