javasogo 发表于 2013-2-1 11:52:51

一个C/S体系下的报文收发模块的设计

1.前言                
 
               


为了满足客户端应用程序大强度,自动化发送电文。特此做此电文发收模块设计。  
该模块的设计满足以下条件:            
  ○ 电文的发收是可追溯的          
  ○ 电文的发收是异步的          
  ○ 所有的电文是保存的          
  ○ 电文的发收和应用之间是低耦合的        
这个项目是C/S体系,用的不是Java。我一开始的想法是,在Java中如果想达到这样的报文发送强度,可以直接用JMS和MQ。
但是如果不是Java技术的话,那么可以考虑模拟出JMS和MQ相同的效果。
2.模块设计图

http://hi.csdn.net/attachment/201012/1/0_1291166213kcPB.gif
3. 报文收发的时序图



客户端应用程序   电文发收服务器  服务器端后台应用程序 1.1客户端第一次启动,测试Stock长连接 1.2反馈Stock长连接状况                   2.1客户端发送电文   2.2先将电文保存到发送队列表中,反馈客户端成功消息         2.3发送进程自动查询发送队列,发送给服务器2.4 服务器端接收电文,反馈发送消息      2.3.1 服务器给予发送成功消息之后,更新该电文状态          2.3.2 如果服务器反馈发送失败消息,置该电文为未发送          2.3.3 如果服务器无应答,置该电文为未发送                      3.2 保存电文到接收队列中,反馈服务器成功消息3.1 服务器端发送电文      3.3 推送电文线程自动查询接收列表,发送给客户端          3.3.1 客户端给予接收成功消息之后,更新该电文状态          3.3.2 如果客户端反馈发送失败消息,置该电文为未发送          3.3.3 如果客户端无应答,置该电文为未发送                      4.1 监控心跳线程轮询测试客户端,服务器端的长连接现状          4.1.1 如果发现连接失效,则重置Stock长连接          4.1.2 在重置之后,调用发送线程,将未发送电文批量发送          4.1.2 自动发邮件通知负责人     注明:以上不全
4. 发收报文列表数据结构


发送报文队列数据结构      电文内容电文级别电文编号    接收电文队列       电文内容发送的电文编号 以上#
页: [1]
查看完整版本: 一个C/S体系下的报文收发模块的设计