【问题标题】:C#: capture data, display to user, save to disk, upload to database: BEST approachC#:捕获数据,显示给用户,保存到磁盘,上传到数据库:最佳方法
【发布时间】:2009-01-17 22:54:33
【问题描述】:

我有一个程序可以按设定的时间间隔从硬件中捕获实时数据。数据以 XML 形式返回。我想用这些数据做几件事(按顺序): - 显示给用户 - 保存到磁盘 - 最后,将其上传到数据库

我目前的方法是获取 XML,将其解析为哈希表,以便向用户显示正确的值。

接下来,我想将 XML 保存到磁盘上的文件中。对于每个数据捕获会话,我计划创建一个唯一的 XML 文件,并将所有数据转储到其中。

最后,我想重新解析 XML 并将其上传到 MySQL 数据库。数据不能立即上传到数据库。

这似乎解决这个问题的效率很低,我希望得到一些建议。

将数据保存为 XML 是否浪费高清空间?

必须重新解析 XML 才能将其写入数据库是不是效率太低了?

谢谢!


澄清一下:典型的 XML 响应大约为 1kb,并且以每 15-60 秒大约 1 个响应的速率被捕获。

我想我确实想将 XML 作为 XML 存储在磁盘上,因为数据非常有价值并且很难重现(如果可能的话)。谢谢!

【问题讨论】:

    标签: c# xml file-io


    【解决方案1】:

    当您从源接收到新的 XML 文档时,直接保存到磁盘并解析它以显示给用户。

    通过后台进程或用户启动,从磁盘读取 xml 文件并根据创建日期将它们发送到服务器(因此您只能检索最新的)以插入 MySql。

    【讨论】:

      【解决方案2】:

      这主要取决于您移动的数据量和速率。如果您很少需要上传到数据库并且只需要几秒钟,那么 XML 的灵活性肯定是不错的。如果您从不使用本地存储的数据,只是将其上传到数据库并且解析需要几分钟,您可能需要重新考虑策略。

      【讨论】:

        【解决方案3】:

        也许应该有一个单独的线程用于数据获取和处理。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-29
          • 1970-01-01
          • 2011-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-25
          相关资源
          最近更新 更多