讨论一下c/s架构的多客户端数据同步问题
一个订票系统
每个客户端需要根据服务器端的数据来决定可以卖给用户几张票
现在假设A客户端查询了服务器,返回票数是10张
但同时,B客户端将其中的5张卖掉
因服务器无法通知A客户端B已经作了这个操作
这时A客户端看到的票还是10张(此时也数据库剩下5张票,但是A客户端还是显示10张)
请问,如何处理这样的情况,A客户端与服务器同步实时更新
我想到的是用观察者模式,数据库操作不熟悉,高手望指导
(此时也数据库剩下5张票,但是A客户端还是显示10张)
都说已经知道数据库里有5张了,还需要做什么??
这是典型的数据不一直问题,数据库的作用之一就是解决这个问题
智能客户端吧!smart client。
每个客户端需要售票的时候,查询一下数据库,或者定时查询,更新。
在数据库的字段被修改后通知所有的客户端,这样就需要从服务器主动通知,那就一定要通过某种通讯方式来传递了。否则就是客户端用定时器,多去读数据库里的数据。但这样对前台的压力比较大,如果前台配置不高,多用定时器刷这种事要少做。
定时刷新服务器就行了,就像你说的,只有5张了,买10张,肯定提示票数不足,请重新输入数量。
这不就相当于网上商城嘛,使用事务保持同步。
http://baike.baidu.com/view/600227.htm
webForm就是数据同步的啊。 <
相关问答:
在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......
想知道每条指令或函数的系统消耗。比如系统执行int a=0;的开销是多少。有没有类似的文档之类的。不要和我说用什么clock()函数来测试。我想要相关总结好的文档
先反汇编,然后拿着cpu的指令手册查每条指令的时间周期 ......
6月5日消息,XX网站日前评出了10项大势已去的计算机技术。其中,有些技术已经被淘汰,有些即将被淘汰。如著名的Cobol语言,以及IBM的OS/2系统。
以下为XX网站评出的被淘汰的10项计算机技术:
......
/* Note:Your choice is C IDE
作用: 随机数加密法,,,,
以下有许多不懂,请教一下,请主意代码;
*/
#include <stdio.h>
#include <stdlib.h>
union
{
int value;
struct
{
c ......