假如有一个在线考试的系统?学生考试时突然断电.要如何解决这个问题?如何保存住他刹那间的状态,答案,数据等等?又如大型的网络游戏,是如何处理客户端突然断电的情况的?以不至于造成回档或数据丢失?

解决方案 »

  1.   

    我也就能说,让我干估计一年半载干不出来。
    -----------------------------------------------------------
    oracle实现断电数据恢复可都是博士级别的大师,还搞了那么多年。
      

  2.   

    顶5楼
    用软件的方式处理?保险吗?一般是不是会用UPS呀?我们小公司都会用UPS,更不要说大型网络游戏服务器,不会不用这样简单安全的方式而改用软件处理吧?
      

  3.   

    首先,突然断电的问题是无法预知的,而程序是无法处理无法预知的事情(对的,程序只能处理能够有确定解决路线的问题)。所以,你所问的问题只能进行部分解决。可以采用的方案就是在客户端建立一个缓存,将数据提交到服务器之前,多次保存到本地磁盘上(这当然会带来安全性问题,但现在解决的首要问题是突然断电,所以安全问题不作任何讨论)。这个“多次保存”可以采用定时保存(利用一个自定义线程来完成),也可以采用事件保存(比如onclick事件)。如果你采用onclick事件,还面临一个问题:因为是在客户端保存,那就意味着你要使用JavaScript之类的脚本代码,而脚本代码访问客户端是有权限要求的(安全性问题又来了),所以,这意味着你的客户端首先需要管理员身份进行登陆,然后可以采用各种手段(在IE下面可以使用FileObjectSystem这个ActiveX插件来完成,不过据说IE8已经不行了)来完成一个文件的读写。好了,本人所知大概就这么多,更多信息,请Google。谢谢。
      

  4.   

    当然,你也可以直接将数据送到服务器端(比如:利用Ajax),但这样估计会让服务器崩溃的(频繁访问服务器,如果人一多哦,我的上帝。),所以,我并不建议这样使用。
      

  5.   

    其实个人觉得就会突然断电的最完美解决方案,就是UPS(不间断电源)。
      

  6.   

    顶UPS,我们公司现在都用这个
      

  7.   

    1. 定时保存(30秒 保存一次 )
    2. ups
    3. 假如用户量不大  可以做一题保存一题,(一般计算机上 选择题多些)