Updated Architecture (markdown)

master
Petr Stefan 9 years ago
parent 63f1956c6c
commit 73f4db8b46

@ -18,6 +18,7 @@
- store files without duplicates - store files without duplicates
- keep consistent state with main database - keep consistent state with main database
- serve files to workers on demand - serve files to workers on demand
- allow versioning of tasks with revert back feature
To meet these requirements, **Storage** and **Database** must be set as bellow. To meet these requirements, **Storage** and **Database** must be set as bellow.
@ -47,4 +48,7 @@ To meet these requirements, **Storage** and **Database** must be set as bellow.
For user friendly access and modifying tasks following information should be stored in database: For user friendly access and modifying tasks following information should be stored in database:
- list of tasks with their newest version number - list of tasks with their newest version number
- for every task and version list of used files (their hashed names) - for every task and version list of used files (their hashed names)
- for every hash name one human readable filename - for every hash name one human readable filename
### Conclusion
Files are internally stored by their `sha1sum` hashes, so it's easy to implement versioning and get rid of files with duplicity content. **Worker** also uses files by their hashes, which is great for local caching without worries about akctual version of given file. On the other hand, **Database** keep info about human readable names, so to users (teachers) are files presented in a friendly way.
Loading…
Cancel
Save