一种HYBRID组件的运行方法和系统.pdf

上传人:a3 文档编号:4597004 上传时间:2018-10-21 格式:PDF 页数:20 大小:1.56MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310439613.0

申请日:

2013.09.24

公开号:

CN104461491A

公开日:

2015.03.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F9/44申请日:20130924|||公开

IPC分类号:

G06F9/44; G06F17/30

主分类号:

G06F9/44

申请人:

阿里巴巴集团控股有限公司

发明人:

曲子深

地址:

英属开曼群岛大开曼资本大厦一座四层847号邮箱

优先权:

专利代理机构:

北京润泽恒知识产权代理有限公司11319

代理人:

赵娟

PDF下载: PDF下载
内容摘要

本申请实施例提供了一种Hybrid组件的运行方法,包括:生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述组件标识设定的地址模板字段和缓存处理规则字段;将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资源;以及,采用所述缓存处理规则字段针对所页面述资源进行对应的缓存处理。本申请保证多个Hybrid组件之间冲突性的数据有效的隔离。

权利要求书

1.  一种Hybrid组件的运行方法,其特征在于,包括:
生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;
根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述Hybrid组件标识设定的地址模板字段和缓存处理规则字段;
将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;
从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资源;以及,
采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。

2.
  根据权利要求1所述的方法,其特征在于,所述根据所述Hybrid组件标识获得对应的组件配置信息的步骤包括:
采用所述Hybrid组件标识在本地查找对应的组件配置信息;
当查找到时,判断所述组件配置信息是否过期;若是,则从服务器获取组件配置信息;若否,则从本地提取所述组件配置信息;
当未查找到时,从服务器获取对应的组件配置信息。

3.
  根据权利要求1所述的方法,其特征在于,所述配置信息包括安全预处理接口字段,在所述从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资源的步骤之前,还包括:
加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
或者,
加密访问所述安全预处理接口字段指示的访问地址;
接收服务器针对所述安全预处理接口字段返回的加密信息;
针对所述加密信息解密后执行所述加密信息;
或者,
加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
接收服务器针对所述安全预处理接口字段返回的加密信息;
针对所述加密信息解密后执行所述加密信息。

4.
  根据权利要求1所述的方法,其特征在于,所述配置信息包括辅助行为配置,还包括:
执行所述辅助行为配置指示的辅助行为。

5.
  根据权利要求1所述的方法,其特征在于,所述获取运行所述Hybrid组件所需要的页面资源的步骤包括:
判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所需要的页面资源;若是,则执行所述依据缓存处理规则字段针对所述页面资源进行对应的缓存处理的步骤;
和/或,
判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
当在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
从网络下载所述运行Hybrid组件所需要的页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中。

6.
  根据权利要求1所述的方法,其特征在于,所述缓存处理规则字段包括检查类型字段、检查资源类别字段和/或资源版本号字段;
所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字段;
所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存 处理规则字段;
所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。

7.
  一种Hybrid组件的运行系统,其特征在于,包括:
请求生成模块,用于生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;
配置信息获得模块,用于根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述Hybrid组件标识设定的地址模板字段和缓存处理规则字段;
访问地址生成模块,用于将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;
组件请求模块,用于从所述访问地址加载所述Hybrid组件;
资源获取模块,用于获取运行所述Hybrid组件所需要的页面资源;
缓存处理模块,用于采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。

8.
  根据权利要求7所述的系统,其特征在于,所述配置信息获得模块包括:
本地查找子模块,用于采用所述Hybrid组件标识在本地查找对应的组件配置信息;当查找到时,调用期限判断子模块;当未查找到时,调用联网获取子模块;
期限判断子模块,用于判断所述组件配置信息是否过期;若是,则调用联网获取子模块;若否,则调用本地提取子模块;
本地提取子模块,用于从本地提取所述组件配置信息;
联网获取子模块,用于从服务器获取对应的组件配置信息。

9.
  根据权利要求7所述的系统,其特征在于,所述配置信息包括安全预处理接口字段,还包括:
第一加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
或者,
第二加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;
第一加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信息;
第一加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息;
或者,
第三加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
第二加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信息;
第二加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息。

10.
  根据权利要求7所述的系统,其特征在于,所述配置信息包括辅助行为配置,还包括:
辅助行为执行模块,用于执行所述辅助行为配置指示的辅助行为。

11.
  根据权利要求7所述的系统,其特征在于,所述资源获取模块包括:
缓存判断子模块,用于判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所需要的页面资源;若是,则调用缓存处理模块;
和/或,
第一加载子模块,用于判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组件所需要的页面资源;若是,则将所 述页面资源加载于所述网络视图插件的缓存中;
和/或,
第二加载子模块,用于在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
第三加载子模块,用于从网络下载是否存在所述运行Hybrid组件所需要的页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中。

12.
  根据权利要求7所述的系统,其特征在于,所述缓存处理规则字段包括检查类型字段、检查资源类别字段和/或资源版本号字段;
所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字段;
所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段;
所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。

说明书

一种Hybrid组件的运行方法和系统
技术领域
本申请实施例涉及移动设备的技术领域,特别是涉及一种Hybrid组件的运行方法和一种Hybrid组件的运行系统。
背景技术
现有技术中,wap(Wireless Application Protocol,无线应用协议)站点运行着的一些业务功能。无论这些业务功能是否是webapp(基于Web的系统和应用)实现,都可以从wap站点抽取出各业务功能点。比如从在电子商务(Electronic Commerce,EC)中商品的详情页面,可以抽取出该详情页面的wap组件,那么客户端可以嵌入该详情页面,即用户界面的全部或部分元素在嵌入式浏览器组件里面运行,具有了使用wap方式来展示商品信息的能力。这种场景,我们称之为Hybrid(混合),指客户端软件开发的一种模式,通常采用网络视图(webview)插件为载体,将wap或者web页面嵌入到客户端软件中提供业务功能。
例如,可以将包装了某个wap业务功能的组件,以Native(本地,指传统的客户端软件开发模式,即使用特定平台语言和工具开发客户端软件的方式)方式封装于SDK(软件开发库,将通用功能打包成一个通用库的方式对外提供同意服务)中。那么,任何客户端只要调用了这个组件,就可以具有该wap业务功能。这种组件,称之为Hybrid组件。
有一些组件是需要预先通过安全模块处理才能调用的。比如交易组件,无法直接通过某个请求地址去调用,原因在于服务端的安全模块会因为检查不通过而造成调用失败。所以,对于这一类型的组件,需要在客户端本地SDK中进行预处理行为,以便于调用方直接使用。
现有技术中是通过硬编码的方式在客户端中指定Hybrid组件包装的wap页面的线上请求地址。辅助Hybrid组件运行的动态数据,一般通过全局性配置的方式统一制定。
然而,对于Hybrid组件包裹的wap页面而言,当请求地址发生变化 的时候,客户端硬编码的方式无法动态升级而导致老版本的不可用。此外,Hybrid组件运行时需要动态数据,而由于无法详细区分每个组件所需要的特定数据,所以一个全局性的配置将会兼容所有组件信息,这会对内存和性能造成很大影响,同时多个组件之间冲突性的数据也无法有效的保证隔离。一些具有前置行为的wap组件是无法直接在客户端中进行调用。还有,伴随组件升级过程中的一些新行为,在客户端老版本中将因无法动态升级而导致功能不可用。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种Hybrid组件的运行机制,用以解决wap组件发生变化时客户端无法配合同时升级而导致功能错误、wap组件运行在客户端中所需要的动态数据不能根据不同的wap组件而动态切换,具有前置行为的wap组件无法直接在客户端中直接调用的问题。
发明内容
本申请实施例所要解决的技术问题是提供一种混合Hybrid组件的运行方法,用以解决wap组件发生变化时客户端无法配合同时升级而导致功能错误的问题。
相应的,本申请实施例还提供了一种混合Hybrid组件的运行系统,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种Hybrid组件的运行方法,包括:
生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;
根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述组件标识设定的地址模板字段和缓存处理规则字段;
将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;
从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件 所需要的页面资源;以及,
采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
优选地,所述根据所述Hybrid组件标识获得对应的组件配置信息的步骤包括:
采用所述Hybrid组件标识在本地查找对应的组件配置信息;
当查找到时,判断所述组件配置信息是否过期;若是,则从服务器获取组件配置信息;若否,则从本地提取所述组件配置信息;
当未查找到时,从服务器获取对应的组件配置信息。
优选地,所述配置信息包括安全预处理接口字段,在所述从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资源的步骤之前,还包括:
加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
或者,
加密访问所述安全预处理接口字段指示的访问地址;
接收服务器针对所述安全预处理接口字段返回的加密信息;
针对所述加密信息解密后执行所述加密信息;
或者,
加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
接收服务器针对所述安全预处理接口字段返回的加密信息;
针对所述加密信息解密后执行所述加密信息。
优选地,所述配置信息包括辅助行为配置,还包括:
执行所述辅助行为配置指示的辅助行为。
优选地,所述获取运行所述Hybrid组件所需要的页面资源的步骤包括:
判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所 需要的页面资源;若是,则执行所述依据缓存处理规则字段针对所述页面资源进行对应的缓存处理的步骤;
和/或,
判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
当在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
从网络下载所述运行Hybrid组件所需要的页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中。
优选地,所述缓存处理规则字段包括检查类型字段、检查资源类别字段和/或资源版本号字段;
所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字段;
所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段;
所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
本申请实施例还公开了一种Hybrid组件的运行系统,包括:
请求生成模块,用于生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;
配置信息获得模块,用于根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述Hybrid组件标识设定的地址模 板字段和缓存处理规则字段;
访问地址生成模块,用于将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;
组件请求模块,用于从所述访问地址加载所述Hybrid组件;
资源获取模块,用于获取运行所述Hybrid组件所需要的页面资源;
缓存处理模块,用于采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
优选地,所述配置信息获得模块包括:
本地查找子模块,用于采用所述Hybrid组件标识在本地查找对应的组件配置信息;当查找到时,调用期限判断子模块;当未查找到时,调用联网获取子模块;
期限判断子模块,用于判断所述组件配置信息是否过期;若是,则调用联网获取子模块;若否,则调用本地提取子模块;
本地提取子模块,用于从本地提取所述组件配置信息;
联网获取子模块,用于从服务器获取对应的组件配置信息。
优选地,所述配置信息包括安全预处理接口字段,还包括:
第一加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
或者,
第二加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;
第一加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信息;
第一加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息;
或者,
第三加密访问模块,用于加密访问所述安全预处理接口字段指示的 访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
第二加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信息;
第二加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息。
优选地,所述配置信息包括辅助行为配置,还包括:
辅助行为执行模块,用于执行所述辅助行为配置指示的辅助行为。
优选地,所述资源获取模块包括:
缓存判断子模块,用于判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所需要的页面资源;若是,则调用缓存处理模块;
和/或,
第一加载子模块,用于判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
第二加载子模块,用于在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
第三加载子模块,用于从网络下载是否存在所述运行Hybrid组件所需要的页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中。
优选地,所述缓存处理规则字段包括检查类型字段、检查资源类别字段和/或资源版本号字段;
所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字段;
所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存 处理规则字段;
所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
背景技术相比,本申请实施例包括以下优点:
本申请通过在组件配置信息中指定固定的访问地址,避免因请求地址发生变更而客户端无法配合同时升级而导致功能错误的问题。
本申请通过组件配置信息可以针对不同Hybrid组件指定特定的运行配置,使得wap组件运行在客户端中所需要的动态数据可以根据不同的wap组件而动态切换,同时避免了采用全局性的配置兼容所有组件信息,减少内存的占用,提高设备的运行性能,保证多个Hybrid组件之间冲突性的数据有效的隔离,避免数据的冲突。
本申请通过设置组件配置信息使得在客户端可以直接调用一些具有前置行为的wap组件。
本申请通过设置组件配置信息使得在客户端的Hybrid组件随之Hybrid组件的升级而升级,以适应升级中新定义的行为。
附图说明
图1是本申请的一种Hybrid组件的运行方法实施例的步骤流程图;
图2是本申请实施例的一种获取资源的优选示例的流程图;
图3是本申请的一种Hybrid组件的运行系统实施例的结构框图。
具体实施方式
为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
Hybrid组件的呈现是以wap页面的方式提供的。每个wap页面可能是一个原子功能,对于通过网络视图(webview)插件嵌入使用的客户端软件而言,称之为Hybrid组件。每个wap页面在服务器对应的有一个访问地址,但是这个地址是变化的,无具体的地址定义规范可以去遵循的。 比如对于wap商品详情页面,其访问路径可能是:http://a.m.taobao.com/i123456789.htm。又比如,而对于wap店铺信息页面,其访问路径可能是:http://shop123456789.m.taobao.com。而对于wap订单详情页面,其访问路径可能是:http://m.taobao.com/orderDetail.htm?orderId=123456789。这些访问地址,是开发技术人员在编写代码过程中自定义的。现有方式中,如果客户端采用Hybrid的模式嵌套这些wap页面,将难以通过一个规范方式去引用这些wap页面,wap页面的路径只能通过硬编码的方式写入到客户端。而且由于这些路径定义的随意性和随时修改性,可能会导致客户端软件的不可用。
本申请实施例的核心构思之一在于,提供一种标准化的Hybrid组件运行方案,以统一格式的协议方式进行引用,以解决Hybrid客户端嵌套的wap页面地址没有明确标准或规范所产生的问题。
Hybrid组件是基于客户端开发平台的标准组件之一,是基于网络视图(webview)插件来运行的。承载Hybrid组件功能的主体可以是一个运行在服务端的Wap页面,也可能是一个WebApp。Hybrid组件在客户端开发平台这一层被封装进Wap页面或者WebApp,以标准化、协议化的方式允许客户端访问并在客户端中塑造独立的运行环境服务和数据服务。而Wap页面或WebApp其自身,在浏览器中也是可以独立运行的。
参照图1,示出了本申请的一种Hybrid组件的运行方法实施例的步骤流程图,本申请实施例可以包括如下步骤。
步骤101,生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数。
所述请求为协议化的请求,按照预定的Hybrid组件协议生成。所述Hybrid组件协议为每一个Hybrid组件定义唯一的配置地址。按照所述Hybrid组件协议,所述配置地址可以采用如下格式表示:waplugin://${h}?p1=${p1参数值}。其中,h表示Hybrid组件标识。p1 为请求参数的参数名,具有对应的参数值。混合Hybrid组件标识可以是Hybrid组件的组件名称,也可以是其他,本申请实施例对此不加以限制。
当所述配置地址中包括多个请求参数时,所述配置地址可以采用如下格式表示:waplugin://${h}?p1=${p1参数值}&p2=${p2参数值}…&pn=${pn参数值}。其中,p1、p2及pn分别为不同请求参数的参数名,n为大于或等于2的自然数。客户端要使用哪一个Hybrid组件是根据具体的需求场景来选择的。根据需求场景确定Hybrid组件后,在Hybrid组件协议中可以确定具体的Hybrid组件的配置地址。比如其希望使用商品的详情组件,那么根据Hybrid组件协议可以得知,该商品的详情组件的配置地址为:waplugin://detail?id=${id},得知Hybrid组件标识为“detail”,请求参数是“detail”的ID。
不同的Hybrid组件,有不同要求的请求参数及参数值,是根据Hybrid组件背后的业务需求来确定的。比如对于商品详情业务,请求参数是商品ID;对于店铺详情业务,请求参数是店铺号ID;对于购物车业务,请求参数是购物车ID;对于用户主页业务,请求参数是用户ID。
在具体实现中,可以在Hybrid组件协议中预先定义Hybrid组件所对应的请求参数和参数值。Hybrid组件标识、请求参数和/或请求参数的参数值可以以占位符的形式标示。比如对于线上商品详情业务组件,其配置地址可以为:waplugin://detail?product_id=${product_id}。其中${product_id}为占位符,用于输出“product_id”这个请求参数对应的参数值。例如,对于线上店铺业务组件,其配置地址可以为:waplugin://shop?shop_id=${shopId}。对于某个具体的店铺,其配置地址可以是waplugin://shop?shop_id=123456789。
当然,上述配置地址的应用方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其它配置地址的应用方式,本发明实施例对此不加以限制。
步骤102,根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述Hybrid组件标识设定的地址模板字段和缓存 处理规则字段;
对于不同的Hybrid组件,都可以有不同的运行配置需求。当客户端的协议解析层接收到获取Hybrid组件的请求后,则可以查找其对应的组件配置信息。
其中,所述地址模板字段提供Hybrid组件的访问地址的生成模板。
在本申请的一种优选实施例中,所述步骤102具体可以包括如下子步骤:
子步骤S11,采用所述Hybrid组件标识在本地查找对应的组件配置信息;当查找到时,执行子步骤S12;当未查找到时,执行子步骤S14;
子步骤S12,判断所述组件配置信息是否过期;若是,则执行子步骤S14;若否,则执行子步骤S13;
子步骤S13,从本地提取所述组件配置信息;
子步骤S14,从服务器获取对应的组件配置信息。
客户端的协议解析层在收到获取Hybrid组件的请求时,解析所述请求,可以得到Hybrid组件标识及对应的请求参数。根据Hybrid组件标识在本地查找组件配置信息。如果在本地查找到可用的组件配置信息,则使用本地的组件配置信息。如果未在本地找到组件配置信息或组件配置信息不可用(比如本地配置信息的时间戳过期)时,则客户端调用服务端预定的接口,从服务器获取对应的组件配置信息。
步骤103,将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;
地址模板字段,可以制定Hybrid组件所对应的wap页面的真实访问地址,以占位符的形式指定请求参数的配置位置。例如,某一Hybrid组件标识对应的组件配置信息包括的地址模板字段的示例表示如下:http://m.taobao.com/i${id}.htm。其中,${id}代表占位符,用于从配置地址中取出对应的请求参数(id)的参数值,取出的请求参数(id)的参数值将替换所述占位符而生成所述Hybrid组件的访问地址。
步骤104,从所述访问地址加载所述Hybrid组件,并获取运行所述 Hybrid组件所需要的页面资源;
Hybrid组件可以以webview为载体,封装进客户端的APP中,该Hybrid组件的具体功能可以通过wap页面的方式来展示,即Hybrid组件可以为使用Html代码的前端技术开发的。因此,所述页面资源包括Html页面中的Javascript、css、图片和/或字体文件等资源。Javascript、css、图片和/或字体文件等页面资源用于页面的渲染。为了辅助运行Hybrid组件,在加载Hybrid组件时,缓存所述页面资源。
需要说明的是,Hybrid组件运行所需要的页面资源可以在组件的配置信息中进行定义。在实际应用中可以在配置信息中设定一个字段说明该Hybrid组件运行所需要的资源列表。
加载Hybrid组件的时候,已经在开始运行Hybrid组件了,而开始运行Hybrid组件的过程中,需要先加载运行Hybrid组件所需要的页面资源,此时进行对应的缓存处理。
在本申请的一种优选实施例中,步骤104具体可以包括如下子步骤:
子步骤S21,判断预置的网络视图(webview)插件的缓存中是否存在所述运行Hybrid组件所需要的页面资源;若是,则执行步骤105;
和/或,
子步骤S22,判断预置的网络视图(webview)插件归属的应用程序的内存里是否存在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图webview插件的缓存中;
和/或,
子步骤S23,当在预置的网络视图(webview)插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网络视图(webview)插件的缓存中;
和/或,
子步骤S24,从网络下载所述运行混合Hybrid组件所需要的页面资源,以及,将所述页面资源加载于所述网络视图(webview)插件的缓存 中。
当拦截到资源的请求时,可以默认使用网络视图(webview)插件的缓存。
当然,上述加载运行所述混合Hybrid组件所需要的页面资源的方式,可以单个使用,也可以组合使用。
参照图2,示出了本申请实施例的一种获取资源的优选示例的流程图。如图2所示,当页面资源已经存在于网络视图(webview)插件的缓存(Browser Memory Caches)中时,可以直接使用该缓存执行对应的缓存处理;当网络视图中没有该缓存时,可以从网络视图插件归属的APP(应用程序)的运行内存中查找(Caches Rule Configuration(File|Net)),为了提升查找速度,可以采用字典算法(Dictionary algorithm),字典算法(Rule Checker)是:将缓存处理规则字段所指示的所有规则都放入一个哈希表中,采用直接匹配哈希值的方式,来快速判断该资源是不是在缓存处理规则字段中,如果该资源在缓存处理规则字段中,即表示该缓存是需要进行缓存处理的。若是,则从该APP的运行内存中读取,如果从内存中读取不到,则从该APP的磁盘文件中寻找(WindVane MemoryCaches(LRU)),其文件名的格式是“MD5(消息摘要算法第五版)(资源地址)_版本号”(File=MD5(requestUrl)_version)。当在磁盘文件还查找不到的时候,可以从网络下载,通过网络下载时可以通过Network Switcher(网络切换)判断网络类型,如果是wifi(无线)网络则可以采用同步的方式下载,如果是2G网络则可以采用异步方式下载(Network(syn|asyn))。最后将获取到的资源加载于webview的缓存中,进行对应的缓存处理。
步骤105,采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
缓存处理规则字段,用于资源缓存的配置,可以是一个JSON(JavaScript Object Notation数据交换格式)对象,以列表的形式提供Hybrid组件对应的多条缓存规则。
在本申请的一种优选实施例中,缓存处理规则字段可以包括检查类型字段、检查资源类别字段和/或资源版本号字段。
所述检查类型字段可以为标注当前缓存规则是否是正则表达式规则的缓存处理规则字段;实际应用中,检查类型字段可以用于标注当前缓存规则是否是正则表达式规则,如果该字段是“0”,代表当前缓存规则是正则表达式规则;如果该字段是非“0”,比如“1”,代表当前缓存规则是普通的名称字符串匹配规则。
所述检查资源类别字段可以为标注当前的缓存规则所针对的资源的缓存处理规则字段;实际应用中,检查资源类别字段可以用于标注当前的缓存规则是面向哪一种资源的,是javascript还是css还是图片等,格式是任意指定的,只要对应的客户端协议解析层中允许接受该值即可。
所述资源版本号字段可以为标识当前资源的最新版本号的缓存处理规则字段;实际应用中,资源版本号字段可以适用于当规则是非正则表达式的情形,当规则是具体的某个资源的访问路径的时候,该资源版本号字段字段标识了当前资源的最新版本号。当规则是正则表达式的时候。在本发明的一种优选实施例中,所述配置信息可以包括安全预处理接口字段,在步骤104之前,本申请实施例还可以包括如下步骤:
步骤S1,加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
或者,
步骤S2,加密访问所述安全预处理接口字段指示的访问地址;
步骤S3,接收服务器针对所述安全预处理接口字段返回的加密信息;
步骤S4,针对所述加密信息解密后执行所述加密信息;
或者,
步骤S1,加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
步骤S3,接收服务器针对所述安全预处理接口字段返回的加密信息;
步骤S4,针对所述加密信息解密后执行所述加密信息。
安全预处理接口字段可以用于指定了一个用于处理安全操作的访问地址,具体可以是URL地址。该安全预处理接口字段服务于不能直接使用生成的访问地址加载Hybrid组件,而需要预先执行一段逻辑处理的Hybrid组件。例如,http://m.taobao.com/safe.htm。
在其中一种情形,可以是服务器单向加密。客户端使用普通的Http或Https请求发送到服务器,当服务器接收到请求后,可以从cookie或对应的请求参数中,获取到需要的信息,然后进行安全逻辑处理。
在其中一种情形,可以是客户端单向加密。客户端发送Http或者Https请求发送到服务器,服务器处理该请求的URL(安全预处理接口字段指示的访问地址)后返回一段加密的脚本,客户端在接收并解密脚本后,执行该脚本。
在其中一种情形,可以是客户端和服务器双向加密。客户端发送Http或者Https请求发送到服务器,当服务器接收到请求后,可以从cookie或对应的请求参数中,获取到需要的信息,然后进行安全逻辑处理,以及处理该请求的URL(安全预处理接口字段指示的访问地址)后返回一段加密的脚本,客户端在接收并解密脚本后,执行该脚本。
例如,Hybrid组件为下单交易插件,在进行访问真实的下单URL请求之前,为了安全考虑需要进行安全处理,其逻辑为:服务器对该用户的身份进行校验,同时,校验通过后向其身份session中插入一个防篡改字段。
在本发明的一种优选实施例中,所述配置信息可以包括辅助行为配置,本申请实施例还可以包括如下步骤:
步骤S5,执行所述辅助行为配置指示的辅助行为。
辅助行为配置可以用于维护Hybrid组件的运行时环境数据,为了让Hybrid组件所对应的wap页面更好的在客户端中运行。本申请实施例提供了一个Hybrid组件的运行环境,其需要对应的运行配置数据,以提供给辅助功能。
例如,Hybrid组件的缓存规则数据,在Hybrid组件所对应的wap页 面的运行过程中,解析配置信息,转化为运行过程的机器数据。其中包括Hybrid组件依赖的资源的缓存配置信息,来为Hybrid组件提供定制化的缓存功能。
又例如,辅助行为配置可以执行客户端本地Native功能接口的权限;
又例如,Hybrid组件为详情组件时,辅助行为配置允许执行访问微信客户端、访问通讯录、发短信等本地功能。
又例如,Hybrid组件为退款组件时,辅助行为配置允许执行调用摄像头、发短信等本地功能。
辅助行为配置指示的配置可以由本领域技术人员根据实际情况设置,本申请实施例对此不加以限制。
当然,上述配置信息只是作为示例,在实施本申请实施例时,可以根据实际情况设置其它配置信息,本发明实施例对此不加以限制。
例如,请求类型字段,该请求类型字段可以用于指定当前的请求是POST还是GET方式去发送Http请求。
又例如,防篡改字段,该防篡改字段可以用于校验数据配置信息的完整性和合法性,防止组件配置信息被篡改。当客户端接收到获取Hybrid组件的请求后,进行组件配置信息的校验,判断是否被中间网络篡改。作为一个优选示例,防篡改字段的校验算法可以是:Md5(${t}+${pk}+${ttid}+加密因子),其中,t为地址模板字段,pk为安全预处理接口字段,ttid为一种数据埋点字段,加密因子可以为任意字符串。
本申请通过在组件配置信息中指定固定的访问地址,避免因请求地址发生变更而客户端无法配合同时升级而导致功能错误的问题。
本申请通过组件配置信息可以针对不同Hybrid组件指定特定的运行配置,使得wap组件运行在客户端中所需要的动态数据可以根据不同的wap组件而动态切换,同时避免了采用全局性的配置兼容所有组件信息,减少内存的占用,提高设备的运行性能,保证多个Hybrid组件之间冲突性的数据有效的隔离,避免数据的冲突。
本申请通过设置组件配置信息使得在客户端可以直接调用一些具有 前置行为的wap组件。
本申请通过设置组件配置信息使得在客户端的Hybrid组件随之Hybrid组件的升级而升级,以适应升级中新定义的行为。
为使本领域技术人员更好地理解本申请,以下提供一个例子来说明本申请中Hybrid组件的具体运行过程。
假设客户端需要访问商品ID为“1234”的商品信息,根据上述访问需求生成对应的Hybrid组件的获取请求。其中所述请求中包含的Hybrid组件的配置地址为:waplugin://detail?id=1234。客户端的协议解析层接收到该请求时,解析出配置地址中的Hybrid组件标识及请求参数,读取Hybrid组件标识对应的组件配置信息。组件配置信息可以来源于服务端的运维系统提供的数据接口,也可以来源于客户端存储的带有时间戳的本地文件。
上述组件配置信息的一个示例可以由如下形式表示:
t(地址模板字段):"http://a.m.taobao.com/i${id}.htm",
rt(请求类型字段):"GET",
pk(安全预处理接口字段):"http://a.m.taobao.com/precheck.htm",
tk(防篡改字段):"9790f639bb5b1e5ba92562b148bbfb20",


通过该组件配置信息,提取地址模板字段,所请求的Hybrid组件对应的服务端的wap页面的访问地址格式是:http://a.m.taobao.com/i${id}.htm,其意义是:真实访问地址的访问路径是a.m.taobao.com,需要一个${id}参数,即参数名为“id”的参数值。从客户端发送的获取Hybrid组件的请求中的配置地址中去读取名称为“id”的参数的参数值。那么通过解析得到“id”的参数值是“1234”,将“id”的参数值配置到地址模板字段中,得到真实wap页面的访问地址http://a.m.taobao.com/i1234.htm。
此时可以直接访问该地址,但是,对应的服务器页面可能是具有要求的,比如“只有用户的手机浏览器中存在一个名称是isPermit,值是true的cookie,才允许访问改商品。此类要求是具体业务要求的,不同的业务要求不同,此处的“手机浏览器”在的客户端软件中即为网络视图插件。那么为了能正常访问该商品详情,此时需要一个前置处理操作:采用pk字段进行对应的安全预处理。该pk字段制定了一个安全访问地址,是一个http的URL。假设PK字段的值是:http://a.m.taobao.com/pk.htm?id=${id}&sign=${sign},采用同样的字符串解析逻辑,得到最终商品id为“1234”的商品的pk字段路径是http://a.m.taobao.com/pk.htm?id=1234&sign=ADFJIEBADFL。其中,“sign”为签名字段,其值的生成具有私密性,即是指该字段跟用户的客户端软件绑定,可以防止接口被模拟和破解。那么,在发送真实的Hybrid组件对应的wap页面的地址请求之前,需要先访问该pk接口。
pk字段指定的地址在服务端进行了安全处理之后,对应的服务器返回一段加密的javascript,客户端使用跟当前软件绑定的解密密码将此段加密javascript解密出来,并执行。
通过这个安全预处理,此时用户客户端软件中已经存在了必要cookie:isPermit=true。那么,客户端再次发出hybrid组件对应的wap页面的获取请求:http://a.m.taobao.com/i1234.htm,。此时,加载该Hybrid 组件并获取运行该Hybrid组件所需要的js资源和css资源,执行缓存处理规则字段(res)指示的缓存处理规则缓存获取的运行该Hybrid组件需要的js资源和css资源,就可以运行Hybrid组件将商品ID为“1234”的商品详情展示出来了。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请的一种Hybrid组件的运行系统实施例的结构框图,在本实施例中,所述系统可以包括如下模块:
请求生成模块301,用于生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;
配置信息获得模块302,用于根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述Hybrid组件标识设定的地址模板字段和缓存处理规则字段;
访问地址生成模块303,用于将所述请求参数配置至所述模板字段中,生成所述Hybrid组件的访问地址;
组件请求模块304,用于从所述访问地址加载所述Hybrid组件;
资源获取模块305,用于获取运行所述Hybrid组件所需要的页面资源;
缓存处理模块306,用于采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
在本申请的一种优选实施例中,所述配置信息获得模块可以包括如下子模块:
本地查找子模块,用于采用所述Hybrid组件标识在本地查找对应的 组件配置信息;当查找到时,调用期限判断子模块;当未查找到时,调用联网获取子模块;
期限判断子模块,用于判断所述组件配置信息是否过期;若是,则调用联网获取子模块;若否,则调用本地提取子模块;
本地提取子模块,用于从本地提取所述组件配置信息;
联网获取子模块,用于从服务器获取对应的组件配置信息。
在本申请的一种优选实施例中,所述配置信息可以包括安全预处理接口字段,所述系统还可以包括如下模块:
第一加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
或者,
第二加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;
第一加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信息;
第一加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息;
或者,
第三加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理接口字段执行对应的安全预处理;
第二加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信息;
第二加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息。
在本申请的一种优选实施例中,所述配置信息可以包括辅助行为配置,所述系统还可以包括如下模块:
辅助行为执行模块,用于执行所述辅助行为配置指示的辅助行为。
在本申请的一种优选实施例中,所述资源获取模块可以包括如下子模块:
缓存判断子模块,用于判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所需要的页面资源;若是,则调用缓存处理模块;
和/或,
第一加载子模块,用于判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
第二加载子模块,用于在在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中;
和/或,
第三加载子模块,用于从网络下载是否存在所述运行Hybrid组件所需要的页面资源,以及,将所述页面资源加载于所述网络视图插件的缓存中。
在本申请的一种优选实施例中,所述缓存处理规则字段可以包括检查类型字段、检查资源类别字段和/或资源版本号字段;
所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字段;
所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段;
所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、移动设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图 和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理移动设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理移动设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理移动设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理移动设备上,使得在计算机或其他可编程移动设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程移动设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者移动设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者移动设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者移动设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种Hybrid组件的运行方法和一种Hybrid组件的运行系统,进行了详细介绍,本文中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。

