CN113282354B - 应用程序的h5页面加载方法、装置、设备及存储介质 - Google Patents
应用程序的h5页面加载方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113282354B CN113282354B CN202110722083.5A CN202110722083A CN113282354B CN 113282354 B CN113282354 B CN 113282354B CN 202110722083 A CN202110722083 A CN 202110722083A CN 113282354 B CN113282354 B CN 113282354B
- Authority
- CN
- China
- Prior art keywords
- data
- application program
- project
- page
- item
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请为数据处理技术领域,本申请提供了一种应用程序的H5页面加载方法、装置、设备及存储介质,其中,所述方法包括:响应于用户的登录请求,根据登录请求中的用户信息确定用户在历史访问应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;获取待加载H5页面所需拉取的项目,根据项目确定项目对应的JSON文件;将JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断项目在应用程序中是否无本地数据或项目的版本号是否发生变化;若项目在应用程序中无本地数据或项目的版本号发生变化,则下载项目的数据,利用下载完成的数据加载待加载H5页面。本申请提升了H5页面加载速度。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,本申请涉及一种应用程序的H5页面加载方法、装置、设备及存储介质。
背景技术
随着移动互联网的发展,移动应用程序已经成为移动互联网最大的流量渠道,在应用程序中,H5页面具有发布灵活、版本迭代快速等优点,因此加载H5页面是业内通用的方式,例如,开发移动应用程序通常会采用H5承载业务服务,Native承载基础组件服务(如H5页面提供网络请求组件,H5页面显示数据等)。
但相比于原生页面,由于每次登录访问应用程序时,需要下载完所有的H5资源才能渲染完成,导致加载H5页面速度比原生页面慢,效率较低。
发明内容
本申请的主要目的为提供一种应用程序的H5页面加载方法、装置、设备及存储介质,以提高H5页面加载速度。
为了实现上述发明目的,本申请提供一种应用程序的H5页面加载方法,其包括以下步骤:
响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面。
进一步地,所述根据所述项目确定所述项目对应的JSON文件的步骤之前,还包括:
获取所述待加载H5页面所依赖的多个静态资源文件及各静态资源文件的链接,并根据文件名、类别、大小对所述多个静态资源文件进行过滤,得到目标静态资源文件;
将所述目标静态资源文件的链接写入所述JSON文件中。
优选地,所述根据所述链接下载所述项目的数据的步骤,包括:
每隔预设时间获取所述应用程序的运行状态;
判断所述运行状态是否处于繁忙状态;
若是,则暂停根据所述链接下载所述项目的数据,直至所述运行状态处于空闲状态时,恢复根据所述链接下载所述项目的数据,并将下载完成的项目的数据保存至本地数据库。
进一步地,所述将下载完成的项目的数据保存至本地数据库的步骤之后,还包括:
响应于用户对所述待加载H5页面的目标项目的点击指令,从所述本地数据库中获取所述用户所点击的目标项目的目标数据;
利用所述目标数据加载所述待加载H5页面的目标项目,并进行显示。
优选地,当确定待下载数据的所述项目为多个时,所述根据所述链接下载所述项目的数据的步骤,包括:
根据预先为各个项目设定的等级对待下载数据的所述项目进行排序;
按照所述排序结果依次对各个项目进行数据下载。
进一步地,所述根据预先为各个项目设定的等级对待下载数据的所述项目进行排序的步骤之前,还包括:
获取各个项目在历史浏览中的浏览量;
根据所述浏览量确定各个项目的等级;其中,所述各个项目的等级与所述浏览量成正相关。
进一步地,所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤之前,还包括:
获取所述应用程序的登录时长;
判断所述登录时长是否超过预设时长;
当确定所述登录时长超过预设时长时,则执行所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤。
本申请还提供一种应用程序的H5页面加载装置,其包括:
响应模块,用于响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
确定模块,用于获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
对比模块,用于将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
加载模块,用于当确定所述项目在应用程序中无本地数据或所述项目的版本号发生变化时,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本申请所提供的一种应用程序的H5页面加载方法、装置、设备及存储介质,首先响应于用户登录应用程序的登录请求,根据登录请求中的用户信息确定用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;获取待加载H5页面所需拉取的项目,根据项目确定项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录项目在应用程序的存储状态或版本号更新状态;将JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断项目在应用程序中是否无本地数据或项目的版本号是否发生变化;若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载待加载H5页面,从而在用户访问应用程序中重要的页面前,通过将JSON文件的数据与本地数据进行比对,确定是否下载数据,并对需要下载的数据提前下载,已提前下载好重要页面需要加载的数据,使用户成功登录应用程序后,就能直接使用缓存好的数据,访问重要页面,大幅提升了H5页面加载的速度。
附图说明
图1为本申请一实施例的应用程序的H5页面加载方法的流程示意图;
图2为本申请一实施例的应用程序的H5页面加载装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参考图1,本申请提出一种应用程序的H5页面加载方法,用于提高应用程序的H5页面的加载效率,其中一个实施例中,该应用程序的H5页面加载方法包括如下步骤:
S11、响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
S12、获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
S13、将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
S14、若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面。
如上述步骤S11所述,当用户登录应用程序时,客户端响应于应用程序的登录请求,提取登录请求中的用户信息,根据登录请求中的用户信息确定用户在历史访问该应用程序时,访问次数排在前列的页面,即对于该用户来说的重要页面,将排在前列的页面作为待加载H5页面。例如,可从本地数据库中提取该用户在访问应用程序过程中,每个页面被访问的访问次数,根据访问次数对当前应用程序的所有页面进行排序,将排在前十位的页面作为待加载页面。
当然,该待加载H5页面也可以是用户指定的H5页面,例如,可为每个应用程序构建一个数据表,通过数据表预先记录用户在每个应用程序选定的H5页面的网址、标题等信息,在用户需要登录应用程序时,提取数据表中用户选定的H5页面作为待加载H5页面。其中,所述项目为加载至页面的内容,可包括图片、文本、视频等等,该客户端可以是手机、平板、计算机设备等终端。
如上述步骤S12所述,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,便于阅读和编写,同时也便于机器解析和生成。它基于JavaScript ProgrammingLanguage,Standard ECMA-262 3rd Edition-December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。
本实施例的JSON文件存储于本地数据库中,用于管理记载至页面的每个项目在应用程序的存储状态或版本号更新状态,例如,每个项目在本地数据库中是否没有保存数据或者每个项目的版本号,以判断是否为最新版本。此外,JSON文件与项目为一对一的关系,一个JSON文件存储一个项目的存储状态或版本号更新状态,可通过删除、修改、更新等方式管理每个项目。
如上述步骤S13所述,本步骤提取应用程序本地保存的本地数据,并将JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断项目在应用程序中是否没有本地数据,或所述项目的版本号是否发生变化,若所述项目在应用程序中含有本地数据且所述项目的版本号未发生变化,则无需重新从服务端中下载该项目的数据,直接利用应用程序本地保存的本地数据提取该项目的数据,用于加载页面。
如上述步骤S14所述,当确定所述项目在应用程序中没有本地数据或所述项目的版本号发生变化时,则向服务端发起数据获取请求,以使服务端基于该数据获取请求以及预存在JSON文件的目标静态资源文件的链接,从数据库中提取该项目的数据,将提取的项目的数据缓存至客户端的本地数据库,即需要重新下载该项目的数据。下载数据后,还可采用prefetch方式存储,Prefetch是预读取文件夹,用来存放***已访问过的文件的预读信息。此外,在项目的数据下载完成后,还可只下载不执行,当监测到用户成功登录所述应用程序,并选定需要加载的项目时,再执行该项目的数据加载,下载成功后,还可将该数据状态置为已下载,当用户需要浏览该项目时,则利用下载完成的数据渲染所述待加载页面的该项目,将渲染后的所述待加载页面进行显示。
本申请所提供的一种应用程序的H5页面加载方法,首先响应于用户登录应用程序的登录请求,根据登录请求中的用户信息确定用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;获取待加载H5页面所需拉取的项目,根据项目确定项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录项目在应用程序的存储状态或版本号更新状态;将JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断项目在应用程序中是否无本地数据或项目的版本号是否发生变化;若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载待加载H5页面,从而在用户访问应用程序中重要的页面前,通过将JSON文件的数据与本地数据进行比对,确定是否下载数据,并对需要下载的数据提前下载,已提前下载好重要页面需要加载的数据,使用户成功登录应用程序后,就能直接使用缓存好的数据,访问重要页面,大幅提升了H5页面加载的速度。
在一实施例中,在步骤S11中,所述根据所述项目确定所述项目对应的JSON文件的步骤之前,还可包括:
获取所述待加载H5页面所依赖的多个静态资源文件及各静态资源文件的链接,并根据文件名、类别、大小对所述多个静态资源文件进行过滤,得到目标静态资源文件;
将所述目标静态资源文件的链接写入所述JSON文件中。
本实施例在预先构建JSON文件时,预先将不同类型的项目进行打包,并解析打包后生成的待加载H5页面,然后获取页面所依赖的多个静态资源文件及各静态资源文件的链接,并根据文件名、类别、大小对所述多个静态资源文件进行过滤,得到目标静态资源文件,如将文件名不符合命名要求的静态资源文件剔除,或文件大小超过预设文件大小的静态资源文件剔除,将剩余的静态资源文件作为目标静态资源文件;最后将目标静态资源文件的链接写入JSON文件中,以在下载项目的数据时,利用预存在JSON文件的目标静态资源文件的链接获取项目的数据。其中,静态资源文件为前端的固定页面,其包含了HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理,直接就能够显示的页面,访问效率高。
本实施例不同项目接入简单,只需要引入一个打包识别的文件,修改待下载的页面路径,即可在打包时自动生成新的JSON文件。
在一实施例中,所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤之前,还包括:
获取所述应用程序的登录时长;
判断所述登录时长是否超过预设时长;
当确定所述登录时长超过预设时长时,则执行所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤。
在本实施例中,还可获取应用程序的登录时长,判断应用程序的登录时长是否超过预设时长,当确定应用程序的登录时长超过预设时长时,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,否则暂停预获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,在用户成功登录应用程序后,直接从服务端中拉取项目的数据,实现灵活下载数据。
在一实施例中,在步骤S14中,所述根据所述链接下载所述项目的数据的步骤,可具体包括:
S141、每隔预设时间获取所述应用程序的运行状态;
S142、判断所述运行状态是否处于繁忙状态;
S143、若是,则暂停根据所述链接下载所述项目的数据,直至所述运行状态处于空闲状态时,恢复根据所述链接下载所述项目的数据,并将下载完成的项目的数据保存至本地数据库。
在步骤S141中,可每隔3S或5S等预设时间获取所述应用程序的任务完成量,并获取总任务量,计算任务完成量与总任务量的比值得到当前应用程序的任务完成率,基于任务完成率确定应用程序的运行状态,例如,假设当前应用程序的任务完成率低于30%时,则表明当前应用程序还需处理的任务较多,运行状态处于繁忙状态;若当前应用程序的任务完成率高于90%时,则表明当前应用程序所需处理的任务较少,运行状态处于较为空闲状态。
在步骤S142中,可根据任务完成率判断运行状态是否处于繁忙状态,例如,当应用程序正在执行多个任务时,则处于繁忙状态,当应用程序正在执行的任务较少或没有执行的任务时,则处于空闲状态。
在步骤S143中,当确定应用程序处于繁忙状态时则暂停根据链接下载项目的数据,直至所述运行状态处于空闲状态时,恢复根据链接下载项目的数据,并将下载完成的项目的数据保存至本地数据库,从而充分利用应用程序的空闲时间加载数据,避免网络拥挤,提高了用户体验。
在一实施例中,在步骤S143中,所述将下载完成的项目的数据保存至本地数据库的步骤之后,还可包括:
S144、响应于用户对所述待加载H5页面的目标项目的点击指令,从所述本地数据库中获取所述用户所点击的目标项目的目标数据;
S145、利用所述目标数据加载所述待加载H5页面的目标项目,并进行显示。
在本实施例中,用户可任意选择一个或多个项目进行加载显示,以避免下载无需使用的项目的数据,影响加载效率。具体的,用户可通过点击待加载H5页面中任一项目,客户端响应于用户的点击指令,并确定用户选中的项目,从本地数据库中获取所述用户所点击的项目的目标数据,利用目标数据渲染待加载页面,将渲染后的待加载页面进行显示,从而无需对页面中的所有项目进行加载,节约资源,也提高了加载效率。
在一实施例中,当确定待下载数据的所述项目为多个时,在步骤S14中,所述根据所述链接下载所述项目的数据的步骤,可具体包括:
根据预先为各个项目设定的等级对待下载数据的所述项目进行排序;
按照所述排序结果依次对各个项目进行数据下载。
在本实施例中,还可对每个项目设定等级,优先为等级较高的项目下载数据,从而提高用户体验。具体的,本实施例可根据项目的类型设定项目的等级,如项目是文本的等级最高,图片次之,视频最低。然后在下载项目的数据时,根据预先为各个项目设定的等级对待下载数据的项目进行排序,优先为排在前列的项目进行数据下载,从而提高用户体验。
在一实施例中,所述根据预先为各个项目设定的等级对待下载数据的所述项目进行排序的步骤之前,还可包括:
获取各个项目在历史浏览中的浏览量;
根据所述浏览量确定各个项目的等级;其中,所述各个项目的等级与所述浏览量成正相关。
在本实施例中,在用户历史访问每个页面时,可记录访问的每个页面的项目的次数,得到各个项目在历史浏览中的浏览量,以后续根据项目在历史浏览中的浏览量确定各个项目的等级,浏览量越高,则项目对应的的等级也越高,优先为浏览量较高的项目下载数据。例如,当项目在历史浏览中的浏览量为10000以上时,则浏览量较高,对应的项目的等级为高级;当项目在历史浏览中的浏览量在10000以下时,则浏览量较低,对应的项目的等级为低级,在下载项目的数据时,优先为浏览量在10000以上的项目下载数据。
参照图2,本申请实施例中还提供一种应用程序的H5页面加载装置,包括:
获取模块11,用于响应于应用程序的登录请求,获取待加载H5页面;
确定模块12,用于获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
对比模块13,用于将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
加载模块14,用于当确定所述项目在应用程序中无本地数据或所述项目的版本号发生变化时,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,利用下载完成的数据加载所述待加载H5页面。
当用户登录应用程序时,客户端响应于应用程序的登录请求,提取登录请求中的用户信息,根据登录请求中的用户信息确定用户在历史访问该应用程序时,访问次数排在前列的页面,即对于该用户来说的重要页面,将排在前列的页面作为待加载H5页面。例如,可从本地数据库中提取该用户在访问应用程序过程中,每个页面被访问的访问次数,根据访问次数对当前应用程序的所有页面进行排序,将排在前十位的页面作为待加载页面。
当然,该待加载H5页面也可以是用户指定的H5页面,例如,可为每个应用程序构建一个数据表,通过数据表预先记录用户在每个应用程序选定的H5页面的网址、标题等信息,在用户需要登录应用程序时,提取数据表中用户选定的H5页面作为待加载H5页面。其中,所述项目为加载至页面的内容,可包括图片、文本、视频等等,该客户端可以是手机、平板、计算机设备等终端。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,便于阅读和编写,同时也便于机器解析和生成。它基于JavaScript Programming Language,StandardECMA-262 3rd Edition-December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。
本实施例的JSON文件存储于本地数据库中,用于管理记载至页面的每个项目在应用程序的存储状态或版本号更新状态,例如,每个项目在本地数据库中是否没有保存数据或者每个项目的版本号,以判断是否为最新版本。此外,JSON文件与项目为一对一的关系,一个JSON文件存储一个项目的存储状态或版本号更新状态,可通过删除、修改、更新等方式管理每个项目。
此外,本实施例还可提取应用程序本地保存的本地数据,并将JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断项目在应用程序中是否没有本地数据,或所述项目的版本号是否发生变化,若所述项目在应用程序中含有本地数据且所述项目的版本号未发生变化,则无需重新从服务端中下载该项目的数据,直接利用应用程序本地保存的本地数据提取该项目的数据,用于加载页面。
当确定所述项目在应用程序中没有本地数据或所述项目的版本号发生变化时,则向服务端发起数据获取请求,以使服务端基于该数据获取请求以及预存在JSON文件的目标静态资源文件的链接,从数据库中提取该项目的数据,将提取的项目的数据缓存至客户端的本地数据库,即需要重新下载该项目的数据。下载数据后,还可采用prefetch方式存储,Prefetch是预读取文件夹,用来存放***已访问过的文件的预读信息。此外,在项目的数据下载完成后,还可只下载不执行,当监测到用户成功登录所述应用程序,并选定需要加载的项目时,再执行该项目的数据加载,下载成功后,还可将该数据状态置为已下载,当用户需要浏览该项目时,则利用下载完成的数据渲染所述待加载页面的该项目,将渲染后的所述待加载页面进行显示。
如上所述,可以理解地,本申请中提出的所述应用程序的H5页面加载装置的各组成部分可以实现如上所述应用程序的H5页面加载方法任一项的功能,具体结构不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作***、计算机程序和数据库。该内存器为存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储项目的数据、用户信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序的H5页面加载方法。
上述处理器执行上述的应用程序的H5页面加载方法,包括:
响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种应用程序的H5页面加载方法,包括步骤:
响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本申请的最大有益效果在于:
本申请所提供的一种应用程序的H5页面加载方法、装置、设备及存储介质,首先响应于用户登录应用程序的登录请求,根据登录请求中的用户信息确定用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;获取待加载H5页面所需拉取的项目,根据项目确定项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录项目在应用程序的存储状态或版本号更新状态;将JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断项目在应用程序中是否无本地数据或项目的版本号是否发生变化;若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载待加载H5页面,从而在用户访问应用程序中重要的页面前,通过将JSON文件的数据与本地数据进行比对,确定是否下载数据,并对需要下载的数据提前下载,已提前下载好重要页面需要加载的数据,使用户成功登录应用程序后,就能直接使用缓存好的数据,访问重要页面,大幅提升了H5页面加载的速度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (7)
1.一种应用程序的H5页面加载方法,其特征在于,包括以下步骤:
响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
若所述项目在应用程序中无本地数据或所述项目的版本号发生变化,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,其中,包括:每隔预设时间获取所述应用程序的运行状态;判断所述运行状态是否处于繁忙状态;若是,则暂停根据所述链接下载所述项目的数据,直至所述运行状态处于空闲状态时,恢复根据所述链接下载所述项目的数据,并将下载完成的项目的数据保存至本地数据库;响应于用户对所述待加载H5页面的目标项目的点击指令,从所述本地数据库中获取所述用户所点击的目标项目的目标数据;利用所述目标数据加载所述待加载H5页面的目标项目,并进行显示;并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面;
所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤之前,还包括:
获取所述应用程序的登录时长;
判断所述登录时长是否超过预设时长;
当确定所述登录时长超过预设时长时,则执行所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤。
2.根据权利要求1所述的方法,其特征在于,所述根据所述项目确定所述项目对应的JSON文件的步骤之前,还包括:
获取所述待加载H5页面所依赖的多个静态资源文件及各静态资源文件的链接,并根据文件名、类别、大小对所述多个静态资源文件进行过滤,得到目标静态资源文件;
将所述目标静态资源文件的链接写入所述JSON文件中。
3.根据权利要求1所述的方法,其特征在于,当确定待下载数据的所述项目为多个时,所述根据所述链接下载所述项目的数据的步骤,包括:
根据预先为各个项目设定的等级对待下载数据的所述项目进行排序;
按照所述排序结果依次对各个项目进行数据下载。
4.根据权利要求3所述的方法,其特征在于,所述根据预先为各个项目设定的等级对待下载数据的所述项目进行排序的步骤之前,还包括:
获取各个项目在历史浏览中的浏览量;
根据所述浏览量确定各个项目的等级;其中,所述各个项目的等级与所述浏览量成正相关。
5.一种应用程序的H5页面加载装置,其特征在于,包括:
响应模块,响应于用户登录应用程序的登录请求,根据所述登录请求中的用户信息确定所述用户在历史访问所述应用程序时,访问次数排在前N位的H5页面,得到待加载H5页面;其中,所述N为正整数;
确定模块,用于获取所述待加载H5页面所需拉取的项目,根据所述项目确定所述项目对应的JSON文件;其中,每个JSON文件对应一个项目,用于记录所述项目在应用程序的存储状态或版本号更新状态;
对比模块,用于将所述JSON文件的数据与应用程序本地保存的本地数据进行对比,根据比对结果判断所述项目在应用程序中是否无本地数据或所述项目的版本号是否发生变化;
加载模块,用于当确定所述项目在应用程序中无本地数据或所述项目的版本号发生变化时,则获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据,其中,包括:每隔预设时间获取所述应用程序的运行状态;判断所述运行状态是否处于繁忙状态;若是,则暂停根据所述链接下载所述项目的数据,直至所述运行状态处于空闲状态时,恢复根据所述链接下载所述项目的数据,并将下载完成的项目的数据保存至本地数据库;响应于用户对所述待加载H5页面的目标项目的点击指令,从所述本地数据库中获取所述用户所点击的目标项目的目标数据;利用所述目标数据加载所述待加载H5页面的目标项目,并进行显示;并在监测到所述用户成功登录所述应用程序时,利用下载完成的数据加载所述待加载H5页面;
所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤之前,还包括:
获取所述应用程序的登录时长;
判断所述登录时长是否超过预设时长;
当确定所述登录时长超过预设时长时,则执行所述获取所述JSON文件的目标静态资源文件的链接,根据所述链接下载所述项目的数据的步骤。
6.一种计算机设备,其特征在于,包括:
处理器;
存储器;
计算机程序,其中所述计算机程序被存储在所述存储器中并被配置为由所述处理器执行,所述计算机程序配置用于执行根据权利要求1至4任一项所述的应用程序的H5页面加载方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-4任一项所述的应用程序的H5页面加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110722083.5A CN113282354B (zh) | 2021-06-28 | 2021-06-28 | 应用程序的h5页面加载方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110722083.5A CN113282354B (zh) | 2021-06-28 | 2021-06-28 | 应用程序的h5页面加载方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282354A CN113282354A (zh) | 2021-08-20 |
CN113282354B true CN113282354B (zh) | 2023-04-07 |
Family
ID=77285933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110722083.5A Active CN113282354B (zh) | 2021-06-28 | 2021-06-28 | 应用程序的h5页面加载方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282354B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416195B (zh) * | 2021-12-24 | 2023-08-18 | 青岛海尔科技有限公司 | 一种h5页面加载方法、装置、智能终端及服务器 |
CN114995861B (zh) * | 2022-08-02 | 2022-09-30 | 中航信移动科技有限公司 | 一种基于weex的应用程序更新方法、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110244962A (zh) * | 2019-04-29 | 2019-09-17 | 北京辰森世纪科技股份有限公司 | 加载应用文件的及装置、***、存储介质、电子装置 |
WO2020233059A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402359B1 (en) * | 2010-06-30 | 2013-03-19 | International Business Machines Corporation | Method and apparatus for managing recent activity navigation in web applications |
CN102123168B (zh) * | 2011-01-14 | 2012-07-18 | 广州市动景计算机科技有限公司 | 基于中转服务器的网页页面预读及整合方法和*** |
US9756108B2 (en) * | 2012-05-29 | 2017-09-05 | Google Inc. | Preloading resources of a web page |
CN109376318B (zh) * | 2018-09-03 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 一种页面加载方法、计算机可读存储介质及终端设备 |
CN109408750A (zh) * | 2018-09-26 | 2019-03-01 | 中国平安财产保险股份有限公司 | 页面显示方法、装置、计算机设备和存储介质 |
CN111666497B (zh) * | 2020-06-16 | 2023-06-06 | 腾讯科技(上海)有限公司 | 应用程序的加载方法、装置、电子设备及可读存储介质 |
CN112612552B (zh) * | 2020-12-31 | 2023-05-23 | 五八有限公司 | 应用程序资源加载方法、装置、电子设备及可读存储介质 |
CN112905939B (zh) * | 2021-02-25 | 2024-01-23 | 杭州思亿欧科技集团股份有限公司 | Html5页面资源的加载方法、装置、设备及存储介质 |
-
2021
- 2021-06-28 CN CN202110722083.5A patent/CN113282354B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110244962A (zh) * | 2019-04-29 | 2019-09-17 | 北京辰森世纪科技股份有限公司 | 加载应用文件的及装置、***、存储介质、电子装置 |
WO2020233059A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113282354A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113282354B (zh) | 应用程序的h5页面加载方法、装置、设备及存储介质 | |
US9641591B1 (en) | Modifying web content at a client | |
US9509764B1 (en) | Updating cached web content | |
CN102880616B (zh) | 浏览器页面加载方法及装置 | |
US9571601B2 (en) | Method and an apparatus for performing offline access to web pages | |
CN107870920B (zh) | 浏览器资源预拉取方法及装置 | |
US9401949B1 (en) | Client web content cache purge | |
CN112905939B (zh) | Html5页面资源的加载方法、装置、设备及存储介质 | |
CN107957837B (zh) | 网页应用程序的快捷方式生成方法、装置和终端设备 | |
CN107679077B (zh) | 分页的实现方法、装置、计算机设备及存储介质 | |
CN105183890B (zh) | 基于浏览器的网页加载方法和浏览器装置 | |
CN111881150A (zh) | 一种web应用程序离线数据的处理方法及装置 | |
CN112685669A (zh) | 一种页面渲染方法以及*** | |
CN112181532A (zh) | 页面资源加载方法、装置、电子设备和可读存储介质 | |
CN110147258B (zh) | 提高程序加载效率的方法、装置、计算机设备和存储介质 | |
CN112672187B (zh) | 页面生成方法、装置、计算机设备及可读存储介质 | |
CN117421499A (zh) | 前端处理方法、装置、终端设备以及存储介质 | |
US10095791B2 (en) | Information search method and apparatus | |
CN113419784A (zh) | 页面资源的缓存方法、装置、设备及介质 | |
CN111177600B (zh) | 一种基于移动应用的内置网页加载方法及装置 | |
CN112926002A (zh) | 一种服务请求的处理方法及装置 | |
CN112433784A (zh) | 页面加载方法、装置、设备和存储介质 | |
CN111984868A (zh) | 一种浏览器中浏览网页的控制方法及装置 | |
CN113326080B (zh) | H5页面的加载方法、装置、设备及存储介质 | |
US10599740B1 (en) | Program code streaming |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |