实现冒泡到最顶层而后向下更新。

每次更新先冒泡到最顶层的对象来进行更新。
使用session来记录最每个数据数的最顶层DM对象，避免重复冒泡。
修复上一次提交的触发BUG

Signed-off-by: gaubee <gaubeebangeel@gmail.com>