CN107451181A - 页面渲染方法和装置 - Google Patents

页面渲染方法和装置 Download PDF

Info

Publication number
CN107451181A
CN107451181A CN201710448764.0A CN201710448764A CN107451181A CN 107451181 A CN107451181 A CN 107451181A CN 201710448764 A CN201710448764 A CN 201710448764A CN 107451181 A CN107451181 A CN 107451181A
Authority
CN
China
Prior art keywords
rendering data
page
rendering
data
rendered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710448764.0A
Other languages
English (en)
Other versions
CN107451181B (zh
Inventor
吴洋
白杨
肖仁晖
徐辛承
董庆明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaodu Information Technology Co Ltd
Original Assignee
Beijing Xiaodu Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaodu Information Technology Co Ltd filed Critical Beijing Xiaodu Information Technology Co Ltd
Priority to CN201710448764.0A priority Critical patent/CN107451181B/zh
Publication of CN107451181A publication Critical patent/CN107451181A/zh
Application granted granted Critical
Publication of CN107451181B publication Critical patent/CN107451181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种页面渲染方法和装置,该方法包括:响应于用户触发的页面显示操作,从本地缓存中获取页面的第一渲染数据;向服务器发送数据获取请求,以获取页面的第二渲染数据;根据第一渲染数据和第二渲染数据对页面进行渲染。由于第一渲染数据的获取速度很高,第二渲染数据是最新的渲染数据,因此,结合第一渲染数据和第二渲染数据对页面进行渲染,能够提高页面渲染的及时性和准确性。

Description

页面渲染方法和装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种页面渲染方法和装置。
背景技术
用户的诸如智能手机等终端设备中往往会安装有多个应用程序的客户端,以满足用户的使用需求。举例来说,很多用户的手机中都安装有外卖客户端,以满足用户的随时随地网上订餐等购物需求。
当用户使用某个客户端时,可以通过向相应的服务器发送请求,以请求获得客户端页面的渲染数据,进而基于获得的渲染数据对页面进行渲染、展示。另外,也可以通过使用静态数据实现对页面的渲染。
发明内容
通过实时请求服务器以获得页面的渲染数据,很可能受到异常网络环境的影响而导致无法及时获得渲染数据,从而使得页面渲染的及时性难以保证。而通过静态数据对页面进行渲染,由于静态数据的更新往往很不及时,使得渲染出的页面渲染的准确性不佳。
有鉴于此,本发明实施例提供一种页面渲染方法和装置,用以提高页面渲染的及时性和准确性。
第一方面,本发明实施例提供一种页面渲染方法,包括:
响应于用户触发的页面访问操作,从本地缓存中获取所述页面的第一渲染数据;
向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
第二方面,本发明实施例提供一种页面渲染装置,包括:
第一获取模块,用于响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据;
第二获取模块,用于向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
渲染模块,用于根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
在一个可能的设计中,上述页面显示装置的结构中包括处理器和存储器,所述存储器用于存储支持页渲染装置执行上述第一方面中页面渲染方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述页面渲染装置还可以包括通信接口,用于页面显示装置与其他设备或通信网络通信。
第三方面,本发明实施例提供了一种计算机存储介质,用于储存页面渲染装置所用的计算机软件指令,其包含用于执行上述第一方面中页面渲染方法所涉及的程序。
本发明实施例提供的页面渲染方法和装置,当需要显示客户端的某页面时,一方面从客户端的本地缓存中获取预先缓存于本地的第一渲染数据,另一方面向服务器发送数据获取请求,以从服务器中获取第二渲染数据,从而,根据第一渲染数据和第二渲染数据来对页面进行渲染。由于第一渲染数据的获取速度很高,第二渲染数据是最新的渲染数据,因此,结合第一渲染数据和第二渲染数据对页面进行渲染,能够提高页面渲染的及时性和准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的页面渲染方法实施例一的流程图;
图2为本发明实施例提供的页面渲染方法实施例二的流程图;
图3为本发明实施例提供的页面渲染装置实施例一的结构示意图;
图4为本发明实施例提供的页面渲染装置实施例二的结构示意图;
图5为本发明实施例提供的与页面渲染装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
进一步值得说明的是,本发明各实施例中各步骤之间的顺序是可以调整的,不是必须按照以下举例的顺序执行。
图1为本发明实施例提供的页面渲染方法实施例一的流程图,本实施例提供的该页面渲染方法可以由一页面渲染装置来执行,该页面渲染装置可以实现为软件,或者实现为软件和硬件的组合,该页面渲染装置可以集成设置在用户侧的终端设备中。如图1所示,该方法包括如下步骤:
101、响应于用户触发的页面显示操作,从本地缓存中获取页面的第一渲染数据。
102、向服务器发送数据获取请求,以获取页面的第二渲染数据。
103、根据第一渲染数据和第二渲染数据对页面进行渲染。
上述页面显示操作可以是客户端的开启操作,也可以是用户对客户端已经显示的页面执行的滑动操作,且该滑动操作导致需要显示另一页面。
从而,当用户触发了针对某页面的显示操作时,为了能够显示出该页面,需要对该页面进行渲染。本发明实施例中,页面渲染所需的渲染数据来源,可以来自服务器,也可以来自客户端本地。
其中,服务器中存储有页面的最新的渲染数据,客户端本地缓存中可以存储有预先生成的页面的静态数据,也可以存储有预先从服务器获取的渲染数据。该静态数据的生命周期往往很长,而该从服务器获得的渲染数据的生命周期往往较短。
在一可选实现方式中,客户端可以每隔一定时间向服务器发送数据获取请求,以获取此时页面的渲染数据,并将获得的渲染数据更新到本地缓存中,形成第一渲染数据,以备后用。
因此,当用户触发了上述页面显示操作后,可以一方面从本地缓存中获取该页面对应的第一渲染数据,另一方面向服务器发送数据获取请求,以从服务器中获取该页面的第二渲染数据,从而根据第一渲染数据和第二渲染数据对页面进行渲染。
值得说明的是,一般情况下,从本地缓存中获取第一渲染数据的速度要快于从服务器中获取第二渲染数据的速度,因此,可选地,在先从本地缓存中获取到第一渲染数据后,可以随即使用该第一渲染数据对页面进行渲染。如果后续接收到服务器反馈的第二渲染数据,则可以使用该第二渲染数据对该页面进行增量更新。
由于第二渲染数据相对于第一渲染数据来说,是客户端实时从服务器获取的,是最新的渲染数据,而当页面更新频繁时,第二渲染数据可能与第一渲染数据不完全相同。当第一渲染数据与第二渲染数据存在不同时,由于第二渲染数据是最新的,因此,应该以第二渲染数据为准,以保证页面渲染的准确性。
从而,当已经采用第一渲染数据对页面进行渲染后,在获得第二渲染数据,采用第二渲染数据对页面进行增量更新时,可以对比第二渲染数据和第一渲染数据,仅根据差异渲染数据在页面上进行增量更新渲染,其中,差异渲染数据是指第二渲染数据与第一渲染数据不同的部分数据。
综上,由于第一渲染数据被很快获得,从而使得页面渲染的及时性很高,不会导致用户需要等待很长时间才能看到页面上渲染出的数据内容。由于第二渲染数据是最新的,基于第二渲染数据的增量更新,可以保证页面渲染的准确性,使得用户能够看到最新版的页面。
值得说明的是,上述提及到客户端本地缓存中存储的数据可以包括静态数据和预先从服务器获得的渲染数据,为方便区别,称预先从服务器获得的渲染数据为第一渲染数据,称静态数据为第三渲染数据。而本实施例中,当本地缓存中存在第一渲染数据时,则从本地缓存中获得该第一渲染数据,而如果本地缓存中不存在该第一渲染数据时,则可选地,可以获取该第三渲染数据,以基于第三渲染数据和第二渲染数据对页面进行渲染。而根据第三渲染数据和第二渲染数据对页面进行渲染的过程与根据第一渲染数据和第二渲染数据对页面进行渲染的过程一致,不再赘述。
在实际应用中,本地缓存中可能不存在上述第一渲染数据的情形可以包括:页面被首次进行渲染显示的操作。比如,用户在安装完客户端后,首次使用该客户端的情况下,本地缓存中可以仅包含第三渲染数据而不包含第一渲染数据。此时,在根据第二渲染数据和第三渲染数据对页面进行渲染之后,可以将此时获得的第二渲染数据存入本地缓存中,作为初始的第一渲染数据。
图2为本发明实施例提供的页面渲染方法实施例二的流程图,如图2所示,可以包括如下步骤:
201、响应于用户触发的页面显示操作,从本地缓存中获取页面的第一渲染数据。
202、向服务器发送数据获取请求,以获取页面的第二渲染数据。
203、确定第一渲染数据和第二渲染数据的获取顺序。
虽然如上述实施例中所说,一般情况下,相对于从服务器中获取第二渲染数据,会优先从本地缓存中获取第一渲染数据,但是,不排除会出现其他情况的发生可能性。而第一渲染数据和第二渲染数据的获取顺序会直接影响页面的渲染策略,因此,需要进行第一渲染数据和第二渲染数据获取顺序的确定。
可选地,可以根据获取时间确定第一渲染数据和第二渲染数据的获取顺序;或者,可选地,可以根据页面中包含的渲染标识确定第一渲染数据和第二渲染数据的获取顺序,其中,该渲染标识用于标记页面是否已被渲染以及渲染数据来源。
对于根据获取时间确定第一渲染数据和第二渲染数据的获取顺序来说:实际应用中,可选地,页面渲染装置的设计架构可以包括三个进程:渲染进程、第一数据获取进程和第二数据获取进程。响应于用户触发的页面显示操作,渲染进程控制第一数据获取进程和第二数据获取进程分别获取第一渲染数据和第二渲染数据,其中,第一数据获取进程用于获取本地缓存中的第一渲染数据,第二数据获取进程用于从服务器中获取第二渲染数据。第一数据获取进程在获取到第一渲染数据后,将第一渲染数据和获取第一渲染数据的获取时间发送至渲染进程,同样地,第二数据获取进程在获取到第二渲染数据后,将第二渲染数据和获取第二渲染数据的获取时间发送至渲染进程,从而,渲染进程可以根据第一渲染数据和第二渲染数据的获取时间确定优先获得了哪个渲染数据。
对于根据页面中包含的渲染标识确定第一渲染数据和第二渲染数据的获取顺序来说:实际应用中,可选地,页面渲染装置的设计架构可以包括三个进程:控制进程、第一渲染进程和第二渲染进程。响应于用户触发的页面显示操作,控制进程向第一渲染进程和第二渲染进程分别发送触发信号,以使第一渲染进程和第二渲染进程分别对页面进行渲染。可选地,第一渲染进程在获取到本地缓存中的第一渲染数据之后,向控制进程发送请求消息,以请求是否可以进行渲染。控制进程此时可以识别页面中是否包含渲染标识,如果没有包含渲染标识,说明页面还没有被渲染,第一渲染数据先被获得,此时令第一渲染进程使用第一渲染数据进行渲染,第一渲染进程在渲染后,对页面进行渲染标识的标记,假设标记为A,说明已经使用本地缓存中的数据对页面进行了渲染;而如果含有渲染标识,则该渲染标识将会是与第二渲染数据对应的渲染标识,假设为B,此时说明第二渲染数据优先被获得,并且已经使用了第二渲染数据对页面进行了渲染,此时,控制进程令第一渲染进程停止渲染。同理,当第二渲染进程获取到第二渲染数据后,如果控制进程发现此时页面中已经包含标识A,则说明第二渲染数据比第一渲染数据晚获得,如果控制进程发现此时页面中不包含渲染标识,则说明第二渲染数据优先获得。
另外,可选地,在根据页面中包含的渲染标识确定第一渲染数据和第二渲染数据的获取顺序时,页面渲染装置架构中也可以仅包含上述第一渲染进程和第二渲染进程。此时,第一渲染进程在获得第一渲染数据后,随即检测页面中是否包含与第二渲染数据对应的渲染标识B,若不包含,则说明第一渲染数据优先获得,反之,说明第一渲染数据后获得。同理,第二渲染进程在获得第二渲染数据后,随即检测页面中是否包含与本地缓存数据对应的渲染标识A,若不包含,则说明第二渲染数据优先获得,反之,说明第二渲染数据后获得。
204、若第二渲染数据优先于第一渲染数据被获得,则根据第二渲染数据对页面进行渲染。
本实施例中,当第二渲染数据被优先获得时,由于第二渲染数据是最新的渲染数据,此时只需要使用第二渲染数据进行页面渲染即可。可以理解的是,此时,如果后续获取到了第一渲染数据,第一渲染数据将会被丢弃,不会使用第一渲染数据进行页面渲染,或者,此时也可以停止第一渲染数据的获取。
205、若第一渲染数据优先于第二渲染数据被获得,并且第一渲染数据的缓存时长小于或等于预设时长,则根据第一渲染数据对所述页面进行渲染。
206、在获得第二渲染数据后,根据第二渲染数据对页面进行增量更新。
可选地,当第一渲染数据被优先获得时,可以随即采用第一渲染数据进行页面渲染。若后续获得了第二渲染数据,再根据第二渲染数据对页面进行增量更新。而如果由于网络异常等原因,无法获得第二渲染数据,则此时页面的显示效果即为第一渲染数据的渲染结果。
由于第一渲染数据是预先从服务器获得的,如果在此后的页面显示过程中,一直都是结合该第一渲染数据进行页面渲染,当服务器网络连接异常时,页面中显示的数据内容将会是第一渲染数据的渲染结果,此时由于第一渲染数据是对应于很久之前的页面版本,将会使得页面的显示内容具有明显的滞后性,因此,实际应用中,可选地,可以为存入本地缓存中的第一渲染数据设置预设时长的生命周期,当已经存入本地缓存的第一渲染数据在本地缓存中的缓存时长还未达到该预设时长,并且该第一渲染数据优先被获得,才会使用该第一渲染数据对页面进行渲染。
207、若第一渲染数据优先于第二渲染数据被获得,并且第一渲染数据的缓存时长大于预设时长,则丢弃第一渲染数据,从本地缓存中获取页面的第三渲染数据,第三渲染数据是页面对应的静态数据。
208、根据第二渲染数据和第三渲染数据对页面进行渲染。
209、从本地缓存中删除第一渲染数据,在获得第二渲染数据后,则将第二渲染数据更新到本地缓存中。
本实施例中,即使第一渲染数据被优先获得,但是,如果该第一渲染数据在本地缓存中的缓存时长已经超过上述预设时长,说明该第一渲染数据已经失效,则不会使用该第一渲染数据进行页面渲染。此时,将会丢弃该第一渲染数据,并从本地缓存中将该第一渲染数据删除。
由于本地缓存中除了包含该第一渲染数据外,还包含第三渲染数据,而该第三渲染数据是长期有效的,因此,此时可以从本地缓存中获取第三渲染数据,以根据第二渲染数据和第三渲染数据对页面进行渲染。
根据第二渲染数据和第三渲染数据对页面进行渲染的过程与根据第一渲染数据和第二渲染数据对页面进行渲染的过程相似,简单来说,包括:
若第三渲染数据优先于第二渲染数据被获得,则根据第三渲染数据对页面进行渲染;在获得第二渲染数据后,根据第二渲染数据对页面进行增量更新;
若第二渲染数据优先于第三渲染数据被获得,则根据第二渲染数据对页面进行渲染。
其中,第三渲染数据和第二渲染数据的获取顺序参考前述说明而实现,不再赘述。
值得说明的是,如果能够从服务器中获得第二渲染数据,则可以将该第二渲染数据更新到本地缓存中,作为新的第一渲染数据,以便针对接下来的预设时长内触发的页面显示操作,可以结合更新后的第一渲染数据进行页面渲染。
综上,本实施例中,当需要显示客户端的某页面时,同时触发从客户端的本地缓存中获取渲染数据,从服务器中获取渲染数据,以便根据来着不同数据源的渲染数据对页面进行渲染。当服务器中的渲染数据被优先获得时,仅需要使用从服务器中获得的渲染数据进行页面渲染便足以保证页面渲染的及时性、准确性;当本地缓存中的渲染数据被优先获得时,先使用本地缓存的渲染数据进行页面渲染,以保证页面渲染的及时性,在从服务器中获得渲染数据后,再对页面进行增量更新,以保证页面渲染的准确性。
以下将详细描述本发明的一个或多个实施例的页面渲染装置。本领域技术人员可以理解,这些页面渲染装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图3为本发明实施例提供的页面渲染装置实施例一的结构示意图,如图3所示,该装置包括:第一获取模块11、第二获取模块12、渲染模块13。
第一获取模块11,用于响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据。
第二获取模块12,用于向服务器发送数据获取请求,以获取所述页面的第二渲染数据。
渲染模块13,用于根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
图3所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图4为本发明实施例提供的页面渲染装置实施例二的结构示意图,如图4所示,在图3所示实施例基础上,在一种可选实现方式中,所述渲染模块13包括:第一渲染单元131。
第一渲染单元131,用于若所述第二渲染数据优先于所述第一渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
在另一种可选实现方式中,所述渲染模块13包括:第二渲染单元132、第三渲染单元133。
第二渲染单元132,用于若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长小于或等于预设时长,则根据所述第一渲染数据对所述页面进行渲染。
第三渲染单元133,用于在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
在又一可选实现方式中,该装置还包括:丢弃模块21、第三获取模块22。
丢弃模块21,用于若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长大于所述预设时长,则丢弃所述第一渲染数据。
第三获取模块22,用于从所述本地缓存中获取所述页面的第三渲染数据,所述第三渲染数据是所述页面对应的静态数据。
此时,可选地,所述渲染模块13还用于:根据所述第二渲染数据和所述第三渲染数据对所述页面进行渲染。
对应于上述又一可选实现方式,可选地,所述渲染模块13还包括:第四渲染单元134、第五渲染单元135。
第四渲染单元134,用于若所述第三渲染数据优先于所述第二渲染数据被获得,则根据所述第三渲染数据对所述页面进行渲染。
第五渲染单元135,用于在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
对应于上述又一可选实现方式,可选地,所述渲染模块13还包括:第六渲染单元136。
第六渲染单元136,用于若所述第二渲染数据优先于所述第三渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
可选地,该装置还包括:删除模块23、更新模块24、确定模块25。
删除模块23,用于若所述第一渲染数据的缓存时长大于所述预设时长,则从所述本地缓存中删除所述第一渲染数据。
更新模块24,用于在获得所述第二渲染数据后,则将所述第二渲染数据更新到所述本地缓存中。
确定模块25,用于根据获取时间确定所述第一渲染数据和所述第二渲染数据的获取顺序;或者,根据所述页面中包含的渲染标识确定所述第一渲染数据和所述第二渲染数据的获取顺序,所述渲染标识用于标记所述页面是否已被渲染以及渲染数据来源。
图4所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上描述了页面渲染装置的内部功能和结构,在一个可能的设计中,页面渲染装置的结构可实现为一电子设备,该电子设备比如为服务器,如图5所示,该电子设备可以包括:处理器31和存储器32。其中,所述存储器32用于存储支持页面渲染装置执行上述任一实施例中提供的页面渲染方法的程序,所述处理器31被配置为用于执行所述存储器32中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器31执行时能够实现如下步骤:
响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据;
向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
可选地,所述处理器31还用于执行前述各方法步骤中的全部或部分步骤。
其中,所述页面渲染装置的结构中还可以包括通信接口33,用于页面渲染装置与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存页面渲染装置所用的计算机软件指令,其包含用于执行上述各方法实施例中页面渲染方法所涉及的程序。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本发明公开A1、一种页面渲染方法,包括:
响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据;
向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
A2、根据A1所述的方法,所述根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染,包括:
若所述第二渲染数据优先于所述第一渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
A3、根据A1所述的方法,所述根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染,包括:
若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长小于或等于预设时长,则根据所述第一渲染数据对所述页面进行渲染;
在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
A4、根据A1所述的方法,所述方法还包括:
若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长大于所述预设时长,则丢弃所述第一渲染数据;
从所述本地缓存中获取所述页面的第三渲染数据,所述第三渲染数据是所述页面对应的静态数据;
根据所述第二渲染数据和所述第三渲染数据对所述页面进行渲染。
A5、根据A4所述的方法,所述根据所述第二渲染数据和所述第三渲染数据对所述页面进行渲染,包括:
若所述第三渲染数据优先于所述第二渲染数据被获得,则根据所述第三渲染数据对所述页面进行渲染;
在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
A6、根据A4所述的方法,所述方法还包括:
若所述第二渲染数据优先于所述第三渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
A7、根据A4所述的方法,所述方法还包括:
若所述第一渲染数据的缓存时长大于所述预设时长,则从所述本地缓存中删除所述第一渲染数据;
在获得所述第二渲染数据后,则将所述第二渲染数据更新到所述本地缓存中。
A8、根据A1至A7中任一项所述的方法,所述方法还包括:
根据获取时间确定所述第一渲染数据和所述第二渲染数据的获取顺序;或者,
根据所述页面中包含的渲染标识确定所述第一渲染数据和所述第二渲染数据的获取顺序,所述渲染标识用于标记所述页面是否已被渲染以及渲染数据来源。
本发明还公开B9、一种页面渲染装置,包括:
第一获取模块,用于响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据;
第二获取模块,用于向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
渲染模块,用于根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
B10、根据B9所述的装置,所述渲染模块包括:
第一渲染单元,用于若所述第二渲染数据优先于所述第一渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
B11、根据B9所述的装置,所述渲染模块包括:
第二渲染单元,用于若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长小于或等于预设时长,则根据所述第一渲染数据对所述页面进行渲染;
第三渲染单元,用于在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
B12、根据B9所述的装置,还包括:
丢弃模块,用于若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长大于所述预设时长,则丢弃所述第一渲染数据;
第三获取模块,用于从所述本地缓存中获取所述页面的第三渲染数据,所述第三渲染数据是所述页面对应的静态数据;
所述渲染模块还用于:根据所述第二渲染数据和所述第三渲染数据对所述页面进行渲染。
B13、根据B12所述的装置,所述渲染模块还包括:
第四渲染单元,用于若所述第三渲染数据优先于所述第二渲染数据被获得,则根据所述第三渲染数据对所述页面进行渲染;
第五渲染单元,用于在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
B14、根据B12所述的装置,所述渲染模块还包括:
第六渲染单元,用于若所述第二渲染数据优先于所述第三渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
B15、根据B12所述的装置,还包括:
删除模块,用于若所述第一渲染数据的缓存时长大于所述预设时长,则从所述本地缓存中删除所述第一渲染数据;
更新模块,用于在获得所述第二渲染数据后,则将所述第二渲染数据更新到所述本地缓存中。
B16、根据B9至B15中任一项所述的装置,还包括:
确定模块,用于根据获取时间确定所述第一渲染数据和所述第二渲染数据的获取顺序;或者,根据所述页面中包含的渲染标识确定所述第一渲染数据和所述第二渲染数据的获取顺序,所述渲染标识用于标记所述页面是否已被渲染以及渲染数据来源。
本发明还公开了C17、一种电子设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如A1至A8中任一项所述的页面渲染方法。
本发明还公开了D18、一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如A1至A8中任一项所述的页面显示方法。

Claims (10)

1.一种页面渲染方法,其特征在于,包括:
响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据;
向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染,包括:
若所述第二渲染数据优先于所述第一渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染,包括:
若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长小于或等于预设时长,则根据所述第一渲染数据对所述页面进行渲染;
在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一渲染数据优先于所述第二渲染数据被获得,并且所述第一渲染数据的缓存时长大于所述预设时长,则丢弃所述第一渲染数据;
从所述本地缓存中获取所述页面的第三渲染数据,所述第三渲染数据是所述页面对应的静态数据;
根据所述第二渲染数据和所述第三渲染数据对所述页面进行渲染。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二渲染数据和所述第三渲染数据对所述页面进行渲染,包括:
若所述第三渲染数据优先于所述第二渲染数据被获得,则根据所述第三渲染数据对所述页面进行渲染;
在获得所述第二渲染数据后,根据所述第二渲染数据对所述页面进行增量更新。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第二渲染数据优先于所述第三渲染数据被获得,则根据所述第二渲染数据对所述页面进行渲染。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一渲染数据的缓存时长大于所述预设时长,则从所述本地缓存中删除所述第一渲染数据;
在获得所述第二渲染数据后,则将所述第二渲染数据更新到所述本地缓存中。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
根据获取时间确定所述第一渲染数据和所述第二渲染数据的获取顺序;或者,
根据所述页面中包含的渲染标识确定所述第一渲染数据和所述第二渲染数据的获取顺序,所述渲染标识用于标记所述页面是否已被渲染以及渲染数据来源。
9.一种页面渲染装置,其特征在于,包括:
第一获取模块,用于响应于用户触发的页面显示操作,从本地缓存中获取所述页面的第一渲染数据;
第二获取模块,用于向服务器发送数据获取请求,以获取所述页面的第二渲染数据;
渲染模块,用于根据所述第一渲染数据和所述第二渲染数据对所述页面进行渲染。
10.根据权利要求9所述的装置,其特征在于,还包括:
确定模块,用于根据获取时间确定所述第一渲染数据和所述第二渲染数据的获取顺序;或者,根据所述页面中包含的渲染标识确定所述第一渲染数据和所述第二渲染数据的获取顺序,所述渲染标识用于标记所述页面是否已被渲染以及渲染数据来源。
CN201710448764.0A 2017-06-14 2017-06-14 页面渲染方法和装置 Active CN107451181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710448764.0A CN107451181B (zh) 2017-06-14 2017-06-14 页面渲染方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710448764.0A CN107451181B (zh) 2017-06-14 2017-06-14 页面渲染方法和装置

Publications (2)

Publication Number Publication Date
CN107451181A true CN107451181A (zh) 2017-12-08
CN107451181B CN107451181B (zh) 2020-09-22

Family

ID=60487001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710448764.0A Active CN107451181B (zh) 2017-06-14 2017-06-14 页面渲染方法和装置

Country Status (1)

Country Link
CN (1) CN107451181B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804164A (zh) * 2018-05-22 2018-11-13 北京五八信息技术有限公司 小程序的数据渲染方法、装置、移动终端及存储介质
CN109408497A (zh) * 2018-09-20 2019-03-01 阿里巴巴集团控股有限公司 一种数据的渲染方法、装置及设备
CN110347493A (zh) * 2019-07-16 2019-10-18 广州虎牙科技有限公司 页面数据的处理方法、显示方法、装置、设备及存储介质
CN110647698A (zh) * 2019-08-12 2020-01-03 视联动力信息技术股份有限公司 页面加载方法、装置、电子设备及可读存储介质
CN110727422A (zh) * 2019-09-30 2020-01-24 杭州涂鸦信息技术有限公司 一种基于前端同构框架下的多语言性能提升方法及系统
CN110866200A (zh) * 2019-11-12 2020-03-06 北京城市网邻信息技术有限公司 一种业务界面的渲染方法和装置
CN111177601A (zh) * 2018-11-12 2020-05-19 北京嘀嘀无限科技发展有限公司 页面渲染处理方法、装置、设备及可读存储介质
CN111741257A (zh) * 2020-05-21 2020-10-02 深圳市商汤科技有限公司 数据处理方法及装置、电子设备及存储介质
CN112035765A (zh) * 2020-07-30 2020-12-04 长沙市到家悠享网络科技有限公司 页面渲染方法、装置和设备
CN112507259A (zh) * 2020-12-15 2021-03-16 广州博冠信息科技有限公司 网页加载方法及装置、电子设备、存储介质
CN112559922A (zh) * 2020-12-08 2021-03-26 歌尔科技有限公司 页面渲染方法、终端设备及存储介质
CN112948011A (zh) * 2019-11-26 2021-06-11 上海哔哩哔哩科技有限公司 一种二级页面加载的方法及装置
WO2022134428A1 (zh) * 2020-12-25 2022-06-30 北京百度网讯科技有限公司 小程序页面渲染方法、装置、电子设备及存储介质
CN115550295A (zh) * 2022-09-01 2022-12-30 钉钉(中国)信息技术有限公司 消息处理方法、消息显示方法及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630902A (zh) * 2015-12-21 2016-06-01 明博教育科技股份有限公司 一种渲染和增量更新网页的方法
CN105843814A (zh) * 2015-01-14 2016-08-10 阿里巴巴集团控股有限公司 一种页面生成方法、装置及系统
CN106776761A (zh) * 2016-11-18 2017-05-31 武汉斗鱼网络科技有限公司 一种移动浏览器渲染网页的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843814A (zh) * 2015-01-14 2016-08-10 阿里巴巴集团控股有限公司 一种页面生成方法、装置及系统
CN105630902A (zh) * 2015-12-21 2016-06-01 明博教育科技股份有限公司 一种渲染和增量更新网页的方法
CN106776761A (zh) * 2016-11-18 2017-05-31 武汉斗鱼网络科技有限公司 一种移动浏览器渲染网页的方法及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804164A (zh) * 2018-05-22 2018-11-13 北京五八信息技术有限公司 小程序的数据渲染方法、装置、移动终端及存储介质
CN109408497A (zh) * 2018-09-20 2019-03-01 阿里巴巴集团控股有限公司 一种数据的渲染方法、装置及设备
CN109408497B (zh) * 2018-09-20 2022-02-08 创新先进技术有限公司 一种数据的渲染方法、装置及设备
CN111177601B (zh) * 2018-11-12 2024-01-05 北京嘀嘀无限科技发展有限公司 页面渲染处理方法、装置、设备及可读存储介质
CN111177601A (zh) * 2018-11-12 2020-05-19 北京嘀嘀无限科技发展有限公司 页面渲染处理方法、装置、设备及可读存储介质
CN110347493A (zh) * 2019-07-16 2019-10-18 广州虎牙科技有限公司 页面数据的处理方法、显示方法、装置、设备及存储介质
CN110647698B (zh) * 2019-08-12 2022-01-14 视联动力信息技术股份有限公司 页面加载方法、装置、电子设备及可读存储介质
CN110647698A (zh) * 2019-08-12 2020-01-03 视联动力信息技术股份有限公司 页面加载方法、装置、电子设备及可读存储介质
CN110727422A (zh) * 2019-09-30 2020-01-24 杭州涂鸦信息技术有限公司 一种基于前端同构框架下的多语言性能提升方法及系统
CN110727422B (zh) * 2019-09-30 2023-10-20 杭州涂鸦信息技术有限公司 一种基于前端同构框架下的多语言性能提升方法及系统
CN110866200A (zh) * 2019-11-12 2020-03-06 北京城市网邻信息技术有限公司 一种业务界面的渲染方法和装置
CN112948011A (zh) * 2019-11-26 2021-06-11 上海哔哩哔哩科技有限公司 一种二级页面加载的方法及装置
CN112948011B (zh) * 2019-11-26 2023-08-08 上海哔哩哔哩科技有限公司 一种二级页面加载的方法及装置
CN111741257A (zh) * 2020-05-21 2020-10-02 深圳市商汤科技有限公司 数据处理方法及装置、电子设备及存储介质
CN112035765A (zh) * 2020-07-30 2020-12-04 长沙市到家悠享网络科技有限公司 页面渲染方法、装置和设备
CN112559922A (zh) * 2020-12-08 2021-03-26 歌尔科技有限公司 页面渲染方法、终端设备及存储介质
CN112507259A (zh) * 2020-12-15 2021-03-16 广州博冠信息科技有限公司 网页加载方法及装置、电子设备、存储介质
WO2022134428A1 (zh) * 2020-12-25 2022-06-30 北京百度网讯科技有限公司 小程序页面渲染方法、装置、电子设备及存储介质
CN115550295A (zh) * 2022-09-01 2022-12-30 钉钉(中国)信息技术有限公司 消息处理方法、消息显示方法及计算设备

Also Published As

Publication number Publication date
CN107451181B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
CN107451181A (zh) 页面渲染方法和装置
US9348857B2 (en) Probabilistically finding the connected components of an undirected graph
US8185897B2 (en) Task management system
CN107395659A (zh) 一种业务受理及共识的方法及装置
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
CN107710215A (zh) 在测试设施中的移动计算装置安全的方法和设备
CN104778123B (zh) 一种检测系统性能的方法及装置
CA3197915A1 (en) Techniques for clickstream tracking across browser tabs
CN108809855A (zh) 消息管理方法、装置及电子设备
CN110022227A (zh) 业务处理方法、装置、设备及存储介质
CN103858121B (zh) 使Web应用获取数据库变化的方法和系统
CA2791743C (en) Private web browsing using encrytion
US10133768B2 (en) Latest external dependee entity in transaction record
CN105900121A (zh) 用于生成活动流的方法
CN107018174A (zh) 一种单元化系统服务处理的方法、装置及业务处理系统
CN106878370A (zh) 一种本地缓存的更新方法和设备
CN106897053A (zh) 一种代码发布方法与装置
CN107633015A (zh) 一种数据处理方法、装置及设备
CN109743222A (zh) 一种数据测试方法及相关设备
CN110858242A (zh) 页面跳转方法及装置
CN108810268A (zh) 操作记录的处理方法和装置
CN110020297A (zh) 一种网页内容的加载方法、装置及系统
WO2017133229A1 (zh) 一种移动终端的图片显示方法和装置
CN110059276A (zh) 页面更新方法、装置、设备和存储介质
CN109656825A (zh) 美术资源处理的方法及装置、电子设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Building N3, Jinyu Zhizao workshop, No. 27, Jiancai Chengzhong Road, Haidian District, Beijing 100096

Applicant after: Beijing Xingxuan Technology Co.,Ltd.

Address before: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202

Applicant before: Beijing Xiaodu Information Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant