文丨胡鳳文
(吉林電視臺總編室,長春 130033)
消息隊列網(wǎng)絡(luò)是能夠相互間來回發(fā)送消息的任何一組計算機。網(wǎng)絡(luò)中的不同計算機在確保消息順利處理的過程中扮演不同的角色。它們中有些提供路由信息以確定如何發(fā)送消息,有些保存整個網(wǎng)絡(luò)的重要信息,而有些只是發(fā)送和接收消息。消息隊列使用結(jié)構(gòu)可以簡單劃分為消息發(fā)送端、服務(wù)器端和消息訂閱端。首先在所有的模塊啟動時都會向消息服務(wù)器端進行消息訂閱,告訴服務(wù)器需要訂閱哪種類型的消息,之后如果某個模塊需要向其它模塊發(fā)送消息,這個模塊就會將消息發(fā)送到服務(wù)器端,服務(wù)器端會根據(jù)各個模塊訂閱消息的類型,將這個消息轉(zhuǎn)發(fā)到相應(yīng)模塊的本地消息隊列中去,之后訂閱端的模塊就會從本地的隊列中獲取這個消息并進行相應(yīng)的處理,從而完成了消息的成功傳送。
2010年吉林電視臺新的播總控系統(tǒng)、媒體資產(chǎn)管理系統(tǒng)正式投入使用,該系統(tǒng)使用的是大洋公司的播總控系統(tǒng)軟件,同時還和總編室的索貝公司的媒體資產(chǎn)管理系統(tǒng)相聯(lián)通,各個軟件既能夠獨立運行,又要相互通訊、協(xié)作,從而保證系統(tǒng)的正常運行,這是一個全新的、龐大的系統(tǒng),兩個系統(tǒng)分別都有很多工作站點,各個工作站點之間如何協(xié)調(diào)工作就顯得非常重要了,這個重要的工作就是由消息管理服務(wù)器的消息隊列通過發(fā)送消息來完成的。
吉林電視臺播總控、媒體資產(chǎn)管理系統(tǒng)在以下幾個方面用到了消息隊列。
該流程中,編單工作站的消息隊列發(fā)出節(jié)目播出計劃消息,上載工作站的消息隊列立刻收到節(jié)目上載計劃并讀出該消息,通過消息窗口彈出該消息,以此提醒上載工作人員,上載工作人員會根據(jù)節(jié)目播出計劃單有計劃的進行節(jié)目上載,節(jié)目上載完畢后上載工作站的消息隊列會發(fā)出一個節(jié)目上載完畢請求入媒資庫的消息。
該流程中,上載軟件先將節(jié)目上載完畢的消息發(fā)送到消息服務(wù)器的消息隊列,消息服務(wù)器端在檢測到自己的隊列中有了新的消息后,就會根據(jù)該消息的類型和消息訂閱情況,判斷出編目工作站的消息隊列訂閱了這個消息,所以將該消息轉(zhuǎn)發(fā)到到編目工作站模塊的本地消息隊列中。編目工作站的消息隊列檢測到有了新的消息后,會立刻讀出并處理該消息,通過消息窗口彈出該消息,編目工作站工作人員會根據(jù)該消息及時對已上載完畢的節(jié)目進行編目,編目好的節(jié)目發(fā)送入媒體資產(chǎn)管理庫,同時編目工作站的消息隊列會發(fā)出一個節(jié)目已經(jīng)入庫的消息。
編目工作站消息隊列發(fā)出節(jié)目入庫的消息的同時,節(jié)目編輯工作站的消息隊列就會接收到這個消息,消息隊列對該消息進行篩檢,把節(jié)目入庫成功的消息讀出并在節(jié)目編輯工作站的消息窗口彈出,把節(jié)目入庫失敗的消息向消息服務(wù)器發(fā)出,節(jié)目編輯人員就會根據(jù)節(jié)目入庫成功與否進行節(jié)目編輯和向編目人員催要節(jié)目。編輯編好節(jié)目后會把編輯好的節(jié)目向?qū)徠ぷ髡景l(fā)送,同時編輯工作站的消息對列會發(fā)出節(jié)目備審的消息。
審片工作站消息隊列收到節(jié)目編輯工作站消息隊列發(fā)出的審片消息,消息隊列會根據(jù)節(jié)目播出時間的先后對審片消息進行整理、分析,把按時間順序排好的審片消息顯示在審片工作站,審片工作站的工作人員就會根據(jù)審片信息,有計劃、有目的的進行節(jié)目審看,及時的對待播節(jié)目進行備播,當節(jié)目審查完畢后會發(fā)出節(jié)目備播的指令,節(jié)目備播的同時審片站點的消息隊列就會向編單站點發(fā)送節(jié)目已經(jīng)備播的消息。
編單軟件消息隊列接收到節(jié)目已備播的消息后彈出該消息,編單工作人員會及時的把該節(jié)目與節(jié)目單進行綁定,綁定節(jié)目后會發(fā)出節(jié)目已經(jīng)綁定的消息,播出軟件消息隊列經(jīng)過篩選讀出該消息并在播出工作站窗口彈出該消息,播出值班人員根據(jù)該消息及時添加該節(jié)目入播出單,進入節(jié)目待播程序,參與節(jié)目播出。
如果同步成功,不發(fā)送消息,如果同步失敗后,提交同步任務(wù)的工作站端消息隊列就會彈出提示對話框,提示某條素材任務(wù)失敗,需要重新添加該任務(wù)。
該流程中,同步管理服務(wù)器先將消息發(fā)送到消息管理服務(wù)器的消息隊列中,消息管理服務(wù)器端在查到自己的消息隊列中有了新的消息后,就會根據(jù)該消息的種類和消息情況,評定出某個工作站素材管理服務(wù)器的消息隊列訂閱了這個消息,所以就會將該消息發(fā)送到這個工作站素材管理器的本地消息隊列中(隊列名稱是在系統(tǒng)配置工具中配置的,Message),素材管理服務(wù)器在檢測到本地消息隊列中有了新的消息后,立即處理該消息,如果隊列消息中通知的任務(wù)是本工作站提交的,則彈出對話框提示。如果素材同步成功會顯示素材同步成功,如果同步過程中出現(xiàn)問題,素材同步失敗,消息隊列就會發(fā)出該素材同步失敗的消息,該消息會通過消息服務(wù)器發(fā)送到播出工作站,播出值班人員就會根據(jù)這個消息及時的添加該條素材進行同步。
所有被成功處理的消息都會通過消息管理服務(wù)器向相應(yīng)的工作站的消息隊列反饋消息,有成功和失敗,便于工作人員能夠及時的掌握工作的進程,放過成功的工作,重新處理失敗的任務(wù)。所以通過消息的傳送就把整個系統(tǒng)各個工作站點串聯(lián)起來,使各個工作站點的工作人員通過消息就能快速及時的處理工作,把電視臺最重要的節(jié)目存儲和播出兩項工作任務(wù)完成,使整個系統(tǒng)快速、有序的運轉(zhuǎn)起來。
在全臺網(wǎng)建設(shè)中,總編室建立了索貝公司的媒體資產(chǎn)管理系統(tǒng),作為電子帶庫,保存大量素材和節(jié)目,這樣可避免重復(fù)上載。在需要的時侯,由索貝公司的媒體資產(chǎn)管理系統(tǒng)向大洋公司的播控系統(tǒng)推送素材。
大洋公司的播出系統(tǒng)與索貝公司的媒體資產(chǎn)管理系統(tǒng)互聯(lián)基本流程:播出節(jié)目單及素材節(jié)目,素材在索貝公司的媒資管理系統(tǒng)制作完成,消息服務(wù)器把素材制作完成的消息發(fā)送到編單工作站的消息隊列,編單人員看見此消息就會把素材推送到編單系統(tǒng)及近線存儲,再由大洋公司播出系統(tǒng)的編單軟件合成最終的播出單發(fā)到播出系統(tǒng)中的播出軟件,待播出的素材從媒資管理系統(tǒng)的近線存儲器遷移到播出系統(tǒng)的播出服務(wù)器。此過程中,大洋公司的播出系統(tǒng)的編單軟件在收到索貝公司的媒資管理系統(tǒng)發(fā)來的節(jié)目單后,會給消息管理服務(wù)器發(fā)出消息,再將此消息轉(zhuǎn)發(fā)GMP視頻服務(wù)器,根據(jù)GMP視頻服務(wù)器的設(shè)置,給同步管理服務(wù)器發(fā)消息,并發(fā)起素材剪切的任務(wù),將索貝公司的媒資管理系統(tǒng)推送過來的素材剪切到二級存儲器里。待大洋公司的編單軟件合成最終的播出單發(fā)到播出軟件,再給消息管理服務(wù)器發(fā)消息,并轉(zhuǎn)發(fā)給GMP視頻管理服務(wù)器,根據(jù)GMP視頻管理服務(wù)器的設(shè)置,給同步管理服務(wù)器發(fā)消息,并發(fā)起素材拷貝的任務(wù),將二級存儲器里的素材拷貝到相應(yīng)的視頻服務(wù)器中備播。
經(jīng)過幾年的改進和更新,目前吉林電視臺的播總控、媒體資產(chǎn)管理系統(tǒng)運行的非常穩(wěn)定,各個工作環(huán)節(jié)銜接的也非常順利。消息隊列在整個流程中并不參與各個工種的直接工作,但它完成了所有工種的聯(lián)系,為各個工種的工作人員提供工作提示和督促,提醒工作人員工作成功與否,利于工作人員合理安排時間出色完成工作任務(wù)。如果沒有消息隊列的工作,那么整個系統(tǒng)的運行就會出現(xiàn)無序狀態(tài),甚至可以說根本無法運行,所以消息隊列在吉林電視臺播總控、媒體資產(chǎn)管理系統(tǒng)中占據(jù)著非常重要的地位。