javascript - 每分钟 JSON 文件解析和合并

标签 javascript json performance parsing dojo

我正在构建一个系统,该系统使用 JSON 数据将服务器统计信息呈现到 HTML 表中。后端系统每分钟生成一个 JSON 文件,该 JSON 文件包含服务器性能的大约 10 个不同领域的信息。因此,每个 JSON 快照将包含每个表的一行数据。

我想要生成的表格将显示过去 15 分钟的数据,表格将每分钟刷新一次以包含最新的分钟数据并丢弃最旧的分钟数据,以便我们始终可以看到过去 15 分钟的统计数据。

我对 JSON 及其工作和执行方式以及总体最佳实践不太熟悉,因此我将非常感谢任何有关我如何做到这一点的建议。在从这些文件加载​​数据方面,我相信它们是我可以用来执行此操作的三种可能的方法。

  1. 创建一个中央 Javascript 对象,我们将其命名为 currentDataSet,它将加载过去 15 分钟 JSON 文件中的所有数据。即,一个对象将保存来自 15 个 JSON 文件的数据,每个文件包含 10 个表的数据。每分钟 currentDataSet 都会更新,以忘记最旧的分钟并包含最新分钟的数据。从 currentDataSet 中,每个表渲染器函数都会查找 currentDataSet 并生成表。

  2. 每个表都是自己的!我还认为,我可以编写它,而不是拥有一个包含所有数据的中心对象,以便每个表渲染器函数可以获取它自己的数据。这样每个表都可以解析 15 个 JSON 文件并维护自己的数据。所以 10 个 Javascript 对象,如 PerformanceByInstance、htmlStatus、databaseStatus、dynacacheStatistics 等...

  3. 将 JSON 数据加载到某种数据库中,而不是依赖 JSON 解析和 Javascript 对象进行存储。

  4. 由于缺乏经验,我什至没有考虑过一些方法。 :-)

我最关心的是一次加载 15 个 JSON 文件进行渲染的性能,将来我希望系统能够加载过去日期/时间的存档数据,因此需要快速渲染选择日期/时间后,所有这些数据都会进入表格。

我还将致力于使用 Dojo 来实现这一目标,因为我正在使用 Dojo 来为此工具构建 UI 仪表板。

提前致谢。

最佳答案

我会选择#1,因为您实际上不会从#2 中获得任何东西,并且#3 的可扩展性较差,这对您的情况可能很重要,也可能不重要。

但是,对于初始加载,我会将所有数据集“放在一起”(见下文)。 IMO,这减少了对最可能故障点的使用和依赖。

将每个数据集存储为数组的一部分,因为像 Object 这样的非索引数据类型的排序是困惑且不直观的。 Array 在管理数据集的“及时性”时提供了巨大的帮助。

关于javascript - 每分钟 JSON 文件解析和合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23431194/

相关文章:

performance - 快速 SSE 阈值算法

php - 在 Facebook 应用程序中获取好友位置

performance - Coyoneda 类型的 NFData 实例

javascript - 每个版本的 iOS 附带什么版本的移动版 Safari?

python - Kafka简单生产者不发送消息并且不给出错误

json - 使用 MSBuild 将多个 JSON 文件合并为一个 JSON 文件

javascript - 将 .json 文件中的项目分配给 javascript 中的变量

c - 比较两对4个变量并返回匹配数?

javascript - 使用 PHP 和 HTML 控制保存图像的大小

javascript - 获取同一个类的多个元素 - JavaScript (getElementsByClass)