一种系统补丁的处理方法及装置与流程

文档序号:12176596阅读:261来源:国知局
一种系统补丁的处理方法及装置与流程

本发明实施例涉及计算机组件开发技术领域,尤其涉及一种系统补丁的处理方法及装置。



背景技术:

随着计算机网络的广泛应用,各种应用系统被开发出来。对于已经上线的系统,经常面临着由于客户提出的新需求或发现系统中的漏洞而导致系统需要升级的问题。

现有技术中,系统升级或修复问题组件时,需要停止系统的运行或者重新启动系统才能完成对问题组件的修复或系统的升级,操作复杂。



技术实现要素:

本发明提供一种系统补丁的处理方法及装置,以实现在不停止系统运行的情况下,将系统的补丁组件加载到系统里,达到更新问题组件或升级系统的目的。

第一方面,本发明实施例提供了一种系统补丁的处理方法,所述系统运行有预设类型组件,所述预设类型组件支持在系统运行时同步加载补丁组件,所述方法包括:

当触发启动目标补丁组件时,优先加载所述目标补丁组件;

在加载所述目标补丁组件后,加载所述目标补丁组件的宿主组件。

进一步地,在所述优先加载所述目标补丁组件之前,还包括:

根据所述宿主组件的名称确定所述目标补丁组件的名称;

相应的,所述优先加载所述目标补丁组件,包括:

如果所述目标补丁组件的名称和所述宿主组件的名称满足预设加载排序机制,则优先加载所述目标补丁组件。

进一步地,所述根据所述宿主组件的名称确定所述目标补丁组件的名称,包括:

在所述目标补丁组件的宿主组件的名称中添加预设字段,得到所述目标补丁组件的名称。

进一步地,所述在所述目标补丁组件的宿主组件的名称中添加预设字段,包括:

在宿主组件名称的结尾处添加名称修改日期;或者,

在宿主组件名称的结尾处添加预设字符序列,使得所述目标补丁组件名称的字母序大于所述宿主组件名称的字母序。

进一步地,所述如果所述目标补丁组件的名称和所述宿主组件的名称满足预设加载排序机制,则优先加载所述目标补丁组件,包括:

对所述目标补丁组件的名称和所述宿主组件的名称进行排序,如果所述目标补丁组件名称的字母序大于所述宿主组件名称的字母序,则优先加载所述目标补丁组件;或者,

如果所述目标补丁组件的名称长度大于所述宿主组件的名称长度,则优先加载所述目标补丁组件。

第二方面,本发明实施例还提供了一种系统补丁的处理装置,所述系统运行有预设类型组件,所述预设类型组件支持在系统运行时同步加载补丁组件,所述装置包括:

目标补丁组件优先加载模块,用于当触发启动目标补丁组件时,优先加载所述目标补丁组件;

宿主组件加载模块,用于在加载所述目标补丁组件后,加载所述目标补丁组件的宿主组件。

进一步地,所述装置,还包括:

名称确定模块,用于根据所述宿主组件的名称确定所述目标补丁组件的名称;

相应的,所述目标补丁组件优先加载模块,用于:

如果所述目标补丁组件的名称和所述宿主组件的名称满足预设加载排序机制,则优先加载所述目标补丁组件。

进一步地,所述名称确定模块,用于:

在所述目标补丁组件的宿主组件的名称中添加预设字段,得到所述目标补丁组件的名称。

进一步地,所述名称确定模块,用于:

在宿主组件名称的结尾处添加名称修改日期;或者,

在宿主组件名称的结尾处添加预设字符序列,使得所述目标补丁组件名称的字母序大于所述宿主组件名称的字母序。

进一步地,所述目标补丁组件优先加载模块,用于:

对所述目标补丁组件的名称和所述宿主组件的名称进行排序,如果所述目标补丁组件名称的字母序大于所述宿主组件名称的字母序,则优先加载所述目标补丁组件;或者,

如果所述目标补丁组件的名称长度大于所述宿主组件的名称长度,则优先加载所述目标补丁组件。

本发明实施例提供一种系统补丁的处理方法及装置,系统运行有预设类型组件,该预设类型组件支持在系统运行时同步加载补丁组件,当触发启动目标补丁组件时,优先加载所述目标补丁组件,在加载所述目标补丁组件后,加载所述目标补丁组件的宿主组件。现有技术需要停止系统后才能加载补丁,操作繁琐。本发明实施例中由于系统运行有支持在系统运行时同步加载补丁组件的预设类型组件,因此可实现在不停止系统运行的情况下,加载补丁组件。通过有线加载目标补丁组件,实现在加载宿主组件之前加载目标补丁组件,进而避免系统有线加载宿主组件导致目标补丁组件加载失败,达到更新问题组件或升级系统的目的。本发明实施例提供的技术方案能够在系统运行的情况下优先对目标补丁组件进行加载,简化补丁操作。

附图说明

图1是本发明实施例一中的一种系统补丁的处理方法的流程图;

图2是本发明实施例二中的一种系统补丁的处理方法的流程图;

