CN103841155A - 一种软件下载方法和软件下载装置 - Google Patents

一种软件下载方法和软件下载装置 Download PDF

Info

Publication number
CN103841155A
CN103841155A CN201210486599.5A CN201210486599A CN103841155A CN 103841155 A CN103841155 A CN 103841155A CN 201210486599 A CN201210486599 A CN 201210486599A CN 103841155 A CN103841155 A CN 103841155A
Authority
CN
China
Prior art keywords
software
download
redaction
downloading
upgrading
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.)
Granted
Application number
CN201210486599.5A
Other languages
English (en)
Other versions
CN103841155B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210486599.5A priority Critical patent/CN103841155B/zh
Priority to BR112015011584-5A priority patent/BR112015011584B1/pt
Priority to PCT/CN2013/087385 priority patent/WO2014079348A1/en
Priority to EP13856924.9A priority patent/EP2923480B1/en
Priority to US14/260,997 priority patent/US9158531B2/en
Publication of CN103841155A publication Critical patent/CN103841155A/zh
Application granted granted Critical
Publication of CN103841155B publication Critical patent/CN103841155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • H04L67/1055Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种软件下载方法和软件下载装置,其中方法包括:启动并运行软件;若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为非强制更新软件,则开启预下载进程下载所述新版本的软件;待所述软件的新版本下载完毕后启动软件更新进程,升级所述软件。该方案软件的下载过程并不影响用户的正常使用,实现了预下载功能,减少了用户等待时间,减少了软件下载对用户正常使用的干扰。

Description

