一種基于通信錄聯(lián)系人之間的文件傳輸方法
【專利摘要】本發(fā)明公開了一種基于通信錄聯(lián)系人之間的文件傳輸方法,該方法包括:接收第一移動終端發(fā)送的文件傳輸請求;接收到第二移動終端返回的響應(yīng)信息;根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸;如果第二移動終端同意接收文件傳輸,則向第一移動終端發(fā)送上傳文件斷點位置信息,并根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收第一移動終端依據(jù)上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù);根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向第二移動終端傳輸相應(yīng)的文件數(shù)據(jù)。本發(fā)明提供的文件傳輸方法,實現(xiàn)了移動終端之間通過通訊錄直接進(jìn)行文件傳輸,采用了多線程管理并支持?jǐn)帱c續(xù)傳,節(jié)省流量,傳輸速度快、效率高。
【專利說明】
一種基于通信錄聯(lián)系人之間的文件傳輸方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及文件傳輸技術(shù)領(lǐng)域,特別涉及一種基于通信錄聯(lián)系人之間的文件傳輸方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,智能移動設(shè)備在人們的生活中越來越普及,人們在大量使用智能移動設(shè)備時,智能移動設(shè)備之間的文件傳輸?shù)男枨笠苍絹碓酱螅蔷W(wǎng)絡(luò)環(huán)境和流量一直制約著文件傳輸?shù)氖褂谩?br>[0003]現(xiàn)有的智能移動設(shè)備在網(wǎng)絡(luò)環(huán)境不穩(wěn)定的情況下,文件傳輸效率低,且消耗流量高,此外,現(xiàn)有的智能移動設(shè)備之間,還未有通過通訊錄進(jìn)行聯(lián)系人之間的文件傳輸功能,使得人們使用文件傳輸時不是十分便利。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有文件傳輸技術(shù)中不能通過通訊錄進(jìn)行聯(lián)系人之間的直接文件傳輸,及現(xiàn)有文件傳輸效率低、流量消耗高的問題,本發(fā)明實施例提供了一種基于通信錄聯(lián)系人之間的文件傳輸方法。所述技術(shù)方案如下:
[0005]本發(fā)明實施例提供了一種基于通信錄聯(lián)系人之間的文件傳輸方法,所述方法包括:
[0006]接收第一移動終端發(fā)送的文件傳輸請求,并將所述文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端,所述第二移動終端為依照所述第一移動終端的通訊錄聯(lián)系人確認(rèn)的文件傳輸對象,所述文件傳輸請求包括:傳輸請求命令字、第一移動終端身份標(biāo)識號碼(Identi ty,簡稱“ID” )、第二移動終端ID、文件信息;
[0007]接收到所述第二移動終端返回的響應(yīng)信息,所述響應(yīng)信息用于指示所述第二移動終端是否同意接收文件傳輸;
[0008]根據(jù)所述響應(yīng)信息判斷所述第二移動終端是否同意接收文件傳輸;
[0009]如果所述第二移動終端同意接收文件傳輸,則向所述第一移動終端發(fā)送上傳文件斷點位置信息,且根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收并儲存所述第一移動終端依據(jù)所述上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù),所述第一預(yù)設(shè)文件傳輸協(xié)議包括:為每個上傳文件對應(yīng)的文件數(shù)據(jù)分配獨立的上傳線程;
[0010]根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向所述第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),所述第二預(yù)設(shè)文件傳輸協(xié)議包括:為每個下載文件對應(yīng)的文件數(shù)據(jù)分配獨立的下載線程。
[0011]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述第一預(yù)設(shè)文件傳輸協(xié)議還包括:采用分段鎖方式管理多個獨立的上傳線程。
[0012]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收并儲存所述第一移動終端依據(jù)所述上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù),包括:
[0013]采用直接內(nèi)存映射技術(shù),將接收到的文件數(shù)據(jù)儲存在數(shù)據(jù)庫中。
[0014]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0015]終止超過預(yù)設(shè)時間的上傳文件操作或者下載文件操作。
[0016]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0017]定期清除所述數(shù)據(jù)庫中的超過預(yù)設(shè)期限的儲存文件數(shù)據(jù)。
[0018]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0019]如果所述第二移動終端同意接收文件傳輸,則接收并同意所述第一移動終端發(fā)起的上傳握手連接請求。
[0020]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0021]如果所述第二移動終端同意接收文件傳輸,則接收并同意所述第二移動終端發(fā)起的下載握手連接請求。
[0022]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0023]判斷所述第一移動終端是否完成文件數(shù)據(jù)上傳;
[0024]如果所述第一移動終端完成文件數(shù)據(jù)上傳,則向所述第一移動終端發(fā)送上傳完成確認(rèn)信息。
[0025]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0026]判斷所述第二移動終端是否完成文件數(shù)據(jù)下載;
[0027]如果所述第二移動終端完成文件數(shù)據(jù)下載,則向所述第二移動終端發(fā)送下載完成確認(rèn)信息。
[0028]在本發(fā)明實施例上述的基于通信錄聯(lián)系人之間的文件傳輸方法中,所述方法還包括:
[0029]如果所述第二移動終端同意接收文件傳輸,則判斷所述第一移動終端和所述第二移動終端是否處于同一局域網(wǎng);
[0030]如果所述第一移動終端和所述第二移動終端處于同一局域網(wǎng),則向所述第一移動終端發(fā)送直接傳輸指令,所述直接傳輸指令用于指示所述第一移動終端通過所處的局域網(wǎng)直接向所述第二移動終端傳輸文件數(shù)據(jù)。
[0031]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0032]通過先接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端;然后接收到第二移動終端返回的響應(yīng)信息,并根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸;然后在第二移動終端同意接收文件傳輸時,向第一移動終端發(fā)送上傳文件斷點位置信息,并根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收第一移動終端依據(jù)上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù);同時,根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),來實現(xiàn)了基于通信錄聯(lián)系人之間的文件傳輸方法。該文件傳輸方法實現(xiàn)了移動終端之間通過通訊錄直接進(jìn)行文件傳輸功能,同時,該文件傳輸采用多線程管理,傳輸速度快,效率高,能夠克服網(wǎng)絡(luò)環(huán)境較差的問題,并且,在文件傳輸過程中支持?jǐn)帱c續(xù)傳,在節(jié)省流量的同時,文件傳輸效率更高。
【附圖說明】
[0033]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0034]圖1是本發(fā)明實施例提供的一種應(yīng)用場景不意圖;
[0035]圖2是本發(fā)明實施例一提供的一種基于通信錄聯(lián)系人之間的文件傳輸方法流程圖;
[0036]圖3是本發(fā)明實施例一提供的一種基于通信錄聯(lián)系人之間的文件傳輸方法流程圖;
[0037]圖4是本發(fā)明實施例二提供的一種基于通信錄聯(lián)系人之間的文件傳輸方法流程圖;
[0038]圖5是本發(fā)明實施例三提供的一種基于通信錄聯(lián)系人之間的文件傳輸方法流程圖。
【具體實施方式】
[0039]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
[0040]在介紹本發(fā)明實施例之前,先簡單介紹一下本發(fā)明的應(yīng)用場景。參見圖1,第一移動終端100(例如:智能手機(jī))需要向通訊錄中記載的聯(lián)系人直接發(fā)送文件,第二移動終端200就是第一移動終端100通過通訊錄聯(lián)系人認(rèn)定的文件傳輸對象,需要說明的是,文件傳輸對象可以為一個,也可以為多個,即第一移動終端100可以向一個第二移動終端200傳輸文件,也可以向多個第二移動終端200傳輸文件,這里不做限制。第一移動終端100與第二移動終端200之間傳輸文件時,需要通過文件服務(wù)器300來轉(zhuǎn)發(fā)相關(guān)信息,即第一移動終端100先將文件上傳至文件服務(wù)器300,再由第二移動終端200從文件服務(wù)器300中下載。
[0041 ] 實施例一
[0042]本發(fā)明實施例提供了一種基于通信錄聯(lián)系人之間的文件傳輸方法,由文件服務(wù)器300執(zhí)行,參見圖2,該方法可以包括:
[0043]步驟Sll,接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端,該第二移動終端為依照第一移動終端的通訊錄聯(lián)系人確認(rèn)的文件傳輸對象,該文件傳輸請求可以包括:傳輸請求命令字、第一移動終端ID、第二移動終端ID、文件信息。
[0044]在本實施例中,用戶通過第一移動終端向通訊錄聯(lián)系人(即文件傳輸對象)發(fā)起文件傳輸時,第一移動終端向文件服務(wù)器發(fā)送文件傳輸請求。文件服務(wù)器在接到文件傳輸請求后,會根據(jù)文件傳輸請求中第二移動終端ID,將文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端。由于第二移動終端可以由第一移動終端中的通訊錄聯(lián)系人來確定,實現(xiàn)了通過通訊錄直接發(fā)起文件傳輸?shù)墓δ堋?br>[0045]在實際應(yīng)用中,文件傳輸請求還可以包括登錄安全鑒權(quán),文件信息可以包括文件長度、文件名、文件源ID等信息。
[0046]步驟S12,接收到第二移動終端返回的響應(yīng)信息,該響應(yīng)信息用于指示第二移動終端是否同意接收文件傳輸。
[0047]在本實施例中,文件服務(wù)器在接收到響應(yīng)信息后,還會將響應(yīng)信息傳輸給第一移動終端。響應(yīng)信息可以包括命令字、結(jié)果、文件源ID等。
[0048]步驟S13,根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸。如果第二移動終端不同意接收文件傳輸(即響應(yīng)信息指示第二移動終端不同意接收文件傳輸),則由第一移動終端發(fā)起的文件傳輸結(jié)束。如果第二移動終端同意接收文件傳輸(即響應(yīng)信息指示第二移動終端同意接收文件傳輸),則執(zhí)行步驟S14。
[0049]步驟S14,向第一移動終端發(fā)送上傳文件斷點位置信息,并根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收第一移動終端依據(jù)上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù),第一預(yù)設(shè)文件傳輸協(xié)議指為每個上傳文件對應(yīng)的文件數(shù)據(jù)分配獨立的上傳線程。
[0050]在本實施例中,通過上傳文件斷點位置信息,第一移動終端可以從斷點位置開始上傳文件數(shù)據(jù),實現(xiàn)了斷點續(xù)傳,減少了重復(fù)數(shù)據(jù)上傳,節(jié)省了數(shù)據(jù)流量。同時,文件服務(wù)器為上傳的每個文件分配一個獨立的線程,通過多線程同時傳輸,使得上傳效率更高、速度更快,且不會因過多上傳移動終端并發(fā)操作導(dǎo)致系統(tǒng)崩潰,保證系統(tǒng)的穩(wěn)定性和上傳業(yè)務(wù)處理的高效性。在實際應(yīng)用中,如果該文件為首次上傳,則上傳文件斷點位置信息可以記為O。同時,上傳文件斷點位置信息由文件服務(wù)器在每次接收文件數(shù)據(jù)時更新,即在接收新的文件數(shù)據(jù)時,如果出現(xiàn)上傳突然中止或者超時,則記錄下上傳文件斷點位置信息。
[0051 ]需要說明的是,在判斷出第二移動終端同意接收文件傳輸時,第一移動終端會向文件服務(wù)器發(fā)起文件上傳握手,以實現(xiàn)發(fā)送方與文件服務(wù)器的文件傳輸連接,上傳文件斷點位置信息可以在文件上傳握手過程中傳輸至第一移動終端。
[0052]在本實施例中,上傳的文件數(shù)據(jù)在文件服務(wù)器中進(jìn)行儲存時,采用自封裝的LinkedList鏈表(對鏈表的每一個操作加synchronized同步鎖)做成數(shù)據(jù)緩存,調(diào)用addFirst(data)方法存入,調(diào)用removeLastO方法取出,保證了數(shù)據(jù)的順序和高速率操作,并支持線程安全。
[0053]而且,文件服務(wù)器會在第一時間將上傳的文件數(shù)據(jù)存入堆棧,把下載時讀取的文件數(shù)據(jù)在傳輸前放入堆棧,用戶信息緩存到堆棧,文件信息緩存到堆棧。用于提高系統(tǒng)性能和文件傳輸速率。
[0054]可選地,第一預(yù)設(shè)文件傳輸協(xié)議還可以包括:采用分段鎖方式管理多個獨立的上傳線程。
[0055]在本實施例中,如果第一移動終端需要上傳多個文件,文件服務(wù)器會為第一移動終端分配多個獨立線程,供文件數(shù)據(jù)上傳,為了解決多個線程同時傳輸文件時,容易出現(xiàn)儲存順序競爭,致使傳輸效率低下的文件,采用了分段鎖技術(shù),來管理多個獨立線程的文件上傳,在實際應(yīng)用中,可以采用Concurrent Hash Map技術(shù)。
[0056]進(jìn)一步地,上述步驟S14還可以通過如下方式實現(xiàn):
[0057]采用直接內(nèi)存映射技術(shù),將接收到的文件數(shù)據(jù)儲存在數(shù)據(jù)庫中。
[0058]在實際應(yīng)用中,可以采用netty5框架下的Mapped Byte Buffer技術(shù),相較于一般的數(shù)據(jù)寫入和讀取,效率更高,速度更快,并且還可以有效防止內(nèi)存溢出的問題。具體地,先將文件數(shù)據(jù)用put(filedata)將數(shù)據(jù)寫入映射內(nèi)存,再使用flushO方法將數(shù)據(jù)寫入硬盤文件。
[0059]步驟S15,根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),該第二預(yù)設(shè)文件傳輸協(xié)議包括:為每個下載文件對應(yīng)的文件數(shù)據(jù)分配獨立的下載線程。
[0060]在本實施例中,通過下載文件斷點位置信息,第二移動終端可以從斷點位置開始下載文件數(shù)據(jù),實現(xiàn)了斷點續(xù)傳,減少了重復(fù)數(shù)據(jù)下載,節(jié)省了數(shù)據(jù)流量。同時,文件服務(wù)器為下載的每個文件分配一個獨立的線程,通過多線程同時傳輸,使得下載效率更高、速度更快,且不會因過多下載移動終端并發(fā)操作導(dǎo)致文件服務(wù)器的系統(tǒng)崩潰,保證系統(tǒng)的穩(wěn)定性和下載業(yè)務(wù)處理的高效性。在實際應(yīng)用中,如果該文件為首次下載,則下載文件斷點位置信息可以記為O。同時,下載文件斷點位置信息由文件服務(wù)器在每次被下載文件數(shù)據(jù)時更新,即在被下載新的文件數(shù)據(jù)時,如果出現(xiàn)下載突然中止或者超時,則記錄下載文件斷點位置?目息O
[0061 ]需要說明的是,在判斷出第二移動終端同意接收文件傳輸時,第二移動終端會向文件服務(wù)器發(fā)起文件下載握手,以實現(xiàn)下載方與文件服務(wù)器的文件傳輸連接,同時,文件服務(wù)器會調(diào)用儲存的下載文件斷點位置信息。
[0062]參見圖3,該方法還可以包括:
[0063]步驟S16,終止超過預(yù)設(shè)時間的上傳文件操作或者下載文件操作。
[0064]在本實施例中,為減少無效的文件傳輸,減輕文件服務(wù)器壓力,文件服務(wù)器會對超過預(yù)設(shè)時間的長傳文件操作或者下載文件操作(即在預(yù)設(shè)時間內(nèi),文件還未上傳完成或者文件還未下載完成),采取終止措施。
[0065]步驟S17,定期清除數(shù)據(jù)庫中的超過預(yù)設(shè)期限的儲存文件數(shù)據(jù)。
[0066]在本實施例中,文件服務(wù)器會定期檢查儲存在數(shù)據(jù)庫中的文件數(shù)據(jù),發(fā)現(xiàn)超過預(yù)設(shè)期限(例如:7天)的文件數(shù)據(jù),則對它們進(jìn)行清理,可以減少文件服務(wù)器中不必要的磁盤占用。
[0067]本發(fā)明實施例先通過接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端;然后接收到第二移動終端返回的響應(yīng)信息,并根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸;然后在第二移動終端同意接收文件傳輸時,向第一移動終端發(fā)送上傳文件斷點位置信息,并根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收第一移動終端依據(jù)上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù);同時,根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),來實現(xiàn)了基于通信錄聯(lián)系人之間的文件傳輸方法。該文件傳輸方法實現(xiàn)了移動終端之間通過通訊錄之間進(jìn)行文件傳輸功能,同時,該文件傳輸采用多線程管理,傳輸速度快,效率高,能夠克服網(wǎng)絡(luò)環(huán)境較差的問題,并且,在文件傳輸過程中支持?jǐn)帱c續(xù)傳,在節(jié)省流量的同時,文件傳輸效率更高。
[0068]實施例二
[0069]本發(fā)明實施例提供了一種基于通信錄聯(lián)系人之間的文件傳輸方法,由文件服務(wù)器300執(zhí)行,參見圖4,該方法可以包括:
[0070]步驟S21,接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端,該第二移動終端為依照第一移動終端的通訊錄聯(lián)系人確認(rèn)的文件傳輸對象,該文件傳輸請求包括:傳輸請求命令字、第一移動終端ID、第二移動終端ID、文件信息。
[0071]步驟S22,接收到第二移動終端返回的響應(yīng)信息,該響應(yīng)信息用于指示第二移動終端是否同意接收文件傳輸。
[0072]步驟S23,根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸。如果第二移動終端不同意接收文件傳輸(即響應(yīng)信息指示第二移動終端不同意接收文件傳輸),則由第一移動終端發(fā)起的文件傳輸結(jié)束。如果第二移動終端同意接收文件傳輸(即響應(yīng)信息指示第二移動終端同意接收文件傳輸),則執(zhí)行步驟S24。
[0073]步驟S24,接收并同意第一移動終端發(fā)起的上傳握手連接請求。
[0074]在本實施例中,在判斷出第二移動終端同意文件傳輸請求后,文件服務(wù)器與第一移動終端之間會先建立上傳握手連接,文件服務(wù)器在與第一移動終端建立上傳握手連接后,會做好接收文件數(shù)據(jù)的準(zhǔn)備,包括上傳超時控制、文件信息緩存、文件上傳記錄、創(chuàng)建文件和文件數(shù)據(jù)保存機(jī)制等。
[0075]在實際應(yīng)用中,第一移動終端在發(fā)起上傳握手時,可以向文件服務(wù)器發(fā)送上傳握手請求,該上傳握手請求包括:命令字、第一移動終端ID、第二移動終端ID、文件長度、文件名、文件源ID等信息。相應(yīng)地,文件服務(wù)器會回復(fù)一個上傳握手請求響應(yīng)信息,包括命令字、文件源ID、上傳文件斷點位置、握手結(jié)果等信息。
[0076]步驟S25,接收并同意第二移動終端發(fā)起的下載握手連接請求。
[0077]在本實施例中,在判斷出第二移動終端同意文件傳輸請求后,文件服務(wù)器與第二移動終端之間會先建立下載握手連接。第二移動終端使用文件下載握手協(xié)議將文件唯一標(biāo)識(由文件信息制備)傳輸給文件服務(wù)器,以通知文件服務(wù)器進(jìn)行文件下載,文件服務(wù)器建立起文件下載的超時控制、文件信息緩存等。
[0078]在實際應(yīng)用中,第二移動終端在發(fā)起下載握手時,可以向文件服務(wù)器發(fā)送下載握手請求,該上傳握手請求包括:命令字、文件源ID、下載文件斷點位置等信息。相應(yīng)地,文件服務(wù)器會回復(fù)一個下載握手請求響應(yīng)信息,包括命令字、文件源ID、握手結(jié)果等信息。
[0079]步驟S26,判斷第一移動終端是否完成文件數(shù)據(jù)上傳。如果第一移動終端沒有完成文件數(shù)據(jù)上傳,則繼續(xù)按照實施例一中的方法繼續(xù)接收上傳文件數(shù)據(jù)。如果第一移動終端完成文件數(shù)據(jù)上傳,則執(zhí)行步驟S27。
[0080]步驟S27,向第一移動終端發(fā)送上傳完成確認(rèn)信息。
[0081 ]在本實施例中,在文件數(shù)據(jù)上傳完成之后,文件服務(wù)器還會進(jìn)行確認(rèn),在確認(rèn)文件數(shù)據(jù)上傳完成后,文件服務(wù)器會關(guān)閉上次握手連接,并清理相關(guān)數(shù)據(jù)緩存。
[0082]步驟S28,判斷第二移動終端是否完成文件數(shù)據(jù)下載。如果第二移動終端沒有完成文件數(shù)據(jù)下載,則繼續(xù)按照實施例一中的方法繼續(xù)完成文件數(shù)據(jù)下載。如果第二移動終端完成文件數(shù)據(jù)下載,則執(zhí)行步驟S29。
[0083]步驟S29,向第二移動終端發(fā)送下載完成確認(rèn)信息。
[0084]在本實施例中,在文件數(shù)據(jù)下載完成之后,文件服務(wù)器同樣會進(jìn)行確認(rèn),在確認(rèn)文件數(shù)據(jù)下載完成后,文件服務(wù)器會關(guān)閉下載握手連接,并清理相關(guān)數(shù)據(jù)緩存。
[0085]本發(fā)明實施例先通過接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端;然后接收到第二移動終端返回的響應(yīng)信息,并根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸;然后在第二移動終端同意接收文件傳輸時,向第一移動終端發(fā)送上傳文件斷點位置信息,并根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收第一移動終端依據(jù)上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù);同時,根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),來實現(xiàn)了基于通信錄聯(lián)系人之間的文件傳輸方法。該文件傳輸方法實現(xiàn)了移動終端之間通過通訊錄之間進(jìn)行文件傳輸功能,同時,該文件傳輸采用多線程管理,傳輸速度快,效率高,能夠克服網(wǎng)絡(luò)環(huán)境較差的問題,并且,在文件傳輸過程中支持?jǐn)帱c續(xù)傳,在節(jié)省流量的同時,文件傳輸效率更高。
[0086]實施例三
[0087]本發(fā)明實施例提供了一種基于通信錄聯(lián)系人之間的文件傳輸方法,由文件服務(wù)器300執(zhí)行,參見圖5,該方法可以包括:
[0088]步驟S31,接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端,該第二移動終端為依照第一移動終端的通訊錄聯(lián)系人確認(rèn)的文件傳輸對象,該文件傳輸請求包括:傳輸請求命令字、第一移動終端ID、第二移動終端ID、文件信息。
[0089]步驟S32,接收到第二移動終端返回的響應(yīng)信息,該響應(yīng)信息用于指示第二移動終端是否同意接收文件傳輸。
[0090]步驟S33,根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸。如果第二移動終端不同意接收文件傳輸(即響應(yīng)信息指示第二移動終端不同意接收文件傳輸),則由第一移動終端發(fā)起的文件傳輸結(jié)束。如果第二移動終端同意接收文件傳輸(即響應(yīng)信息指示第二移動終端同意接收文件傳輸),則執(zhí)行步驟S24。
[0091]步驟S34,判斷第一移動終端和第二移動終端是否處于同一局域網(wǎng)。如果第一移動終端和第二移動終端不處于同一局域網(wǎng),則按照實施例一中的方法繼續(xù)執(zhí)行,即由文件服務(wù)器作為中轉(zhuǎn)站,負(fù)責(zé)第一移動終端與第二移動終端之間的文件傳輸。如果第一移動終端和第二移動終端處于同一局域網(wǎng),則執(zhí)行步驟S25。
[0092]步驟S35,向第一移動終端發(fā)送直接傳輸指令,該直接傳輸指令用于指示第一移動終端通過所處的局域網(wǎng)直接向第二移動終端傳輸文件數(shù)據(jù)。
[0093]在本實施例中,當(dāng)判斷出第二移動終端同意與第一移動終端進(jìn)行文件傳輸時,可以先對第一移動終端和第二移動終端所處的網(wǎng)絡(luò)環(huán)境進(jìn)行判斷,判斷它們是否處于同一局域網(wǎng)中,如果它們處于同一局域網(wǎng),則控制第一移動終端直接向第二移動終端發(fā)起文件傳輸,而不經(jīng)文件服務(wù)器的轉(zhuǎn)發(fā),使得文件傳輸更高效,速度更快。
[0094]在實際應(yīng)用中,主要通過serverlnfo字段來判斷第一移動終端和第二移動終端是否處于同一局域網(wǎng)。如果第二移動終端同意接收文件傳輸,則通過判斷第一移動終端和第二移動終端的網(wǎng)絡(luò)之間互連的協(xié)議(Internet Protocol,簡稱“IP”)和端口,來判斷它們是否處于同一局域網(wǎng)中,此時,將IP和端口信息賦予serverlnfo。
[0095]需要說明的是,當(dāng)?shù)谝灰苿咏K端和第二移動終端處于同一局域網(wǎng)時,它們既可以通過局域網(wǎng)直接進(jìn)行文件傳輸,也同時可以通過文件服務(wù)器來進(jìn)行文件傳輸,這里不做限制。
[0096]本發(fā)明實施例先通過接收第一移動終端發(fā)送的文件傳輸請求,并將該文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端;然后接收到第二移動終端返回的響應(yīng)信息,并根據(jù)響應(yīng)信息判斷第二移動終端是否同意接收文件傳輸;然后在第二移動終端同意接收文件傳輸時,向第一移動終端發(fā)送上傳文件斷點位置信息,并根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收第一移動終端依據(jù)上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù);同時,根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),來實現(xiàn)了基于通信錄聯(lián)系人之間的文件傳輸方法。該文件傳輸方法實現(xiàn)了移動終端之間通過通訊錄之間進(jìn)行文件傳輸功能,同時,該文件傳輸采用多線程管理,傳輸速度快,效率高,能夠克服網(wǎng)絡(luò)環(huán)境較差的問題,并且,在文件傳輸過程中支持?jǐn)帱c續(xù)傳,在節(jié)省流量的同時,文件傳輸效率更高。
[0097]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0098]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0099]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種基于通信錄聯(lián)系人之間的文件傳輸方法,其特征在于,所述方法包括: 接收第一移動終端發(fā)送的文件傳輸請求,并將所述文件傳輸請求轉(zhuǎn)發(fā)給第二移動終端,所述第二移動終端為依照所述第一移動終端的通訊錄聯(lián)系人確認(rèn)的文件傳輸對象,所述文件傳輸請求包括:傳輸請求命令字、第一移動終端ID、第二移動終端ID、文件信息;接收到所述第二移動終端返回的響應(yīng)信息,所述響應(yīng)信息用于指示所述第二移動終端是否同意接收文件傳輸; 根據(jù)所述響應(yīng)信息判斷所述第二移動終端是否同意接收文件傳輸; 如果所述第二移動終端同意接收文件傳輸,則向所述第一移動終端發(fā)送上傳文件斷點位置信息,且根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收并儲存所述第一移動終端依據(jù)所述上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù),所述第一預(yù)設(shè)文件傳輸協(xié)議包括:為每個上傳文件對應(yīng)的文件數(shù)據(jù)分配獨立的上傳線程; 根據(jù)第二預(yù)設(shè)文件傳輸協(xié)議和下載文件斷點位置信息,向所述第二移動終端傳輸相應(yīng)的文件數(shù)據(jù),所述第二預(yù)設(shè)文件傳輸協(xié)議包括:為每個下載文件對應(yīng)的文件數(shù)據(jù)分配獨立的下載線程。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一預(yù)設(shè)文件傳輸協(xié)議還包括:采用分段鎖方式管理多個獨立的上傳線程。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)第一預(yù)設(shè)文件傳輸協(xié)議接收并儲存所述第一移動終端依據(jù)所述上傳文件斷點位置信息傳輸?shù)奈募?shù)據(jù),包括: 采用直接內(nèi)存映射技術(shù),將接收到的文件數(shù)據(jù)儲存在數(shù)據(jù)庫中。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 終止超過預(yù)設(shè)時間的上傳文件操作或者下載文件操作。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 定期清除所述數(shù)據(jù)庫中的超過預(yù)設(shè)期限的儲存文件數(shù)據(jù)。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述第二移動終端同意接收文件傳輸,則接收并同意所述第一移動終端發(fā)起的上傳握手連接請求。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述第二移動終端同意接收文件傳輸,則接收并同意所述第二移動終端發(fā)起的下載握手連接請求。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 判斷所述第一移動終端是否完成文件數(shù)據(jù)上傳; 如果所述第一移動終端完成文件數(shù)據(jù)上傳,則向所述第一移動終端發(fā)送上傳完成確認(rèn)?目息O9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 判斷所述第二移動終端是否完成文件數(shù)據(jù)下載; 如果所述第二移動終端完成文件數(shù)據(jù)下載,則向所述第二移動終端發(fā)送下載完成確認(rèn)?目息O10.根據(jù)權(quán)利要求1-9任一項所述的方法,其特征在于,所述方法還包括: 如果所述第二移動終端同意接收文件傳輸,則判斷所述第一移動終端和所述第二移動終端是否處于同一局域網(wǎng); 如果所述第一移動終端和所述第二移動終端處于同一局域網(wǎng),則向所述第一移動終端發(fā)送直接傳輸指令,所述直接傳輸指令用于指示所述第一移動終端通過所處的局域網(wǎng)直接向所述第二移動終端傳輸文件數(shù)據(jù)。
【文檔編號】H04L29/08GK105978996SQ201610466823
【公開日】2016年9月28日
【申請日】2016年6月24日
【發(fā)明人】宋延平
【申請人】深圳艾派網(wǎng)絡(luò)科技股份有限公司