图3是本发明实施例三中的一种系统补丁的处理方法的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种系统补丁的处理方法的流程图,本实施例可适用于当在线系统出现漏洞或需要升级时,而需要打补丁的情况,该在线系统运行有预设类型组件,该预设类型组件支持在系统运行时同步加载补丁组件,预设类型组件可以是开放服务网关协议(Open Service Gateway Initiative,OSGi)组件,OSGi服务平台提供在多种网络设备上无需重启的动态改变构造的功能。该方法可以由服务器来执行,具体包括如下步骤:

步骤S110,当触发启动目标补丁组件时,优先加载目标补丁组件。

其中,目标补丁组件可以用来应对系统中存在的漏洞或优化系统的性能,组件内包含可修复系统漏洞或优化系统的类和资源文件。补丁组件可以是高危漏洞的补丁组件,这些漏洞可能会被木马、病毒利用,需立即修复;系统安全更新的补丁组件;功能性更新补丁组件,这类补丁用于更新系统或软件的功能。

在本应用场景下,当触发启动目标补丁组件时,优先加载目标补丁组件的过程可以是:系统在运行时,系统内的组件包括需要打补丁的宿主组件处于启动运行状态。当触发启动目标补丁组件时,运行宿主组件所需的资源空间将优先分配给目标补丁组件,使得宿主组件的运行被中断,实现优先加载目标补丁组件,系统内除宿主组件外的其它组件不受任何影响继续运行。

优先加载目标补丁组件的条件可以是目标补丁组件名称中含有补丁组件识别码或者目标补丁组件的名称和宿主组件的名称满足预设加载排序机制。

目标补丁组件名称中可含有的补丁组件识别码,例如可以是含有“BD”的符号等。当识别到组件名称含有补丁组件识别码时,优先加载该组件。

预设加载排序机制可以是正排序机制或倒排序机制。其中,正排序机制的基本原理可以是当目标补丁组件名称的字母序小于宿主组件名称的字母序时,优先加载目标补丁组件,倒排序机制的基本原理可以是当目标补丁组件名称的字母序大于宿主组件名称的字母序时,优先加载目标补丁组件。

预设加载排序机制的实现过程可以是分别识别宿主组件和目标补丁组件的名称,对宿主组件和目标补丁组件的名称按照预设的规则如按长度或字母序进行排序,最后根据排序的结果按照加载排序机制选择优先加载的组件进行加载。

步骤S120,在加载目标补丁组件后,加载目标补丁组件的宿主组件。

其中,宿主组件可以是与目标补丁组件对应的组件,宿主组件也可以是目标补丁组件进行修复或升级的组件。宿主组件中包含能够实现系统某些功能的类和资源。

在本应用场景下,在加载目标补丁组件后,加载目标补丁组件的宿主组件的实现过程可以是,在系统加载完目标补丁组件内的类和资源之后,目标补丁组件将占据的资源空间释放,系统继续加载之前中断的宿主组件中的类和资源,宿主组件中没有漏洞的类和资源继续正常加载,有漏洞或需要升级的类和资源会被目标补丁组件中类和资源覆盖,从而达到修复问题或升级系统的目的。

本实施例提供一种系统补丁的处理方法及装置,系统运行有预设类型组件,该预设类型组件支持在系统运行时同步加载补丁组件,当触发启动目标补丁组件时,优先加载所述目标补丁组件,在加载所述目标补丁组件后,加载所述目标补丁组件的宿主组件。现有技术需要停止系统后才能加载补丁,操作繁琐。本实施例中由于系统运行有支持在系统运行时同步加载补丁组件的预设类型组件,因此可实现在不停止系统运行的情况下,加载补丁组件。通过有线加载目标补丁组件,实现在加载宿主组件之前加载目标补丁组件,进而避免系统有线加载宿主组件导致目标补丁组件加载失败,达到更新问题组件或升级系统的目的。本发明实施例提供的技术方案能够在系统运行的情况下优先对目标补丁组件进行加载,简化补丁操作。

实施例二

图2为本发明实施例二提供的一种系统补丁的处理方法的流程图,以上述实施例为基础,如图2所示,步骤S110之前还包括:

步骤S130,根据宿主组件的名称确定目标补丁组件的名称。

其中,组件的名称一般有小写单词组成,包括前缀、后缀和文件类型标识,示例性的,一个组件的名称可以是com.run.rap.demo.model_1.0.0.jar,com是文件名称的前缀,jar表示该组件的文件类型。

在本应用场景下,根据宿主组件的名称确定目标补丁组件的名称的方法可以是,在目标补丁组件的宿主组件的名称中添加预设字段,得到目标补丁组件的名称。

在目标补丁组件的宿主组件的名称中添加预设字段的方式可以是:在宿主组件名称的结尾处添加名称修改日期,或者在宿主组件名称的结尾处添加预设字符序列,使得所述目标补丁组件名称的字母序大于所述宿主组件名称的字母序。其中,在宿主名称的结尾处添加的名称修改日期可以是补丁的发布日期或者补丁的制作完成日期。示例性的,假如宿主组件的名称为com.run.rap.demo.model_1.0.0.jar,这个组件在20160926发布了该组件的一个补丁组件,那么补丁组件可以命名为com.run.rap.demo.model_1.0.0.20160926.jar。

在宿主组件名称的结尾处添加的预设字符序列可以是一个小写英文字母或者阿拉伯数字,示例性的,假如宿主组件的名称为com.run.rap.demo.model_1.0.0.jar,那么该组件发布的第一个补丁可以命名为com.run.rap.demo.model_1.0.0.1.jar或者com.run.rap.demo.model_1.0.0.a.jar。由于补丁组件的名称比宿主组件的名称多了日期或者预设字符序列,补丁组件名称的字母序大于宿主组件名称的字母序。

本实施例提供的技术方案,在目标补丁组件的宿主组件的名称中添加预设字段,该预设字符段是名称修改日期或预设字符序列,使得补丁组件名称的字母序是大于宿主组件名称的字母序,使得在后期管理补丁组件的时候更方便,可迅速的识别出补丁组件发布的先后顺序。

相应的,步骤S110包括:

步骤S111,如果目标补丁组件的名称和宿主组件的名称满足预设加载排序机制,则优先加载目标补丁组件。

在本应用场景下,预设加载排序机制优选的选择倒排序机制。其中,目标补丁组件的名称和宿主组件的名称满足预设加载排序机制,则优先加载目标补丁组件可以包括如下情况:对目标补丁组件的名称和宿主组件的名称进行排序,如果目标补丁组件名称的字母序大于宿主组件名称的字母序,则优先加载所述目标补丁组件;或者,如果目标补丁组件的名称长度大于宿主组件的名称长度,则优先加载所述目标补丁组件。

示例性的,假如宿主组件的名称为com.run.rap.demo.model_1.0.0.jar,对应的补丁组件的名称分别为com.run.rap.demo.model_1.0.0.20160926.jar,若比较两者的字母序,显然补丁组件名称的字母序大于宿主组件名称的字母序,则根据倒排序机制,优先加载补丁组件,若比较两者的名称长度,显然补丁组件的名称长度大于宿主组件的名称长度,同样根据倒排序机制,优先加载补丁组件。

假如宿主组件的名称为com.run.rap.demo.model_1.0.0.jar,对应的补丁组件的名称为com.run.rap.demo.model_1.0.0.a.jar,若比较两者的字母序,显然补丁组件名称的字母序大于宿主组件名称的字母序,则根据倒排序机制,优先加载补丁组件,若比较两者的名称长度,显然补丁组件的名称长度大于宿主组件的名称长度,同样根据倒排序机制,优先加载补丁组件。

本实施例提供的技术方案,对目标补丁组件的名称和所述宿主组件的名称进行排序,如果目标补丁组件名称的字母序大于宿主组件名称的字母序,则优先加载所述目标补丁组件;或者,如果目标补丁组件的名称长度大于宿主组件的名称长度,则优先加载目标补丁组件。使得系统在打补丁时优先加载补丁组件中的类和资源,而不是按照Java本身的特性优先加载宿主组件(需要打补丁的组件),其次才加载宿主的补丁组件,从而实现了更新组件的目的。

本实施例提供的技术方案,根据宿主组件的名称确定目标补丁组件的名称,如果目标补丁组件的名称和宿主组件的名称满足预设加载排序机制,则优先加载目标补丁组件,通过预设加载机制使得加载目标补丁组件优先加载,达到了更新组件的目的。

实施例三

图3为本发明实施例三提供的一种系统补丁的处理装置的结构示意图,如图3所示,该系统补丁的处理装置包括:名称确定模块310,目标补丁组件优先加载模块320和宿主组件加载模块330.

目标补丁组件优先加载模块320,用于当触发启动目标补丁组件时,优先加载所述目标补丁组件;

宿主组件加载模块330,用于在加载所述目标补丁组件后,加载所述目标补丁组件的宿主组件。

优选的,系统补丁的处理装置,还包括:

名称确定模块310,用于根据宿主组件的名称确定目标补丁组件的名称;

相应的,目标补丁组件优先加载模块320,用于:

如果目标补丁组件的名称和宿主组件的名称满足预设加载排序机制,则优先加载目标补丁组件。

优选的,名称确定模块310,用于:

在目标补丁组件的宿主组件的名称中添加预设字段,得到目标补丁组件的名称。

优选的,名称确定模块310,用于:

在宿主组件名称的结尾处添加名称修改日期;或者,

在宿主组件名称的结尾处添加预设字符序列,使得目标补丁组件名称的字母序大于宿主组件名称的字母序。

优选的,目标补丁组件优先加载模块320,用于:

对目标补丁组件的名称和所述宿主组件的名称进行排序,如果目标补丁组件名称的字母序大于宿主组件名称的字母序,则优先加载目标补丁组件;或者,

如果目标补丁组件的名称长度大于宿主组件的名称长度,则优先加载目标补丁组件。

上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1