作者cvictor (asdfasdf)
看板HOT_Game
標題[兵器] 自動認證伺服器
時間Mon Jul 16 13:26:33 2007
根據elic大大在7/5的文章,
每張認證圖片有八成左右的機會是之前曾經出現過的。
所以假如每次兵器收到一張認證圖,就到某個認證伺服器搜尋,
假如有找到一樣的,就不用把圖片放到theta去給打字兵打,
這樣打字兵的負擔就可以降低為現在的1/5而已。
甚至如果兵器在認證伺服器找不到就直接重新要一張圖,
而且Ian的圖片更新不是很快,就算沒有打字兵,
分速也可以達到現在的80%。是個很有力的機制。
我前幾天寫好了一個認證伺服器。
我目前的作法是:
每張圖片以一個16 bytes的hash來表示,答案則是存在一個histogram中。
查詢時的回傳以histogram最高頻率者為準,並輸出一些histogram的資訊,
讓使用者判斷可信度。
更新時則直接增加到histogram中。
使用histogram的理由只是因為有的圖片很容易打錯,所以直接以多數決。
假設只有1M張圖片,針對後端自訂的資料庫作了些benchmark。
往空的資料庫中插入10M筆資料要花40秒,並使用300M的記憶體與15M的硬碟。
在已經有10M筆資料的資料庫中查詢10M筆資料會花20秒。
所以執行效能應該不是太大的問題。
當然透過網路的話速度會降很多,不過應該還是夠快。
現在想到的使用方法有:
1.theta server端:
收到圖片以後先query認證資料庫,如果可信度夠高就直接回傳。
找不到或者可信度太低還是交給打字兵。
收到打字兵的答案後更新認證資料庫。
好處是最節省頻寬而且client端不用改,缺點是不知道打字兵答案是否正確,
必須依賴histogram的統計資訊。
2.alpha or其他攻擊端
收到圖片以後先query認證資料庫,如果可信度夠高就直接回傳。
找不到或者可信度太低就傳給theta server。
如果圖片正確就更新認證資料庫。
好處是可以完全確認答案是否正確,缺點是兵器又要改版了。
3.enigma或其他打字端
從theta server拿一張圖後先query認證資料庫,如果可信度夠高就直接回傳。
找不到或者可信度太低就自己打字。
這個方法應該是最沒意義的,只是萬一前面的都失敗的備案。
有兵器開發者願意一起討論一下嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.17.196
推 K122324090:可不可以三位數用自動認證 四位五位數用他動 07/16 13:29
推 victor740519:兵器技術請到國防部討論........ 07/16 13:29
→ darren8221:要怎麼知道是三位數還是4/5位數...=.= 07/16 13:30
推 feartis:多數決如果碰到平手怎麼辦? 07/16 13:30
推 abolish:其實我怕的是萬一伺服器掛了怎麼辦 做越多事掛的機率越大 07/16 13:32
→ algos:還要考慮傳輸時間, 不能只單傳計算DB query時間 07/16 13:35
→ KOKEY:詢問一下我國國防部在哪裡呀? 07/16 13:43
推 invalid:來把,學弟你在哪間實驗室@@ 07/16 13:43
→ freddywey:擔心速度的話,可以分散server處理 07/16 13:46
推 cvictor:如果有設計time out,掛了的話就回到現在的模式吧 07/16 14:30
→ cvictor:protocol很簡單,資料量也少,傳輸時間應該OK 07/16 14:31
→ cvictor:然後...國防部在哪裡啊? 07/16 14:32
推 c0s:我也想問國防部在哪? 07/16 14:39