更新逻辑