[发明专利]一种移动端列表数据diff算法在审
申请号: | 201910257897.9 | 申请日: | 2019-04-01 |
公开(公告)号: | CN109977123A | 公开(公告)日: | 2019-07-05 |
发明(设计)人: | 杨敏;王能玉;倪向东;袁春雨 | 申请(专利权)人: | 时代数媒科技股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23 |
代理公司: | 合肥律众知识产权代理有限公司 34147 | 代理人: | 白凯园 |
地址: | 230000 安徽省合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据模型 遍历 列表数据 新记录 移动端 算法 队列 步骤实施 检查数据 局部刷新 数据刷新 序号信息 记录数 旧数据 新数据 堆栈 变更 记录 检查 | ||
本发明公开了一种移动端列表数据diff算法,按照以下步骤实施:S1:遍历新数据队列,计算每一行Item对象中Model数据模型的hash值并找到对应数据模型,使得新记录数增加1,同时存入新记录列表;S2:遍历旧数据队列,计算每一行Item对象中Model数据模型的hash值并找到对应数据模型,使得旧记录数增加1,同时将当期的数据序号存入对象序号堆栈,同时存入旧记录列表;S3:遍历新记录列表,检查数据模型对应的对象序号信息;S4:再次遍历新旧列表,检查每个数据模型的变更状态。本发明所述的一种移动端列表数据diff算法,将列表的刷新做到了局部刷新,对于有修改的数据才会进行数据刷新或者新增,带来更好的使用前景。
技术领域
本发明涉及移动互联网手机App领域,特别涉及一种移动端列表数据diff算法。
背景技术
目前对于手机App中列表是一种非常常见的界面类型,我们所常用的App中大部分界面是由列表构成,在对于列表数据发生新增、修改、删除等的数据更新的时候,我们往往是需要手动计算需要变更的index,并执行批量刷新,甚至会直接调用全局重载的方法,操作过程较为繁琐,降低了工作效率。
发明内容
本发明的主要目的在于提供一种移动端列表数据diff算法,当数据发生变化的时候,会自动计算变化前后的数据,从而为后续的数据刷新提供准确的数据,提升了列表刷新的效率,可以有效解决背景技术中的问题。
为实现上述目的,本发明采取的技术方案为:
一种移动端列表数据diff算法,按照以下步骤实施:
S1:遍历新数据队列,计算每一行Item对象中Model数据模型的hash值并找到对应数据模型,使得新记录数增加1,同时存入新记录列表;
S2:遍历旧数据队列,计算每一行Item对象中Model数据模型的hash值并找到对应数据模型,使得旧记录数增加1,同时将当期的数据序号存入对象序号堆栈,同时存入旧记录列表;
S3:遍历新记录列表,检查数据模型对应的对象序号信息,如果堆栈中有旧队列序号值,则表示当前数据模型至少对应新旧队列中的两个对象,即发生所谓的数据变更,进行记录,方便后续反向查询。再通过检查新队列当前对象和模型对应旧对象是否相同确认更新状态;
S4:再次遍历新旧列表,检查每个数据模型的变更状态,没有变更状态的对象,在新队列中的被标记为新增,而在旧队列中的则被标示为删除,有变更状态的对象通过比较新旧队列序号和更新状态分表表示为更新删除和修改。
优选的,所述列表的更新算法使用新旧hash表来分别存储列表的状态。
优选的,所要求hash表,对于列表中的每个entry模型都包括了新队列中hash值所记录相同的个数,旧队列中hash值所记录的相同个数。
优选的,所要求的hash表,对于列表中的每个entry模型都包括了新队列中hash值所记录相同的个数,表中的模型同时也包括了标识是否有状态修改的状态值。
优选的,所要求的hash表,对于列表中的每个entry模型都包括了新队列中hash值所记录相同的个数,表中的模型同时也包括了旧的队列中当前hash所对应的对象序号堆栈。
与现有技术相比,本发明具有如下有益效果:
本发明中,通过一种diff算法与数据驱动的形式将列表的刷新做到了局部刷新,对于有修改的数据才会进行数据刷新或者新增,同时具有较低的时间复杂度,提高了效率,带来更好的使用前景。
附图说明
图1为本发明一种移动端列表数据diff算法的算法流程图;
图2为本发明一种移动端列表数据diff算法的界面数据框架图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于时代数媒科技股份有限公司,未经时代数媒科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910257897.9/2.html,转载请声明来源钻瓜专利网。