一种软件热插拔方法及系统技术方案

技术编号:14677094 阅读:59 留言:0更新日期:2017-02-19 03:23
本发明专利技术实施例公开了一种软件热插拔方法及系统,方法包括:数据同步器监听配置目标功能的热插拔指令;在热插指令的情况下,数据同步器根据功能描述,从功能库中拉取目标功能的功能字节流;并确定装载功能字节流的功能装载器;所确定的功能装载器对功能字节流进行装载;对象缓存器至少对功能字节流的对象以及所确定的功能装载器的对象进行缓存;在热拔指令的情况下,对象缓存器删除所缓存的对象。应用本发明专利技术实施例,不需要构建语法树,根据功能描述可从功能库中直接拉取对应的功能字节流进行装载,并将装载后的对象缓存到对象缓存器中,通过删除缓存器中缓存的对象可直接对装载后的功能字节流进行热拔操作,提高了软件热插拔的效率。

【技术实现步骤摘要】

本专利技术涉及软件热插拔
,特别涉及一种软件热插拔方法及系统
技术介绍
软件热插拔,是指系统在运行时,动态的插入或拔出相应功能组件或配置,完成指定任务的过程而不影响系统整体运行的操作。这里所说的软件热插拔主要针对软件系统中相应功能组件而言,对于一个完整的软件系统,可以将其分为若干个相互独立、能够完成特定子任务的功能性组件,这种组件就是热插拔的对象。目前,通常为使用脚本语言的方式实现对热插拔对象的热插拔操作,使用脚本语言的方式在每次对热插拔对象进行功能热插或热拔操作时,都需要构建语法树,但在高并发状态下,需要频繁的进行热插拔操作,而每一次进行热插拔操作都需要构建一次语法树,因此,软件热插拔的效率低下。
技术实现思路
本专利技术实施例的目的在于提供一种软件热插拔方法及系统,以提高软件热插拔的效率。为达到上述目的,本专利技术实施例公开了一种软件热插拔方法,应用于软件热插拔系统,所述软件热插拔系统包括数据同步器、功能装载器、对象缓存器和功能库,所述方法包括:所述数据同步器监听配置服务集群发出的针对软件中目标功能的热插拔指令,所述热插拔指令中至少包括所述目标功能的功能描述;在所述热插拔指令为热插指令的情况下,所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流;根据所述功能描述,确定装载所述功能字节流的功能装载器;所确定的功能装载器对所述功能字节流进行装载;所述对象缓存器至少对所述功能字节流的对象以及所确定的功能装载器的对象进行缓存;在所述热插拔指令为热拔指令的情况下,所述对象缓存器删除所述功能字节流的对象以及装载所述目标功能的功能字节流的功能装载器的对象。优选的,所述功能库中包括功能的功能描述与功能字节流的对应关系;所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流,包括:所述数据同步器根据所述功能描述和所述对应关系,确定待拉取的目标功能对应的功能字节流;从所述功能库中拉取所述功能字节流。优选的,所述根据所述功能描述,确定装载所述功能字节流的功能装载器,包括:根据所述功能描述,判断所述目标功能是否为全局功能;如果是,将全局功能装载器确定为装载所述功能字节流的功能装载器;如果否,新建功能装载器,将所新建的功能装载器确定为装载所述功能字节流的功能装载器。优选的,所述热插拔指令中还包括所述目标功能的版本信息;所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流,包括:所述数据同步器根据所述功能描述和所述版本信息,从所述功能库中拉取所述目标功能的功能字节流;所述对象缓存器至少对所述功能字节流的对象以及所确定的功能装载器的对象进行缓存,包括:所述对象缓存器对所述功能字节流的对象、所述目标功能的版本信息以及所确定的功能装载器的对象进行缓存。优选的,所述软件热插拔系统还包括功能选择路由,所述方法还包括:所述功能选择路由基于路由策略,根据所述对象缓存器中缓存的功能字节流的对象,确定所述装载后的功能字节流;运行所述功能字节流,以运行所述目标功能。为达到上述目的,本专利技术实施例还公开了一种软件热插拔系统,所述软件热插拔系统包括数据同步器、功能装载器、对象缓存器和功能库,其中,所述数据同步器,用于监听配置服务集群发出的针对软件中目标功能的热插拔指令,所述热插拔指令中至少包括所述目标功能的功能描述;在所述热插拔指令为热插指令的情况下,根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流;根据所述功能描述,确定装载所述功能字节流的功能装载器;所述功能装载器,用于对所述功能字节流进行装载;所述对象缓存器,用于至少对所述功能字节流的对象以及所确定的功能装载器的对象进行缓存;以及在所述热插拔指令为热拔指令的情况下,删除所述功能字节流的对象以及装载所述目标功能的功能字节流的功能装载器的对象。优选的,所述功能库中包括功能的功能描述与功能字节流的对应关系;所述数据同步器,具体用于:监听配置服务集群发出的针对软件中目标功能的热插拔指令,在所述热插拔指令为热插指令的情况下,根据所述功能描述和所述对应关系,确定待拉取的目标功能对应的功能字节流;从所述功能库中拉取所述功能字节流;根据所述功能描述,确定装载所述功能字节流的功能装载器。优选的,所述数据同步器,具体用于:监听配置服务集群发出的针对软件中目标功能的热插拔指令,在所述热插拔指令为热插指令的情况下,根据所述功能描述和所述对应关系,确定待拉取的目标功能对应的功能字节流;从所述功能库中拉取所述功能字节流;根据所述功能描述,判断所述目标功能是否为全局功能;如果是,将全局功能装载器确定为装载所述功能字节流的功能装载器;如果否,新建功能装载器,将所新建的功能装载器确定为装载所述功能字节流的功能装载器。优选的,所述热插拔指令中还包括所述目标功能的版本信息;所述数据同步器,具体用于:监听配置服务集群发出的针对软件中目标功能的热插拔指令,所述热插拔指令中至少包括所述目标功能的功能描述;在所述热插拔指令为热插指令的情况下,根据所述功能描述和所述版本信息,从所述功能库中拉取所述目标功能的功能字节流;根据所述功能描述,确定装载所述功能字节流的功能装载器;所述对象缓存器,具体用于:至少对所述功能字节流的对象、所述目标功能的版本信息以及所确定的功能装载器的对象进行缓存;以及在所述热插拔指令为热拔指令的情况下,删除所述功能字节流的对象以及装载所述目标功能的功能字节流的功能装载器的对象。优选的,还包括:功能选择路由;所述功能选择路由用于基于路由策略,根据所述对象缓存器中缓存的功能字节流的对象,确定所述装载后的功能字节流;运行所述功能字节流,以运行所述目标功能。本专利技术实施例公开了一种软件热插拔方法及系统,方法包括:数据同步器监听配置服务集群发出的针对软件中目标功能的热插拔指令;在所述热插拔指令为热插指令的情况下,数据同步器根据功能描述,从功能库中拉取目标功能的功能字节流;并确定装载功能字节流的功能装载器;所确定的功能装载器对功能字节流进行装载;对象缓存器至少对功能字节流的对象以及所确定的功能装载器的对象进行缓存;在热插拔指令为热拔指令的情况下,对象缓存器删除所缓存的对象。应用本专利技术实施例,不需要构建语法树,根据功能描述可从功能库中直接拉取对应的功能字节流进行装载,并将装载后的对象缓存到对象缓存器中,通过删除缓存器中缓存的对象可直接对装载后的功能字节流进行热拔操作,提高了软件热插拔的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种软件热插拔方法的流程示意图;图2为本专利技术实施例提供的另一种软件热插拔方法的流程示意图;图3为本专利技术实施例提供的一种软件热插拔系统的结构示意图;图4为本专利技术实施例提供的另一种软件热插拔系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领本文档来自技高网...
一种软件热插拔方法及系统

【技术保护点】
一种软件热插拔方法,其特征在于,应用于软件热插拔系统,所述软件热插拔系统包括数据同步器、功能装载器、对象缓存器和功能库,所述方法包括:所述数据同步器监听配置服务集群发出的针对软件中目标功能的热插拔指令,所述热插拔指令中至少包括所述目标功能的功能描述;在所述热插拔指令为热插指令的情况下,所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流;根据所述功能描述,确定装载所述功能字节流的功能装载器;所确定的功能装载器对所述功能字节流进行装载;所述对象缓存器至少对所述功能字节流的对象以及所确定的功能装载器的对象进行缓存;在所述热插拔指令为热拔指令的情况下,所述对象缓存器删除所述功能字节流的对象以及装载所述目标功能的功能字节流的功能装载器的对象。

【技术特征摘要】
1.一种软件热插拔方法,其特征在于,应用于软件热插拔系统,所述软件热插拔系统包括数据同步器、功能装载器、对象缓存器和功能库,所述方法包括:所述数据同步器监听配置服务集群发出的针对软件中目标功能的热插拔指令,所述热插拔指令中至少包括所述目标功能的功能描述;在所述热插拔指令为热插指令的情况下,所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流;根据所述功能描述,确定装载所述功能字节流的功能装载器;所确定的功能装载器对所述功能字节流进行装载;所述对象缓存器至少对所述功能字节流的对象以及所确定的功能装载器的对象进行缓存;在所述热插拔指令为热拔指令的情况下,所述对象缓存器删除所述功能字节流的对象以及装载所述目标功能的功能字节流的功能装载器的对象。2.根据权利要求1所述的方法,其特征在于,所述功能库中包括功能的功能描述与功能字节流的对应关系;所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流,包括:所述数据同步器根据所述功能描述和所述对应关系,确定待拉取的目标功能对应的功能字节流;从所述功能库中拉取所述功能字节流。3.根据权利要求1所述的方法,其特征在于,所述根据所述功能描述,确定装载所述功能字节流的功能装载器,包括:根据所述功能描述,判断所述目标功能是否为全局功能;如果是,将全局功能装载器确定为装载所述功能字节流的功能装载器;如果否,新建功能装载器,将所新建的功能装载器确定为装载所述功能字节流的功能装载器。4.根据权利要求1所述的方法,其特征在于,所述热插拔指令中还包括所述目标功能的版本信息;所述数据同步器根据所述功能描述,从所述功能库中拉取所述目标功能的功能字节流,包括:所述数据同步器根据所述功能描述和所述版本信息,从所述功能库中拉取所述目标功能的功能字节流;所述对象缓存器至少对所述功能字节流的对象以及所确定的功能装载器的对象进行缓存,包括:所述对象缓存器对所述功能字节流的对象、所述目标功能的版本信息以及所确定的功能装载器的对象进行缓存。5.根据权利要求1所述的方法,其特征在于,所述软件热插拔系统还包括功能选择路由,所述方法还包括:所述功能选择路由基于路由策略,根据所述对象缓存器中缓存的功能字节流的对象,确定所述装载后的功能字节流;运行所述功能字节流,以运行所述目标功能。6.一种软件热插拔系统,其特征在于,所述软件热插拔系统包括数据同步器、功能装载器、对象缓存器和功能库,其中,所述数据同步器,用于监听配置服务集群发出的针对软件中目标功...

【专利技术属性】
技术研发人员:张文斌
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1