更新服务提供方法及装置与流程

文档序号:43253863发布日期:2025-10-09 19:36阅读:5来源:国知局
更新服务提供方法及装置

技术领域

本发明涉及计算机技术领域,特别涉及一种更新服务提供方法及装置。



背景技术:

当前,各种应用程序的更新速度越来越快,比如浏览器中的支付插件的更新、多媒体播放程序中的播放插件的更新等。各种应用程序的更新服务通常都是利用发布更新包来实现的。

现有技术中通常采用的一种更新服务提供方法是:应用程序的开发商设置一个远程服务器,在该远程服务器中存储应用程序的各个历史版本的更新包,当终端向该远程服务器请求该应用程序的更新服务时,该远程服务器将当前最新版本的更新包提供给终端下载。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:第一,远程服务器提供的更新服务不够稳定,比如,远程服务器对某一更新包提供的更新服务只持续比较短暂的一段时间,不能满足这段时间之后终端对该更新包的需求;第二,远程服务器提供的更新服务受距离远近和网络状况的影响较大,比如,某一远程服务器离终端比较远时,远程服务器为该终端提供更新服务时的速度就会非常慢。



技术实现要素:

为了提供更稳定和更快速的更新服务,本发明实施例提供了一种更新服务提供方法及装置。所述技术方案如下:

根据本发明的一方面,本发明提供一种更新服务提供方法,所述方法包括:

从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包;

在下载所述更新包成功时,根据所述更新包的本地下载地址提供更新服务。

进一步的,所述从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包,具体包括:

从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包的远程下载地址;

根据所述远程下载地址下载所述更新包。

更进一步的,所述方法还包括:

在下载所述更新包未成功时,根据所述更新包的远程下载地址提供更新服务。

更进一步的,所述根据所述远程下载地址下载所述更新包,具体包括:

根据所述远程下载地址获取所述更新包的版本号;

将所述更新包的版本号和对应应用程序在本地的当前更新包的版本号进行比较;

如果所述更新包的版本号高于所述对应应用程序在本地的当前更新包的版本号,则根据所述远程下载地址下载所述更新包。

更进一步的,所述从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包,具体包括:

按照相同或不同时间间隔分别获取每个远程服务器中应用程序的更新包;或

在所述更新服务被请求时,从对应的远程服务器中获取应用程序的更新包。

根据本发明的另一方面,本发明还提供一种更新服务提供装置,其包括:

获取模块,用于从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包;

第一提供模块,用于在下载所述更新包成功时,根据所述更新包的本地下载地址提供更新服务。

进一步的,所述获取模块具体包括:

获取单元,用于从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包的远程下载地址;

下载单元,用于根据所述远程下载地址下载所述更新包。

更进一步的,所述更新服务提供装置还包括:

第二提供模块,用于在下载所述更新包未成功时,根据所述更新包的远程下载地址提供更新服务。

更进一步的,所述下载单元具体包括:

获取子单元,用于根据所述远程下载地址获取所述更新包的版本号;

比较子单元,用于将所述更新包的版本号和对应应用程序在本地的当前更新包的版本号进行比较;

下载子单元,用于在所述比较单元比较出所述更新包的版本号高于所述对应应用程序在本地的当前更新包的版本号时,则根据所述远程下载地址下载所述更新包。

更进一步的,所述获取模块具体用于:

按照相同或不同的时间间隔分别获取每个远程服务器中应用程序的更新包;或

在所述更新服务被请求时,从对应的远程服务器中获取应用程序的更新包。

本发明实施例提供的技术方案带来的有益效果是:通过预先设置一个更新服务提供装置,该更新服务提供装置可以从不同的远程服务器中下载每个远程服务器中应用程序的更新包,这样一个终端针对其内不同的需要升级的应用程序,可以均向同一个更新服务提供装置请求和下载应用程序对应的更新包,无需再受远程服务器的稳定性、提供更新包服务的远近距离以及网络状况等因素的影响,从而实现更稳定和更快速的更新服务。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的更新服务提供方法的实施环境示意图;

图2是本发明实施例一提供的更新服务提供方法的流程图;

图3是本发明实施例二提供的更新服务提供方法的流程图;

图4是本发明实施例三提供的更新服务提供系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1,其示出了本发明实施例提供的更新服务提供方法的实施环境示意图。该实施环境可以包括客户端110、更新服务提供装置120和远程服务器130。

