概述:
在本系统中虚拟软件运行环境主要目的,是为了隔离不同应用程序的运行,提高系统的稳定性,同时可以节省成本。用户处于较高层次中,无需知道软件运行的具体位置以及运行环境,做到对用户透明。
以下从最底层向上逐层分析:
1.
运算节点层(运算层):是最底层,多个安装了Xen(Vmware等虚拟机软件)的计算机或者是一般的实体计算机,真实的应用程序的运行需要在这些机器上进行,它们是实际运算节点。在这里我们分别把它们叫做虚拟计算节点和实体计算节点。
因为每个应用程序都有其特殊性,所以需要针对每个应用程序进行包装,然后将其部署在WebService容器中,对于已知的应用程序,可以提前包装好WS,并部署运行,向服务中心注册(该部分应该属于服务封装部分)。对于未知的应用程序(也就是在系统使用阶段,用户添加进入的应用程序),才是该部分的重点和难点。
a)
其中虚拟计算节点可以运行多个操作系统,当然也就可以运行多个应用程序,而且互不干扰,独立运行。(暂默认一个每个虚拟计算节点上的一个虚拟操作系统中运行一个应用程序)需要提供WS服务,供上层调用。
b)
而实体计算节点为安装了某种操作系统的计算机,它已经提前配置好软件运行环境,并且将其打包成webservice,供其上层调用。它需要一个webservice的运行环境,同时需要将自己的WS注册到服务中心。这样的工作同样需要在虚拟计算节点进行。
c)
在不同的计算节点上(这两种类型都包括),配置一个客户端,其监听上层传递的消息,并在该节点上实施具体操作。但是对于两种不同类型的计算节点,该客户端控制程序有所不同。
上图中的红色部分为我们需要实现的模块,蓝色箭头为消息和数据传递,灰色箭头为服务的调用。
最上端的中控层为一个协调控制层。它负责接收来自用户的请求,并将其转化为传递给运算节点的消息,
同时接受由运算节点发送的反馈信息,传递给上层用户。主要功能模块如下:
提供一个统一的API接口,屏蔽下层接口的异构性,向上层展现统一调用接口。
监视底层运算节点运行状况。接收底层计算节点发送到状态信息,分配任务。
运算节点监控层。部署于每个运算节点上,控制其上的虚拟机的运行以及其上程序的执行。
监听模块:与中控层进行交互,接受上层消息,传递给下一个处理模块进行消息的解释执行。
执行模块:接受由监听模块传递来的消息,分析其内容,根据所接收到的命令向虚拟机控制器发送相关命
令。如果需要从资源库取得资源,则需要与资源库传递资源数据,并将其部署在某个虚拟操作系统之上。
反馈模块:根据这个请求的执行情况,向中控层返回消息。
状态消息发送模块:根据该虚拟计算节点的状态信息,向中控层定时发送该计算节点信息。
资源库。一个实体服务器,提供WebService安装包,其中包括了操作系统、应用程序、WebService容器以及相关的WSDL文件,供虚拟机使用。
资源库需要能够接受由运算节点监控层中的执行模块发送到消息,根据消息内容与运算节点监控层传递所需数据。
在虚拟计算节点上,这个客户端控制程序完成的功能包括:
1)与上层系统通信(接受上层系统传递的消息,同时需要将执行结果返回);
2)虚拟机的创建(根据上层传递消息制定虚拟机创建参数,或者系统部署时候初始创建好);
3)应用程序的安装。实际应该是一个应用程序环境的再现(应用程序首先封装成为WS,并且部署在WS容器中,已经可以供外部系统调用,这一切都在虚拟机上完成,并不是某个运算节点,然后由虚拟机将该环境导出,保存在一个资源库中。在上层需要使用到该应用程序时,由客户端控制程序从资源库中下载该已打包好的应用程序,然后再将该应用程序环境重现,最后需要修改WS的服务地址,并通知上层应用程序环境构建完成);
4)虚拟机生命周期控制,该虚拟机所提供的服务长期未被使用,可以将该虚拟机关闭,节省资源;
5)向上层系统报告节点当前运行状态、性能、负荷等信息(用于上层系统任务分配的依据)。
- 大小: 151.2 KB
- 大小: 62.9 KB
分享到:
相关推荐
操作系统课程设计报告书-设计一个虚拟存储区和内存工作区
传统实验需要在特定实验室中配合特定人员和特定器材进行,具有时间和空间上的限制,而且部分实验由于过程短暂难以观察,因此通过计算机设计一整套虚拟实验系统,模拟真实实验环境的实验过程,显得尤为重要.文章利用MATLAB...
visua c++ 6.0下c 仅一个.cpp和.h文件
这个文件系统是本人历时三周写出来的,原创系统,好好学习,基本没什么错误,切勿外传
操作系统课程设计 虚拟存储器 #include<stdio.h>#define block_length 128#define page_length 7#define length 4 //加载的物理块个数int pages[4]={0,1,2,3}; //该数组保存物理块对应的页号int k; // 该数组的队列...
远程虚拟仪器实验室系统的设计,详见介绍通过LABVIEW和HTML语言实现仪器数据的WEB监测
操作系统课程设计--虚拟内存 操作系统课程设计--虚拟内存
c++编译的操作系统课程设计,分页虚拟存储管理和FIFO
用C++实现的虚拟内存技术,控制台程序,简便易懂,旨在模拟操作系统中缺页换页技术,实现fifo和lru两种调页方法
基于Cesium的虚拟校园系统设计与开发.docx
操作系统课程设计虚拟磁盘系统
操作系统课程设计报告书-设计一个虚拟存储区和内存工作区
OS课程设计任务:编程实现一个请求分页虚拟存储器演示,该系统至少实现先进先出页面置换算法(FIFO)、最近最少使用算法(LRU),最佳淘汰算法(OPT),进程占用的页框数、页面访问序列可配置,并且实时显示内存占用...
UML是面向对象技术领域中占主导地位的标准建模语言,它统一了过去相互独立的数十种面向对象的建模语言共同存在的局面,通过统一语义和符号表示,系统对软件工程进行描述、构造,形成一个统一的、公共的、具有广泛...
为该文件系统设计相应的数据结构来管理目录、虚拟磁盘的空闲空间、已分配空间等。 提供文件的创建、删除、移位、改名等功能。 提供良好的界面,可以显示文件系统的状态和空间的使用情况; 提供磁盘转储...
设计和实现一个段页虚拟存储管理系统的模型。 系统包含两个部分,一个部分是按内核代码原则设计的固定分区分配存储管 理系统,由一系列的函数组成;另一个部分是演示系统,调用固定分区分配存储 管理系统的相应函数...
系统应该包含两个部分,一个部分是按内核代码原则设计的请求分段存储管理系统,由一系列的函数组成;另一个部分是演示系统,调用请求分段存储管理系统的相应函数,以让其运行,同时提供系统的展示界面,可以是GUI...
如何使用USB总线接口在单片机系统中实现一个虚拟串口的原理和实现过程。在设计中,软件部分采用USB的CDC类标准来实现虚拟串口,这样可以使用操作系统(Windows,Linux)自带的驱动程序;在硬件设计中,使用自带USB从...
基于云计算的虚拟化实训系统设计.pdf
操作系统课程设计虚拟存储器各页面置换算法的实现与比较 C源代码