1

我正在构建一个在 Web 门户上显示信息的应用程序。我在一栋建筑物中有 X 个读卡器,这些读卡器与同一栋建筑物中的控制器通信。如果读卡器有任何刷卡行为,它们会将信息发送到控制器,然后控制器将其写入数据库。

一旦发生刷卡事件,我必须在网页上显示此读卡器信息。所以我使用 perl Pcap 来捕获控制器和数据库之间的数据包,读取有效负载,解析它就像“如果第 n 位是这个打印这个,如果,打印这个”,我重复相同的 else if 处理门号,卡号,门打开/锁定状态等。

所以我的问题是,哪个更快?从 SQL 数据库获取最新数据以更新网页或 else if 迭代的程序,它解析数据然后将其写入 XML 数据库并运行订阅脚本以更新网页?

4

1 回答 1

6

唯一真正的答案是:去吧,两者都有。

需要考虑的事项:

  • 从数据包中提取数据感觉就像是一团糟。丑陋,hackish,容易损坏,难以维护。
  • “XML 数据库”是个谎言。请改用真正的数据库。
  • 跨多个数据库复制您的信息可能是不必要的冗余,并且可能导致两个信息存储库不同步。另一方面,将单独的数据库用于单独的目的可以带来各种好处。
  • 某些数据库允许您安装在将新记录添加到表时执行的触发器。使用将新事件推送到 Web 界面的触发器可能是最有效的解决方案。
  • 另一种解决方案是让一项工作定期轮询数据库以查找充当 Web 界面缓存的新事件。这可能不会比运行 pcap 更昂贵。
于 2013-09-14T19:34:47.660 回答