嗯,也來談一下自己目前的計畫好了。
整個故事大概就是我受到學校的委託,希望可以寫出可以呈現數位切片的「網頁」。整個服務的架構大概如下:
首先,學校買了非常昂貴的,來自Aperio公司的ScanScope機器,那台機器會把實體的切片掃描成他們號稱「完全符合標準」的TIFF格式(我還沒驗證過)。切片檔案很大,1.2平方公分大概就需要300MB的儲存空間,我的任務是讓經過身份認證的人可以用瀏覽器看到他們該看的切片。
因為切片很大,所以一定是用Google Map那種把檔案切成碎塊傳回給User的方式作,官方有提供一個叫做ImageServer的WebServer可以實做出這種功能。可是他的功能並不完全符合需求,首先最大的限制就是身份認證的部份,要進行身份認證的話,Client送出HTTP request的時候要順路送出認證資料,然後ImageServer收到以後再把資料轉交給另一個叫做DataServer的產品進行檢驗,然後DataServer再把最終結果傳回ImageServer讓他決定要不要送圖。問題就在於DataServer的部份,每建立一個帳號資料,學校就要付出3000美金,當然學校就不同意啦XD,所以我就要想辦法解決身份認證的部份。
我想到了幾個方案:
1.寫一個Web Server
這時候就不一定是用HTTP了,一些簡單的XML based的呼叫應該也可以,反正就用字串處理拔tag。然後自己讀檔傳回對應的資料。但是後來想想寫Web server實在工程浩大,很難在DeadLine以前完成,而且我能力可能不夠。
2.寫一個Apache Module
這個方案是可行性比較高的,寫個handler,掛在Apache上面,然後攔截Request,自己讀檔傳回Jpeg。
3.寫個frontend server
把ImageServer設定成只有本機才能連線,然後寫個PHP script進行身份認證,如果認證通過,就把Request轉向到Image Server,然後把Image Server的結果轉回Client。想也知道這樣最省工,然後效能最差,真的沒辦法的時候就用這招。
方案1和2都有個前提,就是我能夠按照TIFF的specification寫出讀檔程式,目前小目標是寫個可以從TIFF讀出小圖檔,然後另存新檔的程式,如果實做的出來,那可能考慮方案2,否則就是方案3了。
理論上我有一年的時間可以寫,可是學校希望下學期可以讓我們班用,看來我肝臟的GOT/GPT指數是暫時無法恢復正常了。
--
突然還想到:其實還有PHP的file I/O可以用嘛orz竟然忘記這麼方便的東西XD
全文連結
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言