專利名稱:一種藍牙傳輸文件的方法、裝置和智能移動通信終端的制作方法
技術領域:
本發(fā)明涉及通信領域技術,尤其涉及一種藍牙傳輸文件的方法、裝置和智能移動通信終端。
背景技術:
現(xiàn)有技術中,安卓Android平臺的藍牙0PP(0bject Push ftOfile,對象存儲規(guī)范)模塊主要包括服務器、接收器、數(shù)據(jù)庫和一系列負責刷新UI⑴seHnterface,用戶界面)的Activity線程。OPP傳輸過程都是基于這個數(shù)據(jù)庫實現(xiàn)。其中,數(shù)據(jù)庫用來記錄發(fā)送的文件屬性、以及當前文件的發(fā)送狀態(tài)。服務器在藍牙一開啟時就會被啟動,其監(jiān)聽數(shù)據(jù)庫的變化。一旦數(shù)據(jù)庫中的內(nèi)容發(fā)生變化(例如增加了發(fā)送文件),服務器會開啟一個線程,將數(shù)據(jù)庫中變化的文件信息,添加到本地維護的發(fā)送列表中,做好發(fā)送準備。該藍牙模塊中的OPPBluetoothOppTransfer文件傳輸讀寫線程,負責文件發(fā)送、打包、中斷、結束以及更新數(shù)據(jù)庫當前文件傳輸狀態(tài)等操作。同時,服務器根據(jù)數(shù)據(jù)庫中文件狀態(tài)的變化,通知用戶界面文件發(fā)送的狀態(tài)信息。Andorid平臺在2. 1版本之前不支持藍牙發(fā)送,2. 1版本之后添加了文件發(fā)送的功能。但是現(xiàn)有技術中的藍牙技術只針對大文件,比如媒體文件、應用文件等,始終不支持電話本vcard文件的發(fā)送和群發(fā)。因此,現(xiàn)有技術中藍牙傳輸文件技術存在一定的技術缺陷,需要進行改進。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種藍牙傳輸文件的方法、裝置和智能移動通信終端,可以較好的傳輸大量小型文件,而且CPU占用率低。本發(fā)明實施例提供了一種藍牙傳輸文件的方法,包括采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將所述預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,所述預置文件形式為符合藍牙傳輸協(xié)議的文件形式;采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件。相應的,本發(fā)明實施例提供了一種藍牙傳輸文件的裝置,包括轉(zhuǎn)換模塊,用于采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將所述預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,所述預置文件形式為符合藍牙傳輸協(xié)議的文件形式;插入模塊,用于采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;發(fā)送模塊,用于啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件。相應的,本發(fā)明實施例提供了一種智能移動通信終端,包括上述藍牙傳輸文件的
直ο本發(fā)明實施例提供了一種藍牙傳輸文件的方法、裝置和智能移動通信終端,用于采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將所述預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,所述預置文件形式為符合藍牙傳輸協(xié)議的文件形式;采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件。使用本發(fā)明實施例提供的藍牙傳輸文件的方法、裝置和智能移動通信終端, 通過使用新建立的線程將電話本中的記錄轉(zhuǎn)換為符合藍牙傳輸協(xié)議的文件形式,并插入到數(shù)據(jù)庫中后,啟動藍牙傳輸主線程,發(fā)送電話本記錄。這樣可以較好的傳輸大量小型文件, 而且使用新創(chuàng)建的線程預先處理電話本記錄,可以降低CPU占用率。
圖1為本發(fā)明實施例中藍牙傳輸文件的方法流程示意圖;圖2為本發(fā)明另一實施例中藍牙傳輸文件的方法流程示意圖;圖3為本發(fā)明實施例中藍牙傳輸文件的裝置示意圖。
具體實施例方式下面結合各個附圖對本發(fā)明實施例技術方案的主要實現(xiàn)原理具體實施方式
及其對應能夠達到的有益效果進行詳細地闡述。為了解決現(xiàn)有技術存在的問題,本發(fā)明實施例提供了一種藍牙傳輸文件的方法, 如圖1所示,該方法包括步驟101、采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,預置文件形式為符合藍牙傳輸協(xié)議的文件形式;步驟102、采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;步驟103、啟動藍牙傳輸主線程,發(fā)送具有預置文件形式的預傳輸文件。具體的,現(xiàn)有技術中不支持通過藍牙傳輸諸如電話本之類的小型文件的傳輸,主要因為電話本文件小且量大,若直接進行傳輸,則使得終端整體性能下降甚至死機。對此, 本發(fā)明實施例提供了一種藍牙傳輸文件的方法,首先創(chuàng)建第一線程,從數(shù)據(jù)庫中讀取預傳輸文件,將預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,預置文件形式為符合藍牙傳輸協(xié)議的文件形式。例如,傳輸電話本時,采用第一線程從數(shù)據(jù)庫中讀取電話本的各個記錄,然后將其逐一轉(zhuǎn)換為vcard文件后進行緩存。該第一線程的動作在啟動藍牙傳輸主線程之前實現(xiàn),避免了傳輸過程中線程調(diào)用的復雜性。再將電話本vcard文件插入到數(shù)據(jù)庫中,由于該 vcard文件的數(shù)量較大,將這些文件插入數(shù)據(jù)庫中是一件非常耗時的工程。若使用藍牙傳輸主線程實現(xiàn)該過程,會消耗主線程的大量資源,造成用戶界面操作無響應。所以,創(chuàng)建第二線程,將緩存的vcard文件插入到數(shù)據(jù)庫中。該插入過程可以為一個循環(huán)插入操作,并且在預傳輸文件數(shù)目大于預定插入閾值的情況下,當本次插入數(shù)據(jù)庫中的預傳輸文件數(shù)目達到預定插入閾值時,暫停插入操作,計數(shù)器清零;啟動計時動作,達到第一預定延遲時間后,繼續(xù)將預傳輸文件插入數(shù)據(jù)庫中并啟動計數(shù)器開始計數(shù)。例如為了降低CPU的利用率,可以在每插入10條后暫停插入操作,經(jīng)過20毫秒時延后,再繼續(xù)插入操作。然后,啟動藍牙傳輸主線程,發(fā)送具有預置文件形式的預傳輸文件。例如,可以將數(shù)據(jù)庫中預傳輸文件添加到發(fā)送列表中;讀取發(fā)送列表中的當前預傳輸文件并依次發(fā)送。文件傳輸時,需要通知數(shù)據(jù)庫更新該文件的傳輸狀態(tài),以避免重復發(fā)送同一文件。但是,當預傳輸文件較小時,很容易出現(xiàn)更新不及時的問題,即該文件已經(jīng)發(fā)送完成,但是數(shù)據(jù)庫沒有來得及更新狀態(tài)、或者發(fā)送列表沒有來得及更新。對此,本發(fā)明實施例提供的方法還包括每個預傳輸文件發(fā)送完畢后,在已發(fā)送列表中保存已傳輸完的文件的信息。也就是,建立并維護一個已發(fā)送列表,用于記錄已經(jīng)發(fā)送完成的文件的信息。這樣,啟動藍牙傳輸主線程時,可以將數(shù)據(jù)庫中預傳輸文件添加到發(fā)送列表中;讀取發(fā)送列表中的當前預傳輸文件,檢測已發(fā)送列表中是否具有當前預傳輸文件;若具有,則讀取下一個預傳輸文件;若不具有, 則發(fā)送當前預傳輸文件。啟動藍牙傳輸主線程,發(fā)送具有預置文件形式的預傳輸文件的過程中,發(fā)送出現(xiàn)故障時,每遍歷一個剩余預傳輸文件后暫停遍歷;啟動計時動作,達到第二預定延遲時間后,繼續(xù)遍歷剩余的預傳輸文件。這樣,在每遍歷一個文件后加一個延遲時間,如50毫秒, 可以降低CPU的利用率,增加系統(tǒng)的穩(wěn)定性。通過上述描述,可以看出,使用本發(fā)明實施例提供的藍牙傳輸文件的方法,通過使用新建立的線程將電話本中的記錄轉(zhuǎn)換為符合藍牙傳輸協(xié)議的文件形式,并插入到數(shù)據(jù)庫中后,啟動藍牙傳輸主線程,發(fā)送電話本記錄。這樣可以較好的傳輸大量小型文件,而且使用新創(chuàng)建的線程預先處理電話本記錄,可以降低CPU占用率。下面通過具體實施例對本發(fā)明實施例提供的藍牙傳輸文件的方法進行詳細說明, 以傳輸電話本為例,如圖2所示,包括以下步驟步驟201、終端服務器創(chuàng)建第一線程,從數(shù)據(jù)庫中讀取電話本的各個記錄,然后將其逐一轉(zhuǎn)換為vcard文件后進行緩存;具體的,該vcard文件的格式符合藍牙傳輸協(xié)議的要求,當然,還可以將電話本中的各個記錄轉(zhuǎn)換為符合藍牙傳輸協(xié)議的其他格式。而且,可以將電話本的每個記錄轉(zhuǎn)換為一個vcard文件,也可以將電話本的多個記錄轉(zhuǎn)換為一個 vcard文件。步驟202、終端服務器創(chuàng)建第二線程,將緩存的電話本vcard文件插入到數(shù)據(jù)庫中;步驟203、終端服務器啟動藍牙傳輸主線程,將數(shù)據(jù)庫中預傳輸?shù)碾娫挶緑card文件插入到發(fā)送列表中;在預傳輸文件數(shù)目大于預定插入閾值的情況下,當本次插入數(shù)據(jù)庫中的預傳輸文件數(shù)目達到預定插入閾值時,暫停插入操作,計數(shù)器清零;啟動計時動作,達到第一預定延遲時間后,繼續(xù)將預傳輸文件插入數(shù)據(jù)庫中并啟動計數(shù)器開始計數(shù)。例如,假設預定插入閾值為15時,當本次插入到數(shù)據(jù)庫中的vcard文件數(shù)目達到15后,暫停插入動作,并將計數(shù)器清零;同時啟動計時器,20毫秒(第一預定延遲時間)后,繼續(xù)插vcard文件動作,并啟動計數(shù)器。步驟204、終端服務器讀取發(fā)送列表中的當前預傳輸文件;步驟205、終端服務器檢測已發(fā)送列表中是否具有當前預傳輸文件;若具有,執(zhí)行步驟206 ;否則,發(fā)送當前預傳輸文件。該已發(fā)送列表用于記錄已經(jīng)發(fā)送完成的文件的信息。
步驟206、終端服務器讀取下一個預傳輸文件作為當前預傳輸文件,執(zhí)行步驟 205。在上述步驟205發(fā)送當前預傳輸文件時,若出現(xiàn)故障,在每遍歷一個剩余預傳輸文件后暫停遍歷;啟動計時動作,達到第二預定延遲時間后,繼續(xù)遍歷剩余的預傳輸文件。 這樣,在每遍歷一個文件后加一個延遲時間,如50毫秒,可以降低CPU的利用率,增加系統(tǒng)的穩(wěn)定性。通過上述描述,可以看出,使用本發(fā)明實施例提供的藍牙傳輸文件的方法,通過使用新建立的線程將電話本中的記錄轉(zhuǎn)換為符合藍牙傳輸協(xié)議的文件形式,并插入到數(shù)據(jù)庫中后,啟動藍牙傳輸主線程,發(fā)送電話本記錄。這樣可以較好的傳輸大量小型文件,而且使用新創(chuàng)建的線程預先處理電話本記錄可以降低CPU占用率。基于同一發(fā)明構思,本發(fā)明實施例還提供了一種藍牙傳輸文件的裝置,如圖3所示,包括轉(zhuǎn)換模塊301,用于采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將所述預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,所述預置文件形式為符合藍牙傳輸協(xié)議的文件形式;插入模塊302,用于采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;發(fā)送模塊303,用于啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件。較佳的,當所述預傳輸文件數(shù)目大于預定插入閾值時,所述插入模塊302,用于當本次插入數(shù)據(jù)庫中的所述預傳輸文件數(shù)目達到預定插入閾值時,暫停插入操作,計數(shù)器清零;啟動計時動作,達到第一預定延遲時間后,繼續(xù)將所述預傳輸文件插入數(shù)據(jù)庫中并啟動計數(shù)器開始計數(shù)。較佳的,上述裝置還包括存儲模塊304,用于所述發(fā)送完畢每個所述預傳輸文件后,在已發(fā)送列表中保存已傳輸完的文件的信息。較佳的,所述發(fā)送模塊303,具體用于將數(shù)據(jù)庫中預傳輸文件添加到發(fā)送列表中; 讀取所述發(fā)送列表中的當前預傳輸文件,檢測所述已發(fā)送列表中是否具有所述當前預傳輸文件;若具有,則讀取下一個預傳輸文件;若不具有,則發(fā)送所述當前預傳輸文件。較佳的,上述裝置還包括遍歷模塊305,用于啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件的過程中,發(fā)送出現(xiàn)故障時,每遍歷一個剩余預傳輸文件后暫停遍歷;啟動計時動作,達到第二預定延遲時間后,繼續(xù)遍歷剩余的預傳輸文件。上述藍牙傳輸文件的裝置可以為終端服務器等設備。基于同一發(fā)明構思,本發(fā)明實施例還提供了一種智能移動通信終端,包括上述藍牙傳輸文件的裝置。通過上述描述,可以看出,使用本發(fā)明實施例提供的藍牙傳輸文件的方法、裝置和智能移動通信終端,通過使用新建立的線程將電話本中的記錄轉(zhuǎn)換為符合藍牙傳輸協(xié)議的文件形式,并插入到數(shù)據(jù)庫中后,啟動藍牙傳輸主線程,發(fā)送電話本記錄。這樣可以較好的傳輸大量小型文件,而且使用新創(chuàng)建的線程預先處理電話本記錄,可以降低CPU占用率。本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權利要求
1.一種藍牙傳輸文件的方法,其特征在于,包括采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將所述預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,所述預置文件形式為符合藍牙傳輸協(xié)議的文件形式;采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中; 啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件。
2.如權利要求1所述的方法,其特征在于,采用第一線程讀取數(shù)據(jù)庫中電話本的記錄,并逐一轉(zhuǎn)換為vcard文件后進行緩存; 采用第二線程將緩存的vcard文件插入數(shù)據(jù)庫中; 啟動藍牙傳輸主線程,發(fā)送所述vcard文件。
3.如權利要求1所述的方法,其特征在于,當所述預傳輸文件數(shù)目大于預定插入閾值時,所述采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中,包括當本次插入數(shù)據(jù)庫中的所述預傳輸文件數(shù)目達到預定插入閾值時,暫停插入操作,計數(shù)器清零;啟動計時動作,達到第一預定延遲時間后,繼續(xù)將所述預傳輸文件插入數(shù)據(jù)庫中并啟動計數(shù)器開始計數(shù)。
4.如權利要求1所述的方法,其特征在于,發(fā)送完畢每個所述預傳輸文件后,在已發(fā)送列表中保存已傳輸完的文件的信息。
5.如權利要求4所述的方法,其特征在于,所述啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件,包括將數(shù)據(jù)庫中預傳輸文件添加到發(fā)送列表中;讀取所述發(fā)送列表中的當前預傳輸文件,檢測所述已發(fā)送列表中是否具有所述當前預傳輸文件;若具有,則讀取下一個預傳輸文件;若不具有,則發(fā)送所述當前預傳輸文件。
6.如權利要求1或5所述的方法,其特征在于,啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件的過程中,發(fā)送出現(xiàn)故障時,每遍歷一個剩余預傳輸文件后暫停遍歷;啟動計時動作,達到第二預定延遲時間后,繼續(xù)遍歷剩余的預傳輸文件。
7.—種藍牙傳輸文件的裝置,其特征在于,包括轉(zhuǎn)換模塊,用于采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將所述預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,所述預置文件形式為符合藍牙傳輸協(xié)議的文件形式;插入模塊,用于采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;發(fā)送模塊,用于啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件。
8.如權利要求7所述的裝置,其特征在于,當所述預傳輸文件數(shù)目大于預定插入閾值時,所述插入模塊,用于當本次插入數(shù)據(jù)庫中的所述預傳輸文件數(shù)目達到預定插入閾值時, 暫停插入操作,計數(shù)器清零;啟動計時動作,達到第一預定延遲時間后,繼續(xù)將所述預傳輸文件插入數(shù)據(jù)庫中并啟動計數(shù)器開始計數(shù)。
9.如權利要求7所述的裝置,其特征在于,還包括存儲模塊,用于所述發(fā)送完畢每個所述預傳輸文件后,在已發(fā)送列表中保存已傳輸完的文件的信息。
10.如權利要求9所述的裝置,其特征在于,所述發(fā)送模塊,具體用于將數(shù)據(jù)庫中預傳輸文件添加到發(fā)送列表中;讀取所述發(fā)送列表中的當前預傳輸文件,檢測所述已發(fā)送列表中是否具有所述當前預傳輸文件;若具有,則讀取下一個預傳輸文件;若不具有,則發(fā)送所述當前預傳輸文件。
11.如權利要求7或10所述的裝置,其特征在于,還包括遍歷模塊,用于啟動藍牙傳輸主線程,發(fā)送所述具有預置文件形式的預傳輸文件的過程中,發(fā)送出現(xiàn)故障時,每遍歷一個剩余預傳輸文件后暫停遍歷;啟動計時動作,達到第二預定延遲時間后,繼續(xù)遍歷剩余的預傳輸文件。
12.—種智能移動通信終端,其特征在于,包括如權利要求7-11中任一所述的藍牙傳輸文件的裝置。
全文摘要
本發(fā)明涉及通信領域技術,尤其涉及藍牙傳輸文件的方法、裝置和智能移動通信終端,用于采用第一線程從數(shù)據(jù)庫中讀取預傳輸文件,將預傳輸文件轉(zhuǎn)換為預置文件形式并緩存,預置文件形式為符合藍牙傳輸協(xié)議的文件形式;采用第二線程將緩存的具有預置文件形式的預傳輸文件插入數(shù)據(jù)庫中;啟動藍牙傳輸主線程,發(fā)送具有預置文件形式的預傳輸文件。使用本發(fā)明實施例提供的藍牙傳輸文件的方法、裝置和智能移動通信終端,通過使用新建立的線程將電話本中的記錄轉(zhuǎn)換為符合藍牙傳輸協(xié)議的文件形式,并插入到數(shù)據(jù)庫中后,啟動藍牙傳輸主線程,發(fā)送電話本記錄。這樣可以較好的傳輸大量小型文件,而且使用新創(chuàng)建的線程預先處理電話本記錄可以降低CPU占用率。
文檔編號H04M1/2745GK102412874SQ20111038477
公開日2012年4月11日 申請日期2011年11月28日 優(yōu)先權日2011年11月28日
發(fā)明者劉紅星, 闕遠 申請人:青島海信移動通信技術股份有限公司