gpt4 book ai didi

javascript - 使用 backbone.js 构建监控前端

转载 作者:行者123 更新时间:2023-11-30 06:29:23 25 4
gpt4 key购买 nike

我正在构建一个监控/统计工具。当前的基础架构如下所示:

  • Collector-Backend:从前端接收查询(JSON 对象),获取它们并将它们存储在缓存中。最后,它通过消息队列通知前端。
  • 前端服务器:处理“实时” View 的订阅,通过 WebSocket 将从后端接收的数据推送给用户。 (还包含一些用户管理等)
  • 前端本身:一些 JavaScript-Spaghetti-Code 使用 jQuery-Flot-Graphs 呈现数据。每个环境有几个图表显示在同一页面上。图表是一组测量值。

我所说的环境是包含不同测量值的(一组)系统。因此每个环境都包含以下 View :

  • “实时” View 显示过去 2 小时的测量值(每分钟更新一次)。
  • 一个统计 View ,可以在任意时间选择不同的预定义图表(与实时 View 相同的查询,只是另一个 View )
  • 一些特别报告,例如昨天的统计数据。

环境包含以下变量:

{
name: 'FooEnvironment',
description: 'Foo Environment, <insert buzzwords here>',
baseTable: 'foobar', # Which table in the backend contains the corresponding data
target: 'barTarget', # The responsible target (backend-plugin)
}

图表被定义为一组测量值(作为 JSON 对象)并且定义如下这个:

 {
name: 'FooProtocol Traffic', # Graphs display name
size: 'full' # only matters for some CSS-transformations
interval: X # Which delta each tuple differs from the other
start-date: "DATE",
end-date: "DATE",
axes: {
"y1": { label: 'Foo/t', data: [['MEASURMENT1', 'AGGREGATION'], ['MEASURMENT2', 'AGGREGATION']] },
"y2": { label: 'Bar/sec', data: [['MEASURMENT_ON_Y2', 'AGGREGATION']] }
}
}

我希望能够在我的前端管理这些环境(添加/删除环境并向它们添加/删除图表)。

您将如何使用 MVC (backbone.js) 对其进行建模?

如果我必须提供更多信息,请报告我:-)

最佳答案

我可能会尝试使用 Environment 模型和 Graph 模型。

Environment 模型会有一个 Graphs 属性,它是 Graph 模型的集合。

用户的订阅可以是被监控的环境的集合。

至少会有三种 View - 一种用于保存图形的表示,一种用于保存环境的表示,另一种用于保存环境的集合。

正如您提到的添加/删除图形和环境,还需要更多细节。

例如,您需要一个可供用户订阅的可用环境列表,以及在订阅的每个环境下,该环境的可用图表列表。

我知道答案是杂乱无章和含糊不清的,但如果没有关于手头数据的更多细节,这是我能做的最好的。

关于javascript - 使用 backbone.js 构建监控前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com