一种软件下载方法和软件下载装置
技术领域
本发明涉及通信技术领域,特别涉及一种软件下载方法和软件下载装置。
背景技术
软件升级,是指软件开发者在编写软件的时候,由于设计人员考虑不全面、程序功能不完善等原因,在软件发布后,通过对程序的修改或加入新的功能和新特性,以补丁的形式发布的过程。通常将这些补丁的更新过程称为软件升级。
软件升级通常是为了更好的满足用户的需求和防止病毒的入侵。软件升级包括系统升级、应用程序升级等,其中应用程序升级就是下载安装最新版本的软件。应用软件通常会及时的提醒已经存在的可升级的软件版本及其功能。例如客户端软件的升级就是应用软件升级的一种,一些客户端软件的表现和交互非常复杂,同时具备个性化、多样化等特征。这使得客户端软件越来越大,例如大型网络游戏客户端,客户端的文件达到1G甚至是10G以上。
发明人在实现本发明实施例的过程中发现:在软件每一次新版本发布后,用户需要从服务器下载这些新版本软件,需要占用较多的下载时间,这样会导致用户需要等待较长时间,并且扰乱用户的正常使用。
发明内容
本发明实施例提供了一种软件下载方法和软件下载装置,用于实现预下载功能,减少用户等待时间,减少对用户正常使用的干扰。
一种软件下载方法,包括:
启动并运行软件;
若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为非强制更新软件,则开启预下载进程下载所述新版本的软件;
待所述软件的新版本下载完毕后启动软件更新进程,升级所述软件。
一种软件下载装置,包括:
软件运行控制单元,用于启动并运行软件;
下载进程控制单元,用于若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为非强制更新软件,则开启预下载进程下载所述新版本的软件;
更新进程控制单元,用于待所述软件的新版本下载完毕后启动软件更新进程,升级所述软件。
从以上技术方案可以看出,本发明实施例具有以下优点:在软件启动,确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为非强制更新软件,则开启预下载进程下载上述新版本的软件;待上述软件的新版本下载完毕后启动软件更新进程,升级上述软件。该方案软件的下载过程并不影响用户的正常使用,实现了预下载功能,减少了用户等待时间,减少了软件下载对用户正常使用的干扰。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例方法流程示意图;
图2为本发明实施例另一方法流程示意图;
图3为本发明实施例软件下载装置结构示意图;
图4为本发明实施例另一软件下载装置结构示意图;
图5为本发明实施例另一软件下载装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种软件下载方法,如图1所示,包括:
101:启动并运行软件;
可选地,本发明实施例还提供了强制更新的实现方案,具体为:在运行上述软件之前,还包括:若确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为强制更新软件,则在软件运行前开启软件升级进程下载上述软件的新版本,待上述软件的新版本下载完毕后启动软件更新进程,升级上述软件,然后运行上述软件。
可选地,本发明实施例还提供了使用灰度预下载技术控制游戏发布范围的具体实现方式,在101步骤中,启动软件后还包括:向服务器侧上报本地软件版本以及用户信息,使服务器按照服务器侧配置的软件发布策略确定是否向上述用户信息的对应终端发布有对应上述软件的新版本的信息;然后接收服务器反馈的服务器侧是否发布有对应上述软件的新版本的信息。上述用户信息可以包含:用户帐号、用户特征等,用户地理位置等各种信息,运营商则可以对应这些用户信息在服务器侧设置软件发布策略,例如:要实现将某一地理区域内的用户软件更新,则向用户地理位置在上述地理区域内的用户发布有对应上述软件的新版本的信息。
102:若确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为非强制更新软件,则开启预下载进程下载上述新版本的软件;
上述非强制更新软件包括:推荐更新软件和非必要更新软件,其中推荐更新软件(预下载推荐安装类)是重要性介于强制更新软件(预下载强制安装类)和非必要更新软件(预下载不安装类)之间的软件,其中强制更新软件是需要强制安装类的软件,一般是不更新就会影响软件的正常使用的重要新版本;而非必要更新软件则是即使已经下载也可以不用立刻更新的新版本,一般是不影响软件正常使用也不影响安全性及用户体验的非重要性更新,不用立刻更新这种类型的软件可以是用于减少必要更新软件同时下载对服务器的压力,推荐更新软件和强制更新软件提前发布的版本;推荐更新软件则是那些并不影响软件的正常使用,但是会影响到安全性、用户体验等方面的较为重要的新版本。后续实施例将就此给出一个实施例进行说明。
优选地,本发明实施例还提供了下载软件的同时不影响用户当前软件使用的实现方式,具体为:上述下载上述新版本的软件之前还包括:获取运行软件的网络环境需求;在下载上述新版本的软件过程中依据上述网络环境需求控制预下载进程的对带宽的占用率。
优选地,本发明实施例提供了能够减少提供软件资源的服务器的压力的实现方案,上述下载上述软件的新版本包括:采用P2P(Peer-to-Peer,端对端)协议下载上述软件的新版本。
进一步地,本发明实施例还提供了下载中途可能出现的软件关闭的两种处理方案,具体为:上述方法还包括:在软件关闭后退出上述预下载进程;若上述软件的新版本未下载完毕,在上述软件再次启动后开启上述预下载进程继续下载上述软件的新版本。或者,若上述软件的新版本未下载完毕,在退出上述预下载进程之前还包括:发出软件的新版本未下载完毕是否退出提示信息,若确认退出则退出上述预下载进程,否则继续下载上述新版本的软件。
优选地,本发明实施例还提供了用户随时控制预下载进程的方案,具体为:在预下载进程运行过程中,接收并执行下载速率控制指令或预下载进程关闭指令。
103:待上述软件的新版本下载完毕后启动软件更新进程,升级上述软件。
以上实施例方案,在软件启动,确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为非强制更新软件,则开启预下载进程下载上述新版本的软件;待上述软件的新版本下载完毕后启动软件更新进程,升级上述软件。该方案软件的下载过程并不影响用户的正常使用,实现了预下载功能,减少了用户等待时间,减少了软件下载对用户正常使用的干扰。
本发明实施例将就以上方案的三个部分进行分开说明如下:
一、预下载的启动
预下载进程的有效期可以设置为:在用户启动软件时开启,在用户退出软件时结束,即:预下载在软件关闭时退出。这样做可以减小预下载对用户设备的其他进程的影响。同时,为了不影响用户运行软件的最佳效果,可以在软件的配置文件中配置预下载和上传的最佳速率,用户在软件运行过程中取消或者暂停预下载进程。
预下载进程可以存在一定时期内,预下载可以采用多种策略进行控制,本发明实施例提供的策略包括:当运维需要将预下载变为强制更新或者运维在预下载的版本后配置了强制升级包时,服务器可以据此将预下载指令变为强制更新指令下发给客户端,实现强制更新。对于强制更新的情况,可以分两种处理方式:1、对于已经预下载完成或部分完成的用户,在自动更新过程继续下载资源,并支持断点续传功能。2、对于那些未执行过针对强制升级包的预下载的用户设备,可以执行强制更新的通道来下载更新资源并进行更新。
二、使用灰度预下载技术控制游戏发布范围
可以采用一定的策略控制预下载的范围。本发明实施例中,软件升级控制程序可以首先连接服务器,然后上报软件版本以及相关客户信息,比如:客户端版本号、用户帐号、用户特征等。那么,在版本服务器上则可以配置预下载策略在用户群体中实现的范围,例如,某一区域的用户提前进行预下载,然后逐渐扩散到全体用户。这样做的好处至少有:第一、减少过量用户同时下载软件的可能,从而降低下载服务器的负担,第二、若新发布的软件存在问题,能够及时回滚,用户影响面将会较小。
通过灰度预下载的方式,使预下载成功率大大提升,并且降低了运营风险。
三、使用P2P上传技术
由于预下载会在客户端存在一定时间,针对这一特性,可以利用P2P上传技术,对用户已下载的文件进行P2P上传,用户越多,P2P贡献率越高。这样可以减小服务器侧的带宽的压力和以及提供软件资源的服务器的压力。
采用以上方案从用户角度,本发明实施例提升了用户的体验,减少了用户在线等待升级的时间,而把这部分升级时间转移到用户正常使用软件的时间。
从运营商的角度来说,使用预下载技术,一方面可以在版本正式发布时,对带宽峰值进行消峰处理;另一方面,由于在软件正式发布时,已经有一部分用户下载完成或者下载了一部分,并且已下载部分的软件采用P2P上传,贡献种子,可以减小提供软件资源的服务器的压力。同时,按一定策略逐步扩大预下载的范围,对发布的游戏来说是一种比较保险的做法,先观察一段时间,没有问题,逐步扩大用户使用范围,即使发生错误,用户面影响也不大,方便快速、及时回滚。
以下实施例将就进行举例说明,该实施例的举例按预下载的类型进行分类并分别执行不同的可选流程,以客户端软件的更新为例,如图2所示,包括:
201:客户端收到预下载指令;本步骤可以是客户端确定服务器侧有可更新的新版本软件。
202:判断类型;本步骤实现对新版本软件的类型进行确定;
203:新版本软件属于预下载不安装类,进入本步骤;
204:不进行预下载升级,进入下一步;
205:启动软件,本步骤实现软件的正常使用;
206:启动预下载进程进行预下载。本步骤实现在不影响软件正常使用的前提下进行软件的下载。
207:新版本软件属于预下载强制安装类,进入本步骤;
208:升级界面进行预下载升级,由于软件不进行更新会影响到软件的正常使用,所以需要在软件运行前下载新版本软件;
209:升级成功,进入下一步;
210:启动软件,本步骤实现软件强制升级后的正常使用。
211:新版本软件属于预下载推荐安装类,进入本步骤;
212:使用升级界面启动推荐升级,来询问用户是否升级;
213:判断用户是否选择推荐升级,如果是,进入214,如果否,进入216;
214:升级界面进行预下载升级;由于用户在步骤213选择了升级,所以可以在软件运行前下载新版本软件;
215:启动软件,本步骤实现用户选择升级后的正常使用。
216:不进行升级,本步骤也可以默认为执行启动预下载进程进行预下载;
217:启动软件,本步骤实现软件的正常使用。
以上实施例中,至少在执行201~206的步骤可以实现案软件的下载过程不影响用户的正常使用,实现了预下载功能,减少了用户等待时间,减少了软件下载对用户正常使用的干扰。
本发明实施例还提供了一种软件下载装置,如图3所示,包括:
软件运行控制单元301,用于启动并运行软件;
下载进程控制单元302,用于若确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为非强制更新软件,则开启预下载进程下载上述新版本的软件;
更新进程控制单元303,用于待上述软件的新版本下载完毕后启动软件更新进程,升级上述软件。
以上实施例方案,在软件启动,确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为非强制更新软件,则开启预下载进程下载上述新版本的软件;待上述软件的新版本下载完毕后启动软件更新进程,升级上述软件。该方案软件的下载过程并不影响用户的正常使用,实现了预下载功能,减少了用户等待时间,减少了软件下载对用户正常使用的干扰。
进一步地,本发明实施例还提供了强制更新的实现方案,上述下载进程控制单元302,还用于在运行上述软件之前,若确定服务器侧发布有对应上述软件的新版本,并且上述软件的新版本为强制更新软件,则在软件运行前开启软件升级进程下载上述软件的新版本;
上述更新进程控制单元303,还用于待上述强制更新软件的软件的新版本下载完毕后启动软件更新进程,升级上述软件;
上述软件运行控制单元301,还用于待上述强制更新软件的软件的新版本升级完毕后,运行上述软件。
进一步地,本发明实施例还提供了下载软件的同时不影响用户当前软件使用的实现方式,如图4所示,上述软件下载装置,还包括:
环境获取单元401,用于在下载上述新版本的软件之前,获取运行软件的网络环境需求;
上述下载进程控制单元302,还用于在下载上述新版本的软件过程中依据上述网络环境需求控制预下载进程的对带宽的占用率。
进一步地,本发明实施例还提供了使用灰度预下载技术控制游戏发布范围的具体实现方式,如图5所示,上述软件下载装置,还包括:
上报单元501,用于在软件运行控制单元301启动软件后,向服务器侧上报本地软件版本以及用户信息,使服务器按照服务器侧配置的软件发布策略确定是否向上述用户信息的对应终端发布有对应上述软件的新版本的信息;
接收单元502,用于接收服务器反馈的服务器侧是否发布有对应上述软件的新版本的信息。
优选地,本发明实施例提供了能够减少提供软件资源的服务器的压力的实现方案,上述下载进程控制单元302,具体用于采用端对端协议下载上述软件的新版本。
进一步地,本发明实施例还提供了下载中途可能出现的软件关闭的两种处理方案,具体为:上述下载进程控制单元302,还用于在软件关闭后退出上述预下载进程;若上述软件的新版本未下载完毕,在上述软件再次启动后开启上述预下载进程继续下载上述软件的新版本。或者,进一步地,上述下载进程控制单元302,还用于若上述软件的新版本未下载完毕,在退出上述预下载进程之前发出软件的新版本未下载完毕是否退出提示信息,若确认退出则退出上述预下载进程,否则继续下载上述新版本的软件。
进一步地,本发明实施例还提供了用户随时控制预下载进程的方案,上述下载进程控制单元302,还用于在预下载进程运行过程中,接收并执行下载速率控制指令或预下载进程关闭指令。
值得注意的是,上述软件下载装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (16)

