Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 基于.NET无接触部署的拾遗网格实现
【标  题】:基于.NET无接触部署的拾遗网格实现
【关键字】:.NET
【来  源】:http://blog.joycode.com/fogshadow/archive/2004/05/12/21269.aspx

基于.NET无接触部署的拾遗网格实现

Your Ad Here 最近有兴趣想搞一个拾遗网格的东东出来,有了架构的初步设想,希望大家多多提意见
如图,我们可以看到在拾遗网格中主要有3种角色:服务提供者、服务发布者、MDS机器。

    首先,服务提供者的机器在启动时会向MDS机器发布其可用信息,包括:URL地址、机器配置(如CPU、内存、硬盘)、可供使用的资源限额(如占CPU百分几使用率,可占多少内存、可用多少硬盘空间)、使用者条件(如需具有什么样的许可证,或者在什么区域内的机器才能使用服务)等等信息。
    MDS机器的作用等于是一个网格服务的黄页,在这里主要存储了当前可用的网格资源信息,它的作用类似于Web Services中的UDDI服务器,但是MDS中存储的信息会动态变化得非常快。MDS全称为Metacomputing Directory Service,中文翻译为元计算目录服务。它主要是一种基于网格计算环境的信息服务框架,面向网格计算环境中数目巨大、地理上分布且具有动态性的各种资源和服务。MDS的设计会借鉴Globus项目。在Globus的实现中,MDS主要使用LDAP作为网格信息访问与存储的统一界面。“MDS的基本特征包括数据生成、数据分布、数据存储、数据搜索、数据查询和数据显示等。MDS提供了一个可配置的信息提供者组件,称为GRIS(Grid Resource Information Service)和一个可配置的集合目录组件,称为GIIS(Grid Index Information Service)。当然完整的MDS也可以搜集和发布基于其他协议的信息,如SNMP(简单网络管理协议)、NIS(Network Information System)、NWS等,其简要逻辑结构如图所示:”

    当服务发布者向MDS机器取得可用网格资源后,它会直接向服务提供者发送请求信息。提供者验证其身份正确性后,将会利用无接触式部署的方式从服务发布者的WEB服务器上取得提供服务的程序集。而这一切是有网格服务容器来执行的,网格容器的架构如下图所示:

    容器是一个Windows服务程序,在系统启动时会自动启动。容器启动后,它会通过配置文档打开一个可用端口打开Remoting连接。这里的Remoting连接是利用HTTP信道,并使用SOAP格式来序列化对象,激活方式是Singcall。这种方式实际上是开放了一个Web服务,可以使用SOAPSUDS生成代理类,或者直接在VS.NET中添加Web引用。在这里,服务发布者假如可以动态生成代理类,那么可以象使用Web服务的方式来与容器进行初步的通信,也可以直接使用Remoting的方式与容器取得连接。之所以采用Remoting,是不希望采用IIS作为Web Services宿主,否则的话还需要用户去配置IIS,会显得很麻烦。拾遗容器等同于一个Windows程序,安装后即可运行,而无需用户做过多的配置工作,大大减轻用户的负担。在用户的使用方面,我会更多地关注“KISS”原则
    服务发布者先利用容器提供的Web服务通过身份验证,然后发布服务请求信息。容器根据请求信息中的URL地址利用Assembly.Loadfrom方法将程序集装载到本地。然后,容器会收集程序集中的证据,并读取配置文档中的信息对其实施一定的策略。配置文档中还提供了在什么情况下网格服务可以启动的信息,比如CPU利用率低于多少,可用内存处于多少。根据这些信息,容器会在合适时候新建一个APPDOMAIN,并在其中启动下载回来的程序,并在保证代码安全的情况下去执行它。在现行设计中,每个服务服务都会运行在各自的APPDOMAIN中,并能直接与服务发布者进行通讯。在以后的设计中,会逐渐将与服务发布者通讯的工作统一到控制器中,这个是基于提高系统的安全性和可控性来考虑的。
基于.NET无接触式部署的拾遗网格计算实现——设想的起源:【上一篇】
安装程序时读取路径的问题:【下一篇】
【相关文章】
  • 基于.NET无接触式部署的拾遗网格计算实现——设想的起源
  • .NET获取其它程序的标准输出(stdout)
  • 用.NET发起web请求时维持Session的方法
  • 用.NET在IIS中创建虚拟目录
  • 看看Asp.net 2.0吧
  • Salamander .NET Linker and Mini-Deployment Tool
  • 关于 vs.net 2005 team server 的问答
  • VS.NET中的SAVE AS问题
  • .NET WINFORM中使用本地SMTP SERVICE
  • Question:ViewState In VB.NET
  • 【随机文章】
  • linux 配gdm
  • thttpd man 中文翻译
  • SIGL图形库介绍[原创]
  • 思考:计算机图形学中的左上像素填充约定(top-left filling convention for filling geometry)
  • Sniffer黑客教程 下
  • HACMP 5.1: Heartbeating over Aliases
  • asp.net高级教程(二)--- 转换编程思维
  • freebsd 基础
  • Cool Edit Pro录音方法及制作步骤
  • db2之录-Isolation Levels
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.