文件传输的方法和装置的制造方法

文档序号:8322054阅读:359来源:国知局
文件传输的方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种文件传输的方法和装置。
【背景技术】
[0002]WiFi (Wireless Fidelity,无线保真)是一种无线网络通信技术,它将个人电脑、手持设备(如PDA (Personal Digital Assistant,个人数字助理)、手机)等终端以无线方式互相连接,改善了基于IEEE802.11标准的无线网络产品之间的互通性。
[0003]现有的WiFi技术提供了用于实现一对多组播的MFTP(Multicast File TransferProtocol,组播文件传输协议)。MFTP的功能是将一个文件从一台设备传送到多台设备。在组播组已经建立完成的前提下,它的传输过程简述如下:发送设备将文件分成若干个指定长度的数据包,发送设备向组播组组播RRQ (Ready Request,准备请求消息),当组播组中的接收设备收到RRQ后,向发送设备发送RDY (Ready,准备完成消息),发送设备选择第一个返回RDY的接收设备作为主接收设备(master receiver)。发送设备向所有接收设备以组播形式发送文件内容,在组播过程中,只有主接收设备需要向发送设备回复ACK(Acknowledgment,确认消息),每当发送设备接收到主接收设备返回的ACK后,继续组播发送下一个数据包。在当前主接收设备接收完该文件内容后,重复上述选择主接收设备的方法,从未完成接收的接收设备中选择下一个主接收设备,继续组播数据包,直到所有接收设备均接收完成。
[0004]在实施本发明的过程中,发明人发现现有技术中至少存在以下缺点:
[0005]在一对多的组播场景中,接收设备需要在应答了发送设备所广播的RRQ后才能开始接收组播内容,而一旦有些接收设备(如新加入该组播组的设备)错过了传输开始时发送设备所广播的RRQ,没办法及时开始接收组播内容,从而降低传输效率。

【发明内容】

