一种软件升级的方法及装置的制造方法

文档序号:10724640阅读:196来源:国知局
一种软件升级的方法及装置的制造方法
【专利摘要】本发明公开了一种软件升级方法及装置,用以在服务器同时收到升级记录和升级文件包后进行软件的升级,保证软件正常升级的目的。所述方法包括:接收升级记录;存储所述升级记录并将所述升级记录的状态标记为关闭状态;检查是否收到所述升级记录对应的升级文件包;当收到所述升级记录对应的升级文件包时,验证所述升级文件包是否完整;若所述升级文件包完整,将所述升级记录的状态修改为激活状态;根据所述升级文件包和升级记录,对软件进行升级。该方法在服务器收到升级记录后,不马上进行软件的升级操作,而是在检测到完整的对应升级文件包后再进行升级,从而能够保证软件成功升级。
【专利说明】
一种软件升级的方法及装置
技术领域
[0001 ]本发明涉及软件开发技术领域,特别涉及一种软件升级方法及装置。【背景技术】
[0002]近几年,随着软件行业的发展,越来越多的软件出现在我们的日常生活中,人们通过软件丰富了娱乐活动,简化了劳动生产,并且提高了工作效率。
[0003]在软件使用过程中,随着用户的需求越来越高,软件也需要不断地升级以满足用户的需求。在软件升级时,会生成一个升级的文件包和一条升级记录。升级文件包和升级记录发送给各地的服务器,以便各地的用户终端进行升级。但是现有的软件升级过程中,升级文件包和升级记录的发送有时不同步,因此升级文件包和升级记录可能不会同时到达服务器。如果升级记录先到各地服务器,各地服务器在数据库中有升级记录,但是没有升级文件,此种情况会导致升级失败,使得软件无法正常完成升级。
【发明内容】

[0004]本发明提供一种软件升级方法及装置,用以在服务器同时收到升级记录和升级文件包后进行软件的升级,从而保证了软件的正常升级。
[0005]本发明提供一种软件升级方法,用于服务器,包括:[〇〇〇6]接收升级记录;
[0007]存储所述升级记录并将所述升级记录的状态标记为关闭状态;
[0008]检查是否收到所述升级记录对应的升级文件包;
[0009]当收到所述升级记录对应的升级文件包时,验证所述升级文件包是否完整;
[0010]若所述升级文件包完整,将所述升级记录的状态修改为激活状态;
[0011]根据所述升级文件包和升级记录,对软件进行升级。
[0012]本发明实施例的一些有益效果可以包括:
[0013]本发明的软件升级方法,在服务器收到升级记录后,不马上进行软件的升级操作, 而是将升级记录标记为关闭状态,然后当检测到完整的升级文件包后,将升级记录激活然后再进行升级,从而可以保证软件能够成功升级。
[0014]在一个实施例中,所述升级记录包括软件版本号、指定升级对象标识。
[0015]该实施例中,升级记录包括软件版本号、指定升级对象标识,从而在升级时可根据指定升级对象标识快速定位升级对象,并根据软件版本号判断该升级对象是否需要升级, 升级更加省时。
[0016]在一个实施例中,所述软件版本号包括软件代数、大版本号、子版本号。
[0017]该实施例中,软件版本号包括软件代数、大版本号、子版本号等详细软件版本信息,从而可方便服务器对升级对象的软件版本进行更为精确的比对,已决定是否对指定升级对象的软件进行升级。
[0018]在一个实施例中,当指定升级对象为单个机顶盒终端时,所述指定升级对象标识为机顶盒终端的标识;
[0019]当指定升级对象为一组机顶盒终端时,所述指定升级对象标识为指定的这组机顶盒终端的组标识;
[0020]当指定升级对象为整个地域内的机顶盒终端时,所述指定升级对象标识为指定的这个地域的地域标识;
[0021]当指定升级对象为所有机顶盒终端时,所述升级记录中的指定升级对象标识为空。
[0022]在一个实施例中,所述根据所述升级文件包和升级记录,对软件进行升级,包括:
[0023]根据所述升级记录中的指定升级对象标识,获取指定升级对象上安装的软件版本号;[〇〇24]比较所述升级记录中的软件版本号与指定升级对象安装的软件版本号高低;
[0025]使用所述升级文件包对安装的软件版本号低于所述升级记录中的软件版本号的指定升级对象上的软件进行升级。
[0026]该实施例中,将指定升级对象标识获取软件版本号与软件现有的版本号进行级别高低的比较,便于服务器决定是否需要升级,从而能够只在接收到高级别版本的升级文件包之后进行升级,提高了软件升级的准确度。
[0027]本发明还提供一种软件升级装置,用于服务器,包括:
[0028]接收模块,用于接收升级记录以及升级文件包并暂存;[〇〇29]标记模块,用于将所述接收模块接收的升级记录的状态标记为关闭状态;
[0030]匹配模块,用于检查所述接收模块是否收到所述升级记录对应的升级文件包;[0031 ]验证模块,用于当所述匹配模块检查出所述接收模块收到所述升级记录对应的升级文件包时,验证所述升级文件包是否完整;[〇〇32]激活模块,用于当所述验证模块验证出所述升级文件包完整时,将所述升级记录的状态修改为激活状态;
[0033]升级模块,用于在所述升级记录状态修改为激活状态后,根据所述升级文件包和升级记录,对软件进行升级。
[0034]在一个实施例中,所述接收模块接收的升级记录包括软件版本号、指定升级对象标识。
[0035]在一个实施例中,所述升级模块,具体包括:
[0036]版本号获取单元,用于根据所述升级记录中的指定升级对象标识,获取指定升级对象上安装的软件版本号;[〇〇37]比较单元,用于比较所述升级记录中的软件版本号与指定升级对象安装的软件版本号高低;
[0038]升级单元,用于使用所述升级文件包对安装的软件版本号低于所述升级记录中的软件版本号的指定升级对象上的软件进行升级。
[0039]本发明的软件升级装置,在服务器收到升级记录后,不马上进行软件的升级操作, 而是将升级记录标记为关闭状态,然后当检测到完整的升级文件包后,将升级记录激活然后再进行升级,从而可以保证软件能够成功升级。
[0040]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0041]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。【附图说明】
[0042]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0043]图1为本发明实施例中一种软件升级方法的流程图;
[0044]图2为本发明实施例一中一种软件升级方法的流程图;[〇〇45]图3为本发明实施例中一种软件升级装置的结构框图;
[0046]图4为本发明实施例中另一种软件升级装置的结构框图。【具体实施方式】[〇〇47]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0048]图1为本发明实施例中一种软件升级方法的流程图。如图1所示,该方法用于位于服务器中,包括以下步骤S101-S106:[〇〇49] 步骤S101,接收升级记录。
[0050]优选地,升级记录至少包括软件版本号、指定升级对象标识等内容。[0051 ]目前,软件版本号有不同的制定方式,在一个实施例中,软件版本号由3段组成,每段之间由分隔,一个软件版本号的3段可以为软件代数(如第几代软件)、大版本号、子版本号,以便升级时服务器能够根据软件版本号的详细信息判断机顶盒终端的软件是否需要升级。[〇〇52]在另一个实施例中,软件版本号也可以由主版本号、子版本号和修正版本号三个部分组成,在本发明的实施例中,对于软件版本号的制定类型不做具体的限制。[〇〇53]另外,本实施例中,软件的升级版本可以有测试版本和正式版本两种。测试版本一般只指定某特定机顶盒,正式版本则默认所有用户。因此,本实施例中的升级记录中的指定升级对象标识,主要用于指定升级的机顶盒。具体地,当指定升级对象为单个机顶盒终端时,所述指定升级对象标识为机顶盒终端的标识;当指定升级对象为一组机顶盒终端时,所述指定升级对象标识为指定的这组机顶盒终端的组标识;当指定升级对象为整个地域内的机顶盒终端时,所述指定升级对象标识为指定的这个地域的地域标识;当指定升级对象为所有机顶盒终端时,所述升级记录中的指定升级对象标识为空。因此,在对软件进行升级时,可以根据指定升级对象标识对相应的机顶盒终端进行软件升级。[〇〇54]步骤S102,存储所述升级记录并将所述升级记录的状态标记为关闭状态。
[0055]本实施例中,在收到升级记录后,服务器并不马上根据升级记录进行升级,而是先将该升级记录保存并标记为关闭状态,然后确定该升级记录对应的升级文件包是否存在, 即执行步骤S103。[〇〇56]步骤S103,检查是否收到所述升级记录对应的升级文件包,当收到所述升级记录对应的升级文件包时,执行步骤S104。
[0057]在本实施例中,由于可能存在升级记录和升级文件包不同步的情况,因此在收到升级记录后,不立即进行升级,而是检查是否收到升级文件包。如果收到对应的升级文件包,则执行下一步,否则可以结束本次升级。
[0058]在另一个实施例中,当检测到没有收到升级文件包时,也可以设定每个预设的时间检测一次是否有收到升级文件包,并且在设定的检测次数内收到升级文件包时执行下一步,当检测次数超过设定次数时,则可以认为此次升级的升级软件包丢失,则结束此次升级。[〇〇59]步骤S104,验证所述升级文件包是否完整,若所述升级文件包完整,执行步骤 S105〇
[0060]在本实施例中,当验证出升级文件包完整时,则执行下一步;如果验证出升级文件包不完整或有错误时,则结束本次升级,不再进行后续的升级操作。[0061 ]在另一个实施例中,当步骤S103和S104中结束升级时,可以向上级发送升级失败报告,则上级可以根据需要选择是否向该服务器重新发送所述升级记录对应的完整的升级文件包。[〇〇62]步骤S105,将所述升级记录的状态修改为激活状态。[0〇63]步骤S106,根据所述升级文件包和升级记录,对软件进行升级。
[0064]此步骤中,在对指定升级对象软件进行升级时,根据指定升级对象标识获取该升级对象当前安装的软件版本信息,例如软件代数和/或大版本号和/或子版本号等信息,然后根据获取软件版本信息和升级文件包对应的软件版本决定是否对指定升级对象进行升级。
[0065]本发明实施例提供的技术方案,在服务器收到升级记录后,不马上进行软件的升级操作,而是将升级记录标记为关闭状态,然后当检测到完整的升级文件包后,将升级记录激活然后再进行升级,从而可以保证软件能够成功升级。
[0066]下面通过具体实施例来说明本发明实施例提供的软件升级方法。[〇〇67] 实施例一
[0068]图2为本发明实施例一中一种软件升级方法的流程图。如图2所示,包括以下步骤 S201-S208:[〇〇69] 步骤S201,接收升级记录。[〇〇7〇]本实施例中,步骤S201的过程和上述方法实施例的步骤101类似,此处不再赘述。 [0071 ]步骤S202,存储所述升级记录并将所述升级记录的状态标记为关闭状态。[〇〇72]本实施例中,步骤S202的过程和上述方法实施例的步骤102类似,此处不再赘述。 [〇〇73]步骤S203,检查是否收到所述升级记录对应的升级文件包;若是,则执行步骤 S204;否则,结束流程。[〇〇74]本实施例中,步骤S203的过程和上述方法实施例的步骤103类似,此处不再赘述。 [〇〇75]步骤S204,验证所述升级文件包是否完整;若完整,则执行步骤S205;否则,结束流程。[〇〇76]本实施例中,步骤S204的过程和上述方法实施例的步骤104类似,此处不再赘述。 [〇〇77]步骤S205,将所述升级记录的状态修改为激活状态。
[0078]步骤S206,根据所述升级记录中的指定升级对象标识,获取指定升级对象上安装的软件版本号。
[0079]例如,获取到指定升级对象上安装的软件版本号为“第3代.V1.3”第3代的大版本号为VI子版本号为3的软件。
[0080]步骤S207,比较所述升级记录中的软件版本号与指定升级对象安装的软件版本号尚低。[0081 ]例如,若升级记录中的软件版本号为“第3代.V1.4”,则升级记录软件版本号高于 “第3代.V1.3”。
[0082]步骤S208,使用所述升级文件包对安装的软件版本号低于所述升级记录中的软件版本号的指定升级对象上的软件进行升级。
[0083]其中,若升级记录中的指定升级对象为某组的10个机顶盒终端,其中,有3个机顶盒终端在先已经升级过其软件,即这3个机顶盒终端的软件版本号和升级记录中的软件版本号一致了,则只需要采用所述升级文件包对其余7个未升级的机顶盒终端进行软件升级即可。
[0084]本实施例提供的软件升级方法在服务器收到升级记录后,不马上进行软件的升级操作,而是将升级记录标记为关闭状态,然后当检测到完整的升级文件包后,将升级记录激活,然后先核实指定升级对象的软件版本号,再对软件版本号低的指定升级对象升级,进一步避免了不必要的重复升级。
[0085]对应于上述实施例提供的一种用于服务器的软件升级方法,本发明实施例还提供一种软件升级装置,该装置用于服务器中,如图3所示,包括:[〇〇86]接收模块31,用于接收升级记录以及升级文件包并暂存。
[0087]标记模块32,用于将接收模块31接收的所述升级记录的状态标记为关闭状态;标记模块32将接收模块31每次刚接收到的升级记录的状态标记为关闭状态,随后向匹配模块 33发送匹配通知,所述匹配通知中可以包含该升级记录的标识等信息以方便匹配模块33进行匹配。
[0088]匹配模块33,用于检查接收模块31是否收到所述升级记录对应的升级文件包。具体地,匹配模块33收到标记模块的匹配通知时,检查接收模块31是否暂存有标记模块32刚标记(即将状态改为关闭状态)的升级记录对应的升级文件包,若有该升级记录对应的升级文件包,则向验证模块34发送验证通知,验证通知中可以包含该升级记录和升级文件包的标识等信息。[〇〇89]验证模块34,用于当匹配模块33检查出接收模块31收到所述升级记录对应的升级文件包时,验证所述升级文件包是否完整。具体地,验证模块34可根据匹配模块33的验证通知,验证接收模块31中暂存的指定升级文件包是否完整,若完整,则向激活模块35发送激活通知,激活通知中可以包含需要激活的升级记录的标识及其对应的升级文件包的标识。
[0090]激活模块35,用于当验证模块34验证出所述升级文件包完整时,将接收模块31暂存的所述升级记录的状态修改为激活状态。具体地,激活模块35可根据激活通知中的升级记录标识将接收模块31暂存的相应升级记录的状态修改为激活状态,并在激活完后向升级模块发送升级通知,升级通知中可包括升级记录和升级文件包的标识。
[0091]升级模块36,用于在所述升级记录状态修改为激活状态后,根据所述升级文件包和升级记录,对软件进行升级。具体地,升级模块36可根据升级通知,获取存储模块31中暂存的相应升级文件包和升级记录,对机顶盒终端软件进行升级。
[0092]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0093]在一个实施例中,所述接收模块接收的升级记录包括软件版本号、指定升级对象标识。
[0094]图4为本发明提供的另一种软件升级装置的结构示意图,如图4所示,本实施例的装置在图3所示装置结构的基础上,进一步地,升级模块36包括:
[0095]版本号获取单元361,用于根据所述升级记录中的指定升级对象标识,获取指定升级对象上安装的软件版本号;
[0096]比较单元362,用于比较所述升级记录中的软件版本号与指定升级对象安装的软件版本号高低;
[0097]升级单元363,用于使用所述升级文件包对安装的软件版本号低于所述升级记录中的软件版本号的指定升级对象上的软件进行升级。
[0098]本发明实施例提供的软件升级装置,在服务器收到升级记录后,不马上进行软件的升级操作,而是将升级记录标记为关闭状态,然后当检测到完整的升级文件包后,将升级记录激活然后再进行升级,从而可以保证软件能够成功升级。
[0099]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0100]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0101]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0102]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0103]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种软件升级方法,其特征在于,用于服务器,包括:接收升级记录;存储所述升级记录并将所述升级记录的状态标记为关闭状态;检查是否收到所述升级记录对应的升级文件包;当收到所述升级记录对应的升级文件包时,验证所述升级文件包是否完整;若所述升级文件包完整,将所述升级记录的状态修改为激活状态;根据所述升级文件包和升级记录,对软件进行升级。2.根据权利要求1所述的软件升级方法,其特征在于,所述升级记录包括软件版本号、 指定升级对象标识。3.根据权利要求2所述的软件升级方法,其特征在于,所述软件版本号包括软件代数、 大版本号、子版本号。4.根据权利要求2所述的软件升级方法,其特征在于,当指定升级对象为单个机顶盒终 端时,所述指定升级对象标识为机顶盒终端的标识;当指定升级对象为一组机顶盒终端时,所述指定升级对象标识为指定的这组机顶盒终 端的组标识;当指定升级对象为整个地域内的机顶盒终端时,所述指定升级对象标识为指定的这个 地域的地域标识;当指定升级对象为所有机顶盒终端时,所述升级记录中的指定升级对象标识为空。5.根据权利要求2或3或4所述的软件升级方法,其特征在于,所述根据所述升级文件包 和升级记录,对软件进行升级,包括:根据所述升级记录中的指定升级对象标识,获取指定升级对象上安装的软件版本号; 比较所述升级记录中的软件版本号与指定升级对象安装的软件版本号高低;使用所述升级文件包对安装的软件版本号低于所述升级记录中的软件版本号的指定 升级对象上的软件进行升级。6.—种软件升级装置,其特征在于,用于服务器,包括:接收模块,用于接收升级记录以及升级文件包并暂存;标记模块,用于将所述接收模块接收的升级记录的状态标记为关闭状态;匹配模块,用于检查所述接收模块是否收到所述升级记录对应的升级文件包;验证模块,用于当所述匹配模块检查出所述接收模块收到所述升级记录对应的升级文 件包时,验证所述升级文件包是否完整;激活模块,用于当所述验证模块验证出所述升级文件包完整时,将所述升级记录的状 态修改为激活状态;升级模块,用于在所述升级记录状态修改为激活状态后,根据所述升级文件包和升级 记录,对软件进行升级。7.根据权利要求6所述的软件升级装置,其特征在于,所述接收模块接收的升级记录包 括软件版本号、指定升级对象标识。8.根据权利要求7所述的软件升级装置,其特征在于,所述升级模块,具体包括:版本号获取单元,用于根据所述升级记录中的指定升级对象标识,获取指定升级对象 上安装的软件版本号;比较单元,用于比较所述升级记录中的软件版本号与指定升级对象安装的软件版本号 尚低;升级单元,用于使用所述升级文件包对安装的软件版本号低于所述升级记录中的软件 版本号的指定升级对象上的软件进行升级。
【文档编号】G06F9/445GK106095505SQ201610415369
【公开日】2016年11月9日
【申请日】2016年6月13日 公开号201610415369.8, CN 106095505 A, CN 106095505A, CN 201610415369, CN-A-106095505, CN106095505 A, CN106095505A, CN201610415369, CN201610415369.8
【发明人】郭建辉
【申请人】天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1