Ahoj Pavle,
za tento nazor moc dekuju. Pomohl jsi mi prave doresit dilema. Jestli to
takto podobne udelat.
Prima den
Pet
Dne Sat, 11 Oct 2008 09:49:03 +0200 Pavel Kolesnikov
<[EMAIL PROTECTED]> napsal/-a:
Opravdu potrebujete zamykani? Co treba takhle:
- pri kazde zmene vytvorit novy soubor a po vytvoreni souboru
zaktualizovat
zaznam v databazi, aby ukazoval na novou verzi
- pri smazani pouze smazat zaznam v databazi
- v obou pripadech do nejakeho logu zapsat cestu k predchozi verzi
obrazku
- pravidelne asynchronne mazat jiz neplatne verze obrazku
Samozrejme predpokladam, ze ve skutecnosti nicemu nevadi, kdyz si jeden
uzivatel v klidu dotahne soubor zatimco nekdo jiny mezitim ten soubor
smazal
Pavel
2008/10/10 Jaroslav Hurdes <[EMAIL PROTECTED]>:
Zdravim, resim situaci, ze potrebuji ukladat desitky az stovky GB
obrazku,
ktere maji vazbu na data v databazi. Zatim jsem to mel udelane pres
ukladani
do databaze (BLOB). Toto reseni vyzaduje vykonnejsi databaze napr.
Oracle,
ci DB2. Dalsi moznosti je ukladani dat primo na filesystem a v databazi
si
drzet jenom cesty k souborum, coz znamena mensi zatizeni databaze.
Tady ale poterbuji vyresit soubezny pristup k datum, kdy v jednom
okamziku
muze nekolik klientu cist data a zaroven muze prijit pozadavek na
zapis, ci
odstraneni souboru. Potrebuji vyresit zamykani souboru pri
modifikacich, tak
aby ti co ctou museli pockat, nez se operace ukonci a naopak pokud
nekdo jiz
cte data, tak aby ten co modifikuje pockal, az jsou data prectena a
pote se
provedlo uzamceni a modifikace.
Zatim jsem na to sel pres RandomAccesFile a zamykani pres FileChannel
lock()
a release(). Muze nekdo poradit, zda je to spravna cesta, nebo zda
neexistuje jiz nejaka knihovana resici tento problem bud jako celek,
nebo
nizkourovnovy pristup k souborum a jejich zamykani .
Diky Jaroslav Hurdes
--
Tato zpráva byla vytvořena převratným poštovním klientem Opery:
http://www.opera.com/mail/