一种Hybrid组件的运行方法和系统的制作方法

文档序号:6512993阅读:248来源:国知局
一种Hybrid组件的运行方法和系统的制作方法
【专利摘要】本申请实施例提供了一种Hybrid组件的运行方法,包括:生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述组件标识设定的地址模板字段和缓存处理规则字段;将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资源;以及,采用所述缓存处理规则字段针对所页面述资源进行对应的缓存处理。本申请保证多个Hybrid组件之间冲突性的数据有效的隔离。
【专利说明】-种Hybr id组件的运行方法和系统

【技术领域】
[0001] 本申请实施例涉及移动设备的【技术领域】,特别是涉及一种Hybrid组件的运行方 法和一种Hybrid组件的运行系统。

【背景技术】
[0002] 现有技术中,wap (Wireless Application Protocol,无线应用协议)站点运行着 的一些业务功能。无论这些业务功能是否是webapp (基于Web的系统和应用)实现,都可以 从wap站点抽取出各业务功能点。比如从在电子商务(Electronic Commerce, EC)中商品 的详情页面,可以抽取出该详情页面的wap组件,那么客户端可以嵌入该详情页面,即用户 界面的全部或部分元素在嵌入式浏览器组件里面运行,具有了使用wap方式来展示商品信 息的能力。这种场景,我们称之为Hybrid (混合),指客户端软件开发的一种模式,通常采用 网络视图(webview)插件为载体,将wap或者web页面嵌入到客户端软件中提供业务功能。
[0003] 例如,可以将包装了某个wap业务功能的组件,以Native (本地,指传统的客户端 软件开发模式,即使用特定平台语言和工具开发客户端软件的方式)方式封装于SDK (软件 开发库,将通用功能打包成一个通用库的方式对外提供同意服务)中。那么,任何客户端只 要调用了这个组件,就可以具有该wap业务功能。这种组件,称之为Hybrid组件。
[0004] 有一些组件是需要预先通过安全模块处理才能调用的。比如交易组件,无法直接 通过某个请求地址去调用,原因在于服务端的安全模块会因为检查不通过而造成调用失 败。所以,对于这一类型的组件,需要在客户端本地SDK中进行预处理行为,以便于调用方 直接使用。
[0005] 现有技术中是通过硬编码的方式在客户端中指定Hybrid组件包装的wap页面的 线上请求地址。辅助Hybrid组件运行的动态数据,一般通过全局性配置的方式统一制定。
[0006] 然而,对于Hybrid组件包裹的wap页面而言,当请求地址发生变化的时候,客户端 硬编码的方式无法动态升级而导致老版本的不可用。此外,Hybrid组件运行时需要动态数 据,而由于无法详细区分每个组件所需要的特定数据,所以一个全局性的配置将会兼容所 有组件信息,这会对内存和性能造成很大影响,同时多个组件之间冲突性的数据也无法有 效的保证隔离。一些具有前置行为的wap组件是无法直接在客户端中进行调用。还有,伴随 组件升级过程中的一些新行为,在客户端老版本中将因无法动态升级而导致功能不可用。
[0007] 因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种Hybrid 组件的运行机制,用以解决wap组件发生变化时客户端无法配合同时升级而导致功能错 误、wap组件运行在客户端中所需要的动态数据不能根据不同的wap组件而动态切换,具有 前置行为的wap组件无法直接在客户端中直接调用的问题。


【发明内容】

[0008] 本申请实施例所要解决的技术问题是提供一种混合Hybrid组件的运行方法,用 以解决wap组件发生变化时客户端无法配合同时升级而导致功能错误的问题。
[0009] 相应的,本申请实施例还提供了一种混合Hybrid组件的运行系统,用以保证上述 方法的实现及应用。
[0010] 为了解决上述问题,本申请实施例公开了一种Hybrid组件的运行方法,包括:
[0011] 生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配 置地址包括Hybrid组件标识及对应的请求参数;
[0012] 根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为 所述组件标识设定的地址模板字段和缓存处理规则字段;
[0013] 将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址;
[0014] 从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页 面资源;以及,
[0015] 采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
[0016] 优选地,所述根据所述Hybrid组件标识获得对应的组件配置信息的步骤包括:
[0017] 采用所述Hybrid组件标识在本地查找对应的组件配置信息;
[0018] 当查找到时,判断所述组件配置信息是否过期;若是,则从服务器获取组件配置信 息;若否,则从本地提取所述组件配置信息;
[0019] 当未查找到时,从服务器获取对应的组件配置信息。
[0020] 优选地,所述配置信息包括安全预处理接口字段,在所述从所述访问地址加载所 述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资源的步骤之前,还包括:
[0021] 加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预 处理接口字段执行对应的安全预处理;
[0022] 或者,
[0023] 加密访问所述安全预处理接口字段指示的访问地址;
[0024] 接收服务器针对所述安全预处理接口字段返回的加密信息;
[0025] 针对所述加密信息解密后执行所述加密信息;
[0026] 或者,
[0027] 加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预 处理接口字段执行对应的安全预处理;
[0028] 接收服务器针对所述安全预处理接口字段返回的加密信息;
[0029] 针对所述加密信息解密后执行所述加密信息。
[0030] 优选地,所述配置信息包括辅助行为配置,还包括:
[0031] 执行所述辅助行为配置指示的辅助行为。
[0032] 优选地,所述获取运行所述Hybrid组件所需要的页面资源的步骤包括:
[0033] 判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所需要的页面 资源;若是,则执行所述依据缓存处理规则字段针对所述页面资源进行对应的缓存处理的 步骤;
[0034] 和 / 或,
[0035] 判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组 件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件的缓存中;
[0036] 和 / 或,
[0037] 当在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行 Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面资源加载于所述网 络视图插件的缓存中;
[0038] 和 / 或,
[0039] 从网络下载所述运行Hybrid组件所需要的页面资源,以及,将所述页面资源加载 于所述网络视图插件的缓存中。
[0040] 优选地,所述缓存处理规则字段包括检查类型字段、检查资源类别字段和/或资 源版本号字段;
[0041] 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则 字段;
[0042] 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字 段;
[0043] 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
[0044] 本申请实施例还公开了一种Hybrid组件的运行系统,包括:
[0045] 请求生成模块,用于生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件 的配置地址,所述配置地址包括Hybrid组件标识及对应的请求参数;
[0046] 配置信息获得模块,用于根据所述Hybrid组件标识获得对应的组件配置信息;所 述组件配置信息包括为所述Hybrid组件标识设定的地址模板字段和缓存处理规则字段;
[0047] 访问地址生成模块,用于将所述请求参数配置至所述地址模板字段中,生成所述 Hybrid组件的访问地址;
[0048] 组件请求模块,用于从所述访问地址加载所述Hybrid组件;
[0049] 资源获取模块,用于获取运行所述Hybrid组件所需要的页面资源;
[0050] 缓存处理模块,用于采用所述缓存处理规则字段针对所述页面资源进行对应的缓 存处理。
[0051] 优选地,所述配置信息获得模块包括:
[0052] 本地查找子模块,用于采用所述Hybrid组件标识在本地查找对应的组件配置信 息;当查找到时,调用期限判断子模块;当未查找到时,调用联网获取子模块;
[0053] 期限判断子模块,用于判断所述组件配置信息是否过期;若是,则调用联网获取子 模块;若否,则调用本地提取子模块;
[0054] 本地提取子模块,用于从本地提取所述组件配置信息;
[0055] 联网获取子模块,用于从服务器获取对应的组件配置信息。
[0056] 优选地,所述配置信息包括安全预处理接口字段,还包括:
[0057] 第一加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;月艮 务器用于按照所述安全预处理接口字段执行对应的安全预处理;
[0058] 或者,
[0059] 第二加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;
[0060] 第一加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加 密信息;
[0061] 第一加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息;
[0062] 或者,
[0063] 第三加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;月艮 务器用于按照所述安全预处理接口字段执行对应的安全预处理;
[0064] 第二加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加 密信息;
[0065] 第二加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息。
[0066] 优选地,所述配置信息包括辅助行为配置,还包括:
[0067] 辅助行为执行模块,用于执行所述辅助行为配置指示的辅助行为。
[0068] 优选地,所述资源获取模块包括:
[0069] 缓存判断子模块,用于判断预置的网络视图插件的缓存中是否存在所述运行 Hybrid组件所需要的页面资源;若是,则调用缓存处理模块;
[0070]和 / 或,
[0071] 第一加载子模块,用于判断预置的网络视图插件归属的应用程序的内存里是否存 在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图 插件的缓存中;
[0072]和 / 或,
[0073] 第二加载子模块,用于在预置的网络视图插件归属的应用程序对应的磁盘文件中 查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述页面 资源加载于所述网络视图插件的缓存中;
[0074]和 / 或,
[0075] 第三加载子模块,用于从网络下载是否存在所述运行Hybrid组件所需要的页面 资源,以及,将所述页面资源加载于所述网络视图插件的缓存中。
[0076] 优选地,所述缓存处理规则字段包括检查类型字段、检查资源类别字段和/或资 源版本号字段;
[0077] 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则 字段;
[0078] 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字 段;
[0079] 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
[0080] 与【背景技术】相比,本申请实施例包括以下优点:
[0081] 本申请通过在组件配置信息中指定固定的访问地址,避免因请求地址发生变更而 客户端无法配合同时升级而导致功能错误的问题。
[0082] 本申请通过组件配置信息可以针对不同Hybrid组件指定特定的运行配置,使得 wap组件运行在客户端中所需要的动态数据可以根据不同的wap组件而动态切换,同时避 免了采用全局性的配置兼容所有组件信息,减少内存的占用,提高设备的运行性能,保证多 个Hybrid组件之间冲突性的数据有效的隔离,避免数据的冲突。
[0083] 本申请通过设置组件配置信息使得在客户端可以直接调用一些具有前置行为的 wap组件。
[0084] 本申请通过设置组件配置信息使得在客户端的Hybrid组件随之Hybrid组件的升 级而升级,以适应升级中新定义的行为。

【专利附图】

【附图说明】
[0085] 图1是本申请的一种Hybrid组件的运行方法实施例的步骤流程图;
[0086] 图2是本申请实施例的一种获取资源的优选示例的流程图;
[0087] 图3是本申请的一种Hybrid组件的运行系统实施例的结构框图。

【具体实施方式】
[0088] 为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和

【具体实施方式】对本申请实施例作进一步详细的说明。
[0089] Hybrid组件的呈现是以wap页面的方式提供的。每个wap页面可能是一个原子功 能,对于通过网络视图(webview)插件嵌入使用的客户端软件而言,称之为Hybrid组件。每 个wap页面在服务器对应的有一个访问地址,但是这个地址是变化的,无具体的地址定义 规范可以去遵循的。比如对于wap商品详情页面,其访问路径可能是:http://a. m. taobao. com/i 123456789. htm。又比如,而对于wap店铺信息页面,其访问路径可能是:http:// shopl23456789. m. taobao. com。而对于wap订单详情页面,其访问路径可能是:http:// m. taobao. com/orderDetail. htm?orderId=123456789。这些访问地址,是开发技术人员在 编写代码过程中自定义的。现有方式中,如果客户端采用Hybrid的模式嵌套这些wap页面, 将难以通过一个规范方式去引用这些wap页面,wap页面的路径只能通过硬编码的方式写 入到客户端。而且由于这些路径定义的随意性和随时修改性,可能会导致客户端软件的不 可用。
[0090] 本申请实施例的核心构思之一在于,提供一种标准化的Hybrid组件运行方案,以 统一格式的协议方式进行引用,以解决Hybrid客户端嵌套的wap页面地址没有明确标准或 规范所产生的问题。
[0091] Hybrid组件是基于客户端开发平台的标准组件之一,是基于网络视图(webview) 插件来运行的。承载Hybrid组件功能的主体可以是一个运行在服务端的Wap页面,也可能 是一个WebApp。Hybrid组件在客户端开发平台这一层被封装进Wap页面或者WebApp,以标 准化、协议化的方式允许客户端访问并在客户端中塑造独立的运行环境服务和数据服务。 而Wap页面或WebApp其自身,在浏览器中也是可以独立运行的。
[0092] 参照图1,示出了本申请的一种Hybrid组件的运行方法实施例的步骤流程图,本 申请实施例可以包括如下步骤。
[0093] 步骤101,生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地 址,所述配置地址包括Hybrid组件标识及对应的请求参数。
[0094] 所述请求为协议化的请求,按照预定的Hybrid组件协议生成。所述Hybrid组件 协议为每一个Hybrid组件定义唯一的配置地址。按照所述Hybrid组件协议,所述配置地 址可以采用如下格式表示:waplugin://$ {h} ?pl=$ {pi参数值}。其中,h表示Hybrid组件 标识。pi为请求参数的参数名,具有对应的参数值。混合Hybrid组件标识可以是Hybrid 组件的组件名称,也可以是其他,本申请实施例对此不加以限制。
[0095] 当所述配置地址中包括多个请求参数时,所述配置地址可以采用如下格式表示: waplugin://${h}?pl=${pl 参数值}&p2=${p2 参数值 Ρ··&ρη=${ρη 参数值}。其中,pi、 p2及pn分别为不同请求参数的参数名,η为大于或等于2的自然数。客户端要使用哪一 个Hybrid组件是根据具体的需求场景来选择的。根据需求场景确定Hybrid组件后,在 Hybrid组件协议中可以确定具体的Hybrid组件的配置地址。比如其希望使用商品的详情 组件,那么根据Hybrid组件协议可以得知,该商品的详情组件的配置地址为 :Waplugin:// detail?id=$ {id},得知 Hybrid 组件标识为 "detail",请求参数是"detail" 的 ID。
[0096] 不同的Hybrid组件,有不同要求的请求参数及参数值,是根据Hybrid组件背后的 业务需求来确定的。比如对于商品详情业务,请求参数是商品ID ;对于店铺详情业务,请求 参数是店铺号ID ;对于购物车业务,请求参数是购物车ID ;对于用户主页业务,请求参数是 用户ID。
[0097] 在具体实现中,可以在Hybrid组件协议中预先定义Hybrid组件所对应的请求参 数和参数值。Hybrid组件标识、请求参数和/或请求参数的参数值可以以占位符的形式标 示。比如对于线上商品详情业务组件,其配置地址可以为:waplugin://detail?product_ id=${product_id}。其中${product_id}为占位符,用于输出"product_id"这个请求参数 对应的参数值。例如,对于线上店铺业务组件,其配置地址可以为:waplugin://shop?shop_ id=$ {shopld}。对于某个具体的店铺,其配置地址可以是waplugin://shop?shop_ id=123456789。
[0098] 当然,上述配置地址的应用方式只是作为示例,在实施本申请实施例时,可以根据 实际情况设置其它配置地址的应用方式,本发明实施例对此不加以限制。
[0099] 步骤102,根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信 息包括为所述Hybrid组件标识设定的地址模板字段和缓存处理规则字段;
[0100] 对于不同的Hybrid组件,都可以有不同的运行配置需求。当客户端的协议解析层 接收到获取Hybrid组件的请求后,则可以查找其对应的组件配置信息。
[0101] 其中,所述地址模板字段提供Hybrid组件的访问地址的生成模板。
[0102] 在本申请的一种优选实施例中,所述步骤102具体可以包括如下子步骤:
[0103] 子步骤S11,采用所述Hybrid组件标识在本地查找对应的组件配置信息;当查找 到时,执行子步骤S12 ;当未查找到时,执行子步骤S14 ;
[0104] 子步骤S12,判断所述组件配置信息是否过期;若是,则执行子步骤S14 ;若否,则 执行子步骤S13 ;
[0105] 子步骤S13,从本地提取所述组件配置信息;
[0106] 子步骤S14,从服务器获取对应的组件配置信息。
[0107] 客户端的协议解析层在收到获取Hybrid组件的请求时,解析所述请求,可以得到 Hybrid组件标识及对应的请求参数。根据Hybrid组件标识在本地查找组件配置信息。如 果在本地查找到可用的组件配置信息,则使用本地的组件配置信息。如果未在本地找到组 件配置信息或组件配置信息不可用(比如本地配置信息的时间戳过期)时,则客户端调用服 务端预定的接口,从服务器获取对应的组件配置信息。
[0108] 步骤103,将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的 访问地址;
[0109] 地址模板字段,可以制定Hybrid组件所对应的wap页面的真实访问地址,以占位 符的形式指定请求参数的配置位置。例如,某一 Hybrid组件标识对应的组件配置信息包括 的地址模板字段的示例表示如下:http://m. taobao. com/i${id}.htm。其中,${id}代表占 位符,用于从配置地址中取出对应的请求参数(id)的参数值,取出的请求参数(id)的参数 值将替换所述占位符而生成所述Hybrid组件的访问地址。
[0110] 步骤104,从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所 需要的页面资源;
[0111] Hybrid组件可以以webview为载体,封装进客户端的APP中,该Hybrid组件的具 体功能可以通过wap页面的方式来展示,即Hybrid组件可以为使用Html代码的前端技术 开发的。因此,所述页面资源包括Html页面中的Javascript、css、图片和/或字体文件等 资源。Javascript、css、图片和/或字体文件等页面资源用于页面的渲染。为了辅助运行 Hybrid组件,在加载Hybrid组件时,缓存所述页面资源。
[0112] 需要说明的是,Hybrid组件运行所需要的页面资源可以在组件的配置信息中进行 定义。在实际应用中可以在配置信息中设定一个字段说明该Hybrid组件运行所需要的资 源列表。
[0113] 加载Hybrid组件的时候,已经在开始运行Hybrid组件了,而开始运行Hybrid组 件的过程中,需要先加载运行Hybrid组件所需要的页面资源,此时进行对应的缓存处理。
[0114] 在本申请的一种优选实施例中,步骤104具体可以包括如下子步骤:
[0115] 子步骤S21,判断预置的网络视图(webview)插件的缓存中是否存在所述运行 Hybrid组件所需要的页面资源;若是,则执行步骤105 ;
[0116] 和 / 或,
[0117] 子步骤S22,判断预置的网络视图(webview)插件归属的应用程序的内存里是否 存在所述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视 图webview插件的缓存中;
[0118] 和 / 或,
[0119] 子步骤S23,当在预置的网络视图(webview)插件归属的应用程序对应的磁盘文 件中查找到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,以及,将所述 页面资源加载于所述网络视图(webview)插件的缓存中;
[0120]和 / 或,
[0121] 子步骤S24,从网络下载所述运行混合Hybrid组件所需要的页面资源,以及,将所 述页面资源加载于所述网络视图(webview)插件的缓存中。
[0122] 当拦截到资源的请求时,可以默认使用网络视图(webview)插件的缓存。
[0123] 当然,上述加载运行所述混合Hybrid组件所需要的页面资源的方式,可以单个使 用,也可以组合使用。
[0124] 参照图2,示出了本申请实施例的一种获取资源的优选示例的流程图。如 图2所示,当页面资源已经存在于网络视图(webview)插件的缓存(Browser Memory Caches)中时,可以直接使用该缓存执行对应的缓存处理;当网络视图中没有该缓存 时,可以从网络视图插件归属的APP (应用程序)的运行内存中查找(Caches Rule Conf iguration (File I Net)),为了提升查找速度,可以采用字典算法(Dictionary algorithm),字典算法(Rule Checker)是:将缓存处理规则字段所指示的所有规则都放 入一个哈希表中,采用直接匹配哈希值的方式,来快速判断该资源是不是在缓存处理规则 字段中,如果该资源在缓存处理规则字段中,即表示该缓存是需要进行缓存处理的。若是, 则从该APP的运行内存中读取,如果从内存中读取不到,则从该APP的磁盘文件中寻找 (WindVane MemoryCaches(LRU)),其文件名的格式是"MD5 (消息摘要算法第五版)(资源地 址)_版本号"(File=MD5(requestUrl)_version)。当在磁盘文件还查找不到的时候,可以 从网络下载,通过网络下载时可以通过Network Switcher (网络切换)判断网络类型,如果 是wifi (无线)网络则可以采用同步的方式下载,如果是2G网络则可以采用异步方式下载 (Network(syn|asyn))。最后将获取到的资源加载于webview的缓存中,进行对应的缓存处 理。
[0125] 步骤105,采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
[0126] 缓存处理规则字段,用于资源缓存的配置,可以是一个JSON(JavaScript Object Notation数据交换格式)对象,以列表的形式提供Hybrid组件对应的多条缓存规则。
[0127] 在本申请的一种优选实施例中,缓存处理规则字段可以包括检查类型字段、检查 资源类别字段和/或资源版本号字段。
[0128] 所述检查类型字段可以为标注当前缓存规则是否是正则表达式规则的缓存处理 规则字段;实际应用中,检查类型字段可以用于标注当前缓存规则是否是正则表达式规则, 如果该字段是"〇",代表当前缓存规则是正则表达式规则;如果该字段是非"〇",比如"1", 代表当前缓存规则是普通的名称字符串匹配规则。
[0129] 所述检查资源类别字段可以为标注当前的缓存规则所针对的资源的缓存处理规 则字段;实际应用中,检查资源类别字段可以用于标注当前的缓存规则是面向哪一种资源 的,是javascript还是CSS还是图片等,格式是任意指定的,只要对应的客户端协议解析层 中允许接受该值即可。
[0130] 所述资源版本号字段可以为标识当前资源的最新版本号的缓存处理规则字段;实 际应用中,资源版本号字段可以适用于当规则是非正则表达式的情形,当规则是具体的某 个资源的访问路径的时候,该资源版本号字段字段标识了当前资源的最新版本号。当规则 是正则表达式的时候。在本发明的一种优选实施例中,所述配置信息可以包括安全预处理 接口字段,在步骤104之前,本申请实施例还可以包括如下步骤:
[0131] 步骤S1,加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所 述安全预处理接口字段执行对应的安全预处理;
[0132] 或者,
[0133] 步骤S2,加密访问所述安全预处理接口字段指示的访问地址;
[0134] 步骤S3,接收服务器针对所述安全预处理接口字段返回的加密信息;
[0135] 步骤S4,针对所述加密信息解密后执行所述加密信息;
[0136] 或者,
[0137] 步骤S1,加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所 述安全预处理接口字段执行对应的安全预处理;
[0138] 步骤S3,接收服务器针对所述安全预处理接口字段返回的加密信息;
[0139] 步骤S4,针对所述加密信息解密后执行所述加密信息。
[0140] 安全预处理接口字段可以用于指定了一个用于处理安全操作的访问地址,具体可 以是URL地址。该安全预处理接口字段服务于不能直接使用生成的访问地址加载Hybrid组 件,而需要预先执行一段逻辑处理的Hybrid组件。例如,http://m. taobao. com/safe, htm。
[0141] 在其中一种情形,可以是服务器单向加密。客户端使用普通的Http或Https请求 发送到服务器,当服务器接收到请求后,可以从cookie或对应的请求参数中,获取到需要 的信息,然后进行安全逻辑处理。
[0142] 在其中一种情形,可以是客户端单向加密。客户端发送Http或者Https请求发送 到服务器,服务器处理该请求的URL (安全预处理接口字段指示的访问地址)后返回一段加 密的脚本,客户端在接收并解密脚本后,执行该脚本。
[0143] 在其中一种情形,可以是客户端和服务器双向加密。客户端发送Http或者Https 请求发送到服务器,当服务器接收到请求后,可以从cookie或对应的请求参数中,获取到 需要的信息,然后进行安全逻辑处理,以及处理该请求的URL (安全预处理接口字段指示的 访问地址)后返回一段加密的脚本,客户端在接收并解密脚本后,执行该脚本。
[0144] 例如,Hybrid组件为下单交易插件,在进行访问真实的下单URL请求之前,为了安 全考虑需要进行安全处理,其逻辑为:服务器对该用户的身份进行校验,同时,校验通过后 向其身份session中插入一个防篡改字段。
[0145] 在本发明的一种优选实施例中,所述配置信息可以包括辅助行为配置,本申请实 施例还可以包括如下步骤:
[0146] 步骤S5,执行所述辅助行为配置指示的辅助行为。
[0147] 辅助行为配置可以用于维护Hybrid组件的运行时环境数据,为了让Hybrid组件 所对应的wap页面更好的在客户端中运行。本申请实施例提供了一个Hybrid组件的运行 环境,其需要对应的运行配置数据,以提供给辅助功能。
[0148] 例如,Hybrid组件的缓存规则数据,在Hybrid组件所对应的wap页面的运行过程 中,解析配置信息,转化为运行过程的机器数据。其中包括Hybrid组件依赖的资源的缓存 配置信息,来为Hybrid组件提供定制化的缓存功能。
[0149] 又例如,辅助行为配置可以执行客户端本地Native功能接口的权限;
[0150] 又例如,Hybrid组件为详情组件时,辅助行为配置允许执行访问微信客户端、访问 通讯录、发短信等本地功能。
[0151] 又例如,Hybrid组件为退款组件时,辅助行为配置允许执行调用摄像头、发短信等 本地功能。
[0152] 辅助行为配置指示的配置可以由本领域技术人员根据实际情况设置,本申请实施 例对此不加以限制。
[0153] 当然,上述配置信息只是作为示例,在实施本申请实施例时,可以根据实际情况设 置其它配置信息,本发明实施例对此不加以限制。
[0154] 例如,请求类型字段,该请求类型字段可以用于指定当前的请求是POST还是GET 方式去发送Http i青求。
[0155] 又例如,防篡改字段,该防篡改字段可以用于校验数据配置信息的完整性和合法 性,防止组件配置信息被篡改。当客户端接收到获取Hybrid组件的请求后,进行组件配置 信息的校验,判断是否被中间网络篡改。作为一个优选示例,防篡改字段的校验算法可以 是通(15(${^+${?幻+${?丨(1} +加密因子),其中3为地址模板字段,?1^为安全预处理接口 字段,ttid为一种数据埋点字段,加密因子可以为任意字符串。
[0156] 本申请通过在组件配置信息中指定固定的访问地址,避免因请求地址发生变更而 客户端无法配合同时升级而导致功能错误的问题。
[0157] 本申请通过组件配置信息可以针对不同Hybrid组件指定特定的运行配置,使得 wap组件运行在客户端中所需要的动态数据可以根据不同的wap组件而动态切换,同时避 免了采用全局性的配置兼容所有组件信息,减少内存的占用,提高设备的运行性能,保证多 个Hybrid组件之间冲突性的数据有效的隔离,避免数据的冲突。
[0158] 本申请通过设置组件配置信息使得在客户端可以直接调用一些具有前置行为的 wap组件。
[0159] 本申请通过设置组件配置信息使得在客户端的Hybrid组件随之Hybrid组件的升 级而升级,以适应升级中新定义的行为。
[0160] 为使本领域技术人员更好地理解本申请,以下提供一个例子来说明本申请中 Hybrid组件的具体运行过程。
[0161] 假设客户端需要访问商品ID为"1234"的商品信息,根据上述访问需求生成 对应的Hybrid组件的获取请求。其中所述请求中包含的Hybrid组件的配置地址为: Waplugin://detail?id=1234。客户端的协议解析层接收到该请求时,解析出配置地址中的 Hybrid组件标识及请求参数,读取Hybrid组件标识对应的组件配置信息。组件配置信息可 以来源于服务端的运维系统提供的数据接口,也可以来源于客户端存储的带有时间戳的本 地文件。
[0162] 上述组件配置信息的一个示例可以由如下形式表示:
[0163] t (地址模板字段):"http://a. m. taobao. com/i$ {id} · htm",
[0164] rt (请求类型字段):〃GET〃,
[0165] pk (安全预处理接 口字段):"http://a. m. taobao. com/precheck· htm",
[0166] tk (防篡改字段):〃9790f639bb5ble5ba92562bl48bbfb2(T,
[0167]

【权利要求】
1. 一种Hybrid组件的运行方法,其特征在于,包括: 生成获取Hybrid组件的请求;所述请求包括所述Hybrid组件的配置地址,所述配置地 址包括Hybrid组件标识及对应的请求参数; 根据所述Hybrid组件标识获得对应的组件配置信息;所述组件配置信息包括为所述 Hybrid组件标识设定的地址模板字段和缓存处理规则字段; 将所述请求参数配置至所述地址模板字段中,生成所述Hybrid组件的访问地址; 从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面资 源;W及, 采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处理。
2. 根据权利要求1所述的方法,其特征在于,所述根据所述Hybrid组件标识获得对应 的组件配置信息的步骤包括: 采用所述Hybrid组件标识在本地查找对应的组件配置信息; 当查找到时,判断所述组件配置信息是否过期;若是,则从服务器获取组件配置信息; 若否,则从本地提取所述组件配置信息; 当未查找到时,从服务器获取对应的组件配置信息。
3. 根据权利要求1所述的方法,其特征在于,所述配置信息包括安全预处理接口字段, 在所述从所述访问地址加载所述Hybrid组件,并获取运行所述Hybrid组件所需要的页面 资源的步骤之前,还包括: 加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理 接口字段执行对应的安全预处理; 或者, 加密访问所述安全预处理接口字段指示的访问地址; 接收服务器针对所述安全预处理接口字段返回的加密信息; 针对所述加密信息解密后执行所述加密信息; 或者, 加密访问所述安全预处理接口字段指示的访问地址;服务器用于按照所述安全预处理 接口字段执行对应的安全预处理; 接收服务器针对所述安全预处理接口字段返回的加密信息; 针对所述加密信息解密后执行所述加密信息。
4. 根据权利要求1所述的方法,其特征在于,所述配置信息包括辅助行为配置,还包 括: 执行所述辅助行为配置指示的辅助行为。
5. 根据权利要求1所述的方法,其特征在于,所述获取运行所述Hybrid组件所需要的 页面资源的步骤包括: 判断预置的网络视图插件的缓存中是否存在所述运行Hybrid组件所需要的页面资 源;若是,则执行所述依据缓存处理规则字段针对所述页面资源进行对应的缓存处理的步 骤; 和/或, 判断预置的网络视图插件归属的应用程序的内存里是否存在所述运行Hybrid组件所 需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件的缓存中; 和/或, 当在预置的网络视图插件归属的应用程序对应的磁盘文件中查找到所述运行Hybrid 组件所需要的页面资源时,读取所述页面资源,W及,将所述页面资源加载于所述网络视图 插件的缓存中; 和/或, 从网络下载所述运行Hybrid组件所需要的页面资源,W及,将所述页面资源加载于所 述网络视图插件的缓存中。
6. 根据权利要求1所述的方法,其特征在于,所述缓存处理规则字段包括检查类型字 段、检查资源类别字段和/或资源版本号字段; 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字 段; 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段; 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
7. -种Hybrid组件的运行系统,其特征在于,包括: 请求生成模块,用于生成获取Hybr i d组件的请求;所述请求包括所述Hybr i d组件的配 置地址,所述配置地址包括Hybrid组件标识及对应的请求参数; 配置信息获得模块,用于根据所述Hybrid组件标识获得对应的组件配置信息;所述组 件配置信息包括为所述Hybrid组件标识设定的地址模板字段和缓存处理规则字段; 访问地址生成模块,用于将所述请求参数配置至所述地址模板字段中,生成所述 Hybrid组件的访问地址; 组件请求模块,用于从所述访问地址加载所述Hybrid组件; 资源获取模块,用于获取运行所述Hybrid组件所需要的页面资源; 缓存处理模块,用于采用所述缓存处理规则字段针对所述页面资源进行对应的缓存处 理。
8. 根据权利要求7所述的系统,其特征在于,所述配置信息获得模块包括: 本地查找子模块,用于采用所述Hybrid组件标识在本地查找对应的组件配置信息;当 查找到时,调用期限判断子模块;当未查找到时,调用联网获取子模块; 期限判断子模块,用于判断所述组件配置信息是否过期;若是,则调用联网获取子模 块;若否,则调用本地提取子模块; 本地提取子模块,用于从本地提取所述组件配置信息; 联网获取子模块,用于从服务器获取对应的组件配置信息。
9. 根据权利要求7所述的系统,其特征在于,所述配置信息包括安全预处理接口字段, 还包括: 第一加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器 用于按照所述安全预处理接口字段执行对应的安全预处理; 或者, 第二加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址; 第一加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信 息; 第一加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息; 或者, 第H加密访问模块,用于加密访问所述安全预处理接口字段指示的访问地址;服务器 用于按照所述安全预处理接口字段执行对应的安全预处理; 第二加密信息接收模块,用于接收服务器针对所述安全预处理接口字段返回的加密信 息; 第二加密信息执行模块,用于针对所述加密信息解密后执行所述加密信息。
10. 根据权利要求7所述的系统,其特征在于,所述配置信息包括辅助行为配置,还包 括: 辅助行为执行模块,用于执行所述辅助行为配置指示的辅助行为。
11. 根据权利要求7所述的系统,其特征在于,所述资源获取模块包括: 缓存判断子模块,用于判断预置的网络视图插件的缓存中是否存在所述运行Hybrid 组件所需要的页面资源;若是,则调用缓存处理模块; 和/或, 第一加载子模块,用于判断预置的网络视图插件归属的应用程序的内存里是否存在所 述运行Hybrid组件所需要的页面资源;若是,则将所述页面资源加载于所述网络视图插件 的缓存中; 和/或, 第二加载子模块,用于在预置的网络视图插件归属的应用程序对应的磁盘文件中查找 到所述运行Hybrid组件所需要的页面资源时,读取所述页面资源,W及,将所述页面资源 加载于所述网络视图插件的缓存中; 和/或, 第H加载子模块,用于从网络下载是否存在所述运行Hybrid组件所需要的页面资源, W及,将所述页面资源加载于所述网络视图插件的缓存中。
12. 根据权利要求7所述的系统,其特征在于,所述缓存处理规则字段包括检查类型字 段、检查资源类别字段和/或资源版本号字段; 所述检查类型字段为标注当前缓存规则是否是正则表达式规则的缓存处理规则字 段; 所述检查资源类别字段为标注当前的缓存规则所针对的资源的缓存处理规则字段; 所述资源版本号字段为标识当前资源的最新版本号的缓存处理规则字段。
【文档编号】G06F17/30GK104461491SQ201310439613
【公开日】2015年3月25日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】曲子深 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1