客户端110可以为包含有可更新的应用程序的终端,比如手机或个人电脑等。通常此类应用程序可以为浏览器、媒体播放器等,此类应用程序中通常也可以包含可更新的插件,比如支付插件、播放插件等,当然也可以将此类可更新的插件认定为应用程序。客户端110可以通过获取到的应用程序的更新包对应用程序进行更新升级。

远程服务器130用于发布应用程序的更新包,同时还提供与该更新包相关联的远程下载地址。由于不同的应用程序可能会对应不同的远程服务器,比如支付插件对应提供支付插件更新包的远程服务器,视频播放插件对应提供视频播放插件更新包的远程服务器。因此更新服务提供方法实施环境中可以包含多个远程服务器130,图中示意性示出了远程服务器130A、远程服务器130B和远程服务器130C。

更新服务提供装置120可以从多个远程服务器130中获取各种应用程序的更新包,并可以根据获取的应用程序的更新包为客户端110提供更新服务。

实施例一

图2是本发明实施例一提供的更新服务提供方法的流程图。该更新服务提供方法可以应用于图1所示的更新服务提供装置120中,该更新服务提供方法可以包括:

步骤210,从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包。

更新包是由远程服务器130发布的,客户端110可以根据更新包更新对应的应用程序。较优的,这里获取的更新包可以为具有该应用程序最新版本号的更新包,也就是说,这里获取的更新包可以为远程服务器130中应用程序的最新更新包。

通常,在远程服务器130中,每一个更新包均对应一个远程下载地址,客户端110或更新服务提供装置120均可以根据远程服务器130中的该远程下载地址下载对应的更新包。较优的,这里的远程下载地址为可以下载具有最新版本号的更新包的远程下载地址。

从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包可以包括:首先更新服务提供装置120可以从不同的远程服务器130中获取每个远程服务器130中应用程序的远程下载地址,然后根据该远程下载地址下载对应应用程序的更新包。

步骤220,在下载更新包成功时,根据更新包的本地下载地址提供更新服务。

更新服务是针对客户端110的更新服务请求而设置的,当客户端110中的应用程序运行时,如果该应用程序需要进行首次安装或需要进行更新升级,则会向更新服务提供装置120请求更新服务,而更新服务提供装置120接收到该更新服务后会向其提供对应的更新服务。

如果更新包下载成功,则根据更新包在更新服务提供装置120本地的本地下载地址提供更新服务。

综上所述,本发明实施例一提供的更新服务提供方法可以将从不同的远程服务器中获取的每个远程服务器中的应用程序的更新包放入同一个更新服务提供装置中,并可以根据更新包为客户端提供更新服务,这样一个终端针对其内不同的需要升级的应用程序,可以均向同一个更新服务提供装置请求和下载应用程序对应的更新包,而无需再受远程服务器的稳定性、提供更新包服务的远近距离以及网络状况等因素的影响,从而实现更稳定和更快速的更新服务。

实施例二

图3是本发明实施例二提供的更新服务提供方法的流程图,该更新服务提供方法可以应用于图1所示的更新服务提供装置120中,更新服务提供方法可以包括:

步骤310,从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包的远程下载地址。

从不同的远程服务器130中分别获取每个远程服务器130中应用程序的更新包的远程下载地址,可以包括两种情况:

第一,按照相同或不同的时间间隔分别获取每个远程服务器中的应用程序的更新包的远程下载地址。在具体实现时,可以对所有应用程序均设定相同的预定时间间隔,这样在每达到该预定时间间隔时,更新服务提供装置120就从对应的多个远程服务器130中分别获取其内应用程序的更新包的远程下载地址。当然,也可以针对不同的应用程序设定不同的预定时间间隔,比如有些应用程序更新比较缓慢,此时可以将预定时间间隔设定的长一些;而有些应用程序更新比较快,则可以将预定时间间隔设定的短一些,这样只要任一应用程序达到为其设定的预定时间间隔时,更新服务提供装置120就从对应的远程服务器130中获取该应用程序对应的更新包的远程下载地址。

第二,在更新服务被请求时,从对应的远程服务器130中获取应用程序的更新包的远程下载地址。比如当客户端110中的应用程序运行时,此时,更新服务提供装置120的更新服务被客户端110请求,对应的,更新服务提供装置120则从对应该应用程序的远程服务器130中获取应用程序的更新包的远程下载地址。通常,客户端110中的应用程序运行分为两种情况:当客户端110中首次需要运行应用程序时,客户端110会向更新服务提供装置120发送一下载请求信息,以便下载安装该应用程序;当客户端110中已安装的应用程序运行后需要更新时,客户端110可以向更新服务提供装置120发送一版本号请求信息。当更新服务提供装置120接收到客户端110发送来的下载请求信息或版本号请求信息时,即客户端110请求更新服务时,更新服务提供装置120就会从远程服务器130中获取对应应用程序的更新包的远程下载地址。

