CN102201911B - 实现同步传输数据的方法和系统 - Google Patents
实现同步传输数据的方法和系统 Download PDFInfo
- Publication number
- CN102201911B CN102201911B CN 201110129220 CN201110129220A CN102201911B CN 102201911 B CN102201911 B CN 102201911B CN 201110129220 CN201110129220 CN 201110129220 CN 201110129220 A CN201110129220 A CN 201110129220A CN 102201911 B CN102201911 B CN 102201911B
- Authority
- CN
- China
- Prior art keywords
- path table
- bang path
- address information
- node
- destination node
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种实现同步传输数据的方法和系统,所述方法包括:发送节点获取当前传递路径表中的首地址信息,所述发送节点将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点;以所述对应的目的节点作为起始目的节点,并触发所述起始目的节点的循环发送流程,所述循环发送流程包括:起始目的节点获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,并将所述待传输的数据和当前传递路径表发送至所述下一个地址信息对应的目的节点,再以所述下一个地址信息对应的目的节点作为起始目的节点,直至最后一个目的节点接收到所述待传输的数据和当前传递路径表,通过本发明,节省了节点的出口带宽,提高了数据传输的效率。
Description
技术领域
本发明涉及计算机网络技术领域,更具体的说是涉及一种实现同步传输数据的方法和系统。
背景技术
在基于互联网技术的应用中,通常涉及到发送节点需要向接收节点同步传输数据,同步传输是指同一数据包或者同一文件需要传送至多个接收节点,其中,发送节点和接收节点可以是相应的web服务器。
现有的实现同步传输数据的方法中,通常是由发送节点将需要同步传输的数据分别发送至多个接收节点,当传送的数据量较多,或者接收节点较多时,发送节点需要传输大量的数据,且增加了发送节点发送数据的次数,由于发送节点出口带宽的限制,从而就会影响数据传输的效率,且发送次数的增多也影响了发送节点的性能。
发明内容
有鉴于此,本发明提供一种实现同步传输数据的方法和系统,用以解决数据传输效率低,影响节点性能的问题。
为实现上述目的,本发明提供如下技术方案:
一种实现同步传输数据的方法,所述方法包括:
发送节点获取当前传递路径表中的首地址信息,所述传递路径表包括每个目的节点的地址信息;
所述发送节点将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点;
以所述对应的目的节点作为起始目的节点,并触发所述起始目的节点的循环发送流程,所述循环发送流程包括:起始目的节点获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,并将所述待传输的数据和当前传递路径表发送至所述下一个地址信息对应的目的节点,再以所述下一个地址信息对应的目的节点作为起始目的节点,直至最后一个目的节点接收到所述待传输的数据和当前传递路径表。
优选地,所述发送节点获取当前传递路径表中的首地址信息之后还包括:
所述发送节点触发首地址循环检测流程,所述首地址循环检测流程包括:
检测与当前传递路径表中的首地址信息对应的目的节点通讯状态是否正常,若否,将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中首地址信息对应的目的节点通讯正常,再执行所述待传输的数据和当前传递路径表发送至首地址信息对应的目的节点的步骤,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
优选地,所述起始目的节点获取当前传递路径表中与其地址信息相邻的下一个地址信息之后还包括:
所述起始目的节点触发下一个地址循环检测流程,所述下一个地址循环检测流程包括:
检测与当前传递路径表中与其对应的地址信息之后的下一个地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中与其对应的地址信息之后的下一个地址信息通讯状态正常,再执行将所述待传输的数据和当前传递路径表发送至下一个地址信息对应的目的节点的步骤,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
优选地,所述传递路径表还包括发送节点的地址信息,所述发送节点的地址信息位于传递路径表中最后一个目的节点所对应的地址信息之后,当存在通讯异常节点时,所述通讯异常节点的地址信息依次置于传递路径表末尾,则所述方法还包括:
最后一个目的节点获取当前传递路径表中发送节点的地址信息,并将待传输数据和当前传递路径表返回给发送节点;
发送节点根据所述当前传递路径表判断是否存在通讯异常节点,以便于存在通讯异常节点时,重新根据通讯异常节点的地址信息,建立新的传递路径表;并将所述新的传递路径表作为当前路径表。
优选地,所述传递路径表还包括发送节点的地址信息,所述发送节点的地址信息位于传递路径表中最后一个目的节点所对应的地址信息之后,当存在通讯异常节点时,所述通讯异常节点的地址信息依次置于传递路径表末尾,所述方法还包括:
最后一个目的节点获取当前传递路径表中发送节点的地址信息,并将待传输数据和当前传递路径表返回给发送节点;
发送节点获取当前传递路径表中所述发送节点地址信息之后的下一个地址信息,并将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点。
一种实现同步传输数据的系统,所述系统包括发送节点和至少两个目的节点,
所述发送节点,用于获取当前传递路径表中的首地址信息,并将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点,所述传递路径表包括每个目的节点的地址信息;
所述目的节点,用于接收待传输的数据和当前传递路径表,获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,将所述待传输的数据和传递路径表发送至下一个地址信息对应的目的节点。
优选地,所述发送节点还用于触发首地址循环检测流程,所述首地址循环检测流程包括:检测与当前传递路径表中首地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与所述当前传递路径表中的首地址信息所对应的目的节点通讯正常,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
优选地,所述目的节点还用于触发下一个地址循环检测流程,所述下一个地址循环检测流程包括:检测与当前传递路径表中与其对应的地址信息之后的下一个地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中其地址信息之后的下一个地址信息通讯状态正常,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
优选地,所述传递路径表还包括发送节点的地址信息,所述发送节点的地址信息位于传递路径表中最后一个目的节点所对应的地址信息之后,当存在通讯异常节点时,所述通讯异常节点的地址信息依次置于传递路径表末尾,则,当所述目的节点为最后一个目的节点时,
所述目的节点还用于获取当前传递路径表中发送节点的地址信息,并将所述待传输数据和当前传递路径表返回给发送节点;
所述发送节点还用于根据所述当前传递路径表判断是否存在通讯异常节点,以便于存在通讯异常节点时,重新根据通讯异常节点的地址信息,建立新的传递路径表;并将所述新的传递路径表作为当前传递路径表。
优选地,所述传递路径表还包括发送节点的地址信息,所述发送节点的地址信息位于传递路径表中最后一个目的节点所对应的地址信息之后,当存在通讯异常节点时,所述通讯异常节点的地址信息依次置于传递路径表末尾,则,当所述目的节点为最后一个目的节点时,
所述目的节点还用于获取发送节点的地址信息,并将所述待传输数据和当前传递路径表返回给发送节点;
所述发送节点还用于接收到最后一个目的节点发送的待传输数据和当前传递路径表后,获取当前传递路径表中所述发送节点地址信息之后的下一个地址信息,并将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种实现同步传输数据的方法和系统,由发送节点根据当前传递路径表中的每个目的节点的地址信息,首先将待传输数据和传递路径表发送至首地址信息对应的目的节点,该目的节点作为起始目的节点触发循环发送流程,直至每个目的节点均接收到待传输的数据,发送节点只发送一次待传输数据,即实现了同步传输,从而节省了出口带宽,提高了数据传输效率,提高了节点性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种实现同步传输数据的方法实施例1的流程图;
图2为本发明一种实现同步传输数据的方法实施例2的流程图;
图3为本发明一种实现同步传输数据的方法实施例3的流程图;
图4为本发明一种实现同步传输数据的方法实施例4的流程图;
图5为本发明一种实现同步传输数据的系统实施例1的结构示意图;
图6为本发明一种实现同步传输数据的系统实施例2的结构示意图;
图7为本发明一种实现同步传输数据的系统实施例3的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种实现同步传输数据的方法和系统,发送节点根据当前传递路径表中的每个目的节点的地址信息,首先将待传输数据和传递路径表发送至首地址信息对应的目的节点,该目的节点作为起始目的节点触发循环发送流程,直至每个目的节点均接收到待传输的数据,发送节点只发送一次待传输数据,即实现了同步传输,从而节省了出口带宽,提高了数据传输效率,提高了节点性能。
参见图1,示出本发明一种实现同步传输数据的方法实施例1的流程图,可以包括以下几个步骤:
步骤101:发送节点获取当前传递路径表中的首地址信息,所述传递路径表包括每个目的节点的地址信息。
本实施例中,发送节点作为发送端,在需要向多个目的节点同步传输数据时,首先预先设置传递路径表,传递路径表中包括每个目的节点的地址信息,所述地址信息在传递路径表中按预定顺序排列,所述地址信息包括IP地址和/或通讯端口。该预定顺序可根据实际情况具体设定。
发送节点将预先设置的传递路径表作为当前传递路径表,获取该当前传递路径表中的首地址信息。
步骤102:所述发送节点将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点。
发送节点获取待传输的数据,该数据可以是文件、程序或者其他可以进行传输的数据组织形式,待传输数据即是指需要同步传输的数据。
发送节点可将待传输的数据和当前传递路径表封装成数据包的形式进行传输,由于发送节点可能执行不同的数据传输任务,为提高传输的效率,封装好的数据包首先进入发送队列,由发送线程池负责发送,根据首地址信息中的IP地址和通讯端口,将数据包发送至对应的目的节点。
步骤103:以所述首地址信息对应的目的节点作为起始目的节点,并触发起始目的节点的循环发送流程。
所述循环发送流程包括:起始目的节点获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,并将所述待传输的数据和当前传递路径表发送至所述下一个地址信息对应的目的节点,再以所述下一个地址信息对应的目的节点作为起始目的节点,直至最后一个目的节点接收到所述待传输的数据和当前传递路径表。
传递路径表包括每个目的节点的地址信息,并按预定顺序排列,在实际应用中,假设有N个目的节点,(其中N为整数,N大于等于2),其地址信息在传递路径表中按预定顺序排列,路径节点列表排列可如下:
sIp1=xxx.xxx.xxx.xxx;
sIp2=xxx.xxx.xxx.xxx;
sIp3=xxx.xxx.xxx.xxx;
sIp4=xxx.xxx.xxx.xxx;
sIpN=xxx.xxx.xxx.xxx;
其中,xxx.xxx.xxx.xxx代表具体的每个目的节点地址信息,传递路径表中sIp1,sIp2......sIpN即代表按照预定顺序排列后的目的节点,在该表中sIp1对应的地址信息即为首地址信息。发送节点获取sIp1的地址信息,将待传输数据和当前传递路径表封装成数据包并发送至sIp1对应的目的节点,该sIp1对应的目的节点保存所述数据包,并解封装获取当前传递路路径表中sIp2的地址信息,即与其对应的地址信息之后的下一个地址信息,并继续将待传输数据和当前传递路径表封装成数据包发送至sIp2对应的目的节点......,每个目的节点均执行相似的操作,获取传递路径表中与自身对应的地址信息之后的下一个地址信息,并将待传输的数据和当前传递路径表发送至所述下一个地址信息对应的目的节点,直至最后一个目的节点,即sIpN对应的目的节点接收到待传输数据和当前传递路径表。
本实施例中的传递路径表,即是指路径节点的列表,在数据传输过程中,针对传递路径表,数据结构和相关变量的定义可采用如下代码实现:
需要说明的是,上述传递路径表只是一种可以实现的的实施例,并不是对传递路径表的具体限定,所述传递路径表需满足包含目的节点的地址信息,并按照一定顺序排列,使得目的节点能够读取表中信息即可。
本实施例中,假设发送节点需要发送的数据包总量为m,目的节点数为n,单位时间内发送数据包的个数为b,即网络传输速率为b,若采用传统的一对多方式进行传输,则数据传输总时间为:
T1=m*n/b;
而采用本发明所述的方法,数据传输总时间为:
T2=m/b+n/b=(m+n)/b;
其中n/b表示数据包从发送节点发出到最后一个目的节点接收到数据包的延迟时间,该延迟时间与目的节点总数n成正比,与网络传输速率b成反比。
由上述式子可知,当m或n中有一个值为1时,才会有则T1<T2,否则T1≥T2,且m和n数值越大时,T1越远远大于T2,因此采用本发明所述的方法可明显提高数据传输的效率。
在本实施例中,发送节点根据当前传递路径表中的每个目的节点的地址信息,首先将待传输数据和传递路径表发送至首地址信息对应的目的节点,该目的节点作为起始目的节点触发循环发送流程,直至每个目的节点均接收到待传输的数据,发送节点只需发送一次待传输数据,再由目的节点依次进行传递,即实现了同步传输,从而节省了出口带宽,提高了数据传输效率,提高了节点性能。
参见图2,示出了本发明一种实现同步传输数据的方法实施例2的流程图,可以包括以下几个步骤:
步骤201:发送节点获取当前传递路径表中的首地址信息,该当前传递路径表包括每个目的节点的地址信息。
本步骤与实施例1相似,在此不再赘述。
步骤202:所述发送节点触发首地址循环检测流程。
所述首地址循环检测流程包括:
检测与当前传递路径表中的首地址信息对应的目的节点通讯状态是否正常,若否,将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中首地址信息对应的目的节点通讯正常,进入步骤203。
所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
发送节点获取当前传递路径表中的首地址信息后,需要首先针对该首地址信息对应的目的节点,进行通讯状态检测,当通讯状态出现异常时,需要调整传递路径表,将出现通讯异常的目的节点所对应的地址信息置于传递路径表的末尾,即位于其他节点的地址信息之后,形成调整后的传递路径表,发送节点将调整后的传递路径表作为当前传递路径表,执行首地址循环检测流程,直至检测出与当前传递路径表中首地址信息对应的目的节点通讯正常,该当前传递路径表即表示最后一次调整后的传递路径表。
以实施例1中所描述的传递路径表为例,未调整前的传递路径表为:
sIp1=xxx.xxx.xxx.xxx;
sIp2=xxx.xxx.xxx.xxx;
sIp3=xxx.xxx.xxx.xxx;
sIp4=xxx.xxx.xxx.xxx;
sIpN=xxx.xxx.xxx.xxx;
若发送节点与sIp1的目的节点通讯异常,则重新获取调整后的传递路径表中的首地址信息,此时即为sIp2所对应的地址信息,若仍存在通讯异常,则继续检测,当检测到与第三个地址信息所对应的目的节点,即sIp3通讯状态正常,则将该次调整后的传递表作为当前传递路径表,该调整后的传递表为:
sIp3=xxx.xxx.xxx.xxx;
sIp4=xxx.xxx.xxx.xxx;
sIpN=xxx.xxx.xxx.xxx;
sIp1=xxx.xxx.xxx.xxx;
sIp2=xxx.xxx.xxx.xxx;
通讯异常节点的地址信息依次位于传递路径表末尾。
步骤203:所述发送节点将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点。
该首地址信息即为在发送节点检测出现通讯异常节点时,最后调整的传递路径表中的首地址信息,如步骤202中所举实例,即为sIp3对应的地址信息。
步骤204:以所述首地址信息对应的目的节点作为起始目的节点,并触发所述起始目的节点的循环发送流程。
所述循环发送流程包括:起始目的节点获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,并将所述待传输的数据和当前传递路径表发送至所述下一个地址信息对应的目的节点,再以所述下一个地址信息对应的目的节点作为起始目的节点,直至最后一个目的节点接收到所述待传输的数据和当前传递路径表。
其中,该循环发送流程中,所述起始目的节点获取当前传递路径表中与其对应的地址信息之后的下一个地址信息后,可以首先触发下一个地址循环检测流程,所述下一个地址循环检测流程包括:
起始目的节点检测与当前传递路径表中与其对应的地址信息之后的下一个地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中与其对应的地址信息之后的下一个地址信息通讯状态正常,再执行将所述待传输的数据和当前传递路径表发送至下一个地址信息对应的目的节点的步骤,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
起始目的节点获取下一个地址信息,在传送数据之前,也需要执行与发送节点相同的通讯检测操作,若出现通讯异常节点时,需要重新调整传递路径表,将出现通讯异常的节点的地址信息置于传递路径表末尾,即其它节点地址信息之后,该起始目的节点将调整后的传递路径表作为当前传递路径表,继续进行通讯检测,直至与当前传递路径表中与其对应的地址信息之后的下一个地址信息通讯状态正常,该当前传递路径表即为本步骤204中最后一次调整后的传递路径表。
仍以步骤202中所举实例为例,在发送节点检测时,最后调整的传递路径表为:
sIp3=xxx.xxx.xxx.xxx;
sIp4=xxx.xxx.xxx.xxx;
sIpN=xxx.xxx.xxx.xxx;
sIp1=xxx.xxx.xxx.xxx;
sIp2=xxx.xxx.xxx.xxx;
sIp3接收到待传输数据和上述传递路径表后,作为起始目的节点,获取该表中其对应的地址信息之后的下一个地址信息,即sIp4对应的地址信息,当与sIp4的目的节点通讯异常时,则将传递路径表进行再一次调整,调整后的表为:
sIp3=xxx.xxx.xxx.xxx;
sIp5=xxx.xxx.xxx.xxx;
sIpN=xxx.xxx.xxx.xxx;
sIp1=xxx.xxx.xxx.xxx;
sIp2=xxx.xxx.xxx.xxx;
sIp4=xxx.xxx.xxx.xxx;
将sIp4及其对应的地址信息置于其他节点地址信息之后,起始目的节点继续获取当前传递路径表中的下一个地址信息,即sIp5所对应的地址信息,并继续进行通讯检测,直接检测出与当前传递路径表中与其对应的地址信息之后的下一个地址信息通讯状态正常。
起始目的节点检测出与下一个地址信息对应的目的节点通讯正常时,继续起始目的节点的循环发送流程。
每一个可作为起始目的节点的目的节点,均可触发下一个地址信息循环检测流程,以保证数据的准确传输。
在本实施例中,发送节点和目的节点在进行数据传输前,均首先进行通讯状态检测,在节省了出口带宽,提高了数据传输效率的同时,保证了数据的有效传输。
参见图3,示出了本发明一种实现同步传输数据的方法实施例3的流程图,所述方法可以包括:
步骤301:发送节点获取当前传递路径表中的首地址信息。
发送节点首先将预先设置的传递路径表作为当前传递路径表,该预先设置的传递路径表包括每个目的节点的地址信息,还包括发送节点的地址信息,所述地址信息按预定顺序排列,所述发送节点的地址信息位于传递路径表末尾,即其他目的节点地址信息之后,仍以方法实施例1所举传递路径表为例,在预先设置的传递路径表中,在本实施例中,所述sIpN即可代表发送节点的地址信息。
步骤302:所述发送节点触发首地址循环检测流程。
步骤303:所述发送节点将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点。
步骤304:以所述首地址信息对应的目的节点作为起始目的节点,并触发所述起始目的节点的循环发送流程。
步骤302~步骤304与实施例2步骤202~步骤204所述相似,具体可参见实施例2所述,在此不再赘述。
步骤305:最后一个目的节点获取当前传递路径表中发送节点的地址信息,并将待传输数据和当前传递路径表返回给发送节点。
待传输数据和当前传递路径表封装成数据包形式传送至最后一个目的节点时,本实施例中,由于预先设置的传递路径中还包括发送节点的地址信息,位于最后一个目的节点地址信息之后,该最后一个目的节点获取传递路径表与其对应的信息之后的下一个地址信息,即发送节点的地址信息,将待传输数据和当前传递路径表返回给发送节点。
其中,所述最后一个目的节点在发送待传输数据和当前传递路径表之前,也可以先进行通讯状态的检测,若其与发送节点的通讯异常时,则直接结束流程。
步骤306:发送节点根据所述当前传递路径表判断是否存在通讯异常节点,以便于存在通讯异常节点时,重新根据通讯异常节点的地址信息,建立新的传递路径表。
发送节点接收到当前传递路径表后,根据当前传递路径表,检测出与其对应的地址信息之后是否还存在地址信息,若存在,则表明在数据传输中,存在通讯异常的节点,在调整传递路径表的过程中,该通讯异常的节点的地址信息被依次置于传递路径表末尾,且连续排列。
根据传递路径表中,通讯异常节点的地址信息列表,可重新建立新的传递路径表。
步骤307:发送节点将所述新的传递路径表作为当前传递路径表。
发送节点建立失败重传任务,将所述新的传递路径表作为当前传递路径表,可返回步骤301继续执行。直至发送节点检测出当前传递路径表中的后续的地址信息为空,即表明所有目的节点均接收到待传输的数据,保证了同步传输数据的完整性。
在本实施例中,最后一个目的节点接收到待传输数据和当前传递路径表后,还将所述待传输数据和当前传递路径表反馈给发送节点,以便于发送节点检测出存在通讯异常节点时,建立失败重传任务,将新的传递表作为当前传递路径表,继续向未接收到待传输数据的目的节点传输数据,在节省了出口带宽,提高了数据传输效率提的同时,还保证了数据的有效传输,保证了数据传输的可靠性。
参见图4,示出了本发明一种实现同步传输数据的方法实施例4的流程图,本实施例中步骤401~405与方法实施例3的步骤301~步骤305相似,具体可参见方法实施例3所述,其中,所述方法还包括:
步骤406:发送节点获取当前传递路径表中所述发送节点地址信息之后的下一个地址信息。
当存在通讯异常节点时,通讯异常节点的地址信息依次被置于传递路径表末尾,即发送节点的地址信息之后,发送节点接收到当前传递路径表后,还可以直接获取位于发送节点地址信息之后的下一个地址信息。
步骤407:发送节点将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点。
该目的节点可作为起始目的节点,触发起始目的节点循环发送流程,直至某个目的节点检测出当前传递路径表中后续地址信息为空,则结束流程。
在本实施例中,由于出现通讯异常节点时,该通讯异常节点即被置于传递路径表末尾,发送节点接收到待传输数据和当前传递路径表后,可继续获取位于发送节点地址信息之后的下一个地址信息,将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点,继续进行数据传输,直至当前传递路径表中后续地址信息为空,从而保证了同步传输数据的可靠性,节省了出口带宽,提高了数据传输效率。
本发明还提供了一种实现同步传输数据的系统,参见图5,为该系统实施例1的结构示意图,所述系统包括发送节点501和至少两个目的节点502。
发送节点501,用于获取当前传递路径表中的首地址信息,并将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点,所述传递路径表包括每个目的节点的地址信息。
所述地址信息包括目的节点的IP地址和通讯端口。
目的节点502,用于接收待传输的数据和当前传递路径表,获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,将所述待传输的数据和传递路径表发送至下一个地址信息对应的目的节点。
其中,所述发送节点501,还用于触发首地址循环检测流程。
所述首地址循环检测流程包括:检测与当前传递路径表中首地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与所述当前传递路径表中的首地址信息所对应的目的节点通讯正常,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
所述目的节点502,还用于触发下一个地址循环检测流程。
所述下一个地址循环检测流程包括:检测与当前传递路径表中与其对应的地址信息之后的下一个地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中其地址信息之后的下一个地址信息通讯状态正常,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
参见图6,为本发明一种实现同步传输数据的系统实施例2的结构示意图,在本实施例中,传递路径表中还包括发送节点的地址信息,发送节点的地址信息在预先设置传递路径表时,被置于最后一个目的节点地址信息之后。发送节点在进行首地址循环检测流程中,或者,目的节点在进行下一个地址信息的循环检测流程中,出现通讯异常节点时,在调整传递路径表的过程中,通讯异常节点的地址信息被依次置于传递路径表末尾,且连续排列。
则,当目的节点为最后一个目的节点时,
所述目的节点602,还用于获取当前传递路径表中发送节点601的地址信息,并将所述待传输数据和当前传递路径表返回给发送节点601,则,
所述发送节点601,还用于根据所述当前传递路径表判断是否存在通讯异常节点,以便于存在通讯异常节点时,重新根据通讯异常节点的地址信息,建立新的传递路径表;并将所述新的传递路径表作为当前传递路径表。
发送节点601和目的节点602的其他功能可具体参见系统实施例1所述,在此不再赘述。
其中,作为另一个可行的实施例,参见图7,为本发明一种实现同步传输数据的系统实施例3的结构示意图,在本实施例中,传递路径表中还包括发送节点的地址信息,发送节点的地址信息在预先设置传递路径表时,被置于最后一个目的节点地址信息之后。发送节点在进行首地址循环检测流程中,或者,目的节点在进行下一个地址信息的循环检测流程中,出现通讯异常节点时,在调整传递路径表的过程中,通讯异常节点的地址信息被依次置于传递路径表末尾,且连续排列。
则,当目的节点为最后一个目的节点时,所述目的节点702,还用于获取发送节点的地址信息,并将所述待传输数据和当前传递路径表返回给发送节点701,则,
所述发送节点701,还用于接收到最后一个目的节点发送的待传输数据和当前传递路径表后,获取当前传递路径表中所述发送节点地址信息之后的下一个地址信息,并将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点。
发送节点701和目的节点702的其他功能可具体参见系统实施例1所述,在此不再赘述。
在本发明的系统实施例中,发送节点在同步传输数据时,只需发送一次数据,目的节点在将所述待传输数据依次传递,即可实现数据的同步传输,节省了发送节点的出口带宽,提高了数据传输的效率,且发送节点和目的节点在传送数据过程中可进行通讯状态的检测,根据出现通讯异常的节点,还可重新建立失败重传任务,从而保证了数据传输的可靠性。
在实际应用中,所述发送节点可具体为一个发布服务器,所述目的节点可具体为文件服务器,发布服务器向文件服务器同步传输大量文件时,由于只需发送一次数据,节省了发布服务器的出口带宽,从而提高了数据传输的效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种实现同步传输数据的方法,其特征在于,所述方法包括:
发送节点获取当前传递路径表中的首地址信息,所述传递路径表包括每个目的节点的地址信息,所述地址信息在传递路径表中按预定顺序排列;
所述发送节点将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点;
以所述对应的目的节点作为起始目的节点,并触发所述起始目的节点的循环发送流程,所述循环发送流程包括:起始目的节点获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,并将所述待传输的数据和当前传递路径表发送至所述下一个地址信息对应的目的节点,再以所述下一个地址信息对应的目的节点作为起始目的节点,直至最后一个目的节点接收到所述待传输的数据和当前传递路径表;
其中,所述起始目的节点获取当前传递路径表中与其地址信息相邻的下一个地址信息之后还包括:
所述起始目的节点触发下一个地址循环检测流程,所述下一个地址循环检测流程包括:
检测与当前传递路径表中与其对应的地址信息之后的下一个地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中与其对应的地址信息之后的下一个地址信息通讯状态正常,再执行将所述待传输的数据和当前传递路径表发送至下一个地址信息对应的目的节点的步骤,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾;
其中,所述传递路径表还包括发送节点的地址信息,所述发送节点的地址信息位于传递路径表中最后一个目的节点所对应的地址信息之后,当存在通讯异常节点时,所述通讯异常节点的地址信息依次置于传递路径表末尾,则所述方法还包括:
最后一个目的节点获取当前传递路径表中发送节点的地址信息,并将待传输数据和当前传递路径表返回给发送节点;
发送节点根据所述当前传递路径表判断是否存在通讯异常节点,以便于存在通讯异常节点时,重新根据通讯异常节点的地址信息,建立新的传递路径表;并将所述新的传递路径表作为当前路径表;
和/或,所述方法还包括:
最后一个目的节点获取当前传递路径表中发送节点的地址信息,并将待传输数据和当前传递路径表返回给发送节点;
发送节点获取当前传递路径表中所述发送节点地址信息之后的下一个地址信息,并将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点。
2.根据权利要求1所述的方法,其特征在于,所述发送节点获取当前传递路径表中的首地址信息之后还包括:
所述发送节点触发首地址循环检测流程,所述首地址循环检测流程包括:
检测与当前传递路径表中的首地址信息对应的目的节点通讯状态是否正常,若否,将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中首地址信息对应的目的节点通讯正常,再执行所述待传输的数据和当前传递路径表发送至首地址信息对应的目的节点的步骤,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
3.一种实现同步传输数据的系统,其特征在于,所述系统包括发送节点和至少两个目的节点,
所述发送节点,用于获取当前传递路径表中的首地址信息,并将待传输的数据和当前传递路径表发送至首地址信息对应的目的节点,所述传递路径表包括每个目的节点的地址信息,所述地址信息在传递路径表中按预定顺序排列;
所述目的节点,用于接收待传输的数据和当前传递路径表,获取当前传递路径表中与其对应的地址信息之后的下一个地址信息,将所述待传输的数据和传递路径表发送至下一个地址信息对应的目的节点;
其中,所述目的节点还用于触发下一个地址循环检测流程,所述下一个地址循环检测流程包括:检测与当前传递路径表中与其对应的地址信息之后的下一个地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与当前传递路径表中其地址信息之后的下一个地址信息通讯状态正常,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾;
其中,所述传递路径表还包括发送节点的地址信息,所述发送节点的地址信息位于传递路径表中最后一个目的节点所对应的地址信息之后,当存在通讯异常节点时,所述通讯异常节点的地址信息依次置于传递路径表末尾,则,当所述目的节点为最后一个目的节点时,
所述目的节点还用于获取当前传递路径表中发送节点的地址信息,并将所述待传输数据和当前传递路径表返回给发送节点;
所述发送节点还用于根据所述当前传递路径表判断是否存在通讯异常节点,以便于存在通讯异常节点时,重新根据通讯异常节点的地址信息,建立新的传递路径表;并将所述新的传递路径表作为当前传递路径表;
和/或,
所述目的节点还用于获取发送节点的地址信息,并将所述待传输数据和当前传递路径表返回给发送节点;
所述发送节点还用于接收到最后一个目的节点发送的待传输数据和当前传递路径表后,获取当前传递路径表中所述发送节点地址信息之后的下一个地址信息,并将待传输数据和当前传递路径表发送给所述下一个地址信息对应的目的节点。
4.根据权利要求3所述的系统,其特征在于,
所述发送节点还用于触发首地址循环检测流程,所述首地址循环检测流程包括:检测与当前传递路径表中首地址信息对应的目的节点通讯状态是否正常,若否,则将调整后的传递路径表作为当前传递路径表,直至检测出与所述当前传递路径表中的首地址信息所对应的目的节点通讯正常,所述调整后的传递路径表包括每个目的节点的地址信息,所述通讯异常节点的地址信息位于传递路径表末尾。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110129220 CN102201911B (zh) | 2011-05-18 | 2011-05-18 | 实现同步传输数据的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110129220 CN102201911B (zh) | 2011-05-18 | 2011-05-18 | 实现同步传输数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102201911A CN102201911A (zh) | 2011-09-28 |
CN102201911B true CN102201911B (zh) | 2013-10-30 |
Family
ID=44662320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110129220 Active CN102201911B (zh) | 2011-05-18 | 2011-05-18 | 实现同步传输数据的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102201911B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753630A (zh) | 2013-12-27 | 2015-07-01 | 中兴通讯股份有限公司 | 一种数据传输方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937543A (zh) * | 2006-10-20 | 2007-03-28 | 北京邮电大学 | 逐跳转发的分布式流媒体传输性能的测试方法及测试装置 |
CN101686144A (zh) * | 2008-09-22 | 2010-03-31 | 华为技术有限公司 | 一种处理数据的方法、系统和节点设备 |
CN101945339A (zh) * | 2010-07-02 | 2011-01-12 | 哈尔滨工程大学 | 认知无线电自组织网络报文多播传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100669238B1 (ko) * | 2003-12-19 | 2007-01-15 | 한국전자통신연구원 | 센서 네트워크의 라우팅 프로토콜 제공방법 |
CN101414949B (zh) * | 2008-11-28 | 2011-05-18 | 阿里巴巴集团控股有限公司 | 一种链式数据传输方法、节点及系统 |
CN101483893B (zh) * | 2008-12-23 | 2011-03-09 | 同济大学 | 基于动态接入路径选择机制的快速接入点切换方法 |
-
2011
- 2011-05-18 CN CN 201110129220 patent/CN102201911B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937543A (zh) * | 2006-10-20 | 2007-03-28 | 北京邮电大学 | 逐跳转发的分布式流媒体传输性能的测试方法及测试装置 |
CN101686144A (zh) * | 2008-09-22 | 2010-03-31 | 华为技术有限公司 | 一种处理数据的方法、系统和节点设备 |
CN101945339A (zh) * | 2010-07-02 | 2011-01-12 | 哈尔滨工程大学 | 认知无线电自组织网络报文多播传输方法 |
Non-Patent Citations (2)
Title |
---|
《基于P2P覆盖网络的应用层组播》;梁可结;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110331(第3期);全文 * |
梁可结.《基于P2P覆盖网络的应用层组播》.《中国优秀硕士学位论文全文数据库 信息科技辑》.2011,(第3期), |
Also Published As
Publication number | Publication date |
---|---|
CN102201911A (zh) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715282B2 (en) | Method and related device for improving TCP transmission efficiency using delayed ACK | |
CN101286867B (zh) | 一种网络设备的软件升级方法与系统 | |
CN1697354B (zh) | 用组播和单播协议可靠传输数据的方法及接收数据的主机 | |
CN102098301B (zh) | 多链路自适应的数据传输方法与系统 | |
CN108881008A (zh) | 一种数据传输的方法、装置和系统 | |
CN101217429B (zh) | 基于tcp时间戳选项确定tcp报文之间的引发关系的方法 | |
CN101771585A (zh) | 一种网络延时测量设备及其方法 | |
CN101094121A (zh) | 非直连设备间以太网链路的检测方法、系统和设备 | |
CN106961487B (zh) | 虚拟机热迁移过程中的数据流自适应调整系统及调整方法 | |
US6452946B1 (en) | Apparatus and method for improving performance in master and slave communications systems | |
KR20100057885A (ko) | Ip 네트워크 상의 ip 링크의 접속 상태를 자동으로 확인하는 방법 및 시스템 | |
CN103368872A (zh) | 数据包转发系统和方法 | |
CN107659456A (zh) | 一种基于rs485通信的数据冲突传输方法 | |
CN104486187B (zh) | 一种动态同步的can通讯设备和方法 | |
CN102201911B (zh) | 实现同步传输数据的方法和系统 | |
JP5476852B2 (ja) | 通信装置、通信システムおよび通信方法 | |
CN105939282A (zh) | 分组大小的调整方法及装置 | |
CN101472290B (zh) | 移动数据业务平台性能测试流量控制方法及装置 | |
CN101631074B (zh) | 一种多链路报文发送方法、装置和网络设备 | |
CN105282231B (zh) | 基于应用类型的数据引流方法、装置及系统 | |
CN103297288B (zh) | 分组传送延迟测量系统 | |
CN102056195A (zh) | 一种业务质量的确定方法和无线接入网络设备 | |
CN101547192A (zh) | 一种分发传输tcp数据包的方法及装置 | |
CN116032998B (zh) | 数据传输方法、装置、计算机可读存储介质及电子设备 | |
CN101159691A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |