0

寻找一个可以说是奇怪问题的解决方案。好的,所以我们正在使用 d3.js 来绘制图表和图形。然而,我们的数据集可能非常小,也可能非常庞大。现在我们所做的大部分工作都是内部的,只是原型设计。但是,我们确实会向客户展示这些图表并为他们实时绘制它们,并且经常快速地改变他们的输入。

在 D3 中执行此操作看起来很棒,但可能会像预期的那样缓慢。我对这个过程的可能性更感兴趣。访问我们的网站,登录并显示在服务器上远程呈现的仪表板实例。我们的服务器集群是一个超级恶魔,所以我不担心它会做任何繁重的工作。它可以比我们最好的电脑快 100 倍地完成这些过程,所以看起来如果我们可以设置我们的网站以在我们的仪表板运行时创建实例,但只能访问该用户帐户数据。

这有点令人费解,所以让我解释一下。我们有一个数据库,里面有数百万个数据点。我们有大约 10 个用户帐户。每个人都可以访问这些数据的不同部分。一个可以访问所有内容,另一个可以访问其中的一部分。所有这些都不是我们正在寻找解决方案的问题。我们更感兴趣的是我们的服务器能够通过用户远程控制的窗口创建我们网站的多个实例。在某种程度上就像一个远程桌面。我们甚至可以从作为远程渲染一部分的用户登录表单开始。我们的系统完全托管并在​​服务器本身上运行,而我们页面在某种程度上本质上是服务器上的 KVM。但是它需要同时处理多个用户。

我们在 Centos 6.4 中使用了大量的 python 作为后端的东西,php HTML 以及 Postgres 和 SQLite 的混合,但我怀疑这些是否重要。只是想覆盖我的基地。

4

1 回答 1

2

在我看来,您似乎不太可能在一个屏幕上有意义地显示数百万个数据点,而无需以某种方式对它们进行分组和总结。在服务器上进行处理和汇总数据,然后将生成的较小数据集发送到客户端,然后客户端将从中绘制您的图形和图表。您现在可能会拥有一组以上的数据,但它应该会带来更好的客户端性能。例如

  • {百万点} -> 在服务器上转换 -> 条形图数据到客户端
  • {百万点} -> 在服务器上转换 -> XY 散点图的数据
  • 等等

您提出的并不是真正的编程问题,也不会很好地扩展。

于 2013-07-25T14:14:23.793 回答