基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了數(shù)字媒體服務器的實現(xiàn)方法及系統(tǒng)。方法包括步驟:S1,DMS獲取多個網(wǎng)卡的名稱和地址;S2,DMS監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息;S3,DMS下載消息并對消息進行解析;S4,DMS將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。系統(tǒng)包括DMS、DMP設備和用于連接DMS與DMP設備的多網(wǎng)卡設備。本發(fā)明通過改進自動發(fā)現(xiàn)協(xié)議和媒體呈現(xiàn)算法,保障了多個網(wǎng)卡上的DMP設備都能正常查找到DMS,解決數(shù)據(jù)丟包和瀏覽過程中呈現(xiàn)列表過慢的問題,使得數(shù)字媒體服務器實現(xiàn)操作方便的同時,節(jié)約資源開銷、提高整個系統(tǒng)的靈活性和可靠性。本發(fā)明可廣泛應用于各種數(shù)字媒體服務器。
【專利說明】基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字信息傳輸控制領(lǐng)域,尤其涉及一種數(shù)字媒體服務器的實現(xiàn)方法,本發(fā)明還公開了一種數(shù)字媒體服務器系統(tǒng)。
[0002]
【背景技術(shù)】
[0003]DLNA:Digital Living Network Alliance,由索尼、英特爾、微軟等發(fā)起成立、旨在解決個人PC,消費電器,移動設備在內(nèi)的無線網(wǎng)絡和有線網(wǎng)絡互聯(lián)互通的規(guī)范。
[0004]DMS:Digital Media Server,數(shù)字媒體服務器,提供了媒體檔案的獲取、錄制、儲存以及作為源頭的能力。
[0005]DMP:Digital Media Player,數(shù)字媒體播放器,這種裝置泛指可線上尋找并播放或輸出任何由DMS所提供的媒體檔案的能力。
[0006]SSDP:SimpIe Service Discovery Protocol,簡單服務發(fā)現(xiàn)協(xié)議,是一種應用層協(xié)議,提供了在局部網(wǎng)絡里面發(fā)現(xiàn)設備的機制。
[0007]NOTIFY組播:一種組播協(xié)議。
[0008]DVB:Digital Video Broadcasting,數(shù)字視頻廣播,是由DVB項目維護的一系列國際承認的數(shù)字電視公開標準。
[0009]XML:可擴展標記語言,標準通用標記語言的子集,一種用于標記電子文件使其具有結(jié)構(gòu)性的標記語言。
[0010]TS: Transport Stream,—種數(shù)據(jù)包,在TS流里可以填入很多類型的數(shù)據(jù),如視頻、音頻、自定義信息等。
[0011]S0AP:簡單對象訪問協(xié)議,是交換數(shù)據(jù)的一種協(xié)議規(guī)范,是一種輕量的、簡單的、基于XML的協(xié)議,它被設計成在WEB上交換結(jié)構(gòu)化的和固化的信息。
[0012]Base64:網(wǎng)絡上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一。
[0013]隨著網(wǎng)絡的發(fā)展,越來越多的嵌入式設備同時配置多個網(wǎng)卡用來滿足不同應用場景的需求,并且每個網(wǎng)卡擁有不同的地址。由于DLNA中使用SSDP協(xié)議以用來完成不同設備的自動發(fā)現(xiàn),這就限制了 DLNA設備必須綁定到對應的網(wǎng)卡上,實現(xiàn)接收、發(fā)送組播和單播消息。
[0014]現(xiàn)有技術(shù)中,大部分DMS設備都要求用戶手動選擇網(wǎng)卡,或者獲取第一個有效網(wǎng)卡進行綁定,監(jiān)聽SSDP消息,這樣用戶如果需要在所有網(wǎng)卡上實現(xiàn)DMS功能就必須開啟多個應用。對于嵌入式設備來說,當采用開啟多個應用,無論是內(nèi)存和CPU都會大量占用。如DMS需要共享DVB節(jié)目列表或可移動存儲設備中的資源時候,所有的應用都必須監(jiān)聽對應事件,掃描相關(guān)數(shù)據(jù),這造成效率過低,同時對于DVB節(jié)目播放管理困難。特定的,對于機頂盒來說,電纜調(diào)制解調(diào)器上線比較慢,如果DMS上線后電纜調(diào)制解調(diào)器才上線,由于DMS啟動時未獲取電纜調(diào)制解調(diào)器對應網(wǎng)卡的IP地址,此時機頂盒DMS無法在對應的網(wǎng)卡上啟動。
[0015]綜上所述,現(xiàn)有技術(shù)存在以下問題:
1、手動選擇網(wǎng)卡,操作不方便。
[0016]2、綁定固定網(wǎng)卡占用大量資源。對于機頂盒來說,還帶來機頂盒開機后,需要等待電纜調(diào)制解調(diào)器上線能正常啟動的問題。
[0017]
【發(fā)明內(nèi)容】
[0018]為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種操作方便,可靈活、智能選擇網(wǎng)卡的數(shù)字媒體服務器的實現(xiàn)方法。
[0019]為了解決上述技術(shù)問題,本發(fā)明的另一個目的是提供一種操作方便,可靈活、智能選擇網(wǎng)卡的數(shù)字媒體服務器系統(tǒng)。
[0020]本發(fā)明所采用的技術(shù)方案是:
一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其包括步驟:si,DMS獲取多網(wǎng)卡設備多個網(wǎng)卡的名稱和地址;S2,DMS監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息;S3,DMS下載消息并對消息進行解析,判斷該消息如果是DMS設備查找消息或瀏覽消息,則解析消息的來源地址;S4,DMS將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。
[0021]優(yōu)選的,所述步驟S4具體包括子步驟:S41,DMS將消息來源地址和多個網(wǎng)卡地址進行比對;S42,DMS選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡;S43,DMS使用選擇的網(wǎng)卡地址封裝成DMS路徑信息;S44,DMS將DMS路徑信息單播到對應的DMP設備,通過選擇的網(wǎng)卡與DMP設備建立連接。
[0022]優(yōu)選的,所述步驟SI和S2之間還包括步驟:Sll,DMS定時在多個網(wǎng)卡上,將多個網(wǎng)卡地址拼接成網(wǎng)卡路徑消息,通過NOTIFY組播,通知局域網(wǎng)中的DMP設備DMS在線;S12,DMS監(jiān)聽網(wǎng)卡地址變化,當發(fā)現(xiàn)網(wǎng)卡地址變化或新增網(wǎng)卡或刪減網(wǎng)卡時,保存最新網(wǎng)卡名稱和地址,將最新網(wǎng)卡地址拼接成網(wǎng)卡路徑消息并通過NOTIFY組播,通知局域網(wǎng)中的DMP設備DMS在線。
[0023]優(yōu)選的,所述網(wǎng)卡地址為網(wǎng)卡IP地址。
[0024]優(yōu)選的,所述步驟S3具體還包括子步驟:S31,DMS根據(jù)消息最大響應時間的長短,按順序排列提交到不同優(yōu)先級的消息隊列中進行處理。
[0025]優(yōu)選的,其還包括步驟:S5,DMS監(jiān)聽節(jié)目/內(nèi)容列表變化,提供給DMP設備最新節(jié)目內(nèi)容。
[0026]優(yōu)選的,所述步驟S5具體包括子步驟:S51,DMS監(jiān)聽節(jié)目/內(nèi)容列表變化;S52,當DMS監(jiān)聽節(jié)目/內(nèi)容列表發(fā)生變化時,先建立一份副本,將DMS節(jié)目/內(nèi)容索引指針指向副本,同時釋放之前的節(jié)目/內(nèi)容;S53,DMS發(fā)送節(jié)目/內(nèi)容更新消息通知已訂閱的DMP設備。
[0027]優(yōu)選的,其還包括步驟:S6,DMS測試并計算出DMS和DMP設備之間的連接速度,并根據(jù)連接速度選擇合適的碼率和/或分辨率,通知轉(zhuǎn)碼模塊對節(jié)目/內(nèi)容進行轉(zhuǎn)碼。
[0028]優(yōu)選的,所述步驟S6具體包括子步驟:S61,DMS發(fā)送TS空包進行測量DMS和DMP之間的連接速度;S62,DMS根據(jù)連接速度選擇合適的碼率和/或分辨率,通知轉(zhuǎn)碼模塊對節(jié)目/內(nèi)容進行轉(zhuǎn)碼;S63,DMS將轉(zhuǎn)碼完成的數(shù)據(jù)進行緩沖,并分發(fā)到DMP設備。
[0029]一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)系統(tǒng),其用于實施一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其包括DMS、DMP設備和用于連接DMS與DMP設備的多網(wǎng)卡設備,所述多網(wǎng)卡設備具有多個網(wǎng)卡,所述DMS包括:采集單元,用于獲取多網(wǎng)卡設備多個網(wǎng)卡的名稱和地址;監(jiān)聽單元,用于監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息;解析單元,用于對消息進行解析,判斷該消息如果是DMS設備查找消息或瀏覽消息,則解析消息的來源地址;比對選擇單元,用于將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。
[0030]本發(fā)明的有益效果是:
本發(fā)明一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法通過改進自動發(fā)現(xiàn)協(xié)議和媒體呈現(xiàn)算法,保障了多個網(wǎng)卡上的DMP設備都能正常查找到DMS,解決數(shù)據(jù)丟包和瀏覽過程中呈現(xiàn)列表過慢的問題,使得數(shù)字媒體服務器實現(xiàn)操作方便的同時,節(jié)約資源開銷、提高整個系統(tǒng)的靈活性和可靠性。
[0031]另外,本發(fā)明還通過壓力平衡算法保障所有消息都能快速響應;通過改進內(nèi)容搜索方法,減少線程安全帶來的互斥次數(shù),提高內(nèi)容列表瀏覽速度;通過優(yōu)化分發(fā)算法,達到數(shù)據(jù)完整可靠。
[0032]本發(fā)明可廣泛應用于各種數(shù)字媒體服務器。
[0033]本發(fā)明的另一個有益效果是:
本發(fā)明一種基于多網(wǎng)卡設備下數(shù)字媒體服務器系統(tǒng)通過改進自動發(fā)現(xiàn)協(xié)議和媒體呈現(xiàn)算法,保障了多個網(wǎng)卡上的DMP設備都能正常查找到DMS,解決數(shù)據(jù)丟包和瀏覽過程中呈現(xiàn)列表過慢的問題,使得數(shù)字媒體服務器實現(xiàn)操作方便的同時,節(jié)約資源開銷、提高整個系統(tǒng)的靈活性和可靠性。
[0034]另外,本發(fā)明還通過壓力平衡算法保障所有消息都能快速響應;通過改進內(nèi)容搜索方法,減少線程安全帶來的互斥次數(shù),提高內(nèi)容列表瀏覽速度;通過優(yōu)化分發(fā)算法,達到數(shù)據(jù)完整可靠。
[0035]本發(fā)明可廣泛應用于各種數(shù)字媒體服務器。
[0036]
【專利附圖】
【附圖說明】
[0037]下面結(jié)合附圖對本發(fā)明的【具體實施方式】作進一步說明:
圖1是本發(fā)明一種實施例的方法流程圖;
圖2是本發(fā)明中自動發(fā)現(xiàn)協(xié)議一種實施例的方法流程圖。
[0038]
【具體實施方式】
[0039]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0040]如圖1和圖2所示,一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其包括步驟:S1,DMS獲取多網(wǎng)卡設備多個網(wǎng)卡的名稱和地址;S2,DMS監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息;S3,DMS下載消息并對消息進行解析,判斷該消息如果是DMS設備查找消息或瀏覽消息,則解析消息的來源地址;S4,DMS將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。
[0041]優(yōu)選的,所述步驟S4具體包括子步驟:S41,DMS將消息來源地址和多個網(wǎng)卡地址進行比對;S42,DMS選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡;S43,DMS使用選擇的網(wǎng)卡地址封裝成DMS路徑信息;S44,DMS將DMS路徑信息單播到對應的DMP設備,通過選擇的網(wǎng)卡與DMP設備建立連接。
[0042]優(yōu)選的,所述步驟SI和S2之間還包括步驟:Sll,DMS定時在多個網(wǎng)卡上,將多個網(wǎng)卡地址拼接成網(wǎng)卡路徑消息,通過NOTIFY組播,通知局域網(wǎng)中的DMP設備DMS在線;S12,DMS監(jiān)聽網(wǎng)卡地址變化,當發(fā)現(xiàn)網(wǎng)卡地址變化或新增網(wǎng)卡或刪減網(wǎng)卡時,保存最新網(wǎng)卡名稱和地址,將最新網(wǎng)卡地址拼接成網(wǎng)卡路徑消息并通過NOTIFY組播,通知局域網(wǎng)中的DMP設備DMS在線。
[0043]優(yōu)選的,所述網(wǎng)卡地址為網(wǎng)卡IP地址。
[0044]優(yōu)選的,所述步驟S3具體還包括子步驟:S31,DMS根據(jù)消息最大響應時間的長短,按順序排列提交到不同優(yōu)先級的消息隊列中進行處理。
[0045]本實施例中,DMS和DMP設備之間通過SSDP協(xié)議進行發(fā)現(xiàn),當DMS上線或者下線時候,發(fā)送相關(guān)組播消息報文,通知局域網(wǎng)中的所有DMP設備,消息報文中含有當前DMS的描述信息。同時當DMP進行組播查找時,DMS收到查找消息后解析查找消息并進行相關(guān)消息回復。
[0046]本實施例中,改進了自動發(fā)現(xiàn)算法,完成在多網(wǎng)卡設備下都能查找到DMS設備,流程如圖1所示。下面以機頂盒為例,詳細闡述自動發(fā)現(xiàn)算法流程。
[0047]機頂盒啟動DMS后,DMS啟動相關(guān)模塊進行間斷掃描機頂盒多個網(wǎng)卡上的IP地址和名稱,并注冊組播監(jiān)聽,即監(jiān)聽SSDP協(xié)議規(guī)定的地址和端口,定時將所有網(wǎng)卡上的地址拼接成的DMS描述文檔路徑通過NOTIFY方法,發(fā)送到組播地址上。同時DMS監(jiān)聽來自DMP的搜索消息,區(qū)分消息來源IP地址,從網(wǎng)卡信息中選擇一個合適的地址,并使用此地址封裝成DMS路徑消息,將消息單播到對應的DMP設備。為了滿足要求,具體實施步驟如下:
UDMS初始化時,獲取多個網(wǎng)卡的數(shù)目、名稱和對應地址,并監(jiān)聽網(wǎng)卡的狀態(tài)變化消息,綁定固定的端口做WEB服務器。
[0048]2、DMS定時在多個網(wǎng)卡上,發(fā)送NOTIFY組播,通知局域網(wǎng)中的設備DMS在線。
[0049]3、當DMS收到DMP的搜索消息后,下載消息報文并解析對應消息,判斷是否是查找DMS設備,如果是查找DMS設備,解析消息來源IP和端口,將消息來源IP和多個網(wǎng)卡的IP進行對比,選擇在同一網(wǎng)段的網(wǎng)卡地址;并且根據(jù)查找消息的過期時間長短,放入不同優(yōu)先級的消息隊列中,實現(xiàn)壓力分解。
[0050]4,DMS中對應消息處理模塊讀取消息隊中的消息,封裝合適的DMS描述文件地址,單播回復給對應的DMP設備。
[0051]5、對應DMP設備收到回復報文后,下載報文中的描述信息,解析DMS提供的服務,并且保存對應信息,完成后續(xù)的交互。
[0052]一個簡單的實施例如下:
DMP發(fā)送查找消息,附帶最大過期時間(MX)為10s,即允許其他設備1s響應此消息。
[0053]M-SEARCH * HTTP/1.1
ST: ssdp:all
MAN: 〃ssdp:discover"
HOST: 239.255.255.250:1900
MX: 10
Content-Length: 0
DMS根據(jù)獲取到查找消息,解析發(fā)送此消息來源IP,并且將此IP和機頂盒中多個網(wǎng)卡的IP進行比較,選擇同一網(wǎng)段的STB—IP,并封裝消息到對應的Locat1n中。
[0054]HTTP/1.1 200 OK
ST:urn:schemas-upnp-org: device:MediaServer:1
USN:uuid:5be4a6db_f61l_4f26_85a4_411169d7880b:: urn:schemas-upnp-org:device:MediaServer:1
Locat1n:http://STB_IP:port/root, xml
OPT:〃http://schemas, upnp.0rg/upnp/1/0/〃; ns=01
01-NLS:81cb417d741bd3efbcebl0660370971a
Cache-Control:max_age=900
Server:stb linux UPnP/1.5 UPnP-Device-Host/1.0
Ext:
DMP設備收到對應的消息后,下載Locat1n的內(nèi)容,解析DMS提供的服務。
[0055]相比傳統(tǒng)的DMS設備,此改進可以保障所有網(wǎng)卡上的DMP設備都能正常查找到DMS,如部分設備通過其中一個網(wǎng)卡連接到對應DMS,其他設備通過另一網(wǎng)卡連接到DMS,DMS只需要啟動一個設備就可以為多個網(wǎng)卡提供服務。同時DMS采用壓力分解算法,使用消息隊列和線程池,對SSDP消息包進行按過期時間分組,采用優(yōu)先權(quán)控制方法,放入對應的消息隊列,由專門的線程池處理,提高效率,保證所有DMP快速發(fā)現(xiàn)DMS,并且避免壓力丟包現(xiàn)象。
[0056]優(yōu)選的,其還包括步驟:S5,DMS監(jiān)聽節(jié)目/內(nèi)容列表變化,提供給DMP設備最新節(jié)目內(nèi)容。
[0057]優(yōu)選的,所述步驟S5具體包括子步驟:S51,DMS監(jiān)聽節(jié)目/內(nèi)容列表變化;S52,當DMS監(jiān)聽節(jié)目/內(nèi)容列表發(fā)生變化時,先建立一份副本,將DMS節(jié)目/內(nèi)容索引指針指向副本,同時釋放之前的節(jié)目/內(nèi)容;S53,DMS發(fā)送節(jié)目/內(nèi)容更新消息通知已訂閱的DMP設備。
[0058]該實施例中,當相關(guān)DMP設備發(fā)現(xiàn)DMS后,通過SOAP協(xié)議進行交互,SOAP協(xié)議采用HTTP和XML數(shù)據(jù)進行交互。傳統(tǒng)的DMS由于不涉及多網(wǎng)卡情況,當收到DMP的瀏覽或查找命令時,只要將瀏覽結(jié)果按照瀏覽方法輸出參數(shù)封裝成對應XML。本實施例中,DMS收到對應SOAP時,判斷對方IP地址,選擇和此IP地址同一網(wǎng)段的網(wǎng)卡,使用此網(wǎng)卡地址將作為內(nèi)容URL,保證所有網(wǎng)卡接入的DMP設備都能正常瀏覽并且播放。在多網(wǎng)卡設備中,返回瀏覽結(jié)果對應內(nèi)容的路徑消息需要根據(jù)DMP設備的IP地址,動態(tài)選擇合適的網(wǎng)卡,將內(nèi)容的對應路徑消息封裝到XML結(jié)果中,返回給DMP設備。
[0059]另外,多網(wǎng)卡設備中,需要同時快速響應不同網(wǎng)卡接入設備的請求,同時機頂盒自身節(jié)目/內(nèi)容列表更新和可移動存儲設備的拔插,需要重構(gòu)內(nèi)容列表索引,這涉及到線程安全和響應速度。本實施例具體解決方法如下: 1、機頂盒DMS自動掃描共享文件夾和數(shù)據(jù)庫,完成可移動存儲設備的掃描和節(jié)目列表的掃描,并且動態(tài)檢測可移動存儲設備的拔插,數(shù)據(jù)庫中節(jié)目列表的更新。
[0060]2、機頂盒DMS處理DMP發(fā)送過來的SOAP關(guān)于瀏覽或查找消息時,獲取對方IP信息,匹配機頂盒網(wǎng)卡信息,選擇同一網(wǎng)段的IP信息,使用此IP,動態(tài)封裝返回結(jié)果中內(nèi)容對應的URL,實現(xiàn)不同網(wǎng)卡接入的設備都能正常瀏覽和點播對應內(nèi)容。
[0061]3、機頂盒DMS監(jiān)聽到節(jié)目/內(nèi)容列表更新或者可移動存儲設備拔插時,先建立一份副本,避免線程安全帶來互斥。副本建立完成后,將DMS內(nèi)各索引指針指向副本,冋時釋放之前的節(jié)目/內(nèi)容,發(fā)送GENA (訂閱)消息,通知已經(jīng)訂閱過的DMP設備,DMP設備收到更新后從新瀏覽列表。
[0062]4、機頂盒DMS處理Browse消息,將對應的內(nèi)容列表文件在機頂盒中的路徑使用BASE64編碼,生成到XML中,這樣客戶端DMP進行內(nèi)容播放時,不必再查找內(nèi)容列表中索引,減少進行線程互斥,加快數(shù)據(jù)下載響應。
[0063]傳統(tǒng)的DMS在處理瀏覽消息時候,由于涉及到多線程同時操作DMS中的內(nèi)容索引,如瀏覽過程中,可移動存儲設備的拔插,節(jié)目/內(nèi)容列表的更新,從而加入了線程安全鎖,這樣DMP瀏覽內(nèi)容列表時候,要反復加鎖、解鎖,造成由線程安全帶來排隊;本發(fā)明使用兩份索引表方法,當監(jiān)聽到數(shù)據(jù)列表變化時候,重建索引保存到副本中,建立完成后,將指針賦值給主索引表,并且刪除之前的主索引表,此過程只需要簡單的安全同步機制,即可完成數(shù)據(jù)快速瀏覽。
[0064]優(yōu)選的,其還包括步驟:S6,DMS測試并計算出DMS和DMP設備之間的連接速度,并根據(jù)連接速度選擇合適的碼率和/或分辨率,通知轉(zhuǎn)碼模塊對節(jié)目/內(nèi)容進行轉(zhuǎn)碼。
[0065]優(yōu)選的,所述步驟S6具體包括子步驟:S61,DMS發(fā)送TS空包進行測量DMS和DMP之間的連接速度;S62,DMS根據(jù)連接速度選擇合適的碼率和/或分辨率,通知轉(zhuǎn)碼模塊對節(jié)目/內(nèi)容進行轉(zhuǎn)碼;S63,DMS將轉(zhuǎn)碼完成的數(shù)據(jù)進行緩沖,并分發(fā)到DMP設備。
[0066]傳統(tǒng)的DMS只需要分發(fā)本地資源如可移動存儲設備中的,且接入方式單一,不必考慮多網(wǎng)卡如網(wǎng)速不平衡等方面帶來的影響;本發(fā)明由于涉及到多個網(wǎng)卡,多用戶同時觀看同一頻道不能使用組播方式,同時為了客戶端流暢播放,解決播放過程中卡頓問題,本發(fā)明采用方法具體如下:
1、DMS內(nèi)容分發(fā)優(yōu)先保證調(diào)諧器資源節(jié)目內(nèi)容分發(fā),即當有用戶播放碼流信號節(jié)目時候,適當調(diào)整其他DMP接入數(shù)目。
[0067]2、當DMP設備接入,請求播放碼流資源,在DMS鎖定碼流進行轉(zhuǎn)碼期間,DMS發(fā)送TS空包進行測速,計算出DMS和DMP之間的連接速度。由于TS空包在數(shù)字電視標準中允許,客戶端直接過濾掉,并不會帶來任何負面作用。
[0068]3、DMS根據(jù)步驟2算出的網(wǎng)速,選擇合適的碼率和/或分辨率、通知轉(zhuǎn)碼模塊進行轉(zhuǎn)碼,并且注冊回調(diào),當轉(zhuǎn)碼完成,DMS將數(shù)據(jù)進行緩沖、分發(fā)。
[0069]4、分發(fā)過程中按照GOB模式分發(fā),即每次分發(fā)保障一段完整的數(shù)據(jù),當網(wǎng)絡阻塞時候,保障一個完整的數(shù)據(jù)塊分發(fā)到客戶端,避免客戶端出現(xiàn)馬賽克。
[0070]5、對應分發(fā)可移動存儲中的文件,DMS在內(nèi)容呈現(xiàn)過程中生成路徑消息,將對應文件路徑消息通過BASE64編碼,這樣可以達到多線程并行工作,不需要打開文件的時候進行查找內(nèi)容列表索引。
[0071]本發(fā)明的優(yōu)點如下:
1、本發(fā)明DMS同時監(jiān)聽設備上的多個網(wǎng)卡,監(jiān)聽所有網(wǎng)卡上的SSDP消息,判斷SSDP消息來源,智能生成消息包,滿足所有設備都能正常發(fā)現(xiàn)DMS設備。
[0072]2、本發(fā)明DMS通過壓力平衡算法,根據(jù)SSDP消息報文中的MX標簽(最大響應時間),按優(yōu)先級提交到不同優(yōu)先級的消息隊列中,由線程池進行處理,保障所有消息都能快速響應。
[0073]3、本發(fā)明DMS通過動態(tài)調(diào)整瀏覽、查找方法返回的內(nèi)容列表鏈接地址,達到不同網(wǎng)卡接入的設備都能瀏覽和播放DMS上的內(nèi)容。
[0074]4、本發(fā)明DMS通過改進內(nèi)容搜索方法,減少線程安全帶來的互斥次數(shù),提高節(jié)目/內(nèi)容列表瀏覽速度。
[0075]5、本發(fā)明DMS實現(xiàn)節(jié)目/內(nèi)容列表的智能共享和分發(fā),同時優(yōu)化分發(fā)算法,實現(xiàn)分發(fā)數(shù)據(jù)的完整可靠。
[0076]一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)系統(tǒng),其用于實施一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其包括DMS、DMP設備和用于連接DMS與DMP設備的多網(wǎng)卡設備,所述多網(wǎng)卡設備具有多個網(wǎng)卡,所述DMS包括:采集單元,用于獲取多網(wǎng)卡設備多個網(wǎng)卡的名稱和地址;監(jiān)聽單元,用于監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息;解析單元,用于對消息進行解析,判斷該消息如果是DMS設備查找消息或瀏覽消息,則解析消息的來源地址;比對選擇單元,用于將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。
[0077]一種基于多網(wǎng)卡設備下數(shù)字媒體服務器系統(tǒng)具體實施原理和步驟對應于一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,在此不做累述。
[0078]本發(fā)明一種基于多網(wǎng)卡設備下數(shù)字媒體服務器系統(tǒng)通過改進自動發(fā)現(xiàn)協(xié)議和媒體呈現(xiàn)算法,保障了多個網(wǎng)卡上的DMP設備都能正常查找到DMS,解決數(shù)據(jù)丟包和瀏覽過程中呈現(xiàn)列表過慢的問題,使得數(shù)字媒體服務器實現(xiàn)操作方便的同時,節(jié)約資源開銷、提高整個系統(tǒng)的靈活性和可靠性。
[0079]另外,本發(fā)明還通過壓力平衡算法保障所有消息都能快速響應;通過改進內(nèi)容搜索方法,減少線程安全帶來的互斥次數(shù),提高內(nèi)容列表瀏覽速度;通過優(yōu)化分發(fā)算法,達到數(shù)據(jù)完整可靠。
[0080]本發(fā)明可廣泛應用于各種數(shù)字媒體服務器。
[0081]以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。
【權(quán)利要求】
1.一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,其包括步驟: SI,DMS獲取多網(wǎng)卡設備多個網(wǎng)卡的名稱和地址; S2,DMS監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息; S3,DMS下載消息并對消息進行解析,判斷該消息如果是DMS設備查找消息或瀏覽消息,則解析消息的來源地址; S4,DMS將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。
2.根據(jù)權(quán)利要求1所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,所述步驟S4具體包括子步驟: S41,DMS將消息來源地址和多個網(wǎng)卡地址進行比對; S42,DMS選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡; S43,DMS使用選擇的網(wǎng)卡地址封裝成DMS路徑信息; S44,DMS將DMS路徑信息單播到對應的DMP設備,通過選擇的網(wǎng)卡與DMP設備建立連接。
3.根據(jù)權(quán)利要求1所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,所述步驟SI和S2之間還包括步驟: Sll,DMS定時在多個網(wǎng)卡上,將多個網(wǎng)卡地址拼接成網(wǎng)卡路徑消息,通過NOTIFY組播,通知局域網(wǎng)中的DMP設備DMS在線; S12,DMS監(jiān)聽網(wǎng)卡地址變化,當發(fā)現(xiàn)網(wǎng)卡地址變化或新增網(wǎng)卡或刪減網(wǎng)卡時,保存最新網(wǎng)卡名稱和地址,將最新網(wǎng)卡地址拼接成網(wǎng)卡路徑消息并通過NOTIFY組播,通知局域網(wǎng)中的DMP設備DMS在線。
4.根據(jù)權(quán)利要求1至3任一項所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,所述網(wǎng)卡地址為網(wǎng)卡IP地址。
5.根據(jù)權(quán)利要求4所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,所述步驟S3具體還包括子步驟: S31,DMS根據(jù)消息最大響應時間的長短,按順序排列提交到不同優(yōu)先級的消息隊列中進行處理。
6.根據(jù)權(quán)利要求1、2、3或5所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,其還包括步驟: S5,DMS監(jiān)聽節(jié)目/內(nèi)容列表變化,提供給DMP設備最新節(jié)目內(nèi)容。
7.根據(jù)權(quán)利要求6所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,所述步驟S5具體包括子步驟: S51,DMS監(jiān)聽節(jié)目/內(nèi)容列表變化; S52,當DMS監(jiān)聽節(jié)目/內(nèi)容列表發(fā)生變化時,先建立一份副本,將DMS節(jié)目/內(nèi)容索引指針指向副本,同時釋放之前的節(jié)目/內(nèi)容; S53,DMS發(fā)送節(jié)目/內(nèi)容更新消息通知已訂閱的DMP設備。
8.根據(jù)權(quán)利要求1、2、3、5或7所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,其還包括步驟: S6,DMS測試并計算出DMS和DMP設備之間的連接速度,并根據(jù)連接速度選擇合適的碼率和/或分辨率,通知轉(zhuǎn)碼模塊對節(jié)目/內(nèi)容進行轉(zhuǎn)碼。
9.根據(jù)權(quán)利要求8所述的一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)方法,其特征在于,所述步驟S6具體包括子步驟: S61,DMS發(fā)送TS空包進行測量DMS和DMP之間的連接速度; S62,DMS根據(jù)連接速度選擇合適的碼率和/或分辨率,通知轉(zhuǎn)碼模塊對節(jié)目/內(nèi)容進行轉(zhuǎn)碼; S63,DMS將轉(zhuǎn)碼完成的數(shù)據(jù)進行緩沖,并分發(fā)到DMP設備。
10.一種基于多網(wǎng)卡設備下數(shù)字媒體服務器的實現(xiàn)系統(tǒng),其特征在于,其用于實施如權(quán)利要求1至9任一項所述的方法,其包括DMS、DMP設備和用于連接DMS與DMP設備的多網(wǎng)卡設備,所述多網(wǎng)卡設備具有多個網(wǎng)卡,所述DMS包括: 采集單元,用于獲取多網(wǎng)卡設備多個網(wǎng)卡的名稱和地址; 監(jiān)聽單元,用于監(jiān)聽多個網(wǎng)卡接收到的來自DMP設備的消息; 解析單元,用于對消息進行解析,判斷該消息如果是DMS設備查找消息或瀏覽消息,則解析消息的來源地址; 比對選擇單元,用于將消息來源地址和多個網(wǎng)卡地址進行比對,選擇網(wǎng)卡地址和消息來源地址在同一網(wǎng)段的網(wǎng)卡與DMP設備建立連接。
【文檔編號】H04L29/06GK104283873SQ201410508593
【公開日】2015年1月14日 申請日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】曾令明 申請人:深圳市九洲電器有限公司