基于LDAP的分布式虚拟资源的命名与定位1徐晓娟高建峰战守义(北京理工大学计算机科学与工程系虚拟现实实验室,北京100081)E-mail:xxj_xx@sina.com摘要随着网络技术的发展,轻量目录访问协议(LDAP)成为网络资源命名和定位的有效实现技术。在大规模分布式虚拟环境中存在大量的仿真模型和动态数据,如何对它们进行有效的管理是构建分布式虚拟环境的关键技术之一。本文首先描述面向分布式虚拟环境的数据管理系统的体系结构,然后介绍如何使用LDAP实现仿真模型及动态数据的统一命名和定位。关键词轻量目录访问协议(LDAP)分布式虚拟环境仿真资源库NamingandOrientationofDistributedVirtualResourceBasedonLDAPXuXiaojuanGaoJianfengZhanShouyi(VirtualRealityLaboratory,DepartmentofComputerScienceandEngineering,BeijingInstituteofTechnology,Beijing100081)E-mail:xxj_xx@sina.comAbstract:Withthedevelopmentofnetworktechnology,LightDirectoryAccessProtocol(LDAP)technologyhasbecomeaneffectiverealizationtechnologyofresourcenamingandorientationfornetwork.Inlarge-scaleDistributedVirtualEnvironment(DVE),thereareagreatdealofsimulationmodelsanddynamicdatum,howtomanagethemisoneofcriticaltechnologiesforconstructingDVE.Inthispaper,systemstructureofdatamanagementsystemfacingDVEisfirstdescribed,andthenhowtouseLDAPtorealizenamingandorientationforsimulationmodelsanddynamicdatumareintroduced。Keywords:LightDirectoryAccessProtocol(LDAP).DistributedVirtualEnvironment.SimulationResourceLibrary1引言分布式虚拟环境(DistributedVirtualEnvironment,DVE)[1]就是把虚拟现实技术(VE)和网络技术结合起来,在网络上实现VE,满足跨地域的各种仿真应用的需求。在分布式虚拟环境中包含多种模型,实体模型、作战模型、环境模型、评估模型和仿真管理模型等,每一个模型中都包含了大量实时更新的动态数据,仿真模型及其动态数据的快速检索,是构建分布式虚拟环境支撑平台[2]的关键所在。基于LDAP的分布式目录服务主要用于网络资源定位、网络管理和网络安全等方面,是管理与使用网络信息资源的基础设施。本基金项目:“十五”国防预研项目413040402作者简介:徐晓娟(1977-),女,北京理工大学,硕士研究生,研究方向为面向虚拟现实的数据管理文将LDAP目录服务技术与分布式虚拟环境的数据操作过程相结合,实现了仿真资源的统一命名和快速定位。本文首先介绍系统的体系结构,然后简要介绍LDAP的概念、特点,最后阐述了LDAP在系统中的设计和实现过程。2系统概述分布式虚拟环境的支撑平台是一个分布式、异构化的平台,其中基于虚拟环境的数据管理需要为大规模仿真提供高效的数据管理机制和支持分布式应用,实现高效的资源命名、资源定位和服务匹配算法。根据应用系统的实际需求,结合技术发展趋势,设计基于高层体系结构(HLA)的统一仿真应用支撑平台,体系结构[3]如下图1所示:(1)客户端包括数据管理工具、协同开发工具、仿真运行环境,实现仿真资源的管理、构建复杂的协同建模开发环境、仿真运行环境的管理等目标。(2)轻量目录访问协议LDAP的分布式目录服务实现了仿真资源的统一命名、快速定位和数据的安全操作。(3)实时CORBA(RT-CORBA)解决了大型分布式虚拟环境中客户端对仿真数据的实时异构访问。(4)仿真资源库是一个分布式的统一数据资源管理系统,数据存储方式可以是关系型数据库、面向对象数据库,也可以是文件、目录,甚至是、NFS、FTP等基于网络的文件存储方式等。本文使用基于开放源码的数据库系统PostgreSQL、分布式文件系统AFS的结构框架来进行集成管理。3LDAP简介轻量目录访问协议LDAP(LightDirectoryAccessProtocol)[4]基于X.500标准,支持TCP/IP协议,可以根据实际的需求定制应用模式,提供目录服务。(1)LDAP的目录结构在LDAP中,目录是按照树型结构来组织的。目录由目录项(Entry)组成;目录项是具有区别名DN(DistinguishedName)的属性(Attribute)集合;属性由类型(Type)和多个值(Values)组成。(2)LDAP的操作为了实现对目录项的管理,目录服务定义了相应的操作,主要包括:添加(Add)、删除(Delete)、修改(Modify)、绑定(Bind)、解除绑定(Unbind)、查找(Search)、比较(Compare)、修改区别名(ModifyDN)、和放弃操作(Abandon)等。(3)LDAP的特点目录服务的特殊性体现在以下几个方面:是一种与平台无关的信息存储方式;对于信息的大批量检索提供快速的响应;具有复制、推荐功能,增强了系统的可用性和可靠性,减少了响应时间;提供各种级别的安全机制。4LDAP在系统中的应用4.1使用LDAP提高分布式虚拟环境的资源管理能力(1)分布式虚拟环境的支撑平台是一个基于网络的分布式异构平台,LDAP提供一种与平台无关的信息存储方式,便于实现分布式虚拟环境异构支撑平台之间仿真资源命名和定位的统一管理。(2)分布式虚拟环境的数据管理系统需要对地理上分布的仿真资源进行统一命名、管理和快速定位。LDAP技术的资源命名模式、资源管理模式、目录模式以及方便的编程接口等为实现这一目标提供了便利条件。(3)在分布式虚拟环境中,各仿真节点对仿真资源的适时性要求很高,势必要求仿真资源要快速定位。资源定位技术主要是查询操作,其数量远大于插入、删除、修改等操作。LDAP最突出的特点就是能对读、查询等操作做出快速响应,很好的满足系统的要求。(4)在分布式虚拟环境中,需要对仿真资源进行权限控制。LDAP提供了完善的安全机制,可以保证只有拥有相应权限的用户才可以获得仿真资源的定位信息,从根本上防止对仿真资源的非法访问。4.2LDAP目录结构的设计仿真资源的目录树结构需要依据综合环境数据表示与交换规范(SEDRIS)[5]并且结合LDAP的命名模式、目录模式进行综合设计。在SEDRIS中,环境数据分为四个部分:地面(terrain)、大气(air)、海洋(ocean)、空间(space)。分布式虚拟环境中仿真数据种类繁杂、数据量大,下面以大气数据为例介绍LDAP的目录结构设计[6],如下图2所示:(1)目录树的根节点用VR表示,说明系统应用于虚拟环境。描述节点的属性中,名称标识该节点;版本号说明该结构设计的版本号;最近修改时间指出节点最近被修改的时间;权限属性说明允许访问该节点的用户以及它们具备的访问权限,这一属性的设置是系统安全功能的一种体现。(2)第二层是用户层,包含了分布式虚拟环境中的仿真节点,仿真数据存储于相应的仿真节点。节点描述属性含义同上。(3)第三层表示仿真资源的存储方式,主要支持数据库(db)和文件系统(afs)。节点描述属性含义同上。(4)第四层描述在数据库或文件系统中存储的数据对象类型。在文件系统中,根据环境数据的分类,分为四大类。在数据库中,根据系统需要设计。节点描述属性含义同上。(5)第五层描述仿真数据的进一步划分。文件系统中,以大气数据为例,它由气温、气压、大气湿度、气流、风、云、烟、雨、雾、光、雪等组成,属性的含义同上。数据库中,根据系统需要设计各数据库中包含的表,这一层是叶子节点,其属性包括名称、最近修改时间、权限、主键值、表中各属性、物理位置(机器名、库名、表名:例如:10.1.0.187、db1、tab1)。(6)文件系统中,这一层是叶子节点。属性包括名称、最近修改时间、权限、物理位置(机器名、从/afs到实际存储文件的整个目录,例如:10.1.0.187、/afs/air/cloud/高层云)。4.3仿真资源库的数据访问LDAP目录服务的采用为资源数据的命名和定位操作提供了极大的便利,下面介绍一下用户对资源数据的访问过程[7]:(1)客户端对资源数据提出操作请求,包括对数据的创建、插入、删除、修改、查询、鉴权等操作。为了保证系统的扩展性,方便于异构环境中数据的传输、处理,客户端对资源数据提出的操作请求数据必须以XML格式表示。(2)客户端接口程序分析客户端请求,得知客户所需的数据对象。访问LDAP目录服务器,获得所操作数据对象的实际位置信息。若数据对象是文件,位置信息就包括:存储数据的机器名称、文件服务器根目录(/afs)开始到包含所需数据目录节点的整个路径;若需要获取的数据是数据库中的表、记录或属性,位置信息包括:存储数据的机器名称、库名称、表名称、主键值(获取记录时)、表中各属性(获取属性时)。(3)将数据对象的具体位置信息返回给接口应用程序。(4)根据从LDAP中得出的数据对象具体位置的信息,接口应用程序利用RT-CORBA技术的客户端代理向远程的服务器代理提出操作数据的需求。(5)服务器代理根据客户端代理的请求对资源库作出相应的操作。(6)服务器代理得到相应的操作结果。(7)服务器代理把相应的操作结果返回给客户端代理。(8)接口应用程序把操作结果按照XML格式返回给客户,完成资源数据的操作过程。5结论LDAP具有定义完善的信息模型、命名模型、功能模型和安全模型,同时具备良好的目录模式、目录访问协议、应用程序编程接口和数据交换格式等与平台无关的特性。将LDAP目录服务应用于分布式虚拟环境的数据命名和定位,利用LDAP提供的应用程序编程接口可以方便、快捷地访问目录服务器,实现了分布式虚拟环境中仿真资源的统一命名和快速定位。参考文献【1】Hagsand.InteractiveMulti-userVEsintheDVESystem[J].IEEEMultimedia,Vol.3,No.1,30~39,1996.【2】杨明,张勇,王子才.分布交互仿真系统支撑软件的研究[J].北京:系统仿真学报,10(2),1998.【3】杨孟州,潘志庚,石教英.分布式虚拟现实系统体系结构[J].北京:软件学报,2000,7.【4】HeinzJohner,LarryBrown,Franz-StefanHinner,WolfgangReis,JohanWestman.UnderstandingLDAP.IBM,InternationalTechnicalSupportOrganization,June,1998.【5】EnvironmentalDataCodingSpecification(EDCS).【6】陈小弟,李长河,张照,杜江杰.基于LDAP的Internet分布式目录服务的分析与实现[J].西安:计算机工程,2002,8(28).【7】SunMicrosystems,Inc.iPlanetLDAPSDKforCProgrammer’suide.June2001.