CN113596125B - 资源下载方法、装置、数据***及可读存储介质 - Google Patents
资源下载方法、装置、数据***及可读存储介质 Download PDFInfo
- Publication number
- CN113596125B CN113596125B CN202110817580.3A CN202110817580A CN113596125B CN 113596125 B CN113596125 B CN 113596125B CN 202110817580 A CN202110817580 A CN 202110817580A CN 113596125 B CN113596125 B CN 113596125B
- Authority
- CN
- China
- Prior art keywords
- host
- downloading
- resource
- task
- independent
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 29
- 230000015654 memory Effects 0.000 claims description 18
- 238000011144 upstream manufacturing Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000009434 installation Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- 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/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种资源下载方法、装置、数据***及可读存储介质,属于信息技术领域。资源下载方法包括以下步骤:根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数;控制独立主机按照并发运行数执行所述目标资源的下载任务。本发明可提高云主机内多***立主机下载资源时的效率。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种资源下载方法、装置、数据***及可读存储介质。
背景技术
云主机是在一台主机上虚拟出多个类似独立主机的部分,每个部分都可以具有单独的操作***。因此,一台云主机可虚拟出几十上百台手机,每台虚拟出的手机都可安装同一款手游等手机应用程序等资源,并运行该手机应用程序。
但是当云主机内各个独立主机安装的某手机应用程序需要更新版本时,云主机需要依次为每个独立主机下载手机应用程序安装包等资源,耗时很长。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种资源下载方法、装置、数据***及可读存储介质,旨在解决现有技术中云主机下载资源耗时长的技术问题。
为实现上述目的,本发明提供一种资源下载方法,方法包括以下步骤:
根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数;
控制独立主机按照并发运行数执行目标资源的下载任务。
在一实施例中,网络通信带宽信息包括资源服务器的最大上行带宽、独立主机的最大下行带宽以及路由器的路由器带宽;其中,资源服务器存储有目标资源;
根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数的步骤,包括:
根据最大上行带宽、最大下行带宽以及路由器带宽中的最小值,得到当前网络环境下的最小瞬时带宽;
根据最小瞬时带宽与目标资源的数据大小信息,获得并发运行数。
在一实施例中,资源服务器包括至少两台时,根据最大上行带宽、最大下行带宽以及路由器带宽中的最小值,得到当前网络环境下的最小瞬时带宽的步骤之前,方法还包括:
获取资源服务器的第一数量、每台资源服务器的上行带宽、路由器带宽、云主机内独立主机的第二数量、云主机的网络端口的第三数量以及每个网络端口的端口带宽;
根据第一数量与上行带宽,获得最大上行带宽;
根据第二数量、第三数量以及端口带宽,获得最大下行带宽。
在一实施例中,控制独立主机按照所述并发运行数执行所述目标资源的下载任务的步骤,包括:
从所有未执行下载任务的独立主机中选出至少一台,作为执行主机,其中,执行主机的数量小于或者等于并发运行数;
将执行主机添加至下载任务执行主机队列中,以使执行主机执行目标资源的下载任务;其中,下载任务执行主机队列包括多个下载通道,下载通道的数量小于或者等于并发运行数,且每***立主机使用一个下载通道下载目标资源;
在下载任务执行主机队列中任一***立主机完成下载任务后,将该任一***立主机从下载任务执行主机队列中移除,并返回执行从所有未执行下载任务的独立主机中选出至少一台,作为执行主机的步骤,循环至云主机内所有独立主机均完成下载任务。
在一实施例中,从所有未执行下载任务的独立主机中选出至少一台、作为执行主机的步骤之前,方法还包括:
监测每台资源服务器的实际上行带宽,获得资源服务器的实际上行带宽历史数据;
根据实际上行带宽历史数据,得到目标时刻时资源服务器的上行带宽预测值;
根据所有资源服务器的上行带宽预测值,更新目标时刻时的最大上行带宽,获得更新后的并发运行数;
在下载任务执行主机队列中任一***立主机完成下载任务后,返回执行从所有未执行下载任务的独立主机中选出至少一台,作为执行主机的步骤,循环至云主机内所有独立主机均完成下载任务的步骤,包括:
在下载任务执行主机队列中任一***立主机完成下载任务后,返回执行根据实际上行带宽历史数据,得到目标时刻时资源服务器的上行带宽预测值的步骤,循环至云主机内所有独立主机均完成下载任务。
在一实施例中,将执行主机添加至下载任务执行主机队列中,以使执行主机执行目标资源的下载任务的步骤,包括:
将执行主机添加至下载任务执行主机队列中空闲的下载通道,并控制下载通道对应的下载任务线程在唤醒状态下向执行主机发送任务执行指令;其中,下载任务线程与下载通道一一对应;
控制下载任务线程由唤醒状态切换至休眠状态;
在下载任务执行主机队列中任一***立主机完成下载任务后,返回执行从所有未执行下载任务的独立主机中选出至少一台,作为执行主机的步骤,循环至云主机内所有独立主机均完成下载任务的步骤,包括:
接收下载任务执行主机队列中任一***立主机完成下载任务后发送的标识信息;
响应于接收到标识信息,将该任一***立主机从下载任务执行主机队列中移除,获得空闲的下载通道;
控制空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回至从所有未执行下载任务的独立主机中选出至少一台执行主机的步骤,循环至云主机内所有独立主机均完成下载任务的步骤。
第二方面,本发明还提供了一种资源下载装置,资源下载装置包括:
数据计算模块,用于根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数;
任务控制模块,用于控制独立主机按照并发运行数执行目标资源的下载任务。
第三方面,本发明还提供了一种数据***,包括:
至少一台资源服务器,每台资源服务器均存储有目标资源;
路由器;
云主机,云主机内具有多***立主机;以及
资源下载设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的资源下载程序,资源下载程序配置为实现如上述的方法的步骤,以在云主机向资源服务器发送目标资源下载请求时,将目标资源下载至所有独立主机内。
在一实施例中,资源服务器为网络文件***服务器。
第四方面,本发明还提供了一种计算机可读存储介质,包括可执行的程序代码,其中,程序代码在由处理器执行时执行如上述的方法的步骤。
本发明提供了一种资源下载方法,通过网络通信环境信息计算出在当前通信环境下,允许同时执行下载任务的云主机内部独立主机的台数,即并发运行数,从而控制云主机内部独立主机按照该并发运行数流水线执行下载任务,直至云主机内所有的独立主机均完成下载任务,进而提高云主机内多***立主机下载资源时的效率,缩短下载耗时。
附图说明
图1为本发明数据***一实施例的示意图;
图2为本发明资源下载设备的结构示意图;
图3为本发明资源下载方法第一实施例的流程示意图;
图4为本发明资源下载方法第二实施例的步骤S102的细化流程示意图;
图5为本发明资源下载方法第三实施例的流程示意图;
图6为本发明资源下载方法第四实施例的流程示意图;
图7为本发明资源下载装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
云主机是在一台主机上虚拟出多个类似独立主机的部分,每个部分都可以具有单独的操作***。如,一台云主机可虚拟出几十上百台手机。每台虚拟出的手机具有独立的操作***,因此每台虚拟出的手机都可安装同一款手游等手机应用程序等资源,并运行该手机应用程序。现有技术中,可采用云主机为某手机应用程序进行测试,以提高测试效率,或者手游工作室通过云主机提供手游游戏服务。
但是当云主机内各个独立主机安装的某手机应用程序需要更新版本时,特别是对于手游工作室或者手机APP测试部门而言,均对云主机内的手机应用程序的启动速度有要求,若手机应用程序的更新安装包或者安装包仅有几百M时,对于手游工作室或者手机APP测试部门的工作效率影响不大,但是对于几个G的大型游戏等手机应用程序而言,一台云主机内每个虚拟出的独立主机依次下载并更新手机应用程序,则云主机需要依次为每个独立主机下载手机应用程序安装包等资源,耗时很长。
为此,本发明实施例提供了一种资源下载方法,通过网络通信环境计算出在当前通信环境下,允许同时执行下载任务的云主机内部独立主机的台数,即并发运行数,从而控制云主机内部独立主机按照该并发运行数流水线执行下载任务,直至云主机内所有的独立主机均完成下载任务。
下面结合一些具体实施例进一步阐述本申请的发明构思。
参阅图1,本发明示出了一种数据***,该数据***包括至少一台资源服务器10、路由器20、云主机40以及资源下载设备。
资源服务器10储存有云主机40预下载的目标资源。对于手机应用程序或者大型数据文件等资源,资源服务器10可预先从手机应用程序官网等网站上下载并存储。在一实施例中,资源服务器10可以是NFS(Network File System、网络文件***)服务器。NFS服务器可以让不同操作***的计算机,如云主机40内虚拟出的手机等独立主机共享文件或者数据,通过将流媒体服务器刀片作为网络文件***客户端外挂网络文件***服务器的方式,在很大程度上拓展了流媒体服务器端存储能力。
云主机40是一种类似VPS(Virtual Private Server、虚拟专用服务器)主机的虚拟化技术设备,VPS是采用虚拟软件在一台主机上虚拟出多个类似独立主机的部分,能够实现单机多用户,每个部分都可以做单独的操作***,管理方法同主机一样。每个独立主机均具有各自的操作***。可以理解的,独立主机的操作***可以是手机操作***或者计算机操作***,即云主机40内的独立主机可以视为手机或者个人计算机。
资源下载设备可安装于云主机40上,还可安装于连接在路由器上的协调服务器30上。下文以资源下载设备为协调服务器30为例进行具体说明。
参照图1,图1还示出了本发明实施例方案涉及的资源下载方法的推荐电子设备结构示意图。
该资源下载设备包括:至少一个处理器301、存储器302以及存储在存储器上并可在处理器上运行的资源下载程序,资源下载程序配置为实现如前的资源下载方法的步骤。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的资源下载方法。
资源下载设备还包括有通信接口303。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与通信接口303相连。
通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
本领域技术人员可以理解,图1中示出的结构并不构成对资源下载设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明提供了一种资源下载方法第一实施例。参阅图3,图3为本发明资源下载方法第一实施例的流程示意图。
本实施例中,方法包括以下步骤:
步骤S101、根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数。
在云主机40内虚拟出多***立主机,每***立主机均具有独立的操作***,如手机操作***,此时每***立主机可视为一台手机。下文以独立主机视为手机为例进一步阐述。本领域技术人员易于在本申请记载的基础上,想到每***立主机中安装有计算机操作***等情况。
云主机40内所有独立主机或者至少有部分独立主机需要下载同一目标资源,该目标资源可以是一数据文件,如***应用程序的安装包或者一较大的压缩包等。在云主机40向资源服务器10发送目标资源下载请求时,与路由器20连接的协调服务器30监听或者接收到目标资源下载请求,然后根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数。并发运行数为任一时刻,云主机40内可同时下载目标资源的独立主机的最大台数。此时,云主机40的独立主机按照该并发运行数流水线执行下载任务,可最大化地利用当前数据***下的网络环境,以提高资源下载效率。
在一些实施例中,网络通信带宽信息包括资源服务器10的最大上行带宽、独立主机的最大下行带宽以及路由器20的路由器带宽。
此时,步骤S101包括:
(1)根据最大上行带宽、最大下行带宽以及路由器带宽中的最小值,得到当前网络环境下的最小瞬时带宽。
(2)根据最小瞬时带宽与目标资源的数据大小信息,获得并发运行数。
具体而言,数据***中,瞬时流量不能超过任一资源服务器10的最大上行带宽、独立主机的最大下行带宽以及路由器20的路由器带宽中的最小值的任一者,且每***立主机同时只能下载一个目标资源,因此,三者的最小值除以目标资源的数据大小信息即可得到当前网络环境下可以并发执行下载任务的独立主机的台数。
在一具体实施方式中,并发运行数可通过下式确定:
;
其中,为并发运行数,/>为资源服务器10的第一数量,/>为每台资源服务器10的上行带宽,/>为路由器20的路由器带宽,/>为云主机40内独立主机的第二数量,/>为云主机40的网络端口的第三数量,/>为每个网络端口的端口带宽。
因此,在步骤S101之前,方法还可包括:
步骤S10、获取资源服务器10的第一数量、每台资源服务器10的上行带宽/>、路由器20的路由器带宽/>、云主机40内独立主机的第二数量/>、云主机40的网络端口的第三数量/>以及每个网络端口的端口带宽/>。
协调服务器30可根据管理员输入的数据手动配置上述数据。
步骤S20、根据第一数量与出口流量,获得最大上行带宽。
最大上行带宽即为。
步骤S30、根据第二数量、第三数量以及端口带宽,获得最大下行带宽。
最大带宽即为。
步骤S102、控制独立主机按照并发运行数执行目标资源的下载任务。
协调服务器30在计算出并发运行数后,可在任一时刻控制云主机40相应台数的独立主机执行该目标资源的下载任务,在某一批执行下载任务的独立主机中,即下载任务执行主机队列,任一***立主机执行完毕后,协调服务器30从剩余的独立主机选择一***立主机立刻补上空出来的下载通道执行下载资源。由于资源服务器10包括多台,此时,可在步骤S102之前,将所有资源服务器10均匀分配至每***立主机,以为每***立主机均分配相应的资源服务器10,避免集中占用某一台资源服务器10的出口流量。每***立主机执行下载任务时,与分配的资源服务器10建立连接执行下载任务。
值得一提的是,在任一时刻,执行下载任务的独立主机的数量可以为台,其中,。较佳的,/>。
本实施例中,基于上述步骤,云主机40内独立主机基于并发运行数,在任一时刻选择相应数量的独立主机同时执行目标资源的下载任务,从而提高云主机40内独立主机下载同一目标资源的下载效率。
在本发明资源下载方法第一实施例的基础上,还提出本发明资源下载方法第二实施例。
参阅图4,本实施例中,步骤S102具体包括以下步骤:
步骤A10、从未执行下载任务的独立主机中选出至少一台,作为执行主机,其中,执行主机的数量小于或者等于并发运行数。
步骤A20、将执行主机添加至下载任务执行主机队列中,以使执行主机执行目标资源的下载任务;其中,下载任务执行主机队列包括多个下载通道,下载通道的数量小于或者等于并发运行数,且每***立主机使用一个下载通道下载所述目标资源。
步骤A30、在下载任务执行主机队列中任一***立主机完成下载任务后,将任一***立主机从下载任务执行主机队列中移除,并返回执行步骤A10,循环至云主机内所有独立主机均完成所述下载任务。
具体而言,并发运行数限定了可同时执行下载任务的独立主机的台数。也即是下载任务执行主机队列中独立主机的台数。
开始时,如并发运行数为5,即下载任务执行主机队列最多具有5个下载通道,最多可选出5***立主机作为执行主机添加至下载任务执行主机队列中,从而每***立主机占据一个下载通道执行下载任务。在下载任务执行主机队列中任一***立主机完成下载任务后,该独立主机从下载任务执行主机队列中退出,留出相应数量的空闲的下载通道。此时,再从未执行下载任务的独立主机中选出相应数量的执行主机补上,占据空出的下载通道下载目标资源。
每***立主机下载网目标资源后,即可开始使用或者运行该目标资源。如目标资源为手游程序时,独立主机下载完毕该手游程序时,即可开始安装并运行该手游程序。协调服务器30从没有安装或者更新该手游程序的独立主机中选出执行主机,以控制执行主机执行下载任务。
在一具体实施例中,云主机40内分割出88台“手机”,并计算得到并发运行数为5台。则在第一次执行步骤A10时,此时88***立主机均为未执行下载任务的独立主机。此时,协调服务器30可随机挑选出5台“手机”作为执行主机执行下载手游安装包的下载任务。其中有一台“手机”先于其余4台“手机”完成手游安装包的下载,此时,协调服务器30从剩余的83台“手机”中挑选出1台“手机”作为执行主机,该执行主机立刻执行下载任务。循环上述步骤,直到云主机40内所有独立主机均完成下载任务。
在本发明资源下载方法第一实施例和第二实施例的基础上,还提出本发明资源下载方法第三实施例。参阅图5,图5为本发明资源下载方法第三实施例的流程示意图。
本实施例中,资源下载方法包括:
步骤S201、根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数。
步骤S202、监测每台资源服务器10的实际上行带宽,获得资源服务器10的实际上行带宽历史数据。
步骤S203、根据实际上行带宽历史数据,得到目标时刻时资源服务器的上行带宽预测值。
并发运行数为计算出的理论值,在实际运行时,由于网络波动等原因,还需要结合网络的实际质量调整并发运行数。
因此,该步骤中可通过监控线程实时监控资源服务器10的实际上行带宽,以形成资源服务器10的实际上行带宽历史数据,从而基于该实际上行带宽历史数据预测目标时刻时资源服务器10的出口流量。在一实施例中,监控线程还可定时,如每分钟采集资源服务器10的实际上行带宽
在一具体实施例中,可通过加权移动平均法预测出口流量。如在t时刻,资源服务器10的出口流量为:
;
为第t-1时的第m个nfs机器出口流量的权重;/>为第t-2时的第m个nfs机器出口流量的权重;以此类推,/>为第t-n期的第m个nfs机器出口流量的权重。
为前1分钟第m个nfs机器实际上行带宽值,/>,/>和/>分别表示前2分钟,前3分钟直至前n分钟的实际上行带宽。t-1为所指距离目标时刻t前1分钟。n为预测的时期数,如n = 1440。
且+/>+...+/>=1。可选的,/>为等比队列,初始化值/>为/>, 依次/>为/>,直至/>为/>。
根据上式,可预测出在t时刻,任一资源服务器10的出口流量。
步骤S204、根据所有资源服务器10的上行带宽预测值,更新目标时刻时的最大上行带宽,获得更新后的并发运行数。
目标时刻t时,更新后的并发运行数可通过下式计算得到:
。
步骤S205、从未执行下载任务的独立主机中选出至少一台,作为执行主机,其中,执行主机的数量小于或者等于并发运行数。
步骤S206、将执行主机添加至下载任务执行主机队列中,以使执行主机执行目标资源的下载任务;其中,下载任务执行主机队列包括多个下载通道,下载通道的数量小于或者等于并发运行数,且每***立主机使用一个下载通道下载目标资源。
步骤S207、在下载任务执行主机队列中任一***立主机完成下载任务后,返回执行步骤S203,循环至云主机内所有独立主机均完成所述下载任务。
在一具体实施例中,云主机40内分割出88台“手机”,并计算得到并发运行数为5台。在第1时刻,协调服务器30可随机挑选出5台“手机”执行下载手游安装包的下载任务。但是协调服务器30通过资源服务器10的实际上行带宽预测第2时刻时并发运行数为4台。在有一台“手机”先于其余4台“手机”完成手游安装包的下载。此时,协调服务器30从剩余的83台“手机”中挑选出0台“手机”作为执行下载任务,此时,共有4***立主机在执行下载任务。循环上述步骤,直到云主机40内所有独立主机均完成下载任务。
该步骤中,协调服务器30计算得到根据更新后的并发运行数后,可在任一时刻控制云主机40相应台数的独立主机执行该目标资源的下载任务,在某一批执行下载任务的独立主机中任一***立主机执行完毕后,协调服务器30再次根据此时的实际上行带宽数据计算得到根据更新后的并发运行数/>,从剩余的独立主机选择/>***立主机立刻补上空出来的下载通道执行下载资源。
本实施例中,基于上述步骤,可使得计算得到并发运行数更加贴合资源服务器10的实际上行带宽,从而进一步使得云主机40内的资源下载任务在符合资源服务器10的实际上行带宽的情况下,尽可能的提高云主机40的下载效率。
在本发明资源下载方法第一实施例至第三实施例的基础上,还提出本发明资源下载方法第四实施例。参阅图6,图6为本发明资源下载方法第四实施例的流程示意图。
步骤S301、根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数。
步骤S302、从所有未执行下载任务的独立主机中选出至少一台,作为执行主机,其中,执行主机的数量小于或者等于并发运行数。
步骤S303、将执行主机添加至下载任务执行主机队列中空闲的下载通道,并控制下载通道对应的下载任务线程在唤醒状态下向执行主机发送任务执行指令;其中,下载任务线程与所述下载通道一一对应。
步骤S304、控制下载任务线程由唤醒状态切换至休眠状态。
步骤S305、接收下载任务执行主机队列中任一***立主机完成下载任务后发送的标识信息。
步骤S306、响应于接收到标识信息,将该任一***立主机从所述下载任务执行主机队列中移除,获得空闲的下载通道。
步骤S307、控制所述空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回至步骤302,循环至云主机内所有独立主机均完成下载任务。
本实施例中,协调服务器30根据下载任务执行主机队列建立下载任务线程,下载任务线程具有唤醒状态和休眠状态。在唤醒状态下,每个下载任务线程用于向一***立主机发送任务执行指令。且发送完任务执行指令后,下载任务线程由唤醒状态切换至休眠状态。每个下载任务线程在接收到任一台执行主机完成下载任务后发送的标识信息后,重新唤醒,继续向相应的执行主机发送任务执行指令。
在一具体实施例中,云主机40内分割出88台“手机”,并计算得到并发运行数为5台。且此时,协调服务器30可随机挑选出5台“手机”执行下载手游安装包的下载任务。协调服务器30还建立5个下载任务线程。5个下载任务线程向分别5台“手机”中的任一台发送任务执行指令,然后进入休眠状态。5***立主机接收到任务执行指令后即开始下载目标资源。在其中任一***立主机完成下载任务后,协调服务器30从剩余的83台“手机”中挑选出1台“手机”作为执行主机,且唤醒一个下载任务线程,该下载任务线程向该执行主机发送任务执行指令,该执行主机立刻执行下载任务。循环上述步骤,直到云主机40内所有独立主机均完成下载任务。
本实施例中,通过建立在休眠和唤醒状态之间切换的下载任务线程控制执行主机执行下载任务,从而确保在任一时刻,执行下载任务的执行主机的数量与并发台数相符合。
此外,本发明还提供了一种资源下载装置,参阅图6,资源下载装置包括:
数据计算模块100,用于根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数;
任务控制模块200,用于控制独立主机按照并发运行数执行目标资源的下载任务。
在一实施例中,网络通信带宽信息包括资源服务器的最大上行带宽、独立主机的最大下行带宽以及路由器的路由器带宽;
数据计算模块100包括:
最小瞬时带宽计算单元,用于根据最大上行带宽、最大下行带宽以及路由器带宽中的最小值,得到当前网络环境下的最小瞬时带宽;
并发运行数计算单元,用于根据最小瞬时带宽与目标资源的数据大小信息,获得并发运行数。
在一实施例中,资源服务器包括至少两台时,资源下载装置还包括:
数据获取模块,用于获取资源服务器的第一数量、每台资源服务器的上行带宽、路由器带宽、云主机内所述独立主机的第二数量、云主机的网络端口的第三数量以及每个网络端口的端口带宽;根据所述第一数量与所述上行带宽,获得最大上行带宽;根据第二数量、第三数量以及端口带宽,获得最大下行带宽。
在一实施例中,任务控制模块200包括:
主机选择单元,用于从所有未执行所述下载任务的独立主机中选出至少一台,作为执行主机,其中,执行主机的数量小于或者等于并发运行数;
队列添加单元,用于将执行主机添加至下载任务执行主机队列中,以使执行主机执行所述目标资源的下载任务,其中,下载任务执行主机队列包括多个下载通道,下载通道的数量小于或者等于并发运行数,且每***立主机使用一个下载通道下载目标资源;
循环执行单元,用于在下载任务执行主机队列中任一***立主机完成所述下载任务后,将任一***立主机从下载任务执行主机队列中移除,并返回执行从所有未执行所述下载任务的独立主机中选出至少一台执行主机的步骤,循环至所述云主机内所有所述独立主机均完成所述下载任务。
在一实施例中,资源下载装置还包括:
流量监控单元,用于监测每台资源服务器10的实际上行带宽,获得资源服务器10的实际上行带宽历史数据;
流量预测单元,用于根据实际上行带宽历史数据,得到目标时刻时资源服务器的上行带宽预测值;
数据更新单元,用于根据所有所述资源服务器的所述上行带宽预测值,更新所述目标时刻时的最大上行带宽,获得更新后的并发运行数;
任务控制模块200还用于在下载任务执行主机队列中任一***立主机完成所述下载任务后,返回执行根据实际上行带宽历史数据,得到目标时刻时资源服务器的上行带宽预测值的步骤,循环至所述云主机内所有所述独立主机均完成所述下载任务。
在一实施例中,任务控制模块200还用于,将执行主机添加至下载任务执行主机队列中空闲的下载通道,并控制下载通道对应的下载任务线程在唤醒状态下向执行主机发送任务执行指令;其中,发送完所述任务执行指令后,下载任务线程由所述唤醒状态切换至休眠状态;下载任务线程与所述下载通道一一对应;接收下载任务执行主机队列中任一***立主机完成下载任务后发送的标识信息;响应于接收到标识信息,将任一***立主机从所述下载任务执行主机队列中移除,获得空闲的下载通道;控制空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回至从所有未执行所述下载任务的所述独立主机中选出至少一台,作为执行主机的步骤,循环至所述云主机内所有独立主机均完成所述下载任务。
此外,本发明实施例还提出一种计算机可读存储介质,包括可执行的程序代码,程序代码在由处理器执行时执行时实现如上文的资源下载方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
Claims (8)
1.一种资源下载方法,其特征在于,所述方法包括以下步骤:
根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,所述并发运行数为任一时刻,云主机内同时下载所述目标资源的独立主机的最大台数;
控制独立主机按照所述并发运行数执行所述目标资源的下载任务;
所述控制独立主机按照所述并发运行数执行所述目标资源的下载任务,包括:
从所有未执行所述下载任务的独立主机中选出至少一台,作为执行主机,所述执行主机的数量小于或者等于所述并发运行数;
将所述执行主机添加至下载任务执行主机队列中空闲的下载通道,并控制所述下载通道对应的下载任务线程在唤醒状态下向所述执行主机发送任务执行指令;其中,所述下载任务线程与所述下载通道一一对应;所述下载任务执行主机队列包括多个下载通道,所述下载通道的数量小于或者等于所述并发运行数,且每***立主机使用一个下载通道下载所述目标资源;
控制所述下载任务线程由所述唤醒状态切换至休眠状态;
接收下载任务执行主机队列中所述任一***立主机完成所述下载任务后发送的标识信息;
响应于接收到所述标识信息,将所述任一***立主机从所述下载任务执行主机队列中移除,获得空闲的下载通道;
控制所述空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回至从所有未执行所述下载任务的所述独立主机中选出至少一台,作为执行主机的步骤,循环至所述云主机内所有所述独立主机均完成所述下载任务。
2.根据权利要求1所述的资源下载方法,其特征在于,所述网络通信带宽信息包括资源服务器的最大上行带宽、所述独立主机的最大下行带宽以及路由器的路由器带宽;其中,所述资源服务器存储有所述目标资源;
所述根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数的步骤,包括:
根据所述最大上行带宽、所述最大下行带宽以及所述路由器带宽中的最小值,得到当前网络环境下的最小瞬时带宽;
根据所述最小瞬时带宽与所述目标资源的数据大小信息,获得并发运行数。
3.根据权利要求2所述的资源下载方法,其特征在于,所述资源服务器包括至少两台时,所述根据所述最大上行带宽、所述最大下行带宽以及所述路由器带宽中的最小值,得到当前网络环境下的最小瞬时带宽的步骤之前,所述方法还包括:
获取所述资源服务器的第一数量、每台所述资源服务器的上行带宽、所述路由器带宽、所述云主机内所述独立主机的第二数量、所述云主机的网络端口的第三数量以及每个所述网络端口的端口带宽;
根据所述第一数量与所述上行带宽,获得最大上行带宽;
根据所述第二数量、所述第三数量以及所述端口带宽,获得最大下行带宽。
4.根据权利要求1所述的资源下载方法,其特征在于,所述从所有未执行所述下载任务的所述独立主机中选出至少一台,作为执行主机的步骤之前,所述方法还包括:
监测每台资源服务器的实际上行带宽,获得所述资源服务器的实际上行带宽历史数据;
根据所述实际上行带宽历史数据,得到目标时刻时所述资源服务器的上行带宽预测值;
根据所有所述资源服务器的所述上行带宽预测值,更新所述目标时刻时的最大上行带宽,获得更新后的并发运行数;
控制所述空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回至从所有未执行所述下载任务的所述独立主机中选出至少一台,作为执行主机的步骤,循环至所述云主机内所有所述独立主机均完成所述下载任务,包括:
控制所述空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回执行根据所述实际上行带宽历史数据,得到目标时刻时所述资源服务器的上行带宽预测值的步骤,循环至所述云主机内所有所述独立主机均完成所述下载任务。
5.一种资源下载装置,其特征在于,所述资源下载装置包括:
数据计算模块,用于根据网络通信带宽信息与目标资源的数据大小信息,获得并发运行数;其中,所述并发运行数为任一时刻,云主机内同时下载目标资源的独立主机的最大台数;
任务控制模块,用于控制独立主机按照所述并发运行数执行所述目标资源的下载任务;
所述任务控制模块具体用于从所有未执行所述下载任务的独立主机中选出至少一台,作为执行主机,所述执行主机的数量小于或者等于所述并发运行数;将所述执行主机添加至下载任务执行主机队列中空闲的下载通道,并控制所述下载通道对应的下载任务线程在唤醒状态下向所述执行主机发送任务执行指令;其中,所述下载任务线程与所述下载通道一一对应;所述下载任务执行主机队列包括多个下载通道,所述下载通道的数量小于或者等于所述并发运行数,且每***立主机使用一个下载通道下载所述目标资源;控制所述下载任务线程由所述唤醒状态切换至休眠状态;接收下载任务执行主机队列中所述任一***立主机完成所述下载任务后发送的标识信息;响应于接收到所述标识信息,将所述任一***立主机从所述下载任务执行主机队列中移除,获得空闲的下载通道;控制所述空闲的下载通道对应的下载任务线程由休眠状态切换至唤醒状态,并返回至从所有未执行所述下载任务的所述独立主机中选出至少一台,作为执行主机的步骤,循环至所述云主机内所有所述独立主机均完成所述下载任务。
6.一种数据***,其特征在于,包括:
至少一台资源服务器,每台所述资源服务器均存储有目标资源;
路由器;
云主机,所述云主机内具有多***立主机;以及
资源下载设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资源下载程序,所述资源下载程序配置为实现如权利要求1至4中任一项所述的方法的步骤。
7.根据权利要求6所述的数据***,其特征在于,所述资源服务器为网络文件***服务器。
8.一种计算机可读存储介质,其特征在于,包括可执行的程序代码,其中,所述程序代码在由处理器执行时执行如权利要求1至4任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110817580.3A CN113596125B (zh) | 2021-07-21 | 2021-07-21 | 资源下载方法、装置、数据***及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110817580.3A CN113596125B (zh) | 2021-07-21 | 2021-07-21 | 资源下载方法、装置、数据***及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596125A CN113596125A (zh) | 2021-11-02 |
CN113596125B true CN113596125B (zh) | 2023-11-14 |
Family
ID=78248345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110817580.3A Active CN113596125B (zh) | 2021-07-21 | 2021-07-21 | 资源下载方法、装置、数据***及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596125B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963946A (zh) * | 2010-10-11 | 2011-02-02 | 中兴通讯股份有限公司 | 一台计算机支持多部移动终端下载软件版本的方法及装置 |
CN105323106A (zh) * | 2014-08-04 | 2016-02-10 | 中兴通讯股份有限公司 | 一种软件升级管理方法、设备及*** |
CN106209452A (zh) * | 2016-07-11 | 2016-12-07 | 福建联迪商用设备有限公司 | 应用于智能设备的无线下载安装方法及*** |
US10404700B1 (en) * | 2015-08-27 | 2019-09-03 | Cadence Design Systems, Inc. | Concurrent design process |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379990B2 (en) * | 2002-08-12 | 2008-05-27 | Tsao Sheng Ted Tai | Distributed virtual SAN |
-
2021
- 2021-07-21 CN CN202110817580.3A patent/CN113596125B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963946A (zh) * | 2010-10-11 | 2011-02-02 | 中兴通讯股份有限公司 | 一台计算机支持多部移动终端下载软件版本的方法及装置 |
CN105323106A (zh) * | 2014-08-04 | 2016-02-10 | 中兴通讯股份有限公司 | 一种软件升级管理方法、设备及*** |
US10404700B1 (en) * | 2015-08-27 | 2019-09-03 | Cadence Design Systems, Inc. | Concurrent design process |
CN106209452A (zh) * | 2016-07-11 | 2016-12-07 | 福建联迪商用设备有限公司 | 应用于智能设备的无线下载安装方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113596125A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112148489B (zh) | 游戏资源调度方法、装置、设备及存储介质 | |
US8910169B2 (en) | Methods and systems to perform a computer task in a reduced power consumption state | |
US20060143617A1 (en) | Method, apparatus and system for dynamic allocation of virtual platform resources | |
CN109726005B (zh) | 用于管理资源的方法、服务器***和计算机可读介质 | |
US9336106B2 (en) | Dynamically limiting bios post for effective power management | |
CN112380020A (zh) | 一种算力资源分配方法、装置、设备及存储介质 | |
CN104252390A (zh) | 资源调度方法、装置和*** | |
CN103810015A (zh) | 虚拟机创建方法和设备 | |
CN109729113B (zh) | 管理专用处理资源的方法、服务器***和计算机程序产品 | |
US20170097854A1 (en) | Task placement for related tasks in a cluster based multi-core system | |
US10614542B2 (en) | High granularity level GPU resource allocation method and system | |
CN105335211A (zh) | 一种基于Xen虚拟化集群的FPGA加速器调度***及方法 | |
CN116243996B (zh) | 业务的运行切换方法、装置、存储介质及电子装置 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
US9436505B2 (en) | Power management for host with devices assigned to virtual machines | |
CN113596125B (zh) | 资源下载方法、装置、数据***及可读存储介质 | |
US9785463B2 (en) | Using per task time slice information to improve dynamic performance state selection | |
US10157066B2 (en) | Method for optimizing performance of computationally intensive applications | |
CN102438230B (zh) | 终端和数据业务处理方法 | |
US12045627B2 (en) | Sled level boot management control of compute nodes for context switching using boot controllers | |
CN114116220A (zh) | 一种gpu共享控制方法、gpu共享控制装置及存储介质 | |
CN106484074B (zh) | 非易失性存储装置、方法、计算机***及待机或休眠实现方法 | |
CN117632457A (zh) | 一种加速器调度方法及相关装置 | |
US20170052827A1 (en) | Using Multiple Central Processing Unit Cores for Packet Forwarding in Virtualized Networks |
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 |