CN108595234A - 应用页面切换方法、装置及设备 - Google Patents

应用页面切换方法、装置及设备 Download PDF

Info

Publication number
CN108595234A
CN108595234A CN201810204054.8A CN201810204054A CN108595234A CN 108595234 A CN108595234 A CN 108595234A CN 201810204054 A CN201810204054 A CN 201810204054A CN 108595234 A CN108595234 A CN 108595234A
Authority
CN
China
Prior art keywords
traffic identifier
application page
client
cut
pages
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
Application number
CN201810204054.8A
Other languages
English (en)
Inventor
穆毅鹏
付立武
廉洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810204054.8A priority Critical patent/CN108595234A/zh
Publication of CN108595234A publication Critical patent/CN108595234A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例公开了应用页面切换方法、装置及设备。对于超大规模的应用访问,需要做基础架构升级时,向客户端中推送切流标识,进行可逆向的灰度发布,从而客户端通过切流标识来决定是访问第一应用页面,还是访问第二应用页面。

Description

应用页面切换方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及应用页面切换方法、装置及设备。
背景技术
随着web技术的成熟,客户端中非原生应用(Native APP)的使用越来越广泛。
在当前技术中,经常需要将一些以前是Native代码实现的应用页面,切换到具有动态性的其他框架下的应用页面,以便客户端访问,实现业务功能。在切换的过程中,要么直接进行切换;或者按照一刀切的方式,直接按照客户端版本,发布不同的维度,进行应用页面之间的切换。
基于此,需要更便利的应用页面切换方案。
发明内容
本说明书实施例提供应用页面切换方法、装置及设备,用于解决如下问题:以提供更便利的应用页面切换方案。
基于此,本说明书实施例提供一种应用页面切换方法,包括:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
同时,本说明书的实施例还提供另一种应用页面切换方法,包括:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
对应的,本说明书实施例还提供一种应用页面切换装置,包括:
请求发起模块,根据用户的指令,发起访问应用页面的业务请求;
查询模块,查询本地是否存在切流标识;
页面访问模块,若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
对应的,本说明书实施例还提供另一种应用页面切换装置,包括:
推送模块,推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收模块,接收客户端所发送的获取切流标识请求;
发送模块,发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
对应的,本说明书实施例还提供一种应用页面切换设备,包括:
存储器,存储有应用页面切换程序;
处理器,调用存储器中的应用页面切换程序,并执行:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
对应的,本说明书实施例还提供另一种应用页面切换设备,包括:
存储器,存储有应用页面切换程序;
处理器,调用存储器中的应用页面切换程序,并执行:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
对应的,本说明书的实施例还提供一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
对应的,本说明书的实施例还提供另一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
对于超大规模的应用访问,需要做基础架构升级时,向客户端中推送切流标识,进行可逆向的灰度发布,从而客户端通过切流标识来决定是访问第一应用页面,还是访问第二应用页面。通过切流的数据监控及数据上报,可及时掌握预期灰度效果和实际灰度效果的差距,从而当实际效果不甚理想时,可以及时进行回滚,来实现快速反转,从而实现可监控、可控制、可降级、可选择指定人群灰度的完整方案。此外,通过本地离线包的方式,帮助非原生页面提高加载性能,逼近原生体验;通过异步拉取第二应用页面的方式,保证了产品的线上功能的可用,不会存在下发了切流指令,但本地还没有离线包化的状况,避免切换过程中降低用户体验。
附图说明
图1为当前技术中采用原生页面时客户端访问时的技术架构模式;
图2为当前技术中常见的应用页面切换方案;
图3为本说明书实施例所提供的应用页面切换所设计的架构示意图;
图4为本说明书实施例所提供的客户端方面的应用页面切换的执行流程示意图;
图5为本说明书实施例所提供的服务端方面的应用页面切换的执行流程示意图;
图6为本说明书实施例所提供的关于客户端和服务端方面综合执行的流程示意图;
图7为本说明书实施例所提供的客户端与服务端对于数据的处理方式的示意图;
图8为本说明书实施例所提供的客户端方面的装置结构示意图;
图9为本说明书实施例所提供的服务端方面的装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前技术中,获取移动应用APP还是需要去Android或iOS应用市场下载一个完整的安装包(特别是对于一些原生代码写成的应用而言),安装包体积大,带来的直接影响就是,用户下载获取安装包成本变高,网络环境不好的,限制在wifi下自动更新等等,给用户带来不便。从而,针对客户端安装包瘦身称为当前技术的主要方向。例如,超文本标记语言(HyperText Markup Language,HTML)第五代标准(即H5)等web技术的稳定性是经过业界多年验证的,HTML5基于更新迭代快,不依赖app发版,不占用安装包的大小等等。从而,很多原生应用都希望从原生页面向具有动态性的其他框架下的页面进行切换。
一般而言,对于一个业务功能,通常都有具有多个对应的页面,如图1所示,图1为当前技术中采用原生页面时客户端访问时的技术架构模式。目前,将原生页面切换至H5页面的过程中,通常的方案都是直接进行切换,或者采用一刀切式的方式,按照客户端版本发布维度。如图2所示,图2为当前技术中常见的应用页面切换方案。这对于某些具有超大规模使用人群的应用而言,采用这种方式在版本迭代的过程中,会极大的影响对外所提供的服务,并且,一旦切换迭代的过程中出现问题,版本的回滚也很麻烦。
在本说明书的实施例中,所述的应用页面切换方案可采用如图3所示的架构,图3为本说明书实施例所提供的应用页面切换所设计的架构示意图,在所述架构中,灰度发布方案部分通过切流标识实现。
下面将基于如图3所示的架构,详细说明本说明书的实施例提供的应用页面切换过程,该过程具体包括客户端方面和服务端方面,对于客户端方面,包括以下步骤,如图4所示,图4为本说明书实施例所提供的客户端方面的应用页面切换的执行流程示意图,包括:
S401,根据用户的指令,发起访问应用页面的业务请求。
在本申请实施例中,可认为默认的应用页面即为第一应用页面,即,原生页面。
S403,查询本地是否存在切流标识。
所述切流标识可以是以某种文件的形式存储于本地,也可以是以某种字段的形式存在于本地配置文件信息中,例如,在本地的配置文件中某一行以“useH5=true”的形式来表征切流标识,以“useH5=False”的形式来表征不存在切流标识。即,在配置文件中提供了一个可控制的切流开关。
S405,若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
具体而言,即可以通过推送或者删除某个表征切流标识的文件,或者,通过修改配置文件切流开关的值,来方便的控制客户端实行对哪种应用页面的访问。即,在这种实施方式下,有一部分的客户端被切换至访问第二应用页面。
作为一种具体的实施方式,对于所述步骤S403中的本地的切流标识,可以通过多种方式预先得到,以下列举两种,包括:
第一种,接收服务端推送的切流标识,并保存于本地。例如,服务端推送了用于表征切流标识的文件,客户端接收后存储于本地。
第二种,服务端实现推送了配置文件于客户端,客户端保存了该配置文件。配置文件中配置了客户端发起获取切流标识的频率,切流开关的值,以及相关数据的存储方式等等。从而,客户端根据配置文件中的信息,自动向服务端发出获取切流标识的请求,根据服务端返回的结果,对配置文件中的切流开关信息进行对应修改。
作为一种具体的实施方式,若本地存在切流标识,则此时客户端将决定访问第二应用页面,在此时,如果服务端是首次访问第二应用页面(即,以前都是访问的原生页面),还需要向服务端获得第二应用页面的相关资源,具体的说,包括:
获取所述第二应用页面的离线包;解压所述离线包,并存储。获取的方式可以是主动拉取,也可以是服务端进行推送。
更进一步地,在获取离线包的时候,可以进行同步拉取,即本次访问即拉取离线包,并解压,待解压结束后,即访问对应的第二应用页面。这种方式下,由于首次拉取离线包需要时间,可能造成用户需要等待,降低用户体验,基于此,还可以采取如下方式获取所述离线包:从服务端异步拉取所述第二应用页面的离线包。
即,本次访问仍然访问原生页面,但同时依然从服务端拉取第二应用页面的离线包,以待下次进入业务的时候可以访问第二应用页面,在这种方式下,通过延迟一轮执行灰度发布,保证了产品的线上功能绝对可用。此外,不会存在下发了切流指令,但本地还没有离线包化的资源包,导致去实时访问远端的资源的状况发生,避免降低用户体验。
在本说明书实施例所提供的方案中,所述第一应用页面包括原生页面,第二页面除H5页面之外,还可以是诸如Reactnative页面或者Weex页面等具有动态基础框架的应用页面。
作为一种具体的实施方式,对于一个应用而言,离线包虽然是在本地,但是离线包里经常包含有多个页面,需要映射具体的访问页面地址。即,需要知道各H5页面的统一资源定位符(Uniform Resource Locator,URL)。此外在不同的页面之间进行跳转时,经常还需携带一些参数。即,外部业务页面调用进原生页面来的时候,后面可以携带任意多个参数给原生容器,这些参数在本说明书所提供的切流方案的具体实现中,需要将参数模型转换并透传给H5容器,从而为实现上述功能,可采用如下方式:
获取所述多个H5页面的统一资源定位符URL;确定原生页面中的转场参数;根据所述转场参数和所述URL生成另一URL;根据所述另一URL,发起页面跳转。
例如,在原生业务模块Id为0001,H5业务模块Id为0002时,对于原生页面下发起页面跳转时xxxxxxs://platformapi/startapp?appId=0001&path=page1&bizParam1='业务扩展参数1'&bizParam2='业务扩展参数2',即此时的转场参数为“bizParam1='业务扩展参数1'&bizParam2='业务扩展参数2'”,
此时,将所述转场参数添加至对应的URL中的用于表征URL参数的“?”之后,生成另一URL:xxxxxxs:/www/transfer_in.html?bizParam1='业务扩展参数1'&bizParam2='业务扩展参数2'。从而在H5页面中进行跳转时根据上述另一URL进行访问。
作为一种具体的实施方式,对于H5页面的地址URL,包括如下两种获取方式:
从本地获取服务端预先下发的H5页面的URL;或者,接收服务端所推送的H5页面的URL。
即,上述的H5页面的URL,可以是客户端发送切流请求时从服务端回应下来的数据,但是在服务端回应的过程中,可能只告诉了客户端说需要切H5应用页面,比如服务端回应“useH5=true”,但是它回应的的H5页面的URL的value值下发为空,则此时,还需要接收服务端所推送的H5页面的URL,推送的方式可以是长连接推送。
作为一种具体的实施方式,在若本地存在切流标识,访问H5页面时,还包括:
判断本地是否存储有H5离线包,若有,访问所述H5离线包所提供的H5页面;若没有,从服务端获取所述H5离线包,以访问所述H5页面。
换言之,虽然之前客户端已经在服务端获取了相应的离线包并进行解压,但是,并不能保证得到的离线包就一定是完整可用的。此时,仍然需要再次判断,以免对业务执行产生影响。
作为一种具体的实施方式,在确定本地存在切流标识,要访问H5页面之前,还包括:获取所述H5离线包的版本号,判断所述版本号是否符合预设条件,若不符合,访问所述第一应用页面。
所述的预设条件可以是诸如是否满足最低版本号的要求,或者是否是最新的版本号等等,从而尽量让客户端内能获取到最新离线包,如果当前的版本号不满足预设的版本号要求,则不进行H5切流,从而避免版本太低或者版本不正确影响用户的业务功能,以及影响发布方对灰度方案的评估。
在通过上述方式对客户端进行了切流灰度发布之后,已经有一部分客户端进行了应用页面的切换访问,此时可以通过诸如监控对业务处理结果的成功率、舆论对于业务功能的反映等等方式来对当前的发布方案进行评估,以决定是否需要进行回滚,等等。若当前的版本在实现业务时不太理想(例如,降低了业务成功率),需要进行回滚,即需要用户依然访问原生的页面,从而可以通过如下方式进行:
接收服务端所推送的回滚标识,并存储;在查询本地是否存在切流标识之前,还包括:查询本地是否存在所述回滚标识,若存在,不再查询切流标识,直接访问所述第一应用页面。
需要说明的是,回滚标识可以是对于配置文件中的切流开关进行修改控制,例如,将配置文件中表征切流的字段由“UseH5=True”,修改或者替换为“UseH5=False”;或者,可以是对表征切流标识的文件进行删除,或者,推送用于表征不再进行切流判断的文件等等方式,客户端接受到回滚标识后,直接访问原生页面。换言之,可以通过切流开关和服务端一键回滚的方式,双重保障保证正逆向灰度切流的快速反转执行。
本说明书的实施例提供的应用页面切换过程,对于服务端端方面,如图,5所示,图5为本说明书实施例所提供的服务端方面的应用页面切换的执行流程示意图,包括:
S501,推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求。
配置文件中配置了客户端发起获取切流标识的频率,切流开关的值,以及相关数据的存储方式等等。例如,服务端预先推送配置文件至一部分客户端,客户端在和服务端长连接时,自动的以一定频率发起获取切流标识的请求。
S503,接收客户端所发送的获取切流标识请求。
S505,发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
在实际应用中,对于超大规模使用人群的应用来说,即使只切流一小部分比例,也牵扯到很多用户。例如,对于某具有3亿使用人群的APP,在切流1%时,也会影响到300万用户。在这种情况下,需要预先严格控制切流的数量,具体可通过如下方式实现:统计所述已发送的切流标识的数量;当所述数量达到预设的疲劳条件时,不再发送所述切流标识至客户端。
所述的疲劳条件可以是已发送的切流标识的数量达到一定值,也可以是达到总用户的一定比例,在这种情况下,通过疲劳控制,不再发送切流标识,以及,还可以设置专门的控制按钮,一键控制不再发送切流标识。例如,该控制按钮用于向客户端中的配置文件进行推送信息,将配置文件中的发起获取切流标识请求的频率变为零,即,客户端不再发起获取切流标识请求。
客户端发起获取切流标识的请求后,服务端还可以通过接口进行判断,是否给该用户进行切流标识的发放,即,判断该用户是否符合切流标准,具体方式如下:根据用户的用户标识、人群分类标识或者地理位置,判断其是否符合切流条件,若符合切流条件,发送切流标识至所述客户端。
即,服务端会根据大数据的用户信息,按不同维度来切分,对指定人群进行切流灰度控,可以有效将切流实际效果与切流期望进行对比,更方便进行控制。若切流后,业务服务的实际效果达到预期,则还可以扩大切流规模,以逐步实现整体的切换。
在进行灰度切流之后,对相关的业务数据进行监控,若效果没有达到预期,需要回滚时,即,将已经切流访问第二应用页面的用户,让其访问第一应用页面。则可以采用如下方式实现:推送回滚标识至所述客户端,以便客户端根据所述回滚标识访问第一应用页面。具体的回滚标识的实施方式已经在前文进行了说明,此处不再赘述。
以第一应用页面为原生页面,第二应用页面为H5页面为例,详细说明本说明书实施例所提供的方案其执行流程,如图6所示,图6为本说明书实施例所提供的关于客户端和服务端方面综合执行的流程示意图。
具体而言,包括三个步骤,1,客户端端从服务端获取切流标识,2,客户端本地进行切流判断并执行相应的切流访问,3,服务端认为本次发布的H5页面达不到预期时,通知客户端进行回滚。在该示意图中,“首次进入业务页面”指的是,客户端已被告知需要进行切流(即,已经拿到了切流标识),但是本地还没有对应的H5页面或者H5压缩包。此时本次仍然访问原生页面。即,通过异步拉取的方式获得压缩包,以待下一次再进入该业务的时候进行切流访问。在该图中,客户端可以即时监控在切流以后,本地客户端访问H5页面时的业务状态,包括成功率、业务处理时间等等,并上报给服务端以供评估。
需要说明的是,在本说明书实施例所提供的上述方案中,对于客户端和服务端的信息存储的方式,特别是同一客户端方面在不同层级上对数据(包括配置信息文件,第二应用页面的离线包、离线包的版本号等等)进行了不同的处理,用户无感知,控制灵活性会更高。例如,在内存级别下,对于相关数据在进程重启或者主动退出登录后即清空;对于持久化存储级别,将本地其他数据(例如第一应用页面的相关数据)根据用户维度与配置信息等数据进行隔离存储,具体方式如图7所示。图7为本说明书实施例所提供的客户端与服务端对于数据的处理方式的示意图。此外,在本说明书实施例所提供的方案中,不论是客户端还是服务端方面,所述第一应用页面包括原生页面,所述第二应用页面包括H5页面、Reactnative页面或者Weex页面。
本说明书实施例所提供的方案,对于超大规模的应用访问,需要做基础架构升级时,向客户端中推送切流标识,进行可逆向的灰度发布,从而客户端通过切流标识来决定是访问第一应用页面,还是访问第二应用页面。通过切流的数据监控及数据上报,可及时掌握预期灰度效果和实际灰度效果的差距,从而当实际效果不甚理想时,可以及时进行回滚,来实现快速反转,从而实现可监控、可控制、可降级、可选择指定人群灰度的完整方案。此外,通过本地离线包的方式,帮助非原生页面提高加载性能,逼近原生体验;通过异步拉取第二应用页面的方式,保证了产品的线上功能的可用,不会存在下发了切流指令,但本地还没有离线包化的状况,避免切换过程中降低用户体验。
基于同样的思路,本发明还提供一种应用页面切换装置,如图8所示,图8为本说明书实施例所提供的客户端方面的装置结构示意图,包括:
请求发起模块801,根据用户的指令,发起访问应用页面的业务请求;
查询模块803,查询本地是否存在切流标识;
页面访问模块805,若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
进一步地,所述装置还包括切流标识获取模块807,接收服务端推送的切流标识,并保存于本地;或者,根据切流配置文件中的相关配置,发送获取切流标识的请求至服务端,接收服务端返回的切流标识,所述切流配置文件由服务端预先推送得到。
进一步地,所述装置还包括离线包获取模块809,获取所述第二应用页面的离线包;解压所述离线包,并存储。
进一步地,所述离线包获取模块809,从服务端异步拉取所述第二应用页面的离线包。
进一步地,所述第一应用页面包括原生页面,所述第二应用页面包括H5页面、Reactnative页面或者Weex页面。
进一步地,当所述第二应用页面为多个H5页面时,所述页面访问模块805,获取所述多个H5页面的统一资源定位符URL;确定原生页面中的转场参数;根据所述转场参数和所述URL生成另一URL;根据所述另一URL,发起页面跳转。
进一步地,所述页面访问模块805,从本地获取服务端预先下发的H5页面的URL;或者,接收服务端所推送的H5页面的URL。
进一步地,所述装置还包括判断模块811,判断本地是否存储有H5离线包,若有,访问所述H5离线包所提供的H5页面;若没有,从服务端获取所述H5离线包,以访问所述H5页面。
进一步地,所述装置还包括版本识别模块813,获取所述H5离线包的版本号,判断所述版本号是否符合预设条件,若不符合,访问所述第一应用页面。
进一步地,所述装置还包括接收模块815,接收服务端所推送的回滚标识,并存储,所述查询模块,在查询本地是否存在切流标识之前,还包括:查询本地是否存在所述回滚标识,若存在,不再查询切流标识,直接访问所述第一应用页面。
基于同样的思路,本发明还提供一种应用页面切换装置,如图9所示,图9为本说明书实施例所提供的服务端方面的装置结构示意图,包括:
推送模块901,推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收模块903,接收客户端所发送的获取切流标识请求;
发送模块905,发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
进一步地,所述装置还包括疲劳度控制模块907,统计所述已发送的切流标识的数量;当所述数量达到预设的疲劳条件时,不再发送所述切流标识至客户端。
进一步地,所述装置还包括切流判断模块909,根据用户的用户标识、人群分类标识或者地理位置,判断其是否符合切流条件,若符合切流条件,发送切流标识至所述客户端。
进一步地,所述推送模块901,推送回滚标识至所述客户端,以便客户端根据所述回滚标识访问第一应用页面。
对应的,本申请实施例还提供一种应用页面切换设备,包括:
存储器,存储有应用页面切换程序;
处理器,调用存储器中的应用页面切换程序,并执行:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
对应的,本申请实施例还提供另一种应用页面切换设备,包括:
存储器,存储有应用页面切换程序;
处理器,调用存储器中的应用页面切换程序,并执行:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
基于同样的发明思路,本申请实施例还提供了对应的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
基于同样的发明思路,本申请实施例还提供了对应的另一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和介质类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可,这里就不再一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤或模块可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在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,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书的实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信编号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书中一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

