代码之家  ›  专栏  ›  技术社区  ›  Natkeeran

处理多用户(开具发票)

  •  0
  • Natkeeran  · 技术社区  · 17 年前

    要求: 我有一个应用程序(mysql php jquery),用户可以:

    1. 检查记录并更新某些字段。
    2. 通过选择订单开具发票。

    问题是同一时间段内不应开具两次发票。此外,一个字段不应由两个或多个用户同时更新。

    1. 更新表时锁定表,如果用户执行操作,则通知并重新加载。
    2. 实现锁定系统,即当用户执行某些操作时,锁定其他用户执行的操作。
    3 回复  |  直到 17 年前
        1
  •  2
  •   Jim P    17 年前

    查找“乐观锁定”-基本上意味着添加一个版本属性,并将其传回,并使用更新增加它,以确保没有其他人先到达那里。如果N个用户基于同一版本尝试相同的操作,则一个用户获胜,其他用户则失败。它的快速简单,适用于各种情况。

        2
  •  1
  •   TheVillageIdiot    17 年前

    可以对行使用时间戳。阅读带有其他信息的时间戳,保存前检查当前时间戳(行数)是否比您拥有的时间戳新。通过这种方式,您可以将锁定最小化到这一部分,比较时间戳并在第一个到达时进行更新。

        3
  •  0
  •   Natkeeran    17 年前

    谢谢你们两位。将研究两个选项:1( http://cwiki.apache.org/CAY/optimistic-locking-explained.html