簡(jiǎn)介
射手網(wǎng)目前是一個(gè)以電影中文字幕為主的主題資訊交換平臺。迄今為止,射手網(wǎng)仍然是一個(gè)純粹的個(gè)人網(wǎng)站。
歷史
2000年之前,到處寄生于免費個(gè)人主頁(yè)空間的大雜燴,有點(diǎn)像今天的Blog。
2000年4月,啟用shooter.com.cn域名。只不過(guò),其實(shí)最初其實(shí)是想做一個(gè)書(shū)評網(wǎng)站。那時(shí)候我還很愛(ài)讀書(shū),網(wǎng)站名叫“書(shū)途”。
2000年7月,很快忍不住加入了很多自己喜愛(ài)的元素,除了DivX之外,還有DVD封面、DC封面、DC游戲、漫畫(huà)的下載。之后不久又開(kāi)始加入視頻技術(shù)制作文章和軟件。
2001年9月,開(kāi)始加入字幕下載的部分。主要還是從DVD上Rip下來(lái)的字幕,很多字幕翻譯質(zhì)量都不高。此時(shí)已經(jīng)基本停止維護封面、游戲、漫畫(huà)和電影下載的部分。
2002年,開(kāi)始出現自主原創(chuàng )翻譯。在此特別向長(cháng)期以來(lái)翻譯和發(fā)布字幕的貢獻者們致敬。
2003年7月,啟用shooter.cn域名。
2004年9月,因為生活和工作的原因,沒(méi)有足夠的精力維護文檔和軟件更新。好在字幕的自助上傳和下載系統已經(jīng)穩定,就像終結者里面的天網(wǎng)那樣,不用人管理也可以運行。
2005年12月,長(cháng)期積累的大量字幕和每天的海量訪(fǎng)問(wèn)與搜索令服務(wù)器不堪重負,幾乎每天晚上都像死機一樣。連自己也看不下去了,終于決定進(jìn)行一次推倒重來(lái)的大改版。
財務(wù)
射手網(wǎng)是一個(gè)純粹的個(gè)人網(wǎng)站,因此也沒(méi)有資本更沒(méi)有運營(yíng)經(jīng)費。
在2006年之前,所有服務(wù)器均是友人幫助提供,其余網(wǎng)絡(luò )費和運營(yíng)經(jīng)費由站長(cháng)自掏腰包。期間曾啟用海外paypal的捐款通道,不過(guò)歷史上收到的捐款,一只巴掌就數得過(guò)來(lái),干脆取消了。
2006年改版之后,網(wǎng)站啟用Google Adsense,雖然點(diǎn)擊不高,總算開(kāi)始有些收入,主要用于彌補網(wǎng)絡(luò )帶寬費用。未來(lái)盈余希望可以滿(mǎn)足添置數據庫和Web服務(wù)器的需要。
WEB技術(shù)
負載均衡
射手網(wǎng)在Web服務(wù)上最大的特點(diǎn),也是最大的困難,就是在極度缺乏經(jīng)費的情況下,只能靠朋友“借”服務(wù)器。因此,服務(wù)器配置不理想、可用的服務(wù)器少、難以穩定運行、地理位置分散、網(wǎng)絡(luò )條件參差不齊,難以承受龐大的訪(fǎng)問(wèn)量負載是最大的困難。
2006年改版后,射手網(wǎng)的整個(gè)系統將靜態(tài)Web服務(wù)器,和其他下載服務(wù)器、搜索數據庫、計數器模塊分開(kāi)。帶來(lái)的好處不僅是可以擴張負載能力應付巨量訪(fǎng)問(wèn)請求。更有趣的是,即使其中部分服務(wù)器當機,網(wǎng)站的其他模塊仍然可以不受影響,可以繼續訪(fǎng)問(wèn)和瀏覽。
文件存儲、hash與“安全”下載
另外一個(gè)長(cháng)期困擾射手網(wǎng)的問(wèn)題是,中文、異體文件名的存儲障礙。射手網(wǎng)的服務(wù)器空間都不大,所以所有的文件常常去要分配到不同的服務(wù)器上存儲。這里就有個(gè)非常嚴重的問(wèn)題,每個(gè)系統的文件名編碼并不相同,多數是GB2312,但是也有ISO或BIG5或UTF-8的可能。港臺朋友上傳的字幕可能還有繁體字或異體字,常常造成文件名存儲亂碼,最終無(wú)法下載。同時(shí)由于Windows和Linux的命名規則不同,有時(shí)候Windows下被允許的文件名,在Linux下會(huì )完全不被接受而造成文件丟失。
為了解決這個(gè)問(wèn)題,2006改版后的系統,采用了全新的文件存儲方式。所有的文件全都不再按原文件名存儲,而是使用一個(gè)唯一的目錄+hash串碼來(lái)存儲。僅在收到用戶(hù)下載請求時(shí),根據需要移動(dòng)(Link)到下載緩存區供下載。這也是為什么新版的射手網(wǎng)采用hash碼下載而且下載有了時(shí)間限制。而“安全”下載方式,就是提供一個(gè)不包含中文字符的文件名來(lái)給使用不同編碼的操作系統瀏覽器的人們來(lái)下載,以免一些用戶(hù)因為文件名亂碼而出現下載不到文件的情況。有些人以為這是為了防止盜鏈,其實(shí)站長(cháng)才沒(méi)有必要為了這么小氣的原因花這么大力氣做一套全新的文件存儲系統。
頁(yè)面靜態(tài)化、XML和Ajax
為了應付大量的頁(yè)面請求,自然需要對頁(yè)面靜態(tài)化。改版最初,并沒(méi)有想到用XML和Ajax。但是漸漸的,傳統的靜態(tài)頁(yè)面方法展現弊端——哪怕是對頁(yè)面布局做一點(diǎn)微小的修改,就要花費大量時(shí)間重新生成幾十萬(wàn)個(gè)頁(yè)面。對于經(jīng)常要對頁(yè)面作微調的我,實(shí)在是萬(wàn)分痛苦。更何況服務(wù)器負載資源已經(jīng)非常緊張,每次重建網(wǎng)站的開(kāi)銷(xiāo)也令人無(wú)法承受。很快,在現實(shí)的壓迫下,整個(gè)系統轉向XML+Ajax。
XML+Ajax的優(yōu)勢是靜態(tài)級別的負載,做到動(dòng)態(tài)頁(yè)面的效果。使用靜態(tài)XML+Ajax之后,不夸張地說(shuō),射手網(wǎng)的負載開(kāi)銷(xiāo)下降到原來(lái)的1/50-1/100,松了一大口氣。唯一的遺憾是瀏覽器之間對Ajax的實(shí)現方式總有細微的差別,由此針對某些瀏覽器,帶來(lái)不少兼容問(wèn)題。
Linux\FreeBSD vs. Windows
所有的射手網(wǎng)服務(wù)器里面,沒(méi)有一臺使用Windows,全部采用*nix架構的服務(wù)器。未來(lái)也不會(huì )使用Windows的服務(wù)器,因此請不要來(lái)Email提一些只會(huì )在Windows服務(wù)器上發(fā)生的疑問(wèn)——99.9%的病毒都是為Windows設計的,而且Windows的病毒不能在*nix系統上運行。
文件上傳過(guò)濾系統
不知道幾時(shí)起,病毒、木馬、流氓軟件的門(mén)檻這么低。有些人有點(diǎn)聰明才智,就愛(ài)往這種事情上用。在上傳文件時(shí)夾雜病毒、木馬,當真困擾了射手網(wǎng)好幾個(gè)星期。解決方式就是在服務(wù)器上加掛zip和rar支持,檢查每個(gè)上傳文件中,是否包含有可能帶來(lái)危險的可執行文件或病毒載體。一旦發(fā)現、不僅刪除文件,同時(shí)記錄上傳IP存檔+Ban。
舉報系統
前面提到多次了,射手網(wǎng)是個(gè)個(gè)人網(wǎng)站,因此不光服務(wù)器資源緊張,而且人力資源也異常緊張——只有一個(gè)人。因此難以一一審核上傳的文件。所以誕生了舉報系統。舉報系統的工作流程是這樣的,用戶(hù)發(fā)現并舉報后,系統先作加權判斷,之后再定期檢查審核,刪除或者恢復。
聯(lián)系客服