CN109981732A - 海量文件传输控制方法及装置 - Google Patents
海量文件传输控制方法及装置 Download PDFInfo
- Publication number
- CN109981732A CN109981732A CN201910123534.6A CN201910123534A CN109981732A CN 109981732 A CN109981732 A CN 109981732A CN 201910123534 A CN201910123534 A CN 201910123534A CN 109981732 A CN109981732 A CN 109981732A
- Authority
- CN
- China
- Prior art keywords
- transmission
- file
- task
- waiting task
- waiting
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- 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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种海量文件传输控制方法及装置,属于文件传输技术领域。所述海量文件传输控制方法包括:获取文件传输请求,并解析文件传输请求所对应的待传输文件的文件传输量;当文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列;监测在文件传输过程中传输等待任务队列中传输等待任务的剩余量,并根据剩余量和没被用于生成传输等待任务的待传输文件生成传输等待任务以更新传输等待任务队列。由此,通过对传输等待任务队列中的任务数量设置上限,并同时更新传输等待任务的数量,以限制传输等待任务对客户端的内存消耗的同时完成对海量文件的自动传输。
Description
技术领域
本发明涉及文件传输技术领域,具体地涉及一种海量文件传输控制方法及装置。
背景技术
互联网技术的革新为人们的现代生活带来了便利,尤其是人们可以从互联网下载文件或向互联网上传文件,例如人们可以从视频资源网站下载或上传视频文件,或者从云盘上传或下载文件。
目前在客户端执行文件传输任务,客户端响应于用户针对文件(文件夹)的选择操作,会持续遍历用户选择所有的文件(夹),然后每个文件生成一个下载任务进入等待队列,排队完成下载。
但是,本申请的发明人在实践本申请的过程中发现目前相关技术至少存在如下缺陷:在用户选择了待传输的文件后,客户端需要在文件遍历过程中生成一个对象,用于记录每个文件的信息,比如上传下载路径、下载进度等,这个对象将进入等待队列,占用一定的内存资源直到文件下载完成之后释放,其所导致的结果是内存资源使用数量将与用户选择文件数量成正比。示例性地,假如每个待传输的文件对象会占用内存资源1Kb,那么当用户选择百万量级文件进行诸如上传或下载的文件传输任务时,其会导致客户端内存资源的占用超过1Gb。因此,依照目前的文件传输方案,程序占用内存资源的消耗会随着待传输文件的量级增长而呈线性增长,而当用户需要对海量数据进行下载时,所生成的等待队列会耗尽***内存,导致无法再分配内存资源,从而使得程序无法正常工作甚至崩溃。
发明内容
本发明实施例的目的是提供一种海量文件传输控制方法及装置,用以至少解决目前相关技术中因在客户端传输海量文件时,等待任务队列对内存资源占用过大所导致的客户端故障问题。
为了实现上述目的,本发明实施例提供一种海量文件传输控制方法,包括:获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
可选的,在所述获取文件传输请求之后,该方法还包括:解析所述文件传输请求,以确定所述待传输文件的路径信息;存储所述路径信息,其中所述路径信息被用于生成所述传输等待任务。
可选的,所述存储所述路径信息包括:将所述路径信息存储至内存空间。
可选的,所述上限数量为所述第一传输阈值。
可选的,所述监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量从没被用于生成传输等待任务的所述待传输文件中生成传输等待任务以更新所述传输等待任务队列包括:当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
本发明实施例另一方面提供一种海量文件传输控制装置,包括:文件传输量解析单元,用于获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;任务队列生成单元,用于当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;任务队列更新单元,用于监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
可选的,该装置还包括:请求文件路径解析单元,用于在所述获取文件传输请求之后解析所述文件传输请求,以确定所述待传输文件的路径信息;文件路径存储单元,用于存储所述路径信息,其中所述路径信息被用于
可选的,所述上限数量为所述第一传输阈值。
可选的,所述任务队列更新单元还用于当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
本发明实施例又一方面提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时执行如上文所述的海量文件传输控制方法。
可选的,所述机器可读存储介质为网盘。
通过上述技术方案,在客户端收到文件传输请求时,首先通过文件传输量判断是否属于海量文件传输,并在确定是海量文件传输时,通过对传输等待任务队列中的任务数量设置上限,并在执行传输任务的同时更新传输等待任务队列,实现了在限制传输等待任务对客户端的内存消耗的同时完成对海量文件的自动传输,在保障客户端正常工作性能的前提下,还提高了客户端海量文件传输的用户体验。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例的海量文件传输控制方法的流程图;
图2是本发明一实施例的海量文件传输控制方法的执行流程原理图;
图3是本发明一实施例的海量文件传输控制装置的结构框图。
附图标记说明
30 海量文件传输控制装置 302 任务队列生成单元
301 文件传输量解析单元 303 任务队列更新单元
304 请求文件路径解析单元 305 文件路径存储单元
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
如图1所示,本发明一实施例的海量文件传输控制方法,包括:
S11、获取文件传输请求,并解析文件传输请求所对应的待传输文件的文件传输量。
关于本发明实施例方法的执行主体,其可以是客户端(例如电脑或手机等)中的各种处理器或控制器,通过执行海量文件传输控制方法以解决在目前客户端传输海量文件的过程中,因对应海量文件的等待任务队列中的等待任务过多所导致的客户端内存资源占用过大的问题。
其中,文件传输请求可以是对应于自客户端上传文件至云端的请求或从云端下载文件至客户端的请求,且都属于本发明的保护范围内。作为示例,当用户从客户端中选择文件进行上传,或者从云端选择文件进行下载等,并且文件类型也可以是诸如文档、电影、音乐等多样化的数据文件类型。
另外,文件传输量可以是表示用户所选择的待上传或待下载的文件总量,例如可以是通过遍历与文件传输请求相对应的所有文件,从而确定相应的文件总量。
S12、当文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中传输等待任务被用于等待执行以传输文件。
关于第一传输阈值的取值范围,其可以是表示用户所请求传输的文件数量是否是海量数据量,另外其还可以是指示等待任务不会影响到客户端正常工作的临界数量值;示例性地,第一传输阈值可以是通过预先估计或对应测试等待队列对内存的消耗,从而当待传输的文件达到第一传输阈值(能够被称为是海量文件传输)时应及时采取措施以限制对等待传输队列对客户端的内存消耗,从而保障客户端的正常使用。在本实施例中,可以是通过设置具有上限数量的传输等待任务的传输等待任务队列,并且该上限数量可以是小于或等于文件传输量的;作为示例,假如1个传输等待任务会消耗内存1Kb且上限数量为N,则可以保障传输等待任务队列对内存的消耗不会超过N*1Kb,由此实现消耗内存可控,避免了海量文件传输时所导致的内存激增的问题。
需说明的是,传输等待任务是被用于等待执行以传输文件,其是是不同于文件传输队列中正在传输的文件的,并且二者之间还可以是同时在客户端进行的,其中传输等待任务可以是被用于等待执行以上传文件或下载文件;作为示例,文件传输队列中可以有5个文件处于下载状态,而传输等待任务队列中有500多个下载等待任务,并且可以是在有文件下载完成之后,自动将传输等待队列中的文件添加至文件传输队列中进行下载。
在本实施例传输海量文件时,由于不是一次性针对用户对海量文件的传输请求而一次性生成对应的等待任务,所以就使得需要通过后续的等待任务队列更新操作以将在前几次尚未进行传输的文件添加至等待任务队列中。
S13、监测在文件传输过程中传输等待任务队列中传输等待任务的剩余量,并根据剩余量和没被用于生成传输等待任务的待传输文件生成传输等待任务以更新传输等待任务队列。
其中,在文件传输过程中,待传输文件会被下载或上传完成,相应地在传输等待任务队列中传输等待任务所对应的文件会被执行而进入下载或上传文件的状态,由此就会导致传输等待任务队列中传输等待任务的数量不断被消耗,并产生相应的传输等待任务的剩余量。在本实施例中,通过监测剩余量而利用尚未执行传输的文件以生成传输等待任务,保障了文件传输请求所对应的海量文件都会被响应执行。
在本发明实施例中,通过解析与文件传输请求相对应的文件传输量,并当确定文件传输为海量文件传输时,应用设限的传输等待任务队列并基于对等待任务剩余量监测而更新传输等待任务队列,从而实现了在完成传输海量文件的同时还能够保障传输等待任务队列不会占用客户端过多的内存,避免了在客户端进行海量文件传输任务时客户端内存过耗而崩溃的问题。
在一些实施方式中,生成传输等待任务的过程中需要待传输文件的路径信息,相应地,客户端可以是在接收到文件传输请求之后解析文件传输请求,以确定待传输文件的路径信息,其中,用户在选择待传输的文件时可以将文件所对应的路径信息也包括在文件传输请求中;存储路径信息,其中路径信息被用于生成传输等待任务。需说明的是,虽然存储了所有海量文件的路径信息,但在传输等待任务的更新过程中可以是分批次或连续多次调用路径信息而逐渐生成传输等待任务的。
其中,可以是将路径信息存储至各种存储区域,例如硬盘空间或内存空间;但是,由于路径信息存储量低故推荐可以是将路径信息存储至内存空间;相比之下,在等待队列达到一定数量时,将生成的多出的下载任务持久化到磁盘文件,并在等待队列中任务完成后再从磁盘文件中读取出来而进入等待队列以顺序完成下载,其内存资源虽然不会一直增长,也不会给用户提示,但是上传下载过程中需要不断读写磁盘,占用更多CPU资源,运行效率相对较低,对于上传/下载任务处理速度相对更慢。因此,推荐可以是将路径信息存储至内存空间,以便于在生成传输等待任务时能够快速调用,节约CPU资源,并提高任务处理效率。
在一些实施方式中,上限数量为第一传输阈值,也就是当判断所要传输的文件量为第一传输阈值或海量时,及时对传输等待任务队列中的任务量进行限制,以避免任务量持续激增而导致客户端的内存过耗。并且,将上限数量设为第一传输阈值,相比于将上限数量设为其他值更易于控制,从而节约了处理器资源。
在一些实施方式中,当剩余量小于预设定的第二传输阈值时,根据没被用于生成传输等待任务的待传输文件生成等待任务以更新传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至第一传输阈值,其中第一传输阈值大于或等于第二传输阈值。也就是,在文件传输的过程中,通过对文件传输过程下传输等待任务队列中的传输等待任务的数量或剩余量的监测而动态更新没被用于生成传输等待任务的所述待传输文件生成等待任务,从而保持同时存在的传输等待任务的数量动态维持在第一传输阈值以下,避免了对客户端内存资源的过耗。需说明的是,第一传输阈值可以是与第二传输阈值相同,相应地可以实现每消耗1个传输等待任务就可以利用未被利用生成传输等待任务的1个待传输文件重新生成传输等待任务;另外,第一传输阈值也可以是大于第二传输阈值,示例性地可以实现每消耗5个传输等待任务就可以利用未被利用生成传输等待任务的5个待传输文件重新生成传输等待任务,以实现传输等待任务队列中任务数量的动态恒定。
在本申请的发明人在实践本申请的过程中还将本申请的实施例与一些其他对比实施方式(其可被视为对比例)进行了比较,发现本申请的在传输性能和用户体验上要明显优于如下所描述的其他对比实施方式。具体的,该其他对比实施方式可以是:当用户点击下载文件(夹)时,遍历用户选择文件(夹),每个文件生成一个下载任务进入等待队列,当等待队列达到一定数量时,提示用户任务选择任务过多;因此,对等待队列中的对象数量限制到一个最大值N,当达到N时不再生成对象,并对用户提示,这样虽然保障了占用内存资源不超过N*1Kb,但当待传输文件的数量超过N时,其需要人们对待传输的文件进行多次选择,严重影响了用户的文件传输体验。
如图2,其所示出的是本发明一实施例的海量文件传输控制方法的原理流程,其能够有效地完成针对海量文件的上传或下载的传输任务,且能够实现文件传输程序所占用的客户端的内存资源不会持续增长,并还保证功能完整和高效率的同时也不会打扰用户,提高用户的文件传输体验。具体包括以下流程:
1)用户点击海量文件(夹)开启上传下载。
2)客户端程序不断生成文件上传下载任务放入等待队列,直到等待对列中任务数目超过N。
其中,当用户发起文件上传/下载操作时,客户端分批次生成上传/下载任务,当待传输的文件的数量是海量时,其会导致等待队列中任务数量达到上限数量N时,此时客户端暂停生成上传/下载任务,并在客户端生成传输等待任务的同时,持续进行文件的上传/下载,以对上传/下载任务进行消耗;并且,每完成一个文件的上传/下载,在等待队列中就会减少一个上传/下载任务。
3)客户端程序不断上传下载文件,文件完成后从队列中移除任务,当等待对列中任务数目小于N时,触发上述的步骤2)。
其中,当等待队列中上传/下载任务小于N时,客户端恢复生成上传/下载任务,直到等待队列中任务数量超过一定数目N暂停生成,如此循环周而复始,文件被不断地调用以进行上传/下载,因此上传/下载任务分批次的生成和被消耗;假设每个任务对象占用内存资源1Kb,这种方案可以保证内存资源占用保持在N*1Kb,而不是持续增长。
在一些应用场景下,通过实践本发明实施例的技术方案,其既会保持正在下载的任务数目为有限个,也会保持等待队列中的未下载任务数为有限个,比如添加了5万个文件下载任务,可以是只会有5个文件在下载,且1万个在等待队列,其余的未生成传输等待任务(不占内存),这样可以使程序内存不会暴增。
因此,当用户点击上传/下载一批文件时,这些文件的文件信息和存储路径是被存储的,但是执行任务的时候,客户端可以是分批次去调用这些存储路径来生成下载等待任务,而不是一次性地根据所有的文件路径生成下载等待任务。
本发明一实施例还提供一网盘,其用于执行如上所述的海量文件传输控制方法。其中,该网盘可以是安装有网盘程序的客户端,以通过网盘程序上传/下载文件。关于本发明实施例的网盘的更多的细节可以参照上文针对海量文件传输控制方法实施例的描述,并取得与上述海量文件传输控制方法实施例相同或相应的技术效果,故在此便不赘述。
另外,由于目前网盘在上传文件的过程中,若文件被其他程序占用了,是无法对该文件进行继续上传的功能的,其原因在于目前需要依据该文件生成上传等待任务;相比之下,采用了本发明实施例所提供的网盘之后,其可以分批次上传文件,实现了在海量文件传输过程中可以是对还未被加入上传等候任务队列的文件依然是处于释放状态,也就是说,文件进入网盘的上传等待队列前不会被占用,可以被别的程序(例如Office等)继续使用,提高了海量文件传输的用户体验。
如图3所示,本发明一实施例的海量文件传输控制装置30,包括:文件传输量解析单元301,用于获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;任务队列生成单元302,用于当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;任务队列更新单元303,用于监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
在一些实施方式中,该装置30还包括:请求文件路径解析单元304,用于在所述获取文件传输请求之后解析所述文件传输请求,以确定所述待传输文件的路径信息;文件路径存储单元305,用于存储所述路径信息,其中所述路径信息被用于
在一些实施方式中,所述上限数量为所述第一传输阈值。
在一些实施方式中,所述任务队列更新单元303还用于当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
关于本发明实施例的海量文件传输控制装置的更多的细节可以参照上文针对海量文件传输控制方法实施例的描述,并取得与上述海量文件传输控制方法实施例相同或相应的技术效果,故在此便不赘述。
所述海量文件传输控制装置包括处理器和存储器,上述文件传输量解析单元、任务队列生成单元、任务队列更新单元、请求文件路径解析单元和文件路径存储单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现通过对传输等待任务队列中的任务数量设置上限,并同时更新传输等待任务的数量,以限制传输任务对客户端的内存消耗。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现所述海量文件传输控制方法。
可选的,所述机器可读存储介质为网盘。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述海量文件传输控制方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
一种海量文件传输控制方法,包括:获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
在一些实施方式中,在所述获取文件传输请求之后,该方法还包括:解析所述文件传输请求,以确定所述待传输文件的路径信息;存储所述路径信息,其中所述路径信息被用于生成所述传输等待任务。
在一些实施方式中,所述存储所述路径信息包括:将所述路径信息存储至内存空间。
在一些实施方式中,所述上限数量为所述第一传输阈值。
在一些实施方式中,所述监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量从没被用于生成传输等待任务的所述待传输文件中生成传输等待任务以更新所述传输等待任务队列包括:当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
一种海量文件传输控制方法,包括:获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
在一些实施方式中,在所述获取文件传输请求之后,该方法还包括:解析所述文件传输请求,以确定所述待传输文件的路径信息;存储所述路径信息,其中所述路径信息被用于生成所述传输等待任务。
在一些实施方式中,所述存储所述路径信息包括:将所述路径信息存储至内存空间。
在一些实施方式中,所述上限数量为所述第一传输阈值。
在一些实施方式中,所述监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量从没被用于生成传输等待任务的所述待传输文件中生成传输等待任务以更新所述传输等待任务队列包括:当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种海量文件传输控制方法,包括:
获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;
当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;
监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
2.根据权利要求1所述的方法,其特征在于,在所述获取文件传输请求之后,该方法还包括:
解析所述文件传输请求,以确定所述待传输文件的路径信息;
存储所述路径信息,其中所述路径信息被用于生成所述传输等待任务。
3.根据权利要求2所述的方法,其特征在于,所述存储所述路径信息包括:将所述路径信息存储至内存空间。
4.根据权利要求1所述的方法,其特征在于,所述上限数量为所述第一传输阈值。
5.根据权利要求4所述的方法,其特征在于,所述监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量从没被用于生成传输等待任务的所述待传输文件中生成传输等待任务以更新所述传输等待任务队列包括:
当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
6.一种海量文件传输控制装置,包括:
文件传输量解析单元,用于获取文件传输请求,并解析所述文件传输请求所对应的待传输文件的文件传输量;
任务队列生成单元,用于当所述文件传输量大于或等于预设的第一传输阈值时,生成具有上限数量的传输等待任务的传输等待任务队列,其中所述传输等待任务被用于等待执行以传输文件;
任务队列更新单元,用于监测在文件传输过程中所述传输等待任务队列中传输等待任务的剩余量,并根据所述剩余量和没被用于生成传输等待任务的所述待传输文件生成传输等待任务以更新所述传输等待任务队列。
7.根据权利要求6所述的装置,其特征在于,该装置还包括:
请求文件路径解析单元,用于在所述获取文件传输请求之后解析所述文件传输请求,以确定所述待传输文件的路径信息;
文件路径存储单元,用于存储所述路径信息,其中所述路径信息被用于生成所述传输等待任务。
8.根据权利要求6所述的装置,其特征在于,所述上限数量为所述第一传输阈值。
9.根据权利要求8所述的装置,其特征在于,所述任务队列更新单元还用于当所述剩余量小于预设定的第二传输阈值时,根据所述没被用于生成传输等待任务的所述待传输文件生成等待任务以更新所述传输等待任务队列,以使得经更新的传输等待任务队列中传输等待任务的数量恢复至所述第一传输阈值,其中所述第一传输阈值大于或等于所述第二传输阈值。
10.一种机器可读存储介质,其上存储有程序,该程序被处理器执行时执行如权利要求1-5中任一项所述的海量文件传输控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910123534.6A CN109981732A (zh) | 2019-02-18 | 2019-02-18 | 海量文件传输控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910123534.6A CN109981732A (zh) | 2019-02-18 | 2019-02-18 | 海量文件传输控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109981732A true CN109981732A (zh) | 2019-07-05 |
Family
ID=67077114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910123534.6A Pending CN109981732A (zh) | 2019-02-18 | 2019-02-18 | 海量文件传输控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981732A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556128A (zh) * | 2020-04-24 | 2020-08-18 | 深圳警翼软件技术有限公司 | 一种数据传输方法和*** |
CN111639902A (zh) * | 2020-04-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 基于kafka的数据审核方法、控制装置及计算机设备、存储介质 |
CN112738270A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种文件传输方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118359A (zh) * | 2011-11-17 | 2013-05-22 | 中兴通讯股份有限公司 | 基站设备自愈的实现方法及装置 |
CN105354049A (zh) * | 2015-09-29 | 2016-02-24 | 北京畅游天下网络技术有限公司 | 一种三维动画引擎的资源加载方法、装置及*** |
CN106709010A (zh) * | 2016-12-26 | 2017-05-24 | 上海斐讯数据通信技术有限公司 | 一种基于海量小文件高效上传hdfs的方法及*** |
CN107689976A (zh) * | 2016-08-05 | 2018-02-13 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
-
2019
- 2019-02-18 CN CN201910123534.6A patent/CN109981732A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118359A (zh) * | 2011-11-17 | 2013-05-22 | 中兴通讯股份有限公司 | 基站设备自愈的实现方法及装置 |
CN105354049A (zh) * | 2015-09-29 | 2016-02-24 | 北京畅游天下网络技术有限公司 | 一种三维动画引擎的资源加载方法、装置及*** |
CN107689976A (zh) * | 2016-08-05 | 2018-02-13 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
CN106709010A (zh) * | 2016-12-26 | 2017-05-24 | 上海斐讯数据通信技术有限公司 | 一种基于海量小文件高效上传hdfs的方法及*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556128A (zh) * | 2020-04-24 | 2020-08-18 | 深圳警翼软件技术有限公司 | 一种数据传输方法和*** |
CN111556128B (zh) * | 2020-04-24 | 2023-04-07 | 深圳警翼软件技术有限公司 | 一种数据传输方法和*** |
CN111639902A (zh) * | 2020-04-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 基于kafka的数据审核方法、控制装置及计算机设备、存储介质 |
CN112738270A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种文件传输方法、装置、设备及存储介质 |
CN112738270B (zh) * | 2021-01-07 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种文件传输方法、装置、设备及存储介质 |
US11792258B1 (en) | 2021-01-07 | 2023-10-17 | Inspur Suzhou Intelligent Technology Co., Ltd. | File transmission method and apparatus, device, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11601512B2 (en) | System and method for throttling service requests having non-uniform workloads | |
JP7189997B2 (ja) | 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット | |
US8424007B1 (en) | Prioritizing tasks from virtual machines | |
CN104778074B (zh) | 一种计算任务处理方法及装置 | |
US8510528B2 (en) | Differential data storage based on predicted access frequency | |
US10893120B2 (en) | Data caching and data-aware placement to accelerate machine learning applications | |
US20200219028A1 (en) | Systems, methods, and media for distributing database queries across a metered virtual network | |
US20070250835A1 (en) | Grid Computing System, Information Processing Apparatus, Job Execution Request Generating Apparatus, Control Method, and Recording Medium | |
CN108228672A (zh) | 一种元数据迁移方法、装置、***及设备 | |
CN109981732A (zh) | 海量文件传输控制方法及装置 | |
US9772958B2 (en) | Methods and apparatus to control generation of memory access requests | |
US20100083272A1 (en) | Managing pools of dynamic resources | |
Song et al. | A two-stage approach for task and resource management in multimedia cloud environment | |
CN110187835A (zh) | 用于管理访问请求的方法、装置、设备和存储介质 | |
CN110018781B (zh) | 磁盘流控方法、装置以及电子设备 | |
US20130205141A1 (en) | Quality of Service Targets in Multicore Processors | |
Baresi et al. | Fine-grained dynamic resource allocation for big-data applications | |
CN111917867A (zh) | 上传Web文件的方法及装置 | |
CN106657182A (zh) | 云端文件处理方法和装置 | |
Phani Praveen et al. | An optimized rendering solution for ranking heterogeneous VM instances | |
CN111562883B (zh) | 固态硬盘的缓存管理***、方法、装置 | |
CN104281587B (zh) | 一种建立连接的方法及装置 | |
CN111338803A (zh) | 一种线程处理方法和装置 | |
CN108268316A (zh) | 作业调度的方法及装置 | |
CN116737370A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |
|
RJ01 | Rejection of invention patent application after publication |