每当我们获得新的相关数据(Web 2.0)时,我们是否需要检查1页上所有数据的一致性?

时间:2014-03-12 14:12:08

标签: php ajax gwt

在Web2.0应用程序中(通常使用Ajax类型的技术),我们通常不需要将所有数据下载到一页。

我们只需要下载必要的数据(比如说“开始数据”)&当我们需要其他数据(比如“其他相关数据”)时,我们只需要调用它们。

然而,有一个问题。也就是说,在我们下载“开始数据”时,我们获得了最新的最新数据。然后我们使用该数据数小时,但此时数据库中的“开始数据”被其他用户更改。

好的,现在我们在Web2.0应用程序的页面上有旧的“开始数据”。我们在数据库中也有新的(最新的)“开始数据”。

然后,我们得到“其他相关数据”。此时,用户不知道“开始数据”已更新,因此他们继续处理“其他相关数据”,假设“其他相关数据”处于OLD“开始数据”的上下文中“,但实际上”其他相关数据“已经在新的”开始数据“的背景下。

让我们看一个简单的例子。我们有2个表BeginData(ID1是主键)& OtherRelatedData(ID2是主键)全部相互关联。

At the beginning we have these 2 tables:

BeginData
ID1 - ID2 - Text
1   - 3   - begin data text 1

OtherRelatedData
ID2 - Text
3   - other related data text 1

现在用户“A”下载了“开始数据”,因此他在这段记录“1 - 3 - begin data text 1”上工作了好几个小时。同时,用户“B”修改了BeginData&因为它们是相关的所以“其他相关数据”也被修改了:

User "B" modified data:

BeginData
ID1 - ID2 - Text
1   - 3   - begin data text 2

OtherRelatedData
ID2 - Text
3   - other related data text 2

现在用户“A”没有下载最新的“开始数据”&他正在使用“1 - 3 - begin data text 1”,然后他得到“其他相关数据”,然后系统将为他提供“3 - other related data text 2”,所以他认为“3 - other related data text 2”是在“ 1 - 3 - begin data text 1“但实际上并非如此。

这非常严重。如果我们有这么多相关数据,那么我们如何管理呢?

我们需要检查“开始数据”的一致性吗?每当我们得到“其他相关数据”时,1页上的“其他相关数据”?

0 个答案:

没有答案