楊樹月
(江蘇無錫教育電視臺,江蘇 無錫 214021)
隨著廣播電視技術數字化進程的不斷推進,非線性編輯已經成為各個電視臺不可取代的編輯制作工具。大量的數字格式的節目、素材不斷形成,節目存儲管理問題越來越突出。以無錫教育電視臺為例,非編網絡在2005年就已經全面使用,但數字媒體存儲管理問題沒有同步提到管理日程上來,節目存儲仍舊以錄像磁帶的方式入庫管理。而且,無錫教育電視臺許多珍貴的歷史資料錄制在U-MATIC格式的磁帶上,隨著年代的日漸久遠,相應的播放設備慢慢老化損壞,變得難以利用,也急須加以復制和保護,避開視頻上下載造成的圖像質量損失不說,就是編輯人員在庫房里查找資料好幾天才能找到所需要的視頻資料,遇到找不到的情況,編輯人員往往就使用其他鏡頭替代,造成人力資源的浪費和節目制作質量的下降。這種落后的節目資料管理方式已經阻礙了電視事業的發展。所以及時對資料管理進行數字化,采用一個先進、高效的存儲、管理、檢索利用方式來管理資料是非常必要的。
媒資系統是一個非常合適的產品,可以方便地與制作網進行對接,所以無錫教育電視臺在2005年的時候就開始跟蹤其發展,但考慮到當時媒資系統價格比較高,臺內的經濟實力難以承受,而且當時這個產品也不是很成熟。出于多方面考慮,無錫教育電視臺使用FTP、ASP和數據庫技術自建了一個類似媒資系統的資料存儲管理系統,花錢不多,卻取得了較好的使用效果。
搭建該存儲系統可以采用單服務器也可以使用多個服務器,安裝FTP服務器軟件、IIS Web發布軟件、數據庫軟件。采用了1臺服務器,將3個軟件都安裝在其上。硬盤采用可抽取式的SATA盤,臺里所有人員各分配1個FTP賬號,配給1個臨時空間和1個存檔空間。臨時空間用于個人臨時存放文件,存檔空間用于資料歸檔保存。歸檔空間使用多個抽取式硬盤,存滿即換,類似于媒資系統中的離線存儲技術。工作流程拓撲如圖1所示。

FTP(File Transfer Protocol)是在TCP/IP網絡和Internet上最早使用的協議之一,它屬于網絡協議組的應用層。FTP客戶機可以給服務器發出命令下載文件、上載文件、創建或改變服務器上的目錄。大多數網頁瀏覽器和文件管理器都能和FTP服務器建立連接。這使得在FTP上通過一個接口就可以操控遠程文件,如同操控本地文件一樣。這個功能通過一個URL實現,形如FTP://<服務器地址>(例如,FTP://FTP.wxjy.com.cn或FTP://192.168.0.251)。而且,FTP可以多用戶、多線程上下載,只要帶寬資源足夠,使用效率還是有保障的。
可用于搭建FTP服務器的軟件很多,有基于Windows平臺的,如Serv-U,Gene6,Xlight等,也有基于Linux平臺的,如VsFTPd,PureFTP等。筆者試用了基于Windows平臺Serv-U作為FTP服務器軟件。
Serv-U是目前被廣泛使用的一款FTP服務器軟件,具有如下特點:符合Windows標準的管理界面,友好親切,易于掌握;安全性能出眾,在目錄和文件層次都可以設置安全防范措施;支持帶寬管理,用戶線程數管理,對不同用戶的可分配不同帶寬,能提高系統整體效率;能夠為不同用戶提供不同設置,支持分組管理數量眾多的用戶;可以基于IP對用戶授予或拒絕訪問權限;支持擁有多個IP地址的多宿主站點;能夠設置上傳和下載的比率,硬盤空間配額等;支持使用插件進行FTP功能擴展。
需要用它的插件擴展功能連接SQL Server數據庫[1],構建基于ASP技術的編目、查詢、下載授權客戶端[2-3]。
支持文件上傳和下載過程中的斷點續傳。這個功能非常重要,服務器或用戶機宕機或網絡阻塞的現象時難免的,在這種情況之下,軟件如果能夠支持斷點續傳功能,一切就都在掌握之中了。
正是由于它出眾的安全性能和擴展性能,有許多使用者為它編制了功能擴展插件,用于管理用戶、日志、文件校驗及其他功能,如ServU Plus,BBSFTP,ServUFans等,使得Serv-U的用途更加廣泛。
存儲管理系統重點使用了BBSFTP里的上傳日志功能,并根據編目、審核的需求對數據庫結構進行了小小的調整,使用了插件的其他一些功能如文件校驗、標志上載文件等。
該插件適用于Serv-U6.4以下版本主要是用于BBS論壇功能擴展,方便論壇管理者對用戶上下載文件的管理。可對應每個論壇用戶開通單獨的FTP賬號。
BBSFTP能實現的部分功能:記錄統計功能、賬號控制功能、文件上載自動校驗功能;另外一個輔助功能上載文件標記;可設置是否記錄文件下載(文件名、用戶名、IP、時間、文件大小);可設置文件大小小于一定值(單位為kbyte)時不予記錄。
在加載時,在ServUDaemon.ini的最下面加上如下代碼:

如果FTP原先已經加載了插件,需要加載多個插件,就將原來的改成EventHookDLL2,ClientCheckDLL2以此類推。
新建一個bbsFTP的配置文件,代碼如下:

主要配置項說明為:第一句為數據庫連接語句,這里假設SQL Server用戶名為sa,密碼為sa,數據庫名為bbsFTP,數據庫IP地址為192.168.99.101。UserDB與PlusDB可以使用不同的數據庫也可以使用相同的數據庫,此處使用相同的數據庫。代碼為:
UserDB=Provider=Sqloledb;User ID=sa;Password=sa;Initial Catalog=bbsFTP;Data Source=192.168.99.101;
PlusDB=Provider=Sqloledb;User ID=sa;Password=sa;Initial Catalog=bbsFTP;Data Source=192.168.99.101;
如果不用SQL Server而使用Access數據庫,則改成:
UserDB=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:Program FilesServ-UbsFTP.mdb PlusDB=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:Program FilesServ-UbsFTP.mdb
該插件也可以連接MySQL數據庫,但需要安裝MyODBC-Connector。
假設MySQL服務器地址為192.168.99.101,用戶名為sa,密碼為sa,端口3306,連接語句改成:

保留硬盤空間大小設置為1 200 Mbyte,可根據需要自己設置。
Debug=4為調試模式。記錄啟動過程信息,如果有數據連接錯誤的話也會記錄在log文件中。調試結束后改為正常模式:Debug=0。
數據庫選擇了使用SQL Server。相比Access與MySQL,SQL Server運行可靠性高,使用、調試起來也比較方便。在Win2kServer上安裝SQL Server需安裝SP4支持服務包。數據庫軟件具體安裝過程就不多敘述了。數據庫安裝完成后先測試能否正常與之連接上。測試成功后即可使用Rick提供的數據庫生成工具,生成SQL Server數據庫文件,共有20個用戶數據表,如圖2所示。

在這個資料存儲管理系統中,主要使用其中的一個表FTPlog_Uploadfiles進行編目管理,對該表重新設計,添加DownName字段(數據類型nvarchar)用于記錄授權下載用戶,添加Information字段(數據類型text)用于記錄編目信息。為簡化數據結構,將資料的多數信息如資料類型、摘要、關鍵詞、節目全文唱詞等全部記錄在Information字段中。FTPlog_Uploadfiles表的結構如表1所示。

表1 數據上傳log表數據結構
為了打開插件的記錄上下載數據和校驗功能,在FTPBBSFTPconfig表中插入一條記錄,插件配置參數如表2所示。

表2 插件配置參數
需修改一下插件自動生成的數據庫里的一個Bug。打開FTPlog_Uploadfiles表,修改一下Flag字段的默認值設置為0。至此,FTP與插件基本配置完成。
在開啟Serv-U并建立一個FTP測試賬號并上傳一個文件,用企業管理器查看FTPlog_Uploadfiles表里,資料上傳log記錄應該如圖3所示,說明安裝成功。

安裝配置好IIS就能使用ASP編寫代碼連接數據庫測試了。圖4~圖6是設計的用戶操作界面,用戶可以登錄檢索關鍵詞、全文字詞、文件名、文件后綴等查找所需要的資料,點擊右邊鏈接下載。如果審核者授權可以下載的話,就能成功完成下載。


當然,本文搭建的存儲系統只是實現了媒資系統所具有的部分功能,與商業化媒資系統相比,性能上還是有很大差距的。例如,媒資系統能提供轉碼輸出、資源片段調用、實時預覽等,也具有高度靈活的特點,比如對文件格式、文件大小等要求就可以自由設定。對于不具備購買媒資系統的條件、又有大量資源需要保存的單位來說,從實用性、經濟性的角度考慮,開動腦筋自己搭建一個資源管理系統也是一個不錯的參考方案。
[1]曾毅.SQL Server數據庫技術大全[M].北京:清華大學出版社,2009.
[2]王恩波.計算機網絡實用技術[M].北京:人民郵電出版社,2007.
[3]穆江濤,聶雪.ASP程序設計[M].北京:北京大學出版社,2009.