发明内容
本说明书实施例目的在于提供一种跨容器离线包的数据处理方法、支付方法、装置及客户端,可以降低开发和维护成本,保障和提高资源访问速度,提高业务处理速度和可靠性。
本说明书实施例提供的一种跨容器离线包的数据处理方法、支付方法、装置及客户端是包括以下方式实现的:
一种跨容器离线包的数据处理方法,所述方法包括:
第二应用存储有离线包,所述离线包为预先设置或服务器推送至第二应用;
在第一应用中触发访问第二应用页面的请求时,查找第一应用的本地离线资源中是否存储有所述第二应用对应的离线资源,其中,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第二应用基于所述离线包请求匹配对应的离线包,并返回给所述第一应用;
所述第一应用解压第二应用返回的离线包,获取离线资源,在所述离线资源验证通过后,基于所述离线资源响应所述页面的请求。
一种跨容器离线包的数据处理方法,所述方法包括:
在第一应用中触发访问第二应用页面的请求时,查找本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过后,基于所述离线资源响应所述页面的请求。
一种跨容器离线包的数据处理方法,所述方法包括:
查找第一应用的本地离线资源中是否存储有第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过时,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
一种支付处理方法,包括:
购物应用发起访问支付应用的页面请求时,查找购物应用的本地离线资源中是否存储有所述支付应用对应的离线资源,购物使用的离线包与支付应用的离线包基于不同的容器实现;
若查找结果为否,则向所述支付应用发送相应的离线包请求;
所述购物应用接收并解压支付应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过后,基于所述离线资源和获取的动态数据对所述页面进行渲染,形成支付页面;
基于所述支付页面执行支付处理。
一种跨容器离线包的数据处理装置,所述装置包括:
资源查找模块,用于在第一应用中触发访问第二应用页面的请求时,查找本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
离线包请求模块,用于资源查找模块的查找结果为否时,向所述第二应用发送相应的离线包请求;
解压验证模块,用于接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
页面响应模块,用于在所述离线资源验证通过时,在第一应用中基于所述离线资源响应所述页面的请求。
一种跨容器离线包的数据处理装置,所述装置包括:
资源查找单元,用于查找第一应用的本地离线资源中是否存储有第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
离线包请求单元,用于在资源查找单元的查找结果为否时,向所述第二应用发送相应的离线包请求;
解压验证单元,接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
本地存储单元,用于在所述验证通过时,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
一种支付处理装置,所述装置包括:
查找模块,用于在装置的购物应用中发起访问支付应用的页面请求时,查找购物应用的本地离线资源中是否存储有所述支付应用对应的离线资源,购物使用的离线包与支付应用的离线包基于不同的容器实现;
请求模块,用于在未查找到所述对应的离线资源,向所述支付应用发送相应的离线包请求;
离线包处理模块,用于所述购物应用接收并解压支付应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
页面渲染模块,用于在所述离线资源验证通过后,基于所述离线资源和获取的动态数据对所述页面进行渲染,形成支付页面;
支付处理模块,用于基于所述支付页面执行支付处理。
一种客户端,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
在第一应用中触发访问第二应用页面的请求时,查找本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过后,基于所述离线资源响应所述页面的请求。
一种客户端,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
查找第一应用的本地离线资源中是否存储有第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过时,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
一种支付终端,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
在支付终端的购物应用中发起访问支付应用的页面请求时,查找购物应用的本地离线资源中是否存储有所述支付应用对应的离线资源,购物使用的离线包与支付应用的离线包基于不同的容器实现;
若查找结果为否,则向所述支付应用发送相应的离线包请求;
所述购物应用接收并解压支付应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过后,基于所述离线资源和获取的动态数据对所述页面进行渲染,形成支付页面;
基于所述支付页面执行支付处理。
本说明书实施例提供的一种跨容器离线包的数据处理方法、支付方法、装置及客户端,可以通过共享离线包的方式,将已经存储的第二应用的离线包共享给第一应用使用,这样可以达到业务嵌入到不同平台时可以只需要开发一个离线包,在保障用户快速访问的情况下降低研发、运维成本。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书中的一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例保护的范围。
APP中的很多展示信息和交互是通过页面方式实现的。页面中包含各种资源,业内一般将页面内容拆分成静态资源、动态数据(动态资源)两部分,其中可以将静态资源打成包,通过预置或推送方式到客户端。本说明书的一些实施例中所述的离线包通常是指将包括HTML、Javascript、CSS等页面内静态资源打包到一个压缩包内,可以预先下载该离线包到本地,然后通过客户端打开,可以直接从客户端本地加载离线包,从而最大程度地摆脱网络环境对H5页面的影响。由于离线包是预置的客户端的,因此访问速度上明显比实时从服务器加载资源的方式更快。
对于离线资源的获取和更新,通常采用的是将整个离线包zip打包压缩,每次H5应用启动后,会去请求一个配置文件,配置文件包含当前离线资源包的版本号字段,将请求到的版本号跟上次保存(第一次不存在)在本地的版本号比较,如果发生了改变,说明离线资源文件包更新,下载解压并且替换掉旧的离线包。
离线包的可以通过多种容器平台实现(一般的,一类容器对应一个平台)如H5容器、docker容器、windvane容器等。而对于跨平台,通过不同容器形成的离线包隔离导致一些业务嵌套或关联的应用需要长期开发和维护不同的离线包,不仅研发维护成本高,而且不同平台对应的管理流程上通常也是不同的,容易出错,风险较高。
本说明书提供的一些实施例中,可以通过共享离线包的方式,将已经存储的第二应用的离线包共享给第一应用使用,这样可以达到业务嵌入到不同平台时只需要开发一个离线包,在保障用户快速访问的情况下降低研发、运维成本。
本说明书提供的一种实施方案可以应用到客户端中(可以包括基于android、iOS等的移动终端)。所述的客户端可以包括智能手机、平板电脑、智能穿戴设备、车载设、人工智能设备等。所述的客户端可以具有通信模块,可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式系统的服务器结构。
下面以一个具体的应用场景为例对本说明书实施方案进行说明。在本实施例场景中,用户客户端中安装了购物APP和支付APP,其中支付APP因行政区域限制导致中国内地版本与中国香港版本不同。通常情况下,中国内地用户使用中国内地版本的购物APP时可以直接访问使用中国内地版本的支付APP以及相应的离线包数据来完成支付。在本实施例场景中,可以为用户C使用中国内地版本购物APP(第一应用)进行支付时需要访问中国香港版本的支付APP(第二应用)时的离线包数据处理。
具体的,图1是本说明书提供的所述一种跨容器离线包的数据处理方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
当然,下述实施例的描述并不对基于本说明书的其他可扩展到的技术方案构成限制。所述的第一应用、第二应用中的“第一”、“第二”是单次方案执行中业务交互的相对方,并不限定特指的某一应用。具体的一种实施例如图1所示,本说明书提供的一种页面访问的数据处理方法的一种实施例中,所述方法可以包括:
S0:第二应用存储有离线包,所述离线包为预先设置或服务器推送至第二应用。
本实施例应用场景中,中国香港支付APP可以预置离线包,或者在所述离线包变更时由支付服务器或生成离线包的服务器等主动推送到支付APP中。具体的,预置离线包可以存储在支付APP对应的客户端的存储单元中,并于支付APP相关联,由支付APP访问或设定有权限等,如仅能由支付APP访问或授权的APP访问。
S2:在第一应用中触发访问第二应用页面的请求时,查找第一应用的本地离线资源中是否存储有所述第二应用对应的离线资源,其中,第一应用使用的离线包与第二应用的离线包基于不同的容器实现。
第一应用可以本地存储有离线资源,第一应用也可以预置或接收更新的离线包,以供第一应用加载/调用。用户C在购物APP中支付需要访问支付APP相关页面时,可以根据请求的URL(统一资源定位符)查找购物APP的本地离线资源中是否有相应的支付APP相关页面所需的离线资源。如前所述,本实施例中所述的第一应用的离线包与第二应用的离线包可以是基于不同的容器实现。具体的,例如第一应用的离线包可以是基于windvane容器来实现的,第二应用的离线包是基于nebula容器实现的离线包能力。
S4:若查找结果为否,则向所述第二应用发送相应的离线包请求。
如果第一应用的本地离线资源中没有所需的对应于第二应用访问页面的离线资源,则此时可以向所述第二应用发送离线包请求,请求获取所述第二应用的离线包。
当然,另一个实施例中,若查找到第二应用对应的离线包,或者第二应用离线包的离线资源,则可以直接加载使用,进行页面渲染处理。
S6:所述第二应用基于所述离线包请求匹配对应的离线包,并返回给所述第一应用。
支付APP根据离线包请求包含的数据信息在第二应用中查询对应的离线包,并将查找匹配到的离线包返回个购物APP。本实施例中所述匹配对应的离线包具体的实施过程中,可以根据离线包版本号码或者访问的页面的数据信息来确定所需的离线包。
S8:所述第一应用解压第二应用返回的离线包,获取离线资源,在所述离线资源验证通过后,基于所述离线资源响应所述页面的请求。
购物APP接收第一应用返回的离线包,可以解压离线包,获取包括页面静态资源的离线资源。获取离线资源后,可以对离线资源进行验证,具体的验证可以包括验证完整性(是否损坏)、有效性(是否过期)等。验证通过后的离线资源可以作为购物APP的离线资源进行使用。
在本实施例实施场景中,购物APP(第一应用)在离线包的资源数据验证通过后,可以基于离线资源响应访问支付APP(第二应用)的页面的请求。具体的响应处理过程可以根据实际应用场景进行处理,例如获取离线资源后再向服务器请求所述页面使用到的动态数据,然后结合第一应用的本地离线资源、解压第二应用获取的离线资源对页面进行渲染,生成第一应用中的展示页面。
需要说明的是,虽然上述以及下述说明书部分描述了第一应用或第二应用的处理,在一些实施例中,第一应用和第二应用的处理可以由同一终端设备来实现,如用户的第一应用与第二应用安装在同一个移动终端上,则可以由同一个移动终端的处理器来实现处理过程。
本说明书实施例提供的一种跨容器离线包的数据处理方法,可以通过共享离线包的方式,将已经存储的第二应用的离线包共享给第一应用使用,这样可以达到业务嵌入到不同平台时可以只需要开发一个离线包,在保障用户快速访问的情况下降低研发、运维成本。
上述实施例描述了多侧交互,第一应用请求离线包、第二应用查找匹配并返回、第一应用解压获取第一应用的离线包,在验证通过后可以直接使用离线包数据进行页面响应的实施方式。基于上述多侧交互的描述,本说明书提供所述方法的基于所述第一应用一侧的另一个方法实施例。具体的,另一个实施例中,如图2所示,所述方法可以包括:
S20:在第一应用中触发访问第二应用页面的请求时,查找本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
S22:若查找结果为否,则向所述第二应用发送相应的离线包请求;
S24:所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
S26:在所述离线资源验证通过后,基于所述离线资源响应所述页面的请求。
这样,第一应用可以下载第二应用共享的离线包,第二应用将已经存储的第二应用的离线包共享给第一应用使用,可以达到业务嵌入到不同平台时可以只需要开发一个离线包,在保障用户快速访问的情况下降低研发、运维成本。
本说明书提供的另一个实施例中,第一应用获取第二应用离线包的离线资源后,或验证通过后,可以将离线资源存储至第一应用的本地离线资源中,作为第一应用的本地离线资源。这样,第一应用在相应页面的请求时可以直接从本地离线资源读取/加载数据,并且后续相关联的页面响应也可以在第一应用的本地离线资源中进行加载使用。因此,如图3所示,图3是本说明书实施例提供的所述方法的另一个实施例中,所述方法还可以包括:
S260:将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
相应的,所述基于所述离线资源响应所述页面的请求包括基于更新后的第一应用的本地离线资源响应所述页面的请求。
如前所述,页面的响应处理中还可以请求页面的动态数据,结合使用了第二应用共享离线包的第一应用的本地离线数据对页面进行渲染。具体的处理过程可以如另一个实施例所述,所述基于所述离线资源响应所述页面的请求包括:
S262:获取基于向服务器的请求返回的所述页面的动态数据;
S264:基于更新后的第一应用本地离线资源和所述动态数据对所述页面进行渲染。
上述实施例可以更加快速的完成页面渲染,及时、可靠的响应访问第二应用的页面请求,提高访问速度和用户感知。
上述实施例描述了基于在第一应用中访问第二应用的页面触发离线包下载至第一应用的本地离线资源中。本说明书提供的另一个实施例中,第一应用可以主动获取第二应用离线包的离线资源后,在验证通过后,可以将离线资源存储至第一应用的本地离线资源中,作为第一应用的本地离线资源。这样,用户使用第一应用访问第二应用的页面时可以直接从本地离线资源中加载所需的静态数据,可以更加快速的完成页面响应。因此,如图4所示,本说明书提供的所述方法的另一个实施例中,所述方法可以包括:
S30:查找第一应用的本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
S32:若查找结果为否,则向所述第二应用发送相应的离线包请求;
S34:所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
S36:在所述离线资源验证通过时,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
当然,其他的实施例助攻,解压获取离线资源后,还可以对离线资源进行验证,在验证通过后再存储至第一应用的本地离线资源中。
另一个实施例中,第二应用也可以在离线包更新时主动将更新的离线包推送给第一应用,第一应用可以及时的在本地离线资源中更新第二应用的离线包的相关离线资源。这样第一应用访问第二应用的相关页面时可以直接使用本地离线资源的相关数据进行处理,无需即时的下载、解压、验证离线包等,可以进一步提高访问速度。因此,所述方法的另一个实施例中,所述方法还可以包括:
S360:接收所述第二应用发送的更新离线包;
相应的,将解压所述更新离线包后获取的离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
本说明书实施例提供一种跨容器离线包的数据处理方法,开发人员可以仅维护一个第二应用的离线包,并将其共享给第一应用,可以有效降低开发和维护成本,保障和提高资源访问速度,提高业务处理速度和可靠性。
上述实施例所述的实施方案可以应用于支付场景中,例如上述实施例所述的用户使用购物APP进行支付时,需要访问支付APP,若支付APP由于开发平台、渠道的隔离,在现有技术需要维护两个离线包的情况下,利用本实施例的方案可以实现开发维护一个支付APP的离线包,仍然实现正常的支付处理。因此,如图5所示,本说明书提供的一个具体应用场景实施例中的方法中,可以包括:
S40:购物应用发起访问支付应用的页面请求时,查找购物应用的本地离线资源中是否存储有所述支付应用对应的离线资源,购物使用的离线包与支付应用的离线包基于不同的容器实现;
S42:若查找结果为否,则向所述支付应用发送相应的离线包请求;
S44:所述购物应用接收并解压支付应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
S46:在所述离线资源验证通过后,基于所述离线资源和获取的动态数据对所述页面进行渲染,形成支付页面;
S48:基于所述支付页面执行支付处理。
图6是本说明书提供的所述方法一个实施例应用场景的示意图。上述实施例提供的方法,基于共享离线包的方式,将支付应用中已存的离线包共享给购物应用使用,例如将中国香港版本的支付App的已存离线包共享给购物App使用,可以提高支付速度,提升用户体验,节约研发、运维成本。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
本申请实施例所提供的方法实施例的全部或部分可以在客户端(包括移动终端)、计算机终端、服务器或者类似的运算装置中执行。以运行在移动终端上为例,图7是本发明实施例的一种跨容器离线包的数据处理移动终端的硬件结构框图。如图7所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可以包括比图7中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者具有与图7所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的所述方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述跨容器的应用离线包的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
基于上述所述的跨容器的应用离线包的数据处理方法,本说明书还提供一种跨容器离线包的数据处理装置。所述的装置可以包括实施了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的设备装置。基于同一创新构思,本说明书提供的一种实施例中的处理装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的处理装置的实施可以参见前述方法的实施,重复之处不再赘述。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。具体的,如图8所示,图8是本说明书提供的可以用于客户端一侧的一种跨容器离线包的数据处理装置实施例的模块结构示意图,具体的可以包括:
资源查找模块200,可以用于在第一应用中触发访问第二应用页面的请求时,查找本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
离线包请求模块202,可以用于资源查找模块200的查找结果为否时,向所述第二应用发送相应的离线包请求;
解压验证模块204,可以用于接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
页面响应模块206,可以用于在所述离线资源验证通过时,在第一应用中基于所述离线资源响应所述页面的请求。
本说明书实施例提供的一种跨容器离线包的数据处理装置,可以通过共享离线包的方式,将已经存储的第二应用的离线包共享给第一应用使用,这样可以达到业务嵌入到不同平台时可以只需要开发一个离线包,在保障用户快速访问的情况下降低研发、运维成本。
基于前述方法实施例的描述,所述装置的另一个实施例中,还可以包括:
离线资源存储模块208,可以用于在所述离线资源验证通过后,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源;
相应的,所述页面响应模块206基于更新后的第一应用的本地离线资源响应所述页面的请求。
基于前述方法实施例的描述,所述装置的另一个实施例中,还可以包括:
动态数据请求模块210,可以用于获取所述页面的动态数据;
相应的,所述页面响应模块206基于所述离线资源响应所述页面的请求可以包括基于更新后的第一应用本地离线资源和所述动态数据对所述页面进行渲染。
基于前述方法实施例的描述,本说明书提供另一种跨容器离线包的数据处理装置的实施例。如图9所示,图9是本说明书提供的另一种跨容器离线包的数据处理装置实施例的模块结构示意图,具体的所述装置可以包括:
资源查找单元300,可以用于查找第一应用的本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
离线包请求单元302,可以用于在资源查找单元300查找结果为否时,向所述第二应用发送相应的离线包请求;
解压验证单元304,接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
本地存储单元306,可以用于在所述验证通过时,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
基于前述方法实施例的描述,所述装置的另一个实施例中,还可以包括:
离线包更新单元308,可以用于接收所述第二应用发送的更新离线包,将解压所述更新离线包后获取的离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
当然,更新的离线包通常也可以进行验证处理,在验证通过后再更新至第一应用的本地离线资源中。
基于前述方法实施例的描述,本说明书提供一种支付处理装置的实施例。如图10所示,图10是本说明书提供的一种支付处理装置实施例的模块结构示意图,具体的所述装置可以包括:
查找模块400,可以用于在装置的购物应用中发起访问支付应用的页面请求时,查找购物应用的本地离线资源中是否存储有所述支付应用对应的离线资源,购物使用的离线包与支付应用的离线包基于不同的容器实现;
请求模块402,可以用于在未查找到所述对应的离线资源,向所述支付应用发送相应的离线包请求;
离线包处理模块404,可以用于所述购物应用接收并解压支付应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
页面渲染模块406,可以用于在所述离线资源验证通过后,基于所述离线资源和获取的动态数据对所述页面进行渲染,形成支付页面;
支付处理模块408,可以用于基于所述支付页面执行支付处理。
本说明书实施例上述所述的装置,根据相关方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。
本说明书实施例提供的一种跨容器离线包的数据处理装置、支付装置,可以通过共享离线包的方式,将已经存储的第二应用的离线包共享给第一应用使用,这样可以达到业务嵌入到不同平台时可以只需要开发一个离线包,在保障用户快速访问的情况下降低研发、运维成本。
本说明书实施例提供的设备型号识别方法可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现,或其他例如Linux、android、iOS系统相对应的应用设计语言集合必要的硬件实现,或者基于量子计算机的处理逻辑实现等。具体的,本说明书提供的一种客户端实现上述方法的实施例中,所述客户端可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
在第一应用中触发访问第二应用页面的请求时,查找本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过后,基于所述离线资源响应所述页面的请求。
基于前述实施描述,本说明书还提供所述客户端的另一个实施例。所述客户端可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
查找第一应用的本地离线资源中是否存储有所述第二应用对应的离线资源,第一应用使用的离线包与第二应用的离线包基于不同的容器实现;
若查找结果为否,则向所述第二应用发送相应的离线包请求;
所述第一应用接收并解压第二应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过时,将所述离线资源存储至第一应用的本地离线资源中,更新第一应用的本地离线资源。
基于前述实施描述,本说明书还提供一种支付终端。所述支付终端可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
在支付终端的购物应用中发起访问支付应用的页面请求时,查找购物应用的本地离线资源中是否存储有所述支付应用对应的离线资源,购物使用的离线包与支付应用的离线包基于不同的容器实现;
若查找结果为否,则向所述支付应用发送相应的离线包请求;
所述购物应用接收并解压支付应用返回的离线包,获取离线资源,并对所述离线资源进行验证;
在所述离线资源验证通过后,基于所述离线资源和获取的动态数据对所述页面进行渲染,形成支付页面;
基于所述支付页面执行支付处理。
上述的指令可以存储在多种计算机可读存储介质中。所述计算机可读存储介质可以包括用于存储信息的物理装置,可以将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。本实施例所述的计算机可读存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。下述所述的装置或服务器或客户端或系统中的指令同上描述。
所述的客户端或支付终端可以包括移动终端、车载设备、智能穿戴设备、平板、个人电脑等。
需要说明的是,本说明书实施例上述所述的装置、客户端,根据相关方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
尽管本说明书实施例内容中提到windvane容器、离线包中的数据内容、数据验证、第一应用与第二应用及服务器之间的交互等之类的数据获取、存在、交互、计算、判断等操作和数据描述,但是,本说明书实施例并不局限于必须是符合行业通信标准、标准容器处理方式、通信协议和标准数据模型/模板或本说明书实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。