CN107689979A - 一种下载请求处理方法和处理设备 - Google Patents
一种下载请求处理方法和处理设备 Download PDFInfo
- Publication number
- CN107689979A CN107689979A CN201710282796.8A CN201710282796A CN107689979A CN 107689979 A CN107689979 A CN 107689979A CN 201710282796 A CN201710282796 A CN 201710282796A CN 107689979 A CN107689979 A CN 107689979A
- Authority
- CN
- China
- Prior art keywords
- download
- server
- executable
- downloading task
- 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.)
- 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)
Abstract
本发明实施例公开了一种下载请求处理方法,用于解决因下载耗时较长而使得会话链接长期占用服务器的会话资源,造成系统资源的浪费的问题。本发明实施例方法包括:接收终端发起的下载请求;判断所述下载请求所需的下载文件的大小是否超过预设阈值;若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;在所述服务器上建立下载所述下载文件的后台线程;通过所述后台线程下载并缓存所述下载文件;将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。本发明实施例还提供一种处理设备。
Description
技术领域
本发明涉及通信领域,尤其涉及一种下载请求处理方法和处理设备。
背景技术
目前,很多企业、用户会通过服务器来实现数据的共享。例如,企业可以将需要共享的文件上传至服务器,当企业的员工需要获取该文件时,可以从该服务器上下载到该文件,实现快捷、便利的文件共享。
然而,随着数据交互的频繁以及数据量的增大,用户通过服务器下载的文件也越来越大,一个下载任务往往需要服务器耗费较多的时间,造成系统资源的浪费。
发明内容
本发明实施例提供了一种下载请求处理方法和处理设备,能够避免服务器会话链接资源的长时间占用,提高终端获取所请求的文件的效率。
第一方面,提供了一种下载请求处理方法,包括:
接收终端发起的下载请求;
判断所述下载请求所需的下载文件的大小是否超过预设阈值;
若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;
在所述服务器上建立下载所述下载文件的后台线程;
通过所述后台线程下载并缓存所述下载文件;
将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
第二发明,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有下载请求处理程序,其特征在于,所述下载请求处理程序被至少一个处理器执行时,实现以下步骤:
接收终端发起的下载请求;
判断所述下载请求所需的下载文件的大小是否超过预设阈值;
若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;
在所述服务器上建立下载所述下载文件的后台线程;
通过所述后台线程下载并缓存所述下载文件;
将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
第三方面,提供了一种处理设备,所述处理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的下载请求处理程序,所述处理器执行所述下载请求处理程序时实现如下步骤:
接收终端发起的下载请求;
判断所述下载请求所需的下载文件的大小是否超过预设阈值;
若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;
在所述服务器上建立下载所述下载文件的后台线程;
通过所述后台线程下载并缓存所述下载文件;
将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,首先,接收终端发起的下载请求;然后,判断所述下载请求所需的下载文件的大小是否超过预设阈值;若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;接着,在所述服务器上建立下载所述下载文件的后台线程;通过所述后台线程下载并缓存所述下载文件;最后,将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。这样,当终端请求下载的文件过大时,服务器可以释放与终端的会话链接,然后通过建立后台线程的方式下载并缓存终端请求的文件,由于请求的文件已缓存,终端可以在合适的时候从缓存中快速获取到该文件,不仅避免了服务器会话链接资源的长时间占用,而且提高了终端获取所请求的文件的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种下载请求处理方法第一个实施例流程图;
图2为本发明实施例中一种下载请求处理方法第二个实施例流程图;
图3为图2对应第二个实施例中一种下载请求处理方法步骤209在一个应用场景下的流程示意图;
图4为图2对应第二个实施例中一种下载请求处理方法在每建立一个所述后台线程之后的步骤流程示意图;
图5是本发明实施例提供的下载请求处理程序的运行环境示意图;
图6是本发明实施例提供的下载请求处理程序的功能模块图。
具体实施方式
本发明实施例提供了一种下载请求处理方法和处理设备,用于解决因下载耗时较长而使得会话链接长期占用服务器的会话资源,造成系统资源的浪费的问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种下载请求处理方法第一个实施例包括:
101、接收终端发起的下载请求;
本实施例中,当用户需要下载某个文件时,可以通过终端向服务器发起该文件的下载请求,从而服务器可以接收到该下载请求。
102、判断所述下载请求所需的下载文件的大小是否超过预设阈值,若否,则执行步骤103,若是,则执行步骤104;
可以理解的是,由于共享在服务器中的文件的数据量往往非常庞大,因此,这些文件通常是存储在与服务器连接的数据库中。在服务器根据该下载请求下载文件时,服务器需要先从对应数据库中下载该文件,然后将该文件发送给用户终端。因此,当文件较大时,服务器往往等待较长的时间才能完成该文件的下载。
本实施例中,通过判断该下载请求所需的下载文件的大小是否超过预设阈值,若否,则表示服务器可以在较短的时间内完成该下载文件的下载,从而执行步骤103,下载该文件然后通过当前会话链接交给用户的终端;若是,则表示服务器需要消耗较长的时间才能完成该下载文件的下载,从而执行步骤104及后续步骤,通过后台的方式完成文件的下载。
103、保持与所述终端之间的当前会话链接,在下载完成所述下载文件之后,将所述下载文件通过所述当前会话链接发送至所述终端;
当该下载文件较小时,服务器可以在短时间内完成下载文件的下载从而交给用户的终端,因此,服务器可以保持与所述终端之间的当前会话链接,直至下载文件完成后再释放。
104、释放服务器与所述终端之间的当前会话链接;
本实施例中,为避免当前会话链接长期占用服务器的会话链接资源,在判定所述下载请求所需的下载文件的大小超过预设阈值时,可以释放服务器与所述终端之间的当前会话链接。
进一步地,在释放服务器与所述终端之间的当前会话链接之前,服务器还可以请求所述终端设定后台下载所述下载文件的执行时段。可以理解的是,服务器在日常使用中,存在忙时和闲时,在忙时,服务器的内存资源较为紧缺,不利于用于下载大体积的文件;而在闲时,服务器的内容资源往往较为空间,例如在半夜时段,服务器在闲时时段下载大体积的文件则更为合适。因此,在判定述下载请求所需的下载文件的大小超过预设阈值之后,服务器可以先询问用户的终端,请求用户设定一个执行时段,服务器将在设定的该执行时段建立后台线程来完成下载文件的下载。进一步地,在下述步骤105之前,若服务器获取到所述终端设定的所述执行时段,则当所述服务器的当前系统时间到达所述执行时段时,执行下述步骤105。
105、在所述服务器上建立下载所述下载文件的后台线程;
106、通过所述后台线程下载并缓存所述下载文件;
对于步骤105和106,服务器可以在合适的时间段建立后台线程,然后通过该后台线程完成下载文件的下载,并将下载好的文件缓存在服务器上,以便于用户的终端与服务器再次建立会话链接之后,可以快速地获取到该下载文件。
107、将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
本实施例中,当服务器通过后台线程完成下载文件的下载之后,服务器可以通过邮件、短信、系统消息等方式通知终端,用户在得知该通知消息之后,可以选择在任意时候再次登录服务器,终端与服务器重新建立新的会话链接,然后获取服务器缓存中的所述下载文件。
另外,在本实施例中,若服务器通过后台线程下载该下载文件失败,例如服务器需求的文件来自某个服务器B,但用户没有获取该服务器B的数据的权限,从而导致下载失败。此时,服务器可以向用户的终端返回相关的失败信息。
本实施例中,首先,接收终端发起的下载请求;然后,判断所述下载请求所需的下载文件的大小是否超过预设阈值;若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;接着,在所述服务器上建立下载所述下载文件的后台线程;通过所述后台线程下载并缓存所述下载文件;最后,将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。这样,当终端请求下载的文件过大时,服务器可以释放与终端的会话链接,然后通过建立后台线程的方式下载并缓存终端请求的文件,由于请求的文件已缓存,终端可以在合适的时候从缓存中快速获取到该文件,不仅避免了服务器会话链接资源的长时间占用,而且提高了终端获取所请求的文件的效率。
请参阅图2,本发明实施例中一种下载请求处理方法第二个实施例包括:
201、接收终端发起的下载请求;
202、判断所述下载请求所需的下载文件的大小是否超过预设阈值,若否,则执行步骤203,若是,则执行步骤204;
203、保持与所述终端之间的当前会话链接,在下载完成所述下载文件之后,将所述下载文件通过所述当前会话链接发送至所述终端;
204、释放服务器与所述终端之间的当前会话链接;
上述步骤201~204与第一个实施例中的步骤101~104类似,此处不再赘述。
205、根据所述下载请求新建对应的待处理的下载任务;
本实施例中,服务器在释放当前会话链接之后,可以为该下载请求新建一个待处理的下载任务,并在合适的时候执行并完成该下载任务。
206、获取所述服务器当前可用的内存量;
207、确定所述待处理的下载任务中预计内存使用量小于或等于所述当前可用的内存量的下载任务为可执行下载任务;
对于步骤206和207,可以理解的是,为了利用服务器的空闲资源来处理这些下载任务,首先需要获取服务器当前可用的内存量有多少,也即空闲的资源有多少。然后,确定这些待处理的下载任务中是否有可执行的下载任务。为此,服务器可以预先统计各种类型的下载任务在运行期间的最大内存使用量M1,从而可以估算出这些待处理的下载任务的预计内存使用量。假设某个待处理的下载任务的类型为A,服务器统计的类型为A的下载任务的最大内存使用量为M1,则该待处理的下载任务的预计内存使用量也为M1。
因此,假设服务器当前可用的内存量为M0,则可以将那些M1≤M0的下载任务确定为可执行下载任务。
208、判断所述可执行下载任务的数量是否超过预设的数量阈值,若是,则执行步骤209,若否,则执行步骤211;
具体地,该数量阈值可以设为1,即,当所述可执行下载任务的数量超过1个时,即2个以上时,执行步骤209;反之,所述可执行下载任务的数量为1时,则执行步骤211。
209、计算各个所述可执行下载任务的优先级;
若所述可执行下载任务的数量超过预设的数量阈值,则可以计算各个所述可执行下载任务的优先级。可以理解的是,当服务器中可执行的下载任务超过1个时,对服务器来说,按照何种顺序处理这些下载任务将关系到服务器的资源利用率和处理效率。因此,面对多个可执行下载任务时,可以先计算出各个可执行下载任务的优先级,然后按照优先级的先后顺序处理这些可执行下载任务,以便实现服务器资源的最大化利用。
进一步地,如图3所示,步骤209可以包括:
301、获取所述可执行下载任务对应下载请求的第一重要性数值,所述第一重要性数值由所述终端在发起下载请求之前预先设定;
302、根据所述第一重要性数值和预设的第一权重计算所述可执行下载任务的第一优先值;
303、根据所述可执行下载任务的预估消耗时长和预设的第二权重计算所述可执行下载任务的第二优先值;
304、根据各个所述可执行下载任务的第一优先值和第二优先值确定各个所述可执行下载任务的优先级,其中,第一优先值与所述优先级正相关,所述第二优先值与所述优先级负相关。
对于上述步骤301~304,对于每个下载任务,用户可以预先设定其第一重要性数值,假设为p,另外,服务器可以赋予第一重要性数值p对应的第一权重Vp。从而,该可执行下载任务的第一优先值可以为p*Vp。
另外,服务器可以预先统计各种类型的下载任务执行所需的耗时T1,从而可以估算出这些可执行下载任务的预估消耗时长t。假设某个可执行下载任务的类型为B,服务器统计的类型为B的下载任务的所需的耗时为T1,则该可执行下载任务的预估消耗时长t=T1。并且,服务器可以赋予所述可执行下载任务的预估消耗时长对应的第二权重Vt,从而该可执行下载任务的第二优先值可以为t*Vt。
从而,对于一个可执行下载任务来说,其优先级可以由(p*Vp)/(t*Vt)来确定。在计算出所各个所述可执行下载任务的(p*Vp)/(t*Vt)之后,可以根据它们值的大小确定出各个可执行下载任务优先级。可知,对于(p*Vp)/(t*Vt)来说,p*Vp越大,则其值越大,优先级越高;t*Vt越大,则其值越小,优先级越低。
210、根据优先级的先后顺序依次对各个所述可执行下载任务执行步骤211;
211、在所述服务器上建立当前执行的所述可执行下载任务的后台线程;
本实施例中,当所述可执行下载任务的数量未超过预设的数量阈值时,可以直接执行步骤211,若这些可执行下载任务的数量超过1个,服务器可以为这些可执行下载任务设定默认的执行顺序。例如,按照各个可执行下载任务的建立时间的先后顺序,或者按照各个可执行下载任务对应下载的下载文件从大到小或从小到大的顺序,等等。而当所述可执行下载任务的数量超过预设的数量阈值时,则可以按照上述步骤209确定出的优先级的先后顺序依次执行这些可执行下载任务。
对于步骤211,服务器可以按顺序依次处理这些可执行下载任务,在处理之前,先为当前执行的所述可执行下载任务建立对应的后台线程。进一步地,如图4所示,在每建立一个所述后台线程之后,还包括如下处理步骤:
401、获取所述服务器当前可用的内存量;
402、判断下一个执行的所述可执行下载任务的预计内存使用量是否超过所述当前可用的内存量,若是,则执行步骤207,若否,则执行步骤403;
403、继续建立下一个可执行下载任务的后台线程。
对于步骤401~403,可以每建立一个所述后台线程,服务器上的当前可用的内存量就会发生变化,在不考虑其它占用内存资源的任务的情况下,当前可用的内存量会变小,此时,可能出现剩下的可用内存量不足以处理下一个可执行下载任务的情况。因此,需要执行步骤402进行判断,若判断结果为否,则表示服务器还可以继续处理下一个可执行的下载任务;若判断结果为是,则应该返回执行步骤207,重新确定可执行下载任务。
212、通过所述后台线程下载并缓存所述下载文件;
213、将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
上述步骤212和步骤213分别与第一个实施例中的步骤106和107类似,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的下载请求处理方法,图5示出了本发明实施例提供的下载请求处理程序50的运行环境示意图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述的下载请求处理程序50安装并运行于处理设备5中。所述处理设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该处理设备5可包括,但不仅限于,存储器51和处理器52。图5仅示出了具有组件51-52的处理设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器51在一些实施例中可以是所述处理设备5的内部存储单元,例如该处理设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述处理设备5的外部存储设备,例如所述处理设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述处理设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储安装于所述处理设备5的应用软件及各类数据,例如所述下载请求处理程序50的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器52在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器51中存储的程序代码或处理数据,例如执行所述下载请求处理程序50等。
请参阅图6,是本发明实施例提供的下载请求处理程序50的功能模块图。在本实施例中,所述的下载请求处理程序50可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器51中,并由一个或多个处理器(本实施例为所述处理器52)所执行,以完成本发明。例如,在图6中,所述的下载请求处理程序50可以被分割成下载请求接收模块601、文件大小判断模块602、会话链接释放模块603、后台线程建立模块604、文件下载模块605和下载完成通知模块606。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述下载请求处理程序50在所述处理设备5中的执行过程。以下描述将具体介绍所述模块601-606的功能。
下载请求接收模块601,用于接收终端发起的下载请求;
文件大小判断模块602,用于判断所述下载请求所需的下载文件的大小是否超过预设阈值;
会话链接释放模块603,用于若所述文件大小判断模块602的判断结果为是,则释放服务器与所述终端之间的当前会话链接;
后台线程建立模块604,用于在所述服务器上建立下载所述下载文件的后台线程;
文件下载模块605,用于通过所述后台线程下载并缓存所述下载文件;
下载完成通知模块606,用于将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
进一步地,所述下载请求处理程序50还可以包括:
下载任务新建模块,用于根据所述下载请求新建对应的待处理的下载任务;
第一可用内存量获取模块,用于获取所述服务器当前可用的内存量;
可执行任务确定模块,用于确定所述待处理的下载任务中预计内存使用量小于或等于所述当前可用的内存量的下载任务为可执行下载任务;
第一触发模块,用于若所述可执行下载任务的数量未超过预设的数量阈值,则执行在所述服务器上建立下载所述下载文件的后台线程的步骤;
第二触发模块,用于若所述可执行下载任务的数量超过预设的数量阈值,则计算各个所述可执行下载任务的优先级,然后根据优先级的先后顺序依次对各个所述可执行下载任务触发所述后台线程建立模块604;
所述后台线程建立模块604具体包括:线程建立单元,用于在所述服务器上建立当前执行的所述可执行下载任务的后台线程。
进一步地,所述下载请求处理程序50还可以包括:
第二可用内存量获取模块,用于在每建立一个所述后台线程之后,获取所述服务器当前可用的内存量;
内存量判断模块,用于判断下一个执行的所述可执行下载任务的预计内存使用量是否超过所述当前可用的内存量;
返回触发模块,用于若所述内存量判断模块的判断结果为是,则返回触发所述可执行任务确定模块。
进一步地,所述第二触发模块可以包括:
第一数值获取单元,用于获取所述可执行下载任务对应下载请求的第一重要性数值,所述第一重要性数值由所述终端在发起下载请求之前预先设定;
第一优先值计算单元,用于根据所述第一重要性数值和预设的第一权重计算所述可执行下载任务的第一优先值;
第二优先值计算单元,用于根据所述可执行下载任务的预估消耗时长和预设的第二权重计算所述可执行下载任务的第二优先值;
优先级确定单元,用于根据各个所述可执行下载任务的第一优先值和第二优先值确定各个所述可执行下载任务的优先级,其中,第一优先值与所述优先级正相关,所述第二优先值与所述优先级负相关。
进一步地,所述下载请求处理程序50还可以包括:
执行时段设定模块,用于请求所述终端设定后台下载所述下载文件的执行时段;
时段触发模块,用于若所述执行时段设定模块获取到所述终端设定的所述执行时段,则当所述服务器的当前系统时间到达所述执行时段时,触发所述后台线程建立模块604。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种下载请求处理方法,其特征在于,包括:
接收终端发起的下载请求;
判断所述下载请求所需的下载文件的大小是否超过预设阈值;
若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;
在所述服务器上建立下载所述下载文件的后台线程;
通过所述后台线程下载并缓存所述下载文件;
将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
2.根据权利要求1所述的下载请求处理方法,其特征在于,在所述服务器上建立下载所述下载文件的后台线程之前,还包括:
根据所述下载请求新建对应的待处理的下载任务;
获取所述服务器当前可用的内存量;
确定所述待处理的下载任务中预计内存使用量小于或等于所述当前可用的内存量的下载任务为可执行下载任务;
若所述可执行下载任务的数量未超过预设的数量阈值,则执行在所述服务器上建立下载所述下载文件的后台线程的步骤;
若所述可执行下载任务的数量超过预设的数量阈值,则计算各个所述可执行下载任务的优先级,然后根据优先级的先后顺序依次对各个所述可执行下载任务执行在所述服务器上建立下载所述下载文件的后台线程的步骤;
在所述服务器上建立下载所述下载文件的后台线程具体包括:在所述服务器上建立当前执行的所述可执行下载任务的后台线程。
3.根据权利要求2所述的下载请求处理方法,其特征在于,所述下载请求处理方法还包括:
在每建立一个所述后台线程之后,获取所述服务器当前可用的内存量;
判断下一个执行的所述可执行下载任务的预计内存使用量是否超过所述当前可用的内存量;
若下一个执行的所述可执行下载任务的预计内存使用量超过所述当前可用的内存量,则返回执行确定所述待处理的下载任务中预计内存使用量小于或等于所述当前可用的内存量的下载任务为可执行下载任务的步骤。
4.根据权利要求2所述的下载请求处理方法,其特征在于,所述计算各个所述可执行下载任务的优先级包括:
获取所述可执行下载任务对应下载请求的第一重要性数值,所述第一重要性数值由所述终端在发起下载请求之前预先设定;
根据所述第一重要性数值和预设的第一权重计算所述可执行下载任务的第一优先值;
根据所述可执行下载任务的预估消耗时长和预设的第二权重计算所述可执行下载任务的第二优先值;
根据各个所述可执行下载任务的第一优先值和第二优先值确定各个所述可执行下载任务的优先级,其中,第一优先值与所述优先级正相关,所述第二优先值与所述优先级负相关。
5.根据权利要求1至4中任一项所述的下载请求处理方法,其特征在于,在释放服务器与所述终端之间的当前会话链接之前,还包括:
请求所述终端设定后台下载所述下载文件的执行时段;
在所述服务器上建立下载所述下载文件的后台线程之前,还包括:
若获取到所述终端设定的所述执行时段,则当所述服务器的当前系统时间到达所述执行时段时,执行在所述服务器上建立下载所述下载文件的后台线程的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有下载请求处理程序,其特征在于,所述下载请求处理程序被至少一个处理器执行时,实现如权利要求1至5中任一项所述的下载请求处理方法的步骤。
7.一种处理设备,其特征在于,所述处理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的下载请求处理程序,所述处理器执行所述下载请求处理程序时实现如下步骤:
接收终端发起的下载请求;
判断所述下载请求所需的下载文件的大小是否超过预设阈值;
若所述下载请求所需的下载文件的大小超过预设阈值,则释放服务器与所述终端之间的当前会话链接;
在所述服务器上建立下载所述下载文件的后台线程;
通过所述后台线程下载并缓存所述下载文件;
将已下载完成的消息通知给所述终端,以使所述终端重新建立与所述服务器之间的新的会话链接并获取所述缓存中的所述下载文件。
8.根据权利要求7所述的处理设备,其特征在于,在所述服务器上建立下载所述下载文件的后台线程之前,还包括:
根据所述下载请求新建对应的待处理的下载任务;
获取所述服务器当前可用的内存量;
确定所述待处理的下载任务中预计内存使用量小于或等于所述当前可用的内存量的下载任务为可执行下载任务;
若所述可执行下载任务的数量未超过预设的数量阈值,则执行在所述服务器上建立下载所述下载文件的后台线程的步骤;
若所述可执行下载任务的数量超过预设的数量阈值,则计算各个所述可执行下载任务的优先级,然后根据优先级的先后顺序依次对各个所述可执行下载任务执行在所述服务器上建立下载所述下载文件的后台线程的步骤;
在所述服务器上建立下载所述下载文件的后台线程具体包括:在所述服务器上建立当前执行的所述可执行下载任务的后台线程。
9.根据权利要求8所述的处理设备,其特征在于,所述处理器执行所述下载请求处理程序时还包括:
在每建立一个所述后台线程之后,获取所述服务器当前可用的内存量;
判断下一个执行的所述可执行下载任务的预计内存使用量是否超过所述当前可用的内存量;
若下一个执行的所述可执行下载任务的预计内存使用量超过所述当前可用的内存量,则返回执行确定所述待处理的下载任务中预计内存使用量小于或等于所述当前可用的内存量的下载任务为可执行下载任务的步骤。
10.根据权利要求8或9所述的处理设备,其特征在于,所述计算各个所述可执行下载任务的优先级包括:
获取所述可执行下载任务对应下载请求的第一重要性数值,所述第一重要性数值由所述终端在发起下载请求之前预先设定;
根据所述第一重要性数值和预设的第一权重计算所述可执行下载任务的第一优先值;
根据所述可执行下载任务的预估消耗时长和预设的第二权重计算所述可执行下载任务的第二优先值;
根据各个所述可执行下载任务的第一优先值和第二优先值确定各个所述可执行下载任务的优先级,其中,第一优先值与所述优先级正相关,所述第二优先值与所述优先级负相关。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710282796.8A CN107689979B (zh) | 2017-04-26 | 2017-04-26 | 一种下载请求处理方法和处理设备 |
PCT/CN2018/074877 WO2018196459A1 (zh) | 2017-04-26 | 2018-01-31 | 一种下载请求处理方法、装置、处理设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710282796.8A CN107689979B (zh) | 2017-04-26 | 2017-04-26 | 一种下载请求处理方法和处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107689979A true CN107689979A (zh) | 2018-02-13 |
CN107689979B CN107689979B (zh) | 2019-12-13 |
Family
ID=61152386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710282796.8A Active CN107689979B (zh) | 2017-04-26 | 2017-04-26 | 一种下载请求处理方法和处理设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107689979B (zh) |
WO (1) | WO2018196459A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633133A (zh) * | 2018-06-21 | 2019-12-31 | 中兴通讯股份有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN114157655A (zh) * | 2021-11-26 | 2022-03-08 | 杭州安恒信息安全技术有限公司 | 任务下载方法、系统、计算机设备及可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420389A (zh) * | 2007-10-25 | 2009-04-29 | 中兴通讯股份有限公司 | 一种文件传送系统及方法 |
CN101873355A (zh) * | 2010-06-28 | 2010-10-27 | 深圳市迅雷网络技术有限公司 | 一种下载文件的方法、装置和系统 |
CN102368213B (zh) * | 2011-09-26 | 2014-08-13 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
CN103634386A (zh) * | 2013-11-22 | 2014-03-12 | 北京奇虎科技有限公司 | 一种客户端应用程序下载应用的方法及装置 |
CN105263181B (zh) * | 2015-09-14 | 2019-03-26 | Tcl移动通信科技(宁波)有限公司 | 一种移动终端基于wifi的文件下载方法及系统 |
CN105847118A (zh) * | 2016-04-01 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种带有大附件邮件的发送方法、装置及智能终端 |
CN106250061A (zh) * | 2016-08-12 | 2016-12-21 | 乐视控股(北京)有限公司 | 文件下载处理方法及装置 |
CN106445665B (zh) * | 2016-09-19 | 2019-11-15 | 武汉斗鱼网络科技有限公司 | 一种应用于android系统的系统文件下载方法及下载工具 |
-
2017
- 2017-04-26 CN CN201710282796.8A patent/CN107689979B/zh active Active
-
2018
- 2018-01-31 WO PCT/CN2018/074877 patent/WO2018196459A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633133A (zh) * | 2018-06-21 | 2019-12-31 | 中兴通讯股份有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN114157655A (zh) * | 2021-11-26 | 2022-03-08 | 杭州安恒信息安全技术有限公司 | 任务下载方法、系统、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018196459A1 (zh) | 2018-11-01 |
CN107689979B (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200104184A1 (en) | Accelerated resource allocation techniques | |
US11361000B2 (en) | Predictive and adaptive queue flushing for real-time data reconciliation between local and remote databases | |
CA3000422C (en) | Workflow service using state transfer | |
CN105190555B (zh) | 集中式任务调度 | |
CN108449410A (zh) | 一种云平台中消息管理方法、系统及相关装置 | |
CN104735095A (zh) | 一种云计算平台作业调度方法及装置 | |
CN100570566C (zh) | 一种异构多核间协调调度的方法及异构多核系统 | |
CN106547612A (zh) | 一种多任务处理方法及装置 | |
CN107682397A (zh) | 客户资源获取方法、装置、终端设备及存储介质 | |
CN103412786A (zh) | 一种高性能服务器架构系统及数据处理方法 | |
CN103078759B (zh) | 计算节点的管理方法及装置、系统 | |
CN109067890A (zh) | 一种基于docker容器的CDN节点边缘计算系统 | |
CN102752387B (zh) | 数据存储处理系统和数据存储处理方法 | |
CN106776998A (zh) | 一种数据库服务提供方法及服务器 | |
CN103793485A (zh) | 客户端基于缓存数据实现查询网络数据的方法 | |
CN110020266A (zh) | 存取图片的方法、装置及计算机可读存储介质、终端设备 | |
CN107766160A (zh) | 队列消息处理方法及终端设备 | |
CN104182282A (zh) | 一种服务器过载保护系统及方法 | |
EP2363998A1 (en) | Method, system and apparatus for managing push data transfers | |
CN107589990A (zh) | 一种基于线程池的数据通讯的方法及系统 | |
CN107689979A (zh) | 一种下载请求处理方法和处理设备 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
CN106331160A (zh) | 一种数据迁移方法及系统 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN110430142A (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 |