CN105721612B - 数据传输方法和装置 - Google Patents

数据传输方法和装置 Download PDF

Info

Publication number
CN105721612B
CN105721612B CN201610244764.4A CN201610244764A CN105721612B CN 105721612 B CN105721612 B CN 105721612B CN 201610244764 A CN201610244764 A CN 201610244764A CN 105721612 B CN105721612 B CN 105721612B
Authority
CN
China
Prior art keywords
data
server
network speed
downloaded
subtask
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
Application number
CN201610244764.4A
Other languages
English (en)
Other versions
CN105721612A (zh
Inventor
曾李志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610244764.4A priority Critical patent/CN105721612B/zh
Publication of CN105721612A publication Critical patent/CN105721612A/zh
Application granted granted Critical
Publication of CN105721612B publication Critical patent/CN105721612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本申请公开了数据传输方法和装置。所述方法的一具体实施方式包括:接收数据请求服务器的数据下载请求,其中,数据下载请求包括:待下载数据的数据标识、数据请求服务器所属的机房的第一机房标识;采集第一机房标识所指示的第一机房中存储有所述待下载数据的至少一个第一服务器各自的第一网速;响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有所述待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速;根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据。该实施方式提高了数据传输的效率。

Description

数据传输方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及数据传输技术领域,尤其涉及数据传输方法和装置。
背景技术
为了提供快速的响应,企业通常会在多个区域构建大型数据中心(IDC,InternetData Center),每个数据中心包括多个机房,每个机房中配置有文件传输服务器和普通服务器,普通服务器从文件传输服务器中下载数据。
然而,如果短时间内普通服务器对本机房的文件传输服务器的数据下载请求过多时,本机房的文件传输服务器则不能及时向普通服务器传数据,这种只从本机房的文件传输服务器向普通服务器传输数据的方式,数据传输效率过低。
发明内容
本申请的目的在于提出一种改进的数据传输方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据传输方法,所述方法包括:接收数据请求服务器的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识、所述数据请求服务器所属的机房的第一机房标识;采集所述第一机房标识所指示的第一机房中存储有所述待下载数据的至少一个第一服务器各自的第一网速;响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有所述待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速;根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据。
在一些实施例中,所述根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据,包括:根据所选取的预定数目个数据传输服务器中各个数据传输服务器的网速,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,其中,子任务与数据传输服务器一一对应,且子任务包括指示该子任务对应的所述待下载数据中的部分待下载数据的子任务标识;对于每个子任务,将该子任务的子任务标识发送给相应的数据传输服务器,以供该数据传输服务器向所述数据请求服务器传输该子任务对应的所述待下载数据中的部分待下载数据。
在一些实施例中,所述根据所选取的预定数目个数据传输服务器中各个数据传输服务器的网速,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,包括:对于预定数目个数据传输服务器中的每个数据传输服务器,计算该数据传输服务器的网速与各个数据传输服务器的网速的总和的网速比例;按照所述网速比例计算该数据传输服务器的任务比例,其中,所述任务比例是该数据传输服务器对应的子任务中的部分待下载数据的数据量与所述待下载数据的数据量的比例。
在一些实施例中,所述方法还包括:校验所述数据传输服务器向所述数据请求服务器传输的待下载数据的完整性。
在一些实施例中,所述数据下载请求还包括:下载截止时间信息;以及所述根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据,包括:计算所述下载截止时间信息所指示的下载截止时间点与接收所述数据下载请求时的时间点的时间差;根据所述时间差和所述网速确定所选取的数据传输服务器的数目。
第二方面,本申请提供了一种数据传输装置,所述装置包括:接收模块,配置用于接收数据请求服务器的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识、所述数据请求服务器所属的机房的第一机房标识;采集模块,配置用于采集所述第一机房标识所指示的第一机房中存储有所述待下载数据的至少一个第一服务器各自的第一网速;查找模块,配置用于响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有所述待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速;传输模块,配置用于根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据。
在一些实施例中,所述传输模块,进一步配置用于:根据所选取的预定数目个数据传输服务器中各个数据传输服务器的网速,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,其中,子任务与数据传输服务器一一对应,且子任务包括指示该子任务对应的所述待下载数据中的部分待下载数据的子任务标识;对于每个子任务,将该子任务的子任务标识发送给相应的数据传输服务器,以供该数据传输服务器向所述数据请求服务器传输该子任务对应的所述待下载数据中的部分待下载数据。
在一些实施例中,所述传输模块,进一步配置用于:对于预定数目个数据传输服务器中的每个数据传输服务器,计算该数据传输服务器的网速与各个数据传输服务器的网速的总和的网速比例;按照所述网速比例计算该数据传输服务器的任务比例,其中,所述任务比例是该数据传输服务器对应的子任务中的部分待下载数据的数据量与所述待下载数据的数据量的比例。
在一些实施例中,所述装置还包括:校验模块,配置用于校验所述数据传输服务器向所述数据请求服务器传输的待下载数据的完整性。
在一些实施例中,所述数据下载请求还包括:下载截止时间信息;以及所述传输模块,进一步配置用于:计算所述下载截止时间信息所指示的下载截止时间点与接收所述数据下载请求时的时间点的时间差;根据所述时间差和所述网速确定所选取的数据传输服务器的数目。
本申请提供的数据传输方法和装置,通过待下载数据的数据标识、数据请求服务器所属的机房的第一机房标识;采集第一机房标识所指示的第一机房中存储有待下载数据的至少一个第一服务器各自的第一网速;响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速;根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向数据请求服务器传输待下载数据,提高了数据传输的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的数据传输方法的一个实施例的流程图;
图3是根据本申请的数据传输方法的又一个实施例的流程图;
图4是根据本申请的数据传输装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的数据请求服务器设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据传输方法或数据传输装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括控制服务器101,服务器1021、1022、103、104和网络105。服务器1021与服务器1022可以属于同一机房,因为服务器1021用于接收用户的指令向其他服务器(如服务器1022)请求数据,所以也可以称服务器1021为数据请求服务器;服务器1022、103、104分别属于不同的机房,服务器1022、103、104所属机房可以属于相同/不同的数据中心。网络105用以在控制服务器101,服务器1021、1022、103、104之间提供通信链路的介质。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等,通常,网络105选用传输速度最快的光纤光缆。
控制服务器101可以是提供各种服务,例如,对数据请求服务器1021提交的数据下载请求进行分析,根据网速找到最快的数据传输方案控制数据传输服务器向数据请求服务器1021传输待下载数据。
需要说明的是,本申请实施例所提供的数据下载方法一般由控制服务器101执行,相应地,数据下载装置一般设置于控制服务器101中。
应该理解,图1中的控制服务器、服务器和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的控制服务器和网络。
继续参考图2,示出了根据本申请的数据传输方法的一个实施例的流程200。上述的数据传输方法,包括以下步骤:
步骤201,接收数据请求服务器的数据下载请求。
在本实施例中,数据传输方法运行于其上的电子设备(例如图1所示的服务器101)可以通过有线连接方式或者无线连接方式从用户利用其进行数据下载的数据请求服务器(例如图1所示的服务器1021)接收数据下载请求,其中,上述数据下载请求包括:待下载数据的数据标识、上述数据请求服务器所属的机房的第一机房标识。
在本实施例中,数据请求服务器可以是上述数据请求服务器是某一机房中的服务器(如图1所示的服务器1021);相应地,该机房即是数据请求服务器所属的机房,例如,请参考图1,服务器1021在机房甲中,那么当服务器1021向控制服务器101发出数据下载请求时,服务器1021可以称为数据请求服务器,机房甲可以称为数据请求服务器所属的机房。
在本实施例中,待下载数据可以是文件,也可以是目录。待下载数据既可以存储在单机中,也可以存储在集群服务器中。待下载数据标识是用来唯一识别或区分待下载数据的标识符。机房标识是用来唯一识别或区分机房的标识符。
步骤202,采集第一机房标识所指示的第一机房中存储有待下载数据的至少一个第一服务器各自的第一网速。
在本实施例中,基于步骤201中得到的第一机房标识,上述电子设备可以首先确定第一机房标识所指示的第一机房,然后,基于步骤201中得到的待下载数据的数据标识在第一机房的第一服务器(例如图1所示的服务器1022)中,通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出存储有待下载数据的至少一个第一服务器,再后,采集上述至少一个第一服务器各自的第一网速。作为示例,第一机房标识所指示的第一机房甲中,有五台服务器,通过待下载机房的数据标识查得,其中两台服务器中存储有待下载数据,那么称这两台服务器为第一服务器,最后,采集这两台第一服务器各自的网速作为各自的第一网速。
步骤203,响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速。
在本实施例中,基于步骤202得到的至少一个第一服务器各自的第一网速,上述电子设备可以首先比较各个第一网速与预定阈值的大小,如果各个第一网速均小于预定阈值,那么在第二机房的至少一个第二服务器(例如图1所示服务器103、104)中,通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出存储有待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速。在这里,第一机房和第二机房是不同的机房。
步骤204,根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向数据请求服务器传输待下载数据。
在本实施例中,上述电子设备可以基于步骤202得到的至少一个第一网速和基于步骤203得到的至少一个第二网速,首先,将各个第一网速和各个第二网速排序,然后,按照网速大小的顺序从第一服务器和第二服务器中选取预定数目个服务器作为数据传输服务器,再后,通过上述数据传输服务器向数据请求服务器传输待下载数据。在这里,对第一网速和第二网速的排序是混合排序,通常,可以从网速较大的一端按序选取预定数目个服务器,作为数据传输服务器向数据请求服务器传输待下载数据;作为示例,有两个第一网速,有三个第二网速,那么将这五个网速统一进行排序,按照网速由大到小的顺序排序是:第一网速a、第一网速b、第二网速a、第二网速b、第二网速c,对应的服务器按序排列是:第一服务器a、第一服务器b、第二服务器a、第二服务器b、第二服务器c;如果预定数目定为三个,那么就是选取第一服务器a、第一服务器b、第二服务器a这三个服务器作为数据传输服务器向数据请求服务器传输待下载数据。
在本实施例的一些可选的实现方式中,上述数据下载请求还包括:下载截止时间信息;以及上述根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向上述数据请求服务器传输上述待下载数据,包括:计算上述下载截止时间信息所指示的下载截止时间点与接收上述数据下载请求时的时间点的时间差;根据上述时间差和上述网速确定所选取的数据传输服务器的数目。作为示例,如果上述时间差较大,网速各个网速均较小,那么可以选取较多个数据传输服务器;如果上述时间差较小,网速中有明显较大的,在计算网速明显较大至少一个的数据传输服务器可以在下载截止时间之前传输完毕上述待传输数据的情况下,可以选取数目较少的数据传输服务器。
本实施例的数据传输方法,通过在本机房的服务器传输能力不足时,基于网速开启多个机房的多个服务器同时向数据请求服务器传输待下载数据的模式,提高了数据传输的效率。
进一步参考图3,其示出了数据传输方法的又一个实施例的流程300。该数据传输方法的流程300,包括以下步骤:
步骤301,接收数据请求服务器的数据下载请求。
在本实施例中,数据传输方法运行于其上的电子设备(例如图1所示的服务器101)可以通过有线连接方式或者无线连接方式从用户利用其进行数据下载的数据请求服务器(例如图1所示的数据请求服务器1021)接收数据下载请求,其中,上述数据下载请求包括:待下载数据的数据标识、上述数据请求服务器所属的机房的第一机房标识。
在本实施例中,待下载数据可以是文件,也可以是目录。待下载数据既可以存储在单机中,也可以存储在集群服务器中。待下载数据标识是用来唯一识别或区分待下载数据的标识符。机房标识是用来唯一识别或区分机房的标识符。
步骤302,采集第一机房标识所指示的第一机房中存储有待下载数据的至少一个第一服务器各自的第一网速。
在本实施例中,基于步骤301中得到的第一机房标识,上述电子设备可以首先确定第一机房标识所指示的第一机房,然后,基于步骤301中得到的待下载数据的数据标识在第一机房的第一服务器(例如图1所示的服务器1022)中,通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出存储有待下载数据的至少一个第一服务器,再后,采集上述至少一个第一服务器各自的第一网速。
步骤303,响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速。
在本实施例中,基于步骤302得到的至少一个第一服务器各自的第一网速,上述电子设备可以首先比较各个第一网速与预定阈值的大小,如果各个第一网速均小于预定阈值,那么在第二机房的至少一个第二服务器(例如图1所示服务器103、104)中,通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出存储有待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速。
步骤304,根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器。
在本实施例中,上述电子设备可以基于步骤302得到的至少一个第一网速和基于步骤303得到的至少一个第二网速,首先,将各个第一网速和各个第二网速排序,然后,按照网速大小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器,再后,通过上述数据传输服务器向数据请求服务器传输待下载数据。
步骤305,根据所选取的预定数目个数据传输服务器中各个数据传输服务器的网速,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务。
在本实施例中,上述电子设备可以基于步骤304选取的预定数目个数据传输服务器,获取各个数据传输服务器的网速,然后根据上述网速对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,其中,子任务与数据传输服务器一一对应。作为示例,选取了第一服务器a、第一服务器b、第二服务器a这三个服务器作为数据传输服务器,那么将待下载数据对应的数据传输任务划分为三个子任务,三个子任务分别命名为子任务a、子任务b、子任务c,其中,子任务a与第一服务器a对应、子任务b与第一服务器b对应、子任务c与第二服务器a对应。
在本实施例的一些可选的实现方式中,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,包括:对于预定数目个数据传输服务器中的每个数据传输服务器,计算该数据传输服务器的网速与各个数据传输服务器的网速的总和的网速比例;按照上述网速比例计算该数据传输服务器的任务比例,其中,上述任务比例是该数据传输服务器对应的子任务中的部分待下载数据的数据量与上述待下载数据的数据量的比例。通常,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,其中,各个子任务对应的部分待下载数据的大小的比例与各个网速的比例相同。作为示例,选取了第一服务器a、第一服务器b、第二服务器a这三个服务器作为数据传输服务器,这三个数据传输服务器的网速分别为10M/s、20M/s、30M/s,即这三个网速的比例是1:2:3;按照与网速相同的比例划分待下载数据,例如待下载数据总共是6M,那么将待下载数据对应的数据传输任务划分为三个子任务,子任务a、子任务b、子任务c对应的部分待下载数据量分别是1M、2M、3M。需要说明的是,本领域普通技术人员均可理解,M/s是数据传输单位,M是数据量单位,在此不再赘述。
步骤306,对于每个子任务,将该子任务的子任务标识发送给相应的数据传输服务器,以供该数据传输服务器向数据请求服务器传输该子任务对应的待下载数据中的部分待下载数据。
在本实施例中,上述电子设备可以基于步骤305得到的每个子任务,将该子任务的子任务标识发送给相应的数据传输服务器,以供该数据传输服务器向数据请求服务器传输该子任务对应的待下载数据中的部分待下载数据。
步骤307,校验上述数据传输服务器向数据请求服务器传输的待下载数据的完整性。
在本实施例中,上述电子设备可以在基于步骤306中每个数据传输服务器均向数据请求服务器传输其对应的部分待下载数据完毕后,根据数据请求服务器所接收到的各个部分待下载数据,校验数据请求服务器所接收的待下载数据的完整性。
在本实施例的一些可选的实现方式中,校验数据请求服务器所接收的待下载数据的完整性可以使用奇偶校验法、循环冗余校验法、信息-摘要算法(MD,Message DigestAlgorithm)等数据校验法,需要说明的是,上述各个算法本身的计算过程是本领域普通技术人员所公知的,在此不再赘述。
从图3中可以看出,与图2对应的实施例相比,本实施例中的数据传输方法的流程300突出了根据各个数据传输服务器的网速对数据传输任务进行划分的步骤、对传输到数据请求服务器的待下载数据的完整性进行校验的步骤。由此,本实施例描述的方案引入了合理利用网速对待下载数据进行传输和校验数据完整性,从而实现更快速的数据传输和更有效的数据传输。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种数据传输装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例上述的数据传输装置400包括:接收模块401、采集模块402、查找模块403和传输模块404。其中,接收模块401配置用于接收数据请求服务器的数据下载请求,其中,上述数据下载请求包括:待下载数据的数据标识、上述数据请求服务器所属的机房的第一机房标识;采集模块402配置用于采集上述第一机房标识所指示的第一机房中存储有上述待下载数据的至少一个第一服务器各自的第一网速;查找模块403配置用于响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有上述待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速;传输模块404配置用于根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向上述数据请求服务器传输上述待下载数据。
在本实施例中,数据传输装置400的接收模块401可以通过有线连接方式或者无线连接方式从用户利用其进行数据下载的数据请求服务器接收数据下载请求,其中,上述数据下载请求包括:待下载数据的数据标识、上述数据请求服务器所属的机房的第一机房标识。
在本实施例中,基于接收模块401得到的网址,上述采集模块402可以首先确定第一机房标识所指示的第一机房,然后,基于接收模块401中得到的待下载数据的数据标识在第一机房的第一服务器中,通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出存储有待下载数据的至少一个第一服务器,再后,采集上述至少一个第一服务器各自的第一网速。
在本实施例中,数据传输装置400的查找模块403基于采集模块402得到的至少一个第一服务器各自的第一网速,可以首先比较各个第一网速与预定阈值的大小,如果各个第一网速均小于预定阈值,那么在第二机房的至少一个第二服务器中,通过在实时更新的服务器存储信息集合(例如数据库中的数据表)中查找出存储有待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速。在这里,第一机房和第二机房是不同的机房。
在本实施例中,上述传输模块404可以基于采集模块402得到的至少一个第一网速和基于查找模块403得到的至少一个第二网速,首先,将各个第一网速和各个第二网速排序,然后,按照网速大小的顺序从第一服务器和第二服务器中选取预定数目个服务器作为数据传输服务器,再后,通过上述数据传输服务器向数据请求服务器传输待下载数据。
在本实施例的一些可选的实现方式中,上述传输模块404,进一步配置用于:根据所选取的预定数目个数据传输服务器中各个数据传输服务器的网速,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,其中,子任务与数据传输服务器一一对应,且子任务包括指示该子任务对应的上述待下载数据中的部分待下载数据的子任务标识;对于每个子任务,将该子任务的子任务标识发送给相应的数据传输服务器,以供该数据传输服务器向上述数据请求服务器传输该子任务对应的上述待下载数据中的部分待下载数据。
在本实施例的一些可选的实现方式中,上述传输模块404,进一步配置用于:对于预定数目个数据传输服务器中的每个数据传输服务器,计算该数据传输服务器的网速与各个数据传输服务器的网速的总和的网速比例;按照上述网速比例计算该数据传输服务器的任务比例,其中,上述任务比例是该数据传输服务器对应的子任务中的部分待下载数据的数据量与上述待下载数据的数据量的比例。
在本实施例的一些可选的实现方式中,上述数据下载请求还包括:下载截止时间信息;以及上述传输模块404,进一步配置用于:计算上述下载截止时间信息所指示的下载截止时间点与接收上述数据下载请求时的时间点的时间差;根据上述时间差和上述网速确定所选取的数据传输服务器的数目。
在本实施例的一些可选的实现方式中,上述装置还包括:校验模块(未示出),配置用于校验上述数据传输服务器向上述数据请求服务器传输的待下载数据的完整性。
本领域技术人员可以理解,上述数据传输装置400还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图4中未示出。
下面参考图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-3任一项所述的方法,其特征在于,所述方法还包括:
校验所述数据传输服务器向所述数据请求服务器传输的待下载数据的完整性。
5.根据权利要求4所述的方法,其特征在于,所述数据下载请求还包括:下载截止时间信息;以及
所述根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据,包括:
计算所述下载截止时间信息所指示的下载截止时间点与接收所述数据下载请求时的时间点的时间差;
根据所述时间差和所述网速确定所选取的数据传输服务器的数目。
6.一种数据传输装置,其特征在于,所述装置包括:
接收模块,配置用于接收数据请求服务器的数据下载请求,其中,所述数据下载请求包括:待下载数据的数据标识、所述数据请求服务器所属的机房的第一机房标识;
采集模块,配置用于采集所述第一机房标识所指示的第一机房中存储有所述待下载数据的至少一个第一服务器各自的第一网速;
查找模块,配置用于响应于各个第一网速均小于预定阈值,查找出第二机房中的、存储有所述待下载数据的至少一个第二服务器,并且确定至少一个第二服务器各自的第二网速;
传输模块,配置用于根据对各个第一网速和各个第二网速的排序,按照网速由大到小的顺序从第一服务器和第二服务器中选取预定数目个数据传输服务器向所述数据请求服务器传输所述待下载数据。
7.根据权利要求6所述的装置,其特征在于,所述传输模块,进一步配置用于:
根据所选取的预定数目个数据传输服务器中各个数据传输服务器的网速,对待下载数据对应的数据传输任务进行划分以生成预定数目个子任务,其中,子任务与数据传输服务器一一对应,且子任务包括指示该子任务对应的所述待下载数据中的部分待下载数据的子任务标识;
对于每个子任务,将该子任务的子任务标识发送给相应的数据传输服务器,以供该数据传输服务器向所述数据请求服务器传输该子任务对应的所述待下载数据中的部分待下载数据。
8.根据权利要求7所述的装置,其特征在于,所述传输模块,进一步配置用于:
对于预定数目个数据传输服务器中的每个数据传输服务器,计算该数据传输服务器的网速与各个数据传输服务器的网速的总和的网速比例;
按照所述网速比例计算该数据传输服务器的任务比例,其中,所述任务比例是该数据传输服务器对应的子任务中的部分待下载数据的数据量与所述待下载数据的数据量的比例。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述装置还包括:
校验模块,配置用于校验所述数据传输服务器向所述数据请求服务器传输的待下载数据的完整性。
10.根据权利要求9所述的装置,其特征在于,所述数据下载请求还包括:下载截止时间信息;以及
所述传输模块,进一步配置用于:
计算所述下载截止时间信息所指示的下载截止时间点与接收所述数据下载请求时的时间点的时间差;
根据所述时间差和所述网速确定所选取的数据传输服务器的数目。
CN201610244764.4A 2016-04-19 2016-04-19 数据传输方法和装置 Active CN105721612B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610244764.4A CN105721612B (zh) 2016-04-19 2016-04-19 数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610244764.4A CN105721612B (zh) 2016-04-19 2016-04-19 数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN105721612A CN105721612A (zh) 2016-06-29
CN105721612B true CN105721612B (zh) 2019-05-07

Family

ID=56161359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610244764.4A Active CN105721612B (zh) 2016-04-19 2016-04-19 数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN105721612B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301907A (zh) * 2016-08-10 2017-01-04 张北江 安防监控中主备方案实现方法及系统
CN109816387A (zh) * 2019-03-02 2019-05-28 杭州复杂美科技有限公司 数据传输方法、设备和存储介质
CN111083204B (zh) * 2019-11-29 2022-11-15 广州市百果园信息技术有限公司 文件传输方法、装置及存储介质
CN113114740B (zh) * 2021-03-29 2023-05-26 深圳云里物里科技股份有限公司 一种网关的数据传输方法、装置、网关和存储介质
CN116811660B (zh) * 2023-08-30 2023-11-24 中亿(深圳)信息科技有限公司 基于新能源充电桩的电池检测方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852307A (zh) * 2005-10-10 2006-10-25 华为技术有限公司 一种数据下载方法
CN102932442A (zh) * 2012-10-26 2013-02-13 北京奇虎科技有限公司 用于分布式数据存储系统的设备、系统及方法
CN102983942A (zh) * 2012-11-28 2013-03-20 北京百度网讯科技有限公司 数据传输方法及设备
CN103634224A (zh) * 2012-08-22 2014-03-12 深圳市腾讯计算机系统有限公司 网络中数据传输的方法和系统
CN104202375A (zh) * 2014-08-22 2014-12-10 广州华多网络科技有限公司 同步数据的方法及系统
US9223619B2 (en) * 2014-03-11 2015-12-29 Sas Institute, Inc. Techniques for generating instructions to control database processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852307A (zh) * 2005-10-10 2006-10-25 华为技术有限公司 一种数据下载方法
CN103634224A (zh) * 2012-08-22 2014-03-12 深圳市腾讯计算机系统有限公司 网络中数据传输的方法和系统
CN102932442A (zh) * 2012-10-26 2013-02-13 北京奇虎科技有限公司 用于分布式数据存储系统的设备、系统及方法
CN102983942A (zh) * 2012-11-28 2013-03-20 北京百度网讯科技有限公司 数据传输方法及设备
US9223619B2 (en) * 2014-03-11 2015-12-29 Sas Institute, Inc. Techniques for generating instructions to control database processing
CN104202375A (zh) * 2014-08-22 2014-12-10 广州华多网络科技有限公司 同步数据的方法及系统

Also Published As

Publication number Publication date
CN105721612A (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN105721612B (zh) 数据传输方法和装置
CN108182111B (zh) 任务调度系统、方法和装置
US11019128B2 (en) Identity service management in limited connectivity environments
CN109815657A (zh) 一种基于联盟链的身份认证方法及终端设备
CN109647719A (zh) 用于分拣货物的方法和装置
CN109146490A (zh) 区块生成方法、装置和系统
CN108933805A (zh) 一种文件传输方法及系统
CN109145023A (zh) 用于处理数据的方法和装置
CN111352711B (zh) 多计算引擎调度方法、装置、设备及存储介质
CN110377590A (zh) 基于物联网的数据采集系统、方法及计算机可读存储介质
CN110321738A (zh) 信息处理方法和装置
CN109309736A (zh) 全局唯一id的生成方法和生成装置
CN110852882A (zh) 用于区块链网络的分组共识方法、装置、设备和介质
Ke et al. Aggregation on the fly: Reducing traffic for big data in the cloud
CN109728992A (zh) 分配转发域的方法、装置、存储介质及电子装置
CN109597810A (zh) 一种任务切分方法、装置、介质及电子设备
CN109348434A (zh) 一种场景信息的发送方法、发送装置及终端设备
CN108563697A (zh) 一种数据处理方法、装置和存储介质
CN113645278B (zh) 一种区块链的跨链消息传输方法、设备、存储介质
CN112766560B (zh) 联盟区块链网络优化方法、装置、系统和电子设备
CN109379179A (zh) 用于更新数字证书的方法和装置
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
CN108920309B (zh) 用于处理信息的方法和装置
CN111131324A (zh) 业务系统的登陆方法及装置、存储介质、电子装置
CN110381471A (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