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

2018-12-27 12:20:36 +08:00
 zhaogaz

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

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

业务描述

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

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

页面 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. 尝试中英文搜了下,总是搜的不对,找不到类似的东西

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

1837 次点击
所在节点    问与答
4 条回复
zn
2018-12-27 12:31:13 +08:00
并发控制时间越短越难做,你现在十几秒甚至几分钟的,简直再容易不过了,我没觉得有什么不对。
xiaoxinshiwo
2018-12-27 12:35:06 +08:00
db 层乐观锁
ooeyunarika
2018-12-27 12:51:54 +08:00
服务端记录操作和上锁,websocket 广播操作,多端同步状态,延迟取决于网络
alvinbone88
2018-12-27 18:14:39 +08:00
关键词 BPMN

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX