CN112149016A - 页面处理方法、装置、设备和存储介质 - Google Patents
页面处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112149016A CN112149016A CN201910579910.2A CN201910579910A CN112149016A CN 112149016 A CN112149016 A CN 112149016A CN 201910579910 A CN201910579910 A CN 201910579910A CN 112149016 A CN112149016 A CN 112149016A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- page data
- current
- cached
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation 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
技术领域
本申请涉及计算机技术领域,尤其涉及一种页面处理方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展和进步,页面的应用已经非常广泛。页面上可以展示各类内容,例如文字、图片、视频等等。用户在点击页面以观看页面的时候,终端设备需要根据页面数据处理页面,进而显示页面。
现有技术中,用户点击页面之后,终端设备可以从服务器中获取页面数据,即,获取到数据资源;然后,终端设备将从服务器中获取到的页面数据,展示到页面上,进而显示页面。
然而现有技术中,终端设备每次处理页面的时候,都需要从服务器获取全部的页面数据;然后,终端设备将获取到的全部的页面数据进行缓存,并且根据全部的页面数据去处理页面。从而,终端设备需要将获取到的全部的页面数据进行缓存,从而占据了终端设备的处理资源,影响了页面的处理效率。
发明内容
本申请提供一种页面处理方法、装置、设备和存储介质,用以解决终端设备需要将获取到的全部的页面数据进行缓存,从而占据了终端设备的处理资源,影响了页面的处理效率的问题。
第一方面,本申请提供了一种页面处理方法,包括:
获取服务器中的第一页面数据,其中,所述第一页面数据中包括静态资源数据和动态资源数据;
若所述第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,所述第一更新数据为所述第一页面数据中的与所述第二页面数据不同的数据,所述第二页面数据中包括静态资源数据和动态资源数据;
根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据;
将所述第三页面数据中的静态资源数据,加载至所述当前页面上,并显示当前页面;并以消息传递方式将所述第三页面数据中的动态资源数据,传递至所述当前页面上,并显示所述当前页面。
可选的,所述第三页面数据中包括所述第一更新数据和第二更新数据,其中,所述第二更新数据为所述第二页面数据中的与所述第一更新数据不同的数据。
可选的,在根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据之后,还包括:
将所述本地缓存的第二页面数据替换为所述第三页面数据。
可选的,在所述获取服务器中的第一页面数据之前,还包括:
获取待缓存的第二页面数据,并将所述第二页面数据缓存至本地。
可选的,所述获取待缓存的第二页面数据,包括:
在本地缓存的数据与当前显示的页面上的数据不同时,获取当前显示的页面上的数据;
将当前显示的页面上的数据,作为所述待缓存的第二页面数据。
可选的,所述获取待缓存的第二页面数据,包括:
获取当前显示的页面上的数据,并将当前显示的页面上的数据,作为所述待缓存的第二页面数据。
可选的,所述方法,还包括:
若无法从所述服务器中获取所述第一页面数据,则根据所述本地缓存的第二页面数据,处理并显示当前页面;
或者,所述方法,还包括:
若采用所述第三页面数据处理当前页面失败,则采用所述第二页面数据,处理并显示当前页面;
或者,所述方法,还包括:
若所述第一页面数据与本地缓存的第二页面数据相同,则采用所述第二页面数据,处理并显示当前页面。
可选的,所述当前页面为访问状态,或者,所述当前页面为编辑状态。
第三方面,本申请提供了一种页面处理装置,包括:
获取单元,用于获取服务器中的第一页面数据,其中,所述第一页面数据中包括静态资源数据和动态资源数据;
第一确定单元,用于若所述第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,所述第一更新数据为所述第一页面数据中的与所述第二页面数据不同的数据,所述第二页面数据中包括静态资源数据和动态资源数据;
更新单元,用于根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据;
第一处理单元,用于将所述第三页面数据中的静态资源数据,加载至当前页面上,并显示所述当前页面;并以消息传递方式将所述第三页面数据中的动态资源数据,传递至所述当前页面上,并显示所述当前页面。
可选的,所述第三页面数据中包括所述第一更新数据和第二更新数据,其中,所述第二更新数据为所述第二页面数据中的与所述第一更新数据不同的数据。
可选的,所述装置,还包括:
替换单元,用于在更新单元根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据之后,将所述本地缓存的第二页面数据替换为所述第三页面数据。
可选的,所述装置,还包括:
缓存单元,用于在所述获取单元获取服务器中的第一页面数据之前,获取待缓存的第二页面数据,并将所述第二页面数据缓存至本地。
可选的,所述缓存单元,具体用于:
在本地缓存的数据与当前显示的页面上的数据不同时,获取当前显示的页面上的数据;
将当前显示的页面上的数据,作为所述待缓存的第二页面数据。
可选的,所述缓存单元,具体用于:
获取当前显示的页面上的数据,并将当前显示的页面上的数据,作为所述待缓存的第二页面数据。
可选的,所述装置,还包括:
第二处理单元,用于若无法从所述服务器中获取所述第一页面数据,则根据所述本地缓存的第二页面数据,处理并显示当前页面;
或者,所述装置,还包括:
第三处理单元,用于若采用所述第三页面数据处理当前页面失败,则采用所述第二页面数据,处理并显示当前页面;
或者,所述装置,还包括:
第四处理单元,用于若所述第一页面数据与本地缓存的第二页面数据相同,则采用所述第二页面数据,处理并显示当前页面。
可选的,所述当前页面为访问状态,或者,所述当前页面为编辑状态。
第三方面,本申请提供了一种页面处理设备,包括用于执行以上第一方面的任一方法各个步骤的单元或者手段(means)。
第四方面,本申请提供了一种页面处理设备,包括处理器、存储器以及计算机程序,其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现第一方面的任一方法。
第五方面,本申请提供了一种页面处理设备,包括用于执行以上第一方面的任一方法的至少一个处理元件或芯片。
第六方面,本申请提供了一种计算机程序,该计算程序在被处理器执行时用于执行以上第一方面的任一方法。
第七方面,本申请提供了一种计算机可读存储介质,其上存储有第六方面的计算机程序。
本申请提供的页面处理方法、装置、设备和存储介质,通过获取服务器中的第一页面数据,其中,第一页面数据中包括静态资源数据和动态资源数据;若第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,第一更新数据为第一页面数据中的与第二页面数据不同的数据,第二页面数据中包括静态资源数据和动态资源数据;根据第一更新数据,更新第二页面数据,得到第三页面数据;将第三页面数据中的静态资源数据,加载至当前页面上,并显示当前页面;并以消息传递方式将第三页面数据中的动态资源数据,传递至当前页面上,并显示当前页面。可以从服务器中获取第一页面数据;在第一页面数据与本地缓存的第二页面数据不同的时候,确定需要更新本地缓存的第二页面数据;此时,从第一页面数据中提取出与第二页面数据不同的数据,作为第一更新数据;保留第二页面数据中的与第一页面数据相同的数据,并且将第一页面数据添加到本地缓存的第二页面数据中,进而得到第三页面数据。从而,在需要更新缓存的页面数据的时候,只需要将本地缓存的页面数据中需要更新的部分进行更新,提供了一种增量更新的方式,可以减少所使用的处理资源,提高终端设备的缓存更新效率。并且,针对第三页面数据中的静态资源数据和动态资源数据,采用不同的数据显示方式,保证第三页面数据中的静态资源数据和动态资源数据可以成功的显示到当前页面上。并且,由于在处理页面之前,只需要对缓存的页面数据进行部分的更新,然后就可以去根据所得到的更新后的页面数据去处理页面,由于页面数据的缓存的更新速率较快,进而得到更新后的页面数据的速度较快,进一步的可以提高处理页面的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种页面处理方法的流程示意图;
图2为本申请实施例提供的另一种页面处理方法的流程示意图;
图3为本申请实施例提供的一种页面处理装置的结构示意图;
图4为本申请实施例提供的另一种页面处理装置的结构示意图;
图5为本申请实施例提供的一种页面处理设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要指出的是,本申请实施例中涉及的名词或术语可以相互参考,不再赘述。
本申请具体的应用场景为:随着计算机技术的发展,页面已经非常常见。其中,随着HTML5的标准的制定,H5页面也越来越多的被应用,其中,H5页面具有跨平台性好、适配灵活、上线周期短等优点。随着前端技术的发展,现有浏览器技术可以一定程度上实现前端页面的离线存储,但是只能存储字符串、且存储速度慢。具体来说,现有技术中,用户点击页面之后,终端设备可以从服务器中获取全部的页面数据;然后,终端设备将获取到的全部的页面数据进行缓存,并且根据全部的页面数据去处理页面。
从而,现有技术中,终端设备需要将获取到的全部的页面数据进行缓存,从而,在需要更新缓存的页面数据的时候,需要将获取的全部的页面数据替换掉已经缓存的页面数据,从而占据了终端设备的处理资源。其次,在处理页面之前,是需要将全部的页面数据替换掉已经缓存的页面数据,然后才能根据获取到的全部的页面数据、或者根据缓存的页面数据,去处理页面,从而处理页面的效率较低。还有,由于根据获取到的全部的页面数据、或者被更新的缓存的页面数据去处理页面,一旦获取到的页面数据有问题,则无法对页面进行处理。再者,现有技术中,终端设备通过浏览器保留页面资源的时候,由于一些情况下只能支持保留静态资源,进而导致无法保留住所有的页面资源。
本申请提供的页面处理方法、装置、设备和存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种页面处理方法的流程示意图。如图1所示,该方法包括:
S101、获取服务器中的第一页面数据,其中,第一页面数据中包括静态资源数据和动态资源数据。
在本实施例中,本实施例的执行主体可以是终端设备、或者页面处理装置或设备、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为终端设备进行说明。
在用户进入页面的时候,此时,用户在访问页面,用户在编辑页面;终端设备可以检测到页面触发指令,然后,终端设备确定需要显示页面。
终端设备向服务器发送数据获取请求,其中,数据获取请求中包括页面标识;服务器根据数据获取请求中的页面标识,从服务器的数据库中确定出与页面标识对应的页面数据,即确定出第一页面数据。然后,服务器将第一页面数据,发送给终端设备。
其中,第一页面数据可以是静态资源的页面数据,或者,第一页面数据可以是动态资源的页面数据,或者,第一页面数据中包括了静态资源的页面数据和动态资源的页面数据。
S102、若第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,第一更新数据为第一页面数据中的与第二页面数据不同的数据,第二页面数据中包括静态资源数据和动态资源数据。
在本实施例中,终端设备已经缓存了与当前页面对应的页面数据,例如,终端设备在于浏览器对应的本地缓存文件中,缓存了与当前页面对应的页面数据。从而终端设备中已经具有本地缓存的第二页面数据。
终端设备将获取到的第一页面数据与本地缓存的第二页面数据进行比较分析,进而确定第一页面数据与第二页面数据之间是否有差异。
终端设备在确定获取到的第一页面数据与本地缓存的第二页面数据之间不同的时候,终端设备确定需要将本地缓存的二页面数据进行更新。终端设备从第一页面数据中提取出与第二页面数据不同的数据,终端设备将提取出的数据,作为第一更新数据。
举例来说,终端设备从服务器中获取到的第一页面数据包括了资源A、资源B、资源C和资源D,终端设备的本地缓存的第二页面数据包括了资源A、资源B、资源E和资源F;终端设备可以确定第一页面数据与第二页面数据之间不同,终端设备确定将资源C和资源D,作为第一更新数据。
其中,第二页面数据可以是静态资源的页面数据,或者,第二页面数据可以是动态资源的页面数据,或者,第二页面数据中包括了静态资源的页面数据和动态资源的页面数据。若第一页面数据中包括静态资源的页面数据和动态资源的页面数据,第二页面数据中包括静态资源的页面数据和动态资源的页面数据,则第一更新数据可以是静态资源的页面数据,或者,第一更新数据可以是动态资源的页面数据,或者,第一更新数据中包括了静态资源的页面数据和动态资源的页面数据。
S103、根据第一更新数据,更新第二页面数据,得到第三页面数据。
可选的,第三页面数据中包括第一更新数据和第二更新数据,其中,第二更新数据为第二页面数据中的与第一更新数据不同的数据。
在本实施例中,终端设备依据步骤S102中的第一更新数据,更新本地缓存的第二页面数据,进而保留第二页面数据中的与第一更新数据不同的数据,并且将第一页面数据添加到本地缓存的第二页面数据中,进而得到第三页面数据。其中,第二页面数据中的与第一更新数据不同的数据,可以称为第二更新数据。并且,第二更新数据,也是第一页面数据与第二页面数据之间相同的数据。
举例来说,终端设备从服务器中获取到的第一页面数据包括了资源A、资源B、资源C和资源D,终端设备的本地缓存的第二页面数据包括了资源A、资源B、资源E和资源F;终端设备可以确定第一页面数据与第二页面数据之间不同,终端设备确定将资源C和资源D,作为第一更新数据;终端设备确定资源A和资源B为第二更新数据。
由于,上述页面数据、页面数据中包括静态资源的页面数据和/或动态资源的页面数据,则第三页面数据中包括了静态资源的页面数据和/或动态资源的页面数据。优选的,根据实际的页面加载情况,第三页面数据中包括了静态资源的页面数据和动态资源的页面数据,即第三页面数据中包括静态资源数据和动态资源数据。
S104、将第三页面数据中的静态资源数据,加载至当前页面上,并显示当前页面;并以消息传递方式将第三页面数据中的动态资源数据,传递至当前页面上,并显示当前页面。
在本实施例中,终端设备在得到第三页面数据之后,就可以将第三页面数据,加载或传递到用户所触发的当前页面上;然后,终端设备显示处理后的当前页面。
可选的,终端设备可以在得到第三页面数据之后,直接采用第三页面数据去处理当前页面。或者,由于终端设备依据根据第一更新数据,更新本地缓存的第二页面数据,进而终端设备在得到第三页面数据之后,终端设备可以将第三页面数据缓存到本地,然后,终端设备再将本地缓存的第三页面数据,加载或传递到当前页面。
具体的,在上述数据、上述页面数据、上述更新数据中都分别具有静态资源的数据时,终端设备可以直接将上述第三页面数据中的静态资源数据,加载至当前页面上,进而去显示当前页面。
举例来说,对于静态资源数据,可以参见以下过程。用户进入终端设备的前端所示显示的页面,即用户触发了终端设备去显示页面;然后,终端设备在浏览器后台上新开启一个线程,终端设备安装并激活Service Worker。
然后,终端设备判断是否是初次开启用户所要求的页面。若终端设备确定是初次开启用户所要求的页面,终端设备可以确定本地缓存中不具有页面数据,即不具有第二页面数据;终端设备可以从服务器中获取第一页面数据,然后,终端设备显示从服务器中所获取的第一页面数据。
若终端设备确定不是初次开启用户所要求的页面,终端设备可以确定本地缓存中具有页面数据,即具有第二页面数据;然后,终端设备可以从服务器中获取第一页面数据;终端设备判断第一页面数据与本地缓存的第二页面数据之间是否不同。
终端设备若确定第一页面数据与第二页面数据不同,则终端设备确定出第一页面数据中的与第二页面数据不同的数据,作为第一更新数据;终端设备将第一更新数据,加入到本地缓存的第二页面数据中,并且终端设备剔除第二页面数据中的与第一页面数据不同的数据,从而,终端设备保留了第二更新数据,第二更新数据为第二页面数据中的与第一页面数据相同的数据。然后,终端设备将本地缓存的、被更新的页面数据,即,上述第三页面数据,加载到当前页面上,进而完成页面的处理;或者,终端设备在对第二页面数据进行更新之后,得到了第三页面数据,终端设备在没有将第三页面数据放入本地缓存之前,终端设备直接将第三页面数据加载到当前页面上,进而完成页面渲染。
终端设备若确定第一页面数据与第二页面数据相同,则终端设备不需要对本地缓存的第二页面数据进行更新。终端设备直接将本地缓存的第二页面数据,加载到当前页面上,进而完成页面渲染。其中,当前页面由展示区域和可操作区域组成。
在上述数据、上述页面数据、上述更新数据中都具有动态资源数据时,终端设备则需要以消息传递方式对动态资源进行处理;终端设备以消息传递方式将上述第三页面数据中的动态资源数据,传递至当前页面上,进而去显示当前页面。
再举例来说,对于动态资源数据,可以参见以下过程。终端设备在检测到当前页面上的发生变化时,终端设备确定页面上的数据发生了变化;终端设备确定用户启动了编辑;终端设备需要判断当前页面是否属于二次编辑状态。
终端设备若确定当前页面不属于二次编辑状态,则终端设备确定用户在初次访问和编辑当前页面。此时,终端设备可以确定本地缓存中不具有页面数据,即不具有第二页面数据;终端设备通过异步方式获取当前页面上的数据;然后,终端设备将当前页面上的数据,传递到一个缓存模块上,并且,在缓存模块中异步开启indexedDB;然后,终端设备打开本地的数据库并开始一个事务,创建一个object store,终端和设备构建请求来进行数据的缓存,即在本地缓存中进行数据的存储,进而在本地缓存上形成第二页面数据。
终端设备若确定当前页面属于二次编辑状态,则终端设备确定本地缓存中具有页面数据,即具有第二页面数据;然后,终端设备可以从服务器中获取第一页面数据;终端设备判断第一页面数据与本地缓存的第二页面数据之间是否不同。
终端设备若确定第一页面数据与第二页面数据不同,则终端设备确定出第一页面数据中的与第二页面数据不同的数据,作为第一更新数据;终端设备将第一更新数据,加入到本地缓存的第二页面数据中,并且终端设备剔除第二页面数据中的与第一页面数据不同的数据,从而,终端设备保留了第二更新数据,第二更新数据为第二页面数据中的与第一页面数据相同的数据。然后,终端设备将本地缓存的、被更新的页面数据,即,上述第三页面数据,通过消息传递的方式传递到前端的当前页面上,进而去显示当前页面;或者,终端设备在对第二页面数据进行更新之后,得到了第三页面数据,终端设备在没有将第三页面数据放入本地缓存之前,终端设备直接将第三页面数据通过消息传递的方式传递到前端的当前页面上,进而去显示当前页面。
终端设备若确定第一页面数据与第二页面数据相同,则终端设备不需要对本地缓存的第二页面数据进行更新。终端设备直接将本地缓存的第二页面数据,通过消息传递的方式传递到前端的当前页面上,进而去显示当前页面。其中,用于显示动态资源的数据的当前页面,也可以由展示区域和可操作区域组成;页面的可操作区域,如表单填写、游戏操作,会随着操作行为的变化映射出不同的状态,对应不同的页面数据。
本实施例,通过获取服务器中的第一页面数据,其中,第一页面数据中包括静态资源数据和动态资源数据;若第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,第一更新数据为第一页面数据中的与第二页面数据不同的数据,第二页面数据中包括静态资源数据和动态资源数据;根据第一更新数据,更新第二页面数据,得到第三页面数据;将第三页面数据中的静态资源数据,加载至当前页面上,并显示当前页面;并以消息传递方式将第三页面数据中的动态资源数据,传递至当前页面上,并显示当前页面。可以从服务器中获取第一页面数据;在第一页面数据与本地缓存的第二页面数据不同的时候,确定需要更新本地缓存的第二页面数据;此时,从第一页面数据中提取出与第二页面数据不同的数据,作为第一更新数据;保留第二页面数据中的与第一页面数据相同的数据,并且将第一页面数据添加到本地缓存的第二页面数据中,进而得到第三页面数据。从而,在需要更新缓存的页面数据的时候,只需要将本地缓存的页面数据中需要更新的部分进行更新,提供了一种增量更新的方式,可以减少所使用的处理资源,提高终端设备的缓存更新效率。并且,针对第三页面数据中的静态资源数据和动态资源数据,采用不同的数据显示方式,保证第三页面数据中的静态资源数据和动态资源数据可以成功的显示到当前页面上。并且,由于在处理页面之前,只需要对缓存的页面数据进行部分的更新,然后就可以去根据所得到的更新后的页面数据去处理页面,由于页面数据的缓存的更新速率较快,进而得到更新后的页面数据的速度较快,进一步的可以提高处理页面的效率。
图2为本申请实施例提供的另一种页面处理方法的流程示意图。如图2所示,该方法包括:
S201、获取待缓存的第二页面数据,并将第二页面数据缓存至本地。
可选的,步骤S201包括以下几种实现方式。
步骤S201的第一种实现方式、在本地缓存的数据与当前显示的页面上的数据不同时,获取当前显示的页面上的数据;将当前显示的页面上的数据,作为待缓存的第二页面数据。
步骤S201的第二种实现方式、获取当前显示的页面上的数据,并将当前显示的页面上的数据,作为待缓存的第二页面数据。
在本实施例中,本实施例的执行主体可以是终端设备、或者页面处理装置或设备、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为终端设备进行说明。
终端设备需要预先在本地缓存有上述第二页面数据。终端设备需要获取第二页面数据,然后将第二页面数据缓存至本地。
可选的,终端设备在显示页面的时候,终端设备若已经在本地缓存中缓存有数据,终端设备可以将本地缓存的数据与当前显示的页面上的数据进行对比分析,终端设备若确定连着不同,则终端设备需要更新本地缓存的数据,进而,终端设备而将当前显示的页面上的数据,作为待缓存的第二页面数据。或者,终端设备不管本次缓存中是否已经缓存有数据,终端设备直接获取当前显示的页面上的数据,然后,终端设备将当前显示的页面上的数据,缓存到本地缓存中,即,终端设备将当前显示的页面上的数据,作为了待缓存的第二页面数据。
具体来说,上述数据、上述页面数据,可以是静态资源的数据;用户进入终端设备的前端所示显示的页面,即用户触发了终端设备去显示页面;然后,终端设备在浏览器后台上新开启一个线程,终端设备安装并激活Service Worker;终端设备从页面上获取的数据,然后终端设备将数据进行缓存,从而,终端设备将静态资源进行缓存,可选的,终端设备已经预先设置了一个静态资源缓存列表,在静态资源缓存列表中包括了待缓存的静态资源的标识或含义,终端设备根据该静态资源缓存列表,将页面上数据进行缓存。其中,静态资源包括但不限于:页面图片、层叠样式表(Cascading Style Sheets,简称CSS)、javascript文件。其中,Service worker是一个注册在指定源和路径下的事件驱动worker。
上述数据、上述页面数据,可以是动态资源的数据;终端设备在检测到当前页面上的发生变化时,终端设备确定页面上的数据发生了变化。若本次缓存中具有页面数据,终端设备可以确定本地缓存的数据与当前显示的页面上的数据不同,终端设备确定需要对页面上的数据进行缓存;然后,终端设备通过异步方式获取当前页面上的数据,终端设备确定出当前页面上的与本地缓存的数据所不同的数据;终端设备将确定出的不同的数据,传递到一个缓存模块上,并且,在缓存模块中异步开启indexedDB;然后,终端设备打开本地的数据库并开始一个事务,创建一个object store,终端和设备构建请求来进行数据的缓存,即在本地缓存中进行数据的更新。若本次缓存中不具有页面数据,终端设备直接确定需要对页面上的数据进行缓存;然后,终端设备获取当前页面上的数据;然后,终端设备将当前页面上的数据,传递到一个缓存模块上,并且,在缓存模块中异步开启indexedDB;然后,终端设备打开本地的数据库并开始一个事务,创建一个object store,终端和设备构建请求来进行数据的缓存,即在本地缓存中进行数据的存储。其中,IndexedDB是浏览器提供的本地数据库,它可以被网页脚本创建和操作;并且,IndexedDB允许储存大量数据,可以提供查找接口,可以建立索引。
S202、获取服务器中的第一页面数据,其中,第一页面数据中包括静态资源数据和动态资源数据。
在本实施例中,本步骤可以参见图1所示的步骤S101,不再赘述。
S203、若第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,第一更新数据为第一页面数据中的与第二页面数据不同的数据,第二页面数据中包括静态资源数据和动态资源数据。
在本实施例中,本步骤可以参见图1所示的步骤S102,不再赘述。
S204、根据第一更新数据,更新第二页面数据,得到第三页面数据。
在本实施例中,本步骤可以参见图1所示的步骤S103,不再赘述。
S205、将第三页面数据中的静态资源数据,加载至当前页面上,并显示当前页面;并以消息传递方式将第三页面数据中的动态资源数据,传递至当前页面上,并显示当前页面。
在本实施例中,本步骤可以参见图1所示的步骤S104,不再赘述。
S206、将本地缓存的第二页面数据替换为第三页面数据。
在本实施例中,在步骤S204之后,终端设备在得到第三页面数据之后,将本地缓存的第二页面数据替换为第三页面数据。其中,步骤S205和步骤S206的执行步骤不做限定。
S207、若无法从服务器中获取第一页面数据,则根据本地缓存的第二页面数据,处理并显示当前页面。
在本实施例中,在步骤S202之前,终端设备若无法从服务器中获取第一页面数据,例如,服务器中没有存储第一页面数据,或者服务器无法将第一页面数据发送给终端设备,或者,终端设备与服务器之间不连接,页面为离线状态;此时,若处理静态资源的数据,终端设备可以直接将本地缓存第二页面数据,加载到当前页面,并对当前页面进行渲染,然后,显示当前页面;若处理动态资源的数据,终端设备可以将本地缓存第二页面数据,以消息传递的方式传递到当前页面上,然后,显示当前页面。
S208、若采用第三页面数据处理当前页面失败,则采用第二页面数据,处理并显示当前页面。
在本实施例中,在步骤S204之后,终端设备若无法将第三页面数据加载到当前页面上,或者,无法将第三页面数据传递给当前页面,则终端设备无法采用第三页面数据处理当前页面。此时,采用第三页面数据处理当前页面失败。
终端设备可以直接采用本地缓存的第二页面数据,处理当前页面。此时,若处理静态资源的数据,终端设备可以直接将本地缓存第二页面数据,加载到当前页面,并对当前页面进行渲染,然后,显示当前页面;若处理动态资源的数据,终端设备可以将本地缓存第二页面数据,以消息传递的方式传递到当前页面上,然后,显示当前页面。
S209、若第一页面数据与本地缓存的第二页面数据相同,则采用第二页面数据,处理并显示当前页面。
在本实施例中,在步骤S202之后,若终端设备确定从服务器获取的第一页面数据与本地缓存的第二页面数据相同,终端设备确定不需要对本地缓存的第二页面数据进行更新;然后,终端设备可以直接采用本地缓存的第二页面数据,处理当前页面;然后,终端设备显示当前页面。
本实施例,通过从服务器中获取第一页面数据;在第一页面数据与本地缓存的第二页面数据不同的时候,确定需要更新本地缓存的第二页面数据;此时,从第一页面数据中提取出与第二页面数据不同的数据,作为第一更新数据;保留第二页面数据中的与第一页面数据相同的数据,并且将第一页面数据添加到本地缓存的第二页面数据中,进而得到第三页面数据。从而,在需要更新缓存的页面数据的时候,只需要将本地缓存的页面数据中需要更新的部分进行更新,提供了一种增量更新的方式,可以减少所使用的处理资源,提高终端设备的缓存更新效率。并且,针对第三页面数据中的静态资源数据和动态资源数据,采用不同的数据显示方式,保证第三页面数据中的静态资源数据和动态资源数据可以成功的显示到当前页面上。并且,由于在处理页面之前,只需要对缓存的页面数据进行部分的更新,然后就可以去根据所得到的更新后的页面数据去处理页面,由于页面数据的缓存的更新速率较快,进而得到更新后的页面数据的速度较快,进一步的可以提高处理页面的效率。同时,在无法从服务器中获取第一页面数据时,或者在采用第三页面数据处理当前页面失败时,或者在从服务器中获取的第一页面数据与本地缓存的第二页面数据相同时,可以直接采用本地缓存的第二页面数据,去处理页面,然后显示页面;提供了多种容错机制,以便页面无法显示。并且,终端设备只在初始时,去向服务器获取页面数据,不需要在处理页面的期间多次获取页面数据,减少了与服务器的交互次数,降低了服务器的压力。
图3为本申请实施例提供的一种页面处理装置的结构示意图,如图3所示,本实施例的装置可以包括:
获取单元31,用于获取服务器中的第一页面数据,其中,第一页面数据中包括静态资源数据和动态资源数据。
第一确定单元32,用于若第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,第一更新数据为第一页面数据中的与第二页面数据不同的数据,第二页面数据中包括静态资源数据和动态资源数据。
更新单元33,用于根据第一更新数据,更新第二页面数据,得到第三页面数据。
第一处理单元34,用于将第三页面数据中的静态资源数据,加载至当前页面上,并显示当前页面;并以消息传递方式将第三页面数据中的动态资源数据,传递至当前页面上,并显示当前页面。
本实施例的页面处理装置可执行本申请实施例提供的一种页面处理方法,其实现原理和技术效果相类似,此处不再赘述。
图4为本申请实施例提供的另一种页面处理装置的结构示意图,在图3所示实施例的基础上,如图4所示,本实施例的装置中,第三页面数据中包括第一更新数据和第二更新数据,其中,第二更新数据为第二页面数据中的与第一更新数据不同的数据。
本实施例的装置,还包括:
替换单元41,用于在更新单元33根据第一更新数据,更新第二页面数据,得到第三页面数据之后,将本地缓存的第二页面数据替换为第三页面数据。
本实施例的装置,还包括:
缓存单元42,用于在获取单元31获取服务器中的第一页面数据之前,获取待缓存的第二页面数据,并将第二页面数据缓存至本地。
缓存单元42,具体用于:在本地缓存的数据与当前显示的页面上的数据不同时,获取当前显示的页面上的数据;将当前显示的页面上的数据,作为待缓存的第二页面数据。
或者,缓存单元42,具体用于:获取当前显示的页面上的数据,并将当前显示的页面上的数据,作为待缓存的第二页面数据。
本实施例的装置,还包括:第二处理单元43,用于若无法从服务器中获取第一页面数据,则根据本地缓存的第二页面数据,处理并显示当前页面。
本实施例的装置,还包括:第三处理单元44,用于若采用第三页面数据处理当前页面失败,则采用第二页面数据,处理并显示当前页面。
本实施例的装置,还包括:第四处理单元45,用于若第一页面数据与本地缓存的第二页面数据相同,则采用第二页面数据,处理并显示当前页面。
当前页面为访问状态,或者,当前页面为编辑状态。
本实施例的页面处理装置可执行本申请实施例提供的一种页面处理方法,其实现原理和技术效果相类似,此处不再赘述。
图5为本申请实施例提供的一种页面处理设备的结构示意图,如图5所示,本申请实施例提供了一种页面处理设备,可以用于执行图1-图2所示实施例中终端设备的动作或步骤,具体包括:处理器2701,存储器2702和通信接口2703。
存储器2702,用于存储计算机程序。
处理器2701,用于执行存储器2702中存储的计算机程序,以实现图1-图2所示实施例中终端设备的动作,不再赘述。
可选的,页面处理设备还可以包括总线2704。其中,处理器2701、存储器2702以及通信接口2703可以通过总线2704相互连接;总线2704可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,简称EISA)总线等。上述总线2704可以分为地址总线、数据总线和控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,上述各实施例之间可以相互参考和借鉴,相同或相似的步骤以及名词均不再一一赘述。
或者,以上各个模块的部分或全部也可以通过集成电路的形式内嵌于该页面处理设备的某一个芯片上来实现。且它们可以单独实现,也可以集成在一起。即以上这些模块可以被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2702,上述指令可由上述页面处理设备的处理器2701执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由页面处理设备的处理器执行时,使得页面处理设备能够执行上述页面处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、终端设备或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、终端设备或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的终端设备、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种页面处理方法,其特征在于,包括:
获取服务器中的第一页面数据,其中,所述第一页面数据中包括静态资源数据和动态资源数据;
若所述第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,所述第一更新数据为所述第一页面数据中的与所述第二页面数据不同的数据,所述第二页面数据中包括静态资源数据和动态资源数据;
根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据;
将所述第三页面数据中的静态资源数据,加载至当前页面上,并显示所述当前页面;并以消息传递方式将所述第三页面数据中的动态资源数据,传递至所述当前页面上,并显示所述当前页面。
2.根据权利要求1所述的方法,其特征在于,所述第三页面数据中包括所述第一更新数据和第二更新数据,其中,所述第二更新数据为所述第二页面数据中的与所述第一更新数据不同的数据。
3.根据权利要求1所述的方法,其特征在于,在根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据之后,还包括:
将所述本地缓存的第二页面数据替换为所述第三页面数据。
4.根据权利要求1所述的方法,其特征在于,在所述获取服务器中的第一页面数据之前,还包括:
获取待缓存的第二页面数据,并将所述第二页面数据缓存至本地。
5.根据权利要求4所述的方法,其特征在于,所述获取待缓存的第二页面数据,包括:
在本地缓存的数据与当前显示的页面上的数据不同时,获取当前显示的页面上的数据;
将当前显示的页面上的数据,作为所述待缓存的第二页面数据。
6.根据权利要求5所述的方法,其特征在于,所述获取待缓存的第二页面数据,包括:
获取当前显示的页面上的数据,并将当前显示的页面上的数据,作为所述待缓存的第二页面数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法,还包括:
若无法从所述服务器中获取所述第一页面数据,则根据所述本地缓存的第二页面数据,处理并显示当前页面;
或者,所述方法,还包括:
若采用所述第三页面数据处理当前页面失败,则采用所述第二页面数据,处理并显示当前页面;
或者,所述方法,还包括:
若所述第一页面数据与本地缓存的第二页面数据相同,则采用所述第二页面数据,处理并显示当前页面。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述当前页面为访问状态,或者,所述当前页面为编辑状态。
9.一种页面处理装置,其特征在于,包括:
获取单元,用于获取服务器中的第一页面数据,其中,所述第一页面数据中包括静态资源数据和动态资源数据;
第一确定单元,用于若所述第一页面数据与本地缓存的第二页面数据不同,则确定第一更新数据,其中,所述第一更新数据为所述第一页面数据中的与所述第二页面数据不同的数据,所述第二页面数据中包括静态资源数据和动态资源数据;
更新单元,用于根据所述第一更新数据,更新所述第二页面数据,得到第三页面数据;
第一处理单元,用于将所述第三页面数据中的静态资源数据,加载至当前页面上,并显示所述当前页面;并以消息传递方式将所述第三页面数据中的动态资源数据,传递至所述当前页面上,并显示所述当前页面。
10.一种页面处理设备,其特征在于,包括:处理器、存储器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579910.2A CN112149016A (zh) | 2019-06-28 | 2019-06-28 | 页面处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579910.2A CN112149016A (zh) | 2019-06-28 | 2019-06-28 | 页面处理方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112149016A true CN112149016A (zh) | 2020-12-29 |
Family
ID=73891632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910579910.2A Pending CN112149016A (zh) | 2019-06-28 | 2019-06-28 | 页面处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149016A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779458A (zh) * | 2021-07-27 | 2021-12-10 | 北京房江湖科技有限公司 | 应用加速加载的方法及装置、电子设备及存储介质 |
-
2019
- 2019-06-28 CN CN201910579910.2A patent/CN112149016A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779458A (zh) * | 2021-07-27 | 2021-12-10 | 北京房江湖科技有限公司 | 应用加速加载的方法及装置、电子设备及存储介质 |
CN113779458B (zh) * | 2021-07-27 | 2024-02-27 | 贝壳找房(北京)科技有限公司 | 应用加速加载的方法及装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122379B (zh) | 收集与本地存储的数据文件相关联的事务数据 | |
US10291738B1 (en) | Speculative prefetch of resources across page loads | |
JP2019032883A (ja) | ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム | |
CN108845816A (zh) | 应用程序更新方法、系统、计算机设备及存储介质 | |
CN110825479A (zh) | 页面处理方法、装置、终端设备、服务器和存储介质 | |
CN105740330B (zh) | 分页展示数据的方法及装置 | |
CN112836152B (zh) | 页面渲染方法、系统、计算机设备及计算机可读存储介质 | |
CN106294658A (zh) | 网页快速展示方法和装置 | |
CN109522500B (zh) | 网页显示方法、装置、终端和存储介质 | |
CN110673920A (zh) | 国际化处理方法、装置、计算机设备及存储介质 | |
EP3813326B1 (en) | Method and apparatus for processing webpage, device, and storage medium | |
CN113761412A (zh) | 应用页面的显示方法、装置、电子设备、介质及应用系统 | |
CN113590974A (zh) | 推荐页面配置方法、装置、电子设备和计算机可读介质 | |
CN106156291A (zh) | 基于Localstroage的静态资源的缓存方法及其系统 | |
CN112149016A (zh) | 页面处理方法、装置、设备和存储介质 | |
CN113536168A (zh) | 组件处理方法及设备 | |
US20140331117A1 (en) | Application-based dependency graph | |
CN115470426B (zh) | 浏览器内核确定方法、装置、计算机设备和存储介质 | |
CN111767053A (zh) | 一种前端页面数据获取方法及装置 | |
CN113407193B (zh) | 一种系统部署方法、装置和设备 | |
CN110688594A (zh) | 网页前端的页面跳转方法及装置 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN112395437A (zh) | 一种3d模型的加载方法、装置、电子设备及存储介质 | |
US9223758B1 (en) | Determining a language encoding data setting for a web page, and applications thereof | |
CN112612531A (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 |