CN107205014B - 一种应用程序下载方法及客户端 - Google Patents
一种应用程序下载方法及客户端 Download PDFInfo
- Publication number
- CN107205014B CN107205014B CN201710244671.6A CN201710244671A CN107205014B CN 107205014 B CN107205014 B CN 107205014B CN 201710244671 A CN201710244671 A CN 201710244671A CN 107205014 B CN107205014 B CN 107205014B
- Authority
- CN
- China
- Prior art keywords
- application program
- information
- client
- downloading
- version
- 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
Images
Classifications
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用程序下载方法及客户端,能够一体化支持游应用程序的下载、安装、升级及登陆。本发明实施例的方法包括:当客户端接收到下载指令时,获取应用程序的最新版本的下载链路信息;根据最新版本的下载链路信息,下载并安装游戏应用程序的安装包和/或升级包;获取从客户端界面输入的登陆信息,通过登陆信息获取票据信息,票据信息包括签名和通信密钥;将票据信息载入到应用程序,并通过票据信息启动应用程序。本发明实施例中,通过该客户端能够自动完成应用程序运行前的下载、安装、升级及登陆游戏应用程序的过程,无需用户进行额外操作,能够减少用户操作。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种应用程序下载方法及客户端。
背景技术
游戏下载器是一种下载游戏客户端的辅助下载工具。
图1所示为现有技术中的游戏下载至登陆的流程,如图1所示,目前个人电脑(Personal Computer,PC)端的游戏下载器仅通过游戏下载引擎实现游戏客户端的下载。在下载过程中,需要玩家选择保存目录存放下载文件,在游戏客户端下载完成后,玩家从下载目录中找到下载文件,点击下载文件开始安装,例如,现有技术中通过Nullsoft脚本安装***(Nullsoft Scriptable Install System,NSIS)内核实现游戏客户端的安装。在游戏客户端安装完成后,玩家再通过安装的游戏客户端登陆,如果游戏版本更新较快,玩家还得继续对游戏客户端进行多次升级后才能顺利登陆游戏客户端。登陆之后,还需要等创建角色等步骤之后才能进入游戏。
目前的游戏下载器从下载到登陆游戏的链路较长,用户操作繁琐。
发明内容
本发明实施例提供了一种应用程序下载方法及客户端,能够支持应用程序的一体化下载、安装、升级及登陆,减少用户操作。
第一方面,本发明实施例提供了一种应用程序下载方法,该方法包括:
当接收到下载指令时,获取应用程序的最新版本的下载链路信息;根据最新版本的下载链路信息,下载并安装应用程序的安装包和/或升级包;获取从客户端界面输入的登陆信息,通过登陆信息获取票据信息,票据信息包括签名和通信密钥;将票据信息载入到应用程序,并通过票据信息启动应用程序。
第二方面,本发明实施例还提供了一种客户端,从功能模块的角度来说,客户端包括以下几个功能单元:
下载链路获取单元,用于当接收到下载指令时,获取应用程序的最新版本的下载链路信息;
下载安装单元,用于根据最新版本的下载链路信息,下载并安装应用程序的安装包和/或升级包;
登陆信息获取单元,用于获取从客户端界面输入的登陆信息;
票据信息获取单元,用于通过登陆信息获取票据信息,票据信息包括签名和通信密钥;
应用程序启动单元,用于将票据信息载入到应用程序,并通过票据信息启动应用程序。
从以上技术方案可以看出,本发明实施例具有以下有益效果:
本发明实施例中的客户端在接收到下载指令后,能够获取应用程序的最新版本的下载链路信息;根据下载链路信息下载并安装应用程序的安装包和/或升级包;同时获取从客户端界面输入的登陆信息,通过登陆信息获取票据信息,将票据信息发送给应用程序,从而通过票据信息启动应用程序。本发明实施例中,通过该客户端能够自动完成前的下载、安装、升级及登陆的过程,无需用户进行额外操作,能够减少用户操作。
附图说明
图1为现有技术中用户下载至登陆游戏应用程序的流程;
图2为本发明实施例中的一种***逻辑架构示意图;
图3为本发明实施例中的另一种***逻辑架构示意图;
图4为本发明实施例中的另一种***逻辑架构示意图;
图5为本发明实施例中的网络服务器的一种部署结构示意图;
图6本发明实施例中的游戏下载方法的流程图;
图7本发明实施例中的一体化客户端的一种界面示意图;
图8本发明实施例中的一体化客户端的另一种界面示意图;
图9本发明实施例中的一体化客户端功能实现流程图;
图10发明实施例中的登陆过程中信息交互时序图;
图11发明实施例中的获取可选大区信息时的交互时序图;
图12发明实施例中的计算剩余时长过程中的信息交互时序图;
图13发明实施例中的一体化客户端的功能模块结构图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
本发明实施例适用于所有需要用户自行下载、安装、升级及登陆应用程序的应用场景,其中下载、安装、升级及登陆过程与用户的交互通过客户端实现,用户只需要进行普通的登陆即可,其他下载、安装、升级过程可以在后台一体化自行完成,不需要用户进行额外的操作。
需要说明的是,本发明实施例中的客户端也称一体化客户端。
本发明实施例中实现自动下载、安装、升级过程的应用程序可以是各种软件应用程序,例如:大型***、办公软件、游戏应用程序等。本发明实施例以游戏应用程序为例进行介绍。
本发明实施例中的游戏应用程序是指游戏客户端的游戏应用程序,一体化客户端即指集成了游戏应用程序下载、安装、升级及登陆等功能的游戏下载客户端,用户是指操作一体化客户端和游戏客户端的游戏玩家。
本发明实施例中一体化客户端的***逻辑架构图如图2或图3所示。
一体化客户端可以实现登陆、下载、安装、升级及数据上报等功能,每个功能在实现时,可以直接与对应的后端服务对接进行数据交互。其中,后端服务为部署在不同服务器上的功能模块。如图2所示,登陆功能与***后台的登陆服务(Login Server)进行交互;下载功能与***后台的下载服务、版本服务进行交互;数据上报与***后台的数据上报服务进行交互。
另一种***架构如图3所示,所有的后端服务经过统一接入管理模块进行中转控制,一体化客户端中的登陆、下载、安装、升级、及数据上报等功能通过统一接入管理模块与登陆服务、下载服务、数据上报服务、版本服务进行交互。
图4是与图2所示的逻辑架构图相对应的后台服务的详细模块说明。其中下载功能在实现时,具体需要与下载平台校验安装包是否是最新版本,需要通过连接服务连接到管理服务,其中管理服务通过代理服务从各游戏的版本服务中收集各游戏的版本。
管理服务还通过代理服务(Proxy Server)连接到数据接口平台,数据接口平台是提供游戏实时数据访问支撑的平台,可以通过数据接口平台与其他平台(例如:营销平台、游戏商城、运营服务***等)进行数据交互。管理服务与存储数据的Redis存储***以及存储日志的Mysql数据库连接进行数据交互。
安装、升级功能在实现时,需要通过连接服务获取下载到的最新版本进行安装、升级。
数据上报功能在实现时,通过日志服务(Log Server)记录日志,将其存储到Mysql数据库,Web服务可以Mysql数据库中获取日志进行分析和显示。
需要说明的是,图2、图3或图4中所示的逻辑架构图只是一种示例,其中的后台服务可以是游戏平台中为多个游戏应用程序提供服务的模块,也可以是为一款游戏独有的游戏后台服务。一体化客户端中的每个功能在实现时,对应的后端服务可以根据实际的情况不同而不同,并不限于图2、图3或图4中所示的逻辑架构图中的几种后台服务。
下面对本发明实施例中的后台服务的部署进行介绍。
本发明实施例中的一种网络服务器部署图如图5所示:
网络服务器可以包括负载均衡器、连接服务器、管理服务器、接口服务器、数据服务器、web服务器、日志服务器等服务器。其中的每种服务器可以是独立的服务器,也可以是服务器集群。
图5所示的网络服务器以及部署方式只是一种举例,在实际应用中,可以根据具体的情况进行部署。例如,可以只部署一台服务器,由一台服务器集成图5所示的所有服务器所实现的功能;还可以是分布式部署多台服务器。
其中,负载均衡器负责用户设备上的一体化客户端以及前端多互联网服务提供商(Internet Service Provider,ISP)的接入以及负载均衡。
连接服务器负责接入连接管理、请求验证、转发等功能。管理服务器为后端服务调度管理中心,负责相关的逻辑结果处理,向接口服务器请求调用周边服务。图2、图3或图4上的版本服务、登陆服务以及下载服务都可以通过连接服务器和管理服务器实现。具体的,这些后台服务可以集成在一台服务器上,也可以分布式部署在多台服务器上,也可以是每一种服务有独立的服务器。为了方便,将承载版本服务的服务器称之为版本服务器,将承载登陆服务的服务器称之为登陆服务器,将承载下载服务的服务器称之为下载服务器。
接口服务器负责与其他平台(例如:营销平台、游戏商城、运营服务***等)进行数据交互,对应于图4中的数据接口平台。
日志服务器负责接收客户端上报的数据,数据库服务器提供日志数据分析,图2、图3或图4上的数据上报服务所提供的功能可以通过日志服务器和数据库服务器实现。
Web服务器提供前端运维配置管理,图4上的web服务所提供的功能可以通过Web服务器实现。
结合图6,下面对本发明实施例中的游戏下载方法进行详细介绍,该方法由一体化客户端执行。
一体化客户端提供客户端界面与用户进行交互,客户端界面上的呈现的信息可以如图7所示,包括账号信息输入入口、下载按钮、游戏展示/新手引导等信息。
601、当接收到下载指令时,获取游戏应用程序的最新版本的下载链路信息;
可选的,一体化客户端接收到的下载指令可以通过多种方式触发:
例如:当一体化客户端接收到用户的登陆指令,用户登陆过程中,或登陆成功后,自动触发下载指令,一体化客户端接收到登陆过程中触发的下载指令。
又例如:一体化客户端的客户端界面呈现的信息中包括触发下载的按钮,当用户在客户端界面点击触发下载的按钮时,一体化客户端接收到从客户端界面输入的下载指令。接收到下载指令后,获取游戏应用程序的最新版本的下载链接信息。
在生成一体化客户端时,在一体化客户端中预置了游戏客户端的完整包(即安装包)的下载链接,可选的,如果安装包需要升级,则同时也预置了升级包(即更新包)的下载链接。
获取游戏应用程序的最新版本的下载链接信息的过程包括:获取客户端中预置的下载链接,判断预置的下载链接指示的游戏应用程序的版本是否是版本服务器中的最新版本,若不是最新版本,则从版本服务器中获取游戏应用程序的最新版本的下载链路信息。其中,下载链接信息包括下载链接的内容分发网络(Content Delivery Network,CDN)路径、安装包和/或升级包的大小、md5等信息。
若预置的下载链接指示的游戏应用程序的版本是版本服务器中的最新版本,则直接获取预置的下载链接,根据该下载链接下载游戏应用程序。
602、根据最新版本的下载链路信息,下载并安装游戏应用程序的安装包和/或升级包;
在获取到游戏应用程序的最新版本的下载链路信息后,根据下载链接信息静默下载游戏应用程序的安装包。在下载完安装包之后,再静默安装安装包。
在安装完安装包后,如果下载链路信息中指示还需要下载该安装包的升级包,则再静默下载该安装包的升级包。之后,再静默安装升级包。
安装包和升级包都下载到默认的路径,可选的,用户可以选择存放安装包和升级包的目标路径。
其中,静默下载是指在后台自动下载,中间无需用户进行操作。静默安装是指在下载完后,自动获取安装包开始安装,无需用户进行操作。
在下载过程中,支持下载调速,断点续传,md5校验等功能。
603、获取从客户端界面输入的登陆信息,通过登陆信息获取游戏票据信息;
在步骤601和步骤602之前,或者执行步骤601和步骤602的同时,用户可以进行登陆。
用户在客户端界面输入登陆信息,登陆信息可以是用户名和密码,还可以是第三方账号信息,例如:QQ号、微信号账号等第三方平台的账号信息。
一体化客户端获取用户从客户端界面输入的登陆信息后,通过登陆服务验证登陆信息,验证通过后,登陆服务返回登陆游戏票据信息给游戏一体化客户端。其中,游戏票据信息包括游戏签名和通信密钥等信息。
游戏签名是指由登录服务管理的数字签名,通信密钥是指数字签名中用于解密的公钥。数字签名是用于验证信息的完整性。本发明实施例中的游戏数字签名及数字签名验证的过程可以是:由登录服务将原文生成摘要信息,将摘要信息用私钥加密,登录服务将加密的摘要信息与原文以及通信密钥一起发送给一体化客户端,一体化客户端在接收到原文和加密的摘要信息后,使用通信密钥解密被加密的摘要信息,然后用原文生成一份摘要信息,将使用原文生成的摘要信息与解密的摘要信息进行比对。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过。
604、将游戏票据信息载入到游戏应用程序,并通过游戏票据信息启动游戏应用程序。
在获取到游戏票据信息,待游戏应用程序的安装包和/或升级包都安装完后,一体化客户端将游戏票据信息载入到安装好的游戏应用程序中,同时使用游戏票据信息启动游戏应用程序。
具体的,将游戏票据信息载入到游戏应用程序的实现方式为:一体化客户端通过共享内存与游戏应用程序共享游戏票据信息。
可选的,在步骤603所描述的通过登陆信息获取游戏票据信息之后,一体化客户端还可以获取游戏应用程序的可选大区,在客户端界面上呈现可选大区,用户可以在客户端界面上从可选大区中选择目标大区。用户在客户端界面选择目标大区,一体化客户端接收从客户端界面输入的目标大区信息,将目标大区信息载入到游戏应用程序。
在步骤604中通过游戏票据信息启动游戏应用程序时,具体是按照目标大区信息启动游戏应用程序,进入目标大区。实际上,选择大区的过程就是选择要连接到的游戏服务器。
可选的,在步骤603所描述的通过登陆信息获取游戏票据信息之后,一体化客户端还可以获取游戏应用程序的可选游戏角色,在客户端界面上呈现可选游戏角色,用户可以在客户端界面上从可选游戏角色中选择目标角色。用户在客户端界面选择目标角色,一体化客户端接收从客户端界面输入的目标角色信息,将目标角色信息载入到游戏应用程序。
在步骤604中通过游戏票据信息启动游戏应用程序后,游戏应用程序加载用户选择的目标角色信息对应的游戏角色。
可选的,若在用户已有游戏角色的情况下,则可以使用用户已有的游戏角色。
可选的,在下载、安装和升级过程中,一体化客户端实时计算下载并安装安装包以及下载并安装升级包的总进展,并计算用户需要等待的剩余时长,在客户端界面显示总进展和用户需要等待的剩余时长。
可选的,在登陆、下载、安装及升级的过程中,生成下载安装包和/或升级包、安装安装包和/或升级包以及启动游戏应用程序中的日志,将日志保存至日志服务器。
在现有技术的游戏下载器中,从下载到登陆游戏的时间较长,下载、安装和升级的时间不可控。一般PC端游戏为了保证游戏画质、特效,安装包普遍较大,在当前网络环境下,客户端的下载依然需要用户等待一段较长的时间,在下载之后,还有漫长的解压安装过程。如果游戏应用程序的版本升级较快,用户还得继续对游戏应用程序进行多次升级后才能顺利登陆游戏客户端。而这一整套流程所需要的时间并不能提前预知用户,用户只能等待,并且还可能遇到例如下载失败,安装异常,升级错误等影响用户体验的情况。
而在本发明实施例中,一方面,通过一体化客户端能够自动完成游戏前的下载、安装及登陆游戏应用程序的过程,无需用户进行额外的操作,让游戏下载、安装、升级变得更加简单。以对用户最少的打扰来完成整个过程,减少用户的等待时间,让用户能够更快更友好地进入游戏,从而能够减少用户的异常流失。
另一方面,本发明实施例中,用户能够在一体化客户端中选择游戏的大区以及游戏角色,待游戏应用程序下载、安装升级后即可启动游戏应用程序进入相应的大区,加载选定的角色,从而能够使用户更快的进入游戏。
另一方面,在本发明实施例中,能够实时计算下载、安装、升级整个过程,用户需要等待的剩余时长,让用户对等待时间有预估。
另一方面,在本发明实施例中,能够生成日志,全面统一的进行数据上报,有利于数据分析,能够可更快地定位异常,为用户的异常流失分析提供必要的数据。
客户端界面上的呈现的信息除了图7所示的信息外,还可以包括如图8所示的游戏大区选择、角色选择、或游戏应用程序下载安装过程的进度条以及用户需要等待的剩余时长等信息。
图9所示为本发明实施例中游戏下载方法的另一种流程图,下面结合用户的使用场景对本发明实施例中的游戏下载方法过程进行说明。
用户在下载一体化客户端后,点击运行客户端,首先提示用户进行登陆,用户输入登陆信息后,登陆服务对登陆信息进行验证,验证后一体化客户端获取到游戏签名和通信密钥等游戏票据信息。
登陆成功后,一体化客户端通过查询数据库,获取可选的大区信息供用户选择,例如:可以通过腾讯互娱数据接口平台(ieod data interface plat,IDIP)查询获取当前大区供用户选择。用户从可选的大区信息中选择目标大区。
在登陆成功后,一体化客户端通过查询数据库,获取可选的游戏角色信息供用户选择,用户从可选的游戏角色信息中选择游戏角色。可选的,若在用户已有游戏角色的情况下,则可以使用用户已有的游戏角色。
在登陆之前,或在登陆的同时,用户在一体化客户端的界面上点击下载游戏客户端(即游戏应用程序),一体化客户端后台会校验预置的下载链接对应的安装包(完整包)是否是最新版本,如果是最新的版本,则自动开始下载,若不是最新的版本,则从版本服务器获取最新的下载链接,开始下载。下载完成后,进行静默安装,如果需要升级,则下载升级包进行版本升级,直到整个游戏客户端安装完成。
在下载、安装和升级的过程中,一体化客户端会动态展示当前下载、安装和升级游戏应用程序的总进展、预计剩余时长等信息。
在完成登陆和安装后,一体化客户端拉起游戏应用程序,即启动游戏客户端,并进入用户选定的目标大区,加载用户选定的游戏角色。
用户在整个下载、安装和升级游戏应用程序的过程中,只需要登陆、选定大区,其他均已后台自动实现,从而能够无需用户进行额外操作,能够减少游戏下载过程的用户操作。
下面对一体化客户端实现用户登陆,下载、安装及升级游戏应用程序、以及数据上报的过程中的信息交互进行详细介绍。
1、登陆
一体化客户端与游戏应用程序以及后台的登陆服务、数据中心进行交互完成登陆。
用户在一体化客户端上进行登陆,并进行大区的选择,待游戏应用程序完成下载、安装升级后,可以自动登陆到指定的大区,其时序图如图10所示,下面进行详细介绍:
1001、一体化客户端获得用户输入的登陆信息后,将用户的登陆信息发送给登录服务模块进行验证。
1002、登录服务模块发送验证请求给数据库,查询数据库是否有该登陆信息。
1003、若已有,则验证通过,数据库返回验证通过信息给登录服务模块。
1004、登录服务模块返回游戏签名和游戏秘钥等游戏票据信息给一体化客户端。
可选的,一体化客户端获取目标大区信息、目标角色信息。
1005、一体化客户端进行游戏应用程序的下载、安装、升级;
1006、若游戏应用程序已经安装完和升级完,则将游戏票据信息、目标大区信息、目标角色信息载入到游戏应用程序,启动游戏应用程序;
1007、当游戏应用程序启动后,游戏应用程序发送启动成功消息给一体化客户端。
1008、一体化客户端接收到启动成功消息,确定游戏应用程序启动后,一体化客户端自动退出。
需要说明的是:如果用户没有进行登陆,则不能启动游戏应用程序。但静默下载、静默安装和/或升级功能不受影响。
其中在用户登陆以后,可以通过后台服务请求查询获得可选的大区信息,以供用户从可选的大区信息中选择目标大区,从而一体化客户端获取目标大区信息。获得可选大区的时序图如图11所示,下面进行详细介绍:
1101、用户登陆一体化客户端;
1102、一体化客户端获得游戏票据信息后,向管理服务请求获取可选大区信息;
1103、管理服务将可选大区信息请求转发给代理服务;
1104、代理服务从数据接口平台获取可选大区信息;
1105、数据接口平台将可选大区信息返回给代理服务;
1106、代理服务将可选大区信息返回给管理服务;
1107、管理服务将可选大区信息返回给一体化客户端。
其中数据接口平台可以是例如IDIP(腾讯互娱数据接口平台)之类的接口平台。
2、下载
下载功能是一体化客户端最基本的功能之一,也是耗时最久的一个环节,为了提升下载速度以及带宽利用率,本发明实施例中的下载功能具有下载调速、支持断点续传,md5校验等功能。
除此之外,为了给用户提供相对准确的剩余时长(包括下载、安装与升级的总剩余时长),本发明实施例的一体化客户端动态计算剩余时长。获取最新版本的下载链路信息以及计算剩余时长的时序图如图12所示,下面进行详细介绍:
1201、一体化客户端向管理服务请求时长预估;
1202、管理服务向代理服务查询游戏应用程序的版本信息;
1203、代理服务将查询版本信息的请求转发给版本服务;
1204、版本服务返回该游戏应用程序的下载链路信息以及安装包和升级包的大小给代理服务(有升级包的时候才会返回升级包大小);
1205、代理服务将下载链路信息以及安装包和升级包的大小返回给管理服务。
1206、管理服务根据安装包和升级包的大小计算安装和升级总共所需时长;
1207、管理服务将下载链路信息以及安装包和升级包的大小以及总共所需时长返回给一体化客户端,一体化客户端将剩余时长显示在客户端界面;
1208、一体化客户端向下载平台发送请求,获取当前的下载速度;
1209、下载平台将根据当前的下载速度发送给一体化客户端;
1210、一体化客户端根据当前的下载速度动态计算和调整剩余时长,将剩余时长显示在客户端界面。
其中,版本服务对应的服务器为图5中所指的版本服务器,版本服务器中存储了各游戏应用程序的版本信息,一体化客户端可以通过版本服务获取到游戏应用程序的下载链路信息。版本服务收集各游戏应用程序的版本信息的方式包括:
1)版本服务通过爬虫自动获取各游戏版本服务器的升级目录,然后通过统一接口对外服务。
2)游戏版本服务器通过游戏升级时自动同步版本信息给版本服务,然后通过统一接口对外服务,实现类似于第三方预下载的升级服务。
3、安装和升级
游戏应用程序的安装包下载完成后,一体化客户端会自动进行静默安装,期间并不需要玩家进行任何操作。
其中,静默安装可使用TenSetup命令行模式指定\S实现,TenSetup内核为UnicodeNSIS2.46.5。操作命令格式可以是:TenSetup.exe-cl/PRODUCT_VERSION 1.0.0.2/LAST_VERSION 1.0.0.1。
完成安装后,如需要进行游戏版本升级,则自动下载相关的升级包,通过后台静默升级。具体的,若是腾讯游戏,通过后台静默升级的方式可以为:通过调用腾讯互娱游戏统一登陆接入服务(tencent client landing system,tcls)核心升级组件自动升级完成游戏应用程序的版本升级,升级完成后通过tcls拉起游戏应用程序的客户端。
整个安装和升级的过程,会在如图8所示的客户端界面提示进展。
4、数据上报
用户在进入游戏前的下载、安装、升级是一个相对漫长的过程,在任何一个环节都可能因为各种原因导致用户的流逝。为了实现数据的闭环,在整个自动下载、安装以及升级、启动游戏应用程序的过程中,每一步都通过用户数据报协议(User DatagramProtocol,UDP)进行详细的数据上报,即生成相应的日志,将日志保存至日志服务器。后续可以通过分析日志,不断优化游戏应用程序。
生成的日志的字段可以包括:
时间、游戏ID、账号、客户端IP、游戏所处阶段ID、错误代码、自定义数据......
生成的日志可以以文件的方式存储,通过load工具录入mysql数据库或者tdw数据库,以利于数据统计分析。
以上是对本发明实施例中的一体化客户端进行游戏下载方法进行的介绍,下面从功能模块角度对本发明实施例中的一体化客户端进行介绍。
如图13所示,本发明实施例中的一体化客户端从功能模块角度包括:
下载链路获取单元1301,用于当接收到从客户端界面输入的下载指令时,获取游戏应用程序的最新版本的下载链路信息;
下载安装单元1302,用于根据所述最新版本的下载链路信息,静默下载并静默安装所述游戏应用程序的安装包和/或升级包;
登陆信息获取单元1303,用于获取从所述客户端界面输入的登陆信息;
游戏票据信息获取单元1304,用于通过所述登陆信息获取游戏票据信息,所述游戏票据信息包括游戏签名和通信密钥;
游戏应用程序启动单元1305,用于将所述游戏票据信息载入到所述游戏应用程序,并通过所述游戏票据信息启动所述游戏应用程序。
在一些具体的实施例中,下载链路获取单元1301,具体用于:
获取客户端中预置的下载链接,判断所述预置的下载链接指示的游戏应用程序的版本是否是版本服务器中的最新版本,若不是最新版本,则从所述版本服务器中获取所述游戏应用程序的最新版本的下载链路信息。
在一些具体的实施例中,所述下载安装单元1302,具体用于:
当所述预置的下载链接指示的游戏应用程序的版本是版本服务器中的最新版本时,根据所述预置的下载链接静默下载并静默安装所述游戏应用程序的安装包和/或升级包。
在一些具体的实施例中,所述一体化客户端还包括:
目标大区获取单元1306,用于在所述游戏票据信息获取单元1304通过所述登陆信息获取游戏票据信息之后,接收从所述客户端界面输入的目标大区信息,将所述目标大区信息发送至所述游戏应用程序;
所述游戏应用程序启动单元1305,具体用于通过所述游戏票据信息,按照所述目标大区信息启动所述游戏应用程序。
在一些具体的实施例中,所述一体化客户端还包括:
可选大区获取单元1307,用于在所述目标大区获取单元1306接收从所述客户端界面输入的目标大区信息之前,获取所述游戏应用程序的可选大区,所述目标大区信息对应的目标大区包括从所述可选大区中选择的大区。
在一些具体的实施例中,所述一体化客户端还包括:
目标角色获取单元1308,用于在所述游戏票据信息获取单元1304在所述获取游戏票据信息之后,接收从所述客户端界面输入的目标角色信息,将所述目标角色信息发送给所述游戏应用程序;
目标角色加载单元1309,用于通过游戏票据信息启动游戏应用程序后,游戏应用程序加载用户选择的目标角色信息对应的游戏角色。
在一些具体的实施例中,所述一体化客户端还包括:
剩余时长计算单元1310,用于在所述下载安装单元1302根据所述下载链路信息静默下载并静默安装所述游戏应用程序的安装包和/或升级包后,计算下载并安装所述安装包和/或升级包的剩余时长;
剩余时长显示单元1311,用于在所述客户端界面显示所述剩余时长。
在一些具体的实施例中,所述一体化客户端还包括:
数据上报单元1312,用于生成下载所述安装包和/或升级包、安装所述安装包和/或升级包以及启动所述游戏应用程序中的日志,将所述日志保存至日志服务器。
图13所示的各功能模块之间的信息交互请参阅图6至图12所示的实施例,本发明实施例不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种应用程序下载方法,其特征在于,所述方法包括:
一体化客户端当接收到下载指令时,获取应用程序的最新版本的下载链路信息;所述一体化客户端指集成了应用程序下载、安装、升级及登陆功能的下载客户端;所述下载指令在用户登陆所述一体化客户端过程中自动触发;
所述一体化客户端根据所述最新版本的下载链路信息,下载并安装所述应用程序的安装包;在安装完所述安装包后,如果所述下载链路信息中指示还需要下载该安装包的升级包,则下载并安装所述应用程序的升级包;
所述一体化客户端获取从所述一体化客户端的客户端界面输入的登陆信息,通过所述登陆信息获取票据信息,所述票据信息包括签名和通信密钥;
所述一体化客户端将所述票据信息载入到所述应用程序,并通过所述票据信息启动所述应用程序;其中,所述一体化客户端将所述票据信息载入到所述应用程序包括:所述一体化客户端通过共享内存与所述应用程序共享所述票据信息。
2.根据权利要求1所述的方法,其特征在于,所述获取应用程序的最新版本的下载链路信息包括:
获取客户端中预置的下载链接;
判断所述预置的下载链接指示的应用程序的版本是否是版本服务器中的最新版本,若不是最新版本,则从所述版本服务器中获取所述应用程序的最新版本的下载链路信息。
3.根据权利要求2所述的方法,其特征在于,
若所述预置的下载链接指示的应用程序的版本是版本服务器中的最新版本,则所述根据所述下载链路信息下载并安装所述应用程序的安装包和/或升级包,包括:
根据所述预置的下载链接下载并安装所述应用程序的安装包和/或升级包。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述通过所述登陆信息获取票据信息之后,启动所述应用程序之前,所述方法还包括:
接收从所述客户端界面输入的目标大区信息;
将所述目标大区信息载入到所述应用程序;
所述通过所述票据信息启动所述应用程序包括:
通过所述票据信息,按照所述目标大区信息启动所述应用程序。
5.根据权利要求1至3中任一项所述的方法,其特征在于,在所述获取票据信息之后,启动所述应用程序之前,所述方法还包括:
接收从所述客户端界面输入的目标角色信息;
将所述目标角色信息载入到所述应用程序。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述下载链路信息下载并安装所述应用程序的安装包和/或升级包后,所述方法还包括:
计算下载并安装所述安装包和/或升级包的剩余时长;
在所述客户端界面显示所述剩余时长。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
生成下载所述安装包和/或升级包、安装所述安装包和/或升级包以及启动所述应用程序中的日志,将所述日志保存至日志服务器。
8.一种客户端,其特征在于,所述客户端为一体化客户端,所述一体化客户端指集成了应用程序下载、安装、升级及登陆功能的下载客户端;包括:
下载链路获取单元,用于当接收到下载指令时,获取应用程序的最新版本的下载链路信息;所述下载指令在用户登陆所述一体化客户端过程中自动触发;
下载安装单元,用于根据所述最新版本的下载链路信息,下载并安装所述应用程序的安装包;在安装完所述安装包后,如果所述下载链路信息中指示还需要下载该安装包的升级包,则下载并安装所述应用程序的升级包;
登陆信息获取单元,用于获取从所述客户端界面输入的登陆信息;
票据信息获取单元,用于通过所述登陆信息获取票据信息,所述票据信息包括签名和通信密钥;
应用程序启动单元,用于将所述票据信息载入到所述应用程序,并通过所述票据信息启动所述应用程序;其中,所述将所述票据信息载入到所述应用程序包括:所述一体化客户端通过共享内存与所述应用程序共享所述票据信息。
9.根据权利要求8所述的客户端,其特征在于,
所述下载链路获取单元,具体用于获取客户端中预置的下载链接,判断所述预置的下载链接指示的应用程序的版本是否是版本服务器中的最新版本,若不是最新版本,则从所述版本服务器中获取所述应用程序的最新版本的下载链路信息。
10.根据权利要求9所述的客户端,其特征在于,
所述下载安装单元,具体用于当所述预置的下载链接指示的应用程序的版本是版本服务器中的最新版本时,根据所述预置的下载链接下载并安装所述应用程序的安装包和/或升级包。
11.根据权利要求8至10中任一项所述的客户端,其特征在于,所述客户端还包括:
目标大区获取单元,用于在所述票据信息获取单元通过所述登陆信息获取票据信息之后,接收从所述客户端界面输入的目标大区信息,将所述目标大区信息载入到所述应用程序;
所述应用程序启动单元,具体用于通过所述票据信息,按照所述目标大区信息启动所述应用程序。
12.根据权利要求8至10中任一项所述的客户端,其特征在于,所述客户端还包括:
目标角色获取单元,用于在所述票据信息获取单元在所述获取票据信息之后,接收从所述客户端界面输入的目标角色信息,将所述目标角色信息载入到所述应用程序。
13.根据权利要求8至10中任一项所述的客户端,其特征在于,所述客户端还包括:
剩余时长计算单元,用于在所述下载安装单元根据所述下载链路信息下载并安装所述应用程序的安装包和/或升级包后,计算下载并安装所述安装包和/或升级包的剩余时长;
剩余时长显示单元,用于在所述客户端界面显示所述剩余时长。
14.根据权利要求8至10中任一项所述的客户端,其特征在于,所述客户端还包括:
数据上报单元,用于生成下载所述安装包和/或升级包、安装所述安装包和/或升级包以及启动所述应用程序中的日志,将所述日志保存至日志服务器。
15.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有计算机程序,所述计算机程序由处理器执行如权利要求1-7任一项所述的应用程序下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710244671.6A CN107205014B (zh) | 2017-04-14 | 2017-04-14 | 一种应用程序下载方法及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710244671.6A CN107205014B (zh) | 2017-04-14 | 2017-04-14 | 一种应用程序下载方法及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107205014A CN107205014A (zh) | 2017-09-26 |
CN107205014B true CN107205014B (zh) | 2020-05-05 |
Family
ID=59904955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710244671.6A Active CN107205014B (zh) | 2017-04-14 | 2017-04-14 | 一种应用程序下载方法及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107205014B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101256A (zh) * | 2018-08-01 | 2018-12-28 | 北京奇安信科技有限公司 | 一种代理Agent动态加载方法及装置 |
CN111756682B (zh) * | 2019-03-26 | 2023-08-15 | 厦门雅基软件有限公司 | 游戏数据的确定方法、获取方法及其装置 |
CN111176670A (zh) * | 2019-12-31 | 2020-05-19 | 联想(北京)有限公司 | 一种安装时长的确定方法及装置 |
CN111800469A (zh) * | 2020-06-09 | 2020-10-20 | 当家移动绿色互联网技术集团有限公司 | 平台管理方法、装置、存储介质和电子设备 |
CN112230943A (zh) * | 2020-10-23 | 2021-01-15 | 维沃移动通信有限公司 | 应用程序的处理方法、装置及电子设备 |
CN112416412B (zh) * | 2020-11-28 | 2022-04-15 | 郑州信大捷安信息技术股份有限公司 | 基于子应用的热部署方法及*** |
CN112882768B (zh) * | 2021-02-07 | 2024-06-14 | 深圳市来玩科技有限公司 | 进度条加载方法、装置、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777317A (zh) * | 2005-12-16 | 2006-05-24 | 北京金山软件有限公司 | 一种实现无线终端程序更新的方法 |
CN102081536A (zh) * | 2010-12-30 | 2011-06-01 | 华为终端有限公司 | 一种增量升级方法及服务器 |
CN102195804A (zh) * | 2011-03-10 | 2011-09-21 | 易程(苏州)软件股份有限公司 | 软件自动更新方法及其*** |
CN102546675A (zh) * | 2010-12-08 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 软件升级***及方法 |
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新*** |
CN103873514A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 一种应用的安装文件获取方法、***及用户设备 |
CN105335190A (zh) * | 2015-10-12 | 2016-02-17 | 广州视睿电子科技有限公司 | 一种局域网内应用软件的自动升级方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083183A1 (en) * | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US9197600B2 (en) * | 2011-09-29 | 2015-11-24 | Israel L'Heureux | Smart router |
CN104702631B (zh) * | 2013-12-04 | 2018-04-10 | 航天信息股份有限公司 | 一种客户端软件的升级方法和*** |
-
2017
- 2017-04-14 CN CN201710244671.6A patent/CN107205014B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777317A (zh) * | 2005-12-16 | 2006-05-24 | 北京金山软件有限公司 | 一种实现无线终端程序更新的方法 |
CN102546675A (zh) * | 2010-12-08 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 软件升级***及方法 |
CN102081536A (zh) * | 2010-12-30 | 2011-06-01 | 华为终端有限公司 | 一种增量升级方法及服务器 |
CN102195804A (zh) * | 2011-03-10 | 2011-09-21 | 易程(苏州)软件股份有限公司 | 软件自动更新方法及其*** |
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新*** |
CN103873514A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 一种应用的安装文件获取方法、***及用户设备 |
CN105335190A (zh) * | 2015-10-12 | 2016-02-17 | 广州视睿电子科技有限公司 | 一种局域网内应用软件的自动升级方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107205014A (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107205014B (zh) | 一种应用程序下载方法及客户端 | |
US8707288B2 (en) | System for automatic management of applications on remote devices | |
CN111615716B (zh) | 在客户端机器之间分配着色器来进行预缓存 | |
US20140047429A1 (en) | Directing plug-in updates for a software application to a target audience using manifest parameters | |
EP2741474B1 (en) | System and method for providing distributed online services | |
US7937699B2 (en) | Unattended upgrade for a network appliance | |
US8935687B2 (en) | Incrementally updating a software appliance | |
US7376944B2 (en) | Hardware ROM upgrade through an internet or intranet service | |
US20150331676A1 (en) | Managing a software appliance | |
US8667086B2 (en) | Method, device, and system for downloading games | |
US8464332B2 (en) | Access gateway and method for providing cloud storage service | |
CN108595221A (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
US20210271493A1 (en) | Remote Component Loader | |
US20150039515A1 (en) | Interactive product improvement through the use of variants and data gathering reports in a system that can be updated on the fly | |
CN110008131B (zh) | 一种基于算法实现的区域ab实验管理的方法及装置 | |
KR101033813B1 (ko) | 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 | |
CN113986276A (zh) | 一种软件升级方法及相关装置、存储介质 | |
CN111679850B (zh) | 应用程序热更新处理方法、装置及*** | |
CN112402944A (zh) | 一种云游戏发布方法、平台、电子设备及存储介质 | |
CN111679842B (zh) | 应用程序热更新处理方法、装置及*** | |
EP2630750B1 (en) | Quality of service monitoring device and method of monitoring quality of service | |
CN117121040A (zh) | 户外广告的数字显示方法和*** | |
CN105871927A (zh) | 微端的自动登录方法及装置 | |
CN111249745B (zh) | 游戏部署方法、游戏运营方法、设备和存储介质 | |
CN118018557A (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 |