这个问题是一个长镜头。我不认为这实际上是可能的,但我想我会张贴它只是为了看到。算法允许两个程序更新同一数据
背景:
我有两个系统。
一个是一个巨大的大型机系统,或多或少不可改变。
另一种是WCF/SQL Server 2008中的系统我写。
系统通信的唯一方式是通过NServiceBus和TCP发送XML数据。 XML随后被每个系统解析并执行。通信滞后时间可能有几分钟的时间。
大型机系统的所有数据和用户的实际“拥有者”可直接在任何时间连接至主机并进行更改。 (有没有办法从进行更新阻止他们。)
问:
我需要能够从我的系统发送更新,并确保我没有覆盖这一变化发生在大型机系统。有没有办法做到这一点?
实施例:
我送为订单数量到主框架的更新(它改变从2至4)。但不认得我,直接连接到大型机用户已经更新为2〜7
的订单数量。当我的4更新得到处理,将会改写更新到7
如果我没有送更新到4,最终大型机会告诉我有关更新到7的情况。但是在它告诉我的时候,大型机用户可能会进行另一次更新。
如果您每次更新数据并将其与新数据进行比较时会发生什么?这样它会告诉你自上次检查以来是否还有其他更新。 – 2012-01-30 16:34:33
一些说明:1)更新形式为“将数量更改为X”或“将数量增加X”? 2)只要用户的更新不被拒绝,用户的更新是否可以延迟? – 2012-01-30 16:37:26
@EricFrick - 我无法从一个系统查询另一个系统。唯一的通信是基于事件消息的。即使我可以,也无法知道当我查询和发送消息时以及其他系统处理消息时,不会发生更新。 – Vaccano 2012-03-07 23:44:59