- 论坛徽章:
- 0
|
目前在开发一个软件项目,是局域网络架构,一服务器加十多台自助终端,各自助终端向服务发出各业务请求,
服务器响应自助终端的请求。整套系统要求24X7的无故障运行,不需人工干预。
服务端和自助终端的大致架构是 网络监听接收线程和网络发送线程,分别对应接收队列和发送队列缓冲,
数据分析线程消费接收队列的内容,并产生一些工作任务至工作任务队列。工作线程依次从工作任务队列中取出
各工作任务,进行相关的工作,可能会产生相关的反馈结果至网络发送队列。
1 第一个疑惑是,在具体的业务工作请求中,例如终端向服务器发出一请求的socket通信业务帧,具体实现是向发送队列插入一个帧数据, 发送线程再取出再发送,在这样子的一个机制下,当网络socket通信(不一定是硬件)有问题的时候,有啥好的方法把该错误信息反馈至终端用户?以及如何进行一些保护,具有一定的容错和自恢复性?
2 第二个疑惑是: 服务器有一些工作是控制一些下位机硬件,发出一些控制命令后,是需要一定时间后才知道执行结果的, 再需要把执行结果返回给相关的自助终端。这些工作均是在工作线程中完成,请问对此种情况有没有一些成熟稳定的模式或者思路,谢谢!
非常欢迎各位高手讨论,发表各自的思路高见,如有经验介绍则更佳,谢谢了! |
|