MDB 系统里面的机器数据会分为很多种类,比如系统服务数据,硬件数据,资产相关的数据,离线计算数据等,这些数据都可以认为是流数据,数据库里面呈现出来的某台机器的完整信息,就是该台机器对应的流数据合并后的结果。
在对数据流做合并处理时,我们采用了多进程多线程的机制来提高处理效率,但同时也会遇到多个线程同时对一台机器的信息进行读写,导致数据出现不一致的问题。
以某台机器为例,d 表示该机器的某种数据流,假设有 n 个数据源,理想的情况下,一台机器最终呈现的数据应该是 d1 + d2 + …+ dn,如下图: