checking custom prop data integrity
George C Brackett
gbrackett at luceatlux.com
Tue Jul 21 14:22:51 EDT 2009
Ah, I see. I guess one option would be to offer as a service to
maintain the data on a MySQL database on your own server, but you may
not wish to get into such a long-term relationship. I have often
thought about the balance between offering product and offering a
service, and it's not obvious to me which might be better in general
-- only in particular.
George
On Jul 21, 2009, at 1:50 PM, Phil Davis wrote:
George C Brackett wrote:
> Is the purpose of the online stack just to hold the value of the
> custom property? If so, why not use a database such as MySQL or
> PostgreSQL? These are carefully engineered to prevent collisions by
> multiple users.
>
> George
You're absolutely right, George - MySQL etc offer superior data
management capabilities. But often the introduction of a conventional
DBMS brings with it the need for more technical support. Most small
businesses (at least the ones this product serves) don't have a tech
support person on the payroll and want to keep it that way. By using
this simple dumb-data-on-server / smart-app-on-every-client approach,
even the owner of the company can usually restore the server data if
something goes wrong! Imagine that. ;-)
Phil
>
> On Jul 20, 2009, at 7:59 PM, Phil Davis wrote:
>
> I'm looking for the best way to detect data corruption ASAP after it
> happens in a custom property of a stack. The stack resides on a file
> server and is read & written by many clients. File locking during
> reads and writes is already in place and seems to be doing its job,
> but occasionally we still have data corruption that creeps in.
>
> Specifically, I want to make a way for the "Client B" app to know
> that the value it gets from the "uData" custom property of stack
> "myStack" is exactly what the "Client A" app put there a moment
> before.
>
> Here's how I see this working:
>
> * Client A
> o (stack is in memory, file is locked on server)
> o sets the uData of stack "myStack" to new value
> o puts md5digest of updated uData into "dataDigest" file on
> server
> o saves "myStack" stack
> o deletes stack from memory
> o unlocks file on server
> * Client B (a moment later)
> o locks "myStack" file on server
> o puts "dataDigest" file from server into tOldDigest
> o goes to stack "myStack"
> o puts md5digest of uData custom prop into tNewDigest
> o if tNewDigest = tOldDigest, all is well; otherwise
> corruption exists
>
> Does anyone see a problem with this approach? Is there a better way
> to accomplish the goal? If each client could check the data after
> its own write without having to read the stack into memory again to
> do so, that would be great - I just didn't see a way for that to
> happen.
>
> Thanks everyone -
--
Phil Davis
PDS Labs
Professional Software Development
http://pdslabs.net
_______________________________________________
use-revolution mailing list
use-revolution at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list