[发明专利]一种提高基于构件软件系统可靠性的方法无效
申请号: | 200510042875.9 | 申请日: | 2005-06-30 |
公开(公告)号: | CN1710865A | 公开(公告)日: | 2005-12-21 |
发明(设计)人: | 赵天海;侯迪;赵季中;齐勇;郗旻 | 申请(专利权)人: | 西安交通大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06;G06F9/46 |
代理公司: | 西安通大专利代理有限责任公司 | 代理人: | 徐文权 |
地址: | 710049*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种提高基于构件软件系统可靠性的方法,此方法采用分布式负载分配策略,能够实现多个节点的JToneFrame应用服务器集群在不停止服务的情况下,动态加载、删除集群内的节点;支持水平和垂直分割;对象级和方法级EJB容器负载平衡;支持无状态会话Bean,状态会话Bean和实体Bean的集群。不存在单点失效的可能性,且也不把负载分配器独立出来,而是将负载分配器作为每个节点的一个组件,这样就解决了集中式的问题,把请求的分配分散到各个节点上。 | ||
搜索关键词: | 一种 提高 基于 构件 软件 系统 可靠性 方法 | ||
【主权项】:
1、一种提高基于构件软件系统可靠性的方法,其特征在于:1)首先由客户通过其客户端组件接口代理发出一个服务器调用请求;2)遵照EJB2.1规范的EJB组件,在其扩展部署描述符中添加负载均衡和容错功能标签,指示EJB组件支持集群功能和默认采用随机分配负载均衡算法,通过预编译器对EJB组件进行编译,生成相应的EJBHome和EJBObject接口的实现类,并且对其生成实现类的Stub,使用预编译工具改变Stub类原有远程调用的执行逻辑,在每次业务方法调用前,请求服务器端的EJB组件的各个服务器的引用列表,实现请求的再分配;3)客户的请求随机由服务器群中任一服务器接收,这个服务器使用底层的服务器组通讯协议和其它服务器进行通讯,根据EJB组件的扩展部署描述符,客户根据自己的需要选择负载参数,如果客户有自己定制的负载参数和分配策略,则装载客户自己定制的参数和策略,然后根据装载定制参数和策略模块,在其它服务器上调用负载收集命令,在各个节点收集负载信息;如果客户没有定制此项,服务器可以装载默认的参数和分配策略。4)定义负载参数系统基本运行环境参数:在基于J2EE应用服务器中间件系统中,系统基本运行环境参数定义为JVM的堆大小、使用内存;组件容器:组件容器包含Servlet容器和EJB容器,Servlet容器参数包含:Servlet运行数量和用户单位事件请求数量,EJB容器参数包括分别为SessionBean组件、EentityBean组件和MessageDriverBean组件而建立的其创建组件数量、运行组件数量、池态组件数量;其它引用的资源按照其类别分为:数据源资源、JCA资源、JMS资源,定义其连接数量参数、可用连接数量资源和等待引用资源数量;5)根据以上的负载参数定义,动态计算当前时刻的服务器负载量:Lt(t)=αB(t)+βC(t)+λR(t),B(t)表示在时刻t系统基本运行环境负载量,C(t)表示组件容器在t时刻的负载量,R(t)表示t时刻资源引用量,α,β,λ分别表示权重,则t时刻的服务器群的负载总量为 当前时刻的阈值为 当Li(t)>T(t)时,请求被重定向到一个轻载服务器上运行;6)根据各个节点收集的负载信息,将整个服务器各个节点负载信息进行加权计算得出其负载值,依据此值进行排序,返回给客户接口代理所有可用的服务器列表;7)客户根据返回的这个列表顺序选择节点,将负载最轻的节点取出引用,并根据服务器引用发出请求,此时请求将会在轻载节点上进行执行;8)如果这个节点能够正确处理请求,没有异常抛出,则同步其它节点的状态信息,以保证下一次请求调用和分配的正确性,如果调用不成功,客户端的请求则返回客户节点列表,根据服务器的节点列表选择下一个轻载的服务器节点,调用EJB组件的业务方法,当节点列表的所有节点都发生故障时,客户调用将不会被正确处理。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510042875.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种高强度复合沸石脱碘吸附剂及其制备方法
- 下一篇:多功能手柄