文件傳輸方法及系統的制作方法
【專利摘要】本發明公開了一種文件傳輸方法及系統。所述方法中的第一終端檢測自身的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務;利用所述文件傳輸服務,建立與第二終端的點對點的文件傳輸通道;其中,所述第二終端是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的。第二終端根據獲取自所述第一終端的待傳文件信息,向所述第一終端反饋分片下載請求;利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。本發明解決了文件傳輸需第三方服務器中轉的問題,有效提高了數據傳輸的速度。另外,將待傳文件分片傳輸,通過并行傳輸的方式,進一步提高了數據傳輸速度。
【專利說明】
文件傳輸方法及系統
技術領域
[0001]本發明實施例涉及網絡數據傳輸技術,尤其涉及一種文件傳輸方法及系統。
【背景技術】
[0002]即時通訊技術為人們提供了隨時隨地文字通信的方式。隨著即時通訊技術的發展,人們不僅能夠隨時文字聊天,還能進行語音和視頻聊天。
[0003]除此之外,人們利用即時通訊技術傳輸文件等附件,為人們提供了新的文件傳輸方式。
[0004]目前,利用即時通訊傳輸文件大多需利用遠程服務器轉發文件,這使得文件傳輸受發送終端-服務器、和服務器-接收終端兩條鏈路的鏈路帶寬的影響,傳輸速度慢。
[0005]為了解決上述問題,技術人員參考了文件上傳及下載技術,即由發送終端先將文件上傳服務器,再由接收終端從服務器下載文件。這種非實時的方式,雖然優化了傳輸速度,但仍然需要服務器保存文件,因此,在大文件傳輸時,對所保存的文件大小有嚴格的限制。因此,需要對現有技術進行改進。
【發明內容】
[0006]本發明提供一種文件傳輸方法及系統,以解決利用即時通訊技術傳輸大文件傳輸時,無法實時、高效的進行傳輸的問題。
[0007]第一方面,本發明實施例提供了一種文件傳輸方法,用于運行即時通訊軟件的第一終端,包括:檢測所述第一終端的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務;利用所述文件傳輸服務,建立與第二終端的點對點的文件傳輸通道;其中,所述第二終端是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的;基于來自所述第二終端的分片下載請求,將相應的待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。
[0008]第二方面,本發明實施例還提供了一種文件傳輸方法,用于運行即時通訊軟件的第二終端,包括:基于獲取自第一終端的文件傳輸服務的相關信息,建立與所述第一終端的點對點的文件傳輸通道;根據獲取自所述第一終端的待傳文件信息,向所述第一終端反饋分片下載請求;利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。
[0009]第三方面,本發明實施例還提供了一種文件傳輸第一子系統,用于運行即時通訊軟件的第一終端,包括:服務啟動模塊,用于檢測所述第一終端的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務;第一文件傳輸通道建立模塊,用于利用所述文件傳輸服務,建立與第二終端的點對點的文件傳輸通道;其中,所述第二終端是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的;第一下載模塊,用于基于來自所述第二終端的分片下載請求,將相應的待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。
[0010]第四方面,本發明實施例還提供了一種文件傳輸第二子系統,用于運行即時通訊軟件的第二終端,包括:第二文件傳輸通道建立模塊,用于基于獲取自第一終端的文件傳輸服務的相關信息,建立與所述第一終端的點對點的文件傳輸通道;第二下載模塊,用于根據獲取自所述第一終端的待傳文件信息,向所述第一終端反饋分片下載請求;以及用于利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。
[0011]第五方面,本發明實施例還提供了一種文件傳輸系統,包括:如上所述的文件傳輸第一子系統;如上所述的文件傳輸第二子系統。
[0012]本發明利用即時通訊軟件已建立的兩終端之間的信息傳輸通路來傳遞文件傳輸服務的相關信息,以及建立點對點的文件傳輸通路,解決了文件傳輸需第三方服務器中轉的問題,有效提高了數據傳輸的速度。另外,將待傳文件分片傳輸,通過并行傳輸的方式,進一步提高了數據傳輸速度。
【附圖說明】
[0013]圖1是本發明實施例一中的文件傳輸方法的流程圖;
[0014]圖2是本發明實施例三中的文件傳輸系統的結構示意圖。
【具體實施方式】
[0015]下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部結構。
[0016]實施例一
[0017]圖1為本發明實施例一提供的文件傳輸方法的流程圖,本實施例可適用于使用同一即時通訊軟件的兩終端進行大文件傳輸的情況,該方法可以由均運行即時通訊軟件的第一終端和第二終端來執行,其中,所述第一終端和第二終端可通過執行以下各對應步驟來傳輸文件,也可以利本實施例所提供的各對應步驟與其他文件傳輸方式配合。本方法具體包括如下步驟:
[0018]步驟S110、所述第一終端檢測自身的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務。
[0019]具體地,在所述即時通訊軟件啟動運行時、或啟動運行之后,基于所述即時通訊軟件的啟動文件傳輸服務的指令,檢測各端口的占用情況。例如,通過檢測端口列表來確定空閑端口。或者,向預設的初始端口發出檢測指令,若反饋為空閑狀態,則確定為空閑端口,反之,則在所述初始端口的基礎上進行遞增/遞減的逐個檢測,直到找到空閑端口為止。
[0020]接著,將所檢測的端口作為文件傳輸服務的服務端口,并啟動TCP服務。其中,對于接入局域網的終端來說,其TCP服務的IP地址為內網地址。對于接入廣域網的終端來說,其TCP服務端IP地址為外網地址。
[0021]在此,為了滿足第一終端同時向多個第二終端發送文件時的資源緊張,本實施例中可以檢測多個空閑端口并啟動多個文件傳輸服務。
[0022]當使用第一終端的用戶在即時通訊軟件的聯系人對話框中選中待傳文件時,所述第一終端執行步驟S120,對應的所述聯系人對話框所對應的第二終端執行步驟S210。
[0023]步驟S120、所述第一終端利用所述文件傳輸服務,建立與第二終端的點對點的文件傳輸通道;其中,所述第二終端是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的。
[0024]具體地,所述第一終端根據聯系人對話框所對應的用戶信息,將所啟動的各文件傳輸服務的相關信息通過預設的協議發送給相應的第二終端。其中,所述相關信息包括:用于同一 TCP服務的IP地址和端口。
[0025]—種可選方案中,由于第一終端和第二終端在建立文件傳輸通道之前,能夠利用即時通訊軟件進行如聊天數據等的數據傳輸,則所述第一終端通過預先建立的聊天信息傳輸通道,將所述文件傳輸服務的相關信息發送給第二終端。
[0026]例如,若所述第一終端和第二終端之間的聊天信息傳輸通道是經由即時通訊軟件所指定的服務器連接的,則所述第一終端將所述相關信息和用戶信息發送給所述服務器,所述服務器利用數據庫來查詢用戶信息所對應的第二終端的鏈路信息,并將所述相關信息發送給第二終端。
[0027]步驟S210、所述第二終端基于獲取自第一終端的文件傳輸服務的相關信息,建立與所述第一終端的點對點的文件傳輸通道。
[0028]具體地,所述第二終端按照所接收的相關信息逐條的向第一終端發送建立連接請求,若能接收到第一終端反饋的響應信息,則建立與所述第一終端的點對點的文件傳輸通道。反之,則向所述服務器發送無法連接的反饋信息。所述服務器將所述反饋信息轉發給所述第一終端,則所述第一終端利用所述聊天信息傳輸通道傳輸待發文件。
[0029]在此,在第一終端發送所述相關信息時,還可以同時提供待傳文件的待傳文件信息。或者,在建立了點對點的文件傳輸通道后,所述第一終端將所述待傳文件信息通過文件傳輸通道發送給第二終端。所述第二終端根據所接收的待傳文件信息執行步驟S220。其中,所述待傳文件信息包括但不限于:待傳文件的大小、和/或文件格式信息等。
[0030]步驟S220、所述第二終端根據獲取自所述第一終端的待傳文件信息,向所述第一終端反饋分片下載請求。
[0031]具體地,所述第二終端根據所接收的待傳文件信息設置文件分片,并按照所設置的文件分片將包含文件分片信息的分片下載請求反饋給第一終端。
[0032]例如,所述第二終端預設存儲文件分片的規則(如待傳文件大小超出預設存儲閾值,則將待傳文件分成預設數量的文件分片的規則),按照所述規則和待傳文件信息中的文件大小,確定該待傳文件的各文件分片的起止傳輸位置,并將各起止傳輸位置封裝在分片下載請求中反饋至第一終端。
[0033]其中,所述分片下載請求可以包含所有的文件分片信息;也可以將每個文件分片信息封裝在單獨的分片下載請求。第二終端按照分片下載請求的數量啟動對應的下載線程,以接收各文件分片的數據。
[0034]步驟S130、所述第一終端基于來自所述第二終端的分片下載請求,將相應的待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。
[0035]具體地,所述第一終端從所接收的分片下載請求中提取各文件分片信息(如各文件分片的起止位置、文件分片所占存儲空間、和文件分片編號等),并按照對應的文件起止位置,通過所述文件傳輸通道,將相應的文件分片反饋給第二終端。
[0036]—種可選方案中,所述第一終端將待傳文件的文件信息發送給第二終端,并獲取所述第二終端反饋的基于所述文件信息的多個包含分片信息的分片下載請求;按照各分片信息,將所述待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。
[0037]例如,所述第一終端按照各文件分片的編號順序設定各文件分片的順序,并按照各文件分片所占的存儲空間從待傳文件中提取各文件分片,再將各文件分片通過所建立的文件傳輸通道發送至第二終端。
[0038]步驟S230、所述第二終端利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。
[0039]具體地,所述第二終端對應每個分片下載請求,啟動對應的下載線程;通過所述文件傳輸通道,由各下載線程獲取對應的文件分片。
[0040]具體地,每個下載線程檢測文件傳輸通道所接收的數據包,并通過提取數據包中的包頭位置、或其他指定位置的文件分片信息(如文件分片編號、起止位置等),通過分析文件分片信息確定是否接收對應的數據包,并從中提取文件片段的數據。如此,各下載線程下載各自所對應的文件分片。
[0041]當所有下載線程下載完各自的文件分片后,按照文件分片編號,將各文件分片進行拼接,并保存在使用第二終端的用戶所指定的、或第二終端中的即時通訊軟件所指定的文件夾中。
[0042]本實施例的技術方案,利用即時通訊軟件已建立的兩終端之間的信息傳輸通路來傳遞文件傳輸服務的相關信息,以及建立點對點的文件傳輸通路,解決了文件傳輸需第三方服務器中轉的問題,有效提高了數據傳輸的速度。另外,將待傳文件分片傳輸,通過并行傳輸的方式,進一步提高了數據傳輸速度。
[0043]實施例二
[0044]本發明實施例二提供的文件傳輸方法中傳輸中斷操作的情況,本實施例在上述各實施例的基礎上,優選是在文件片段下載過程中,當第一用戶操作第一終端點擊暫停按鈕、或取消按鈕時,第一終端接收到中止指令并將其通過文件傳輸通道發送至第二終端。或者,當第二用戶操作第二終端點擊暫停按鈕、或取消按鈕等中止操作時,第二終端接收到中止指令并將其通過文件傳輸通道發送至第一終端。在第一終端接收到中止指令時,將停止發送各文件片段。與此同時,在第二終端接收到中止指令時,停止獲取各文件片段的下載數據,并保存各文件片段已接收部分的已下載信息。
[0045]其中,所述已下載信息包括但不限于:已下載部分占所屬文件片段的比例、已下載部分的數據量、和/或已下載部分的起止位置等。所述已下載信息還包括文件片段編號、文件信息等。
[0046]在此,所述第二終端將所已接收的文件片段部分從緩存中寫入存儲介質中。具體地,所述第二終端將各文件片段的已接收部分合成一臨時文件。
[0047]例如,所述第二終端按照各文件片段的順序,將第一個文件片段的已接收部分保存在預設的臨時文件中,并將后續的各文件片段的已接收部分逐個的添加到臨時文件中,同時,在臨時文件中設置各文件片段的標簽,以便續傳時重新確定各文件片段的起始位置。其中,所述標簽包括:文件片段的已下載信息、文件片段編號等。
[0048]當第一用戶或第二用戶操作繼續傳輸文件時,第二終端通過判斷所接收的文件信息確定與所保存的已下載信息中的文件信息能夠確定所接收的文件為續傳文件,則將包含所述臨時文件中標簽的續傳指令反饋給第一終端,通過所述文件傳輸通道、或重新建立的點對點文件傳輸通道,獲取各文件片段的剩余部分。
[0049]在此,當第一終端和第二終端續傳文件時,已建立的文件傳輸通道可能仍存在、或已關閉,若仍存在(即第一終端判定通道尚未超時斷開),則利用文件傳輸通道,第一終端將各文件片段的剩余部分發送給第二終端。
[0050]若已關閉,則第二終端通過聊天信息傳輸通道發送所述續傳指令,并利用上述步驟S120和S210重新建立文件傳輸通道,并由第一終端將各文件片段的剩余部分發送給第二終端。
[0051]在下載了所有文件片段的剩余部分時,按照臨時文件中的各標簽,將所下載的各文件片段的剩余部分插入相應的位置,并按照之前獲取的待傳文件信息將該臨時文件的命名、和后綴改為待傳文件。
[0052]本實施例通過在中斷傳輸文件時由第二終端保存文件片段中的已下載部分信息,并將各已下載部分標記在臨時文件中,以便續傳時加快下載速度。
[0053]實施例三
[0054]圖2為本發明實施例二提供的文件傳輸系統的結構示意圖,本實施例可適用于使用同一即時通訊軟件的兩終端進行大文件傳輸的情況,該方法可以由均運行即時通訊軟件的第一終端和第二終端來執行,其中,所述第一終端和第二終端可通過執行以下各對應模塊來傳輸文件,也可以利本實施例所提供的各對應模塊與其他文件傳輸方式配合。所述系統包括第一子系統和第二子系統。其中,第一子系統安裝在所述第一終端中,第二子系統安裝在第二終端中。所述第一子系統包括:服務啟動模塊11、第一文件傳輸通道建立模塊12、第一下載模塊13。所述第二子系統包括:第二文件傳輸通道建立模塊21、第二下載模塊22。
[0055]所述服務啟動模塊11用于檢測第一終端的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務。
[0056]具體地,在所述即時通訊軟件啟動運行時、或啟動運行之后,基于所述即時通訊軟件的啟動文件傳輸服務的指令,檢測各端口的占用情況。例如,通過檢測端口列表來確定空閑端口。或者,向預設的初始端口發出檢測指令,若反饋為空閑狀態,則確定為空閑端口,反之,則在所述初始端口的基礎上進行遞增/遞減的逐個檢測,直到找到空閑端口為止。
[0057]接著,將所檢測的端口作為文件傳輸服務的服務端口,并啟動TCP服務。其中,對于接入局域網的終端來說,其TCP服務的IP地址為內網地址。對于接入廣域網的終端來說,其TCP服務端IP地址為外網地址。
[0058]在此,為了滿足服務啟動模塊11同時向多個第二終端發送文件時的資源緊張,本實施例中可以檢測多個空閑端口并啟動多個文件傳輸服務。
[0059]當使用服務啟動模塊11的用戶在即時通訊軟件的聯系人對話框中選中待傳文件時,所述服務啟動模塊11啟動第一文件傳輸通道建立模塊12,對應的所述聯系人對話框所對應的第二終端執行第二文件傳輸通道建立模塊21。
[0060]所述第一文件傳輸通道建立模塊12利用所述文件傳輸服務,建立與第二文件傳輸通道建立模塊21的點對點的文件傳輸通道;其中,所述第二文件傳輸通道建立模塊21是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的。
[0061]具體地,所述第一文件傳輸通道建立模塊12根據聯系人對話框所對應的用戶信息,將所啟動的各文件傳輸服務的相關信息通過預設的協議發送給相應的第二文件傳輸通道建立模塊21。其中,所述相關信息包括:用于同一TCP服務的IP地址和端口。
[0062]—種可選方案中,由于第一文件傳輸通道建立模塊12和第二文件傳輸通道建立模塊21在建立文件傳輸通道之前,能夠利用即時通訊軟件進行如聊天數據等的數據傳輸,則所述第一文件傳輸通道建立模塊12通過預先建立的聊天信息傳輸通道,將所述文件傳輸服務的相關信息發送給第二文件傳輸通道建立模塊21。
[0063]例如,若所述第一文件傳輸通道建立模塊12和第二文件傳輸通道建立模塊21之間的聊天信息傳輸通道是經由即時通訊軟件所指定的服務器連接的,則所述第一文件傳輸通道建立模塊12將所述相關信息和用戶信息發送給所述服務器,所述服務器利用數據庫來查詢用戶信息所對應的第二文件傳輸通道建立模塊21的鏈路信息,并將所述相關信息發送給第二文件傳輸通道建立模塊21。
[0064]所述第二文件傳輸通道建立模塊21基于獲取自第一文件傳輸通道建立模塊12的文件傳輸服務的相關信息,建立與所述第一文件傳輸通道建立模塊12的點對點的文件傳輸通道。
[0065]具體地,所述第二文件傳輸通道建立模塊21按照所接收的相關信息逐條的向第一文件傳輸通道建立模塊12發送建立連接請求,若能接收到第一文件傳輸通道建立模塊12反饋的響應信息,則建立與所述第一文件傳輸通道建立模塊12的點對點的文件傳輸通道。反之,則向所述服務器發送無法連接的反饋信息。所述服務器將所述反饋信息轉發給所述第一文件傳輸通道建立模塊12,則所述第一文件傳輸通道建立模塊12利用所述聊天信息傳輸通道傳輸待發文件。
[0066]在此,在第一文件傳輸通道建立模塊12發送所述相關信息時,還可以同時提供待傳文件的待傳文件信息。或者,在建立了點對點的文件傳輸通道后,所述第一文件傳輸通道建立模塊12將所述待傳文件信息通過文件傳輸通道發送給第二文件傳輸通道建立模塊21。所述第二文件傳輸通道建立模塊21根據所接收的待傳文件信息啟動第二下載模塊22。其中,所述待傳文件信息包括但不限于:待傳文件的大小、和/或文件格式信息等。
[0067]所述第二下載模塊22根據獲取自所述第一下載模塊13的待傳文件信息,向所述第一下載模塊13反饋分片下載請求。
[0068]具體地,所述第二下載模塊22根據所接收的待傳文件信息設置文件分片,并按照所設置的文件分片將包含文件分片信息的分片下載請求反饋給第一下載模塊13。
[0069]例如,所述第二下載模塊22預設存儲文件分片的規則(如待傳文件大小超出預設存儲閾值,則將待傳文件分成預設數量的文件分片的規則),按照所述規則和待傳文件信息中的文件大小,確定該待傳文件的各文件分片的起止傳輸位置,并將各起止傳輸位置封裝在分片下載請求中反饋至第一下載模塊13。
[0070]其中,所述分片下載請求可以包含所有的文件分片信息;也可以將每個文件分片信息封裝在單獨的分片下載請求。第二下載模塊22按照分片下載請求的數量啟動對應的下載線程,以接收各文件分片的數據。
[0071]所述第一下載模塊13基于來自所述第二下載模塊22的分片下載請求,將相應的待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二下載模塊22。
[0072]具體地,所述第一下載模塊13從所接收的分片下載請求中提取各文件分片信息(如各文件分片的起止位置、文件分片所占存儲空間、和文件分片編號等),并按照對應的文件起止位置,通過所述文件傳輸通道,將相應的文件分片反饋給第二下載模塊22。
[0073]—種可選方案中,所述第一下載模塊13將待傳文件的文件信息發送給第二下載模塊22,并獲取所述第二下載模塊22反饋的基于所述文件信息的多個包含分片信息的分片下載請求;按照各分片信息,將所述待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二下載模塊22。
[0074]例如,所述第一下載模塊13按照各文件分片的編號順序設定各文件分片的順序,并按照各文件分片所占的存儲空間從待傳文件中提取各文件分片,再將各文件分片通過所建立的文件傳輸通道發送至第二下載模塊22。
[0075]所述第二下載模塊22利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。
[0076]具體地,所述第二下載模塊22對應每個分片下載請求,啟動對應的下載線程;通過所述文件傳輸通道,由各下載線程獲取對應的文件分片。
[0077]具體地,每個下載線程檢測文件傳輸通道所接收的數據包,并通過提取數據包中的包頭位置、或其他指定位置的文件分片信息(如文件分片編號、起止位置等),通過分析文件分片信息確定是否接收對應的數據包,并從中提取文件片段的數據。如此,各下載線程下載各自所對應的文件分片。
[0078]當所有下載線程下載完各自的文件分片后,按照文件分片編號,將各文件分片進行拼接,并保存在使用第二下載模塊22的用戶所指定的、或第二下載模塊22中的即時通訊軟件所指定的文件夾中。
[0079]本實施例的技術方案,利用即時通訊軟件已建立的兩終端之間的信息傳輸通路來傳遞文件傳輸服務的相關信息,以及建立點對點的文件傳輸通路,解決了文件傳輸需第三方服務器中轉的問題,有效提高了數據傳輸的速度。另外,將待傳文件分片傳輸,通過并行傳輸的方式,進一步提高了數據傳輸速度。
[0080]實施例四
[0081]本發明實施例四提供的文件傳輸系統中傳輸中斷操作的過程,本實施例在上述各實施例的基礎上,優選是在文件片段下載過程中,當第一用戶操作第一終端點擊暫停按鈕、或取消按鈕時,第一終端接收到中止指令并將其通過文件傳輸通道發送至第二終端。或者,當第二用戶操作第二終端點擊暫停按鈕、或取消按鈕等中止操作時,第二終端接收到中止指令并將其通過文件傳輸通道發送至第一終端。在第一終端中的第一下載模塊13接收到中止指令時,將停止發送各文件片段。與此同時,在第二終端中的第二下載模塊22接收到中止指令時,停止獲取各文件片段的下載數據,并保存各文件片段已接收部分的已下載信息。
[0082]其中,所述已下載信息包括但不限于:已下載部分占所屬文件片段的比例、已下載部分的數據量、和/或已下載部分的起止位置等。所述已下載信息還包括文件片段編號、文件信息等。
[0083]在此,所述第二下載模塊22將所已接收的文件片段部分從緩存中寫入存儲介質中。具體地,所述第二下載模塊22將各文件片段的已接收部分合成一臨時文件。
[0084]例如,所述第二下載模塊22按照各文件片段的順序,將第一個文件片段的已接收部分保存在預設的臨時文件中,并將后續的各文件片段的已接收部分逐個的添加到臨時文件中,同時,在臨時文件中設置各文件片段的標簽,以便續傳時重新確定各文件片段的起始位置。其中,所述標簽包括:文件片段的已下載信息、文件片段編號等。
[0085]當第一用戶或第二用戶操作繼續傳輸文件時,第二下載模塊22通過判斷所接收的文件信息確定與所保存的已下載信息中的文件信息能夠確定所接收的文件為續傳文件,則將包含所述臨時文件中標簽的續傳指令反饋給第一下載模塊13,通過所述文件傳輸通道、或重新建立的點對點文件傳輸通道,獲取各文件片段的剩余部分。
[0086]在此,當第一下載模塊13和第二下載模塊22續傳文件時,已建立的文件傳輸通道可能仍存在、或已關閉,若仍存在(即第一下載模塊13判定通道尚未超時斷開),則利用文件傳輸通道,第一下載模塊13將各文件片段的剩余部分發送給第二下載模塊22。
[0087]若已關閉,則第二下載模塊22通過聊天信息傳輸通道發送所述續傳指令,并利用上述第一文件傳輸通道建立模塊12和第二文件傳輸通道建立模塊21重新建立文件傳輸通道,并由第一下載模塊13將各文件片段的剩余部分發送給第二下載模塊22。
[0088]在下載了所有文件片段的剩余部分時,按照臨時文件中的各標簽,將所下載的各文件片段的剩余部分插入相應的位置,并按照之前獲取的待傳文件信息將該臨時文件的命名、和后綴改為待傳文件。
[0089]本實施例通過在中斷傳輸文件時由第二終端保存文件片段中的已下載部分信息,并將各已下載部分標記在臨時文件中,以便續傳時加快下載速度。
[0090]注意,上述僅為本發明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護范圍。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限于以上實施例,在不脫離本發明構思的情況下,還可以包括更多其他等效實施例,而本發明的范圍由所附的權利要求范圍決定。
【主權項】
1.一種文件傳輸方法,用于運行即時通訊軟件的第一終端,其特征在于,包括: 檢測所述第一終端的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務; 利用所述文件傳輸服務,建立與第二終端的點對點的文件傳輸通道;其中,所述第二終端是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的; 基于來自所述第二終端的分片下載請求,將相應的待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。2.根據權利要求1所述的文件傳輸方法,其特征在于,所述利用文件傳輸服務,建立與第二終端的點對點的文件傳輸通道,包括: 通過所述第一終端和第二終端預先利用所述即時通訊軟件建立的聊天信息傳輸通道,將所述文件傳輸服務的相關信息發送給第二終端; 利用所啟動的文件傳輸服務,獲取所述第二終端所發出的建立連接請求,并基于所述建立連接請求建立點對點的文件傳輸通道。3.根據權利要求1所述的文件傳輸方法,其特征在于,所述基于來自所述第二終端的分片下載請求,將待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端包括: 將待傳文件的文件信息發送給第二終端,并獲取所述第二終端反饋的基于所述文件信息的多個包含分片信息的分片下載請求; 按照各分片信息,將所述待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。4.根據權利要求1所述的文件傳輸方法,其特征在于,在發送各文件片段期間,當接收到所述第一終端、或第二終端的中止指令時,還包括: 停止發送各文件片段的剩余部分; 以及,當接收到來自第二終端的包含各文件片段的續傳指令時,通過所述文件傳輸通道、或重新建立的點對點文件傳輸通道,將各文件片段的剩余部分發送到所述第二終端。5.一種文件傳輸方法,用于運行即時通訊軟件的第二終端,其特征在于,包括: 基于獲取自第一終端的文件傳輸服務的相關信息,建立與所述第一終端的點對點的文件傳輸通道; 根據獲取自所述第一終端的待傳文件信息,向所述第一終端反饋分片下載請求; 利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。6.根據權利要求5所述的文件傳輸方法,其特征在于,所述基于獲取自第一終端的文件傳輸服務的相關信息,建立與所述第一終端的點對點的文件傳輸通道,包括: 通過所述第一終端和第二終端預先利用所述即時通訊軟件建立的聊天信息傳輸通道,獲取第一終端的文件傳輸服務的相關信息; 利用所述文件傳輸服務的相關信息,向所述第一終端發出建立連接請求,并在接收到第一終端基于所述建立連接請求反饋的響應信息時,建立與所述第一終端的點對點的文件傳輸通道。7.根據權利要求5所述的文件傳輸方法,其特征在于,所述根據獲取自第一終端的待傳文件信息,向所述第一終端反饋分片下載請求,包括: 根據獲取自所述第一終端的待傳文件信息,將所述待傳文件分成多個文件分片; 向所述第一終端反饋包含各文件分片信息的分片下載請求。8.根據權利要求7所述的文件傳輸方法,其特征在于,所述利用文件傳輸通道,獲取各文件分片,包括: 對應每個分片下載請求,啟動對應的下載線程; 通過所述文件傳輸通道,由各下載線程獲取對應的文件分片。9.根據權利要求5、7或8所述的文件傳輸方法,其特征在于,在獲取文件分片期間,當接收到所述第一終端的中止指令、或基于所獲取的中止操作發送中止指令時,還包括: 保存各文件片段已接收部分的已下載信息; 將各文件片段的已接收部分合成一臨時文件。10.根據權利要求9所述的文件傳輸方法,其特征在于,當基于所獲取的續傳操作,向第一終端發送包含各所述已下載信息的續傳指令時,還包括: 通過所述文件傳輸通道、或重新建立的點對點文件傳輸通道,獲取各文件片段的剩余部分; 根據所保存的各文件片段的已下載信息,將各文件片段的剩余部分添加到所述臨時文件的相應位置; 在所有文件片段下載完畢后,按照所述待傳文件信息,將所述臨時文件變更為相應的待傳文件。11.一種文件傳輸第一子系統,用于運行即時通訊軟件的第一終端,其特征在于,包括: 服務啟動模塊,用于檢測所述第一終端的空閑端口,并利用所檢測的空閑端口啟動所述即時通訊軟件所使用的文件傳輸服務; 第一文件傳輸通道建立模塊,用于利用所述文件傳輸服務,建立與第二終端的點對點的文件傳輸通道;其中,所述第二終端是根據對所述即時通訊軟件中用戶信息的文件傳輸操作而確定的; 第一下載模塊,用于基于來自所述第二終端的分片下載請求,將相應的待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。12.根據權利要求11所述的文件傳輸第一子系統,其特征在于,所述第一文件傳輸通道建立模塊用于通過所述第一終端和第二終端預先利用所述即時通訊軟件建立的聊天信息傳輸通道,將所述文件傳輸服務的相關信息發送給第二終端;利用所啟動的文件傳輸服務,獲取所述第二終端所發出的建立連接請求,并基于所述建立連接請求建立點對點的文件傳輸通道。13.根據權利要求11所述的文件傳輸第一子系統,其特征在于,所述第一下載模塊用于將待傳文件的文件信息發送給第二終端,并獲取所述第二終端反饋的基于所述文件信息的多個包含分片信息的分片下載請求;按照各分片信息,將所述待傳文件進行分片處理,并通過所述文件傳輸通道將各文件片段發送到所述第二終端。14.根據權利要求11所述的文件傳輸第一子系統,其特征在于,所述第一下載模塊還用于在發送各文件片段期間,當接收到所述第一終端、或第二終端的中止指令時,停止發送各文件片段的剩余部分; 以及,所述第一下載模塊還用于當接收到來自第二終端的包含各文件片段的續傳指令時,通過所述文件傳輸通道、或重新建立的點對點文件傳輸通道,將各文件片段的剩余部分發送到所述第二終端。15.—種文件傳輸第二子系統,用于運行即時通訊軟件的第二終端,其特征在于,包括: 第二文件傳輸通道建立模塊,用于基于獲取自第一終端的文件傳輸服務的相關信息,建立與所述第一終端的點對點的文件傳輸通道; 第二下載模塊,用于根據獲取自所述第一終端的待傳文件信息,向所述第一終端反饋分片下載請求;以及用于利用所述文件傳輸通道,獲取各文件分片,并將所下載的各文件分片合成相應的待傳文件。16.根據權利要求15所述的文件傳輸第二子系統,其特征在于,所述第二文件傳輸通道建立模塊用于通過所述第一終端和第二終端預先利用所述即時通訊軟件建立的聊天信息傳輸通道,獲取第一終端的文件傳輸服務的相關信息;利用所述文件傳輸服務的相關信息,向所述第一終端發出建立連接請求,并在接收到第一終端基于所述建立連接請求反饋的響應信息時,建立與所述第一終端的點對點的文件傳輸通道。17.根據權利要求15所述的文件傳輸第二子系統,其特征在于,所述第二下載模塊用于根據獲取自所述第一終端的待傳文件信息,將所述待傳文件分成多個文件分片;向所述第一終端反饋包含各文件分片信息的分片下載請求。18.根據權利要求17所述的文件傳輸第二子系統,其特征在于,所述第二下載模塊用于對應每個分片下載請求,啟動對應的下載線程;通過所述文件傳輸通道,由各下載線程獲取對應的文件分片。19.根據權利要求15、17或18所述的文件傳輸第二子系統,其特征在于,所述第二下載模塊還用于在獲取文件分片期間,當接收到所述第一終端的中止指令、或基于所獲取的中止操作發送中止指令時,保存各文件片段已接收部分的已下載信息;將各文件片段的已接收部分合成一臨時文件。20.根據權利要求19所述的文件傳輸第二子系統,其特征在于,當基于所獲取的續傳操作,向第一終端發送包含各所述已下載信息的續傳指令時,所述第二下載模塊還用于通過所述文件傳輸通道、或重新建立的點對點文件傳輸通道,獲取各文件片段的剩余部分;根據所保存的各文件片段的已下載信息,將各文件片段的剩余部分添加到所述臨時文件的相應位置;在所有文件片段下載完畢后,按照所述待傳文件信息,將所述臨時文件變更為相應的待傳文件。21.一種文件傳輸系統,其特征在于,包括: 如權利要求11-14中任一所述的文件傳輸第一子系統; 如權利要求15-20中任一所述的文件傳輸第二子系統。
【文檔編號】H04L12/58GK105871706SQ201610411144
【公開日】2016年8月17日
【申請日】2016年6月13日
【發明人】藍進華, 陳景慧, 陳陽, 范紅雨
【申請人】珠海佳米科技有限公司