决策树的连续传输:REST对的WebSocket(Continuous transfer of a

2019-09-26 02:31发布

我工作的一个Web应用程序(后端写在Node.js的一个蒙戈-DB),用户可以在其中做出,记录和描述的决定。 我在一个树状结构如下表示此

{ 
  tree: {
    root: Node,
    nodes: [{   // keeping a reference to all nodes of the tree
      index: Number,
      node: Node
    }],
    lastIndex: Number
  }
}

其中节点是

{
  parent: Node,
  children: [Node],
  data: {
    d1: String,
    d2: [String],
    d3: Number,
    d4: Boolean
    // more data fields as above, probably not more than 10-20 fields per node
  },
  index: Number   // this node's index in the tree's node map
}

在Web应用程序(IE浏览器),用户可以执行以下操作:

  • 创建一个新的树
  • 一个节点添加到树
  • 编辑节点的数据
  • 删除一个完整的子树
  • 更改节点的孩子的顺序
  • 加载一棵完整的树

主要行动将是,添加新的节点,并形容他们(填写的数据字段)。 这可以通过鼠标输入来完成大部分,所以如果用户点击很快,他能够创造高达每秒5-10节点。

我想在实时发送这些修改到服务器,并将其存储在数据库中(蒙戈-DB)。 (我也正在考虑在网页上展示的反馈,当前状态保存在服务器上,但我认为这会在稍后的点)。

因此,可以归结为以下要求:

  • 大部分时间我将处理上的节点表create-和更新操作的时间(可能是许多创建/每秒每用户更新)。
  • 不会有从服务器发送大量数据到客户端(当一个新的树被加载时除外)。

所以,在我的情况,是它更好地使用REST调用或WebSocket连接?

所有帮助真的感谢!

文章来源: Continuous transfer of a decision tree: REST vs. websocket