1.一种软件下载方法,其特征在于,包括:
启动并运行软件;
若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为非强制更新软件,则开启预下载进程下载所述新版本的软件;
待所述软件的新版本下载完毕后启动软件更新进程,升级所述软件。
2.根据权利要求1所述方法,其特征在于,在运行所述软件之前,还包括:
若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为强制更新软件,则在软件运行前开启软件升级进程下载所述软件的新版本,待所述软件的新版本下载完毕后启动软件更新进程,升级所述软件,然后运行所述软件。
3.根据权利要求1所述方法,其特征在于,所述下载所述新版本的软件之前还包括:获取运行软件的网络环境需求;
在下载所述新版本的软件过程中依据所述网络环境需求控制预下载进程的对带宽的占用率。
4.根据权利要求1至3任意一项所述方法,其特征在于,启动软件后还包括:
向服务器侧上报本地软件版本以及用户信息,使服务器按照服务器侧配置的软件发布策略确定是否向所述用户信息的对应终端发布有对应所述软件的新版本的信息;然后接收服务器反馈的服务器侧是否发布有对应所述软件的新版本的信息。
5.根据权利要求1至3任意一项所述方法,其特征在于,所述下载所述软件的新版本包括:采用端对端协议下载所述软件的新版本。
6.根据权利要求1至3任意一项所述方法,其特征在于,还包括:
在软件关闭后退出所述预下载进程;若所述软件的新版本未下载完毕,在所述软件再次启动后开启所述预下载进程继续下载所述软件的新版本。
7.根据权利要求6所述方法,其特征在于,若所述软件的新版本未下载完毕,在退出所述预下载进程之前还包括:
发出软件的新版本未下载完毕是否退出提示信息,若确认退出则退出所述预下载进程,否则继续下载所述新版本的软件。
8.根据权利要求1至3任意一项所述方法,其特征在于,在预下载进程运行过程中,接收并执行下载速率控制指令或预下载进程关闭指令。
9.一种软件下载装置,其特征在于,包括:
软件运行控制单元,用于启动并运行软件;
下载进程控制单元,用于若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为非强制更新软件,则开启预下载进程下载所述新版本的软件;
更新进程控制单元,用于待所述软件的新版本下载完毕后启动软件更新进程,升级所述软件。
10.根据权利要求9所述软件下载装置,其特征在于,
所述下载进程控制单元,还用于在运行所述软件之前,若确定服务器侧发布有对应所述软件的新版本,并且所述软件的新版本为强制更新软件,则在软件运行前开启软件升级进程下载所述软件的新版本;
所述更新进程控制单元,还用于待所述强制更新软件的软件的新版本下载完毕后启动软件更新进程,升级所述软件;
所述软件运行控制单元,还用于待所述强制更新软件的软件的新版本升级完毕后,运行所述软件。
11.根据权利要求9所述软件下载装置,其特征在于,还包括:
环境获取单元,用于在下载所述新版本的软件之前,获取运行软件的网络环境需求;
所述下载进程控制单元,还用于在下载所述新版本的软件过程中依据所述网络环境需求控制预下载进程的对带宽的占用率。
12.根据权利要求9至11任意一项所述软件下载装置,其特征在于,还包括:
上报单元,用于在软件运行控制单元启动软件后,向服务器侧上报本地软件版本以及用户信息,使服务器按照服务器侧配置的软件发布策略确定是否向所述用户信息的对应终端发布有对应所述软件的新版本的信息;
接收单元,用于接收服务器反馈的服务器侧是否发布有对应所述软件的新版本的信息。
13.根据权利要求9至11任意一项所述软件下载装置,其特征在于,
所述下载进程控制单元,具体用于采用端对端协议下载所述软件的新版本。
14.根据权利要求9至11任意一项所述软件下载装置,其特征在于,
所述下载进程控制单元,还用于在软件关闭后退出所述预下载进程;若所述软件的新版本未下载完毕,在所述软件再次启动后开启所述预下载进程继续下载所述软件的新版本。
15.根据权利要求14所述软件下载装置,其特征在于,
所述下载进程控制单元,还用于若所述软件的新版本未下载完毕,在退出所述预下载进程之前发出软件的新版本未下载完毕是否退出提示信息,若确认退出则退出所述预下载进程,否则继续下载所述新版本的软件。
16.根据权利要求9至11任意一项所述软件下载装置,其特征在于,
所述下载进程控制单元,还用于在预下载进程运行过程中,接收并执行下载速率控制指令或预下载进程关闭指令。
CN201210486599.5A 2012-11-26 2012-11-26 一种软件下载方法和软件下载装置 Active CN103841155B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201210486599.5A CN103841155B (zh) 2012-11-26 2012-11-26 一种软件下载方法和软件下载装置
BR112015011584-5A BR112015011584B1 (pt) 2012-11-26 2013-11-19 Método para atualizar software de jogo em um primeiro dispositivo de cliente, primeiro dispositivo de cliente, e meio de armazenamento
PCT/CN2013/087385 WO2014079348A1 (en) 2012-11-26 2013-11-19 Software download method and software download apparatus
EP13856924.9A EP2923480B1 (en) 2012-11-26 2013-11-19 Software download method and software download apparatus
US14/260,997 US9158531B2 (en) 2012-11-26 2014-04-24 Software download method and software download apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210486599.5A CN103841155B (zh) 2012-11-26 2012-11-26 一种软件下载方法和软件下载装置

