【问题标题】:Synchronize data across all web users跨所有 Web 用户同步数据
【发布时间】:2015-04-28 11:41:50
【问题描述】:

我有一个带有合理数据库(SQL SERVER)的网站。 我有一个跨 20 列有 100,000 条(不完全是)记录的表。 在我的网站上,有一个页面可以看到表格(带有分页、排序和过滤),一次有 100 条记录,所有字段都是可编辑的。 每秒都会进行更改,如何使每个客户端的表保持同步,包括排序、过滤、页码?提前致谢。

【问题讨论】:

  • 您是否将编辑过的内容再次保存到数据库中??
  • 你的后端是用什么写的?
  • MVC4,是的,所有更改都通过restful API保存

标签: javascript html sql sql-server


【解决方案1】:

您是否考虑过使用 WebSockets?它们是将实时通知推送到浏览器客户端的好方法。我没有使用过 MVC4,但我发现这个链接可能会照亮这个想法:http://blogs.msdn.com/b/youssefm/archive/2012/07/17/building-real-time-web-apps-with-asp-net-webapi-and-websockets.aspx

当我不得不在浏览器之间同步数据时,WebSockets 帮助了我。

这个想法很简单。在服务器端,您将有一个处理程序,它将向所有客户端侦听器广播数据。在客户端,您将向WebSocket 处理程序发送您的新数据,届时WebSocket 处理程序将向所有客户端广播该数据并且您的表将同步。但请注意您的请求及其发送方式。如果您在每个keyup 事件或smth 上发送一个新请求,您可能会淹没您的服务器。但这是另一个问题。

这是我刚刚找到的video 教程

希望这对您有所帮助。

干杯!

【讨论】:

  • 我有一个套接字库,但我不能让用户每秒刷新整个表(正如我所说,表每秒更新一次)
  • 您不必刷新整个表格。只是被修改的行。您可以为每个单元格或列或行分配生成的 UUID id 并单独更新它们。
  • 我不知道有多少用户或一次将完成多少编辑。我猜一个用户一次只能在几个单元上工作。这样,您可以在更新表的部分内容时对其进行更新。实现这一点并不是一个简单的逻辑,但我认为它可以通过 WebSocket 支持它们来完成这项工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 2018-06-03
  • 2013-03-16
相关资源
最近更新 更多