tuxedo交易过程_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4585 | 回复: 0   主题: tuxedo交易过程        下一篇 
napolenAx
注册用户
等级:少校
经验:802
发帖:118
精华:1
注册:2011-8-30
状态:离线
发送短消息息给napolenAx 加好友    发送短消息息给napolenAx 发消息
发表于: IP:您无权察看 2011-10-31 9:30:35 | [全部帖] [楼主帖] 楼主

Tuxedo从逻辑上可以将应用分为以下几个层次:Domain、Machine、Group、Server、Service。可以通过两种方式来实现Service与Service之间的相互调用。通过tpcall进行同步或异步调用;通过tpforword实现交易请求的转发
TUXEO系统的运行需要三类IPC资源:Share Memory,Message Queue,semphone

交易调用过程

系统交易的发起过程,需要综合调用各种IPC资源。协调系统的各个管理进程协同工作。在整个交易的调用过程中:

1.首先客户端,跟需要通过TUXEDO的tpinit函数调用建立与TUXEDO服务端的通讯连接。在这一过程中同时完成对客户端的登陆用户的鉴权。在通过鉴权后,TUXEDO的系统进程WSL为其分配一个WSH受理以后发起的请求。在这一过程中,TUXEDO的WSL侦听进程对连接占用的时间进行控制(timeout是WSL的启动参数,可配),当连接超时时,TUXEDOWSL将断开WSH。如果WSH比较繁忙,无暇处理新的连接请求,那么WSL就将请求放入消息队列中,等待受理。当然请求不会无限在消息队列中等待,超时后清除。

2.TUXEDO客户准备前台数据,并发起服务调用请求,通过tpcall/tpacall将请求的服务命令字,以及请求数据包发送到服务端。TUXEDO服务端将客户端提交的请求交于WSH。WSH代理客户端的请求,将用户的请求放入对应的接收消息队列中。服务处于等待状态,直到有空闲SERVER来受理用户请求。超时时间通过ubbconfig中的*resource段blocktime进行控制。超时后返回系统交易失败。

TUXEDO通过维护SERVICE和SERVER对应表,来根据SERVICE查找到受理它的对应进程。

3 SERVER进程自从启动后,一直监视接收消息队列,当空闲且恰有请求位于消息队列时,从接收消息队列中取出请求,交于相应的交易处理函数处理用户请求。从交易的受理到交易的受理结束通过SERVICE段SVCTIMEOUT参数进行控制,当受理超时时,BBL向对应进程发KILLSIG。对于基于XA的应用,当事务处理超过tpbegin的超时参数时,SERVICE处理结束,返回交易失败。

4 SERVER进程将处理结果,返回数据提交到发送消息队列,由系统将返回数据返回客户端,当返回数据失败时,系统在ULOG日志中记录告警信息。

5.前台客户端取出数据,分析交易受理结果

6 断开与后台服务端的连接,调用TUXEDO tpterm函数释放与TUXEDO服务端的连接。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论