zhaogaz
V2EX  ›  问与答

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

  •  
  •   zhaogaz · Dec 27, 2018 · 2340 views
    This topic created in 2703 days ago, the information mentioned may be changed or developed.

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

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

    业务描述

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

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

    页面 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 replies    2018-12-27 18:14:39 +08:00
    zn
        1
    zn  
       Dec 27, 2018 via iPhone   ❤️ 1
    并发控制时间越短越难做,你现在十几秒甚至几分钟的,简直再容易不过了,我没觉得有什么不对。
    xiaoxinshiwo
        2
    xiaoxinshiwo  
       Dec 27, 2018   ❤️ 1
    db 层乐观锁
    ooeyunarika
        3
    ooeyunarika  
       Dec 27, 2018   ❤️ 1
    服务端记录操作和上锁,websocket 广播操作,多端同步状态,延迟取决于网络
    alvinbone88
        4
    alvinbone88  
       Dec 27, 2018   ❤️ 1
    关键词 BPMN
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 23:11 · PVG 07:11 · LAX 16:11 · JFK 19:11
    ♥ Do have faith in what you're doing.