Konkurentni pristup k souborum

Jaroslav Hurdes java na ataco.cz
Pondělí Říjen 13 14:05:28 CEST 2008


Zdravim. Tento pristup se mi jevi jako dostatecny, takze diky za 
nasmerovani. Jaroslav Hurdes

Pavel Kolesnikov 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 <java na ataco.cz>:
>   
>> 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