CN109040191A - 文件下载方法、装置、计算机设备和存储介质 - Google Patents
文件下载方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109040191A CN109040191A CN201810715600.4A CN201810715600A CN109040191A CN 109040191 A CN109040191 A CN 109040191A CN 201810715600 A CN201810715600 A CN 201810715600A CN 109040191 A CN109040191 A CN 109040191A
- Authority
- CN
- China
- Prior art keywords
- file
- downloaded
- blocked
- downloading
- rank
- 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.)
- Granted
Links
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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种文件下载方法、装置、计算机设备和存储介质。所述方法包括:获取待下载文件及对应的关键信息;将关键信息与待下载文件的全文进行匹配,得到匹配结果;根据匹配结果从所述待下载文件中分离出多个分块文件;获取所述多个分块文件的下载级别;根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。采用本方法能够减少待下载文件的数据量,避免服务器内存溢出和资源抢占,保证了服务器能够稳定运行,从而提高了服务器的资源利用率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种文件下载方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的迅速发展,各种数据量呈现爆炸式增长,比如短信平台各种业务文件数据,一般占用的内存比较大。
目前,为了方便查看各种业务文件数据,比如报表数据或日志数据,一般通过服务器,将用户选择的业务文件,以整份文件的形式,一一下载到本地。但是,待下载文件的数据量过大,严重时会造成内存溢出。而且,现有的服务器资源有限,若一下子下载大量数据会导致服务器的资源被抢占,从而降低了服务器的资源利用率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高服务器的资源利用率的文件下载方法、装置、计算机设备和存储介质。
一种文件下载方法,所述方法包括:
获取待下载文件及对应的关键信息;
将关键信息与待下载文件的全文进行匹配,得到匹配结果;
根据匹配结果从所述待下载文件中分离出多个分块文件;
获取所述多个分块文件的下载级别;
根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。
一种文件下载装置,所述装置包括:
文件获取模块,用于获取待下载文件及对应的关键信息;
信息匹配模块,用于将关键信息与待下载文件的全文进行匹配,得到匹配结果;
文件分块模块,用于根据匹配结果从所述待下载文件中分离出多个分块文件;
级别获取模块,用于获取所述多个分块文件的下载级别;
文件下载模块,用于根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待下载文件及对应的关键信息;
将关键信息与待下载文件的全文进行匹配,得到匹配结果;
根据匹配结果从所述待下载文件中分离出多个分块文件;
获取所述多个分块文件的下载级别;
根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待下载文件及对应的关键信息;
将关键信息与待下载文件的全文进行匹配,得到匹配结果;
根据匹配结果从所述待下载文件中分离出多个分块文件;
获取所述多个分块文件的下载级别;
根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。
上述文件下载方法、装置、计算机设备和存储介质,将待下载文件对应的关键信息,与待下载文件的上下文进行匹配,得到相应的匹配结果,然后根据匹配结果从待下载文件中分离出多个分块文件,最后按照各个分块文件的下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,大大减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。在下载速度一定的情况下,减少待下载文件的数据量,有利于提高文件的下载效率。同时,根据分块文件对应的下载级别,对多个分块文件分别进行下载,让文件下载能够有序地进行,避免文件下载的过程杂乱无章,保证了服务器的稳定运行,进一步提高了服务器的资源利用率。
附图说明
图1为一个实施例中文件下载方法的应用场景图;
图2为一个实施例中文件下载方法的流程示意图;
图3为另一个实施例中文件下载方法的流程示意图;
图4为又一个实施例中文件下载方法的流程示意图;
图5为再一个实施例中文件下载方法的流程示意图;
图6为再一个实施例中文件下载方法的流程示意图;
图7为再一个实施例中文件下载方法的流程示意图;
图8为一个实施例中文件下载装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的文件下载方法,可以应用于如图1所示的应用环境中。其中,终端110与服务器120通过网络进行通信。终端110检测到用户选择待下载文件的触发操作,生成对应的下载请求,并将下载请求发送至服务器120。服务器120根据下载请求,获取待下载文件及对应的关键信息;并将关键信息与待下载文件的全文进行匹配,以得到匹配结果,根据匹配结果从待下载文件中分离出多个分块文件。服务器120对多个分块文件进行分析,得到对应的下载级别,根据下载级别,对分离出的多个分块文件分别进行下载,得到多个已下载分块文件,并将多个已下载分块文件返回至终端110。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种文件下载方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S201,获取待下载文件及对应的关键信息。
待下载文件是指终端(比如笔记本电脑)操作界面(比如文件下载界面)上,被触发下载的文件;具体指大文件,占用内存较大,例如报表数据和日志数据等业务型文件。关键信息指文件的核心信息,比如关键词、关键字段等。
终端检测到用户在操作界面上的选中操作和输入操作,解析选中操作和输入操作,生成对应的下载请求,并将下载请求发送至服务器;其中,下载请求包括用户选中的待下载文件以及输入的关键信息。服务器接收终端发送的下载请求,根据下载请求,获取待下载文件及对应的关键信息。
步骤S202,将关键信息与待下载文件的全文进行匹配,得到匹配结果。
待下载文件的全文包含多种信息,比如模板信息、报表信息、数字信息等,但用户关心的信息只是其中的一部分,为了快速获取用户关心的信息,可以将关键信息与待下载文件的全文进行匹配,得到相应的匹配结果,方便后续根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件。
步骤S203,根据匹配结果从待下载文件中分离出多个分块文件。
分块文件指待下载文件中,与关键信息关联的数据信息的组合,是一种独立的文件,比如可以单独打开、查看、编辑等。另外,从待下载文件中分离出多个分块文件,并不是机械地将待下载文件分成多个分块文件,而是将待下载文件中,与关键信息关联的数据信息的组合,作为分块文件,并从待下载文件中独立分离出来;而且,多个分块文件的组合所占用的内存,远小于待下载文件所占用的内存。
根据关键信息与待下载文件全文的各种匹配结果,从待下载文件中,筛选出匹配结果符合要求的数据信息;将符合要求的数据信息进行多次组合,得到多个分块文件,大大减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。同时,在下载速度一定的情况下,减少待下载文件的数据量,有利于提高文件的下载效率。
步骤S204,获取多个分块文件的下载级别。
下载级别表示分块文件的重要程度,分块文件的重要程度越高,对应的下载级别越高。根据分块文件的信息,比如数据量大小、内容重要程度等,综合评估分块文件的重要程度,根据重要程度与下载级别的对应关系,确定分块文件的下载级别,方便后续按照下载级别,对多个分块文件进行下载。
步骤S205,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
已下载分块文件也是一种独立的文件,具备与待下载文件相同的属性,比如可以单独打开、查看、编辑、合并等。按照分块文件对应的下载级别,对多个分块文件进行下载,减少了待下载文件的数据量,避免服务器内存溢出,同时让文件下载能够有序地进行,保证了服务器的稳定运行,进一步提高了服务器的资源利用率。
上述文件下载方法中,将待下载文件对应的关键信息,与待下载文件的全文进行匹配,得到相应的匹配结果,然后根据匹配结果从所述待下载文件中分离出多个分块文件,最后按照各个分块文件的下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,大大减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。在下载速度一定的情况下,减少待下载文件的数据量,有利于提高文件的下载效率。同时,根据分块文件对应的下载级别,对多个分块文件分别进行下载,让文件下载能够有序地进行,避免文件下载的过程杂乱无章,保证了服务器的稳定运行,进一步提高了服务器的资源利用率。
考虑到待下载文件包含多种信息,但用户关心的信息只是其中的一部分,为了获取用户关心的信息,可以将关键信息与待下载文件的全文进行匹配,以筛选出用户关心的信息。
在一个实施例中,上述步骤S202,将关键信息与待下载文件的全文进行匹配,得到匹配结果,包括:将关键信息与待下载文件全文各个位置的数据信息进行匹配,得到相应的匹配结果。其中,匹配结果是指关键信息与待下载文件中的数据信息的关联情况。
将关键信息与待下载文件全文各个位置的数据信息进行匹配,全面遍历待下载文件全文,可以准确获取用户关心的信息,避免遗漏信息,有利于后续从待下载文件中分离出多个分块文件。
在一个实施例中,上述步骤S203,根据匹配结果从待下载文件中分离出多个分块文件包括:从待下载文件全文各个位置的数据信息中,筛选出匹配结果符合要求的多个位置的数据信息,并对多个位置的数据信息进行标记;将被标记的在预设范围内的数据信息进行组合,得到多个数据信息组合,作为待下载文件中分离出的多个分块文件。
比如,从待下载文件全文各个位置的数据信息中,筛选出匹配值在某个范围内的多个位置的数据信息,并将其进行标记;从待下载文件中第一个位置的数据信息开始,依次将被标记的在预设范围内的数据信息进行组合,得到多个数据信息组合,即多个分块文件。
根据关键信息与待下载文件全文的各种匹配结果,从待下载文件中,筛选出匹配结果符合要求的数据信息;并将符合要求的数据信息进行多次组合,得到多个分块文件,大大减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。同时,在下载速度一定的情况下,减少待下载文件的数据量,有利于提高文件的下载效率。
在另一个实施例中,上述步骤S203,根据匹配结果从待下载文件中分离出多个分块文件包括:从待下载文件上下文各个位置的数据信息中,筛选出匹配结果符合要求的多个位置的数据信息,并对多个位置的数据信息进行标记;将被标记的数据信息进行组合,得到组合文件;将组合文件按照预设长度进行划分,得到多个分块文件。其中,组合文件由多个分块文件组合而成。
将符合要求的多个位置的数据信息进行组合,得到对应的组合文件,再将组合文件划分成多个分块文件,可以保证每个分块文件大小相同,同时减少了待下载文件的数据量,避免服务器内存溢出,进一步提高了服务器的资源利用率。
在一个实施例中,如图3所示,提供了另一种文件下载方法,包括以下步骤:
步骤S301,获取待下载文件及对应的关键信息。
步骤S302,将关键信息与待下载文件全文各个位置的数据信息进行匹配,得到匹配结果。
步骤S303,从待下载文件全文各个位置的数据信息中,筛选出匹配结果符合要求的多个位置的数据信息,并对多个位置的数据信息进行标记;将被标记的在预设范围内的数据信息进行组合,得到多个数据信息组合,作为待下载文件中分离出的多个分块文件。
步骤S304,获取多个分块文件的下载级别。
步骤S305,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
上述文件下载方法中,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,大大减少了待下载文件的数据量,避免服务器内存溢出,从而提高了服务器的资源利用率。同时,按照下载级别对分块文件进行下载,让文件下载能够有序地进行,避免文件下载的过程杂乱无章,保证了服务器的稳定运行,进一步提高了服务器的资源利用率。
为了快速从待下载文件中分离出多个分块文件,可以构建一种文件分块模型,用于根据待下载文件及对应的关键信息,得到多个分块文件。在一个实施例中,上述步骤S201,在获取待下载文件及对应的关键信息之后,包括:将待下载的文件及对应的关键信息输入预先训练的文件分块模型,文件分块模型用于根据待下载文件及对应的关键信息,查询关键信息与文件的对应关系,确定待下载文件中待下载数据信息;根据待下载数据信息,从待下载文件中分离出多个分块文件。
其中,文件分块模型是基于历史数据信息训练得到的;比如,经过历史数据分析,业务文件的模板是固定的,用户关心的信息在业务文件中的位置基本也是固定的,关键信息也是可以统计的,那么,关键信息与业务文件之间就有多种对应关系,经过多次反复训练,直到文件分块模型能够根据待下载文件及关键信息,从待下载文件中分离出多个分块文件为止。根据文件分块模型,可以快速从待下载文件中分离出多个分块文件,减少了待下载文件的数据量,进一步提高了服务器的资源利用率。
为了进一步减少待下载文件的数据量,可以将得到的多个分块文件进行压缩。在一个实施例中,上述步骤S203,在根据匹配结果从待下载文件中分离出多个分块文件之后,包括:将多个分块文件进行压缩,得到多个压缩后的分块文件。将分离后的多个分块文件进行压缩,进一步减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。
在一个实施例中,如图4所示,提供了又一种文件下载方法,包括以下步骤:
步骤S401,获取待下载文件及对应的关键信息。
步骤S402,将待下载文件及对应的关键信息输入预先训练的文件分块模型,文件分块模型用于根据待下载文件及对应的关键信息,查询关键信息与文件的对应关系,确定待下载文件中待下载数据信息;根据待下载数据信息,从待下载文件中分离出多个分块文件。
步骤S403,将多个分块文件进行压缩,得到多个压缩后的分块文件。
步骤S404,获取多个分块文件的下载级别。
步骤S405,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
上述文件下载方法中,根据文件分块模型,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,同时将各个分块文件进行压缩,大大减少了待下载文件的数据量,避免服务器内存溢出,进一步提高了服务器的资源利用率。
考虑到不同分块文件的重要程度不一样,为了方便表示分块文件的重要程度,需要将分块文件分级别(比如下载级别)进行标识。在一个实施例中,上述步骤S204,获取多个分块文件的下载级别包括:获取多个分块文件的信息内容;根据多个分块文件的信息内容,查询信息内容与下载级别的对应关系,获取多个分块文件的下载级别。其中,信息内容包括数据量大小、内容重要程度等。
根据分块文件的信息内容,综合评估分块文件的重要程度,进而确定分块文件的下载级别,从而根据下载级别,即可快速识别分块文件的重要程度。同时有利于后续按照下载级别,对多个分块文件进行下载,保证文件下载能够有序地进行,从而保证了服务器的稳定运行,进一步提高了服务器的资源利用率。
为了保证分块文件下载能够有序地进行,避免文件下载的过程杂乱无章,可以根据下载级别,对多个分块文件分别进行下载。在一个实施例中,上述步骤S205,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件包括:将多个分块文件按照下载级别进行排列,得到排列后的多个分块文件;依次对排列后的多个分块文件进行下载,得到多个已下载分块文件;其中,各个已下载分块文件为相互独立的分块文件。每个已下载分块文件也是一个独立的文件,具备与待下载文件相同的属性,比如可以单独打开、查看、编辑、合并等。
根据分块文件对应的下载级别,对多个分块文件分别进行下载,让文件下载能够有序地进行,保证了服务器的稳定运行,同时减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,进一步提高了服务器的资源利用率。
在另一个实施例中,上述步骤S205,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件包括:将多个分块文件按照下载级别从高到低的顺序进行下载,得到多个已下载分块文件。
将各个分块文件,按照下载级别从高到低的顺序进行下载,让文件下载能够有序地进行,保证了服务器的稳定运行,同时减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,进一步提高了服务器的资源利用率。
需要说明的是,还可以将多个分块文件按照下载级别从低到高的顺序进行下载,得到多个已下载分块文件;当然还可以将多个分块文件按照其他顺序进行下载。
在一个实施例中,上述步骤S205,在根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件之后,包括:检测用户的选择触发操作,若检测到用户的选择触发操作,暂停当前分块文件的下载,启动与选择触发操作对应的分块文件的下载;其中,选择触发操作用于触发启动分块文件的下载。选择用户关心的分块文件进行下载,既满足了用户需求,又避免了服务器内存溢出和资源抢占,进一步提高了服务器的资源利用率。
考虑到已下载分块文件有多个,若要同时查看各个分块文件,需要将各个分块文件均打开,过程比较繁琐,而且查看不方便,因此,可以将多个已下载分块文件进行组合。
在一个实施例中,上述步骤S205,在根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件之后,包括:若已下载分块文件大于预设个数,根据下载级别,将多个已下载分块文件组合在一起,得到与待下载文件对应的文件。此外,还可以在文件中建立各个分块文件的文件索引信息;根据文件索引信息可以快速定位到对应的分块文件。将多个已下载分块文件组合在一起,可以方便用户查看,避免分块文件过多而查看不方便的缺陷。
在一个实施例中,如图5所示,提供了再一种分块文件下载方法,包括以下步骤:
步骤S501,获取待下载文件及对应的关键信息。
步骤S502,将关键信息与待下载文件的全文进行匹配,得到匹配结果。
步骤S503,根据匹配结果从待下载文件中分离出多个分块文件。
步骤S504,获取多个分块文件的下载级别。
步骤S505,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
步骤S506,若已下载分块文件大于预设个数,根据下载级别,将多个已下载分块文件组合在一起,得到与待下载文件对应的文件。
上述文件下载方法中,根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件,大大减少了待下载文件的数据量,避免服务器内存溢出,进一步提高了服务器的资源利用率;同时,将多个已下载分块文件组合在一起,方便用户查看,避免了分块文件过多而查看不方便的缺陷。
考虑到已下载分块文件,在下载的过程中可能存在数据丢失的情况,为了保证分块文件的完整性,防止数据丢失,可以在分块文件下载之前,建立与分块文件对应的校验匹配文件。
在一个实施例中,上述步骤S203,在根据匹配结果从待下载文件中分离出多个分块文件之后,还包括:建立与各个分块文件对应的校验匹配文件。其中,校验匹配文件是一种用于检验分块文件的数据是否完整的文件。
那么,上述步骤S205,按照下载级别,对多个分块文件分别进行下载包括:检测到当前下载级别对应的分块文件下载完毕,根据与分块文件对应的校验匹配文件,对分块文件进行校验;若校验错误,则重新下载分块文件;若校验正确,则继续进行下载。分块文件按照下载级别进行排列,若当前下载级别对应的分块文件下载完毕,则继续对其他分块文件进行下载。比如,第一下载级别对应的分块文件下载完毕,则启动第二下载级别的分块文件进行下载。
建立各个分块文件对应的检验匹配文件,并通过检验匹配文件,对下载后的分块文件进行校验,可以保证分块文件中数据的完整性,避免分块文件的数据丢失而引起不必要的后果。
在一个实施例中,如图6所示,提供了再一种文件下载方法,包括以下步骤:
步骤S601,获取待下载文件及对应的关键信息。
步骤S602,将关键信息与待下载文件的全文进行匹配,得到匹配结果。
步骤S603,根据匹配结果从待下载文件中分离出多个分块文件。
步骤S604,获取多个分块文件的下载级别;建立与各个分块文件对应的校验匹配文件。
步骤S605,检测到当前下载级别对应的分块文件下载完毕,根据与分块文件对应的校验匹配文件,对分块文件进行校验;若校验错误,则重新下载分块文件;若校验正确,则继续进行下载。
步骤S606,得到多个已下载分块文件。
上述文件下载方法中,根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件,大大减少了待下载文件的数据量,避免服务器内存溢出,进一步提高了服务器的资源利用率;同时,建立各个分块文件对应的检验匹配文件,并通过检验匹配文件,对下载后的分块文件进行校验,可以保证分块文件中数据的完整性,避免分块文件的数据丢失而引起不必要的后果。
考虑到分离后的分块文件的数据量大小不一,有些分块文件的数据量可能过大,在下载的过程中,会造成服务器的负载太大,从而降低了服务器的资源利用率,因此,可以将分块文件再进行划分。
在一个实施例中,上述步骤S203,在根据匹配结果从待下载文件中分离出多个分块文件之后,还包括:将多个分块文件对应的数据量分别与预设数据量进行比较,从多个分块文件中筛选出大于预设数据量的分块文件;将大于预设数据量的分块文件进行划分,得到多个分块子文件。其中,分块子文件的数据量小于预设数据量。
通过将各分块文件的数据量与预设数据量进行比较,将大于预设数据量的分块文件再进行划分,避免了分块文件过大而影响服务器的资源利用率,保证了服务器能够稳定运行,进一步提高了服务器的资源利用率。
此外,同一个分块文件对应的分块子文件的重要程度可能不一样,需要获取多个分块子文件的下载级别,以方便后续文件下载的过程能够有序地进行。在一个实施例中,在将大于预设数据量的分块文件进行划分,得到多个分块子文件之后,包括:获取多个分块子文件的下载级别。获取分块子文件的下载级别与获取分块文件的下载级别的方法一致。那么,上述步骤S205,根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件,包括:按照下载级别,对多个分块文件和分块子文件分别进行下载,得到多个已下载分块文件和已下载分块子文件。其中,已下载分块子文件也是一个独立的文件,具备与待下载文件相同的属性,比如可以单独打开、查看、编辑、合并等
获取多个分块子文件的下载级别,将多个分块文件和分块子文件,按照下载级别分别进行下载,保证了文件下载的过程能够有序地进行,同时减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,保证了服务器能够稳定运行,进一步提高了服务器的资源利用率。
在一个实施例中,如图7所示,提供了再一种文件下载方法,包括以下步骤:
步骤S701,获取待下载文件及对应的关键信息。
步骤S702,将关键信息与待下载文件的全文进行匹配,得到匹配结果。
步骤S703,根据匹配结果从待下载文件中分离出多个分块文件。
步骤S704,将多个分块文件对应的数据量分别与预设数据量进行比较,从多个分块文件中筛选出大于预设数据量的分块文件;将大于预设数据量的分块文件进行划分,得到多个分块子文件。
步骤S705,获取多个分块文件和分块子文件的下载级别。
步骤S706,根据下载级别,对多个分块文件和分块子文件分别进行下载,得到多个已下载分块文件和已下载分块子文件。
上述文件下载方法中,根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件,大大减少了待下载文件的数据量,避免服务器内存溢出,进一步提高了服务器的资源利用率;同时,在分块文件的数据量大于预设数据量的情况下,将分块文件再进行划分,避免了分块文件过大而影响服务器的资源利用率;并将多个分块文件和分块子文件,按照下载级别分别进行下载,保证了文件下载的过程能够有序地进行,确保了服务器能够稳定运行,进一步提高了服务器的资源利用率。
在一个实施例中,上述步骤S205,在根据下载级别,对多个分块文件分别进行下载之后,包括:根据预设周期,输出显示各个分块文件的标签信息。其中,标签信息包括发送级别、下载通知状态、下载进度和内容概要。根据预设周期,输出显示各个分块文件的标签信息,方便对各个分块文件的信息进行监控。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种文件下载装置,包括:文件获取模块810、信息匹配模块820、文件分块模块830、级别获取模块840和文件下载模块850,其中:
文件获取模块810,用于获取待下载文件及对应的关键信息。
信息匹配模块820,用于将关键信息与待下载文件的全文进行匹配,得到匹配结果。
文件分块模块830,用于根据匹配结果从待下载文件中分离出多个分块文件。
级别获取模块840,用于获取所述多个分块文件的下载级别。
文件下载模块850,用于根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
在一个实施例中,文件分块模块还用于从待下载文件全文各个位置的数据信息中,筛选出匹配结果符合要求的多个位置的数据信息,并对多个位置的数据信息进行标记;将被标记的在预设范围内的数据信息进行组合,得到多个数据信息组合,作为待下载文件中分离出的多个分块文件。
在一个实施例中,级别获取模块还用于获取多个分块文件的信息内容;根据多个分块文件的信息内容,查询信息内容与下载级别的对应关系,获取多个分块文件的下载级别。
在一个实施例中,文件下载模块还用于将多个分块文件按照下载级别进行排列,得到排列后的多个分块文件;依次对排列后的多个分块文件进行下载,得到多个已下载分块文件。
在一个实施例中,文件下载装置还包括文件组合模块,用于若已下载分块文件大于预设个数,按照下载级别,将多个已下载分块文件组合在一起,得到与待下载文件对应的文件。
在一个实施例中,文件下载装置还包括文件压缩模块,用于文件分块模块根据匹配结果从待下载文件中分离出多个分块文件之后,将多个分块文件进行压缩,得到多个压缩后的分块文件。
在一个实施例中,文件下载装置还包括匹配文件建立模块,用于文件分块模块根据匹配结果从待下载文件中分离出多个分块文件之后,建立与各个分块文件对应的校验匹配文件。
在一个实施例中,文件下载装置还包括子文件划分模块,用于文件分块模块根据匹配结果从待下载文件中分离出多个分块文件之后,将多个分块文件对应的数据量分别与预设数据量进行比较,从多个分块文件中筛选出大于预设数据量的分块文件;将大于预设数据量的分块文件的数据量进行划分,得到多个分块子文件;分块子文件的数据量小于预设数据量。
在一个实施例中,文件下载模块还用于检测到当前下载级别对应的分块文件下载完毕,根据与分块文件对应的校验匹配文件,对分块文件进行校验;若校验错误,则重新下载分块文件;若校验正确,则继续进行下载。
上述各个实施例,文件下载装置将待下载文件对应的关键信息,与待下载文件的全文进行匹配,得到匹配结果,然后根据匹配结果从待下载文件中分离出多个分块文件,最后按照各个分块文件的下载级别,对多个分块文件进行下载,得到多个已下载分块文件。根据关键信息与待下载文件全文的匹配结果,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,大大减少了待下载文件的数据量,避免服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。在下载速度一定的情况下,减少待下载文件的数据量,有利于提高文件的下载效率。同时,根据分块文件对应的下载级别,对多个分块文件分别进行下载,让文件下载能够有序地进行,避免文件下载的过程杂乱无章,保证了服务器能够稳定运行,进一步提高了服务器的资源利用率。
关于文件下载装置的具体限定可以参见上文中对于文件下载方法的限定,在此不再赘述。上述文件下载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储分块文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件下载方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待下载文件及对应的关键信息;
将关键信息与待下载文件的全文进行匹配,得到匹配结果;
根据匹配结果从待下载文件中分离出多个分块文件;
获取多个分块文件的下载级别;
根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
计算机设备通过处理器上运行的计算机程序,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,大大减少了待下载文件的数据量,避免了服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待下载文件及对应的关键信息;
将关键信息与待下载文件的全文进行匹配,得到匹配结果;
根据匹配结果从待下载文件中分离出多个分块文件;
获取多个分块文件的下载级别;
根据下载级别,对多个分块文件分别进行下载,得到多个已下载分块文件。
计算机可读存储介质通过其存储的计算机程序,从待下载文件中分离出多个分块文件,只获取与关键信息关联的数据信息,大大减少了待下载文件的数据量,避免了服务器内存溢出和资源抢占,从而提高了服务器的资源利用率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种文件下载方法,所述方法包括:
获取待下载文件及对应的关键信息;
将关键信息与待下载文件的全文进行匹配,得到匹配结果;
根据匹配结果从所述待下载文件中分离出多个分块文件;
获取所述多个分块文件的下载级别;
根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。
2.根据权利要求1所述的方法,其特征在于,所述根据匹配结果从所述待下载文件中分离出多个分块文件包括:
从所述待下载文件全文各个位置的数据信息中,筛选出匹配结果符合要求的多个位置的数据信息,并对所述多个位置的数据信息进行标记;
将被标记的在预设范围内的数据信息进行组合,得到多个数据信息组合,作为所述待下载文件中分离出的多个分块文件。
3.根据权利要求1所述的方法,其特征在于,所述获取所述多个分块文件的下载级别包括:
提取所述多个分块文件的信息内容;
根据所述多个分块文件的信息内容,查询信息内容与下载级别的对应关系,获取所述多个分块文件的下载级别。
4.根据权利要求3所述的方法,其特征在于,所述根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件包括:
将所述多个分块文件按照下载级别进行排列,得到排列后的多个分块文件;
依次对排列后的多个分块文件进行下载,得到多个已下载分块文件。
5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:
若已下载分块文件大于预设个数,根据所述下载级别,将所述多个已下载分块文件组合在一起,得到与所述待下载文件对应的文件。
6.根据权利要求5所述的方法,其特征在于,在根据匹配结果从所述待下载文件中分离出多个分块文件之后,还包括:
将所述多个分块文件进行压缩,得到多个压缩后的分块文件;
建立与各个分块文件对应的校验匹配文件;
将所述多个分块文件对应的数据量分别与预设数据量进行比较,从多个分块文件中筛选出大于预设数据量的分块文件;
将大于预设数据量的分块文件进行划分,得到多个分块子文件;所述分块子文件的数据量小于预设数据量。
7.根据权利要求6所述的方法,其特征在于,所述根据下载级别,对所述多个分块文件分别进行下载包括:
当检测到当前下载级别对应的分块文件下载完毕,根据与所述分块文件对应的校验匹配文件,对所述分块文件进行校验;
若校验错误,则重新下载所述分块文件;
若校验正确,则继续进行下载。
8.一种文件下载装置,其特征在于,所述装置包括:
文件获取模块,用于获取待下载文件及对应的关键信息;
信息匹配模块,用于将关键信息与待下载文件的全文进行匹配,得到匹配结果;
文件分块模块,用于根据匹配结果从所述待下载文件中分离出多个分块文件;
级别获取模块,用于获取所述多个分块文件的下载级别;
文件下载模块,用于根据下载级别,对所述多个分块文件分别进行下载,得到多个已下载分块文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715600.4A CN109040191B (zh) | 2018-07-03 | 2018-07-03 | 文件下载方法、装置、计算机设备和存储介质 |
PCT/CN2018/105494 WO2020006866A1 (zh) | 2018-07-03 | 2018-09-13 | 文件下载方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715600.4A CN109040191B (zh) | 2018-07-03 | 2018-07-03 | 文件下载方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109040191A true CN109040191A (zh) | 2018-12-18 |
CN109040191B CN109040191B (zh) | 2021-11-09 |
Family
ID=65521419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810715600.4A Active CN109040191B (zh) | 2018-07-03 | 2018-07-03 | 文件下载方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109040191B (zh) |
WO (1) | WO2020006866A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401723A (zh) * | 2019-08-16 | 2019-11-01 | 北京浪潮数据技术有限公司 | Ova文件上传服务器的方法、系统、设备及存储介质 |
CN111193785A (zh) * | 2019-12-20 | 2020-05-22 | 北京淇瑀信息科技有限公司 | 一种文件切割传输方法、装置和电子设备 |
CN111324458A (zh) * | 2020-02-18 | 2020-06-23 | 山东汇贸电子口岸有限公司 | 一种基于Java的大文件下载加速方法 |
CN112580092A (zh) * | 2020-12-07 | 2021-03-30 | 北京明朝万达科技股份有限公司 | 一种敏感文件识别方法及装置 |
CN116048710A (zh) * | 2023-04-03 | 2023-05-02 | 荣耀终端有限公司 | 应用标识的显示方法、电子设备及可读存储介质 |
WO2024109471A1 (zh) * | 2022-11-22 | 2024-05-30 | 华为技术有限公司 | 软件包的下载方法、电子设备以及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827128A (zh) * | 2010-04-06 | 2010-09-08 | 山东高效能服务器和存储研究院 | 一种文件网络传输中分块下载和匹配的方法 |
CN102196008A (zh) * | 2010-03-08 | 2011-09-21 | 株式会社日立制作所 | 点对点下载方法、视频设备和内容发送方法 |
US20180103016A1 (en) * | 2015-06-16 | 2018-04-12 | Alibaba Group Holding Limited | Enhancing security of application downloads |
CN108111555A (zh) * | 2016-11-25 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 用于控制安装包下载过程的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850842A (zh) * | 2012-06-28 | 2017-06-13 | 北京奇虎科技有限公司 | 一种文件的下载、上传方法及装置 |
CN106161351A (zh) * | 2015-03-31 | 2016-11-23 | 中兴通讯股份有限公司 | 流媒体服务与文件下载融合的方法、装置及cdn服务器 |
-
2018
- 2018-07-03 CN CN201810715600.4A patent/CN109040191B/zh active Active
- 2018-09-13 WO PCT/CN2018/105494 patent/WO2020006866A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196008A (zh) * | 2010-03-08 | 2011-09-21 | 株式会社日立制作所 | 点对点下载方法、视频设备和内容发送方法 |
CN101827128A (zh) * | 2010-04-06 | 2010-09-08 | 山东高效能服务器和存储研究院 | 一种文件网络传输中分块下载和匹配的方法 |
US20180103016A1 (en) * | 2015-06-16 | 2018-04-12 | Alibaba Group Holding Limited | Enhancing security of application downloads |
CN108111555A (zh) * | 2016-11-25 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 用于控制安装包下载过程的方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401723A (zh) * | 2019-08-16 | 2019-11-01 | 北京浪潮数据技术有限公司 | Ova文件上传服务器的方法、系统、设备及存储介质 |
CN111193785A (zh) * | 2019-12-20 | 2020-05-22 | 北京淇瑀信息科技有限公司 | 一种文件切割传输方法、装置和电子设备 |
CN111324458A (zh) * | 2020-02-18 | 2020-06-23 | 山东汇贸电子口岸有限公司 | 一种基于Java的大文件下载加速方法 |
CN112580092A (zh) * | 2020-12-07 | 2021-03-30 | 北京明朝万达科技股份有限公司 | 一种敏感文件识别方法及装置 |
CN112580092B (zh) * | 2020-12-07 | 2023-03-24 | 北京明朝万达科技股份有限公司 | 一种敏感文件识别方法及装置 |
WO2024109471A1 (zh) * | 2022-11-22 | 2024-05-30 | 华为技术有限公司 | 软件包的下载方法、电子设备以及可读存储介质 |
CN116048710A (zh) * | 2023-04-03 | 2023-05-02 | 荣耀终端有限公司 | 应用标识的显示方法、电子设备及可读存储介质 |
CN116048710B (zh) * | 2023-04-03 | 2023-09-29 | 荣耀终端有限公司 | 应用标识的显示方法、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020006866A1 (zh) | 2020-01-09 |
CN109040191B (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040191A (zh) | 文件下载方法、装置、计算机设备和存储介质 | |
CN108304378B (zh) | 文本相似度计算方法、装置、计算机设备和存储介质 | |
CN106657213B (zh) | 文件传输方法和装置 | |
US9934233B2 (en) | Searchable data archive | |
CN104899016B (zh) | 调用堆栈关系获取方法及装置 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
US20230316743A1 (en) | Method and system for facilitating access to recorded data | |
CN113297182B (zh) | 数据迁移方法、设备、存储介质及程序产品 | |
CN109783571B (zh) | 隔离环境的数据处理方法、装置、计算机设备及存储介质 | |
US12117965B2 (en) | File processing method, apparatus and device, and readable storage medium | |
CN107590144A (zh) | 一种文件存储方法和终端 | |
CN109522273B (zh) | 一种实现数据写入的方法及装置 | |
CN107590162A (zh) | 日志文件的存储方法及装置 | |
CN111625342B (zh) | 一种数据溯源方法、装置及服务器 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN110989978A (zh) | 页面打包方法、装置、电子设备及存储介质 | |
CN113377711B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113419957B (zh) | 基于规则的大数据离线批处理性能容量扫描方法及装置 | |
CN106326310B (zh) | 一种手机客户端软件的资源加密更新方法 | |
CN109284260B (zh) | 大数据文件读取方法、装置、计算机设备及存储介质 | |
CN109684870B (zh) | 一种自包含的文件信息配置方法及系统 | |
CN112597109B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN111241818B (zh) | 词槽填充方法、装置、设备及存储介质 | |
CN113434195A (zh) | 一种Android应用APK文件的解析方法及系统 | |
EP2767911A1 (en) | Data storage and retrieval |
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 |