软件操作系统及方法

文档序号:6363106阅读:232来源:国知局
专利名称:软件操作系统及方法
技术领域
本发明涉及一种软件操作系统及方法。
背景技术
目前主流的云计算服务平台,主要研究提供各种资源的使用和管理的平台,包括 IaaS (Infrastructure as a Service 基础设施即服务)、SaaS (Software as a Service 软 件即服务),而PaaS (Platform as a Servcie)据其提供的服务又呈现出提供各种需求的功 能,包括App Engine、数据库云服务平台等等,软件安装服务系统即属于PaaS类型的云计 算系统,传统的IaaS系统,主要考虑提供各种基础设施资源给终端用户,在如何充分、方便 利用基础设施资源这块,在软件安装服务系统方面其实有很多可发挥和想象的空间。
发明名称为“一种在虚拟化平台中部署应用的方法及虚拟平台管理器”(申请号: 200910243973.7)的专利公开了一种在虚拟机的启动阶段增加的软件安装过程的方法,具 体是涉及一种方便的集群部署方法,这种方法不但灵活性欠佳而且由于其采用的是挂载虚 拟磁盘的方式,所以只能在虚拟机启动阶段触发安装过程。
现有的云计算IaaS平台主要利用虚拟化技术,给用户提供可定制的、按需使用的 硬件计算或其他基础设施资源,用户可利用各种终端查阅和管理自己的虚拟基础设施资源 (主要包括虚拟机、虚拟存储空间等),在这种模式下,如何实现虚拟机上运行的各种软件 在用户终端上一键安装成功,甚至在部署复杂集群时通过终端不但能按配置要求启动虚拟 机,而且能同时安装其需要的各种软件是目前业界亟待解决的问题。发明内容
本发明的目的在于提供一种软件操作系统及方法,用户通过终端服务模块可一键 安装软件到用户相关的虚拟机中,通过虚拟化框架提供的通讯机制在随时触发虚拟机的软 件安装或卸载过程,利用此技术用户可更方便部署、管理自己的集群环境,且能方便更多的 第三方应用开发者提供自己的应用软件包给终端用户使用,可整合IaaS和SaaS两类系统, 把硬件资源、软件资源都以非常便捷的方式如通过终端服务模块的终端界面操作方式进行 管理和使用。
为解决上述问题,本发明提供一种软件操作系统,包括:终端服务模块、调度控制 模块、软件仓库管理模块、宿主机Agent和虚拟机Agent,其中,
所述终端服务模块用于获取用户的操作请求并发送给所述调度控制模块;
所述调度控制模块用于根据操作请求生成操作指令并发送给宿主机Agent ;
所述宿主机Agent用于将所述操作指令发送给虚拟机Agent ;
所述虚拟机Agent用于执行所述操作指令;
所述软件仓库管理模块用于存储和提供各种软件包。
进一步的,在上述系统中,所述操作请求包括安装软件请求或卸载软件请求。
进一步的,在上述系统中,所述安装软件请求包括虚拟机Agent的名称、宿主机Agent的物理地址、软件标示信息和软件安装路径的信息。
进一步的,在上述系统中,所述卸载软件请求包括虚拟机Agent的名称、宿主机 Agent的物理地址、软件标示信息和软件卸载路径的信息。
进一步的,在上述系统中,所述虚拟机Agent还用于向所述调度控制模块发送获 取软件包的标准配置文件的请求和报告操作指令执行状况,并向软件仓库管理模块请求下 载软件包。
进一步的,在上述系统中,所述调度控制模块还用于在发送所述操作指令的同时 向所述宿主机Agent发送一令牌;
所述宿主机Agent还用于在发送所述操作指令的同时向所述虚拟机Agent发送所 述令牌。
进一步的,在上述系统中,所述虚拟机Agent还用于生成一密钥,并将所述密钥和 令牌发送给所述调度控制模块。
进一步的,在上述系统中,还包括一元数据模块,所述元数据模块用于存储和提供 所述标准配置文件;
所述调度控制模块,还用于向所述元数据模块发送获取所述标准配置文件的请 求。
进一步的,在上述系统中,还包括一软件包管理模块,所述软件包管理模块用于接 受用户的软件上传请求、将软件打包发送到所述软件仓库管理模块和生成所述标准配置文 件并发送到所述元数据模块。
进一步的,在上述系统中,所述标准配置文件的格式包括软件名称、版本号和软件 在软件包中的相对位置。
进一步的,在上述系统中,所述标准配置文件的格式还包括软件安装脚本相对路 径、软件卸载脚本相对路径或软件权限中的一种或任意组合。
进一步的,在上述系统中,所述宿主机Agent根据所述虚拟机Agent的不同虚拟化 技术采用相应的消息通讯机制发送所述操作指令给所述虚拟机Agent。
进一步的,在上述系统中,所述宿主机Agent与基于Xen架构的虚拟机Agent通讯 时采用Xenstore消息通讯机制发送所述操作指令给所述虚拟机Agent。
根据本发明的另一面,提供一种软件操作方法,包括:
终端服务模块获取用户的操作请求并发送给调度控制模块;
调度控制模块根据所述操作请求生成操作指令并发送给宿主机Agent ;
宿主机Agent将所述操作指令发送给虚拟机Agent ;
虚拟机Agent执行所述操作指令。
进一步的,在上述方法中,所述操作请求包括安装软件请求或卸载软件请求。
进一步的,在上述方法中,当所述操作请求为安装软件请求时,所述虚拟机Agent 执行所述操作指令的步骤中包括:
所述虚拟机Agent从所述调度控制模块获取软件包的标准配置文件;
所述虚拟机Agent分析所述标准配置文件并向软件仓库管理模块请求下载软件 包;
所述软件仓库管理模块根据所述请求向所述虚拟机Agent发送软件包;
所述虚拟机Agent向所述调度控制模块报告软件包下载完成;
所述虚拟机Agent安装所述软件包并向所述调度控制模块报告软件安装执行情况。
进一步的,在上述方法统中,当所述操作请求为卸载软件请求时,所述虚拟机 Agent执行所述操作指令的步骤中包括:
所述虚拟机Agent从所述调度控制模块获取软件包的标准配置文件;
所述虚拟机Agent卸载所述软件包并向所述调度控制模块报告软件卸载执行情况。
进一步的,在上述方法中,所述调度控制模块将操作指令发送给所述宿主机Agent 的同时向所述宿主机Agent发送一令牌;
所述宿主机Agent将所述操作指令发送给虚拟机Agent的同时向所述虚拟机 Agent发送所述令牌。
进一步的,在上述方法中,在所述虚拟机Agent从所述调度控制模块获取软件相 关的标准配置文件的步骤之前,还包括所述虚拟机Agent生成一密钥,并将所述密钥和令 牌发送给所述调度控制模块。
进一步的,在上述方法中,所述调度控制模块从一元数据模块获取所述标准配置 文件。
进一步的,在上述方法中,还包括软件包管理模块接受用户的软件上传请求、将软 件打包发送到所述软件仓库管理模块以及生成软件包的标准配置文件并发送到所述元数 据模块。
进一步的,在上述方法中,所述宿主机Agent将所述操作指令发送给虚拟机Agent 的步骤中,所述宿主机Agent根据所述虚拟机Agent的不同虚拟化技术采用相应的消息通 讯机制。
进一步的,在上述方法中,所述宿主机Agent与基于Xen架构的虚拟机Agent通讯 时采用Xenstore消息通讯机制发送所述操作指令给所述虚拟机Agent。
与现有技术相比,本发明通过终端服务模块先获取用户的操作请求,根据所述操 作请求生成操作指令并发送给所述调度控制模块,调度控制模块再将所述操作指令发送 给所述宿主机Agent,然后宿主机Agent将所述操作指令发送给虚拟机Agent,最后虚拟机 Agent执行所述操作指令,为用户提供依赖虚拟化平台提供的软件安装服务平台,用户通过 终端服务模块可一键安装软件到用户相关的虚拟机中,通过虚拟化框架提供的通讯机制在 随时触发虚拟机的软件安装或卸载过程,利用此技术用户可更方便部署、管理自己的集群 环境。
另外,通过软件包管理模块接受用户的软件上传请求、将软件打包发送到所述软 件仓库管理模块以及生成软件相关的标准配置文件并发送到所述元数据模块,可方便更多 的第三方应用开发者提供自己的应用软件包给终端用户使用,可整合IaaS和SaaS两类系 统,把硬件资源、软件资源都以非常便捷的方式如通过终端服务模块的终端界面操作方式 进行管理和使用。
此外,通过调度控制模块先将所述操作指令发送给所述宿主机Agent,然后宿主机 Agent将所述操作指令发送给虚拟机Agent,实现利用虚拟化框架的通讯机制来以事件触发方式通知虚拟机Agent,不会占用虚拟机通讯端口,而且虚拟机Agent也更安全可靠。


图1是本发明一实施例的软件操作系统的模块示意图2是本发明一实施例的软件操作方法的流程图3是图2中步骤S5的安装软件详细流程图4是图2中步骤S5的卸载软件详细流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
图1是本发明一实施例的软件操作系统的模块示意图。
如图1所示,本发明还提供一种软件操作系统,所述操作系统负责的操作包括安 装软件操作或卸载软件操作,所述操作系统具体包括:软件包管理模块1、终端服务模块2、 调度控制模块3、软件仓库管理模块4、宿主机Agent5、虚拟机Agent6和元数据模块7。
软件包管理模块I用于接受用户的软件上传请求、将软件打包发送到所述软件仓 库管理模块4和生成标准配置文件并发送到所述元数据模块7,具体的,所述标准配置文件 的格式包括软件名称、版本号和软件在软件包中的相对位置,除此之外,所述标准配置文件 的格式还可包括软件安装脚本相对路径、软件卸载脚本相对路径或软件权限中的一种或任 意组合,其中,安装脚本相对路径或软件卸载脚本相对路径主要是针对shell或者bat脚本 的可选项,这样安装软件时将根据软件安装脚本和传入的软件安装目录参数、软件相对位 置信息安装软件;没有指定安装脚本时虚拟机Agent采用默认的安装脚本执行安装过程; 软件包管理模块I是提供给用户的工具包,可以支持将软件按照格式要求打包、上传到软 件仓库管理模块4的功能,终端用户或者系统管理员可按照格式要求制作待安装软件包, 主要包括其需要依赖的其他软件名称和版本、上传软件包到系统的软件仓库、填写好软件 包的标准配置文件如包括软件名称、使用权限后上传软件包到软件仓库管理模块4,以后即 可提供给用户在终端上点击方式安装软件到相关的虚拟机Agent 6上,从而方便更多的第 三方应用开发者提供自己的应用软件包给终端用户使用,实现IaaS和SaaS两类系统的整 合,把硬件资源、软件资源都以非常便捷的方式如通过终端服务模块的终端界面操作方式 进行管理和使用。
所述终端服务模块2用于获取用户的操作请求并发送给所述调度控制模块3,具 体的,所述终端服务模块2可设于用户的终端设备上,所述操作请求包括安装软件请求或 卸载软件请求,例如在安装软件时,用户可在终端设备上按条件查询到其需要的软件,该软 件可以是仅限于用户有使用权限的软件,点击“安装”操作,终端服务模块2提示用户选择 需要安装此软件的运行中的虚拟机Agent,用户选择后系统开始根据软件的标准配置安装 软件到对应的虚拟机,另外,在卸载软件时,用户通过所述终端服务模块2查询到已安装某 软件的运行中虚拟机,点击“卸载软件”操作,系统开始根据相关信息卸载已安装在虚拟机 上的软件,其中,所述安装软件请求包括虚拟机Agent的名称、宿主机Agent的物理地址、软 件标示信息和软件安装路径的信息,所述卸载软件请求包括虚拟机Agent的名称、宿主机Agent的物理地址、软件标示信息和软件卸载路径的信息。
所述调度控制模块3用于根据所述操作请求生成操作指令并发送给所述宿主机 Agent,具体的,调度控制模块3是整个软件操作系统的控制器,支持与终端服务模块交互 完成各种操作,支持虚拟机Agent查询软件包的标准配置文件等,若所述标准配置文件存 储于一元数据模块7中,所述调度控制模块3还用于向所述元数据模块7发送获取所述标 准配置文件的请求,为了保证数据传输的安全可靠,所述调度控制模块3还用于在发送所 述操作指令的同时向所述宿主机Agent发送一令牌所述令牌用于供调度控制模块3和虚拟 机Agent 6之间互相确认身份。
宿主机Agent 5用于将所述操作指令发送给虚拟机Agent 6,即转发调度控制 模块3发送给虚拟机Agent 6的操作指令,具体的,所述宿主机Agent 5根据所述虚拟 机Agent 6的不同虚拟化技术采用相应的消息通讯机制发送所述操作指令给所述虚拟机 Agent 6,例如所述宿主机Agent 5与基于Xen (开放源代码虚拟机监视器)架构的虚拟机 Agent 6通讯时采用Xenstore消息通讯机制发送所述操作指令给所述虚拟机Agent 6,其 中,Xenstore主要是用来控制建立来自客户机的共享内存区域的事件通道、管理客户机的 通知、收集客户机状态数据的工具,另外,为了保证数据传输安全可靠所述宿主机Agent还 用于在发送所述操作指令的同时向所述虚拟机Agent发送从所述调度控制模块3接收到的 令牌。
虚拟机Agent 6用于执行所述操作指令,具体的,所述虚拟机Agent6用于接受调 度控制模块3发送的软件安装指令,向所述调度控制模块3发送获取软件相关的标准配置 文件的请求、分析所述标准配置文件和报告操作指令执行状况、向软件仓库管理模块4请 求下载软件包,所述标准配置文件可以包括软件名称、软件在软件包中的位置和软件权限, 所述标准配置文件可以直接存储在所述调度控制模块3中,也可以另外存放于一元数据模 块7,供所述调度控制模块3在需要时进行调取,另外,所述虚拟机Agent 6还用于生成一 密钥,所述虚拟机Agent 6将所述密钥和从所述宿主机Agent 5接收到的令牌发送给所述 调度控制模块3,在所述虚拟机Agent 6和调度控制模块3通过令牌握手后,可以通过密钥 保证所述虚拟机Agent 6从调度控制模块3获取标准配置文件等后续数据传输的安全可 靠,需要说明的是,关于虚拟机Agent 6接受调度控制模块3操作指令的通讯机制中,虚拟 机Agent 6如果要接受调度控制模块3下发的操作指令,传统的通讯方式是虚拟机启动服 务监听某端口等待调度控制模块访问,但是这样对用户虚拟机的侵入性比较大,本发明通 过宿主机Agent 5传递调度控制模块3要发送给虚拟机Agent 6的操作指令,利用这种虚 拟化框架的通讯机制来以事件触发方式通知虚拟机Agent 6,首先不会占用虚拟机Agent6通讯端口,同时虚拟机Agent 6也更安全可靠。
所述软件仓库管理模块4用于存储和提供各种软件包,即接受软件包管理模块I 上传软件包和查询软件包信息的指令、接受虚拟机Agent 6的下载软件包的操作指令和标 准配置文件、管理各种软件包。
所述元数据模块7用于存储和提供所述标准配置文件。
本发明为用户提供依赖虚拟化平台提供的软件安装服务平台,用户通过终端服务 模块可一键安装软件到用户相关的虚拟机中,通过虚拟化框架提供的通讯机制在随时触发 虚拟机的软件安装或卸载过程,利用此技术用户可更方便部署、管理自己的集群环境。
另外,虚拟机Agent 6与调度控制模块3交互的安全机制是必须更多考虑的因数, 本发明通过在调度控制模块3下发操作指令给虚拟机Agente的同时传递本次操作所用的 令牌,然后虚拟机Agent 6与调度控制模块3可使用该令牌来确认自己的身份,双方握手 后,可由虚拟机Agent 6提供本次通话时执行业务数据传递的密钥,从而保证数据传输的安全可靠性。
图2是本发明一实施例的软件操作方法示意图,图3是图2中步骤S5的安装软件 详细流程图,图4是图2中步骤S5的卸载软件详细流程图。
如图1至图4所示,本发明提供一种软件操作方法,包括:
步骤SI,软件包管理模块I接受用户的软件上传请求、将软件打包发送到所述软 件仓库管理模块4以及生成软件包的标准配置文件并发送到所述元数据模块7,具体的,所 述标准配置文件的格式包括软件名称、版本号和软件在软件包中的相对位置,另外,所述标 准配置文件的格式还包括软件安装脚本相对路径、软件卸载脚本相对路径或软件权限中的 一种或任意组合;
步骤S2,终端服务模块2获取用户的操作请求,根据所述操作请求生成操作指令 并发送给所述调度控制模块3,具体的,所述操作请求包括安装软件请求或卸载软件请求, 例如,用户在终端设备上选择合适的待安装软件和需要安装此软件的运行中虚拟机后,点 击“安装”操作,终端服务模块3接受到用户操作请求后,发送相关的操作指令给调度控制 模块,其中,所述安装软件请求包括虚拟机Agent 6的名称、宿主机Agent 5的物理地址、软 件标示信息和软件安装路径的信息;所述卸载软件请求包括虚拟机Agent 6的名称、宿主 机Agent 5的物理地址、软件标示信息和软件卸载路径的信息;
步骤S3,调度控制模块3将所述操作指令发送给所述宿主机Agent 5,具体的,为 了供调度控制模块3和虚拟机Agent 6互相确认身份,保证数据传输安全可靠,所述调度控 制模块3将操作指令发送给所述宿主机Agent 5的同时向所述宿主机Agent 5发送一令 牌;
步骤S4,宿主机Agent 5将所述操作指令发送给虚拟机Agent 6,具体的,本步骤 中所述宿主机Agent 5根据所述虚拟机Agent 6的不同虚拟化技术采用相应的消息通讯机 制,例如所述宿主机Agent 5与基于Xen架构的虚拟机Agent 6通讯时采用Xenstore消息 通讯机制发送所述操作指令给所述虚拟机Agent 6,另外,为了供调度控制模块3和虚拟机 Agent 6互相确认身份,保证数据传输安全可靠,所述宿主机Agent 5将所述操作指令发送 给虚拟机Agent 6的同时向所述虚拟机Agent 6发送所述令牌;
步骤S5,虚拟机Agent执行所述操作指令。
具体的,如图3所示,当所述操作请求为安装软件请求时,步骤S5包括:
步骤S511,所述虚拟机Agent 6生成一密钥,并将所述密钥和从所述宿主机Agent 5收到的令牌发送给所述调度控制模块,通过密钥保证所述虚拟机Agent 6从调度控制模 块3获取标准配置文件等后续数据传输的安全可靠;
步骤S512,所述虚拟机Agent 6从所述调度控制模块3获取软件包的标准配置文 件,具体的,所述标准配置文件可直接存储于所述调度控制模块3,也可存储于一元数据模 块7中,当所述虚拟机Agent 6需要获取所述标准配置文件时,所述调度控制模块3从一元 数据模块7获取所述标准配置文件,例如调度控制模块3向一元数据模块7发送获取所述标准配置文件的请求和密钥,然后元数据模块7将标准配置文件和密钥发送给调度控制模 块3,调度控制模块3再将标准配置文件和密钥发送给虚拟机Agent 6 ;
步骤S513,所述虚拟机Agent 6分析所述标准配置文件并向所述软件仓库管理模 块3请求下载指定软件标示信息和版本的软件包;
步骤S514,所述软件仓库管理模块4根据所述请求向所述虚拟机Agent 6发送软 件包;
步骤S515,所述虚拟机Agent 6向所述调度控制模块3报告软件包下载完成;
步骤S516,所述虚拟机Agent 6安装所述软件包并向所述调度控制模块3报告软 件安装执行情况,如软件安装进度、软件安装完成等情况,所述虚拟机Agent 6可根据标准 配置文件中指定的软件安装脚本相对路径安装所述软件包,没有指定安装脚本相对路径时 虚拟机Agent采用默认的安装脚本执行安装过程。
如图4所示,当所述操作请求为卸载软件请求时,步骤S5包括:
步骤S521,所述虚拟机Agent 6从所述调度控制模块3获取软件包的标准配置文 件;
步骤S522,所述虚拟机Agent 6卸载所述软件包并向所述调度控制模块报告软件 卸载执行情况。
本发明通过终端服务模块先获取用户的操作请求,根据所述操作请求生成操作指 令并发送给所述调度控制模块,调度控制模块再将所述操作指令发送给所述宿主机Agent, 然后宿主机Agent将所述操作指令发送给虚拟机Agent,最后虚拟机Agent执行所述操作指 令,为用户提供依赖虚拟化平台提供的软件安装服务平台,用户通过终端服务模块可一键 安装软件到用户相关的虚拟机中,通过虚拟化框架提供的通讯机制在随时触发虚拟机的软 件安装或卸载过程,利用此技术用户可更方便部署、管理自己的集群环境。
另外,通过软件包管理模块接受用户的软件上传请求、将软件打包发送到所述软 件仓库管理模块以及生成软件相关的标准配置文件并发送到所述元数据模块,可方便更多 的第三方应用开发者提供自己的应用软件包给终端用户使用,本发明可整合IaaS和SaaS 两类系统,把硬件资源、软件资源都以非常便捷的方式如通过终端服务模块的终端界面操 作方式进行管理和使用。
此外,通过调度控制模块先将所述操作指令发送给所述宿主机Agent,然后宿主机 Agent将所述操作指令发送给虚拟机Agent,实现利用虚拟化框架的通讯机制来以事件触 发方式通知虚拟机Agent,不会占用虚拟机通讯端口,而且虚拟机Agent也更安全可靠。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统 而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明 即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些 功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
权利要求
1.一种软件操作系统,其特征在于,包括:终端服务模块、调度控制模块、软件仓库管理模块、宿主机Agent和虚拟机Agent,其中,所述终端服务模块用于获取用户的操作请求并发送给所述调度控制模块;所述调度控制模块用于根据操作请求生成操作指令并发送给宿主机Agent ;所述宿主机Agent用于将所述操作指令发送给虚拟机Agent ;所述虚拟机Agent用于执行所述操作指令;所述软件仓库管理模块用于存储和提供各种软件包。
2.如权利要求1所述的一种软件操作系统,其特征在于,所述操作请求包括安装软件请求或卸载软件请求。
3.如权利要求2所述的软件操作系统,其特征在于,所述安装软件请求包括虚拟机 Agent的名称、宿主机Agent的物理地址、软件标示信息和软件安装路径的信息。
4.如权利要求2所述的软件操作系统,其特征在于,所述卸载软件请求包括虚拟机 Agent的名称、宿主机Agent的物理地址、软件标示信息和软件卸载路径的信息。
5.如权利要求1所述的软件操作系统,其特征在于,所述虚拟机Agent还用于向所述调度控制模块发送获取软件包的标准配置文件的请求、分析所述标准配置文件和报告操作指令执行状况,并向软件仓库管理模块请求下载软件包。
6.如权利要求5所述的软件操作系统,其特征在于,所述调度控制模块还用于在发送所述操作指令的同时向所述宿主机Agent发送一令牌;所述宿主机Agent还用于在发送所述操作指令的同时向所述虚拟机Agent发送所述令牌。
7.如权利要求6所述的软件操作系统,其特征在于,所述虚拟机Agent还用于生成一密钥,并将所述密钥和令牌发送给所述调度控制模块。
8.如权利要求5所述的软件操作系统,其特征在于,还包括一元数据模块,所述元数据模块用于存储和提供所述标准配置文件,所述调度控制模块还用于向所述元数据模块发送获取所述标准配置文件的请求。
9.如权利要求8所述的软件操作系统,其特征在于,还包括一软件包管理模块,所述软件包管理模块用于接受用户的软件上传请求、将软件打包发送到所述软件仓库管理模块和生成所述标准配置文件并发送到所述元数据模块。
10.如权利要求9所述的软件操作系统,其特征在于,所述标准配置文件的格式包括软件名称、版本号和软件在软件包中的相对位置。
11.如权利要求10所述的软件操作系统,其特征在于,所述标准配置文件的格式还包括软件安装脚本相对路径、软件卸载脚本相对路径或软件权限中的一种或任意组合。
12.如权利要求1所述的软件操作系统,其特征在于,所述宿主机Agent根据所述虚拟机Agent的不同虚拟化技术采用相应的消息通讯机制发送所述操作指令给所述虚拟机 Agent。
13.如权利要求12所述的软件操作系统,其特征在于,所述宿主机Agent与基于Xen 架构的虚拟机Agent通讯时采用Xenstore消息通讯机制发送所述操作指令给所述虚拟机Agent。
14.一种软件操作方法,其特征在于,包括:终端服务模块获取用户的操作请求并发送给调度控制模块;调度控制模块根据所述操作请求生成操作指令并发送给宿主机Agent ;宿主机Agent将所述操作指令发送给虚拟机Agent ;虚拟机Agent执行所述操作指令。
15.如权利要求14所述的软件操作方法,其特征在于,所述操作请求包括安装软件请求或卸载软件请求。
16.如权利要求14所述的软件操作方法,其特征在于,当所述操作请求为安装软件请求时,所述虚拟机Agent执行所述操作指令的步骤中包括:所述虚拟机Agent从所述调度控制模块获取软件包的标准配置文件;所述虚拟机Agent分析所述标准配置文件并向软件仓库管理模块请求下载软件包;所述软件仓库管理模块根据所述请求向所述虚拟机Agent发送软件包;所述虚拟机Agent向所述调度控制模块报告软件包下载完成;所述虚拟机Agent安装所述软件包并向所述调度控制模块报告软件安装执行情况。
17.如权利要求16所述的软件操作方法,其特征在于,所述调度控制模块将操作指令发送给所述宿主机Agent的同时向所述宿主机Agent发送一令牌;所述宿主机Agent将所述操作指令发送给虚拟机Agent的同时向所述虚拟机Agent发送所述令牌。
18.如权利要求17所述的软件操作方法,其特征在于,在所述虚拟机Agent从所述调度控制模块获取软件相关的标准配置文件的步骤之前,还包括所述虚拟机Agent生成一密钥,并将所述密钥和令牌发送给所述调度控制模块。
19.如权利要求14所述的软件操作方法,其特征在于,当所述操作请求为卸载软件请求时,所述虚拟机Agent执行所述操作指令的步骤中包括:所述虚拟机Agent从所述调度控制模块获取软件包的标准配置文件;所述虚拟机Agent卸载所述软件包并向所述调度控制模块报告软件卸载执行情况。
20.如权利要求18或19所述的软件操作方法,其特征在于,所述调度控制模块从一元数据模块获取所述标准配置文件。
21.如权利要求20所述的软件操作方法,其特征在于,还包括软件包管理模块接受用户的软件上传请求、将软件打包发送到所述软件仓库管理模块以及生成软件包的标准配置文件并发送到所述元数据模块。
22.如权利要求14所述的软件操作方法,其特征在于,所述宿主机Agent将所述操作指令发送给虚拟机Agent的步骤中,所述宿主机Agent根据所述虚拟机Agent的不 同虚拟化技术采用相应的消息通讯机制。
23.如权利要求22所述的软件操作方法,其特征在于,所述宿主机Agent与基于Xen 架构的虚拟机Agent通讯时采用Xenstore消息通讯机制发送所述操作指令给所述虚拟机 Agent。
全文摘要
本发明涉及一种软件操作系统及方法,所述系统包括终端服务模块,用于获取用户的操作请求并发送给所述调度控制模块;调度控制模块,用于根据所述操作请求生成操作指令并发送给所述宿主机Agent;宿主机Agent,用于将所述操作指令发送给虚拟机Agent;虚拟机Agent,用于执行所述操作指令;所述软件仓库管理模块,用于存储和提供各种软件包。本发明为用户提供依赖虚拟化平台提供的软件安装服务平台,用户通过终端服务模块可一键安装软件到用户相关的虚拟机中,通过虚拟化框架提供的通讯机制在随时触发虚拟机的软件安装或卸载过程,利用此技术用户可更方便部署、管理自己的集群环境。
文档编号G06F9/445GK103207802SQ20121000921
公开日2013年7月17日 申请日期2012年1月12日 优先权日2012年1月12日
发明者孙鹏 申请人:上海盛霄云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1