李 海 濤
(商丘師范學(xué)院計算機(jī)與信息技術(shù)學(xué)院,476000,河南,商丘)
VOD管理系統(tǒng)服務(wù)器端的設(shè)計
李 海 濤
(商丘師范學(xué)院計算機(jī)與信息技術(shù)學(xué)院,476000,河南,商丘)
“VOD管理系統(tǒng)服務(wù)器端”主要是以SQL Server數(shù)據(jù)庫和VB 6.0為主要工具而開發(fā),該系統(tǒng)主要是一服務(wù)管理系統(tǒng),用來管理VOD客戶信息,實現(xiàn)開戶、查詢和修改客戶信息,查詢和修改服務(wù)信息,用戶統(tǒng)計,賬單查詢等電視臺內(nèi)部對VOD電視用戶及VOD電視節(jié)目的管理功能。另外,系統(tǒng)實現(xiàn)了文件的導(dǎo)出和導(dǎo)入,讓操作人員更方便的將數(shù)據(jù)傳入數(shù)據(jù)庫,以及將數(shù)據(jù)導(dǎo)出整理存檔。
VOD;ADODC;系統(tǒng)設(shè)計
VOD的全稱是Video on Demand,意即按需要的視頻流播放。它是在我國目前的數(shù)字電視中占有很大的比重。當(dāng)您打開電視,您可以不看廣告,不為某個節(jié)目趕時間,隨時直接點播自己希望收看的內(nèi)容,就好像播放自己家里錄像機(jī)或VCD中的一部新片子,但是您又不需要購買錄像帶或者VCD盤,也不需要錄像機(jī)或者VCD。同時,人們通過它還可以完成在電腦上才能完成的INTERNET瀏覽、收發(fā)電子郵件、進(jìn)行網(wǎng)絡(luò)游戲等活動。
一個完整的VOD系統(tǒng)主要由3個部分組成:服務(wù)器端、網(wǎng)絡(luò)系統(tǒng)、客戶端系統(tǒng)。服務(wù)端系統(tǒng)主要由視頻服務(wù)器、檔案管理服務(wù)器、內(nèi)部通訊子系統(tǒng)和網(wǎng)絡(luò)接口組成[1]。網(wǎng)絡(luò)系統(tǒng)包括主干網(wǎng)絡(luò)和本地網(wǎng)絡(luò)兩部分。因為它負(fù)責(zé)視頻信息流的實時傳輸,所以是影響連續(xù)媒體網(wǎng)絡(luò)服務(wù)系統(tǒng)性能極為關(guān)鍵的部分??蛻舳讼到y(tǒng),目前,根據(jù)不同的功能需求和應(yīng)用場景,主要有3種VOD系統(tǒng):NVOD、TVOD和IVOD。本文主要研究VOD系統(tǒng)服務(wù)器端系統(tǒng)。因為VOD模式下,也許每個用戶點播的套餐都不同,不可能像原來有線電視管理那樣只需要統(tǒng)計客戶的繳費情況[2-3]。這里還要統(tǒng)計客戶選擇的套餐,客戶的點播情況等。以前用于有線電視客戶信息管理的系統(tǒng)已經(jīng)不能滿足現(xiàn)在的管理需求。所以,開發(fā)一個完全適合現(xiàn)代VOD模式的客戶信息管理軟件很有必要。
目前,信息管理系統(tǒng)的發(fā)展已經(jīng)比較成熟。這里根據(jù)對現(xiàn)有信息系統(tǒng)的總結(jié),按照數(shù)據(jù)處理的流程對系統(tǒng)進(jìn)行分析。
在對系統(tǒng)進(jìn)行總體分析以后,初步確定了系統(tǒng)的幾個功能,并對各功能進(jìn)一步的挖掘分析。系統(tǒng)的大致功能如圖1所示。
圖1 系統(tǒng)的基本功能圖
2.1錄入模塊的設(shè)計
在系統(tǒng)的功能模塊圖中,大致可以確定錄入模塊應(yīng)具有的功能。在這里對其進(jìn)行更加詳細(xì)的設(shè)計。
依照系統(tǒng)的功能模塊圖可以得出,錄入模塊包含有服務(wù)信息的添加和修改以及客戶信息的添加和修改。另外為了方便系統(tǒng)用戶對數(shù)據(jù)的操作,避免數(shù)據(jù)錄入過分復(fù)雜,在這里設(shè)計了服務(wù)信息錄入的2種方式。第一種方法就是由管理員在系統(tǒng)頁面中根據(jù)系統(tǒng)要求輸入的內(nèi)容,一條一條的錄入記錄。另外一種方法就是根據(jù)一定的方法實現(xiàn)批量錄入。
這里是批量錄入的方法:
//獲取文件名
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獲取數(shù)據(jù)
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內(nèi)容上傳
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
//讀入文件內(nèi)容
While Not ts.AtEndOfLine
strs=ts.ReadLine
X=Split(strs," ")
//將文件內(nèi)容傳入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
//將修改信息添入紀(jì)錄表
Adodc4.Refresh
Adodc4.Recordset.AddNew
Adodc4.Recordset("adminname")=username
…
Adodc4.Recordset("description")="操作:批量錄入"
Adodc4.Recordset.Update
ts.Close
2.2查詢模塊的設(shè)計
根據(jù)前面對查詢模塊的分析,以及基本確定了查詢模塊具體實現(xiàn)的功能。在對第3章中查詢模塊數(shù)據(jù)流圖進(jìn)行復(fù)審和細(xì)化,并在對數(shù)據(jù)流圖分解后的得出查詢模塊程序流程(圖2)。
基本的程序流程為:讀入程序查詢命令,判斷其類型,然后進(jìn)行處理,調(diào)用相關(guān)頁面進(jìn)行操作。
圖2 查詢模塊的基本流程圖
2.3導(dǎo)出模塊的設(shè)計
系統(tǒng)的導(dǎo)出模塊分為查詢結(jié)果的EXCEL導(dǎo)出,系統(tǒng)各種規(guī)格文件的生成,以及將數(shù)據(jù)上傳至FTP?;旧隙际翘峁┮粋€調(diào)用外部實體的接口。
以EXCEL導(dǎo)出為例,系統(tǒng)實現(xiàn)其功能的方法就是用ADODC控件來獲取數(shù)據(jù),并使用CreateObject("Excel.Application")獲得一個Excel.Application對象,然后在此對象中添加新的工作表,并將此工作表的數(shù)據(jù)源設(shè)為此ADODC[4-5]。
2.4數(shù)據(jù)庫的設(shè)計
首先,分析本系統(tǒng)所需要的數(shù)據(jù)。仍然根據(jù)服務(wù)管理和客戶信息管理來確定所需要的數(shù)據(jù)。在服務(wù)管理中,需要制定一個服務(wù)的服務(wù)號、服務(wù)名以及他所屬的套餐號、套餐名等,需要設(shè)置提供服務(wù)的FTP地址。并且要進(jìn)行內(nèi)部管理,設(shè)置不同的用戶和權(quán)限??蛻粜畔⒐芾矸矫?,需要紀(jì)錄每個客戶的資料,統(tǒng)計每次點播。
2.4.1 系統(tǒng)的基本表 通過對系統(tǒng)數(shù)據(jù)流的分析,確定了系統(tǒng)的一部分基本表(表1~表4)。
表1 系統(tǒng)登錄表
表2 客戶表
表3 IPR信息表
表4 記錄表
2.4.2 使用ADODC對數(shù)據(jù)操作 下面這段代碼是Adodc1獲取用戶輸入的客戶信息并將其上傳至數(shù)據(jù)庫的過程。
Adodc1.Recordset.AddNew//ADODC1讀入新數(shù)據(jù)
//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//執(zhí)行上面操作
Adodc1.Recordset.Update//將ADODC控件暫存的內(nèi)容上傳
總結(jié)以上的分析和設(shè)計,有必要進(jìn)行系統(tǒng)總體的架構(gòu),實現(xiàn)系統(tǒng)各模塊的整合,來對系統(tǒng)總體進(jìn)行實現(xiàn)。比如說錄入模塊有客戶信息的錄入查詢等功能,也有服務(wù)信息的錄入查詢等功能。所以說,要綜合考慮這些有交互的內(nèi)容來設(shè)計系統(tǒng)的整體布局。
3.1錄入模塊的界面實現(xiàn)
鑒于錄入模塊含有添加和修改,并且分成為服務(wù)的添加和修改以及客戶信息的添加和修改。所以,從系統(tǒng)模塊的高內(nèi)聚和低耦合來考慮,在界面實現(xiàn)時將關(guān)系比較緊密的服務(wù)的添加和修改放到一起實現(xiàn)。服務(wù)的添加和修改也是如此。
根據(jù)錄入數(shù)據(jù)的業(yè)務(wù)流程,應(yīng)該是服務(wù)錄入——套餐錄入,一個新套餐的錄入,需要從現(xiàn)有的服務(wù)中選擇部分服務(wù)作為套餐內(nèi)容。所以,決定將服務(wù)及套餐的錄入和修改都放在同一個頁面進(jìn)行。
根據(jù)以上安排,設(shè)計出如下服務(wù)及套餐錄入界面(圖3)。
圖3 服務(wù)及套餐的添加和修改頁面
3.2查詢模塊的布局實現(xiàn)
另外,因為ADODC在系統(tǒng)中的廣泛使用,系統(tǒng)的大部分頁面都有Data Grid控件。為了界面的美觀,整個系統(tǒng)頁面都采用了Data Grid占據(jù)頁面大比例面積的樣式。
3.3導(dǎo)出模塊的代碼實現(xiàn)
在前面已經(jīng)分析了導(dǎo)出模塊中數(shù)據(jù)導(dǎo)出的基本方法,但是還沒有涉及具體的實現(xiàn)。因為EXCEL導(dǎo)出是系統(tǒng)中最常用的數(shù)據(jù)導(dǎo)出方式,通過命令新建一個工作表并將ADODC中的數(shù)據(jù)傳輸給它。具體的實現(xiàn)方法如下:
//創(chuàng)建一個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
//向表中填數(shù)據(jù)
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
目前我國數(shù)字電視正處在飛速發(fā)展的浪潮下,VOD管理系統(tǒng)的開發(fā)前景可觀,將有助于數(shù)字電視的進(jìn)一步發(fā)展。
[1]塞奎春.Visual Basic信息系統(tǒng)開發(fā)實例精選[M].北京:機(jī)械工業(yè)出版社,2005.
[2]壽建霞.數(shù)據(jù)庫原理及應(yīng)用安全教程[M].北京:機(jī)械工業(yè)出版社,2005.
[3]楊得新.SQL Server2000開發(fā)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005.
[4]汪明,王宏遠(yuǎn),楊建.機(jī)頂盒中NVOD功能的二叉樹實現(xiàn)[J].有線電視技術(shù),2006,13(6):41-44.
[5]劉艷梅,張國軍.基于多播技術(shù)的NVOD信道調(diào)度策略[J].有線電視技術(shù),2006(6):115-117.
[6]董玫,孫鋒.淺談數(shù)字視頻點播(VOD)技術(shù)發(fā)展現(xiàn)狀[J].西部廣播電視,2002(12):37-39.
[7]張愛芹.視頻點播系統(tǒng)VOD技術(shù)原理和應(yīng)用[J].現(xiàn)代電視技術(shù),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-),男,河南長垣人,碩士,講師,主要從事視頻編解碼、物聯(lián)網(wǎng)、云計算及安全的應(yīng)用研究。
河南省科技廳基礎(chǔ)與前沿技術(shù)研究計劃項目(編號:132300410385)。
10.13990/j.issn1001-3679.2014.04.026
TN948.64
A
1001-3679(2014)04-0531-05