忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 2879 | 回复: 2

自助服务系统的设计模型请教? [复制链接]

论坛徽章:
0
发表于 2013-08-20 21:42 |显示全部楼层
前在开发一个软件项目,是局域网络架构,一服务器加十多台自助终端,各自助终端向服务发出各业务请求,
服务器响应自助终端的请求。整套系统要求24X7的无故障运行,不需人工干预。

服务端和自助终端的大致架构是  网络监听接收线程和网络发送线程,分别对应接收队列和发送队列缓冲,
数据分析线程消费接收队列的内容,并产生一些工作任务至工作任务队列。工作线程依次从工作任务队列中取出
各工作任务,进行相关的工作,可能会产生相关的反馈结果至网络发送队列。

1 第一个疑惑是,在具体的业务工作请求中,例如终端向服务器发出一请求的socket通信业务帧,具体实现是向发送队列插入一个帧数据, 发送线程再取出再发送,
在这样子的一个机制下,当网络socket通信(不一定是硬件)有问题的时候,有啥好的方法把该错误信息反馈至终端用户?
目前采用的技术是udp协议加回答帧确认来进行通信,具体的socket数据收发的函数的返回值有判断处理,
由于我目前的架构是使用 一发送线程专门负责发送数据帧,只是从 发送队列中取数据,我的疑惑是: 如果在该发送线程中检查到socket函数返回值有问题,
如何把该结果反馈至业务层,说明该业务数据帧没有发送成功。以及如何进行一些保护,具有一定的容错和自恢复性?

2 第二个疑惑是: 服务器有一些工作是控制一些下位机硬件,发出一些控制命令后,是需要一定时间后才知道执行结果的, 再需要把执行结果返回给相关的自助终端。
往下位机发完控制指令后,可以立即返回。但是过一段时间后(约几十秒后)服务器需主动查询下位机的执行结果状态,并把该结果再返回给相对应的终端。关于此种情况,
这些工作均是在工作线程中完成,请问对此种情况有没有一些成熟稳定的模式或者思路,谢谢!

非常欢迎各位高手讨论,发表各自的思路高见,如有经验介绍则更佳,谢谢了!

论坛徽章:
0
发表于 2013-08-22 14:13 |显示全部楼层
自己顶一下,欢迎各位发表高见,谢谢!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-10-11 19:58 |显示全部楼层
推荐开源TCP连接管理平台tcpdaemon ^_^
http://www.oschina.net/p/tcpdaemon

tcpdaemon目前提供了三种TCP连接管理模型
* 即时派生进程模型 : 接受一个连接,就派生一个进程处理之
* 领导者-追随者预派生进程池模型 : 预派生一个进程池,自适应抢接受新连接
* 领导者-追随者预派生线程池模型(for WINDOWS) : 预派生一个线程池,自适应抢接受新连接
将来还将支持更多模型
您需要登录后才可以回帖 登录 | 注册

本版积分规则

久等啦!10张门票开启你的DTCC2017之旅

2017中国数据库技术大会将于2017年5月11-13日如约而至,本届大会以“数据驱动•价值发现”为主题,共设定2大主场和21个技术专场,云集海内外120+位技术大牛,共同探讨Oracle、MySQL、NoSQL、云端数据库、区块链、深度学习等领域的前瞻性热点话题。
即日起,填写DTCC2017会前调查问卷,即有机会赢取价值2600元的大会门票1张!仅限10张!
----------------------------------------
活动截止时间:2017年5月5日统一公布

问卷入口>>
  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP