页面的更新方法技术

技术编号:39568122 阅读:9 留言:0更新日期:2023-12-03 19:19
本公开的实施方式提供了一种页面的更新方法

【技术实现步骤摘要】
页面的更新方法、装置、存储介质和计算设备


[0001]本公开的实施方式涉及计算机
,更具体地,本公开的实施方式涉及一种页面的更新方法

装置

存储介质和计算设备


技术介绍

[0002]本部分旨在为本公开的实施方式提供背景或上下文

此处的描述不因为包括在本部分中就承认是现有技术

[0003]随着计算机技术的发展,用户可以在终端上安装各种应用程序,在应用程序内部展示页面或通过浏览器展示页面,从而浏览页面获取感兴趣的内容

[0004]上述应用程序或浏览器可以通过渲染实现页面的显示,渲染可以是指将页面数据根据样式规则显示在浏览器窗口或应用程序内部窗口中的过程

在页面更新时,需要再次渲染用于更新页面的页面更新数据,从而显示更新后的页面

[0005]在实际应用中,由于更新前后的页面中存在一些没有变化的页面内容;但在页面更新时,并不会区分哪些是需要更新的页面内容,哪些是不需要更新的页面内容,这就导致需要对所有的页面内容都进行渲染;从而需要耗费大量渲染时间,导致页面的更新显示效率低


技术实现思路

[0006]在本公开实施方式的第一方面中,提供了一种页面的更新方法

应用于前端的客户端,所述方法包括:
[0007]接收服务端下发的页面更新数据;其中,所述页面更新数据包括页面中的组件对象的对象数据和第一标识码;
[0008]获取页面中的组件对象的第二标识码;其中,所述第二标识码为前一次页面更新数据中组件对象的第一标识码;
[0009]比对同一组件对象的第一标识码和第二标识码,确定第一标识码和第二标识码不一致的目标组件对象;
[0010]基于所述页面更新数据中的目标组件对象的对象数据,对页面中显示的目标组件对象进行更新

[0011]可选的,所述页面更新数据的数据结构包括树形结构,所述树形结构由若干节点构成,所述若干节点包括一个根节点

所述根节点下若干层级的子节点;
[0012]其中,最后一层的子节点为叶子节点,每个节点一一对应了所述页面中的组件对象,每个节点中记录有所对应的组件对象的对象数据和第一标识码

[0013]可选的,所述比对同一组件对象的第一标识码和第二标识码,确定第一标识码和第二标识码不一致的目标组件对象,包括:
[0014]将根节点确定为当前比对节点,循环执行以下步骤,直至当前比对节点不存在子节点:
[0015]将接收到的树形结构中所述当前比对节点的第一标识码,与本地存储的树形结构中所述当前比对节点的第二标识码进行比对;
[0016]响应于比对结果为不一致,将所述当前比对节点的子节点确定为新的当前比对节点

[0017]可选的,还包括:
[0018]将比对结果不一致的目标节点的第一标识码作为新的第二标识码,替换所述本地存储的树形结构中的目标节点的第二标识码

[0019]可选的,还包括:
[0020]响应于比对结果为一致,将所述当前比对节点和所述当前比对节点的所有子节点确定为无需更新的节点

[0021]可选的,所述第一标识码包括数字摘要,所述数字摘要由所述节点的所有子节点的数字摘要进一步计算得到的数字摘要

[0022]可选的,所述数字摘要包括基于哈希算法计算得到的哈希值

[0023]可选的,所述页面包括
web
页面,所述树形结构包括
DOM
的对象树

[0024]在本公开实施方式的第二方面中,提供了一种页面的更新装置,应用于前端的客户端,所述装置包括:
[0025]接收单元,接收服务端下发的页面更新数据;其中,所述页面更新数据包括页面中的组件对象的对象数据和第一标识码;
[0026]获取单元,获取页面中的组件对象的第二标识码;其中,所述第二标识码为前一次页面更新数据中组件对象的第一标识码;
[0027]比对单元,比对同一组件对象的第一标识码和第二标识码,确定第一标识码和第二标识码不一致的目标组件对象;
[0028]更新单元,基于所述页面更新数据中的目标组件对象的对象数据,对页面中显示的目标组件对象进行更新

[0029]可选的,所述页面更新数据的数据结构包括树形结构,所述树形结构由若干节点构成,所述若干节点包括根节点

所述根节点下若干层级的子节点;
[0030]其中,最后一层的子节点为叶子节点,每个节点一一对应所述页面中的组件对象,每个节点中记录有所对应的组件对象的对象数据和第一标识码

[0031]可选的,所述比对单元,进一步包括:
[0032]确定子单元,将根节点确定为当前比对节点,执行循环子单元,直至当前比对节点不存在子节点:
[0033]循环子单元,将接收到的树形结构中所述当前比对节点的第一标识码,与本地存储的树形结构中所述当前比对节点的第二标识码进行比对;响应于比对结果为不一致,将所述当前比对节点的子节点确定为新的当前比对节点

[0034]可选的,还包括:
[0035]替换单元,将比对结果不一致的目标节点的第一标识码作为新的第二标识码,替换所述本地存储的树形结构中的目标节点的第二标识码

[0036]可选的,所述循环子单元还用于响应于比对结果为一致,将所述当前比对节点和所述当前比对节点的所有子节点确定为无需更新的节点

[0037]可选的,所述第一标识码包括数字摘要,所述数字摘要由所述节点的所有子节点的数字摘要进一步计算得到的数字摘要

[0038]可选的,所述数字摘要包括基于哈希算法计算得到的哈希值

[0039]可选的,所述页面包括
web
页面,所述树形结构包括
DOM
的对象树

[0040]在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,包括:
[0041]当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前任一项所述的页面的更新方法

[0042]在本公开实施方式的第四方面中,提供了一种计算设备,包括:
[0043]处理器;
[0044]用于存储所述处理器可执行指令的存储器;
[0045]其中,所述处理器被配置为执行所述可执行指令,以实现如前任一项所述的页面的更新方法

[0046]根据本公开实施方式提供的页面的更新方案,通过在页面更新数据中携带页面中的组件对象的第一标识码;客户端可以比对第一标识码与本地存储的第二标识码;如果两者一致,说明下发的页面更新数据中的组件对象与当前显示的组件对象本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种页面的更新方法,应用于前端的客户端,所述方法包括:接收服务端下发的页面更新数据;其中,所述页面更新数据包括页面中的组件对象的对象数据和第一标识码;获取页面中的组件对象的第二标识码;其中,所述第二标识码为前一次页面更新数据中组件对象的第一标识码;比对同一组件对象的第一标识码和第二标识码,确定第一标识码和第二标识码不一致的目标组件对象;基于所述页面更新数据中的目标组件对象的对象数据,对页面中显示的目标组件对象进行更新
。2.
根据权利要求1所述的方法,所述页面更新数据的数据结构包括树形结构,所述树形结构由若干节点构成,所述若干节点包括一个根节点

所述根节点下若干层级的子节点;其中,最后一层的子节点为叶子节点,每个节点一一对应了所述页面中的组件对象,每个节点中记录有所对应的组件对象的对象数据和第一标识码
。3.
根据权利要求2所述的方法,所述比对同一组件对象的第一标识码和第二标识码,确定第一标识码和第二标识码不一致的目标组件对象,包括:将根节点确定为当前比对节点,循环执行以下步骤,直至当前比对节点不存在子节点:将接收到的树形结构中所述当前比对节点的第一标识码,与本地存储的树形结构中所述当前比对节点的第二标识码进行比对;响应于比对结果为不一致,将所述当前比对节点的子节点确定为新的当前比对节点
。4.
根据权利要求3所述的方法,还包括:将比对结果不一致的目标节点的第一标识码作为新的第二标识码,替换所述本地存储的树形结构中的目标节点的第二标识码
...

【专利技术属性】
技术研发人员:金雅博张文黄天亮宁家麟
申请(专利权)人:杭州网易云音乐科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1