[0006]为了解决传输效率低的问题,本发明实施例提供了一种文件传输的方法和装置。该技术方案如下:
[0007]第一方面,提供了一种文件传输的方法,该方法包括:
[0008]发送设备向组播组组播发送准备请求消息,该准备请求消息至少携带待发送文件的文件名称和分块数量,该组播组包括至少一个设备;
[0009]当该发送设备接收到该组播组中的第一设备返回的第一个准备完成消息时,向该第一设备发送第一主接收设备确定消息,该第一主接收设备确定消息用于通知该第一设备其已被选择为主接收设备,向该组播组组播发送该待发送文件的数据包;
[0010]当有第二设备新加入该组播组时,向该第二设备发送第一消息,该第一消息至少携带该待发送文件的文件名称、分块数量和第一数据包标识,该第一数据包标识用于指示该发送设备即将传输的数据包,该第一消息用于通知该第二设备该发送设备即将传输的数据包的信息,使得该第二设备根据该第一消息接收该发送设备即将传输的该待发送文件的数据包。
[0011]结合第一方面,在第一方面的第一种可能实现方式中,当有第二设备新加入该组播组时,向该第二设备发送第一消息之后,该方法还包括:
[0012]接收该第二设备发送的准备完成消息。
[0013]结合第一方面,在第一方面的第二种可能实现方式中,在向该第二设备发送第一消息,使得该第二设备根据该第一消息接收该发送设备即将传输的该待发送文件的数据包之后,当该组播组的当前主接收设备已经接收到该待发送文件的所有数据包时,该方法还包括:
[0014]向该第二设备发送第二主接收设备确定消息,该第二主接收设备确定消息用于通知该第二设备其已被选择为主接收设备,当接收到该第二设备发送的携带第二数据包标识的接收确认消息时,根据该第二数据包标识,向当前组播组组播发送该第二设备尚未接收的该待发送文件的数据包,该第二数据包标识用于指示该第二设备下一次应接收的数据包,是该第二设备根据其已接收到的该待发送文件的数据包来确定的;或,
[0015]向当前组播组组播发送该准备请求消息,当该发送设备接收到该当前组播组中的第三设备返回的第一个准备完成消息时,向该第三设备发送第三主接收设备确定消息,该第三主接收设备确定消息用于通知该第三设备其已被选择为主接收设备,当接收到该第三设备发送的携带第三数据包标识的接收确认消息时,根据该第三数据包标识,向当前组播组组播发送该第三设备尚未接收的该待发送文件的数据包,该第三数据包标识用于指示该第三设备下一次应接收的数据包,是该第三设备根据其已接收到的该待发送文件的数据包来确定的。
[0016]结合第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,该发送设备接收到该组播组中当前主接收设备发送的第一接收确认消息且该第一接收确认消息携带第四数据包标识时,确定该组播组的当前主接收设备已经接收到该待发送文件的所有数据包,该第四数据包标识用于指示该待发送文件的最后一个数据包。
[0017]第二方面,提供了一种文件传输的方法,该方法包括:
[0018]在发送设备向组播组中的设备组播发送待发送文件的数据包的过程中,第二设备加入该组播组,该组播组包括至少一个设备;
[0019]接收该发送设备向该第二设备发送的第一消息,该第一消息至少携带该待发送文件的文件名称、分块数量和第一数据包标识,该第一数据包标识用于指示该发送设备即将传输的数据包,该第一消息用于通知该第二设备该发送设备即将传输的数据包的信息;
[0020]根据该第一消息接收该发送设备即将传输的该待发送文件的数据包。
[0021]结合第二方面,在第二方面的第一种可能实现方式中,接收该发送设备向该第二设备发送的第一消息之后,该方法还包括:
[0022]该第二设备向该发送设备发送准备完成消息。
[0023]结合第二方面,,在第二方面的第二种可能实现方式中,该方法还包括:该第二设备接收第二主接收设备确定消息,该第二主接收设备确定消息由该发送设备在该组播组的当前主接收设备已经接收到该待发送文件的所有数据包时发送给该第二设备,该第二主接收设备确定消息用于通知该第二设备其已被选择为主接收设备;
[0024]该第二设备根据该第二设备已接收到的该待发送文件的数据包,向该发送设备发送携带第二数据包标识的接收确认消息,该第二数据包标识用于指示该第二设备下一次应接收的数据包,使得该发送设备根据该第二数据包标识向当前组播组组播发送该第二设备尚未接收的该待发送文件的数据包;
[0025]接收该发送设备发送的该第二设备尚未接收的该待发送文件的数据包。
[0026]第三方面,提供了一种文件传输的装置,该装置包括:发送模块和接收模块,
[0027]其中,该发送模块用于向组播组组播发送准备请求消息,该准备请求消息至少携带待发送文件的文件名称和分块数量,该组播组包括至少一个设备;
[0028]该接收模块用于接收该组播组中的设备返回的准备完成消息;
[0029]该发送模块还用于当该接收模块接收到该组播组中的第一设备返回的第一个准备完成消息时,向该第一设备发送第一主接收设备确定消息,该第一主接收设备确定消息用于通知该第一设备其已被选择为主接收设备,向该组播组组播发送该待发送文件的数据包;
[0030]该发送模块还用于当有第二设备新加入该组播组时,向该第二设备发送第一消息,该第一消息至少携带该待发送文件的文件名称、分块数量和第一数据包标识,该第一数据包标识用于指示该发送设备即将传输的数据包,该第一消息用于通知该第二设备该发送设备即将传输的数据包的信息,使得该第二设备根据该第一消息接收该发送设备即将传输的该待发送文件的数据包。
[0031]结合第三方面,在第三方面的第一种可能实现方式中,该接收模块还用于该发送模块向该第二设备发送第一消息之后,接收该第二设备发送的准备完成消息。
[0032]结合第三方面,在第三方面的第二种可能实现方式中,该发送模块还用于当该组播组的当前主接收设备已经接收到该待发送文件的所有数据包时,向该第二设备发送第二主接收设备确定消息,该第二主接收设备确定消息用于通知该第二设备其已被选择为主接收设备,
[0033]该接收模块还用于接收该第二设备发送的携带第二数据包标识的接收确认消息,
[0034]该发送模块还用于当该接收模块接收到该第二设备发送的携带第二数据包标识的接收确认消息时,根据该第二数据包标识,向当前组播组组播发送该第二设备尚未接收的该待发送文件的数据包,该第二数据包标识用于指示该第二设备下一次应接收的数据包,是该第二设备根据其已接收到的该待发送文件的数据包来确定的;
[0035]或,
[0036]该发送模块还用于当该组播组的当前主接收设备已经接收到该待发送文件的所有数据包时,向当前组播组组播发送该准备请求消息,
[0037]该接收模块还用于接收该当前组播组中的设备发送的准备完成消息,
[0038]该发送模块还用于当该接收模块接收到该当前组播组中的第三设备返回的第一个准备完成消息时,向该第三设备发送第三主接收设备确定消息,该第三主接收设备确定消息用于通知该第三设备其已被选择为主接收设备,
[0039]该接
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1