Publications (2)

Publication Number Publication Date
CN103841155A true CN103841155A (zh) 2014-06-04
CN103841155B CN103841155B (zh) 2015-12-23

Family

ID=50775535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210486599.5A Active CN103841155B (zh) 2012-11-26 2012-11-26 一种软件下载方法和软件下载装置

Country Status (5)

Country Link
US (1) US9158531B2 (zh)
EP (1) EP2923480B1 (zh)
CN (1) CN103841155B (zh)
BR (1) BR112015011584B1 (zh)
WO (1) WO2014079348A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598262A (zh) * 2014-11-25 2015-05-06 深圳市腾讯计算机系统有限公司 一种移动应用更新方法及装置
CN105681383A (zh) * 2014-11-21 2016-06-15 腾讯科技(成都)有限公司 应用升级数据包下载方法、装置、终端、服务器及系统
CN105812435A (zh) * 2014-12-30 2016-07-27 腾讯科技(深圳)有限公司 应用升级数据包处理方法、装置、电子设备及系统
CN106155723A (zh) * 2015-04-13 2016-11-23 腾讯科技(深圳)有限公司 业务应用程序的升级方法和装置
CN106528248A (zh) * 2016-11-30 2017-03-22 惠州Tcl移动通信有限公司 一种移动终端基于软件完整性的下载方法及系统
CN106528186A (zh) * 2015-09-09 2017-03-22 阿里巴巴集团控股有限公司 资源文件的更新方法和装置
US9619244B2 (en) 2014-09-05 2017-04-11 Xiaomi Inc. Method and system for upgrading an electronic device
WO2017107830A1 (zh) * 2015-12-23 2017-06-29 北京金山安全软件有限公司 一种安装应用软件的方法、装置及电子设备
WO2017107831A1 (zh) * 2015-12-23 2017-06-29 北京金山安全软件有限公司 一种基于应用软件实现播报的方法、装置及电子设备
CN109901860A (zh) * 2019-02-21 2019-06-18 华数传媒网络有限公司 一种Android手机软件版本控制方法
CN110602229A (zh) * 2019-09-20 2019-12-20 中国银行股份有限公司 基于动态切片的终端系统版本下载方法、装置及系统
CN111142900A (zh) * 2019-12-17 2020-05-12 深圳市优必选科技股份有限公司 程序更新方法、装置及终端设备
CN111399730A (zh) * 2020-03-12 2020-07-10 北京字节跳动网络技术有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN112114869A (zh) * 2020-09-18 2020-12-22 聚好看科技股份有限公司 一种服务器、灰度发布方法、装置及介质
CN112698852A (zh) * 2020-11-30 2021-04-23 厦门亿联网络技术股份有限公司 App灰度升级方法、装置、终端设备及计算机可读存储介质
CN109413186B (zh) * 2018-10-31 2021-07-30 Oppo广东移动通信有限公司 应用程序更新方法、终端、服务器及系统
CN115174543A (zh) * 2022-07-29 2022-10-11 中国工商银行股份有限公司 一种版本更新发布时间确定方法及装置

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093493A1 (en) 2008-10-28 2011-04-21 Honeywell International Inc. Building management system site categories
WO2012055013A1 (en) * 2010-10-25 2012-05-03 Research In Motion Limited System and method for enabling applications to communicate using a peer-to-peer (p2p) system
JP5267598B2 (ja) * 2011-02-25 2013-08-21 トヨタ自動車株式会社 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
US9529349B2 (en) 2012-10-22 2016-12-27 Honeywell International Inc. Supervisor user management system
CN103853574B (zh) * 2012-12-06 2015-09-16 腾讯科技(深圳)有限公司 一种软件升级的方法及系统
WO2014197521A1 (en) 2013-06-03 2014-12-11 Seven Networks, Inc. Blocking/unblocking algorithms for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US20150312102A1 (en) * 2014-02-18 2015-10-29 Seven Networks, Inc. Policy management for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
CN103973547B (zh) 2014-04-29 2015-07-01 腾讯科技(深圳)有限公司 图片显示方法和装置
US9933762B2 (en) * 2014-07-09 2018-04-03 Honeywell International Inc. Multisite version and upgrade management system
WO2016043530A1 (en) 2014-09-18 2016-03-24 Samsung Electronics Co., Ltd. System and method for providing service via application
US9454358B1 (en) * 2015-03-06 2016-09-27 Omnitracs, Llc Distributed over the air programming
FR3034600A1 (fr) * 2015-03-31 2016-10-07 Orange Technique d'administration a distance
US10362104B2 (en) 2015-09-23 2019-07-23 Honeywell International Inc. Data manager
US10209689B2 (en) 2015-09-23 2019-02-19 Honeywell International Inc. Supervisor history service import manager
US9952953B2 (en) * 2015-11-02 2018-04-24 Microsoft Technology Licensing Llc Non-monotonic eventual convergence for desired state configuration
JP6323480B2 (ja) 2016-03-02 2018-05-16 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
US10360021B2 (en) * 2016-08-19 2019-07-23 Veniam, Inc. Systems and methods for reliable software update in a network of moving things including, for example, autonomous vehicles
CN108123816B (zh) * 2016-11-28 2021-06-29 北京小米移动软件有限公司 系统升级方法及装置
US11366652B1 (en) * 2017-03-27 2022-06-21 Amazon Technologies, Inc. Extending game functionality through dynamic resource allocation
US10353696B2 (en) * 2017-04-13 2019-07-16 Blackberry Limited Program release packages including program updates
US10360010B1 (en) * 2017-07-21 2019-07-23 Jpmorgan Chase Bank, N.A. Method and system for implementing an ATM management and software policy tool
CN107577478A (zh) * 2017-09-08 2018-01-12 湖南快乐阳光互动娱乐传媒有限公司 一种手机软件上线方法及系统
US10958760B2 (en) 2017-11-27 2021-03-23 International Business Machines Corporation Data processing system using pre-emptive downloading
WO2019149599A1 (en) * 2018-01-30 2019-08-08 Volkswagen Aktiengesellschaft Method for distributing a software to a plurality of motor vehicles, corresponding system, motor vehicle, and data storage medium
US10817274B2 (en) * 2018-01-31 2020-10-27 Salesforce.Com, Inc. Techniques for distributing software packages
US10868853B2 (en) * 2018-06-08 2020-12-15 Verizon Patent And Licensing Inc. System and method for image file generation and management
US11226804B2 (en) * 2018-07-16 2022-01-18 Uber Technologies, Inc. Staged rollout framework for feature release
CN109471657A (zh) * 2018-09-07 2019-03-15 平安科技(深圳)有限公司 灰度发布方法、装置、计算机设备及计算机存储介质
CN111147272A (zh) * 2018-11-06 2020-05-12 厦门雅迅网络股份有限公司 一种单服务器及多服务器运营平台升级方法
CN109800017B (zh) * 2018-12-14 2023-08-22 中国平安财产保险股份有限公司 灰度发布方法、装置、计算机设备和存储介质
CN110377299A (zh) * 2019-06-14 2019-10-25 天津五八到家科技有限公司 应用更新方法、设备及存储介质
US11176775B1 (en) 2019-08-07 2021-11-16 Igt System and methods for downloading production order specific software and firmware to an electronic gaming machine device
US11099855B2 (en) * 2019-10-23 2021-08-24 American Megatrends International, Llc System and method for updating files through a peer-to-peer network
CN112514354B (zh) * 2020-03-19 2021-10-26 华为技术有限公司 一种车辆软件升级的方法及相关系统
US11093236B1 (en) * 2020-03-26 2021-08-17 Atlassian Pty Ltd. Systems and methods for delivering updates to client devices
US11115269B1 (en) * 2020-10-20 2021-09-07 Metactix Llc System and method for updating an application for a population of computers
US11662994B1 (en) 2020-10-20 2023-05-30 Metactix Llc System and method for updating an application for a population of computers
US11687523B2 (en) 2020-11-25 2023-06-27 Salesforce, Inc. System and method for efficiently transferring data for offline use
US11675800B2 (en) * 2020-11-30 2023-06-13 Salesforce, Inc. Version control and execution on a mobile device
US20220222351A1 (en) * 2021-01-11 2022-07-14 Twistlock, Ltd. System and method for selection and discovery of vulnerable software packages
CN113687846B (zh) * 2021-06-30 2023-07-18 北京百度网讯科技有限公司 用于处理数据的方法、装置、设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030045356A1 (en) * 2001-09-05 2003-03-06 Graham Thomas Mobile gaming
US20110202656A1 (en) * 2010-02-16 2011-08-18 Christopher Thomas Gentile Centralized application resource manager
CN102480470A (zh) * 2010-11-29 2012-05-30 腾讯科技(深圳)有限公司 一种下载游戏的方法、装置和系统
CN102724308A (zh) * 2012-06-13 2012-10-10 腾讯科技(深圳)有限公司 软件更新方法及软件更新系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE463917T1 (de) * 2006-02-21 2010-04-15 Microsoft Corp Topologieverwaltung in peer-to-peer datenverteilungswolken
WO2007110865A1 (en) * 2006-03-27 2007-10-04 Rayv Inc. Realtime media distribution in a p2p network
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US8316364B2 (en) * 2007-02-28 2012-11-20 Red Hat, Inc. Peer-to-peer software update distribution network
JP5430054B2 (ja) * 2007-03-13 2014-02-26 任天堂株式会社 ネットワークゲームシステム、ゲーム装置およびゲームプログラム
US8037135B2 (en) * 2007-06-29 2011-10-11 Microsoft Corporation Automatic distributed downloading
US20100011060A1 (en) * 2008-07-08 2010-01-14 Solid State Networks, Inc. Methods and apparatus for distributing content
US20120252577A1 (en) * 2009-11-06 2012-10-04 David Webster Portable electronic device
JP5507350B2 (ja) * 2010-06-11 2014-05-28 任天堂株式会社 携帯型情報端末、携帯型情報端末制御プログラム、携帯型情報システム、および、携帯型情報端末制御方法
JP2012018657A (ja) * 2010-06-11 2012-01-26 Nintendo Co Ltd 情報処理端末、情報処理システム、情報処理プログラム
TW201210284A (en) * 2010-08-27 2012-03-01 Ind Tech Res Inst Architecture and method for hybrid Peer To Peer/client-server data transmission
TWI431997B (zh) * 2010-12-30 2014-03-21 Ind Tech Res Inst 用於即時媒體碼流之點對點網路傳輸方法及系統
US8806049B2 (en) * 2011-02-15 2014-08-12 Peerialism AB P2P-engine
US8930940B2 (en) * 2011-08-19 2015-01-06 Yongyong Xu Online software execution platform
CN103164122B (zh) * 2011-12-08 2015-10-28 中兴通讯股份有限公司 一种调用通讯录内容的方法及装置
US20140007070A1 (en) * 2012-06-29 2014-01-02 International Business Machines Corporation Managing Software Product Lifecycle Across Multiple Operating System Platforms
US20140059236A1 (en) * 2012-08-27 2014-02-27 Yuan-Chang Lo Process for Peer-To-Peer Download of Software Installer
US20140359606A1 (en) * 2013-05-30 2014-12-04 Microsoft Corporation Bundle package retrieving
US20140372998A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation App package deployment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030045356A1 (en) * 2001-09-05 2003-03-06 Graham Thomas Mobile gaming
US20110202656A1 (en) * 2010-02-16 2011-08-18 Christopher Thomas Gentile Centralized application resource manager
CN102480470A (zh) * 2010-11-29 2012-05-30 腾讯科技(深圳)有限公司 一种下载游戏的方法、装置和系统
CN102724308A (zh) * 2012-06-13 2012-10-10 腾讯科技(深圳)有限公司 软件更新方法及软件更新系统

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619244B2 (en) 2014-09-05 2017-04-11 Xiaomi Inc. Method and system for upgrading an electronic device
CN105681383A (zh) * 2014-11-21 2016-06-15 腾讯科技(成都)有限公司 应用升级数据包下载方法、装置、终端、服务器及系统
CN105681383B (zh) * 2014-11-21 2020-03-03 腾讯科技(成都)有限公司 应用升级数据包下载方法、装置、终端、服务器及系统
CN104598262A (zh) * 2014-11-25 2015-05-06 深圳市腾讯计算机系统有限公司 一种移动应用更新方法及装置
CN105812435A (zh) * 2014-12-30 2016-07-27 腾讯科技(深圳)有限公司 应用升级数据包处理方法、装置、电子设备及系统
CN105812435B (zh) * 2014-12-30 2020-07-28 腾讯科技(深圳)有限公司 应用升级数据包处理方法、装置、电子设备及系统
CN106155723A (zh) * 2015-04-13 2016-11-23 腾讯科技(深圳)有限公司 业务应用程序的升级方法和装置
CN106528186A (zh) * 2015-09-09 2017-03-22 阿里巴巴集团控股有限公司 资源文件的更新方法和装置
WO2017107830A1 (zh) * 2015-12-23 2017-06-29 北京金山安全软件有限公司 一种安装应用软件的方法、装置及电子设备
WO2017107831A1 (zh) * 2015-12-23 2017-06-29 北京金山安全软件有限公司 一种基于应用软件实现播报的方法、装置及电子设备
CN106528248A (zh) * 2016-11-30 2017-03-22 惠州Tcl移动通信有限公司 一种移动终端基于软件完整性的下载方法及系统
CN109413186B (zh) * 2018-10-31 2021-07-30 Oppo广东移动通信有限公司 应用程序更新方法、终端、服务器及系统
CN109901860A (zh) * 2019-02-21 2019-06-18 华数传媒网络有限公司 一种Android手机软件版本控制方法
CN110602229A (zh) * 2019-09-20 2019-12-20 中国银行股份有限公司 基于动态切片的终端系统版本下载方法、装置及系统
CN111142900A (zh) * 2019-12-17 2020-05-12 深圳市优必选科技股份有限公司 程序更新方法、装置及终端设备
CN111399730A (zh) * 2020-03-12 2020-07-10 北京字节跳动网络技术有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN112114869A (zh) * 2020-09-18 2020-12-22 聚好看科技股份有限公司 一种服务器、灰度发布方法、装置及介质
CN112698852A (zh) * 2020-11-30 2021-04-23 厦门亿联网络技术股份有限公司 App灰度升级方法、装置、终端设备及计算机可读存储介质
CN112698852B (zh) * 2020-11-30 2022-09-20 厦门亿联网络技术股份有限公司 App灰度升级方法、装置、终端设备及计算机可读存储介质
CN115174543A (zh) * 2022-07-29 2022-10-11 中国工商银行股份有限公司 一种版本更新发布时间确定方法及装置
CN115174543B (zh) * 2022-07-29 2024-01-30 中国工商银行股份有限公司 一种版本更新发布时间确定方法及装置

