CN104468483B - 数据传输方法及系统、控制装置与节点装置 - Google Patents

数据传输方法及系统、控制装置与节点装置 Download PDF

Info

Publication number
CN104468483B
CN104468483B CN201310432667.4A CN201310432667A CN104468483B CN 104468483 B CN104468483 B CN 104468483B CN 201310432667 A CN201310432667 A CN 201310432667A CN 104468483 B CN104468483 B CN 104468483B
Authority
CN
China
Prior art keywords
data
node
transmission
control device
transmitted
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
CN201310432667.4A
Other languages
English (en)
Other versions
CN104468483A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310432667.4A priority Critical patent/CN104468483B/zh
Priority to PCT/CN2014/086916 priority patent/WO2015039620A1/en
Priority to US15/023,310 priority patent/US9838313B2/en
Publication of CN104468483A publication Critical patent/CN104468483A/zh
Application granted granted Critical
Publication of CN104468483B publication Critical patent/CN104468483B/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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1085Content sharing, e.g. peer-to-peer [P2P]
    • 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/104Peer-to-peer [P2P] networks
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种数据传输方法及系统、控制装置与节点装置。所述方法包括:控制装置确定本次数据传输的源节点;从用于接收数据的节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点,本次数据传输的目的节点作为传输链中本次数据传输的源节点的下一个最近邻节点;节点列表中包括至少一个用于接收数据的节点的标识和各节点的地址;向本次数据传输的源节点下发数据传输任务,数据传输任务包括本次数据传输的目的节点和本次数据传输的目的节点的地址,以供本次数据传输的源节点根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据。本发明的技术方案,能够保证数据的传输速度和传输效率。

Description

