本发明涉及客户端升级技术领域,特别是涉及一种渠道客户端的通用升级方法、装置、计算机设备和存储介质。
背景技术:
一般c/s架构的windows产品,都会面临一个升级的问题。如果没有好的升级方案,投产后会增加企业的运行成本。市面上的产品通常都是能够升级的,这样做的好处,可以不断的迭代产品,丰富产品内容,也增加了留客条件,但是很少会对多个产品定制通用的升级方案。目前,有的公司会与多个渠道商签订协议,为多个渠道商定制产品,例如,为农业银行、工商银行、建设银行等多个渠道商定制对应的客户端(可以简称为渠道客户端),这样就会出现多个渠道客户端的升级维护问题。如果为每一个渠道客户端专门定制一个升级方案,由于需要定制多个升级方案,非常繁琐,因此迫切需要一种针对不同渠道客户端的通用升级方案。
技术实现要素:
本申请实施例提供一种渠道客户端的通用升级方法、装置、计算机设备和存储介质,能够提供一种针对不同渠道客户端的通用升级方案。
本申请实施例提供一种渠道客户端的通用升级方法,包括:
s110、向升级服务器中获取升级配置文件;其中,所述升级配置文件中包括最新渠道客户端的版本号、渠道控制信息和多个文件项;所述渠道控制信息中包括多个渠道客户端分别对应的开关的状态,处于打开状态的开关所对应的渠道客户端允许升级,处于关闭状态的开关所对应的渠道客户端不允许升级;所述多个文件项与所述最新渠道客户端运行所需的各个文件一一对应,每一个的文件项中包括对应文件的md5编码和下载路径;
s120、获取本地渠道客户端的版本号以及本地渠道信息,若所述最新渠道客户端的版本号高于所述本地渠道客户端的版本号且所述本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态,则获取所述本地渠道客户端的安装目录下各个文件的md5编码;
s130、根据所述最新渠道客户端的各个文件的md5编码以及所述本地渠道客户端的各个文件的md5编码,确定所述最新渠道客户端的各个升级文件以及所述本地渠道客户端的各个待升级文件;
s140、根据所述各个升级文件的下载路径,从所述升级服务器中下载所述各个升级文件,并将所述安装目录下的所述各个待升级文件替换为所述各个升级文件。
本申请实施例提供一种渠道客户端的通用升级装置,包括:
第一获取模块,用于向升级服务器中获取升级配置文件;其中,所述升级配置文件中包括最新渠道客户端的版本号、渠道控制信息和多个文件项;所述渠道控制信息中包括多个渠道客户端分别对应的开关的状态,处于打开状态的开关所对应的渠道客户端允许升级,处于关闭状态的开关所对应的渠道客户端不允许升级;所述多个文件项与所述最新渠道客户端运行所需的各个文件一一对应,每一个的文件项中包括对应文件的md5编码和下载路径;
第二获取模块,用于获取本地渠道客户端的版本号以及本地渠道信息,若所述最新渠道客户端的版本号高于所述本地渠道客户端的版本号且所述本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态,则获取所述本地渠道客户端的安装目录下各个文件的md5编码;
升级确定模块,用于根据所述最新渠道客户端的各个文件的md5编码以及所述本地渠道客户端的各个文件的md5编码,确定所述最新渠道客户端的各个升级文件以及所述本地渠道客户端的各个待升级文件;
文件替换模块,用于根据所述各个升级文件的下载路径,从所述升级服务器中下载所述各个升级文件,并将所述安装目录下的所述各个待升级文件替换为所述各个升级文件。
本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述渠道客户端的通用升级方法的步骤。
本申请实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述渠道客户端的通用升级方法的步骤。
本申请实施例提供的渠道客户端的通用升级方法、装置、计算机设备和存储介质,首先向升级服务器中获取升级配置文件;然后获取本地渠道客户端的版本号和本地渠道信息,然后依据版本号的对比和对应渠道的开关状态来确定是否进行升级,如果升级的话,需要对哪些文件升级,进而下载升级文件,对安装目录下的待升级文件进行替换。升级配置文件针对多个渠道客户端都是适用的,所以这是一个通用的方案,针对多个渠道的客户端都可以采用这种方式进行升级。如果最新渠道客户端的版本号高于本地渠道客户端的版本号,说明本地渠道客户端由升级的必要,而本地渠道信息在所述升级配置文件中对应的开关的状态为打开状态,说明允许对本地渠道客户端进行升级。依据这两项来确定是否对本地渠道客户端进行升级。而且这一过程中不需要用户输入渠道编码,通过本地渠道信息便可以鉴别当前是哪一个渠道客户端,减少了与渠道商的交互,提高了升级的便捷性。
附图说明
图1为一个实施例中计算机设备的内部结构框图;
图2为一个实施例中渠道客户端的通用升级方法的流程图;
图3为一个实施例中渠道客户端的通用升级装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为本申请一个实施例中计算机设备的结构示意图。如图1所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种渠道客户端的通用升级方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种渠道客户端的通用升级方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例提供一种渠道客户端的通用升级方法,该方法可以由渠道商的终端设备上执行,也就是说,上述图1所提供的电子设备具体可以是渠道商的终端设备。如图2所示,该方法包括如下步骤:
s110、向升级服务器中获取升级配置文件;
其中,所述升级配置文件中包括最新渠道客户端的版本号、渠道控制信息和多个文件项;所述渠道控制信息中包括多个渠道客户端分别对应的开关的状态,处于打开状态的开关所对应的渠道客户端允许升级,处于关闭状态的开关所对应的渠道客户端不允许升级;所述多个文件项与所述最新渠道客户端运行所需的各个文件一一对应,每一个的文件项中包括对应文件的md5编码和下载路径;
在实际应用时,可以采用热更新的方式,所谓的热更新是指:用户通过某种方式启动已经安装的渠道客户端(例如,用于点击桌面上的渠道客户端快捷方式,或者通过开始菜单里面的菜单项启动),此时会先启动升级程序,升级程序对主程序即渠道客户端进行升级,升级完成后启动渠道客户端,升级程序退出。也就是说,在执行上述步骤s11之前,渠道商的终端设备响应于对本地渠道客户端的启动操作,启动本地的升级程序,这样升级程序就会执行步骤s110~s140,在执行完成后,启动本地渠道客户端,并退出升级程序。
在实际场景中,在渠道侧的用户升级其客户端之前,需要软件开发侧的工作人员进行一些准备工作:
首先,软件开发侧的工作人员在自己的电脑上完成客户端的工程代码的编写,通过客户端打包工具生成安装包,将安装包保存在自己电脑上,例如,安装包的存储目录为:c:/release/setup.exe。同时,还对生成安装包的所有文件进行备份,并保存在自己的电脑上,例如,备份文件的存储目录为:c:/release/all_file/…。备份的all_file文件夹也可以称为全量文件夹。实际上各个渠道客户端只是界面上的logo、名称等不同,在渠道客户端升级时这些信息是不会变的,而各个渠道客户端的其他内容都是一样的,因此全量文件夹中即便只包括一个渠道客户端的所有文件,全量文件夹也是可以面向多个渠道客户端的升级。当然,也可以在全量文件夹中保存各个渠道客户端运行时所需要的所有文件,这样即便在升级时界面上的logo、名称等需要更新升级,也是能实现的。此时,由于步骤s120中获取了本地渠道信息,可以根据本地渠道信息在全量文件夹中找到对应渠道的各个文件,也就是说,根据所述本地渠道信息在升级配置文件中找到对应渠道对应的各个文件的文件项,然后在s130中将对应渠道的各个文件的md5编码与本地渠道客户端的各个文件的md5编码进行对比,确定全量文件夹中的哪些文件为升级文件,本地渠道客户端的哪些文件为待升级文件。不论哪种方式,全量文件夹都是面向不同渠道客户端的。
其次,工作人员使用一个独立的升级配置生成程序updateconfig.exe生成升级配置文件updater.xml。升级配置生成程序updateconfig.exe负责将c:/release/all_file下面所有文件进行读取,将每个文件生成唯一的md5编码,并将各个文件的md5编码及其他文件信息写入升级配置文件updater.xml中,并将此时的版本号和渠道控制信息等添加至升级配置文件updater.xml中。
最后,工作人员将自己电脑上的安装包、全量文件夹以及升级配置文件updater.xml上传到升级服务器上,如果升级服务器指定的文件存放的目录是http://www.xxx.com/web/static/file/update,则需要将setup.exe、all_file文件夹、updater.xml存放至对应的服务端文件路径:
(1)setup.exe:http://www.xxx.com/web/static/file/update/setup.exe
(2)all_file文件夹:http://www.xxx.com/web/static/file/update/all_file/...
(3)updater.xml:http://www.xxx.com/web/static/file/update/updater.xml
也就是说,all_file下所有的文件,随同setup.exe一起放到升级服务器上,如果升级服务器下存放setup.exe目录为:web/static/file/update/setup.exe,则备份文件上到服务器的目录为:web/static/file/update/all_file/。如果下载安装包的url为:http://www.xxx.com/web/static/file/update/setup.exe,则用于客户端升级时下载升级文件的目录为:http://www.xxx.com/web/static/file/update/all_file/…,该目录用于提供升级使用的文件,update/all_file目录用于存放最新的文件。
可理解的是,如果用户没有安装渠道客户端,则可以根据地址http://www.xxx.com/web/static/file/update/setup.exe下载安装包,如果用户已经安装了渠道客户端,则可以从http://www.xxx.com/web/static/file/update/all_file/...中下载最新文件用来升级。升级时需要从http://www.xxx.com/web/static/file/update/updater.xml中下载updater.xml。
在做好上述准备工作之后,渠道侧的工作人员百年可以升级渠道客户端。
其中,升级配置文件中包括:
(1)最新渠道客户端的版本号,例如,version:1.2.0.24;
(2)渠道控制信息,包括多个渠道客户端分别对应的开关的状态,例如:channel:abank,isupdate:true;channel:bbank,isupdate:false。true是指开关为打开状态,false是指开关为关闭状态。只有打开状态的开关才能升级,而关闭状态的开关是不可升级的。
(3)多个文件项,每一个文件项对应一个文件,文件项中包括文件的详细信息,例如,文件名称、文件后缀名、文件大小、文件类型、文件下载路径、md5编码,并拥有是否删除属性等。多个文件项可以以列表的形式存储在升级配置文件中。
本步骤中下载升级配置文件的目的是判断是否要进行升级以及升级哪些文件,具体参见以下步骤。
s120、获取本地渠道客户端的版本号以及本地渠道信息,若所述最新渠道客户端的版本号高于所述本地渠道客户端的版本号且所述本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态,则获取所述本地渠道客户端的安装目录下各个文件的md5编码;
在实际应用中,在最初安装渠道客户端时,下载的安装包中可以包括渠道配置文件,所以渠道配置文件会随着安装包内的其他文件一起下载到本地,在安装包即将安装结束时,将渠道配置文件拷贝到安装目录之外的其他目录下,该目录称为第三预设目录,下载到本地的渠道配置文件可以称为本地渠道信息。渠道配置文件中包括一个配置文件config.xml,配置文件config.xml中包括多个渠道项和一个默认指定渠道,每一个渠道项中包括对应渠道资源的存储路径。在渠道配置文件中还可以包括多个子文件夹src,每个子文件夹src对应着一个渠道的独有资源,。该步骤中在获取本地渠道信息的过程可以包括:从所述第三预设目录中获取所述本地渠道信息。
在本申请中要对本地渠道客户端进行升级需要满足两个条件:
(1)最新渠道客户端的版本号高于所述本地渠道客户端的版本号;
(2)本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态;
当最新渠道客户端的版本号高于所述本地渠道客户端的版本号时,才有对本地渠道客户端升级的必要,而本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态时,才能允许对本地渠道客户端进行升级。
在实际中,不仅仅通过版本号对比来确定是否升级,还依据渠道信息最终确定是否升级。在启动升级程序update.exe后,update.exe运行后先去下载升级配置文件updater.xml,读取updater.xml中的版本号,与本地安装目录下面的version.txt中的版本号做比对,若version.txt中的版本号小于updater.xml中的版本号,则需要升级。然后读取本地渠道信息,升级程序需要根据本地渠道信息,在updater.xml中多个渠道信息中查找,并确定对应的开关是否打开,若打开则允许升级。updater.xml中配置了多个渠道的升级控制信息(即开关),在各个渠道客户端安装后,渠道客户端升级是由升级程序通过读取本地渠道信息,与updater.xml中的渠道信息配对,确定当前渠道客户端是否要升级,从而可以控制多个不同的渠道客户端升级,实现多个渠道客户端共用一份升级文件,即升级服务端放置的全量升级文件:http://www.xxx.com/web/static/file/update/all_file。
可理解的是,需要知道当前是哪个渠道,对应的渠道客户端是否需要升级,所以这在本地查找本地渠道信息。在实际应用中,为配合业务要求,需要减少与渠道商工作人员的交互,所以在升级界面也不能让用户输入渠道编码,原因是:渠道商工作人员不一定知道其渠道编码,存在不清楚操作的问题。所以要尽量减少与客户的交互。为此,升级程序直接读取本地渠道信息,从而确定当前渠道客户端是哪个渠道的客户端,而不是通过用户输入渠道编码。
也就是说,如果在升级程序启动时,不进行任何有关区别渠道信息的输入,那么后续升级过程中,就无从得知当前客户端是哪个渠道客户端以及是否需要更新,针对怎么鉴别当前是属于哪个渠道,是否要升级的问题,需要依据两个文件解决,这两个文件:一个是本地渠道信息即渠道配置文件config.xml;另一个是升级过程中从升级服务端下载的升级配置文件updater.xml。通过读取本地渠道信息,升级配置文件里面有多个渠道控制信息,本地渠道信息在updater.xml中找到并且对应的升级开关是打开的,则表明是要升级的。可见,升级过程中确定当前渠道客户端是否升级这一问题,与非安装目录下的本地渠道信息和升级配置文件中所带有的渠道控制信息有关,这样多个渠道共用一份升级文件。通过升级配置文件中的渠道控制信息和本地渠道信息做个比对,就可以区分开来。这样就可以分渠道来源,当前客户端是哪个渠道的客户端,从而实现多个渠道升级其客户端,避免手动输入渠道类别。
在确定需要对本地渠道客户端进行升级之后,获取所述本地渠道客户端的安装目录下各个文件的md5编码,进而用户确定全量文件中哪些文件是最新文件,本地安装目录下哪些文件需要更新。
s130、根据所述最新渠道客户端的各个文件的md5编码以及所述本地渠道客户端的各个文件的md5编码,确定所述最新渠道客户端的各个升级文件以及所述本地渠道客户端的各个待升级文件;
可理解的是,由于开发侧的工作人员会将最新文件发送到升级服务器上的全量文件夹中保存,因此最新渠道客户端的各个文件的md5编码实际上是升级服务器上的全量文件夹中的各个文件的md5编码。升级程序读取updater.xml中存储的所有md5编码,与安装目录下所有的文件的md5编码进行对比,md5编码相同的文件不需要升级,而安装目录下与updater.xml中md5编码不同的文件,是需要被替换掉的,因此这些文件可称为待升级文件,而全量文件夹中与安装目录下所有文件的md5编码不同的文件,是最新文件,可以称为升级文件。可见,渠道客户端升级采用的是文件升级,是下载所需的最新文件即文件更新,而不是重新下载最新版本的安装包,。这些文件是安装包安装后,渠道客户端运行时所需要的文件,升级只是把这些所需要的文件更新即可。其中,一个文件的md5编码是由一个生成程序所生成,该程序可以采用摘要算法对每一个文件生成一个唯一的md5编码。
s140、根据所述各个升级文件的下载路径,从所述升级服务器中下载所述各个升级文件,并将所述安装目录下的所述各个待升级文件替换为所述各个升级文件。
可理解的是,当对安装目录下的各个待升级文件被替换为各个升级文件后,相当于当前安装目录下的所有文件与最新渠道客户端的所有文件是一样的,既实现了对本地渠道客户端的更新。
在实际应用中,上述s140可以包括如下过程:
s141、根据所述各个升级文件的下载路径从所述升级服务器中下载所述各个升级文件,并将所述各个升级文件存储至所述安装目录之外的第一预设目录下;
可见,这里并不是将升级文件直接下载到安装目录下对安装目录下的老文件进行覆盖,而是先下载到安装目录之外。
上述s141可以包括如下步骤:
s1411、从所述升级服务器中下载所述各个升级文件至所述第一预设目录下,并在下载各个升级文件时记录每一个升级文件的下载情况,所述下载情况包括下载成功和下载失败;
根据每一个需要下载的文件的文件项中的下载路径,从升级服务器上下载对应的升级文件,具体是遍历这些需要下载的文件的文件项,读取一个文件项后,通过网络请求通信模块进行文件下载,同时记录文件的下载情况。记录下载成功是为了:如果本次升级中断,在下次启动升级程序时,避免重复下载之前已经下载好的文件,只需要下载还没有下载的文件即可。记录下载失败是为了:在遍历一遍需要下载的文件的文件项后,针对下载失败的文件的文件项,再一次进行遍历,经过多次遍历后,需要下载的文件全部下载完成,或者某些文件始终下载失败,这样可以防止网络抖动造成的某次下载失败。
s1412、判断是否存在下载失败的升级文件;
s1413、若存在下载失败的升级文件,判断重新下载的总次数是否达到最大次数,若所述总次数达到所述最大次数,则退出所述本地渠道客户端的本次升级;否则,对于下载失败的升级文件重新进行下载,记录下载情况,并返回s1412;
s1414、若不存在下载失败的升级文件,则执行s142。
可理解的是,在遍历一次之后,若还存在下载失败的文件,则对下载失败的文件的文件项,再一次遍历,直到不存在下载失败的文件,进而执行下一步;或者,重新下载了很多次仍然下载失败,此时结束本次升级。
s142、将所述安装目录下的各个文件拷贝到所述安装目录之外的第二预设目录下;
可理解的是,这里对安装目录下的文件备份到安装目录之外,可以避免后续升级失败,影响渠道客户端的正常使用。
s143、将所述安装目录下的所述各个待升级文件替换为所述第一预设目录下的所述各个升级文件,若替换成功,则所述本地渠道客户端升级完成;否则,将所述第二预设目录下的各个文件覆盖当前安装目录下的各个文件。
可理解的是,如果替换成功,此时本地渠道客户端升级完成,升级程序便可以启动升级后的渠道客户端,然后升级程序退出。如果替换失败,就需要将备份到第二预设目录下的各个文件再拷贝回来,使安装目录恢复到进行文件替换之前的状态,即安装目录中保存的还是原来的那些文件,然后升级程序启动未升级的渠道客户端,然后升级程序退出。
在一些实施例中,步骤s141中除了下载升级文件之外,还可以从所述升级服务器中下载对应的渠道配置文件至所述第一预设目录下;其中,所述渠道配置文件中包括多个渠道项和一个默认指定渠道,每一个渠道项中包括对应渠道资源的存储路径;对应的,步骤s143还包括:将所述第一预设目录下的所述渠道配置文件拷贝到所述安装目录下。
也就是说,不光渠道客户端的安装过程,会下载渠道配置文件,而且在渠道客户端的升级过程也会下载渠道配置文件。而且下载的配置渠道文件也会下载到第一预设目录中,随后也会拷贝到渠道客户端的安装目录下。渠道配置文件不直接下载到安装目录的原因是:安装目录在升级过程中会进行文件覆盖,如果下载到安装目录下的话,可能会被覆盖掉。安装后或升级后的渠道客户端在运行中可能会使用到渠道配置文件中的信息。
由于渠道客户端即将安装结束时,会将下载的渠道配置文件备份到第三预设目录下,此时得到本地渠道信息。由于本地渠道信息也需要更新,因此在升级结束后且本地渠道客户端启动后,会首先将下载到安装目录中的渠道配置文件存放到安装目录之外的第三预设目录下,从而实现对本地渠道信息的更新。可见,将渠道配置文件转移到非安装目录下的时机是升级结束后且渠道客户端启动后,而且是由启动的渠道客户端执行的。这种情况下,渠道配置文件的路径是:升级服务器-本地的安装目录之外的第一预设目录-本地的安装目录-本地的安装目录之外的第三预设目录。
在实际中,升级程序和渠道客户端在同一个目录下,即在安装目录下,在升级过程中也有可能遇到升级程序需要升级的情况,此时升级程序正在运行,这就需要将最新的升级程序下载到临时文件路径下,等待升级程序运行完成,退出前启动主程序,由主程序来完成升级程序的更新。最新的升级程序本该与其他文件一样下载到第一预设目录c:/xxx_update/temp_dwn之下,但是为了与渠道客户端的升级文件进行区分,这里将升级程序的升级文件下载到安装目录之外的第四预设目录下,第四预设目录可以为与第一预设目录不同的目录,也可以为第一预设目录的子目录,例如,c:/xxx_update/temp_dwn/update/update.exe。当升级程序运行完成并退出,渠道客户端启动后,主程序会将第四预设目录c:/xxx_update/temp_dwn/update/update.exe下最新的升级程序拷贝到安装目录下。可见这里多做了一步,避免直接替换运行中的程序,防止直接覆盖时运行中的文件报错。
也就是说,本申请实施例提供的方法还可以包括步骤:在所述本地渠道客户端的升级过程中,若接收到对所述升级程序的升级提示后,将所述升级程序的升级文件下载到第四预设目录下;在所述本地渠道客户端的升级结束后,由启动的所述本地渠道客户端依据所述子目录下的所述升级文件对本地的升级程序进行升级。
本申请实施例提供的渠道客户端的通用升级方法,首先向升级服务器中获取升级配置文件;然后获取本地渠道客户端的版本号和本地渠道信息,然后依据版本号的对比和对应渠道的开关状态来确定是否进行升级,如果升级的话,需要对哪些文件升级,进而下载升级文件,对安装目录下的待升级文件进行替换。升级配置文件针对多个渠道客户端都是适用的,所以这是一个通用的方案,针对多个渠道的客户端都可以采用这种方式进行升级。如果最新渠道客户端的版本号高于本地渠道客户端的版本号,说明本地渠道客户端由升级的必要,而本地渠道信息在所述升级配置文件中对应的开关的状态为打开状态,说明允许对本地渠道客户端进行升级。依据这两项来确定是否对本地渠道客户端进行升级。而且这一过程中不需要用户输入渠道编码,通过本地渠道信息便可以鉴别当前是哪一个渠道客户端,减少了与渠道商的交互,提高了升级的便捷性。
如图3所示,在一个实施例中,提供了一种渠道客户端的通用升级装置200,该渠道客户端的通用升级装置200可以集成于图1示出的计算机设备,该装置200具体可以包括:
第一获取模块210,用于向升级服务器中获取升级配置文件;其中,所述升级配置文件中包括最新渠道客户端的版本号、渠道控制信息和多个文件项;所述渠道控制信息中包括多个渠道客户端分别对应的开关的状态,处于打开状态的开关所对应的渠道客户端允许升级,处于关闭状态的开关所对应的渠道客户端不允许升级;所述多个文件项与所述最新渠道客户端运行所需的各个文件一一对应,每一个的文件项中包括对应文件的md5编码和下载路径;
第二获取模块220,用于获取本地渠道客户端的版本号以及本地渠道信息,若所述最新渠道客户端的版本号高于所述本地渠道客户端的版本号且所述本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态,则获取所述本地渠道客户端的安装目录下各个文件的md5编码;
升级确定模块230,用于根据所述最新渠道客户端的各个文件的md5编码以及所述本地渠道客户端的各个文件的md5编码,确定所述最新渠道客户端的各个升级文件以及所述本地渠道客户端的各个待升级文件;
文件替换模块240,用于根据所述各个升级文件的下载路径,从所述升级服务器中下载所述各个升级文件,并将所述安装目录下的所述各个待升级文件替换为所述各个升级文件。
在一些实施例中,文件替换240包括:
文件下载单元,用于根据所述各个升级文件的下载路径从所述升级服务器中下载所述各个升级文件,并将所述各个升级文件存储至所述安装目录之外的第一预设目录下;
文件拷贝单元,用于将所述安装目录下的各个文件拷贝到所述安装目录之外的第二预设目录下;
文件替换单元,用于将所述安装目录下的所述各个待升级文件替换为所述第一预设目录下的所述各个升级文件,若替换成功,则所述本地渠道客户端升级完成;否则,将所述第二预设目录下的各个文件覆盖当前安装目录下的各个文件。
在一些实施例中,所述文件下载单元具体用于执行:
s1411、从所述升级服务器中下载所述各个升级文件至所述第一预设目录下,并在下载各个升级文件时记录每一个升级文件的下载情况,所述下载情况包括下载成功和下载失败;
s1412、判断是否存在下载失败的升级文件;
s1413、若存在下载失败的升级文件,判断重新下载的总次数是否达到最大次数,若所述总次数达到所述最大次数,则退出所述本地渠道客户端的本次升级;否则,对于下载失败的升级文件重新进行下载,记录下载情况,并返回s1412;
s1414、若不存在下载失败的升级文件,则执行所述文件拷贝单元。
在一些实施例中,文件下载单元还用于:从所述升级服务器中下载对应的渠道配置文件至所述第一预设目录下;其中,所述渠道配置文件中包括多个渠道项和指定渠道的配置信息,每一个渠道项中包括对应渠道资源的存储路径;文件替换单元还用于:将所述第一预设目录下的所述渠道配置文件拷贝到所述安装目录下。
在一些实施例中,所述本地渠道信息存储在所述安装目录之外的第三预设目录下;对应的,第二获取模块用于:从所述第三预设目录中获取所述本地渠道信息;所述装置还包括:
信息更新模块,用于在所述本地渠道客户端的升级结束后,由启动的所述本地渠道客户端将所述安装目录下的所述渠道配置文件替换所述第三预设目录下的本地渠道信息以实现对本地渠道信息的更新。
在一些实施例中,所述装置还包括:
程序启动模块,用于响应于对所述本地渠道客户端的启动操作,启动本地的升级程序;其中,所述升级程序用于执行第一获取模块、第二获取模块、升级确定模块和文件替换模块,在所述第一获取模块、第二获取模块、升级确定模块和文件替换模块执行完成后启动所述本地渠道客户端,并退出升级程序。
在一些实施例中,所述装置还包括:
程序升级模块,用于:在所述本地渠道客户端的升级过程中,若接收到对所述升级程序的升级提示后,将所述升级程序的升级文件下载到第四预设目录下;在所述本地渠道客户端的升级结束后,由启动的所述本地渠道客户端依据所述子目录下的所述升级文件对本地的升级程序进行升级。
可理解的是,本申请提供的渠道客户端的通用升级装置,其有关内容的解释、举例、有益效果等部分可以参考渠道客户端的通用升级方法中的相应部分,此处不再赘述。
在一些实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述渠道客户端的通用升级方法。
可理解的是,本申请提供的计算机设备,其有关内容的解释、举例、有益效果等部分可以参考渠道客户端的通用升级方法中的相应部分,此处不再赘述。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现上述渠道客户端的通用升级方法。
可理解的是,本申请提供的存储介质,其有关内容的解释、举例、有益效果等部分可以参考渠道客户端的通用升级方法中的相应部分,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
1.一种渠道客户端的通用升级方法,其特征在于,包括:
s110、向升级服务器中获取升级配置文件;其中,所述升级配置文件中包括最新渠道客户端的版本号、渠道控制信息和多个文件项;所述渠道控制信息中包括多个渠道客户端分别对应的开关的状态,处于打开状态的开关所对应的渠道客户端允许升级,处于关闭状态的开关所对应的渠道客户端不允许升级;所述多个文件项与所述最新渠道客户端运行所需的各个文件一一对应,每一个的文件项中包括对应文件的md5编码和下载路径;
s120、获取本地渠道客户端的版本号以及本地渠道信息,若所述最新渠道客户端的版本号高于所述本地渠道客户端的版本号且所述本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态,则获取所述本地渠道客户端的安装目录下各个文件的md5编码;
s130、根据所述最新渠道客户端的各个文件的md5编码以及所述本地渠道客户端的各个文件的md5编码,确定所述最新渠道客户端的各个升级文件以及所述本地渠道客户端的各个待升级文件;
s140、根据所述各个升级文件的下载路径,从所述升级服务器中下载所述各个升级文件,并将所述安装目录下的所述各个待升级文件替换为所述各个升级文件。
2.根据权利要求1所述的方法,其特征在于,所述s140包括:
s141、根据所述各个升级文件的下载路径从所述升级服务器中下载所述各个升级文件,并将所述各个升级文件存储至所述安装目录之外的第一预设目录下;
s142、将所述安装目录下的各个文件拷贝到所述安装目录之外的第二预设目录下;
s143、将所述安装目录下的所述各个待升级文件替换为所述第一预设目录下的所述各个升级文件,若替换成功,则所述本地渠道客户端升级完成;否则,将所述第二预设目录下的各个文件覆盖当前安装目录下的各个文件。
3.根据权利要求2所述的方法,其特征在于,所述s141包括:
s1411、从所述升级服务器中下载所述各个升级文件至所述第一预设目录下,并在下载各个升级文件时记录每一个升级文件的下载情况,所述下载情况包括下载成功和下载失败;
s1412、判断是否存在下载失败的升级文件;
s1413、若存在下载失败的升级文件,判断重新下载的总次数是否达到最大次数,若所述总次数达到所述最大次数,则退出所述本地渠道客户端的本次升级;否则,对于下载失败的升级文件重新进行下载,记录下载情况,并返回s1412;
s1414、若不存在下载失败的升级文件,则执行s142。
4.根据权利要求2所述的方法,其特征在于,所述s141还包括:从所述升级服务器中下载对应的渠道配置文件至所述第一预设目录下;其中,所述渠道配置文件中包括多个渠道项和指定渠道的配置信息,每一个渠道项中包括对应渠道资源的存储路径;所述s143还包括:将所述第一预设目录下的所述渠道配置文件拷贝到所述安装目录下。
5.根据权利要求4所述的方法,其特征在于,所述本地渠道信息存储在所述安装目录之外的第三预设目录下;对应的,所述s120中获取本地渠道信息,包括:从所述第三预设目录中获取所述本地渠道信息;
所述方法还包括:在所述本地渠道客户端的升级结束后,将所述安装目录下的所述渠道配置文件替换所述第三预设目录下的本地渠道信息以实现对本地渠道信息的更新。
6.根据权利要求1~5任一项所述的方法,其特征在于,还包括:
响应于对所述本地渠道客户端的启动操作,启动本地的升级程序;其中,所述升级程序用于执行所述s110~s140,在所述s110~s140执行完成后启动所述本地渠道客户端,并退出升级程序。
7.根据权利要求6所述的方法,其特征在于,还包括:
在所述本地渠道客户端的升级过程中,若接收到对所述升级程序的升级提示后,将所述升级程序的升级文件下载到第四预设目录下;
在所述本地渠道客户端的升级结束后,由启动的所述本地渠道客户端依据所述第四预设目录下的升级文件对本地的升级程序进行升级。
8.一种渠道客户端的通用升级装置,其特征在于,包括:
第一获取模块,用于向升级服务器中获取升级配置文件;其中,所述升级配置文件中包括最新渠道客户端的版本号、渠道控制信息和多个文件项;所述渠道控制信息中包括多个渠道客户端分别对应的开关的状态,处于打开状态的开关所对应的渠道客户端允许升级,处于关闭状态的开关所对应的渠道客户端不允许升级;所述多个文件项与所述最新渠道客户端运行所需的各个文件一一对应,每一个的文件项中包括对应文件的md5编码和下载路径;
第二获取模块,用于获取本地渠道客户端的版本号以及本地渠道信息,若所述最新渠道客户端的版本号高于所述本地渠道客户端的版本号且所述本地渠道信息在所述渠道控制信息中对应的开关的状态为打开状态,则获取所述本地渠道客户端的安装目录下各个文件的md5编码;
升级确定模块,用于根据所述最新渠道客户端的各个文件的md5编码以及所述本地渠道客户端的各个文件的md5编码,确定所述最新渠道客户端的各个升级文件以及所述本地渠道客户端的各个待升级文件;
文件替换模块,用于根据所述各个升级文件的下载路径,从所述升级服务器中下载所述各个升级文件,并将所述安装目录下的所述各个待升级文件替换为所述各个升级文件。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述渠道客户端的通用升级方法的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述渠道客户端的通用升级方法的步骤。
技术总结