Also Published As

Publication number Publication date
WO2014079348A1 (en) 2014-05-30
EP2923480A1 (en) 2015-09-30
US9158531B2 (en) 2015-10-13
EP2923480A4 (en) 2015-11-18
CN103841155B (zh) 2015-12-23
BR112015011584A2 (pt) 2017-07-11
US20140237465A1 (en) 2014-08-21
EP2923480B1 (en) 2017-04-05
BR112015011584B1 (pt) 2022-09-13

Similar Documents

Publication Publication Date Title
CN103841155B (zh) 一种软件下载方法和软件下载装置
US10348804B2 (en) System to automatically process components on a device
CN100442712C (zh) 一种实现网络终端设备配置自动更新的方法及系统
US20140282487A1 (en) Software update for a wireless communication device
CN101841536B (zh) 数字监控设备远程自动升级方法
US20140075438A1 (en) Method, server, and system for starting an application
CN102223380B (zh) 一种基于网络服务的客户端自动升级框架及其应用
WO2011069730A1 (en) A method and system for managing configurations of system management agents in a distributed environment
CN101241364A (zh) 空调系统远程管理控制器、本地控制器及其自动更新方法
CN101610604A (zh) 一种软件升级方法及系统
CN102480470A (zh) 一种下载游戏的方法、装置和系统
CN103019757A (zh) 一种在多台客户端间同步软件的方法、装置及系统
CN104102501B (zh) 一种移动终端及其升级方法
CN103186394A (zh) 一种软件安装方法及装置
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN105339892A (zh) 局部网络和更新局部网络中的设备的方法
CN105468422A (zh) 操作系统优化的方法及系统
JP4576130B2 (ja) 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム
WO2018040923A1 (zh) Pos 终端应用包的下载方法、装置及通讯方法
CN110474793A (zh) 一种网络设备的升级方法及装置
CN104410721A (zh) 根据更新内容支持自动缓存的方法及系统
CN107908408A (zh) 一种远程云手机应用安装方法
KR100524588B1 (ko) 무선인터넷에서 다운로드 중단된 데이터를 이어받는 방법
CN101686147A (zh) 一种终端设备升级方法及实现该方法的终端设备
KR100545095B1 (ko) 무선통신단말기 소프트웨어 업그레이드 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant