CN103649915A - 关联插件管理方法、设备及*** - Google Patents
关联插件管理方法、设备及*** Download PDFInfo
- Publication number
- CN103649915A CN103649915A CN201380001360.7A CN201380001360A CN103649915A CN 103649915 A CN103649915 A CN 103649915A CN 201380001360 A CN201380001360 A CN 201380001360A CN 103649915 A CN103649915 A CN 103649915A
- Authority
- CN
- China
- Prior art keywords
- associated plug
- assembly
- equipment
- information
- plug
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Computer Security & Cryptography (AREA)
Abstract
本发明实施例提供一种关联插件管理方法、设备及***,通过获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
Description
技术领域
本发明实施例涉及软件技术,尤其涉及一种关联插件管理方法、设备及***。
背景技术
应用程序是提供某种服务的软件,组件是应用程序中提供特定功能的部件,一般是可以选择进行安装的。关联插件是一个组件通过另一个组件定义的扩展接口开发的功能模块,开发该关联插件的组件被称为关联插件的提供者,而另一个提供扩展接口的组件被称为关联插件的使用者。通常,关联插件与关联插件的提供者和关联插件的使用者之间有严格的版本配套关系,不能随意使用,并且需根据组件的安装、升级和删除情况,对关联插件进行安装、升级和删除等处理。
在现有技术中,无论是人工部署关联插件,还是关联插件的自动部署方法,关联插件的部署都依赖于相关组件部署的先后顺序,尤其是在多个应用程序集成的情况下,相关组件之间需要紧密耦合。
发明内容
本发明实施例提供一种关联插件管理方法、设备及***,用以实现与关联插件相关的组件部署时的解耦。
本发明第一方面提供一种关联插件管理方法,包括:
关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
所述关联插件管理服务端设备根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中;
所述方法还包括:
所述关联插件管理服务端设备对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:
所述关联插件管理服务端设备对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
当所述第一关联插件发生变化时,所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
所述关联插件管理服务端设备在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:
所述关联插件管理服务端设备在对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第一方面的第三种可能的实现方式,在第一方面的第七种可能的实现方式中,如果对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除,则在将所述第一关联插件从所述第二组件所在设备上删除后,所述方法还包括:
所述关联插件管理服务端设备将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
结合第一方面的第一种至第七种可能的实现方式中的任意一种,在第一方面的第八种可能的实现方式中,所述方法还包括:
所述关联插件管理服务端设备将存在于所述关联插件管理服务端设备上的关联插件总仓库但不存在于所述关联插件代理端设备上的关联插件本地仓库中的第二关联插件同步到所述关联插件代理端设备上的关联插件本地仓库中;
所述关联插件管理服务端设备根据所述第二关联插件的描述信息和使用所述第二关联插件的第三组件的信息,将所述第二关联插件安装到所述第三组件所在的设备上。
结合第一方面,或者第一方面的第一种至第八种可能的实现方式中的任意一种,在第一方面的第九种可能的实现方式中,所述第二组件所在的设备为所述关联插件代理端设备;
所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:
所述关联插件管理服务端设备根据所述第二组件的信息确定所述第二组件所在的设备为所述关联插件代理端设备,根据所述第一关联插件的描述信息确定所述第一关联插件,向所述关联插件代理端设备发送关联插件管理指示,以指示所述关联插件代理端设备将所述第一关联插件安装到所述关联插件代理端设备上。
结合第一方面,或者第一方面的第一种至第九种可能的实现方式中的任意一种,在第一方面的第十种可能的实现方式中,所述关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息之后,所述方法还包括:
所述关联插件管理服务端设备将所述第一关联插件的信息存储到所述关联插件管理服务端设备上的关联插件注册表中,以对所有关联插件的信息进行集中管理。
结合第一方面,或者第一方面的第一种至第十种可能的实现方式中的任意一种,在第一方面的第十一种可能的实现方式中,所述关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息,包括:
所述关联插件管理服务端设备向所述关联插件代理端设备发送查询请求,以使所述关联插件代理端设备查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回所述第一组件提供的第一关联插件的信息;
所述关联插件管理服务端设备接收所述关联插件代理端设备返回的所述第一组件提供的第一关联插件的信息。
结合第一方面,或者第一方面的第一种至第十一种可能的实现方式中的任意一种,在第一方面的第十二种可能的实现方式中,所述方法还包括:
所述关联插件管理服务端设备通过所述关联插件代理端设备获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
本发明第二方面提供一种关联插件管理方法,包括:
关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
所述关联插件代理端设备向关联插件管理服务端设备提供所述第一关联插件的信息,以供所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:
所述关联插件代理端设备将所述第一关联插件存储到所述关联插件代理端设备上的关联插件本地仓库中。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:
所述关联插件代理端设备接收所述关联插件管理服务端设备发送的关联插件管理指示,所述关联插件管理指示是所述关联插件管理服务端设备在确定所述第二组件所在的设备为所述关联插件代理端设备并根据所述第一关联插件的描述信息确定所述第一关联插件后发送的,用于指示所述关联插件代理端设备将所述第一关联插件安装在所述关联插件代理端设备上;
所述关联插件代理端设备根据所述关联插件管理指示的指示,确定所述第一关联插件,将所述确定的第一关联插件安装到所述关联插件代理端设备上。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
当需要对所述第二组件所在设备上的所述第一关联插件进行升级时,所述关联插件代理端设备将所述第一关联插件的升级包存储到所述关联插件代理端设备上的关联插件本地仓库中,以供所述关联插件管理服务端设备在将所述第一关联插件的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库后对所述第一关联插件进行升级。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第四种可能的实现方式中,当所述第一关联插件被从所述第二组件所在设备上删除后,所述方法还包括:
所述关联插件代理端设备在所述关联插件管理服务端设备的控制下,将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
结合第二方面,或者第二方面的第一种至第四种可能的实现方式中的任意一种,在第二方面的第五种可能的实现方式中,所述方法还包括:
所述关联插件代理端设备获取所述第一组件的信息,并向所述关联插件管理服务端设备提供所述第一组件的信息,以供所述关联插件管理服务端设备根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
结合第二方面,或者第二方面的第一种至第四种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,所述方法还包括:
所述关联插件代理端设备获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
本发明第三方面提供一种关联插件管理方法,包括:
通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件被安装于同一设备上。
结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:
将所述第一关联插件存储到关联插件仓库中,以对所有关联插件进行集中管理;
将所述第一关联插件的信息存储到关联插件注册表中,以对所有关联插件的信息进行集中管理。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:
对所述关联插件仓库进行轮询,当在所述关联插件仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述方法还包括:
当所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包;
所述方法还包括:
在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件仓库中。
结合第三方面,或者第三方面的第一种至第四种可能的实现方式中的任意一种,在第三方面的第五种可能的实现方式中,所述方法还包括:
通过所述注册接口获取所述第一组件通过所述注册接口进行注册提供的所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述第二组件所在的设备。
本发明第四方面提供一种关联插件管理服务端设备,包括:
获取模块,用于通过关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
安装模块,用于根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第四方面,在第四方面的第一种可能的实现方式中,所述设备还包括:
同步模块,用于在所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中时,对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述安装模块具体用于对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述设备还包括:
变更处理模块,用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述变更处理模块还用于输出所述第一关联插件的变更信息,其中所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述变更处理模块还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第四方面的第四种可能的实现方式,在第四方面的第六种可能的实现方式中,所述同步模块还用于在所述变更处理模块对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第四方面的第三种可能的实现方式,在第四方面的第七种可能的实现方式中,所述设备还包括:
移除模块,用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在所述变更处理模块将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
结合第四方面的第一种至第七种可能的实现方式中的任意一种,在第四方面的第八种可能的实现方式中,所述同步模块还用于将存在于所述关联插件管理服务端设备上的关联插件总仓库但不存在于所述关联插件代理端设备上的关联插件本地仓库中的第二关联插件同步到所述关联插件代理端设备上的关联插件本地仓库中;
所述安装模块还用于根据所述第二关联插件的描述信息和使用所述第二关联插件的第三组件的信息,将所述第二关联插件安装到所述第三组件所在的设备上。
结合第四方面,或者第四方面的第一种至第八种可能的实现方式中的任意一种,在第四方面的第九种可能的实现方式中,所述第二组件所在的设备为所述关联插件代理端设备;
所述安装模块具体用于根据所述第二组件的信息确定所述第二组件所在的设备为所述关联插件代理端设备,根据所述第一关联插件的描述信息确定所述第一关联插件,向所述关联插件代理端设备发送关联插件管理指示,以指示所述关联插件代理端设备将所述第一关联插件安装到所述关联插件代理端设备上。
结合第四方面,或者第四方面的第一种至第九种可能的实现方式中的任意一种,在第四方面的第十种可能的实现方式中,所述设备还包括:
存储模块,用于存储关联插件注册表,其中所述关联插件注册表记录有所述第一关联插件的信息,以供所述关联插件管理服务端设备对所有关联插件的信息进行集中管理。
结合第四方面,或者第四方面的第一种至第十种可能的实现方式中的任意一种,在第四方面的第十一种可能的实现方式中,所述获取模块具体用于向所述关联插件代理端设备发送查询请求,并接收所述关联插件代理端设备响应于所述查询请求而返回的所述第一组件提供的第一关联插件的信息,其中所述第一组件提供的第一关联插件的信息是所述关联插件代理端设备查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回的。
结合第四方面,或者第四方面的第一种至第十一种可能的实现方式中的任意一种,在第四方面的第十二种可能的实现方式中,所述获取模块还用于通过所述关联插件代理端设备获取所述第一组件的信息;
所述安装模块还用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
本发明第五方面提供一种关联插件代理端设备,包括:
获取模块,用于获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
提供模块,用于向关联插件管理服务端设备提供所述第一关联插件的信息,以供所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第五方面,在第五方面的第一种可能的实现方式中,所述设备还包括:
第一存储模块,用于存储所述第一关联插件,其中所述第一存储模块用于作为所述关联插件代理端设备的关联插件本地仓库。
结合第四方面或者第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述设备还包括:
接收模块,用于接收所述关联插件管理服务端设备发送的关联插件管理指示,所述关联插件管理指示是所述关联插件管理服务端设备在确定所述第二组件所在的设备为所述关联插件代理端设备并根据所述第一关联插件的描述信息确定所述第一关联插件后发送的,用于指示所述关联插件代理端设备将所述第一关联插件安装在所述关联插件代理端设备上;
第一安装模块,用于根据所述关联插件管理指示的指示,确定所述第一关联插件,将所述确定的第一关联插件安装到所述关联插件代理端设备上。
结合第四方面的第一种或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述第一存储模块还用于存储所述第一关联插件的升级包,以供所述关联插件管理服务端设备在需要对所述第二组件所在设备上的所述第一关联插件进行升级时根据存储的所述第一关联插件的升级包对所述第一关联插件进行升级。
结合第四方面的第一种或第二种可能的实现方式,在第四方面的第四种可能的实现方式中,所述设备还包括:
移除模块,用于在所述第一关联插件被从所述第二组件所在设备上删除后,在所述关联插件管理服务端设备的控制下,将所述第一关联插件从所述第一存储模块中移除到所述关联插件代理端设备上的第二存储模块中;
所述第二存储模块,用于存储从所述第一存储模块中移除的所述第一关联插件,其中所述第二存储模块用于作为所述关联插件代理端设备的关联插件本地回收仓库。
结合第四方面,或者第四方面第一种至第四种可能的实现方式中的任意一种,在第四方面的第五种可能的实现方式中,所述获取模块还用于获取所述第一组件的信息;
所述提供模块还用于向所述关联插件管理服务端设备提供所述第一组件的信息,以供所述关联插件管理服务端设备根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
结合第四方面,或者第四方面第一种至第四种可能的实现方式中的任意一种,在第四方面的第六种可能的实现方式中,所述获取模块还用于获取所述第一组件的信息;
第二安装模块,用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
本发明第五方面提供一种关联插件管理设备,包括:
获取模块,用于通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
安装模块,用于根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件安装于同一设备上。
结合第五方面,在第五方面的第一种可能的实现方式中,所述设备还包括:
第三存储模块,用于存储所述第一关联插件,以供所述关联插件管理设备对所有关联插件进行集中管理,其中所述第三存储模块用于作为所述关联插件管理设备的关联插件仓库;
第四存储模块,用于存储关联插件注册表,所述关联插件注册表中记录有所述第一组件提供的第一关联插件的信息,以供所述关联插件管理设备对所有关联插件的信息进行集中管理。
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述安装模块具体用于对所述第三存储模块进行轮询,当在所述第三存储模块中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述设备还包括:
变更处理模块,用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
结合第五方面的第三种可能的实现方式,在第五方面的第四种可能的实现方式中,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述变更处理模块还用于输出所述第一关联插件的变更信息,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包;
所述第三存储模块还用于存储包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息。
结合第五方面,或者第五方面的第一种至第四种可能的实现方式中任意一种,在第五方面的第五种可能的实现方式中,所述获取模块还用于通过所述注册接口获取所述第一组件通过所述注册接口进行注册提供的所述第一组件的信息;
所述安装模块还用于根据所述第一组件的信息,将所述第一组件安装于所述第二组件所在的设备。
本发明第六方面提供一种主控服务器,所述主控服务器与至少一台从服务器具有通信连接,所述主控服务器和所述从服务器上分别部署有至少一个组件,其中,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,所述第一组件和所述第二组件之间存在第一关联插件;所述主控服务器还包括:关联插件管理服务端,其中所述关联插件管理服务端为如上所述的关联插件管理服务端设备。
本发明第七方面提供一种从服务器,所述从服务器与主控服务器具有通信连接,所述从服务器和所述主控服务器上分别部署有至少一个组件,其中,部署于所述从服务器和所述主控服务器上的所有组件中包括第一组件和第二组件,所述第一组件和所述第二组件之间存在第一关联插件;所述从服务器还包括:关联插件代理端,其中所述关联插件代理端为如上所述的关联插件代理端设备。
本发明第八方面提供一种服务器,所述服务器上部署有至少两个组件,所述至少两个组件包括第一组件和第二组件,其中所述第一组件和所述第二组件之间存在第一关联插件;所述服务器还包括:关联插件管理端,其中所述关联插件管理端为如上所述的关联插件管理设备。
本发明第九方面提供一种关联插件管理***,包括:关联插件管理服务端设备和至少一个关联插件代理端设备;
所述关联插件管理服务端设备,用于通过所述关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;
所述关联插件代理端设备,用于获取所述第一组件提供的第一关联插件的信息,并向所述关联插件管理服务端设备提供所述第一关联插件的信息。
结合第九方面,在第九方面的第一种可能的实现方式中,所述关联插件代理端设备,还用于将所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中;
所述关联插件管理服务端设备,还用于对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第九方面的第一种可能的实现方式,在第九方面的第二种可能的实现方式中,所述关联插件管理服务端设备具体用于对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
结合第九方面的第二种可能的实现方式,在第九方面的第三种可能的实现方式中,所述关联插件管理服务端设备,还用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
结合第九方面的第三种可能的实现方式,在第九方面的第四种可能的实现方式中,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
结合第九方面的第四种可能的实现方式,在第九方面的第五种可能的实现方式中,所述关联插件管理服务端设备,还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第九方面的第四种可能的实现方式,在第九方面的第六种可能的实现方式中,所述关联插件代理端设备,还用于在所述关联插件管理服务端设备对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包存储到所述关联插件代理端设备上的关联插件本地仓库中;
所述关联插件管理服务端设备,还用于在对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中。
结合第九方面的第三种可能的实现方式,在第九方面的第七种可能的实现方式中,所述关联插件管理服务端设备,还用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
结合第九方面,或者第九方面的第一种至第七种可能的实现方式,在第九方面的第八种可能的实现方式中,所述关联插件代理端设备,还用于获取所述第一组件的信息,并将所述第一组件的信息提供给所述关联插件代理端设备;
所述关联插件代理端设备,还用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
结合第九方面,或者第九方面的第一种至第七种可能的实现方式,在第九方面的第九种可能的实现方式中,所述关联插件代理端设备,还用于获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
本发明第十方面提供一种分布式***,包括:主控服务器和至少一台从服务器,所述主控服务器和所述从服务器上分别部署有至少一个组件,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,所述第一组件和所述第二组件之间存在第一关联插件;其中:
所述主控服务器还包括关联插件管理服务端;其中所述关联插件管理服务端为如上所述的关联插件管理服务端设备;
所述从服务器还包括:关联插件代理端,其中所述关联插件代理端为如上所述的关联插件代理端设备。
本发明实施例提供的关联插件管理方法、设备及***,通过获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本发明实施例基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种关联插件管理方法的流程图;
图2为本发明实施例提供的另一种关联插件管理方法的流程图;
图3为本发明实施例提供的又一种关联插件管理方法的流程图;
图4为本发明实施例提供的又一种关联插件管理方法的流程图;
图5为本发明实施例提供的又一种关联插件管理方法的流程图;
图6为本发明实施例提供的又一种关联插件管理方法的流程图;
图7为本发明实施例提供的一种关联插件管理服务端设备的结构示意图;
图8为本发明实施例提供的另一种关联插件管理服务端设备的结构示意图;
图9为本发明实施例提供的一种主控服务器的结构示意图;
图10为本发明实施例提供的另一种主控服务器的结构示意图;
图11为本发明实施例提供的一种关联插件代理端设备的结构示意图;
图12为本发明实施例提供的另一种关联插件代理端设备的结构示意图;
图13为本发明实施例提供的一种从服务器的结构示意图;
图14为本发明实施例提供的另一种从服务器的结构示意图;
图15为本发明实施例提供的一种关联插件管理设备的结构示意图;
图16为本发明实施例提供的另一种关联插件管理设备的结构示意图;
图17为本发明实施例提供的一种服务器的结构示意图;
图18为本发明实施例提供的另一种服务器的结构示意图;
图19为本发明实施例提供的一种关联插件管理***的结构示意图;
图20为本发明实施例提供的一种分布式***的结构示意图;
图21为本发明实施例提供的另一种分布式***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素;
应用:即应用程序,是提供某种服务的软件;
组件:应用中提供某种特定功能的部件,组件一般是可以选择进行安装的;组件可以部署在一台服务器上,也可以分布式部署在不同的服务器上,又可以称为服务组件;
关联插件:是组件B通过组件A定义的扩展接口开发的模块,组件A通过组件B提供的关联插件A’交换数据。一般情况下关联插件A’与组件A和组件B之间有严格的版本配套关系,不能随意使用。其中组件A定义为关联插件A’的使用者;组件B定义为关联插件A’的提供者。
关联插件同步:根据组件的安装、升级和删除情况,对关联插件进行安装、升级和删除。
图1为本发明实施例提供的一种关联插件管理方法的流程图。如图1所示,所述方法包括:
101、关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
102、关联插件管理服务端设备根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
为解决现有技术存在的与关联插件相关的组件部署时相互依赖,存在紧密耦合的问题,本发明实施例提供一种关联插件管理方法。本实施例提供的关联插件管理方法主要涉及关联插件管理服务端设备和关联插件代理端设备,适用于组件分布式部署的应用场景。所述组件分布式部署的应用场景可以是同一应用***中的组件分布式部署,或者可以是不同应用***中的组件分布式部署,所述应用***可以是告警***、网络拓扑***、安全子***等等。其中,关联插件管理服务端设备主要实现关联插件的管理,主要包括关联插件的安装、升级、删除和分发等;关联插件代理端设备主要负责组件的注册等,以便于向关联插件管理服务端设备提供组件提供的关联插件的信息。
在实际应用中,关联插件代理端设备可以获取组件提供的关联插件的信息。关于关联插件获取组件提供的关联插件的信息的实施方式包括但不限于以下几种:
例如,每个组件安装时,作为待安装的组件需要进行关联插件的潜在使用者的注册,并提供自身的信息,所述待安装的组件进行注册提供的信息包括但不限于:待安装组件的类型、待安装组件的版本号等。其中,待安装组件的类型为必选信息,可由待安装组件的名称、组件位置和组件特征等组成,可以表示该待安装组件是关联插件的使用者还是提供者。
进一步,如果待安装组件是关联插件的提供者,则在进行注册时,不仅需要提供待安装组件的信息,还需要提供该关联插件的信息,该关联插件的信息包括但不限于:关联插件的描述信息和该关联插件的使用者(即使用该关联插件的组件)的信息。例如,待安装组件在注册时提供的关联插件的信息还可以包括:关联插件的版本兼容信息、关联插件的使用者的版本兼容信息等。
除待安装的组件可以通过注册的方式提供有关关联插件的信息之外,对于已经安装的组件或者暂且不需要安装的组件都可以通过注册的方式提供自身所提供的关联插件的信息。
另外,关联插件代理端设备还可以通过除注册以外的其他方式获取各组件所提供的关联插件的信息。例如,预先有管理人员或工作人员将各组件所能提供的关联插件的信息预先存储到关联插件代理端设备本地等。
在本实施例中,为便于描述,将提供关联插件的组件称为第一组件,将第一组件提供的关联插件称为第一关联插件,并将第一关联插件的使用者称为第二组件。在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
举例说明,假设第一组件是待安装的组件,则第一组件可以向本实施例提及的关联插件代理端设备进行注册,提供第一组件所提供的第一关联插件的信息。这样,关联插件代理端设备就可以获知第一组件提供的第一关联插件的信息。在此说明,在第一组件是待安装组件的情况下,本实施例对第一组件具体安装于哪个设备不做限定,例如可以是安装于关联插件管理服务端设备,或者可以是安装于关联插件代理端设备,或者还可以是安装于不同于关联插件管理服务端设备和关联插件代理端设备的另一设备等。本发明实施例重点关注第一组件安装于关联插件管理服务端设备或关联插件代理端设备的情况,具体过程将在后续部分进行描述。
在一可选实施方式中,关联插件代理端设备可以在本地提供一关联插件注册表,用于存储关联插件的信息。基于此,步骤101的一种具体实施方式包括:关联插件管理服务端设备可以向关联插件代理端设备发送查询请求,以使关联插件代理端设备查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回第一组件提供的第一关联插件的信息;关联插件管理服务端设备接收关联插件代理端设备返回的第一组件提供的第一关联插件的信息。
关联插件管理服务端设备在获取到第一关联插件的描述信息和使用第一关联插件的第二组件的信息之后,根据第二组件的信息确定第二组件完成安装后,根据第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在本实施例中,关联插件管理服务端设备可以通过关联插件代理端设备获取第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,进而可以基于获取的信息单独对第二组件使用第一关联插件的安装进行处理,从而将第二组件的安装和第二组件使用的第一关联插件的安装独立开,从而实现与关联插件相关的组件部署时的松耦合。
在一可选实施方式中,通过关联插件仓库对关联插件进行存储管理。所述关联插件仓库包括设置于关联插件代理端设备一侧的关联插件本地仓库和设置于关联插件管理服务端设备一侧的关联插件总仓库。其中,关联插件代理端设备获取第一组件提供的第一关联插件的信息后,还会将第一关联插件存储在关联插件代理端设备一侧的关联插件本地仓库中。基于此,本实施例提供的关联插件管理方法还包括:关联插件管理服务端设备对关联插件管理服务端设备上的关联插件总仓库和关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
基于上述,步骤102的一种具体实施方式包括:关联插件管理服务端设备对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在此说明,第二组件所在的设备可以是关联插件管理服务端设备,或者可以是关联插件代理端设备,或者还可以是不同于关联插件管理服务端设备和关联插件代理端设备的另一设备。本发明实施例重点关于第二组件所在设备是关联插件管理服务端设备或关联插件代理端设备的情况。根据第二组件所在设备的不同,关联插件管理服务端设备根据第二组件的信息和所述第一关联插件的描述信息将第一关联插件安装到第二组件所在设备上的实施过程会有所不同,下面将结合具体应用场景进行举例说明。
例如,如果第二组件所在设备为关联插件管理服务端设备,则关联插件管理服务端设备根据第二组件的信息和第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:关联插件管理服务端设备在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,可以根据所述第二组件的信息确定第二组件所在的设备为关联插件管理服务端设备,进而根据所述第一关联插件的描述信息确定第一关联插件,之后可以直接从所述关联插件管理服务端设备上的关联插件总仓库中获取第一关联插件,然后将所获取的第一关联插件直接安装到所述关联插件管理服务端设备上。
又例如,如果第二组件所在设备为关联插件代理端设备,则关联插件管理服务端设备根据第二组件的信息和第一关联插件的描述信息将第一关联插件安装到第二组件所在的设备上,包括:当关联插件管理服务端设备在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,可以根据所述第二组件的信息确定第二组件所在的设备为关联插件代理端设备,根据第一关联插件的描述信息确定第一关联插件,然后向关联插件代理端设备发送关联插件管理指示,以指示关联插件代理端设备将第一关联插件安装到关联插件代理端设备上。相应的,关联插件代理端设备在收到关联插件管理指示后,根据关联插件管理指示的指示,确定第一关联插件,然后将第一关联插件安装到关联插件代理端设备上。可选的,关联插件代理端设备在确定第一关联插件之后,可以直接从关联插件代理端设备上的关联插件本地仓库中获取第一插件,然后将第一插件安装到关联插件代理端设备上。
在此说明,本实施例对关联插件管理服务端设备通过关联插件管理指示指示第一关联插件的方式不做限定。例如,关联插件管理服务端设备可以通过关联插件管理指示携带第一关联插件的标识,从而使关联插件代理端设备能够根据关联插件管理指示所携带的第一关联插件的标识确定第一关联插件。又例如,关联插件代理端设备和关联插件管理服务端设备可以预先约定按照关联插件的顺序进行处理,及处理完一个关联插件再处理另一个关联插件,这样关联插件代理端设备可以根据在接收关联插件管理指示之前提供给关联插件管理服务端设备的关联插件的信息,确定与接收到的关联插件管理指示对应的是哪个关联插件。在后一种方式中,关联插件管理服务端设备无需在关联插件管理指示中携带任何信息,有利于减轻关联插件管理服务端设备的负担。
又例如,第二组件所在的设备可能是不同于关联插件代理端设备和关联插件管理服务端设备的另一设备,则关联插件管理服务端设备根据第二组件的信息和第一关联插件的描述信息将第一关联插件安装到第二组件所在的设备上,包括:当关联插件管理服务端设备在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,同样可以根据所述第二组件的信息确定第二组件所在的设备,并根据第一关联插件的描述信息确定第一关联插件,然后生成携带有第二组件所在的设备的标识和第一关联插件的标识的关联插件管理指示,将所述关联插件管理指示发送给关联插件代理端设备,以使关联插件代理端设备将第一关联插件安装到第二组件所在的设备上,但不限于此。又例如,在第二组件所在的设备是不同于关联插件代理端设备和关联插件管理服务端设备的另一设备的情况下,关联插件管理服务端设备在确定第二组件所在的设备和第一关联插件后,可以向关联插件代理端设备发送不携带任何信息的关联插件管理指示,由关联插件代理端设备按照一定的规则或策略根据该关联插件管理指示负责确定第二组件所在的设备和第一关联插件,之后将第一关联插件安装到第二组件所在的设备上。在该实施方式中,关联插件代理端设备可以具有类似关联插件管理服务端设备的功能,从而完成将第一关联插件安装到第二组件所在的设备上。
进一步,在关联插件总仓库和关联插件本地仓库的基础上,本实施例提供的关联插件管理方法还包括:当发现第一关联插件发生变化时,关联插件管理服务端设备根据第二组件的信息和第一关联插件的变更信息完成对第一关联插件的变更处理;其中,对第一关联插件的变更处理包括对第二组件所在设备上的第一关联插件进行升级或者将第二组件所在设备上的第一关联插件删除。
在此说明,关联插件管理服务端设备可以获知第一关联插件是否发生变化。举例说明,当有组件和/或关联插件需要升级时,管理人员可以将有关组件和/或关联插件对应的升级包存储到关联插件管理服务端设备上,这样关联插件管理服务端设备通过判断就可以获知第一关联插件是否需要升级。再举例说明,当组件和/或关联插件需要删除时,关联插件管理服务端设备会接收到有关删除指令,通过判断可以获知第一关联插件是否需要从第二组件所在设备上删除。再举例说明,当有组件和/或关联插件需要升级时,管理人员也可以将有关组件和/或关联插件对应的升级包存储到关联插件代理端设备上的关联插件本地仓库中,这样管理插件管理服务端设备通过进行关联插件总仓库和关联插件本地仓库的同步,就可以发现需要对第一关联插件进行升级。
在此说明,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
基于对第一关联插件进行升级处理,一种情况为:第一关联插件对应的升级包被存储在关联插件管理服务端设备上,则关联插件管理服务端设备可以直接根据第一关联插件对应的升级包对第一关联插件进行升级,即在第二组件所在设备上安装第一关联插件对应的升级包。在对第一关联插件进行升级之后,关联插件管理服务端设备可以将包括第一关联插件对应的升级包的第一关联插件的变更信息存储到关联插件管理服务端设备上的关联插件总仓库中。其中,关联插件管理服务端设备通过关联插件总仓库对关联插件进行管理。
基于对第一关联插件进行升级处理,另一种情况为:第一关联插件对应的升级包被存储在关联插件代理端设备上,关联插件代理端设备会将第一关联插件对应的升级包存储于关联插件代理端设备上的关联插件本地仓库中。基于此,关联插件管理服务端设备在对第一关联插件进行升级之前,先将第一关联插件对应的升级包从关联插件代理端设备上的关联插件本地仓库中同步到关联插件管理服务端设备上的关联插件总仓库中,然后再根据第一关联插件对应的升级包对第一关联插件进行升级,即从关联插件管理服务端设备上的关联插件总仓库中获取第一关联插件对应的升级包,然后将所获取的第一关联插件对应的升级包安装到第二组件所在的设备上。
在此说明,根据第二组件所在的设备的不同,关联插件管理服务端设备根据第一关联插件对应的升级包对第一关联插件进行升级的过程也会有所不同,具体可参见关联插件管理服务端设备在第二组件所在的设备的不同情况下,根据第二组件的信息和第一关联插件的描述信息将第一关联插件安装到第二组件所在的设备的相应描述,在此不再细述。
在一可选实施方式中,除了使用关联插件仓库对关联插件进行存储管理之外,还是用关联插件回收仓库对关联插件进行回收管理,所述关联插件回收仓库包括设置于管理插件代理端设备一侧的关联插件本地回收仓库和设置于关联插件管理服务端设备一侧的关联插件回收总仓库。基于此,在对第一关联插件进行删除处理的情况下,关联插件管理服务端设备在将第一关联插件从第二组件所在设备上删除后,进一步可以将第一关联插件从关联插件管理服务端设备上的关联插件总仓库移除到关联插件管理服务端设备上的关联插件回收总仓库中,并控制关联插件代理端设备将第一关联插件从关联插件代理端设备上的关联插件本地仓库移除到关联插件代理端设备上的关联插件本地回收仓库中。例如,关联插件管理服务端设备可以向关联插件代理端设备发送移除指示,用于指示关联插件代理端设备将第一关联插件从关联插件代理端设备上的关联插件本地仓库移除到关联插件代理端设备上的关联插件本地回收仓库中,但不限于这一种实现方式。
进一步,在一可选实施方式中,关联插件管理服务端设备除了会将第一关联插件从关联插件代理端设备上的关联插件本地仓库中同步到关联插件管理服务端设备上的关联插件总仓库中之外,还会将存在于关联插件管理服务端设备上的关联插件总仓库但不存在于关联插件代理端设备上的关联插件本地仓库中的第二关联插件同步到关联插件代理端设备上的关联插件本地仓库中。然后,关联插件管理服务端设备根据第二关联插件的描述信息和使用第二关联插件的第三组件的信息,将第二关联插件安装到第三组件所在的设备上。
可选的,关联插件管理服务端设备可以定时轮询关联插件管理服务端设备上的关联插件总仓库和关联插件代理端设备上的关联插件本地仓库,从而发现两个仓库中不同的关联插件。
在此说明,根据第三组件所在的设备的不同,关联插件管理服务端设备将第二关联插件安装到第三组件所在的设备上的实施方式也会有所不同,具体可参见将第一关联插件安装到第二组件所在的设备上的实施方式,在此不再赘述。
进一步,在一可选实施方式中,关联插件管理服务端设备也可以设置关联插件注册表,用于存储关联插件的信息,实现对所有关联插件的信息的集中管理。基于此,关联插件管理服务端设备在获取第一组件提供的第一关联插件的信息后,可以将所述第一组件提供的第一关联插件的信息存储到所述关联插件管理服务端设备上的关联插件注册表中,以实现对所有关联插件的信息进行集中管理。
在一可选实施方式中,在第一组件是待安装的组件的情况下,第一组件需要安装于关联插件管理服务端设备。基于此,本实施例提供的关联插件管理方法还包括:关联插件管理服务端设备通过关联插件代理端设备获取第一组件的信息,并根据第一组件的信息,将第一组件安装于关联插件管理服务端设备上。
在此说明,关联插件管理服务端设备通过关联插件代理端设备获取第一组件的信息,与关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息可以在同一过程中完成,也可以通过不同的过程完成。
进一步可选的,关联插件管理服务端设备还可以将第一组件的信息存储到关联插件管理服务端设备上的关联插件注册表中,以实现对所有组件的信息的集中管理。例如,如果第一组件需要安装关联插件,则关联插件管理服务端设备可以根据关联插件注册表中存储的第一组件的信息,确定第一组件所在的设备,从而将相关的关联插件安装于第一组件所在的设备上。在此说明,为第一组件安装有关关联插件的过程,与为第二组件安装第一关联插件的过程相同,在此不再赘述。
在一可选实施方式中,在第一组件是待安装的组件的情况下,第一组件需要安装于关联插件代理端设备。则关联插件代理端设备可以获取第一组件的信息,并根据第一组件的信息将第一组件安装于关联插件代理端设备。
由上述可见,本实施例提供的关联插件管理方法,关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例的关联插件管理服务端设备基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
进一步,本实施例提供的关联插件管理方法,通过关联插件管理服务端设备实现对关联插件的自动管理,例如自动安装、升级和删除等,降低了关联插件的部署复杂、易出错等问题。
图2为本发明实施例提供的另一种关联插件管理方法的流程图。如图2所示,所述方法包括:
201、关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
202、关联插件代理端设备向关联插件管理服务端设备提供所述第一关联插件的信息,以供所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
本实施例提供的方法与图1所示方法实施例相对应,是从关联插件代理端设备的角度进行的描述。
本实施例提供的关联插件管理方法主要涉及关联插件管理服务端设备和关联插件代理端设备,适用于组件分布式部署的应用场景。所述组件分布式部署的应用场景可以是同一应用***中的组件分布式部署,或者可以是不同应用***中的组件分布式部署,所述应用***可以是告警***、网络拓扑***、安全子***等等。其中,关联插件管理服务端设备主要实现关联插件的管理,主要包括关联插件的安装、升级、删除和分发等;关联插件代理端设备主要负责组件的注册等,以便于向关联插件管理服务端设备提供组件携带的关联插件的信息。
在实际应用中,关联插件代理端设备可以获取组件提供的关联插件的信息。关于关联插件获取组件提供的关联插件的信息的实施方式包括但不限于以下几种:
例如,每个组件安装时,作为待安装的组件需要进行关联插件的潜在使用者的注册,并提供自身的信息,所述待安装的组件进行注册提供的信息包括但不限于:待安装组件的类型、待安装组件的版本号等。其中,待安装组件的类型为必选信息,可由待安装组件的名称、组件位置和组件特征等组成,用于指示该待安装组件是关联插件的使用者还是提供者。
进一步,如果待安装组件是关联插件的提供者,则在进行注册时,不仅需要提供待安装组件的信息,还需要提供该关联插件的信息,该关联插件的信息包括但不限于:关联插件的描述信息和该关联插件的使用者(即使用该关联插件的组件)的信息。例如,待安装组件在注册时提供的关联插件的信息还可以包括:关联插件的版本兼容信息、关联插件的使用者的版本兼容信息等。
除待安装的组件可以通过注册的方式提供有关关联插件的信息之外,对于已经安装的组件或者暂且不需要安装的组件都可以通过注册的方式提供自身所提供的关联插件的信息。
另外,关联插件代理端设备还可以通过除注册以外的其他方式获取各组件所提供的关联插件的信息。例如,预先有管理人员或工作人员将各组件所能提供的关联插件的信息预先存储到关联插件代理端设备本地等。
在本实施例中,为便于描述,将提供关联插件的组件称为第一组件,将第一组件携带的关联插件称为第一关联插件,并将第一关联插件的使用者称为第二组件。在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
举例说明,假设第一组件是待安装的组件,则第一组件可以向本实施例提及的关联插件代理端设备进行注册,提供第一组件所提供的第一关联插件的信息。这样,关联插件代理端设备就可以获知第一组件提供的第一关联插件的信息。在此说明,在第一组件是待安装组件的情况下,本实施例对第一组件具体安装于哪个设备不做限定,例如可以是安装于关联插件管理服务端设备,或者可以是安装于关联插件代理端设备,或者还可以是安装于不同于关联插件管理服务端设备和关联插件代理端设备的另一设备等。本发明实施例重点关注第一组件安装于关联插件管理服务端设备或关联插件代理端设备的情况,具体过程将在后续部分进行描述。
在一可选实施方式中,关联插件代理端设备可以在本地提供一关联插件注册表,用于存储关联插件的信息。这样,关联插件代理端设备可以将第一组件提供的第一关联插件的信息存储到关联插件注册表中。
在获取到第一组件提供的第一关联插件的信息后,关联插件代理端设备将第一组件提供的第一关联插件的信息提供给关联插件管理服务端设备。例如,关联插件代理端设备可以接收关联插件管理服务端设备发送的查询请求,根据该查询请求查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回所述第一组件提供的第一关联插件的信息。
在一可选实施方式中,通过关联插件仓库对关联插件进行存储管理。所述关联插件仓库包括设置于关联插件代理端设备一侧的关联插件本地仓库和设置于关联插件管理服务端设备一侧的关联插件总仓库。其中,关联插件代理端设备获取第一组件提供的第一关联插件的信息后,还会将第一关联插件存储在关联插件代理端设备上的关联插件本地仓库中。相应的,关联插件管理服务端设备还可以对关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
其中,关联插件管理服务端设备可以对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,发现是否新增第一关联插件,进而在发现第一关联插件后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。在一可选实施方式中,第二组件所在设备可以为关联插件代理端设备。基于此,当关联插件管理服务端设备在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,可以根据所述第二组件的信息确定第二组件所在的设备为关联插件代理端设备,并根据第一关联插件的描述信息确定第一关联插件,然后向关联插件代理端设备发送关联插件管理指示,以指示关联插件代理端设备将第一关联插件安装到关联插件代理端设备上。相应的,关联插件代理端设备可以接收关联插件管理服务端设备发送的关联插件管理指示,所述关联插件管理指示是所述关联插件管理服务端设备根据第二组件的信息确定第二组件所在的设备为所述关联插件代理端设备并根据第一关联插件的描述信息确定第一关联插件后发送的,用于指示关联插件代理端设备将第一关联插件安装到所述关联插件代理端设备上;接收到关联插件管理指示后,关联插件代理端设备根据关联插件管理指示的指示,确定第一关联插件,然后将第一关联插件安装到关联插件代理端设备上。可选的,关联插件代理端设备在确定第一关联插件之后,可以直接从关联插件代理端设备上的关联插件本地仓库中获取第一插件,然后将第一插件安装到关联插件代理端设备上。
在此说明,本实施例对关联插件管理服务端设备通过关联插件管理指示指示第一关联插件的方式不做限定。例如,关联插件管理服务端设备可以通过关联插件管理指示携带第一关联插件的标识,这样关联插件代理端设备可以根据关联插件管理指示所携带的第一关联插件的标识确定第一关联插件。又例如,关联插件代理端设备和关联插件管理服务端设备可以预先约定按照关联插件的顺序进行处理,及处理完一个关联插件再处理另一个关联插件,这样关联插件代理端设备可以根据在接收关联插件管理指示之前提供给关联插件管理服务端设备的关联插件的信息,确定与接收到的关联插件管理指示对应的是哪个关联插件。在后一种方式中,关联插件管理服务端设备无需在关联插件管理指示中携带任何信息,有利于减轻关联插件管理服务端设备的负担,且关联插件代理端设备也无需对关联插件管理指示进行解析等处理,同样可以减轻关联插件代理端设备的处理负担。
进一步,在关联插件总仓库和关联插件本地仓库的基础上,当发现第一关联插件发生变化时,关联插件管理服务端设备根据第二组件的信息和第一关联插件的变更信息完成对第一关联插件的变更处理;其中,对第一关联插件的变更处理包括对第二组件所在设备上的第一关联插件进行升级或者将第二组件所在设备上的第一关联插件删除。
基于对第一关联插件进行升级处理,其中一种情况为:第一关联插件对应的升级包被存储在关联插件代理端设备上,关联插件代理端设备会将第一关联插件对应的升级包存储于关联插件代理端设备上的关联插件本地仓库中。基于此,关联插件管理服务端设备在对第一关联插件进行升级之前,先将第一关联插件对应的升级包从关联插件代理端设备上的关联插件本地仓库中同步到关联插件管理服务端设备上的关联插件总仓库中,然后再根据第一关联插件对应的升级包对第一关联插件进行升级,即从关联插件管理服务端设备上的关联插件总仓库中获取第一关联插件对应的升级包,然后将所获取的第一关联插件对应的升级包安装到第二组件所在的设备上。
在一可选实施方式中,除了使用关联插件仓库对关联插件进行存储管理之外,还是用关联插件回收仓库对关联插件进行回收管理,所述关联插件回收仓库包括设置于管理插件代理端设备一侧的关联插件本地回收仓库和设置于关联插件管理服务端设备一侧的关联插件回收总仓库。基于此,在对第一关联插件进行删除处理的情况下,关联插件管理服务端设备在将第一关联插件从第二组件所在设备上删除后,进一步可以将第一关联插件从关联插件管理服务端设备上的关联插件总仓库移除到关联插件管理服务端设备上的关联插件回收总仓库中,并控制关联插件代理端设备将第一关联插件从关联插件代理端设备上的关联插件本地仓库移除到关联插件代理端设备上的关联插件本地回收仓库中。相应的,当第一关联插件被从所述第二组件所在设备上删除后,所述关联插件代理端设备可以在所述关联插件管理服务端设备的控制下,将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。例如,关联插件代理端设备可以接收关联插件管理服务端设备发送的移除指示,根据该移除指示将第一关联插件从关联插件代理端设备上的关联插件本地仓库移除到关联插件代理端设备上的关联插件本地回收仓库中,但不限于这一种实现方式。其中,所述移除指示用于表示将第一关联插件从关联插件代理端设备上的关联插件本地仓库移除到关联插件代理端设备上的关联插件本地回收仓库中,具体指示方式不做限定。
在一可选实施方式中,在第一组件是待安装的组件的情况下,第一组件需要安装于关联插件管理服务端设备。基于此,本实施例提供的关联插件管理方法还包括:关联插件代理端设备获取第一组件的信息,并将第一组件的信息提供给关联插件管理服务端设备,以供关联插件管理服务端设备根据第一组件的信息,将第一组件安装于关联插件管理服务端设备上。
在此说明,关联插件代理端设备向关联插件管理服务端设备提供第一组件的信息,与关联插件代理端设备向关联插件管理服务端设备提供第一组件提供的第一关联插件的信息可以在同一过程中完成,也可以通过不同的过程完成。
在一可选实施方式中,在第一组件是待安装的组件的情况下,第一组件需要安装于关联插件代理端设备。基于此,本实施例提供的关联插件管理方法还包括:关联插件代理端设备获取第一组件的信息,并根据第一组件的信息,将第一组件安装于关联插件代理端设备上。
综上所述,在本实施例中,关联插件代理端设备与关联插件管理服务端设备相配合,通过向关联插件管理服务端设备提供第一组件提供的第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,使得关联插件管理服务端设备可以根据该第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,将该第一关联插件安装到第二组件所在的设备上,将关联插件的安装过程与使用关联插件的组件的安装过程独立开,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
一种实际应用场景为:一个分布式***部署在两台机器上,该分布式***包含组件A和B,组件B上有组件A的关联插件Plugin_BforA;其中组件A部署在服务器H1,组件B部署在服务器H2,关联插件Plugin_BforA需要同步部署到服务器H1上,上述实施例中的关联插件管理服务端设备部署在服务器H1上。在此说明,这里的组件A相当于上述实施例中的第二组件,组件B相当于上述实施例中的第一组件,关联插件Plugin_BforA相当于上述实施例中的第一关联插件。在该应用场景中,第二组件安装于关联插件管理服务端设备上,第一组件安装于关联插件代理端设备上。为了确保组件本地部署时不感知分布式,关联插件管理服务端设备在添加作为从机的服务器H2时,才完成关联插件的同步。如图3所示,服务器H2的添加流程包括:
301、在服务器H1上安装组件A和关联插件管理服务端设备。
302、在服务器H2上安装组件B和关联插件代理端设备。
303、关联插件Plugin_BforA拷贝到服务器H2的关联插件本地仓库中。
304、建立主从关系时,判断服务器H1上的关联插件总仓库中是否存在关联插件Plugin_BforA;如果判断结果为否,执行步骤305;如果判断结果为是,执行步骤306。
305、将关联插件Plugin_BforA同步到服务器H1上的关联插件总仓库中,并将关联插件Plugin_BforA安装于组件A所在的服务器H1上,并执行步骤306。
306、判断服务器H1上的关联插件总仓库中是否存在服务器H2上的关联插件本地仓库中不存在的关联插件;如果判断结果为是,执行步骤307;如果判断结果为否,执行步骤308。
307、将服务器H1上的关联插件总仓库中不存在于服务器H2上的关联插件本地仓库中的关联插件同步到服务器H2上的关联插件本地仓库中,并执行308。
308、结束操作。
进一步,假设需要对组件和关联插件进行升级,则基于上述,假设升级包中包含组件B的升级组件包B_SP1和关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1,则服务器H1和服务器H2上的升级流程分别如图4和图5所示。
如图4所示,服务器H1上的升级流程包括:
401、服务器H1上安装升级包。
402、判断所述升级包中是否存在已安装组件和/或关联插件的升级包;如果判断结果为是,执行步骤403;如果判断结果为否,执行步骤405。
在本实施例中,假设该升级包中包含组件B的升级包。
403、在服务器H2上部署组件B的升级包B_SP1,并在服务器H1上安装关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1。
404、拷贝关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1到关联插件总仓库中,并执行步骤405。
405、结束操作。
如图5所示,服务器H2上的升级流程包括:
501、服务器H2上安装升级包。
502、服务器H2上部署组件B的升级包B_SP1。
503、判断所述升级包中是否包括已安装关联插件的升级包;如果判断结果为是,执行步骤504;如果判断结果为否,执行步骤505。
在本实施例中,假设升级包中存在关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1。
504、服务器H2拷贝关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1到关联插件本地仓库中,并执行步骤505。
505、轮询服务器H2上的关联插件本地仓库。
506、判断服务器H2上的关联插件本地仓库是否存在服务器H1上的关联插件总仓库中不存在的关联插件;如果判断结果为是,执行步骤507;如果判断结果为否,执行步骤509。
507、将服务器H2上的关联插件本地仓库中不存在于服务器H1上的关联插件总仓库中的关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1同步到服务器H1上的关联插件总仓库中,并执行步骤508。
508、在服务器H1上部署关联插件Plugin_BforA的升级组件包Plugin_BforA_SP1,并执行步骤509。
509、结束操作。
图6为本发明实施例提供的又一种关联插件管理方法的流程图。如图6所示,所述方法包括:
601、通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
602、根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件安装于同一设备上。
为解决现有技术存在的与关联插件相关的组件部署时相互依赖,存在紧密耦合的问题,本实施例提供一种关联插件管理方法。本发明实施例提供的关联插件管理方法适用于单点部署的应用场景,即适用于相关组件部署在同一设备的应用场景。例如,本实施例的执行主体可以是关联插件管理设备,也就是第一组件和第二组件所在的设备,也就是说第一组件和第二组件均安装于所述关联插件管理设备上。本实施例中的关联插件管理设备和前述实施例中的关联插件管理服务端设备以及关联插件代理端设备均不相同。本实施例由关联插件管理设备实现对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
在本实施例中,关联插件管理设备向各个组件提供注册功能,并具体提供注册接口。基于此,各个组件可以通过该注册接口向关联插件管理设备进行注册,并提供自身的信息,所述组件进行注册提供的信息包括但不限于:组件的类型、组件的版本号等。其中,组件的类型为必选信息,可由组件的名称、组件位置和组件特征等组成,可以表示该组件是关联插件的使用者还是提供者。
进一步,如果组件是关联插件的提供者,则在进行注册时,不仅需要提供组件的信息,还需要提供该关联插件的信息,该关联插件的信息包括但不限于:关联插件的描述信息和该关联插件的使用者(即使用该关联插件的组件)的信息。例如,组件在注册时提供的关联插件的信息还可以包括:关联插件的版本兼容信息、关联插件的使用者的版本兼容信息等。
在此说明,本实施例关联插件管理设备所提供的注册功能,不仅可以允许待安装的组件进行注册,也可以允许已经安装的组件或暂且不需要安装的组件进行注册,也就是说,所述组件可以是待安装的组件、已安装的组件或暂且不需要安装的组件等。
在本实施例中,为便于描述,将提供关联插件的组件称为第一组件,将第一组件提供的关联插件称为第一关联插件,并将第一关联插件的使用者称为第二组件。在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
关联插件管理设备在获取到第一关联插件的描述信息和使用第一关联插件的第二组件的信息之后,根据第二组件的信息确定第二组件完成安装后,根据第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在本实施例中,关联插件管理设备可以通过注册接口获取第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,进而可以基于获取的信息单独对第二组件使用的第一关联插件的安装进行处理,从而将第二组件的安装和第二组件使用的第一关联插件的安装独立开,从而实现与关联插件相关的组件部署时的松耦合。
在一可选实施方式中,通过关联插件仓库对关联插件进行存储管理,通过关联插件注册表对组件和关联插件的有关信息进行存储管理。在本实施例中,关联插件仓库和关联插件注册表可以设置于关联插件管理设备本地,也可以设置于远离关联插件管理设备的其他设备上。
基于此,本实施例提供的方法还包括:将第一关联插件存储到关联插件仓库中,以对所有关联插件进行集中管理;并将第一组件提供的第一关联插件的信息存储到关联插件注册表中,以对所有关联插件的信息进行集中管理。
基于上述,步骤602的一种具体实施方式包括:对所述关联插件仓库进行轮询,当在所述关联插件仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
进一步,在关联插件仓库的基础上,本实施例提供的关联插件管理方法还包括:当所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
在此说明,关联插件管理设备可以获知第一关联插件是否发生变化。举例说明,当有组件和/或关联插件需要升级时,管理人员可以将有关组件和/或关联插件对应的升级包安装到关联插件管理设备上,这样关联插件管理设备通过判断就可以获知第一关联插件是否需要升级。再举例说明,当组件和/或关联插件需要删除时,关联插件管理设备会接收到有关删除指令,通过判断可以获知第一关联插件是否需要从第二组件所在设备上删除。
如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级。基于此,本实施例提供的方法还包括:在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的第一关联插件的变更信息存储到所述关联插件仓库中。
在一可选实施方式中,除了使用关联插件仓库对关联插件进行存储管理之外,还是用关联插件回收仓库对关联插件进行回收管理。基于此,在对第一关联插件进行删除处理的情况下,在将第一关联插件从第二组件所在设备上删除后,进一步可以将第一关联插件从关联插件仓库移除到关联插件回收仓库中。其中,关联插件回收仓库可以设置于关联插件管理设备本地,也可以设置于远离关联插件管理设备的其他设备上。
在一可选实施方式中,在第一组件是待安装的组件的情况下,第一组件需要安装于关联插件管理设备。基于此,本实施例提供的关联插件管理方法还包括:关联插件管理设备获取第一组件通过注册接口进行注册提供的第一组件的信息,并根据第一组件的信息,将第一组件安装于关联插件管理设备上。
在此说明,关联插件管理设备通过注册接口获取第一组件的信息,与关联插件管理设备通过注册接口获取第一组件提供的第一关联插件的信息可以在同一过程中完成,也可以通过不同的过程完成。
进一步可选的,关联插件管理设备还可以将第一组件的信息存储到关联插件注册表中,以对所有组件的信息进行集中管理。
由上述可见,本实施例提供的关联插件管理方法,通过提供注册接口获取第一组件进行注册提供的第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例的关联插件管理设备基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图7为本发明实施例提供的一种关联插件管理服务端设备的结构示意图。如图7所示,所述设备包括:获取模块71和安装模块72。
获取模块71,用于通过关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
安装模块72,与获取模块71连接,用于根据获取模块71获取的所述第二组件的信息确定所述第二组件完成安装后,根据获取模块71获取的所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
在此说明,第二组件所在的设备可以是关联插件管理服务端设备,或者可以是关联插件代理端设备,或者还可以是不同于关联插件管理服务端设备和关联插件代理端设备的另一设备。本发明实施例重点关于第二组件所在设备是关联插件管理服务端设备或关联插件代理端设备的情况。
在一可选实施方式中,如图8所示,所述关联插件管理服务端设备还包括:同步模块73。
同步模块73,用于在所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中时,对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
基于上述,安装模块72具体可用于对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在一可选实施方式中,如图8所示,所述关联插件管理服务端设备还包括:变更处理模块74。
变更处理模块74,用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
进一步可选的,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,变更处理模块74还用于输出所述第一关联插件的变更信息,其中所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
在一种情况下,第一关联插件对应的升级包被安装于所述关联插件管理服务端设备上,则变更处理模块74可以直接根据第一关联插件对应的升级包对第一关联插件进行升级。基于此,变更处理模块74还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
在另一种情况下,第一关联插件对应的升级包被安装于关联插件代理端设备上,则同步模块73还用于在变更处理模块74对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中,以向变更处理模块74提供第一关联插件对应的升级包。
在一可选实施方式中,如图8所示,所述关联插件管理服务端设备还包括:移除模块75。
移除模块75,用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在变更处理模块74将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
进一步可选的,同步模块73还用于将存在于所述关联插件管理服务端设备上的关联插件总仓库但不存在于所述关联插件代理端设备上的关联插件本地仓库中的第二关联插件同步到所述关联插件代理端设备上的关联插件本地仓库中。相应的,安装模块72还用于根据所述第二关联插件的描述信息和使用所述第二关联插件的第三组件的信息,将所述第二关联插件安装到所述第三组件所在的设备上。
在一可选实施方式中,所述第二组件所在的设备为所述关联插件代理端设备。基于此,安装模块72具体可用于根据所述第二组件的信息确定所述第二组件所在的设备为所述关联插件代理端设备,根据所述第一关联插件的描述信息确定所述第一关联插件,向所述关联插件代理端设备发送关联插件管理指示,以指示所述关联插件代理端设备将所述第一关联插件安装到所述关联插件代理端设备上。
在一可选实施方式中,如图8所示,所述关联插件管理服务端设备还包括:存储模块76。
存储模块76,用于存储关联插件注册表,其中所述关联插件注册表记录有第一组件提供的第一关联插件的信息,以供所述关联插件管理服务端设备对所有关联插件的信息进集中行管理。其中,存储模块76与获取模块71连接,用于存储获取模块71获取的第一组件提供的第一关联插件的信息。
在一可选实施方式中,获取模块71具体可用于向所述关联插件代理端设备发送查询请求,并接收关联插件代理端设备响应于所述查询请求而返回的所述第一组件提供的第一关联插件的信息;其中所述第一组件提供的第一关联插件的信息是所述关联插件代理端设备查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回的。
在一可选实施方式中,第一组件属于待安装的组件,且需要安装于所述关联插件管理服务端设备。基于此,获取模块71还可用于通过所述关联插件代理端设备获取所述第一组件的信息。相应的,安装模块72还可用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
进一步,存储模块76存储的关联插件注册表还可记录第一组件的信息,以供所述关联插件管理服务端设备对所有组件的信息进行集中管理。
在此说明,如图8所示,所述关联插件管理服务端设备还包括:关联插件总仓库和关联插件回收总仓库。其中,关联插件总仓库,用于存储关联插件;关联插件回收总仓库,用于存储删除后的关联插件。关联插件总仓库和关联插件回收总仓库与各模块的连接关系如图8所示。
本实施例提供的关联插件管理服务端设备可用于执行图1所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的关联插件管理服务端设备,通过关联插件代理端设备获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例的关联插件管理服务端设备基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
进一步,本实施例提供的关联插件管理服务端设备实现了对关联插件的自动管理,例如自动安装、升级和删除等,降低了关联插件的部署复杂、易出错等问题。
图9为本发明实施例提供的一种主控服务器的结构示意图。所述主控服务器与至少一台从服务器具有通信连接,所述主控服务器和所述从服务器上分别部署有至少一个组件,其中,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。在此说明,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,包括以下几种情况:第一组件部署于主控服务器上,第二组件部署于从服务器上;或者第一组件部署于从服务器上,第二组件部署于主控服务器上;或者第一组件和第二组件均部署于主控服务器上;或者第一组件和第二组件均部署于从服务器上。为便于图示,图9中以第一组件和第二组件分别位于主控服务器和从服务器上为例,并且将除第一组件和第二组件之外的组件图示为其它组件,将第一关联插件之外的关联插件图示为其它关联插件。如图9所示,所述主控服务器还包括:关联插件管理服务端,其中所述关联插件管理服务端可以是图7或图8所示实施例提供的关联插件管理服务端设备。关于关联插件管理服务端设备的实现结构和工作原理不再赘述,具体可参见前述实施例的描述。
本实施例提供的主控服务器,通过关联插件代理端获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例提供的主控服务器基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
进一步,本实施例提供的主控服务器实现了对关联插件的自动管理,例如自动安装、升级和删除等,降低了关联插件的部署复杂、易出错等问题。
图10为本发明实施例提供的另一种主控服务器的结构示意图。所述主控服务器与至少一台从服务器具有通信连接,所述主控服务器和所述从服务器上分别部署有至少一个组件,其中,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。在此说明,这里部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,包括以下几种情况:第一组件部署于主控服务器上,第二组件部署于从服务器上;或者第一组件部署于从服务器上,第二组件部署于主控服务器上;或者第一组件和第二组件均部署于主控服务器上;或者第一组件和第二组件均部署于从服务器上。如图10所示,主控服务器100还包括:存储器1001和处理器1002。
存储器1001可以包括只读存储器和随机存取存储器,并向处理器1002提供指令和数据。存储器1001的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器1001存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作***:包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器1002通过调用存储器1001存储的操作指令(该操作指令可存储在操作***中),执行如下操作:
通过所述从服务器获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
在此说明,第二组件所在的设备可以是主控服务器100,或者可以是从服务器,或者还可以是不同于主控服务器100和从服务器的另一设备。本发明实施例重点关于第二组件所在设备是主控服务器100或从服务器的情况。
在本实施例中,处理器1002通过从服务器获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上,基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
处理器1002还可以称为中央处理单元(Central Processing Unit,简称为CPU)。存储器1001可以包括只读存储器和随机存取存储器,并向处理器1002提供指令和数据。存储器1001的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,主控服务器100的各个组件通过总线***1005耦合在一起,其中总线***1005除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***1005。
上述图1或图3或图4所示实施例揭示的方法可以应用于处理器1002中,或者由处理器1002实现。处理器1002可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1002中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1002可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合图1或图3或图5所示实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1001,处理器1002读取存储器1001中的信息,结合其硬件完成图1或图3或图5所示方法的步骤。
可选的,存储器1001的一部分还可以用于作为主控服务器100上的关联插件总仓库,用于存储关联插件。基于此,处理器1002还可以在所述第一关联插件存储在从服务器上的关联插件本地仓库中时,对主控服务器100上的关联插件总仓库和所述从服务器上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述主控服务器100上的关联插件总仓库中。
可选的,处理器1002具体用于对主控服务器100上的关联插件总仓库进行轮询,当在主控服务器100上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
可选的,处理器1002还可以在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
可选的,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,处理器1002还用于输出所述第一关联插件的变更信息,其中所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
一种情况下,第一关联插件对应的升级包被安装于主控服务器100上,则处理器1002可以直接根据第一关联插件对应的升级包对第一关联插件进行升级。基于此,处理器1002还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到主控服务器100上的关联插件总仓库中。
另一种情况下,第一关联插件对应的升级包被安装于从服务器上,则处理器1002还用于在对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从从服务器上的关联插件本地仓库中同步到主控服务器100上的关联插件总仓库中,然后再根据第一关联插件对应的升级包对第一关联插件进行升级。
进一步可选的,存储器1001的一部分还可以作为主控服务器100上的关联插件回收总仓库,用于存储删除后的关联插件。基于此,处理器1002还用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从主控服务器100上的关联插件总仓库移除到主控服务器100上的关联插件回收总仓库,并控制从服务器将所述第一关联插件从所述从服务器上的关联插件本地仓库中移除到所述从服务器上的关联插件本地回收仓库中。
可选的,处理器1002不仅可以将第一关联插件从从服务器上的关联插件本地仓库中同步到主控服务器100上的关联插件总仓库中,还可以将存在于主控服务器100上的关联插件总仓库但不存在于从服务器上的关联插件本地仓库中的第二关联插件同步到所述从服务器上的关联插件本地仓库中;并根据所述第二关联插件的描述信息和使用所述第二关联插件的第三组件的信息,将所述第二关联插件安装到所述第三组件所在的设备上。
在一可选实施方式中,所述第二组件所在的设备为从服务器。如图10所示,主控服务器100还包括:输出设备1003。输出设备1003可用于将处理器1002生成的关联插件管理指示发送给从服务器,以使从服务器将第一关联插件安装到第二组件所在的设备上。具体的,处理器1002根据所述第二组件的信息确定所述第二组件所在的设备为从服务器,根据所述第一关联插件的描述信息确定所述第一关联插件,然后通过输出设备1003将所述关联插件管理指示发送给所述从服务器。
在一可选实施方式中,存储器1001的一部分还可以作为主控服务器100上的关联插件注册表,或者存储器1001还可以存储关联插件注册表。其中所述关联插件注册表记录有第一组件提供的第一关联插件的信息,以供所述主控服务器100对所有关联插件的信息进行集中管理。
在一可选实施方式中,如图10所示,主控服务器100还包括:输入设备1004。基于此,处理器1001获取第一组件提供的第一关联插件的信息:处理器100具体用于通过输出设备1003向所述从服务器发送查询请求,以使所述从服务器查询所述从服务器上的关联插件注册表,从中获取并返回所述第一组件提供的第一关联插件的信息。处理器1001通过输入设备1004获取从服务器返回的所述第一组件提供的第一关联插件的信息。其中所述第一组件提供的第一关联插件的信息是从服务器查询所述从服务器上的关联插件注册表,从中获取并返回的。
在一可选实施方式中,第一组件属于待安装的组件,且需要安装于主控服务器100上。基于此,处理器1002还可用于通过从服务器获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于主控服务器100上。
进一步,主控服务器100上的关联插件注册表还可记录第一组件的信息,以供主控服务器100对所有组件的信息进行集中管理。
本实施例提供的主控服务器,通过从服务器获取第一组件提供的第一关联插件的描述信息和使用该关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例提供的主控服务器基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
进一步,本实施例提供的主控服务器实现了对关联插件的自动管理,例如自动安装、升级和删除等,降低了关联插件的部署复杂、易出错等问题。
图11为本发明实施例提供的一种关联插件代理端设备的结构示意图。如图11所示,所述设备包括:获取模块1101和提供模块1102。
获取模块1101,用于获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
提供模块1102,与获取模块1101连接,用于向关联插件管理服务端设备提供所述第一关联插件的信息,以供所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
在此说明,第二组件所在的设备可以是关联插件管理服务端设备,或者可以是关联插件代理端设备,或者还可以是不同于关联插件管理服务端设备和关联插件代理端设备的另一设备。本发明实施例重点关于第二组件所在设备是关联插件管理服务端设备或关联插件代理端设备的情况。
在一可选实施方式中,如图12所示,所述关联插件代理端设备还包括:第一存储模块1103。
第一存储模块1103可以用于作为所述关联插件代理端设备上的关联插件本地仓库,用于存储所述第一关联插件。可选的,第一存储模块1103与获取模块1101连接,用于在获取模块1101获取到第一关联插件的信息之后,存储第一关联插件。
在一可选实施方式中,如图12所示,所述关联插件代理端设备还包括:接收模块1104和第一安装模块1105。
接收模块1104,用于接收所述关联插件管理服务端设备发送的关联插件管理指示,所述关联插件管理指示是所述关联插件管理服务端设备在确定所述第二组件所在的设备为所述关联插件代理端设备并根据所述第一关联插件的描述信息确定所述第一关联插件后发送的,用于指示所述关联插件代理端设备将所述第一关联插件安装在所述关联插件代理端设备上。
第一安装模块1105,与接收模块1104连接,用于根据接收模块1104接收的所述关联插件管理指示的指示,确定第一关联插件,将所述确定的第一关联插件安装到所述关联插件代理端设备上。其中,第一安装模块1105与第一存储模块1103连接,用于从第一存储模块1103中获取第一关联插件。
可选的,第一存储模块1103还可用于存储第一关联插件的升级包,以供关联插件管理服务端设备在需要对所述第二组件所在设备上的所述第一关联插件进行升级时根据存储的第一关联插件对应的升级包对所述第一关联插件进行升级。具体的,关联插件管理服务端设备在需要对所述第二组件所在设备上的所述第一关联插件进行升级时,从第一存储模块1103中获取第一关联插件的升级包,然后根据所述第一关联插件的升级包对所述第一关联插件进行升级。
在一可选实施方式中,如图12所示,所述关联插件代理端设备还包括:移除模块1106和第二存储模块1107。
移除模块1106,用于在所述第一关联插件被从所述第二组件所在设备上删除后,在所述关联插件管理服务端设备的控制下,将所述第一关联插件从所述第一存储模块1103中移除到所述关联插件代理端设备上的第二存储模块1107中。
第二存储模块1107可用于作为所述关联插件代理端设备上的关联插件本地回收仓库,用于存储从第一存储模块1103中移除的所述第一关联插件。
在一可选实施方式中,第一组件是待安装的组件,且需要安装在关联插件管理服务端设备上。基于此,获取模块1101还用于获取所述第一组件的信息。相应的,提供模块1102还用于向所述关联插件管理服务端设备提供所述第一组件的信息,以供所述关联插件管理服务端设备根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
在一可选实施方式中,第一组件是待安装的组件,且需要安装在所述关联插件代理端设备上。基于此,获取模块1101还用于获取所述第一组件的信息。如图12所示,所述设备还包括:第二安装模块1108。第二安装模块1108,用于根据获取模块1101获取的第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
本实施例提供的关联插件代理端设备的各功能模块可用于执行图2所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的关联插件代理端设备,与上述实施例提供的关联插件管理服务端设备相配合,通过向关联插件管理服务端设备提供第一组件提供的第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,使得关联插件管理服务端设备可以根据该第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,将该第一关联插件安装到第二组件所在的设备上,将关联插件的安装过程与使用关联插件的组件的安装过程独立开,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图13为本发明实施例提供的一种从服务器的结构示意图。所述从服务器与主控服务器具有通信连接,所述从服务器和所述主控服务器上分别部署有至少一个组件,其中,部署于所述从服务器和所述主控服务器上的所有组件中包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。在此说明,这里部署于所述从服务器和所述主控服务器上的所有组件中包括第一组件和第二组件,包括以下几种情况:第一组件部署于主控服务器上,第二组件部署于从服务器上;或者第一组件部署于从服务器上,第二组件部署于主控服务器上;或者第一组件和第二组件均部署于主控服务器上;或者第一组件和第二组件均部署于从服务器上。为便于图示,图13中以第一组件和第二组件分别位于主控服务器和从服务器上为例,并且将除第一组件和第二组件之外的组件图示为其它组件,将第一关联插件之外的关联插件图示为其它关联插件。如图13所示,所述从服务器还包括:关联插件代理端,其中所述关联插件代理端可以是图11或图12所示实施例提供的关联插件代理端设备。关于关联插件代理端设备的实现结构和工作原理不再赘述,具体可参见前述实施例的描述。
本实施例提供的从服务器,与上述实施例提供的主控服务器相配合,通过向主控服务器提供第一组件提供的第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,使得主控服务器可以根据该第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,将该第一关联插件安装到第二组件所在的设备上,将关联插件的安装过程与使用关联插件的组件的安装过程独立开,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图14为本发明实施例提供的另一种从服务器的结构示意图。所述从服务器与主控服务器具有通信连接,所述从服务器和所述主控服务器上分别部署有至少一个组件,其中,部署于所述从服务器和所述主控服务器上的所有组件中包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。在此说明,部署于所述从服务器和所述主控服务器上的所有组件中包括第一组件和第二组件,包括以下几种情况:第一组件部署于主控服务器上,第二组件部署于从服务器上;或者第一组件部署于从服务器上,第二组件部署于主控服务器上;或者第一组件和第二组件均部署于主控服务器上;或者第一组件和第二组件均部署于从服务器上。如图14所示,从服务器140还包括:存储器1401、处理器1402和输出设备1403。
存储器1401可以包括只读存储器和随机存取存储器,并向处理器1402提供指令和数据。存储器1401的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器1401存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作***:包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器1402通过调用存储器1401存储的操作指令(该操作指令可存储在操作***中),执行如下操作:
获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
输出设备1403,用于将处理器1402获取的第一关联插件的信息提供给主控服务器,以供主控服务器根据第二组件的信息和第一关联插件的描述信息将第一关联插件安装到第二组件所在的设备上。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
在此说明,第二组件所在的设备可以是主控服务器,或者可以是从服务器140,或者还可以是不同于主控服务器和从服务器140的另一设备。本发明实施例重点关于第二组件所在设备是主控服务器或从服务器140的情况。
在本实施例中,处理器1402获取第一组件提供的第一关联插件的信息,并通过输出设备1403提供给主控服务器,使得主控服务器可以根据该第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,将该第一关联插件安装到第二组件所在的设备上,将关联插件的安装过程与使用关联插件的组件的安装过程独立开,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
处理器1402还可以称为CPU。存储器1401可以包括只读存储器和随机存取存储器,并向处理器1402提供指令和数据。存储器1401的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,从服务器140的各个组件通过总线***1405耦合在一起,其中总线***1405除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***1405。
上述图2或图3或图5所示实施例揭示的方法可以应用于处理器1402中,或者由处理器1402实现。处理器1402可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1402可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明图2或图3或图5所示实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1401,处理器1402读取存储器1401中的信息,结合其硬件完成上述方法的步骤。
可选的,存储器1401的一部分可以用于作为从服务器140上的关联插件本地仓库,用于存储所述第一关联插件。
在一可选实施方式中,如图14所示,从服务器140还包括:输入设备1404。
输入设备1404,用于接收主控服务器发送的关联插件管理指示,所述关联插件管理指示是所述主控服务器在确定所述第二组件所在的设备为从服务器140并根据所述第一关联插件的描述信息确定所述第一关联插件后发送的,用于指示从服务器140将所述第一关联插件安装在从服务器140上。
处理器1402还用于根据输入设备1404接收的所述关联插件管理指示的指示,确定所述第二组件所在的设备,确定第一关联插件,将所述确定的第一关联插件安装到从服务器140上。
可选的,存储器1401中作为从服务器上的关联插件本地仓库的部分,还可以存储第一关联插件的升级包,以供主控服务器在需要对第二组件所在设备上的第一关联插件进行升级时根据存储的第一关联插件对应的升级包对所述第一关联插件进行升级。具体的,主控服务器在需要对所述第二组件所在设备上的所述第一关联插件进行升级时,从存储器1401中获取第一关联插件的升级包,然后根据所述第一关联插件的升级包对所述第一关联插件进行升级。
可选的,存储器1401的一部分还可以用于作为从服务器140上的关联插件本地回收仓库,用于存储删除的关联插件。基于此,处理器1402还可以在所述第一关联插件被从所述第二组件所在设备上删除后,在主控服务器的控制下,将所述第一关联插件从存储器1401中作为关联插件本地仓库的部分,移除到存储器1401中作为关联插件本地回收仓库的部分中。
在一可选实施方式中,第一组件是待安装的组件,且需要安装在主控服务器上。基于此,处理器1402还用于获取所述第一组件的信息,并通过输出设备1403向所述主控服务器提供所述第一组件的信息,以供所述主控服务器根据所述第一组件的信息,将所述第一组件安装于所述主控服务器上。
在一可选实施方式中,第一组件是待安装的组件,且需要安装在从服务器140上。基于此,处理器1402还用于获取所述第一组件的信息,并根据获取的第一组件的信息,将所述第一组件安装于从服务器140上。
本实施例提供的从服务器,与上述实施例提供的主控服务器相配合,通过向主控服务器提供第一组件提供的第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,使得主控服务器可以根据该第一关联插件的描述信息和使用该第一关联插件的第二组件的信息,将该第一关联插件安装到第二组件所在的设备上,将关联插件的安装过程与使用关联插件的组件的安装过程独立开,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图15为本发明实施例提供的一种关联插件管理设备的结构示意图。如图15所示,所述设备包括:获取模块1501和安装模块1502。
获取模块1501,用于通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息。
安装模块1502,与获取模块1501连接,用于根据获取模块1501获取的所述第二组件的信息确定所述第二组件完成安装后,根据获取模块1501获取的所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件安装于同一设备上。
在此说明,本实施例的关联插件管理设备即为第一组件和第二组件所在的设备,也就是说第一组件和第二组件均安装于所述关联插件管理设备上。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,但最终需要安装于所述关联插件管理设备上。
在一可选实施方式中,如图16所示,所述关联插件管理设备还包括:第三存储模块1503和第四存储模块1504。
第三存储模块1503可以用于作为所述关联插件管理设备上的关联插件仓库,用于存储所述第一关联插件存储,以供所述关联插件管理设备对所有关联插件进行集中管理。可选的,第三获取模块1503与获取模块1501连接,用于在获取模块1501获取第一关联插件的信息之后,存储第一关联插件。
第四存储模块1504,用于存储关联插件注册表,所述关联插件注册表中记录有所述第一组件提供的第一关联插件的信息,以供所述关联插件管理设备对所有关联插件的信息进行集中管理。其中,第四存储模块1504与获取模块1501连接。
基于上述,安装模块1502具体用于对第三存储模块1503进行轮询,当在第三存储模块1503中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
进一步可选的,如图16所示,所述关联插件管理设备还包括:变更处理模块1505。
变更处理模块1505,用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
可选的,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,变更处理模块1505还用于输出所述第一关联插件的变更信息,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。相应的,第三存储模块1503还用于存储包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息。第一存储模块1503与变更处理模块1505连接,用于存储变更处理模块1505输出的包括第一关联插件对应的升级包的第一关联插件的变更信息。
在一可选实施方式中,第一组件为待安装的组件,且需要安装于所述关联插件管理设备上。则获取模块1501还用于通过所述注册接口获取所述第一组件通过所述注册接口进行注册提供的所述第一组件的信息。相应的,安装模块1502还用于根据获取模块1501获取的第一组件的信息,将所述第一组件安装于所述第二组件所在的设备。
本实施例提供的关联插件管理设备的各功能模块可用于执行图6所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的关联插件管理设备,通过提供注册接口获取第一组件进行注册提供的第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例的关联插件管理设备基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图17为本发明实施例提供的一种服务器的结构示意图。所述服务器上部署有至少两个组件,所述至少两个组件包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。为便于图示,在图17中,将除第一组件和第二组件之外的组件图示为其它组件,将第一关联插件之外的关联插件图示为其它关联插件。如图17所示,所述服务器还包括:关联插件管理端,其中所述关联插件管理端可以是图15或图16所示实施例提供的关联插件管理设备。关于关联插件管理设备的实现结构和工作原理可参见前述实施例的描述,在此不再赘述。
本实施例提供的服务器,通过提供注册接口获取第一组件进行注册提供的第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例的服务器基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图18为本发明实施例提供的另一种服务器的结构示意图。所述服务器上部署有至少两个组件,所述至少两个组件包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。如图18所示,服务器180还包括:存储器1801和处理器1802。
存储器1801可以包括只读存储器和随机存取存储器,并向处理器1802提供指令和数据。存储器1801的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器1801存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作***:包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器1802通过调用存储器1801存储的操作指令(该操作指令可存储在操作***中),执行如下操作:
通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件安装于同一设备上。
在此说明,本实施例的服务器180即为第一组件和第二组件所在的设备,也就是说第一组件和第二组件均安装于服务器180上。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,但最终需要安装于服务器180上,对此不做限定。
在本实施例中,通过提供注册接口,处理器1802通过该注册接口获取第一组件进行注册提供的第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
处理器1802还可以称为CPU。存储器1801可以包括只读存储器和随机存取存储器,并向处理器1802提供指令和数据。存储器1801的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,服务器180的各个组件通过总线***1805耦合在一起,其中总线***1805除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***1805。
上述图6所示实施例揭示的方法可以应用于处理器1802中,或者由处理器1802实现。处理器1802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1802可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明图6所示实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1801,处理器1802读取存储器1801中的信息,结合其硬件完成上述方法的步骤。
可选的,存储器1801的一部分可以作为服务器180上的关联插件仓库,用于存储所述第一关联插件存储,以供服务器180对所有关联插件进行集中管理。
可选的,存储器1801还可以存储关联插件注册表,所述关联插件注册表中记录有第一组件提供的第一关联插件的信息,以供服务器180对所有关联插件的信息进行集中管理。
可选的,处理器1802根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上包括:处理器1802具体用于对存储器1801中作为关联插件仓库的部分进行轮询,当在存储器1801中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
可选的,处理器1802还用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
可选的,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,处理器1802还用于输出所述第一关联插件的变更信息,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。相应的,存储器1801中作为关联插件仓库的部分,还用于存储包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息。
进一步,如图18所示,服务器180还包括输出设备1803和输入设备1804,负责完成服务器180与其他设备之间的通信。
在一可选实施方式中,第一组件为待安装的组件,且需要安装于服务器180上。则处理器1802还用于通过所述注册接口获取所述第一组件通过所述注册接口进行注册提供的所述第一组件的信息,并根据获取的第一组件的信息,将所述第一组件安装于服务器180(即所述第二组件所在的设备)上。
本实施例提供的服务器,通过提供注册接口获取第一组件进行注册提供的第一组件提供的第一关联插件的描述信息和使用第一关联插件的第二组件的信息,从而确定第一关联插件和使用该第一关联插件的第二组件,然后基于第二组件的信息和第一关联插件的描述信息,将第一关联插件安装于第二组件所在的设备上。本实施例的服务器基于获取关联插件的描述信息和使用该关联插件的组件的信息,使得关联插件的安装过程可以独立于使用该关联插件的组件的安装过程,实现了对关联插件统一、自动化的安装,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图19为本发明实施例提供的一种关联插件管理***的结构示意图。如图19所示,所述***包括关联插件管理服务端设备1901和至少一个关联插件代理端设备1902。
其中,关联插件管理服务端设备1901,用于通过关联插件代理端设备1902获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
关联插件代理端设备1902,用于获取所述第一组件提供的第一关联插件的信息,并向关联插件管理服务端设备1901提供所述第一组件提供的第一关联插件的信息。
在此说明,本实施例涉及的第一组件可以是待安装的组件,也可以是已经安装的组件,或者还可以是暂且不需要安装的组件,对此不做限定。
在此说明,第二组件所在的设备可以是关联插件管理服务端设备1901,或者可以是关联插件代理端设备1902,或者还可以是不同于关联插件管理服务端设备1901和关联插件代理端设备1902的另一设备。本发明实施例重点关于第二组件所在设备是关联插件管理服务端设备1901或关联插件代理端设备1902的情况。
在一可选实施方式中,关联插件代理端设备1902,还用于将所述第一关联插件存储在关联插件代理端设备1902上的关联插件本地仓库中;
关联插件管理服务端设备1901,还用于对关联插件管理服务端设备1901上的关联插件总仓库和关联插件代理端设备1902上的关联插件本地仓库进行同步,将所述第一关联插件同步到关联插件管理服务端设备1901上的关联插件总仓库中。
在一可选实施方式中,关联插件管理服务端设备1901具体用于对关联插件管理服务端设备1901上的关联插件总仓库进行轮询,当在关联插件管理服务端设备1901上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
在一可选实施方式中,关联插件管理服务端设备1901,还用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
在一可选实施方式中,第一关联插件对应的升级包被安装于所述关联插件管理服务端设备1901上。则关联插件管理服务端设备1901可以直接根据第一关联插件对应的升级包对第一关联插件进行升级。基于此,关联插件管理服务端设备1901,还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到关联插件管理服务端设备1901上的关联插件总仓库中。
在一可选实施方式中,第一关联插件对应的升级包被安装于关联插件代理端设备上。关联插件代理端设备1902,还用于在关联插件管理服务端设备1901对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包存储到关联插件代理端设备1902上的关联插件本地仓库中;相应的,关联插件管理服务端设备1901,还用于在对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从关联插件代理端设备1902上的关联插件本地仓库中同步到关联插件管理服务端设备1901上的关联插件总仓库中。
在一可选实施方式中,关联插件管理服务端设备1901,还用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从关联插件管理服务端设备1901上的关联插件总仓库移除到关联插件管理服务端设备1901上的关联插件回收总仓库,并控制关联插件代理端设备1902将所述第一关联插件从关联插件代理端设备1902上的关联插件本地仓库中移除到关联插件代理端设备1902上的关联插件本地回收仓库中。
在一可选实施方式中,关联插件代理端设备1902,还用于获取所述第一组件的信息,并将所述第一组件的信息提供给所述关联插件代理端设备1901。相应的,关联插件代理端设备1901,还用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
在一可选实施方式中,关联插件代理端设备1902,还用于获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于关联插件代理端设备1902上。
在此说明,本实施例中的关联插件管理服务端设备1901可以是图7或图8所示实施例的关联插件管理服务端设备,其具体实现结构可参见图7或图8所示,在此不再详细赘述。本实施例中的关联插件代理端设备1902可以是图11或图12所示实施例的关联插件代理端设备,其具体实现结构可参见图11或图12所示,在此不再详细赘述。
在此说明,本实施例提供的关联插件管理***可以是对同一应用***中分布部署的组件之间的关联插件进行管理,也可以是对不同应用***中分布部署的组件之间的关联插件进行管理。所述应用***可以是告警***、网络拓扑***或安全子***等。
本实施例提供的关联插件管理***,通过关联插件管理服务端设备和关联插件代理端设备实现对关联插件统一、自动化的管理和分发,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图20为本发明实施例提供的一种分布式***的结构示意图。如图20所示,所述***包括:主控服务器2001和至少一个从服务器2002,主控服务器2001和从服务器2002上分别部署有至少一个组件,部署于主控服务器2001和从服务器2002上的所有组件中包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。在此说明,部署于主控服务器2001和从服务器2002上的所有组件中包括第一组件和第二组件,包括以下几种情况:第一组件部署于主控服务器2001上,第二组件部署于从服务器2002上;或者第一组件部署于从服务器2002上,第二组件部署于主控服务器2001上;或者第一组件和第二组件均部署于主控服务器2001上;或者第一组件和第二组件均部署于从服务器2002上。其中:
主控服务器2001还包括关联插件管理服务端;其中所述关联插件管理服务端可以是图7或图8所示实施例提供的关联插件管理服务端设备。关于关联插件管理服务端设备的实现结构和工作原理不再赘述,具体可参见前述实施例的描述。
从服务器2002还包括:关联插件代理端,其中所述关联插件代理端可以是图11或图12所示实施例提供的关联插件代理端设备。关于关联插件代理端设备的实现结构和工作原理不再赘述,具体可参见前述实施例的描述。
在此说明,本实施例提供的分布式***可以由同一应用***中分布部署的组件构成,也可以由不同应用***中分布部署的组件构成。所述应用***可以是告警***、网络拓扑***或安全子***等。
本实施例提供的分布式***,通过关联插件管理服务端和关联插件代理端实现对关联插件统一、自动化的管理和分发,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
图21为本发明实施例提供的另一种分布式***的结构示意图。如图21所示,所述***包括:主控服务器2101和至少一个从服务器2102,主控服务器2101和从服务器2102上分别部署有至少一个组件,部署于主控服务器2101和从服务器2102上的所有组件中包括第一组件和第二组件,所述第一组件和第二组件之间存在第一关联插件。在此说明,部署于主控服务器2101和从服务器2102上的所有组件中包括第一组件和第二组件,包括以下几种情况:第一组件部署于主控服务器2101上,第二组件部署于从服务器2102上;或者第一组件部署于从服务器2102上,第二组件部署于主控服务器2101上;或者第一组件和第二组件均部署于主控服务器2101上;或者第一组件和第二组件均部署于从服务器2102上。其中:
主控服务器2101可以是图10所示实施例提供的主控服务器。关于主控服务器2101的实现结构和工作原理不再赘述,具体可参见前述实施例的描述。
从服务器2102可以是图14所示实施例提供的从服务器。关于从服务器2102的实现结构和工作原理不再赘述,具体可参见前述实施例的描述。
在此说明,本实施例提供的分布式***可以由同一应用***中分布部署的组件构成,也可以由不同应用***中分布部署的组件构成。所述应用***可以是告警***、网络拓扑***或安全子***等。
本实施例提供的分布式***,通过主控服务器和从服务器实现对关联插件统一、自动化的管理和分发,使得与关联插件相关的组件之间的部署不再相互依赖,实现与关联插件相关的组件部署时的解耦。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(如处理器)来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (66)
1.一种关联插件管理方法,其特征在于,包括:
关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
所述关联插件管理服务端设备根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
2.根据权利要求1所述的方法,其特征在于,所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中;
所述方法还包括:
所述关联插件管理服务端设备对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
3.根据权利要求2所述的方法,其特征在于,所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:
所述关联插件管理服务端设备对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述第一关联插件发生变化时,所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
5.根据权利要求4所述的方法,其特征在于,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述关联插件管理服务端设备在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述关联插件管理服务端设备在对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中。
8.根据权利要求4所述的方法,其特征在于,如果对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除,则在将所述第一关联插件从所述第二组件所在设备上删除后,所述方法还包括:
所述关联插件管理服务端设备将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
9.根据权利要求2-8任一项所述的方法,其特征在于,还包括:
所述关联插件管理服务端设备将存在于所述关联插件管理服务端设备上的关联插件总仓库但不存在于所述关联插件代理端设备上的关联插件本地仓库中的第二关联插件同步到所述关联插件代理端设备上的关联插件本地仓库中;
所述关联插件管理服务端设备根据所述第二关联插件的描述信息和使用所述第二关联插件的第三组件的信息,将所述第二关联插件安装到所述第三组件所在的设备上。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述第二组件所在的设备为所述关联插件代理端设备;
所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:
所述关联插件管理服务端设备根据所述第二组件的信息确定所述第二组件所在的设备为所述关联插件代理端设备,根据所述第一关联插件的描述信息确定所述第一关联插件,向所述关联插件代理端设备发送关联插件管理指示,以指示所述关联插件代理端设备将所述第一关联插件安装到所述关联插件代理端设备上。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息之后,所述方法还包括:
所述关联插件管理服务端设备将所述第一关联插件的信息存储到所述关联插件管理服务端设备上的关联插件注册表中,以对所有关联插件的信息进行集中管理。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述关联插件管理服务端设备通过关联插件代理端设备获取第一组件提供的第一关联插件的信息,包括:
所述关联插件管理服务端设备向所述关联插件代理端设备发送查询请求,以使所述关联插件代理端设备查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回所述第一组件提供的第一关联插件的信息;
所述关联插件管理服务端设备接收所述关联插件代理端设备返回的所述第一组件提供的第一关联插件的信息。
13.根据权利要求1-12任一项所述的方法,其特征在于,还包括:
所述关联插件管理服务端设备通过所述关联插件代理端设备获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
14.一种关联插件管理方法,其特征在于,包括:
关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
所述关联插件代理端设备向关联插件管理服务端设备提供所述第一关联插件的信息,以供所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
15.根据权利要求14所述的方法,其特征在于,还包括:
所述关联插件代理端设备将所述第一关联插件存储到所述关联插件代理端设备上的关联插件本地仓库中。
16.根据权利要求14或15所述的方法,其特征在于,还包括:
所述关联插件代理端设备接收所述关联插件管理服务端设备发送的关联插件管理指示,所述关联插件管理指示是所述关联插件管理服务端设备在确定所述第二组件所在的设备为所述关联插件代理端设备并根据所述第一关联插件的描述信息确定所述第一关联插件后发送的,用于指示所述关联插件代理端设备将所述第一关联插件安装在所述关联插件代理端设备上;
所述关联插件代理端设备根据所述关联插件管理指示的指示,确定所述第一关联插件,将所述确定的第一关联插件安装到所述关联插件代理端设备上。
17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:
当需要对所述第二组件所在设备上的所述第一关联插件进行升级时,所述关联插件代理端设备将所述第一关联插件的升级包存储到所述关联插件代理端设备上的关联插件本地仓库中,以供所述关联插件管理服务端设备在将所述第一关联插件的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库后对所述第一关联插件进行升级。
18.根据权利要求15或16所述的方法,其特征在于,当所述第一关联插件被从所述第二组件所在设备上删除后,所述方法还包括:
所述关联插件代理端设备在所述关联插件管理服务端设备的控制下,将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
19.根据权利要求14-18任一项所述的方法,其特征在于,还包括:
所述关联插件代理端设备获取所述第一组件的信息,并向所述关联插件管理服务端设备提供所述第一组件的信息,以供所述关联插件管理服务端设备根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
20.根据权利要求14-18任一项所述的方法,其特征在于,还包括:
所述关联插件代理端设备获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
21.一种关联插件管理方法,其特征在于,包括:
通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件被安装于同一设备上。
22.根据权利要求21所述的方法,其特征在于,还包括:
将所述第一关联插件存储到关联插件仓库中,以对所有关联插件进行集中管理;
将所述第一关联插件的信息存储到关联插件注册表中,以对所有关联插件的信息进行集中管理。
23.根据权利要求22所述的方法,其特征在于,所述根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上,包括:
对所述关联插件仓库进行轮询,当在所述关联插件仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
24.根据权利要求23所述的方法,其特征在于,还包括:
当所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
25.根据权利要求24所述的方法,其特征在于,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包;
所述方法还包括:
在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件仓库中。
26.根据权利要求21-25任一项所述的方法,其特征在于,还包括:
通过所述注册接口获取所述第一组件通过所述注册接口进行注册提供的所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述第二组件所在的设备。
27.一种关联插件管理服务端设备,其特征在于,包括:
获取模块,用于通过关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
安装模块,用于根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
28.根据权利要求27所述的设备,其特征在于,还包括:
同步模块,用于在所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中时,对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
29.根据权利要求28所述的设备,其特征在于,所述安装模块具体用于对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
30.根据权利要求29所述的设备,其特征在于,还包括:
变更处理模块,用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
31.根据权利要求30所述的设备,其特征在于,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述变更处理模块还用于输出所述第一关联插件的变更信息,其中所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
32.根据权利要求31所述的设备,其特征在于,所述变更处理模块还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
33.根据权利要求31所述的设备,其特征在于,所述同步模块还用于在所述变更处理模块对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中。
34.根据权利要求30所述的设备,其特征在于,还包括:
移除模块,用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在所述变更处理模块将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
35.根据权利要求28-34任一项所述的设备,其特征在于,所述同步模块还用于将存在于所述关联插件管理服务端设备上的关联插件总仓库但不存在于所述关联插件代理端设备上的关联插件本地仓库中的第二关联插件同步到所述关联插件代理端设备上的关联插件本地仓库中;
所述安装模块还用于根据所述第二关联插件的描述信息和使用所述第二关联插件的第三组件的信息,将所述第二关联插件安装到所述第三组件所在的设备上。
36.根据权利要求27-35任一项所述的设备,其特征在于,所述第二组件所在的设备为所述关联插件代理端设备;
所述安装模块具体用于根据所述第二组件的信息确定所述第二组件所在的设备为所述关联插件代理端设备,根据所述第一关联插件的描述信息确定所述第一关联插件,向所述关联插件代理端设备发送关联插件管理指示,以指示所述关联插件代理端设备将所述第一关联插件安装到所述关联插件代理端设备上。
37.根据权利要求27-36任一项所述的设备,其特征在于,还包括:
存储模块,用于存储关联插件注册表,其中所述关联插件注册表记录有所述第一关联插件的信息,以供所述关联插件管理服务端设备对所有关联插件的信息进行集中管理。
38.根据权利要求27-37任一项所述的设备,其特征在于,所述获取模块具体用于向所述关联插件代理端设备发送查询请求,并接收所述关联插件代理端设备响应于所述查询请求而返回的所述第一组件提供的第一关联插件的信息,其中所述第一组件提供的第一关联插件的信息是所述关联插件代理端设备查询所述关联插件代理端设备上的关联插件注册表,从中获取并返回的。
39.根据权利要求27-38任一项所述的设备,其特征在于,所述获取模块还用于通过所述关联插件代理端设备获取所述第一组件的信息;
所述安装模块还用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
40.一种关联插件代理端设备,其特征在于,包括:
获取模块,用于获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
提供模块,用于向关联插件管理服务端设备提供所述第一关联插件的信息,以供所述关联插件管理服务端设备根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
41.根据权利要求40所述的设备,其特征在于,还包括:
第一存储模块,用于存储所述第一关联插件,其中所述第一存储模块用于作为所述关联插件代理端设备的关联插件本地仓库。
42.根据权利要求40或41所述的设备,其特征在于,还包括:
接收模块,用于接收所述关联插件管理服务端设备发送的关联插件管理指示,所述关联插件管理指示是所述关联插件管理服务端设备在确定所述第二组件所在的设备为所述关联插件代理端设备并根据所述第一关联插件的描述信息确定所述第一关联插件后发送的,用于指示所述关联插件代理端设备将所述第一关联插件安装在所述关联插件代理端设备上;;
第一安装模块,用于根据所述关联插件管理指示的指示,确定所述第一关联插件,将所述确定的第一关联插件安装到所述关联插件代理端设备上。
43.根据权利要求41或42所述的设备,其特征在于,所述第一存储模块还用于存储所述第一关联插件的升级包,以供所述关联插件管理服务端设备在需要对所述第二组件所在设备上的所述第一关联插件进行升级时根据存储的所述第一关联插件的升级包对所述第一关联插件进行升级。
44.根据权利要求41或42所述的设备,其特征在于,还包括:
移除模块,用于在所述第一关联插件被从所述第二组件所在设备上删除后,在所述关联插件管理服务端设备的控制下,将所述第一关联插件从所述第一存储模块中移除到所述关联插件代理端设备上的第二存储模块中;
所述第二存储模块,用于存储从所述第一存储模块中移除的所述第一关联插件,其中所述第二存储模块用于作为所述关联插件代理端设备的关联插件本地回收仓库。
45.根据权利要求40-44任一项所述的设备,其特征在于,所述获取模块还用于获取所述第一组件的信息;
所述提供模块还用于向所述关联插件管理服务端设备提供所述第一组件的信息,以供所述关联插件管理服务端设备根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
46.根据权利要求40-44任一项所述的设备,其特征在于,所述获取模块还用于获取所述第一组件的信息;
第二安装模块,用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
47.一种关联插件管理设备,其特征在于,包括:
获取模块,用于通过本地提供的注册接口获取第一组件通过所述注册接口进行注册所提供的所述第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;
安装模块,用于根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;其中,所述第一组件和所述第二组件安装于同一设备上。
48.根据权利要求47所述的设备,其特征在于,还包括:
第三存储模块,用于存储所述第一关联插件,以供所述关联插件管理设备对所有关联插件进行集中管理,其中所述第三存储模块用于作为所述关联插件管理设备的关联插件仓库;
第四存储模块,用于存储关联插件注册表,所述关联插件注册表中记录有所述第一组件提供的第一关联插件的信息,以供所述关联插件管理设备对所有关联插件的信息进行集中管理。
49.根据权利要求48所述的设备,其特征在于,所述安装模块具体用于对所述第三存储模块进行轮询,当在所述第三存储模块中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
50.根据权利要求49所述的设备,其特征在于,还包括:
变更处理模块,用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
51.根据权利要求50所述的设备,其特征在于,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述变更处理模块还用于输出所述第一关联插件的变更信息,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包;
所述第三存储模块还用于存储包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息。
52.根据权利要求47-51任一项所述的设备,其特征在于,所述获取模块还用于通过所述注册接口获取所述第一组件通过所述注册接口进行注册提供的所述第一组件的信息;
所述安装模块还用于根据所述第一组件的信息,将所述第一组件安装于所述第二组件所在的设备。
53.一种主控服务器,其特征在于,所述主控服务器与至少一台从服务器具有通信连接,所述主控服务器和所述从服务器上分别部署有至少一个组件,其中,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,所述第一组件和所述第二组件之间存在第一关联插件;所述主控服务器还包括:关联插件管理服务端,其中所述关联插件管理服务端为如权利要求27到39任一项所述的关联插件管理服务端设备。
54.一种从服务器,其特征在于,所述从服务器与主控服务器具有通信连接,所述从服务器和所述主控服务器上分别部署有至少一个组件,其中,部署于所述从服务器和所述主控服务器上的所有组件中包括第一组件和第二组件,所述第一组件和所述第二组件之间存在第一关联插件;所述从服务器还包括:关联插件代理端,其中所述关联插件代理端为如权利要求40到46任一项所述的关联插件代理端设备。
55.一种服务器,其特征在于,所述服务器上部署有至少两个组件,所述至少两个组件包括第一组件和第二组件,其中所述第一组件和所述第二组件之间存在第一关联插件;所述服务器还包括:关联插件管理端,其中所述关联插件管理端为如权利要求47到52任一项所述的关联插件管理设备。
56.一种关联插件管理***,其特征在于,包括:关联插件管理服务端设备和至少一个关联插件代理端设备;
所述关联插件管理服务端设备,用于通过所述关联插件代理端设备获取第一组件提供的第一关联插件的信息;所述第一关联插件的信息包括所述第一关联插件的描述信息和使用所述第一关联插件的第二组件的信息;根据所述第二组件的信息确定所述第二组件完成安装后,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上;
所述关联插件代理端设备,用于获取所述第一组件提供的第一关联插件的信息,并向所述关联插件管理服务端设备提供所述第一关联插件的信息。
57.根据权利要求56所述的***,其特征在于,所述关联插件代理端设备,还用于将所述第一关联插件存储在所述关联插件代理端设备上的关联插件本地仓库中;
所述关联插件管理服务端设备,还用于对所述关联插件管理服务端设备上的关联插件总仓库和所述关联插件代理端设备上的关联插件本地仓库进行同步,将所述第一关联插件同步到所述关联插件管理服务端设备上的关联插件总仓库中。
58.根据权利要求57所述的***,其特征在于,所述关联插件管理服务端设备具体用于对所述关联插件管理服务端设备上的关联插件总仓库进行轮询,当在所述关联插件管理服务端设备上的关联插件总仓库中发现新增所述第一关联插件时,根据所述第二组件的信息和所述第一关联插件的描述信息将所述第一关联插件安装到所述第二组件所在的设备上。
59.根据权利要求58所述的***,其特征在于,所述关联插件管理服务端设备,还用于在所述第一关联插件发生变化时,根据所述第二组件的信息和所述第一关联插件的变更信息完成对所述第一关联插件的变更处理;其中,对所述第一关联插件的变更处理包括对所述第二组件所在设备上的所述第一关联插件进行升级或者将所述第二组件所在设备上的第一关联插件删除。
60.根据权利要求59所述的***,其特征在于,如果对所述第一关联插件的变更处理为对所述第二组件所在设备上的所述第一关联插件进行升级,所述第一关联插件的变更信息包括所述第一关联插件对应的升级包。
61.根据权利要求60所述的***,其特征在于,所述关联插件管理服务端设备,还用于在对所述第一关联插件进行升级之后,将包括所述第一关联插件对应的升级包的所述第一关联插件的变更信息存储到所述关联插件管理服务端设备上的关联插件总仓库中。
62.根据权利要求60所述的***,其特征在于,所述关联插件代理端设备,还用于在所述关联插件管理服务端设备对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包存储到所述关联插件代理端设备上的关联插件本地仓库中;
所述关联插件管理服务端设备,还用于在对所述第一关联插件进行升级之前,将所述第一关联插件对应的升级包从所述关联插件代理端设备上的关联插件本地仓库中同步到所述关联插件管理服务端设备上的关联插件总仓库中。
63.根据权利要求59所述的***,其特征在于,所述关联插件管理服务端设备,还用于在对所述第一关联插件的变更处理为将所述第二组件所在设备上的所述第一关联插件删除时,在将所述第一关联插件从所述第二组件所在的设备上删除后,将所述第一关联插件从所述关联插件管理服务端设备上的关联插件总仓库移除到所述关联插件管理服务端设备上的关联插件回收总仓库,并控制所述关联插件代理端设备将所述第一关联插件从所述关联插件代理端设备上的关联插件本地仓库中移除到所述关联插件代理端设备上的关联插件本地回收仓库中。
64.根据权利要求56-63任一项所述的***,其特征在于,
所述关联插件代理端设备,还用于获取所述第一组件的信息,并将所述第一组件的信息提供给所述关联插件代理端设备;
所述关联插件代理端设备,还用于根据所述第一组件的信息,将所述第一组件安装于所述关联插件管理服务端设备上。
65.根据权利要求56-63任一项所述的***,其特征在于,
所述关联插件代理端设备,还用于获取所述第一组件的信息,并根据所述第一组件的信息,将所述第一组件安装于所述关联插件代理端设备上。
66.一种分布式***,其特征在于,包括:主控服务器和至少一台从服务器,所述主控服务器和所述从服务器上分别部署有至少一个组件,部署于所述主控服务器和所述从服务器上的所有组件中包括第一组件和第二组件,所述第一组件和所述第二组件之间存在第一关联插件;其中:
所述主控服务器还包括关联插件管理服务端;其中所述关联插件管理服务端为如权利要求27到39任一项所述的关联插件管理服务端设备;
所述从服务器还包括:关联插件代理端,其中所述关联插件代理端为如权利要求40到46任一项所述的关联插件代理端设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/080571 WO2015013936A1 (zh) | 2013-07-31 | 2013-07-31 | 关联插件管理方法、设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103649915A true CN103649915A (zh) | 2014-03-19 |
CN103649915B CN103649915B (zh) | 2016-11-02 |
Family
ID=50253406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380001360.7A Active CN103649915B (zh) | 2013-07-31 | 2013-07-31 | 关联插件管理方法、设备及*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US9195480B2 (zh) |
EP (1) | EP2854028A4 (zh) |
JP (1) | JP6217034B2 (zh) |
CN (1) | CN103649915B (zh) |
WO (1) | WO2015013936A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932887A (zh) * | 2015-06-12 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 一种平台***的插件管理方法和平台*** |
CN108681491A (zh) * | 2018-05-04 | 2018-10-19 | 武汉极意网络科技有限公司 | 一种文件解耦方法及*** |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309700B (zh) * | 2012-03-16 | 2016-05-18 | 腾讯科技(深圳)有限公司 | 一种插件管理控制方法及装置 |
US10257017B2 (en) | 2014-06-03 | 2019-04-09 | JumpCloud, Inc. | Autonomous server agents |
US10180830B2 (en) * | 2014-06-17 | 2019-01-15 | Nec Corporation | Information processing device, deployment method, and recording medium |
US9836315B1 (en) * | 2014-06-25 | 2017-12-05 | Amazon Technologies, Inc. | De-referenced package execution |
US11507663B2 (en) | 2014-08-11 | 2022-11-22 | Sentinel Labs Israel Ltd. | Method of remediating operations performed by a program and system thereof |
US9710648B2 (en) | 2014-08-11 | 2017-07-18 | Sentinel Labs Israel Ltd. | Method of malware detection and system thereof |
CN105335187B (zh) * | 2014-08-14 | 2019-12-13 | 阿里巴巴集团控股有限公司 | 一种应用的处理方法及装置 |
CN105991687B (zh) * | 2015-02-03 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种服务管理方法和装置 |
CN105119790B (zh) * | 2015-09-09 | 2019-02-19 | 小米科技有限责任公司 | 设备控制方法及装置 |
CN110036619B (zh) * | 2016-12-27 | 2022-08-09 | 英特尔公司 | 用于iot协议标识和管理的方法和装置 |
WO2019032728A1 (en) | 2017-08-08 | 2019-02-14 | Sentinel Labs, Inc. | METHODS, SYSTEMS AND DEVICES FOR DYNAMICALLY MODELING AND REGROUPING END POINTS FOR ONBOARD NETWORKING |
EP3973427A4 (en) | 2019-05-20 | 2023-06-21 | Sentinel Labs Israel Ltd. | SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION |
US11321101B2 (en) * | 2019-07-10 | 2022-05-03 | Vmware, Inc. | Deployment and isolation of plugins in a virtualized computing environment |
CN112433776B (zh) * | 2020-10-16 | 2022-06-28 | 广东电力信息科技有限公司 | 电网业务处理*** |
US11579857B2 (en) * | 2020-12-16 | 2023-02-14 | Sentinel Labs Israel Ltd. | Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach |
CN113239328B (zh) * | 2021-05-20 | 2023-06-06 | 瀚云科技有限公司 | 一种业务功能获取方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6871345B1 (en) * | 2000-04-04 | 2005-03-22 | Motive, Inc. | Self managing software agents with introspection |
CN101387956A (zh) * | 2007-09-14 | 2009-03-18 | 国际商业机器公司 | 可扩展地实现非功能逻辑的方法和设备及其*** |
US20100312879A1 (en) * | 2009-06-09 | 2010-12-09 | International Business Machines Corporation | Plug-in provisioning integration in a clustered environment |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理***和方法 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757729B1 (en) * | 1996-10-07 | 2004-06-29 | International Business Machines Corporation | Virtual environment manager for network computers |
JP2000353093A (ja) * | 1999-06-11 | 2000-12-19 | Hitachi Ltd | スタブ、スケルトンの配信方法 |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
US7526775B2 (en) * | 2000-05-17 | 2009-04-28 | Aol Llc, A Delaware Limited Liability Company | Component installation tool |
US7685183B2 (en) * | 2000-09-01 | 2010-03-23 | OP40, Inc | System and method for synchronizing assets on multi-tiered networks |
US7254814B1 (en) * | 2001-09-28 | 2007-08-07 | Emc Corporation | Methods and apparatus for managing plug-in services |
US7853933B2 (en) * | 2001-09-29 | 2010-12-14 | Siebel Systems, Inc. | Computing system and method to perform compile-time extension for world wide web application |
US7146609B2 (en) * | 2002-05-17 | 2006-12-05 | Sun Microsystems, Inc. | Method, system and article of manufacture for a firmware image |
AUPS241702A0 (en) * | 2002-05-20 | 2002-06-13 | Cytek Pty Ltd | An electronic commerce portal |
US7584471B2 (en) * | 2002-09-23 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Plug-in model |
US20040125403A1 (en) * | 2002-10-16 | 2004-07-01 | Xerox Corporation. | Method and apparatus for enabling distributed subscription services, supplies maintenance, and device-independent service implementation |
US8443036B2 (en) * | 2002-11-18 | 2013-05-14 | Siebel Systems, Inc. | Exchanging project-related data in a client-server architecture |
US7412686B2 (en) * | 2003-02-10 | 2008-08-12 | Microsoft Corporation | Integrated development environment access to remotely located components |
US7069553B2 (en) * | 2003-03-03 | 2006-06-27 | Computer Associates Think, Inc. | Universal deployment tool |
US7493614B2 (en) * | 2003-03-31 | 2009-02-17 | Microsoft Corporation | System architecture and related methods for dynamically adding software components to extend functionality of system processes |
US7356562B2 (en) * | 2003-04-30 | 2008-04-08 | International Business Machines Corporation | Dynamic generator for fast-client static proxy from service interface definition document |
US7861243B2 (en) * | 2003-07-11 | 2010-12-28 | Computer Associates Think, Inc. | Automatically deploying program units to a cluster of networked servers |
US7814470B2 (en) * | 2003-08-27 | 2010-10-12 | International Business Machines Corporation | Multiple service bindings for a real time data integration service |
WO2005033935A1 (en) * | 2003-09-29 | 2005-04-14 | Siemens Corporate Research, Inc. | System and method for deployment of configuration and analysis software |
US7350201B2 (en) * | 2003-10-23 | 2008-03-25 | International Business Machines Corporation | Software distribution application supporting operating system installations |
WO2005048011A2 (en) * | 2003-11-04 | 2005-05-26 | Thomson Licensing | Cache server at hotspots for downloading services |
US7469402B2 (en) * | 2004-12-28 | 2008-12-23 | Sap Aktiengesellschaft | Pluggable model framework |
US7987444B2 (en) * | 2005-01-13 | 2011-07-26 | National Instruments Corporation | Determining and merging differences between configuration diagrams |
US8601475B2 (en) * | 2005-08-02 | 2013-12-03 | Aol Inc. | Download and upload of email messages using control commands in a client/server web application |
US7698685B2 (en) * | 2005-10-12 | 2010-04-13 | Microsoft Corporation | Discovery, qualification, and activation of software add-in components |
US8561048B2 (en) * | 2005-12-29 | 2013-10-15 | Sap Ag | Late and dynamic binding of pattern components |
US7617224B2 (en) * | 2006-01-30 | 2009-11-10 | International Business Machines Corporation | System and method for managing hierarchically related software components |
US8726267B2 (en) * | 2006-03-24 | 2014-05-13 | Red Hat, Inc. | Sharing software certification and process metadata |
CN1920775A (zh) | 2006-07-19 | 2007-02-28 | 珠海金山软件股份有限公司 | 一种软件同步更新装置和同步更新方法 |
CN100461704C (zh) | 2006-12-02 | 2009-02-11 | 华为技术有限公司 | 数据同步的方法 |
US20090044183A1 (en) * | 2007-08-09 | 2009-02-12 | Spencer Quin | Method and apparatus for updating the state of a computing device |
US8849987B2 (en) * | 2008-07-29 | 2014-09-30 | International Business Machines Corporation | Automated discovery of a topology of a distributed computing environment |
US20100125839A1 (en) * | 2008-11-20 | 2010-05-20 | Gebis Michael J | Specifying, Determining and Overriding Software Dependencies |
US20110126192A1 (en) * | 2009-10-26 | 2011-05-26 | Simon Frost | Systems and methods for providing and updating a unified client |
US8850423B2 (en) * | 2009-10-29 | 2014-09-30 | International Business Machines Corporation | Assisting server migration |
US8667605B2 (en) * | 2009-11-19 | 2014-03-04 | Adobe Systems Incorporated | Method and system for determining the eligibility for deploying protected content |
US9886253B2 (en) * | 2009-12-29 | 2018-02-06 | Oracle International Corporation | Techniques for managing functional service definitions in an SOA development lifecycle |
US20110202909A1 (en) * | 2010-02-12 | 2011-08-18 | Microsoft Corporation | Tier splitting for occasionally connected distributed applications |
US8930941B2 (en) * | 2010-05-26 | 2015-01-06 | Tibco Software Inc. | Capability model for deploying componentized applications |
US9098370B2 (en) * | 2010-11-08 | 2015-08-04 | Cbs Interactive, Inc. | Apparatus and methods for improving uninstall process |
US8930685B2 (en) * | 2011-12-13 | 2015-01-06 | International Business Machines Corporation | Deployment of a software image on multiple targets with streaming technique |
US9038053B2 (en) * | 2012-08-27 | 2015-05-19 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Non-disruptive software updates for servers processing network traffic |
-
2013
- 2013-07-31 JP JP2016530298A patent/JP6217034B2/ja active Active
- 2013-07-31 CN CN201380001360.7A patent/CN103649915B/zh active Active
- 2013-07-31 EP EP13882625.0A patent/EP2854028A4/en not_active Ceased
- 2013-07-31 WO PCT/CN2013/080571 patent/WO2015013936A1/zh active Application Filing
-
2014
- 2014-10-23 US US14/522,385 patent/US9195480B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6871345B1 (en) * | 2000-04-04 | 2005-03-22 | Motive, Inc. | Self managing software agents with introspection |
CN101387956A (zh) * | 2007-09-14 | 2009-03-18 | 国际商业机器公司 | 可扩展地实现非功能逻辑的方法和设备及其*** |
US20100312879A1 (en) * | 2009-06-09 | 2010-12-09 | International Business Machines Corporation | Plug-in provisioning integration in a clustered environment |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理***和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932887A (zh) * | 2015-06-12 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 一种平台***的插件管理方法和平台*** |
CN104932887B (zh) * | 2015-06-12 | 2018-02-02 | 北京京东尚科信息技术有限公司 | 一种平台***的插件管理方法和平台*** |
CN108681491A (zh) * | 2018-05-04 | 2018-10-19 | 武汉极意网络科技有限公司 | 一种文件解耦方法及*** |
CN108681491B (zh) * | 2018-05-04 | 2021-03-02 | 武汉极意网络科技有限公司 | 一种文件解耦方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US9195480B2 (en) | 2015-11-24 |
CN103649915B (zh) | 2016-11-02 |
JP2016528621A (ja) | 2016-09-15 |
EP2854028A4 (en) | 2015-06-24 |
EP2854028A1 (en) | 2015-04-01 |
WO2015013936A1 (zh) | 2015-02-05 |
US20150052509A1 (en) | 2015-02-19 |
JP6217034B2 (ja) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103649915A (zh) | 关联插件管理方法、设备及*** | |
CN103995721A (zh) | 一种应用程序的升级方法、装置及*** | |
US20070266208A1 (en) | Apparatus and method of setting rights object mapping table | |
CN102202087B (zh) | 一种标识存储设备的方法及*** | |
CN104050248B (zh) | 一种文件存储***及存储方法 | |
CN107566518B (zh) | 在安装文件过程中管理设备信息的方法和装置 | |
CN103905441A (zh) | 数据获取方法及装置 | |
CN114925644A (zh) | 在边缘***验证逻辑***设计的方法、边缘*** | |
CN111818145B (zh) | 一种文件传输方法、装置、***、设备及存储介质 | |
CN105430096A (zh) | 并行文件***的自动安装方法及装置 | |
CN104468811A (zh) | 升级方法及装置 | |
CN103888545A (zh) | 一种分布式***中全局型数据的处理方法和装置 | |
CN105138352A (zh) | 一种用于安装应用插件的方法和装置 | |
CN112787795A (zh) | 云服务器时钟同步方法、计算机存储介质及电子设备 | |
US20090150882A1 (en) | System and method for software application installation | |
CN105592130A (zh) | 一种服务部署方法、服务管理方法及装置 | |
US10235153B2 (en) | Downloading data into distant equipment | |
CN112416980B (zh) | 数据业务处理方法、装置及设备 | |
CN110727498B (zh) | 一种虚拟网络功能的管理方法、nfvo、区块链节点及mano网元 | |
CN111241044B (zh) | 搭建异构数据库的方法、装置、设备及可读存储介质 | |
CN109309588B (zh) | 保证动态化配置数据一致性的方法和装置 | |
WO2020056585A1 (zh) | 用于程序文件编写和运行处理的方法及装置、*** | |
CN105589746B (zh) | 虚拟机迁移记录管理方法及*** | |
CN104657168A (zh) | 一种客户端以及该客户端进行升级的方法 | |
CN115834378B (zh) | 数据处理方法和配置*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |