高频更新的数据流上要搞天际线查询,在分布式场景下确实挺棘手的。你要想高效、通信量还少,真可以看看这个叫BOCS的算法方案,组合了一个叫GridSky的集中算法,再搭配了一个还挺精简的通信协议,整体效率蛮不错。

BOCS的玩法是分两步走:先在每个远程节点算本地天际线,只传变动数据给协调器,再做个合并,得到全局天际线。简单点说,就是不传全量,只传增量,通信压力自然就小了不少。你要在多节点流时跑Skyline,这个方式还蛮靠谱的。

而且理论上讲,BOCS在不共享存储前提下,通信是最优的。实验效果也挺扎实:性能稳定、扩展性好、计算延迟低。如果你正好在研究类似架构或者搞分布式查询优化,这个资源真的值得一看。

顺带推荐几个相关的拓展阅读:

如果你正碰上多源数据、实时性强、通信敏感的查询需求,真的可以试试这个思路。实现成本不高,效果还不错。