著录项信息
专利名称 | 多操作系统业务的部署方法和系统 |
申请号 | CN201310180211.3 | 申请日期 | 2013-05-15 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-07-31 | 公开/公告号 | CN103226493A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 百度在线网络技术(北京)有限公司 | 申请人地址 | 北京市海淀区上地十街10号百度大厦三层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 百度在线网络技术(北京)有限公司 | 当前权利人 | 百度在线网络技术(北京)有限公司 |
发明人 | 李闻;李德佳;田燕 |
代理机构 | 北京清亦华知识产权代理事务所(普通合伙) | 代理人 | 宋合成 |
摘要
本发明提出一种多操作系统业务的部署方法,包括以下步骤:业务部署控制中心服务器接收业务部署请求,其中,业务部署请求包括待部署业务的运行信息;业务部署控制中心服务器根据业务部署请求获取对应的虚拟机模板;业务部署控制中心服务器根据虚拟机模板生成待部署业务对应的业务虚拟机映像;业务部署控制中心服务器根据业务部署集群的状态为虚拟机映像分配相应的资源,并执行部署。本发明通过统一平台进行管理,降低了部署和运维成本,故障恢复效率高,充分利用机器资源,迁移性和扩展性好。本发明还公开了一种多操作系统业务的部署系统。
1.一种多操作系统业务的部署方法,其特征在于,包括以下步骤:
业务部署控制中心服务器接收业务部署请求,其中,所述业务部署请求包括待部署业务的运行信息;
所述业务部署控制中心服务器根据所述业务部署请求查询虚拟机模板库获取对应的虚拟机模板,其中,所述虚拟机模板库中存储有多个操作系统的所述虚拟机模板;
所述业务部署控制中心服务器在沙盒环境中启动所述虚拟机模板,以供用户对所述虚拟机模板进行业务部署、调整虚拟机参数及完成测试调试;
所述业务部署控制中心服务器根据测试调试后的虚拟机模板生成所述待部署业务对应的业务虚拟机映像;以及
所述业务部署控制中心服务器根据业务部署集群的状态为所述虚拟机映像分配相应的资源,并执行部署,其中,所述业务部署集群包括多种业务虚拟机映像及其组合。
2.如权利要求1所述的方法,其特征在于,还包括:
所述业务部署控制中心服务器将所述业务虚拟机映像保存至虚拟机映像管理中心,以使所述虚拟机映像管理中心对所述虚拟机映像进行管理。
3.如权利要求1所述的方法,其特征在于,所述运行信息包括所述待部署业务的操作系统类型信息及版本信息。
4.一种多操作系统业务的部署系统,其特征在于,包括客户端和业务部署控制中心服务器,其中,
所述客户端,用于向所述业务部署控制中心服务器发送业务部署请求,其中,所述业务部署请求包括待部署业务的运行信息;
所述业务部署控制中心服务器,用于根据所述业务部署请求查询虚拟机模板库获取对应的虚拟机模板,在沙盒环境中启动所述虚拟机模板,以供用户对所述虚拟机模板进行业务部署、调整虚拟机参数及完成测试调试,并根据测试调试后的虚拟机模板生成所述待部署业务对应的业务虚拟机映像,以及根据业务部署集群的状态为所述虚拟机映像分配相应的资源,并执行部署,其中,所述虚拟机模板库中存储有多个操作系统的所述虚拟机模板,所述业务部署集群包括多种业务虚拟机映像及其组合。
5.如权利要求4所述的系统,其特征在于,还包括:
虚拟机映像管理中心,用于接收所述业务部署控制中心服务器发送的所述业务虚拟机映像并保存,以及对所述虚拟机映像进行管理。
6.如权利要求5所述的系统,其特征在于,所述运行信息包括所述待部署业务的操作系统类型信息及版本信息。
多操作系统业务的部署方法和系统\n技术领域\n[0001] 本发明涉及计算机技术领域,特别涉及一种多操作系统业务的部署方法和系统。\n背景技术\n[0002] 在公司中,各种不同的业务往往有不同的系统部署的环境需求。随着业务规模的增长,数以千百计甚至上万的服务的部署和维护就变得复杂而混乱。其中,如果每个服务都单独部署,会占用大量的服务器资源,造成浪费。对每个服务进行单独的维护也需要耗费大量的人力和资源。\n[0003] 不同业务依赖不同的系统环境,如Windows,Linux等环境。不同的业务有不同的资源需求,如对CPU、网络、磁盘空间、部署路径和安全控制策略的需求不同。并且不同的业务有着不同的软件依赖。这些都使得统一部署和维护难度非常大。\n[0004] 因此现有的解决方案多是针对一类需求相似的业务构建一个平台,维护一套相似的系统环境,在平台上进行业务部署。或者构造一系列的虚拟机,将虚拟机当做物理服务器使用,在虚拟机中进行业务的部署控制。\n[0005] 现有技术虽然对单个服务单独部署进行了优化,但是还是没有充分利用系统资源,对不同类的服务仍需要单独进行管理和维护,造成较大的开销和浪费。\n发明内容\n[0006] 本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种多操作系统业务的部署方法,通过统一平台进行管理,降低了部署和运维成本,故障恢复效率高,充分利用机器资源,迁移性和扩展性好。\n[0007] 本发明的第二个目的在于提出一种多操作系统业务的部署系统。\n[0008] 为达到上述目的,本发明第一方面的实施例提出了一种多操作系统业务的部署方法,包括以下步骤:业务部署控制中心服务器接收业务部署请求,其中,所述业务部署请求包括待部署业务的运行信息;所述业务部署控制中心服务器根据所述业务部署请求获取对应的虚拟机模板;所述业务部署控制中心服务器根据所述虚拟机模板生成所述待部署业务对应的业务虚拟机映像;所述业务部署控制中心服务器根据业务部署集群的状态为所述虚拟机映像分配相应的资源,并执行部署。\n[0009] 根据本发明实施例的多操作系统业务的部署方法通过统一平台对业务及其所依赖的系统环境进行管理,通过对虚拟机模板进行配置生成业务虚拟机映像,满足了自动化部署平台中兼容多操作系统环境的需求,解决了同一操作系统环境中业务软件环境、参数配置等依赖不同的问题,使得无状态的业务在不同物理主机间可以自由迁移。统一业务部署和运维环境还降低了大规模业务混部的部署、扩容、迁移、运维成本,故障恢复效率高,并将完全不同的业务隔离部署在相同的物理机器上,节约了机器和机架位等资源。\n[0010] 在本发明的一个实施例中,还包括:所述业务部署控制中心服务将所述业务虚拟机映像保存至虚拟机映像管理中心,以使所述虚拟机映像管理中心对所述虚拟机映像进行管理。\n[0011] 在本发明的一个实施例中,所述虚拟机模板存储在虚拟机模板库中,所述业务部署控制中心服务器根据所述业务部署请求查询所述虚拟机模板库获得所述虚拟机模板。\n[0012] 在本发明的一个实施例中,在所述业务部署控制中心服务器根据所述业务部署请求获取对应的虚拟机模板之后,还包括:所述业务部署控制中心服务器在沙盒环境中启动所述虚拟机模板,以供用户根据所述虚拟机模板进行业务部署及调整虚拟机参数。\n[0013] 在本发明的一个实施例中,所述运行信息包括所述待部署业务的操作系统类型信息及版本信息。\n[0014] 本发明第二方面的实施例提出了一种多操作系统业务的部署系统,包括客户端和业务部署控制中心服务器,其中,所述客户端用于向所述业务部署控制中心服务器发送业务部署请求,其中,所述业务部署请求包括待部署业务的运行信息;所述业务部署控制中心服务器用于根据所述业务部署请求获取对应的虚拟机模板,并根据所述虚拟机模板生成所述待部署业务对应的业务虚拟机映像,以及根据业务部署集群的状态为所述虚拟机映像分配相应的资源,并执行部署。\n[0015] 根据本发明实施例的多操作系统业务的部署系统通过统一平台对业务及其所依赖的系统环境进行管理,通过对虚拟机模板进行配置生成业务虚拟机映像,满足了自动化部署平台中兼容多操作系统环境的需求,解决了同一操作系统环境中业务软件环境、参数配置等依赖不同的问题,使得无状态的业务在不同物理主机间可以自由迁移。统一业务部署和运维环境还降低了大规模业务混部的部署、扩容、迁移、运维成本,故障恢复效率高,并将完全不同的业务隔离部署在相同的物理机器上,节约了机器和机架位等资源。\n[0016] 在本发明的一个实施例中,还包括虚拟机映像管理中心,用于接收所述业务部署控制中心服务发送的所述业务虚拟机映像并保存,以及对所述虚拟机映像进行管理。\n[0017] 在本发明的一个实施例中,所述虚拟机模板存储在虚拟机模板库中,所述业务部署控制中心服务器根据所述业务部署请求查询所述虚拟机模板库获得所述虚拟机模板。\n[0018] 在本发明的一个实施例中,还包括沙盒环境提供服务器,用于提供沙盒环境并在所述沙盒环境中启动所述虚拟机模板,以供用户根据所述虚拟机模板进行业务部署及调整虚拟机参数。\n[0019] 在本发明的一个实施例中,所述运行信息包括所述待部署业务的操作系统类型信息及版本信息。\n[0020] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。\n附图说明\n[0021] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:\n[0022] 图1是根据本发明实施例的多操作系统业务的部署方法的流程图;\n[0023] 图2是根据本发明实施例的多操作系统业务的部署的结构图;和\n[0024] 图3是根据本发明实施例的多操作系统业务的部署系统的结构示意图。\n具体实施方式\n[0025] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。\n[0026] 下面参考图1描述根据本发明实施例的多操作系统业务的部署方法,包括以下步骤:\n[0027] 步骤S110:业务部署控制中心服务器接收业务部署请求,其中,业务部署请求包括待部署业务的运行信息,运行信息包括待部署业务的操作系统类型信息及版本信息。\n[0028] 步骤S120:业务部署控制中心服务器根据业务部署请求获取对应的虚拟机模板。\n[0029] 其中,在业务部署控制中心服务器根据业务部署请求获取对应的虚拟机模板之后,还包括:业务部署控制中心服务器在沙盒环境中启动虚拟机模板,以供用户根据虚拟机模板进行业务部署及调整虚拟机参数。\n[0030] 步骤S130:业务部署控制中心服务器根据虚拟机模板生成待部署业务对应的业务虚拟机映像。\n[0031] 步骤S140:业务部署控制中心服务器根据业务部署集群的状态为虚拟机映像分配相应的资源,并执行部署。\n[0032] 在本发明的一个实施例中,还包括:业务部署控制中心服务将业务虚拟机映像保存至虚拟机映像管理中心,以使虚拟机映像管理中心对虚拟机映像进行管理。虚拟机模板存储在虚拟机模板库中,业务部署控制中心服务器根据业务部署请求查询虚拟机模板库获得虚拟机模板。\n[0033] 如图2所示,多操作系统业务的部署方法中主要包含四个组成部分,分别为:业务部署控制中心服务器S1、虚拟机映像管理中心S2、虚拟机模板库S3和沙盒环境S4与业务部署集群S5。\n[0034] 下面对这五个部分的功能进行说明。可以理解的是,下面的功能说明仅出于示例目的,根据本发明的实施例不限于此。\n[0035] (一)、业务部署控制中心服务器S1是整个系统的部署调度核心。\n[0036] 主要包括如下功能:\n[0037] (1)业务部署控制中心服务器S1接收用户的生成业务部署请求。其中,业务部署请求包括待部署业务的运行信息,运行信息包括待部署业务的操作系统类型信息及版本信息。\n[0038] (2)业务部署控制中心服务器S1根据业务部署请求,从虚拟机模板库S3中获取对应匹配的虚拟机模板。此外,业务部署控制中心服务器S1在沙盒环境S4中启动虚拟机模板,以供用户根据虚拟机模板进行业务部署及调整虚拟机参数。\n[0039] (3)业务部署控制中心服务器S1根据虚拟机模板生成待部署业务对应的业务虚拟机映像,并将业务虚拟机映像保存至虚拟机映像管理中心S2,以使虚拟机映像管理中心S2对虚拟机映像进行管理。\n[0040] (4)当用户请求部署业务时,业务部署控制中心服务器S1从虚拟机映像管理中心S2提取相应业务的虚拟机映像,从业务部署集群S5中挑选合适的物理资源,部署虚拟机映像并启动虚拟机。物理资源可以包括CPU、内存、磁盘、网络带宽等资源、机架位、网络分布等满足业务冗余度要求。\n[0041] (5)业务部署控制中心服务器S1接收物理机状态汇报,当单个物理机或物理机上的某个虚拟机发生异常时,根据业务策略进行迁移、原地恢复或者反馈错误但不进行自动处理。\n[0042] (二)、虚拟机映像管理中心S2保存所有的业务虚拟机映像,是整个系统的业务软件的存储部分,主要功能包括:\n[0043] (1)保存各业务的业务虚拟机映像,并对业务的业务虚拟机映像版本、启动参数等进行维护。\n[0044] (2)接受业务部署控制中心服务器S1的请求,对业务虚拟机映像进行保存或删除。\n[0045] (3)接受业务部署控制中心服务器S1的请求,返回匹配的特定业务、特定版本的虚拟机映像,供业务部署控制中心服务器S1进行分发部署。\n[0046] (三)、虚拟机模板库S3用于存储虚拟机模板,业务虚拟机映像的生成依赖于虚拟机模板库S3提供的模板。其中,虚拟机模版为未部署业务、仅包含操作系统和基础软件/软件库的虚拟机映像。虚拟机模板库S3负责保存所有的虚拟机模板。虚拟机模板库S3的功能包括:\n[0047] (1)保存多个不同操作系统版本的虚拟机映像,虚拟机映像只安装基本的操作系统和软件。例如包括windows xp/2000server、Red Hat Enterprise Linux、Ubuntu不同操作系统、不同发行版以及不同版本的虚拟机映像。\n[0048] (2)接受业务部署控制中心服务器S1的业务部署请求,匹配并返回与业务部署请求符合的虚拟机模板。\n[0049] (3)支持对虚拟机模板的添加、删除和更新。\n[0050] (四)、沙盒环境S4与业务部署集群S5\n[0051] 沙盒环境S4和业务部署集群S5都可以部署和运行虚拟机映像。\n[0052] 其中,沙盒(Sandbox)用来生成和调试业务虚拟机映像、测试业务运行、提供复现线上问题的半线上环境。沙盒环境S4的主要功能包括:\n[0053] (1)接受业务部署控制中心服务器S1的调度控制,在沙盒环境S4中启动。如图2所示,在沙盒环境S4中启动虚拟机模板A和虚拟机模板B,并根据用户配置生成虚拟机映像。\n[0054] (2)沙盒环境S4接受业务部署控制中心服务器S1的调度控制,提供用户业务调试和测试环境。\n[0055] (3)沙盒环境S4中进行业务部署集群S5功能升级测试和预上线。\n[0056] 业务部署集群S5提供业务部署和运行的线上环境,业务部署集群S5的主要功能包括:\n[0057] (1)接受业务部署控制中心服务器S1的调度控制,进行实际部署和业务的启动。\n[0058] (2)向业务部署控制中心服务器S1汇报自身状态,以便业务部署控制中心服务器S1进行调度决策。\n[0059] 如图2所示,业务部署集群S5中包括了业务A、业务B虚拟机映像,业务A、业务C、业务D虚拟机映像,业务B、业务C虚拟机映像,不同的业务组合保持隔离运行。\n[0060] 下面对本方法的具体部署流程进行说明,可以理解的是,下述说明仅出于示例目的,根据本发明的实施例不限于此。\n[0061] 步骤S210:有新业务需要部署时,由用户提出申请。用户向业务部署控制中心服务器发送业务部署请求,包括待部署业务的运行信息,如新业务所需的操作系统及版本信息。\n[0062] 步骤S220:业务部署控制中心服务器接收业务部署请求,将业务所需的操作系统与版本信息提交至虚拟机模板库,由虚拟机模板库返回最匹配的虚拟机模板。业务部署控制中心服务器在沙盒环境中启动虚拟机模板。\n[0063] 步骤S230:业务部署控制中心服务器向用户返回启动的虚拟机模板的位置信息,由用户对虚拟机模板进行业务部署、调整虚拟机参数并完成测试调试等工作。用户调试后生成业务虚拟机映像。其中,如果虚拟机模板启动失败或发生故障,返回步骤S210,将业务设置为开机自动启动。\n[0064] 步骤S240:用户向业务部署控制中心服务器发送请求,请求中包括业务信息、业务虚拟机位置和参数信息等。\n[0065] 步骤S250:由业务部署控制中心服务器向业务虚拟机映像管理中心提交保存业务虚拟机映像的请求。\n[0066] 步骤S260:虚拟机映像接收请求,业务虚拟机映像管理中心创建新的业务并保存业务虚拟机映像及相关信息。如果保存成功,业务虚拟机映像管理中心返回至业务部署控制中心服务器,由业务部署控制中心服务器对用户进行反馈。如果不成功,重试步骤250和步骤260,如果多次重试都不成功,向用户返回失败信息,要求用户重复步骤240。\n[0067] 步骤S270:用户确认业务虚拟机映像创建成功并被保存至业务虚拟机映像管理中心后,向业务部署控制中心服务器提交请求,例如请求部署规模为N,带有某些限制条件的业务。例如,限制条件可以为单物理机部署个数不能超过M个,不能分布在同一个网段/机架等。\n[0068] 步骤S280:业务部署控制中心服务器根据用户提交的业务部署请求,根据业务部署集群的状态,包括空闲节点、已部署业务情况等,决定给业务虚拟机映像分配的机器和相关资源,并执行部署和启动。\n[0069] 步骤S290:当单个业务虚拟机映像部署出现问题时,根据用户策略执行原地重启或者迁移重启或者报错不进行操作等操作。\n[0070] 多操作系统业务的部署方法可以应用于网页/应用安全检测业务。网页/应用安全检测业务需要windows环境,包括IE内核等。原解决方案为单独维护一批windows机器来运行检测业务,维护成本高,成本包括系统的安装、升级、重装成本,规模扩展成本,安全隔离成本等。使用本方法可以将检测业务迁移至统一的业务部署控制中心服务器,可以方便的扩展业务规模,而无须专门运维业务运行环境,并且可以实现单命令扩容、升级、下线等操作。\n[0071] 多操作系统业务的部署方法还可以应用于Android应用商店应用审核业务。目前,Android应用商店应用审核业务需要在ubuntu环境下使用Qemu模拟器,在Qemu模拟器上安装执行Android应用,以检测提交的应用是否合格。检测内容包括安全隐患、运行稳定性等。\n原解决方案为单独维护Ubuntu机器,在Ubuntu机器上安装Qemu模拟器,逐个执行应用审核。\n原方案需要业务方自行维护物理机器操作系统环境。使用本方法迁移至统一的业务部署控制中心服务器后,只需制作一次映像即可,并无须后续运维业务的运行环境,即可实现单命令扩容和下线等操作。\n[0072] 可以理解的是,上述网页/应用安全检测业务和Android应用商店应用审核业务仅出于示例目的,根据本发明的实施例不限于此。\n[0073] 根据本发明实施例的多操作系统业务的部署方法提供了一种平台化的解决方案,解决了以下三个技术问题:\n[0074] (一)、在平台单一的Linux系统环境下,可以在自动化部署平台中兼容多操作系统环境的需求。\n[0075] (二)、在平台单一的Linux系统环境下,解决了同一操作系统环境中业务软件环境、参数配置等依赖不同的需求的问题。\n[0076] (三)、在平台单一的Linux系统环境下,解决了无状态的业务在不同物理主机间自由迁移的问题。\n[0077] 本方法将复杂的业务环境进行单一化和一致化,统一业务部署和运维环境,降低了大规模业务混部的部署、扩容、迁移、运维成本,节约运维成本。并且本方法基于虚拟机映像管理业务,因此故障恢复效率高,并能有效地将完全不同的业务隔离部署在相同的物理机器上,节约了机器和机架位等资源。\n[0078] 下面参考图3描述根据本发明实施例的多操作系统业务的部署系统100,包括客户端110、业务部署控制中心服务器120、虚拟机映像管理中心130和沙盒环境提供服务器140。\n[0079] 其中,客户端110用于向业务部署控制中心服务器120发送业务部署请求,其中,业务部署请求包括待部署业务的运行信息;业务部署控制中心服务器120用于根据业务部署请求获取对应的虚拟机模板,并根据虚拟机模板生成待部署业务对应的业务虚拟机映像,以及根据业务部署集群的状态为虚拟机映像分配相应的资源,并执行部署。\n[0080] 还包括虚拟机映像管理中心130,用于接收业务部署控制中心服务发送的业务虚拟机映像并保存,以及对虚拟机映像进行管理。\n[0081] 其中,虚拟机模板存储在虚拟机模板库中,业务部署控制中心服务器120根据业务部署请求查询虚拟机模板库获得虚拟机模板。\n[0082] 还包括:沙盒环境提供服务器140,用于提供沙盒环境并在沙盒环境中启动虚拟机模板,以供用户根据虚拟机模板进行业务部署及调整虚拟机参数。\n[0083] 下面对本系统举例进行详细说明。可以理解的是,下面的功能说明仅出于示例目的,根据本发明的实施例不限于此。\n[0084] (一)、业务部署控制中心服务器120是整个系统的部署调度核心。主要包括如下功能:\n[0085] (1)业务部署控制中心服务器120接收客户端110发送的业务部署请求。其中,业务部署请求包括待部署业务的运行信息,运行信息包括待部署业务的操作系统类型信息及版本信息。\n[0086] (2)业务部署控制中心服务器120根据业务部署请求,从虚拟机模板库中获取对应匹配的虚拟机模板。此外,业务部署控制中心服务器120通过沙盒环境提供服务器140在沙盒环境中启动虚拟机模板,以供用户通过客户端110根据虚拟机模板进行业务部署及调整虚拟机参数。\n[0087] (3)业务部署控制中心服务器120根据虚拟机模板生成待部署业务对应的业务虚拟机映像,并将业务虚拟机映像保存至虚拟机映像管理中心130,以使虚拟机映像管理中心\n130对虚拟机映像进行管理。\n[0088] (4)当客户端110请求部署业务时,业务部署控制中心服务器120从虚拟机映像管理中心130提取相应业务的虚拟机映像,从业务部署集群中挑选合适的物理资源,部署虚拟机映像并启动虚拟机。物理资源可以包括CPU、内存、磁盘、网络带宽等资源、机架位、网络分布等满足业务冗余度要求。\n[0089] (5)业务部署控制中心服务器120接收物理机状态汇报,当单个物理机或物理机上的某个虚拟机发生异常时,根据业务策略进行迁移、原地恢复或者反馈错误但不进行自动处理。\n[0090] (二)、虚拟机映像管理中心130保存所有的业务虚拟机映像,是整个系统的业务软件的存储部分,主要功能包括:\n[0091] (1)保存各业务的业务虚拟机映像,并对业务的业务虚拟机映像版本、启动参数等进行维护。\n[0092] (2)接受业务部署控制中心服务器120的请求,对业务虚拟机映像进行保存或删除。\n[0093] (3)接受业务部署控制中心服务器120的请求,返回匹配的特定业务、特定版本的虚拟机映像,供业务部署控制中心服务器120进行分发部署。\n[0094] (三)、虚拟机模板库用于存储虚拟机模板,业务虚拟机映像的生成依赖于虚拟机模板库提供的模板。其中,虚拟机模版为未部署业务、仅包含操作系统和基础软件/软件库的虚拟机映像。虚拟机模板库负责保存所有的虚拟机模板。虚拟机模板库的功能包括:\n[0095] (1)保存多个不同操作系统版本的虚拟机映像,虚拟机映像只安装基本的操作系统和软件。例如包括windows xp/2000server、Red Hat Enterprise Linux、Ubuntu不同操作系统、不同发行版以及不同版本的虚拟机映像。\n[0096] (2)接受业务部署控制中心服务器120的业务部署请求,匹配并返回与业务部署请求符合的虚拟机模板。\n[0097] (3)支持对虚拟机模板的添加、删除和更新。\n[0098] (四)、沙盒环境与业务部署集群。沙盒环境和业务部署集群都可以部署和运行虚拟机映像。\n[0099] 其中,沙盒(Sandbox)用来生成和调试业务虚拟机映像、测试业务运行、提供复现线上问题的半线上环境。沙盒环境提供服务器140的主要功能包括:\n[0100] (1)接受业务部署控制中心服务器120的调度控制,在沙盒环境中启动虚拟机模板,并根据用户配置生成虚拟机映像。\n[0101] (2)沙盒环境接受业务部署控制中心服务器120的调度控制,提供用户业务调试和测试环境。\n[0102] (3)沙盒环境中进行业务部署集群功能升级测试和预上线。\n[0103] 业务部署集群提供业务部署和运行的线上环境,业务部署集群的主要功能包括:\n[0104] 接受业务部署控制中心服务器120的调度控制,进行实际部署和业务的启动。\n[0105] 向业务部署控制中心服务器120汇报自身状态,以便业务部署控制中心服务器120进行调度决策。\n[0106] 下面对本系统的具体部署流程进行说明,可以理解的是,下述说明仅出于示例目的,根据本发明的实施例不限于此。\n[0107] 步骤S310:有新业务需要部署时,由用户提出申请。用户通过客户端110向业务部署控制中心服务器120发送业务部署请求,包括待部署业务的运行信息,如新业务所需的操作系统及版本信息。\n[0108] 步骤S320:业务部署控制中心服务器120接收业务部署请求,将业务所需的操作系统与版本信息提交至虚拟机模板库,由虚拟机模板库返回最匹配的虚拟机模板。业务部署控制中心服务器120在通过沙盒环境提供服务器140在沙盒环境中启动虚拟机模板。\n[0109] 步骤S330:业务部署控制中心服务器120向用户返回启动的虚拟机模板的位置信息,由用户通过客户端110对虚拟机模板进行业务部署、调整虚拟机参数并完成测试调试等工作。用户调试后生成业务虚拟机映像。其中,如果虚拟机模板启动失败或发生故障,返回步骤S210,将业务设置为开机自动启动。\n[0110] 步骤S340:用户通过客户端110向业务部署控制中心服务器120发送请求,请求中包括业务信息、业务虚拟机位置和参数信息等。\n[0111] 步骤S350:由业务部署控制中心服务器120向业务虚拟机映像管理中心130提交保存业务虚拟机映像的请求。\n[0112] 步骤S360:虚拟机映像接收请求,业务虚拟机映像管理中心130创建新的业务并保存业务虚拟机映像及相关信息。如果保存成功,业务虚拟机映像管理中心130返回至业务部署控制中心服务器120,由业务部署控制中心服务器120向客户端110进行反馈。如果不成功,重试步骤250和步骤260,如果多次重试都不成功,向客户端110返回失败信息,要求用户重复步骤240。\n[0113] 步骤S370:用户通过客户端110确认业务虚拟机映像创建成功并被保存至业务虚拟机映像管理中心130后,向业务部署控制中心服务器120提交请求,例如请求部署规模为N,带有某些限制条件的业务。例如,限制条件可以为单物理机部署个数不能超过M个,不能分布在同一个网段/机架等。\n[0114] 步骤S380:业务部署控制中心服务器120根据客户端110提交的业务部署请求,根据业务部署集群的状态,包括空闲节点、已部署业务情况等,决定给业务虚拟机映像分配的机器和相关资源,并执行部署和启动。\n[0115] 步骤S390:当单个业务虚拟机映像部署出现问题时,根据用户策略执行原地重启或者迁移重启或者报错不进行操作等操作。\n[0116] 多操作系统业务的部署系统可以应用于网页/应用安全检测业务。网页/应用安全检测业务需要windows环境,包括IE内核等。原解决方案为单独维护一批windows机器来运行检测业务,维护成本高,成本包括系统的安装、升级、重装成本,规模扩展成本,安全隔离成本等。使用本系统可以将检测业务迁移至统一的业务部署控制中心服务器120,可以方便的扩展业务规模,而无须专门运维业务运行环境,并且可以实现单命令扩容、升级、下线等操作。\n[0117] 多操作系统业务的部署系统还可以应用于Android应用商店应用审核业务。目前,Android应用商店应用审核业务需要在ubuntu环境下使用Qemu模拟器,在Qemu模拟器上安装执行Android应用,以检测提交的应用是否合格。检测内容包括安全隐患、运行稳定性等。\n原解决方案为单独维护Ubuntu机器,在Ubuntu机器上安装Qemu模拟器,逐个执行应用审核。\n原方案需要业务方自行维护物理机器操作系统环境。使用本系统迁移至统一的业务部署控制中心服务器120后,只需制作一次映像即可,并无须后续运维业务的运行环境,即可实现单命令扩容和下线等操作。\n[0118] 可以理解的是,上述网页/应用安全检测业务和Android应用商店应用审核业务仅出于示例目的,根据本发明的实施例不限于此。\n[0119] 根据本发明实施例的多操作系统业务的部署系统提供了一种平台化的解决方案,解决了以下三个技术问题:\n[0120] (一)、在平台单一的Linux系统环境下,可以在自动化部署平台中兼容多操作系统环境的需求。\n[0121] (二)、在平台单一的Linux系统环境下,解决了同一操作系统环境中业务软件环境、参数配置等依赖不同的需求的问题。\n[0122] (三)、在平台单一的Linux系统环境下,解决了无状态的业务在不同物理主机间自由迁移的问题。\n[0123] 本系统将复杂的业务环境进行单一化和一致化,统一业务部署和运维环境,降低了大规模业务混部的部署、扩容、迁移、运维成本,节约运维成本。并且本方法基于虚拟机映像管理业务,因此故障恢复效率高,并能有效地将完全不同的业务隔离部署在相同的物理机器上,节约了机器和机架位等资源。\n[0124] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。\n[0125] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
法律信息
- 2017-08-18
- 2013-08-28
实质审查的生效
IPC(主分类): G06F 9/46
专利申请号: 201310180211.3
申请日: 2013.05.15
- 2013-07-31
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-07-13
|
2011-01-10
| | |
2
| |
2012-07-25
|
2011-01-25
| | |
3
| |
2013-01-16
|
2012-09-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |