具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述。
在本公开的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。.
图1示出根据本公开一实施方式的文件传输调度方法的流程图。该方法可以包括步骤S101、S102、S103和S104。
在步骤S101中,根据文件传输服务器的最大连接数和预设时间段计算时间片。
在步骤S102中,确定长度与预设时间段相同的目标时间段内的全部文件传输任务的总耗时。
在步骤S103中,确定总耗时与时间片之间的关系。
在步骤S104中,根据总耗时与时间片之间的关系的确定结果对目标时间段内的全部文件传输任务进行调度。
在本公开的一个实施例中,时间片可以是预设时间段内的最大总任务执行时长,即,预设时间段内的总服务时间。在一个实施例中,当预设时间段是T,并且文件传输服务器的最大连接数是N时,该文件传输服务器的时间片为N*T。例如,当预设时间段是5分钟,并且文件传输服务器的最大连接数是6时,时间片为6*5*60(秒)=1800秒。本领域技术人员可以理解,时间片的单位为秒仅仅是示例,实际应用中时间片可以采用毫秒、分钟等各种单位。
在本公开的一个实施例中,确定长度与预设时间段相同的目标时间段内的全部文件传输任务的总耗时指的是对目标时间段内的每一个文件传输任务的耗时相加之和。在一个实施例中,目标时间段内的全部文件传输任务的总耗时
其中,m为目标时间段内的全部文件传输任务的数量,f(i)为第i个文件传输任务的耗时。
在本公开的一个实施例中,确定所述总耗时与所述时间片之间的关系指的是对时间片与目标时间段内的全部文件传输任务的总耗时进行比较,并且可以根据二者的关系,即比较结果,对目标时间段内的全部文件传输任务进行调度。文件传输任务的调度指的是对目标时间段内的全部文件的传输任务是否执行、执行时间等进行调度。
在本公开实施方式中,通过根据文件传输服务器的最大连接数和预设时间段计算时间片;确定长度与预设时间段相同的目标时间段内的全部文件传输任务的总耗时;确定总耗时与时间片之间的关系;根据总耗时与时间片之间的关系的确定结果对目标时间段内的全部文件传输任务进行调度,可以通过对时间片的计算以及文件传输任务的调度来减少对文件传输服务器的无效访问,避免或减少因文件传输服务器的连接数限制而发生的不必要重试,从而增加文件传输服务器的连接资源的使用效率,改善用户体验。
以下,根据所述总耗时与所述时间片之间的不同关系的实施例来说明如何对目标时间段内的全部文件传输任务进行调度。
首先,说明总耗时大于时间片的情况下如何进行调度。
在本公开的一个实施例中,步骤S104包括:根据总耗时大于时间片的确定结果,将目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于时间片的文件传输任务调度到目标时间段内执行,并且将目标时间段内的全部文件传输任务中的其余文件传输任务延迟到目标时间段之后的时间段内执行。
在一个实施例中,当目标时间段内的全部文件传输任务的总耗时大于文件传输服务器的时间片,即,F>N*T时,文件传输服务器在目标时间段内的总服务时间不满足当前全部(例如,m个)文件传输任务所需要的时间。这时,可通过延迟部分低优先级传输任务到目标时间段之后的时间段。即,由于与目标时间段对应的时间片无法满足该目标时间段内全部文件传输任务的执行,因此将能够在与目标时间段对应的时间片内执行的文件传输任务继续在该目标时间段内执行,并且将该目标时间段内的其余文件传输任务调度到与该目标时间段之后的时间段对应的时间片,例如,与该目标时间段之后的下一个或多个时间段对应的时间片内执行。在某些情况下,如果目标时间段内的全部文件传输任务过多,可能需要与目标时间段之后的多个时间段对应的时间片来完成外部文件传输任务。因此,减少目标时间段内对文件传输服务器的文件传输任务的服务时间的需求,可以保证该目标时间段对应的时间片内的传输任务可以不受文件传输服务器的连接数限制。
图2示出根据本公开一实施方式的文件传输调度方法的中的一个实施例中对文件传输任务进行调度的步骤的示例的流程图。图2示出了图1中的步骤S104的一个实施例中对文件传输任务进行调度的步骤的示例。
在如图2所示的实施例中,根据总耗时大于时间片的确定结果,将目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于时间片的文件传输任务调度到目标时间段内执行,并且将目标时间段内的全部文件传输任务中的其余文件传输任务延迟到目标时间段之后的时间段内执行,包括步骤S201和S202。
在步骤S201中,确定目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于时间片的文件传输任务数与最大连接数之间的关系。
在步骤S202中,根据目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于时间片的文件传输任务数大于最大连接数的确定结果,将目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于时间片的文件传输任务中数目等于最大连接数且优先级最高的文件传输任务调度为在先执行,并且将目标时间段内的全部文件传输任务中除在先执行的文件传输任务之外的其余文件传输任务调度为在后执行。
在本公开的一个实施例中,可以根据各种方式确定文件传输任务的优先级。在本公开的一个实施例中,文件传输任务的优先级是根据文件传输任务的时限(或称为时效性)确定的。例如,可以根据预设的优先顺序确定优先级。在另一实施例中,还可以对文件传输任务的优先级进行调整。
在一个示例中,在根据文件传输任务的时效性确定优先级的实施例中,可以将实时文件传输任务设置为最高优先级,将需要在较短的固定时间内(例如,2小时内)完成的文件传输任务设置为中优先级,并且将较长的固定时间内(例如,24小时内)完成的文件传输任务设置为低优先级。本领域技术人员可以理解,此处文件传输任务的优先级的设置方式仅仅是示例,可以为文件传输任务设置更多的优先级,也可以根据不同的条件设置文件传输任务的优先级。在本公开的一个实施例中,文件传输任务的时限越临近文件传输任务的截止时间优先级越高。
在本公开的一个实施例中,延迟到目标时间段之后的时间段内执行的文件传输任务的优先级相较于该文件传输任务在目标时间段中的优先级提升。在一个示例中,全部文件传输任务的优先级可以动态调整。例如,如果与目标时间段内的文件传输任务无法在与目标时间段对应的时间片内完成,则会降级(延迟)到下一个时间片执行。那么,在下一个时间片内,所述无法在与目标时间段对应的时间片内完成的文件传输任务的优先级提升。以此类推,截至为该文件传输任务所设置的时间限制,离截至时间越近,该文件传输任务的优先级提升得越高。
在本公开的一个实施例中,如果目标时间段内所要执行的全部文件传输任务的总耗时大于时间片,则需要将目标时间段内的全部文件传输任务拆分开,仅在与目标时间段对应的时间片内执行总耗时不超过时间片的文件传输任务。在此情况下,要先执行优先级最高的文件传输任务,同时,由于文件传输服务器的最大连接数限制,同一时刻最多只能执行数量不超过最大连接数的文件传输任务。而且,将目标时间段内的全部文件传输任务中除在先执行的文件传输任务之外的其余文件传输任务调度为在后执行,即,在与目标时间段之后的时间段对应的时间片内执行。在此情况下,即使在目标时间段由于各种原因导致无法执行全部文件传输任务,也可以按照文件传输任务的优先级在后续的时间段内执行。因此,可以避免或减少因文件传输服务器的连接数限制而发生的不必要重试,增加文件传输服务器的连接资源的使用效率,改善用户体验。
图3示出根据本公开一实施方式的文件传输调度方法的步骤S104的示例的流程图。如图3所示,步骤S104包括步骤S301和S302。
在步骤S301中,根据总耗时小于或等于时间片的确定结果,确定目标时间段内的全部文件传输任务数与所述最大连接数之间的关系。
在步骤S302中,根据目标时间段内的全部文件传输任务数大于最大连接数的确定结果,将目标时间段内的全部文件传输任务中数目等于最大连接数且优先级最高的文件传输任务调度为在先执行,并且将目标时间段内的全部文件传输任务中的其余文件传输任务调度为在后执行。
在本公开的一个实施例中,当目标时间段内的全部文件传输任务的总耗时小于或等于时间片,即,F≤N*T时,可以认为在时间片内可以完成全部文件传输任务。在此情况下,需要确认目标时间段内的全部文件传输任务数与所述最大连接数。当目标时间段内的全部文件传输任务数大于最大连接数,即,m>N时,需要先执行m个文件传输任务中的N个优先级高的文件传输任务。待N个优先级高的文件传输任务中有文件传输任务完成时,再陆续发起其余的m-N个文件传输任务。即,将目标时间段内的全部文件传输任务中数目等于最大连接数且优先级最高的文件传输任务调度为在先执行,并且将目标时间段内的全部文件传输任务中的其余文件传输任务调度为在后执行。因此,可以避免或减少因文件传输服务器的连接数限制而发生的不必要重试,增加文件传输服务器的连接资源的使用效率,改善用户体验。
在本公开的一个实施例中,步骤S104包括:当目标时间段内的全部文件传输任务未在目标时间段内全部完成时,将目标时间段内未被完成的文件传输任务延迟到目标时间段之后的时间段内执行。
在本公开的一个实施例中,可能由于各种原因导致目标时间段内的全部文件传输任务未在目标时间段内全部完成,例如,可能是因为目标时间段内的全部文件传输任务量过大,也可能是因为服务器的文件传输速率变化,等等。只要出现目标时间段内的全部文件传输任务未在目标时间段内全部完成,都可以将未完成的任务延迟到目标时间段之后的时间段内执行,即,延迟到与目标时间段之后的时间段对应的时间片内完成。因此,可以避免或减少因文件传输服务器的连接数限制而发生的不必要重试,增加文件传输服务器的连接资源的使用效率,改善用户体验。
在本公开的一个实施例中,当目标时间段内的全部文件传输任务的总耗时小于或等于时间片,即,F≤N*T时,可以认为在时间片内可以完成全部文件传输任务。在此情况下,步骤S104包括:根据目标时间段内的全部文件传输任务数小于或等于最大连接数的确定结果,执行目标时间段内的全部文件传输任务。
在本公开的一个实施例中,当目标时间段内的全部文件传输任务数小于或等于最大连接数,即,m≤N时,在与目标时间段对应的时间片内,文件传输服务器的最大连接数以及服务时间足够文件传输任务使用,因此,可以直接执行全部m个文件传输任务。
在本公开的一个实施例中,步骤S102可以包括:根据历史文件传输任务中的所传输的文件大小和耗时,确定长度与预设时间段相同的目标时间段内的全部文件传输任务的总耗时。
在本公开的一个实施例中,可以根据史文件传输任务中的所传输的文件大小和耗时的历史记录来确定目标时间段内的全部文件传输任务的总耗时,这样可以较准确地对目标时间段内全部文件传输任务的耗时进行预测。在本公开的另一个实施例中,可以根据文件传输服务器的预设传输速率值来对目标时间段内全部文件传输任务的耗时进行预测。本领域技术人员可以理解,根据需要,可以采用各种方式来对目标时间段内全部文件传输任务的耗时进行预测。
图5示出根据本公开一实施方式的文件传输调度方法的应用场景示例的示意图。
如图5所示,以5分钟作为预设时间段。获取目标时间段为当前的5分钟以内的传输任务。根据文件传输服务器的最大连接数和预设时间段(5分钟)计算时间片。根据历史传输任务的结果(文件大小+耗时)预测下一个文件的传输时间。确定文件传输预计总耗时是否大于sftp(安全文件传输协议)的最大服务时间,即时间片。当文件传输预计总耗时大于sftp的最大服务时间时,保证高优先级传输任务执行,并且将低优先级任务安排至下一个时间片,并提高优先级。如图所示,在与目标时间段的下一个时间段对应的时间片内执行上一个时间片未被完成的文件传输任务。因此,可以在下一个时间片提取5分钟以内的传输任务+上一个时间片遗留的任务。
在如图5所示的一个实施例中,当文件传输预计总耗时小于或等于sftp的最大服务时间时,确定文件传输任务个数是否大于sftp的最大连接数。当文件传输任务个数大于sftp的最大连接数时,先发起sftp最大连接数个数的文件传输任务;并且等有传输任务成功后,再发起后面的任务。当文件传输任务个数小于或等于sftp的最大连接数时,直接发起文件传输任务。
在如图5所示的文件传输调度方法的应用场景中,调度任务和文件传输耗时统计任务一直在执行过程中。
图4示出根据本公开另一实施方式的文件传输调度装置的结构框图。该装置可以包括计算模块401、第一确定模块402、第二确定模块403和调度模块404。
计算模块401被配置为根据文件传输服务器的最大连接数和预设时间段计算时间片。
第一确定模块402被配置为确定长度与所述预设时间段相同的目标时间段内的全部文件传输任务的总耗时。
第二确定模块403被配置为确定所述总耗时与所述时间片之间的关系。
调度模块404被配置为根据所述总耗时与所述时间片之间的关系的确定结果对所述目标时间段内的全部文件传输任务进行调度。
以上描述了文本内容标识装置的内部功能和结构,在一个可能的设计中,该文本内容标识装置的结构可实现为文本内容标识设备,如图6中所示,该处理设备600可以包括处理器601以及存储器602。
所述存储器602用于存储支持文本内容标识装置执行上述任一实施例中文本内容标识方法的程序,所述处理器601被配置为用于执行所述存储器602中存储的程序。
所述存储器602用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器601执行以实现以下步骤:
根据文件传输服务器的最大连接数和预设时间段计算时间片;
确定长度与所述预设时间段相同的目标时间段内的全部文件传输任务的总耗时;
确定所述总耗时与所述时间片之间的关系;
根据所述总耗时与所述时间片之间的关系的确定结果对所述目标时间段内的全部文件传输任务进行调度。
在本公开的一个实施例中,所述根据所述总耗时与所述时间片之间的关系的确定结果对所述目标时间段内的全部文件传输任务进行调度,包括:
根据所述总耗时大于所述时间片的确定结果,将所述目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于所述时间片的文件传输任务调度到所述目标时间段内执行,并且将所述目标时间段内的全部文件传输任务中的其余文件传输任务延迟到所述目标时间段之后的时间段内执行。
在本公开的一个实施例中,所述根据所述总耗时大于所述时间片的确定结果,将所述目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于所述时间片的文件传输任务调度到所述目标时间段内执行,并且将所述目标时间段内的全部文件传输任务中的其余文件传输任务延迟到所述目标时间段之后的时间段内执行,包括:
确定所述目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于所述时间片的文件传输任务数与所述最大连接数之间的关系;
根据所述目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于所述时间片的文件传输任务数大于所述最大连接数的确定结果,将所述目标时间段内的全部文件传输任务中优先级最高且耗时之和小于或等于所述时间片的文件传输任务中数目等于所述最大连接数且优先级最高的文件传输任务调度为在先执行,并且将所述目标时间段内的全部文件传输任务中除在先执行的文件传输任务之外的其余文件传输任务调度为在后执行。
在本公开的一个实施例中,所述根据所述总耗时与所述时间片之间的关系的确定结果对所述目标时间段内的全部文件传输任务进行调度,包括:
根据所述总耗时小于或等于所述时间片的确定结果,确定所述目标时间段内的全部文件传输任务数与所述最大连接数之间的关系;
根据所述目标时间段内的全部文件传输任务数大于所述最大连接数的确定结果,将所述目标时间段内的全部文件传输任务中数目等于所述最大连接数且优先级最高的文件传输任务调度为在先执行,并且将所述目标时间段内的全部文件传输任务中的其余文件传输任务调度为在后执行。
在本公开的一个实施例中,所述根据所述总耗时与所述时间片之间的关系的确定结果对所述目标时间段内的全部文件传输任务进行调度,包括:
当所述目标时间段内的全部文件传输任务未在所述目标时间段内全部完成时,将所述目标时间段内未被完成的文件传输任务延迟到所述目标时间段之后的时间段内执行。
在本公开的一个实施例中,所述根据所述总耗时与所述时间片之间的关系的确定结果对所述目标时间段内的全部文件传输任务进行调度,包括:
根据所述目标时间段内的全部文件传输任务数小于或等于所述最大连接数的确定结果,执行所述目标时间段内的全部文件传输任务。
在本公开的一个实施例中,所述确定长度与所述预设时间段相同的目标时间段内的全部文件传输任务的总耗时,包括:
根据历史文件传输任务中的所传输的文件大小和耗时,确定长度与所述预设时间段相同的目标时间段内的全部文件传输任务的总耗时。
在本公开的一个实施例中,所述文件传输任务的优先级是根据所述文件传输任务的时限确定的。
在本公开的一个实施例中,延迟到所述目标时间段之后的时间段内执行的文件传输任务的优先级相较于该文件传输任务在所述目标时间段中的优先级提升。
在本公开的一个实施例中,所述文件传输任务的时限越临近所述文件传输任务的截止时间优先级越高。
所述处理器601用于执行前述各方法步骤中的全部或部分步骤。
其中,所述文本内容标识设备的结构中还可以包括通信接口,用于文本内容标识设备与其他设备或通信网络通信。
本公开示例性实施例还提供了一种计算机存储介质,用于储存所述文本内容标识装置所用的计算机软件指令,其包含用于执行上述任一实施例中文本内容标识方法所涉及的程序。
图7是适于用来实现根据本公开一实施方式的文本内容标识方法的计算机系统的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行上述图1所示的实施方式中的各种处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的数据处理方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,并且/或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。