田小馬 季亞軍 南通廣播電視臺(tái)
隨著電視臺(tái)數(shù)字化改造的進(jìn)行,新聞區(qū)域合作交流的需求日益明顯,通聯(lián)部門與各區(qū)縣通訊員稿件量日益增加,但是由于沒有專業(yè)的通聯(lián)平臺(tái),工作方式還是采用以前的光纖鏈路進(jìn)行視音頻信號(hào)傳輸、1對(duì)1錄制,文字內(nèi)容通過email或者QQ的方式進(jìn)行交流,時(shí)效性不高且不利于有效的挑選有用的新聞內(nèi)容,該工作方式已無法滿足現(xiàn)在互聯(lián)網(wǎng)大背景下的節(jié)目交流需求。在全面總結(jié)工作經(jīng)驗(yàn)、梳理操作流程、細(xì)化分析需求的基礎(chǔ)上,我臺(tái)根據(jù)自身實(shí)際業(yè)務(wù)需求,自主開發(fā)了一套全新的通聯(lián)平臺(tái)。
通過與節(jié)目部門溝通,系統(tǒng)需要實(shí)現(xiàn)的各項(xiàng)業(yè)務(wù)應(yīng)用需求得以充分明確,在了解現(xiàn)有工作流程的基礎(chǔ)上將流程進(jìn)行優(yōu)化,主要?dú)w結(jié)為以下幾方面:
(1)通用管理模塊
后臺(tái)管理模塊主要包括用戶管理、路徑信息管理、欄目管理等,便于根據(jù)用戶權(quán)限配置,實(shí)現(xiàn)不同的用戶功能。
(2)通用新聞上傳模塊
通用新聞上傳模塊實(shí)現(xiàn)用戶稿件內(nèi)容錄入保存,以及直接通過網(wǎng)頁上傳稿件對(duì)應(yīng)的視頻,自動(dòng)綁定稿件與視頻對(duì)應(yīng)關(guān)系,后臺(tái)自動(dòng)完成處理后提供自動(dòng)肖像和在線流媒體瀏覽,同時(shí)提供新聞重新編輯、刪除、視頻與稿件對(duì)應(yīng)關(guān)系調(diào)整等功能。
圖1 系統(tǒng)用戶管理模塊界面
(3)通聯(lián)部門專有模塊
該模塊提供新聞稿件的文字與視頻瀏覽,實(shí)現(xiàn)下載到指定欄目、下載回退、區(qū)縣分享功能,在線預(yù)瀏覽挑選后再提交下載任務(wù)給后臺(tái),提供多種報(bào)表統(tǒng)計(jì)功能和新聞查詢功能。
(4)后臺(tái)任務(wù)處理模塊
后臺(tái)任務(wù)處理提供4個(gè)軟件實(shí)現(xiàn)網(wǎng)頁上傳、后臺(tái)自動(dòng)轉(zhuǎn)碼等自動(dòng)化工作。PolicyServer提供策略授權(quán);文件監(jiān)視提供對(duì)分布在各個(gè)文件夾的文件進(jìn)行檢測(cè)入庫;文件轉(zhuǎn)碼軟件提供對(duì)上傳過來的視頻文件進(jìn)行轉(zhuǎn)碼,生成肖像圖片和流媒體并發(fā)布;下載任務(wù)傳輸軟件實(shí)現(xiàn)根據(jù)通聯(lián)用戶下載到的對(duì)應(yīng)欄目任務(wù)請(qǐng)求,自動(dòng)將視頻和文稿打包傳送到指定的系統(tǒng)。
(5)新聞分享模塊
視頻分享功能實(shí)現(xiàn)各用戶之間共享新聞,而不是單純的傳到平臺(tái)。分享功能可在用戶上傳新聞及視頻后分享給其他用戶,實(shí)現(xiàn)各用戶間新聞資料的共享。分享的內(nèi)容可以實(shí)現(xiàn)反向下載,用戶不僅可以上傳新聞,也可以下載分享的新聞供自己使用。
(6)報(bào)表統(tǒng)計(jì)模塊
報(bào)表統(tǒng)計(jì)實(shí)現(xiàn)按用戶、時(shí)間范圍、月度、年度的統(tǒng)計(jì),并以圖形和列表的方式直觀展現(xiàn)。
系統(tǒng)前臺(tái)采用ASP.net平臺(tái)進(jìn)行開發(fā),結(jié)合web2.0技術(shù)實(shí)現(xiàn)用戶在一個(gè)頁面即可完成所要做的所有事情,并提供良好的人機(jī)界面,優(yōu)化使用體驗(yàn)。文件上傳采用SilverLight編寫網(wǎng)頁插件,實(shí)現(xiàn)在線上傳超大文件,突破默認(rèn)的上傳大小限制,與FTP服務(wù)器結(jié)合實(shí)現(xiàn)高速上傳,同時(shí)與后臺(tái)軟件進(jìn)行無縫結(jié)合,實(shí)現(xiàn)上傳即綁定關(guān)系。后臺(tái)采用C#編寫windows程序來實(shí)現(xiàn)轉(zhuǎn)碼,任務(wù)處理等功能。
圖3是系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖,采用B/S架構(gòu)前臺(tái)設(shè)計(jì),區(qū)縣用戶實(shí)現(xiàn)0配置,有瀏覽器即可實(shí)現(xiàn)稿件交流,系統(tǒng)全程文件化,自動(dòng)化,無需太多人工干預(yù),用鼠標(biāo)即可完成所有工作,包括下載到全臺(tái)網(wǎng)系統(tǒng)。
圖2 報(bào)表統(tǒng)計(jì)界面
臺(tái)內(nèi)用戶流程如圖4所示,縣市用戶流程如圖5所示。
圖3 系統(tǒng)網(wǎng)絡(luò)架構(gòu)
通過需求分析,制定工作流程之后,系統(tǒng)在開發(fā)之初就考慮到前臺(tái)、后臺(tái)需要多個(gè)軟件進(jìn)行配合,才能完美的實(shí)現(xiàn)所有的需求。既需要web前端技術(shù)來簡(jiǎn)化部署,又需要后臺(tái)應(yīng)用來完成視音頻的轉(zhuǎn)碼、抽幀、下載任務(wù)的處理等功能,因此在軟件開發(fā)過程中充分考慮到代碼重用,模塊封裝等軟件工程思想,便于調(diào)試、維護(hù)和升級(jí)。
3.2.1 系統(tǒng)采用三層架構(gòu)設(shè)計(jì)
三層架構(gòu)將整個(gè)系統(tǒng)應(yīng)用劃分為:用戶層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(DAL)。區(qū)分層次的目的是為了實(shí)現(xiàn)整個(gè)系統(tǒng)的“高內(nèi)聚,低耦合”的思想。系統(tǒng)3層架構(gòu)關(guān)系如圖6所示。
圖4 臺(tái)內(nèi)用戶流程
圖5 縣市用戶流程
系統(tǒng)采用分層的好處是可以將業(yè)務(wù)層和數(shù)據(jù)層在各個(gè)軟件系統(tǒng)中共享, web系統(tǒng)和后臺(tái)處理軟件共用業(yè)務(wù)層和數(shù)據(jù)層,而不用在各個(gè)軟件系統(tǒng)重復(fù)進(jìn)行修改和編寫,同時(shí)又能保證各個(gè)軟件系統(tǒng)中調(diào)用的具體操作邏輯是一致的,減少出現(xiàn)bug概率,發(fā)現(xiàn)bug出現(xiàn)在業(yè)務(wù)層或者數(shù)據(jù)層只需修改一處即可,而不用去找各個(gè)軟件系統(tǒng)中可能出現(xiàn)這個(gè)bug的地方再去修改。
以文稿為例,首先將數(shù)據(jù)庫的新聞表結(jié)構(gòu)進(jìn)行抽象化為Model類News,然后在DAL層實(shí)現(xiàn)文稿操作需要的具體處理邏輯,如:
圖6 系統(tǒng)3層架構(gòu)
這是一個(gè)增加新聞的DAL層操作,得益于Model類的創(chuàng)建以及針對(duì)數(shù)據(jù)操作的共用庫DbHelperSQL的建立,整個(gè)添加新聞的操作非常簡(jiǎn)潔,其他的刪除,修改等操作也像上面的代碼一樣的簡(jiǎn)潔,無需太多的重復(fù)代碼。在BLL層只需對(duì)News的數(shù)據(jù)合法性進(jìn)行必要驗(yàn)證后直接調(diào)用DAL層對(duì)應(yīng)函數(shù)即可得到想要的結(jié)果。所有的操作采用這種封裝方式的好處是,不管在任何軟件系統(tǒng)或者模塊中,要實(shí)現(xiàn)添加新聞這樣的操作只需準(zhǔn)備好相關(guān)的數(shù)據(jù),直接調(diào)用BLL層代碼即可完成,且各個(gè)模塊或者軟件系統(tǒng)的操作均是一致的。這樣的設(shè)計(jì)方法很好體現(xiàn)了“高內(nèi)聚,低耦合”的設(shè)計(jì)思想,不僅有助于程序開發(fā)效率,還使系統(tǒng)在后續(xù)升級(jí)中具備更好的可重用性、可擴(kuò)展性,能更好的支持相關(guān)業(yè)務(wù)的可持續(xù)發(fā)展。
3.2.2 Web前端UI采用web2.0技術(shù)
前端UI大量使用web2.0技術(shù),采用了EXTJS框架作為前端展示技術(shù)。EXTJS是基于Web的富客戶端框架,完全基于標(biāo)準(zhǔn)W3C技術(shù)構(gòu)建。該框架開發(fā)了一系列非常簡(jiǎn)單易用的控件機(jī)組件,我們只需使用這些組件就能實(shí)現(xiàn)各種豐富多彩的UI開發(fā)。通過ajax技術(shù)實(shí)現(xiàn)整個(gè)Web頁面的無刷新體驗(yàn),確保使用人員只需在一個(gè)頁面就可以完成所有的工作?;?/p>
無論是分頁,還是添加、修改、下載、報(bào)表統(tǒng)計(jì)等功,均可在一個(gè)頁面全部完成,不用刷新頁面,各個(gè)功能都是進(jìn)行局部刷新,優(yōu)化了訪問效率。
3.2.3 在線超大視頻文件上傳
針對(duì)遠(yuǎn)程超大視頻文件的上傳,系統(tǒng)在綜合了不同的實(shí)現(xiàn)方式優(yōu)劣之后,最終確定采用SilverLigth+FTP技術(shù)來實(shí)現(xiàn)在線上傳。
圖7 Web前端UI界面
采用SilverLight技術(shù)編寫控件直接嵌入瀏覽器,本界面如圖7所示。該控件內(nèi)部實(shí)現(xiàn)FTP上傳功能,用戶可以直接選擇本地的高標(biāo)清視頻文件后自動(dòng)上傳到系統(tǒng)后臺(tái),并能夠與新聞稿件自動(dòng)進(jìn)行對(duì)應(yīng)關(guān)系綁定??丶鶕?jù)用戶信息自動(dòng)獲取FTP地址、路徑、用戶名等信息,對(duì)于用戶而言只需選擇要上傳的文件,即可完成稿件與視頻的對(duì)應(yīng)關(guān)系。同時(shí)該控件能夠提供傳輸進(jìn)度、傳輸速度等信息。
3.2.4 后臺(tái)任務(wù)處理
后臺(tái)任務(wù)處理相關(guān)軟件采用C#開發(fā),采用文件監(jiān)視,檢測(cè)每一個(gè)上傳過來的文件。我們開發(fā)了一個(gè)專門的轉(zhuǎn)碼軟件,對(duì)上傳過來的高標(biāo)清視頻文件進(jìn)行轉(zhuǎn)碼,輸出一份流媒體文件并發(fā)布。同時(shí)對(duì)視頻文件進(jìn)行抽幀作為肖像使用,提升前端展示的直觀性。
為了實(shí)現(xiàn)該系統(tǒng)與全臺(tái)網(wǎng)系統(tǒng)的結(jié)合,減少使用人員的重復(fù)勞動(dòng),提升工作效率,后臺(tái)定制開發(fā)了任務(wù)處理模塊,用戶只需在線提交下載任務(wù)請(qǐng)求,后臺(tái)軟件會(huì)自動(dòng)對(duì)文稿和視頻進(jìn)行整合后,自動(dòng)傳送到全臺(tái)網(wǎng)系統(tǒng)中。這一功能極大的提高了工作效率,且后臺(tái)傳送效率、可靠性均很高。
通聯(lián)平臺(tái)開發(fā)完成運(yùn)行至今一直穩(wěn)定可靠,為我臺(tái)通聯(lián)部門提供了極大的方便。系統(tǒng)針對(duì)臺(tái)內(nèi)實(shí)際業(yè)務(wù)需求量身定制,實(shí)現(xiàn)了簡(jiǎn)單高效的區(qū)縣通聯(lián)交流。系統(tǒng)簡(jiǎn)化人工操作和使用人員的操作要求,基本實(shí)現(xiàn)全自動(dòng)化操作。經(jīng)過運(yùn)行總結(jié),最終實(shí)現(xiàn)了與標(biāo)清制作網(wǎng)的對(duì)接。
隨著融合媒體生產(chǎn)平臺(tái)的建設(shè)完成,通聯(lián)平臺(tái)實(shí)現(xiàn)了與大洋融合媒體生產(chǎn)平臺(tái)CRE的對(duì)接,實(shí)現(xiàn)了通聯(lián)來源資料自動(dòng)入庫CRE系統(tǒng)。