客户服务器方法中的持久事务

在我的应用程序(客户端服务器)中,我需要编辑一些行(来自数据库),并且只要它们被编辑,就不需要任何人也可以进行编辑。当然,这是通过交易完成的。问题在于,在客户端环境中,事务是在服务器端进行管理的,因此,编辑行的客户端无法直接访问事务。 (在这种情况下,我正在使用PHP,但认为其他技术也采用相同的方法)。因此,我需要保持事务打开状态(用于锁定行以进行编辑),直到客户端完成编辑为止。 在PHP中,持久连接无济于事,因为它们可能与上述客户端位于同一主机中的其他客户端断开连接。您对我的情况有想法吗? 谢谢。     
已邀请:
通常,这些情况是通过直接在对象或对象父对象上设置的业务锁来处理的。 添加一列“ inedition”,当用户声明要进行编辑时将其设置为true,而当用户确认/取消其编辑时将其设置为false。 请注意,在解锁行之前,某些用户交易可能会丢失,因此您可能需要: 进行定期处理以解锁行 用户或管理员可以从功能屏幕上解锁保持锁定状态的行。 编辑: 每当您不想依赖于数据库的特定功能(例如Oracle \“ Select for update \”)时,都会使用这种解决方案。在Java中,EJB有状态的bean可以保留对从UI到数据库的事务的引用。可能存在使用PHP for Oracle或其他有关事务的数据库特定功能的解决方案,具体取决于数据库。     

要回复问题请先登录注册