2010-12-06 62 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个块。