数据传输方法及系统、控制装置与节点装置
技术领域
本发明涉及计算机技术领域,特别涉及一种数据传输方法及系统、控制装置与节点装置。
背景技术
随着通信技术的发展,人们之间的交流越来越依赖于数据通信,而这样就使得存放数据的主机之间需要进行大量的数据传输与数据交换。为此,数据的传输技术受到了广泛的关注,也成为通信技术发展的重要标志。
若要完成主机之间的数据传输,通常有两种实现方式。第一种方式为Rsync(Remote sync,远程同步)方式,Rsync可以实现在主机之间点对点的数据传输。第二种方式为端口映射(VIDC)方式,VIDC的实现方式为:源节点首先将数据传输给一个节点,当该节点接收到所有的数据后,将该已接收完毕的节点再作为源节点,并与源节点以及在此之前接收完毕的节点一起对其他节点进行数据传输。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
第一种方式下,尽管实现了在主机之间可以直接进行点对点的数据传输,但对于多点传输来说,则只能借助于手工操作向各个节点逐次进行数据传输,而无法对其中的节点进行有效控制,从而使得数据的传输速度较慢,数据传输的效率很低。第二种方式与第一种方式相比,虽然明显提高了数据传输的效率,但是每个节点的传输数据所需要消耗的网卡流量、CPU使用不均匀,而且当传输文件非常大的时候,例如虚拟主机的生成就是依赖于镜像文件的快速复制,且镜像文件非常大,进行一次传输所需要的时间也会很长,数据传输的效率仍然很低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据传输方法及系统、控制装置与节点装置。所述技术方案如下:
一方面,提供了一种数据传输方法,所述方法包括:
控制装置确定本次数据传输的源节点;
所述控制装置从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点,所述本次数据传输的目的节点作为传输链中所述本次数据传输的源节点的下一个最近邻节点;所述节点列表中包括至少一个用于接收数据的节点的标识和各所述节点的地址;
所述控制装置向所述本次数据传输的源节点下发数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
另一方面,再提供了一种数据传输方法,所述方法包括:
节点作为本次数据传输的源节点接收控制装置下发的数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址;
所述节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
再一方面,再提供一种控制装置,所述装置包括:
确定模块,用于确定本次数据传输的源节点;
选择模块,用于从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点,所述本次数据传输的目的节点作为传输链中所述本次数据传输的源节点的下一个最近邻节点;所述节点列表中包括至少一个用于接收数据的节点的标识和各所述节点的地址;
发送模块,用于向所述本次数据传输的源节点下发数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
又另一方面,提供一种节点装置,所述装置包括:
接收模块,用于在所述节点装置作为本次数据传输的源节点接收控制装置下发的数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址;
发送模块,用于根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
再另一方面,还提供一种数据传输系统,所述系统包括控制装置和至少一个节点装置;所述控制装置采用如上所述的控制装置,所述节点装置采用如上所述的节点装置。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例通过采用上述技术方案,实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且本发明实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此本发明实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据传输方法的流程图。
图2为本发明另一实施例提供的数据传输方法的流程图。
图3为本发明再一实施例提供的数据传输方法的流程图。
图4为本发明实施例提供的数据处理的一种示例图。
图5为图4的数据处理中各节点的状态变迁图。
图6为本发明实施例提供的数据处理的另一种示例图。
图7为本发明实施例提供的数据处理的又一种示例图。
图8为本发明一实施例提供的控制装置的结构示意图。
图9为本发明另一实施例提供的控制装置的结构示意图。
图10为本发明一实施例提供的节点装置的结构示意图。
图11为本发明另一实施例提供的节点装置的结构示意图。
图12为本发明实施例提供的数据传输系统的结构示意图。
图13是本发明实施例提供的一种终端设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1为本发明一实施例提供的数据传输方法的流程图。如图1所示,本实施例的数据传输方法,具体可以包括如下步骤:
100、控制装置确定本次数据传输的源节点;
101、控制装置从用于接收数据的节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点;
本实施例中本次数据传输的目的节点作为传输链中本次数据传输的源节点的下一个最近邻节点;节点列表中包括至少一个用于接收数据的节点的标识(如节点的编号)和各节点的地址(如各节点的IP地址)。
在本实施例的传输链中,数据从前向后传输,在每两个相邻的节点中,在数据传输时,前一个节点为一次数据传输的源节点,后一个节点为该次数据传输的目的节点。
102、控制装置向本次数据传输的源节点下发数据传输任务,数据传输任务包括本次数据传输的目的节点和本次数据传输的目的节点的地址,以供本次数据传输的源节点根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据。
例如本次数据传输的源节点可以根据本次数据传输的目的节点的IP地址向本次数据传输的目的节点传输数据。
可选地,其中数据传输任务还可以包括其他参数,如数据在本次数据传输的源节点中的路径,数据在本次数据传输的目的节点中要存储的路径,以便于本次数据传输的源节点从本次数据传输的源节点中的路径下读取该数据,并向本次数据传输的目的节点传输该数据,以供本次数据传输的目的节点将该数据存储在本次数据传输的源节点中的路径下。
本实施例通过采用上述技术方案,实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且本实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此本实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
可选地,在上述实施例的技术方案的基础上,其中步骤100“控制装置确定本次数据传输的源节点”具体可以包括两种情况:
第一种情况、当控制装置首次控制发送数据时,确定本次数据传输的源节点为数据未被发送前存储数据的原始节点。
第二种情况、当控制装置非首次控制发送数据时,将最近邻的上次数据传输的目的节点作为本次数据传输的源节点。
数据首次传输时,数据存储在原始节点中。当首次控制发送数据时,控制节点根据原始节点的IP地址,向原始节点下发数据传输任务,原始节点接收数据传输任务,并根据数据传输任务中首次数据传输的目的节点的IP地址,向首次数据传输的目的节点发送该数据。首次传输数据完毕,从第二次传输数据开始,将上次数据传输的目的节点作为本次数据传输的源节点,然后控制装置从节点列表中选择未被选择过的节点作为本次数据传输的目的节点;由本次数据传输的源节点根据本次数据传输的目的节点的IP地址,向本次数据传输的目的节点传输数据,依次类推,直到节点列表中所有节点都被选择过,此时正常情况下,节点列表中的所有节点都接收到数据。
进一步可选地,在上述实施例的技术方案的基础上,其中步骤“当控制装置非首次控制发送数据时,将最近邻的上次数据传输的目的节点作为本次数据传输的源节点”之前,还可以包括如下步骤:
(1)控制装置周期性地接收上次数据传输的目的节点上报的数据接收进度;
(2)当控制装置接收到数据接收进度为100%时,控制装置确定上次数据传输完成。
例如,可以设置每隔一定时间段,各节点向控制装置上报依次数据传输进度,例如当节点接收数据时,可以为数据接收进度(具体可以为数据接收的百分比)。当节点发送数据时,可以为数据发送进度(具体可以为数据发送的百分比)。具体地,各节点还可以每隔一定时间段向控制装置上报发送数据的速率或者接收数据的速率。例如在上次数据传输过程中,上次数据传输的目的节点周期性地向控制装置上报数据接收进度,如在数据传输过程中,随着数据的传输,上次数据传输的目的节点周期性地上报的数据传输进度可以分别为5%、30%、66%、90%和100%。当控制装置接收到上次数据传输目的节点上报的数据传输进度为100%时,确定上次数据传输完成。
进一步可选地,在上实施例的技术方案的基础上,“控制装置向本次数据传输的源节点发送下发数据传输任务”之后,还可以包括如下步骤:
(a)控制装置确定在预设阈值的周期内未接收到本次数据传输的目的节点上报的数据接收进度;
例如预设阈值的周期可以为6个周期。实际应用中,具体可以根据每个周期的时间长短,确定预设阈值的周期的数目。
(b)控制装置确定本次数据传输的目的节点故障;
(c)控制装置从原始节点和节点列表中已经接收到数据的节点中选择子节点最少的节点作为本次数据传输的源节点;
(d)控制装置重新从用于接收数据的节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点;
(e)控制装置向本次数据传输的源节点下发数据传输任务,以供本次数据传输的源节点根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据。
需要说明的是,上述技术方案中也可以没有步骤(c)。此时,当本次数据传输的目的节点故障时,可以由本次数据传输的源节点向重新选择的本次数据传输的目的节点传输数据。但是这样的话,本次数据传输的源节点可能要多次作为源节点来传输数据,这样本次数据传输的源节点可能需要消耗的网卡流量更多、CPU使用也更多,造成各节点需要消耗的网卡流量更多、CPU使用不均匀。因此,本实施例中增加步骤(c),控制装置从原始节点和节点列表中已经接收到数据的节点中选择子节点最少的节点作为本次数据传输的源节点,然后由重新选择的本次数据传输的源节点向重新选择的本次数据传输的目的节点传输数据。从原始节点和节点列表中已经接收到数据的节点中选择子节点最少的节点作为本次数据传输的源节点,可以尽量保证各节点需要消耗的网卡流量更多、CPU使用均匀,保证数据传输速度和数据传输效率。
进一步可选地,在上实施例的技术方案的基础上,“控制装置向本次数据传输的源节点发送下发数据传输任务”之后,还可以包括:控制装置确定节点列表中除故障节点之外,无未接收过数据的节点,确定数据传输完成。
上述实施例的所有可选技术方案,可以采用可以结合的方式任意组合,形成本发明的可选实施例,在此不再一一举例。
上述实施例的技术方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图2为本发明另一实施例提供的数据传输方法的流程图。如图2所示,本实施例的数据传输方法,在上述图1及可选实施例的技术方案的基础上,本实施例的数据传输方法,具体可以包括如下步骤:
200、控制装置获取待发送的数据所在的原始节点的路径、原始节点的IP地址;执行步骤201;
201、控制装置从节点列表中获取一个节点,作为首次数据传输的目的节点,并获取首次数据传输的目的节点的IP地址;执行步骤202;
本实施例的节点列表时用于接收该数据的所有节点的集合,该节点列表中包括至少一个节点的标识,以及每一个节点的IP地址。
202、控制装置根据原始节点的IP地址,向该原始节点下发数据传输任务,以供原始节点向首次数据传输的目的节点发送该数据;执行步骤203;
该数据传输任务中包括首次数据传输的目的节点的IP地址和首次数据传输的目的节点中存储该数据的路径。可选地,该数据传输任务中可以不包括首次数据传输的目的节点中存储该数据的路径,此时由首次数据传输的目的节点去确定存储该数据的路径。
203、控制装置周期性地接收首次数据传输的目的节点上报的数据接收进度;执行步骤204;
例如还可以接收首次数据传输的目的节点上报的数据传输速度等等。
204、当控制装置接收到数据接收进度为100%时,控制装置确定首次数据传输完成;执行步骤205;
205、开始新一轮的数据传输,控制装置将上次数据传输的目的节点作为本次数据传输的源节点;执行步骤206;
206、控制装置判断节点列表中是否还有未选择过的节点,当有的时候,执行步骤207;否则当没有的时候,数据传输完毕。
当数据传输完毕,所有节点退出数据传输。本实施例中节点列表中的将诶点被选择即表示向该节点发送过数据。
207、控制装置从节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点;执行步骤208;
208、控制装置根据本次数据传输的源节点的IP地址,向本次数据传输的源节点下发数据传输任务;执行步骤209;
该数据传输任务包括本次数据传输的目的节点的IP地址、该数据在本次数据传输的源节点的存储路径和该数据在本次数据传输的目的节点的存储路径,以供本次数据传输的源节点从本次数据传输的源节点的存储路径下获取该数据,并向本次数据传输的目的节点发送该数据,以供本次数据传输的目的节点将该数据存储在本次数据传输的目的节点的存储路径下。可选地,该数据传输任务中可以不包括该数据在本次数据传输的目的节点的存储路径,而由本次数据传输的目的节点来确定存储该数据的路径。
209、控制装置判断是否接收到本次数据传输的目的节点上报的数据接收进度;若是的时候,执行步骤210;否则执行步骤211;
本次数据传输的目的节点向控制装置上报数据处理进度是周期性地上报的。
210、控制装置判断并确定接收到数据接收进度为100%时,控制装置确定本次数据传输完成;执行步骤205;
确定在预设阈值的周期内未接收到本次数据传输的目的节点上报的数据接收进度;
211、当控制装置在预设阈值的周期内均未接收到本次数据传输的目的节点上报的数据接收进度,控制装置确定本次数据传输的目的节点故障;执行步骤212;
此时控制装置需要及时调整数据传输链路。
212、控制装置从原始节点和节点列表中已经接收到数据的节点中选择子节点最少的节点作为本次数据传输的源节点;执行步骤213;
213、控制装置重新从节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点;执行步骤207;
本实施例通过采用上述技术方案,实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且本实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此本实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图3为本发明再一实施例提供的数据传输方法的流程图。如图3所示,本实施例的数据处理方法,具体可以包括如下步骤:
300、节点作为本次数据传输的源节点接收控制装置下发的数据传输任务;
其中该数据传输任务包括本次数据传输的目的节点和本次数据传输的目的节点的地址,如该地址可以为IP地址。
301、节点根据本次数据传输的目的节点的地址,向本次数据传输的目的节点传输数据。
本实施例的技术方案与上述图1所示实施例的技术方案的区别仅在于上述实施例是在控制装置侧描述本发明的技术方案,本实施例在节点侧描述本发明的技术方案,详细可以参考上述相关实施例的记载,在此不再赘述。
本实施例通过采用上述技术方案,实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且本实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此本实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
可选地,在上述图3所示实施例的技术方案的基础上,步骤301“节点根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据”之后,还可以包括:节点周期性地向控制装置上报数据发送进度,以供控制装置根据数据发送进度确定本次数据传输完成。
可选地,在上述图3所示实施例的技术方案的基础上,步骤300“节点作为本次数据传输的源节点接收控制装置下发的数据传输任务”之前,还可以包括:节点作为上次数据传输的目的节点接收上次数据传输的源节点发送的数据。
进一步可选地,在上述实施例的步骤“节点作为上次数据传输的目的节点接收上次数据传输的源节点发送的数据”之后,还可以包括:节点作为上次数据传输的目的节点向控制装置上报数据接收进度,以供控制装置根据数据接收进度确定上次数据传输完成。
进一步可选地,在上述实施例的技术方案的基础上,上述实施例的数据传输方法,还可以包括:当上次数据传输完成时,节点对数据的正确性进行校验,并确定数据正确。
上述实施例的所有可选技术方案,可以采用可以结合的方式任意组合,形成本发明的可选实施例,在此不再一一举例。
上述实施例的技术方案与上述图1及其可选实施例和图2所示实施例的技术方案的区别仅在于上述图1及其可选实施例和图2所示实施例是在控制装置侧描述本发明的技术方案,本实施例在节点侧描述本发明的技术方案,详细可以参考上述相关实施例的记载,在此不再赘述。
上述实施例的技术方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图4为本发明实施例提供的数据处理的一种示例图。图5为图4的数据处理中各节点的状态变迁图。图6为本发明实施例提供的数据处理的另一种示例图。图7为本发明实施例提供的数据处理的又一种示例图。如图4-图7所示,以五个节点包括一个源点和四个待分发节点、控制装置为Controller为例描述本发明的技术方案。如图4、图6和图7所示,每一行中,第1个节点为源点、第2个节点、第3个节点、第4个节点和第5个节点分别为待分发节点,每个节点上的用于传输数据的模块可以称之为传输单元(Peer)。
每个节点上的传输单元Peer实现如下功能:
1)接收Controller下发的数据传输任务,向目的节点发送数据;
2)接收其他节点Peer发送过来的数据,写入本地文件;并对数据做正确性校验;
3)定时与目的节点Peer同步任务进度,并对数据做重发,保证目的节点接收完整、正确;
4)定时上报给Controller本节点的任务发送、接收速率、百分比。
控制装置Controller实现如下功能:
1)接收用户通过工具请求的数据传输任务,获取任务的文件路径、源节点、所有目的节点;
2)选定一个目的节点,并下发任务给源节点Peer,让其发送数据给选定的目的节点;形成传输链;
3)处理传输链上各节点Peer的上报;
4)当传输链中的最后一个节点,接收到的数据量达到某个值后,以此为源节点,从剩余的目的节点中选定一个节点,下发任务,把后选定的这个节点加入到当前传输链中;
5)不断重复以上过程,直到所有节点都加入到传输链为止;
6)节点传输异常时,及时进行切换,保证传输正常,且热度均衡;
7)节点传输完毕后,依次退出;
8)任务的源节点总是最后一个退出;
9)所有节点的均退出后,Controller标记任务完成;清理任务。
根据上述控制装置Controller和各节点的Peer的功能,在图4中第一行,源点和第一行中第2个节点构成传输链,源点向第一行中第2个节点传输数据;当数据传输成功时,如图4的第2行所示,第2行中的第3个节点加入传输链,第2行中第2个节点向第2行中的第3个节点传输数据.。当数据传输成功时,如图4的第3行所示,第3行中的第4个节点加入传输链,第3行中第3个节点向第3行中的第4个节点传输数据.。依次类推,如图4中第6行所示,直到第5个节点加入传输链,第4个节点向第5个节点传输数据.。
图4中是以所有节点传输均正常的情况。实际上,可能某个节点会异常,导致传输链进行不下去,后面的节点因接收不到数据而处于“饥饿”状态,任务也无法结束。考虑到各种情况,节点的状态及说明如表1所示,各状态的变迁如表1所示:
因此根据上述表1,可以得到如图5所示的各节点的状态变迁。
Controller对于节点数据上报的判断如下:
1)每个周期有上报,传输进度有更新,则确定传输正常:
2)连续上报预设阈值次数如6次,接收数据的进度始终相同,确定传输停滞:
3)连续上报预设阈值次数如6个上报周期,都没有收到该节点的上报数据,则确定传输超时。
如表1和图5-图7所示,对于传输超时的节点,置其状态为失败;那么它后面的节点,则会被判断为“传输停滞”。
对于传输停滞的节点,因为节点一直有上报,因此故障节点为其传输链上的前一个节点。此时启动传输链的切换:获取所有处于Wait_exit状态的节点,并比较其子节点个数,子节点数最少的作为选中的节点,以此节点重建传输链,以保证节点的热度尽可能均衡,如图6和图7所示。
本实施例的技术方案,实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图8为本发明一实施例提供的控制装置的结构示意图。如图8所示,本实施例的控制装置,包括确定模块10、选择模块11和发送模块12。
其中确定模块10用于确定本次数据传输的源节点;选择模块11用于从用于接收数据的节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点,目的节点作为传输链中源节点的下一个最近邻节点;节点列表中包括至少一个用于接收数据的节点和各节点的地址;发送模块12分别与确定模块10和选择模块11连接,发送模块12用于根据确定模块10确定的本次数据传输的源节点和选择模块11选择的本次数据传输的目的节点,向本次数据传输的源节点下发数据传输任务,该数据传输任务包括本次数据传输的目的节点和本次数据传输的目的节点的地址,以供本次数据传输的源节点根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据。
本实施例的控制装置,通过采用上述模块实现数据处理与上述相关方法实施例的实现机制相同,详细可以参考上述相关实施例的记载,在此不再赘述。
本实施例的控制装置,通过采用上述模块实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图9为本发明另一实施例提供的控制装置的结构示意图。如图9所示,本实施例的控制装置在上述图8所示实施例的基础上的基础上,进一步包括如下技术方案。
如图9所示,本实施例的控制装置中的确定模块10具体用于当控制装置首次控制发送数据时,确定本次数据传输的源节点为数据未被发送前存储数据的原始节点。
可选地,本实施例的控制装置中的确定模块10还具体用于当控制装置非首次控制发送数据时,将最近邻的上次数据传输的目的节点作为本次数据传输的源节点。
可选地,如图9所示,本实施例的控制装置还包括接收模块13。接收模块13用于当控制装置非首次控制发送数据时,确定模块10将最近邻的上次数据传输的目的节点作为本次数据传输的源节点之前,周期性地接收上次数据传输的目的节点上报的数据接收进度;确定模块10与接收模块13连接,确定模块10还用于当接收模块13接收到数据接收进度为100%时,确定上次数据传输完成。
可选地,如图9所示,本实施例的控制装置中的确定模块10还用于在发送模块12向本次数据传输的源节点发送下发数据传输任务之后,确定在预设阈值的周期内未接收到本次数据传输的目的节点上报的数据接收进度;确定模块10还用于确定本次数据传输的目的节点故障;选择模块11还用于从原始节点和节点列表中已经接收到数据的节点中选择子节点最少的节点作为本次数据传输的源节点;选择模块11还用于重新从用于接收数据的节点列表中选择未被选择过用于接收数据的节点作为本次数据传输的目的节点;发送模块12于向本次数据传输的源节点下发数据传输任务,以供本次数据传输的源节点根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据。
可选地,如图9所示,本实施例的控制装置中的确定模块10用于在发送模块12向本次数据传输的源节点发送下发数据传输任务之后,确定节点列表中除故障节点之外,无未接收过数据的节点,确定数据传输完成。
本实施例的所有可选技术方案,可以采用可以结合的方式任意组合,形成本发明的可选实施例,在此不再一一举例。
本实施例的控制装置,通过采用上述模块实现数据处理与上述相关方法实施例的实现机制相同,详细可以参考上述相关实施例的记载,在此不再赘述。
本实施例的控制装置,通过采用上述模块实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图10为本发明一实施例提供的节点装置的结构示意图。如图10所示,本实施例的节点装置,具体可以包括:接收模块20和发送模块21。
其中接收模块20用于在节点装置作为本次数据传输的源节点接收控制装置下发的数据传输任务,数据传输任务包括本次数据传输的目的节点和本次数据传输的目的节点的地址;发送模块21与接收模块20连接,发送模块21用于根据接收模块10接收的数据传输任务,根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据。
本实施例的节点装置,通过采用上述模块实现数据处理与上述相关方法实施例的实现机制相同,详细可以参考上述相关实施例的记载,在此不再赘述。
本实施例的节点装置,通过采用上述模块实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图11为本发明另一实施例提供的节点装置的结构示意图。如图11所示,本实施例的节点装置在上述图10所示实施例的技术方案的基础上,进一步还可以包括如下技术方案。
其中发送模块21还用于在根据本次数据传输的目的节点的地址向本次数据传输的目的节点传输数据之后,周期性地向控制装置上报数据发送进度,以供控制装置根据数据发送进度确定本次数据传输完成。
可选地,接收模块20还用于在节点装置作为本次数据传输的源节点时,接收控制装置下发的数据传输任务之前,节点装置作为上次数据传输的目的节点时,接收上次数据传输的源节点发送的数据。
可选地,发送模块21还用于在节点装置作为上次数据传输的目的节点时,接收上次数据传输的源节点发送的数据之后,节点装置作为上次数据传输的目的节点时,向控制装置上报数据接收进度,以供控制装置根据数据接收进度确定上次数据传输完成。
可选地,如图11所示,本实施例的节点装置还包括校验模块22。校验模块22与接收模块20连接,校验模块22用于在节点装置作为上次数据传输的目的节点时,当上次数据传输完成时,对接收模块20接收的数据的正确性进行校验,并确定数据正确。
本实施例的所有可选技术方案,可以采用可以结合的方式任意组合,形成本发明的可选实施例,在此不再一一举例。
本实施例的节点装置,通过采用上述模块实现数据处理与上述相关方法实施例的实现机制相同,详细可以参考上述相关实施例的记载,在此不再赘述。
本实施例的节点装置,通过采用上述模块实现一种链式分发数据的方案,可以把数据快速的分发到节点列表中的所有节点上,正常情况下每个节点的热度相同,即数据只接收一次、分发一次,节点的热度相同,即每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,能够有效地保证数据的传输速度和传输效率。而且上述实施例的技术方案,与现有技术的第一种方式相比,不需要借助于手工操作来传输数据,控制装置可以对节点进行有效控制,保证了数据的传输速度和传输效率。与现有技术的第二种方式相比,能够保证每个节点的热度尽可能的均匀,即使得每个节点的传输数据所需要消耗的网卡流量、CPU使用均匀,这样当传输文件非常大的时候,也能够保证数据的传输速度和传输效率。例如而虚拟主机的生成就是依赖于镜像文件的快速复制的,因此上述实施例的技术方案可以适用在云平台的设计和实现中,解决了虚拟主机的上线、扩容、迁移等问题,节省了大量的时间,为用户提供了更好的体验。
图12为本发明实施例提供的数据传输系统的结构示意图。如图12所示,本实施例的数据传输系统,包括控制装置30和至少一个节点装置31;控制装置30分别与至少一个节点装置31连接,控制至少一个节点装置31。控制装置30可以采用如上图8或者图9所示实施例的控制装置,节点装置31可以采用如上图10或者图11所示实施例的节点装置。例如至少一个节点装置31可以采用上述图4、图6或者图9的结构。具体可以采用上述图1-图3所示实施例的数据处理方法实现数据处理,详细可以参考上述实施例的相关记载,在此不再赘述。
需要说明的是,本发明上述实施例中的控制装置和节点装置具体可以为一个终端设备。
图13是本发明实施例提供的一种终端设备结构示意图。参见图13,该终端设备可以用于实施上述实施例中提供的数据迁移方法。具体来讲:
终端设备800可以包括通信单元110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图13中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元110可用于收发信息或通话过程中,信号的接收和发送,该通信单元110可以为RF(Radio Frequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元110为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,通信单元110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(GeneralPacket Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(LongTerm Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备800的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图13中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备800还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备800移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备800还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备800之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备800的通图信。
为了实现无线通信,该终端设备上可以配置有无线通信单元170,该无线通信单元170可以为WiFi模块。WiFi属于短距离无线传输技术,终端设备800通过无线通信单元170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了无线通信单元170,但是可以理解的是,其并不属于终端设备800的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备800的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备800的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备800还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备800还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:确定本次数据传输的源节点;
从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点,所述本次数据传输的目的节点作为传输链中所述本次数据传输的源节点的下一个最近邻节点;所述节点列表中包括至少一个用于接收数据的节点的标识和各所述节点的地址;
向所述本次数据传输的源节点下发数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
可选地,该存储器还用于存储以下指令:当首次控制发送所述数据时,确定所述本次数据传输的源节点为所述数据未被发送前存储所述数据的原始节点。
可选地,该存储器还用于存储以下指令:当非首次控制发送所述数据时,将最近邻的上次数据传输的目的节点作为所述本次数据传输的源节点。
可选地,该存储器还用于存储以下指令:周期性地接收所述上次数据传输的目的节点上报的数据接收进度;
当接收到所述数据接收进度为100%时,确定上次数据传输完成。
可选地,该存储器还用于存储以下指令:确定在预设阈值的周期内未接收到所述本次数据传输的目的节点上报的数据接收进度;
确定所述本次数据传输的目的节点故障;
从所述原始节点和所述节点列表中已经接收到所述数据的节点中选择子节点最少的节点作为所述本次数据传输的源节点;
重新从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点;
向所述本次数据传输的源节点下发数据传输任务,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
可选地,该存储器还用于存储以下指令:确定所述节点列表中除故障节点之外,无未接收过所述数据的节点,确定数据传输完成。
另一方面,还可以该终端设备中的存储器还可以用于存储以下指令:接收控制装置下发的数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址;
根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
可选地,该存储器还用于存储以下指令:周期性地向所述控制装置上报数据发送进度,以供所述控制装置根据所述数据发送进度确定本次数据传输完成。
可选地,该存储器还用于存储以下指令:接收上次数据传输的源节点发送的所述数据。
可选地,该存储器还用于存储以下指令:向所述控制装置上报数据接收进度,以供所述控制装置根据所述数据接收进度确定上次数据传输完成。
可选地,该存储器还用于存储以下指令:当所述上次数据传输完成时,对所述数据的正确性进行校验,并确定所述数据正确。
需要说明的是:上述实施例提供的控制装置和节点装置在数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制装置和节点装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种数据传输方法,其特征在于,所述方法包括:
当控制装置首次控制发送数据时,确定本次数据传输的源节点为所述数据未被发送前存储所述数据的原始节点;当所述控制装置非首次控制发送所述数据时,将最近邻的上次数据传输的目的节点作为所述本次数据传输的源节点;
所述控制装置从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点,所述本次数据传输的目的节点作为传输链中所述本次数据传输的源节点的下一个最近邻节点;所述节点列表中包括至少一个用于接收数据的节点的标识和各所述节点的地址;
所述控制装置向所述本次数据传输的源节点下发数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
2.根据权利要求1所述的方法,其特征在于,当所述控制装置非首次控制发送所述数据时,将最近邻的上次数据传输的目的节点作为所述本次数据传输的源节点之前,所述方法还包括:
所述控制装置周期性地接收所述上次数据传输的目的节点上报的数据接收进度;
当控制装置接收到所述数据接收进度为100%时,所述控制装置确定上次数据传输完成。
3.根据权利要求1所述的方法,其特征在于,所述控制装置向所述本次数据传输的源节点发送下发数据传输任务之后,所述方法还包括:
所述控制装置确定在预设阈值的周期内未接收到所述本次数据传输的目的节点上报的数据接收进度;
所述控制装置确定所述本次数据传输的目的节点故障;
所述控制装置从所述原始节点和所述节点列表中已经接收到所述数据的节点中选择子节点最少的节点作为所述本次数据传输的源节点;
所述控制装置重新从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点;
所述控制装置向所述本次数据传输的源节点下发数据传输任务,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
4.根据权利要求1-3任一所述的方法,其特征在于,所述控制装置向所述本次数据传输的源节点发送下发数据传输任务之后,所述方法还包括:
所述控制装置确定所述节点列表中除故障节点之外,无未接收过所述数据的节点,确定数据传输完成。
5.一种数据传输方法,其特征在于,所述方法包括如下步骤:
节点作为本次数据传输的源节点接收控制装置下发的数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址;其中,当所述控制装置首次控制发送所述数据时,所述本次数据传输的源节点为数据未被发送前存储所述数据的原始节点,当所述控制装置非首次控制发送所述数据时,所述本次数据传输的源节点为最近邻的上次数据传输的目的节点;
所述节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
6.根据权利要求5所述的方法,其特征在于,所述节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据之后,所述方法还包括:
所述节点周期性地向所述控制装置上报数据发送进度,以供所述控制装置根据所述数据发送进度确定本次数据传输完成。
7.根据权利要求5所述的方法,其特征在于,所述节点作为本次数据传输的源节点接收控制装置下发的数据传输任务之前,所述方法还包括:
所述节点作为上次数据传输的目的节点接收上次数据传输的源节点发送的所述数据。
8.根据权利要求7所述的方法,其特征在于,所述节点作为上次数据传输的目的节点接收上次数据传输的源节点发送的所述数据之后,所述方法还包括:
所述节点作为上次数据传输的目的节点向所述控制装置上报数据接收进度,以供所述控制装置根据所述数据接收进度确定上次数据传输完成。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当所述上次数据传输完成时,所述节点对所述数据的正确性进行校验,并确定所述数据正确。
10.一种控制装置,其特征在于,所述装置包括:
确定模块,用于当所述控制装置首次控制发送数据时,确定本次数据传输的源节点为所述数据未被发送前存储所述数据的原始节点;当所述控制装置非首次控制发送所述数据时,将最近邻的上次数据传输的目的节点作为所述本次数据传输的源节点;选择模块,用于从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点,所述本次数据传输的目的节点作为传输链中所述本次数据传输的源节点的下一个最近邻节点;所述节点列表中包括至少一个用于接收数据的节点的标识和各所述节点的地址;
发送模块,用于向所述本次数据传输的源节点下发数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括接收模块:
所述接收模块,用于当所述控制装置非首次控制发送所述数据时,所述确定模块将最近邻的上次数据传输的目的节点作为所述本次数据传输的源节点之前,周期性地接收所述上次数据传输的目的节点上报的数据接收进度;
所述确定模块,还用于当接收到所述数据接收进度为100%时,确定上次数据传输完成。
12.根据权利要求10所述的装置,其特征在于:
所述确定模块,还用于在所述发送模块向所述本次数据传输的源节点发送下发数据传输任务之后,确定在预设阈值的周期内未接收到所述本次数据传输的目的节点上报的数据接收进度;
所述确定模块,还用于确定所述本次数据传输的目的节点故障;
所述选择模块,还用于从所述原始节点和所述节点列表中已经接收到所述数据的节点中选择子节点最少的节点作为所述本次数据传输的源节点;
所述选择模块,还用于重新从用于接收所述数据的节点列表中选择未被选择过用于接收所述数据的节点作为本次数据传输的目的节点;
所述发送模块,还用于向所述本次数据传输的源节点下发数据传输任务,以供所述本次数据传输的源节点根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
13.根据权利要求10-12任一所述的装置,其特征在于,所述确定模块,还用于在所述发送模块向所述本次数据传输的源节点发送下发数据传输任务之后,确定所述节点列表中除故障节点之外,无未接收过所述数据的节点,确定数据传输完成。
14.一种节点装置,其特征在于,所述装置包括:
接收模块,用于在所述节点装置作为本次数据传输的源节点接收控制装置下发的数据传输任务,所述数据传输任务包括所述本次数据传输的目的节点和所述本次数据传输的目的节点的地址;其中,当所述控制装置首次控制发送所述数据时,所述本次数据传输的源节点为数据未被发送前存储所述数据的原始节点,当所述控制装置非首次控制发送所述数据时,所述本次数据传输的源节点为最近邻的上次数据传输的目的节点;
发送模块,用于根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据。
15.根据权利要求14所述的装置,其特征在于,所述发送模块,还用于在根据所述本次数据传输的目的节点的地址向所述本次数据传输的目的节点传输所述数据之后,周期性地向所述控制装置上报数据发送进度,以供所述控制装置根据所述数据发送进度确定本次数据传输完成。
16.根据权利要求14所述的装置,其特征在于,所述接收模块,还用于在所述节点装置作为本次数据传输的源节点时,接收控制装置下发的数据传输任务之前,所述节点装置作为上次数据传输的目的节点时,接收上次数据传输的源节点发送的所述数据。
17.根据权利要求16所述的装置,其特征在于,所述发送模块,还用于在所述节点装置作为上次数据传输的目的节点时,接收上次数据传输的源节点发送的所述数据之后,所述节点装置作为上次数据传输的目的节点时,向所述控制装置上报数据接收进度,以供所述控制装置根据所述数据接收进度确定上次数据传输完成。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
校验模块,用于在所述节点装置作为上次数据传输的目的节点时,当所述上次数据传输完成时,对所述数据的正确性进行校验,并确定所述数据正确。
19.一种数据传输系统,其特征在于,所述系统包括控制装置和至少一个节点装置;所述控制装置采用如上权利要求10-13任一所述的控制装置,所述节点装置采用如上权利要求14-18任一所述的节点装置。
CN201310432667.4A 2013-09-22 2013-09-22 数据传输方法及系统、控制装置与节点装置 Active CN104468483B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310432667.4A CN104468483B (zh) 2013-09-22 2013-09-22 数据传输方法及系统、控制装置与节点装置
PCT/CN2014/086916 WO2015039620A1 (en) 2013-09-22 2014-09-19 Method, system, control device and node device for data transmission
US15/023,310 US9838313B2 (en) 2013-09-22 2014-09-19 Method, system, control device and node device for data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310432667.4A CN104468483B (zh) 2013-09-22 2013-09-22 数据传输方法及系统、控制装置与节点装置

Publications (2)

Publication Number Publication Date
CN104468483A CN104468483A (zh) 2015-03-25
CN104468483B true CN104468483B (zh) 2019-01-22

Family

ID=52688256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310432667.4A Active CN104468483B (zh) 2013-09-22 2013-09-22 数据传输方法及系统、控制装置与节点装置

Country Status (3)

Country Link
US (1) US9838313B2 (zh)
CN (1) CN104468483B (zh)
WO (1) WO2015039620A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119994B (zh) * 2015-08-25 2018-12-18 广州视源电子科技股份有限公司 一种文件传输方法及系统
CN106954245B (zh) * 2017-04-21 2019-09-20 海信集团有限公司 数据传输方法和装置
CN109842661A (zh) * 2017-11-28 2019-06-04 珠海市君天电子科技有限公司 一种数据传输方法、装置、电子设备及存储介质
CN110380979A (zh) * 2018-04-17 2019-10-25 北京升鑫网络科技有限公司 一种链式数据分发的方法及系统
CN113485973B (zh) * 2021-07-02 2023-05-16 中国联合网络通信集团有限公司 数据同步方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984020A (zh) * 2006-06-08 2007-06-20 华为技术有限公司 一种传输数据的方法及装置
CN101075969A (zh) * 2007-07-20 2007-11-21 中国建设银行股份有限公司 一种控制数据传输的方法、装置和一种数据传输系统
CN101383842A (zh) * 2007-09-07 2009-03-11 北京首都在线网络技术有限公司 利用计算机背景屏幕显示网络信息的系统和方法
CN101409706A (zh) * 2007-10-09 2009-04-15 华为技术有限公司 一种边缘网络中的数据分发方法、数据分发系统及相关设备
CN101572636A (zh) * 2008-04-30 2009-11-04 新奥特(北京)视频技术有限公司 一种台内网媒体数据传输的状态监控系统
CN102137031A (zh) * 2010-01-21 2011-07-27 腾讯科技(深圳)有限公司 一种传输文件夹的方法和设备
CN102201965A (zh) * 2010-03-24 2011-09-28 北京创世网赢高科技有限公司 一种数据传输方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6930983B2 (en) * 2000-03-15 2005-08-16 Texas Instruments Incorporated Integrated circuits, systems, apparatus, packets and processes utilizing path diversity for media over packet applications
US8316146B2 (en) * 2007-07-13 2012-11-20 Spotify Ab Peer-to-peer streaming of media content
CN101414949B (zh) 2008-11-28 2011-05-18 阿里巴巴集团控股有限公司 一种链式数据传输方法、节点及系统
US8675518B2 (en) * 2010-02-02 2014-03-18 Micorsoft Corporation Message transport system using publication and subscription mechanisms
EP2772025A4 (en) * 2011-10-24 2015-12-23 Schneider Electric Ind Sas REMOTE COMMUNICATION SYSTEMS AND METHODS
US9183163B2 (en) * 2012-06-27 2015-11-10 Ubiquiti Networks, Inc. Method and apparatus for distributed control of an interfacing-device network
US9654355B2 (en) * 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with adaptation services
US10110649B2 (en) * 2013-08-01 2018-10-23 Spotify Ab System and method for transitioning from decompressing one compressed media stream to decompressing another media stream
US10411961B2 (en) * 2013-08-22 2019-09-10 Red Hat, Inc. Image management in cloud environments

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984020A (zh) * 2006-06-08 2007-06-20 华为技术有限公司 一种传输数据的方法及装置
CN101075969A (zh) * 2007-07-20 2007-11-21 中国建设银行股份有限公司 一种控制数据传输的方法、装置和一种数据传输系统
CN101383842A (zh) * 2007-09-07 2009-03-11 北京首都在线网络技术有限公司 利用计算机背景屏幕显示网络信息的系统和方法
CN101409706A (zh) * 2007-10-09 2009-04-15 华为技术有限公司 一种边缘网络中的数据分发方法、数据分发系统及相关设备
CN101572636A (zh) * 2008-04-30 2009-11-04 新奥特(北京)视频技术有限公司 一种台内网媒体数据传输的状态监控系统
CN102137031A (zh) * 2010-01-21 2011-07-27 腾讯科技(深圳)有限公司 一种传输文件夹的方法和设备
CN102201965A (zh) * 2010-03-24 2011-09-28 北京创世网赢高科技有限公司 一种数据传输方法

Also Published As

Publication number Publication date
US9838313B2 (en) 2017-12-05
CN104468483A (zh) 2015-03-25
WO2015039620A1 (en) 2015-03-26
US20160241472A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
CN106454404B (zh) 一种播放直播视频的方法、装置和系统
CN105119806B (zh) 消息更新方法及装置
CN103500002B (zh) 应用程序管理的方法、装置及终端设备
CN104142868B (zh) 建立连接的方法及装置
CN104618217B (zh) 分享资源的方法、终端、服务器及系统
CN106791892A (zh) 一种轮麦直播的方法、装置和系统
CN104252341B (zh) 应用程序的换肤方法、装置及应用程序的客户端设备
CN110198545A (zh) 一种辅小区组添加方法、终端设备及主节点
CN105005909A (zh) 预测流失用户的方法及装置
CN106791955B (zh) 一种确定直播时长的方法和系统
CN106161176A (zh) 群组会话消息处理方法和装置
CN104468483B (zh) 数据传输方法及系统、控制装置与节点装置
CN103458305A (zh) 视频播放方法、装置、终端设备和服务器
CN103530115B (zh) 一种应用程序显示方法、装置及终端设备
CN105227890B (zh) 视频通话方法和装置
CN106155818A (zh) 一种终端拉取信息的处理方法和终端以及服务器
CN104301504A (zh) 消息查看方法、装置和移动终端
CN109951881A (zh) 一种信道切换方法、终端设备及路由设备
CN103294442B (zh) 一种播放提示音的方法、装置及终端设备
CN103475914A (zh) 视频播放方法、装置、终端设备和服务器
CN103677633A (zh) 屏幕解锁方法、装置和终端
CN104519262A (zh) 获取视频数据的方法、装置及终端
CN104602135A (zh) 控制全屏播放的方法及装置
CN109257793A (zh) 网络连接方法、装置、设备及存储介质
CN106658657A (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
TR01 Transfer of patent right

Effective date of registration: 20190730

Address after: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right