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

本文介绍了一种非Java技术实现的电文收发模块设计方案,确保电文发送与接收的自动化、异步及可追溯性。通过客户端与服务器端交互实现电文的可靠传递,并在连接异常时提供恢复机制。

1.前言                
 
               

为了满足客户端应用程序大强度,自动化发送电文。特此做此电文发收模块设计。  
该模块的设计满足以下条件:            
  ○ 电文的发收是可追溯的          
  ○ 电文的发收是异步的          
  ○ 所有的电文是保存的          
  ○ 电文的发收和应用之间是低耦合的        

这个项目是C/S体系,用的不是Java。我一开始的想法是,在Java中如果想达到这样的报文发送强度,可以直接用JMS和MQ。

但是如果不是Java技术的话,那么可以考虑模拟出JMS和MQ相同的效果。

2.模块设计图

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. 发收报文列表数据结构

发送报文队列数据结构 
    
 电文内容电文级别电文编号
    
接收电文队列  
    
 电文内容发送的电文编号 

以上#

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值