日期:2014-05-17  浏览次数:20446 次

关于中间步骤 数据如何存储的问题
项目中有一些预测模块 从第一步到最后一步中间步骤根据季度生成,会有十几步或者二十几步不等.并且每个页面都会有上一步和下一步按钮.最后一步页面会有保存按钮.点击保存把第一步到最后一步所有步骤的页面数据保存至表中,供查询使用.
以前项目只有几个人使用,现在要扩展到下属单位使用.可能会有几十个用户做预测,最近在做压力测试.
以前流程,当第一个步骤加载时,生成一个全局的唯一标示,后面每个步骤的数据根据标示存储在session中,不同用户预测 数据互不干扰。
存储的数据包含两部分1.每个页面显示的数据供保存使用。2.生成的明细数据,根据页面选择的参数或者输入的参数数据 生成明细数据 供其它页面计算使用
由于数据是逐笔的,数据量会有上千上万条进行逐笔预测筛选不等。用session时数据不稳定,老有步骤丢失数据问题。后来把session 改成了cache。可是cache在这里只起到了储存数据的作用,这里的数据都是会话级的,现在的需求完全不符合cache的胃口,而且太消耗web服务器内存。
以前做winfor程序时,开发类似大盘软件的时候,会用到内嵌到本地的小数据库。这里也不现实。
还有步骤太多,每步点下一步时就保存数据库的话,还要考虑上一步和页面异常关闭对数据库的操作。
我在这里该如何处理这些中间数据  请高手指点。
我不怎么发帖子,说的条理性可能不好  望多提意见


------解决方案--------------------
数据库可以。

如果嫌数据麻烦,把你的表示单个页面背后的(整个)数据模型对象进行json或者xml序列化,然后保存到app_data文件夹下(某个子文件夹下),这也是不错的。
------解决方案--------------------
<asp:Panel ID="Step_1" runat="server">
</asp:Panel>
<asp:Panel ID="Step_2" runat="server">
</asp:Panel>
<asp:Panel ID="Step_3" runat="server">
</asp:Panel>
....