专利名称:一种实现补丁安装的方法及装置的制作方法
技术领域:
本申请涉及计算机技术领域,特别是涉及一种实现补丁安装的方法及装置。
背景技术:
在目前计算机的各种应用过程中,常常会发现各种操作系统、应用软件等存在问题或漏洞,也可称为BUG,而这些漏洞会使用户在使用操作系统或软件时出现干扰,或者导致软件的安全性能降低,因此可以通过写出一些可插入源程序的程序语言,对这些漏洞进行修复,上述用于修复漏洞的程序语言就称为补丁。通常,一些操作系统或应用软件的专门网站会定期发布补丁,以针对这些操作系统或应用软件进行漏洞修复;而如图1所示,现有技术中的补丁安装方法一般包括如下步骤步骤110 获取补丁安装包;步骤120 从所述补丁安装包中解析出补丁文件和补丁安装检测文件;步骤130 利用所述补丁安装检测文件在补丁文件安装过程中检测当前客户端是否符合补丁安装条件,如果不符合,表明当前补丁安装失败;其中,所述补丁安装检测文件用以检测所述补丁针对的对象是否符合补丁安装条件,包括但不限于检测所述对象的版本是否低于所述补丁更新后的版本、检测所述对象在注册表中是否已存在所述补丁安装后的键值信息等。然而,发明人在对现有技术的研究过程中发现,由于客户端因某些技术原因导致无法满足所述补丁安装条件的要求,会导致补丁无法安装,从而造成了补丁安装成功率的降低,使得用户无法及时针对漏洞进行补丁的安装,进而则很有可能对计算机系统或应用程序构成严重的威胁。
发明内容
本申请实施例提供了一种实现补丁安装的方法及装置,以解决现有补丁安装成功率低所导致的问题。为了解决上述技术问题,本申请实施例公开了如下技术方案—种实现补丁安装的方法,包括从第一补丁安装包中解析出补丁文件;利用所述补丁文件与预设的安装策略生成第二补丁安装包;当第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包。优选的,该方法还包括通过以下方式获取第一补丁安装包刷新补丁发布页面;当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息;链接并访问补丁下载页面下载第一补丁安装包。优选的,所述预设的安装策略包括以下条件之一或其任意组合当程序或者组件和/或相关的程序或者组件的版本没有第一补丁安装包中包含的补丁安装检测条件中所针对的对象的版本新时,判定所述补丁文件适于安装;
当发现漏洞的程序或者组件和/或相关的程序或者组件存在对系统运行不安全或不稳定的危险,且补丁文件可消除所述危险时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件对系统运行安全或稳定无关,且不安装所述补丁文件不影响其他补丁文件安装时,判定所述补丁文件不适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件的版本与所述第二补丁安装包安装后的版本相同,但依然存在补丁文件可修复的漏洞时,判定所述补丁文件适于安装。优选的,所述发现漏洞的程序或者组件和/或相关的程序或者组件的版本通过以下方式确定查看版本号、文件名、和/或注册表中的版本信息。优选的,所述预设安装策略的生成方式至少包括几种方式中的任意一种对所述补丁安装检测条件进行全部或部分修改;对所述补丁安装检测条件进行补充、更新;对所述补丁安装检测条件进行部分删除。优选的,对所述补丁安装检测条件进行全部或部分修改包括将补丁安装检测条件中所针对的修复对象的最高版本作为比较对象,低于比较对象的版本适于安装补丁文件;对所述补丁安装检测条件进行补充、更新包括将可用补丁文件进行漏洞修复且补丁安装检测条件中未针对修复的对象作为所述预定策略中增加的修复对象,所述增加的修复对象适于安装补丁文件;对所述补丁安装检测条件进行部分删除包括将补丁安装检测条件中限制补丁文件安装而补丁文件可修复相应漏洞的条件删除。优选的,利用部分或全部所述补丁文件与预设的安装策略生成第二补丁安装包。优选的,采用如下方式中的至少一种判断所述第一补丁安装包是否安装成功利用注册表中的键值信息判断所述第一补丁安装包是否已安装成功;利用已获取的补丁信息判断所述第一补丁安装包是否已安装成功。一种实现补丁安装的装置,包括解析单元,用于从第一补丁安装包中解析出补丁文件;生成单元,用于利用所述解析单元解析出的补丁文件与预设的安装策略生成第二补丁安装包;安装单元,用于在所述第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包。优选的,所述解析单元包括刷新补丁发布页面的刷新模块、当所述补丁发布页面存在更新信息时获取所述更新信息中的补丁信息的获取模块、以及链接并访问补丁下载页面下载第一补丁安装包的下载模块。优选的,该装置还包括设置单元,用于预设安装策略;其中,所述预设的安装策略包括以下条件之一或其任意组合
当程序或者组件和/或相关的程序或者组件的版本没有第一补丁安装包中包含的补丁安装检测条件中所针对的对象的版本新时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件存在对系统运行不安全或不稳定的危险,且补丁文件可消除所述危险时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件对系统运行安全或稳定无关,且不安装所述补丁文件不影响其他补丁文件安装时,判定所述补丁文件不适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件的版本与所述第二补丁安装包安装后的版本相同,但依然存在补丁文件可修复的漏洞时,判定所述补丁文件适于安装。优选的,所述设置单元包括对所述补丁安装检测条件进行全部或部分修改的第一处理模块;和/或,对所述补丁安装检测条件进行补充、更新的第二处理模块;和/或,对所述补丁安装检测条件进行部分删除的第三处理模块。由上述实施例可以看出,本申请实施例中,通过从原补丁安装包中获取补丁安装条件,利用所述补丁文件与预设的补丁安装策略组成新的补丁安装包,当原补丁安装失败后,利用所述新补丁安装包进行补丁的安装,提高了补丁安装的成功率,进而有效的保证了用户的系统安全和稳定。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中补丁安装的流程示意图;图2为本申请实现补丁安装的方法的第一实施例流程示意图;图3为本申请第一实施例中获取第一补丁安装包的流程示意图;图4为本申请实现补丁安装的装置的实施例框图。
具体实施例方式本发明的基本思想在于从原补丁安装包中获取补丁安装条件,利用所述补丁文件与预设的补丁安装策略组成新的补丁安装包,当原补丁安装失败后,利用所述新补丁安装包进行补丁的安装,提高了补丁安装的成功率,进而有效的保证了用户的系统安全和稳定。本发明如下实施例提供了一种实现补丁安装的方法及装置。为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。参见图2,为本申请实现补丁安装的方法的第一实施例流程图步骤210 从第一补丁安装包中解析出补丁文件;其中,本实施例中提及的第一补丁安装包为非人工方式获取,但人工方式收集补丁安装包或第三方收集补丁安装包也可实现本发明,本实施例具体可采用如下步骤实现, 如图3所示,但并不局限于此S211 刷新补丁发布页面;现有技术中采用第三方软件/工具来刷新固定的网页页面的技术已经比较成熟,而本实施例中此步骤也可采用现有技术来实现,例如,采用刷屏软件程序定期刷新微软等公司网站的补丁发布页面;具体本文不再赘述;S212 当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息; 具体的获取过程采用现有技术中页面关键字的获取技术实现,但并不局限于此例如分析当前页面的源代码信息,其中如果包含了更新关键字等信息,即表明当前页面进行了更新, 从中再获取相关补丁信息;具体内容本文不再赘述;S213 链接并访问补丁下载页面下载补丁安装包;具体的,当所述补丁发布页面中存在更新消息后,所述更新消息中包含了补丁安装包的下载URL,则自动链接并访问该URL对应的页面,从中下载所述补丁安装包。步骤220 利用所述补丁文件与预设的安装策略生成第二补丁安装包;具体的,所述预设的安装策略包括以下条件之一或其任意组合A、当程序或者组件和/或相关的程序或者组件的版本没有补丁安装检测条件中所针对的对象的版本新时,判定补丁文件适于安装,例如,如果一程序版本为2011年1月1 日的版本,对应版本号为vl. 1,其没有补丁安装检测条件中所限定的补丁安装对象的版本新,则认为该补丁文件适于安装,这种版本的新旧是对发布日期而言的,如果版本号顺序和日期对应,也可以以版本号判断各版本的新旧;B、当发现漏洞的程序或者组件和/或相关的程序或者组件存在对系统运行不安全或不稳定的危险,且补丁文件可消除危险时,判定补丁文件适于安装,例如,补丁文件可修复一些最新的可能会导致系统运行风险的漏洞,而这些漏洞对应的版本并未在原来的补丁安装检测条件中显示,此时仍判定该补丁文件适于安装;C、当发现漏洞的程序或者组件和/或相关的程序或者组件对系统运行安全或稳定无关,且不安装补丁文件不影响其他补丁文件安装时,判定补丁文件不适于安装,例如, 对office帮助的补丁,并不影响安全稳定,所以可以不安装,当然,本实施例中提及的“不适于安装”是从节约资源的角度考虑的,并不是将其限定为不能安装,如果用户需要,完全可以安装例如前面所述的帮助的补丁;D、当发现漏洞的程序或者组件和/或相关的程序或者组件的版本与第二补丁安装包安装后的版本相同,但依然存在补丁文件可修复的漏洞时,判定补丁文件适于安装,例如,如果一程序发现漏洞,即便其版本与第二补丁安装包安装后的版本相同,也仍然可以判定该补丁文件适于安装,这主要是针对(但不限于)已安装过的补丁文件遭破坏或修复后因其它问题再次产生相同漏洞需要重新安装的情形。其中,本实施例中发现漏洞的程序或者组件和/或相关的程序或者组件的版本可以通过以下方式确定,但不局限于此查看版本号、文件名、和/或注册表中的版本信息;例如,将微软补丁发布消息登记,形成登记表,登记表保存在客户端本地或者服务器均可,然后通过查看登记记录的方式比对版本新旧。需要注意的是,利用所述补丁文件与预设的安装策略生成第二补丁安装包的生成方式包括但不限于利用预设的安装策略对所述第一补丁安装包中包含的补丁安装检测条件进行全部或部分修改、补充、更新和/或删除等;其中,对补丁安装检测条件进行全部或部分修改可包括将补丁安装检测条件中所针对的修复对象的最新版本作为比较对象,早于比较对象的版本适于安装补丁文件;对补丁安装检测条件进行补充或更新可包括将可用补丁文件进行漏洞修复、且补丁安装检测条件中未针对修复的对象作为预定策略中增加的修复对象,增加的修复对象适于安装补丁文件;例如,第二补丁安装包所针对的对象只可能是发布日之前已有的,但在补丁发布日之后可能发生再次出现可用补丁文件修复的漏洞,此时将该补丁文件对于该对象也适于安装设为安装策略,用于对第一补丁安装包中的补丁安装检测条件进行更新补充。对补丁安装条件进行部分删除包括将补丁安装检测条件中限制补丁文件安装而补丁文件可修复相应漏洞的条件删除;例如,补丁安装条件中限制程序软件必须已经存在某些功能(比如帮助),或者不存在某些功能,而这些功能并不影响补丁文件对修复对象的修复,此时可将此条件删除,形成所述安装策略。本领域普通技术人员应很容易了解,本实施例中的预设安装策略是为了用户能够提高补丁的安装成功率,因此在实际应用中,为了进一步提高补丁安装成功率,完全可以不设置检测条件,即无需任何检测条件或安装策略即可直接进行补丁的安装,从而使得任何用户均能够及时、有效地完成补丁安装。此外,在本实施例中可以将全部或部分补丁文件与预定策略进行结合,以生成第二补丁安装包。其中,全部或部分组合可以理解为全部补丁文件和预设安装策略生成第二补丁安装包与原有补丁安装包解决的问题相同,只是安装检测条件有了变更,即,通过将原有安装检测条件变更为预设安装策略,可以使该第二补丁安装包完成与第一补丁安装包修复相同的漏洞或相同的升级;部分补丁文件和预设安装策略结合是因为在特定情况下,部分补丁文件就已经可以完成原有补丁安装包相同的任务,在另外一些情况下,不同补丁安装包中的部分补丁文件组合,可以完成与单一补丁安装包不同的任务,这样部分补丁文件与预设安装策略组合的方式即可减少用户下载补丁安装包的数据量,也使第二补丁安装包生成更灵活。步骤230 当第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包;在实际应用中,具体的第一补丁包安装失败的判断方式可采用如下两种方式中的任意一种,但不局限于此A 利用注册表中的键值信息判断所述第一补丁安装包是否已安装成功;例如若要判断补丁 KB979099是否已安装成功,首先在注册表的以下项目中查询是否有包含 KB979099 的键值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\ Current Version\Component Based Servicing\Packages\,如果己安装了所述补丁,则上述注册表的项目中必然存在类似Package_for_KB979099_RTM 31bf3856ad364e35 x86 6. 1. 1. 0的注册键存在,此键中为所述补丁的安装信息;以此即可判断所述第一补丁安装包是否已安装成功。B 利用已获取的补丁信息判断所述第一补丁安装包是否已安装成功;具体的,可利用所述补丁信息中的文件版本号或文件名等来进行判断,但不局限于此例如所述补丁为更新补丁,其作用是使其对应的应用程序更新至版本为 10. 1. 102. 64 ;若要判断该补丁是否已安装成功,即需要在该应用程序所在盘符目录下查询版本为10. 1. 102. 64的文件是否存在,如果文件存在,则可确认所述第一补丁安装包已安装成功。可以看出,采用本发明上述实施例的方法,通过从原补丁安装包中获取补丁安装条件,利用所述补丁文件与预设的补丁安装策略组成新的补丁安装包,当原补丁安装失败后,利用所述新补丁安装包进行补丁的安装,提高了补丁安装的成功率,进而有效的保证了用户的系统安全和稳定。与本申请实现补丁安装的方法的实施例相对应,本申请还提供了实现该方法的装置的实施例。参见图4所述的本申请实现补丁安装的装置实施例框图该装置400包括410解析单元,用于从第一补丁安装包中解析出补丁文件;生成单元420,用于利用所述解析单元410解析出的补丁文件与预设的安装策略生成第二补丁安装包;安装单元430,用于在所述第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包。其中,所述解析单元410包括(图4中未示出)刷新补丁发布页面的刷新模块、 当所述补丁发布页面存在更新信息时获取所述更新信息中的补丁信息的获取模块、以及链接并访问补丁下载页面下载第一补丁安装包的下载模块。此外,该装置还包括设置单元(图4中未示出),用于预设安装策略;其中,所述预设的安装策略包括以下条件之一或其任意组合当程序或者组件和/或相关的程序或者组件的版本没有第一补丁安装包中包含的补丁安装检测条件中所针对的对象的版本新时, 判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件存在对系统运行不安全或不稳定的危险,且补丁文件可消除所述危险时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件对系统运行安全或稳定无关,且不安装所述补丁文件不影响其他补丁文件安装时,判定所述补丁文件不适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件的版本与所述第二补丁安装包安装后的版本相同,但依然存在补丁文件可修复的漏洞时,判定所述补丁文件适于安装。其中,所述设置单元还可包括(图4中未示出)对所述补丁安装检测条件进行全部或部分修改的第一处理模块;和/或,对所述补丁安装检测条件进行补充、更新的第二处理模块;和/或,对所述补丁安装检测条件进行部分删除的第三处理模块。本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现补丁安装的方法,其特征在于,包括 从第一补丁安装包中解析出补丁文件;利用所述补丁文件与预设的安装策略生成第二补丁安装包;当第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包。
2.根据权利要求1所述的方法,其特征在于,该方法还包括通过以下方式获取第一补丁安装包刷新补丁发布页面;当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息; 链接并访问补丁下载页面下载第一补丁安装包。
3.根据权利要求1所述的方法,其特征在于,所述预设的安装策略包括以下条件之一或其任意组合当程序或者组件和/或相关的程序或者组件的版本没有第一补丁安装包中包含的补丁安装检测条件中所针对的对象的版本新时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件存在对系统运行不安全或不稳定的危险,且补丁文件可消除所述危险时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件对系统运行安全或稳定无关, 且不安装所述补丁文件不影响其他补丁文件安装时,判定所述补丁文件不适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件的版本与所述第二补丁安装包安装后的版本相同,但依然存在补丁文件可修复的漏洞时,判定所述补丁文件适于安装。
4.根据权利要求3所述的方法,其特征在于,所述发现漏洞的程序或者组件和/或相关的程序或者组件的版本通过以下方式确定查看版本号、文件名、和/或注册表中的版本信息。
5.根据权利要求3所述的方法,其特征在于,所述预设安装策略的生成方式至少包括几种方式中的任意一种对所述第一补丁安装包中包含的补丁安装检测条件进行全部或部分修改; 对所述第一补丁安装包中包含的补丁安装检测条件进行补充、更新; 对所述第一补丁安装包中包含的补丁安装检测条件进行部分删除。
6.根据权利要求5所述的方法,其特征在于,对所述补丁安装检测条件进行全部或部分修改包括将补丁安装检测条件中所针对的修复对象的最高版本作为比较对象,低于比较对象的版本适于安装补丁文件;对所述补丁安装检测条件进行补充、更新包括将可用补丁文件进行漏洞修复且补丁安装检测条件中未针对修复的对象作为所述预定策略中增加的修复对象,所述增加的修复对象适于安装补丁文件;对所述补丁安装检测条件进行部分删除包括将补丁安装检测条件中限制补丁文件安装而补丁文件可修复相应漏洞的条件删除。
7.根据权利要求1所述的方法,其特征在于,该方法还包括利用部分或全部所述补丁文件与预设的安装策略生成第二补丁安装包。
8.根据权利要求1所述的方法,其特征在于,采用如下方式中的至少一种判断所述第一补丁安装包是否安装成功利用注册表中的键值信息判断所述第一补丁安装包是否已安装成功;利用已获取的补丁信息判断所述第一补丁安装包是否已安装成功。
9.一种实现补丁安装的装置,其特征在于,包括解析单元,用于从第一补丁安装包中解析出补丁文件;生成单元,用于利用所述解析单元解析出的补丁文件与预设的安装策略生成第二补丁安装包;安装单元,用于在所述第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包。
10.根据权利要求9所述的装置,其特征在于,所述解析单元包括刷新补丁发布页面的刷新模块、当所述补丁发布页面存在更新信息时获取所述更新信息中的补丁信息的获取模块、以及链接并访问补丁下载页面下载第一补丁安装包的下载模块。
11.根据权利要求9所述的装置,其特征在于,该装置还包括设置单元,用于预设安装策略;其中,所述预设的安装策略包括以下条件之一或其任意组合当程序或者组件和/或相关的程序或者组件的版本没有第一补丁安装包中包含的补丁安装检测条件中所针对的对象的版本新时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件存在对系统运行不安全或不稳定的危险,且补丁文件可消除所述危险时,判定所述补丁文件适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件对系统运行安全或稳定无关, 且不安装所述补丁文件不影响其他补丁文件安装时,判定所述补丁文件不适于安装;当发现漏洞的程序或者组件和/或相关的程序或者组件的版本与所述第二补丁安装包安装后的版本相同,但依然存在补丁文件可修复的漏洞时,判定所述补丁文件适于安装。
12.根据权利要求11所述的装置,其特征在于,所述设置单元包括对所述补丁安装检测条件进行全部或部分修改的第一处理模块;和/或,对所述补丁安装检测条件进行补充、更新的第二处理模块;和/或,对所述补丁安装检测条件进行部分删除的第三处理模块。
全文摘要
本申请实施例公开了一种实现补丁安装的方法和装置;其中,所述方法包括从第一补丁安装包中解析出补丁文件;利用所述补丁文件与预设的安装策略生成第二补丁安装包;当第一补丁安装包安装失败后,利用所述预设的安装策略安装第二补丁安装包。采用本发明实施例提供的方法和装置,提高了补丁安装的成功率,进而有效的保证了用户的系统安全和稳定。
文档编号G06F9/445GK102156651SQ20111005056
公开日2011年8月17日 申请日期2011年3月2日 优先权日2011年3月2日
发明者万立新, 吕蔚, 赵建锋 申请人:奇智软件(北京)有限公司