(TODO)大数据量下的关系可视化通用解决方案

流程

确定目的

常见的目的,一般有:找异常、看趋势、看分布、看比例、看关系等。

以Arsenal服务关系可视化为例,其目的是为了找出异常的服务及其异常的原因。

切记:千万不要在一开始就直接去思考细节上的实现,一定要先明确需求方的目的。参考Arsenal关系图被吊着打的例子。

确定关键指标

(宏观)找出异常的服务:服务的状态

(微观)找出服务异常的原因:服务所在容器的具体的数值,比如IO、CPU、内存、网络等

确定数据聚合方案

原则

ZHQ:

对于海量数据可视化
若不做数据精简处理,考虑海量点的散点图绘制,根据不同纬度以点的位置、颜色做属性体现
https://echarts.apache.org/next/examples/zh/editor.html?c=scatter-stream-visual

若做数据精简(业务角度),则拆分为整体加局部的形式,保证单张图的数据量合情合理并帮助用户去除其余的“雾霾”信息,比如查看单个组件相关的产品/单个产品相关的组件。

LSJ:

我觉得每块需要可视化的数据都是有数据特点的,
而且提出可视化的需求方也有自己的想法。

我觉得可以先收集一下需求,
把需求列为组件扩充和页面开发,我们先只负责组件扩充这方面的,页面开发的到时候就可以分配给其他人了。
借此也可以充实一下我们的关系组件库的相关功能
李少杰-可视化搭建
海量点这块我的想法和琦哥差不多
其实就是数据下钻,和地图一样
外层做趋势、分布的展现
下层做数据精细的展示

数据聚合

有分类概念

无分类概念

可以参考高德的海量点展示:

https://lbs.amap.com/api/amap-ui/reference-amap-ui/mass-data/pointsimplifier

2020年初,我们在疫情地图项目中,也用到过类似的算法。

案例

组件依赖关系可视化

https://www.cnblogs.com/chiang28/p/10044010.html

参考资料

(北大可视化实验室)让边绑定更加清晰:网络可视化中融合绘制方式的探索:

http://vis.pku.edu.cn/blog/%E8%AE%A9%E8%BE%B9%E7%BB%91%E5%AE%9A%E6%9B%B4%E5%8A%A0%E6%B8%85%E6%99%B0%EF%BC%9A%E7%BD%91%E7%BB%9C%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%AD%E8%9E%8D%E5%90%88%E7%BB%98%E5%88%B6%E7%9A%84%E6%8E%A2%E7%B4%A2/?utm_source=tuicool&utm_medium=referral