[发明专利]一种基于单向数据流的页面视图的更新方法及装置有效
申请号: | 201910467073.4 | 申请日: | 2019-05-30 |
公开(公告)号: | CN110321464B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 李海豹;韩念琪;黄德志;徐晓光;王文龙 | 申请(专利权)人: | 南京苏宁加电子商务有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/9038;G06F16/904;G06F9/451 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 张慧娟 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 单向 数据流 页面 视图 更新 方法 装置 | ||
本发明公开了一种基于单向数据流的页面视图的更新方法及系统,该方法包括:页面视图层根据页面更新请求在中间代理层中调用对应的更新状态的动作;根据更新状态的动作生成更新任务,并将更新任务加入到异步更新队列中;调度器拉取异步更新队列,根据异步更新队列对数据层进行页面数据更新;数据层进行页面数据更新后向页面视图层推送更新数据,页面视图层根据更新数据对页面进行更新。本发明通过采用单向数据流的思想,保证了流程的清晰,便于维护并且可以预测,将所有的状态变化都拘束到中间代理层中进行,修改统一的数据源,然后再自上而下的重新分发,减少状态/属性传递的成本,也从根源上杜绝了状态震荡。
技术领域
本发明涉及计算机技术领域,特别涉及一种基于单向数据流的页面视图的更新方法及装置。
背景技术
前端的技术迭代的速度飞快,当下mvvm(Model-View-ViewModel)大行其道,这些框架一定程度上封装了之前纷繁复杂的dom操作,而且也降低了使用门槛。在应付小规模应用的时候,有约束的数据流向和传输也许并没有什么副作用,但是当项目规模扩大之后,一级一级的状态/属性传输却显得特别的臃肿和低效。并且,在相对复杂的业务场景中,会遇到代码结构混乱、易读性差,数据流杂乱等问题,后期维护成本随着业务的堆叠呈指数级增长。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于单向数据流的页面视图的更新方法,以克服现有技术中在相对复杂的业务场景中,会遇到代码结构混乱、易读性差,数据流杂乱以及后期维护成本随着业务的堆叠呈指数级增长等问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
一方面,提供了一种基于单向数据流的页面视图的更新方法,该方法包括如下步骤:
页面视图层根据页面更新请求在中间代理层中调用对应的更新状态的动作;
根据所述更新状态的动作生成更新任务,并将所述更新任务加入到异步更新队列中;
调度器拉取所述异步更新队列,根据所述异步更新队列对数据层进行页面数据更新;
所述数据层进行页面数据更新后向所述页面视图层推送更新数据,所述页面视图层根据所述更新数据对页面进行更新。
进一步的,所述根据所述更新状态的动作生成更新任务包括:
判断所述更新状态的动作是否为异步操作,若是,则依次对所述更新状态的动作生成对应的更新任务,否则,将所述更新状态的动作合并生成一条更新任务。
进一步的,所述调度器拉取所述异步更新队列包括:
设置内部时钟或异步更新队列的上限,在所述内部时钟到期或者所述异步更新队列达到上限后,所述调度器拉取所述异步更新队列。
进一步的,所述页面视图层根据所述更新数据对页面进行更新前,还包括:
所述页面视图层比较所述更新数据与当前页面数据是否一致,若不一致,则接受所述更新数据,对页面进行更新,否则不进行页面更新。
进一步的,所述方法还包括:
将所述更新任务加入到异步更新队列中后,向所述调度器发送异步更新队列更新的通知。
另一方面,提供了一种基于单向数据流的页面视图的更新系统,所述系统包括:
动作获取模块,用于页面视图层根据页面更新请求在中间代理层中调用对应的更新状态的动作;
任务生成模块,用于根据所述更新状态的动作生成更新任务,并将所述更新任务加入到异步更新队列中;
第一更新模块,用于调度器拉取所述异步更新队列,根据所述异步更新队列对数据层进行页面数据更新;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京苏宁加电子商务有限公司,未经南京苏宁加电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910467073.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种字符串匹配方法、系统、存储介质及装置
- 下一篇:一种监理项目信息获取方法