多线程组件设计问题

时间:2010-12-06 15:13:39

标签: c# .net asp.net multithreading

我们有10个非规范化表,其中包含大量数据(11,000,000)。客户希望用户一次能够下载多达100K的记录。我想知道的是设计一个后台进程来处理这个问题。我想可能为每个表设置一个队列,并有多个线程处理请求。我绝对不是设计多线程组件的专家。你们觉得我在这里走在正确的轨道上吗?有关实施的任何建议吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

设计方案

1-由于这是一个Asp.Net应用程序,有多少并发用户会下载数据?

2-您是否考虑在应用程序中提供下载数据工具,您是否考虑过程重新循环?

3-如果用户会话过期但下载仍在进行中该怎么办?

4-您可能正在转向流媒体服务器。

我认为,您应首先考虑这些情况,而不是决定实际需要哪种类型的应用程序。

在我的想法中

我认为,您应该考虑创建一个基于Windows的解决方案,该解决方案将下载到客户端计算机并利用客户端资源(线程等)连接到服务器,您的服务器必须支持流式传输。

答案 1 :(得分:0)

用户是在进行自定义查询还是仅下载表格的“块”?

如果是后者那么为什么不提前为每个块生成CSV呢?如果每个块有100,000个记录,并且该表总共只有11,000,000个记录,则只需要110个块。

答案 2 :(得分:0)

我认为这是一种做法。

您可以调用另一个页面并将该过程放在下一页。

以下文章可能有用。

http://codebetter.com/blogs/peter.van.ooijen/archive/2006/06/20/146582.aspx