发明内容
本发明实施例提供基于蓝牙技术的文件传输方案,包括:
一种基于蓝牙技术的文件发送方法,包括:
文件发送方查询并确定文件接收方具有断点续传功能后,获取待发送的文件的断点续传信息,所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
所述文件发送方利用与文件接收方之间的蓝牙连接,从所述指示信息所指示的起始点处开始,向所述文件接收方发送该起始点之后的文件内容。
一种基于蓝牙技术的文件发送装置,包括:功能查询单元、信息获取单元、文件发送单元;其中,
所述功能查询单元,向所述文件接收方发送查询消息,查询所述文件接收方是否具有支持从所述起始点开始,接收该起始点之后的文件内容的断点续传功能,在收到所述文件接收方返回的表示该文件接收方具有所述断点续传功能的响应后,确定所述文件接收方具有所述断点续传功能,触发信息获取单元;
所述信息获取单元,获取待发送的文件的断点续传信息,所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
所述文件发送单元,利用与文件接收方之间的蓝牙连接,从所述信息获取单元获取到的所述指示信息所指示的起始点处开始,向所述文件接收方发送该起始点之后的文件内容。
一种基于蓝牙技术的文件接收方法,包括:
文件接收方向文件发送方确认所述文件接收方具有断点续传功能后,向文件发送方发送预先生成的断点续传信息;所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
所述文件接收方利用与所述文件发送方之间的蓝牙连接,开始接收所述文件发送方从所述指示信息所指示的起始点处,开始发送的该起始点之后的文件内容。
一种基于蓝牙技术的文件接收装置,包括:响应单元、信息发送单元和文件接收单元,其中,
所述响应单元,接收所述文件发送方发送的查询所述文件接收方是否具有支持从所述起始点开始,接收该起始点之后的文件内容的断点续传功能的查询消息,向所述文件发送方返回表示该文件接收方具有所述断点续传功能的响应;
所述信息发送单元,向文件发送方发送预先生成的断点续传信息;所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
所述文件接收单元,利用与所述文件发送方之间的蓝牙连接,开始接收所述文件发送方从所述指示信息所指示的起始点处,开始发送的该起始点之后的文件内容。
本发明实施例提供的基于蓝牙技术的文件传输方案中,文件发送方基于待发送的文件的断点续传信息发送文件,该断点续传信息中包含用于指示文件发送方向上述文件接收方发送该文件时的发送起始点指示信息,即文件发送方可基于指示信息所指示的发送起始点,从该起始点开始发送文件,而未必需要从文件内容的起始位置开始发送文件。进而,相对需要重新传输整个文件来讲,相对节约文件传输时间。
具体实施方式
下面结合附图对本发明实施例提供的技术方案作进一步详细描述。
因文件发送方与文件接收方之间的蓝牙连接中断,导致文件传输的失败,从而浪费文件传输双方即文件发送方与文件接收方的时间,以及浪费曾被占用的传输资源。
本发明实施例提供基于蓝牙技术的文件传输方案,该方案中,文件发送方基于待发送的文件的断点续传信息发送文件,该断点续传信息中包含用于 指示文件发送方向上述文件接收方发送该文件时的发送起始点指示信息,即文件发送方可基于指示信息所指示的发送起始点,从该起始点开始发送文件,而未必需要从文件内容的起始位置开始发送文件。对于蓝牙连接被中断时,文件被停止传输的情况,该发送起始点为文件被停止传输时文件内容上的暂停点;在文件发送方基于暂停点再次传输该文件时,文件接收方基于保存的不完整的文件内容,继续接收上次未传输的文件内容,从而,相对需要重新传输整个文件来讲,相对节约文件传输时间。
参见图1,图1是本发明实施例中的一种基于蓝牙技术的文件接收方法流程图,该流程可包括以下步骤:
步骤101、文件发送方获取待发送的文件的断点续传信息,所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息。
步骤102、文件发送方利用与文件接收方之间的蓝牙连接,从所述指示信息所指示的起始点处开始,向所述文件接收方发送该起始点之后的文件内容。
参见图2,图2是本发明实施例中另一基于蓝牙技术的文件接收方法的流程图,该流程可包括以下步骤:
步骤201、文件接收方向文件发送方发送预先生成的断点续传信息;所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
步骤202、文件接收方利用与所述文件发送方之间的蓝牙连接,开始接收所述文件发送方从所述指示信息所指示的起始点处,开始发送的该起始点之后的文件内容。
本发明实施例中,对于文件发送方,若该文件发送方能够支持按上述指示信息的指示,在对应的起始点发送文件,则称该文件发送方具有断点续传功能;对于文件接收方,若该文件接收方能够支持接收文件发送方基于发送起始点发送的文件,则称该文件接收方具有断点续传功能。因此,要实现断 点续传,需要文件发送方与文件接收方都能够支持断点续传功能。文件发送方在基于断点续传功能向文件接收方发送文件之前,需要先查询文件接收方是否具有断点续传功能,在确定文件接收方具有该断点续传功能后,基于发送起始点指示信息的指示,向文件接收方发送文件。
实际应用中,文件发送方虽然获取到断点续传信息,但是在基于发送起始点发送文件之前,需要确认是否能够从该发送起始点发送文件,若能够的话,则确认该发送起始点,且向文件接收方发送文件指针值,该指针值用于标示文件传输进展,在文件发送方确定发送起始点之后,通过文件指针值将被确认的发送起始点发送给文件接收方,通知文件接收方从该发送起始点开始,接收文件。
另外,本发明实施例中,文件发送方获取断点续传信息的做法可以是,由文件发送方向文件接收方查询该断点续传信息。
参见图3,图3是本发明实施例中的基于蓝牙技术的文件发送装置的结构示意图,该发送装置对应上述文件发送方的功能,包括:信息获取单元、文件发送单元;其中,
所述信息获取单元,获取待发送的文件的断点续传信息,所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
所述文件发送单元,利用与文件接收方之间的蓝牙连接,从所述信息获取单元获取到的所述指示信息所指示的起始点处开始,向所述文件接收方发送该起始点之后的文件内容。
该发送装置进一步可包括:
功能查询单元,向所述文件接收方发送查询消息,查询所述文件接收方是否具有支持从所述起始点开始,接收该起始点之后的文件内容的断点续传功能,在收到所述文件接收方返回的表示该文件接收方具有所述断点续传功能的响应后,确定所述文件接收方具有所述断点续传功能,触发信息获取单元。
该发送装置进一步可包括:
起始点确定单元,根据信息获取单元获取到的断点续传信息,若所述起始点为所述文件的内容起始位置,确定从所述文件内容起始位置开始发送所述文件;或,
若所述起始点位于所述文件的内容的起始位置与结束位置之间,根据所述断点续传信息中包含的文件描述信息,确定所述文件描述信息所描述的文件,与待发送的文件相匹配,并确定从所述起始点开始发送所述文件。
该发送装置进一步可包括:
指针值发送单元,向所述文件接收方发送用于标示文件传输进展的文件指针值,通知所述文件接收方从该文件指针值所指示的起始点确定单元所确定的所述起始点开始接收所述文件。
参见图4,图4是本发明实施例中的基于蓝牙技术的文件接收装置的结构示意图,该接收装置的功能对应上述文件接收方的功能,可包括:信息发送单元和文件接收单元,其中,
所述信息发送单元,向文件发送方发送预先生成的断点续传信息;所述断点续传信息中包含用于指示所述文件发送方发送所述文件的发送起始点指示信息;
所述文件接收单元,利用与所述文件发送方之间的蓝牙连接,开始接收所述文件发送方从所述指示信息所指示的起始点处,开始发送的该起始点之后的文件内容。
该接收装置进一步可包括:
响应单元,接收所述文件发送方发送的查询所述文件接收方是否具有支持从所述起始点开始,接收该起始点之后的文件内容的断点续传功能的查询消息,向所述文件发送方返回的表示该文件接收方具有所述断点续传功能的响应。
该接收装置进一步可包括:
指针值设置单元,接收所述文件发送方发送的用于标示文件传输进展的文件指针值,该文件指针值指示所述起始点,将断点续传信息中包含的文件 指针值置为所述起始点。
该接收装置进一步可包括:
指针值更新单元,根据所述文件接收单元接收到的文件内容,更新所述断点续传信息中的文件指针值。
该接收装置进一步可包括:
指针值存储单元,若所述文件接收单元成功接收所述文件的全部文件内容之前,所述蓝牙连接被断开,则存储所述蓝牙连接被断开时所述断点续传信息中的文件指针值,该文件指针值指示所述文件被暂停传输时对应的文件内容上的暂停点,该暂停点为用于指示所述文件发送方下次向所述文件接收方发送所述文件时的发送起始点指示信息。
该接收装置进一步可包括:
删除处理单元,所述断点续传信息中进一步包含所述文件的描述信息,在所述文件接收单元成功接收所述文件的全部文件内容后,删除所述断点续传信息。
本发明实施例中,在文件传输双方基于断点续传功能,传输文件之间,需要将自己所具有的断点续传功能作为一个服务(service)注册到服务数据库(service database)中,这样,双方可通过访问服务数据库,获知对方是否能够支持断点续传功能。
参见图5,图5是本发明实施例中支持断点续传功能的设备注册服务的流程图,该流程可包括以下步骤:
步骤501、设备上电。
步骤502、设备初始化设备上的设备数据库。
该步骤502为常规的设备初始化过程,不作赘述。
步骤503、设备初始化设备上的服务数据库。
该步骤503中,设备除进行常规的初始化服务数据库的操作之外,还需要将该设备能够支持断点续传功能的服务注册到服务数据库中。从而,其他设备可通过访问服务数据库,获知该设备所具有的包括支持断点续传的各功 能。
步骤504、设备初始化其他任务后,准备就绪。
下面结合具体的流程说明文件传输双方之间断点续传的实现。
参见图6,图6是本发明实施例中文件传输双方之间进行文件断点续传的交互图。参见图7,图7是图6中文件传输过程中文件发送方的断点续传操作流程图。图8是图6中文件传输过程中文件接收方的断点续传操作流程图。本发明实施例中,文件传输可由文件发送方发起,如采用推(Push)模式,主动向文件接收方发送文件,或文件传输由文件接收方发起,文件接收方采用拉(Pull)模式,请求文件发送方发送文件。
设图6所示交互流程中,文件发送方采用Push模式,主动向文件接收方发送文件,在文件传输之前,文件传输双方已完成鉴权绑定。以图6为主线线索,说明图6、图7和图8中文件的断点续传流程包括如下步骤:
步骤601、文件发送方发起断点续传请求,向文件接收方发送查询消息,查询文件接收方是否具有断点续传功能。
步骤602、文件接收方收到文件发送方发送的查询消息后,向文件发送方返回响应消息,该响应消息表示该文件接收方能够支持断点续传功能。
步骤603、文件发送方根据收到的文件接收方返回的响应消息,确定文件接收方是否支持断点续传功能,若不支持,则准备按照相关协议发送文件,若文件接收方支持断点续传功能,则执行步骤604。
相关协议如,蓝牙文件传输应用协议(FTP,File Transfer Profile)等。
步骤604、文件发送方向文件接收方发送要求获取断点续传信息的请求。
该请求中包含文件标识。
步骤605、文件接收方收到文件发送方发送的请求后,根据其中的文件标识,找到有关该文件的断点续传信息,返回文件接收方。
本发明实施例中,若文件传输双方之间曾经传输过该文件,且该文件尚未传输成功,则文件接收方会存储有关该文件的断点续传信息,该信息中包含上次文件传输被停止时,文件内容上的暂停点标志,体现在具体实现上, 该暂停点标志可以是一个文件指针值,此时,该文件指针值的作用在于,在文件传输双方再次传输该文件时,用以指示文件发送方该文件的发送起始点。该断点续传信息中进一步包括该文件的文件描述信息,如文件大小、文件作者、文件识别码、文件的创建日期、文件校验码等等。若文件传输双方之间未传输过该文件,或曾成功传输过该文件,则文件接收方处并不会保存有关该文件相关信息,则文件接收方新生成断点续传信息,其中,标示发送起始点的文件指针值为该文件内容本身的起始位置。
另外,文件接收方上所保存的断点续传信息具体可以是一个标志(mark)文件。
步骤606、文件发送方收到文件接收方返回的断点续传信息后,确定文件的发送起始点。
该步骤606可具体包括以下分步骤:
步骤6060、文件发送方根据断点续传信息中所指示的文件发送起始点,判断本次文件传输是否是一次新的传输,如果发送起始点指示为文件内容的起始位置,如断点续传信息中的文件指针值为零,则文件发送方确定本次传输是一次新的传输,即与文件接收方之间之前并未传输过该文件,或该文件曾被成功传输,本次重新传输,执行步骤6061;否则,若发送起始点指示为文件内容的起始位置与结束位置之间的某个位置,如断点续传信息中的文件指针值为某个具体数据,则文件发送方确定本次传输是一次断点续传,即文件传输双方之间曾传输过该文件,且当时未传输成功,则执行步骤6062。
步骤6061、文件发送方确定文件的发送起始点即为断点续传信息中文件指针值所指示的位置,设置该文件发送方上用于标示文件传输进展的文件指针值为0。
步骤6062、文件发送方根据断点续传信息中的文件描述信息,对待发送的文件与文件描述信息所描述的文件进行匹配,若匹配不成功,执行步骤6063;若能够匹配成功,执行步骤6065。
该步骤6062中,具体的匹配如,文件发送方将待发送的文件的识别码 与文件描述信息中所描述的文件的识别码进行匹配,以及将待发送的文件的大小、作者等信息与文件描述信息所描述的相关信息进行匹配,若均能够匹配上,则匹配成功,若任何一个信息未能匹配上,则匹配不成功。
步骤6063、文件发送方确认待发送的文件与断点续传信息中所描述的文件不相符,准备按照默认的传输文件的方式发送文件,执行步骤6064。
步骤6064、文件发送方将该文件发送方上用于标示文件传输进展的文件指针值为0,执行步骤607。
步骤6065、文件发送确定待发送的文件与断点续传信息中所描述的文件相符,将断点续传信息中所指示的文件指针值作为该文件发送方用来表示文件传输进展的文件指针值,执行步骤607。
步骤607、文件发送方将自己标示的文件指针值发送给文件接收方,通知文件接收方从该文件指针值所指示的发送起始点处,开始接收文件。
步骤608、文件接收方收到文件发送方发送的文件指针值,判断是否是一次新的传输,若是,则生成新的用于记载断点续传信息的mark文件,且将其中的文件指针值设置为文件发送方发送来的文件指针值;若不是一次新的传输,则文件接收方更新已有的mark文件中的文件指针值为文件发送方发送来的文件指针值;文件接收方向文件发送方返回响应消息,表示文件指针设置完成,准备接收文件。
步骤609、文件发送方按其设置的文件指针值对应的文件发送起始点,开始向文件接收方发送起始点之后的文件内容。
步骤610、文件接收方接收文件发送方发送的文件内容,按照文件传输进度,实时更新mark文件中的文件指针值与文件传输进度对应。
步骤611、文件传输双方之间的蓝牙连接中断,文件接收方判断该文件的全部文件内容是否已传输完毕,或者说文件是否被成功传输,若是,则执行步骤612,否则,执行步骤613。
步骤612、文件接收方删除关于该文件的mark文件。
步骤613、文件接收方保存已收到的不完整的文件内容,且保存当前 mark文件中的文件指针值。
该步骤613中,文件接收方所保存的文件指针值将作为下次文件传输双方之间传输该文件时,用于指示文件发送方从何处开始传输该文件的发送起始点指示信息。
之后,文件传输双方回到闲置(idle)状态。
本次文件的断点续传流程结束。
实际应用中,若文件传输被人为中断,则文件接收方也会记录传输被中断时文件指针值,以及保存已接收到的不完整的文件内容。则,下次文件传输双方之间继续传输该文件时,可接着上次传输中断时,文件内容上的暂停点开始继续传输文件,即可重复执行步骤601之后的流程。
上述图6至图8所示流程,可适用于文件传输双方之间基于蓝牙FTP、对象推送应用协议(OPP,Object Push Profile)、同步应用协议(SP,Synchronization Profile)、基本成像应用协议(BIP,Basic Imaging Profile)、基本打印应用协议(BPP,Basic Printing Profile)等协议传输文件的场景。
综上所述,本发明实施例提供的基于蓝牙技术的文件传输方案,包括文件发送方法、文件接收方法、基于蓝牙技术的文件发送装置及接收装置,文件发送方基于待发送的文件的断点续传信息发送文件,该断点续传信息中包含用于指示文件发送方向上述文件接收方发送该文件时的发送起始点指示信息,即文件发送方可基于指示信息所指示的发送起始点,从该起始点开始发送文件,而未必需要从文件内容的起始位置开始发送文件。进而,相对需要重新传输整个文件来讲,相对节约文件传输时间。
因此,对于蓝牙连接异常中断导致文件传输中断的场景,文件传输双方可以基于上述断点续传流程,在文件内容被断开的地方继续传输,节省传输时间;对于用户自己主动中断传输的场景,用户后续可继续发送续传请求,以续传剩余部分的数据。另外,基于上述文件传输方案,可提高文件传输的成功率,减少垃圾文件的处理。