CN105657063B - 数据下载方法和装置 - Google Patents
数据下载方法和装置 Download PDFInfo
- Publication number
- CN105657063B CN105657063B CN201610170218.0A CN201610170218A CN105657063B CN 105657063 B CN105657063 B CN 105657063B CN 201610170218 A CN201610170218 A CN 201610170218A CN 105657063 B CN105657063 B CN 105657063B
- Authority
- CN
- China
- Prior art keywords
- data
- terminal
- hypernucleus
- download
- mark
- 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
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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了数据下载方法和装置。所述方法的一具体实施方式包括:接收第一终端的数据下载请求;查找出当前下载所述待下载数据的第二终端集合;对于所述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取所述第二数据中心连接的超核的第二超核标识;基于所述第一数据中心标识、所述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径;从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据。该实施方式提高了低成本链路的资源利用率,降低了高成本链路的使用频率,从而降低了链路成本。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及数据下载方法和装置。
背景技术
超核是用于连接不同数据中心的网络节点。不同数据中心之间的通信往往都是通过超核路由中转来完成的。处于不同超核的数据中心之间通信一般要通过超核与超核之间通信完成。而超核与超核之间的链路成本很高,属于高成本链路;超核与数据中心之间的链路,以及数据中心内部服务器之间的链路成本较低,属于低成本链路。
随着互联网用户数据的大规模增长,数据中心的数据传输量显著增大,连接到不同超核的数据中心之间的传输需求也越来越大。然而,超核之间的链路带宽运维成本很高,且总量不变,成为稀缺资源。为了保证在截止时间之内完成调度,各个数据中心的服务器之间抢占带宽资源的现象日益激烈。
目前数据传输控制方法存在以下问题:业务端关注的重点在各自的产品,并不特别关心传输资源的有效利用,不能充分利用下载机的上传能力,从而使得低成本链路资源空闲,而高成本链路多次传输相同的数据副本,进而导致高成本链路资源的浪费,提高了企业的运维成本。因此,目前的数据传输方法存在低成本链路资源利用率低从而造成带宽空闲,高成本链路使用频率高从而造成链路成本高的问题。
发明内容
本申请的目的在于提出一种改进的数据下载方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据下载方法,所述方法包括:接收第一终端的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识,所述第一终端的第一终端标识,所述第一终端所属的数据中心的第一数据中心标识,所述第一数据中心连接的超核的第一超核标识,其中,所述超核为连接至少一个数据中心的网络节点;查找出当前下载所述待下载数据的第二终端集合;对于所述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取所述第二数据中心连接的超核的第二超核标识;基于所述第一数据中心标识、所述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径,其中,下载路径指示所述待下载数据被下载时经由的数据中心、超核;从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据。
在一些实施例中,所述接收第一终端的数据下载请求之后,所述方法还包括:为所述数据下载请求创建用于下载所述待下载数据的数据下载进程。
在一些实施例中,所述数据下载请求还包括:下载截止时间信息、优先级信息、下载限速和上传限速;以及所述方法还包括:基于所述下载截止时间信息、所述优先级信息、所述下载限速和所述上传限速,调度所述数据下载进程。
在一些实施例中,所述从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据之后,所述方法还包括:将所述数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中。
在一些实施例中,所述查找出当前下载所述待下载数据的第二终端集合,包括:在内存数据库中查找出当前下载所述待下载数据的第二终端集合。
在一些实施例中,所述从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据,包括:从所述至少一条下载路径中选取出最短路径;从所述最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端;利用所述上传第二终端向所述第一终端上传所述待下载数据。
在一些实施例中,所述方法还包括:监控超核之间的网络信息,其中,所述网络信息包括:带宽使用率、传输速度。
第二方面,本申请提供了一种数据下载装置,所述装置包括:接收单元,配置用于接收第一终端的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识,所述第一终端的第一终端标识,所述第一终端所属的数据中心的第一数据中心标识,所述第一数据中心连接的超核的第一超核标识,其中,所述超核为连接至少一个数据中心的网络节点;查找单元,配置用于查找出当前下载所述待下载数据的第二终端集合;获取单元,配置用于对于所述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取所述第二数据中心连接的超核的第二超核标识;生成单元,配置用于基于所述第一数据中心标识、所述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径,其中,下载路径指示所述待下载数据被下载时经由的数据中心、超核;上传单元,配置用于从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据。
在一些实施例中,所述装置还包括:进程创建单元,配置用于为所述数据下载请求创建用于下载所述待下载数据的数据下载进程。
在一些实施例中,所述数据下载请求还包括:下载截止时间信息、优先级信息、下载限速和上传限速;以及所述装置还包括:进程调度单元,配置用于基于所述下载截止时间信息、所述优先级信息、所述下载限速和所述上传限速,调度所述数据下载进程。
在一些实施例中,所述装置还包括:存储单元,配置用于将所述数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中。
在一些实施例中,查找单元进一步配置用于:在内存数据库中查找出当前下载所述待下载数据的第二终端集合。
在一些实施例中,所述上传单元,包括:第一选取模块,配置用于从所述至少一条下载路径中选取出最短路径;第二选取模块,配置用于从所述最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端;上传模块,配置用于利用所述上传第二终端向所述第一终端上传所述待下载数据。
在一些实施例中,所述装置还包括:监控单元,配置用于监控超核之间的网络信息,其中,所述网络信息包括:带宽使用率、传输速度。
本申请提供的数据下载方法和装置,通过接收第一终端的数据下载请求,然后找出当前正在下载该数据的第二终端集合,接着从第二终端集合中选出下载路径最短的第二终端子集,最后利用第二终端子集向第一终端上传待下载数据,而不是直接使用待下载数据所在的终端上传待下载数据,从而有效利用了下载机的上传能力,提高了低成本链路的资源利用率,降低了高成本链路的使用频率,从而降低了链路成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的数据下载方法的一个实施例的流程图;
图3是根据本申请的数据下载方法的又一个实施例的流程图;
图4是根据本申请的数据下载装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据下载方法或数据下载装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括控制服务器101,位于不同地域的超核102、103,数据中心1021、1022、1023、1031、1032、1033、1034和网络104。网络104用以在控制服务器101,超核102、103和数据中心1021、1022、1023、1031、1032、1033、1034之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。数据中心1021、1022和1023与超核102之间有直接的光纤连接。数据中心1031、1032、1033和1034与超核103之间有直接的光纤连接。数据中心1021、1022和1023之间经由超核102进行通信。数据中心1031、1032、1033和1034之间经由超核103进行通信。超核102与超核103之间也有直接的光纤连接。连接不同超核(即,跨域)的两个数据中心间相互通信需要通过不同的超核进行中转,即跨域数据中心间网络通信需要经过不同的超核进行路由转发。而通常超核到超核的带宽非常昂贵,而数据中心到超核的带宽以及数据中心内部服务器之间的带宽相对便宜一些。
控制服务器101可以是提供各种服务的服务器,例如对数据中心中的某些服务器提交的数据下载请求进行分析,找到最短路径去下载相应的数据。
用户可以通过数据中心内的各个服务器与控制服务器101交互,以发出数据下载请求。在实际运行中,数据中心1021、1022、1023、1031、1032、1033、1034中的服务器既可以是请求下载的请求服务器,也可以是提供下载数据的数据源服务器。
需要说明的是,本申请实施例所提供的数据下载方法一般由控制服务器101执行,相应地,数据下载装置一般设置于控制服务器101中。
应该理解,图1中的控制服务器、数据中心、超核和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的控制服务器、数据中心、超核和网络。
继续参考图2,其示出了根据本申请的数据下载方法的一个实施例的流程200。所述的数据下载方法,包括以下步骤:
步骤201,接收第一终端的数据下载请求。
在本实施例中,数据下载方法运行于其上的电子设备(例如图1所示的控制服务器101)可以通过有线连接方式或者无线连接方式从用户利用其进行数据下载的第一终端(例如图1所示的数据中心1021、1022、1023、1031、1032、1033、1034内部署的任一台服务器)接收数据下载请求。其中,上述数据下载请求包括:待下载数据的数据标识,第一终端的第一终端标识,第一终端所属的数据中心(例如图1所示的数据中心1021、1022、1023、1031、1032、1033、1034)的第一数据中心标识,第一数据中心连接的超核(例如图1所示的超核102、103)的第一超核标识,其中,超核为连接至少一个数据中心的网络节点。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
在本实施例中,待下载数据可以是文件,也可以是目录。待下载数据既可以存储在单机中,也可以存储在集群服务器中。待下载数据标识是用来唯一识别或区分待下载数据的标识符。
在本实施例中,数据中心标识是用来唯一识别或区分数据中心的标识符。超核标识是用来唯一识别或区分超核的标识符。每个数据中心都连接有一超核,同一超核的数据中心之间相互通信通常通过共同的超核来中转。不同超核的数据中心之间相互通信通常通过不同的超核来中转。
步骤202,查找出当前下载待下载数据的第二终端集合。
在本实施例中,基于步骤201中得到的待下载数据的数据标识,上述电子设备(例如图1所示的控制服务器101)可以通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出当前下载上述待下载数据的所有第二终端(例如图1所示的数据中心1021、1022、1023、1031、1032、1033、1034内部署的服务器),作为第二终端集合。
步骤203,获取第二终端集合对应的第二数据中心标识和第二超核标识。
在本实施例中,基于步骤202中得到的第二终端集合,对于第二终端集合中的每一个第二终端(例如图1所示的数据中心1021、1022、1023、1031、1032、1033、1034内部署的任一服务器),上述电子设备可以通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中获取该第二终端所属的数据中心(例如图1所示的数据中心1021、1022、1023、1031、1032、1033、1034)的第二数据中心标识,以及获取第二数据中心连接的超核(例如图1所示的超核102、103)的第二超核标识。这里,获取得到的第二数据中心标识至少是一个。相应的第二超核标识也至少是一个。
步骤204,基于第一数据中心标识、第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径。
在本实施例中,下载路径指示待下载数据被下载时经由的数据中心、超核。对于步骤202中获得的第二终端集合中的每一个第二终端,依据步骤203中获得的第二数据中心标识和第二超核标识,上述电子设备可以首先判断第一数据中心和第二数据中心是否是同一数据中心,如果是,则说明第一终端和第二终端在同一数据中心内,那么生成下载路径:第二终端→第一数据中心(同第二数据中心)→第一终端;如果第一数据中心和第二数据中心不是同一数据中心,则说明第一终端和第二终端不在同一数据中心内,再判断,第一数据中心和第二数据中心是否连接同一超核;如果第一数据中心和第二数据中心连接同一超核,那么生成下载路径:第二终端→第二数据中心→第一超核(同第二超核)→第一数据中心→第一终端;如果第一数据中心和第二数据中心连接不同的超核,那么生成下载路径:第二终端→第二数据中心→第二超核→第一超核→第一数据中心→第一终端。按照上述方法,上述电子设备可以为上述下载请求生成至少一条下载路径。
步骤205,从至少一条下载路径中选取出最短路径,利用最短路径对应的第二终端子集向第一终端上传待下载数据。
在本实施例中,上述电子设备可以为每段下载路径设定长度,然后计算整条下载路径的长度。
在本实施例的一些可选的实现方式中,上述电子设备可以为每段下载路径设定相同的长度,例如,为每段路径设定长度均为1,这样的设置方式,下载路径“第二终端→第二数据中心→第一超核(同第二超核)→第一数据中心→第一终端”的长度就是4,下载路径“第二终端→第二数据中心→第二超核→第一超核→第一数据中心→第一终端”的长度就是5。
在本实施例的一些可选的实现方式中,上述电子设备也可以为每段下载路径按照链路成本设定不同的长度。例如设置终端和数据中心之间长度为1,数据中心和超核之间长度为5,超核与超核之间长度为10,这样,下载路径“第二终端→第二数据中心→第一超核(同第二超核)→第一数据中心→第一终端”的长度就是12(1+5+5+1=12),而下载路径“第二终端→第二数据中心→第二超核→第一超核→第一数据中心→第一终端”的长度就是22(1+5+10+5+1=22)。
在本实施例中,上述电子设备再基于上述下载路径长度的计算结果从至少一条下载路径中选取出最短路径,需要说明的是,这里选取出的最短路径对应的第二终端可以是一个也可以多于一个,形成第二终端子集,其中第二终端子集中的每个第二终端都来自步骤202中所得到的第二终端集合。
在本实施例中,上述电子设备最后利用最短路径对应的第二终端子集向第一终端上传待下载数据。第二终端子集中的第二终端将其正在下载的待下载数据中下载完成的部分数据缓存在本地,当收到控制服务器的上传指令后,将其缓存的待下载数据上传给第一终端。
在本实施例的一些可选的实现方式中,上述电子设备还可以监控超核之间的网络信息。其中,网络信息包括:带宽使用率和传输速度。这里,上述电子设备可以根据监控得到的网络信息来对来自终端设备的数据下载请求进行相应的限速和分配带宽。
本申请的上述实施例提供的方法通过接收第一终端的数据下载请求,然后找出当前正在下载该数据的第二终端集合,而后从第二终端集合中选出下载路径最短的第二终端子集,最后利用第二终端子集向第一终端上传待下载数据,而不是直接使用待下载数据所在的终端上传待下载数据,从而有效利用了下载机的上传能力,提高了低成本链路的资源利用率,降低了高成本链路的使用频率,从而降低了链路成本。
进一步参考图3,其示出了数据下载方法的又一个实施例的流程300。该数据下载方法的流程300,包括以下步骤:
步骤301,接收第一终端的数据下载请求。
在本实施例中,数据下载方法运行于其上的电子设备(例如图1所示的控制服务器101)可以通过有线连接方式或者无线连接方式从用户利用其进行数据下载的第一终端接收数据下载请求。其中,上述数据下载请求包括:待下载数据的数据标识,第一终端的第一终端标识,第一终端所属的数据中心的第一数据中心标识,第一数据中心连接的超核的第一超核标识,其中,超核为连接至少一个数据中心的网络节点。
步骤302,创建用于下载待下载数据的数据下载进程。
在本实施例中,上述电子设备可以为步骤301中接收到的数据下载请求创建用于下载待下载数据的数据下载进程,并记录进程创建的时间,以供后续调度使用。
步骤303,调度数据下载进程。
在本实施例中,数据下载请求还可以包括数据下载截止时间信息、优先级信息、下载限速和上传限速。上述电子设备可以基于下载截止时间信息、优先级信息、下载限速和上传限速,调度数据下载进程。
在本实施例的一些可选的实现方式中,上述电子设备可以按照如下方式调度数据下载进程:优先级高的先调度;同等优先级,下载截止时间短的数据下载进程先调度。
在本实施例的一些可选的实现方式中,为避免优先级低的数据下载进程长时间不被调度,上述电子设备也可以按照如下方式调度数据下载进程:为优先级设置优先级系数,其中,优先级系数低的优先级高,优先级系数高的优先级低,例如8个优先级,对应的优先级系数为从0到7的整数;计算数据下载进程的下载截止时间与数据下载进程的创建时间之间的时间差,作为数据下载总时间;计算当前剩余数据量与下载限速的商,作为数据下载剩余时间;将数据下载总时间乘以优先级系数再除以数据下载剩余时间,得到调度值;调度值越小的优先调度。
步骤304,在内存数据库中查找出当前下载待下载数据的第二终端集合。
在本实施例中,上述电子设备可以在内存数据库中查找出当前下载待下载数据的第二终端集合。这里,由于所有当前下载待下载数据的第二终端开始下载上述待下载数据后,上述电子设备就将上述第二终端的终端标识和待下载数据的数据标识已经对应的存储在了内存数据库中,因此,上述电子设备可以在内存数据库中查找出所有的当前下载待下载数据的第二终端集合。所有的第二终端在开始下载待下载数据后,会将待下载数据缓存,以供上传给其他请求上述待下载数据的终端,这样就利用了下载机的上传能力。
在本实施例的一些可选的实现方式中,内存数据库可以是Redis内存数据库。
步骤305,获取第二终端集合对应的第二数据中心标识和第二超核标识。
在本实施例中,基于步骤304中得到的第二终端集合,对于第二终端集合中的每一个第二终端,上述电子设备可以通过实时更新的内存数据库获取该第二终端所属的数据中心的第二数据中心标识,以及获取第二数据中心连接的超核的第二超核标识。这里,获取得到的第二数据中心标识至少是一个。相应的第二超核标识也至少是一个。
步骤306,基于第一数据中心标识、第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径。
在本实施例中,下载路径指示待下载数据被下载时经由的数据中心、超核。对于步骤304中获得的第二终端集合中的每一个第二终端,依据步骤305中获得的第二数据中心标识和第二超核标识,上述电子设备可以首先判断第一数据中心和第二数据中心是否是同一数据中心,如果是,则说明第一终端和第二终端在同一数据中心内,那么生成下载路径:第二终端→第一数据中心(同第二数据中心)→第一终端;如果第一数据中心和第二数据中心不是同一数据中心,则说明第一终端和第二终端不在同一数据中心内,再判断,第一数据中心和第二数据中心是否连接同一超核;如果第一数据中心和第二数据中心连接同一超核,那么生成下载路径:第二终端→第二数据中心→第一超核(同第二超核)→第一数据中心→第一终端;如果第一数据中心和第二数据中心连接不同的超核,那么生成下载路径:从第二终端→第二数据中心→第二超核→第一超核→第一数据中心→第一终端。按照上述方法,上述电子设备可以生成至少一条下载路径。
步骤307,从至少一条下载路径中选取出最短路径。
在本实施例中,上述电子设备可以为每段下载路径设定长度,然后计算整条下载路径的长度。
在本实施例中,上述电子设备可以基于上述下载路径长度的计算结果从至少一条下载路径中选取出最短路径。
步骤308,从最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端。
在本实施例中,上述电子设备可以从步骤307中选取出的最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端。这是因为,一旦第二终端的数据下载进程结束,那么缓存在第二终端的数据就会被持久化在第二终端,第二终端就不能再提供上传服务,因此要尽可能的利用第二终端在数据下载期间的上传能力为其他终端提供上传服务;另外,数据下载进程创建时间最早的第二终端已经下载的数据量相对比较大,可以向第一终端上传的数据量也就相对较多,因此选择数据下载进程创建时间最早的第二终端作为上传第二终端。
需要说明的是,上述第二终端子集中的第二终端数量可以是一个也可超出一个,第二终端子集中的每个第二终端都来自步骤304中所得到的第二终端集合。
步骤309,利用上传第二终端向第一终端上传待下载数据。
在本实施例中,上述电子设备可以利用步骤308中得到的上传第二终端向第一终端上传待下载数据。其中,上传第二终端将其正在下载的待下载数据中下载完成的部分数据缓存在本地,当收到控制服务器的上传指令后,将其缓存的待下载数据上传给第一终端。
在本实施例的一些可选的实现方式中,上述电子设备可以以上传第二终端的上述待下载数据的数据下载进程的上传限速与第一终端的数据下载进程的下载限速之间的较小速度作为上述上传第二终端向上述第一终端上传数据的实际上传速度。
步骤310,将数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中。
在本实施例中,上述电子设备可以对步骤302中创建的数据下载进程,将上述数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中,这样,在上述数据下载进程之后创建的其他数据下载进程就可以查询到当前有哪些终端在下载上述待下载数据。
从图3中可以看出,与图2对应的实施例相比,本实施例中的数据下载方法的流程300多出了创建数据下载进程的步骤302、调度数据下载进程的步骤303和在内存数据库中存储第一终端标识和数据标识的步骤310,并且步骤304突出了在内存数据库中查找当前下载待下载数据的第二终端集合,步骤308突出了从最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端。由此,本实施例描述的方案可以引入数据下载进程,从而实现更全面的数据下载进程的调度和更有效的利用下载机的上传能力,降低高成本链路的使用频率,从而降低链路成本。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种数据下载装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例上述的数据下载装置400包括:接收单元401、查找单元402、获取单元403、生成单元404和上传单元405。其中,接收单元401,配置用于接收第一终端的数据下载请求,其中,上述数据下载请求包括:待下载数据的数据标识,上述第一终端的第一终端标识,上述第一终端所属的数据中心的第一数据中心标识,上述第一数据中心连接的超核的第一超核标识,其中,上述超核为连接至少一个数据中心的网络节点;查找单元402,配置用于查找出当前下载上述待下载数据的第二终端集合;获取单元403,配置用于对于上述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取上述第二数据中心连接的超核的第二超核标识;生成单元404,配置用于基于上述第一数据中心标识、上述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径,其中,下载路径指示上述待下载数据被下载时经由的数据中心、超核;上传单元405,配置用于从上述至少一条下载路径中选取出最短路径,利用上述最短路径对应的第二终端子集向第一终端上传上述待下载数据。
在本实施例中,接收单元401、查找单元402、获取单元403、生成单元404和上传单元405的具体处理可分别参考图2对应实施例中步骤201、步骤202、步骤203、步骤204以及步骤205的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,本实施例提供的数据下载装置400还可以包括:进程创建单元(图中未示出),配置用于为上述数据下载请求创建用于下载上述待下载数据的数据下载进程。进程创建单元的具体处理及其所带来的技术效果可参考图3对应实施例中步骤302的实现方式的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述数据下载请求还可以包括:下载截止时间信息、优先级信息、下载限速和上传限速;以及本实施例提供的数据下载装置400还可以包括:进程调度单元(图中未示出),配置用于基于上述下载截止时间信息、上述优先级信息、上述下载限速和上述上传限速,调度上述数据下载进程。进程调度单元的具体处理及其所带来的技术效果可参考图3对应实施例中步骤303的实现方式的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,本实施例提供的数据下载装置400还可以包括:存储单元(图中未示出),配置用于将上述数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中。存储单元的具体处理及其所带来的技术效果可参考图3对应实施例中步骤310的实现方式的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,本实施例提供的数据下载装置400的查找单元402进一步配置用于:在内存数据库中查找出当前下载上述待下载数据的第二终端集合。具体处理及其所带来的技术效果可参考图3对应实施例中步骤304的实现方式的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,本实施例提供的数据下载装置400的上传单元405可以包括:第一选取模块(图中未示出),配置用于从上述至少一条下载路径中选取出最短路径;第二选取模块(图中未示出),配置用于从上述最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端;上传模块(图中未示出),配置用于利用上述上传第二终端向上述第一终端上传上述待下载数据。第一选取模块、第二选取模块和上传模块的具体处理及其所带来的技术效果可参考图3对应实施例中步骤307、步骤308和步骤309的相应实现方式的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,本实施例提供的数据下载装置400还可以包括:监控单元(图中未示出),配置用于监控超核之间的网络信息,其中,上述网络信息包括:带宽使用率、传输速度。监控单元的具体处理及其所带来的技术效果可参考图2对应实施例中步骤205的相应实现方式的相关说明,在此不再赘述。
下面参考图5,其示出了适于用来实现本申请实施例的控制服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分506加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括硬盘等的存储部分506;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分507。通信部分507经由诸如因特网的网络执行通信处理。驱动器508也根据需要连接至I/O接口505。可拆卸介质509,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器508上,以便于从其上读出的计算机程序根据需要被安装入存储部分506。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分507从网络上被下载和安装,和/或从可拆卸介质509被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、查找单元、获取单元、生成单元和上传单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收第一终端的数据下载请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:接收第一终端的数据下载请求,其中,上述数据下载请求包括:待下载数据的数据标识,上述第一终端的第一终端标识,上述第一终端所属的数据中心的第一数据中心标识,上述第一数据中心连接的超核的第一超核标识,其中,上述超核为连接至少一个数据中心的网络节点;查找出当前下载上述待下载数据的第二终端集合;对于上述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取上述第二数据中心连接的超核的第二超核标识;基于上述第一数据中心标识、上述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径,其中,下载路径指示上述待下载数据被下载时经由的数据中心、超核;从上述至少一条下载路径中选取出最短路径,利用上述最短路径对应的第二终端子集向第一终端上传上述待下载数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种数据下载方法,其特征在于,所述方法包括:
接收第一终端的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识,所述第一终端的第一终端标识,所述第一终端所属的数据中心的第一数据中心标识,所述第一数据中心连接的超核的第一超核标识,下载截止时间信息,优先级信息,下载限速和上传限速,其中,所述超核为连接至少一个数据中心的网络节点;
为所述数据下载请求创建用于下载所述待下载数据的数据下载进程;
基于所述下载截止时间信息、所述优先级信息、所述下载限速和所述上传限速,调度所述数据下载进程;
查找出当前下载所述待下载数据的第二终端集合;
对于所述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取所述第二数据中心连接的超核的第二超核标识;
基于所述第一数据中心标识、所述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径,其中,下载路径指示所述待下载数据被下载时经由的数据中心、超核;
从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据。
2.根据权利要求1所述的数据下载方法,其特征在于,所述从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据之后,所述方法还包括:
将所述数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中。
3.根据权利要求2所述的数据下载方法,其特征在于,所述查找出当前下载所述待下载数据的第二终端集合,包括:
在内存数据库中查找出当前下载所述待下载数据的第二终端集合。
4.根据权利要求1所述的数据下载方法,其特征在于,所述从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据,包括:
从所述至少一条下载路径中选取出最短路径;
从所述最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端;
利用所述上传第二终端向所述第一终端上传所述待下载数据。
5.根据权利要求1所述的数据下载方法,其特征在于,所述方法还包括:监控超核之间的网络信息,其中,所述网络信息包括:带宽使用率、传输速度。
6.一种数据下载装置,其特征在于,所述装置包括:
接收单元,配置用于接收第一终端的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识,所述第一终端的第一终端标识,所述第一终端所属的数据中心的第一数据中心标识,所述第一数据中心连接的超核的第一超核标识,下载截止时间信息、优先级信息、下载限速和上传限速,其中,所述超核为连接至少一个数据中心的网络节点;
进程创建单元,配置用于为所述数据下载请求创建用于下载所述待下载数据的数据下载进程;
进程调度单元,配置用于基于所述下载截止时间信息、所述优先级信息、所述下载限速和所述上传限速,调度所述数据下载进程;
查找单元,配置用于查找出当前下载所述待下载数据的第二终端集合;
获取单元,配置用于对于所述第二终端集合中的每一个第二终端,获取该第二终端所属的数据中心的第二数据中心标识,以及获取所述第二数据中心连接的超核的第二超核标识;
生成单元,配置用于基于所述第一数据中心标识、所述第一超核标识、第二数据中心标识和第二超核标识生成至少一条下载路径,其中,下载路径指示所述待下载数据被下载时经由的数据中心、超核;
上传单元,配置用于从所述至少一条下载路径中选取出最短路径,利用所述最短路径对应的第二终端子集向第一终端上传所述待下载数据。
7.根据权利要求6所述的数据下载装置,其特征在于,所述装置还包括:
存储单元,配置用于将所述数据下载进程对应的数据下载请求的第一终端标识和数据标识对应存储在内存数据库中。
8.根据权利要求7所述的数据下载装置,其特征在于,所述查找单元进一步配置用于:
在内存数据库中查找出当前下载所述待下载数据的第二终端集合。
9.根据权利要求6所述的数据下载装置,其特征在于,所述上传单元,包括:
第一选取模块,配置用于从所述至少一条下载路径中选取出最短路径;
第二选取模块,配置用于从所述最短路径对应的第二终端子集中选取出对应的数据下载进程的创建时间最早的第二终端作为上传第二终端;
上传模块,配置用于利用所述上传第二终端向所述第一终端上传所述待下载数据。
10.根据权利要求6所述的数据下载装置,其特征在于,所述装置还包括:
监控单元,配置用于监控超核之间的网络信息,其中,所述网络信息包括:带宽使用率、传输速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610170218.0A CN105657063B (zh) | 2016-03-23 | 2016-03-23 | 数据下载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610170218.0A CN105657063B (zh) | 2016-03-23 | 2016-03-23 | 数据下载方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105657063A CN105657063A (zh) | 2016-06-08 |
CN105657063B true CN105657063B (zh) | 2019-06-18 |
Family
ID=56495490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610170218.0A Active CN105657063B (zh) | 2016-03-23 | 2016-03-23 | 数据下载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105657063B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452847B (zh) * | 2016-09-21 | 2019-09-17 | 广州视源电子科技股份有限公司 | Wifi设备智能识别方法及装置 |
CN114285788B (zh) * | 2020-09-18 | 2023-06-20 | 华为技术有限公司 | 一种设备连接方法、装置和设备 |
CN113824785A (zh) * | 2021-09-22 | 2021-12-21 | 亿次网联(杭州)科技有限公司 | 一种基于点对点网络的资源下载方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634346A (zh) * | 2012-08-23 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 网络数据中心的数据分发方法和系统 |
CN103781055A (zh) * | 2014-01-26 | 2014-05-07 | 深圳市同洲电子股份有限公司 | 一种数据下载方法及相关设备 |
CN104135518A (zh) * | 2014-07-29 | 2014-11-05 | 深圳市金立通信设备有限公司 | 一种数据共享的方法 |
EP3139552A1 (en) * | 2014-05-21 | 2017-03-08 | Huawei Technologies Co., Ltd. | Virtual shortest path tree establishment and processing method, and path computation element |
-
2016
- 2016-03-23 CN CN201610170218.0A patent/CN105657063B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634346A (zh) * | 2012-08-23 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 网络数据中心的数据分发方法和系统 |
CN103781055A (zh) * | 2014-01-26 | 2014-05-07 | 深圳市同洲电子股份有限公司 | 一种数据下载方法及相关设备 |
EP3139552A1 (en) * | 2014-05-21 | 2017-03-08 | Huawei Technologies Co., Ltd. | Virtual shortest path tree establishment and processing method, and path computation element |
CN104135518A (zh) * | 2014-07-29 | 2014-11-05 | 深圳市金立通信设备有限公司 | 一种数据共享的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105657063A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786600B (zh) | 任务调度方法和装置 | |
US8655985B2 (en) | Content delivery using multiple sources over heterogeneous interfaces | |
CN102546708B (zh) | 插件获取方法、系统及相关装置 | |
CN105657063B (zh) | 数据下载方法和装置 | |
CN107845011B (zh) | 用于处理订单的方法和装置 | |
CN110380919A (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN108628881A (zh) | 数据同步方法和装置 | |
CN108933822B (zh) | 用于处理信息的方法和装置 | |
CN109033001A (zh) | 用于分配gpu的方法和装置 | |
CN113988720B (zh) | 分流路径生成方法、装置、电子设备和计算机可读介质 | |
CN109101330A (zh) | 数据获取方法、装置和系统 | |
US11757716B2 (en) | Network management apparatus, method, and program | |
CN110288276A (zh) | 用于生成信息的方法和装置 | |
CN110225082A (zh) | 任务处理方法、装置、电子设备和计算机可读介质 | |
CN108540404B (zh) | 一种动态调整流表的方法和装置 | |
CN108696554A (zh) | 负载均衡方法和装置 | |
CN112116120B (zh) | 物流路径规划方法和装置 | |
CN114866553A (zh) | 一种数据分发方法、设备及存储介质 | |
CN101610165B (zh) | 一种自动扩散资源的方法和装置 | |
CN108900637A (zh) | 用于传输信息的方法及装置 | |
CN109151007B (zh) | 应用调度的数据处理方法、核心服务器与传输服务器 | |
CN108696549A (zh) | 负载均衡方法、装置和系统 | |
CN104717254B (zh) | 文件访问的方法和云网关 | |
CN105260324B (zh) | 用于分布式缓存系统的键值对数据操作方法和装置 | |
CN110309403A (zh) | 用于抓取数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |