[发明专利]一种J2EE应用服务器高性能JNDI服务的实现方法有效
申请号: | 200710164755.5 | 申请日: | 2007-12-12 |
公开(公告)号: | CN101196830A | 公开(公告)日: | 2008-06-11 |
发明(设计)人: | 邓水光;陈伟才;吴健;李莹;李武;尹建伟;吴朝晖 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 杭州九洲专利事务所有限公司 | 代理人: | 陈继亮 |
地址: | 310027浙江省杭州市西湖区浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 j2ee 应用 服务器 性能 jndi 服务 实现 方法 | ||
技术领域
本发明涉及J2EE应用服务器领域,主要是一种J2EE应用服务器高性能JNDI服务的实现方法。
背景技术
JNDI(Java Naming and Directory Interface)即Java命名和目录接口是J2EE平台中的一个重要组件,它是为了简化对高级网络应用开发中使用的目录结构的访问。目录是特殊类型的数据库,提供对其所存储数据的快速访问。传统上,你可以使用不同的应用程序接口去访问不同的目录服务,比如轻量级目录访问协议LDAP和Sun公司的网络信息服务NIS。然而,JNDI提供了一种标准的应用程序接口来访问任何类型的目录,JNDI也可以用于来存取网络上的Java对象。
JNDI是一组标准的Java应用程序接口,它提供了装载现有各种不同命名服务(域名服务系统、轻量级目录访问协议、网络信息服务和文件系统等)的通用接口。JNDI应用程序接口逻辑上可分为:一组用于存取命名服务的客户端应用程序接口和一组允许用户创建命名服务的服务程序接口。
目前,市场上占有率比较高的实现JNDI服务的商业产品中,各有千秋。但是他们都只是针对某一类型的目录服务而设计的,如有的是针对重量级命名和目录服务,而轻量级命名和目录的访问不能得到有效的支持;有的是针对轻量级命名和目录服务,而重量级命名和目录的访问不能得到有效的支持。在国外,著名的开源公司JBoss在JBoss4.0版本中实现了一个完善的重量级的命名服务,因而JBoss命名空间的存储结构只适宜大型的平台。在国内,灰狐也是在参考了JBoss的基础上,在自己的针对较轻量级J2EE平台的实现-JFox中,实现了有自己特点的快速的命名服务,JFox命名空间则是用于较轻量级的平台。这两个JNDI实现同时也代表了当前实现JNDI的两大方向,一个是针对大的企业系统实现功能完善的JNDI,另一个是实现快速的轻量级的JNDI。他们的优势是的有目共睹的,但是,不足也是显而易见的,由于他们支持的命名和目录服务的局限性,导致他们不能高效的访问所有对象。
所以,如何将这两种JNDI的特性融合在一起,开发出一种既可以高效地访问重量级目录服务又能高效地访问轻量级目录服务的JNDI即高性能JNDI成为业界的迫切需要。
发明内容
本发明要解决上述技术所存在的缺陷,提供一种J2EE应用服务器高性能JNDI服务的实现方法,一种基于JNDI标准的既可以支持重量级目录快速访问又可以支持轻量级目录快速访问的高性能JNDI服务。
本发明解决其技术问题所采用的技术方案:本发明提出了一种全新的服务器端命名空间存储结构,其目的在于开发实现一种高稳定的,高性能的命名服务,既能够适用于大型平台,同时又能提高应用于较轻量级平台时的查找效率,为整个系统提供较好的服务基础。
这种J2EE应用服务器高性能JNDI服务的实现方法,命名服务实现过程中,将整个模块划分为3个部分分别实现的,这3个部分分别是:服务器端、客户端、客户端与服务器端的连接;其中,服务器端主要实现命名空间存储结构的设计,以及服务器端的缓存策略;客户端主要实现对服务器端缓存的处理;客户端与服务器端的连接主要是建立客户端与服务器端的连接;
当客户端要通过JNDI查找服务器端某个对象时:
(1)先在客户端缓存中查找;
(2)若查找成功,则直接返回查找结果;
(3)若上一步查找失败,客户端通过客户端与服务器端的连接在服务器上查找;
(4)若服务器端缓存中查找到,则直接返回查找结果;
(5)若上一步查找失败,则在服务器端命名空间存储结构中查找;
(6)若查找成功,则直接返回查找结果,否则查找失败返回。
本发明有益的效果是:
●将命名上下文与名称操作类分离;
●采用树形存储结构实现层式命名空间;
●直接通过套接字编程,使用序列化和MarshalledObject来实现服务;
●跨虚拟机,同一虚拟机存取不需要通过套接字;
●客户端端作了Naming Server的缓存;
●支持引用存储,但是只支持URL类型的引用;
●Naming Server端实现客户端缓存的机制,在JNDI树比较深、树上绑定对象数量比较多的时候可以提高命名服务索引的速度;
●整个空间有一个上下文哈希映射表直接通过命名查找对应的上下文。
附图说明
图1为JNDI Server命名空间的存储结构;
图2为JNDI模块的体系结构图;
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710164755.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体器件的栅极制造方法
- 下一篇:金属氧化物半导体器件栅极的制造方法