专利名称:一种传输文件的方法及系统的制作方法
技术领域:
本发明涉及移动终端中的文件传输技术,尤其涉及一种传输文件的方法及系统。
背景技术:
蓝牙是一种支持设备短距离通信的无线电技术,能够在移动电话、个人数码助理 (PDA, Personal Digital Assistant)、无线耳机、笔记本电脑等多种设备之间进行无线信 息交换,所述短距离一般在10米以内。利用蓝牙技术能够有效地简化移动终端之间的通 信,也能够成功的简化移动终端与互联网之间的通信,从而使数据传输更加迅速高效。基于 蓝牙技术的诸多优点,蓝牙已经是当前移动终端中的重要功能,人们已经越来越多的使用 该功能进行通信。随着人们对生活品质要求的不断提高,在日常生活中越来越多的使用音 频文件、游戏以及高像素图片等占用内存较大的大文件,利用蓝牙传输大文件的情况也越 来越普遍。现有技术中,是利用移动终端的蓝牙协议栈来实现文件的传输。图1是现有技 术中实现蓝牙传输文件的结构示意图,如图1所示,逻辑链路控制和适配协议(L2CAP, Logical Link Control and Adaptation Protocal)层将移动终端之间的上层数据传输到 异步连接(ACL,Asynchronous Connetion Less),ACL通过已建立的链路连接,将数据以最 小单位数据包的形式发送给移动终端的底层,实现文件的传输。这种方法的缺陷是在文件 传输过程中,一旦出现文件传输失败,就不能够在原有基础上继续传输文件。当传输大文件 时,会存在两种原因使得大文件传输失败第一种是因为蓝牙服务端直接将大文件发送到 主机控制器接口(HCI,Host Control Interface),使得HCI链路的负荷过大,从而导致传 输大文件失败;第二种是由于移动终端出厂设置的存储空间比较小,而在大文件传输过程 中因为蓝牙客户端的内存不足,根本无法接收大文件、或是HCI链路在传输过程中由于移 动终端电量不足等意外情况,使得蓝牙之间失去连接,从而导致大文件传输失败。
发明内容
有鉴于此,本发明的主要目的在于提供一种传输文件的方法及系统,能提高利用 蓝牙传输大文件的成功率。为达到上述目的,本发明的技术方案是这样实现的本发明公开一种传输文件的方法,包括第一移动终端将分割后的文件发送给第二移动终端,并缓存在第一移动终端;第二移动终端收到所述分割文件后进行拼接并缓存,记录接收进度;当接收状态出现异常时,第一移动终端在接收到第二移动终端发送的续传文件请 求后,将需要续传的文件发送给第二移动终端。上述方法中,所述当接收状态出现异常时,该方法还包括第二移动终端将自身缓存的文件保存到移动存储卡。上述方法中,所述第二移动终端将自身缓存的文件保存到移动存储卡具体为
当第二移动终端中的蓝牙客户模块确定接收状态出现异常后,发送携带有文件断 点位置和文件属性的通知消息给第二移动终端中的续传管理模块;所述续传管理模块将缓 存在蓝牙客户模块的存储器中已拼接好的文件,保存到第二移动终端的移动存储卡中,并 清空存储器。上述方法中,该方法还包括当接收状态未出现异常时,第二移动终端接收到所有文件后,发送接收完毕消息 给第一移动终端。上述方法中,所述第二移动终端接收到所有文件后,发送接收完毕消息给第一移 动终端具体为当第二移动终端的蓝牙客户模块不再收到文件后,发送接收完毕消息给第一移动 终端的蓝牙服务模块;蓝牙服务模块收到消息后,通知第一移动终端中的分割传输模块将 缓存的分割后的文件及文件属性清除。上述方法中,所述第一移动终端将分割后的文件发送给第二移动终端,并缓存在 第一移动终端具体为第一移动终端的蓝牙服务模块将待发送的文件发送给第一移动终端的分割传输 模块;分割传输模块根据设置的文件分割门限,将超过文件分割门限的文件分割成多个文 件,分割后的文件的文件头中包括文件属性和分配给分割后的文件的文件编号;将分割后 的文件发送给第二移动终端的蓝牙客户模块,并将分割后的文件缓存到自身的存储器中, 将文件属性缓存到自身的文件存储器中。上述方法中,所述第二移动终端对收到的文件进行拼接并缓存,记录接收进度具 体为第二移动终端的蓝牙客户模块接收第一移动终端的分割传输模块发送的文件,根 据所述文件的文件头中的文件属性和文件编号,对收到的文件进行拼接,将拼接后的文件 缓存到自身的存储器中;蓝牙客户模块在对文件进行拼接后,将收到的文件数量记录在自 身的接收数据缓存器中。上述方法中,所述第一移动终端在接收到第二移动终端发送的续传文件请求后, 将需要续传的文件发送给第二移动终端具体为第二移动终端的续传管理模块将续传文件请求发送给第一移动终端的分割传输 模块;所述分割传输模块根据续传文件请求中携带的文件属性和断点位置,找到需要续传 的文件,将找到的文件发送给第二移动终端的蓝牙客户模块。本发明还提供一种传输文件的系统,包括第一移动终端、第二移动终端;其中,第一移动终端,用于将分割后的文件发送给第二移动终端,并在本地缓存;在接收 到第二移动终端发送的续传文件请求后,将需要续传的文件发送给第二移动终端;第二移动终端,用于对收到的文件进行拼接并缓存,记录接收进度;当接收状态出 现异常时,发送续传文件请求给第一移动终端。上述系统中,所述第一移动终端进一步包括蓝牙服务模块、分割传输模块;其 中,蓝牙服务模块,用于将待发送的文件发送给分割传输模块;分割传输模块,用于根据设置的文件分割门限,将超过文件分割门限的文件分割成多个文件,并给分割后的文件分配编号,将分割后的文件发送给第二移动终端,并将分割 后的文件缓存到自身的存储器中,将文件属性缓存到自身的文件存储器中;当收到第二移 动终端发送的续传文件请求后,根据续传文件请求中携带的文件属性和断点位置找到需要 续传的文件,将找到的文件发送给第二移动终端。上述系统中,所述第二移动终端进一步包括蓝牙客户模块、续传管理模块;其 中,蓝牙客户模块,用于接收分割传输模块发送的文件,根据所述文件的文件头中携 带的文件属性和文件编号,对收到的文件进行拼接,将拼接后的文件缓存到自身的存储器 中;在对文件进行拼接后,将收到的文件数量记录在接收数据缓存器中;确定接收状态出 现异常后,发送通知消息给续传管理模块;续传管理模块,用于将缓存在蓝牙客户模块的存储器中已拼接好的文件拷贝到第 二移动终端的移动存储卡中进行保存,并清空存储器;将续传文件请求发送给分割传输模 块。本发明提供的传输文件的方法及系统,将传输的文件分割成多个部分进行传输, 单位时间内有效地减轻了蓝牙间链路的负荷,避免了因蓝牙设备间链路负荷过大、以及存 储空间不足造成的文件传输失败,提高了大文件传输的成功率。另外,本发明在接收状态出 现异常时采用续传技术,克服了因传输中断而需要重新传输整个文件的缺陷,只需要对丢 失的文件部分进行重新传输即可,节省了重复传输文件的时间,有效地提高了文件传输的 效率。
图1是现有技术中实现蓝牙传输文件的结构示意图;图2是本发明实现传输文件的方法的流程示意图;图3是本发明实现传输文件的系统的结构示意图。
具体实施例方式本发明的基本思想是第一移动终端将分割后的文件发送给第二移动终端,并缓 存在第一移动终端;第二移动终端对收到的文件进行拼接并缓存,记录接收进度;当接收 状态出现异常时,第一移动终端在接收到第二移动终端发送的续传文件请求后,将需要续 传的文件发送给第二移动终端。下面通过附图及具体实施例对本发明再做进一步的详细说明。本发明提供一种传输文件的方法,图2是本发明实现传输文件的方法的流程示意 图,如图2所示,该方法包括以下步骤步骤201,第一移动终端将待发送的文件进行分割,将分割后的文件发送给第二移 动终端并缓存在第一移动终端;具体的,第一移动终端的蓝牙服务模块将待发送的文件发送给第一移动终端的分 割传输模块;分割传输模块根据预先设置的文件分割门限,判断蓝牙服务模块发送的文件 的大小是否超过文件分割门限,如果超过,则将收到的文件分割成多个文件,并根据每个分 割后的文件在原有待发送文件中的位置,给分割后的文件分配文件编号;分割后的文件由文件头和文件数据包构成,文件头中携带有分配好的文件编号和文件属性,该文件属性包 括文件中数据的大小、文件类型等;将分割后的文件根据文件编号依次发送给第二移动终 端的蓝牙客户模块,分割后的文件的大小不能超过分割门限;上述过程中,所述将收到的文件分割具体为根据文件分割门限将收到的文件首 先分割成两部分,一部分文件的大小与文件分隔门限一样大;如果另一部分文件的大小仍 然大于文件分割门限,就将其再分割成两部分,一部分文件的大小与文件分割门限一样大, 依次类推,直到被分割后的文件大小小于或者等于文件分割门限为止;其中,文件分割门限是根据第一移动终端的存储空间和蓝牙文件传输的成功经验 来设置的,在实际应用中,文件分割门限通常设置为20M ;如果待发送的文件大小没有超过 文件分割门限,则直接发送给第二移动终端的蓝牙客户模块;分割传输模块将分割后的文 件以及文件属性进行缓存,分割后的文件缓存到自身的存储器中,文件属性缓存到分割传 输模块的文件缓存器中。步骤202,第二移动终端对收到的文件进行拼接并缓存,记录接收进度;具体的,第二移动终端的蓝牙客户模块接收第一移动终端分割传输模块发送的文 件,如果收到第一个文件后在设定周期内没有再收到第二个文件,则认为所收到的文件是 不需要分割的文件,直接执行步骤206 ;这里,所述设定周期可以根据移动终端间文件的传 输速度在蓝牙客户模块中设置;如果收到第一个文件后在设定周期内又收到了文件,说明 收到的文件是分割后的文件,即原待发送文件的一部分,则第二移动终端的蓝牙客户模块 依次接收第一移动终端的分割传输模块发送的文件;因为待发送的文件可以是多个,而且 待发送的文件会被分割成多个文件,所以根据所收到文件的文件头中携带文件属性中的文 件类型,判断收到的文件所属的待发送的文件,根据文件头中携带的文件编号将属于同一 个待发送的文件的分割后的文件进行拼接,将拼接后的文件缓存到自身的存储器中;蓝牙 客户模块每次都可以根据收到的文件的文件头中携带的文件属性中的文件数据的大小判 断文件是否接收完毕,一旦确定接收完毕,蓝牙客户模块就对文件进行拼接,对文件进行拼 接后将收到的文件数量记录在自身的接收数据缓存器中;在实际应用中,利用蓝牙接收数据会出现异常,如果第一移动终端的蓝牙服务模 块和第二移动终端的蓝牙客户模块间的ACL通道断开时,或第二移动终端的应用层弹出报 错窗口时,蓝牙客户模块确定接收状态出现异常,执行步骤203 ;如果第二移动终端的蓝牙 客户模块和第一移动终端的蓝牙服务模块间的ACL通道并未断开,且第二移动终端的应用 层没有弹出报错窗口,则第二移动终端的蓝牙客户模块确定接收状态未出现异常,可以顺 利接收文件,执行步骤206。步骤203,当接收状态出现异常时,第二移动终端将自身缓存的文件保存到移动存 储卡;具体的,当第二移动终端中的蓝牙客户模块确定接收状态出现异常后,蓝牙客户 模块需发送通知消息给第二移动终端中的续传管理模块,消息中携带有文件断点位置和文 件属性,该断点位置是蓝牙客户模块根据记录在接收数据缓存器中的文件数量得到的;续 传管理模块收到通知消息后,将缓存在蓝牙客户模块的存储器中已经接收到并拼接好的文 件,拷贝到第二移动终端的移动存储卡中进行保存,并清空存储器;这里,将存储器清空,是 保证第二移动终端的蓝牙客户模块可以有空间继续接收并缓存文件。
步骤204,第二移动终端向第一移动终端发送续传文件请求;具体的,第二移动终端的续传管理模块将续传文件请求发送给第一移动终端的分 割传输模块,续传文件请求中携带有文件的断点位置。步骤205,第一移动终端将需要续传的文件发送给第二移动终端,执行步骤202 ;具体的,第一移动终端的分割传输模块收到续传文件请求后,根据其携带的文件 属性确定需要续传的文件的文件类型,根据其携带的断点位置确定需要续传的文件,因为 需要续传的文件是在步骤201中分割好并进行缓存的文件,所以第一移动终端的分割传输 模块可直接找到需要续传的文件,并发送给第二移动终端的蓝牙客户模块,然后执行步骤 202。步骤206,当接收状态未出现异常时,第二移动终端接收到所有文件后,发送接收 完毕消息给第一移动终端;具体的,当不再收到文件时,说明蓝牙客户模块已经接收到第一移动终端的分割 传输模块发送的所有的文件,蓝牙客户模块发送接收完毕消息给第一移动终端的蓝牙服务 模块,通知蓝牙服务模块文件已接收完毕;蓝牙服务模块收到消息后,通知第一移动终端的 分割传输模块将缓存的分割后的文件及文件属性清除。为实现上述方法,本发明还提供一种传输文件的系统,图3是本发明实现传输文 件的系统的结构示意图,如图3所示,该系统包括第一移动终端31、第二移动终端32 ;其 中,第一移动终端31,用于将分割后的文件发送给第二移动终端32,并在本地缓存; 在接收到第二移动终端32发送的续传文件请求后,将需要续传的文件发送给第二移动终 端32 ;第二移动终端32,用于对收到的文件进行拼接并缓存,记录接收进度;当接收状 态出现异常时,发送续传文件请求给第一移动终端31 ;第二移动终端32,进一步用于将自身缓存的文件保存到移动存储卡;当接收状态 未出现异常时,第二移动终端32接收到所有文件后,发送接收完毕消息给第一移动终端 31。第一移动终端31进一步包括蓝牙服务模块311、分割传输模块312 ;其中,蓝牙服务模块311,用于将待发送的文件发送给分割传输模块312 ;当收到第二移 动终端32发送的完毕消息后,通知分割传输模块312将缓存的分割后的文件及文件属性清 除; 分割传输模块312,用于根据设置的文件分割门限,将超过文件分割门限的文件分 割成多个文件,并给分割后的文件分配编号,将分割后的文件发送给第二移动终端32,并将 分割后的文件缓存到自身的存储器中,将文件属性缓存到自身的文件存储器中;当收到第 二移动终端32发送的续传文件请求后,根据续传文件请求中携带的文件属性和断点位置 找到需要续传的文件,将找到的文件发送给第二移动终端32 ;或,当收到蓝牙服务模块311 发送的通知后,清除自身缓存的分割后的文件及文件属性。第二移动终端进一步包括蓝牙客户模块321、续传管理模块322 ;其中,蓝牙客户模块321,用于接收分割传输模块312发送的文件,根据所述文件的文件 头中携带文件属性和文件编号,对收到的文件进行拼接,将拼接后的文件缓存到自身的存储器中;在对文件进行拼接后,将收到的文件数量记录在自身的接收数据缓存器中;确定 接收状态出现异常后,发送通知消息给续传管理模块322,通知消息中携带有文件的断点位 置;或,当不再收到文件后,发送接收完毕消息给蓝牙服务模块311 ;续传管理模块322,用于将缓存在蓝牙客户模块321的存储器中已拼接好的的文 件拷贝到第二移动终端32的移动存储卡中进行保存,并清空存储器;将续传文件请求发送 给分割传输模块312。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护 范围之内。
权利要求
一种传输文件的方法,其特征在于,该方法包括第一移动终端将分割后的文件发送给第二移动终端,并缓存在第一移动终端;第二移动终端收到所述分割文件后进行拼接并缓存,记录接收进度;当接收状态出现异常时,第一移动终端在接收到第二移动终端发送的续传文件请求后,将需要续传的文件发送给第二移动终端。
2.根据权利要求1所述的方法,其特征在于,所述当接收状态出现异常时,该方法还包括第二移动终端将自身缓存的文件保存到移动存储卡。
3.根据权利要求2所述的方法,其特征在于,所述第二移动终端将自身缓存的文件保 存到移动存储卡具体为当第二移动终端中的蓝牙客户模块确定接收状态出现异常后,发送携带有文件断点位 置和文件属性的通知消息给第二移动终端中的续传管理模块;所述续传管理模块将缓存在 蓝牙客户模块的存储器中已拼接好的文件,保存到第二移动终端的移动存储卡中,并清空 存储器。
4.根据权利要求1所述的方法,其特征在于,该方法还包括当接收状态未出现异常时,第二移动终端接收到所有文件后,发送接收完毕消息给第 一移动终端。
5.根据权利要求4所述的方法,其特征在于,所述第二移动终端接收到所有文件后,发 送接收完毕消息给第一移动终端具体为当第二移动终端的蓝牙客户模块不再收到文件后,发送接收完毕消息给第一移动终端 的蓝牙服务模块;蓝牙服务模块收到消息后,通知第一移动终端中的分割传输模块将缓存 的分割后的文件及文件属性清除。
6.根据权利要求1所述的方法,其特征在于,所述第一移动终端将分割后的文件发送 给第二移动终端,并缓存在第一移动终端具体为第一移动终端的蓝牙服务模块将待发送的文件发送给第一移动终端的分割传输模块; 分割传输模块根据设置的文件分割门限,将超过文件分割门限的文件分割成多个文件,分 割后的文件的文件头中包括文件属性和分配给分割后的文件的文件编号;将分割后的文件 发送给第二移动终端的蓝牙客户模块,并将分割后的文件缓存到自身的存储器中,将文件 属性缓存到自身的文件存储器中。
7.根据权利要求1所述的方法,其特征在于,所述第二移动终端对收到的文件进行拼 接并缓存,记录接收进度具体为第二移动终端的蓝牙客户模块接收第一移动终端的分割传输模块发送的文件,根据所 述文件的文件头中的文件属性和文件编号,对收到的文件进行拼接,将拼接后的文件缓存 到自身的存储器中;蓝牙客户模块在对文件进行拼接后,将收到的文件数量记录在自身的 接收数据缓存器中。
8.根据权利要求1所述的方法,其特征在于,所述第一移动终端在接收到第二移动终 端发送的续传文件请求后,将需要续传的文件发送给第二移动终端具体为第二移动终端的续传管理模块将续传文件请求发送给第一移动终端的分割传输模块; 所述分割传输模块根据续传文件请求中携带的文件属性和断点位置,找到需要续传的文件,将找到的文件发送给第二移动终端的蓝牙客户模块。
9.一种传输文件的系统,其特征在于,该系统包括第一移动终端、第二移动终端;其中,第一移动终端,用于将分割后的文件发送给第二移动终端,并在本地缓存;在接收到第 二移动终端发送的续传文件请求后,将需要续传的文件发送给第二移动终端;第二移动终端,用于对收到的文件进行拼接并缓存,记录接收进度;当接收状态出现异 常时,发送续传文件请求给第一移动终端。
10.根据权利要求9所述的系统,其特征在于,所述第一移动终端进一步包括蓝牙服 务模块、分割传输模块;其中,蓝牙服务模块,用于将待发送的文件发送给分割传输模块;分割传输模块,用于根据设置的文件分割门限,将超过文件分割门限的文件分割成多 个文件,并给分割后的文件分配编号,将分割后的文件发送给第二移动终端,并将分割后的 文件缓存到自身的存储器中,将文件属性缓存到自身的文件存储器中;当收到第二移动终 端发送的续传文件请求后,根据续传文件请求中携带的文件属性和断点位置找到需要续传 的文件,将找到的文件发送给第二移动终端。
11.根据权利要求9或10所述的系统,其特征在于,所述第二移动终端进一步包括蓝 牙客户模块、续传管理模块;其中,蓝牙客户模块,用于接收分割传输模块发送的文件,根据所述文件的文件头中携带的 文件属性和文件编号,对收到的文件进行拼接,将拼接后的文件缓存到自身的存储器中;在 对文件进行拼接后,将收到的文件数量记录在接收数据缓存器中;确定接收状态出现异常 后,发送通知消息给续传管理模块;续传管理模块,用于将缓存在蓝牙客户模块的存储器中已拼接好的文件拷贝到第二移 动终端的移动存储卡中进行保存,并清空存储器;将续传文件请求发送给分割传输模块。
全文摘要
本发明公开一种传输文件的方法,包括第一移动终端将分割后的文件发送给第二移动终端,并缓存在第一移动终端;第二移动终端对收到的文件进行拼接并缓存,记录接收进度;当接收状态出现异常时,第一移动终端在接收到第二移动终端发送的续传文件请求后,将需要续传的文件发送给第二移动终端;本发明还提供一种传输文件的系统。根据本发明的技术方案,提高利用蓝牙传输大文件的成功率。
文档编号H04B5/00GK101877604SQ20101020998
公开日2010年11月3日 申请日期2010年6月22日 优先权日2010年6月22日
发明者屈小星, 许梅 申请人:中兴通讯股份有限公司