Konkurentni pristup k souborum

Jaroslav Hurdes java na ataco.cz
Pátek Říjen 10 22:36:52 CEST 2008


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



Další informace o konferenci Konference