专利名称:一种操作系统升级方法及装置的制作方法
技术领域:
本发明涉及计算机技术领域,尤其涉及一种操作系统升级方法及装置。
背景技术:
随着科技的进步,智能设备的系统更新越来越快,用户对操作系统的功能要求也越来越高,使得操作系统自动升级功能称为操作系统的重要组成部分。常见的Linux系统发行版都有自动更新的功能,甚至在一些专用的Linux系统发行版中也包含该项功能。通过自动更新功能可以修复操作系统软件中的漏洞或者提供软件版本升级。现有的系统升级方法分为按版本号依次从大到小进行升级、跨版本升级、全量升级和增量升级等多种升级方法。每种升级方法都有其特定的实际作用,能够解决实际环境中的特定问题。以按版本号大小的升级方法为例,通过对前版本的漏洞进行完善,或者对软件添加新的应用功能的更新,使软件更加完善好用,对原先系统中存在的漏洞等错误信息进行修改。图1为现有技术中常规升级方法的流程示意图,以下参考图1,说明常规升级方法的各个步骤。步骤110,当开始执行升级程序时,终端升级程序判断网络是否能够连通升级服务器,若判断结果为是,则下载升级配置文件,否则终止升级程序。步骤120,根据下载的升级配置文件判断远程升级服务器是否存在比本地版本级别高的升级包,若判断结果为是,则下载升级包,否则终止升级程序。步骤130,判断下载的升级包是否完整,若判断结果为是,则进行升级更新以完成对系统的升级,否则终止升级程序。步骤140,重新启动更新后的系统。基于图1可得到,现有的系统升级方法,基本只支持某一种升级方法或者以两种特定的升级方法为准的升级方法,不能将上述的升级方法进行综合,以至于不能完全解决实际应用中出现的问题。因此,亟需一种可以解决系统在实际使用中出现的多种问题的操作系统升级方法。
发明内容
本发明所要解决的技术问题之一是需要提供一种操作系统升级方法及装置。为了解决上述技术问题,本发明提供了一种操作系统升级方法,该方法包括用户端设备的操作系统向升级服务器发送升级请求;所述用户端设备或所述升级服务器根据升级配置信息来判断是否存在针对所述用户端设备的升级文件;若判断为是,将根据所述升级配置信息确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之, 结束处理;其中,所述升级配置信息包括所述升级文件的版本号和各所述用户端设备的MAC地址的对应关系;以及,
当由所述用户端设备根据所述升级配置信息来判断是否存在针对所述用户端设备的升级文件时,所述升级服务器在接收到所述用户端的升级请求后,向所述用户端设备发送所述升级配置信息。根据本发明另一方面的操作系统升级方法,还包括所述用户端设备根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号;若判断为是,则将根据未更新的升级版本号或者根据所述升级配置信息和未更新的升级版本号确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理,其中,所述终端升级版本列表文件包括所述用户端设备已更新过的升级文件的版本号, 所述升级包列表文件包括所述升级服务器提交的所有的升级文件的版本号,以及,当由所述用户端设备根据升级包列表文件以及所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号时,所述升级服务器在接收到所述用户端的升级请求后,向所述用户端设备发送所述升级包列表文件。根据本发明另一方面的操作系统升级方法,还包括判断所述升级文件是否具有完整性,若判断为是,则所述用户端设备基于所述升级文件进行升级,反之,结束处理。根据本发明另一方面的操作系统升级方法,还包括查询所述升级文件中是否存在用于更新升级程序的脚本,若存在,则执行所述用于更新升级程序的脚本以得到更新后的升级程序。根据本发明另一方面的操作系统升级方法,还包括查询所述升级文件中是否存在用于启动所述更新后的升级程序的脚本,若存在,则执行所述脚本。根据本发明另一方面的操作系统升级方法,通过根据各个MAC地址的所述用户端设备系统出现的错误信息来定制所述升级文件,并对定制的所述升级文件设定所述升级文件版本号。根据本发明另一方面的操作系统升级方法,通过根据所述用户端设备所在的实际地域对所述MAC地址进行分类以得到分组,通过根据各个分组中的各个MAC地址的所述用户端设备系统出现的错误信息来定制所述升级文件。根据本发明的另一方面,还提供了一种操作系统升级装置,该装置包括请求模块,其用于向升级服务器发送升级请求;第一判断模块,其用于根据升级配置信息来判断是否存在针对用户端设备的升级文件;以及升级模块,若所述第一判断模块判断为是,将根据所述升级配置信息确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理;其中,所述升级配置信息包括升级版本号和各所述用户端设备的MAC地址的对应关系; 以及,当所述第一判断模块根据所述升级配置信息来判断是否存在针对所述用户端设备的升级文件时,所述升级服务器在接收到所述用户端的升级请求后,向所述用户端设备发送所述升级配置信息。根据本发明另一方面的操作系统升级装置,还包括第二判断模块,其根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号;以及在所述升级模块中,若所述第二判断模块判断为是,则将根据未更新的升级版本号或者根据所述升级配置信息和未更新的升级版本号确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理,其中,所述终端升级版本列表文件包括所述用户端设备已更新过的升级文件的版本号,所述升级包列表文件包括所述升级服务器提交的所有的升级文件的版本号,以及,当由所述第二判断模块根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号时,所述升级服务器在接收到所述升级请求后,向所述用户端设备发送所述升级包列表文件。根据本发明另一方面的操作系统升级装置,还包括第三判断模块,其判断所述升级文件是否具有完整性;在所述升级模块中,若所述第三判断模块判断为是,则将根据所述升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理。与现有技术相比,本发明可以具有以下优点为了解决系统在实际使用中出现的多种问题,本发明采用一种操作系统升级方法将多种升级方法综合在一个升级程序中,用户可以根据实际应用中的问题,选择合适的升级方法,并且能够指定升级对象与实现升级程序的自我升级。本发明提出一种综合升级方法,能够支持指定升级对象,不依赖版本号大小判断机制的系统升级方法,它综合了按版本大小进行依次升级,跨版本升级,全量升级,增量升级等多种升级方法。本发明还支持升级程序自我更新的功能,以避免升级程序自身出现漏洞可能会导致整个系统不能进行维护和升级的问题。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1是现有技术中常规升级方法的流程示意图;图2是根据本发明第一实施例的操作系统升级方法的流程示意图;图3是根据本发明第一实施例的生成升级配置信息的流程示意图;图4是根据本发明第二实施例的操作系统升级装置的结构示意图;图5是根据本发明第三实施例的操作系统升级装置的结构示意图;图6是根据本发明第四实施例的操作系统升级装置的结构示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,
6所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。第一实施例图2是根据本发明第一实施例的操作系统升级方法的流程示意图,下面参照图2 详细说明该方法的各步骤。步骤210,用户端设备的操作系统向升级服务器发送升级请求。具体地,当用户端设备进行系统升级时,检验当前网络是否能够连通到系统的升级服务器,若检验结果为是,则用户端设备的操作系统向升级服务器发送升级请求,若当前网络不能连通,则结束处理。步骤220,用户端设备根据升级包列表文件以及用户端设备的终端升级版本列表文件来判断用户端设备是否存在未更新的升级版本号。具体地,升级服务器在接收到用户端的升级请求后,向用户端设备发送升级包列表文件,判断用户端设备是否存在未更新的升级版本号,若判断为是,则进入步骤230,否则,结束处理。由于在升级服务器的升级管理后台生成一个升级包列表文件,此文件列出升级服务器中的所有提交的升级文件的版本号,对应的本地用户端(亦称终端)也生成一个终端升级版本列表文件,其包括用户端设备自身已更新过的升级文件的版本号,在用户端把升级服务器端的升级列表文件下载到本地时,用户端将升级列表文件与本地的终端升级版本列表文件进行比对,判断升级服务器端的升级包列表文件中是否存在本地终端的系统没有升级过的版本,若判断为是,则进入步骤230,否则,终止升级程序,结束处理并清除相应的垃圾文件。步骤230,用户端设备或升级服务器根据升级配置信息来判断是否存在针对用户端设备的升级文件。具体地,升级服务器在接收到用户端的升级请求后,向用户端设备发送升级配置信息,判断是否存在用户端的MAC地址,若判断为是,则进入步骤M0,否则,结束处理,其中,升级配置信息包括升级版本号和各用户端设备的MAC地址的对应关系。本发明为了能够兼容多种升级方法,在升级服务器中生成了升级配置信息,图3 是根据本发明第一实施例的生成升级配置信息的流程示意图,下面参考图3,详细说明各步马聚ο步骤310,根据MAC地址来定制升级文件,并对定制的升级文件设定升级文件版本号。通过根据各个MAC地址的用户端设备系统出现的错误信息来定制升级文件,对定制的升级文件设定升级文件版本号。由于用户端在安装完系统后将用户端设备的介质访问控制(Medium/Media Access Control,简称MAC)地址发送到升级服务器中,由升级服务器将其写入对应的数据库,因此可以根据升级服务器保存的用户端设备的MAC地址数据库中的MAC地址,指定升级对象。
具体地,开发人员根据不同MAC地址的不同的用户端设备操作系统(简称系统) 出现的新漏洞等错误信息,开发定制出不同MAC地址的系统的升级文件,并对定制的升级文件的设定唯一标识版本号,例如版本号为001,002等。需要说明的是,不同MAC地址的系统所出现的问题是不同的,根据不同MAC地址所传送的出现的问题,开发人员开发出针对MAC地址的系统的升级文件,因此,所开发的升级文件可以是按版本大小进行升级的升级更新包、跨版本升级的升级更新包、全量升级的升级更新包或增量升级的升级更新包。需要说明的是,当终端设备数量过大时,可以将MAC地址进行分组,例如将终端设备的MAC地址按照终端设备的实际地理位置(地域)进行归类分组,实际地理位置(地域)可以按照省市县进行区分,则可以根据省市县对MAC地址进行归类分组。通过根据用户端设备所在的实际地域对MAC地址进行分类以得到分组,通过根据各个分组中的各个MAC 地址的用户端设备系统出现的问题来定制升级文件。
步骤320,根据升级文件和用户端设备的MAC地址的对应关系生成升级配置信息。 更具体地,将升级文件、设定的升级文件的版本号和相关的MAC地址等参数内容发送至升级服务器的升级管理后台,升级管理后台将参数内容生成XML格式的升级配置文件。
XML结构可以根据实际应用进行定制,举例而言,XML具体结构设计可如下所示 〈descriptionX/description) <version></version> <md5 sumX/ md5 sum> 〈dateX/date>
<source_version></source_version> 〈source—pcs> 〈source—pcX/source—pc> </source—pcs>
其中,Description对应服务器升级管理后台提交升级包时的“描述”,即对升级文具体地,用户端从升级服务器下载获取升级配置信息后,通过解析升级配置信息中的souce_pc,source_pc为对象的MAC地址,确认是否需要下载对应MAC地址的升级文件,即根据解析升级配置信息中的MAC地址项,确认是否存在本地用户端的MAC地址,如果存在,则进入步骤MO,否则,终止升级程序。步骤M0,将根据未更新的升级版本号或者根据升级配置信息和未更新的升级版本号确定的升级文件从升级服务器传送至用户端设备,判断升级文件是否具有完整性。
具体地,针对确定的升级文件,判断升级文件是否具有完整性,若判断为是,则进入步骤250,否则,终止升级程序,结束处理。步骤250,查询升级文件中是否存在用于更新升级程序的脚本(简称ft~e_update. sh脚本),若存在,则执行该脚本并对系统进行,否则仅对系统进行升级。Pre_update. sh脚本是在用户端设备上下载完升级文件后进行升级文件解压缩前要执行的相关操作的脚本,其用于更新升级程序。具体地,判断升级更新包内是否存在pre_Update. sh脚本,若存在则执行此脚本, 执行系统文件和升级程序的更新并对操作系统进行升级,否则仅对操作系统进行升级。在执行完步骤250后,还可以进一步进行步骤沈0的操作。步骤沈0,查询升级文件内是否存在用于启动更新后的升级程序的脚本(简称 post_update. sh脚本),若存在,则执行该脚本,否则重启系统。具体地,p0St_Update. sh脚本是在用户端设备上下载完升级文件后进行升级文件解压缩完成后要执行的相关操作的脚本,判断升级文件内是否存在post_Update. sh脚本, 若存在则执行此脚本,否则重启系统。需要说明的是,考虑到在实际应用中,升级程序自身也需要进行维护和更新的需求,本发明实施例也提供了升级程序的自我更新,如步骤250所示,在进行更新系统前,先要判断升级更新包内是否存在pre_Update. sh脚本,如果存在则执行此脚本,在需要更新升级程序自身的时候,除了要提供升级程序更新内容以外,还要提供post_Update. sh脚本,在执行完更新系统后要执行postjpdate. sh脚本,本脚本主要功能为保证重启系统后,启动最新的升级程序。综上所述,本发明根据服务器指定升级对象的升级方案,可以更针对性的解决某个或者某些用户端设备的系统漏洞。通过使用本地用户端的终端升级版本列表文件和升级服务器端的升级包列表文件进行差异比较,来确定是否需要终端进行升级的方案,使升级不再局限于只使用升级版本号大小判断的机制,使升级更为灵活。第二实施例图4是根据本发明第二实施例的操作系统升级装置的结构示意图,下面参照图4 详细说明该装置的各部分的功能。该装置包括请求模块41、第一判断模块42以及升级模块43,请求模块41与第一判断模块42连接,第一判断模块42与升级模块43连接,接下来说明各个模块的功能。请求模块41,其用于向升级服务器发送升级请求;第一判断模块42,其用于根据升级配置信息来判断是否存在针对用户端设备的升级文件;以及升级模块43,若第一判断模块42判断为是,将根据升级配置信息确定的升级文件从升级服务器传送至所述用户端设备以进行升级,反之,结束处理;其中,升级配置信息包括升级版本号和各用户端设备的MAC地址的对应关系;以及,当所述第一判断模块42根据升级配置信息来判断是否存在针对所述用户端设备的升级文件时,升级服务器在接收到用户端的升级请求后,向用户端设备发送升级配置信肩、ο第三实施例
图5是根据本发明第三实施例的操作系统升级装置的结构示意图,下面参照图5 详细说明该装置的各部分的功能。在图5中,对与前述实施例相同或相似的部分,采用了相同的附图标记。该装置包括请求模块41、第一判断模块42、第二判断模块51以及升级模块43, 请求模块41与第二判断模块51连接,第二判断模块51与第一判断模块42连接,第一判断模块42与升级模块43连接,接下来说明各个模块的功能。请求模块41,其用于向升级服务器发送升级请求;第一判断模块42,其用于根据升级配置信息来判断是否存在针对用户端设备的升级文件;第二判断模块51,其根据升级包列表文件和用户端设备的终端升级版本列表文件来判断用户端设备是否存在未更新的升级版本号;以及在所述升级模块41中,若所述第二判断模块51判断为是,则将根据未更新的升级版本号或者根据升级配置信息和未更新的升级版本号确定的升级文件从升级服务器传送至用户端设备以进行升级,反之,结束处理,其中,终端升级版本列表文件包括用户端设备已更新过的升级文件的版本号。第四实施例图6是根据本发明第四实施例的操作系统升级装置的结构示意图,下面参照图6 详细说明该装置的各部分的功能。在图6中,对与前述实施例相同或相似的部分,采用了相同的附图标记。该装置包括请求模块41、第一判断模块42、第二判断模块51、第三判断模块61 以及升级模块43,请求模块41与第二判断模块51连接,第二判断模块51与第一判断模块 42连接,第一判断模块42与第三判断模块61连接,第三判断模块61与升级模块43连接, 下面结合图6来说明本实施例。为了便于说明,本实施例只说明与第三实施例不同的部分。第三判断模块61,其判断升级文件是否具有完整性;在所述升级模块43中,若第三判断模块61判断为是,则将升级文件从升级服务器传送至用户端设备以进行升级,反之,结束处理。本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种操作系统升级方法,其特征在于,包括用户端设备的操作系统向升级服务器发送升级请求;所述用户端设备或所述升级服务器根据升级配置信息来判断是否存在针对所述用户端设备的升级文件;若判断为是,将根据所述升级配置信息确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理;其中,所述升级配置信息包括所述升级文件的版本号和各所述用户端设备的MAC地址的对应关系;以及,当由所述用户端设备根据所述升级配置信息来判断是否存在针对所述用户端设备的升级文件时,所述升级服务器在接收到所述用户端的升级请求后,向所述用户端设备发送所述升级配置信息。
2.根据权利要求1所述的方法,其特征在于,还包括所述用户端设备根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号;若判断为是,则将根据未更新的升级版本号或者根据所述升级配置信息和未更新的升级版本号确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理,其中,所述终端升级版本列表文件包括所述用户端设备已更新过的升级文件的版本号,所述升级包列表文件包括所述升级服务器提交的所有的升级文件的版本号,以及,当由所述用户端设备根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号时,所述升级服务器在接收到所述用户端的升级请求后,向所述用户端设备发送所述升级包列表文件。
3.根据权利要求1所述的方法,其特征在于,还包括判断所述升级文件是否具有完整性,若判断为是,则所述用户端设备基于所述升级文件进行升级,反之,结束处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括查询所述升级文件中是否存在用于更新升级程序的脚本,若存在,则执行所述用于更新升级程序的脚本以得到更新后的升级程序。
5.根据权利要求4所述的方法,其特征在于,还包括查询所述升级文件中是否存在用于启动所述更新后的升级程序的脚本,若存在,则执行所述脚本。
6.根据权利要求1所述的方法,其特征在于,通过根据各个MAC地址的所述用户端设备系统出现的错误信息来定制所述升级文件, 并对定制的所述升级文件设定所述升级文件版本号。
7.根据权利要求6所述的方法,其特征在于,通过根据所述用户端设备所在的实际地域对所述MAC地址进行分类以得到分组,通过根据各个分组中的各个MAC地址的所述用户端设备系统出现的错误信息来定制所述升级文件。
8.一种操作系统升级装置,其特征在于,包括请求模块,其用于向升级服务器发送升级请求;第一判断模块,其用于根据升级配置信息来判断是否存在针对用户端设备的升级文件;以及升级模块,若所述第一判断模块判断为是,将根据所述升级配置信息确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理;其中,所述升级配置信息包括升级版本号和各所述用户端设备的MAC地址的对应关系;以及,当所述第一判断模块根据所述升级配置信息来判断是否存在针对所述用户端设备的升级文件时,所述升级服务器在接收到所述用户端的升级请求后,向所述用户端设备发送所述升级配置信息。
9.根据权利要求8所述的装置,其特征在于,还包括第二判断模块,其根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号;以及在所述升级模块中,若所述第二判断模块判断为是,则将根据未更新的升级版本号或者根据所述升级配置信息和未更新的升级版本号确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理,其中,所述终端升级版本列表文件包括所述用户端设备已更新过的升级文件的版本号,所述升级包列表文件包括所述升级服务器提交的所有的升级文件的版本号,以及,当由所述第二判断模块根据升级包列表文件和所述用户端设备的终端升级版本列表文件来判断所述用户端设备是否存在未更新的升级版本号时,所述升级服务器在接收到所述升级请求后,向所述用户端设备发送所述升级包列表文件。
10.根据权利要求8或9所述的装置,其特征在于,还包括 第三判断模块,其判断所述升级文件是否具有完整性;在所述升级模块中,若所述第三判断模块判断为是,则将根据所述升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理。
全文摘要
本发明公开了一种操作系统升级方法及装置,该方法包括用户端设备的操作系统向升级服务器发送升级请求;所述用户端设备或所述升级服务器根据升级配置信息来判断是否存在针对所述用户端设备的升级文件;若判断为是,将根据所述升级配置信息确定的升级文件从所述升级服务器传送至所述用户端设备以进行升级,反之,结束处理。本发明采用一种操作系统升级方法将多种升级方法综合在一个升级程序中,可以根据实际应用中的问题,选择合适的升级方法,并且能够指定升级对象与实现升级程序的自我升级。
文档编号G06F9/445GK102541596SQ20111043635
公开日2012年7月4日 申请日期2011年12月22日 优先权日2011年12月22日
发明者兰雨晴, 夏颖, 董恩广, 高永红 申请人:中标软件有限公司