Claims (30)

1.一种应用页面切换方法,包括:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
2.如权利要求1所述的方法,所述本地的切流标识,通过如下方式预先得到,包括:
接收服务端推送的切流标识,并保存于本地;或者,
根据切流配置文件中的相关配置,发送获取切流标识的请求至服务端,接收服务端返回的切流标识,所述切流配置文件由服务端预先推送得到。
3.如权利要求1所述的方法,在若本地存在切流标识,访问第二应用页面之前,还包括:
获取所述第二应用页面的离线包;
解压所述离线包,并存储。
4.如权利要求3所述的方法,获取所述第二应用页面的离线包,包括:
从服务端异步拉取所述第二应用页面的离线包。
5.如权利要求1所述的方法,所述第一应用页面包括原生页面,所述第二应用页面包括H5页面、Reactnative页面或者Weex页面。
6.如权利要求5所述的方法,当所述第二应用页面为多个H5页面时,若本地存在切流标识,访问H5页面,包括:
获取所述多个H5页面的统一资源定位符URL;
确定原生页面中的转场参数;
根据所述转场参数和所述URL生成另一URL;
根据所述另一URL,发起页面跳转。
7.如权利要求6所述的方法,获取所述多个H5页面的统一资源定位符URL,包括:
从本地获取服务端预先下发的H5页面的URL;或者,
接收服务端所推送的H5页面的URL。
8.如权利要求6所述的方法,若本地存在切流标识,访问H5页面,还包括:
判断本地是否存储有H5离线包,若有,访问所述H5离线包所提供的H5页面;
若没有,从服务端获取所述H5离线包,以访问所述H5页面。
9.如权利要求1所述的方法,在若本地存在切流标识,访问H5页面之前,还包括:
获取所述H5离线包的版本号,判断所述版本号是否符合预设条件,若不符合,访问所述第一应用页面。
10.如权利要求1所述的方法,还包括:
接收服务端所推送的回滚标识,并存储;
在查询本地是否存在切流标识之前,还包括:查询本地是否存在所述回滚标识,若存在,不再查询切流标识,直接访问所述第一应用页面。
11.一种应用页面切换方法,包括:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
12.如权利要求11所述的方法,还包括:
统计所述已发送的切流标识的数量;
当所述数量达到预设的疲劳条件时,不再发送所述切流标识至客户端。
13.如权利要求11所述的方法,发送切流标识至所述客户端之前,还包括:
根据用户的用户标识、人群分类标识或者地理位置,判断其是否符合切流条件,若符合切流条件,发送切流标识至所述客户端。
14.如权利要求11所述的方法,还包括:
推送回滚标识至所述客户端,以便客户端根据所述回滚标识访问第一应用页面。
15.一种应用页面切换装置,包括:
请求发起模块,根据用户的指令,发起访问应用页面的业务请求;
查询模块,查询本地是否存在切流标识;
页面访问模块,若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
16.如权利要求15所述的装置,还包括切流标识获取模块,接收服务端推送的切流标识,并保存于本地;或者,根据切流配置文件中的相关配置,发送获取切流标识的请求至服务端,接收服务端返回的切流标识,所述切流配置文件由服务端预先推送得到。
17.如权利要求15所述的装置,还包括离线包获取模块,获取所述第二应用页面的离线包;解压所述离线包,并存储。
18.如权利要求17所述的装置,所述离线包获取模块,从服务端异步拉取所述第二应用页面的离线包。
19.如权利要求15所述的装置,所述第一应用页面包括原生页面,所述第二应用页面包括H5页面、Reactnative页面或者Weex页面。
20.如权利要求19所述的装置,当所述第二应用页面为多个H5页面时,所述页面访问模块,获取所述多个H5页面的统一资源定位符URL;确定原生页面中的转场参数;根据所述转场参数和所述URL生成另一URL;根据所述另一URL,发起页面跳转。
21.如权利要求20所述的装置,所述页面访问模块,从本地获取服务端预先下发的H5页面的URL;或者,接收服务端所推送的H5页面的URL。
22.如权利要求20所述的装置,还包括判断模块,判断本地是否存储有H5离线包,若有,访问所述H5离线包所提供的H5页面;若没有,从服务端获取所述H5离线包,以访问所述H5页面。
23.如权利要求15所述的装置,还包括版本识别模块,获取所述H5离线包的版本号,判断所述版本号是否符合预设条件,若不符合,访问所述第一应用页面。
24.如权利要求1所述的装置,还包括接收模块,接收服务端所推送的回滚标识,并存储,所述查询模块,在查询本地是否存在切流标识之前,还包括:查询本地是否存在所述回滚标识,若存在,不再查询切流标识,直接访问所述第一应用页面。
25.一种应用页面切换装置,包括:
推送模块,推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收模块,接收客户端所发送的获取切流标识请求;
发送模块,发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
26.如权利要求25所述的装置,还包括疲劳度控制模块,统计所述已发送的切流标识的数量;当所述数量达到预设的疲劳条件时,不再发送所述切流标识至客户端。
27.如权利要求25所述的装置,还包括切流判断模块,根据用户的用户标识、人群分类标识或者地理位置,判断其是否符合切流条件,若符合切流条件,发送切流标识至所述客户端。
28.如权利要求25所述的装置,所述推送模块,推送回滚标识至所述客户端,以便客户端根据所述回滚标识访问第一应用页面。
29.一种应用页面切换设备,包括:
存储器,存储有应用页面切换程序;
处理器,调用存储器中的应用页面切换程序,并执行:
根据用户的指令,发起访问应用页面的业务请求;
查询本地是否存在切流标识;
若本地不存在切流标识,访问第一应用页面;若本地存在切流标识,访问第二应用页面。
30.一种应用页面切换设备,包括:
存储器,存储有应用页面切换程序;
处理器,调用存储器中的应用页面切换程序,并执行:
推送切流配置文件至客户端,以便客户端根据所述配置文件发起获取切流标识请求;
接收客户端所发送的获取切流标识请求;
发送切流标识至所述客户端,以便所述客户端根据所述切流标识访问第二应用页面。
CN201810204054.8A 2018-03-13 2018-03-13 应用页面切换方法、装置及设备 Pending CN108595234A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810204054.8A CN108595234A (zh) 2018-03-13 2018-03-13 应用页面切换方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810204054.8A CN108595234A (zh) 2018-03-13 2018-03-13 应用页面切换方法、装置及设备

Publications (1)

Publication Number Publication Date
CN108595234A true CN108595234A (zh) 2018-09-28

Family

ID=63626212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810204054.8A Pending CN108595234A (zh) 2018-03-13 2018-03-13 应用页面切换方法、装置及设备

Country Status (1)

Country Link
CN (1) CN108595234A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857430A (zh) * 2019-01-09 2019-06-07 阿里巴巴集团控股有限公司 跨容器离线包的数据处理方法、支付方法、装置及客户端
CN109871198A (zh) * 2019-01-31 2019-06-11 上海智臻智能网络科技股份有限公司 一种应用交互需求适配方法及装置
CN109885781A (zh) * 2019-02-27 2019-06-14 百度在线网络技术(北京)有限公司 混合页面统一浏览方法、装置、设备和存储介质
CN109902255A (zh) * 2019-02-27 2019-06-18 百度在线网络技术(北京)有限公司 页面混合浏览记录生成方法、装置、设备和存储介质
CN110515675A (zh) * 2019-08-30 2019-11-29 中国工商银行股份有限公司 应用上线的方法、装置、系统和可读存储介质
CN110764895A (zh) * 2019-10-30 2020-02-07 江苏满运软件科技有限公司 应用服务动态切换方法、系统、设备及存储介质
CN111158802A (zh) * 2018-11-08 2020-05-15 阿里巴巴集团控股有限公司 音频播放的方法、设备、客户端装置及电子设备
CN112433749A (zh) * 2020-11-24 2021-03-02 中国建设银行股份有限公司 一种应用的灰度发布方法和装置、服务器、客户端
CN114089928A (zh) * 2020-07-29 2022-02-25 钉钉控股(开曼)有限公司 绑定关系的建立方法及装置、远程打印方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989083A (zh) * 2015-02-11 2016-10-05 阿里巴巴集团控股有限公司 切换访问环境的方法及装置
CN106096021A (zh) * 2016-06-24 2016-11-09 合信息技术(北京)有限公司 一种静态页面灰度发布方法及系统
CN107305553A (zh) * 2016-04-20 2017-10-31 北京京东尚科信息技术有限公司 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989083A (zh) * 2015-02-11 2016-10-05 阿里巴巴集团控股有限公司 切换访问环境的方法及装置
CN107305553A (zh) * 2016-04-20 2017-10-31 北京京东尚科信息技术有限公司 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统
CN106096021A (zh) * 2016-06-24 2016-11-09 合信息技术(北京)有限公司 一种静态页面灰度发布方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158802A (zh) * 2018-11-08 2020-05-15 阿里巴巴集团控股有限公司 音频播放的方法、设备、客户端装置及电子设备
CN111158802B (zh) * 2018-11-08 2023-06-09 阿里巴巴集团控股有限公司 音频播放的方法、设备、客户端装置及电子设备
CN109857430A (zh) * 2019-01-09 2019-06-07 阿里巴巴集团控股有限公司 跨容器离线包的数据处理方法、支付方法、装置及客户端
CN109857430B (zh) * 2019-01-09 2022-08-12 创新先进技术有限公司 跨容器离线包的数据处理方法、支付方法、装置及客户端
CN109871198A (zh) * 2019-01-31 2019-06-11 上海智臻智能网络科技股份有限公司 一种应用交互需求适配方法及装置
CN109902255A (zh) * 2019-02-27 2019-06-18 百度在线网络技术(北京)有限公司 页面混合浏览记录生成方法、装置、设备和存储介质
CN109885781B (zh) * 2019-02-27 2021-05-18 百度在线网络技术(北京)有限公司 混合页面统一浏览方法、装置、设备和存储介质
CN109885781A (zh) * 2019-02-27 2019-06-14 百度在线网络技术(北京)有限公司 混合页面统一浏览方法、装置、设备和存储介质
CN110515675A (zh) * 2019-08-30 2019-11-29 中国工商银行股份有限公司 应用上线的方法、装置、系统和可读存储介质
CN110764895A (zh) * 2019-10-30 2020-02-07 江苏满运软件科技有限公司 应用服务动态切换方法、系统、设备及存储介质
CN114089928A (zh) * 2020-07-29 2022-02-25 钉钉控股(开曼)有限公司 绑定关系的建立方法及装置、远程打印方法
CN114089928B (zh) * 2020-07-29 2024-03-22 钉钉控股(开曼)有限公司 绑定关系的建立方法及装置、远程打印方法
CN112433749A (zh) * 2020-11-24 2021-03-02 中国建设银行股份有限公司 一种应用的灰度发布方法和装置、服务器、客户端

Similar Documents

Publication Publication Date Title
CN108595234A (zh) 应用页面切换方法、装置及设备
US20150095854A1 (en) Persisting state at scale across browser sessions
CN108345535A (zh) mock测试方法、装置及设备
CN108345977A (zh) 一种业务处理方法及装置
US10592312B2 (en) Message oriented middleware with integrated rules engine
CN110333918B (zh) 一种管理寄宿程序的方法与设备
CN108418851A (zh) 策略发布系统、方法、装置及设备
CN109032797A (zh) 用于提供网页访问的方法及设备
CN110311989A (zh) 一种灰度发布方法、装置、存储介质、设备及系统
CN109388766A (zh) 页面加载的方法和装置
CN108549562A (zh) 一种图像加载的方法及装置
CN107016045A (zh) 一种分页数据查询的方法及装置
CN108268289A (zh) web应用的参数配置方法、装置及系统
CN110032409A (zh) 一种客户端屏幕适配方法、装置及电子设备
CN110020912A (zh) 页面展示方法、装置及设备
CN108363732A (zh) 一种多用户协同的表格处理方法、装置以及设备
CN108415792A (zh) 容灾系统、方法、装置及设备
CN109947643A (zh) 一种基于a/b测试的实验方案的配置方法、装置及设备
CN110496395A (zh) 一种针对虚幻引擎的组件运行方法、系统及设备
CN109710622A (zh) 一种数据更新方法、装置和系统
CN108390914A (zh) 一种服务更新方法及装置、系统
CN108304455A (zh) 一种处理业务请求的方法、装置及设备
CN110427237A (zh) 一种跨应用访问目标页面的方法、装置及电子设备
CN108304313A (zh) 一种用于数据测试的装置、客户端及方法
CN108123970A (zh) 数据展示方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20180928

RJ01 Rejection of invention patent application after publication