单相推进传播(或仅是推进传播)是针对这类应用而设计的。尽管API与两相牵引传播相同(除了一个显示“推进”的标志),但是在执行过程中,源端和接收端的角色发生了转换.接收端变为被动的,将关联信息局部保持在订阅数据的节点。源端变得积极:探测数据被送至整个网络,而没有产生关联信息的梯度。采用两相牵引时,当探测数据到达一个接收端时,就产生一个加强信息,而且此信息又递归传送至源端产生一个加强梯度,而非探测数据仅仅跟随这些加强梯度。推进也可利用GEAR类型的地理优化。
对于不同于两相牵引类型的推进,进行如下优化:除了源端只是偶尔产生数据的这些地方之外,应用程序带有许多的源端和接收端。但是,推进不适合于许多源端持续产生数据的应用,因为这类数据会在整个网络传送,甚至在不必要的时候也是如此。
29.5.4.1节介绍了对于这类应用推进和两相牵引传播的性能比较。
29.3.3单相牵引传播
与两相牵引传播相比较,推进传播的一个优点就是信息在整个网络传送时,它只有一种情况(探测数据),而不是两种(关联信息和探测数据)。在不存在地理范围查询的大型网络中,其一个重要的优点就是将洪泛减至最小。受某些牵引传播的有效应用的启发,我们再来考虑两相牵引传播,以消除产生洪泛的这一相。
单相牵引是一个基于订阅者的系统,能够避免在两相牵引中出现洪泛的一相。采用两相牵引,订阅者发送在网络上分发的关联信息,以建立梯度。不像两相牵引,当一个关联信息到达源端时,它并不能将最初的数据信息标记为探测数据,相反仅仅在优先梯度上发送数据。
展开