CN115080147A - 基于人工智能的h5页面加载方法、装置、设备及介质 - Google Patents
基于人工智能的h5页面加载方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115080147A CN115080147A CN202210750345.3A CN202210750345A CN115080147A CN 115080147 A CN115080147 A CN 115080147A CN 202210750345 A CN202210750345 A CN 202210750345A CN 115080147 A CN115080147 A CN 115080147A
- Authority
- CN
- China
- Prior art keywords
- page
- loading
- offline
- target
- version number
- 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
- 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
- G06F8/656—Updates while running
-
- 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
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页面加载方法、装置、电子设备及存储介质,基于人工智能的H5页面加载方法包括:依据H5应用请求获取应用程序的最新版本号;对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包;对所述实时离线资源包进行解析获得本地离线资源包;基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长;基于所述目标H5页面的加载时长对H5页面的加载过程进行优化。本申请通过计算H5页面加载过程中所需要的在线加载时长和离线加载时长,可以对H5页面的加载方式进行动态调整,从而提高H5页面的加载效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的H5页面加载方法、装置、电子设备及存储介质。
背景技术
H5技术(HTML5)的应用越来越广泛,如使用H5来开发网页、制作小程序、小游戏以及营销等。H5页面本身展示前需先进行网络请求获取页面资源,请求成功后才可进行展示,在用户网络状况较差的情况下,页面资源很迟才请求成功或根本请求不到,这就会导致用户很迟才看到界面或根本看不到界面,导致用户体验很差。
现有技术中,会将部分H5页面以离线包的形式存储在应用程序中来减少网络的影响。然而,由于离线包是置于应用程序的内部中,随着应用程序的不断更新,离线包所占的内容会越来越大,导致终端系统的内存空间逐步减小,从而引起卡顿,导致H5页面的加载效率降低。
发明内容
鉴于以上内容,有必要提出一种基于人工智能的H5页面加载方法、装置、电子设备及存储介质,以解决如何提高H5页面的加载效率这一技术问题。
本申请提供一种基于人工智能的H5页面加载方法,所述方法包括:
依据H5应用请求获取应用程序的最新版本号;
对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包;
对所述实时离线资源包进行解析获得本地离线资源包;
基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长;
基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
在一些实施例中,所述依据H5应用请求获取应用程序的最新版本号包括:
应用程序发送H5应用请求至服务器,所述H5应用请求包括所述应用程序的应用标识符;
基于所述应用标识符在预设的服务器白名单中进行验证,并依据验证结果获取所述应用程序的最新版本号。
在一些实施例中,所述对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包包括:
对比所述应用程序的本地版本号和所述最新版本号;
若所述应用程序的本地版本号和所述最新版本号不一致,则从服务器下载所述最新版本号对应的资源包作为实时离线资源包;
若所述应用程序的本地版本号和所述最新版本号一致,则将所述应用程序的本地版本号所对应的资源包作为实时离线资源包。
在一些实施例中,所述若所述应用程序的本地版本号和所述最新版本号不一致,则从服务器下载所述最新版本号对应的资源包作为实时离线资源包,包括:
依据预设的编码工具对所述应用标识符进行编码获得离线资源密钥;
基于所述离线资源密钥对所述最新版本号对应的资源包进行加密获得加密资源包;
存储所述加密资源包至所述应用程序得到实时离线资源包。
在一些实施例中,所述对所述实时离线资源包进行解析获得本地离线资源包包括:
对所述实时离线资源包进行解密获得解密资源包;
依据视图容器加载所述解密资源包并通过预设协议对所述解密资源包进行解析获得本地离线资源包。
在一些实施例中,所述基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长,包括:
匹配所述本地离线资源包和所述目标H5页面;
若所述目标H5页面存在于所述本地离线资源包中,则对所述目标H5页面进行离线加载,并将所述离线加载需要的时间作为离线加载时长;
若所述目标H5页面不存在于所述本地离线资源包中,则对所述目标H5页面进行在线加载,并将所述在线加载需要的时间作为在线加载时长。
在一些实施例中,所述基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化包括:
计算所有的目标H5页面的在线加载时长的平均值作为在线加载阈值;
对比所述目标H5页面的离线加载时长和所述在线加载阈值;
若所述目标H5页面的离线加载时长小于所述在线加载阈值,则继续下载新的实时离线资源包;
若所述目标H5页面的离线加载时长不小于所述在线加载阈值,则停止下载新的实时离线资源包。
本申请实施例还提供一种基于人工智能的H5页面加载装置,所述装置包括:
获取单元,用于依据H5应用请求获取应用程序的最新版本号;
对比单元,用于对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包;
解析单元,用于对所述实时离线资源包进行解析获得本地离线资源包;
验证单元,用于基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长;
优化单元,用于基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现所述的基于人工智能的H5页面加载方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于人工智能的H5页面加载方法。
本申请通过获取应用程序的最新版本号并与所述应用程序的本地版本号进行对比来保证应用程序离线资源包的实时有效性,并通过计算H5页面加载过程中所需要的在线加载时长和离线加载时长,可以对H5页面的加载方式进行动态调整,从而提高H5页面的加载效率。
附图说明
图1是本申请所涉及的基于人工智能的H5页面加载方法的较佳实施例的流程图。
图2是本申请所涉及的基于人工智能的H5页面加载装置的较佳实施例的功能模块图。
图3是本申请所涉及的基于人工智能的H5页面加载方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于人工智能的H5页面加载方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备可以是任何一种可与客户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
电子设备还可以包括网络设备和/或客户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。
电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
如图1所示,是本申请基于人工智能的H5页面加载方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,依据H5应用请求获取应用程序的最新版本号。
在一个可选的实施例中,所述依据H5应用请求获取应用程序的最新版本号包括:
S101,应用程序发送H5应用请求至服务器,所述H5应用请求包括所述应用程序的应用标识符;
S102,基于所述应用标识符在预设的服务器白名单中进行验证,并依据验证结果获取所述应用程序的最新版本号。
该可选的实施例中,H5应用所在的系统既包括服务端也包括客户端,客户端的应用程序通过向服务端的服务器发送H5请求来获取相应的H5页面的离线资源包。其中,可预先为H5应用程序设置应用标识符,所述应用标识符可以为字符串、数字或者符号等形式;所述客户端可以为平板、手机、智能手表等常见终端,本方案中不做具体限定。
该可选的实施例中,H5页面的离线资源包用于提供H5页面加载时的资源,如图片显示效果、动画效果、字体效果等资源。资源在资源包中以多个资源文件的形式存在,即资源包中包括多个资源文件,不同资源文件用于实现H5页面中不同内容的显示。其中,每一个应用程序都可以对应多个H5页面。
该可选的实施例中,不同应用的H5页面所显示的内容不相同,从而针对不同应用的离线资源包不相同。通过所述应用标识符表征对应的应用,如针对微信所使用的离线资源包,则添加微信对应的应用标识符。根据所述H5应用请求包括的应用标识符,服务器可以在预设的白名单中进行查验,若所述应用标识符存在于所述白名单中,服务器会将最新版本的应用程序的版本号发送给客户端。
如此,可以根据H5应用请求准确获取H5应用程序最新版本的版本号,并根据预设的白名单提高最新版本号在获取过程中的安全性。
S11,对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包。
在一个可选的实施例中,所述对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包包括:
S111,对比所述应用程序的本地版本号和所述最新版本号;
S112,若所述应用程序的本地版本号和所述最新版本号不一致,则从服务器下载所述最新版本号对应的资源包作为实时离线资源包;
S113,若所述应用程序的本地版本号和所述最新版本号一致,则将所述应用程序的本地版本号所对应的资源包作为实时离线资源包。
该可选的实施例中,可通过对比所述应用程序的本地版本号和所述最新版本号来判断是否需要更新所述H5应用程序的本地资源。其中,若所述应用程序的本地版本号和所述最新版本号一致,则无需进行本地资源的更新,可将所述应用程序的本地版本号所对应的资源包作为实时离线资源包。
该可选的实施例中,若所述应用程序的本地版本号和所述最新版本号不一致,则需要从服务器下载所述最新版本号对应的资源包作为实时离线资源包。其中,在下载所述最新版本号对应的资源包的过程中,可依据预设的编码工具对所述应用标识符进行编码获得离线资源密钥,并基于所述离线资源密钥对所述最新版本号对应的资源包进行加密获得加密资源包,然后将所述加密资源包存储至所述应用程序得到实时离线资源包。
该可选的实施例中,预设的编码工具可使用Base64编码工具,其中Base64是最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法,可以将所述应用标识符进行编码,并将编码后获得的字符串作为离线资源密钥。
该可选的实施例中,可将所述离线资源密钥作为DES加密算法的密钥。其中,DES加密算法是一种比较广泛的对称加密方式,其加密运算、解密运算使用的是同样的密钥,因此本方案中既使用所述离线资源密钥结合DES加密算法进行加密操作,也使用所述离线资源密钥结合DES加密算法进行解密操作。
如此,可以保证所述应用程序的本地版本号始终为最新版本号,并通过对所述最新版本号对应的资源包进行加密来提高实时离线资源包在获取过程中的安全性。
S12,对所述实时离线资源包进行解析获得本地离线资源包。
在一个可选的实施例中,所述对所述实时离线资源包进行解析获得本地离线资源包包括:
S121,对所述实时离线资源包进行解密获得解密资源包;
S122,依据视图容器加载所述解密资源包并通过预设协议对所述解密资源包进行解析获得本地离线资源包。
该可选的实施例中,可首先通过所述离线资源密钥结合DES加密算法对所述进行实时离线资源包进行解密操作获取解密资源包。然后通过所述应用程序的原生端(Native端)创建一个JS脚本文件,继而通过所述JS脚本文件来生成一个网页视图容器(WebView)。
该可选的实施例中,通过打开一个视图容器如所述WebView网页视图容器来对所述解密资源包进行加载,其中在加载过程中需首先对所述WebView网页视图容器进行初始化,即通过加载所述应用程序所在客户端中的浏览器的内核实现所述WebView网页视图容器的初始化加载。
该可选的实施例中,在完成所述WebView网页视图容器的初始化加载后,通过所述浏览器的file协议来对所述解密资源包进行解析获得所述解密资源包中包括的css样式、js资源从而获得本地离线资源包。其中,所述css样式、js资源用于在H5页面的加载过程中对H5页面进行渲染。
该可选的实施例中,所述网页视图容器WebView可以内嵌在客户端,实现前端的混合式开发,大多数混合式开发框架都是基于WebView模式进行二次开发的,比如:APIcloud、uni-app等较为常见的框架。
如此,可以快速获取所述H5应用程序所需的本地离线资源包,提高H5页面的加载效率。
S13,基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长。
在一个可选的实施例中,所述基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长,包括:
S131,匹配所述本地离线资源包和所述目标H5页面;
S132,若所述目标H5页面存在于所述本地离线资源包中,则对所述目标H5页面进行离线加载,并将所述离线加载需要的时间作为离线加载时长;
S133,若所述目标H5页面不存在于所述本地离线资源包中,则对所述目标H5页面进行在线加载,并将所述在线加载需要的时间作为在线加载时长。
该可选的实施例中,由于每一个应用程序都可以对应多个H5页面,因此所述目标H5页面为所述应用程序每一次请求进行加载的任意一个H5页面。
该可选的实施例中,每一个离线资源包会包括多个H5页面,因此对于需要进行加载的目标H5页面,首先需要根据所述本地离线资源包对所述目标H5页面进行匹配查找,若所述目标H5页面存在于所述本地离线资源包中,则客户端可直接通过存储于本地目录下的所述本地离线资源包对所述目标H5页面进行离线加载,并将所述离线加载需要的时间作为离线加载时长,从而减轻网络环境较弱时在线加载方式导致的目标H5页面加载过慢的问题,同时节省了流量消耗。
该可选的实施例中,若所述目标H5页面存在于所述本地离线资源包中,所述应用程序根据所述客户端发出的调用指令对H5页面的本地离线资源包进行调用,从而根据所述调用指令可确定与客户端上的应用程序所对应的应用接口,所述应用接口为用于对本地离线资源包进行调用的调用接口,不同的应用程序具有不同的应用接口。
该可选的实施例中,不同的本地离线资源包对应不同的应用程序,即对应不同的应用接口。各应用接口通过H5页面的本地离线资源包的路由接口统一对接,路由接口用于实现调用指令的转发,在确定调用指令所来源的应用程序后,将调用指令发送到此应用程序对应的应用接口,通过各应用程序与各本地离线资源包的一一对接,可以避免当客户端存储有多个本地离线资源包时,容易出现数据混乱导致的本地离线资源包调用出错的情况。
该可选的实施例中,在将调用指令发送到应用接口后,应用接口对其对应的本地离线资源包数据进行调用,并将调用的本地离线资源包数据返回。接收此应用接口所返回H5页面的本地离线资源包数据,并将此H5页面的本地离线资源包数据展示在客户端界面上,实现H5页面的加载。
该可选的实施例中,若所述目标H5页面不存在于所述本地离线资源包中,则需对所述目标H5页面进行在线加载,并将所述目标H5页面通过在线加载方式所需要的时间作为在线加载时长。
如此,可以分别获取所述目标H5页面在不同加载方式下的加载时长,从而为后续过程对H5页面的优化过程提供数据支撑。
S14,基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
在一个可选的实施例中,所述基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化包括:
S141,计算所有的目标H5页面的在线加载时长的平均值作为在线加载阈值;
S142,对比所述目标H5页面的离线加载时长和所述在线加载阈值;
S143,若所述目标H5页面的离线加载时长小于所述在线加载阈值,则继续下载新的实时离线资源包;
S144,若所述目标H5页面的离线加载时长不小于所述在线加载阈值,则停止下载新的实时离线资源包。
该可选的实施例中,由于所述本地离线资源包是置于所述应用程序的内部中,因此随着多次加载,客户端上各应用程序对应的本地离线资源包的越来越多,会导致客户端系统的内存空间逐步减小,从而引起系统卡顿,从而增加目标H5页面的在离线加载方式下的加载时长,因此本方案中可以通过所述目标H5页面的在线加载时长和离线加载时长对本地离线资源包的数量进行控制,使其保持在一个合理均衡的范围内,防止本地离线资源包过多导致的系统卡顿问题,从而实现对H5页面的加载过程进行优化。
该可选的实施例中,可统计每一个应用程序对应的所有目标H5页面的历史在线加载时长,并计算所有的目标H5页面的历史在线加载时长的平均值作为在线加载阈值。
该可选的实施例中,若所述目标H5页面的离线加载时长小于所述在线加载阈值,则说明当前所述目标H5页面的离线加载时长相对于常规的目标H5页面的在线加载时长所需的时间更短,则可以继续下载新的实时离线资源包,从而减轻在线加载方式在网络不稳定时造成的加载时长过久问题,实现对H5页面的加载过程进行优化。
该可选的实施例中,若所述目标H5页面的离线加载时长不小于所述在线加载阈值,则说明当前所述目标H5页面的离线加载时长相对于常规的目标H5页面的在线加载时长所需的时间更久,当前应用程序的客户端很可能以为内存不够导致所述目标H5页面的离线加载时长过久,因此在后续针对不存在于所述本地离线资源包中的H5页面进行加载时,可停止下载新的实时离线资源包,仅通过在线加载的形式对H5页面的加载过程进行优化。
如此,可根据H5页面加载过程中所需要的在线加载时长和离线加载时长,对H5页面的加载方式进行动态调整,从而提高H5页面的加载效率。
请参见图2,图2是本申请基于人工智能的H5页面加载装置的较佳实施例的功能模块图。基于人工智能的H5页面加载装置11包括获取单元110、对比单元111、解析单元112、验证单元113、优化单元114。本申请所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
在一个可选的实施例中,获取单元110用于依据H5应用请求获取应用程序的最新版本号。
在一个可选的实施例中,所述依据H5应用请求获取应用程序的最新版本号包括:
应用程序发送H5应用请求至服务器,所述H5应用请求包括所述应用程序的应用标识符;
基于所述应用标识符在预设的服务器白名单中进行验证,并依据验证结果获取所述应用程序的最新版本号。
该可选的实施例中,H5应用所在的系统既包括服务端也包括客户端,客户端的应用程序通过向服务端的服务器发送H5请求来获取相应的H5页面的离线资源包。其中,可预先为H5应用程序设置应用标识符,所述应用标识符可以为字符串、数字或者符号等形式;所述客户端可以为平板、手机、智能手表等常见终端,本方案中不做具体限定。
该可选的实施例中,H5页面的离线资源包用于提供H5页面加载时的资源,如图片显示效果、动画效果、字体效果等资源。资源在资源包中以多个资源文件的形式存在,即资源包中包括多个资源文件,不同资源文件用于实现H5页面中不同内容的显示。其中,每一个应用程序都可以对应多个H5页面。
该可选的实施例中,不同应用的H5页面所显示的内容不相同,从而针对不同应用的离线资源包不相同。通过所述应用标识符表征对应的应用,如针对微信所使用的离线资源包,则添加微信对应的应用标识符。根据所述H5应用请求包括的应用标识符,服务器可以在预设的白名单中进行查验,若所述应用标识符存在于所述白名单中,服务器会将最新版本的应用程序的版本号发送给客户端。
在一个可选的实施例中,对比单元111用于对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包。
在一个可选的实施例中,所述对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包包括:
对比所述应用程序的本地版本号和所述最新版本号;
若所述应用程序的本地版本号和所述最新版本号不一致,则从服务器下载所述最新版本号对应的资源包作为实时离线资源包;
若所述应用程序的本地版本号和所述最新版本号一致,则将所述应用程序的本地版本号所对应的资源包作为实时离线资源包。
该可选的实施例中,可通过对比所述应用程序的本地版本号和所述最新版本号来判断是否需要更新所述H5应用程序的本地资源。其中,若所述应用程序的本地版本号和所述最新版本号一致,则无需进行本地资源的更新,可将所述应用程序的本地版本号所对应的资源包作为实时离线资源包。
该可选的实施例中,若所述应用程序的本地版本号和所述最新版本号不一致,则需要从服务器下载所述最新版本号对应的资源包作为实时离线资源包。其中,在下载所述最新版本号对应的资源包的过程中,可依据预设的编码工具对所述应用标识符进行编码获得离线资源密钥,并基于所述离线资源密钥对所述最新版本号对应的资源包进行加密获得加密资源包,然后将所述加密资源包存储至所述应用程序得到实时离线资源包。
该可选的实施例中,预设的编码工具可使用Base64编码工具,其中Base64是最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法,可以将所述应用标识符进行编码,并将编码后获得的字符串作为离线资源密钥。
该可选的实施例中,可将所述离线资源密钥作为DES加密算法的密钥。其中,DES加密算法是一种比较广泛的对称加密方式,其加密运算、解密运算使用的是同样的密钥,因此本方案中既使用所述离线资源密钥结合DES加密算法进行加密操作,也使用所述离线资源密钥结合DES加密算法进行解密操作。
在一个可选的实施例中,解析单元112用于对所述实时离线资源包进行解析获得本地离线资源包。
在一个可选的实施例中,所述对所述实时离线资源包进行解析获得本地离线资源包包括:
对所述实时离线资源包进行解密获得解密资源包;
依据视图容器加载所述解密资源包并通过预设协议对所述解密资源包进行解析获得本地离线资源包。
该可选的实施例中,可首先通过所述离线资源密钥结合DES加密算法对所述进行实时离线资源包进行解密操作获取解密资源包。然后通过所述应用程序的原生端(Native端)创建一个JS脚本文件,继而通过所述JS脚本文件来生成一个网页视图容器(WebView)。
该可选的实施例中,通过打开一个视图容器如所述WebView网页视图容器来对所述解密资源包进行加载,其中在加载过程中需首先对所述WebView网页视图容器进行初始化,即通过加载所述应用程序所在客户端中的浏览器的内核实现所述WebView网页视图容器的初始化加载。
该可选的实施例中,在完成所述WebView网页视图容器的初始化加载后,通过所述浏览器的file协议来对所述解密资源包进行解析获得所述解密资源包中包括的css样式、js资源从而获得本地离线资源包。其中,所述css样式、js资源用于在H5页面的加载过程中对H5页面进行渲染。
该可选的实施例中,所述网页视图容器WebView可以内嵌在客户端,实现前端的混合式开发,大多数混合式开发框架都是基于WebView模式进行二次开发的,比如:APIcloud、uni-app等较为常见的框架。
在一个可选的实施例中,验证单元113用于基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长。
在一个可选的实施例中,所述基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长,包括:
匹配所述本地离线资源包和所述目标H5页面;
若所述目标H5页面存在于所述本地离线资源包中,则对所述目标H5页面进行离线加载,并将所述离线加载需要的时间作为离线加载时长;
若所述目标H5页面不存在于所述本地离线资源包中,则对所述目标H5页面进行在线加载,并将所述在线加载需要的时间作为在线加载时长。
该可选的实施例中,由于每一个应用程序都可以对应多个H5页面,因此所述目标H5页面为所述应用程序每一次请求进行加载的任意一个H5页面。
该可选的实施例中,每一个离线资源包会包括多个H5页面,因此对于需要进行加载的目标H5页面,首先需要根据所述本地离线资源包对所述目标H5页面进行匹配查找,若所述目标H5页面存在于所述本地离线资源包中,则客户端可直接通过存储于本地目录下的所述本地离线资源包对所述目标H5页面进行离线加载,并将所述离线加载需要的时间作为离线加载时长,从而减轻网络环境较弱时在线加载方式导致的目标H5页面加载过慢的问题,同时节省了流量消耗。
该可选的实施例中,若所述目标H5页面存在于所述本地离线资源包中,所述应用程序根据所述客户端发出的调用指令对H5页面的本地离线资源包进行调用,从而根据所述调用指令可确定与客户端上的应用程序所对应的应用接口,所述应用接口为用于对本地离线资源包进行调用的调用接口,不同的应用程序具有不同的应用接口。
该可选的实施例中,不同的本地离线资源包对应不同的应用程序,即对应不同的应用接口。各应用接口通过H5页面的本地离线资源包的路由接口统一对接,路由接口用于实现调用指令的转发,在确定调用指令所来源的应用程序后,将调用指令发送到此应用程序对应的应用接口,通过各应用程序与各本地离线资源包的一一对接,可以避免当客户端存储有多个本地离线资源包时,容易出现数据混乱导致的本地离线资源包调用出错的情况。
该可选的实施例中,在将调用指令发送到应用接口后,应用接口对其对应的本地离线资源包数据进行调用,并将调用的本地离线资源包数据返回。接收此应用接口所返回H5页面的本地离线资源包数据,并将此H5页面的本地离线资源包数据展示在客户端界面上,实现H5页面的加载。
该可选的实施例中,若所述目标H5页面不存在于所述本地离线资源包中,则需对所述目标H5页面进行在线加载,并将所述目标H5页面通过在线加载方式所需要的时间作为在线加载时长。
在一个可选的实施例中,优化单元114用于基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
在一个可选的实施例中,所述基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化包括:
计算所有的目标H5页面的在线加载时长的平均值作为在线加载阈值;
对比所述目标H5页面的离线加载时长和所述在线加载阈值;
若所述目标H5页面的离线加载时长小于所述在线加载阈值,则继续下载新的实时离线资源包;
若所述目标H5页面的离线加载时长不小于所述在线加载阈值,则停止下载新的实时离线资源包。
该可选的实施例中,由于所述本地离线资源包是置于所述应用程序的内部中,因此随着多次加载,客户端上各应用程序对应的本地离线资源包的越来越多,会导致客户端系统的内存空间逐步减小,从而引起系统卡顿,从而增加目标H5页面的在离线加载方式下的加载时长,因此本方案中可以通过所述目标H5页面的在线加载时长和离线加载时长对本地离线资源包的数量进行控制,使其保持在一个合理均衡的范围内,防止本地离线资源包过多导致的系统卡顿问题,从而实现对H5页面的加载过程进行优化。
该可选的实施例中,可统计每一个应用程序对应的所有目标H5页面的历史在线加载时长,并计算所有的目标H5页面的历史在线加载时长的平均值作为在线加载阈值。
该可选的实施例中,若所述目标H5页面的离线加载时长小于所述在线加载阈值,则说明当前所述目标H5页面的离线加载时长相对于常规的目标H5页面的在线加载时长所需的时间更短,则可以继续下载新的实时离线资源包,从而减轻在线加载方式在网络不稳定时造成的加载时长过久问题,实现对H5页面的加载过程进行优化。
该可选的实施例中,若所述目标H5页面的离线加载时长不小于所述在线加载阈值,则说明当前所述目标H5页面的离线加载时长相对于常规的目标H5页面的在线加载时长所需的时间更久,当前应用程序的客户端很可能以为内存不够导致所述目标H5页面的离线加载时长过久,因此在后续针对不存在于所述本地离线资源包中的H5页面进行加载时,可停止下载新的实时离线资源包,仅通过在线加载的形式对H5页面的加载过程进行优化。
由以上技术方案可以看出,本申请能够通过获取应用程序的最新版本号并与所述应用程序的本地版本号进行对比来保证应用程序离线资源包的实时有效性,并通过计算H5页面加载过程中所需要的在线加载时长和离线加载时长,可以对H5页面的加载方式进行动态调整,从而提高H5页面的加载效率。
请参见图3,是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行所述储器中存储的计算机可读指令以实现上述任一实施例所述的基于人工智能的H5页面加载方法。
在一个可选的实施例中,电子设备1还包括总线、存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于人工智能的H5页面加载程序。
图3仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于人工智能的H5页面加载方法,所述处理器13可执行所述多个指令从而实现:
依据H5应用请求获取应用程序的最新版本号;
对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包;
对所述实时离线资源包进行解析获得本地离线资源包;
基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长;
基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的H5页面加载程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于人工智能的H5页面加载程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于人工智能的H5页面加载方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、对比单元111、解析单元112、验证单元113、优化单元114。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述的基于人工智能的H5页面加载方法的部分。
电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器及其他存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的H5页面加载方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种基于人工智能的H5页面加载方法,其特征在于,所述方法包括:
依据H5应用请求获取应用程序的最新版本号;
对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包;
对所述实时离线资源包进行解析获得本地离线资源包;
基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长;
基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
2.如权利要求1所述的基于人工智能的H5页面加载方法,其特征在于,所述依据H5应用请求获取应用程序的最新版本号包括:
应用程序发送H5应用请求至服务器,所述H5应用请求包括所述应用程序的应用标识符;
基于所述应用标识符在预设的服务器白名单中进行验证,并依据验证结果获取所述应用程序的最新版本号。
3.如权利要求1所述的基于人工智能的H5页面加载方法,其特征在于,所述对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包包括:
对比所述应用程序的本地版本号和所述最新版本号;
若所述应用程序的本地版本号和所述最新版本号不一致,则从服务器下载所述最新版本号对应的资源包作为实时离线资源包;
若所述应用程序的本地版本号和所述最新版本号一致,则将所述应用程序的本地版本号所对应的资源包作为实时离线资源包。
4.如权利要求3所述的基于人工智能的H5页面加载方法,其特征在于,所述若所述应用程序的本地版本号和所述最新版本号不一致,则从服务器下载所述最新版本号对应的资源包作为实时离线资源包,包括:
依据预设的编码工具对所述应用标识符进行编码获得离线资源密钥;
基于所述离线资源密钥对所述最新版本号对应的资源包进行加密获得加密资源包;
存储所述加密资源包至所述应用程序得到实时离线资源包。
5.如权利要求1所述的基于人工智能的H5页面加载方法,其特征在于,所述对所述实时离线资源包进行解析获得本地离线资源包包括:
对所述实时离线资源包进行解密获得解密资源包;
依据视图容器加载所述解密资源包并通过预设协议对所述解密资源包进行解析获得本地离线资源包。
6.如权利要求1所述的基于人工智能的H5页面加载方法,其特征在于,所述基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长,包括:
匹配所述本地离线资源包和所述目标H5页面;
若所述目标H5页面存在于所述本地离线资源包中,则对所述目标H5页面进行离线加载,并将所述离线加载需要的时间作为离线加载时长;
若所述目标H5页面不存在于所述本地离线资源包中,则对所述目标H5页面进行在线加载,并将所述在线加载需要的时间作为在线加载时长。
7.如权利要求1所述的基于人工智能的H5页面加载方法,其特征在于,所述基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化包括:
计算所有的目标H5页面的在线加载时长的平均值作为在线加载阈值;
对比所述目标H5页面的离线加载时长和所述在线加载阈值;
若所述目标H5页面的离线加载时长小于所述在线加载阈值,则继续下载新的实时离线资源包;
若所述目标H5页面的离线加载时长不小于所述在线加载阈值,则停止下载新的实时离线资源包。
8.一种基于人工智能的H5页面加载装置,其特征在于,所述装置包括:
获取单元,用于依据H5应用请求获取应用程序的最新版本号;
对比单元,用于对比所述应用程序的本地版本号和所述最新版本号以获取实时离线资源包;
解析单元,用于对所述实时离线资源包进行解析获得本地离线资源包;
验证单元,用于基于所述本地离线资源包对目标H5页面进行验证以获取所述目标H5页面的加载时长,所述目标H5页面的加载时长包括在线加载时长和离线加载时长;
优化单元,用于基于所述目标H5页面的在线加载时长和离线加载时长对H5页面的加载过程进行优化。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的基于人工智能的H5页面加载方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于人工智能的H5页面加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210750345.3A CN115080147A (zh) | 2022-06-28 | 2022-06-28 | 基于人工智能的h5页面加载方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210750345.3A CN115080147A (zh) | 2022-06-28 | 2022-06-28 | 基于人工智能的h5页面加载方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080147A true CN115080147A (zh) | 2022-09-20 |
Family
ID=83255954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210750345.3A Pending CN115080147A (zh) | 2022-06-28 | 2022-06-28 | 基于人工智能的h5页面加载方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080147A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115878226A (zh) * | 2023-02-28 | 2023-03-31 | 北京沐融信息科技股份有限公司 | 一种h5离线包加载方法及装置 |
-
2022
- 2022-06-28 CN CN202210750345.3A patent/CN115080147A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115878226A (zh) * | 2023-02-28 | 2023-03-31 | 北京沐融信息科技股份有限公司 | 一种h5离线包加载方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
US20190318111A1 (en) | System and method for automatically securing sensitive data in public cloud using a serverless architecture | |
WO2021228143A1 (zh) | 小程序启动方法、签名方法、装置、服务器及介质 | |
CN112948851A (zh) | 用户认证方法、装置、服务器及存储介质 | |
US11637868B2 (en) | Attestation support for elastic cloud computing environments | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN111460394A (zh) | 一种版权文件的验证方法、装置及计算机可读存储介质 | |
CN109409033A (zh) | 代码加密方法、装置、计算机装置及存储介质 | |
CN115225707A (zh) | 资源访问方法及装置 | |
CN110069729B (zh) | 一种应用的离线缓存方法和系统 | |
CN111338688B (zh) | 数据长效缓存方法、装置、计算机系统及可读存储介质 | |
CN115248919A (zh) | 一种函数接口的调用方法、装置、电子设备及存储介质 | |
CN115080147A (zh) | 基于人工智能的h5页面加载方法、装置、设备及介质 | |
CN111176685A (zh) | 一种升级方法及装置 | |
CN113132400B (zh) | 业务处理方法、装置、计算机系统及存储介质 | |
CN110874445A (zh) | 网页加载方法、客户端及业务服务中心 | |
CN114697304A (zh) | 一种灰度发布方法、系统、装置、设备及存储介质 | |
CN111277626A (zh) | 服务器升级方法、装置、电子设备及介质 | |
CN112395319B (zh) | 缓存共用方法、装置、服务器及存储介质 | |
CN113051622B (zh) | 索引构建方法、装置、设备和存储介质 | |
CN114912097A (zh) | 一种证书校验方法、装置、电子设备及存储介质 | |
CN114826725A (zh) | 数据交互方法、装置、设备及存储介质 | |
CN112311716B (zh) | 一种基于openstack的数据访问控制方法、装置及服务器 | |
CN114036364A (zh) | 用于识别爬虫的方法、装置、设备、介质和产品 | |
CN112395299A (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 |