CN111052072B - 一种免安装应用程序下载方法及装置 - Google Patents
一种免安装应用程序下载方法及装置 Download PDFInfo
- Publication number
- CN111052072B CN111052072B CN201880055625.4A CN201880055625A CN111052072B CN 111052072 B CN111052072 B CN 111052072B CN 201880055625 A CN201880055625 A CN 201880055625A CN 111052072 B CN111052072 B CN 111052072B
- Authority
- CN
- China
- Prior art keywords
- page
- application
- sub
- terminal
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011900 installation process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种免安装应用程序下载方法及装置。在该方法中,服务器接收终端发送的下载免安装应用请求后,将运行该应用的必要信息、该应用的主页面信息以及与该主页面关联度最高的子页面信息发送给终端。其中,服务器根据获取的多个终端对该应用中包括的各页面的访问顺序确定出上述关联度。通过上述方法,服务器可以不一次性将应用程序的全部内容发送给终端,而是先发送运行应用的必要信息、主页面信息以及与主页面关联度最高的子页面信息,保证终端能够正常运行该应用的情况下,缩短初次下载时间,此外,与主页面关联度最高的子页面,即用户在访问主页面后较大可能要继续访问的页面,而将该子页面信息发送给终端,有助于减少终端后续下载子页面信息的次数。
Description
本申请要求在2018年3月28日提交中国专利局、申请号为201810265173.4、发明名称为《一种免安装应用的运行方法和装置》的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,尤其涉及一种免安装应用程序下载方法及装置。
背景技术
随着互联网技术的发展,免安装的应用程序称为一种流行趋势。免安装应用程序,无需安装流程,用户可以在点击应用图标从服务器直接下载并运行,实现了即点即用、用完即走的操作模式,使得用户无需担心安装太多应用程序的问题。
目前,免安装应用程序通常需要一次性下载全部应用程序包。若应用程序包较大,则下载时间会较长,较难实现即点即用,降低用户体验。为了给用户带来较好的操作体验,微信对免安装小程序的应用程序包的大小进行了限制,不能超过2MB;谷歌对瞬时应用(instant App)的应用程序包大小的上限为4MB。
然而,较大应用程序如何实现免安装、即点即用,有待进一步研究。
发明内容
本申请实施例提供了一种免安装应用程序下载方法及装置,以实现较大应用程序也能够满足用户“即点即用”的需求。
第一方面,本申请实施例提供一种免安装应用程序下载方法,该方法包括:
服务器接收终端发送的下载免安装应用的请求后,将运行该应用的必要信息、该应用的主页面信息以及与该主页面关联度最高的子页面信息发送给终端。其中,服务器根据获取的多个终端对该应用中包括的各页面的访问顺序确定出上述关联度。
在上述方法中,服务器在接收到终端下载免安装应用时,可以不一次性将应用程序的全部内容发送给终端,而是先发送运行应用的必要信息、主页面信息以及与主页面关联度最高的子页面信息,保证终端能够正常运行该应用的情况下,缩短初次下载时间,以提高用户体验。此外,与主页面关联度最高的子页面,即用户在访问主页面后较大可能要继续访问的页面,而将该子页面信息发送给终端,有助于减少终端后续下载子页面信息的次数。
在一种可能的实现方式中,服务器可以根据终端当前访问的页面,以及当前访问页面与其他页面的关联度,确定终端还未下载的子页面信息中与该当前访问页面关联度最高的页面的信息,并将确定出的页面信息发送给终端。
在上述实施例中,服务器对终端后续将要访问的页面进行预测,并将终端较大可能要访问的页面的信息发送给终端,以使终端在后续访问该页面时,不必再进行下载,以提高用户体验。
在一种可能的实现方式中,服务器在确定各页面之间的关联度时,根据获取的多个终端对该应用中各页面的访问顺序,若确定在访问第一页面后访问第二页面的概率越大,则确定第一页面与第二页面之间的关联度越高。通过上述实施例,服务器可以根据获取到的大数据分析用户对该应用的使用习惯,根据用户使用习惯确定各页面之间的关联度,以使服务器后续为终端发送关联度高的页面信息时,能够较为贴合用户的使用需求,有助于减少用户操作终端访问某个页面而该页面的信息未下载的情况发生。
在一种可能的实现方式中,服务器还可以根据确定出的各页面之间的关联度,对该应用的程序进行拆分,拆分为主包和至少一个子包。那么服务器在将应用的必要信息、应用的主页面信息以及与主页面关联度最高的子页面信息发送给终端时,可以将主包发送给终端,该主包中包括应用的必要信息、应用的主页面信息以及与主页面关联度高的子页面信息;或者,也可以将主包和第一子包发送给终端,其中,主包中包括应用的必要信息和应用的主页面信息,第一子包中包括与主页面关联度最高的子页面的信息。在上述方法中,服务器将应用的程序拆分为主包和若干子包,便于服务器向终端发送各页面的信息,便于服务器记录哪些信息已发送给终端、哪些信息未发送给终端。
在一种可能的实现方式中,服务器还可以将各页面与子包之间的对应关系发送给终端,那么终端在确定用户请求的待访问页面的信息还未下载时,可以根据上述对应关系确定待访问页面信息所在的第二子包,终端可以向服务器发送下载该第二子包的请求。
在一种可能的实现方式中,服务器在对应用的程序进行拆分时,可以令拆分后的主包的大小,小于第一预设阈值;和/或,令拆分后的每个子包的大小均小于第二预设阈值。若拆分后的程序包较大,下载时间较长,可能会影响用户体验,因此对拆分后的主包、子包的大小设置预设阈值,有助于满足用户“即点即用”的需求。
在一种可能的实现方式中,服务器在对应用的程序进行拆分时,可以令主包和每个子包中携带有该服务器的签名信息。在上述实现方式中,服务器在拆分后的每个子包中添加该服务器的签名信息,以使终端能够对下载的每个进行合法性验证。
第二方面,本申请实施例提供了一种服务器,包括:处理器,以及与所述处理器连接的存储器和通信接口;
所述处理器,用于读取所述存储器中预先存储的计算机程序执行:
通过所述通信接口接收终端发送的下载免安装应用的请求;
通过所述通信接口将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端;
其中,所述服务器根据获取的多个终端对所述应用中包括的各页面的访问顺序确定出所述关联度。
在一种可能的实现方式中,所述处理器,还用于:根据终端当前访问的页面,以及当前访问的页面与其他页面的关联度,确定所述终端未下载的、且与所述当前访问的页面关联度最高的页面;通过所述通信接口将所述处理单元确定出的页面的信息发送给所述终端。
在一种可能的实现方式中,所述处理器,具体用于:根据所述访问顺序,确定多个终端在访问第一页面后访问第二页面的概率越大,则确定所述第一页面与所述第二页面之间的关联度越高。
在一种可能的实现方式中,所述处理器,还用于:根据各页面之间的关联度,对所述应用的程序进行拆分,拆分为主包和至少一个子包。
所述处理器,在通过所述通信接口将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端时,具体用于:通过所述通信接口将所述应用的主包发送给所述终端,所述主包中包括运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息;或者,通过所述通信接口将所述应用的主包和第一子包发送给所述终端,所述主包中包括运行所述应用的必要信息和所述应用的主页面信息,所述第一子包包括与所述主页面关联度最高的子页面的信息。
在一种可能的实现方式中,所述处理器,还用于:通过所述通信接口将各页面与所述至少一个子包之间的对应关系发送给所述终端;通过所述通信接口接收所述终端发送的下载第二子包的请求,其中,所述终端在确定待访问页面的信息未下载时,根据所述对应关系确定出所述待访问页面信息所在的第二子包;通过所述通信接口将第二子包发送给所述终端。
在一种可能的实现方式中,所述主包的大小,小于第一预设阈值;和/或,每个所述子包的大小均小于第二预设阈值。
在一种可能的实现方式中,所述主包和每个所述子包中均包含有所述服务器的签名信息。
第三方面,本申请实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现第一方面或上述第一方面的任意一种设计提供的方法。
附图说明
图1为本申请实施例提供的免安装应用程序下载方法流程示意图之一;
图2为本申请实施例提供的免安装应用程序下载方法流程示意图之二;
图3为本申请实施例提供的服务器结构示意图之一;
图4为本申请实施例提供的服务器结构示意图之二。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
免安装应用程序可以无需安装过程,终端下载程序包后可以直接运行,便于用户操作。此外,还可以在一个应用中加载另一个免安装应用程序,如微信小程序等。例如,用户可以在应用A中点击免安装程序B的图标,则终端将加载应用B的程序包并运行,由于应用B的程序包较小可以快速下载完成,且免去安装过程,用户可以快速使用应用B,达到即点即用的效果;而当用户关闭应用B后,终端可以自动释放该应用B占用的资源,避免长期占用终端中的存储空间,因此用户不必担心下载、安装大量应用导致终端存储空间不足的问题。
免安装应用程序能够为用户带来较好的用户体验,但也存在一定的局限性。目前,在下载免安装应用的程序包时,一般是将程序包一次性载下完成,若要达到即点即用的效果,免安装应用的程序包不能过大,否则下载时间过长将会降低用户体验。提供免安装应用的应用或平台,通常会对免安装应用的程序包大小进行限制,限制程序包大小不超过2MB或4MB等等。
然而,对于一些功能页面较多的应用来说,想要将程序包大小控制在较小范围内,通常比较困难。为了实现较大应用程序也能够满足用户“即点即用”的需求,本申请实施例提供了一种免安装应用程序下载方法。
参见图1,为本申请实施例提供的免安装应用程序下载方法的流程示意图,如图所示,该方法可以包括以下步骤:
步骤101、服务器接收终端发送的下载免安装应用的请求。
当用户想要使用某个免安装应用时,例如用户点击某个免安装应用的图标,终端则向服务器发送下载该免安装应用的请求。
步骤102、服务器将运行该应用的必要信息、该应用的主页面信息以及与主页面关联度最高的子页面信息发送给终端。
具体地,上述关联度,是服务器根据获取到的多个终端对该应用中包括的各页面的访问顺序取得出的。
运行该应用的必要信息,可以为,不论终端请求访问应用中的哪些页面,只要运行该应用就应当获取的信息。例如,应用的名称、图标、全局应用变量等等。
一个应用中通常可以包括多个页面。其中,当用户选择打开一个应用后,首先展示给用户的页面称为主页面,其他页面则称为子页面。例如,终端运行一个购物类应用,首先展示给用户的页面为主页面,该主页面上可以包括为用户推荐的商品展示信息,用户信息等;用户通过点击“我的信息”的标识,进入“我的信息”页面,该页面即为子页面;在进入“我的信息”页面后,用户通过点击“会员信息”标识,进入“会员信息”页面,该页面也为子页面。又例如,一个游戏类应用中,可以包括用于展示游戏信息的主页面,还可以包括对战游戏子页面、单机游戏子页面以及战绩排行子页面等。
服务器针对一个免安装应用,可以提前获取多个终端对应用中各页面的访问顺序,即获取用户的使用习惯,确定各页面之间的关联度。可选地,若服务器确定多个终端在访问页面1后,访问页面2的概率越大,则认为页面1与页面2之间的关联度越高。例如,一款购物类应用,服务器可以获取众多终端的操作信息,确定当终端访问“我的”页面后,50%的终端会继续访问“我的收藏”页面,而10%的终端会访问“我的订单”页面,则服务器确定“我的”页面与“我的收藏”页面之间的关联度较高,而与“我的订单”页面的关联度较低。又例如,对游戏类应用,服务器根据众多终端的操作信息,确定当终端打开该应用的主页面后,60%的终端会访问“实时对战”页面,与其他用户进行游戏对战,而30%的终端会访问“单机模式”页面,还有10%的终端会访问“战绩排行”页面查看排行榜;服务器则确定该游戏应用的主页面与“实时对战”页面的关联度最高,与“单机模式”页面的关联度次之,与“战绩排行”页面的关联度最低。
服务器获取到的终端对应用中各页面访问顺序的信息,可以的从终端处获取的,也可以是由其他设备发送给服务器的,或者,还可以是人工输入到服务器中的。例如,终端可以在打开应用后周期性的其访问页面的信息,或者,也可以在每访问一个页面后及时将访问页面信息上报给服务器。又例如,服务器可以向终端发送上报页面访问信息的指令,终端根据指令周期性或实时上报该终端访问的页面信息。再例如,还可以由其他服务器执行收集多个终端访问页面顺序的任务,然后将统计结果发送给该提供免安装应用下载服务的服务器。
此外,在获取应用中各页面访问顺序的信息时,可以获取多个终端的页面访问信息,还可以获取同一终端的多次使用该应用时的页面访问信息,因为即使同一用户通过同一终端多次打开一个免安装应用,对各页面的访问顺序也未必相同。
在一种可能的实现方式中,服务器在确定一个应用中各页面之间的关联度后,还可以对该应用的程序进行拆分,拆分为主包和至少一个子包。
其中,主包中包括运行该应用的必要信息,以及该应用的主页面信息,即用户打开该应用后首先进入的页面的信息。进一步地,主包中除了运行该应用的必要信息以及该应用的主页面信息之外,还可以包括与主页面关联度最高的子页面的信息,以使终端在下载主包并运行该应用访问主页面后,较大概率要继续访问的页面的信息也被包含在主包中,避免终端多次下载。此外,主包中还可以包括该应用的版本号、该应用支持的系统环境等信息。
子包中可以包括至少一个子页面的信息,子包中包含的信息可以为运行该应用的非必要信息,例如,终端在运行购物类应用时,“已完成订单”页面的信息不是运行该应用的必要信息,且考虑到用户在打开该应用后较小概率立即进入“已完成订单”页面,则服务器可以将“已完成订单”页面信息打包在子包中。
上述主包或子包中包含的页面信息可以为页面的地址,如页面的统一资源定位符(uniform resource locator,url)。
服务器根据确定出的页面间关联度对程序包进行拆分,能够使得拆分后的主包、子包更贴合用户需求。举例说明,若服务器确定出一款游戏应用中,主页面与“实时对战”页面的关联度最高,与“单机模式”页面的关联度次之,与“我的战绩”页面的关联度最低。服务器根据确定出的关联度,可以将主页面与“实时对战”页面的信息放入主包中,将“单机模式”页面和“我的战绩”页面的信息放入子包中。终端在下载该应用的过程中,先下载主包,使得终端能够顺利运行该应用的主页面;由于用户较大可能选择进入“实时对战”页面,因而将“实时对战”页面与主页面的信息打包在主包中,有利于用户直接进入“实时对战”页面而无需下载其他子包,更有助于提高用户体验;由于用户较小可能选择进入“单机模式”页面以及“我的战绩”页面,故将“单机模式”页面和“我的战绩”页面打包在子包中,可以在用户有需求时再将子包发送给终端。
若服务器对应用程序进行了拆分,相应地,在上述步骤102中,服务器可以将主包(包括运行应用的必要信息、主页面信息以及与主页面关联度最高的子页面信息)发送给终端,或者,也可以将主包(包括运行应用的必要信息和主页面信息)和包含有与主页面关联度最高的子页面信息的子包发送给终端。
此外,为了进一步满足快速下载、即点即用的用户需求,服务器在对应用的程序包进行拆分时,还可以对拆分后的主包、子包的大小进行限制,即拆分后的主包大小,小于第一预设阈值,子包大小小于第二预设阈值。例如,主包大小不超过4M,子包大小不超过2M。当然,第一预设阈值与第二预设阈值也可以相同。在确定第一预设阈值以及第二预设阈值时,可以参考常用网络的下载速率、用户可接受下载时间等,此外,还可以参考免安装应用程序提供平台对应用程序包大小的限制因素等。
服务器为终端提供的应用程序包中,通常包含有服务器添加的签名信息,以防止程序包被非法篡改。而在上述实施例中,由于服务器对程序包进行了拆分,拆分为主包和至少一个子包,为了防止每个主包或子包被篡改,服务器可以为拆分后得到的每个包添加该服务器的签名信息,以保证拆分后的每个包的安全性、合法性。
在一种可能的实现方式中,服务器在对程序包进行拆分时,还可以进一步生成页面与子包之间的对应关系。例如,若服务器将购物类应用中的“购物车”页面(页面1)的信息打包到子包1中,将“已完成订单”页面(页面2)的信息打包到子包2中,将“我的收藏”页面(页面3)的信息打包到子包3中,则服务器确定页面1对应子包1,页面2对应子包2,页面3对应子包3;当用户想要访问页面1时,且终端已下载的程序包中不包含页面1的信息,则终端可以向服务器发送访问页面1的请求,服务器可以根据页面与子包之间的对应关系,将子包1发送给终端。通常情况下,由于主页面信息已携带在主包中发送给终端,终端后续请求获取的页面信息不会是主页面信息,因此,服务器生成的上述页面与子包之间的对应关系中,通常为各子页面与子包之间的对应关系。此外,若主包中还包括与主页面关联度较高的一个或多个子页面的信息,那么上述对应关系中,与可以不包括这些主包中已包含的子页面的对应信息。当然,上述对应关系中也可以包括主页面与主包的对应关系,还可以包括主包中包含的子页面与主包的对应关系,本申请实施例对此不做限制。
进一步地,服务器还可以将各页面与子包之间的对应关系发送给终端,那么终端在确定用户请求的待访问页面的信息还未下载时,终端可以根据上述对应关系确定待访问页面信息所在的子包,并向服务器发送下载该子包的请求。例如,用户操作终端打开应用A后,想要访问应用A中的页面2,而页面2的信息没有被下载,则终端根据已下载的主包中包含的页面与子包之间的对应关系,确定页面2对应子包2,进而向服务器发送下载子包2的请求。
在上述终端获取子包的过程中,终端是在接收到用户访问页面的指令后,判断是否需要下载子包。而在另一种可能的实现方式中,终端也可以在没有下载任务或下载任务较少时,主动向服务器发送下载子包的请求。例如,终端下载应用A的主包并运行应用A后,用户正在浏览应用B主页面上显示的内容,此时终端可能没有正在执行的下载任务,或终端仅需下载少量信息更新主页面所显示的内容,此时,终端可以主动向服务器发送获取子包的请求,从而实现在不影响用户当前操作体验的情况下下载应用子包,有助于加快用户后续打开其他页面的速度,提高用户体验。
此外,服务器也可以主动向终端发送应用的子包。例如,终端下载了游戏应用B的主包,若用户当前正在进行游戏,由于游戏过程中终端可能需要下载实时信息,服务器可以在非游戏时段向终端发送该应用的其他子包,如“战绩排行”页面的信息所在子包。
进一步地,服务器还可以根据终端当前运行的页面以及确定出的各页面之间的关联度,向终端发送应用的子包。例如,若终端当前正在运行页面1,服务器根据各页面之间关联度确定与页面1关联度从高到低依次为页面2、页面3、页面4...,其中,页面2与页面1的信息均被打包在子包1中,页面3和页面4被打包在子包2中,而终端已经下载了子包1,故服务器可以将终端未下载的子包2发送给终端。
当然,若服务器未对该应用的程序进行拆包,那么服务器可以从终端当前未下载相应信息的页面中,确定与终端当前访问页面关联度最高的页面的信息,并将该信息发送给终端。
在本申请实施例中,服务器在接收到下载免安装应用的请求后,并没有一次性将应用程序的全部内容发送给终端,而是先发送运行应用的必要信息、主页面信息,以使终端能够正常运行该应用,缩短初次下载时间,实现即点即用的效果。此外,由于服务器还将与主页面关联度最高的子页面信息一同发送给终端,即,将终端较大可能要继续访问的页面的信息发送给终端,有助于减少终端后续下载子页面信息的次数。
为了清楚理解本申请上述实施例,下面进行举例说明。
服务器接收到开发者上传的免安装应用A的程序包,由于应用A的程序包大小超过阈值,服务器对应用A进行初次拆分,由于此次拆分时服务器未获得用户关于应用A的操作信息,无法分析应用A中各页面之间的关联度,因此,服务器可以仅进行简单拆分,以保证拆分后的主包、每个子包的大小不超过预设阈值。在应用A被多个用户下载、使用后,服务器从终端处获取用户的操作信息,即终端访问各页面的顺序信息,分析应用A中各页面之间的关联度,并根据关联度对应用A的程序包进行重新拆分。根据页面关联度拆分后的主包、子包更符合用户的操作需求,有助于减少下载子包的次数。
服务器对根据页面关联度对应用A的程序包进行智能拆分后,终端与服务器之间的交互流程可以如图2所示。
步骤201、终端接收用户使用免安装应用A的指令。
步骤202、终端向服务器发送下载应用A的请求。
步骤203、服务器将应用A的主包发送给终端,该主包中可以包括如表1所示的信息。
表1
名称 | 描述 |
应用包标识 | 应用A程序包的唯一标识 |
应用名称 | 应用A的名称,可在桌面图标、弹窗等地方显示的名称 |
图标 | 应用A的图标 |
版本号 | 应用A的版本号 |
主页面url | 访问应用A主页面时使用的url |
子页面1url | 访问应用A子页面1时使用的url,子页面1与主页面关联度最高 |
对应关系 | 应用A中各页面与子包的对应关系 |
签名 | 服务器添加的签名信息,用于进行合法性校验 |
其中,对应关系可以如表2所示。
表2
页面 | 子包 |
子页面2 | 子包1 |
子页面3 | 子包2 |
子页面4 | 子包2 |
子页面5 | 子包3 |
... | ... |
步骤204、终端接收到主包后,根据签名信息进行合法性校验。若校验成功,则继续执行步骤205,否则流程结束。
步骤205、终端根据主包运行应用A。
步骤206、终端接收到访问子页面1的指令,并根据主包中包含的子页面1的url访问子页面1。
进一步地,
步骤207、终端接收到访问子页面3的指令,终端判断已下载的主包中不包含子页面3的信息,且根据页面与子包对应关系确定子页面3的信息包含于子包2中,则终端向服务器发送下载子包2的请求。
步骤208、服务器将子包2发送给终端。
或者,
步骤209、服务器获取到终端当前正在访问子页面3,根据页面之间的关联度,确定与子页面3关联度从高到低依次为子页面4、子页面5...,而页面4的信息所在的子包2已经发送给终端,但页面5的信息所在的子包3还未发送给终端,则服务器将子包3发送给终端。
在本申请上述实施例中,通过对应用程序包进行智能拆分,有助于缩短终端下载应用程序时的等待时间,从而达到“即点即用”的用户体验;此外,由于对程序包拆分时,考虑了用户的操作习惯,因此拆分后的主包、子包更符合用户的使用习惯,有助于减少终端下载子包的次数。
基于相同的技术构思,本申请实施例还提供了一种服务器,用于执行上述方法实施例中服务器的功能。参见图4,为本申请实施例提供的服务器300的结构示意图,如图所示,该服务器可以包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
所述处理器301,用于读取所述存储器303中预先存储的计算机程序执行:
通过所述通信接口304接收终端发送的下载免安装应用的请求;
通过所述通信接口304将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端;
其中,所述服务器根据获取的多个终端对所述应用中包括的各页面的访问顺序确定出所述关联度。
在一种可能的实现方式中,所述处理器301,还用于:根据终端当前访问的页面,以及当前访问的页面与其他页面的关联度,确定所述终端未下载的、且与所述当前访问的页面关联度最高的页面;通过所述通信接口304将所述处理单元确定出的页面的信息发送给所述终端。
在一种可能的实现方式中,所述处理器301,具体用于:根据所述访问顺序,确定多个终端在访问第一页面后访问第二页面的概率越大,则确定所述第一页面与所述第二页面之间的关联度越高。
在一种可能的实现方式中,所述处理器301,还用于:根据各页面之间的关联度,对所述应用的程序进行拆分,拆分为主包和至少一个子包;所述处理器301,在通过所述通信接口304将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端时,具体用于:通过所述通信接口304将所述应用的主包发送给所述终端,所述主包中包括运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息;或者,通过所述通信接口304将所述应用的主包和第一子包发送给所述终端,所述主包中包括运行所述应用的必要信息和所述应用的主页面信息,所述第一子包包括与所述主页面关联度最高的子页面的信息。
在一种可能的实现方式中,所述处理器301,还用于:通过所述通信接口304将各页面与所述至少一个子包之间的对应关系发送给所述终端;通过所述通信接口304接收所述终端发送的下载第二子包的请求,其中,所述终端在确定待访问页面的信息未下载时,根据所述对应关系确定出所述待访问页面信息所在的第二子包;通过所述通信接口304将第二子包发送给所述终端。
在一种可能的实现方式中,所述主包的大小,小于第一预设阈值;和/或,每个所述子包的大小均小于第二预设阈值。
在一种可能的实现方式中,所述主包和每个所述子包中均包含有所述服务器的签名信息。
处理器301可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,从而实现本申请上述实施例提供的免安装应用程序下载方法。
或者,可选的,本申请实施例中,也可以是处理器301执行本申请上述实施例提供的免安装应用程序下载方法中的相关功能,通信接口304负责与其他设备或通信网络通信,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU。
在具体实现中,作为一种实施例,该服务器可以包括多个处理器。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
基于相同的技术构思,本申请实施例还提供了一种服务器,用于执行上述方法实施例中服务器的功能。参见图4,为本申请实施例提供的一种服务器的结构示意图,如图所示,该服务器可以包括:接收单元401、处理单元402和发送单元403。其中,接收单元401和发送单元403可以用于实现上述实施例通信接口所实现的功能,处理单元可以用于实现上述处理器所实现的功能,此处不再一一描述。
本申请实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述免安装应用程序下载方法。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种免安装应用程序下载方法,其特征在于,包括:
服务器接收终端发送的下载免安装应用的请求;
所述服务器将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端;
其中,所述服务器根据获取的多个终端对所述应用中包括的各页面的访问顺序确定出所述关联度;
还包括:
所述服务器根据各页面之间的关联度,对所述应用的程序进行拆分,拆分为主包和至少一个子包;
所述服务器将各页面与所述至少一个子包之间的对应关系发送给所述终端;
所述服务器接收所述终端发送的下载第二子包的请求,其中,所述终端在确定待访问页面的信息未下载时,根据所述对应关系确定出所述待访问页面的信息所在的第二子包;
所述服务器将第二子包发送给所述终端。
2.如权利要求1所述的方法,其特征在于,还包括:
所述服务器根据终端当前访问的页面,以及当前访问的页面与其他页面的关联度,确定所述终端未下载的、且与所述当前访问的页面关联度最高的页面;
所述服务器将所述确定出的页面的信息发送给所述终端。
3.如权利要求1或2所述的方法,其特征在于,其中:
所述服务器根据获取的多个终端对所述应用中包括的各页面的访问顺序确定出所述关联度包括:所述服务器根据所述访问顺序,确定多个终端在访问第一页面后访问第二页面的概率越大,则确定所述第一页面与所述第二页面之间的关联度越高。
4.如权利要求1或2所述的方法,其特征在于,还包括:
所述服务器将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端,包括:
所述服务器将所述应用的主包发送给所述终端,所述主包中包括运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息;或者
所述服务器将所述应用的主包和第一子包发送给所述终端,所述主包中包括运行所述应用的必要信息和所述应用的主页面信息,所述第一子包包括与所述主页面关联度最高的子页面的信息。
5.如权利要求1或2所述的方法,其特征在于,所述主包的大小,小于第一预设阈值;和/或
每个所述子包的大小均小于第二预设阈值。
6.如权利要求1或2所述的方法,其特征在于,所述主包和每个所述子包中均包含有所述服务器的签名信息。
7.一种服务器,其特征在于,包括:处理器,以及与所述处理器连接的存储器和通信接口;
所述处理器,用于读取所述存储器中预先存储的计算机程序执行:
通过所述通信接口接收终端发送的下载免安装应用的请求;
通过所述通信接口将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端;
其中,所述服务器根据获取的多个终端对所述应用中包括的各页面的访问顺序确定出所述关联度;
所述处理器,还用于:
根据各页面之间的关联度,对所述应用的程序进行拆分,拆分为主包和至少一个子包;
通过所述通信接口将各页面与所述至少一个子包之间的对应关系发送给所述终端;
通过所述通信接口接收所述终端发送的下载第二子包的请求,其中,所述终端在确定待访问页面的信息未下载时,根据所述对应关系确定出所述待访问页面的信息所在的第二子包;
通过所述通信接口将第二子包发送给所述终端。
8.如权利要求7所述的服务器,其特征在于,所述处理器,还用于:
根据终端当前访问的页面,以及当前访问的页面与其他页面的关联度,确定所述终端未下载的、且与所述当前访问的页面关联度最高的页面;
通过所述通信接口将所述处理器确定出的页面的信息发送给所述终端。
9.如权利要求7或8所述的服务器,其特征在于,所述处理器,具体用于:
根据所述访问顺序,确定多个终端在访问第一页面后访问第二页面的概率越大,则确定所述第一页面与所述第二页面之间的关联度越高。
10.如权利要求7或8所述的服务器,其特征在于,所述处理器,还用于:
在通过所述通信接口将运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息发送给所述终端时,具体用于:
通过所述通信接口将所述应用的主包发送给所述终端,所述主包中包括运行所述应用的必要信息、所述应用的主页面信息以及与所述主页面关联度最高的子页面信息;或者
通过所述通信接口将所述应用的主包和第一子包发送给所述终端,所述主包中包括运行所述应用的必要信息和所述应用的主页面信息,所述第一子包包括与所述主页面关联度最高的子页面的信息。
11.如权利要求7或8所述的服务器,其特征在于,所述主包的大小,小于第一预设阈值;和/或
每个所述子包的大小均小于第二预设阈值。
12.如权利要求7或8所述的服务器,其特征在于,所述主包和每个所述子包中均包含有所述服务器的签名信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018102651734 | 2018-03-28 | ||
CN201810265173 | 2018-03-28 | ||
PCT/CN2018/096892 WO2019184156A1 (zh) | 2018-03-28 | 2018-07-24 | 一种免安装应用程序下载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111052072A CN111052072A (zh) | 2020-04-21 |
CN111052072B true CN111052072B (zh) | 2022-05-24 |
Family
ID=68059227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880055625.4A Active CN111052072B (zh) | 2018-03-28 | 2018-07-24 | 一种免安装应用程序下载方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11262995B2 (zh) |
EP (1) | EP3748493B1 (zh) |
CN (1) | CN111052072B (zh) |
WO (1) | WO2019184156A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593082B2 (en) * | 2020-04-10 | 2023-02-28 | Apple Inc. | Registered applications for electronic devices |
CN115686659A (zh) * | 2021-07-30 | 2023-02-03 | 花瓣云科技有限公司 | 快应用处理方法、电子设备与快应用系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360871A (zh) * | 2014-10-12 | 2015-02-18 | 厦门雅基软件有限公司 | 一种手机游戏安装快速启动方法 |
CN105447062A (zh) * | 2014-09-30 | 2016-03-30 | 中国电信股份有限公司 | 热点数据识别方法和装置 |
CN106250529A (zh) * | 2016-08-05 | 2016-12-21 | 成都佳荣科技有限公司 | 网页页面加载方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100487012B1 (ko) * | 1996-09-11 | 2005-06-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 프로그램의일부만수신한상태에서도당해프로그램을실행개시할수있는프로그램수신실행장치및그를위한프로그램송신장치 |
US6405239B1 (en) * | 1996-12-09 | 2002-06-11 | Scientific-Atlanta, Inc. | Using a hierarchical file system for indexing data broadcast to a client from a network of servers |
US6948134B2 (en) * | 2000-07-21 | 2005-09-20 | Microsoft Corporation | Integrated method for creating a refreshable Web Query |
US6757894B2 (en) * | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
KR100456022B1 (ko) * | 2001-11-20 | 2004-11-08 | 한국전자통신연구원 | 비피씨 정보단말을 위한 엑스엠엘 기반 웹 페이지 제공방법 및 그 시스템 |
JP2003202986A (ja) * | 2002-01-07 | 2003-07-18 | Fujitsu Ltd | Webページを介したデバイス・ドライバのインストール |
US20040006637A1 (en) | 2002-04-25 | 2004-01-08 | Pramote Kuacharoen | Methods and systems for transmitting application software |
US8166027B2 (en) * | 2006-03-30 | 2012-04-24 | International Business Machines Corporation | System, method and program to test a web site |
US20070288644A1 (en) | 2006-06-07 | 2007-12-13 | Cesar Augusto Rojas | Systems and methods for developing and running applications in a web-based computing environment |
US8065675B2 (en) * | 2007-03-21 | 2011-11-22 | Yahoo! Inc. | In-page installer |
US8539478B2 (en) * | 2008-06-20 | 2013-09-17 | International Business Machines Corporation | Dynamic web installer |
KR101456624B1 (ko) * | 2008-10-28 | 2014-11-04 | 삼성전자주식회사 | 화상형성장치, 및 웹 어플리케이션 설치 방법 |
US8234369B2 (en) * | 2008-12-23 | 2012-07-31 | Verizon Patent And Licensing Inc. | Web page response monitoring |
US20120016862A1 (en) | 2010-07-14 | 2012-01-19 | Rajan Sreeranga P | Methods and Systems for Extensive Crawling of Web Applications |
JP2013105241A (ja) * | 2011-11-11 | 2013-05-30 | Riso Kagaku Corp | 制御プログラム更新装置及び制御プログラム更新プログラム |
CN102520987B (zh) * | 2011-11-30 | 2014-11-05 | Tcl集团股份有限公司 | 应用程序在线体验与安装方法、装置、服务器及管理系统 |
CN102662712B (zh) | 2012-04-10 | 2015-11-18 | 深圳市腾讯计算机系统有限公司 | 获取、推送应用程序的方法、设备和系统 |
CN102799826B (zh) * | 2012-07-19 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 应用程序安装包解压过程的检测方法与装置、客户端设备 |
US20140250147A1 (en) | 2013-03-01 | 2014-09-04 | Quixey, Inc. | Generating Search Results Containing State Links to Applications |
US9323514B2 (en) * | 2013-05-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Resource package indexing |
US20140359606A1 (en) * | 2013-05-30 | 2014-12-04 | Microsoft Corporation | Bundle package retrieving |
US9891907B2 (en) * | 2014-07-07 | 2018-02-13 | Harman Connected Services, Inc. | Device component status detection and illustration apparatuses, methods, and systems |
CN106559484A (zh) | 2016-11-14 | 2017-04-05 | 北京海誉动想科技股份有限公司 | 实例系统免安装运行应用的方法 |
US10789315B1 (en) * | 2017-07-19 | 2020-09-29 | United Services Automobile Association (Usaa) | Content curation application and graphical user interface |
CN107704287B (zh) | 2017-09-28 | 2021-04-06 | 努比亚技术有限公司 | 程序应用免安装方法、移动终端及计算机可读存储介质 |
CN107809491A (zh) * | 2017-11-30 | 2018-03-16 | 北京小米移动软件有限公司 | 安装包的下载方法及装置 |
CN108363528B (zh) * | 2018-02-13 | 2020-04-10 | Oppo广东移动通信有限公司 | 应用页面的启动方法、装置、存储介质及电子设备 |
-
2018
- 2018-07-24 US US16/980,474 patent/US11262995B2/en active Active
- 2018-07-24 CN CN201880055625.4A patent/CN111052072B/zh active Active
- 2018-07-24 EP EP18912441.5A patent/EP3748493B1/en active Active
- 2018-07-24 WO PCT/CN2018/096892 patent/WO2019184156A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447062A (zh) * | 2014-09-30 | 2016-03-30 | 中国电信股份有限公司 | 热点数据识别方法和装置 |
CN104360871A (zh) * | 2014-10-12 | 2015-02-18 | 厦门雅基软件有限公司 | 一种手机游戏安装快速启动方法 |
CN106250529A (zh) * | 2016-08-05 | 2016-12-21 | 成都佳荣科技有限公司 | 网页页面加载方法 |
Also Published As
Publication number | Publication date |
---|---|
US11262995B2 (en) | 2022-03-01 |
WO2019184156A1 (zh) | 2019-10-03 |
EP3748493A1 (en) | 2020-12-09 |
CN111052072A (zh) | 2020-04-21 |
EP3748493B1 (en) | 2023-04-05 |
US20210019130A1 (en) | 2021-01-21 |
EP3748493A4 (en) | 2021-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032388B2 (en) | Methods for prerendering and methods for managing and configuring prerendering operations | |
CN112513811B (zh) | 按需网络代码执行系统中的操作系统定制 | |
EP2989543B1 (en) | Method and device for updating client | |
US11019179B2 (en) | Access to network content | |
US10261811B2 (en) | Systems and methods for contextually allocating emulation resources | |
US20200404046A1 (en) | Application Download Method and Apparatus, Application Sending Method and Apparatus, and System | |
CN104754062B (zh) | 基于互联网的信息推广方法、服务器及用户终端 | |
US20120227032A1 (en) | Method, apparatus, and system for invoking widget | |
CN112473144A (zh) | 游戏资源数据的处理方法及装置 | |
US9253228B2 (en) | Cloud computing method, computing apparatus and server using the same | |
CN104111847A (zh) | 一种提高游戏运行速度的方法及装置 | |
US10242102B2 (en) | Network crawling prioritization | |
CN111052072B (zh) | 一种免安装应用程序下载方法及装置 | |
CN110888658A (zh) | 应用程序中功能模块的动态化方法、装置及存储介质 | |
CN109032693B (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN112672187B (zh) | 页面生成方法、装置、计算机设备及可读存储介质 | |
CN117724852A (zh) | 一种云电脑计算资源分配方法及装置 | |
CN112395034A (zh) | 页面显示方法、装置、电子设备和存储介质 | |
JP5643449B1 (ja) | 端末装置に表示画面を表示させるサーバ及び方法 | |
CN115987685A (zh) | 一种云服务数据共享方法及系统 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
US20130286050A1 (en) | Content auto-fit method and system | |
CN116661897A (zh) | 游戏生态数据访问方法、设备和存储介质 | |
CN115687819A (zh) | 一种web页面访问方法及装置 | |
CN117725329A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |