讨论一下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就是数据同步的啊。 <
相关问答:
最近突然想自己来实现一个五子棋程序,但不知道怎么开始,自己也没学画图形函数,能在控制台下直接写吗>>>?????
控制台?比图形界面更麻烦。
http://search.download.csdn.net/search/%E4%BA%94%E5%AD%90% ......
6月5日消息,XX网站日前评出了10项大势已去的计算机技术。其中,有些技术已经被淘汰,有些即将被淘汰。如著名的Cobol语言,以及IBM的OS/2系统。
以下为XX网站评出的被淘汰的10项计算机技术:
......
大家好!我是一位C爱好者,向大家请教下,C程序员可好找工作?公司用C干些什么?
无所谓好不好找工作,一般通信、系统、嵌入式、硬件方面用的多,而且由于C的底层特性,学会后在学其他的会比较容易
不管用什么语 ......
//C 接口
extern "C"
{
TESSDLL_API int __cdecl GetTessText(const char *imagefile, char *text);
}
//我在C#中声明
//调用C DLL 中的函数
[DllImport("OCRapi.dll&quo ......