2010-12-06 41 views
0

我們有10個非規範化表,其中大部分數據包含大量數據(11,000,000個)。客戶希望用戶一次能夠下載最多100K條記錄。我想知道的是設計一個後臺進程來處理這個問題。我正在考慮爲每個表設置一個隊列,並有多個線程處理這些請求。我確定不是設計多線程組件的專家。你們認爲我在這裏的正確軌道?任何有關實施的建議?多線程組件設計問題

謝謝!

+0

當你說「下載最多的一次記錄100K」,是出口(或需要的所有數據類似的東西)?或者在屏幕上查看(您可以在哪裏分頁並給出所有數據在那裏的錯覺)? – w69rdy 2010-12-06 15:24:42

+0

隊列將做什麼? – 2010-12-06 15:24:55

+0

正確,導出爲ex​​cel(或csv)。用戶將有一個Web界面,所以我需要將請求放入某種類型的隊列中。隊列只會存儲報告類型和搜索參數。 – Marco 2010-12-06 15:26:29

回答

1

設計方案

1 - 由於這是一個Asp.Net廣告應用程式,有多少併發用戶將下載的數據?

2-您是否想在應用程序中提供下載數據工具,您是否想過進行重新循環?

3-如果用戶會話過期但下載仍在進行中怎麼辦?

4-您可能正在轉向流媒體服務器。

我認爲,您應該首先考慮這些情況,而不是決定實際需要哪種類型的應用程序。

在我的心中

我想,你應該考慮創建一個基於Windows的解決方案將被下載到客戶端計算機,並利用客戶資源(線程等)連接到服務器和服務器必須支持流媒體。

0

用戶會進行自定義查詢還是隻是下載表格的「塊」?

如果後者爲什麼不爲每個塊提前生成CSV?如果每個塊有100,000條記錄,並且該表總共只有11,000,000條記錄,則只需要110個塊。