CN113111282A - 一种网页资源访问方法、装置、终端及存储介质 - Google Patents
一种网页资源访问方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN113111282A CN113111282A CN202010033727.5A CN202010033727A CN113111282A CN 113111282 A CN113111282 A CN 113111282A CN 202010033727 A CN202010033727 A CN 202010033727A CN 113111282 A CN113111282 A CN 113111282A
- Authority
- CN
- China
- Prior art keywords
- resource
- sub
- resources
- webpage
- packet
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000006837 decompression Effects 0.000 claims description 18
- 230000006978 adaptation Effects 0.000 claims description 11
- 230000010354 integration Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 25
- 238000011161 development Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012360 testing method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 206010016322 Feeling abnormal Diseases 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
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
技术领域
本申请涉及通讯技术领域,尤其涉及一种网页资源访问方法、装置、终端及存储介质。
背景技术
Hybrid App(混合模式应用)的特点是在App里内置浏览器,使得一些功能页面可以采用网页的形式呈现,即,通过在线访问网页资源(即web资源)来实现App中相应的功能。正是由于Hybrid App中某些功能需要通过在线访问网页资源才能够实现。因此,HybridApp在网速受到限制时,在线访问网页资源会出现卡顿或者卡死现象,使得与用户之间的交互受到影响,使其不稳定性增强,降低了Hybrid App的本地体验。因此,如何提升HybridApp访问网页资源的效率,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请提供了一种网页资源访问方法、装置、终端及存储介质,先离线缓存web访问依赖的资源,然后离线加载待访问统一资源定位符对应的本地的离线分包资源,实现网页资源的离线访问,提高了Hybrid App对网页资源的访问效率,增强了HybridApp的本地体验;且通过分包下载可更新网页资源,提升了网页资源下载成功率。
为实现上述目的,一方面,本申请提供了一种网页资源访问方法,包括:
检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源;
当接收到访问请求时,在所述访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;所述分包标识用于使网页视图容器劫持所述待访问统一资源定位符;
在所述网页视图容器劫持到所述待访问统一资源定位符,且所述待访问统一资源定位符对应的离线分包资源是最新版本时,根据所述待访问统一资源定位符的作用域加载对应的离线分包资源。
在一种可能的实现方式中,所述在所述访问请求对应的统一资源定位符中添加分包标识,包括:
在所述访问请求对应的统一资源定位符的尾部添加查询参数。
在又一种可能的实现方式中,若所述网页视图容器中所述待访问统一资源定位符对应的离线分包资源不是最新版本时,包括:
判断所述待访问统一资源定位符中是否存在在线备份统一资源定位符;
若存在,则在线请求所述在线备份统一资源定位符;
若不存在,则在线请求所述待访问统一资源定位符。
在又一种可能的实现方式中,所述检测到资源更新信号之前,还包括:
下载可更新网页资源对应的更新信息;
根据所述更新信息判断所述可更新网页资源是否为最新版本网页资源;
若是,则生成资源更新信号。
在又一种可能的实现方式中,所述下载可更新网页资源对应的分包资源,包括:
从资源服务器中下载可更新网页资源对应的分包资源;所述分包资源为包含相应目录信息的资源压缩包;
相应的,所述根据所述待访问统一资源定位符的作用域加载对应的离线分包资源,包括:
从所有离线分包资源对应的目录信息中,确定出与所述待访问统一资源定位符的作用域对应的目录信息,以得到目标目录信息;
加载所述目标目录信息相应的离线分包资源。
在又一种可能的实现方式中,所述下载可更新网页资源对应的更新信息,以及所述下载可更新网页资源对应的分包资源,包括:
通过安全网关下载所述更新信息,以及所述可更新网页资源对应的分包资源。
在又一种可能的实现方式中,所述得到离线分包资源,包括:
判断所述分包资源的分包类型是否为增量包;
若不是增量包,则对所述分包资源执行解压替换,形成离线分包资源;
若是增量包,则将所述分包资源合入本地固化的分包资源,并判断合入是否成功;
若合入成功,则对合入后的分包资源执行解压替换,形成离线分包资源;
若合入失败,则修改所述分包类型为整包,并下载所述分包资源对应的整包资源。
又一方面,本申请提供了一种网页资源访问装置,包括:
网页资源下载模块,用于检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源;
统一资源定位符适配模块,用于当接收到访问请求时,在所述访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;所述分包标识用于使网页视图容器劫持所述待访问统一资源定位符;
统一资源定位符请求模块,用于在所述网页视图容器劫持到所述待访问统一资源定位符,且所述待访问统一资源定位符对应的离线分包资源是最新版本时,根据所述待访问统一资源定位符的作用域加载对应的离线分包资源。
又一方面,本申请还提供了一种终端,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现本申请任一实施例的网页资源访问方法。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现本申请任一实施例的网页资源访问方法。
可见,在本申请实施例中,通过下载可更新网页资源对应的分包资源,得到离线分包资源,实现离线缓存web访问依赖的资源,后续在接收到访问请求时,通过为对应的统一资源定位符(Uniform Resource Locator,URL)添加分包标识,构造出能够被网页视图容器(即WebView容器)劫持的待访问统一资源定位符;利用WebView容器离线加载待访问统一资源定位符对应的本地的离线分包资源,实现web资源的离线访问。即,该方法可以实现在离线的情况下对web资源的访问。因此,该方法避免了相关技术中Hybrid App在网速受限时,访问web资源出现的卡顿或者卡死现象,或者是在离线情况下不能实现对web资源进行访问的情况,提高了Hybrid App对web资源访问的访问效率,进而增强了Hybrid App的本地体验。进一步,由于该方法在下载可更新网页资源时,通过分包的形式来下载可更新网页资源,即,将整个可更新网页资源划分成多个分包资源的形式下载,通过降低每个分包资源的大小,提升可更新网页资源的下载成功率和响应速度。
相应地,本申请实施例还提供了与上述网页资源访问方法相对应的网页资源访问装置、终端及存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请实施例的一种网页资源访问方法所适用的硬件组成框架示意图;
图2示出了本申请实施例的一种网页资源访问方法的一种流程示意图;
图3示出了本申请实施例的一种根据待访问统一资源定位符加载对应的离线分包资源的流程示意图;
图4示出了本申请实施例的一种形成离线分包资源的流程示意图;
图5示出了本申请实施例的一种应用场景实施例对应的示意图;
图6示出了本申请实施例的一种网页资源访问装置的一个实施例的组成结构示框图;
图7示出了本申请实施例的一种终端的硬件结构示意图。
具体实施方式
现有的客户端App(Application,应用程序)开发一般具有以下三种形式。第一种是纯Native开发(纯本地开发)形成的Native App(本地应用),第二种是传统web技术开发或开源的web开发框架(如React框架(一个JavaScript框架))开发形成的App,第三种是Native开发和web开发的混合开发模式下得到的Hybrid App。由于第二种在使用web开发后要形成App时,仍旧需要在客户端通过加壳的方式实现,其最终呈现形式上类似于HybridApp,且两者都具有在网速受限时,访问web资源出现的卡顿或者卡死现象,或者是在离线情况下不能实现对web资源进行访问的情况。因此,本申请实施例中将第二种以及第三种得到的App都称之为Hybrid App(混合模式应用)。
其中,Native App位于平台层上方,其向下访问和兼容的能力比较好,可以支持在线或离线,消息推送或本地资源访问等。但是,由于设备碎片化,Native App存在开发成本很高,维持多个版本的更新升级比较麻烦,且存在迭代周期长迭代成本高,用户的安装门槛也比较高的问题。而本申请实施例指出的Hybrid App对设备碎片化的适应能力优于NativeApp,例如在Native App里内置浏览器,即可以将合适的功能页面采用网页的形式呈现。但是由于其存在页面跳转费力,且在网速受限时,访问web资源出现的卡顿或者卡死现象,或者是在离线情况下不能实现对web资源进行访问的情况,会导致与用户交互效果受到影响,不稳定感更强。即,本申请实施例指出的Hybrid App存在访问延迟,体验感较差,Native能力受限的问题。为了解决上述问题,本申请实施例可以实现在离线的情况下对web资源的访问,进而避免出现在网速受限时,造成的访问web资源出现的卡顿或者卡死现象,提升了Hybrid App访问web资源的效率,增强了Hybrid App的Native体验(即本地体验)。
为了便于理解,先对本申请的网页资源访问方法对应的方案所适用的硬件组成框架进行介绍。可以参见图1,其中,图1其示出了本申请一种网页资源访问方法所适用的硬件组成框架示意图。
由图1可知,该硬件组成框架可以包括:终端10、资源服务器20以及管理设备30。
其中,管理设备30可以接收用户(如业务方)上传的可更新网页资源的分包资源(如分包资源的压缩包),并将接收到的分包资源上传到资源服务器20,以实现分包资源的云推过程;在完成分包资源的云推后,可以按照预定的下发策略向终端10下发更新推送信息,以便终端10可以通过网络从资源服务器20中下载所需的分包资源,即,管理设备30可以实现可更新网页资源对应的分包资源向资源服务器20上传的功能,以及向终端10下发推送更新该可更新网页资源的信息的功能。进一步,本申请实施例通过管理设备30上传分包资源时,如果该分包资源对应的版本号已经存在,则将该分包资源的分包类型设置为增量包,并发布到CDN服务器(即内容分发网络服务器,一种资源服务器)中;如果该分包资源对应的版本号不存在,说明其是一个新整包,因此,则将该分包资源的分包类型设置为整包,则直接发布到CDN服务器中。发布CDN服务器后,同步更新整包到web服务器。
当然,本申请实施例并不对下发策略进行限定,用户可以根据实际使用场景进行设定,例如,下发策略可以是管理设备完成分包资源的云推后直接向终端发送APNs推送;其中,APNs推送是一种用于发布产品推送证书的方式;也可以是通过CDN(Content DeliveryNetwork,内容分发网络)下发推送信息。本申请实施例也不对管理设备30的具体硬件结构进行限定,例如,该管理设备30可以服务器,或者是CGI设备(如安全网关)等。
其中,资源服务器20可以用于存储可更新网页资源对应的分包资源,以便终端下载对应的分包资源。本申请实施例也不对资源服务器20的具体硬件结构进行限定,例如,该资源服务器20可以服务器。本申请实施例也不限定该资源服务器20的数量和种类,例如,该资源服务器20可以包含两种类型的服务器,如,分别是CDN服务器以及web服务器。当然,每种服务器的数量可以是多个。
其中,终端10可以在用户交互界面上获取管理设备30下发的更新推动信息,进而根据该更新推送信息确定是否需要下载该可更新网页资源对应的分包资源。当需要下载时,可以通过网络从资源服务器20中下载对应的分包资源。在执行完下载过程后,即实现了离线缓存web访问所依赖的资源。在接收到访问请求时,终端10可以利用WebView容器(即网页视图容器)实现对访问请求对应的URL(即统一资源定位符)的访问,最终实现离线加载待访问统一资源定位符(可以称为待访问URL)对应的离线分包资源。可以理解的是,本申请实施例并不对终端10的具体硬件结构进行限定,例如,该终端10可以是手机、平板电脑和台式计算机等。
在另一种可能的情况中,为了进一步保证可更新网页资源对应的分包资源的数据安全性。本申请实施例可以通过安全通道(如利用安全网关)下载可更新网页资源对应的分包资源,以及其他需要从外界设备下载的数据。
需要说明的是:本申请实施例中各个设备之间进行数据交互时,利用的网络可以根据实际需求来确定,既可以是无线通讯网络,如移动通讯网络或WIFI网络等,也可以是有线通讯网络;既可以是广域网,在情况允许时也可以采用局域网。
结合以上共性,参见图2,其示出了本申请一种网页资源访问方法一个实施例的流程图,本实施例的方法可以包括:
S101、检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源。
需要说明的是,本申请实施例并不限定资源更新信号的生成时机,即,本申请实施例并不限定检测资源更新信号的方式。例如,可以是当终端检测到存在可更新网页资源时,直接生成资源更新信号,也即检测到资源更新信号;当然,本申请实施例并不限定终端检测存在可更新网页资源的方式,如,可以是终端接收到管理设备发送的更新推送信息时,则认为检测到了存在可更新网页资源;也可以是终端在接收到管理设备发送的更新推送信息,并确定该更新推送信息对应的可更新网页资源是最新网页资源时,则认为检测到了存在可更新网页资源。也可以是终端检测到存在可更新网页资源,且接收到用户输入的允许下载操作的指令时,直接生成可下载更新网页资源信号,也即检测到下载可更新网页资源信号;当然,本申请实施例并不限定用户输入的允许下载操作的指令的方式,如,当终端接收到更新推送信息时,可以在终端中输出该更新推送信息(如,语音输出,或者屏幕信息输出),当接收到用户返回的允许下载操作的指令(如,用户点击了允许下载按键,或者是用户语音输入允许下载信息,或者用户点击桌面图标启动或点击更新推送信息的提示拉起)时,则认为检测到用户输入了允许下载操作的指令。
进一步,为了提升本地的离线分包资源的可靠性,本申请实施例在下载可更新网页资源时,可以通过灰度规则来提高本地的离线分包资源的可靠性;例如针对特定人群发灰度下载测试,当灰度下载测试结果可靠时,再全线发布可更新网页资源,进而提高得到的分包资源的可靠性。当然,本申请实施例并不对灰度规则的具体内容进行限定,用户可以根据实际情况确定控制发布的人群和比例。也可以通过保证终端下载的可更新网页资源为最新版本的资源来提高可靠性。即,本申请实施例中检测到资源更新信号之前还可以包括:下载可更新网页资源对应的更新信息;根据更新信息判断可更新网页资源是否为最新版本网页资源;若是,则生成资源更新信号。
可以理解的是,本申请实施例并不限定可更新网页资源对应的更新信息的时机,例如,可以是终端在检测到存在可更新网页资源时,直接从管理设备中下载对应的更新信息。如,终端中H5容器检查更新,在接收到管理设备发布更新的APNs推送后,启动客户端App,下载该更新信息,或者,在接收到管理设备发布更新的APNs推送后,点击拉起App,调用终端中H5容器检查更新,下载该更新信息。其中,H5容器是用于提供Native访问能力API(应用程序调用接口)、JS(网页开发设计的一种语言)和Native桥接API的功能模块。当然,本申请实施例中并不限定H5容器的实现方式,其可以满足web开发即可。其中,APNs推送是一种用于发布产品推送证书的方式。当然,本申请实施例并不限定APNs推送的实现形式。
本申请实施例也不对更新信息的内容进行限定,只要能够通过该更新信息确定可更新网页资源是否为最新版本网页资源即可。例如,更新信息可以仅包含当前可更新网页资源的版本号,当然,该更新信息可以包含,分包ID,当前可更新网页资源的版本号,其还可以包含,分包类型(指该分包资源为整包还是增量包),分包资源的大小,整包下载URL(Uniform Resource Locator,统一资源定位符)和HASH值(即哈希值),增量包下载URL和HASH值,fallback base URL等。其中,该分包ID用来表征该分包标识;版本号用来记录该分包资源对应的版本号;分包资源的大小用来记录该分包资源的所占存储空间的数值;该整包下载URL用来记录整包网页资源对应的分包资源的下载地址;该整包下载HASH值用来对该整包网页资源进行校验;增量包下载URL用来记录增量包网页资源对应的分包资源的下载地址;该增量包下载HASH值用来对该增量包网页资源进行校验;该fallback base URL用来记录做适配的基础入口,在入口可以有多个资源。
当终端下载完更新信息时,利用该更新信息判断管理设备推送的可更新网页资源是否为最新版本网页资源,本申请实施例并不对该判断过程进行限定。例如,可以是将更新信息中对应的可更新网页资源的版本号,与终端中当前存储的该网页资源对应的版本号进行对比,判断更新信息中对应的可更新网页资源的版本号是否高于终端中当前存储的该网页资源对应的版本号,若是,则更新信息对应的可更新网页资源是最新版本网页资源,生成资源更新信号。若不是,则更新信息对应的可更新网页资源不是最新版本网页资源,此时并不生成资源更新信号。也可以是终端从网络中获取该可更新网页资源的最新版本号,并将该最新版本号与更新信息中对应的可更新web资源的版本号进行对比,判断更新信息中对应的可更新网页资源的版本号是否为该最新版本号,若是,则更新信息对应的可更新网页资源是最新版本网页资源,生成资源更新信号。若不是,则更新信息对应的可更新网页资源不是最新版本网页资源,此时并不生成资源更新信号。
需要说明的是,本申请实施例并不限定下载可更新网页资源对应的分包资源的方式,可以是只要检测到资源更新信号时,就立刻执行下载可更新网页资源对应的分包资源的操作。也可以根据流量策略执行下载可更新网页资源对应的分包资源的操作。其中,流量策略可以为根据网络条件、访问时机,控制在线网页资源拉取,根据请求域实现多层次的网页资源请求响应。
进一步,为了提高网页资源下载的适应性,本申请实施例根据流量策略执行下载可更新网页资源对应的分包资源的操作。该下载过程可以是:根据流量策略判断当前工作网络是否符合下载条件;若当前工作网络符合该流量策略对应的下载条件,则下载可更新网页资源对应的分包资源。当然,本申请实施例并不对该流量策略的具体内容进行限定,其可以根据网络类型,分包资源的大小进行设定。例如,分包资源对应的分包大小不超过3M的,默认在所有网络条件(如,可以包含移动网络、wifi网络以及无线网络)下,均可以直接下载;分包资源对应的分包大小超过3M的,仅在非移动网络条件下进行下载(如在wifi网络以及无线网络条件下下载)。用户也可以在后续使用过程中,根据实际情况对该流量策略进行修改。
可以理解的是,本申请实施例中终端是通过网络从存储可更新网页资源的资源服务器中下载可更新网页资源对应的分包资源。但是,本申请实施例并不限定从资源服务器中获取该可更新网页资源对应的分包资源的方式。例如,资源服务器可以直接从管理设备中获取该可更新网页资源对应的分包资源,即,管理设备将可更新网页资源对应的分包资源上传到资源服务器中。如,管理设备生成分包资源时,如果该版本的分包资源已经存在,则生成的分包资源的分包类型为增量包,并将其发布到CDN服务器;如果该版本的分包资源不存在,证明其是一个新整包,则生成的分包资源的分包类型为整包,则直接将其发布到CDN服务器。将分包资源发布CDN后,同步更新整包资源到web服务器,以便终端可以通过web服务器实现在线访问可更新网页资源。当然,管理设备上传分包资源的具体实现形式本申请实施例并不进行限定。
需要说明的是,本申请实施例中并不限定管理设备获取该可更新网页资源对应的分包资源的方式,例如,在Hybrid App开发完成后,将可更新网页资源按照分包策略划分为对应的分包资源,每个分包资源可以为包含相应目录信息的资源压缩包。其中,每个分包资源对应的目录信息可以是:分包ID/host,如果存在端口时,每个分包资源对应的分包目录可以是:分包ID/host-port,如,pkid-test1/test.offline.com。将该目录信息对应的分包资源放置到该目录中,并压缩形成分包资源。其中,分包策略可以用于将整包网页资源进行分包,例如整包分包,或增量包分包。该过程可以是:当该可更新网页资源存在旧版本的网页资源包时,可以利用增量计算获取到可更新网页资源对应的分包资源,该分包资源为增量包(即,不同于已经存在的旧版本的新增资源部分)对应的分包资源;当该可更新网页资源不存在旧版本的资源包时,直接将该可更新网页资源划分为整包对应的分包资源。通过分包策略提升网页资源的拉取成功率和响应速度。
当然,本申请实施例并不对该分包策略的内容进行限定,可以根据开发的HybridApp的实际情况进行设置和修改。例如,该分包策略可以是:将优先访问的必要资源分到同一个分包,公共部分并且稳定的资源分到同一个分包;还可以在此基础上限制单个分包资源的大小,进而可以进一步提升可更新网页资源的下载成功率。可见,该方法在下载可更新网页资源时,可以通过分包的形式来下载可更新网页资源,即,将整个可更新网页资源划分成多个分包资源的形式下载,通过降低每个分包资源的大小,提升可更新网页资源的下载成功率和响应速度。
本申请实施例在下载得到可更新网页资源对应的分包资源时,可以在终端中形成本地的离线分包资源,便于后续响应用户访问离线的web资源的请求,以实现秒开。例如,当下载得到可更新网页资源对应的分包资源为资源压缩包(如zip包)时,可以对分包资源执行解压替换,形成离线分包资源。本申请实施例在得到离线分包资源后,可以将该离线分包资源存储到本地,供后续直接访问或者是离线访问。当然,本申请实施例并不对具体的解压替换实现方式进行限定。
进一步,本申请实施例中为了提高可更新网页资源对应的分包资源下载过程中数据的安全性和可靠性,克服相关技术中包含web开发得到的App存在的安全性相对较低,数据容易泄露或者被劫持的问题。本申请实施例可以通过安全通道下载可更新网页资源对应的分包资源,以及通过安全通道下载可更新网页资源对应的更新信息等,即,通过安全通道下载需要从外界设备获取的数据。例如,可以使用安全网关下载更新信息,以及可更新网页资源对应的分包资源等。为了进一步提高数据安全性,还可以将数据加密后,再通过安全通道下载,即,通过安全通道下载需要从外界设备获取的加密数据。例如,通过安全通道下载加密后的更新信息,以及加密后的可更新网页资源对应的分包资源等。
S102、当接收到访问请求时,在访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;分包标识用于使网页视图容器劫持待访问统一资源定位符。
本申请实施例并不对该访问请求的内容进行限定,例如,可以将用户打开HybridApp的操作作为访问请求;也可以是进入该Hybrid App后,等待超过预设时长时,发起访问请求;也可以是将用户点击该Hybrid App中某个功能作为访问请求等。可以理解的是,由于本申请实施例并不对该访问请求的内容进行限定,相应的,本申请实施例也不会对该访问请求对应的URL进行限定,该URL对应的内容以及数量与该访问请求相关。
本申请实施例在接收到访问请求后,需要对该访问请求对应的全部URL都进行适配,由于本申请实施例是在终端中的网页视图容器(即WebView容器)中访问待访问统一资源定位符(可以称为待访问URL),即,在终端中的WebView容器中访问网页资源。其中,WebView容器用来显示网页,其可以包含WebView用来展示网页的UIViewController(视图控制器)。因此,在适配过程中对需要访问离线分包资源的URL增加分包标识。本申请实施例通过对访问请求对应的URL中添加分包标识,可以将访问请求对应的URL构造成可以被WebView容器劫持的URL,可以实现离线劫持访问该待访问URL,即,使得WebView容器能够劫持该待访问URL。
当然,本申请实施例并不限定添加分包标识的方式。例如,在访问请求对应的URL的尾部增加查询参数(即query参数),其中,query参数即查询参数,如,_PKID=<PKID1>+<PKID2>,其中,_PKID代表使用离线请求,<PKID1>以及<PKID2>分别代表分包标识,就是各自对应的分包资源在本地的目录信息。通过上述举例的query参数可以看到,本申请实施例并不对该访问请求对应的URL后添加的分包标识的数量进行限定,其可以仅仅只是一个分包标识,也可以是多个分包标识,当然,也可以是该访问请求对应的URL中能够存在的全部的分包标识。用户可以根据实际需求进行设置。
需要说明的是,由于一个WebView容器一次一般只能实现一个待访问URL请求,即,一个WebView容器只能以一个待访问URL进行初始化。因此,当本申请实施例中得到的待访问URL的数量大于1时,可以同时初始化多个WebView容器,为每个待访问URL初始化一个WebView容器,当然,也可以一次只初始化一个WebView容器,初始化得到WebView容器只对一个待访问URL执行相应的操作。循环执行多次,直到全部的待访问URL全部访问为止。
S103、在网页视图容器劫持到待访问统一资源定位符,且待访问统一资源定位符对应的离线分包资源是最新版本时,根据待访问统一资源定位符的作用域加载对应的离线分包资源。
本申请实施例在网页视图容器,即WebView容器中,通过对劫持到的待访问URL进行作用域适配,确定需要加载的离线分包资源对象。通常情况下,WebView容器在发起WebView请求后,执行对劫持到的待访问URL进行作用域适配,确定需要加载的离线分包资源对象的过程。当然,本申请实施例中并不对WebView容器发起WebView请求的时机进行限定,只要在执行执行对劫持到的待访问URL进行作用域适配,确定需要加载的离线分包资源对象之前即可,例如,可以是在WebView容器初始化之后发起WebView请求。
当然,本申请实施例也不对根据待访问URL的作用域加载对应的离线分包资源的实现方式进行限定。该过程可以是:从所有离线分包资源对应的目录信息中,确定出与待访问统一资源定位符的作用域对应的目录信息,以得到目标目录信息;加载目标目录信息相应的离线分包资源。其中,待访问URL的作用域包含了host(主机)或者host-port(主机+端口),以及分包ID。即,通过将被劫持到的待访问URL的host(主机)或者host-port(主机+端口),以及分包ID与所有离线分包资源对应的目录信息中分包ID/host(或者是分包host-port)进行比较,判断是否存在与待访问URL的作用域相一致的目录信息;若存在与待访问URL的作用域对应的目录信息,则认为得到目标目录信息;进而可以加载该目标目录信息相应的离线分包资源。
举例说明上述作用域匹配过程:若待访问统一资源定位符具体为:http://test.offline.com/index.html?_PKID=pkid_test1,而本地存储的离线分包资源的目录信息具体为:pkid_test1/test.offline.com。通过待访问URL的作用域进行适配,可见,待访问URL的作用域包含的分包ID为pkid_test1,host为test.offline.com,经过与所有离线分包资源对应的目录信息进行对比,便可以命中离线分包资源中分包资源的目录信息为pkid_test1/test.offline.com里面的分包资源。加载该pkid_test1/test.offline.com里面对应的离线分包资源,不需要再发起网络请求。其中,加载就是把硬盘上的有用程序调到内存中的过程。本申请实施例通过离线加载本地的分包资源,实现web资源访问离线加载秒开,大大提升了对web资源的访问效率。
需要说明的是,若对劫持到的待访问URL进行作用域适配,并未在离线分包资源中命中任何资源时,可以认为本地并未存储待访问URL所需的资源。本申请实施例并不限定未在离线分包资源中命中任何资源后,所需要的执行的操作的内容。例如,可以是判断是否存在fallback URL(即在线备份统一资源定位符),若存在fallback URL,则直接在线请求该fallback URL;若不存在fallback URL,则在线请求待访问URL。
为了提高离线加载待访问URL对应的本地的离线分包资源的可靠性和准确性,进而提升网页资源离线访问的可靠性,提升用户体验。本申请实施例在离线加载待访问URL对应的本地的离线分包资源之前,可以提前判断待访问URL对应的本地的离线分包资源的版本是否为最新版本;若是最新版本,则可以直接离线加载待访问URL对应的本地的离线分包资源;若不是最新版本,则认为本地的离线分包资源并不是最新的数据,为了提高网页资源的离线访问的可靠性,可以通过在线访问的形式获取最新的网页资源返回给用户。当然,本申请实施例并不限定在线请求待访问URL的具体内容,其可以是直接在线请求待访问URL。也可以是判断当前终端的网络状态,仅仅在网络状态较好时,直接在线请求待访问URL。也可以是判断是否存在fallback URL,若存在fallback URL,则直接在线请求fallback URL;若不存在fallback URL,则直接在线请求待访问URL。其中,fallback URL是指本地不存在对应版本的离线分包资源时,所走的在线备份网络地址,即在线备份统一资源定位符。也可以是判断当前终端是否处于断网状态,当终端存在网络时,直接在线请求待访问URL;不存在网络时,先离线加载本地的离线分包资源等。
本申请实施例在WebView离线缓存的机制上,基于流量策略和分包策略,离线缓存web访问依赖的资源,通过离线加载待访问URL对应的本地的分包资源,实现对web资源的离线访问,提高了Hybrid App对web资源访问的访问效率,增强了Hybrid App的Native体验;可以理解为,本申请实施例通过离线加载技术提升web访问效率,即,基于流量策略和分包策略,在适当的时机拉取在线网页资源固化到本地,并劫持WebView请求,根据作用域加载本地可用离线分包资源,提升web访问效率。进而,本申请实施例仅仅通过分包以及离线加载技术,不需要改变Hybrid App的开发工具和开发模式,即可增加本申请中指出的HybridApp在网速限制以及离线情况下的存活能力,以及提升web资源的加载速度,甚至达到秒开效果,提升了Hybrid App的Native体验。因此,本申请实施例可以拓展终端App的开发模式,可支持任意web开发的技术选型,减少web开发的学习成本。进而本申请实施例中提供的Hybrid App的开发可以具备低成本、高效率的特性,很适合业务快速迭代的App的开发。
在本申请实施例中,通过下载可更新网页资源对应的分包资源,得到离线分包资源,实现离线缓存web访问依赖的资源,后续在接收到访问请求时,通过为对应的URL添加分包标识,构造出能够被WebView容器劫持的待访问URL;利用WebView容器离线加载待访问URL对应的本地的离线分包资源,实现对web资源的离线访问。可见,该方法可以实现在离线的情况下对web资源的访问,因此,该方法避免了相关技术中Hybrid App在网速受限时,访问web资源出现的卡顿或者卡死现象,或者是在离线情况下不能实现对web资源进行访问的情况,提高了Hybrid App对web资源访问的访问效率,进而增强了Hybrid App的Native体验;进一步,由于该方法在下载可更新web资源时,可以通过分包的形式来下载可更新web资源,即,将整个可更新web资源划分成多个分包资源的形式下载,通过降低每个分包资源的大小,提升可更新web资源的下载成功率和响应速度。
在一种可能的情况中,本申请实施例给出了一种根据待访问统一资源定位符加载对应的离线分包资源的流程;具体请参考图3,具体执行流程如下:
S301、检查WebView容器中待访问URL对应的离线分包资源是否为最新版本;若是,则执行步骤S302,若否,则执行步骤S305。
本申请实施例中,可以通过勾住待访问URL的方式来实现对待访问URL的劫持。
S302、标记待访问URL所包含的全部分包标识为离线访问。
本申请实施例中通过标记待访问URL所包含的全部分包标识为离线访问,可以确认待访问URL可能需要离线下载的离线分包资源。本申请实施例并不对标记待访问URL所包含的全部分包标识为离线访问的方式进行限定,例如,可以通过缓存映射的方式来标记待访问URL所包含的全部分包标识为离线访问。
需要说明的是,本申请实施例并不限定执行标记待访问URL对应的全部分包标识为离线访问的执行时机,例如可以根据图3所示在步骤S301检查WebView容器中待访问URL对应的离线分包资源为最新版本后,直接执行标记待访问URL对应的全部分包标识为离线访问的步骤。也可以是在对待访问URL进行作用域适配之前,执行标记待访问URL对应的全部分包标识为离线访问的步骤。也可以是在得到待访问URL之后执行标记待访问URL对应的全部分包标识为离线访问的步骤。
S303、从所有离线分包资源对应的目录信息中,判断是否命中与待访问URL的作用域对应的目标目录信息;若命中,则执行步骤S304,若否,则执行步骤S305。
S304、加载目标目录信息相应的离线分包资源。
本申请实施例中为了增加数据安全性,在加载目标目录信息相应的离线分包资源之后,在满足一定条件的情况下,可以销毁该网页视图容器,即WebView容器以及取消对应离线加载的分包资源的分包标识(如分包ID)。当然,本申请实施例并不对该条件进行限定,例如,可以是接收到了用户关掉显示页面的操作时,可以执行该销毁该WebView容器以及取消对应离线加载的分包资源的分包标识的操作。也可以是推送到后台达到预设时长,可以执行该销毁该WebView容器以及取消对应离线加载的分包资源的分包标识的操作,很显然,本申请实施例并不对该预设时长的数值进行限定。也可以是接收到强退该App操作时,可以执行该销毁该WebView容器以及取消对应离线加载的分包资源的分包标识的操作。
S305、判断待访问URL中是否存在fallback URL;若存在,则执行步骤S306,若不存在,则执行步骤S307。
可以理解的是,本申请实施例在离线分包资源形成的同时便可生成在线备份统一资源定位符,即fallback URL。本申请实施例并不限定fallback URL的生成方式,例如,当离线分包资源的版本号小于更新信息中的版本号,且PKID(分包标识)中至少一个分包ID存在fallback base URL时,设置fallback URL为fallback base URL/待访问URL的路径(即,fallback base URL+/+当前URL的path)。举例说明:待访问的URL:http://test.offline.com/index.html?_PKID=pkid_test1+pkid_test2;更新信息的fallbackbaseURL为:http://cdn.offline.com/version/007/pkid_test1;则fallback URL为:http://cdn.offline.com/version/007/pkid_test1/test.offline.com/index.html。
需要说明的是,本申请实施例并不限定在WebView容器中检查待访问URL中是否存在fallback URL的方式,例如,在WebView容器中检查有无CDN在线fallback URL,若存在,则访问fallback URL;其中,当多个分包存在fallback URL时,则以最先获取的fallbackURL为准。
S306、在线请求fallback URL。
本申请实施例中通过fallback URL访问对应的资源。本申请实施例中为了增加数据安全性,在下载fallback URL对应的资源之后,在满足一定条件的情况下,可以销毁该WebView容器。当然,本申请实施例并不对该条件进行限定,例如,可以是接收到了用户关掉显示页面的操作时,可以执行该销毁该WebView容器的操作。也可以是推送到后台达到预设时长,可以执行该销毁该WebView容器的操作,当然,本申请实施例并不对该预设时长的数值进行限定。也可以是接收到强退该App操作时,可以执行该销毁该WebView容器的操作。
S307、在线请求待访问URL。
本申请实施例在终端中本地不存在需要访问的离线分包资源,且不存在fallbackURL时,只能访问在线资源。本申请实施例中为了增加数据安全性,在下载对应的资源之后,在满足一定条件的情况下,可以销毁该下载线程。当然,本申请实施例并不对该条件进行限定,例如,该条件可以是推送到后台达到预设时长,当然,本申请实施例并不对该预设时长的数值进行限定。也可以是接收到强退该App操作。
在本申请实施例中,通过将离线加载对应网页资源和在线下载相关网页资源进行结合,可以进一步提高网页资源的访问效率,无论在有网络的情况下,还是在没有网络的情况下,都能够快速实现对网页资源的访问,增加了Hybrid App对网页资源访问的访问效率,进而增强了Hybrid App的Native体验。
在又一种可能的情况中,本申请实施例给出了一种形成离线分包资源的流程;具体请参考图4,具体执行流程如下:
S401、判断分包资源的分包类型是否为增量包;若不是增量包,则执行步骤S402,若是增量包,则执行步骤S403;
S402、对分包资源执行解压替换,形成离线分包资源;
S403、将分包资源合入本地固化的分包资源,并判断合入是否成功;若合入成功,则执行步骤S404;若合入失败,则执行步骤S405;
S404、对合入后的分包资源执行解压替换,形成离线分包资源;
S405、修改分包类型为整包,并下载分包资源对应的整包资源。并在下载完成后继续执行步骤S401。
为了避免对已下载资源的重复下载,本申请实施例将分包资源又进一步划分为增量包和整包。因此,为了提高本地得到的离线分包资源的可靠性,在下载完分包资源形成离线分包资源时,可以根据分包资源的分包类型的不同,执行不同的操作。需要说明的是,本申请实施例并不限定分包资源的分包类型的获取方式,例如,可以根据更新信息获取下载的分包资源的分包类型。
当分包资源的分包类型为整包时,证明该分包资源对应的Hybrid App是一个新的App,因此,终端中还未存在关于该App的任何数据,进而可以直接对下载的分包资源执行解压替换,形成离线分包资源。当分包资源的分包类型为增量包时,证明该分包资源对应的Hybrid App在终端中已经存在,因此,需要将存在变化的分包资源合入本地固化的分包资源中,并在合入成功后,对合入后的分包资源执行解压替换,形成离线分包资源。若合入失败,则可以修改分包类型为整包,并下载分包资源对应的整包资源。即,重新下载该App对应的完整的web资源,防止出现在合入失败后,导致用户不能使用该App或者是不能使用该App对应的相关功能。当然,本申请实施例中在下载该完整的web资源时,可以直接一次下载整个完整的web资源包,也可以是下载该完整的web资源对应的分包资源。
当然,本申请实施例并不对步骤S405的具体内容进行限定。用户可以根据实际情况进行设置,例如,还可以设置步骤S405为,重复执行预定次数的合入操作,若均失败,则修改分包类型为整包,并下载分包资源对应的整包资源;本申请实施例并不对预定次数的数值进行限定,如可以是3次。还可以是,若合入失败,则输出提示信息,并则修改分包类型为整包,并下载分包资源对应的整包资源。本申请实施例并不对具体的解压替换实现方式进行限定。
进一步,为了保证下载的分包资源对应的整包资源的可靠性,在下载得到该整包资源后,可以继续执行步骤S401,以便得到解压替换后的离线分包资源或离线资源。进一步,为了节省终端中的存储空间,提高存储空间的利用率,本申请实施例还可以将过期的离线分包资源删除。
可见,在本申请实施例中,为了避免对已下载资源的重复下载,将分包资源又进一步划分为增量包和整包。进一步,为了提高本地得到的离线分包资源的可靠性,分别为增量包和整包分别设置相关的解压替换流程,以提高下载的分包资源解压替换的可靠性,进而提升终端中本地的离线分包资源的可靠性。
为了便于理解,请参考图5,结合本方案的一种应用场景进行介绍,下面以终端、CDN服务器、web服务器以及管理设备,以及金融App中web资源访问为对象的应用场景说明网页资源访问的过程。即,本申请实施例提供了一种低门槛的web开发模式。
用户通过安全通道向管理设备(可以是管理云平台)中上传可更新网页资源对应的分包资源,其中,分包资源为将可更新网页资源通过分包策略划分而成。管理设备将该分包资源上传到CDN服务器以及web服务器。该过程可以是:管理设备上传分包资源时,如果该分包资源对应的版本号已经存在,则将该分包资源的分包类型设置为增量包,并发布到CDN服务器中;如果该分包资源对应的版本号不存在,说明其是一个新整包,因此,则将该分包资源的分包类型设置为整包,则直接发布到CDN服务器中。发布CDN服务器后,同步更新整包到web服务器,以便终端通过web服务器实现在线资源访问,如,通过web服务器在线访问可更新web资源。管理设备在完成分包资源上传后,按照既定策略向终端下发更新推送信息。
终端通过H5容器检查该推送信息,当确定需要下载该可更新网页资源对应的分包资源时,终端通过安全通道从CDN服务器或web服务器中下载该可更新网页资源对应的分包资源。并对该分包资源执行相应的解压替换操作,形成离线分包资源。终端在接收到访问请求时,对访问请求对应的URL进行适配,对需要离线访问的URL添加分包标识(即在对应URL的尾部增加分包ID作为查询参数),形成待访问URL。为每一个待访问URL初始化一个WebView容器,在该WebView容器中执行各个待访问URL。该访问过程可以是:检查WebView容器中待访问URL对应的离线分包资源是否为最新版本;若WebView容器中待访问URL对应的离线分包资源不是最新版本,则判断待访问URL中是否存在fallback URL;若存在fallbackURL,则在线请求fallback URL。若不存在fallback URL,则在线请求待访问URL。若WebView容器中待访问URL对应的离线分包资源是最新版本,则标记待访问URL对应的全部分包标识为离线访问。从所有离线分包资源对应的目录信息中,判断是否命中与待访问统一资源定位符的作用域对应的目录信息,以得到目标目录信息;若命中,则加载目标目录信息相应的离线分包资源。若未命中,则判断待访问URL中是否存在fallback URL;若存在fallbackURL,则在线请求fallback URL。若不存在fallback URL,则在线请求待访问URL。
该应用场景实施例应用该金融App中,因此,为了提高数据安全性,终端需要通过安全通道下载对应的分包数据以及其他外界设备发送的数据。且还可以是将分包数据以及其他外界设备发送的数据先进行加密,然后再通过安全通道下载。该应用场景实施例提供可以实现在离线的情况下对web资源的访问,因此,避免了现有技术中Hybrid App在网速受限时,访问web资源出现的卡顿或者卡死现象,或者是在离线情况下不能实现对web资源进行访问的情况,增加了Hybrid App对web资源访问的访问效率,进而增强了Hybrid App的Native体验。
另一方面,本申请还提供了一种网页资源访问装置。如,参见图6,其示出了本申请一种网页资源访问装置一个实施例的组成结构示意图,本实施例的装置可以应用于如上实施例中的终端,该装置包括:
网页资源下载模块101,用于检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源;
统一资源定位符适配模块102,用于当接收到访问请求时,在访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;分包标识用于使网页视图容器劫持待访问统一资源定位符;
统一资源定位符请求模块103,用于在网页视图容器劫持到待访问统一资源定位符,且待访问统一资源定位符对应的离线分包资源是最新版本时,根据待访问统一资源定位符的作用域加载对应的离线分包资源。
可选的,统一资源定位符适配模块102,可以包括:
分包标识增加单元,在访问请求对应的统一资源定位符的尾部添加查询参数。
可选的,该装置还可以包括:
在线请求模块,用于当网页视图容器中待访问统一资源定位符对应的离线分包资源不是最新版本时,判断待访问统一资源定位符中是否存在在线备份统一资源定位符;若存在,则在线请求在线备份统一资源定位符;若不存在,则在线请求待访问统一资源定位符。
可选的,该装置还可以包括:
离线访问标识模块,用于标记待访问统一资源定位符所包含的全部分包标识为离线访问。
可选的,该装置还可以包括:
更新信息下载单元,用于下载可更新网页资源对应的更新信息;
检测单元,用于根据更新信息判断可更新网页资源是否为最新版本网页资源;若是,则生成资源更新信号。
可选的,网页资源下载模块101,可以包括:
流量策略判断单元,用于根据流量策略判断当前工作网络是否符合下载条件;
资源下载单元,用于若符合下载条件,则下载可更新网页资源对应的分包资源。
可选的,资源下载单元,可以包括:
资源下载子单元,用于从资源服务器中下载可更新网页资源对应的分包资源;分包资源为包含相应目录信息的资源压缩包。
相应的,统一资源定位符请求模块103,可以包括:
匹配单元,用于从所有离线分包资源对应的目录信息中,确定出与待访问统一资源定位符的作用域对应的目录信息,以得到目标目录信息;
加载单元,用于加载目标目录信息相应的离线分包资源。
可选的,网页资源下载模块101,可以包括:
分包类型判断单元,用于判断分包资源的分包类型是否为增量包;
整包解压替换单元,用于若分包资源的分包类型不是增量包,则对分包资源执行解压替换,形成离线分包资源;
增量包合入单元,用于若分包资源的分包类型是增量包,则将增量包合入本地固化的分包资源,并判断合入是否成功;
增量包解压替换单元,用于若合入成功,则对合入后的分包资源执行解压替换,形成离线分包资源;
下载单元,用于若合入失败,则修改分包类型为整包,并下载分包资源对应的整包资源。
另一方面,本申请还提供了一种终端,该终端可以包括处理器和存储器。该终端中处理器和存储器之间的关系可以参考图7。其中,终端的处理器用于执行存储器中存储的程序;终端的存储器用于存储程序,该程序至少用于实现上述描述的网页资源访问方法。
当然,该终端备还可以包含通信接口、显示单元以及输入装置等,具体在此不加以限制。
由图7可知,该硬件组成框架可以包括:终端10,其中,终端10可以包括:处理器11、存储器12、通信接口13、输入单元14和显示器15和通信总线16。
处理器11、存储器12、通信接口13、输入单元14、显示器15、均通过通信总线16完成相互间的通信。在本申请实施例中,该处理器11,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。该处理器可以调用存储器12中存储的程序。具体的,处理器可以执行以上网页资源访问方法中各个实施例中终端侧所执行的操作。存储器12中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源;
当接收到访问请求时,在访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;分包标识用于使网页视图容器劫持所述待访问统一资源定位符;
在网页视图容器劫持到待访问统一资源定位符,且待访问统一资源定位符对应的离线分包资源是最新版本时,根据待访问统一资源定位符的作用域加载对应的离线分包资源。
在一种可能的实现方式中,该存储器12可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如声音播放功能、显示功能等)所需的应用程序等;存储数据区可存储根据终端的使用过程中所生成的数据,比如,离线分包资源对应的数据等等。
此外,存储器12也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口13可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器14和输入单元15等等。
当然,图7所示的终端的结构并不构成对本申请实施例中终端的限定,在实际应用中终端可以包括比图7所示的更多或更少的部件,或者组合某些部件。其中,图7中的终端10可以为移动终端(如手机、平板等)。
在本申请实施例中,终端10中处理器11可以通过通信总线16从通信接口13或者输入单元14接收可更新网页资源对应的分包资源,并调用存储器12中存储的程序实现离线加载待访问统一资源定位符的作用域对应的离线分包资源。
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机程序,该计算机程序被处理器加载并执行时,用于实现如上任意一个实施例中所描述的网页资源访问方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种网页资源访问方法,其特征在于,包括:
检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源;
当接收到访问请求时,在所述访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;所述分包标识用于使网页视图容器劫持所述待访问统一资源定位符;
在所述网页视图容器劫持到所述待访问统一资源定位符,且所述待访问统一资源定位符对应的离线分包资源是最新版本时,根据所述待访问统一资源定位符的作用域加载对应的离线分包资源。
2.根据权利要求1所述的网页资源访问方法,其特征在于,所述在所述访问请求对应的统一资源定位符中添加分包标识,包括:
在所述访问请求对应的统一资源定位符的尾部添加查询参数。
3.根据权利要求1所述的网页资源访问方法,其特征在于,若所述网页视图容器中所述待访问统一资源定位符对应的离线分包资源不是最新版本时,包括:
判断所述待访问统一资源定位符中是否存在在线备份统一资源定位符;
若存在,则在线请求所述在线备份统一资源定位符;
若不存在,则在线请求所述待访问统一资源定位符。
4.根据权利要求1所述的网页资源访问方法,其特征在于,所述检测到资源更新信号之前,还包括:
下载可更新网页资源对应的更新信息;
根据所述更新信息判断所述可更新网页资源是否为最新版本网页资源;
若是,则生成资源更新信号。
5.根据权利要求1所述的网页资源访问方法,其特征在于,所述下载可更新网页资源对应的分包资源,包括:
根据流量策略判断当前工作网络是否符合下载条件;
若符合,则下载可更新网页资源对应的分包资源。
6.根据权利要求5所述的网页资源访问方法,其特征在于,所述下载可更新网页资源对应的分包资源,包括:
从资源服务器中下载可更新网页资源对应的分包资源;所述分包资源为包含相应目录信息的资源压缩包;
相应的,所述根据所述待访问统一资源定位符的作用域加载对应的离线分包资源,包括:
从所有离线分包资源对应的目录信息中,确定出与所述待访问统一资源定位符的作用域对应的目录信息,以得到目标目录信息;
加载所述目标目录信息相应的离线分包资源。
7.根据权利要求4所述的网页资源访问方法,其特征在于,所述下载可更新网页资源对应的更新信息,以及所述下载可更新网页资源对应的分包资源,包括:
通过安全网关下载所述更新信息,以及所述可更新网页资源对应的分包资源。
8.根据权利要求1所述的网页资源访问方法,其特征在于,所述得到离线分包资源,包括:
判断所述分包资源的分包类型是否为增量包;
若不是增量包,则对所述分包资源执行解压替换,形成离线分包资源;
若是增量包,则将所述分包资源合入本地固化的分包资源,并判断合入是否成功;
若合入成功,则对合入后的分包资源执行解压替换,形成离线分包资源;
若合入失败,则修改所述分包类型为整包,并下载所述分包资源对应的整包资源。
9.一种网页资源访问装置,其特征在于,包括:
网页资源下载模块,用于检测到资源更新信号时,下载可更新网页资源对应的分包资源,以得到离线分包资源;
统一资源定位符适配模块,用于当接收到访问请求时,在所述访问请求对应的统一资源定位符中添加分包标识,得到待访问统一资源定位符;所述分包标识用于使网页视图容器劫持所述待访问统一资源定位符;
统一资源定位符请求模块,用于在所述网页视图容器劫持到所述待访问统一资源定位符,且所述待访问统一资源定位符对应的离线分包资源是最新版本时,根据所述待访问统一资源定位符的作用域加载对应的离线分包资源。
10.一种终端,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的网页资源访问方法。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至8任一项所述的网页资源访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010033727.5A CN113111282A (zh) | 2020-01-13 | 2020-01-13 | 一种网页资源访问方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010033727.5A CN113111282A (zh) | 2020-01-13 | 2020-01-13 | 一种网页资源访问方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113111282A true CN113111282A (zh) | 2021-07-13 |
Family
ID=76708769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010033727.5A Pending CN113111282A (zh) | 2020-01-13 | 2020-01-13 | 一种网页资源访问方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111282A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170262139A1 (en) * | 2015-11-30 | 2017-09-14 | Snapchat, Inc. | Network resource location linking and visual content sharing |
CN107203555A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 页面加载处理方法及装置 |
CN107479868A (zh) * | 2017-06-23 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种界面加载方法、装置及设备 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
-
2020
- 2020-01-13 CN CN202010033727.5A patent/CN113111282A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170262139A1 (en) * | 2015-11-30 | 2017-09-14 | Snapchat, Inc. | Network resource location linking and visual content sharing |
CN107203555A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 页面加载处理方法及装置 |
CN107479868A (zh) * | 2017-06-23 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种界面加载方法、装置及设备 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2919440B1 (en) | Advertisement processing method and device | |
US9519654B2 (en) | Method, device, processing center and system for desktop synchronization | |
US20140082154A1 (en) | File sharing method, terminal and relay server | |
JP4698756B2 (ja) | ウェブベースアプリケーションのオフライン実行 | |
RU2689439C2 (ru) | Улучшение производительности веб-доступа | |
CN107015870B (zh) | 实现web页面与本地应用通信的方法、装置和电子设备 | |
EP3547748B1 (en) | Method and system for guiding service application traffic | |
CN109391673B (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN105743945B (zh) | 基于切换下载源的文件下载方法及系统 | |
CN107707584B (zh) | 一种应用加载方法、终端及平台服务器 | |
US10581993B2 (en) | Method for forwarding traffic in application on mobile intelligent terminal | |
WO2011088714A1 (zh) | 应用程序运行方法、装置及系统 | |
WO2021051747A1 (zh) | 数据更新方法、系统、装置、电子设备及计算机存储介质 | |
WO2012151993A1 (zh) | 业务推送方法和装置 | |
CN111638894A (zh) | 一种软件升级方法、装置及计算机存储介质 | |
CN113709530B (zh) | 一种资源下载方法、系统、电子设备及存储介质 | |
WO2024193352A1 (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN112688807B (zh) | 一种一站式联动响应蓝绿部署的方法、装置和电子设备 | |
CN113111282A (zh) | 一种网页资源访问方法、装置、终端及存储介质 | |
CN102904935A (zh) | 基于家庭网关的下载方法、设备和系统 | |
KR100524588B1 (ko) | 무선인터넷에서 다운로드 중단된 데이터를 이어받는 방법 | |
CN113285920B (zh) | 业务访问方法、装置、设备及存储介质 | |
CN112860300A (zh) | 分布式sdk热更新处理方法、应用服务器集群 | |
KR100601848B1 (ko) | 이동 통신 단말에서의 다운로드 디스크립터 처리 방법 | |
CN112394952A (zh) | 基于Hybrid App动态生成Launcher的方法和系统、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048410 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |