为什么开始采集后过一段时间才可以看到数据
来自JsRobot
我们可以把数据采集的过程想象为一个猴子在树上摘苹果的过程。
猴子的起点是地面。
猴子的处理过程如下: 1 从地面爬到树干上面, 2 从树干爬到枝干上面, 3 从枝干爬到树枝上面, 4 然后在树枝上摘下苹果。
这时候就有两种处理逻辑 深度遍历:从某个顶点出发,首先访问这个顶点,然后找出刚访问这个结点的第一个未被访问的邻结点,然后再以此邻结点为顶点,继续找它的下一个新的顶点进行访问,重复此步骤,直到所有结点都被访问完为止。 广度遍历:从某个顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后再访问这些结点中第一个邻接点的所有结点,重复此方法,直到所有结点都被访问完为止。 可以看到两种方法最大的区别在于前者从顶点的第一个邻接点一直访问下去再访问顶点的第二个邻接点;后者从顶点开始访问该顶点的所有邻接点再依次向下,一层一层的访问。![]()
![]()
深度遍历的方法, 优点是,客户可以很快的看到数据。 缺陷是,不方便多任务的并行处理。
广度遍历的方法, 缺陷是,客户要在枝干遍历完成后才能看到数据。 优点是,方便多任务并行处理。
为了支持大数据的并行采集,我们使用的是广度优先遍历的处理方法,所以在采集开始后,要过一段时间才能看到数据。