一种HYBRID组件的运行方法和系统.pdf_第1页
第1页 / 共20页
一种HYBRID组件的运行方法和系统.pdf_第2页
第2页 / 共20页
一种HYBRID组件的运行方法和系统.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《一种HYBRID组件的运行方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种HYBRID组件的运行方法和系统.pdf(20页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201310439613.0 (22)申请日 2013.09.24 G06F 9/44(2006.01) G06F 17/30(2006.01) (71)申请人 阿里巴巴集团控股有限公司 地址 英属开曼群岛大开曼资本大厦一座四 层 847 号邮箱 (72)发明人 曲子深 (74)专利代理机构 北京润泽恒知识产权代理有 限公司 11319 代理人 赵娟 (54) 发明名称 一种 Hybrid 组件的运行方法和系统 (57) 摘要 本申请实施例提供了一种 Hybrid 组件的运 行方法, 包括 : 生成获取 Hybrid 组件的请求 ; 所 。

2、述请求包括所述 Hybrid 组件的配置地址, 所述配 置地址包括 Hybrid 组件标识及对应的请求参数 ; 根据所述 Hybrid 组件标识获得对应的组件配置 信息 ; 所述组件配置信息包括为所述组件标识设 定的地址模板字段和缓存处理规则字段 ; 将所述 请求参数配置至所述地址模板字段中, 生成所述 Hybrid 组件的访问地址 ; 从所述访问地址加载所 述Hybrid组件, 并获取运行所述Hybrid组件所需 要的页面资源 ; 以及, 采用所述缓存处理规则字 段针对所页面述资源进行对应的缓存处理。本申 请保证多个 Hybrid 组件之间冲突性的数据有效 的隔离。 (51)Int.Cl. 。

3、(19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书14页 附图2页 (10)申请公布号 CN 104461491 A (43)申请公布日 2015.03.25 CN 104461491 A 1/3 页 2 1. 一种 Hybrid 组件的运行方法, 其特征在于, 包括 : 生成获取Hybrid组件的请求 ; 所述请求包括所述Hybrid组件的配置地址, 所述配置地 址包括 Hybrid 组件标识及对应的请求参数 ; 根据所述 Hybrid 组件标识获得对应的组件配置信息 ; 所述组件配置信息包括为所述 Hybrid 组件标识设定的地址模板字段和缓存处理规则字段 。

4、; 将所述请求参数配置至所述地址模板字段中, 生成所述 Hybrid 组件的访问地址 ; 从所述访问地址加载所述 Hybrid 组件, 并获取运行所述 Hybrid 组件所需要的页面资 源 ; 以及, 采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述根据所述 Hybrid 组件标识获得对应 的组件配置信息的步骤包括 : 采用所述 Hybrid 组件标识在本地查找对应的组件配置信息 ; 当查找到时, 判断所述组件配置信息是否过期 ; 若是, 则从服务器获取组件配置信息 ; 若否, 则从本地提取所述组件配置信息 ; 当未查找到时。

5、, 从服务器获取对应的组件配置信息。 3. 根据权利要求 1 所述的方法, 其特征在于, 所述配置信息包括安全预处理接口字段, 在所述从所述访问地址加载所述 Hybrid 组件, 并获取运行所述 Hybrid 组件所需要的页面 资源的步骤之前, 还包括 : 加密访问所述安全预处理接口字段指示的访问地址 ; 服务器用于按照所述安全预处理 接口字段执行对应的安全预处理 ; 或者, 加密访问所述安全预处理接口字段指示的访问地址 ; 接收服务器针对所述安全预处理接口字段返回的加密信息 ; 针对所述加密信息解密后执行所述加密信息 ; 或者, 加密访问所述安全预处理接口字段指示的访问地址 ; 服务器用于按。

6、照所述安全预处理 接口字段执行对应的安全预处理 ; 接收服务器针对所述安全预处理接口字段返回的加密信息 ; 针对所述加密信息解密后执行所述加密信息。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述配置信息包括辅助行为配置, 还包 括 : 执行所述辅助行为配置指示的辅助行为。 5. 根据权利要求 1 所述的方法, 其特征在于, 所述获取运行所述 Hybrid 组件所需要的 页面资源的步骤包括 : 判断预置的网络视图插件的缓存中是否存在所述运行 Hybrid 组件所需要的页面资 源 ; 若是, 则执行所述依据缓存处理规则字段针对所述页面资源进行对应的缓存处理的步 骤 ; 和 / 或, 判。

7、断预置的网络视图插件归属的应用程序的内存里是否存在所述运行 Hybrid 组件所 权 利 要 求 书 CN 104461491 A 2 2/3 页 3 需要的页面资源 ; 若是, 则将所述页面资源加载于所述网络视图插件的缓存中 ; 和 / 或, 当在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行 Hybrid 组件所需要的页面资源时, 读取所述页面资源, 以及, 将所述页面资源加载于所述网络视图 插件的缓存中 ; 和 / 或, 从网络下载所述运行 Hybrid 组件所需要的页面资源, 以及, 将所述页面资源加载于所 述网络视图插件的缓存中。 6. 根据权利要求 1 所述的方法,。

8、 其特征在于, 所述缓存处理规则字段包括检查类型字 段、 检查资源类别字段和 / 或资源版本号字段 ; 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字 段 ; 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段 ; 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。 7. 一种 Hybrid 组件的运行系统, 其特征在于, 包括 : 请求生成模块, 用于生成获取Hybrid组件的请求 ; 所述请求包括所述Hybrid组件的配 置地址, 所述配置地址包括 Hybrid 组件标识及对应的请求参数 ; 配置信息获得模块, 用于根据所述 Hyb。

9、rid 组件标识获得对应的组件配置信息 ; 所述组 件配置信息包括为所述 Hybrid 组件标识设定的地址模板字段和缓存处理规则字段 ; 访问地址生成模块, 用于将所述请求参数配置至所述地址模板字段中, 生成所述 Hybrid 组件的访问地址 ; 组件请求模块, 用于从所述访问地址加载所述 Hybrid 组件 ; 资源获取模块, 用于获取运行所述 Hybrid 组件所需要的页面资源 ; 缓存处理模块, 用于采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处 理。 8. 根据权利要求 7 所述的系统, 其特征在于, 所述配置信息获得模块包括 : 本地查找子模块, 用于采用所述 Hybrid。

10、 组件标识在本地查找对应的组件配置信息 ; 当 查找到时, 调用期限判断子模块 ; 当未查找到时, 调用联网获取子模块 ; 期限判断子模块, 用于判断所述组件配置信息是否过期 ; 若是, 则调用联网获取子模 块 ; 若否, 则调用本地提取子模块 ; 本地提取子模块, 用于从本地提取所述组件配置信息 ; 联网获取子模块, 用于从服务器获取对应的组件配置信息。 9. 根据权利要求 7 所述的系统, 其特征在于, 所述配置信息包括安全预处理接口字段, 还包括 : 第一加密访问模块, 用于加密访问所述安全预处理接口字段指示的访问地址 ; 服务器 用于按照所述安全预处理接口字段执行对应的安全预处理 ; 。

11、或者, 第二加密访问模块, 用于加密访问所述安全预处理接口字段指示的访问地址 ; 第一加密信息接收模块, 用于接收服务器针对所述安全预处理接口字段返回的加密信 权 利 要 求 书 CN 104461491 A 3 3/3 页 4 息 ; 第一加密信息执行模块, 用于针对所述加密信息解密后执行所述加密信息 ; 或者, 第三加密访问模块, 用于加密访问所述安全预处理接口字段指示的访问地址 ; 服务器 用于按照所述安全预处理接口字段执行对应的安全预处理 ; 第二加密信息接收模块, 用于接收服务器针对所述安全预处理接口字段返回的加密信 息 ; 第二加密信息执行模块, 用于针对所述加密信息解密后执行所述。

12、加密信息。 10. 根据权利要求 7 所述的系统, 其特征在于, 所述配置信息包括辅助行为配置, 还包 括 : 辅助行为执行模块, 用于执行所述辅助行为配置指示的辅助行为。 11. 根据权利要求 7 所述的系统, 其特征在于, 所述资源获取模块包括 : 缓存判断子模块, 用于判断预置的网络视图插件的缓存中是否存在所述运行 Hybrid 组件所需要的页面资源 ; 若是, 则调用缓存处理模块 ; 和 / 或, 第一加载子模块, 用于判断预置的网络视图插件归属的应用程序的内存里是否存在所 述运行 Hybrid 组件所需要的页面资源 ; 若是, 则将所述页面资源加载于所述网络视图插件 的缓存中 ; 和。

13、 / 或, 第二加载子模块, 用于在预置的网络视图插件归属的应用程序对应的磁盘文件中查找 到所述运行 Hybrid 组件所需要的页面资源时, 读取所述页面资源, 以及, 将所述页面资源 加载于所述网络视图插件的缓存中 ; 和 / 或, 第三加载子模块, 用于从网络下载是否存在所述运行 Hybrid 组件所需要的页面资源, 以及, 将所述页面资源加载于所述网络视图插件的缓存中。 12. 根据权利要求 7 所述的系统, 其特征在于, 所述缓存处理规则字段包括检查类型字 段、 检查资源类别字段和 / 或资源版本号字段 ; 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字 段 ;。

14、 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段 ; 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。 权 利 要 求 书 CN 104461491 A 4 1/14 页 5 一种 Hybrid 组件的运行方法和系统 技术领域 0001 本申请实施例涉及移动设备的技术领域, 特别是涉及一种 Hybrid 组件的运行方 法和一种 Hybrid 组件的运行系统。 背景技术 0002 现有技术中, wap(Wireless Application Protocol, 无线应用协议) 站点运行着 的一些业务功能。无论这些业务功能是否是 webapp (基于 We。

15、b 的系统和应用) 实现, 都可以 从 wap 站点抽取出各业务功能点。比如从在电子商务 (Electronic Commerce, EC) 中商品 的详情页面, 可以抽取出该详情页面的 wap 组件, 那么客户端可以嵌入该详情页面, 即用户 界面的全部或部分元素在嵌入式浏览器组件里面运行, 具有了使用 wap 方式来展示商品信 息的能力。这种场景, 我们称之为 Hybrid (混合) , 指客户端软件开发的一种模式, 通常采用 网络视图 (webview) 插件为载体, 将 wap 或者 web 页面嵌入到客户端软件中提供业务功能。 0003 例如, 可以将包装了某个 wap 业务功能的组件。

16、, 以 Native(本地, 指传统的客户端 软件开发模式, 即使用特定平台语言和工具开发客户端软件的方式) 方式封装于 SDK(软件 开发库, 将通用功能打包成一个通用库的方式对外提供同意服务) 中。那么, 任何客户端只 要调用了这个组件, 就可以具有该 wap 业务功能。这种组件, 称之为 Hybrid 组件。 0004 有一些组件是需要预先通过安全模块处理才能调用的。比如交易组件, 无法直接 通过某个请求地址去调用, 原因在于服务端的安全模块会因为检查不通过而造成调用失 败。所以, 对于这一类型的组件, 需要在客户端本地 SDK 中进行预处理行为, 以便于调用方 直接使用。 0005 现。

17、有技术中是通过硬编码的方式在客户端中指定 Hybrid 组件包装的 wap 页面的 线上请求地址。辅助 Hybrid 组件运行的动态数据, 一般通过全局性配置的方式统一制定。 0006 然而, 对于Hybrid组件包裹的wap页面而言, 当请求地址发生变化的时候, 客户端 硬编码的方式无法动态升级而导致老版本的不可用。此外, Hybrid 组件运行时需要动态数 据, 而由于无法详细区分每个组件所需要的特定数据, 所以一个全局性的配置将会兼容所 有组件信息, 这会对内存和性能造成很大影响, 同时多个组件之间冲突性的数据也无法有 效的保证隔离。 一些具有前置行为的wap组件是无法直接在客户端中进行。

18、调用。 还有, 伴随 组件升级过程中的一些新行为, 在客户端老版本中将因无法动态升级而导致功能不可用。 0007 因此, 目前需要本领域技术人员迫切解决的一个技术问题就是 : 提供一种 Hybrid 组件的运行机制, 用以解决 wap 组件发生变化时客户端无法配合同时升级而导致功能错 误、 wap 组件运行在客户端中所需要的动态数据不能根据不同的 wap 组件而动态切换, 具有 前置行为的 wap 组件无法直接在客户端中直接调用的问题。 发明内容 0008 本申请实施例所要解决的技术问题是提供一种混合 Hybrid 组件的运行方法, 用 以解决 wap 组件发生变化时客户端无法配合同时升级而导。

19、致功能错误的问题。 说 明 书 CN 104461491 A 5 2/14 页 6 0009 相应的, 本申请实施例还提供了一种混合 Hybrid 组件的运行系统, 用以保证上述 方法的实现及应用。 0010 为了解决上述问题, 本申请实施例公开了一种 Hybrid 组件的运行方法, 包括 : 0011 生成获取Hybrid组件的请求 ; 所述请求包括所述Hybrid组件的配置地址, 所述配 置地址包括 Hybrid 组件标识及对应的请求参数 ; 0012 根据所述 Hybrid 组件标识获得对应的组件配置信息 ; 所述组件配置信息包括为 所述组件标识设定的地址模板字段和缓存处理规则字段 ; 。

20、0013 将所述请求参数配置至所述地址模板字段中, 生成所述 Hybrid 组件的访问地址 ; 0014 从所述访问地址加载所述 Hybrid 组件, 并获取运行所述 Hybrid 组件所需要的页 面资源 ; 以及, 0015 采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。 0016 优选地, 所述根据所述 Hybrid 组件标识获得对应的组件配置信息的步骤包括 : 0017 采用所述 Hybrid 组件标识在本地查找对应的组件配置信息 ; 0018 当查找到时, 判断所述组件配置信息是否过期 ; 若是, 则从服务器获取组件配置信 息 ; 若否, 则从本地提取所述组件配置信息 ;。

21、 0019 当未查找到时, 从服务器获取对应的组件配置信息。 0020 优选地, 所述配置信息包括安全预处理接口字段, 在所述从所述访问地址加载所 述 Hybrid 组件, 并获取运行所述 Hybrid 组件所需要的页面资源的步骤之前, 还包括 : 0021 加密访问所述安全预处理接口字段指示的访问地址 ; 服务器用于按照所述安全预 处理接口字段执行对应的安全预处理 ; 0022 或者, 0023 加密访问所述安全预处理接口字段指示的访问地址 ; 0024 接收服务器针对所述安全预处理接口字段返回的加密信息 ; 0025 针对所述加密信息解密后执行所述加密信息 ; 0026 或者, 0027 。

22、加密访问所述安全预处理接口字段指示的访问地址 ; 服务器用于按照所述安全预 处理接口字段执行对应的安全预处理 ; 0028 接收服务器针对所述安全预处理接口字段返回的加密信息 ; 0029 针对所述加密信息解密后执行所述加密信息。 0030 优选地, 所述配置信息包括辅助行为配置, 还包括 : 0031 执行所述辅助行为配置指示的辅助行为。 0032 优选地, 所述获取运行所述 Hybrid 组件所需要的页面资源的步骤包括 : 0033 判断预置的网络视图插件的缓存中是否存在所述运行 Hybrid 组件所需要的页面 资源 ; 若是, 则执行所述依据缓存处理规则字段针对所述页面资源进行对应的缓存。

23、处理的 步骤 ; 0034 和 / 或, 0035 判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行 Hybrid 组 件所需要的页面资源 ; 若是, 则将所述页面资源加载于所述网络视图插件的缓存中 ; 0036 和 / 或, 说 明 书 CN 104461491 A 6 3/14 页 7 0037 当在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行 Hybrid 组件所需要的页面资源时, 读取所述页面资源, 以及, 将所述页面资源加载于所述网 络视图插件的缓存中 ; 0038 和 / 或, 0039 从网络下载所述运行 Hybrid 组件所需要的页面资源, 以及,。

24、 将所述页面资源加载 于所述网络视图插件的缓存中。 0040 优选地, 所述缓存处理规则字段包括检查类型字段、 检查资源类别字段和 / 或资 源版本号字段 ; 0041 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则 字段 ; 0042 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字 段 ; 0043 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。 0044 本申请实施例还公开了一种 Hybrid 组件的运行系统, 包括 : 0045 请求生成模块, 用于生成获取Hybrid组件的请求 ; 所述请求包括所述Hybrid组件 的配置地。

25、址, 所述配置地址包括 Hybrid 组件标识及对应的请求参数 ; 0046 配置信息获得模块, 用于根据所述 Hybrid 组件标识获得对应的组件配置信息 ; 所 述组件配置信息包括为所述 Hybrid 组件标识设定的地址模板字段和缓存处理规则字段 ; 0047 访问地址生成模块, 用于将所述请求参数配置至所述地址模板字段中, 生成所述 Hybrid 组件的访问地址 ; 0048 组件请求模块, 用于从所述访问地址加载所述 Hybrid 组件 ; 0049 资源获取模块, 用于获取运行所述 Hybrid 组件所需要的页面资源 ; 0050 缓存处理模块, 用于采用所述缓存处理规则字段针对所述。

26、页面资源进行对应的缓 存处理。 0051 优选地, 所述配置信息获得模块包括 : 0052 本地查找子模块, 用于采用所述 Hybrid 组件标识在本地查找对应的组件配置信 息 ; 当查找到时, 调用期限判断子模块 ; 当未查找到时, 调用联网获取子模块 ; 0053 期限判断子模块, 用于判断所述组件配置信息是否过期 ; 若是, 则调用联网获取子 模块 ; 若否, 则调用本地提取子模块 ; 0054 本地提取子模块, 用于从本地提取所述组件配置信息 ; 0055 联网获取子模块, 用于从服务器获取对应的组件配置信息。 0056 优选地, 所述配置信息包括安全预处理接口字段, 还包括 : 00。

27、57 第一加密访问模块, 用于加密访问所述安全预处理接口字段指示的访问地址 ; 服 务器用于按照所述安全预处理接口字段执行对应的安全预处理 ; 0058 或者, 0059 第二加密访问模块, 用于加密访问所述安全预处理接口字段指示的访问地址 ; 0060 第一加密信息接收模块, 用于接收服务器针对所述安全预处理接口字段返回的加 密信息 ; 0061 第一加密信息执行模块, 用于针对所述加密信息解密后执行所述加密信息 ; 说 明 书 CN 104461491 A 7 4/14 页 8 0062 或者, 0063 第三加密访问模块, 用于加密访问所述安全预处理接口字段指示的访问地址 ; 服 务器用。

28、于按照所述安全预处理接口字段执行对应的安全预处理 ; 0064 第二加密信息接收模块, 用于接收服务器针对所述安全预处理接口字段返回的加 密信息 ; 0065 第二加密信息执行模块, 用于针对所述加密信息解密后执行所述加密信息。 0066 优选地, 所述配置信息包括辅助行为配置, 还包括 : 0067 辅助行为执行模块, 用于执行所述辅助行为配置指示的辅助行为。 0068 优选地, 所述资源获取模块包括 : 0069 缓存判断子模块, 用于判断预置的网络视图插件的缓存中是否存在所述运行 Hybrid 组件所需要的页面资源 ; 若是, 则调用缓存处理模块 ; 0070 和 / 或, 0071 第。

29、一加载子模块, 用于判断预置的网络视图插件归属的应用程序的内存里是否存 在所述运行 Hybrid 组件所需要的页面资源 ; 若是, 则将所述页面资源加载于所述网络视图 插件的缓存中 ; 0072 和 / 或, 0073 第二加载子模块, 用于在预置的网络视图插件归属的应用程序对应的磁盘文件中 查找到所述运行 Hybrid 组件所需要的页面资源时, 读取所述页面资源, 以及, 将所述页面 资源加载于所述网络视图插件的缓存中 ; 0074 和 / 或, 0075 第三加载子模块, 用于从网络下载是否存在所述运行 Hybrid 组件所需要的页面 资源, 以及, 将所述页面资源加载于所述网络视图插件的。

30、缓存中。 0076 优选地, 所述缓存处理规则字段包括检查类型字段、 检查资源类别字段和 / 或资 源版本号字段 ; 0077 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则 字段 ; 0078 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字 段 ; 0079 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。 0080 与背景技术相比, 本申请实施例包括以下优点 : 0081 本申请通过在组件配置信息中指定固定的访问地址, 避免因请求地址发生变更而 客户端无法配合同时升级而导致功能错误的问题。 0082 本申请通过组件配置信息可以针对。

31、不同 Hybrid 组件指定特定的运行配置, 使得 wap 组件运行在客户端中所需要的动态数据可以根据不同的 wap 组件而动态切换, 同时避 免了采用全局性的配置兼容所有组件信息, 减少内存的占用, 提高设备的运行性能, 保证多 个 Hybrid 组件之间冲突性的数据有效的隔离, 避免数据的冲突。 0083 本申请通过设置组件配置信息使得在客户端可以直接调用一些具有前置行为的 wap 组件。 0084 本申请通过设置组件配置信息使得在客户端的Hybrid组件随之Hybrid组件的升 说 明 书 CN 104461491 A 8 5/14 页 9 级而升级, 以适应升级中新定义的行为。 附图说。

32、明 0085 图 1 是本申请的一种 Hybrid 组件的运行方法实施例的步骤流程图 ; 0086 图 2 是本申请实施例的一种获取资源的优选示例的流程图 ; 0087 图 3 是本申请的一种 Hybrid 组件的运行系统实施例的结构框图。 具体实施方式 0088 为使本申请实施例的上述目的、 特征和优点能够更加明显易懂, 下面结合附图和 具体实施方式对本申请实施例作进一步详细的说明。 0089 Hybrid组件的呈现是以wap页面的方式提供的。 每个wap页面可能是一个原子功 能, 对于通过网络视图 (webview) 插件嵌入使用的客户端软件而言, 称之为Hybrid组件。 每 个 wap。

33、 页面在服务器对应的有一个访问地址, 但是这个地址是变化的, 无具体的地址定义 规范可以去遵循的。 比如对于wap商品详情页面, 其访问路径可能是 : http:/a.m.taobao. com/i123456789.htm。又比如, 而对于 wap 店铺信息页面, 其访问路径可能是 : http:/ 。而对于 wap 订单详情页面, 其访问路径可能是 : http:/ 是开发技术人员在 编写代码过程中自定义的。 现有方式中, 如果客户端采用Hybrid的模式嵌套这些wap页面, 将难以通过一个规范方式去引用这些 wap 页面, wap 页面的路径只能通过硬编码的方式写 入到客户端。而且由于。

34、这些路径定义的随意性和随时修改性, 可能会导致客户端软件的不 可用。 0090 本申请实施例的核心构思之一在于, 提供一种标准化的 Hybrid 组件运行方案, 以 统一格式的协议方式进行引用, 以解决Hybrid客户端嵌套的wap页面地址没有明确标准或 规范所产生的问题。 0091 Hybrid 组件是基于客户端开发平台的标准组件之一, 是基于网络视图 (webview) 插件来运行的。承载 Hybrid 组件功能的主体可以是一个运行在服务端的 Wap 页面, 也可能 是一个WebApp。 Hybrid组件在客户端开发平台这一层被封装进Wap页面或者WebApp, 以标 准化、 协议化的方式。

35、允许客户端访问并在客户端中塑造独立的运行环境服务和数据服务。 而 Wap 页面或 WebApp 其自身, 在浏览器中也是可以独立运行的。 0092 参照图 1, 示出了本申请的一种 Hybrid 组件的运行方法实施例的步骤流程图, 本 申请实施例可以包括如下步骤。 0093 步骤 101, 生成获取 Hybrid 组件的请求 ; 所述请求包括所述 Hybrid 组件的配置地 址, 所述配置地址包括 Hybrid 组件标识及对应的请求参数。 0094 所述请求为协议化的请求, 按照预定的 Hybrid 组件协议生成。所述 Hybrid 组件 协议为每一个 Hybrid 组件定义唯一的配置地址。按。

36、照所述 Hybrid 组件协议, 所述配置地 址可以采用如下格式表示 : waplugin:/$h?p1=$p1 参数值 。其中, h 表示 Hybrid 组件 标识。p1 为请求参数的参数名, 具有对应的参数值。混合 Hybrid 组件标识可以是 Hybrid 组件的组件名称, 也可以是其他, 本申请实施例对此不加以限制。 0095 当所述配置地址中包括多个请求参数时, 所述配置地址可以采用如下格式表示 : 说 明 书 CN 104461491 A 9 6/14 页 10 waplugin:/$h?p1=$p1 参数值 &p2=$p2 参数值 &pn=$pn 参数值 。其中, p1、 p2 。

37、及 pn 分别为不同请求参数的参数名, n 为大于或等于 2 的自然数。客户端要使用哪一 个 Hybrid 组件是根据具体的需求场景来选择的。根据需求场景确定 Hybrid 组件后, 在 Hybrid 组件协议中可以确定具体的 Hybrid 组件的配置地址。比如其希望使用商品的详情 组件, 那么根据 Hybrid 组件协议可以得知, 该商品的详情组件的配置地址为 : waplugin:/ detail?id=$id, 得知 Hybrid 组件标识为 “detail” , 请求参数是 “detail” 的 ID。 0096 不同的Hybrid组件, 有不同要求的请求参数及参数值, 是根据Hybr。

38、id组件背后的 业务需求来确定的。比如对于商品详情业务, 请求参数是商品 ID ; 对于店铺详情业务, 请求 参数是店铺号 ID ; 对于购物车业务, 请求参数是购物车 ID ; 对于用户主页业务, 请求参数是 用户 ID。 0097 在具体实现中, 可以在 Hybrid 组件协议中预先定义 Hybrid 组件所对应的请求参 数和参数值。Hybrid 组件标识、 请求参数和 / 或请求参数的参数值可以以占位符的形式标 示。比如对于线上商品详情业务组件, 其配置地址可以为 : waplugin:/detail?product_ id=$product_id。其中 $product_id 为占位符。

39、, 用于输出 “product_id” 这个请求参数 对应的参数值。 例如, 对于线上店铺业务组件, 其配置地址可以为 : waplugin:/shop?shop_ id=$shopId。 对 于 某 个 具 体 的 店 铺, 其 配 置 地 址 可 以 是 waplugin:/shop?shop_ id=123456789。 0098 当然, 上述配置地址的应用方式只是作为示例, 在实施本申请实施例时, 可以根据 实际情况设置其它配置地址的应用方式, 本发明实施例对此不加以限制。 0099 步骤 102, 根据所述 Hybrid 组件标识获得对应的组件配置信息 ; 所述组件配置信 息包括为所。

40、述 Hybrid 组件标识设定的地址模板字段和缓存处理规则字段 ; 0100 对于不同的 Hybrid 组件, 都可以有不同的运行配置需求。当客户端的协议解析层 接收到获取 Hybrid 组件的请求后, 则可以查找其对应的组件配置信息。 0101 其中, 所述地址模板字段提供 Hybrid 组件的访问地址的生成模板。 0102 在本申请的一种优选实施例中, 所述步骤 102 具体可以包括如下子步骤 : 0103 子步骤 S11, 采用所述 Hybrid 组件标识在本地查找对应的组件配置信息 ; 当查找 到时, 执行子步骤 S12 ; 当未查找到时, 执行子步骤 S14 ; 0104 子步骤 S。

41、12, 判断所述组件配置信息是否过期 ; 若是, 则执行子步骤 S14 ; 若否, 则 执行子步骤 S13 ; 0105 子步骤 S13, 从本地提取所述组件配置信息 ; 0106 子步骤 S14, 从服务器获取对应的组件配置信息。 0107 客户端的协议解析层在收到获取 Hybrid 组件的请求时, 解析所述请求, 可以得到 Hybrid 组件标识及对应的请求参数。根据 Hybrid 组件标识在本地查找组件配置信息。如 果在本地查找到可用的组件配置信息, 则使用本地的组件配置信息。如果未在本地找到组 件配置信息或组件配置信息不可用 (比如本地配置信息的时间戳过期) 时, 则客户端调用服 务端。

42、预定的接口, 从服务器获取对应的组件配置信息。 0108 步骤 103, 将所述请求参数配置至所述地址模板字段中, 生成所述 Hybrid 组件的 访问地址 ; 0109 地址模板字段, 可以制定 Hybrid 组件所对应的 wap 页面的真实访问地址, 以占位 说 明 书 CN 104461491 A 10 7/14 页 11 符的形式指定请求参数的配置位置。例如, 某一 Hybrid 组件标识对应的组件配置信息包括 的地址模板字段的示例表示如下 : http:/ $id 代表占 位符, 用于从配置地址中取出对应的请求参数 (id) 的参数值, 取出的请求参数 (id) 的参数 值将替换所述。

43、占位符而生成所述 Hybrid 组件的访问地址。 0110 步骤 104, 从所述访问地址加载所述 Hybrid 组件, 并获取运行所述 Hybrid 组件所 需要的页面资源 ; 0111 Hybrid 组件可以以 webview 为载体, 封装进客户端的 APP 中, 该 Hybrid 组件的具 体功能可以通过 wap 页面的方式来展示, 即 Hybrid 组件可以为使用 Html 代码的前端技术 开发的。因此, 所述页面资源包括 Html 页面中的 Javascript、 css、 图片和 / 或字体文件等 资源。Javascript、 css、 图片和 / 或字体文件等页面资源用于页面的。

44、渲染。为了辅助运行 Hybrid 组件, 在加载 Hybrid 组件时, 缓存所述页面资源。 0112 需要说明的是, Hybrid 组件运行所需要的页面资源可以在组件的配置信息中进行 定义。在实际应用中可以在配置信息中设定一个字段说明该 Hybrid 组件运行所需要的资 源列表。 0113 加载 Hybrid 组件的时候, 已经在开始运行 Hybrid 组件了, 而开始运行 Hybrid 组 件的过程中, 需要先加载运行 Hybrid 组件所需要的页面资源, 此时进行对应的缓存处理。 0114 在本申请的一种优选实施例中, 步骤 104 具体可以包括如下子步骤 : 0115 子步骤 S21,。

45、 判断预置的网络视图 (webview)插件的缓存中是否存在所述运行 Hybrid 组件所需要的页面资源 ; 若是, 则执行步骤 105 ; 0116 和 / 或, 0117 子步骤 S22, 判断预置的网络视图 (webview) 插件归属的应用程序的内存里是否 存在所述运行 Hybrid 组件所需要的页面资源 ; 若是, 则将所述页面资源加载于所述网络视 图 webview 插件的缓存中 ; 0118 和 / 或, 0119 子步骤 S23, 当在预置的网络视图 (webview) 插件归属的应用程序对应的磁盘文 件中查找到所述运行 Hybrid 组件所需要的页面资源时, 读取所述页面资源。

46、, 以及, 将所述 页面资源加载于所述网络视图 (webview) 插件的缓存中 ; 0120 和 / 或, 0121 子步骤 S24, 从网络下载所述运行混合 Hybrid 组件所需要的页面资源, 以及, 将所 述页面资源加载于所述网络视图 (webview) 插件的缓存中。 0122 当拦截到资源的请求时, 可以默认使用网络视图 (webview) 插件的缓存。 0123 当然, 上述加载运行所述混合 Hybrid 组件所需要的页面资源的方式, 可以单个使 用, 也可以组合使用。 0124 参照图 2, 示出了本申请实施例的一种获取资源的优选示例的流程图。如 图 2 所示, 当页面资源已经。

47、存在于网络视图 (webview)插件的缓存 (Browser Memory Caches)中时, 可以直接使用该缓存执行对应的缓存处理 ; 当网络视图中没有该缓存 时, 可以从网络视图插件归属的 APP(应用程序)的运行内存中查找 (Caches Rule Configuration(File|Net)) , 为 了 提 升 查 找 速 度, 可 以 采 用 字 典 算 法 (Dictionary algorithm) , 字典算法 (Rule Checker) 是 : 将缓存处理规则字段所指示的所有规则都放 说 明 书 CN 104461491 A 11 8/14 页 12 入一个哈希表中。

48、, 采用直接匹配哈希值的方式, 来快速判断该资源是不是在缓存处理规则 字段中, 如果该资源在缓存处理规则字段中, 即表示该缓存是需要进行缓存处理的。若是, 则从该 APP 的运行内存中读取, 如果从内存中读取不到, 则从该 APP 的磁盘文件中寻找 (WindVane MemoryCaches(LRU)) , 其文件名的格式是 “MD5(消息摘要算法第五版) ( 资源地 址 )_ 版本号” (File=MD5(requestUrl)_version)。当在磁盘文件还查找不到的时候, 可以 从网络下载, 通过网络下载时可以通过 Network Switcher(网络切换) 判断网络类型, 如果 是 wifi(无线) 网络则可以采用同步的方式下载, 如果是 2G 网络则可以采用异步方式下载 (Network(syn|asyn)。最后将获取到的资源加载于 webview 的缓存中, 进行对应的缓存处 理。 0125 步骤 105, 采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。 0126 缓存处理规则字段, 用于资源缓存的配置, 可以是一个 JSON(JavaScript Ob。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1