• 如何实现在线数据的离线浏览和修改


    昨天,老总提出来这样一个需求,如果用户在网络中断的时候,如何还能够继续操作他职能范围内的数据,然后等网络开通之后,将修改后的数据在上传到服务器。在这样的过程中,会出现以下情况,员工A和员工B同时负责一个职能,他们对数据具有相同的访问能力,或者B比A访问能力大,A和B在离线的时候,保存在各自本地的是数据的同一个版本,A首先更新了这个版本,然后上传到服务器,这时候,如果B也是离线修改,需要将结果上传到服务器的时候,上传会失败,但非常可能的情况是B的数据才是最后想要的,这时候怎么办?
    离线浏览和离线修改的解决方案为每次关闭前,将最后用户所操作的数据,序列化成DataSet,然后作一个离线浏览器,这个从技术上来说并不困难,困难的就是增加了上述问题。昨天第一次提出这样的问题,首先就想到了版本控制软件,解决之道,第一种,是采用数据独占的方式 ,即“严格锁”,只要一份数据被人下载到客户端,就将服务器端该数据冻结起来,不让其受到其他人的修改,但其他人可浏览。第二种方法为类似cvs的“乐观锁",就是服务器端不进行锁定,假如A修改了数据,这时候B再更新,服务器首先检查服务器端数据版本和本地数据版本是否一样,一样说明之前没有人修改,直接上传,不一样,通过日志,查找最后修改该数据的人,二人进行协商,最后确定结果。
    通过数据固定化和乐观锁,应该能解决离线浏览和离线修改的功能,思考的不是非常全面,以后会有所增删
  • 相关阅读:
    host文件的用处
    探究 Flex 组件的生命周期
    QQ在开发中的应用
    转:linux进程间通信的几种机制的比较及适用场合
    转:Linux 2.4.x内核软中断机制
    转:PLL 锁相环
    转:LPC2214的PLL与定时器设置
    转: V4L2驱动程序架构
    转:linux select 多路复用机制
    [转] Linux 句柄是什么 ?
  • 原文地址:https://www.cnblogs.com/jillzhang/p/474834.html
Copyright © 2020-2023  润新知