李 海 濤
(商丘師范學院計算機與信息技術學院,476000,河南,商丘)
VOD管理系統服務器端的設計
李 海 濤
(商丘師范學院計算機與信息技術學院,476000,河南,商丘)
“VOD管理系統服務器端”主要是以SQL Server數據庫和VB 6.0為主要工具而開發,該系統主要是一服務管理系統,用來管理VOD客戶信息,實現開戶、查詢和修改客戶信息,查詢和修改服務信息,用戶統計,賬單查詢等電視臺內部對VOD電視用戶及VOD電視節目的管理功能。另外,系統實現了文件的導出和導入,讓操作人員更方便的將數據傳入數據庫,以及將數據導出整理存檔。
VOD;ADODC;系統設計
VOD的全稱是Video on Demand,意即按需要的視頻流播放。它是在我國目前的數字電視中占有很大的比重。當您打開電視,您可以不看廣告,不為某個節目趕時間,隨時直接點播自己希望收看的內容,就好像播放自己家里錄像機或VCD中的一部新片子,但是您又不需要購買錄像帶或者VCD盤,也不需要錄像機或者VCD。同時,人們通過它還可以完成在電腦上才能完成的INTERNET瀏覽、收發電子郵件、進行網絡游戲等活動。
一個完整的VOD系統主要由3個部分組成:服務器端、網絡系統、客戶端系統。服務端系統主要由視頻服務器、檔案管理服務器、內部通訊子系統和網絡接口組成[1]。網絡系統包括主干網絡和本地網絡兩部分。因為它負責視頻信息流的實時傳輸,所以是影響連續媒體網絡服務系統性能極為關鍵的部分。客戶端系統,目前,根據不同的功能需求和應用場景,主要有3種VOD系統:NVOD、TVOD和IVOD。本文主要研究VOD系統服務器端系統。因為VOD模式下,也許每個用戶點播的套餐都不同,不可能像原來有線電視管理那樣只需要統計客戶的繳費情況[2-3]。這里還要統計客戶選擇的套餐,客戶的點播情況等。以前用于有線電視客戶信息管理的系統已經不能滿足現在的管理需求。所以,開發一個完全適合現代VOD模式的客戶信息管理軟件很有必要。
目前,信息管理系統的發展已經比較成熟。這里根據對現有信息系統的總結,按照數據處理的流程對系統進行分析。
在對系統進行總體分析以后,初步確定了系統的幾個功能,并對各功能進一步的挖掘分析。系統的大致功能如圖1所示。

