CN104850449A - 一种系统架构的实现方法,及装置 - Google Patents
一种系统架构的实现方法,及装置 Download PDFInfo
- Publication number
- CN104850449A CN104850449A CN201510223355.1A CN201510223355A CN104850449A CN 104850449 A CN104850449 A CN 104850449A CN 201510223355 A CN201510223355 A CN 201510223355A CN 104850449 A CN104850449 A CN 104850449A
- Authority
- CN
- China
- Prior art keywords
- module
- optional
- function
- target
- management data
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种系统架构的实现方法,及装置,其中方法的实现包括:运行主模块,所述主模块提供所述系统架构的必选功能;确定当前业务所需功能中的可选功能,并获取所述可选功能的管理数据;通过所述可选功能的管理数据获取所述可选功能对应的目标数据信息;通过所述目标数据信息模拟得到目标可选模块。将系统架构所需的必选功能采用主模块的方式部署,依据当前业务需要进行可选模块的部署,可选模块与主模块之前具有隔离的特性,并且系统具有弹性。因此提供了可扩展的系统架构,在保持系统弹性的基础上实现主模块与可选模块的隔离。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种系统架构的实现方法,及装置。
背景技术
系统架构包含基础架构的设计规划,例如:操作系统,硬件,网络,各种应用服务器等等;还包括软件开发设计,包括:规划程序的运行模式,层次结构,调用关系,具体的实现技术类型等。
在系统架构中,通常需要具有扩展性,在一些情况下,需要使用新增模块的方式实现功能的扩展。通过扩展模块的方式追加功能,一般常见于系统的可选功能。例如:家用电脑可以通过挂接通用串行总线(Universal Serial Bus,USB)光驱进行数字通用光盘(Digital Versatile Disc,DVD)的读写。此时USB接口形式的DVD光驱即为可选模块,提供可选功能。
可选模块的优点:可选模块与主功能松耦合,架构上解耦,功能易于稳定,出现故障影响范围也相应缩小。从商业上讲,可选模块可以单独销售,独立部署,更加灵活。但可选功能模块也带来很多复杂性,特别是在部署期和运行期。
目前可选模块部署方式有两种:一种是可选模块与主业务合一部署,另一种是主业务与可选模块各自完全独立部署。如下分别讲解两种方案各自存在的问题。
采用合一部署的方案,可选模块与主模块隔离不足,相互影响;例如:1、在系统开发期间,可选模块与主模块可能依赖相同第三方模块,如果使用不同版本,则会造成冲突。同时更新此第三方模块将同时影响主用模块和可选模块。2、可选模块的业务压力不可预期,与主模块部署在一个操作系统中,可能与主业务系统互相影响形成资源争抢,影响主业务的处理。3、可选模块的故障可能扩展造成主模块故障。比如可选模块造成的网络中断会导致主业务受损。4、可选模块的安全风险也会影响主模块。比如可用模块被结构化查询语言(Structured Query Language,SQL)注入攻击,会造成主用模块的数据受损。4、主模块发生业务主备倒换时,会造成可选模块的联动倒换。反过来,主模块出现的问题也会影响可选模块。如果系统中存在多个可选模块,这种耦合会更加严重。
采用独立部署的方案,是将可选模块部署在独立的操作系统(OperatingSystem,OS)环境内。独立部署的方案由于已经将可选模块与主模块进行了隔离,因此可以解决主模块与可选模块之间隔离不足导致的问题。但是存在如下问题:1、独立部署可选模块需要占用额外的服务器资源。2、现场工程实施复杂,除部署主模块外,还需要部署可选模块。3、丢失弹性。由于可选模块的部署依赖于人工实施,所以无论可选模块是否使用,使用多少,都需要一次性部署完毕。
目前采用合一部署的方案,可选模块与主模块隔离不足,相互影响;采用独立部署的方案,虽然可以解决隔离不足的问题,但是又浪费资源施工复杂并且缺乏弹性。因此,需要有更好的系统架构维护方案,实现可选模块和主模块的部署。
发明内容
本发明实施例提供了一种系统架构的实现方法,及装置,用于提供可扩展的系统架构,在保持系统弹性的基础上实现主模块与可选模块的隔离。
本发明实施例一方面提供了一种系统架构的实现方法,包括:
运行主模块,所述主模块提供所述系统架构的必选功能;
确定当前业务所需功能中的可选功能,并获取所述可选功能的管理数据;
通过所述可选功能的管理数据获取所述可选功能对应的目标数据信息;
通过所述目标数据信息模拟得到目标可选模块。
结合一方面的实现方案,在第一种可能的实现方式中,所述运行主模块包括:
通过基础数据信息模拟得到主模块。
结合一方面的实现方案,在第二种可能的实现方式中,模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
结合一方面的实现方案,在第三种可能的实现方式中,所述方法还包括:
获取在所述系统架构中当前存在的可选模块,并关闭或删除所述可选模块中的非目标可选模块。
结合一方面的第三种可能的实现方案,在第四种可能的实现方式中,所述获取在所述系统架构中当前存在的可选模块包括:
获取所述可选功能的管理数据,依据所述可选功能的管理数据确定在所述系统架构中当前存在的可选模块;
在关闭或删除所述可选模块中的非目标可选模块之后,所述方法还包括:更新所述可选功能的管理数据。
结合一方面的实现方案,在第五种可能的实现方式中,所述通过所述目标数据信息模拟得到目标可选模块包括:
依据所述可选功能的管理数据确定当前存在所述目标可选模块并且处于非运行状态,则将所述目标可选模块置为运行状态,并运行所述目标可选模块;若当前不存在所述目标可选模块,则运行所述目标数据信息对应的软件模拟得到所述目标可选模块;
所述方法还包括:更新所述可选功能的管理数据中所述目标可选模块对应的信息。
结合一方面、一方面的第一种、第二种、第三种、第四种或者第五种可能的实现方案,在第六种可能的实现方式中,所述通过所述可选功能的管理数据获取所述可选功能对应的目标数据信息包括:
查询所述可选功能的管理数据中的服务目录,获得提供所述可选功能的可执行程序;
所述通过所述目标数据信息模拟得到目标可选模块包括:
运行所述可执行程序模拟得到所述可选功能对应的虚拟机。
结合一方面、一方面的第一种、第二种、第三种、第四种或者第五种可能的实现方案,在第七种可能的实现方式中,所述目标数据信息为可执行程序,所述方法还包括:
接收可执行程序的维护指令,在执行所述维护指令后更新所述可选功能的管理数据。
本发明实施例二方面提供了一种系统架构的实现装置,包括:
第一控制模块,用于运行主模块,所述主模块提供所述系统架构的必选功能;
功能确定单元,用于确定当前业务所需功能中的可选功能;
管理数据获取单元,用于获取所述功能确定单元确定的可选功能的管理数据;
目标数据获取单元,用于通过所述管理数据获取单元获取到的所述可选功能的管理数据获取所述可选功能对应的目标数据信息;
第二控制单元,用于通过所述目标数据信息模拟得到目标可选模块。
结合二方面的实现方案,在第一种可能的实现方式中,所述第一控制模块,用于通过基础数据信息模拟得到主模块。
结合二方面的实现方案,在第二种可能的实现方式中,模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
结合二方面的实现方案,在第三种可能的实现方式中,所述装置还包括:
模块获取单元,用于获取在所述系统架构中当前存在的可选模块;
模块控制单元,用于关闭或删除所述可选模块中的非目标可选模块。
结合二方面的第三种可能的实现方案,在第四种可能的实现方式中,所述模块获取单元,用于获取所述可选功能的管理数据,依据所述可选功能的管理数据确定在所述系统架构中当前存在的可选模块;
所述装置还包括:
第一更新单元,用于在所述模块控制单元关闭或删除所述可选模块中的非目标可选模块之后,更新所述可选功能的管理数据。
结合二方面的实现方案,在第五种可能的实现方式中,所述第二控制单元,用于依据所述可选功能的管理数据确定当前存在所述目标可选模块并且处于非运行状态,则将所述目标可选模块置为运行状态,并运行所述目标可选模块;若当前不存在所述目标可选模块,则运行所述目标数据信息对应的软件模拟得到所述目标可选模块;
所述装置还包括:第二更新单元,用于更新所述可选功能的管理数据中所述目标可选模块对应的信息。
结合二方面、二方面的第一种、第二种、第三种、第四种或者第五种可能的实现方案,在第六种可能的实现方式中,所述目标数据获取单元,用于查询所述可选功能的管理数据中的服务目录,获得提供所述可选功能的可执行程序;
所述第二控制单元,用于运行所述可执行程序模拟得到所述可选功能对应的虚拟机。
结合二方面、二方面的第一种、第二种、第三种、第四种或者第五种可能的实现方案,在第七种可能的实现方式中,所述目标数据信息为可执行程序,所述装置还包括:
指令接收单元,用于接收可执行程序的维护指令;
第三更新单元,用于在执行所述维护指令后更新所述可选功能的管理数据。
从以上技术方案可以看出,本发明实施例具有以下优点:将系统架构所需的必选功能采用主模块的方式部署,依据当前业务需要进行可选模块的部署,可选模块与主模块之前具有隔离的特性,并且系统具有弹性。因此提供了可扩展的系统架构,在保持系统弹性的基础上实现主模块与可选模块的隔离。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例系统架构示意图;
图2为本发明实施例方法流程示意图;
图3为本发明实施例功能模块示意图;
图4为本发明实施例可选模块管理结构示意图;
图5为本发明实施例装置结构示意图;
图6为本发明实施例装置结构示意图;
图7为本发明实施例装置结构示意图;
图8为本发明实施例装置结构示意图;
图9为本发明实施例装置结构示意图;
图10为本发明实施例装置结构示意图;
图11为本发明实施例服务器结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例系统架构示意图,在图1中包含主业务模块以及可选模块,其中,主模块提供了系统架构的必选功能,例如:操作系统功能、必要的通信协议控制等等;可选模块提供各自对应的可选功能,按照不同的需求可以进行功能定制;某一业务要执行,需要使用主模块,可能需要主模块以外的其他模块提供可选功能,这些需要的可选功能对应的模块,在本实施例中称为目标可选模块,其他可选模块则是非目标可选模块。
在图1所示的结构中,是以虚拟机为例进行示意的,其中模块1和模块2属于主模块位于虚拟机1;在虚拟机1中还可以包含可选模块管理的功能,以及软件仓库;模块3属于可选模块位于虚拟机2~虚拟机n。
本发明实施例提供了一种系统架构的实现方法,如图2所示,包括:
201:运行主模块,上述主模块提供上述系统架构的必选功能;
在本实施例中,主模块可以是硬件实体设备也可以是通过虚拟技术获得的并不会影响到本发明实施例的实现。优选可以采用虚拟化技术实现,具体如下:上述运行主模块包括:通过基础数据信息模拟得到主模块。基础数据信息是用来模拟主模块的数据信息。由于必选功能是系统架构所必须要实现的功能,例如:底层运行环境、数据库支持等,这些功能也可以采用虚拟技术实现,以上基础数据信息可以是实现主模块功能的虚拟软件,或者实现主模块功能的虚拟软件的管理信息。
202:确定当前业务所需功能中的可选功能,并获取上述可选功能的管理数据;
当前业务是系统架构当前所运行或者将要启动运行的业务,实现业务服务需要系统架构中相应的硬件/软件提供功能支持,其中必选功能已经启动,但是在本发明实施例中,可选功能是按需部署的并没有完整部署,因此需要确定当前需要部署的可选功能。
203:通过上述可选功能的管理数据获取上述可选功能对应的目标数据信息;
上述目标数据信息是用来模拟得到目标可选模块的,通常可以采用虚拟化技术实现模拟。基于不同的虚拟化技术实现方案,目标数据信息可以有不同的表现形式,在后续实现方案举例中将会进行详细说明。
204:通过上述目标数据信息模拟得到目标可选模块。
本发明实施例,将系统架构所需的必选功能采用主模块的方式部署,依据当前业务需要进行可选模块的部署,可选模块与主模块之前具有隔离的特性,并且系统具有弹性。因此提供了可扩展的系统架构,在保持系统弹性的基础上实现主模块与可选模块的隔离。
在本发明实施例中,主模块和目标可选模块可以位于同一虚拟机内,为了更进一步的实现隔离效果,可以如下:模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
当前业务所需要功能可以作为系统架构的可选功能由目标可选模块提供;目标可选模块和可选模块均提供系统架构的可选功能,目标可选模块属于可选模块中的特定类型,即:当前业务所需要功能。进一步地,基于当前业务所需要的功能确定目标可选模块后,还可以停止当前业务不需要的可选模块,从而进一步节省系统资源,具体如下:上述方法还包括:获取在上述系统架构中当前存在的可选模块,并关闭或删除上述可选模块中的非目标可选模块。
系统架构中可以规划很多可选功能及其对应的可选模块,本发明实施例提供了进行统一管理的方案,如下:上述获取在上述系统架构中当前存在的可选模块包括:
获取上述可选功能的管理数据,依据上述可选功能的管理数据确定在上述系统架构中当前存在的可选模块;
在关闭或删除上述可选模块中的非目标可选模块之后,上述方法还包括:更新上述可选功能的管理数据。
在本实施例中,可选功能的管理数据,是用来管理可选功能的数据信息,由于可选功能与可选模块是对应的,可选功能的管理数据也可以是可选模块的管理数据。可选功能的管理数据需要保持准确性,因此需要及时更新。
基于管理数据对可选功能及其对应的可选模块进行管理的方案,本发明实施例还提供了模拟获得目标可选模块的具体实现方案如下:上述通过上述目标数据信息模拟得到目标可选模块包括:
依据上述可选功能的管理数据确定当前存在上述目标可选模块并且处于非运行状态,则将上述目标可选模块置为运行状态,并运行上述目标可选模块;若当前不存在上述目标可选模块,则运行上述目标数据信息对应的软件模拟得到上述目标可选模块;
上述方法还包括:更新上述可选功能的管理数据中上述目标可选模块对应的信息。
在本实施例中,目标可选模块的模拟方式可以采用实现特定功能的虚拟机的方式实现,具体如下:上述通过上述可选功能的管理数据获取上述可选功能对应的目标数据信息包括:
查询上述可选功能的管理数据中的服务目录,获得提供上述可选功能的可执行程序;
上述通过上述目标数据信息模拟得到目标可选模块包括:
运行上述可执行程序模拟得到上述可选功能对应的虚拟机。
需要说明的是,虚拟化技术可以有很多种,例如采用快照、虚拟机备份、磁盘文件、链接克隆母盘等方案,并不一定需要使用本实施例中管理可执行程序的方式实现。以上举例不应理解为对本发明实施例的唯一性限定。
基于采用可执行程序的方式模拟得到虚拟机的方案,以及可选功能的管理数据实现对系统架构的管理,本发明实施例还提供了如下更新方案:上述目标数据信息为可执行程序,上述方法还包括:
接收可执行程序的维护指令,在执行上述维护指令后更新上述可选功能的管理数据。
可执行程序用于模拟得到可选模块获得可选功能,因此可执行程序可以依据不同的可选功能需要进行开发。使用可执行程序实现具有指定功能的虚拟机的实现过程,本发明实施例不进行赘述。
以下实施例将以软件系统架构为例对本发明实施例的实现过程进行详细的举例说明。
在软件系统扩展时,如扩展模块(实现可选功能的模块)和原模块(实现必选功能的模块)合一部署,则存在隔离不充分造成的公共模块耦合,性能冲突,可靠性耦合,安全风险互相影响等问题。如果扩展模块独立部署,则又存在成本高,实施复杂,同时丢失业务弹性等问题。本发明实施例将提供具有弹性的可扩展模块管理方案,用于解除上面两种部署方式带来的问题,并为业务系统的弹性扩缩提供底层架构支撑。
由于虚拟化技术的发展及普及,本发明实施例方案可以选择将可选功能模块部署到虚拟机中,这样既解决技术一的隔离问题,又解决技术二的部署复杂度,同时基于虚拟化本身的能力为软件架构提供弹性扩展能力。
软件的生命周期包括如下几个阶段:
开发期,指软件产品厂商开发软件的阶段。
部署期,指软件产品通过介质(存储设备),部署到实际生产环境的阶段。
运行期,指软件产品在实际生产环境中运行的阶段。
退出服务,指软件产品从实际生产环境中移除,停止服务。
以下实施例将按如下三个方面对本发明实施例的具体实现进行详细说明:
一、示例软件在运行期的架构及功能模块;
二、“可选模块管理”模块及“软件仓库”模块的各个功能模块的功能;
三、按照软件的生命周期顺序本发明实施例方案的实践举例。
其中在第二部分中的“可选模块管理”功能模块是本发明实施例方案中相对较为重要的部分。
一、软件在运行期的架构及功能模块:
1、示例软件架构,如图3所示:
示例软件架构包括三个模块,模块1,2为必选功能对应的模块,运行期各一个实例。模块3为可选功能对应的模块,运行期需要依据业务弹性运行0..n个实例。
2、本方案的运行期架构:
使用本方案后,示例软件的运行期架构如图1所示:
本发明实施例方案中,优选追加“可选模块管理”和“软件仓库”模块,用于实现如下功能:
管理可选模块(示例中为模块3)的安装源;
依据业务需要,弹性部署/反部署虚拟机,用于可选模块随业务的弹性扩缩;
管理可选模块备份/恢复/升级/补丁等维护能力;
提供可选模块运行期实例的集中管理能力。
其中“软件仓库”提供存储实现虚拟机的软件所需要的数据存储空间。
二、“可选模块管理”模块及“软件仓库”模块的各个功能模块的功能;
1、依据功能,“可选模块管理”的功能模块的内部功能模块如图4所示,
如下详细讲解各个功能模块的功能:
1.1、可选模块部署介质管理:
可选模块部署介质管理用于管理可选模块的部署介质,为“可选模块实例管理”提供可选模块的安装部署,卸载删除,启动停止等能力。
可选模块部署介质管理所管理的介质包括:
服务目录。运维系统通过此服务目录调用功能模块的安装/部署/配置/启动/停止/重启等能力。
基础运行环境,为可选模块运行所需的基础环境,包括但不限于OS,中间件,数据库等。一般以虚拟机模板的方式存放。
可选模块安装配置程序。用于在部署完基础虚拟机后,进一步部署可选功能模块,并建立与主程序的连接。也可以选择将可选模块部署完成的虚拟机专用模板,这样就可以不必进行安装程序的管理。
可选模块的启动/停止/重启等程序。用于在运行期间对可选模块进行基本的维护操作时调用。
以上介质/程序等可以存储在软件仓库这个模块中。
可选模块部署介质管理可以提供如下能力:支持对介质进行上传,完整性校验,版本管理,下载,列表察看,删除等。
1.2、可选模块运维流程管理:
可选模块运维流程管理用于提供可选模块的数据备份/恢复,可选模块的升级,打补丁等能力。这些能力依赖于开发团队提供的功能程序,可选模块运维流程管理则将这些程序作为介质进行管理。管理的介质包括但不限于如下几个方面:
服务目录。运维系统通过此服务目录调用运行实例的升级/补丁/备份/恢复/校验等能力。
升级包介质及升级/回退程序;
补丁包介质及打补丁/回退程序;
数据/日志等的备份/恢复程序;
健康检查/定位信息收集程序。
以上介质/程序等会存储在软件仓库这个模块中。
可选模块运维流程管理可以提供如下能力:支持对介质进行上传,完整性校验,版本管理,下载,列表察看,删除等。
1.3、可选模块实例管理:
可选模块实例管理用于提供对可选模块实例的管理,并提供各种能力,包括但不限于:服务目录。运维系统通过服务目录查询并调用如下上述的能力;
可选模块实例列表;
可选模块详情查询;
可选模块实例启动/停止/重启;
可选模块实例升级/回退;
可选模块实例补丁/回退;
可选模块实例数据的备份/恢复;
可选模块实例的配置/健康检查/定位信息收集。
可选模块实例管理的模块可以借助“可选模块部署介质管理”和“可选模块运维流程管理”模块提供上述管理能力。
1.4、可选模块弹性扩缩管理:
可选模块弹性扩缩管理所管理对象为“功能模块”,而非“功能模块实例”。以示例软件架构为例,本模块管理的是“模块3”,而“模块3”的介质管理,运行期实例管理,由前面三个模块提供能力。
可选模块弹性扩缩管理提供功能,包括但不限于:
服务目录:向运维系统或第三方系统提供如下能力。
可选模块的部署:对可选功能模块进行实例部署,实现时调用“可选模块部署介质管理”模块的能力。
可选模块的维护动作:对可选功能模块进行维护动作,实现时调用“可选模块部署介质管理”模块和“可选模块运维流程管理”模块的能力。
可选模块的弹性扩缩:向业务系统提供弹性扩缩的接口,以便业务侧判断负载并调用扩缩能力。
可选模块的自动扩缩策略配置:向业务层封装自动扩缩策略,业务层通过配置自动扩缩策略来实现可选模块的自动扩缩。
在以上可选模块弹性扩缩管理中,实例弹性扩充的策略可配置,包括但不限于:
扩容前执行的脚本;
可选模块实例数上限;
可选模块实例扩充方式:创建新实例/启动已创建的实例/恢复休眠的实例;
默认扩容步长;
扩容后执行的脚本。
在以上可选模块弹性扩缩管理中,实例弹性缩减的策略可配置,包括但不限于:
缩减前执行的脚本;
可选模块实例数下限;
实例缩减方式:删除实例/停止实例/休眠实例;
默认缩减步长;
缩减后执行的脚本。
可选模块弹性扩缩管理可以可内置一些自动扩缩策略,这些自动策略不在本专利中详细描述。
2、“软件仓库”功能模块:
软件仓库为“可选模块管理”模块提供存储介质,提供的能力包括但不限于:
软件上传;
介质下载;
介质访问授权;
介质可靠性;
介质版本管理;
介质删除。
在本发明实施例中,“软件仓库”提供的是存储功能以及与存储功能相应的存储控制功能,具体实现过程可以采用相应的成熟技术实现,本发明实施例不予限定。
三、实践举例:
本节以“示例软件”为例,按其生命周期对本发明实施例的实践方式进行具体举例说明。关于示例软件的模块架构,请参阅图3。软件产品的生命周期,请参阅前文描述,在此不再赘述。
1、开发期:
在软件的开发期,就需要为可选模块开发相应的管理程序,以支撑图4中各个模块暴露的能力。
在示例软件中,模块3为可选模块,则在开发期就需要为模块3开发能力,包括但不限于:
基础运行环境;
安装程序;
配置程序;
启动/停止/重启程序;
备份/恢复程序;
健康检查;
信息收集;
弹性扩缩策略;
自动扩缩策略;
相应的服务目录。
2、部署期:
在实际部署时,需要通过图4所示的各个模块,上传各种介质及程序。
如果可选模块在初始部署时需要部署实例,则调用“可选模块部署介质管理”模块提供的能力进行实例化部署。
3、运行期:
运行期间,系统会依据弹性扩缩管理策略进行弹性扩缩。
管理员及自动运维系统会执行各种维护动作。此时调用图4所示的各个模块的能力进行维护。
为了提供新功能及修改问题,还可能发布升级包及补丁程序。此时调用“可选模块运维流程管理”模块的能力,对可选模块的升级/补丁介质进行管理,并执行升级/补丁/回退等动作。
4、退出服务:
推出服务时,停止业务,然后调用“可选模块实例管理”中的实例删除接口删除所有实例。
以上作为本发明实施例的一个实现举例,不应理解为对本发明实施例实现方式的唯一性限定。例如:
在可选模块的基础运行环境的介质管理中,在以上实施例中描述为虚拟机模板。在实现中,可使用如下技术进行替代:1、已存在的虚拟机,快照,虚拟机备份,磁盘文件,链接克隆母盘等。虚拟化技术可以使用这些介质方式来创建虚拟机。2、光盘的镜像文件,可以使用光盘的镜像文件直接部署虚拟机或物理机。3、通用硬件导向系统转移(General Hardware Oriented SystemTransfer,Ghost)等类似的磁盘镜像文件。
在以上实施例中将功能模块部署在虚拟机上,在实现中,可以使用如下技术替代:1、部署在容器中,比如Docker等Linux容器;2、Apache,Tomcat,Jetty,Websphere,IIS等Web(网页)容器;3、直接使用公有云中的虚拟机模板部署;4、自动化部署到物理机中。
在以上实施例中,可选模块的安装程序可以独立于运行环境介质,在实现中,可以将可选模块直接包含在基础运行环境中。
采用本发明实施例方案可以有效的解决背景技术方案中的缺点,并带来业务系统运维能力的提升,主要体现在:
1、模块间完全隔离,不存在不充分隔离导致的性能隔离,故障隔离,可靠性互相影响,安全互相影响等方面的问题。
2、运行期部署成本,维护成本低。
3、将运行期的维护动作自动化,便于运维自动化,降低维护成本。
本发明实施例,不仅可应用于软件架构,其实现方案也可用于分布式固件及硬件部署架构。另外,在软件方案中,本方案不仅可用于“可选模块”,亦可以用于“必选模块”。
本发明实施例还提供了一种系统架构的实现装置,如图5所示,包括:
第一控制模块501,用于运行主模块,上述主模块提供上述系统架构的必选功能;
功能确定单元502,用于确定当前业务所需功能中的可选功能;
管理数据获取单元,用于获取上述功能确定单元502确定的可选功能的管理数据;
目标数据获取单元503,用于通过上述管理数据获取单元获取到的上述可选功能的管理数据获取上述可选功能对应的目标数据信息;
第二控制单元504,用于通过上述目标数据信息模拟得到目标可选模块。
本发明实施例,将系统架构所需的必选功能采用主模块的方式部署,依据当前业务需要进行可选模块的部署,可选模块与主模块之前具有隔离的特性,并且系统具有弹性。因此提供了可扩展的系统架构,在保持系统弹性的基础上实现主模块与可选模块的隔离。
在本实施例中,主模块可以是硬件实体设备也可以是通过虚拟技术获得的并不会影响到本发明实施例的实现。优选可以采用虚拟化技术实现,具体如下:上述第一控制模块501,用于通过基础数据信息模拟得到主模块。
在本发明实施例中,主模块和目标可选模块可以位于同一虚拟机内,为了更进一步的实现隔离效果,可以如下:模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
当前业务所需要功能可以作为系统架构的可选功能由目标可选模块提供;目标可选模块和可选模块均提供系统架构的可选功能,目标可选模块属于可选模块中的特定类型,即:当前业务所需要功能。进一步地,基于当前业务所需要的功能确定目标可选模块后,还可以停止当前业务不需要的可选模块,从而进一步节省系统资源,具体如下:如图6所示,上述装置还包括:
模块获取单元601,用于获取在上述系统架构中当前存在的可选模块;
模块控制单元602,用于关闭或删除上述可选模块中的非目标可选模块。
系统架构中可以规划很多可选功能及其对应的可选模块,本发明实施例提供了进行统一管理的方案,如下:进一步地,如图7所示,上述模块获取单元601,用于获取上述可选功能的管理数据,依据上述可选功能的管理数据确定在上述系统架构中当前存在的可选模块;上述装置还包括:
第一更新单元701,用于在上述模块控制单元602关闭或删除上述可选模块中的非目标可选模块之后,更新上述可选功能的管理数据。
基于管理数据对可选功能及其对应的可选模块进行管理的方案,本发明实施例还提供了模拟获得目标可选模块的具体实现方案如下:进一步地,如图8所示,上述第二控制单元504,用于依据上述可选功能的管理数据确定当前存在上述目标可选模块并且处于非运行状态,则将上述目标可选模块置为运行状态,并运行上述目标可选模块;若当前不存在上述目标可选模块,则运行上述目标数据信息对应的软件模拟得到上述目标可选模块;
上述装置还包括:第二更新单元801,用于更新上述可选功能的管理数据中上述目标可选模块对应的信息。
在本实施例中,目标可选模块的模拟方式可以采用实现特定功能的虚拟机的方式实现,具体如下:可选地,上述目标数据获取单元503,用于查询上述可选功能的管理数据中的服务目录,获得提供上述可选功能的可执行程序;
上述第二控制单元504,用于运行上述可执行程序模拟得到上述可选功能对应的虚拟机。
基于采用可执行程序的方式模拟得到虚拟机的方案,以及可选功能的管理数据实现对系统架构的管理,本发明实施例还提供了如下更新方案:进一步地,如图9所示,上述目标数据信息为可执行程序,上述装置还包括:
指令接收单元901,用于接收可执行程序的维护指令;
第三更新单元902,用于在执行上述维护指令后更新上述可选功能的管理数据。
本发明实施例还提供了另一种系统架构的实现装置,如图10所示,包括:接收器1001、发射器1002、处理器1003以及存储器1004;其中接收器1001可以用于接收外部输入的指令和/或数据信息,发射器1002可以用于将内部信息发送至外部,存储器1004可以用于提供处理器1003执行数据处理所需要的存储空间,以及可能需要的其他数据存储功能。
其中,处理器1003,用于运行主模块,上述主模块提供上述系统架构的必选功能;确定当前业务所需功能中的可选功能,并获取上述可选功能的管理数据;通过上述可选功能的管理数据获取上述可选功能对应的目标数据信息;通过上述目标数据信息模拟得到目标可选模块。
可选地,上述处理器1003,用于运行主模块包括:通过基础数据信息模拟得到主模块。
在本发明实施例中,主模块和目标可选模块可以位于同一虚拟机内,为了更进一步的实现隔离效果,可以如下:模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
进一步地,上述处理器1003,还用于获取在上述系统架构中当前存在的可选模块,并关闭或删除上述可选模块中的非目标可选模块。
可选地,上述处理器1003,用于获取在上述系统架构中当前存在的可选模块包括:获取上述可选功能的管理数据,依据上述可选功能的管理数据确定在上述系统架构中当前存在的可选模块;
在关闭或删除上述可选模块中的非目标可选模块之后,上述处理器1003,还用于更新上述可选功能的管理数据。
可选地上述处理器1003,用于通过上述目标数据信息模拟得到目标可选模块包括:依据上述可选功能的管理数据确定当前存在上述目标可选模块并且处于非运行状态,则将上述目标可选模块置为运行状态,并运行上述目标可选模块;若当前不存在上述目标可选模块,则运行上述目标数据信息对应的软件模拟得到上述目标可选模块;
上述处理器1003,还用于更新上述可选功能的管理数据中上述目标可选模块对应的信息。
可选地,上述处理器1003,用于通过上述可选功能的管理数据获取上述可选功能对应的目标数据信息包括:查询上述可选功能的管理数据中的服务目录,获得提供上述可选功能的可执行程序;
上述处理器1003,用于通过上述目标数据信息模拟得到目标可选模块包括:运行上述可执行程序模拟得到上述可选功能对应的虚拟机。
可选地,上述目标数据信息为可执行程序,上述处理器1003,还用于接收可执行程序的维护指令,在执行上述维护指令后更新上述可选功能的管理数据。
在本发明实施例中,系统架构的实现装置可以是终端设备,也可以是服务器类的设备,具体的设备类型本发明实施例不作唯一性限定,以下图11为系统架构的实现装置的一个举例。图11是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中方法实施例中所执行的步骤可以基于该图11所示的服务器结构。
值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (16)
1.一种系统架构的实现方法,其特征在于,包括:
运行主模块,所述主模块提供所述系统架构的必选功能;
确定当前业务所需功能中的可选功能,并获取所述可选功能的管理数据;
通过所述可选功能的管理数据获取所述可选功能对应的目标数据信息;
通过所述目标数据信息模拟得到目标可选模块。
2.根据权利要求1所述方法,其特征在于,所述运行主模块包括:
通过基础数据信息模拟得到主模块。
3.根据权利要求2所述方法,其特征在于,模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
4.根据权利要求1所述方法,其特征在于,所述方法还包括:
获取在所述系统架构中当前存在的可选模块,并关闭或删除所述可选模块中的非目标可选模块。
5.根据权利要求4所述方法,其特征在于,所述获取在所述系统架构中当前存在的可选模块包括:
获取所述可选功能的管理数据,依据所述可选功能的管理数据确定在所述系统架构中当前存在的可选模块;
在关闭或删除所述可选模块中的非目标可选模块之后,所述方法还包括:更新所述可选功能的管理数据。
6.根据权利要求1所述方法,其特征在于,所述通过所述目标数据信息模拟得到目标可选模块包括:
依据所述可选功能的管理数据确定当前存在所述目标可选模块并且处于非运行状态,则将所述目标可选模块置为运行状态,并运行所述目标可选模块;若当前不存在所述目标可选模块,则运行所述目标数据信息对应的软件模拟得到所述目标可选模块;
所述方法还包括:更新所述可选功能的管理数据中所述目标可选模块对应的信息。
7.根据权利要求1至6任意一项所述方法,其特征在于,所述通过所述可选功能的管理数据获取所述可选功能对应的目标数据信息包括:
查询所述可选功能的管理数据中的服务目录,获得提供所述可选功能的可执行程序;
所述通过所述目标数据信息模拟得到目标可选模块包括:
运行所述可执行程序模拟得到所述可选功能对应的虚拟机。
8.根据权利要求1至6任意一项所述方法,其特征在于,所述目标数据信息为可执行程序,所述方法还包括:
接收可执行程序的维护指令,在执行所述维护指令后更新所述可选功能的管理数据。
9.一种系统架构的实现装置,其特征在于,包括:
第一控制模块,用于运行主模块,所述主模块提供所述系统架构的必选功能;
功能确定单元,用于确定当前业务所需功能中的可选功能;
管理数据获取单元,用于获取所述功能确定单元确定的可选功能的管理数据;
目标数据获取单元,用于通过所述管理数据获取单元获取到的所述可选功能的管理数据获取所述可选功能对应的目标数据信息;
第二控制单元,用于通过所述目标数据信息模拟得到目标可选模块。
10.根据权利要求9所述装置,其特征在于,
所述第一控制模块,用于通过基础数据信息模拟得到主模块。
11.根据权利要求10所述装置,其特征在于,模拟得到的所述主模块与模拟得到的所述目标可选模块分别位于不同的虚拟机。
12.根据权利要求9所述装置,其特征在于,所述装置还包括:
模块获取单元,用于获取在所述系统架构中当前存在的可选模块;
模块控制单元,用于关闭或删除所述可选模块中的非目标可选模块。
13.根据权利要求12所述装置,其特征在于,
所述模块获取单元,用于获取所述可选功能的管理数据,依据所述可选功能的管理数据确定在所述系统架构中当前存在的可选模块;
所述装置还包括:
第一更新单元,用于在所述模块控制单元关闭或删除所述可选模块中的非目标可选模块之后,更新所述可选功能的管理数据。
14.根据权利要求9所述装置,其特征在于,
所述第二控制单元,用于依据所述可选功能的管理数据确定当前存在所述目标可选模块并且处于非运行状态,则将所述目标可选模块置为运行状态,并运行所述目标可选模块;若当前不存在所述目标可选模块,则运行所述目标数据信息对应的软件模拟得到所述目标可选模块;
所述装置还包括:第二更新单元,用于更新所述可选功能的管理数据中所述目标可选模块对应的信息。
15.根据权利要求9至14任意一项所述装置,其特征在于,
所述目标数据获取单元,用于查询所述可选功能的管理数据中的服务目录,获得提供所述可选功能的可执行程序;
所述第二控制单元,用于运行所述可执行程序模拟得到所述可选功能对应的虚拟机。
16.根据权利要求9至14任意一项所述装置,其特征在于,所述目标数据信息为可执行程序,所述装置还包括:
指令接收单元,用于接收可执行程序的维护指令;
第三更新单元,用于在执行所述维护指令后更新所述可选功能的管理数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510223355.1A CN104850449A (zh) | 2015-05-05 | 2015-05-05 | 一种系统架构的实现方法,及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510223355.1A CN104850449A (zh) | 2015-05-05 | 2015-05-05 | 一种系统架构的实现方法,及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104850449A true CN104850449A (zh) | 2015-08-19 |
Family
ID=53850106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510223355.1A Pending CN104850449A (zh) | 2015-05-05 | 2015-05-05 | 一种系统架构的实现方法,及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850449A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159995A (zh) * | 2015-09-06 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种对数据库备份数据进行有效性验证的方法及装置 |
CN106339241A (zh) * | 2016-08-30 | 2017-01-18 | 广西电网有限责任公司 | 一种Tomcat和mysql组合一键自动部署方法 |
CN108279603A (zh) * | 2018-01-30 | 2018-07-13 | 风度(常州)汽车研发院有限公司 | 一种行车控制系统、方法及存储介质 |
CN109815034A (zh) * | 2019-01-25 | 2019-05-28 | 北京仿真中心 | 一种工程软件资源云服务方法 |
CN109992374A (zh) * | 2017-12-29 | 2019-07-09 | 中移互联网有限公司 | 一种应用实例的管理方法、装置及计算机可读存储介质 |
CN113438095A (zh) * | 2020-03-23 | 2021-09-24 | 华为技术有限公司 | 配置数据的管理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070260702A1 (en) * | 2006-05-03 | 2007-11-08 | University Of Washington | Web browser architecture for virtual machine access |
CN101216777A (zh) * | 2008-01-11 | 2008-07-09 | 华中科技大学 | 一种多虚拟机环境下的快速部署系统 |
CN103631579A (zh) * | 2013-10-28 | 2014-03-12 | 华中师范大学 | 一种插件式的教学软件平台 |
-
2015
- 2015-05-05 CN CN201510223355.1A patent/CN104850449A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070260702A1 (en) * | 2006-05-03 | 2007-11-08 | University Of Washington | Web browser architecture for virtual machine access |
CN101216777A (zh) * | 2008-01-11 | 2008-07-09 | 华中科技大学 | 一种多虚拟机环境下的快速部署系统 |
CN103631579A (zh) * | 2013-10-28 | 2014-03-12 | 华中师范大学 | 一种插件式的教学软件平台 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159995A (zh) * | 2015-09-06 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种对数据库备份数据进行有效性验证的方法及装置 |
CN106339241A (zh) * | 2016-08-30 | 2017-01-18 | 广西电网有限责任公司 | 一种Tomcat和mysql组合一键自动部署方法 |
CN109992374A (zh) * | 2017-12-29 | 2019-07-09 | 中移互联网有限公司 | 一种应用实例的管理方法、装置及计算机可读存储介质 |
CN108279603A (zh) * | 2018-01-30 | 2018-07-13 | 风度(常州)汽车研发院有限公司 | 一种行车控制系统、方法及存储介质 |
CN109815034A (zh) * | 2019-01-25 | 2019-05-28 | 北京仿真中心 | 一种工程软件资源云服务方法 |
CN113438095A (zh) * | 2020-03-23 | 2021-09-24 | 华为技术有限公司 | 配置数据的管理方法、装置、设备及存储介质 |
WO2021189895A1 (zh) * | 2020-03-23 | 2021-09-30 | 华为技术有限公司 | 配置数据的管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850449A (zh) | 一种系统架构的实现方法,及装置 | |
JP5367074B2 (ja) | 仮想マシンとアプリケーション・ライフ・サイクルの同期 | |
Toffetti et al. | Self-managing cloud-native applications: Design, implementation, and experience | |
US9207929B2 (en) | Integrated system and firmware update method | |
CN106933570B (zh) | 一种基于插件技术的航天测发控软件平台 | |
CN109445802B (zh) | 基于容器的私有化Paas平台及其发布应用的方法 | |
US9003392B2 (en) | Use of cloning in maintenance of virtual appliances | |
EP2972821B1 (en) | Application compatibility checking in a distributed computing environment | |
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与系统 | |
CN105103132A (zh) | 在升级期间修复云服务 | |
CN107924336A (zh) | 用于虚拟服务器机架部署中的分散式机架体系架构的硬件管理系统 | |
CN104410672A (zh) | 网络功能虚拟化应用升级的方法、转发业务的方法及装置 | |
CN103593207A (zh) | 使用虚拟磁盘的高速自动化丛集系统部署方法 | |
CN105302575A (zh) | 一种基础开发框架 | |
CN104246697A (zh) | 针对应用的版本管理 | |
CN105577475A (zh) | 自动化性能测试系统及方法 | |
CN112230987B (zh) | 一种分布式模块化插件框架实现系统及方法 | |
CN102609281A (zh) | 分布式软件补丁更新方法及系统 | |
CN102650952A (zh) | 基于mvc框架的建模工具命令调用方法及系统 | |
CN108319492A (zh) | 复位物理机的方法、装置与系统 | |
US11757697B2 (en) | System and method of distributed edge configuration management | |
CN112434008A (zh) | 分布式数据库升级方法、设备及介质 | |
CN101877655A (zh) | 网络管理系统、网管服务器和方法 | |
CN116360834A (zh) | 基于OSTree的Kubernetes集群原地升级方法及系统 | |
CN115421847A (zh) | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150819 |
|
RJ01 | Rejection of invention patent application after publication |