專利名稱:一種多媒體文件共享系統(tǒng)及其共享多媒體文件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及共享技術(shù)領(lǐng)域,尤其涉及的是一種多媒體文件共享系統(tǒng)及其共享多媒 體文件的方法。
背景技術(shù):
多媒體的影音娛樂播放,是消費(fèi)類電子產(chǎn)品的一個最主要功能,長時間以來,消費(fèi) 類電子產(chǎn)品的影音播放功能一直局限在傳統(tǒng)的播放功能上,即使在互聯(lián)網(wǎng)發(fā)達(dá)的今天,實 現(xiàn)的也主要是在線視頻播放之類的應(yīng)用,結(jié)合了互聯(lián)網(wǎng)的媒體播放器/ 一體機(jī)這類電子產(chǎn) 品一直處于技術(shù)換代相對落后的階段。互聯(lián)網(wǎng)的本質(zhì)是開放和共享,而現(xiàn)有技術(shù)的視頻分享,其做法是運(yùn)營商設(shè)置一個 巨大的服務(wù)器空間,用戶A將自己的視頻上傳后,通知用戶B,用戶B再從同樣的地方下載該 視頻,這種做法遲遲未能得到流行,主要的原因在于多媒體文件通常非常巨大,需占用很 大網(wǎng)絡(luò)資源,一上傳一下載非常占用時間,同時服務(wù)器的配置也需很高,且需很大的空間; 到了高清的時代更是如此,而目前的網(wǎng)絡(luò)狀況尚不足以支撐高清視頻的傳輸,如果要完整 地把一個視頻上傳或者下載,需要花費(fèi)很多時間,給用戶造成諸多不便。目前還有國內(nèi)還流行一種BitTorrent (比特流,簡稱BT)的P2P下載方法,用戶在 下載的同時還擔(dān)當(dāng)上傳者的角色,每個用戶在下載文件時還將下載完的文件共享出來。在 這種下載方式下,人越多速度越快。不過在整個P2P下載過程的開始階段,由于下載用戶 少,可共享的資源不足,因此下載的速度依然比較慢。例如,第一個下載的用戶只能從服務(wù) 器或者上傳者處下載目標(biāo)文件,對于頭幾個用戶即使相互共享,但是由于可利用的下載源 少,因此下載并不快。因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種多媒體文件 共享系統(tǒng)及其共享多媒體文件的方法,提供了一種新型的面向虛擬網(wǎng)絡(luò)的多媒體共享方 法,用戶可以在相當(dāng)短的時間內(nèi)完成多媒體文件的上傳和下載,從而輕松地與用戶的社交 圈子的人進(jìn)行媒體共享,為用戶提供了方便;同時降低了服務(wù)器的配置及維護(hù)成本,提高了 網(wǎng)絡(luò)資源的利用率。本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下
一種多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,包括步驟
A、通過使用終端接收用戶輸入的操作指令建立好友列表;
B、在使用終端上建立用于存儲多媒體文件數(shù)據(jù)的專用存儲區(qū);并對需上傳的多媒體文 件進(jìn)行分塊成為多個多媒體文件塊,以及創(chuàng)建針對該多媒體文件分塊后的索引表,并將該 多媒體文件的索引表上傳至服務(wù)器;
C、服務(wù)器接收該多媒體文件的索引表,并控制使用終端將多媒體文件塊預(yù)先發(fā)布到其好友列表上的多個不同的使用終端上,并且每完成一多媒體文件塊的傳輸,服務(wù)器實時監(jiān) 測更新該多媒體文件塊對應(yīng)的索引表上的索引;當(dāng)監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè) 定值時,控制使用終端終止文件塊的發(fā)布;
D、使用終端接收目標(biāo)用戶輸入的下載某多媒體文件的指令,根據(jù)該需下載的多媒體文 件的索引表下載該多媒體文件。所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,所述步驟A具體包括 Al、使用終端通過用戶操作界面接收用戶輸入的用戶登錄信息,并向服務(wù)器發(fā)送該用
戶登錄信息;
A2、當(dāng)所述用戶登錄信息得到服務(wù)器驗證通過后,使用終端通過其提供的添加好友的 界面菜單從所述服務(wù)器獲取好友信息,并將獲取的好友信息加載到本地好友列表中。所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所述步驟B中的 對需上傳的多媒體文件進(jìn)行分塊成為多個多媒體文件塊,以及創(chuàng)建針對該多媒體文件分塊 后的索引表,將該多媒體文件的索引表上傳至服務(wù)器具體包括
Bi、使用終端對需上傳的本地存儲的多媒體文件進(jìn)行分塊,將該多媒體文件從形式上 分成若干多媒體文件塊,并計算出每個多媒體文件塊對應(yīng)的哈希值;
B2、根據(jù)計算出的每個多媒體文件塊對應(yīng)的哈希值,創(chuàng)建相應(yīng)的多媒體文件的索引表, 索引表的索引信息內(nèi)容包括該多媒體文件的每個多媒體文件塊的哈希值,及該多媒體文件 所處的使用終端的IP地址,以及該多媒體文件塊在該使用終端上的存儲位置; B3、使用終端將創(chuàng)建的多媒體文件的索引表上傳至服務(wù)器。所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,所述步驟C具體包括步 驟
Cl、服務(wù)器接收存儲多媒體文件的索引表,并從存儲該多媒體文件的使用終端的好友 列表中查詢用戶的好友信息,以及定位各好友的使用終端,并向存儲該多媒體文件的使用 終端發(fā)送多媒體文件塊發(fā)布指令;
C2、存儲該多媒體文件的使用終端接收服務(wù)器的多媒體文件塊發(fā)布指令,并根據(jù)服務(wù) 器的指令分多次,每次主動與一部分在線的好友的使用終端建立網(wǎng)絡(luò)連接;
C3、使用終端根據(jù)所述多媒體文件的索引表每次選出若干個多媒體文件塊,并將選出 的多媒體文件塊的數(shù)據(jù)發(fā)送給已建立好網(wǎng)絡(luò)連接的好友的使用終端。所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,所述步驟C3還包括若 對方的好友使用終端返回其專用存儲區(qū)的空間不足的信息,則終止向該好友使用終端傳送 文件塊。所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,所述步驟C3還包括每 完成一多媒體文件塊的傳輸,服務(wù)器實時監(jiān)測更新該多媒體文件塊對應(yīng)的索引表上的索 引。所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,所述步驟C3之后還包括 步驟
C4、服務(wù)器通過更新的索引表,監(jiān)測到同樣的多媒體文件塊被發(fā)布到新的使用終端上, 在等待一預(yù)定時間后,向所述新的使用終端發(fā)送多媒體文件塊發(fā)布指令,并返回步驟C2 ; C5、當(dāng)服務(wù)器監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè)定值時,終止文件塊的發(fā)布。
所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其中,所述步驟D具體包括 D1、當(dāng)使用終端接收到目標(biāo)用戶輸入的下載某個多媒體文件的指令時,從服務(wù)器上下
載該多媒體文件對應(yīng)的索引表;
D2、使用終端根據(jù)索引表的索引文件的信息,逐個獲取該多媒體文件的文件塊; D3、當(dāng)某個文件塊存在于多個使用終端上時,同時與該多個使用終端進(jìn)行連接,發(fā)送數(shù) 據(jù)請求,從多個源頭同時下載該多媒體文件數(shù)據(jù)。一種多媒體文件共享系統(tǒng),包括服務(wù)器和若干使用終端,其中,所述服務(wù)器包括用 戶管理模塊、索引管理模塊和傳播管理模塊;
所述用戶管理模塊,用于負(fù)責(zé)好友列表的維護(hù),將使用終端添加的新的好友后信息進(jìn) 行存儲,以及用于提供查詢接口給使用終端查詢好友列表信息;
所述索引管理模塊,用于對多媒體文件的索引表進(jìn)行管理,每完成一多媒體文件塊的 傳輸,實時更新該多媒體文件塊對應(yīng)的索引表上的索引信息;所述索引信息包括多媒體 文件塊的哈希值、使用終端的IP和多媒體文件塊在使用終端上的存儲位置;
所述傳播管理模塊,用于當(dāng)使用終端需上傳多媒體文件時,接收用戶上傳的多媒體文 件的索引表,并控制使用終端分多次將多媒體文件塊預(yù)先發(fā)布到好友的使用終端上;以及 用于當(dāng)監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè)定值時,終止文件塊的發(fā)布;
所述使用終端包括好友信息管理模塊、分塊模塊、文件塊上傳模塊、文件塊下載模塊和 專用區(qū)域管理模塊;
所述好友信息管理模塊,用于接收用戶的操作進(jìn)行用戶注冊以及好友查詢、添加、刪除 的管理;
所述分塊模塊,用于對需上傳的多媒體文件進(jìn)行分塊,將該多媒體文件從形式上分成 若干個多媒體文件塊,并計算出每個多媒體文件塊對應(yīng)的哈希值,以及創(chuàng)建針對該多媒體 文件分塊后的索引表,并將該索引表上傳至服務(wù)器;
所述文件塊上傳模塊,用于接收服務(wù)器的多媒體文件塊發(fā)布指令,將對應(yīng)的多媒體文 件塊發(fā)送給由服務(wù)器端選定的好友的使用終端;
所述文件塊下載模塊,用于接收下載指令下載多媒體文件的文件塊,并將下載的文件 塊存入專用存儲區(qū)中;
所述專用區(qū)域管理模塊,用于建立存儲多媒體文件數(shù)據(jù)的專用存儲區(qū)以及對該專用存 儲區(qū)進(jìn)行管理。所述的多媒體文件共享系統(tǒng),其中,所述傳播管理模塊進(jìn)一步包括 接收單元,用于接收存儲多媒體文件的索引表;
定位單元,用于從使用終端的好友列表中查詢用戶的好友信息,定位各好友的使用終
端;
指令發(fā)送單元,用于向各好友的使用終端發(fā)送多媒體文件塊發(fā)布指令; 控制單元,用于控制存儲該多媒體文件的使用終端,根據(jù)服務(wù)器的多媒體文件塊發(fā)布 指令,主動與在線的好友的使用終端建立網(wǎng)絡(luò)連接;并根據(jù)多媒體文件的索引表每次選出 若干多媒體文件塊,并將選出的多媒體文件塊的數(shù)據(jù)發(fā)送給已建立好網(wǎng)絡(luò)連接的好友的使 用終端。本發(fā)明所提供的多媒體文件共享系統(tǒng)及其共享多媒體文件的方法,由于采用了服務(wù)器控制使用終端以類似于病毒傳播的方式將多媒體的文件塊預(yù)先發(fā)布到多個不同的使 用終端上,并且服務(wù)器實時監(jiān)測該多媒體文件對應(yīng)的索引表,控制多媒體文件塊發(fā)布的程 度。當(dāng)監(jiān)測到文件塊的分布范圍達(dá)到設(shè)定值時,控制使用終端終止文件塊的發(fā)布,此時各文 件塊已經(jīng)預(yù)先布置到一定范圍內(nèi),后續(xù)用戶可以在短時間內(nèi)完成多媒體文件的下載。使得 用戶在操作使用終端時,不再僅僅是傳統(tǒng)的播放操作,而且還能通過使用終端與朋友,家人 進(jìn)行視頻的分享操作。通過本發(fā)明的一種新型的面向虛擬網(wǎng)絡(luò)的多媒體共享方法,用戶可 以在相當(dāng)短的時間內(nèi)完成多媒體文件的上傳和下載,從而輕松地與用戶的社交圈子的人進(jìn) 行媒體共享,使使用終端增加了互聯(lián)網(wǎng)社交共享的新功能。另外,降低了服務(wù)器的配置及維護(hù)成本,運(yùn)營商需要維護(hù)的服務(wù)器資源不會很多, 因為服務(wù)器主要是維護(hù)用戶的好友列表,索引文件;通過直接使用用戶設(shè)備的使用終端中 那塊專門劃出來的專用存儲區(qū),虛擬組成一個巨大的云存儲設(shè)備,而且用戶量越大,整體的 服務(wù)質(zhì)量將會越高,提高了網(wǎng)絡(luò)資源的利用率,為用戶提供了方便。
圖1是本發(fā)明實施列的多媒體文件共享系統(tǒng)連接原理圖。圖2是本發(fā)明實施例的使用終端內(nèi)部原理框圖。圖3是本發(fā)明實施例的多媒體文件共享系統(tǒng)共享多媒體文件的方法流程圖。圖4是本發(fā)明實施例多媒體文件共享系統(tǒng)的服務(wù)器的傳播管理模塊內(nèi)部框圖。
具體實施例方式本發(fā)明所提供的一種多媒體文件共享系統(tǒng)及其共享多媒體文件的方法,為使本發(fā) 明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進(jìn)一步詳細(xì) 說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例所提供的一種多媒體文件共享系統(tǒng),如圖1所示,包括服務(wù)器和若 干使用終端(如圖1所示的使用終端A、使用終端B、使用終端C···),其中,所述服務(wù)器包括用 戶管理模塊、索引管理模塊和傳播管理模塊,另外還設(shè)置用于存儲用戶信息的好友列表、及 用于存儲多媒體文件的索引文件。所述使用終端可以是個人計算機(jī)、掌上電腦、手機(jī)等智能 設(shè)備,也可以是以影音娛樂為主要目的的消費(fèi)類電子設(shè)備,例如播放器、游戲機(jī)以及一體機(jī) 等,在每一使用終端上建立有用于存儲多媒體文件的專用存儲區(qū)。所述用戶管理模塊,一方面用于負(fù)責(zé)好友列表的維護(hù),以及將使用終端添加的新 的好友信息進(jìn)行存儲,另一方面用于提供查詢接口給使用終端查詢好友列表信息;譬如、當(dāng) 用戶通過UI界面添加了新的好友后,該用戶管理模塊將好友信息存儲起來,當(dāng)其他軟件模 塊需要查詢好友列表信息時,也是由該模塊提供查詢的API接口,用戶的好友信息是直接 維護(hù)在服務(wù)器端而非客戶端。所述索引管理模塊,一方面用于對多媒體文件的索引表進(jìn)行管理,每完成一多媒 體文件塊的傳輸,實時監(jiān)測更新該多媒體文件塊對應(yīng)的索引表上的索引信息;索引表的索 引信息的更新包括對多媒體文件塊的哈希值、使用終端的IP和多媒體文件塊在使用終端 上的具體存儲位置的更新。其中,索引管理模塊是核心模塊,在本發(fā)明中,每個多媒體文件對應(yīng)一張單獨(dú)的索引表存儲在服務(wù)器的索引文件中,索引管理模塊就是對索引文件中的索引表進(jìn)行操作管理 的模塊。每當(dāng)使用終端完成了一個完整的多媒體文件塊下載后,使用終端就會發(fā)送一條索 引更新消息給索引管理模塊,索引更新消息將包含以下幾個關(guān)鍵字段內(nèi)容多媒體文件塊 的哈希值(哈希算法將任意長度的二進(jìn)制值映射為固定長度的較小二進(jìn)制值,這個小的二 進(jìn)制值稱為哈希值),使用終端的IP,多媒體文件塊在使用終端上的具體存儲位置。索引管理模塊在收到消息后,更新該多媒體視頻文件對應(yīng)的索引文件,通過這種 方式,當(dāng)多媒體文件塊開始通過網(wǎng)絡(luò)傳播開來后,每在一個使用終端上下載成功,就會在索 引文件中增加一項對應(yīng)的記錄,以這種方式,索引文件實時維護(hù)互聯(lián)網(wǎng)上全局的文件塊分 布,這也是傳播管理模塊做決策判斷的數(shù)據(jù)基礎(chǔ)。所述傳播管理模塊一方面用于當(dāng)使用終端需上傳多媒體文件時,接收用戶上傳的 多媒體文件的索引表,并控制使用終端以類似于病毒傳播的方式分多次將多媒體文件塊預(yù) 先發(fā)布到其好友列表上的多個不同的使用終端上;另一方面用于當(dāng)監(jiān)測到多媒體文件塊的 發(fā)布范圍達(dá)到設(shè)定值時,控制使用終端終止文件塊的發(fā)布。本發(fā)明實施例服務(wù)器的傳播管理模塊是整個方案中的決策模塊,主要承擔(dān)兩件工 作調(diào)度多媒體文件塊的傳播,以及在合適的時間點(diǎn)控制多媒體文件塊的過度傳播。譬如、傳播管理模塊首先通過用戶管理模塊,從好友列表中查詢到用戶的好友信 息,定位這些好友的使用終端,隨后發(fā)指令給需要上傳多媒體文件的使用終端進(jìn)行文件的 發(fā)布;用戶使用終端收到指令后,與在線的活躍好友的使用終端首先建立起網(wǎng)絡(luò)連接,隨后 隨機(jī)從之前建立好的多媒體文件索引表中選出若干多媒體文件塊,將這些選出的多媒體文 件塊的數(shù)據(jù)發(fā)送給同樣是被隨機(jī)挑選出來的好友的使用終端,所有的這些操作都是在后臺 進(jìn)行,由于文件塊本身的數(shù)據(jù)量并不大,所以整個的數(shù)據(jù)傳輸不會對用戶的其他操作產(chǎn)生 影響。當(dāng)多媒體文件塊傳播完畢,索引被更新后,服務(wù)器中的傳播管理模塊通過查詢索 引文件中索引表的索引信息,會意識到此時同樣的多媒體文件塊被發(fā)布到了不同的設(shè)備 上,傳播管理模塊可以在隔了一段時間后(這樣做的目的是減輕設(shè)備負(fù)擔(dān),避免過于頻繁的 數(shù)據(jù)傳輸操作),向新的好友的使用終端發(fā)送多媒體文件塊發(fā)布指令,該新的好友的使用終 端搜索自己的好友列表,再次重復(fù)前述的操作流程。傳播管理模塊的另外一項重要功能是控制傳播,當(dāng)傳播管理模塊監(jiān)測到在某個多 媒體文件的索引表中擁有該多媒體文件的文件塊的使用終端達(dá)到一預(yù)定數(shù)量的時候(例 如500或者1000),停止該多媒體文件的傳播,即不再向使用終端發(fā)送發(fā)布該多媒體文件 相關(guān)文件塊的指令。通常來說,當(dāng)同時在線且擁有多媒體文件的文件塊的使用終端達(dá)到 500-1000個時就足以提供良好的上傳和下載服務(wù)。具體地,傳播管理模塊設(shè)置一個用于終止多媒體文件傳播的傳播參數(shù),當(dāng)擁有某 多媒體文件的文件塊的使用終端達(dá)到傳播參數(shù)設(shè)定的數(shù)量時終止該多媒體文件的傳播。由 于用戶數(shù)量的規(guī)模對多媒體文件的傳播存在較大的影響,一個只有1萬左右用戶的使用終 端網(wǎng)絡(luò)與一個擁有100萬左右用戶的使用終端網(wǎng)絡(luò)之間的差異是很大的,因此,該傳播參 數(shù)可以根據(jù)網(wǎng)絡(luò)規(guī)模動態(tài)地調(diào)整,網(wǎng)絡(luò)規(guī)模較大時,該傳播參數(shù)可以相應(yīng)設(shè)定得大一些,以 便使傳播擴(kuò)散得更快。
如圖2所示,所述使用終端包括好友信息管理模塊、分塊模塊、專用區(qū)域管理模 塊、文件塊上傳模塊和文件塊下載模塊。其中、所述好友信息管理模塊用于接收用戶的操作進(jìn)行用戶注冊以及好友查詢、 添加、刪除的管理;譬如通過好友信息管理模塊進(jìn)行用戶注冊以及好友查詢、添加、刪除等。分塊模塊用于對需上傳的多媒體文件按固定大小的分塊方式進(jìn)行分塊,將該多媒 體文件從形式上分成若干大小相同的多媒體文件塊,并計算出每個多媒體文件塊對應(yīng)的哈 希值,以及創(chuàng)建針對該多媒體文件分塊后的索引表,并將該索引表上傳至服務(wù)器;譬如對于 上傳文件的場景,分塊模塊對被上傳的文件按固定大小的分塊方式進(jìn)行一次切割(并不需 要實際上的切割分塊),并對每個文件塊計算出對應(yīng)的哈希值,然后構(gòu)建出一張初始的索引 表,并且將該索引表上傳給服務(wù)器的索引管理模塊。在另一實施例中,分塊模塊還可以采用 按比例的分塊方式、或者按照其他相關(guān)算法的分塊方式對需上傳的多媒體文件進(jìn)行分塊。專用區(qū)域管理模塊用于建立存儲多媒體文件數(shù)據(jù)的專用存儲區(qū)以及對該專用存 儲區(qū)進(jìn)行管理,如圖1和圖2所示。譬如、通過專用區(qū)域管理模塊建立專門的存儲區(qū)域即專 用存儲區(qū),并對該專用存儲區(qū)進(jìn)行管理,例如檢測專用區(qū)域剩余空間的大小、刪除文件塊以 及合并文件塊等。文件塊上傳模塊用于接收服務(wù)器的多媒體文件塊發(fā)布指令,將對應(yīng)的多媒體文件 塊發(fā)送給多個由服務(wù)器端選定的好友的使用終端;通過文件塊上傳模塊將若干多媒體文件 塊發(fā)送給多個由服務(wù)器端選定的好友的使用終端上。文件塊下載模塊用于接收下載指令下載多媒體文件的文件塊,并將下載的文件塊 存入專用存儲區(qū)中;
譬如、對于自動下載文件塊的場景,接收來自傳播管理模塊的下載指令后,通過文件塊 下載模塊下載相應(yīng)的多媒體文件塊,并且將其存入專門劃出的專用存儲區(qū)中;
再比如、對于通過使用終端下載整個多媒體文件的場景,接收用戶下載多媒體視頻文 件的指令后,然后通過多媒體文件塊下載模塊以P2P的方式下載視頻文件的所有文件塊, 并組合成一個多媒體視頻文件?;谏鲜鰧嵤├亩嗝襟w文件共享系統(tǒng),本發(fā)明實施例還提供了一種多媒體文件 共享系統(tǒng)共享多媒體文件的方法,如圖3所示,所述方法主要包括以下步驟
步驟S100、通過使用終端接收用戶輸入的操作指令建立好友列表。其中,該步驟SlOO在實施時具體包括:Al、使用終端通過用戶操作界面接收用戶 輸入的用戶登錄信息,并向服務(wù)器發(fā)送該用戶登錄信息;A2、當(dāng)所述用戶登錄信息得到服務(wù) 器驗證通過后,使用終端通過其提供的添加好友的界面菜單從所述服務(wù)器獲取好友信息, 并將獲取的好友信息加載到本地好友列表中。譬如、首先用戶在第一次使用本發(fā)明的使用終端時,通過一個簡單的用戶操作界 面(UI)輸入自己的名稱進(jìn)行注冊,該界面程序會將用戶的注冊信息上傳到網(wǎng)絡(luò)的運(yùn)營商服 務(wù)器中進(jìn)行驗證。當(dāng)驗證通過后可以進(jìn)行正常登錄,用戶登錄后可以通過一個專門的查詢界面,從 該服務(wù)器上查詢其好友的信息,并且加入到本地的好友列表中,好友列表直接通過名稱標(biāo) 識。好友對用戶顯示的是名稱,與該名稱相關(guān)聯(lián)的是用戶的IP地址,只是該IP地址對用戶 而言是不可見的,對于軟件而言是唯一標(biāo)識用戶的ID。
10
步驟S200、在使用終端上建立用于存儲多媒體文件數(shù)據(jù)的專用存儲區(qū);并對需上 傳的多媒體文件進(jìn)行分塊成為多個多媒體文件塊,以及創(chuàng)建針對該多媒體文件分塊后的索 引表,并將該多媒體文件的索引表上傳至服務(wù)器。譬如,在本發(fā)明實施例中,用戶的使用終端可以不斷添加新的好友信息進(jìn)入這個 好友列表中,每次開機(jī)或者關(guān)機(jī)時,使用終端會實時向服務(wù)器更新自身的最新上下線狀態(tài), 同時查詢好友列表中各位好友的最新狀態(tài)。當(dāng)前使用終端基本都已經(jīng)內(nèi)置了硬盤等存儲設(shè)備,需要把硬盤劃出一塊專門的專 用存儲區(qū),用來存儲多媒體等數(shù)據(jù)所用,理論上該專用存儲區(qū)越大越好。當(dāng)同時在線的使用終端數(shù)量足夠大時,這些被專門劃分出來的使用終端專用存儲 區(qū),就通過網(wǎng)絡(luò)組織成了一個巨大的虛擬硬盤空間,如圖1如示的虛擬存儲空間。其中,該步驟S200中的對需上傳的多媒體文件進(jìn)行分塊成為多個多媒體文件塊, 以及創(chuàng)建針對該多媒體文件分塊后的索引表,將該多媒體文件的索引表上傳至服務(wù)器在具 體實施時包括以下步驟
Bi、使用終端對需上傳的本地存儲的多媒體文件按固定大小的分塊方式進(jìn)行分塊,將 該多媒體文件從形式上分成若干大小相同的多媒體文件塊,并計算出每個多媒體文件塊對 應(yīng)的哈希值;
B2、根據(jù)計算出的每個多媒體文件塊對應(yīng)的哈希值,創(chuàng)建相應(yīng)的多媒體文件的索引表, 索引表的索引信息內(nèi)容包括該多媒體文件的每個多媒體文件塊的哈希值,及該多媒體文件 所處的使用終端的IP地址,以及該多媒體文件塊在該使用終端上的存儲位置; B3、使用終端將創(chuàng)建的多媒體文件的索引表上傳至服務(wù)器。例如當(dāng)用戶需要進(jìn)行多媒體文件(如視頻文件)的上傳時,本發(fā)明實施例其實已經(jīng) 不再是將整個視頻文件上傳,而是首先利用分塊模塊對本地視頻文件按固定大小的分塊方 式進(jìn)行一次切割(并不需要實際上的切割分塊),將其形式上分成若干大小相同的多媒體文 件塊,并對每個多媒體文件塊計算出其對應(yīng)的哈希值,然后構(gòu)建出一張針對該視頻文件的 索引表,索引表的索引信息內(nèi)容是該多媒體文件的每個塊的哈希值,該塊所處的使用終端 的IP地址,以及該塊在該使用終端設(shè)備上的存儲位置。在初始情況下,該索引表中的內(nèi)容,尤其是IP地址和存儲位置,全部都是位于本 地使用終端上的信息,當(dāng)該索引表被上傳到服務(wù)器上后,上傳過程就宣告結(jié)束,操作可以直 接返回給用戶控制,以這種操作方式,整個上傳過程可以在非常短的時間內(nèi)結(jié)束,因為上傳 給服務(wù)器的只是該視頻文件的索引表,而不是視頻文件本身。這樣可以有效地降低服務(wù)器 的配置及維護(hù)成本。步驟S300、服務(wù)器接收該多媒體文件的索引表,并控制該使用終端以類似于病毒 傳播的方式將多媒體文件塊預(yù)先發(fā)布到其好友列表上的多個不同的使用終端上,并且每完 成一多媒體文件塊的傳輸,服務(wù)器實時監(jiān)測更新該多媒體文件塊對應(yīng)的索引表上的索引; 當(dāng)監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè)定值時,控制使用終端終止文件塊的發(fā)布;
該步驟S300在具體實施時包括
Cl、服務(wù)器接收并存儲多媒體文件的索引表,服務(wù)器收到索引表后,會從存儲該多媒體 文件的使用終端的好友列表中查詢用戶的好友信息,并定位這些好友的使用終端,隨后向 存儲該多媒體文件的使用終端發(fā)送多媒體文件塊發(fā)布指令,通知該使用終端可以進(jìn)行多媒體文件的發(fā)布,進(jìn)入步驟C2。C2、存儲該多媒體文件的使用終端接收服務(wù)器的多媒體文件塊發(fā)布指令后,根據(jù) 服務(wù)器的指令分多次,每次主動與一部分在線的好友的使用終端建立網(wǎng)絡(luò)連接;
C3、使用終端根據(jù)所述多媒體文件的索引表每次選出若干多媒體文件塊,并將選出的 多媒體文件塊的數(shù)據(jù)發(fā)送給已建立好網(wǎng)絡(luò)連接的好友的使用終端。本實施例中服務(wù)器收到索引后,會根據(jù)用戶使用終端中的好友列表,定位這些好 友的使用終端,隨后發(fā)指令給存儲該多媒體文件的使用終端以進(jìn)行文件的發(fā)布。用戶使用終端收到服務(wù)器的指令后,主動與在線的活躍的好友使用終端首先建立 起網(wǎng)絡(luò)連接,每次從之前建立好的文件索引表中選出若干多媒體文件塊,將這些多媒體文 件塊的數(shù)據(jù)發(fā)送給同樣是被服務(wù)器挑選出來的好友使用終端。具體地,服務(wù)器控制上傳文 件的使用終端分m次每次選出1/m的多媒體文件塊,通過文件塊上傳模塊發(fā)送給l/η的好 友的使用終端,該使用終端為在線狀態(tài)。這里的m和η例如都可以為10,這表示每次挑出 10%的文件塊發(fā)送給10%的好友,挑選時排除掉已經(jīng)被挑選過的文件塊和好友,該用戶使用 終端通過上述方式將全部多媒體文件塊逐漸發(fā)送給不同好友的使用終端。根據(jù)系統(tǒng)設(shè)定的 相關(guān)共享協(xié)議,所有的這些操作都是在后臺進(jìn)行,由于分塊后的多媒體文件塊本身的數(shù)據(jù) 量并不大,所以整個的數(shù)據(jù)傳輸不會對用戶的其他操作產(chǎn)生影響。當(dāng)好友不足時,文件塊的 傳播中止,直到有新的好友加入,此時傳播會重新啟動直至終止。以這種方式,用戶的使用終端在連線狀態(tài)下,同時與好友列表中的數(shù)個使用終端 建立網(wǎng)絡(luò)連接,并且傳輸特定的多媒體文件塊數(shù)據(jù),好友的使用終端的收到的多媒體文件 塊數(shù)據(jù)后就存儲在預(yù)先在硬盤上被劃出的那個專用存儲區(qū)上。每完成一多媒體文件塊的傳輸,服務(wù)器實時監(jiān)測更新該多媒體文件塊對應(yīng)的索引 表上的索引。即當(dāng)一個完整的多媒體文件塊完成傳輸后,立刻更新服務(wù)器上索引文件上相 應(yīng)的索引表,對于該多媒體文件塊,此時同樣的哈希值將對應(yīng)多個不同的IP值和多個不同 的存儲位置。當(dāng)索引被更新后,服務(wù)器通過索引管理模塊對索引表的監(jiān)測意識到此時同樣的多 媒體文件塊被發(fā)布到了多個不同的使用終端設(shè)備上,服務(wù)器可以在隔了一段時間后,同時 向新的好友的使用終端發(fā)送多媒體文件塊發(fā)布指令,該新的好友的使用終端會搜索自己的 好友列表,將其收到的多媒體文件塊再次發(fā)送給自己的l/η的好友的使用終端上。以本發(fā)明的通過服務(wù)器控制使用終端以類似于病毒傳播的方式將多媒體文件塊 預(yù)先發(fā)布到其好友列表上的多個不同的使用終端上的方式,多媒體文件塊可以在后臺迅速 地以好友,好友的好友,好友的好友的好友這種方式,傳播開來,同樣的一個多媒體文件塊 可以自動地被發(fā)布到多個使用終端設(shè)備中,根據(jù)好友列表進(jìn)行類似于病毒式的傳播,并且 每次傳播,都將更新一次服務(wù)器上該文件對應(yīng)的索引表。此時,若對方回報其專用存儲區(qū)的 空間不足,則終止往這個好友的使用終端上傳送文件塊。同時,本發(fā)明實施中服務(wù)器實時維護(hù)及分析索引表,當(dāng)已經(jīng)有足夠多用戶的使用 終端分布了某個多媒體文件的足夠的文件塊時,服務(wù)器就可以終止上述傳播。具體地,服務(wù) 器實時監(jiān)測及分析索引表,當(dāng)某個視頻文件的文件塊存放在500個使用終端的時候,由于 此數(shù)量已足以提供良好的下載服務(wù),服務(wù)器不再發(fā)送發(fā)布該視頻文件的指令給相應(yīng)的使用 終端,從而終止傳播。
步驟S400、使用終端接收目標(biāo)用戶輸入的下載某多媒體文件的指令,根據(jù)該需下 載的多媒體文件的索引表采用P2P方式下載播放該多媒體文件。其中,該目標(biāo)用戶是指期望播放或者直接下載某個多媒體文件的用戶,其通過使 用終端上相應(yīng)的軟件程序界面執(zhí)行用戶的操作,此處的多媒體文件是指在服務(wù)器中已經(jīng)存 有索引表的多媒體文件,用戶可以通過上述軟件程序界面獲知哪些多媒體文件(具體是指 該多媒體文件的索引表)已經(jīng)被其他使用終端上傳到服務(wù)器中供用戶下載。該步驟S400在 具體實施例包括
D1、當(dāng)目標(biāo)用戶需要播放或者下載某個多媒體文件時,從服務(wù)器上下載該多媒體文件 對應(yīng)的索引表;
D2、使用終端根據(jù)索引表的索引文件的信息,逐個獲取該多媒體文件的文件塊; D3、當(dāng)某個文件塊存在于多個使用終端上時,同時與該多個使用終端進(jìn)行連接,發(fā)送數(shù) 據(jù)請求,從多個源頭同時下載該多媒體文件數(shù)據(jù)。譬如、當(dāng)目標(biāo)用戶要播放或者直接下載某個視頻文件時,直接從服務(wù)器上下載該 視頻文件對應(yīng)的索引,用戶使用終端根據(jù)索引文件的信息,通過文件塊下載模塊逐個對各 文件塊進(jìn)行下載獲取,此時,若此視頻文件已經(jīng)過預(yù)先傳播,則同一個文件塊不但存在于原 上傳者的使用終端上,而且存在于其他被傳播過的使用終端上。當(dāng)某個文件塊存在于多個 使用終端上時,目標(biāo)用戶的使用終端同時與這多個使用終端進(jìn)行連接,發(fā)送數(shù)據(jù)請求,以這 種方式,傳統(tǒng)的一次只能從一個源頭下載數(shù)據(jù)的模式,變?yōu)橐淮慰梢詮亩鄠€源頭同時下載 數(shù)據(jù),整個下載的速率將可以提高數(shù)倍,無論是下載還是播放,整個速度都可以大大加強(qiáng)?;谏鲜鰧嵤├景l(fā)明所述的多媒體文件共享系統(tǒng),如圖4所示,其傳播管理模 塊具體包括
接收單元,用于接收存儲多媒體文件的索引表;具體如上所述。定位單元,用于從使用終端的好友列表中查詢用戶的好友信息,定位各好友的使 用終端的位置等;具體如上所述。指令發(fā)送單元,用于向各好友的使用終端發(fā)送多媒體文件塊發(fā)布指令;具體如上 所述??刂茊卧糜诳刂拼鎯υ摱嗝襟w文件的使用終端,根據(jù)服務(wù)器的多媒體文件塊 發(fā)布指令,主動與在線的好友的使用終端建立網(wǎng)絡(luò)連接;并根據(jù)所述多媒體文件的索引表 隨機(jī)選出若干多媒體文件塊,并將隨機(jī)選出的多媒體文件塊的數(shù)據(jù)發(fā)送給已建立好網(wǎng)絡(luò)連 接的好友的使用終端,具體如上所述。綜上所述,本發(fā)明所提供的多媒體文件共享系統(tǒng)及其共享多媒體文件的方法,由 于采用了服務(wù)器控制使用終端以類似于病毒傳播的方式將多媒體的文件塊預(yù)先發(fā)布到多 個不同的使用終端上,并且服務(wù)器實時監(jiān)測各多媒體文件對應(yīng)的索引表,控制多媒體文件 塊發(fā)布的程度。當(dāng)監(jiān)測到文件塊的分布范圍達(dá)到設(shè)定值時,控制使用終端終止文件塊的發(fā) 布,此時各文件塊已經(jīng)預(yù)先布置到一定范圍內(nèi),后續(xù)用戶可以在短時間內(nèi)完成多媒體文件 的下載,由于開始階段就存在多個下載源,因此用戶可以進(jìn)行快速的下載。使得用戶在操 作使用終端時,不再僅僅是傳統(tǒng)的播放操作,而且還能通過使用終端與朋友,家人進(jìn)行視頻 的分享操作。通過本發(fā)明的一種新型的面向虛擬網(wǎng)絡(luò)的多媒體共享方法,用戶可以在相當(dāng) 短的時間內(nèi)完成多媒體文件的上傳和下載,從而輕松地與用戶的社交圈子的人進(jìn)行媒體共享,使使用終端增加了互聯(lián)網(wǎng)社交共享的新功能。另外,降低了服務(wù)器的配置及維護(hù)成本,運(yùn)營商需要維護(hù)的服務(wù)器資源不會很多, 因為服務(wù)器主要是維護(hù)用戶的好友列表,索引文件;通過直接使用用戶設(shè)備的使用終端中 那塊專門劃出來的專用存儲區(qū),虛擬組成一個巨大的云存儲設(shè)備,而且用戶量越大,整體的 服務(wù)質(zhì)量將會越高,提高了網(wǎng)絡(luò)資源的利用率,為用戶提供了方便。應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可 以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保 護(hù)范圍。
權(quán)利要求
1.一種多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,包括步驟A、通過使用終端接收用戶輸入的操作指令建立好友列表;B、在使用終端上建立用于存儲多媒體文件數(shù)據(jù)的專用存儲區(qū),并對需上傳的多媒體文 件進(jìn)行分塊成為多個多媒體文件塊,以及創(chuàng)建針對該多媒體文件分塊后的索引表,并將該 多媒體文件的索引表上傳至服務(wù)器;C、服務(wù)器接收該多媒體文件的索引表,并控制使用終端將多媒體文件塊預(yù)先發(fā)布到其 好友列表上的多個不同的使用終端上,并且每完成一多媒體文件塊的傳輸,服務(wù)器實時監(jiān) 測更新該多媒體文件塊對應(yīng)的索引表上的索引;當(dāng)監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè) 定值時,控制使用終端終止文件塊的發(fā)布;D、使用終端接收目標(biāo)用戶輸入的下載某多媒體文件的指令,根據(jù)該需下載的多媒體文 件的索引表下載該多媒體文件。
2.根據(jù)權(quán)利要求1所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所 述步驟A具體包括Al、使用終端通過用戶操作界面接收用戶輸入的用戶登錄信息,并向服務(wù)器發(fā)送該用 戶登錄信息;A2、當(dāng)所述用戶登錄信息得到服務(wù)器驗證通過后,使用終端通過其提供的添加好友的 界面菜單從所述服務(wù)器獲取好友信息,并將獲取的好友信息加載到本地好友列表中。
3.根據(jù)權(quán)利要求1所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所 述步驟B中的對需上傳的多媒體文件進(jìn)行分塊成為多個多媒體文件塊,以及創(chuàng)建針對該多 媒體文件分塊后的索引表,將該多媒體文件的索引表上傳至服務(wù)器具體包括Bi、使用終端對需上傳的本地存儲的多媒體文件進(jìn)行分塊,將該多媒體文件從形式上 分成若干多媒體文件塊,并計算出每個多媒體文件塊對應(yīng)的哈希值;B2、根據(jù)計算出的每個多媒體文件塊對應(yīng)的哈希值,創(chuàng)建相應(yīng)的多媒體文件的索引表, 索引表的索引信息內(nèi)容包括該多媒體文件的每個多媒體文件塊的哈希值,及該多媒體文件 所處的使用終端的IP地址,以及該多媒體文件塊在該使用終端上的存儲位置;B3、使用終端將創(chuàng)建的多媒體文件的索引表上傳至服務(wù)器。
4.根據(jù)權(quán)利要求1所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所 述步驟C具體包括步驟Cl、服務(wù)器接收存儲多媒體文件的索引表,并從存儲該多媒體文件的使用終端的好友 列表中查詢用戶的好友信息,以及定位各好友的使用終端,并向存儲該多媒體文件的使用 終端發(fā)送多媒體文件塊發(fā)布指令;C2、存儲該多媒體文件的使用終端接收服務(wù)器的多媒體文件塊發(fā)布指令,并根據(jù)服務(wù) 器的指令分多次,每次主動與一部分在線的好友的使用終端建立網(wǎng)絡(luò)連接;C3、使用終端根據(jù)所述多媒體文件的索引表每次選出若干個多媒體文件塊,并將選出 的多媒體文件塊的數(shù)據(jù)發(fā)送給已建立好網(wǎng)絡(luò)連接的好友的使用終端。
5.根據(jù)權(quán)利要求4所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所 述步驟C3還包括若對方的好友使用終端返回其專用存儲區(qū)的空間不足的信息,則終止向 該好友使用終端傳送文件塊。
6.根據(jù)權(quán)利要求4所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所述步驟C3還包括每完成一多媒體文件塊的傳輸,服務(wù)器實時監(jiān)測更新該多媒體文件塊對 應(yīng)的索引表上的索引。
7.根據(jù)權(quán)利要求6所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所 述步驟C3之后還包括步驟C4、服務(wù)器通過更新的索引表,監(jiān)測到同樣的多媒體文件塊被發(fā)布到新的使用終端上, 在等待一預(yù)定時間后,向所述新的使用終端發(fā)送多媒體文件塊發(fā)布指令,并返回步驟C2 ; C5、當(dāng)服務(wù)器監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè)定值時,終止文件塊的發(fā)布。
8.根據(jù)權(quán)利要求1所述多媒體文件共享系統(tǒng)共享多媒體文件的方法,其特征在于,所 述步驟D具體包括D1、當(dāng)使用終端接收到目標(biāo)用戶輸入的下載某個多媒體文件的指令時,從服務(wù)器上下 載該多媒體文件對應(yīng)的索引表;D2、使用終端根據(jù)索引表的索引文件的信息,逐個獲取該多媒體文件的文件塊; D3、當(dāng)某個文件塊存在于多個使用終端上時,同時與該多個使用終端進(jìn)行連接,發(fā)送數(shù) 據(jù)請求,從多個源頭同時下載該多媒體文件數(shù)據(jù)。
9.一種多媒體文件共享系統(tǒng),包括服務(wù)器和若干使用終端,其特征在于,所述服務(wù)器包 括用戶管理模塊、索引管理模塊和傳播管理模塊;所述用戶管理模塊,用于負(fù)責(zé)好友列表的維護(hù),將使用終端添加的新的好友后信息進(jìn) 行存儲,以及用于提供查詢接口給使用終端查詢好友列表信息;所述索引管理模塊,用于對多媒體文件的索引表進(jìn)行管理,每完成一多媒體文件塊的 傳輸,實時更新該多媒體文件塊對應(yīng)的索引表上的索引信息;所述索引信息包括多媒體 文件塊的哈希值、使用終端的IP和多媒體文件塊在使用終端上的存儲位置;所述傳播管理模塊,用于當(dāng)使用終端需上傳多媒體文件時,接收用戶上傳的多媒體文 件的索引表,并控制使用終端分多次將多媒體文件塊預(yù)先發(fā)布到其好友的使用終端上;以 及用于當(dāng)監(jiān)測到多媒體文件塊的發(fā)布范圍達(dá)到設(shè)定值時,終止文件塊的發(fā)布;所述使用終端包括好友信息管理模塊、分塊模塊、文件塊上傳模塊、文件塊下載模塊和 專用區(qū)域管理模塊;所述好友信息管理模塊,用于接收用戶的操作進(jìn)行用戶注冊以及好友查詢、添加、刪除 的管理;所述分塊模塊,用于對需上傳的多媒體文件進(jìn)行分塊,將該多媒體文件從形式上分成 若干多媒體文件塊,并計算出每個多媒體文件塊對應(yīng)的哈希值,以及創(chuàng)建針對該多媒體文 件分塊后的索引表,并將該索引表上傳至服務(wù)器;所述文件塊上傳模塊,用于接收服務(wù)器的多媒體文件塊發(fā)布指令,將對應(yīng)的多媒體文 件塊發(fā)送給由服務(wù)器端選定的好友的使用終端;所述文件塊下載模塊,用于接收下載指令下載多媒體文件的文件塊,并將下載的文件 塊存入專用存儲區(qū)中;所述專用區(qū)域管理模塊,用于建立存儲多媒體文件數(shù)據(jù)的專用存儲區(qū)以及對該專用存 儲區(qū)進(jìn)行管理。
10.根據(jù)權(quán)利要求9所述的多媒體文件共享系統(tǒng),其特征在于,所述傳播管理模塊進(jìn)一步包括接收單元,用于接收存儲多媒體文件的索引表;定位單元,用于從使用終端的好友列表中查詢用戶的好友信息,定位各好友的使用終端;指令發(fā)送單元,用于向各使用終端發(fā)送多媒體文件塊發(fā)布指令; 控制單元,用于控制存儲該多媒體文件的使用終端,根據(jù)服務(wù)器的多媒體文件塊發(fā)布 指令,主動與在線的好友的使用終端建立網(wǎng)絡(luò)連接;并根據(jù)多媒體文件的索引表每次選出 若干個多媒體文件塊,并將選出的多媒體文件塊的數(shù)據(jù)發(fā)送給已建立好網(wǎng)絡(luò)連接的好友的 使用終端。
全文摘要
本發(fā)明涉及共享技術(shù)領(lǐng)域,公開了一種多媒體文件共享系統(tǒng)及其共享多媒體文件的方法使用終端建立專用存儲區(qū);將多媒體文件的索引表上傳至服務(wù)器;服務(wù)器接收索引表并指令使用終端將文件塊發(fā)送給關(guān)聯(lián)的使用終端;使用終端下載多媒體文件。其中,服務(wù)器控制使用終端以類似于病毒傳播的方式將多媒體的文件塊預(yù)先發(fā)布到多個不同的使用終端上,并且服務(wù)器實時監(jiān)測該多媒體文件對應(yīng)的索引表,控制多媒體文件塊發(fā)布的程度。用戶可以在相當(dāng)短的時間內(nèi)完成多媒體文件的上傳和下載,從而輕松地與用戶的社交圈子的人進(jìn)行媒體共享,為用戶提供了方便;同時降低了服務(wù)器的配置及維護(hù)成本,提高了網(wǎng)絡(luò)資源的利用率。
文檔編號H04L29/06GK102137163SQ201110069339
公開日2011年7月27日 申請日期2011年3月22日 優(yōu)先權(quán)日2011年3月22日
發(fā)明者孫翀 申請人:Tcl集團(tuán)股份有限公司