《一种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。