一種用于即時(shí)通訊中傳輸文件的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種用于即時(shí)通訊中傳輸文件的方法,包括:接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊IM客戶端將文件傳輸給至少一個(gè)第二IM客戶端;所述第一IM客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片傳輸?shù)降谝环?wù)器;所述第一IM客戶端向所述至少一個(gè)第二IM客戶端傳輸所述文件的文件索引信息;所述第二IM客戶端根據(jù)所述文件索引信息,至少從所述第一IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片。本發(fā)明還公開了一種用于即時(shí)通訊中傳輸文件的裝置。通過本發(fā)明提供的技術(shù)方案,能夠快速、高效的進(jìn)行文件傳輸。
【專利說明】—種用于即時(shí)通訊中傳輸文件的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及即時(shí)通訊【技術(shù)領(lǐng)域】,特別是涉及一種用于即時(shí)通訊中傳輸文件的方法
及裝置。
【背景技術(shù)】
[0002]即時(shí)通訊(Instant Messenger,簡稱IM)是一種基于互聯(lián)網(wǎng)的即時(shí)交流消息的服務(wù)。因?yàn)榧磿r(shí)通訊的快速、功能豐富、社交網(wǎng)絡(luò)覆蓋范圍廣,所以越來越受到廣大用戶的喜愛。目前,用戶不但通過即時(shí)通訊工具進(jìn)行信息交流,而且通過即時(shí)通訊工具進(jìn)行文件傳輸?shù)男枨笠苍絹碓酱蟆?br>
[0003]目前通過即時(shí)通訊工具進(jìn)行文件傳輸?shù)募夹g(shù)主要有兩種,一種是一對一用戶之間的單一傳輸,比如頂客戶端A向IM客戶端B傳輸文件。這種一對一的傳輸,接收方只從發(fā)送方獲得文件,如果發(fā)送方和接收方之間的帶寬不足或者基于某種原因出現(xiàn)鏈路問題,那么傳輸效率會(huì)比較低,甚至?xí)霈F(xiàn)傳輸不成功的問題。
[0004]還有一種就是用戶上傳文件到某個(gè)群共享空間,該群的其它用戶等待整個(gè)文件全部上傳完成后,再到群共享空間中進(jìn)行下載。這種傳輸方式本質(zhì)上是發(fā)送方用戶先將文件傳輸?shù)揭粋€(gè)共享服務(wù)器上,等待傳輸完畢后,該群中的其它用戶(比如用戶B、C、D)再分別去該共享服務(wù)器上逐一下載,這種通過群共享空間向多個(gè)用戶傳輸文件的方式,一是傳輸效率仍然比較低,二是受群的限制,不是本群用戶無法接收到相應(yīng)文件。
[0005]因此,迫切需要本領(lǐng)域技術(shù)人員解決的問題就在于,在即時(shí)通訊中,如何能夠方便、快速高效的進(jìn)行文件傳輸。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供了一種用于即時(shí)通訊中向用戶傳輸文件的方法及裝置,能夠快速、高效的進(jìn)行文件傳輸。
[0007]本發(fā)明提供了如下方案:
[0008]一種用于即時(shí)通訊中傳輸文件的方法,包括:接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊頂客戶端將文件傳輸給至少一個(gè)第二頂客戶端;所述第一頂客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片傳輸?shù)降谝环?wù)器;所述第一 IM客戶端向所述至少一個(gè)第二頂客戶端傳輸所述文件的文件索引信息;所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
[0009]可選的,當(dāng)所述至少一個(gè)第二頂客戶端為多個(gè)時(shí),所述方法還包括:所述第二頂客戶端通報(bào)各自對所述文件的文件切片的已接收信息,并獲知其它所述第二 IM客戶端對所述文件的文件切片的已接收信息;所述第二頂客戶端根據(jù)各自獲知的其它第二頂客戶端對所述文件的文件切片的已接收信息,彼此交互各自所需的所述文件的文件切片。
[0010]可選的,還包括:所述第二頂客戶端從網(wǎng)絡(luò)側(cè)具有所述文件的其他服務(wù)器獲得所述文件。
[0011]可選的,所述第二 IM客戶端根據(jù)所述文件索引信息,至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片包括:如果所述第一頂客戶端向所述第二頂客戶端傳輸所述文件索引信息時(shí),所述第二頂客戶端處于離線狀態(tài),則待所述第二頂客戶端上線后,查看所述第一頂客戶端當(dāng)前是否在線;如果在線,則所述第二 IM客戶端根據(jù)所述文件索引信息至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
[0012]可選的,所述第二 IM客戶端根據(jù)所述文件索引信息,至少從所述第一服務(wù)器獲得所述文件切片包括:所述第二頂客戶端待所述第一服務(wù)器接收到至少一個(gè)完整的所述文件切片后,從所述第一服務(wù)器獲得所述第一服務(wù)器已經(jīng)接收到的所述文件的文件切片。
[0013]可選的,所述第二 IM客戶端根據(jù)所述文件索引信息,至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片包括:所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件不同部分的文件切片。
[0014]可選的,所述接收用戶的指示信息,所述指示信息指示第一 IM客戶端將文件傳輸給至少一個(gè)第二頂客戶端包括:接收用戶需要通過即時(shí)通訊工具傳輸文件的第一指示信息;所述第一指示信息觸發(fā)調(diào)用第一 IM客戶端的信息,為所述用戶提供可作為所述文件接收方的第二 IM客戶端的候選信息;接收所述用戶根據(jù)所述候選信息給出的第二指示信息,所述第二指示信息指示所述用戶選擇的作為所述文件接收方的至少一個(gè)第二頂客戶端。
[0015]可選的,所述接收用戶的指示信息,所述指示信息指示第一 IM客戶端將文件傳輸給至少一個(gè)第二頂客戶端包括:通過第一頂客戶端的一入口接收用戶的第三指示信息,所述第三指示信息指示用戶待傳輸?shù)奈募?;接收用戶的第四指示信息,所述第四指示信息指示所述用戶選擇的作為文件接收方的至少一個(gè)第二頂客戶端。
[0016]一種用于即時(shí)通訊中傳輸文件的裝置,包括:指示單元,用于接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊頂客戶端將文件傳輸給至少一個(gè)第二頂客戶端;切分單元,用于所述第一 IM客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片陸續(xù)傳輸?shù)降谝环?wù)器;索引單元,用于所述第一頂客戶端向所述至少一個(gè)第二頂客戶端傳輸所述文件的文件索引信息;第一文件獲得單元,用于所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
[0017]可選的,當(dāng)所述至少一個(gè)第二頂客戶端為多個(gè)時(shí),還包括:信息通報(bào)單元,用于所述第二 IM客戶端通報(bào)各自對所述文件的文件切片的已接收信息,并獲知其它所述第二 IM客戶端對所述文件的文件切片的已接收信息;第二文件獲得單元,用于所述第二 IM客戶端根據(jù)各自獲知的其它第二 IM客戶端對所述文件的文件切片的已接收信息,彼此交互各自所需的所述文件的文件切片。
[0018]可選的,還包括:第三文件獲得單元,用于所述第二頂客戶端從網(wǎng)絡(luò)側(cè)具有所述文件的其他服務(wù)器獲得所述文件。
[0019]可選的,所述第一文件獲得單元包括:離線文件獲得子單元,用于如果所述第一IM客戶端向所述第二 IM客戶端傳輸所述文件索引信息時(shí),所述第二 IM客戶端處于離線狀態(tài),則待所述第二頂客戶端上線后,查看所述第一頂客戶端當(dāng)前是否在線;如果在線,則所述第二 IM客戶端根據(jù)所述文件索引信息至少從所述第一 IM客戶端和所述服務(wù)器分別獲得所述文件的文件切片。[0020]可選的,所述第一文件獲得單元包括:服務(wù)器文件獲得子單元,用于所述第二 IM客戶端待所述第一服務(wù)器接收到至少一個(gè)完整的所述文件切片后,從所述第一服務(wù)器獲得所述第一服務(wù)器已接收到的所述文件的文件切片。
[0021]可選的,所述第一文件獲得單元,具體用于所述第二 IM客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件不同部分的文件切片。
[0022]可選的,所述指示單元具體包括:第一指示單元,用于接收用戶需要通過即時(shí)通訊工具傳輸文件的第一指示信息;觸發(fā)調(diào)用單元,用于在接收到所述第一指示信息時(shí)觸發(fā)調(diào)用第一 IM客戶端的信息,為所述用戶提供可作為所述文件接收方的第二 IM客戶端的候選信息;接收方指示單元,用于接收所述用戶根據(jù)所述候選信息給出的第二指示信息,所述第二指示信息指示所述用戶選擇的作為所述文件接收方的至少一個(gè)第二頂客戶端。
[0023]可選的,所述指示單元具體包括:第三指示單元,用于通過第一頂客戶端的一入口接收用戶的第三指示信息,所述第三指示信息指示用戶待傳輸?shù)奈募?;第四指示單元,用于接收用戶的第四指示信息,所述第四指示信息指示所述用戶選擇的作為文件接收方的至少一個(gè)第二 IM客戶端。
[0024]根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果:
[0025]通過本發(fā)明實(shí)施例,先由作為發(fā)送方的第一頂客戶端將文件進(jìn)行切分,并且將切分后的文件切片傳輸?shù)降谝环?wù)器,并且將待傳輸文件的文件索引信息發(fā)送給用戶指示的接收方,進(jìn)而,接收方可以根據(jù)文件索引信息,一方面從第一服務(wù)器獲得所需的文件切片,另一方面還從第一頂客戶端獲得所需的文件切片。因此,因此無論接收方是一個(gè),還是多個(gè),都大大提高了只單獨(dú)從一個(gè)文件源獲得文件的傳輸效率。而且,由于作為發(fā)送方的第一頂客戶端在發(fā)送待傳輸文件之前,會(huì)先將待傳輸文件切分為多個(gè)文件切片,并發(fā)送到第一服務(wù)器上,因此第一服務(wù)器待接收到一個(gè)完整的文件切片之后就能為第二頂客戶端(無論是一個(gè)還是多個(gè))提供已接收的文件切片,而不必等接收到全部文件之后才能提供給其他有需要的客戶端,因此幾乎能達(dá)在第一頂客戶端傳輸文件的過程中(即文件還沒有傳輸完畢),第二頂客戶端已經(jīng)開始接收該文件的技術(shù)效果,因此相對必須先把整個(gè)文件全部發(fā)送到某服務(wù)器后,作為接收方的第二 IM客戶端才能開始下載,大大提高了文件傳輸效率。
【專利附圖】
【附圖說明】
[0026]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0027]圖1是本發(fā)明實(shí)施例提供的系統(tǒng)環(huán)境示意圖;
[0028]圖2是本發(fā)明提供的一種用于實(shí)現(xiàn)即時(shí)通訊中傳輸文件的方法第一實(shí)施流程圖;
[0029]圖3是本發(fā)明提供的一種用于即時(shí)通訊中傳輸文件的裝置實(shí)施例示意圖。
【具體實(shí)施方式】
[0030]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0031]為了更清楚的介紹本發(fā)明實(shí)施例的技術(shù)方案,下面將結(jié)合應(yīng)用本發(fā)明實(shí)施例的系統(tǒng)環(huán)境示意圖,來介紹本發(fā)明用于實(shí)現(xiàn)即時(shí)通訊中傳輸文件的方法實(shí)施例的技術(shù)方案。
[0032]請先參閱圖1,其為應(yīng)用本發(fā)明實(shí)施例的系統(tǒng)環(huán)境示意圖。在本系統(tǒng)環(huán)境中包括一個(gè)第一頂客戶端110,多個(gè)第二頂客戶端120,以及第一服務(wù)器130、第二服務(wù)器140、第三服務(wù)器150和第四服務(wù)器160,它們都與互聯(lián)網(wǎng)相連。請參閱圖2,其為本發(fā)明提供的一種用于實(shí)現(xiàn)即時(shí)通訊中傳輸文件的方法第一實(shí)施流程圖。
[0033]步驟210:接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊頂客戶端將文件傳輸給至少一個(gè)第二 IM客戶端。
[0034]在很多情況下,一個(gè)IM用戶都有將同一文件傳輸給一個(gè)或多個(gè)IM用戶的需求,在即時(shí)通訊領(lǐng)域更是如此。作為傳輸文件接收方的至少一個(gè)第二頂客戶端,可以是用戶直接選擇的一個(gè)或多個(gè)第二頂客戶端,也可以是用戶選擇某個(gè)用戶群,因?yàn)橐粋€(gè)用戶群中就包括多個(gè)第二頂客戶端?;蛘?,還可以是既選擇一些單獨(dú)的第二頂客戶端作為文件接收方,又選擇一個(gè)或幾個(gè)群(每個(gè)群均包含多個(gè)第二頂客戶端)作為文件的接收方。
[0035]在具體的實(shí)際應(yīng)用中,用戶指示第一 IM客戶端將文件傳輸給至少一個(gè)第二 IM客戶端的方式有很多種,本發(fā)明實(shí)施例對此并沒有限制,下面僅給出兩種比較常見的實(shí)現(xiàn)方式示例。
[0036]第一種示例,用戶在本地選擇了某一文件,希望將該文件通過即時(shí)通訊工具傳輸(也可以稱為“分享”)給至少一個(gè)用戶。具體而言,首先接收用戶需要通過即時(shí)通訊工具傳輸文件的第一指示信息,所述第一指示信息觸發(fā)調(diào)用第一 IM客戶端的信息,為所述用戶提供可作為所述文件接收方的第二 IM客戶端的候選信息;然后接收所述用戶根據(jù)所述候選信息給出的第二指示信息,所述第二指示信息指示所述用戶選擇的作為所述文件接收方的至少一個(gè)第二頂客戶端。
[0037]本領(lǐng)域技術(shù)人員可以理解,在具體實(shí)現(xiàn)時(shí)產(chǎn)品形態(tài)、設(shè)計(jì)多種多樣,因此在具體實(shí)現(xiàn)時(shí)通過何種方式、在哪里接收用戶的第一指示信息、第二指示信息,本發(fā)明實(shí)施例并沒有限制。只要能讓第一頂客戶端知道用戶需要通過即時(shí)通訊工具傳輸文件,然后通過調(diào)用第一頂客戶端的信息,向用戶提供可以作為文件接收方的第二頂客戶端的候選信息即可,讓用戶選擇最終作為接收方的至少一個(gè)第二 IM客戶端即可。比如在圖1的系統(tǒng)環(huán)境下,用戶選擇了某一文件,點(diǎn)擊右鍵彈出右鍵菜單,用戶選中右鍵菜單的一項(xiàng)(比如是個(gè)類似分享的功能按鈕選項(xiàng)),選中該項(xiàng)就表明用戶需要通過即時(shí)通訊工具傳輸該文件;然后觸發(fā)調(diào)用第一頂客戶端110的信息(如果此時(shí)還沒有啟動(dòng)第一 IM客戶端110,則需要先啟動(dòng)第一 IM客戶端110,然后才能調(diào)用其中的信息),比如調(diào)出用戶的好友等信息,讓用戶選擇希望把文件傳輸給哪些好友(比如用戶選擇了一個(gè)或多個(gè)第二 I M客戶端120)。
[0038]第二種示例,某一用戶已經(jīng)啟動(dòng)了即時(shí)通訊客戶端程序,在即時(shí)通訊的過程中,希望向一個(gè)或多個(gè)用戶傳輸同一文件。具體而言,通過第一頂客戶端的一入口接收用戶的第三指示信息,所述第三指示信息指示用戶待傳輸?shù)奈募?;接收用戶的第四指示信息,所述第四指示信息指示所述用戶選擇的作為文件接收方的至少一個(gè)第二 IM客戶端。需要說明的是,是先接收第三指示信息還是先接收第四指示信息,并沒有限制,根據(jù)實(shí)際情況可以不同,比如第一 IM客戶端打開了與某一個(gè)第二 IM客戶端之間的交互窗口,或者打開了與某個(gè)群(包括多個(gè)第二頂端)的交互窗口,然后從該交互窗口的某個(gè)入口選擇了待傳輸?shù)奈募?,那么就可以認(rèn)為第一頂客戶端是希望將該文件傳輸給交互窗口涉及的那個(gè)第二 I M客戶端或者涉及的多個(gè)第二 I M客戶端。比如在圖1所述的系統(tǒng)環(huán)境下,用戶可以先指示希望將文件傳輸給哪些第二 I M客戶端120,然后再指示希望傳輸?shù)氖悄囊晃募灰部梢韵戎甘緜鬏斈囊晃募?,再指示要傳輸給哪些第二 IM客戶端120。同理,本領(lǐng)域技術(shù)人員可以理解,在具體實(shí)現(xiàn)時(shí)產(chǎn)品形態(tài)、設(shè)計(jì)多種多樣,因此在具體實(shí)現(xiàn)時(shí)通過何種方式、在哪里接收用戶的第三指示信息和第四指示信息,本發(fā)明實(shí)施例并沒有限制。
[0039]步驟220:第一 IM客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片傳輸?shù)降谝环?wù)器。
[0040]第一 IM客戶端可以將待傳輸?shù)奈募葌鬏數(shù)揭环?wù)器,進(jìn)而該服務(wù)器也成為一個(gè)該文件的提供源。例如在圖1所示的系統(tǒng)環(huán)境下,具體的實(shí)現(xiàn)方案可以是:第一 IM客戶端HO將待傳輸?shù)奈募蟹譃槎鄠€(gè)文件切片,然后將該文件的文件切片陸續(xù)傳輸?shù)降谝环?wù)器130,待第一服務(wù)器130接收到至少一個(gè)完整的文件切片后,第一服務(wù)器130就可以為第二 IM客戶端120提供其已接收的文件切片了。
[0041]步驟230:第一 IM客戶端向所述至少一個(gè)第二 IM客戶端傳輸所述文件的文件索引信息。
[0042]在具體實(shí)現(xiàn)時(shí),為了向各接收方表明自己發(fā)送的文件是什么,以及便于接收方從文件的提供源獲得該文件,作為發(fā)送方的第一頂客戶端會(huì)向各接收方先發(fā)送文件索引信息。在本發(fā)明實(shí)施例,文件在傳輸之前會(huì)被切分為多個(gè)文件切片,每個(gè)文件切片都記錄MD5值,當(dāng)然整個(gè)文件也記錄MD5值,因此所述索引信息可以包含文件標(biāo)識、文件切片的相關(guān)內(nèi)容、MD5等若干信息。
[0043]需要說明的是,步驟220和步驟230沒有嚴(yán)格的先后順序,本發(fā)明對此并沒有限制。
[0044]步驟240:第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
[0045]對應(yīng)于圖1的系統(tǒng)環(huán)境而言,本發(fā)明實(shí)施例不是僅僅從第一 IM客戶端110或者僅僅從第一服務(wù)器獲130得文件,而是同時(shí)從這兩個(gè)途徑分別獲得,比如分別從第一 IM客戶端110和第一服務(wù)器130獲得該文件不同部分的文件切片,因此相對僅從單一途徑獲得文件的方案而言,大大提高了文件的傳輸效率。
[0046]由于第一頂客戶端是該文件的發(fā)送方,因此,第一頂客戶端本身就是一個(gè)該文件的提供源,因此,第二 IM客戶端根據(jù)所述索引信息可以從第一 IM客戶端獲得部分所述文件的文件切片。對應(yīng)于圖1的系統(tǒng)環(huán)境而言,第一頂客戶端110本身就是一個(gè)文件的提供源,每個(gè)第二 IM客戶端120都可以從第一 IM客戶端110獲得該文件。為了得到較快的傳輸效率,尤其是當(dāng)某個(gè)或某幾個(gè)作為接收方的第二頂客戶端120與第一 IM客戶端110同屬于一個(gè)內(nèi)網(wǎng)時(shí),從第一頂客戶端110獲得部分文件的文件切片的效率會(huì)更高。
[0047]另一方面,由于第一頂客戶端還將文件傳輸至了第一服務(wù)器130,因此第一服務(wù)器130也可以提供所需的文件。在具體實(shí)現(xiàn)時(shí),可以在第二 IM客戶端120接收到文件索引信息后,根據(jù)文件索引信息向第一服務(wù)器130發(fā)出詢問,詢問第一服務(wù)器130是否能夠?yàn)槠涮峁┧璧奈募?,或者說第一服務(wù)器130能為其提供該文件的哪些文件切片。如果第一服務(wù)器130可以提供,那么就可以將對應(yīng)的文件切片發(fā)送給詢問的第二 IM客戶端。
[0048]需要說明的是,在本發(fā)明實(shí)施例中,可選的,第一 IM客戶端110將文件切片后,將文件切片陸續(xù)發(fā)送到第一服務(wù)器130,因此,第二頂客戶端120不需要等第一頂客戶端110將文件全部傳輸?shù)降谝环?wù)器130之后,才能從第一服務(wù)器獲得該文件的內(nèi)容。換而言之,第二頂客戶端120待第一服務(wù)器130接收到至少一個(gè)完整的文件切片后,就可以開始從第一服務(wù)器130獲得其已經(jīng)從第一 IM客戶端110接收到的該文件的文件切片。
[0049]而在現(xiàn)有技術(shù)中,都是發(fā)送方不對待傳輸?shù)奈募M(jìn)行切片處理,直接將未經(jīng)切分的文件傳輸?shù)焦蚕矸?wù)器(比如傳輸?shù)侥硞€(gè)群共享空間中),因此各接收方必須等發(fā)送方將文件全部傳輸?shù)焦蚕矸?wù)器之后才能開始進(jìn)行下載??梢姡l(fā)明實(shí)施例通過在傳輸文件前先對文件進(jìn)行切片,采用陸續(xù)傳輸文件切片到服務(wù)器的技術(shù)方案,達(dá)到了發(fā)送方在向服務(wù)器傳輸文件(文件切片)的過程中,接收方也能同步從服務(wù)器上下載文件(文件切片)的技術(shù)效果,相對現(xiàn)有技術(shù)而言,提高了即時(shí)通訊中借助服務(wù)器中轉(zhuǎn)文件傳輸?shù)男省?br>
[0050]為了更好的提高傳輸效率,每個(gè)第二 IM客戶端可以分別從第一 IM客戶端110和第一服務(wù)器130獲得文件不同部分的內(nèi)容,即獲得不同的文件切片。比如,第二 IM客戶端120可以從第一服務(wù)器130獲得一部文件切片(比如第1-5個(gè)文件切片),而從第一頂客戶端110獲得另外一份的文件切片(比如第6-10個(gè)文件切片)。
[0051]當(dāng)?shù)谝豁斂蛻舳?10向第二頂客戶端120傳輸文件(或者說第一頂客戶端110向所述第二頂客戶端120傳輸文件索引信息)時(shí),第二 IM客戶端可能不在線,即處理離線狀態(tài)。那么這種情況下,待所述第二頂客戶端上線后,查看所述第一頂客戶端當(dāng)前是否在線;如果在線,則所述第二 IM客戶端根據(jù)所述文件索引信息分別從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片。具體而言,第二 IM客戶端120分別向第一 IM客戶端110和第一服務(wù)器130發(fā)出獲取文件的請求,以及需要獲取的是哪些文件切片,然后第
一IM客戶端110和第一服務(wù)器130根據(jù)第二 IM客戶端120的請求,向其發(fā)送對應(yīng)的文件切片。
[0052]可選的,本發(fā)明實(shí)施例中第二頂客戶端120除了可以從第一頂客戶端110和第一服務(wù)器130獲得所需文件的文件切片之外,還可以通過以下方式獲得還:
[0053](I)第二頂客戶端120從網(wǎng)絡(luò)側(cè)具有所述文件的其他服務(wù)器獲得所述文件。因?yàn)槿绻麄鬏數(shù)奈募浅R娢募?,那么在網(wǎng)絡(luò)側(cè)可能還有其他服務(wù)器上可以下載該文件,比如圖1中的第三服務(wù)器150和第四服務(wù)器160等等。具體實(shí)現(xiàn)時(shí),可以由一即時(shí)通訊服務(wù)器通過多種手段收集一些常見文件的下載地址,進(jìn)而某第二頂客戶端120需要某文件時(shí),可以根據(jù)文件索引信息向該即時(shí)通訊服務(wù)器詢問還有哪些服務(wù)器可以提供該文件的下載,如果即時(shí)通訊服務(wù)器能查詢到,則將查詢到的下載地址等相關(guān)信息返回給第二頂客戶端120,進(jìn)而第二頂客戶端120就可以從這些下載地址指向的服務(wù)器去獲得所述文件。
[0054](2)如果第二頂客戶端120為多個(gè),則這些第二頂客戶端120彼此之間還可以交互各自所需的文件切片。第二 IM客戶端120通報(bào)各自對所述文件的文件切片的已接收信息,并獲知其它第二頂客戶端120對所述文件的文件切片的已接收信息;第二 IM客戶端120根據(jù)各自獲知的其它第二 IM客戶端120對所述文件的文件切片的已接收信息,彼此交互各自所需的所述文件的文件切片。在具體實(shí)現(xiàn)時(shí)有多種方式,比如,第二 IM客戶端120向第二服務(wù)器140通報(bào)各自對所述文件的文件切片的已接收信息;各第二 IM客戶端120根據(jù)所述第二服務(wù)器下發(fā)的匯總信息,獲知其它第二頂客戶端120對所述文件的文件切片的已接收情況。
[0055]比如通過一服務(wù)器進(jìn)行消息匯總。具體而言,比如在圖1所示的系統(tǒng)環(huán)境下,通過步驟230使得有些第二頂客戶端120已經(jīng)得到了部分文件切片,于是這些第頂客戶端120就向第二服務(wù)器140通報(bào)各自對所述文件的文件切片的已接收信息,比如通報(bào)自己已經(jīng)接收到該文件的哪些文件切片;然后第二服務(wù)器140就對各第二 IM客戶端上報(bào)的已接收信息進(jìn)行匯總(比如當(dāng)前有哪些第二頂客戶端120在接收該文件,分別都接收到了哪些文件切片),第二服務(wù)器140再將匯總信息下發(fā)給各第二 IM客戶端,使得第二 IM客戶端根據(jù)第二服務(wù)器140下發(fā)的匯總信息,就可以獲知其它第二 IM客戶端120對所述文件的文件切片的已接收情況。比如某一個(gè)第二頂客戶端120就知道另外的一個(gè)第二頂客戶端120已經(jīng)接收到了該文件的第5個(gè)文件切片,還有一個(gè)第二 IM客戶端120已經(jīng)接收到了第6-9個(gè)文件切片等等??偠灾?,就相當(dāng)于各第二 IM客戶端都知道彼此已經(jīng)接收到了該文件的哪些文件切片。
[0056]由于每個(gè)第二頂客戶端120已經(jīng)知道其他第二頂客戶端120都接收到了該文件的哪些文件切片,于是,這些第二 IM客戶端120彼此之間就可以通過連接,交互各自所需的文件切片。比如,第一個(gè)第二頂客戶端120已經(jīng)從第一服務(wù)器130接收到文件的第1-5個(gè)文件切片,還需要該文件的第6-10個(gè)文件切片獲得全部文件,并且獲知第二個(gè)第二 IM客戶端120已經(jīng)接收到該文件的第6-8個(gè)文件切片,第三個(gè)第二頂客戶端120已經(jīng)接收到該文件的第9-10個(gè)文件切片,于是該第一個(gè)第二 IM客戶端120就可以分別與第二個(gè)IM客戶端120、第三個(gè)頂客戶端120建立連接,從第二個(gè)第二頂客戶端120獲得第6-8個(gè)文件切片,從第三個(gè)IM客戶端120獲得第9-10個(gè)文件切片。最終該第一個(gè)第二 IM客戶端120分別從第一服務(wù)器130、第二個(gè)第二 IM客戶端120、第三個(gè)IM客戶端120多個(gè)途徑獲得了該文件的全部內(nèi)容。其他第二頂客戶端也是以此類推,相當(dāng)于每個(gè)第二頂客戶端120既可以從別的第二頂客戶端120獲得自己所需的文件切片,也可以為別的第二 IM客戶端提供自己已接收的文件切片。
[0057]可選的,為了更好的提高文件傳輸效率,可以在文件索引信息中不但給出文件各切片的信息,還可以給出建議或者指示一指示每個(gè)第二頂客戶端應(yīng)該優(yōu)先從第一頂客戶端或者第一服務(wù)器獲得哪些部分的切片。優(yōu)選的,不同第二頂客戶端最初從第一頂客戶端或第一服務(wù)器獲得的文件切片互不相同,即各客戶端最初從第一頂客戶端或第一服務(wù)器獲得文件不同部分的文件切片。比如,指示最初用戶甲(第二 IM客戶端之一)從第一 IM客戶端或第一服務(wù)器獲得第1-3號文件切片;指示最初用戶乙(另一個(gè)第二 IM客戶端)從第一 IM客戶端或第一服務(wù)器獲得第4-6號文件切片;指示最初用戶丙(又一個(gè)第二 IM客戶端)從第一頂客戶端或第一服務(wù)器獲得第7-10號文件切片;等等,依此類推,總而言之,最初各第二頂客戶端從文件提供源獲得的是該文件不同部分的文件切片。這樣有利于后續(xù)各第二 IM客戶端彼此交互。具體而言,后續(xù)用戶甲就可以從用戶乙獲得該文件的第4-6號文件切片,從用戶丙獲得該文件的7-10號文件切片;同理,用戶乙可以從用戶甲獲得該文件的第1-3號文件切片,從用戶丙獲得該文件的7-10號文件切片;用戶丙從用戶甲獲得該文件的第1-3號文件切片,從用戶乙獲得該文件的第4-6號文件切片。由此可見,在這種情況下,各第二頂客戶端很好的實(shí)現(xiàn)了彼此相互交互各自所需的文件切片。
[0058]當(dāng)然,本領(lǐng)域技術(shù)人員可以理解,如果不在最初指示各第二 IM客戶端從文件的提供源獲得不同部分的文件切片也是可行的,由于各第二頂客戶端下載速度不同、所需的文件切片也可能不同、優(yōu)先請求下載的文件切片也可能不同,所以后續(xù)各第二頂客戶端在某個(gè)時(shí)刻得到的文件切片也多數(shù)情況下也是不盡相同的,因此還是可以彼此交互各自所需。
[0059]需要說明的是,在各第二頂客戶端相互交互彼此所需的文件切片的同時(shí),還可以繼續(xù)從第一服務(wù)器或者第一 IM客戶端獲得所需的文件切片,也就是說從第一服務(wù)器和第一頂客戶端獲得文件切片可以是一個(gè)持續(xù)的過程,在某個(gè)階段,可以與各第二頂客戶端彼此相互交互并行執(zhí)行。即,各第二頂客戶端可以同時(shí)通過若干各途徑(第一頂客戶端、第一服務(wù)器、其它服務(wù)器或者其它第二頂客戶端)獲得自己所需的文件切片,只要是從不同途徑獲得不同部分的文件切片,那么就可以達(dá)到多條途徑互補(bǔ)的效果,從而達(dá)到較高的傳輸效率。當(dāng)然,也有可能某個(gè)第二頂客戶端在需要獲得文件的最后一個(gè)文件切片時(shí),因?yàn)椴淮_定通過哪個(gè)途徑獲得更快,而且也沒有其它文件切片需要獲得了,所以可能同時(shí)通過多個(gè)途徑索要該文件切片,以便保證最快獲得該最后一個(gè)文件切片。所以,多數(shù)情況下,為了保證最快的文件傳輸速率,本發(fā)明實(shí)施例對從不同途徑獲得的文件切片是不同的,但也不排除個(gè)別情況下從不同途徑獲得相同文件切片。
[0060]與前述方法實(shí)施例相對應(yīng),本發(fā)明還公開了 一種用于即時(shí)通訊中傳輸文件的裝置,請參閱圖3,其為本發(fā)明提供的一種用于即時(shí)通訊中傳輸文件的裝置實(shí)施例示意圖。
[0061]具體而言,所述系統(tǒng)包括指示單元310、切分單元320、索引單元330以及第一文件獲得單元340。其中,指示單元310用于接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊頂客戶端將文件傳輸給至少一個(gè)第二頂客戶端;切分單元320,用于所述第一頂客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片陸續(xù)傳輸?shù)降谝环?wù)器;索引單元330,用于所述第一 IM客戶端向所述至少一個(gè)第二 IM客戶端傳輸所述文件的文件索引信息;第一文件獲得單元340,用于所述第二 IM客戶端根據(jù)所述文件索引信息,至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
[0062]可選的,當(dāng)所述至少一個(gè)第二頂客戶端為多個(gè)時(shí),本實(shí)施例的裝置還包括:
[0063]信息通報(bào)單元,用于所述第二頂客戶端通報(bào)各自對所述文件的文件切片的已接收信息,并獲知其它所述第二 IM客戶端對所述文件的文件切片的已接收信息??蛇x的,信息通報(bào)單元的實(shí)現(xiàn)方式有多種,比如信息通報(bào)單元具體包括:自身信息通報(bào)單元,用于所述第二 IM客戶端向第二服務(wù)器通報(bào)各自對所述文件的文件切片的已接收信息;其他客戶端信息獲知單元,用于所述第二頂客戶端根據(jù)所述第二服務(wù)器下發(fā)的匯總信息,獲知其它第
二IM客戶端對所述文件的文件切片的已接收情況。
[0064]第二文件獲得單元,用于所述第二 IM客戶端根據(jù)各自獲知的其它第二 IM客戶端對所述文件的文件切片的已接收信息,彼此交互各自所需的所述文件的文件切片。
[0065]可選的,本發(fā)明實(shí)施例的系統(tǒng)還可以包括:第三文件獲得單元,用于所述第二頂客戶端從網(wǎng)絡(luò)側(cè)具有所述文件的其他服務(wù)器獲得所述文件。
[0066]可選的,所述第一文件獲得單元340可以包括離線文件獲得子單元,具體用于如果所述第一頂客戶端向所述第二頂客戶端傳輸所述文件索引信息時(shí),所述第二頂客戶端處于離線狀態(tài),則待所述第二頂客戶端上線后,查看所述第一頂客戶端當(dāng)前是否在線;如果在線,則所述第二 IM客戶端根據(jù)所述文件索引信息至少從所述第一 IM客戶端和所述服務(wù)器分別獲得所述文件的文件切片。還可以包括在線文件獲得子單元,具體用于如果所述第一 IM客戶端向所述第二 IM客戶端傳輸所述文件索引信息時(shí),所述第二 IM客戶端處于在線狀態(tài),所述第二頂客戶端根據(jù)所述文件索引信息至少從所述第一頂客戶端和所述服務(wù)器分別獲得所述文件的文件切片。
[0067]可選的,所述第一文件獲得單元340包括服務(wù)器文件獲得子單元,用于所述第二IM客戶端待所述第一服務(wù)器接收到至少一個(gè)完整的所述文件切片后,從所述第一服務(wù)器獲得所述第一服務(wù)器已接收到的所述文件的文件切片。還可以包括頂客戶端文件獲得子單元,用于根據(jù)文件索引信息,從所述第一頂客戶端獲得文件的文件切片。
[0068]可選的,所述第一文件獲得單元340,具體用于所述第二 IM客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件不同部分的文件切片。
[0069]可選的,所述指示單元310可以包括:第一指示單元,用于接收用戶需要通過即時(shí)通訊工具傳輸文件的第一指示信息;觸發(fā)調(diào)用單元,用于在接收到所述第一指示信息時(shí)觸發(fā)調(diào)用第一頂客戶端的信息,為所述用戶提供可作為所述文件接收方的第二頂客戶端的候選信息;接收方指示單元,用于接收所述用戶根據(jù)所述候選信息給出的第二指示信息,所述第二指示信息指示所述用戶選擇的作為所述文件接收方的至少一個(gè)第二頂客戶端。
[0070]或者,所述指示單元310具體包括:第三指示單元,用于通過第一 IM客戶端的一入口接收用戶的第三指示信息,所述第三指示信息指示用戶待傳輸?shù)奈募坏谒闹甘締卧?,用于接收用戶的第四指示信息,所述第四指示信息指示所述用戶選擇的作為文件接收方的至少一個(gè)第二 IM客戶端。
[0071]通過前面各實(shí)施例的描述可以看出,相對現(xiàn)有的IM文件傳輸而言,本發(fā)明實(shí)施例有諸多有益效果:
[0072]由于作為發(fā)送方的第一IM客戶端在發(fā)送待傳輸文件之前,會(huì)先將待傳輸文件切分為多個(gè)文件切片,并發(fā)送到第一服務(wù)器上,因此第一服務(wù)器待接收到一個(gè)完整的文件切片之后就能為第二頂客戶端(無論是一個(gè)還是多個(gè))提供已接收的文件切片,而不必等接收到全部文件之后才能提供給其他有需要的客戶端,因此幾乎能達(dá)在第一頂客戶端傳輸文件的過程中(即文件還沒有傳輸完畢),第二頂客戶端已經(jīng)開始接收該文件的技術(shù)效果,因此相對必須先把整個(gè)文件全部發(fā)送到某服務(wù)器后,作為接收方的第二頂客戶端才能開始下載,大大提高了文件傳輸效率。而且,由于作為發(fā)送方的第一 IM客戶端將待傳輸文件的文件索引信息發(fā)送給用戶指示的接收方-即至少一個(gè)第二 IM客戶端,使得第二 IM客戶端可以根據(jù)索引信息一方面從第一服務(wù)器獲得所需的文件切片,另一方面還可以從第一頂客戶端獲得所需的文件切片,因此無論接收方是一個(gè),還是多個(gè),都大大提高了只單獨(dú)從一個(gè)文件源獲得文件的效率。
[0073]進(jìn)一步,由于本發(fā)明實(shí)施例是將文件索引信息發(fā)給作為接收方的第二 IM客戶端(可以是多個(gè)),而不是直接將文件傳輸?shù)侥硞€(gè)群的共享服務(wù)器上,因此,接收方不限于某個(gè)用戶群的用戶,而可以是不屬于同一用戶群的多個(gè)用戶,因此當(dāng)接收方為多個(gè)時(shí),本發(fā)明實(shí)施例的接收方不受用戶群的限制,可以是任意多個(gè)頂用戶。
[0074]更進(jìn)一步,如果接收方的第二 IM客戶端是多個(gè)的情況下,在多個(gè)第二 IM客戶端分別接收到一分部文件切片之后,可以彼此交互各自所需的文件切片,而不是像現(xiàn)有技術(shù)每個(gè)第二 IM客戶端只能從共享服務(wù)器分別下載文件,所以達(dá)到提高了向多個(gè)用戶傳輸同一文件(群發(fā)文件)的傳輸效率,尤其是如果作為接收方的第二 IM客戶端越多,就可以從越多第二 IM客戶端分別獲得不同的文件部分,進(jìn)而傳輸效率的優(yōu)勢越明顯。
[0075]再進(jìn)一步,不但作為接收方的第二 IM客戶端可以從第一服務(wù)器、第一 IM客戶端獲得所需的文件切片,以及各第二 IM客戶端之間可以彼此交互各自所需的文件切片,還可以從網(wǎng)絡(luò)側(cè)具有該文件的其他服務(wù)器上獲得部分文件,從而更進(jìn)一步的提高文件傳輸速率??偠灾?,當(dāng)?shù)谝豁斂蛻舳诵枰蛞粋€(gè)或多個(gè)第二頂客戶端傳輸文件時(shí),第二頂客戶端可以通過多種途徑、從多個(gè)文件的提供源(如其他第二頂客戶端、第一服務(wù)器、其他網(wǎng)絡(luò)服務(wù)器、第一 IM客戶端等)并行獲得文件的不同部分,最終能夠在相對較短的時(shí)間內(nèi)獲得全部文件,大大提高了即時(shí)通訊中向多個(gè)用戶傳輸同一文件的傳輸效率。
[0076]通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0077]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0078]以上對本發(fā)明所提供的一種用于即時(shí)通訊中傳輸文件的方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均
[0079]會(huì)有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種用于即時(shí)通訊中傳輸文件的方法,其特征在于,包括: 接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊頂客戶端將文件傳輸給至少一個(gè)第二 IM客戶端; 所述第一 IM客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片傳輸?shù)降谝环?wù)器; 所述第一頂客戶端向所述至少一個(gè)第二 IM客戶端傳輸所述文件的文件索引信息; 所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述至少一個(gè)第二IM客戶端為多個(gè)時(shí),所述方法還包括: 所述第二 IM客戶端通報(bào)各自對所述文件的文件切片的已接收信息,并獲知其它所述第二 IM客戶端對所述文件的文件切片的已接收信息; 所述第二頂客戶端根據(jù)各自獲知的其它第二頂客戶端對所述文件的文件切片的已接收信息,彼此交互各自所需的所述文件的文件切片。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 所述第二頂客戶端從網(wǎng)絡(luò)側(cè)具有所述文件的其他服務(wù)器獲得所述文件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二IM客戶端根據(jù)所述文件索引信息,至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片包括:` 如果所述第一頂客戶端向所述第二頂客戶端傳輸所述文件索引信息時(shí),所述第二頂客戶端處于離線狀態(tài),則待所述第二 IM客戶端上線后,查看所述第一 IM客戶端當(dāng)前是否在線;如果在線,則所述第二 IM客戶端根據(jù)所述文件索引信息至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二IM客戶端根據(jù)所述文件索引信息,至少從所述第一服務(wù)器獲得所述文件切片包括: 所述第二頂客戶端待所述第一服務(wù)器接收到至少一個(gè)完整的所述文件切片后,從所述第一服務(wù)器獲得所述第一服務(wù)器已經(jīng)接收到的所述文件的文件切片。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二IM客戶端根據(jù)所述文件索引信息,至少從所述第一 IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片包括: 所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件不同部分的文件切片。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,所述接收用戶的指示信息,所述指示信息指示第一頂客戶端將文件傳輸給至少一個(gè)第二頂客戶端包括: 接收用戶需要通過即時(shí)通訊工具傳輸文件的第一指示信息; 所述第一指示信息觸發(fā)調(diào)用第一 IM客戶端的信息,為所述用戶提供可作為所述文件接收方的第二頂客戶端的候選信息; 接收所述用戶根據(jù)所述候選信息給出的第二指示信息,所述第二指示信息指示所述用戶選擇的作為所述文件接收方的至少一個(gè)第二 IM客戶端。
8.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,所述接收用戶的指示信息,所述指示信息指示第一頂客戶端將文件傳輸給至少一個(gè)第二頂客戶端包括:通過第一頂客戶端的一入口接收用戶的第三指示信息,所述第三指示信息指示用戶待傳輸?shù)奈募? 接收用戶的第四指示信息,所述第四指示信息指示所述用戶選擇的作為文件接收方的至少一個(gè)第二頂客戶端。
9.一種用于即時(shí)通訊中傳輸文件的裝置,其特征在于,包括: 指示單元,用于接收用戶的指示信息,所述指示信息指示第一即時(shí)通訊頂客戶端將文件傳輸給至少一個(gè)第二 IM客戶端; 切分單元,用于所述第一 IM客戶端將所述文件切分為多個(gè)文件切片,并將所述文件的文件切片陸續(xù)傳輸?shù)降谝环?wù)器; 索引單元,用于所述第一 IM客戶端向所述至少一個(gè)第二 IM客戶端傳輸所述文件的文件索引信息; 第一文件獲得單元,用于所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一IM客戶端和所述第一服務(wù)器獲得所述文件的文件切片。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,當(dāng)所述至少一個(gè)第二頂客戶端為多個(gè)時(shí),還包括: 信息通報(bào)單元,用于所述第二頂客戶端通報(bào)各自對所述文件的文件切片的已接收信息,并獲知其它所述第二頂客戶端對所述文件的文件切片的已接收信息; 第二文件獲得單元,用于所述第二頂客戶端根據(jù)各自獲知的其它第二頂客戶端對所述文件的文件切片的已接收信息,彼此交互各自所需的所述文件的文件切片。`
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 第三文件獲得單元,用于所述第二頂客戶端從網(wǎng)絡(luò)側(cè)具有所述文件的其他服務(wù)器獲得所述文件。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第一文件獲得單元包括: 離線文件獲得子單元,用于如果所述第一頂客戶端向所述第二頂客戶端傳輸所述文件索引信息時(shí),所述第二頂客戶端處于離線狀態(tài),則待所述第二 IM客戶端上線后,查看所述第一 IM客戶端當(dāng)前是否在線;如果在線,則所述第二 IM客戶端根據(jù)所述文件索引信息至少從所述第一頂客戶端和所述服務(wù)器分別獲得所述文件的文件切片。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第一文件獲得單元包括: 服務(wù)器文件獲得子單元,用于所述第二 IM客戶端待所述第一服務(wù)器接收到至少一個(gè)完整的所述文件切片后,從所述第一服務(wù)器獲得所述第一服務(wù)器已接收到的所述文件的文件切片。
14.根據(jù)權(quán)利要求9所述的裝置,其特征在于: 所述第一文件獲得單元,具體用于所述第二頂客戶端根據(jù)所述文件索引信息,至少從所述第一頂客戶端和所述第一服務(wù)器獲得所述文件不同部分的文件切片。
15.根據(jù)權(quán)利要求9至14中任一項(xiàng)所述的裝置,其特征在于,所述指示單元具體包括: 第一指示單元,用于接收用戶需要通過即時(shí)通訊工具傳輸文件的第一指示信息; 觸發(fā)調(diào)用單元,用于在接收到所述第一指示信息時(shí)觸發(fā)調(diào)用第一頂客戶端的信息,為所述用戶提供可作為所述文件接收方的第二頂客戶端的候選信息; 接收方指示單元,用于接收所述用戶根據(jù)所述候選信息給出的第二指示信息,所述第二指示信息指示所述用戶選擇的作為所述文件接收方的至少一個(gè)第二IM客戶端。
16.根據(jù)權(quán)利要求9至14中任一項(xiàng)所述的裝置,其特征在于,所述指示單元具體包括:第三指示單元,用于通過第一頂客戶端的一入口接收用戶的第三指示信息,所述第三指示信息指示用戶待傳輸?shù)奈募? 第四指示單元,用于接收用戶的第四指示信息,所述第四指示信息指示所述用戶選擇的作為文件接收方的至少一個(gè)第二IM客戶端。
【文檔編號】H04L29/06GK103516584SQ201210223910
【公開日】2014年1月15日 申請日期:2012年6月28日 優(yōu)先權(quán)日:2012年6月28日
【發(fā)明者】朱翼鵬, 陳寧一, 胡宇光, 周云峰, 劉偉剛, 劉航 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司