保存系统状态

时间:2009-10-08 18:01:44

标签: php sql-server session implementation state

确实是一个非常华丽的标题。

我有一个基于Web的向导形式的PHP Web应用程序。用户可以通过向导运行并选择选项,运行进程(数据库查询)等。他们可以反复前进并一次又一次地运行进程。

我正在努力研究如何最好地保存用户做/做的状态,他们运行的进程等等。所以基本上是一个美化的日志,我可以稍后提起。

如何保存这些状态或会话?我的同事正在考虑的一个选项是为每个会话使用XML文件并保存所有内容。我的想法是使用数据库表来执行此操作。

每个人都有利弊,我希望能得到哪个选项的答案?建议其他可行的选择会很棒!或者我应该问自己选择正确的实施方式的问题。

目前使用的技术

后端:在Windows Server 2005上运行的PHP和MS SQL Server

FrontEnd:HTML,CSS,JavaScript(JQuery)

非常感谢任何帮助。

修改

每个站点将只有一个/两个/三个用户将启动此系统。每个站点都不会以任何方式连接。该系统每月可以有大约10到100个会话。

2 个答案:

答案 0 :(得分:2)

使用数据库可能就是这样。只需创建一个简单的表,即按会话ID跟踪操作。不要索引任何内容,因为您希望将行插入为低成本操作(您可以创建临时表,添加索引,并在以后对其运行报告)。

XML文件也可以工作 - 您希望为每个sessionid编写一个单独的文件 - 但如果您可以利用数据库的功能集,那么进行分析可能会更加简单。

答案 1 :(得分:0)

如果您正在谈论大量用户同时执行操作,并且您想要跟踪他们的步骤,我认为最好采用面向数据库的方法。数据库服务器可以优化数据流和磁盘写入,从而比不断在磁盘上写入文件带来更好的并发性能。你真的应该尝试对系统进行压力测试,无论你选择哪种,都要确保在负载很大的情况下性能不受影响。