zoukankan      html  css  js  c++  java
  • 如何实现在线数据的离线浏览和修改

    昨天,老总提出来这样一个需求,如果用户在网络中断的时候,如何还能够继续操作他职能范围内的数据,然后等网络开通之后,将修改后的数据在上传到服务器。在这样的过程中,会出现以下情况,员工A和员工B同时负责一个职能,他们对数据具有相同的访问能力,或者B比A访问能力大,A和B在离线的时候,保存在各自本地的是数据的同一个版本,A首先更新了这个版本,然后上传到服务器,这时候,如果B也是离线修改,需要将结果上传到服务器的时候,上传会失败,但非常可能的情况是B的数据才是最后想要的,这时候怎么办?
    离线浏览和离线修改的解决方案为每次关闭前,将最后用户所操作的数据,序列化成DataSet,然后作一个离线浏览器,这个从技术上来说并不困难,困难的就是增加了上述问题。昨天第一次提出这样的问题,首先就想到了版本控制软件,解决之道,第一种,是采用数据独占的方式 ,即“严格锁”,只要一份数据被人下载到客户端,就将服务器端该数据冻结起来,不让其受到其他人的修改,但其他人可浏览。第二种方法为类似cvs的“乐观锁",就是服务器端不进行锁定,假如A修改了数据,这时候B再更新,服务器首先检查服务器端数据版本和本地数据版本是否一样,一样说明之前没有人修改,直接上传,不一样,通过日志,查找最后修改该数据的人,二人进行协商,最后确定结果。
    通过数据固定化和乐观锁,应该能解决离线浏览和离线修改的功能,思考的不是非常全面,以后会有所增删
  • 相关阅读:
    Laravel中Contracts的理解和使用
    laravel 服务容器的用法
    linux 安装go环境
    权限设计-系统登录用户权限设计
    Laravel 中使用 JWT 认证的 Restful API
    使用laravel-wechat微信支付
    composer查看全局配置
    如何在 Laravel 项目中处理 Excel 文件
    laravel各种请求类
    Centos创建用户并授权
  • 原文地址:https://www.cnblogs.com/jillzhang/p/474834.html
Copyright © 2011-2022 走看看