V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhaogaz
V2EX  ›  问与答

问一个 web 开发的问题,如何控制多人同时操作一个内容?

  •  
  •   zhaogaz · 2018-12-27 12:20:36 +08:00 · 1867 次点击
    这是一个创建于 2187 天前的主题,其中的信息可能已经有所发展或是发生改变。

    希望大家看看正文,我觉得用权限模型不太适用,谢谢

    目前产品那边提出了一个需求,我个人是没有找到一个非常恰当的模型来解决这个问题,故来提问。

    业务描述

    假设有三个用户,分别是,张三,李四,王五。

    操作的页面流程是这个样子

    页面 1-页面 1.1-页面 1.1.1
        |    |
    页面 2   页面 1.2
        |
    页面 3-页面 3.1-页面 3.1.1
    

    要求:

    1. 张三操作 1.1 的时候,1.1.1 和 1 不可操作,锁定.(即锁定 1.1 所有相关的父和子)
    2. 张三操作 1.1 的第一条数据的时候,李四可以操作 1.1 的第二条数据,不可操作第一条

    我的尝试

    1. 我试着把以上内容抽象成类似于并发控制的模型,但是底层操作都是 ns,ms 级别,而在 web 流程中,整个操作是几十 s,或者是几分钟的级别,差太多了。感觉对照不了
    2. 权限的模型,我理解为验证与授权,但是常见的权限,都是固定各种类型权限的,或者是由管理员统一分配的,感觉权限没法做。
    3. 尝试中英文搜了下,总是搜的不对,找不到类似的东西

    所以问问各位大佬,有做过类似的东西么?什么样的模型合适?(实际比这个东西多,我这里只是说明下举个简单例子)

    4 条回复    2018-12-27 18:14:39 +08:00
    zn
        1
    zn  
       2018-12-27 12:31:13 +08:00 via iPhone   ❤️ 1
    并发控制时间越短越难做,你现在十几秒甚至几分钟的,简直再容易不过了,我没觉得有什么不对。
    xiaoxinshiwo
        2
    xiaoxinshiwo  
       2018-12-27 12:35:06 +08:00   ❤️ 1
    db 层乐观锁
    ooeyunarika
        3
    ooeyunarika  
       2018-12-27 12:51:54 +08:00   ❤️ 1
    服务端记录操作和上锁,websocket 广播操作,多端同步状态,延迟取决于网络
    alvinbone88
        4
    alvinbone88  
       2018-12-27 18:14:39 +08:00   ❤️ 1
    关键词 BPMN
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3009 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 788ms · UTC 00:40 · PVG 08:40 · LAX 16:40 · JFK 19:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.