2010-10-10 44 views
3

我正在寫我的碩士論文,並正在與一家數字標牌公司聯繫,我在那裏撰寫關於大量數據的分發。我需要一些想法或一些記錄的經驗來將大量數據(這是圖像和視頻,〜100Mb - 〜1Gb--但任何數據都可以,大型數據集會給出一些相同的問題)傳輸給多個客戶端。轉移大量數據的策略

有沒有人知道我可以研究如何以結構化的方式來解決這個問題,或者至少指向一個方向(其他論文,書籍,論文,人物)。

我的主要做法,現在是解決幾件事情:1。 我如何確保數據是完整的,當它到達(不corruptet,其中.png仍將工作) 2.如何確定我是否收到所有數據? 3 ...?

歡迎任何輸入,目前的方法是通過WebServices進行流式傳輸,即時查看BitTorrent aproach(P2P),但這似乎不是一個合適的策略,因爲每個客戶端都可能顯示不同的內容。

難道你們中的任何一個人都在爲數字標牌公司工作嗎?告訴我一些關於你的方法嗎?或者,如果您有將大型數據集從服務器移動到客戶端的經驗......您的方法是什麼?

回答

4

我的經驗是在機器之間移動非常大的數據集 - 在計算和事務環境中大約140Gb的數據流 - 所以我的評論可能對您的查詢過度。有幾個基本原則我們必須納入我們的應用程序:

1使數據流可中斷 - 所以如果有任何數據傳輸應用程序的任何問題,它只會有必要「倒帶」一小部分數據 - 在我的應用程序中,我們必須確保沒有問題會導致超過一個小時的計算損失。這意味着在程序中,除了連續記錄數據和計算之外,每次(在我的情況下)都會中斷處理以檢查記錄和校正數據是否是最新和正確的。

2檢查每個處理塊和數據的任何子分區的正確性(您的描述意味着不會有細分)。這暗示着關於轉讓的記錄數據 - 交易數量;傳輸的字節數;以及每個數據塊的校驗和,這些數據與其他數據分開記錄。

3記錄對數據執行的計算,包括本地和遠程(這是引起傳輸數據的要求的原因)。必須將數據傳輸到備份站點,該備份站點在主計算機上發生故障時必須健壯。這意味着一個偏遠的地理位置;在國家電網的不同部分擁有自己的電源;具有獨立的專用通信線路和服務器等。

4我們的解決方案意味着需要遠程站點確認接收每個數據塊,並將其單獨計算的記錄數據與源進行比較。很顯然,這種檢查可以在任何一端完成,但我們選擇在收件人系統上執行。

這些原則是必要的,因爲數據量很大;做所有計算的計算成本;和數據的敏感性。

你必須選擇一個解決方案之前,要回答的主要問題是:

多少錢,沒關係吧的數據損壞或丟失?

數據在目的地刷新的頻率如何?

如果目標檢測到問題,是否可以請求重新發送?

數據的可替換性如何?

0

斯坦福得到了過去,其中一些程序他們利用全球機器的集羣計算來處理大量數據。

通常他們將數據分成幾個獨立的部分,然後發送到世界各地的筆記本電腦,然後在後臺處理。爲此,用戶需要安裝一個小軟件。數據經過軟件處理後上傳到standford服務器。我不記得它的名字,但你可以在斯坦福站點搜索。它應該是他們的一些基因研究實驗室。

0

我的經歷是在一家從事出租車頂部廣告的公司工作。雖然我沒有在系統的廣告發布部分工作,但我認爲大部分通信都是使用BitTorrent進行的XMPP和廣告發布。像我們一樣在移動系統上,網絡上下變化很大,所以無論你選擇什麼,都不需要從下載失敗開始。

0

必須使用流(緩衝) - 不要試圖將整個東西存儲在內存中。 使用校驗和或散列策略分解並驗證小部件(如果您擔心數據完整性,則可能需要密鑰散列)。

這些天很容易處理大量的數據...