圖1 系統的基本功能圖
2.1錄入模塊的設計
在系統的功能模塊圖中,大致可以確定錄入模塊應具有的功能。在這里對其進行更加詳細的設計。
依照系統的功能模塊圖可以得出,錄入模塊包含有服務信息的添加和修改以及客戶信息的添加和修改。另外為了方便系統用戶對數據的操作,避免數據錄入過分復雜,在這里設計了服務信息錄入的2種方式。第一種方法就是由管理員在系統頁面中根據系統要求輸入的內容,一條一條的錄入記錄。另外一種方法就是根據一定的方法實現批量錄入。
這里是批量錄入的方法:
//獲取文件名
iValue=Dir("d:MAC_Table*.txt")
filename_txt=iValue
Do while iValue<>""
If StrComp(iValue,filename_txt)=1 Then
filename_txt=iValue
End If
iValue=Dir()
Loop
//ADODC獲取數據
Adodc3.RecordSource="select MAC_txt from filename_xml"
Adodc3.Refresh
If StrComp(Adodc3.Recordset.Fields("MAC_txt"), filename_txt)=-1 Then
msg=MsgBox("確定要錄入這些IPR",vbYesNo,"提示")
If msg=vbYes Then
//將ADODC內容上傳
Adodc3.Recordset.Fields("MAC_txt")=filen-
ame_txt
Adodc3.Recordset.Update
//獲取文件
filename_xml2="d:MAC_Table” & filename_txt
Set fil=fso.GetFile(filename_xml2)
//打開文件
Set ts=fil.OpenAsTextStream
//讀入文件內容
While Not ts.AtEndOfLine
strs=ts.ReadLine
X=Split(strs," ")
//將文件內容傳入ADODC
Adodc5.RecordSource="select *from MAC_Table where IPRMAC="+"'"+UCase(X(0))+"'"
Adodc5.Refresh
If Adodc5.Recordset.RecordCount=0 Then
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("IPRMAC")=UCase(X(0))
Adodc1.Recordset.Fields("CMMAC")=UCase(X(1))
Adodc1.Recordset.Update
End If
Wend
//將修改信息添入紀錄表
Adodc4.Refresh
Adodc4.Recordset.AddNew
Adodc4.Recordset("adminname")=username
…
Adodc4.Recordset("description")="操作:批量錄入"
Adodc4.Recordset.Update
ts.Close
2.2查詢模塊的設計
根據前面對查詢模塊的分析,以及基本確定了查詢模塊具體實現的功能。在對第3章中查詢模塊數據流圖進行復審和細化,并在對數據流圖分解后的得出查詢模塊程序流程(圖2)。
基本的程序流程為:讀入程序查詢命令,判斷其類型,然后進行處理,調用相關頁面進行操作。

圖2 查詢模塊的基本流程圖
2.3導出模塊的設計
系統的導出模塊分為查詢結果的EXCEL導出,系統各種規格文件的生成,以及將數據上傳至FTP。基本上都是提供一個調用外部實體的接口。
以EXCEL導出為例,系統實現其功能的方法就是用ADODC控件來獲取數據,并使用CreateObject("Excel.Application")獲得一個Excel.Application對象,然后在此對象中添加新的工作表,并將此工作表的數據源設為此ADODC[4-5]。
2.4數據庫的設計
首先,分析本系統所需要的數據。仍然根據服務管理和客戶信息管理來確定所需要的數據。在服務管理中,需要制定一個服務的服務號、服務名以及他所屬的套餐號、套餐名等,需要設置提供服務的FTP地址。并且要進行內部管理,設置不同的用戶和權限。客戶信息管理方面,需要紀錄每個客戶的資料,統計每次點播。
2.4.1 系統的基本表 通過對系統數據流的分析,確定了系統的一部分基本表(表1~表4)。

表1 系統登錄表

表2 客戶表

表3 IPR信息表

表4 記錄表
2.4.2 使用ADODC對數據操作 下面這段代碼是Adodc1獲取用戶輸入的客戶信息并將其上傳至數據庫的過程。
Adodc1.Recordset.AddNew//ADODC1讀入新數據
//ADODC獲得界面輸入的用戶信息
Adodc1.Recordset("ClientID")=Trim(Text1.Text)
Adodc1.Recordset("Clientname")=Text2.Text
Adodc1.Recordset("addressid")=Trim(Text3.Text)
Adodc1.Recordset("teleph")=Trim(Text4.Text)
Adodc1.Recordset("address")=Text5.Text
Adodc1.Recordset("type")=Combo1.Text
Adodc1.Recordset("exp")=s_text
Adodc1.Refresh//執行上面操作
Adodc1.Recordset.Update//將ADODC控件暫存的內容上傳
總結以上的分析和設計,有必要進行系統總體的架構,實現系統各模塊的整合,來對系統總體進行實現。比如說錄入模塊有客戶信息的錄入查詢等功能,也有服務信息的錄入查詢等功能。所以說,要綜合考慮這些有交互的內容來設計系統的整體布局。
3.1錄入模塊的界面實現
鑒于錄入模塊含有添加和修改,并且分成為服務的添加和修改以及客戶信息的添加和修改。所以,從系統模塊的高內聚和低耦合來考慮,在界面實現時將關系比較緊密的服務的添加和修改放到一起實現。服務的添加和修改也是如此。
根據錄入數據的業務流程,應該是服務錄入——套餐錄入,一個新套餐的錄入,需要從現有的服務中選擇部分服務作為套餐內容。所以,決定將服務及套餐的錄入和修改都放在同一個頁面進行。
根據以上安排,設計出如下服務及套餐錄入界面(圖3)。

