更有效地显示非常大的数据集

时间:2019-01-29 11:45:04

标签: python large-data large-files large-data-volumes

我有一个逻辑分析器项目,它记录了数亿个16位值(约100-500百万),并且随着用户缩放,我需要显示从几百个样本到整个捕获的任何内容。

缩小时,整个系统会从文件中加载大量块,因此性能会受到极大影响。

我只是今天早上说,以用户的屏幕分辨率“大步走”文件会更有效。无论如何,您实际上无法在像素之间显示任何内容。但这并不能解决内存中大量文件的问题。

我可以拿走巨大的数据集并有效地将其分流吗?

我一直在考虑从头到尾进行流式传输,并采用水平分辨率来查看尺寸。但是,这使变焦变得非常不稳定。

程序使用python,但我愿意在c中调用某些东西(如果已经存在)。

2 个答案:

答案 0 :(得分:0)

好吧,我不知道这是否真的是关于编程或整体设计的问题。

对于vizualization的“缩放”问题,我建议:

  1. 具有用于某些缩放级别的预先计算/缓存的版本。理想情况下,应根据用户行为来计算等级。
  2. 当用户放大时,您同时
    • 计算“适当的”数据或加载更深的缩放层的预先计算的聚合数据,并根据您的视场进行裁剪
    • 通过渲染来自上一层的低分辨率数据进行欺骗或通过某种近似使其平滑(但请确保以某种方式告知用户数​​据尚未完成)

除此之外,请考虑是否可以优化存储数据的方式。无论是部分磁盘读取/搜索还是存储聚合数据,树木都可以使您的生活更轻松。

答案 1 :(得分:0)

我认为,除非它们形成某种图像/形状,否则即使显示几百个样本也没有意义。我猜如果结构正确(有色),可以看一百个数字。数百个-令人怀疑-在这里,您可以用一些可视化(图表,图表,地图等)替换实际数据。

要解决该问题,您可以定义一些规则以完全停止显示实际数据。例如,如果数字高度小于10个像素,您将显示某种消息selected numbers are from rows 200...300, columns 400..500或一些图形化的替代品,包括角坐标和数量。