專利名稱:數字電視數據廣播系統及數據廣播方法
技術領域:
本發明涉及數字電視技術領域,特別涉及數字電視數據廣播系統及數據廣播方法。
背景技術:
在數字電視領域,數據廣播系統作為一種數據業務的提供和實現系統已被廣泛應用,目前,電視機頂盒的用戶在欣賞數字電視節目之余還能通過數字電視數據廣播系統體驗到形形色色的數據業務內容,如信息瀏覽、游戲、股票、天氣預報、投票、競拍等;這些豐富的數據業務大大增強了數字電視業務競爭力,提高了用戶的使用體驗,成為數字電視中一個重要的業務系統。現有的數據廣播系統一般都采用數字存儲媒體命令與控制(DSMCC)協議實現服務器端向客戶端的數據播發,而具體在數據播發上,則大多采用對象輪播(OC)方法實現, 在本文中,將采用DSMCC協議和OC播發的數據廣播系統簡稱為OC系統,OC系統在服務器端對需要播發的數據進行打包并通過輪播方式,將數據播發給OC系統的客戶端(一般集成在數字電視機頂盒中)。目前的OC系統的服務器端具備完整的配置、管理和播發等功能,但其系統架構設計上,雖然有功能劃分,但實際上所有的功能都集中于一臺服務器中實現,耦合度比較高。 具體OC系統的服務器端架構如圖1所示,主要包括0C主控模塊101、配置數據庫102、數據存儲模塊103。其中,不同的業務數據以不同的目錄保存在數據存儲模塊103中,配置數據庫102 中為所有業務數據預先建立應用配置,該應用配置中指定了具體的業務數據在數據存儲模塊103中所保存的具體目錄。OC主控模塊101在向客戶端播發業務數據時,會從配置數據庫102中讀取配置文件,并根據配置文件指定的目錄,從數據存儲模塊103中讀取該數據文件,并打包播發到客戶端,完成數據業務的播發。OC主控模塊101在具體進行播發時采用單傳輸流播發方式,即只在一個傳輸流 (DVB MPEG 2TS傳輸流)中播發數據。OC主控模塊101將數據存儲模塊103中所保存的數據按照目錄結構進行打包,打包后的數據包括含有文件目錄結構的目錄包和含有具體數據的數據包,并將打包好的數據按照打包時分配的唯一編號順序,周期性地插入TS傳輸流中進行串行的循環播發,而客戶端接收到TS數據流后,通過目錄包還原出文件目錄結構,并通過該文件目錄結構從TS數據流中獲取需要的數據包,不需要的數據包則丟棄掉。其中,在播發數據的更新上,現有OC系統采用定時更新方式,OC主控模塊101通過對存儲模塊103保存的業務數據定時進行重新讀取打包的操作,從而實現對播發數據的更新。現有OC系統可以對更新的時間頻率進行設置,也可以通過手動命令,觸發更新操作。對于上述現有的OC系統,存在以下缺點1、數據更新機制不靈活不同的業務數據對于數據更新的頻率要求不同,比如股票數據需要較快的更新頻率,而新聞資訊類則不需要,還有一些業務需要實時更新,立即響應,但現有的OC系統只能由OC主機進行統一的定時更新或手動更新,不能根據業務的不同特點采取不同的更新頻率,且沒有實時更新策略,對于要求立即響應的數據不能實時更新, 這極大地限制了在OC系統上所能夠實現的應用功能。2、不易于增加新業務所有的業務數據都必須存放到應用配置文件指定的一個本機路徑下的文件目錄中,并把應用的屬性保存到本機數據庫,當添加新應用時需要手動配置多個屬性頁,都只能在本機進行配置。3、不具備分布式的數據存儲機制現有OC系統在播發業務數據時,必須將業務數據保存在OC服務器端所在的設備上。這使得OC系統不能將業務數據分布式管理和保存,如將股票數據放到股票服務器、新聞瀏覽的數據放到新聞服務器,使得現有OC系統的耦合性變得很大,業務數據的存儲容量也受到限制,在業務很多的情況下,OC服務器的負載很大, 維護成本和難度很高。
發明內容
本發明實施例提供一種數字電視數據播發系統,能夠實現業務數據的實時更新。本發明實施例提供一種數字電視數據廣播方法,能夠實現業務數據的實時更新。為達到上述目的,本發明的技術方案具體是這樣實現的一種數字電視數據廣播系統,該系統包括管理子系統,與監控子系統和播發子系統分別相連,用于維護所述監控子系統的監控參數以及維護用于管理播發子系統播放操作的播發配置參數;監控子系統,用于根據所述監控參數,對業務數據和根據業務數據生成的應用配置文件進行監控,在所述業務數據發生變化和/或應用配置文件發生變化時,向播發子系統發送播發通知;播發子系統,用于接收所述監控子系統發送的播發通知,并根據更新后的業務數據和/或修改后的應用配置文件進行播發操作。較佳地,所述監控子系統包括結束事件模塊,用于在有結束事件發生時結束監控流程;文件變化事件模塊,用于監測管理子系統維護的所述監控參數中指定目錄下的業務數據或應用配置文件的變化;播發通知模塊,用于在所述文件變化事件模塊檢測到所述業務數據或應用配置文件發生變化時,向所述播發子系統發送播發消息命令。較佳地,所述播發子系統包括隊列模塊,用于隊列接收到的播發消息命令,將根據所述播發消息命令指定的應用配置文件確定的播發參數提交到工作線程池;播發模塊,用于根據工作線程池中的播發參數,按照隊列順序響應播發消息命令對業務數據進行播發。較佳地,所述管理子系統包括監控管理模塊,用于維護所述監控子系統的監控參數,包括監控目錄和數據監測方式;播發管理模塊,用于管理播發子系統播放操作的播發配置參數,包括數據輪播器的地址、播發帶寬和節點數量。較佳地,所述播發模塊包括數據讀取單元,用于根據目錄鎖單元的指令從播發消息命令中指定的目錄中讀取業務數據;目錄鎖單元,用于在所述文件變化事件模塊檢測到指定目錄下有業務數據發生變化時,查找所述目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并指令數據讀取單元讀取所述目錄下的業務數據,并在數據讀取完畢后刪除所述建立的目錄鎖文件;如果有,則等待已存在目錄鎖文件被刪除后建立目錄鎖文件,并指令數據讀取單元讀取所述目錄下的業務數據,并在所述數據讀取完畢后刪除所述建立的目錄鎖文件。數據播發單元,用于根據所述播發參數,將所述數據讀取單元讀取的業務數據進行打包播發。較佳地,所述管理子系統進一步包括配置修改模塊,用于修改所述應用配置文件;所述配置修改模塊包括配置修改單元,用于根據目錄鎖檢測單元的指令修改應用配置文件;目錄鎖檢測單元,用于查找保存所述應用配置文件的目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并指令配置修改單元修改應用配置文件,并在所述配置修改單元完成應用配置文件的修改后刪除所述建立的目錄鎖文件;如果有,則等待目錄鎖文件被刪除后建立目錄鎖文件,并指令配置修改單元修改應用配置文件,并在所述配置修改單元完成應用配置文件的修改后刪除所述建立的目錄鎖文件。較佳地,所述播發通知模塊包括延遲單元,用于判斷當前應用配置文件被修改的時間距離上一次應用配置文件被修改的時間間隔是否超過預先建立的延遲文件所指定的間隔時間,若是,則向消息發送單元發送指令,否則在達到所述指定的間隔時間時向消息發送單元發送指令;消息發送單元,用于在接收到所述延遲單元發送的指令后,向所述播發子系統發送播發消息命令。較佳地,所述監控子系統,采用基于文件事件觸發的異步消息播發通知機制對所述業務數據和根據業務數據生成的應用配置文件進行監控。較佳地,該系統進一步包括至少一個業務子系統;所述業務子系統,與所述監控子系統、播發子系統分別相連,用于存放所述業務數據和應用配置文件;所述監控子系統通過磁盤映射訪問所述業務子系統,對所述業務子系統保存的業務數據和應用配置文件進行監控;所述播發子系統通過磁盤映射訪問所述業務子系統,根據所述應用配置文件對業務子系統保存的相應的業務數據進行播發。一種數字電視數據廣播方法,該方法包括監控子系統根據所述監控參數,對業務數據和根據業務數據生成的應用配置文件進行監控,在所述業務數據發生變化和/或應用配置文件發生變化時,向播發子系統發送播發通知;
播發子系統接收所述監控子系統發送的播發通知,并根據更新后的業務數據和/ 或修改后的應用配置文件進行播發操作;其中,監控子系統的監控參數和播發子系統的播發配置參數由管理子系統進行維護。較佳地,所述播發通知為播發消息命令;所述播發子系統接收所述監控子系統發送的播發通知,根據更新后的業務數據或修改后的應用配置文件進行播發操作,包括播發子系統隊列接收到的播發消息命令,將根據所述播發消息命令指定的應用配置文件確定的播發參數提交到工作線程池;根據工作線程池中的播發參數,按照隊列順序響應播發消息命令對業務數據進行播發操作。較佳地,所述監控參數包括監控目錄和數據監測方式。較佳地,所述播發配置參數包括數據輪播器的地址、播發帶寬和節點數量。較佳地,所述響應播發消息命令對業務數據進行播發操作包括從播發消息命令中指定的目錄中讀取業務數據;在檢測到指定目錄下有業務數據發生變化時,查找所述目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并讀取所述目錄下的業務數據,并在數據讀取完畢后刪除所述建立的目錄鎖文件;如果有,則等待已存在目錄鎖文件被刪除后建立目錄鎖文件,并讀取所述目錄下的業務數據,并在所述數據讀取完畢后刪除所述建立的目錄鎖文件;將所述讀取的業務數據進行打包播發。較佳地,所述應用配置文件由管理子系統修改,具體修改方法包括查找保存所述應用配置文件的目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,修改應用配置文件,并在完成應用配置文件的修改后刪除所述建立的目錄鎖文件;如果有,則等待目錄鎖文件被刪除后建立目錄鎖文件,修改應用配置文件,并在完成應用配置文件的修改后刪除所述建立的目錄鎖文件。較佳地,所述在應用配置文件發生變化時,向播發子系統發送播發通知,包括在應用配置文件被修改后,判斷當前應用配置文件被修改的時間距離上一次應用配置文件被修改的時間間隔是否超過預先建立的延遲文件所指定的間隔時間,若是,則向播發子系統發送播發消息命令,否則在達到所述指定的間隔時間時向播發子系統發送播發消息命令。較佳地,所述對業務數據和根據業務數據生成的應用配置文件進行監控,采用基于文件事件觸發的異步消息播發通知機制。較佳地,所述業務數據和應用配置文件保存于專用于保存業務相關數據的業務子系統中,所述監控子系統通過磁盤映射訪問所述業務子系統,對業務子系統保存的業務數據和應用配置文件進行監控;所述播發子系統通過磁盤映射訪問所述業務子系統,根據所述應用配置文件對業務子系統保存的相應的業務數據進行播發。由上述的技術方案可見,本發明的這種數字電視數據廣播系統和數據廣播方法, 通過對業務數據的更新進行實時監控,并根據監控結果實時進行業務數據的打包,從而實現了業務數據的實時更新。另外,通過將現有的業務數據存儲從OC系統中獨立出來,采用專門的業務系統來存放,并通過磁盤映射,使得具體業務數據可以與OC系統之間實現分布式設計,OC系統可以很方便地對具體業務數據單獨進行修改,使整個系統的耦合性降低,提高了業務配置、數據存儲的靈活性,使業務擴展易于實現。
圖1為現有OC系統結構示意圖;圖2為本發明實施例的OC系統結構示意圖;圖3為本發明實施例中基于文件事件觸發的異步消息通知機制實現實時監控的流程圖;圖4為本發明實施例的OC系統中數據存儲結構示意圖;圖5為本發明實施例的OC系統中監控子系統的結構示意圖;圖6為本發明實施例的OC系統中播發子系統的結構示意圖;圖7為本發明實施例的OC系統中管理子系統的結構示意圖;圖8為本發明實施例中播發模塊的結構示意圖;圖9為本發明實施例中配置修改模塊的結構示意圖;圖10為本發明實施例中播發通知模塊的結構示意圖。
具體實施例方式為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對本發明進一步詳細說明。本發明主要是將OC系統的數據更新和播發功能從現有OC主控模塊中劃分出來, 形成監控子系統和播發子系統兩個單獨的功能實體,監控子系統根據配置文件的變化實時監控業務數據的更新情況,監控子系統監控數據發生變化后,實時通知播發子系統讀取相應業務數據。播發子系統讀取業務數據后對將業務數據打包為符合OC標準的數據包,傳輸給數據播發器進行播發,在經過數據復用、信號調制等步驟,最終輸出數字電視信號。由此可以實現實時的數據更新功能,彌補現有OC系統的不足。圖2為本發明實施例的OC系統結構示意圖,如圖2所示,該系統包括監控子系統 201、播發子系統202和管理子系統203。其中,監控子系統201,用于根據監控參數,對業務系統的業務數據和根據業務數據生成的應用配置文件進行監控,在業務數據發生變化時和/或應用配置文件發生變化時,向播發子系統202發送播發通知。對業務數據和根據業務數據生成的應用配置文件進行監控時,可以采用“基于文件事件觸發的異步消息通知機制”,顧名思義,是指利用文件事件觸發通知的一種監控機制,比如利用視窗Windows操作系統下的編程接口 ReadDirectoryChangesW,并使用 IOCP (異步I/O的API,它可以高效地將I/O事件通知給應用程序)接收業務數據和應用配置文件的變化,以迅速響應I/O事件。具體地,本發明使用基于文件事件觸發的異步消息通知機制實現業務數據監控的具體流程如圖3所示,包括如下步驟步驟301,判斷是否有結束事件;若有,則結束流程,否則執行步驟302 ;這一步用于提供結束監測的機制,如果產生預設的結束事件,可以結束本流程,而不是一直循環執行下去。結束事件可以手動或者按照一定的規則自動產生。本步驟對于監測文件變化來說并不是必須的。步驟302,判斷是否有文件變化事件;若無,則返回步驟301,否則執行步驟303 ;從這一步開始是具體對文件變化的監測,其具體實現方式即上文中提到的“基于文件事件觸發的異步消息通知機制”。當然,在監控之前,需要預先設定好所要監控的目錄, 對于具體監控目錄的設置可以通過管理子系統203實現。監控子系統201所監控的業務數據可以由獨立的業務系統產生,并存放在監控子系統201可訪問到的任何地方,包括監控子系統201所在服務器或網絡上其它服務器,如獨立的業務系統服務器。業務數據存放在監控子系統201所在服務器時,監控目錄可以設置在本地磁盤上,業務數據存放在監控子系統201所在服務器之外的服務器時,可以利用磁盤映射功能,將本地磁盤分區映射到一個或多個其它服務器分區中,監控子系統201通過監控本地磁盤分區中的應用目錄,即可實現對遠程服務器中的數據進行監控。步驟303,判斷文件變化事件是否為對象增加事件,若是,則執行步驟306,否則執行步驟304 ;步驟304,判斷文件變化事件是否為對象刪除事件,若是,則執行步驟306,否則執行步驟305 ;步驟305,判斷文件變化事件是否為對象修改事件,若是,則執行步驟306,否則返回步驟301 ;上述步驟303 305的執行順序任意,例如先判斷是否為修改事件,再判斷是否為刪除事件,最后判斷是否為增加事件,當然,也可以同時判斷。步驟306,通知修改應用配置文件。當有業務數據被修改后,可以相應地通知管理子系統203修改應用配置文件,或者由第三方系統來修改應用配置文件從而使播發子系統可以根據新的應用配置來播發更新后的業務數據;當然,有些業務數據修改并不涉及具體應用配置,所以這一步并不是必需的。步驟307,將文件的修改通知到播發子系統,并返回步驟301。具體地,本步驟中要將“播發消息命令”發送給播發子系統,觸發播發子系統對更新后的業務數據進行播發。當然也存在業務數據并沒有更新,但是業務系統、第三方或者管理子系統203修改了應用配置文件的情況,或者業務數據和應用配置文件都被修改的情況,但只要業務數據或應用配置文件中任意一個被修改,都會觸發將“播發消息命令”發送給播發子系統,觸發播發子系統對更新后的業務數據進行播發,或者根據修改后的應用配置文件對業務數據進行播發。實際上,監控子系統在實現對業務數據更新的監控時所采用的具體監控機制還有很多,例如開線程對所有文件進行遍歷查看最后修改時間的方式,本發明實施例中采用的 “基于文件事件觸發的異步消息通知機制”實現比較簡單,能夠降低監控性能損耗,用最小的代價實現文件變化實時監控。播發子系統202,用于接收監控子系統201發送的播發通知,并根據更新后的業務數據和/或修改后的應用配置文件進行播發操作。具體地,可以采用隊列方式接收“播發消息命令”,并將根據播發消息命令指定的應用配置文件所確定的播發參數提交到“工作線程池”中,進行申請播發操作。通過線程池可以降低損耗提高性能,當然,采用其他方式觸發播發操作也可以,本發明對于播發操作的觸發不進行具體限定。在具體進行業務數據的打包播發時,可以采用現有的打包方法,本發明未對具體的數據打包播發進行改進,這里就不再贅述了。管理子系統203,與監控子系統201和播發子系統202分別相連,用于維護監控子系統201的監控參數和播發子系統202的播發配置參數。其中,監控子系統201的監控參數包括但不限于監控目錄、數據檢測方式,如實時、定時、手動等,對不同的監控目錄可以一一對應地采用不同的數據檢測方式,也可以統一采用同一種數據檢測方式。播發子系統202的播發配置參數包括數據播發器的地址、播發帶寬、節點數量、以及OC標準要求的其它一些參數等;播發配置參數是用于配置播發子系統的。對于監控方式,定時和手動方式可以使用現有方式,而實時方式則可通過本發明的 “基于文件事件觸發的異步消息通知機制”實現。具體地,為具體實現上述監控子系統201對業務數據和應用配置文件的實時監控,以及通知,在保存業務數據時,可以采用如圖4所示的文件結構,包括發布目錄,即監控子系統監控的目錄,其中包含多個應用目錄和目錄鎖文件,每個應用目錄對應一個業務應用,每個應用目錄下可以包括數據目錄、配置目錄、應用鎖文件和延遲文件。其中數據目錄里存放對應于該應用的具體的業務數據,而配置目錄里則存放對應于該應用的應用配置文件。其中,應用配置文件由管理子系統203或者第三方系統如業務系統生成,用于描述單個數據針對頻道而言的屬性及承載該數據和屬性的原始流信息等,和現有的應用配置不同,現有的應用配置是采用數據庫形式保存的,包括OC系統中所有應用針對頻道而言的屬性及承載該數據和屬性的原始流信息等,而在本發明中則是將應用屬性配置保存到目錄樹中一個配置文件中,不同的業務應用可以使用不同的應用配置文件,這樣就可以擺脫數據庫的繁瑣操作(因為配置不會頻繁修改),方便其他應用系統對其進行修改,可以方便系統擴展。目錄鎖文件是對目錄進行加鎖的文件,由業務系統或本發明OC系統中任意一個子系統創建或刪除目錄,存在目錄鎖的目錄或文件夾不能同時寫或讀操作,例如取名為 lock, ams,可以是一個空文件,或者在目錄鎖文件中寫入內容來辨別目錄鎖文件限制的是寫還是讀操作。目錄鎖文件在不同的位置會產生不同的作用,例如在“發布目錄”中,可以鎖定整個系統的所有應用,在“應用目錄”中則可以單獨鎖定某一個具體應用。當業務系統或 OC系統要去訪問某個應用目錄時,首先檢測目錄鎖文件是否存在,如果不存在,則創建該文件對該應用目錄進行加鎖,防止其他系統訪問,當退出該目錄的訪問時,刪除該文件對該應用目錄進行解鎖;如果存在,則等到另一系統刪除它后才能訪問。因此,當監控的目錄中有文件變化時,監控子系統201可以通過目錄鎖文件來判斷數據的變化,確保業務系統在生成業務數據或更新業務數據時,可以和OC系統讀取數據保持同步,保持數據的一致性,避免播發子系統202正在讀取數據時,業務系統生成新的業務數據;或者業務系統正在生成新的業務數據時,播發子系統202讀取數據;這樣可有效保證OC系統讀取并播發的數據都是完整的。具體地,本發明中的應用配置文件可以采用XML格式,例如為app. xml,根據生成的業務數據同時生成,包含業務數據的描述信息。監控子系統通過監控并讀取應用目錄中的“app. xml”來識別業務數據,并依據app. xml的定義給業務數據分配相關的應用屬性和帶寬。app. xml文件中各字段的定義可以參考現有DVB的OC標準,這里不再贅述。對于各個子系統,其具體結構分別如下監控子系統201,其具體結構如圖5所示,包括結束事件模塊501,與文件變化事件模塊502相連,用于在有結束事件發生時結束監控流程;文件變化事件模塊502,用于監測管理子系統的監控參數中指定目錄下的文件變化;播發通知模塊503,用于在文件變化事件模塊502檢測到所述業務數據或應用配置文件發生變化時,向播發子系統202發送播發消息命令。播發子系統202,其具體結構如圖6所示,包括隊列模塊601,用于隊列接收到的播發消息命令,并將所述播發消息命令中根據應用配置文件確定的播發參數提交到工作線程池;播發模塊602,用于根據工作線程池中的播發參數,按照隊列順序響應播發消息命令對業務數據進行播發。管理子系統203,其具體結構如圖7所示,包括監控管理模塊701,用于維護所述監控子系統的監控參數,包括監控目錄和數據監測方式;播發管理模塊702,用于維護所述播發配置參數,其中,播發配置參數包括數據輪播器的地址、播發帶寬和節點數量等。其中,播發模塊602的具體結構如圖8所示,包括數據讀取單元801,用于根據目錄鎖單元802的指令從播發消息命令指定的目錄中讀取業務數據;目錄鎖單元802,用于在所述文件變化事件模塊502檢測到指定目錄下有業務數據發生變化時,查找所述目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并指令數據讀取單元801讀取所述目錄下的業務數據,并在數據讀取完畢后刪除所述建立的目錄鎖文件;如果有,則等待已存在目錄鎖文件被刪除后建立目錄鎖文件,并指令數據讀取單元801讀取所述目錄下的業務數據,并在所述數據讀取完畢后刪除所述建立的目錄鎖文件。數據播發單元803,用于根據所述播發參數將所述數據讀取單元801讀取的業務數據進行打包播發。另外,管理子系統203中還可以進一步包括配置修改模塊703,用于修改所述應用配置文件;所述配置修改模塊703的具體結構如圖9所示,包括配置修改單元901,用于根據目錄鎖檢測單元902的指令修改應用配置文件;目錄鎖檢測單元902,用于查找保存所述應用配置文件的目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并指令配置修改單元901修改應用配置文件,并在所述配置修改單元901完成應用配置文件的修改后刪除所述建立的目錄鎖文件;如果有,則
12等待目錄鎖文件被刪除后建立目錄鎖文件,并指令配置修改單元901修改應用配置文件, 并在所述配置修改單元901完成應用配置文件的修改后刪除所述建立的目錄鎖文件。播發通知模塊504的具體結構如圖10所示,包括延遲單元1001,用于判斷當前應用配置文件被修改的時間距離上一次應用配置文件被修改的時間間隔是否超過預先建立的延遲文件所指定的間隔時間,若是,則向消息發送單元1002發送指令,否則在達到所述指定的間隔時間時向消息發送單元發送指令;消息發送單元1002,用于在接受到所述延遲單元發送的指令后,向所述播發子系統201發送播發消息命令。另外,該系統還可以進一步包括至少一個業務子系統;所述業務子系統,與所述監控子系統201、播發子系統202分別相連,用于存放業務數據和應用配置文件;所述監控子系統201通過磁盤映射訪問所述業務子系統,對業務子系統保存的業務數據和應用配置文件進行監控;所述播發子系統202通過磁盤映射訪問所述業務子系統,根據所述應用配置文件對業務子系統保存的相應的業務數據進行播發。另外,對上述系統,本發明還提供了一種數據廣播方法,該方法包括監控子系統根據所述監控參數,對業務數據和根據業務數據生成的應用配置文件進行監控,在所述業務數據發生變化和/或應用配置文件發生變化時,向播發子系統發送播發通知;播發子系統接收所述監控子系統發送的播發通知,并根據更新后的業務數據和/ 或修改后的應用配置文件進行播發操作;其中,監控子系統的監控參數和播發子系統的播發配置參數由管理子系統進行維護。所述業務數據和應用配置文件可以保存于專用于保存業務相關數據的業務子系統中, 此時,所述監控子系統可以通過磁盤映射訪問所述業務子系統,對業務子系統保存的業務數據和應用配置文件進行監控;所述播發子系統可以通過磁盤映射訪問所述業務子系統, 根據所述應用配置文件對業務子系統保存的業務數據進行播發。對業務數據和根據業務數據生成的應用配置文件進行監控,可以采用基于文件事件觸發的異步消息通知機制。其中,所述播發通知為播發消息命令;所述播發子系統接收所述監控子系統發送的播發通知,根據更新后的業務數據和/或修改后的應用配置文件進行播發操作,包括播發子系統隊列接收到的播發消息命令,并將所述播發消息命令中根據應用配置文件確定的播發參數提交到工作線程池;根據工作線程池中的播發參數,按照隊列順序響應播發消息命令對業務數據進行播發操作。其中,所述監控參數可以包括監控目錄和數據監測方式等;所述播發配置參數可以包括數據輪播器的地址、播發帶寬和節點數量等。另外,所述響應播發消息命令對業務數據進行播發操作包括從播發消息命令中指定的目錄中讀取業務數據;在檢測到指定目錄下有業務數據發生變化時,查找所述目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并讀取所述目錄下的業務數據,并在數據讀取完畢后刪除所述建立的目錄鎖文件;如果有,則等待已存在目錄鎖文件被刪除后建立目錄鎖文件,并讀取所述目錄下的業務數據,并在所述數據讀取完畢后刪除所述建立的目錄鎖文件;將所述讀取的業務數據進行打包播發。
較佳地,所述應用配置文件可以由管理子系統或第三方系統修改,具體修改方法如下查找保存所述應用配置文件的目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并根據業務數據的變化修改應用配置文件,并在完成應用配置文件的修改后刪除所述建立的目錄鎖文件;如果有,則等待目錄鎖文件被刪除后建立目錄鎖文件,并根據業務數據的變化修改應用配置文件,在完成應用配置文件的修改后刪除所述建立的目錄鎖文件。較佳地,所述應用配置文件發生變化時,向播發子系統發送播發通知,包括在應用配置文件被修改后,判斷當前應用配置文件被修改的時間距離上一次應用配置文件被修改的時間間隔是否超過預先建立的延遲文件所指定的間隔時間,若是,則向播發子系統發送播發消息命令,否則在達到所述指定的間隔時間時向播發子系統發送播發消息命令。由上述的實施例可見,本發明的這種數字電視數據廣播系統和數據播發方法,通過對業務數據的更新進行實時監控,并根據監控結果實時進行業務數據的打包,從而實現了業務數據的實時更新。另外,通過將現有的業務數據存儲從OC系統功能中獨立出來,采用專門的業務系統來存放,使得具體業務數據可以實現分布式存儲,OC系統可以很方便地對具體業務數據單獨進行修改,使整個系統的耦合性降低,提高了業務配置、數據存儲的靈活性,使業務擴展易于實現。
1權利要求
1.一種數字電視數據廣播系統,其特征在于,該系統包括管理子系統,與監控子系統和播發子系統分別相連,用于維護所述監控子系統的監控參數以及維護用于管理播發子系統播放操作的播發配置參數;監控子系統,用于根據所述監控參數,對業務數據和根據業務數據生成的應用配置文件進行監控,在所述業務數據發生變化和/或應用配置文件發生變化時,向播發子系統發送播發通知;播發子系統,用于接收所述監控子系統發送的播發通知,并根據更新后的業務數據和/ 或修改后的應用配置文件進行播發操作。
2.如權利要求1所述的數字電視數據廣播系統,其特征在于,所述監控子系統包括 結束事件模塊,用于在有結束事件發生時結束監控流程;文件變化事件模塊,用于監測管理子系統維護的所述監控參數中指定目錄下的業務數據或應用配置文件的變化;播發通知模塊,用于在所述文件變化事件模塊檢測到所述業務數據或應用配置文件發生變化時,向所述播發子系統發送播發消息命令。
3.如權利要求1或2所述的數字電視數據廣播系統,其特征在于,所述播發子系統包括隊列模塊,用于隊列接收到的播發消息命令,將根據所述播發消息命令指定的應用配置文件確定的播發參數提交到工作線程池;播發模塊,用于根據工作線程池中的播發參數,按照隊列順序響應播發消息命令對業務數據進行播發。
4.如權利要求1或2所述的數字電視數據廣播系統,其特征在于,所述管理子系統包括監控管理模塊,用于維護所述監控子系統的監控參數,包括監控目錄和數據監測方式;播發管理模塊,用于管理播發子系統播放操作的播發配置參數,包括數據輪播器的地址、播發帶寬和節點數量。
5.如權利要求3所述的數字電視數據廣播系統,其特征在于,所述播發模塊包括數據讀取單元,用于根據目錄鎖單元的指令從播發消息命令中指定的目錄中讀取業務數據;目錄鎖單元,用于在所述文件變化事件模塊檢測到指定目錄下有業務數據發生變化時,查找所述目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并指令數據讀取單元讀取所述目錄下的業務數據,并在數據讀取完畢后刪除所述建立的目錄鎖文件;如果有,則等待已存在目錄鎖文件被刪除后建立目錄鎖文件,并指令數據讀取單元讀取所述目錄下的業務數據,并在所述數據讀取完畢后刪除所述建立的目錄鎖文件;數據播發單元,用于根據所述播發參數,將所述數據讀取單元讀取的業務數據進行打包播發。
6.如權利要求4所述的數字電視數據廣播系統,其特征在于,所述管理子系統進一步包括配置修改模塊,用于修改所述應用配置文件;所述配置修改模塊包括配置修改單元,用于根據目錄鎖檢測單元的指令修改應用配置文件;目錄鎖檢測單元,用于查找保存所述應用配置文件的目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,并指令配置修改單元修改應用配置文件,并在所述配置修改單元完成應用配置文件的修改后刪除所述建立的目錄鎖文件;如果有,則等待目錄鎖文件被刪除后建立目錄鎖文件,并指令配置修改單元修改應用配置文件,并在所述配置修改單元完成應用配置文件的修改后刪除所述建立的目錄鎖文件。
7.如權利要求2所述的數字電視數據廣播系統,其特征在于,所述播發通知模塊包括延遲單元,用于判斷當前應用配置文件被修改的時間距離上一次應用配置文件被修改的時間間隔是否超過預先建立的延遲文件所指定的間隔時間,若是,則向消息發送單元發送指令,否則在達到所述指定的間隔時間時向消息發送單元發送指令;消息發送單元,用于在接收到所述延遲單元發送的指令后,向所述播發子系統發送播發消息命令。
8.如權利要求1或2所述的數字電視數據廣播系統,其特征在于,該系統進一步包括 至少一個業務子系統;所述業務子系統,與所述監控子系統、播發子系統分別相連,用于存放所述業務數據和應用配置文件;所述監控子系統通過磁盤映射訪問所述業務子系統,對所述業務子系統保存的業務數據和應用配置文件進行監控;所述播發子系統通過磁盤映射訪問所述業務子系統,根據所述應用配置文件對業務子系統保存的相應的業務數據進行播發。
9.一種數字電視數據廣播方法,其特征在于,該方法包括監控子系統根據所述監控參數,對業務數據和根據業務數據生成的應用配置文件進行監控,在所述業務數據發生變化和/或應用配置文件發生變化時,向播發子系統發送播發通知;播發子系統接收所述監控子系統發送的播發通知,并根據更新后的業務數據和/或修改后的應用配置文件進行播發操作;其中,監控子系統的監控參數和播發子系統的播發配置參數由管理子系統進行維護。
10.如權利要求9所述的數字電視數據廣播方法,其特征在于,所述播發通知為播發消息命令;所述播發子系統接收所述監控子系統發送的播發通知,根據更新后的業務數據或修改后的應用配置文件進行播發操作,包括播發子系統隊列接收到的播發消息命令,將根據所述播發消息命令指定的應用配置文件確定的播發參數提交到工作線程池;根據工作線程池中的播發參數,按照隊列順序響應播發消息命令對業務數據進行播發操作。
11.如權利要求10所述的數字電視數據廣播方法,其特征在于,所述響應播發消息命令對業務數據進行播發操作包括從播發消息命令中指定的目錄中讀取業務數據;在檢測到指定目錄下有業務數據發生變化時,查找所述目錄下是否存在目錄鎖文件, 如果沒有,則建立目錄鎖文件,并讀取所述目錄下的業務數據,并在數據讀取完畢后刪除所述建立的目錄鎖文件;如果有,則等待已存在目錄鎖文件被刪除后建立目錄鎖文件,并讀取所述目錄下的業務數據,并在所述數據讀取完畢后刪除所述建立的目錄鎖文件;將所述讀取的業務數據進行打包播發。
12.如權利要求9或10所述的數字電視數據廣播方法,其特征在于,所述應用配置文件由管理子系統修改,具體修改方法包括查找保存所述應用配置文件的目錄下是否存在目錄鎖文件,如果沒有,則建立目錄鎖文件,修改應用配置文件,并在完成應用配置文件的修改后刪除所述建立的目錄鎖文件;如果有,則等待目錄鎖文件被刪除后建立目錄鎖文件,修改應用配置文件,并在完成應用配置文件的修改后刪除所述建立的目錄鎖文件。
13.如權利要求9或10所述的數字電視數據廣播方法,其特征在于,所述在應用配置文件發生變化時,向播發子系統發送播發通知,包括在應用配置文件被修改后,判斷當前應用配置文件被修改的時間距離上一次應用配置文件被修改的時間間隔是否超過預先建立的延遲文件所指定的間隔時間,若是,則向播發子系統發送播發消息命令,否則在達到所述指定的間隔時間時向播發子系統發送播發消息命令。
14.如權利要求9或10所述的數字電視數據廣播方法,其特征在于,所述業務數據和應用配置文件保存于專用于保存業務相關數據的業務子系統中,所述監控子系統通過磁盤映射訪問所述業務子系統,對業務子系統保存的業務數據和應用配置文件進行監控;所述播發子系統通過磁盤映射訪問所述業務子系統,根據所述應用配置文件對業務子系統保存的相應的業務數據進行播發。
全文摘要
本發明公開了一種數字電視數據廣播系統,該系統包括管理子系統,與監控子系統和播發子系統分別相連,用于維護所述監控子系統的監控參數以及維護用于管理播發子系統播放操作的播發配置參數;監控子系統,用于根據所述監控參數,對業務數據和根據業務數據生成的應用配置文件進行監控,在所述業務數據發生變化和/或應用配置文件發生變化時,向播發子系統發送播發通知;播發子系統,用于接收所述監控子系統發送的播發通知,并根據更新后的業務數據和/或修改后的應用配置文件進行播發操作。本發明還公開了一種數據廣播方法,該方法和系統可以實現業務數據實時更新。
文檔編號H04N21/25GK102158741SQ20111002658
公開日2011年8月17日 申請日期2011年1月20日 優先權日2011年1月20日
發明者何安松, 吳勇 申請人:深圳市同洲電子股份有限公司