需要注意的是,在第二种情况下,客户端110中的一种应用程序运行时,更新服务提供装置120仅会到提供该应用程序更新包的远程服务器130中获取对应该应用程序的更新包的远程下载地址,而当客户端110中另一种应用程序运行时,更新服务提供装置120仅会到提供该另一种应用程序更新包的远程服务器130中获取对应该应用程序的更新包的远程下载地址。也就是说,在这种情况下,更新服务提供装置120获取更新包的过程只有在客户端110中的应用程序运行时才会被触发,以到对应该应用程序的远程服务器130中获取该应用程序的更新包的远程下载地址。

很显然,还可以存在第三种情况,即通常在达到预定时间间隔时,更新服务提供装置120就从不同远程服务器130中获取各种应用程序的更新包的远程下载地址,而一旦当客户端110中有应用程序运行时,即客户端110针对该应用程序请求更新服务时,更新服务提供装置120则会优先从提供该应用程序更新包的远程服务器130中获取该应用程序的更新包的远程下载地址。

由于更新包的下载是根据远程下载地址来下载的,因此从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包也类似的可以包括两种情况:第一,按照相同或不同的时间间隔分别获取每个远程服务器中应用程序的更新包;第二,在更新服务被请求时,从对应的远程服务器中获取应用程序的更新包。其具体情况与上述的从不同的远程服务器中分别获取每个远程服务器中应用程序的更新包的远程下载地址类似,为防止赘述,这里就不再详述。

步骤320,根据远程下载地址下载更新包。具体可以包括以下步骤:

第一,根据远程下载地址获取更新包的版本号。

通常,在获取更新包的版本号的同时还会获取更新包的类型识别信息,类型识别信息一般可以包括应用程序的标识码(比如插件名称、插件ID等),用于识别该应用程序的类型,以便与其它应用程序区分。并且即便是同一功能类型的应用程序,根据适用于的客户端110不同,也可以细分为很多子类型,此时类型识别信息还可以包括该应用程序适用于的客户端110的识别信息,比如客户端110的操作系统类型信息或者终端型号识别信息等。

当然,在具体应用中,还可以在获取更新包的远程下载地址时同时获取更新包的版本号和类型识别信息。

在获取到应用程序的更新包的版本号后,通常还会将该版本号与更新服务提供装置120中的对应版本号进行替换。

第二,将更新包的版本号和对应应用程序在本地的当前更新包的版本号进行比较。

为了方便管理,更新服务提供装置120中设置有更新包管理数据库,其用于存放应用程序更新包的类型识别信息、版本号以及下载地址,更新服务提供装置120还设置有更新包缓存库,其用于对应存放应用程序的更新包,其中更新包的类型识别信息、版本号、下载地址以及更新包之间是一一对应的。

将获取到的更新包的版本号与具有相同类型识别信息的应用程序在本地的当前更新包的版本号进行比较。也就是说,首先将获取到的更新包的类型识别信息与更新包管理数据库中的类型识别信息进行比较,当查询到具有相同的类型识别信息时,获取更新包管理数据库中该类型识别信息对应的版本号,然后将该获取的版本号与获取到的更新包的版本号进行比较。

第三,如果更新包的版本号高于对应应用程序在本地的当前更新包的版本号,则根据远程下载地址下载更新包。

如果更新包的版本号高于对应应用程序在本地的当前更新包的版本号,则意味着获取的更新包的版本比当前更新包的版本更新,因此,需要将远程服务器130中对应的更新包下载下来,即根据对应的远程下载地址下载远程服务器130中的更新包。

在获取到应用程序的更新包的远程下载地址后,通常还会将该远程下载地址与更新包管理数据库中的对应下载地址进行替换,也就是说,在获取到应用程序更新包的远程下载地址后,更新包管理数据库中的下载地址即修改为了远程下载地址。

显然,如果更新服务提供装置120中的当前更新包的版本号高于远程服务器130中的最新的更新包的版本号或更新服务提供装置120中的当前更新包的版本号与远程服务器中130的最新的更新包的版本号相同,则表明更新服务提供装置120中的当前更新包已经是最新的了,因此不需要再去处理或更新更新服务提供装置120中的当前更新包以及当前更新包对应的类型识别信息、版本号和下载地址。

步骤330,判断更新包是否下载成功。

步骤340,若更新包下载成功,则根据更新包的本地下载地址提供更新服务。

更新服务是针对客户端110的更新服务请求而设置的,当客户端110中的应用程序运行时,如果该应用程序需要进行首次安装或需要进行更新升级,则会向更新服务提供装置120请求更新服务,而更新服务提供装置120在接收到该更新服务后则会向其提供对应的更新服务。

如果更新包下载成功,则将对应应用程序在本地的当前更新包替换为该下载的更新包,并根据该下载的更新包在本地的本地下载地址提供更新服务。当更新包下载成功后,会将其替换更新包缓存库中具有相同类型识别信息的当前更新包,当替换完成后,同时将更新包管理数据库中的下载地址(此时该字段保存的地址为更新包对应的远程下载地址)替换为该更新包在本地的本地下载地址。如果客户端110需要下载最新的更新包,则可以直接将该本地下载地址反馈给客户端110,客户端110则可以根据该本地下载地址下载该更新包。

步骤350,若更新包未下载成功,则根据更新包的远程下载地址提供更新服务。

根据步骤330可知,对更新包的下载的前提条件是在远程服务器中应用程序的更新包的版本号高于更新包缓存库中当前更新包的版本号时,因此也就意味着远程服务器130中最新的更新包比更新包缓存库中的更新包更新,此时如果更新包未下载成功,则需要将之前获取到的远程下载地址反馈给客户端110,以使得客户端110可以根据该远程下载地址下载远程服务器130中最新的更新包。

综上所述,本发明实施例二提供的更新服务提供方法通过预先建立一个更新服务提供装置,利用该更新服务提供装置从各个远程服务器中下载和管理各种应用程序的更新包,这样,在客户端的应用程序需要更新升级时,可以均向同一个更新服务提供装置去请求和下载应用程序对应的更新包,而无需再受远程服务器的稳定性、提供更新包服务的远近距离以及网络状况等因素的影响,从而实现更稳定和更快速的更新服务。

实施例三

图4是本发明实施例三提供的更新服务提供系统的结构示意图,更新服务提供系统包括客户端41、更新服务提供装置42和远程服务器43,其中客户端41、更新服务提供装置42和远程服务器43分别对应图1中客户端110、更新服务提供装置120和远程服务器130。

更新服务提供装置42从不同的远程服务器43中获取每个远程服务器43中应用程序的更新包,更新服务提供装置42根据获取到的应用程序的更新包为客户端41提供更新服务。

更新服务提供装置42可以包括更新包管理数据库420、更新包缓存库421、获取模块422和第一提供模块423。

更新包管理数据库420用于存储每种类型更新包的类型识别信息、版本号和下载地址。

更新包缓存库421用于存储有各种类型的更新包。

获取模块422用于从不同的远程服务器中分别获取每个远程服务器中的应用程序的更新包。获取模块422包括远程获取单元4221和下载单元4222。

获取单元4221用于从不同的远程服务器43中分别获取每个远程服务器43中应用程序的更新包的远程下载地址。

下载单元4222用于根据远程下载地址下载更新包。下载单元4222可以包括获取子单元、比较子单元和下载子单元。

获取子单元用于根据远程下载地址获取更新包的版本号。

比较子单元用于将更新包的版本号和对应应用程序在本地的当前更新包的版本号进行比较。

下载子单元用于在比较单元比较出更新包的版本号高于对应应用程序在本地的当前更新包的版本号时,则根据远程下载地址下载更新包。

进一步的,获取模块422具体可以用于:按照相同或不同的时间间隔分别获取每个远程服务器中应用程序的更新包;或在更新服务被请求时,从对应的远程服务器中获取应用程序的更新包。

第一提供模块423用于在下载更新包成功时,根据更新包的本地下载地址提供更新服务。

进一步的,本实施例中的更新服务提供装置还可以包括第二提供模块424,第二提供模块424用于在下载更新包未成功时,根据更新包的远程下载地址提供更新服务。

需要说明的是:上述实施例提供的更新服务提供装置在本发明中描述时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的更新服务提供装置与更新服务提供方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

综上所述,本发明实施例三提供的更新包管理系统,通过一个更新服务提供装置从各个远程服务器中下载和管理各种类型的更新包,然后诸如手机之类的客户端可以利用该更新服务提供装置进行其应用程序的升级,使得一个客户端针对不同的需要升级的应用程序,可以均向同一个更新服务提供装置去请求和下载该应用程序对应的更新包,而无需再受远程服务器的稳定性、提供更新包服务的远近距离以及网络状况等因素的影响,从而实现更稳定和更快速的更新服务。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1