CN111625268B - 一种软件补丁快速扫描的方法、装置及计算设备 - Google Patents

一种软件补丁快速扫描的方法、装置及计算设备 Download PDF

Info

Publication number
CN111625268B
CN111625268B CN202010734767.2A CN202010734767A CN111625268B CN 111625268 B CN111625268 B CN 111625268B CN 202010734767 A CN202010734767 A CN 202010734767A CN 111625268 B CN111625268 B CN 111625268B
Authority
CN
China
Prior art keywords
software
type data
information
client
patch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010734767.2A
Other languages
English (en)
Other versions
CN111625268A (zh
Inventor
李连武
程度
张福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shengxin Network Technology Co ltd
Original Assignee
Beijing Shengxin Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Shengxin Network Technology Co ltd filed Critical Beijing Shengxin Network Technology Co ltd
Priority to CN202010734767.2A priority Critical patent/CN111625268B/zh
Publication of CN111625268A publication Critical patent/CN111625268A/zh
Application granted granted Critical
Publication of CN111625268B publication Critical patent/CN111625268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种软件补丁快速扫描的方法、装置、可读存储介质及计算设备,该扫描方法占用网络流量少,检测速度快,匹配准确度和官方检测机制一致,在有大批量机器环境下可精确控制扫描速度。方法包括:服务端获取多个软件补丁;服务端解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;所述服务端获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;所述服务端将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配。

Description

一种软件补丁快速扫描的方法、装置及计算设备
技术领域
本发明涉及分布式计算技术领域,尤其涉及一种软件补丁快速扫描的方法、装置、可读存储介质及计算设备。
背景技术
伴随着计算机技术的普及,计算机相关的操作系统、应用程序的使用在家庭及行业中应用越来越多,被发现的操作系统漏洞形成的危害性也是日益严峻,只有及时发现操作系统环境的漏洞并进行修复,才能避免造成不可挽回的损失。
目前微软操作系统内置的补丁升级方案是采用的C/S架构,需要搭建补丁服务器或者直接连接软件官网补丁更新服务实现补丁扫描,并且由客户端主动发起扫描请求,才可实现补丁扫描。但这样的模式存在如下问题:
1、速度慢,每个补丁的判断条件需要从服务端下载并在本地解析判断;例如,如果没有安装任何补丁得机器,扫描时间都是在近1小时,如果网络速度慢,消耗的时间会更多;
2、占用网络流量,客户端比较少的时候服务端还可承受,在机器数量达到成千上万的数量级,服务端就会不堪重负;例如,补丁的相关数据需要下载到机器上进行判断,数据长度不一,单个补丁的长度多的可能达到几十兆,非常占用流量;
3、补丁扫描任务不可控,每次扫描都是由客户端主动发起,不便于统一管理处理。
总之,在实际使用的环境中,扫描时间、网络都会限制成为软件补丁安装的制约因素,在机器数量巨大的时候非常不利于客户端的管理和使用。
发明内容
为此,本发明提供了一种软件补丁快速扫描的方法、装置、可读存储介质及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明实施例的一个方面,提供了一种软件补丁快速扫描的方法,包括:
服务端获取多个软件补丁;
服务端解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;
所述服务端获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;
所述服务端将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配;
所述服务端将所述第二软件补丁列表的软件补丁下发至所述客户端。
可选地,所述软件为操作系统,所述第一类型数据包括CbsPackageApplicabilityMetadata类型数据,所述第二类型数据包括BaseApplicabilityRules类型数据,所述第一信息包括与CbsPackageApplicabilityMetadata类型数据对应的系统组件信息,所述第二信息包括与BaseApplicabilityRules类型数据对应的文件或系统注册表信息。
可选地,获取所述多个软件补丁中的第一类型数据之后,还包括:
为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,得到重构后的CbsPackageApplicabilityMetadata类型数据。
可选地,为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,包括:
为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据的单个字段的相同部分建立索引。
可选地,所述服务端接收所述第二软件补丁列表之后,还包括:
所述服务端确定所述第二软件补丁列表中的存在替换关系的补丁;
所述服务端确定所述存在替换关系的补丁中的适配所述客户端的补丁;
所述服务端将所述第二软件补丁列表的软件补丁下发至所述客户端,包括:
所述服务端将所述存在替换关系的补丁中的适配所述客户端的补丁下发至所述客户端。
可选地,所述服务端获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表,包括:
所述服务端获取客户端的第一信息;
所述服务端根据所述第一信息确定与所述客户端相关的软件补丁列表;
所述服务端从与所述客户端相关的软件补丁列表中,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表。
可选地,方法还包括:
所述服务端配置上传所述第一信息或扫描所述第二信息的并行客户端个数、客户端的启动时间和客户端的处理时长。
根据本发明的又一方面,提供一种服务端装置,包括:
补丁获取单元,用于获取多个软件补丁;
补丁解析单元,用于解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;
服务端匹配单元,用于获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;
客户端匹配单元,用于将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配;
补丁发送单元,用于将所述第二软件补丁列表的软件补丁下发至所述客户端。
根据本发明的又一方面,提供一种可读存储介质,其上具有可执行指令,当可执行指令被执行时,使得计算机执行上述的软件补丁快速扫描的方法。
根据本发明的又一方面,提供一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行上述的软件补丁快速扫描的方法。
本发明提供的技术方案,服务端获取多个软件补丁;
服务端解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;所述服务端获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;所述服务端将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配;所述服务端将所述第二软件补丁列表的软件补丁下发至所述客户端。通过将补丁的用于检测客户端是否适用的数据划分为第一类型数据和第二类型数据,由服务端本地执行第一类型数据的判断,进而不需要将第一类型数据传输至客户端,能够降低网络负载,以及,降低客户端的计算负载。以操作系统为例,采用本发明提供的技术方案时服务端执行了95%的判断任务,在客户端数目巨大时,能够节省大量的网络资源和客户端计算资源,同时,服务端能够对客户端的软件补丁升级过程进行控制,将软件补丁升级对业务的影响降到了最低。
附图说明
附图示出了本发明的示例性实施方式,并与其说明一起用于解释本发明的原理,其中包括了这些附图以提供对本发明的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是示例性的计算设备的结构框图。
图2是根据本发明实施例的软件补丁快速扫描的方法的流程示意图。
图3是根据本发明具体实施例的软件补丁快速扫描的系统架构示意图。
图4是根据本发明具体实施例的软件补丁快速扫描的方法的流程示意图。
图5是根据本发明具体实施例的软件补丁快速扫描的方法的又一流程示意图。
图6是根据本发明实施例的服务端装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是布置为实现根据本发明的软件补丁快速扫描的方法的示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以被配置为在操作系统上由一个或者多个处理器104利用程序数据124执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示终端或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机、服务器、由多台计算机组成的集群。
其中,计算设备100的一个或多个程序122包括用于执行根据本发明的软件补丁快速扫描的方法的指令。
图2示例性示出根据本发明一个实施例的软件补丁快速扫描的方法的流程图,软件补丁快速扫描的方法始于步骤S210。
在步骤S210中,服务端获取多个软件补丁。
具体地,服务端可以从软件官方服务器下载完整的补丁集合,并存储在补丁库中。
随后,在步骤S220中,服务端解析多个软件补丁,获取多个软件补丁中的第一类型数据和第二类型数据。
本步骤中,服务端解析软件补丁,提取其中用于判断补丁是否适于当前客户端软件的检测数据,检测数据包括第一类型数据和第二类型数据,第一类型数据包括常见的系统组件信息,第二类型数据则包括特定的文件或者注册表信息。
随后,在步骤S230中,服务端获取客户端的第一信息,确定第一类型数据和第一信息匹配的第一软件补丁列表。
本步骤中,将第一类型数据的匹配放在服务端执行,从而避免了将第一类型数据传输至客户端进行检测对网络和客户端带来的负载影响。
随后,在步骤S240中,服务端将第一软件补丁列表和第二类型数据发送至客户端,接收客户端从第一软件补丁列表中确定出的第二软件补丁列表,第二软件补丁的第二类型数据和客户端的第二信息匹配。
本步骤中,将服务端无法执行检测的第二类型数据和已根据第一类型数据检测出的第一软件补丁列表发送至客户端,由客户端执行剩余的检测过程,进而由客户端确定出第二软件补丁列表并反馈至服务端。
根据本发明的实施例,软件为操作系统,第一类型数据包括CbsPackageApplicabilityMetadata类型数据,第二类型数据包括BaseApplicabilityRules类型数据,第一信息包括与CbsPackageApplicabilityMetadata类型数据对应的系统组件信息,第二信息包括与BaseApplicabilityRules类型数据对应的文件或系统注册表信息。在操作系统的补丁的检测数据中,CbsPackageApplicabilityMetadata类型数据占比高达95%,因此,本发明实施例的方案降低了将检测数据下发至客户端的流量、时间和执行检测的时间。
随后,在步骤S250中,服务端将第二软件补丁列表的软件补丁下发至客户端。
根据本发明一实施例,在步骤S220获取多个软件补丁中的第一类型数据之后,方法还包括:为多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,得到重构后的CbsPackageApplicabilityMetadata类型数据。
通过为软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,能够压缩CbsPackageApplicabilityMetadata类型数据的大量的重复字符串,进而减少对存储空间的占用。
在具体实施例过程中,可读取CbsPackageApplicabilityMetadata 中的所有assembly节点数据,这部分数据包含了需要判断的组件名称及相关的信息,进而将数据分成两部分,一部分存储所有项的索引值,另一部分存储各项索引的实际值。
进一步地,为多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,包括:为多个软件补丁的CbsPackageApplicabilityMetadata类型数据的单个字段的相同部分建立索引。由于补丁中的大量的不同字段可能会有相同的字符串部分,例如,某个微软操作系统补丁中,出现了“Microsoft-Windows-NetFx2-OC-Package”、“Microsoft-Windows-NetFx2-ServerCore-OC-Package”、“Microsoft-Windows-NetFx2-ServerCore-OC-WOW64-Package”。通过对重复的字符串建立索引,可以进一步压缩补丁文件。
根据本发明又一实施例,在步骤S240之后,方法还包括:
服务端确定第二软件补丁列表中的存在替换关系的补丁;
服务端确定存在替换关系的补丁中的适配客户端的补丁;
步骤S250具体包括:
服务端将存在替换关系的补丁中的适配客户端的补丁下发至客户端。
当发现存在替换关系的补丁时,如果确定客户端可以直接适配其中的新版本补丁,则将新版本补丁下发至客户端;如果确定客户端当前仅适配其中的老版本补丁,则将老版本补丁和新版本补丁同时下发至客户端。
根据本发明又一实施例,步骤S230具体包括:
服务端获取客户端的第一信息;
服务端根据第一信息确定与客户端相关的软件补丁列表;
服务端从与客户端相关的软件补丁列表中,确定第一类型数据和所述第一信息匹配的第一软件补丁列表。
例如,在确定与客户端相关的软件补丁列表时,可以剔除软件版本、软件类型等基础信息明显不符的软件补丁,降低对第一类型数据和所述第一信息进行匹配时的计算量。
根据本发明又一实施例,方法还包括:
服务端配置上传第一信息或扫描第二信息的并行客户端个数、客户端的启动时间和客户端的处理时长。
本实施例中,由服务端控制客户端的软件补丁扫描、升级操作,从而可以将软件补丁扫描、升级操作对业务系统的影响降到最低,避免大量客户端并发执行补丁扫描或者升级,以及业务高峰期间执行补丁扫描或者升级对业务产生的不利影响。
下面以操作系统为例,详细描述本发明的具体实施内容。
一、补丁库的更新与维护。
操作系统的原始补丁数据以xml格式存储,补丁的判断类型存储在xml节点中。补丁数据的判断类型包括两种类型:BaseApplicabilityRules和CbsPackageApplicabilityMetadata,BaseApplicabilityRules类型的数据一般补丁中的数据很少,CbsPackageApplicabilityMetadata类型的数据量会很大,其中包含了操作系统的各种组件的版本相关信息。
CbsPackageApplicabilityMetadata的数据特点是相关的组件名称,版本信息,cpu架构等信息很多是重复的,对重复的数据进行索引处理,数据内容中用索引号表示,以减少数据存储。例如,对某个补丁内容建立索引后的数据分成两部分:datas存储所有项的索引值,idx 存储各项索引中实际值。datas类型为数组,每一项都是assembly的数据索引,包含了:installer即安装组件的版本信息;pkg_name即单个更新子包的信息;updates即update节点信息;parent即parent节点信息。基本每项都是把完整的xml节点中的信息进行了存储,比如installer为一个8项的数组,每项代表索引的意思分别是:名称的head部分,名称,token,arch,lang,ver,type,scope。都是xml中该节点的每项属性。其中特别说明的是,名称分成了两部分:head和名称,原因是组件中很多名称虽然不同,但存在着共同的部分,就把单独共同的部分提取成一项,其余部分放到name中。idx 数据包含了#sort存储data索引项中数组每项的的含义,#header中存储所有的header名称,以此类推还有#token,#lang,#name,#type,#arch,#scop, #ver。
在具体实施例过程中,读取CbsPackageApplicabilityMetadata 中的所有assembly节点数据,这部分数据包含了需要判断的组件名称及相关的信息,然后依照上述数据结构进行索引构建。
补丁服务的服务端从官方补丁服务端口定时同步补丁最新数据到本地,定时读取本地的数据库中新增加的补丁数据,并利用上述的数据加工处理逻辑进行数据的处理并把数据提交到补丁管理库中。
二、客户端数据收集。
包括搜集补丁判断依赖的系统注册表数据,已经安装的补丁信息,操作系统版本等信息。
三、补丁匹配计算。
首先,服务端根据客户端已经安装的补丁信息,操作系统版本信息过滤系统补丁库的补丁信息。
然后,把过滤剩下的补丁,利用客户端的系统组件版本信息进行逐个补丁中CbsPackageApplicabilityMetadata条件的判断,判断依据是比较补丁中的组件要求版本是否和客户端上报的系统组件版本相匹配,并形成待客户端判断的补丁列表。
客户端收到待判断的补丁列表,对补丁中无法在服务端判断的补丁数据(BaseApplicabilityRules类型数据)进行二次判断。生成补丁列表。
四、生成补丁列表完成检测。
服务端收到该补丁列表后,剔除补丁中有替换关系的老补丁,形成最终的待安装补丁列表。
本发明具体实施例提供的系统架构模型如图3所示,每台补丁服务端可以同时服务多台客户端,多个补丁服务端还可以组成集群,为海量的客户端提供补丁管理和扫描服务。基于图3所示的系统架构模型进行软件补丁快速扫描的流程如图4和图5所示,其中,图4包括本地补丁服务端和官方补丁服务端之间的交互流程,图5包括本地补丁服务端和客户端之间的交互流程。
本发明具体实施例实现了如下技术效果:
1、对补丁数据进行加工整理,减低了数据长度。
2、补丁中95%左右的判断数据在服务端处理,降低了下发至客户端进行检测的流量成本和执行检测的成本。其中CbsPackageApplicabilityMetadata类型数据的判断是服务端统一地对客户端的系统组件版本进行判断,可提前由客户端上报到服务端,并且这部分数据量都比较大,适合在服务端进行判断;另外BaseApplicabilityRules类型数据都是比较分散的判断条件,类似某个特定文件的版本或者某个特定注册表键值的判断,判断数据无法提前获取,需要在客户端进行判断。
3、服务端可配置并行执行扫描的客户端数量,扫描启动时间,占用时长。针对网络环境的负载能力、使用情况,可灵活配置,使扫描业务对业务影响降到最低。
本发明提供的技术方案相比其他的补丁检测机制,占用网络流量少,检测速度快,匹配准确度和官方检测机制一致,在有大批量机器环境下可精确控制扫描速度。该技术方案已经在一万台以上的主机环境中做过实验和模拟验证,取得了非常明显的效果。
参见图6,本发明实施例提供的服务端装置包括:
补丁获取单元610,用于获取多个软件补丁;
补丁解析单元620,用于解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;
服务端匹配单元630,用于获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;
客户端匹配单元640,用于将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配;
补丁发送单元650,用于将所述第二软件补丁列表的软件补丁下发至所述客户端。
可选地,该装置还包括:
优化存储单元,用于为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,得到重构后的CbsPackageApplicabilityMetadata类型数据。
所述优化存储单元进一步用于为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据的单个字段的相同部分建立索引。
可选地,该装置还包括:
第一补丁剔除单元,用于确定所述第二软件补丁列表中的存在替换关系的补丁;确定所述存在替换关系的补丁中的适配所述客户端的补丁。
可选地,该装置还包括:
第二补丁剔除单元,用于获取客户端的第一信息;根据所述第一信息确定与所述客户端相关的软件补丁列表。
可选地,该装置还包括:
管理配置单元,用于配置上传所述第一信息或扫描所述第二信息的并行客户端个数、客户端的启动时间和客户端的处理时长。
关于服务端装置的具体限定可以参见上文中对于软件补丁快速扫描的方法的限定,在此不再赘述。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本发明的各种方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面发明的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所发明的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中发明的所有特征以及如此发明的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中发明的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的发明是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (9)

1.一种软件补丁快速扫描的方法,其特征在于,包括:
服务端获取多个软件补丁;
服务端解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;所述第一类型数据包括CbsPackageApplicabilityMetadata类型数据,所述第二类型数据包括BaseApplicabilityRules类型数据;
所述服务端获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;所述第一信息包括与CbsPackageApplicabilityMetadata类型数据对应的系统组件信息;
所述服务端将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配;所述第二信息包括与BaseApplicabilityRules类型数据对应的文件或系统注册表信息;
所述服务端将所述第二软件补丁列表的软件补丁下发至所述客户端。
2.如权利要求1所述的方法,其特征在于,获取所述多个软件补丁中的第一类型数据之后,还包括:
为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,得到重构后的CbsPackageApplicabilityMetadata类型数据。
3.如权利要求2所述的方法,其特征在于,为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据建立索引,包括:
为所述多个软件补丁的CbsPackageApplicabilityMetadata类型数据的单个字段的相同部分建立索引。
4.如权利要求1所述的方法,其特征在于,所述服务端接收所述第二软件补丁列表之后,还包括:
所述服务端确定所述第二软件补丁列表中的存在替换关系的补丁;
所述服务端确定所述存在替换关系的补丁中的适配所述客户端的补丁;
所述服务端将所述第二软件补丁列表的软件补丁下发至所述客户端,包括:
所述服务端将所述存在替换关系的补丁中的适配所述客户端的补丁下发至所述客户端。
5.如权利要求1所述的方法,其特征在于,所述服务端获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表,包括:
所述服务端获取客户端的第一信息;
所述服务端根据所述第一信息确定与所述客户端相关的软件补丁列表;
所述服务端从与所述客户端相关的软件补丁列表中,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表。
6.如权利要求1所述的方法,其特征在于,还包括:
所述服务端配置上传所述第一信息或扫描所述第二信息的并行客户端个数、客户端的启动时间和客户端的处理时长。
7.一种服务端装置,其特征在于,包括:
补丁获取单元,用于获取多个软件补丁;
补丁解析单元,用于解析所述多个软件补丁,获取所述多个软件补丁中的第一类型数据和第二类型数据;所述第一类型数据包括CbsPackageApplicabilityMetadata类型数据,所述第二类型数据包括BaseApplicabilityRules类型数据;
服务端匹配单元,用于获取客户端的第一信息,确定所述第一类型数据和所述第一信息匹配的第一软件补丁列表;所述第一信息包括与CbsPackageApplicabilityMetadata类型数据对应的系统组件信息;
客户端匹配单元,用于将所述第一软件补丁列表和所述第二类型数据发送至所述客户端,接收所述客户端从所述第一软件补丁列表中确定出的第二软件补丁列表,所述第二软件补丁的第二类型数据和所述客户端的第二信息匹配;所述第二信息包括与BaseApplicabilityRules类型数据对应的文件或系统注册表信息;
补丁发送单元,用于将所述第二软件补丁列表的软件补丁下发至所述客户端。
8.一种可读存储介质,其特征在于,其上具有可执行指令,当可执行指令被执行时,使得计算机执行如权利要求1-6中的任一项所述的方法。
9.一种计算设备,其特征在于,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行如权利要求1-6中的任一项所述的方法。
CN202010734767.2A 2020-07-28 2020-07-28 一种软件补丁快速扫描的方法、装置及计算设备 Active CN111625268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010734767.2A CN111625268B (zh) 2020-07-28 2020-07-28 一种软件补丁快速扫描的方法、装置及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010734767.2A CN111625268B (zh) 2020-07-28 2020-07-28 一种软件补丁快速扫描的方法、装置及计算设备

Publications (2)

Publication Number Publication Date
CN111625268A CN111625268A (zh) 2020-09-04
CN111625268B true CN111625268B (zh) 2021-02-12

Family

ID=72271542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010734767.2A Active CN111625268B (zh) 2020-07-28 2020-07-28 一种软件补丁快速扫描的方法、装置及计算设备

Country Status (1)

Country Link
CN (1) CN111625268B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356316A (zh) * 2020-09-30 2022-04-15 华为技术有限公司 一种补丁复用方法、系统及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753524B (zh) * 2008-12-15 2012-10-31 青岛海信传媒网络技术有限公司 一种软件升级方法及系统
EP3444719B1 (en) * 2017-08-14 2021-07-21 Unify Patente GmbH & Co. KG Method and system for a client to server deployment via an online distribution platform
CN110389771B (zh) * 2018-04-18 2024-03-01 视联动力信息技术股份有限公司 一种视联网客户端的升级方法和系统

Also Published As

Publication number Publication date
CN111625268A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN107291458B (zh) 一种Web应用的插件化构建方法、系统及服务器
US7185336B2 (en) System and method for selecting and installing a device driver
CN107967135B (zh) 计算引擎实现方法、电子装置及存储介质
CN110187880B (zh) 一种同类元素识别方法、装置和计算设备
CN108415998B (zh) 应用依赖关系更新方法、终端、设备及存储介质
CN111651464A (zh) 数据处理方法、系统及计算设备
CN110362968B (zh) 信息检测方法、装置及服务器
US12014170B2 (en) Mini program batch processing method and apparatus, electronic device, and readable storage medium
CN113688617A (zh) 一种生成表格页面的方法及计算设备
CN110659287A (zh) 一种表格的字段名处理方法及计算设备
CN111625268B (zh) 一种软件补丁快速扫描的方法、装置及计算设备
CN113254035A (zh) 一种驱动程序安装方法、计算设备及存储介质
CN112925539B (zh) 一种应用更新方法,计算设备及存储介质
CN114139161A (zh) 一种批量检测漏洞的方法、装置、电子设备及介质
CN110955719A (zh) 一种数据存取处理设备、系统和方法
CN108173716B (zh) 一种识别网络设备厂商的方法和计算设备
CN113961086B (zh) 一种快捷键实现方法、计算设备及存储介质
CN111679842A (zh) 应用程序热更新处理方法、装置及系统
CN114879978A (zh) 软件包依赖关系的处理方法、计算设备及可读存储介质
CN113904962B (zh) 一种资源访问方法、装置及计算设备
CN113342391A (zh) 基于版本控制系统的代码文件索引方法及装置
CN110851438A (zh) 一种数据库索引优化建议与验证的方法和装置
CN114884974B (zh) 一种数据复用方法、系统及计算设备
CN114625735A (zh) 一种数据字典更新方法、模块、计算设备及存储介质
CN115640211A (zh) 一种页面对比测试中页面地址确定方法、装置及计算设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant