(计算机科学与技术专业论文)基于事件容器的业务逻辑执行环境的设计与实现.pdf_第1页
(计算机科学与技术专业论文)基于事件容器的业务逻辑执行环境的设计与实现.pdf_第2页
(计算机科学与技术专业论文)基于事件容器的业务逻辑执行环境的设计与实现.pdf_第3页
(计算机科学与技术专业论文)基于事件容器的业务逻辑执行环境的设计与实现.pdf_第4页
(计算机科学与技术专业论文)基于事件容器的业务逻辑执行环境的设计与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机科学与技术专业论文)基于事件容器的业务逻辑执行环境的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

:o j 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名:马盈 本人承担一切相关责任。 日期:塑 q 。三。! z 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:曼盈 一 日 导师签名: 幺妇芷 日期:递7 。 一 一 l b 厂 一, 北京邮电人学硕士学位论文基于事件容器的业务逻辑执行环境的设计与实现 基于事件容器的业务逻辑执行环境的设计与实现 摘要 a s ( a p p l i c a t i o ns e r v e r ) 作为下一代网络环境中业务层的关键实 体,是一个功能强大的业务开发、运行和管理支撑平台。它提供了能 够为开发的业务所共享的、可复用的业务构件,使人们在业务开发时 只需要关注业务流程逻辑,从而简化业务开发的过程。此外,它还提 供了可靠、安全的业务执行环境以及方便的业务管理环境,为业务的 部署和运营提供支持。 s l e e ( s e r v i c el o g i ce x e c u t i o ne n v i r o n m e n t ) 是a s 的业务逻辑执 行环境,能够满足下一代网络对新业务的极大需求。它是各种增值业 务和智能业务的业务逻辑执行环境,是一种容器,类似于 e j b ( e n t e r p r i s ej a v ab e a n ) 。s l e e 容器适用于各种面向消息事件的应 用程序,例如呼叫控制、多媒体会议、i p 电话服务、分布式交互模拟 监控控制等。该容器的设计目标就是将移动技术和企业技术整合, 能够成为高可用性与可靠性电信级平台。为了向多种形式的业务提供 有效的运行和管理支持,其主要功能包括:业务运行、业务生命周期 管理、业务统计和业务监控等。 轻量级是现在j a v a 开发领域的发展趋势;组件化是达到轻量级 的必要手段。良好的组件化模块化,对于系统的维护、可持续的而 不是颠覆的发展是非常有用的。 在基于事件容器的s l e e 中,原来架构中的r a ( r e s o u r c e a d a p t o r ) 、业务以及内部的定时器、告警等工具,都被统一实现为 s e r v i c e 。这样一来,s l e e 可以通过一致的方式处理所有这些角色的 加载、调度、升级、管理等相关事务,能够大大提高业务开发的灵活 性和可复用性,并且极大增强s l e e 的开放性和可扩展性。 本论文第一章介绍了e b a s 的三个视图,以及j m s ( j a v am e s s a g e s e r v i c e ) 技术、j m s 的一个实现a c t i v e m q 以及o s g i 技术框架相关的 介绍。第二章首先介绍了业务逻辑执行环境的架构和内部各模块的作 用,并对比介绍了基于事件容器的业务逻辑执行环境的架构及模块间 北京邮电大学网络j 交换技术国家重点实验室 北京邮电大学硕:七学位论文基于事件容器的业务逻辑执行环境的设计与实现 的关系变化,其中详细介绍了事件容器的r e g i s t e r 和l i s t e n e r 模块。 然后介绍了用s e r v i c e 统一r a 、业务与内置服务的思想和事件容器的 接口定义。第三章主要介绍事件容器的具体实现,使用一个j m s 技 术的开源实现a c t i v e m q 作为底层队列传输的基础,从多个方面详细 描述了开发事件容器的流程。在3 2 节和3 3 节中给出改进s l e e 和 r a 、s l e e 和x j o i n 间接口的方法。第四章介绍在增加了事件容器的 应用服务器上进行的性能测试过程和结论。 关键词:应用服务器业务逻辑执行环境事件容器组件化开 放服务网关协议 北京邮电大学网络与交换技术国家重点实验室 t 乳, 一 ,- 文 ,t 北京邮电大学硕士学位论文 基于事件容器的业务逻辑执行环境的设计与实现 d e s i g na n di m p l e m e n t a t i o no fs e r v i c e l o g i ce x e c u t i o ne n v i r o n m e n t b a s e do n e v e n tc o n t a i n e r a b s t r a c r a s ( a p p l i c a t i o ns e r v e r ) i st h ek e ye n t i t yi nt h es e r v i c el a y e ro ft h e n e x tg e n e r a t i o nn e t w o r ke n v i r o n m e n t i ti sap o w e r f u ls u p p o r tp l a t f o r mo f s e r v i c ed e v e l o p m e n t ,o p e r a t i o na n dm a n a g e m e n t i tp r o v i d e sc o m p o n e n t s w h i c hc a nb es h a r e db yt h e d e v e l o p m e n to ft h es e r v i c e ,s ot h a tp e o p l ej u s t n e e dt of o c u so ns e r v i c ed e v e l o p m e n ta n ds e r v i c e p r o c e s sl o g i c i t s i m p l i f i e st h ep r o c e s so fs e r v i c ed e v e l o p m e n t i na d d i t i o n ,i tp r o v i d e sa r e l i a b l ea n ds e c u r es e r v i c el o g i ce x e c u t i o ne n v i r o n m e n ta n dc o n v e n i e n t s e r v i c em a n a g e m e n te n v i r o n m e n tf o rt h ed e p l o y m e n ta n do p e r a t i o n so f s e r v i c e s s l e e ( s e r v i c el o g i ce x e c u t i o ne n v i r o n m e n t ) i st h es e r v i c el o g i c e x e c u t i o ne n v i r o n m e n to fa p p l i c a t i o ns e r v e r , w h i c hc a nm e e tt h es t r o n g d e m a n df o rn e wb u s i n e s so fn e x t g e n e r a t i o nn e t w o r k s i ti sab u s i n e s s l o g i ce x e c u t i o ne n v i r o n m e n to fv a r i e t yo fv a l u e a d d e ds e r v i c e sa n d i n t e l l i g e n ts e r v i c e s i ti sac o n t a i n e r , s i m i l a rt ot h ee j b ( e n t e r p r i s ej a v a b e a n ) s l e ec o n t a i n e ri s s u i t a b l ef o rav a r i e t yo fm e s s a g e o r i e n t e d e v e n t si na p p l i c a t i o n ss u c ha sc a l lc o n t r o l ,m u l t i m e d i ac o n f e r e n c i n g ,i p t e l e p h o n ys e r v i c e s ,d i s t r i b u t e di n t e r a c t i v es i m u l a t i o n ,m o n i t o r i n ga n d c o n t r 0 1 t h ep u r p o s eo fc o n t a i n e ri st oi n t e g r a t em o b i l et e c h n o l o g ya n d e n t e r p r i s et e c h n o l o g y , a n dt ob eah i g ha v a i l a b i l i t ya n dr e l i a b i l i t yo f c a r r i e r - g r a d ep l a t f o r m i no r d e rt op r o v i d ee f f e c t i v es e r v i c eo p e r a t i o na n d m a n a g e m e n ts u p p o r t ,i t sm a i nf e a t u r e si n c l u d e :s e r v i c eo p e r a t i o n s , s e r v i c ej i f e - c y c l em a n a g e m e n t ,s e r v i c es t a t i s t i c sa n ds e r v i c em o n i t o r i n g 北京邮电大学网络与交换技术国家重点实验室 北京邮电大学顾七学位论文 基于事件容器的业务逻辑执行环境的设计与实现 l i g h t w e i g h t i sn o wt h et r e n d so f j a v a d e v e l o p m e n t ; c o m p o n e n t i z a t i o ni st h en e c e s s a r ym e a n st oa c h i e v el i g h t w e i g h t ag o o d c o m p o n e n t b a s e d | m o d u l a ri sv e r yu s e f u l t ot h em a i n t e n a n c ea n d s u s t a i n a b l ed e v e l o p m e n to ft h es y s t e m ,r a t h e rt h a nt h es u b v e r s i o no f d e v e l o p m e n t i nt h es l e eb a s e do nt h ee v e n t c o n t a i n e r , t h er a ( r e s o u r c e a d a p t o r ) ,b u s i n e s sa n dt h ei n t e r n a lt i m e r , a l a r ma n do t h e rt o o l so ft h e o r i g i n a ls t r u c t u r eh a v eb e e ni m p l e m e n t e d a sau n i f i e ds e r v i c e a sar e s u l t , s l e ec a np r o c e s sa l lo ft h e s er o l e sl o a d i n g ,s c h e d u l i n g ,p r o m o t i o n , m a n a g e m e n ta n do t h e rr e l a t e dm a t t e r st h r o u g hac o n s i s t e n ta p p r o a c h i n t h i sw a y , i tc a ng r e a t l ye n h a n c et h ef l e x i b i l i t ya n dr e u s a b i l i t yo ft h e s e r v i c ed e v e l o p m e n t ,a n dg r e a t l ye n h a n c et h eo p e n n e s sa n d s e a l a b i l i t yo f s i e e t h ef i r s tc h a p t e ro ft h i sp a p e rd e s c f i b e st h r e ev i e w so fe b a s a s w e l la s j m s ( j a v am e s s a g es e r v i c e ) t e c h n o l o g y , a c t i v e m q ,a n i m p l e m e n t a t i o no fj m s a n di n t r o d u c t i o no fo s g it e c h n o l o g yf r a m e w o r k t h es e c o n dc h a p t e ri n t r o d u c e st h ei n t e r n a ls t r u c t u r eo ft h es e r v i c el o g i c e x e c u t i o ne n v i r o n m e n ta n dt h er o l eo fe a c hm o d u l e ,a n dt h e nc o m p a r e d t oi t ,t h ep a p e ri n t r o d u c e se v e n tc o n t a i n e r b a s e ds e r v i c el o g i ce x e c u t i o n e n v i r o n m e n ts t r u c t u ma n dt h e r e l a t i o n s h i p b e t w e e nt h e m i ta l s o i n t r o d u c e st h ed e t a i l so fr e g i s t e ra n dl i s t e n e rm o d u l e f i n a l l yi tp r e s e n t s t h ei d e ao fu n i f i e ds e r v i c ea n dt h ee v e n t sc o n t a i n e r si n t e r f a c ed e f i n i t i o n c h a p t e ri i if o c u s e so nac o n c r e t er e a l i z a t i o no ft h ee v e n tc o n t a i n e r , u s i n g a no p e ns o u r c ei m p l e m e n t a t i o no fj m st e c h n o l o g y , a c t i v e m q ,a st h e u n d e r l y i n gb a s i s t h e nt h i sp a r ti n t r o d u c e st h ed e t a i l e dd e s c r i p t i o no ft h e d e v e l o p m e n tp r o c e s so ft h ee v e n tc o n t a i n e ro nm a n ya s p e c t s 3 2a n d3 3 s e c t i o n sa r eg i v e nt h ed e t a i l so ft r a n s f o r n lo ni n t e r f a c eb e t w e e ns l e e r aa n dx j o i n t h ef o u r t hc h a p t e rd e s c r i b e st h ec o m p a r i s o np e r f o r m a n c e o ft h et e s t i n gp r o c e s sa n dc o n c l u s i o n sb e t w e e nt h ee v e n tc o n t a i n e rb a s e d a p p l i c a t i o ns e r v e ra n dt h eo r i g i n a la p p l i c a t i o ns e r v e r k e yw o r d s : a p p l i c a t i o n e n v i r o n m e n te v e n tc o n t a i n e r s e r v e rs e r v i c e l o g i c e x e c u t i o n m o d u l a ro s g i 北京邮电大学网络与交换技术国家重点实验室 一 一 北京邮电大学硕:t 学位论文 基于事件容器的业务逻辑执行环境的设计与实现 目录 第一章绪论1 1 1 项目背景1 1 2e b a s 1 1 2 1 部署视图1 1 2 2 功能视图4 1 2 3 守护关系视图8 1 3j m s 以及a c t i v e m q 中间件9 1 3 1j m s 简介9 1 3 2 消息模型和消息传递模型1 0 1 3 3a c i t v e m q 简介。1 3 1 4o s g i 简介1 5 1 4 1o s g i 概j 苤1 5 1 4 2o s g i 体系结构。1 6 1 4 3o s g i 的应用。1 7 1 4 4o s g i 的优点1 8 第二章基于事件容器的s l e e 的设计方案2 0 2 1s u 狙内部结构变更2 0 2 1 1 业务逻辑执行环境介绍2 0 2 1 2 事件容器的设计2 5 2 2 用s e r v i c e 统一r a 、业务与内置服务3 6 2 2 1 总体设计3 6 2 2 2 接口设计3 8 2 2 3 功能扩展3 9 2 3 本章小结。3 9 第三章事件容器的实现4 0 3 1 使用a c t i v e m q 支撑事件容器4 0 3 1 1 启动运行方式4 0 3 3 2 点对点消息开发流程4 1 3 3 3 发布订阅者消息模式开发流程。4 3 3 3 4 持久化功能4 4 3 3 5 传输协议的选择4 5 3 3 6 增加监控功能4 6 北京邮电大学网络与交换技术国家重点实验室 北京邮电人学硕f :学位论文基于事件容器的业务逻辑执行环境的设计与实现 3 3 7 优先级设置。4 9 3 3 8e x c l u s i v ec o n s u m e r 和m e s s a g eg r o u p s 4 9 3 2 改进s l e e 和r a 5 0 3 3 改进s l e e 和x j o i n 5 0 3 4 本章小结5 1 第四章性能测试5 2 4 1 测试目标与测试组网图。5 2 4 2 测试环境5 2 4 3 测试业务信令流程5 3 4 4 测试过程5 5 4 5 结j 沦5 5 结束语5 6 参考文献5 7 致谢5 9 攻读硕士学位期间已发表或已录用的论文。6 0 北京邮电大学网络与交换技术国家重点实验室 北京邮电人学硕:j = 学位论文基于事件容器的业务逻辑执行环境的设计与实现 1 1 项目背景 第一章绪论 本文主要背景是在e b a s ( e a s t c o mb u p ta p p l i c a t i o ns e r v e r ) 2 4 版本到 e b a s3 0 版本的升级改进,主要研究的是用j m s 中间件实现的事件容器,所有 模块间业务问的消息通信都可以通过该事件容器中转,基于此事件容器重构 s l e e ( s e r v i c el o g i c e x e c u t i o ne n v i r o n m e n t ) 和部分模块接口,可以为系统提供更 大的灵活性。 j a i n ( j a v a a p lf o ra d v a n c e d i n t e l l i g e n tn e t w o r k ) s l e e是j a i n a p l ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 集合中的核心组成部分,是通信应用的业 务逻辑执行环境的规范【。j a i n 架构号称是事件驱动的,但是由于它是为特定 领域制订的应用服务器规范,因此它对真正的事件驱动模型进行了固定和弱化 【2 l o 在基于事件容器的s l e e 中,原来架构中的r a ( r e s o u r c ea d a p t o r ) 、业务以 及内部的定时器、告警等工具,都被统一实现为s e r v i c e 。这样一来,s l e e 可以 通过一致的方式处理所有这些角色的加载、调度、升级、管理等相关事务,能够 大大提高业务开发的灵活性和可复用性,并且极大增强s l e e 的开放性和可扩展 性。 1 2e b a s e b a s 是东信北邮信息技术有限公司自主开发的应用服务器,为下一代网络 的业务提供了驻留和执行环境。e b a s 主要包括业务执行环境和业务生成环境。 业务执行环境s l e e :为多种形式的业务提供了有效的运行和管理支持;业务生 成环境x j o i n :采用了基于脚本语言的业务生成技术,开发者只需通过编写特 定的脚本言语就可以实现业务逻辑的开发。 1 2 1 部署视图 1 ) e b a s 在网络中的位置 北京邮电大学网络与交换技术国家重点实验室 北京邮电大学硕上学位论文基于事件容器的业务逻辑执行环境的设计与实现 图1 - 1e b a s 在网络中的位置 如图1 - 1 所示,e b a s 通过各种网络协议接入软交换网络、3 gr 4 网络及i m s 网络。e b a s 通过增加各种资源适配器,可以跨网络使用不同的协议进行工作, 且不同开发商所开发的符合e b a s 业务开发规范的业务都能够在其上部署运行, 从而极大的方便了业务的开发与部署。 e b a s 与其他应用服务器相比存在的技术优势1 3 l ; 1 网络独立性。 a ) 独立于任何特定网络协议、a p i 和网络技术 m 一个业务平台可以集成多重网络技术 c ) 可以随着网络技术的不断发展,业务平台也不断平滑演进 2 融合的业务 幻提供融合多种网络技术的业务 b ) 提供融合多种业务能力的业务 3 简化业务开发 a ) 业务开发者专注于业务逻辑的编写 【1 1x j o i n 封装了比网络消息更高层的事件,业务开发者不 需要熟悉s i p ( s e s s i o ni n i t i a t i o np r o t o c 0 1 ) ,b i c c ( b e a r e r i n d e p e n d e n tc a l l c o n t r o lp r o t o c 0 1 ) ,h r r p ( h y p e r t e x t t r a n s f e rp r o t o c 0 1 ) 等协议栈接口。 【2 】x j o i n 实现了s e s s i o n 管理,业务开发者可以很方便的维 护状态信息。 【3 】s l e e 实现了基础的多线程、连接池、监控告警等特征, 业务开发者无须关心底层细节。 2 北京邮电大学网络与交换技术国家重点实验室 八 北京邮电大学硕士学位论文 堆于事件容器的业务逻辑执行环境的设计与实现 b ) 统一、独立于网络的业务平台,降低了开发难度,简化了业务开 发,加快了业务的开发速度 c ) 可配置、可自动生成的业务逻辑,适应不断变化的需求。当业务 逻辑需要变更时,可以通过简单的修改业务的配置文件来实现,不需要 修改代码,或者只需要修改很少的业务代码。 4 业务可移植性 a ) 基于j a v a 技术,“w r i t eo n c e ,r u na n y w h e r e ! ” 5 面向对象的组件架构 a ) 业务通过面向对象可重用组件集进行构建 b ) 组件可以通过组合以提供更高层次的、丰富的业务 c ) 组件可以即插即用 6 基于事件的异步框架 a ) 低时延 b l 高吞吐量 7 提供业务动态的无损升级 8 系统的高可用实现方案 9 高效的集群管理方案; 1 0 系统守护功能; 1 1 高效的部署方案; 北京邮电大学网络与交换技术国家重点实验室3 北京邮电大学硕上学位论文 基于事件容器的业务逻辑执行环境的设计与实现 1 2 2 功能视图 图1 2e b a s 功能视图 图1 - 2 给出了e b a s 的功能划分。主要包括五部分:管理与部署( m a n a g e m e n t & d e p l o y m e n 0 :r ) 2 能、x j o i nf a f ( 事件驱动的业务框架) 功能、业务执逻辑行环境 ( s l e e ) 功能、网络集成与外部资源功能、集群负载均衡功能。 1 )管理与部署( m a n a g e m e n t d e p l o y m e n t ) 功能 该部分主要提供对) ( j o i n 、s l e e 、业务、资源适配器r a ( r e s o u r c ea d a p t o r ) 的管理功能1 4 】: 1 配置功能 4 北京邮电大学网络j 交换技术国家重点实验室 北京邮电大学 a ) b ) c ) 2 部 a ) b ) 3 统 a ) b ) 通过s l e e 提供的a l a r mf a c i l i t y ,完成系统、业务的告警功能 c ) 通过s l e e 提供的t r a c ef a c i l i t y ,完成对系统、业务的跟踪功能 2 ) 网络集成与外部资源功能 1 资源适配器功能【5 j a ) 抽象各种底层网络能力或资源到具体消息接口。在e b a s 中,通过 消息机制来体现底层网络到达事件,通过资源适配器把底层各种网络适配到 s l e e 中,如:s i p r a 、d i a m e t e r r a 等。 b ) 与j 2 e e 设备通信,完成与其他外部资源的集成:e b a s 与j 2 e e 平 台的集成 图1 - 3e b a s 与j 2 e e 平台的集成 e b a s 与j 2 e e 平台的调用关系如图1 3 所示: 2 外部资源与协议栈功能 主要包括各种外部资源( 如:j 2 e e 资源、第三方产品等) 或协议栈( 如: s i p 栈、d i a m e t e r 栈) 。资源集成到e b a s 中后,由r e s o u r c ea d a p t o r 对资源 进行适配,将资源的变化情况抽象成事件,上报到s l e e 进行处理。 3 ) 业务逻辑执行环境( s u ! e ) 功能【6 】 北京邮电大学刚络与交换技术国家重点实验室5 北京邮电大学硕士学位论文 基于事件容器的业务逻辑执行环境的设计与实现 1 多线程管理功能 为x j o i n 提供一个线程池,支持多业务实例之间的线程并发。 2 事件路由功能 a ) e b a s 可以同时加载多种业务,s l e e 负责把r a 上报的事件路由给 某一种业务。 砩负责维持事件的上下文关系。 3 运行时辅助工具组件:主要是各种f a c i l i t i e s 。 幻t i m e rf a c i l i t y ,提供定时机制 b ) a l a r mf a c i l i t y ,提供告警机制 c ) t r a c ef a c i l i t y ,提供业务、s b b 运行时的码流跟踪机制 d ) u s a g ef a c i l i t y ,提供一种统计机制 4 提供给第三方的接口,主要向第三方提供业务能力 a ) 数据库访问接口:j d b c b ) w e bs e r v i c e s 接口 c ) j m x o a v am a n a g e m e n te x t e n t i o n ) 接口 其他,可以动态扩展 4 ) x j o i 目事件驱动的业务框架( e a f ) 功能 x j o i n 是应用层的业务开发框架,借鉴了w e b 开发的思想,提供了简单易 用的业务开发配置办法,以及基本的业务逻辑。主要功能有: 1 业务解析和生成功能 a ) 业务配置文件的解析 b ) 业务实例的管理和加载 2 事件路由功能 a ) 按照业务的配置规则,路由s l e e 上报的事件给某个a c t i o n ”按照业务的配置规则,路由内部事件给某个a c t i o n c ) 按照业务的配置规则,决定多个a c t i o n 的执行顺序 3 a c t i o n 容器功能 a ) a c t i o n 实例的生成、拦截和销毁 b ) a c t i o n 相关的s e s s i o n ( 会话) 的生成和销毁 c ) 业务逻辑的动态生成 4 基本业务逻辑功能 幻s i p 消息的接收和发送 坊b i c c 消息的接收和发送 6 北京邮电大学网络与交换技术国家重点实验室 北京邮电大学硕十学位论文 基于事件容器的业务逻辑执行环境的设计与实现 c ) i m r 业务的放音、收号、菜单调转。 5 ) 集群负载均衡容错功能 利用t r e e c a c h e ,将不同e b a s 实例的业务数据与运行数据在不同的j a v a 虚拟机j v m ( j a v av i r t u a lm a c h i n e ) 1 - j 断t h 步复制,籍此提供集群( c l u s t e r i n g ) 与失败恢复( f a i l o v e r ) 功能。 匦雹 图1 _ 4 数据同步复制 如图1 - 4 所示,不同的j v m 可以共享业务运行数据,s b b ( s e r v i c eb u i l d i n g b l o c k ) 实体是逻辑实体,存有运行数据,不同的j v m 可以从s b b 实体载入 运行数据并为之分配业务运行实例执行业务逻辑。运行数据不依赖于j v m 的存在,一个e b a s 实例失败后,集群中的其它e b a s 实例能够迅速接管失 败e b a s 实例处理的业务继续处理。 北京邮电大学网络与交换技术国家重点实验室7 北京邮电大学硕卜学位论文基于事件容器的业务逻辑执行环境的设计与实现 1 2 3 守护关系视图 图1 - 5e b a s 2 x x 守护关系视图 e b a s 守护关系如图1 5 所示,各组成部分的介绍如下, a s c o n t r o l :负责对所有的进程除了自身) 进行管理,实时运行要求不高,允 许中途掉线,因此在整个e b a s 中保证有一个a s - c o n t r o l 即可,是e b a s 的控制中心;a s c o n t r o l 除了实现监控、管理等能力之外,还需要对e b a s 的运行提供告警机制 守护进程:负责对所有进程进行守护,如图中虚线所示,表达了守护进程对 其他进程的守护关系;在此图中,守护进程对“业务组件框”中每个进程进行守护, 即守护进程守护所有的d i s p a c h e r 进程和所有的a s i ( a p p l i c a t i o ns e r v e ri n s t a n c e ) 进程; d i s p a c h e n 一个d i s p a c h e r 和其辖制的所有a s i 组成一个“业务组件框”; 其中每个a s i 的运行逻辑( 即运行代码) 都相同; d i s p a c h e r 负责对该业务的a s i 进行消息的分发,要保证同一个c o n t e x t 的消息送至同一个a s l ; d i s p a c h e r 通过接受a s c o n t r o l 的控制,决定暂停将新的对话路由至某后 台a s i ,在此种情况下,a s c o n t r o l 还会指示守护进程控制启动新的后 台a s i 进程,同时将原来的a s i 结束掉( 待已存在对话结束后) ,在目前 8北京邮电人学网络与交换技术国家重点实验室 北京邮电人学硕士学位论文 基于事件容器的业务逻辑执行环境的设计与实现 计划将该功能以非实时、人工通过o a m ( o p e r a t i o na d m i n i s t r a t i o na n d m a i n t e n a n c e ) 控制的方式实现;基本上,d i s p a c h e r 在a s i 和协议前置之 间透明转发消息; d i s p a c h e r 能够实时根据后台实际运行a s i 进程,来调整负载、路由 a s h 运行实际业务逻辑的进程;一个a s i 进程由传统的三部分组成,即r a 、 s l e e 、x j o i n 业务逻辑: a s i 的状态:包括r e a d y 、r u n n i n g 、s t o p p i n g 、t e r m i n a t e 。 r e a d y 状态表示a s i 正处于启动过程中,尚不能接受业务消息 r u n n i n g 状态表示a s i 正处于运行状态中 s t o p p i n g 状态表示a s l 只会处理已存的对话,不再接受新的对话,并且 待所有已存对话处理完毕后,会自行结束自己; t e r m i n a t e 状态表示a s i 进程已经结束,是一个逻辑上的概念;一般通过 o a m 等工具或者p s 等命令无法看见这个状态 本部署模式下,除了o a m 之外,所有的方或圆框代表一个运行时进程。 1 3j m s 以及a c t i v e m q 中间件 1 3 1j m s 简介 j a v am e s s a g es e r v i c e ( j m s ,j a v a 消息服务) 是s u n 及其伙伴公司提出的旨 在统一各种消息中间件系统接口的规范1 7 1 。它定义了一套通用的接口和相关语 义,提供了诸如持久、验证和事务的消息服务,它最主要的目的是允许j a v a 应 用程序访问现有的消息中间件。j m s 规范没有指定在消息节点间所使用的通讯底 层协议,来保证应用9 开发人员不用与其细节打交道,一个特定的j m s 实现可 能提供基于t c p i p 、h t t p 、u d p ( u s e rd a t a g r a mp r o t o c 0 1 ) 或者其它的协议。j m s 便于系统中的j a v a 应用程序进行消息交换,并且通过提供标准的产生、发送、 接收消息的接口简化企业应用的开发1 8 l 。对于e b a s 来讲,可以用j m s 支持系 统内各模块间的通信,取代原有的a p i 调用,使系统能够以一个一致的方式处 理原系统的不同角色。 j m s 能够通过消息收发服务( 有时称为消息中介程序或路由器) 从一个j m s 客户机向另一个j m s 客户机发送消息。消息是j m s 中的一种类型对象,由两 部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消 息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以 将消息分为几种类型,它们分别携带:简单文本( t e x t m e s s a g e ) 、可序列化的对 象( o b j e c t m e s s a g e ) 、属性集合( m a p m e s s a g e ) 、字节流( b y t e s m e s s a g e ) 、原始值 北京邮电大学网络与交换技术国家蓐点实验室 9 北京邮电大学硕上学位论文基卡事件容器的业务逻辑执行环境的设计与实现 流( s t r e a m m e s s a g e ) ,还有无有效负载的消息( m e s s a g e ) 1 9 j 。 消息收发系统是异步的,也就是说,j m s 客户机可以发送消息而不必等待 回应。比较可知,这完全不同于基于r p c ( r e m o t ep r o c e d u r ec a l l ) 的系统,如 e j b1 1 、c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 和j a v a r m l ( r e m o t em e t h o di n v o c a t i o n ) 的引用实现。在r p c 中,客户机调用服务器上 某个分布式对象的一个方法。在方法调用返回之前,该客户机被阻塞;该客户机 在可以执行下一条指令之前,必须等待方法调用结束。在j m s 中,客户机将消 息发送给一个虚拟通道( 主题或队列) ,而其它j m s 客户机则预订或监听这个虚 拟通道。当j m s 客户机发送消息时,它并不等待回应。它执行发送操作,然后 继续执行下一条指令。消息可能最终转发到一个或许多个客户机,这些客户机都 不需要作出回应。 j m s 的通用接口集合以异步方式发送或接收消息。异步方式接收消息显然是 使用间断网络连接的客户机,诸如移动电话和p d a ( p e r s o n a ld i 【g i t a la s s i s t a n t ) 的 最好的选择。另外,j m s 采用一种宽松结合方式整合企业系统的方法,其主要 的目的就是创建能够使用跨平台数据信息的、可移植的企业级应用程序,而把开 发人力解放出来。 j m s 现在有两种传递消息的方式。标记为n o n 。p e r s i s t e n t 的消息最多投 递一次,而标记为p e r s i s t e n t 的消息将使用暂存后再转送的机理投递。如果 一个j m s 服务离线,那么持久性消息不会丢失但是得等到这个服务恢复联机时 才会被传递。所以默认的消息传递方式是非持久性的。即使使用非持久性消息可 能降低内务和需要的存储器,并且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论