重号问题解决方案

dianhui 2020-07-13 11:01:51
最近要处理一个办事大厅的重号问题:
大厅接待多个部门的不同类型业务,用户需要先去人工窗口或者自助机上挂号登记并取得业务号,然后根据呼叫依次办理业务,早期大厅取号只有一个人工窗口,挂号台直接从数据库中获取各业务部门的最大业务号然后加1生成当前号给用户,由于挂号端只有一个,所以一直没有重号出现,现在整改后,办事部门增多,来办事的人更多,所以就增加了多个人工挂号窗口和自助挂号终端。这样就出现同一时间不同终端在给同一业务派号时就参生了重号。
现在需要解决该问题,自己的思路是: 自己做一个专门负责管理业务号的服务程序,然后各终端都到该服务程序来获取业务号。实现方式就是用TCP/IP协议来做。提供DLL库给和挂号终端调用。DLL库中提供与管理业务号的服务程序通信的接口函数。
不知道我这个思路行了行?大家有没有其它方案可建议,或者有相关资料实例提供,感谢。
...全文
652 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶恭介叶恭介 2020-10-26
  • 打赏
  • 举报
回复
定通信协议最不好。要通信使用HTTP Post就好,通用,你做个HTTP服务器而已 。
xian_wwq 2020-10-25
  • 打赏
  • 举报
回复
这个问题和多进程数据同步有什么差异? 对公用变量或者共享资源 加锁是基本的操作
Eleven 2020-08-17
  • 打赏
  • 举报
回复
服务器接收到请求以后,将请求排队,FIFO~
an_bachelor 2020-08-15
  • 打赏
  • 举报
回复
从场景看没必要自己写一套通信 可以直接用多终端(包括人工窗口的取号终端)连DB
用一张表记录每种业务的ID/办事序号的最大号码,每行一种业务
用数据库自带的行级锁(各个业务相互独立)或表级锁都可以保护多终端取号的情况
表级锁也不要紧 写入速度非常快 一个大厅里多不过几百用户 根本不会感知到卡顿
bluesen 2020-08-02
  • 打赏
  • 举报
回复
要什么锁,每个业务各自独立的队列就可以了
待续_1006 2020-07-27
  • 打赏
  • 举报
回复
数据同步,锁就OK了吧
dianhui 2020-07-19
  • 打赏
  • 举报
回复
引用 2 楼 Simple-Soft 的回复:
用锁就解决了
用锁不行吧,你锁了其它窗口怎么用这个表?
Simple-Soft 2020-07-19
  • 打赏
  • 举报
回复
引用 4 楼 dianhui的回复:
[quote=引用 2 楼 Simple-Soft 的回复:]用锁就解决了
用锁不行吧,你锁了其它窗口怎么用这个表? [/quote] 你是不是对锁有什么误解
zgl7903 2020-07-14
  • 打赏
  • 举报
回复
可能用数据库的方式可能更好, 跨平台及系统兼容性可能会更强, 而且有问题的时候容易调试
Simple-Soft 2020-07-14
  • 打赏
  • 举报
回复
用锁就解决了
smwhotjay 2020-07-14
  • 打赏
  • 举报
回复
不难吧。关键看那个取号机 是什么系统 语言开发的。怎么方便怎么来。 思路就是取号机 都网络访问 一台生成计数器服务器 。感觉http接口实现简单的一批。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