圖3 服務及套餐的添加和修改頁面
3.2查詢模塊的布局實現
另外,因為ADODC在系統中的廣泛使用,系統的大部分頁面都有Data Grid控件。為了界面的美觀,整個系統頁面都采用了Data Grid占據頁面大比例面積的樣式。
3.3導出模塊的代碼實現
在前面已經分析了導出模塊中數據導出的基本方法,但是還沒有涉及具體的實現。因為EXCEL導出是系統中最常用的數據導出方式,通過命令新建一個工作表并將ADODC中的數據傳輸給它。具體的實現方法如下:
//創建一個EXCEL工作表
Set xlApplication=GetObject("Excel.Application")
Then Set xlApplication=CreateObject("Excel.Application")
Set xlWorkbook=xlApplication.Workbooks.Add
Set xlSheet=xlWorkbook.ActiveSheet
For i=0 To Adodc2.Recordset.RecordCount
//如果是EXCEL表的第一行,就填入字段名
If i=0 Then
xlSheet.Cells(1,1)="用戶ID"
DataGrid1.Columns(0).Caption
xlSheet.Cells(1,2)="用戶姓名"
DataGrid1.Columns(1).Caption
GoTo err
End If
//向表中填數據
xlSheet.Cells(i+1,1)=Adodc2.Recordset.Fields("ClientID")
xlSheet.Cells(i+1,2)=Adodc2.Recordset.Fields("Clientname")
Adodc2.Recordset.MoveNext
Next
//ADODC讀入下個記錄
Adodc2.Recordset.MoveFirst
End for
目前我國數字電視正處在飛速發展的浪潮下,VOD管理系統的開發前景可觀,將有助于數字電視的進一步發展。
[1]塞奎春.Visual Basic信息系統開發實例精選[M].北京:機械工業出版社,2005.
[2]壽建霞.數據庫原理及應用安全教程[M].北京:機械工業出版社,2005.
[3]楊得新.SQL Server2000開發與應用[M].北京:機械工業出版社,2005.
[4]汪明,王宏遠,楊建.機頂盒中NVOD功能的二叉樹實現[J].有線電視技術,2006,13(6):41-44.
[5]劉艷梅,張國軍.基于多播技術的NVOD信道調度策略[J].有線電視技術,2006(6):115-117.
[6]董玫,孫鋒.淺談數字視頻點播(VOD)技術發展現狀[J].西部廣播電視,2002(12):37-39.
[7]張愛芹.視頻點播系統VOD技術原理和應用[J].現代電視技術,2003(10):95-97.
TheDesignofVODManagementSystemServer
LI Haitao
(Computer and Information Department,Shangqiu Normal University,476000,Shangqiu,Henan,PRC)
"VOD management system server" is mainly based on SQL Server database and VB 6 as the main development tools,the system is mainly a service management system,used to manage customer information in VOD,open an account,query and update customer information,query and modify user service information,statistics,billing inquiries TV internal management function VOD TV and VOD TV show.In addition,the system realizes the file export and import,let the operator more convenient data into the database,and to export the data archive.
VOD;ADODC;system design
2014-06-06;
2014-07-01
李海濤(1978-),男,河南長垣人,碩士,講師,主要從事視頻編解碼、物聯網、云計算及安全的應用研究。
河南省科技廳基礎與前沿技術研究計劃項目(編號:132300410385)。
10.13990/j.issn1001-3679.2014.04.026
TN948.64
A
1001-3679(2014)04-0531-05