专利名称:一种蓝牙传输文件的方法、装置和智能移动通信终端的制作方法
技术领域:
本发明涉及通信领域技术,尤其涉及一种蓝牙传输文件的方法、装置和智能移动通信终端。
背景技术:
现有技术中,安卓Android平台的蓝牙0PP(0bject Push ftOfile,对象存储规范)模块主要包括服务器、接收器、数据库和一系列负责刷新UI⑴seHnterface,用户界面)的Activity线程。OPP传输过程都是基于这个数据库实现。其中,数据库用来记录发送的文件属性、以及当前文件的发送状态。服务器在蓝牙一开启时就会被启动,其监听数据库的变化。一旦数据库中的内容发生变化(例如增加了发送文件),服务器会开启一个线程,将数据库中变化的文件信息,添加到本地维护的发送列表中,做好发送准备。该蓝牙模块中的OPPBluetoothOppTransfer文件传输读写线程,负责文件发送、打包、中断、结束以及更新数据库当前文件传输状态等操作。同时,服务器根据数据库中文件状态的变化,通知用户界面文件发送的状态信息。Andorid平台在2. 1版本之前不支持蓝牙发送,2. 1版本之后添加了文件发送的功能。但是现有技术中的蓝牙技术只针对大文件,比如媒体文件、应用文件等,始终不支持电话本vcard文件的发送和群发。因此,现有技术中蓝牙传输文件技术存在一定的技术缺陷,需要进行改进。
发明内容
本发明实施例提供了一种蓝牙传输文件的方法、装置和智能移动通信终端,可以较好的传输大量小型文件,而且CPU占用率低。本发明实施例提供了一种蓝牙传输文件的方法,包括采用第一线程从数据库中读取预传输文件,将所述预传输文件转换为预置文件形式并缓存,所述预置文件形式为符合蓝牙传输协议的文件形式;采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件。相应的,本发明实施例提供了一种蓝牙传输文件的装置,包括转换模块,用于采用第一线程从数据库中读取预传输文件,将所述预传输文件转换为预置文件形式并缓存,所述预置文件形式为符合蓝牙传输协议的文件形式;插入模块,用于采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;发送模块,用于启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件。相应的,本发明实施例提供了一种智能移动通信终端,包括上述蓝牙传输文件的
直ο本发明实施例提供了一种蓝牙传输文件的方法、装置和智能移动通信终端,用于采用第一线程从数据库中读取预传输文件,将所述预传输文件转换为预置文件形式并缓存,所述预置文件形式为符合蓝牙传输协议的文件形式;采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件。使用本发明实施例提供的蓝牙传输文件的方法、装置和智能移动通信终端, 通过使用新建立的线程将电话本中的记录转换为符合蓝牙传输协议的文件形式,并插入到数据库中后,启动蓝牙传输主线程,发送电话本记录。这样可以较好的传输大量小型文件, 而且使用新创建的线程预先处理电话本记录,可以降低CPU占用率。
图1为本发明实施例中蓝牙传输文件的方法流程示意图;图2为本发明另一实施例中蓝牙传输文件的方法流程示意图;图3为本发明实施例中蓝牙传输文件的装置示意图。
具体实施例方式下面结合各个附图对本发明实施例技术方案的主要实现原理具体实施方式
及其对应能够达到的有益效果进行详细地阐述。为了解决现有技术存在的问题,本发明实施例提供了一种蓝牙传输文件的方法, 如图1所示,该方法包括步骤101、采用第一线程从数据库中读取预传输文件,将预传输文件转换为预置文件形式并缓存,预置文件形式为符合蓝牙传输协议的文件形式;步骤102、采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;步骤103、启动蓝牙传输主线程,发送具有预置文件形式的预传输文件。具体的,现有技术中不支持通过蓝牙传输诸如电话本之类的小型文件的传输,主要因为电话本文件小且量大,若直接进行传输,则使得终端整体性能下降甚至死机。对此, 本发明实施例提供了一种蓝牙传输文件的方法,首先创建第一线程,从数据库中读取预传输文件,将预传输文件转换为预置文件形式并缓存,预置文件形式为符合蓝牙传输协议的文件形式。例如,传输电话本时,采用第一线程从数据库中读取电话本的各个记录,然后将其逐一转换为vcard文件后进行缓存。该第一线程的动作在启动蓝牙传输主线程之前实现,避免了传输过程中线程调用的复杂性。再将电话本vcard文件插入到数据库中,由于该 vcard文件的数量较大,将这些文件插入数据库中是一件非常耗时的工程。若使用蓝牙传输主线程实现该过程,会消耗主线程的大量资源,造成用户界面操作无响应。所以,创建第二线程,将缓存的vcard文件插入到数据库中。该插入过程可以为一个循环插入操作,并且在预传输文件数目大于预定插入阈值的情况下,当本次插入数据库中的预传输文件数目达到预定插入阈值时,暂停插入操作,计数器清零;启动计时动作,达到第一预定延迟时间后,继续将预传输文件插入数据库中并启动计数器开始计数。例如为了降低CPU的利用率,可以在每插入10条后暂停插入操作,经过20毫秒时延后,再继续插入操作。然后,启动蓝牙传输主线程,发送具有预置文件形式的预传输文件。例如,可以将数据库中预传输文件添加到发送列表中;读取发送列表中的当前预传输文件并依次发送。文件传输时,需要通知数据库更新该文件的传输状态,以避免重复发送同一文件。但是,当预传输文件较小时,很容易出现更新不及时的问题,即该文件已经发送完成,但是数据库没有来得及更新状态、或者发送列表没有来得及更新。对此,本发明实施例提供的方法还包括每个预传输文件发送完毕后,在已发送列表中保存已传输完的文件的信息。也就是,建立并维护一个已发送列表,用于记录已经发送完成的文件的信息。这样,启动蓝牙传输主线程时,可以将数据库中预传输文件添加到发送列表中;读取发送列表中的当前预传输文件,检测已发送列表中是否具有当前预传输文件;若具有,则读取下一个预传输文件;若不具有, 则发送当前预传输文件。启动蓝牙传输主线程,发送具有预置文件形式的预传输文件的过程中,发送出现故障时,每遍历一个剩余预传输文件后暂停遍历;启动计时动作,达到第二预定延迟时间后,继续遍历剩余的预传输文件。这样,在每遍历一个文件后加一个延迟时间,如50毫秒, 可以降低CPU的利用率,增加系统的稳定性。通过上述描述,可以看出,使用本发明实施例提供的蓝牙传输文件的方法,通过使用新建立的线程将电话本中的记录转换为符合蓝牙传输协议的文件形式,并插入到数据库中后,启动蓝牙传输主线程,发送电话本记录。这样可以较好的传输大量小型文件,而且使用新创建的线程预先处理电话本记录,可以降低CPU占用率。下面通过具体实施例对本发明实施例提供的蓝牙传输文件的方法进行详细说明, 以传输电话本为例,如图2所示,包括以下步骤步骤201、终端服务器创建第一线程,从数据库中读取电话本的各个记录,然后将其逐一转换为vcard文件后进行缓存;具体的,该vcard文件的格式符合蓝牙传输协议的要求,当然,还可以将电话本中的各个记录转换为符合蓝牙传输协议的其他格式。而且,可以将电话本的每个记录转换为一个vcard文件,也可以将电话本的多个记录转换为一个 vcard文件。步骤202、终端服务器创建第二线程,将缓存的电话本vcard文件插入到数据库中;步骤203、终端服务器启动蓝牙传输主线程,将数据库中预传输的电话本vcard文件插入到发送列表中;在预传输文件数目大于预定插入阈值的情况下,当本次插入数据库中的预传输文件数目达到预定插入阈值时,暂停插入操作,计数器清零;启动计时动作,达到第一预定延迟时间后,继续将预传输文件插入数据库中并启动计数器开始计数。例如,假设预定插入阈值为15时,当本次插入到数据库中的vcard文件数目达到15后,暂停插入动作,并将计数器清零;同时启动计时器,20毫秒(第一预定延迟时间)后,继续插vcard文件动作,并启动计数器。步骤204、终端服务器读取发送列表中的当前预传输文件;步骤205、终端服务器检测已发送列表中是否具有当前预传输文件;若具有,执行步骤206 ;否则,发送当前预传输文件。该已发送列表用于记录已经发送完成的文件的信息。
步骤206、终端服务器读取下一个预传输文件作为当前预传输文件,执行步骤 205。在上述步骤205发送当前预传输文件时,若出现故障,在每遍历一个剩余预传输文件后暂停遍历;启动计时动作,达到第二预定延迟时间后,继续遍历剩余的预传输文件。 这样,在每遍历一个文件后加一个延迟时间,如50毫秒,可以降低CPU的利用率,增加系统的稳定性。通过上述描述,可以看出,使用本发明实施例提供的蓝牙传输文件的方法,通过使用新建立的线程将电话本中的记录转换为符合蓝牙传输协议的文件形式,并插入到数据库中后,启动蓝牙传输主线程,发送电话本记录。这样可以较好的传输大量小型文件,而且使用新创建的线程预先处理电话本记录可以降低CPU占用率。基于同一发明构思,本发明实施例还提供了一种蓝牙传输文件的装置,如图3所示,包括转换模块301,用于采用第一线程从数据库中读取预传输文件,将所述预传输文件转换为预置文件形式并缓存,所述预置文件形式为符合蓝牙传输协议的文件形式;插入模块302,用于采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;发送模块303,用于启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件。较佳的,当所述预传输文件数目大于预定插入阈值时,所述插入模块302,用于当本次插入数据库中的所述预传输文件数目达到预定插入阈值时,暂停插入操作,计数器清零;启动计时动作,达到第一预定延迟时间后,继续将所述预传输文件插入数据库中并启动计数器开始计数。较佳的,上述装置还包括存储模块304,用于所述发送完毕每个所述预传输文件后,在已发送列表中保存已传输完的文件的信息。较佳的,所述发送模块303,具体用于将数据库中预传输文件添加到发送列表中; 读取所述发送列表中的当前预传输文件,检测所述已发送列表中是否具有所述当前预传输文件;若具有,则读取下一个预传输文件;若不具有,则发送所述当前预传输文件。较佳的,上述装置还包括遍历模块305,用于启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件的过程中,发送出现故障时,每遍历一个剩余预传输文件后暂停遍历;启动计时动作,达到第二预定延迟时间后,继续遍历剩余的预传输文件。上述蓝牙传输文件的装置可以为终端服务器等设备。基于同一发明构思,本发明实施例还提供了一种智能移动通信终端,包括上述蓝牙传输文件的装置。通过上述描述,可以看出,使用本发明实施例提供的蓝牙传输文件的方法、装置和智能移动通信终端,通过使用新建立的线程将电话本中的记录转换为符合蓝牙传输协议的文件形式,并插入到数据库中后,启动蓝牙传输主线程,发送电话本记录。这样可以较好的传输大量小型文件,而且使用新创建的线程预先处理电话本记录,可以降低CPU占用率。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种蓝牙传输文件的方法,其特征在于,包括采用第一线程从数据库中读取预传输文件,将所述预传输文件转换为预置文件形式并缓存,所述预置文件形式为符合蓝牙传输协议的文件形式;采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中; 启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件。
2.如权利要求1所述的方法,其特征在于,采用第一线程读取数据库中电话本的记录,并逐一转换为vcard文件后进行缓存; 采用第二线程将缓存的vcard文件插入数据库中; 启动蓝牙传输主线程,发送所述vcard文件。
3.如权利要求1所述的方法,其特征在于,当所述预传输文件数目大于预定插入阈值时,所述采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中,包括当本次插入数据库中的所述预传输文件数目达到预定插入阈值时,暂停插入操作,计数器清零;启动计时动作,达到第一预定延迟时间后,继续将所述预传输文件插入数据库中并启动计数器开始计数。
4.如权利要求1所述的方法,其特征在于,发送完毕每个所述预传输文件后,在已发送列表中保存已传输完的文件的信息。
5.如权利要求4所述的方法,其特征在于,所述启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件,包括将数据库中预传输文件添加到发送列表中;读取所述发送列表中的当前预传输文件,检测所述已发送列表中是否具有所述当前预传输文件;若具有,则读取下一个预传输文件;若不具有,则发送所述当前预传输文件。
6.如权利要求1或5所述的方法,其特征在于,启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件的过程中,发送出现故障时,每遍历一个剩余预传输文件后暂停遍历;启动计时动作,达到第二预定延迟时间后,继续遍历剩余的预传输文件。
7.—种蓝牙传输文件的装置,其特征在于,包括转换模块,用于采用第一线程从数据库中读取预传输文件,将所述预传输文件转换为预置文件形式并缓存,所述预置文件形式为符合蓝牙传输协议的文件形式;插入模块,用于采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;发送模块,用于启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件。
8.如权利要求7所述的装置,其特征在于,当所述预传输文件数目大于预定插入阈值时,所述插入模块,用于当本次插入数据库中的所述预传输文件数目达到预定插入阈值时, 暂停插入操作,计数器清零;启动计时动作,达到第一预定延迟时间后,继续将所述预传输文件插入数据库中并启动计数器开始计数。
9.如权利要求7所述的装置,其特征在于,还包括存储模块,用于所述发送完毕每个所述预传输文件后,在已发送列表中保存已传输完的文件的信息。
10.如权利要求9所述的装置,其特征在于,所述发送模块,具体用于将数据库中预传输文件添加到发送列表中;读取所述发送列表中的当前预传输文件,检测所述已发送列表中是否具有所述当前预传输文件;若具有,则读取下一个预传输文件;若不具有,则发送所述当前预传输文件。
11.如权利要求7或10所述的装置,其特征在于,还包括遍历模块,用于启动蓝牙传输主线程,发送所述具有预置文件形式的预传输文件的过程中,发送出现故障时,每遍历一个剩余预传输文件后暂停遍历;启动计时动作,达到第二预定延迟时间后,继续遍历剩余的预传输文件。
12.—种智能移动通信终端,其特征在于,包括如权利要求7-11中任一所述的蓝牙传输文件的装置。
全文摘要
本发明涉及通信领域技术,尤其涉及蓝牙传输文件的方法、装置和智能移动通信终端,用于采用第一线程从数据库中读取预传输文件,将预传输文件转换为预置文件形式并缓存,预置文件形式为符合蓝牙传输协议的文件形式;采用第二线程将缓存的具有预置文件形式的预传输文件插入数据库中;启动蓝牙传输主线程,发送具有预置文件形式的预传输文件。使用本发明实施例提供的蓝牙传输文件的方法、装置和智能移动通信终端,通过使用新建立的线程将电话本中的记录转换为符合蓝牙传输协议的文件形式,并插入到数据库中后,启动蓝牙传输主线程,发送电话本记录。这样可以较好的传输大量小型文件,而且使用新创建的线程预先处理电话本记录可以降低CPU占用率。
文档编号H04M1/2745GK102412874SQ20111038477
公开日2012年4月11日 申请日期2011年11月28日 优先权日2011年11月28日
发明者刘红星, 阙远 申请人:青岛海信移动通信技术股份有限公司