pentominos:pentominos
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
pentominos:pentominos [2009/02/11 10:45] – deva | pentominos:pentominos [2010/01/29 08:46] (current) – deva | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | =====Pentominos - Data Collection System ===== | + | ======Pentominos - Data Collection System |
- | ====Network communication (protocol)==== | + | =====Overview===== |
- | All network communication are done via XML documents.\\ | + | The Pentominos project consists of several sub-projects, that all work together |
- | < | + | Here is a list of the current sub-projects: |
- | Sending the zero character to a process will reset it, and thereby cleaning up all mess made by illegal documents.</ | + | * [[Artefact]] - The data storage |
- | A connection can only be created in client-mode, | + | * [[Feed]] - A thin client data gathering application. |
- | A server listen will run in a read loop until the client terminates the connection.\\ | + | * [[Upload Server]] - Journal writer. |
- | The server must reply to all request with an answer, no matter if the preceding processing went well or not. | + | * [[Pidiod]] - The uid => patient ID mapper. |
- | + | * [[Pidio]] | |
- | ====The client==== | + | * [[libartefact]] |
- | The client reads its config file, and forks for each config section it encounters.\\ | + | |
- | Every fork handles a single apparatus according to the attached config section.\\ | + | |
- | The main thread runs infinitely and makes sure to terminate | + | |
- | Every client is connected physically | + | |
- | The LUA programs hereafter sends this data to the server indirectly through | + | |
- | Each LUA program must run in an infinite loop, terminating only when the function stop() returns true, and it must not hang waiting on read, but rather have a time-out, and loop again. | + | |
- | + | ||
- | ====Data types==== | + | |
- | Problem: An apparatus produces more than one type of data, but stores all measured values in the same data block. | + | |
- | How to make a query that will hit this multi-data block?\\ | + | |
- | Solutions: | + | |
- | * Make client send data one time pr. data type, thus storing it in the db under two different classes. | + | |
- | * //Pros//: | + | |
- | * We don't need to make any changes to the server | + | |
- | * //Cons:// | + | |
- | * The client | + | |
- | * The data are stored multiple times in the file system. | + | |
- | + | ||
- | * Make validator detects which types of data are contained in the block, adding a list of type tags in the database. | + | |
- | * //Pros:// | + | |
- | * The data are only stored once in the file system. | + | |
- | * //Cons:// | + | |
- | * Needs to query an entry in a list in the db. | + | |
- | + | ||
- | * Make the validator insert one entry in the db for each data type, referring to the same data block (file). | + | |
- | * //Pros:// | + | |
- | * The data are only stored once in the file system. | + | |
- | * We don't need to make drastic changes to the server code (or client for that matter). | + | |
- | * //Cons:// | + | |
- | * bleh | + | |
- | * //Cons:// | + | |
- | * Needs to query an entry in a list in the db. | + | |
- | + | ||
- | ====Links==== | + | |
- | * http:// | + | |
- | + | ||
- | ====TODO==== | + | |
- | * {{: | + | |
- | * {{: | + | |
- | * {{: | + | |
- | * {{: | + | |
- | + |
pentominos/pentominos.1234345538.txt.gz · Last modified: 2009/02/11 10:45 by deva