CN118118472A - 服务器集群中资源下载速度控制方法、装置、设备及介质 - Google Patents
服务器集群中资源下载速度控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN118118472A CN118118472A CN202410364866.4A CN202410364866A CN118118472A CN 118118472 A CN118118472 A CN 118118472A CN 202410364866 A CN202410364866 A CN 202410364866A CN 118118472 A CN118118472 A CN 118118472A
- Authority
- CN
- China
- Prior art keywords
- downloading
- download
- resource
- service party
- task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 239000012634 fragment Substances 0.000 claims abstract description 88
- 238000005192 partition Methods 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 claims description 5
- 238000013467 fragmentation Methods 0.000 claims description 3
- 238000006062 fragmentation reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种服务器集群中资源下载速度控制方法、装置、设备及介质,涉及计算机技术领域,尤其涉及云手机技术领域。具体实现方案为:在完成对目标资源下载任务中当前资源分片的下载时,获取与当前资源分片对应的下载时间区间和实际下载耗时;回溯获取下载时间区间下,在服务器集群中执行的各伴随下载任务;根据与各伴随下载任务对应的伴随下载业务方、与目标资源下载任务对应的目标业务方和业务方的下载权重,计算与当前资源分片对应的理想下载耗时;如果实际下载耗时小于所述理想下载耗时,则等待理想下载耗时与实际下载耗时之间的差值时间后,执行对目标资源下载任务的下一资源分片的下载操作,本公开可以实现对下载资源的动态限速。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及云手机技术领域,具体涉及一种服务器集群中资源下载速度控制方法、服务器集群中资源下载速度控制装置、电子设备及非瞬时计算机可读存储介质。
背景技术
在云手机场景下,设备以机房维度进行管理,而诸如云手机文件上传、镜像文件更新等高频功能在实施时,需要首先将所需上传或更新的资源文件下载至机房服务器,再从机房服务器传输至云手机中。这些操作都对机房服务器资源下载的能力有着极高的要求。此时,机房服务器涉及大量公网资源的下载任务,受限于机房有限的带宽资源,容易出现下载带宽打满而导致资源下载任务拥堵情况的发生。
目前,机房服务器在实现资源下载时,会针对每个公网下载任务,使用HTTP(Hypertext Transfer Protocol,超文本传输协议)短链接的方式请求公网资源方的资源。针对下载带宽打满的场景,当前常用的技术手段有网络层静态限速或服务层静态限速等模式。但是,无论采用上述哪种静态限速模式,均无法有效满足多用户、海量下载任务的场景需求。
发明内容
本公开提供了一种用于服务器集群中资源下载速度控制方法、服务器集群中资源下载速度控制装置、电子设备及非瞬时计算机可读存储介质。
根据本公开的一方面,提供了一种服务器集群中资源下载速度控制方法,包括:
在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
根据本公开的另一方面,还提供了一种服务器集群中资源下载速度控制方法,包括:
在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小;
根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量;
根据所述分片数量,确定用于执行目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片;
并行触发每个线程,并在每个线程内,串行执行下述操作:
在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
根据本公开的另一方面,还提供了一种服务器集群中资源下载速度控制装置,包括:
实际下载信息获取模块,用于在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
伴随下载任务回溯模块,用于回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
理想下载耗时确定模块,用于根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
下载速度调整模块,用于如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
根据本公开的另一方面,还提供了一种服务器集群中资源下载速度控制装置,包括:
资源大小请求模块,用于在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小;
分片数量确定模块,用于根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量;
资源分片确定模块,用于根据所述分片数量,确定用于执行目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片;
并串执行触发模块,用于并行触发每个线程,并在每个线程内,触发串行执行模块的执行;
串行执行模块,用于串行执行:在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;如果所述实际下载耗时小于分所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
根据本公开的另一方面,还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本公开实施例任一项所述的服务器集群中资源下载速度控制方法。
根据本公开的另一方面,还一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据本公开实施例中任一项所述的服务器集群中资源下载速度控制方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种服务器集群中资源下载速度控制方法的示意图;
图2是根据本公开实施例提供的另一种服务器集群中资源下载速度控制方法的示意图;
图3是根据本公开实施例提供的又一种服务器集群中资源下载速度控制方法的示意图;
图4是根据本公开实施例提供的一种服务器集群中资源下载速度控制方法的示意图;
图5是根据本公开实施例提供的一种服务器集群中资源下载速度控制装置的结构图;
图6是根据本公开实施例提供的另一种服务器集群中资源下载速度控制装置的结构图;
图7是用来实现本公开实施例的一种服务器集群中资源下载速度控制方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1为本公开实施例提供的一种服务器集群中资源下载速度控制方法的示意图。本实施例可适用于在对目标资源中某一具体的资源分片的下载过程中,对该资源分片的下载速度进行动态限速的情况,该方法可以由服务器集群中资源下载速度控制装置来执行,该装置可以采用硬件和/或软件的形式实现,并一般可配置于服务器集群中用于执行资源下载任务的服务器中。如图1所示,该方法包括:
S110、在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时。
在本实施例中,当需要对一个具体的目标资源进行下载时,可以首先生成目标资源下载任务分配至服务器集群中的特定服务器,并由该服务器对该目标资源进行分片下载。
在具体的云手机场景中,如果一个客户想要实现将目标云手机文件上传至设定的云手机中,则会以该目标云手机文件为目标资源,构建得到相应的目标资源下载任务,以从资源服务器中下载目标资源至服务器集群,然后会以该服务器集群为中介,将该目标资源上传至相应的云手机。
相应的,该服务器可以通过使用服务器集群中的带宽资源,对目标资源下载任务中当前资源分片完成下载。在完成对当前资源分片的下载后,可以相应获取与所述当前资源分片对应的下载时间区间以及实际下载耗时。
其中,下载时间区间可以为[t1,t2],t1为当前资源分片的下载起始时间,t2为当前资源分片的下载结束时间,t2-t1为与当前资源分片对应的实际下载耗时,也即,下载该当前资源分片所实际耗费的时间。
S120、回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务。
可以理解的是,在确定出下载时间区间后,上述下载时间区间已经相当于是历史时间区间了,因此,可以通过回溯的方式,获取在该历史时间区间下,在该服务器集群中执行的全部伴随下载任务。其中,伴随下载任务可以理解为在该历史时间区间下执行的,除去该目标资源下载任务之外的其他下载任务。该伴随下载任务可以由服务器集群中的任一服务器(包含执行该目标资源下载任务的服务器)执行,本实施例对此并不进行限制。
需要再次说明的是,伴随下载任务只要在下载时间区间内处于下载状态即可,不需在该下载时间区间内完成下载。通过查询该伴随下载任务,可以整体掌握下载任务对服务器集群中总体带宽资源的占用情况。
具体的,可以预先在该服务器集群中的每个服务器上分别构建任务查询接口,用于查询服务器集群在设定时间区间内处于下载状态的全部下载任务。
S130、根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时。
在本实施例中,服务器集群中的每个下载任务均对应一个触发生成该下载任务的业务方。该业务方可以理解为目标资源的需求用户。或者,在云手机场景中,该业务方可以理解为用于提供云手机服务的第三方客户(例如,某一个具体的公司)。
在本实施例中,可以预先为每个业务方分别设置匹配的下载权重,上述下载权重可以根据业务方所布控的云手机数量相关,例如,一个业务方所布控的云手机数量越多,该业务方的下载权重越高。或者,上述下载权重还可以根据业务方在最近一段时间(例如,一周,15天或者一个月等)的需求下载量相关,例如,一个业务方在最近一段时间的需求下载量越高,该业务方的下载权重越高。或者,上述下载权重还可以根据业务方所提供的云手机应用类型相关,例如,如果一个业务方所提供的云手机应用为民生类应用,则可以为该业务方设置一个较高的下载权重。
在本实施例中,在获取每个伴随下载任务的业务方,也即伴随下载业务方,以及目标资源下载任务的业务方,也即目标业务方之后,可以结合各业务方的下载权重以及服务器集群中的全部可用带宽资源(此处也可以理解为服务器集群正常工作时所能支持的最大下载速度),首先评估出可以用于提供给目标业务方的带宽资源(也即,下载速度),最后,可以根据在该下载时间区间下与目标业务方对应的全部下载任务,在用于提供给目标业务方的下载速度中,确定出可以分配给目标资源下载任务的下载速度。
具体的,可以根据该下载时间区间下,目标业务方所执行的每个下载任务的优先级(例如,更新镜像文件的优先级高于云手机文件上传的优先级),目标业务方所执行的每个下载任务的需求下载数据量以及目标业务方所执行的每个下载任务的任务下发时间点等信息,共同确定出分配给目标资源下载任务的下载速度。例如,如果一个下载任务的优先级越高、需求下载数据量越大以及任务下发时间点越靠前,为其所分配的下载速度越高。
进而,可以根据该下载速度以及当前资源分片的数据量大小(也可以理解为分片大小),确定出与所述当前资源分片对应的理想下载耗时。
相应的,该理想下载耗时可以理解为充分考虑了多个业务方之间的带宽资源均衡,以及同一业务方下各下载任务之间的带宽均衡后,下载该当前资源分片所需的最适宜的耗时。
S140、如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
在本实施例中,如果实际下载耗时小于理想下载耗时,则说明下载该当前资源分片所耗费的服务器集群带宽资源,大于该当前资源分片理应占用的带宽资源,因此,如果不对该目标资源下载任务的下载速度进行约束,则会使得带宽资源的分配失衡,影响其他业务方或者该目标业务方的其他下载任务的下载性能。
相应的,本实施例会计算理想下载耗时与所述实际下载耗时之间的差值时间,并在空等待该差值时间后,继续执行对所述目标资源下载任务的下一资源分片的下载操作。通过上述设置,将当前资源分片的下载时间强制约束在理想下载耗时下,进而可以将当前资源分片所过多占用的下载速度,在该差值时间下返还给其他下载任务,以最大程度的保证服务器集群中带宽资源的均衡分配。
本公开实施例的技术方案通过在完成对目标资源下载任务中当前资源分片的下载时,获取与当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各伴随下载任务对应的伴随下载业务方、与目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与当前资源分片对应的理想下载耗时;如果实际下载耗时小于理想下载耗时,则等待理想下载耗时与实际下载耗时之间的差值时间后,执行对目标资源下载任务的下一资源分片的下载操作的技术手段,可以在多业务方、海量下载任务的场景中,以下载任务中的资源分片为最小单元进行有效的动态限速,最大程度的保证服务器集群中带宽资源的均衡分配,有效满足各业务方的资源下载需求。
图2为本公开实施例提供的另一种服务器集群中资源下载速度控制方法的示意图,本实施例以上述各实施例为基础进行优化,在本实施例中,具体对“根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时”的操作进行进一步细化。
相应的,如图2所示,所述方法具体可以包括:
S210、在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时。
S220、回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务。
S230、根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率。
在本实施例中,第一下载速度分配比率可以理解为:在服务器集群的全部带宽资源中,可以分配给目标业务方进行下载使用的带宽资源所占的比例值。
可选的,根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率,可以包括:
在各所述伴随下载任务中提取业务方标识,并将提取到的业务方标识进行去重处理,得到各所述伴随下载业务方;如果各所述伴随下载业务方中包含目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到所述下载时间区间下的业务方总权重;计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
具体的,考虑到下载任务随时业务方的资源下载需求应运而生,因此,可以在每个下载任务中携带有业务方标识,用于唯一标志一个业务方。相应的,在确定出全部伴随下载任务之后,通过在每个伴随下载任务中分别提取业务方标识,并对提取到的各业务方标识进行去重处理,可以最终得到该下载时间区间下所执行的各伴随下载任务所对应的全部伴随下载业务方。
进一步的,如果全部伴随下载业务方中包含有目标业务方,说明目标业务方在该下载时间区间下还具有其他的任务下载需求,此时,可以直接将各所述伴随下载业务方的下载权重进行累加求和,得到所述下载时间区间下的业务方总权重,并计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
在一个具体的例子中,假设目标业务方为业务方1,而全部伴随下载业务方为业务方1、业务方2以及业务方3。假设业务方1的下载权重为A1、业务方2的下载权重为A2以及业务方3的下载权重为A3,则第一下载速度分配比率为A1/(A1+A2+A3)。
通过上述设置,可以有效实现在同一时间区间下,服务器集群中的带宽资源可以在多个不同的业务方上实现均衡分配,避免出现一个或者少数几个业务方对集群带宽资源的绝对占用,以提高业务方的资源下载满意度。
在上述各实施例的基础上,在得到各所述伴随下载业务方之后,还可以包括:
如果各所述伴随下载业务方中不包含目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到累加结果;计算所述累加结果与所述目标业务方的下载权重之和,得到所述下载时间区间下的业务方总权重;计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
通过上述设置,可以进一步保证使用业务方数量,而不是业务方所下载任务的数量进行带宽资源的分配,以同时满足各业务方的资源下载需求。
在本可选实施方式中,如果全部伴随下载业务方中包含有目标业务方,说明目标业务方在该下载时间区间下不具有其他的任务下载需求,因此,在累加得到下载时间区间下的业务方总权重时,需要进一步加上该目标业务方的下载权重。
在另一个具体的例子中,假设目标业务方为业务方1,而全部伴随下载业务方为业务方2、业务方3以及业务方4。假设业务方1的下载权重为A1、业务方2的下载权重为A2、业务方3的下载权重为A3以及业务方4的下载权重为A4,则第一下载速度分配比率为A1/(A1+A2+A3+A4)。
S240、根据各所述伴随下载任务中隶属于目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率。
在本实施例中,第二下载速度分配比率可以理解为:在服务器集群分配给目标业务方进行下载使用的全部带宽资源中,可以分配给当前资源分片进行下载使用的带宽资源所占的比例值。
在本实施例的一个可选的实施方式中,根据各所述伴随下载任务中隶属于目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率,可以包括:
获取各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,并对所述下载任务数量进行加一处理,得到所述目标业务方在所述下载时间区间下的下载任务总量;计算所述下载任务总量的倒数,作为与所述当前资源分片对应的第二下载速度分配比率。
在本可选实施方式中,将目标业务方的所有下载任务都认定为重要程度一致的下载任务,进而,可以直接按照各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,确定第二下载速度分配比率。
具体的,如果该下载任务数量为5,则第二下载速度分配比率为1/(1+5)=1/6。
通过上述设置,可以实现将服务器集群分配给目标业务方进行下载使用的全部带宽资源,在隶属于目标业务方的全部下载任务中进行均分,保证上述带宽资源在全部下载任务中进行均衡分配,以同时满足同一业务方的不同下载任务的下载需求。
在本实施例的另一个可选的实施方式中,可以首先设置目标业务方中不同下载任务的任务权重,例如,可以根据前述的每个下载任务的优先级、需求下载数据量以及任务下发时间点中的一项或者多项,确定每个下载任务的任务权重,进而,结合任务权重,确定第二下载速度分配比率。
在一个具体例子中,各伴随下载任务中隶属于目标业务方的下载任务数量为2,分别为下载任务1和下载任务2,通过计算确定出下载任务1的任务权重为B1,下载任务2的任务权重为B2,而目标资源下载任务的任务权重为B3,则可以确定第二下载速度分配比率为B3/(B1+B2+B3)。
通过上述设置,实现了将服务器集群分配给目标业务方进行下载使用的全部带宽资源,按照不同下载任务的重要程度进行了一定的倾斜处理,以最大程度的满足重要下载任务的下载需求。
S250、根据第一下载速度分配比率、第二下载速度分配比率以及所述服务器集群的标准下载速度,计算与所述当前资源分片对应的理想下载速度。
具体的,可以将标准下载速度*第一下载速度分配比率*第二下载速度分配比率的结果,作为与所述当前资源分片对应的理想下载速度。
其中,该标准下载速度为服务器集群未达到资源带宽上限且可以提供最优下载性能时的最大集群下载速度。具体的,该理想下载速度可以根据经验或者实测结果确定,本实施例对此并不进行限制。
S260、根据所述理想下载速度,以及所述当前资源分片的分片大小,计算与所述当前资源分片对应的理想下载耗时。
在本实施例中,通过计算分片大小除以理想下载速度的计算结果,得到与所述当前资源分片对应的理想下载耗时。
S270、如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
本公开实施例的技术方案通过计算根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率;根据各所述伴随下载任务中隶属于目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率;根据第一下载速度分配比率、第二下载速度分配比率以及所述服务器集群的标准下载速度,计算与所述当前资源分片对应的理想下载速度;根据所述理想下载速度,以及所述当前资源分片的分片大小,计算与所述当前资源分片对应的理想下载耗时的技术手段,既可以避免服务器集群中同时有大量公网资源下载时造成带宽使用达上限(俗称带宽打满),最终造成下载拥堵和下载失败的问题,也可以避免在多业务方的下载资源共享时,在单一业务方下载资源需求激增时,影响其余所有业务方正常下载的问题,可以在多业务方、海量下载任务的场景中,最大程度的保证服务器集群中带宽资源的均衡分配。
图3是根据本公开实施例提供的又一种服务器集群中资源下载速度控制方法的示意图。本实施例以上述各实施例为技术进行优化,在本实施例中,具体对各业务方的下载权重确定过程进行了进一步细化。
相应的,如图3所述,所述方法具体可以包括:
S310、每当满足业务方下载权重更新条件时,获取与所述业务方下载权重更新条件匹配的历史监控时间。
其中,业务方下载权重更新条件可以理解为业务方的下载权重更新操作的触发条件。其可以为简单的时间触发条件,例如,每隔一个月或者两个月执行一次业务方的下载权重更新操作。或者,还可以实时获取各业务方的资源下载满意度,当有业务方的资源下载满意度低于预设的满意度阈值时,确定满足该业务方下载权重更新条件。
该历史监控时间为一段历史时间区间,其值可以根据实际情况进行预设,例如,以当前时间点为起点,向前回溯1个月或者2个月等。
S320、在所述历史监控时间下,收集各所述业务方在所述服务器集群中执行的各下载任务的数据下载总量。
S330、根据各所述业务方的数据下载总量,确定与各所述业务方对应的下载权重。
在本实施例中,可以将业务方在最近一段时间的数据下载总量作为确定业务方下载权重的依据,典型的,一个业务方的数据下载总量越大,该业务方的下载权重也越大。
通过上述设置,可以根据业务方的实际下载需求,对业务方的下载权重进行动态更新,以更加科学的方式实现服务器集群的带宽资源在多业务方之间进行均衡分配。
进一步的,还可以在确定业务方的下载权重时,考虑其他的因素。例如,在云手机应用场景中,可以进一步考虑业务方所布控的云手机数量,云手机数量越多,业务方的下载权重也越大,或者,还可以进一步考虑该业务方的云手机应用运营属性,例如,游戏类、民生类或者咨询类等,进而,可以根据该云手机应用运营属性,设置不同业务方的下载权重。
当然,本领域技术人员可以根据实际的应用场景,选择适宜的参考因素确定业务方的下载权重,本实施例对此并不进行限制。
S340、在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时。
S350、回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务。
S360、根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时。
S370、判断所述实际下载耗时是否小于所述理想下载耗时:若是,执行S380;否则,执行S390。
S380、等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
S390、直接执行对所述目标资源的下一资源分片的下载操作。
在本公开实施例中,如果确定实际下载耗时大于所述理想下载耗时,则说明在目标资源的当前资源分片的下载过程中,并未向该当前资源分片提供足够的带宽资源,进而,无需对上述下载过程进行限速,直接开启对所述目标资源的下一资源分片的下载操作即可。通过上述设置,可以进一步实现有效的动态限速过程,实现服务器集群中带宽资源的动态均衡。
本公开实施例的技术方案通过每当满足业务方下载权重更新条件时,获取与所述业务方下载权重更新条件匹配的历史监控时间;在所述历史监控时间下,收集各所述业务方在所述服务器集群中执行的各下载任务的数据下载总量;根据各所述业务方的数据下载总量,确定与各所述业务方对应的下载权重的实现方式,可以根据业务方的实际下载需求,对业务方的下载权重进行动态更新,以更加科学的方式实现服务器集群的带宽资源在多业务方之间进行均衡分配。
图4是本公开实施例提供的一种服务器集群中资源下载速度控制方法的示意图。本实施例可适用于在对目标资源下载任务的完整下载过程中,对整个目标资源下载任务的下载速度进行动态限速的情况,该方法可以由服务器集群中资源下载速度控制装置来执行,该装置可以采用硬件和/或软件的形式实现,并一般可配置于服务器集群中用于执行资源下载任务的服务器中。如图4所示,该方法包括:
S410、在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小。
在本实施例中,为了实现以资源分片为单位进行动态限速,在服务器接收到目标业务方触发生成的目标资源下载任务后,首先从存储该目标资源的资源服务器,请求目标资源的数据量大小,也即,资源文件总大小。
S420、根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量。
在本实施例中,可以预先设置一个固定的分片大小(当然,也可以动态确定分片大小),例如1M、2M或者10M等,并基于资源文件总大小除以分片大小的比值,确定对该目标资源的分片数量。
S430、根据所述分片数量,确定用于执行目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片。
可以理解的是,如果分片数量较少,则可以仅开启一个线程执行该目标资源下载任务;如果分片数量很多,则可以选择开启两个或者两个以上线程,共同执行该目标资源下载任务。
在一个具体的例子中,如果分片数量为20,则可以开启2个线程,线程1和线程2,将1-10号资源分片分配至线程1进行下载,将11-20号资源分片分配至线程2进行下载。
S440、并行触发每个线程,并在每个线程内,串行执行下述S450-S480。
在本实施例中,由于不同线程执行不同的资源分片下载任务,因此,可以通过并行执行的方式,控制每个线程的分别执行。并在每个线程内,通过串行执行的方式,实现在线程内每个资源分片下载过程中的动态限速过程。
S450、在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时。
S460、回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务。
S470、根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时。
S480、如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
本公开实施例的技术方案通过在完成对目标资源下载任务中当前资源分片的下载时,获取与当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各伴随下载任务对应的伴随下载业务方、与目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与当前资源分片对应的理想下载耗时;如果实际下载耗时小于理想下载耗时,则等待理想下载耗时与实际下载耗时之间的差值时间后,执行对目标资源下载任务的下一资源分片的下载操作的技术手段,可以在多业务方、海量下载任务的场景中,以下载任务中的资源分片为最小单元进行有效的动态限速,最大程度的保证服务器集群中带宽资源的均衡分配,有效满足各业务方的资源下载需求。
作为上述各服务器集群中资源下载速度控制方法的实现,本公开还提供了一种实施上述各服务器集群中资源下载速度控制方法的执行装置的可选实施例。
图5是根据本公开实施例提供的一种服务器集群中资源下载速度控制装置的结构图。如图5所示,该装置具体包括:实际下载信息获取模块510、伴随下载任务回溯模块520、理想下载耗时确定模块530以及下载速度调整模块540,其中:
实际下载信息获取模块510,用于在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
伴随下载任务回溯模块520,用于回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
理想下载耗时确定模块530,用于根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
下载速度调整模块540,用于如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
本公开实施例的技术方案通过在完成对目标资源下载任务中当前资源分片的下载时,获取与当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各伴随下载任务对应的伴随下载业务方、与目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与当前资源分片对应的理想下载耗时;如果实际下载耗时小于理想下载耗时,则等待理想下载耗时与实际下载耗时之间的差值时间后,执行对目标资源下载任务的下一资源分片的下载操作的技术手段,可以在多业务方、海量下载任务的场景中,以下载任务中的资源分片最小单元进行有效的动态限速,最大程度的保证服务器集群中带宽资源的均衡分配,有效满足各业务方的资源下载需求。
在上述各实施例的基础上,其中,理想下载耗时确定模块,包括:
第一比率计算单元,用于根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率;
第二比率计算单元,用于根据各所述伴随下载任务中隶属于目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率;
理想下载速度计算单元,用于根据第一下载速度分配比率、第二下载速度分配比率以及所述服务器集群的标准下载速度,计算与所述当前资源分片对应的理想下载速度;
理想下载耗时计算单元,用于根据所述理想下载速度,以及所述当前资源分片的分片大小,计算与所述当前资源分片对应的理想下载耗时。
在上述各实施例的基础上,其中,第一比率计算单元,具体用于:
在各所述伴随下载任务中提取业务方标识,并将提取到的业务方标识进行去重处理,得到各所述伴随下载业务方;
如果各所述伴随下载业务方中包含目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到所述下载时间区间下的业务方总权重;
计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
在上述各实施例的基础上,第一比率计算单元,进一步用于:
在得到各所述伴随下载业务方之后,如果各所述伴随下载业务方中不包含目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到累加结果;
计算所述累加结果与所述目标业务方的下载权重之和,得到所述下载时间区间下的业务方总权重;
计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
在上述各实施例的基础上,其中,第二比率计算单元,具体用于:
获取各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,并对所述下载任务数量进行加一处理,得到所述目标业务方在所述下载时间区间下的下载任务总量;
计算所述下载任务总量的倒数,作为与所述当前资源分片对应的第二下载速度分配比率。
在上述各实施例的基础上,还包括,正常下载模块,用于:
在计算与所述当前资源分片对应的理想下载耗时之后,如果所述实际下载耗时大于或等于所述理想下载耗时,则直接执行对所述目标资源的下一资源分片的下载操作。
在上述各实施例的基础上,还包括,下载权重确定模块,用于:
每当满足业务方下载权重更新条件时,获取与所述业务方下载权重更新条件匹配的历史监控时间;
在所述历史监控时间下,收集各所述业务方在所述服务器集群中执行的各下载任务的数据下载总量;
根据各所述业务方的数据下载总量,确定与各所述业务方对应的下载权重。
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
作为上述各服务器集群中资源下载速度控制方法的实现,本公开还提供了一种实施上述各服务器集群中资源下载速度控制方法的执行装置的可选实施例。
图6是根据本公开实施例提供的一种服务器集群中资源下载速度控制装置的结构图。如图6所示,该装置具体包括:
资源大小请求模块610,用于在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小;
分片数量确定模块620,用于根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量;
资源分片确定模块630,用于根据所述分片数量,确定用于执行目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片;
并串执行触发模块640,用于并行触发每个线程,并在每个线程内,触发串行执行模块650的执行;
串行执行模块650,用于串行执行:在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;如果所述实际下载耗时小于分所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
本公开实施例的技术方案通过在完成对目标资源下载任务中当前资源分片的下载时,获取与当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各伴随下载任务对应的伴随下载业务方、与目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与当前资源分片对应的理想下载耗时;如果实际下载耗时小于理想下载耗时,则等待理想下载耗时与实际下载耗时之间的差值时间后,执行对目标资源下载任务的下一资源分片的下载操作的技术手段,可以在多业务方、海量下载任务的场景中,以下载任务中的资源分片为最小单元进行有效的动态限速,最大程度的保证服务器集群中带宽资源的均衡分配,有效满足各业务方的资源下载需求。
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如:执行如本公开任一实施例所述的服务器集群中资源下载速度控制方法。例如,在一些实施例中,如本公开任一实施例所述的服务器集群中资源下载速度控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的如本公开任一实施例所述的服务器集群中资源下载速度控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行如本公开任一实施例所述的一种服务器集群中资源下载速度控制方法。
也即,在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
或者,被配置为执行如本公开任一实施例所述的另一种服务器集群中资源下载速度控制方法。
也即:在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小;
根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量;
根据所述分片数量,确定用于执行目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片;
并行触发每个线程,并在每个线程内,串行执行下述操作:
在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种服务器集群中资源下载速度控制方法,包括:
在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
2.根据权利要求1所述的方法,其中,所述根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时,包括:
根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率;
根据各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率;
根据所述第一下载速度分配比率、所述第二下载速度分配比率以及所述服务器集群的标准下载速度,计算与所述当前资源分片对应的理想下载速度;
根据所述理想下载速度,以及所述当前资源分片的分片大小,计算与所述当前资源分片对应的理想下载耗时。
3.根据权利要求2所述的方法,其中,所述根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率,包括:
在各所述伴随下载任务中提取业务方标识,并将提取到的业务方标识进行去重处理,得到各所述伴随下载业务方;
如果各所述伴随下载业务方中包含所述目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到所述下载时间区间下的业务方总权重;
计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
4.根据权利要求3所述的方法,在所述得到各所述伴随下载业务方之后,还包括:
如果各所述伴随下载业务方中不包含所述目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到累加结果;
计算所述累加结果与所述目标业务方的下载权重之和,得到所述下载时间区间下的业务方总权重;
计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
5.根据权利要求2所述的方法,其中,所述根据各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率,包括:
获取各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,并对所述下载任务数量进行加一处理,得到所述目标业务方在所述下载时间区间下的下载任务总量;
计算所述下载任务总量的倒数,作为与所述当前资源分片对应的第二下载速度分配比率。
6.根据权利要求1-5任一项所述的方法,在所述计算与所述当前资源分片对应的理想下载耗时之后,还包括:
如果所述实际下载耗时大于或等于所述理想下载耗时,则直接执行对所述目标资源的下一资源分片的下载操作。
7.根据权利要求1-5任一项所述的方法,还包括:
每当满足业务方下载权重更新条件时,获取与所述业务方下载权重更新条件匹配的历史监控时间;
在所述历史监控时间下,收集各所述业务方在所述服务器集群中执行的各下载任务的数据下载总量;
根据各所述业务方的所述数据下载总量,确定与各所述业务方对应的下载权重。
8.一种服务器集群中资源下载速度控制方法,包括:
在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小;
根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量;
根据所述分片数量,确定用于执行所述目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片;
并行触发每个线程,并在所述每个线程内,串行执行下述操作:
在完成对所述目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
9.一种服务器集群中资源下载速度控制装置,包括:
实际下载信息获取模块,用于在完成对目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;
伴随下载任务回溯模块,用于回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;
理想下载耗时确定模块,用于根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;
下载速度调整模块,用于如果所述实际下载耗时小于所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
10.根据权利要求9所述的装置,其中,所述理想下载耗时确定模块,包括:
第一比率计算单元,用于根据各所述伴随下载业务方以及所述目标业务方的下载权重,计算与所述当前资源分片对应的第一下载速度分配比率;
第二比率计算单元,用于根据各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,计算与所述当前资源分片对应的第二下载速度分配比率;
理想下载速度计算单元,用于根据所述第一下载速度分配比率、所述第二下载速度分配比率以及所述服务器集群的标准下载速度,计算与所述当前资源分片对应的理想下载速度;
理想下载耗时计算单元,用于根据所述理想下载速度,以及所述当前资源分片的分片大小,计算与所述当前资源分片对应的理想下载耗时。
11.根据权利要求10所述的装置,其中,所述第一比率计算单元,具体用于:
在各所述伴随下载任务中提取业务方标识,并将提取到的业务方标识进行去重处理,得到各所述伴随下载业务方;
如果各所述伴随下载业务方中包含所述目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到所述下载时间区间下的业务方总权重;
计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
12.根据权利要求11所述的装置,所述第一比率计算单元,进一步用于:
在得到各所述伴随下载业务方之后,如果各所述伴随下载业务方中不包含所述目标业务方,则将各所述伴随下载业务方的下载权重进行累加求和,得到累加结果;
计算所述累加结果与所述目标业务方的下载权重之和,得到所述下载时间区间下的业务方总权重;
计算所述目标业务方的下载权重与所述业务方总权重的比值,作为所述第一下载速度分配比率。
13.根据权利要求10所述的装置,其中,所述第二比率计算单元,具体用于:
获取各所述伴随下载任务中隶属于所述目标业务方的下载任务数量,并对所述下载任务数量进行加一处理,得到所述目标业务方在所述下载时间区间下的下载任务总量;
计算所述下载任务总量的倒数,作为与所述当前资源分片对应的第二下载速度分配比率。
14.根据权利要求9-13任一项所述的装置,还包括,正常下载模块,用于:
在所述计算与所述当前资源分片对应的理想下载耗时之后,如果所述实际下载耗时大于或等于所述理想下载耗时,则直接执行对所述目标资源的下一资源分片的下载操作。
15.根据权利要求9-13任一项所述的装置,还包括,下载权重确定模块,用于:
每当满足业务方下载权重更新条件时,获取与所述业务方下载权重更新条件匹配的历史监控时间;
在所述历史监控时间下,收集各所述业务方在所述服务器集群中执行的各下载任务的数据下载总量;
根据各所述业务方的所述数据下载总量,确定与各所述业务方对应的下载权重。
16.一种服务器集群中资源下载速度控制装置,包括:
资源大小请求模块,用于在检测到目标资源下载任务时,向资源服务器请求目标资源的资源文件总大小;
分片数量确定模块,用于根据所述资源服务器反馈的所述资源文件总大小,以及预设的分片大小,确定与所述目标资源对应的分片数量;
资源分片确定模块,用于根据所述分片数量,确定用于执行所述目标资源下载任务的线程数量,并为各线程分配所需下载的资源分片;
并串执行触发模块,用于并行触发每个线程,并在所述每个线程内,触发串行执行模块的执行;
串行执行模块,用于串行执行:在完成对所述目标资源下载任务中当前资源分片的下载时,获取与所述当前资源分片对应的下载时间区间以及实际下载耗时;回溯获取所述下载时间区间下,在服务器集群中执行的全部伴随下载任务;根据与各所述伴随下载任务对应的伴随下载业务方、与所述目标资源下载任务对应的目标业务方,以及业务方的下载权重,计算与所述当前资源分片对应的理想下载耗时;如果所述实际下载耗时小于分所述理想下载耗时,则等待所述理想下载耗时与所述实际下载耗时之间的差值时间后,执行对所述目标资源下载任务的下一资源分片的下载操作。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410364866.4A CN118118472A (zh) | 2024-03-27 | 2024-03-27 | 服务器集群中资源下载速度控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410364866.4A CN118118472A (zh) | 2024-03-27 | 2024-03-27 | 服务器集群中资源下载速度控制方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118118472A true CN118118472A (zh) | 2024-05-31 |
Family
ID=91208526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410364866.4A Pending CN118118472A (zh) | 2024-03-27 | 2024-03-27 | 服务器集群中资源下载速度控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118118472A (zh) |
-
2024
- 2024-03-27 CN CN202410364866.4A patent/CN118118472A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112165691B (zh) | 内容分发网络调度方法、装置、服务器和介质 | |
CN111694646B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN110808922B (zh) | 一种消息处理方法、装置、存储介质及电子设备 | |
CN111970132B (zh) | Ota数据包下发流量的控制方法、装置及服务器 | |
CN113656176B (zh) | 云设备的分配方法、装置、系统、电子设备、介质及产品 | |
CN114065864A (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN112866985A (zh) | 流量控制方法、资源下载方法、装置、设备和存储介质 | |
CN116567077A (zh) | 裸金属指令发送方法、装置、设备及存储介质 | |
CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN116594563A (zh) | 分布式存储扩容方法、装置、电子设备和存储介质 | |
CN113747423B (zh) | 云手机状态同步方法、装置、设备、存储介质及程序产品 | |
CN114051057B (zh) | 云设备排队时长的确定方法、装置、电子设备和介质 | |
CN113641688B (zh) | 节点更新方法、相关装置及计算机程序产品 | |
CN118118472A (zh) | 服务器集群中资源下载速度控制方法、装置、设备及介质 | |
CN113360689B (zh) | 图像检索系统、方法、相关装置及计算机程序产品 | |
CN113434218B (zh) | 微服务配置方法、装置、电子设备和介质 | |
CN115774602A (zh) | 一种容器资源的分配方法、装置、设备及存储介质 | |
CN113360736A (zh) | 互联网数据的抓取方法和装置 | |
CN113835733B (zh) | 云应用更新方法、装置、电子设备以及存储介质 | |
CN111741053A (zh) | 数据预下载方法、装置、服务器、终端及存储介质 | |
CN114598705B (zh) | 消息负载均衡方法、装置、设备和介质 | |
CN113778610B (zh) | 用于确定资源的方法和装置 | |
CN115277713B (zh) | 负载均衡方法和装置 | |
CN113422734B (zh) | 资源分发方法、装置、电子设备以及存储介质 | |
CN115361449B (zh) | Ip资源的调整方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |