專利名稱:一種媒體服務器及其提供服務的方法
技術領域:
本發(fā)明涉及數字家庭網絡領域,尤其涉及一種媒體服務器及其提供服務的方法。
背景技術:
在數字家庭網絡中,用戶對于網絡資源尤其是多媒體資源的共享需要越來越強 烈,通用即插即用(Universal Plug and Play, UPnP)是智能設備、無線設備和個人電腦實 現(xiàn)全球的對等網絡連接的結構。數字生活網絡聯(lián)盟(DigitalLiving Network Alliance, DLNA)發(fā)布的基于UPnP的家庭多媒體服務功能的標準通過即插即用音視頻(Universal Plug and Play Audio Video, UPnP AV)架構已得到廣泛應用。UPnP AV架構包括媒體服務器以及媒體播放設備,媒體服務器通過UPnP協(xié)議向 媒體播放設備宣告自己、執(zhí)行媒體播放設備的請求等,通過超文本傳輸協(xié)議(Hyper Text Transfer Protocol, HTTP)進行媒體文件的傳輸。而目前大部分的媒體播放設備,如數字 電視、機頂盒、家庭音響甚至個人電腦基本都不支持UPnP協(xié)議,因此在UPnPAV架構實現(xiàn)媒 體共享時,媒體服務器往往不能夠為大多數媒體播放設備提供服務,大大限制了媒體服務 器的應用空間。
發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種媒體服務器及其提供服務的方法,解 決了媒體服務器的應用空間較小的問題。為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的一種媒體服務器提供服務的方法,所述方法包括下述步驟對接收到的超文本傳輸協(xié)議HTTP請求中的統(tǒng)一資源定位符URL路徑進行分解,得 到相對路徑;對所述相對路徑進行解析,將所述相對路徑轉換為其對應的通用即插即用UPnP 動作請求;執(zhí)行所述UPnP動作請求,返回對所述HTTP請求的處理結果。進一步地,所述對接收到的HTTP請求中的URL路徑進行分解步驟之前還包括媒 體服務器預先對用戶的動作操作定義對應的URL路徑,并通過web頁面將展示列表顯示在 媒體播放設備上;媒體播放設備接收到用戶對web頁面的動作操作時,將包含有所述動作 操作對應的URL路徑的HTTP請求發(fā)送給媒體服務器。其中,所述得到相對路徑為取出所述URL路徑中不含媒體服務器IP地址的剩余 URL路徑。所述對所述相對路徑進行解析,將所述相對路徑轉換為其對應的UPnP動作請求 具體為當相對路徑為媒體對象ID和后綴名時,則將其轉換為UPnP獲取媒體文件動作請 求;當相對路徑為媒體對象ID時,則將其轉換為UPnP瀏覽動作請求;當相對路徑為媒體對 象ID和附加屬性時,則將其轉換為UPnP搜索動作請求。
具體地,所述執(zhí)行所述UPnP動作請求,返回對所述HTTP請求的處理結果具體為 當所述UPnP動作請求為UPnP獲取媒體文件動作請求時,則根據相對路徑的內容,通過查詢 預先存儲的索引表,找到所述媒體文件,返回所述媒體文件的內容;當所述UPnP動作請求 為UPnP瀏覽動作請求或者UPnP搜索動作請求時,執(zhí)行所述UPnP動作請求,將執(zhí)行得到的 執(zhí)行結果進行封裝,生成HTML文件并發(fā)送。其中,附加屬性為媒體類型、標題、存儲路徑中的一種或多種。一種媒體服務器,所述媒體服務器包括HTTP服務單元、適配單元以及通用即插 即用音視頻UPnPAV服務單元;其中,HTTP服務單元,用于對接收到的HTTP請求中的URL路徑進行分解,得到相對路徑, 并返回對所述HTTP請求的處理結果;適配單元,用于對所述相對路徑進行解析,將所述相對路徑轉換為其對應的UPnP 動作請求;并對接收到的執(zhí)行結果進行處理后發(fā)送給所述HTTP服務單元;UPnP AV服務單元,用于執(zhí)行所述UPnP動作請求,并將得到的執(zhí)行結果發(fā)送給所 述適配單元或者所述HTTP服務單元。具體地,所述適配單元還包括URL轉換模塊,用于當相對路徑為媒體對象ID和后 綴名時,則將其轉換為UPnP獲取媒體文件動作請求;當相對路徑為媒體對象ID時,則將其 轉換為UPnP瀏覽動作請求;當相對路徑為媒體對象ID和附加屬性時,則將其轉換為UPnP 搜索動作請求。具體地,所述UPnPAV服務單元具體用于當所述UPnP動作請求為UPnP獲取媒 體文件動作請求時,則根據相對路徑的內容,通過查詢預先存儲的索引表,找到所述媒體文 件,將所述媒體文件的內容發(fā)送給所述HTTP服務單元;當所述UPnP動作請求為UPnP瀏覽 動作請求或者UPnP搜索動作請求時,則將得到的執(zhí)行結果發(fā)送給所述適配單元。進一步地,所述適配單元還包括內容封裝模塊,用于將所述UPnP AV服務單元發(fā) 送的執(zhí)行結果進行封裝,生成HTML文件,并發(fā)送給所述HTTP服務單元。本發(fā)明所提供的媒體服務器及其提供服務的方法,媒體服務器通過適配單元將 HTTP請求轉換為相應的UPnP動作請求,并返回媒體文件內容或將執(zhí)行UPnP動作請求的結 果封裝成HTML文件進行返回,實現(xiàn)了 UPnP AV架構中媒體服務器為支持HTTP的媒體播放 設備提供服務的目的,擴大了媒體服務器的應用空間,更為方便地實現(xiàn)了媒體共享。
圖1為本發(fā)明實施例實現(xiàn)的媒體服務器提供服務的方法的流程圖;圖2為本發(fā)明實現(xiàn)的媒體服務器提供服務的方法的具體實施例流程圖;圖3為本發(fā)明實施例實現(xiàn)的媒體服務器的結構示意圖。
具體實施例方式本發(fā)明的基本思想為對接收到的HTTP請求中的URL路徑進行分解,得到相對路 徑;通過對所述相對路徑進行解析,將所述相對路徑轉換為其對應的UPnP動作請求;執(zhí)行 所述UPnP動作請求,返回對所述HTTP請求的處理結果。為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下舉實施例并參照附圖,對本發(fā)明進一步詳細說明。圖1示出了本發(fā)明實現(xiàn)的一種媒體服務器提供服務的方法的流程,如圖1所示,所 述方法包括以下步驟SlOl,媒體服務器對接收到的HTTP請求中的統(tǒng)一資源定位符(UniformResource Location, URL)路徑進行分解,得到相對路徑。本步驟中,對HTTP請求中的URL路徑進行分解,取出不含媒體服務器IP地址的剩 余URL路徑作為相對路徑。S102,媒體服務器對所述相對路徑進行解析,將所述相對路徑轉換為其對應的 UPnP動作請求。本步驟中,媒體服務器可以根據所述相對路徑所包含的內容,根據預先定義的解 析規(guī)則,將所述相對路徑轉換為其對應的UPnP動作請求。S103,媒體服務器執(zhí)行所述UPnP動作請求,返回對所述HTTP請求的處理結果。本步驟中,媒體服務器執(zhí)行UPnP動作請求,包括當所述UPnP動作請求為UPnP 獲取媒體文件動作請求時,則根據相對路徑的內容,通過查詢預先存儲的索引表,獲取所述 媒體文件,并將其返回給媒體播放設備;當所述UPnP動作請求為其他UPnP動作請求時,如 browse (瀏覽)動作請求,則執(zhí)行所述UPnP動作請求,將執(zhí)行得到的執(zhí)行結果進行封裝,生 成HTML文件并發(fā)送給媒體播放設備。圖2示出了本發(fā)明實現(xiàn)的一種媒體服務器提供服務的方法的具體實施例的流程, 如圖2所示,所述方法包括下述步驟S201,媒體服務器接收到用戶發(fā)送的HTTP請求。本步驟中,媒體服務器預先對用戶的各種動作操作定義其對應的URL路徑,并通 過web頁面的形式將展示列表等信息顯示在媒體播放設備上,以供用戶選擇。當媒體播 放設備接收到用戶對web頁面的動作操作時,則將包含有所述動作操作對應的URL路徑的 HTTP請求發(fā)送給媒體服務器。具體地,所述HTTP請求為媒體服務器接收到的一個Get請求報文,其中的網址,如 http://192. 168. L l/web/media/l ? searchclass = music 即為 URL 路徑。S202,媒體服務器分解所述HTTP請求中的URL路徑,得到相對路徑。本步驟中,對HTTP請求中的URL路徑進行分解,取出不含媒體服務器IP地址的 剩余URL路徑作為相對路徑。例如當URL路徑為http://192. 168. 1. l/web/media/l ? searchclass = music時,其中的媒體服務器根據預先定義的路徑分解規(guī)則,將web等關鍵 字之前、http之后的部分即192. 168. 1. 1認為是媒體服務器的IP地址,而除去上述媒體服 務器IP地址后剩余的URL路徑即為相對路徑。S203,媒體服務器對所述相對路徑進行解析。本步驟中,媒體服務器根據所述相對路徑包含的內容以及預先定義的解析規(guī)則, 對相對路徑進行解析。其中,所述解析規(guī)則具體為當相對路徑包含對象ID和后綴名時,將 相對路徑轉換為UPnP獲取上述對象ID及后綴名的媒體文件動作請求,其中,可以定義對象 ID即數字之后若出現(xiàn)“.mp3” “.wma”等即認為相對路徑包含對象ID和后綴名;當相對路 徑僅包含對象ID時,將所述相對路徑轉換為以所述對象ID為參數的UPnP browse動作請 求;當相對路徑包含對象ID和附加屬性時,將所述相對路徑轉換為以所述對象ID及附加屬性為參數的UPnP search(搜索)動作請求,其中,可以定義對象ID即數字之后出現(xiàn)除上述 表示后綴名的其他字符均認為表示附加屬性,所述附加屬性為媒體類型、標題、存儲路徑中 的一種或多種。應當理解,若預先定義的URL路徑構造規(guī)則包含有動作關鍵字部分時,此時,媒體 服務器的解析規(guī)則還可以為根據相對路徑中的動作關鍵字,將相對路徑轉換為其對應的 UPnP動作請求。例如動作關鍵字“get”對應的UPnP動作請求為獲取媒體文件動作請求;動 作關鍵字“browse”對應的UPnP動作請求為UPnP browse動作請求;動作關鍵字“search” 對應的UPnP動作請求為UPnP search動作請求。本發(fā)明實施例中,可以通過預先定義的解析規(guī)則對相對路徑進行解析,本步驟中, 當相對路徑包含對象ID和后綴名時,則執(zhí)行S208 ;當相對路徑僅包含對象ID時,則執(zhí)行 S204 ;當相對路徑包含對象ID和附加屬性時,執(zhí)行S205。S204,媒體服務器根據所述相對路徑中的對象ID,將所述相對路徑轉換為以所述 對象ID為參數的UPnP browse動作請求,執(zhí)行S206。本步驟中,可以根據相對路徑中的對象ID,將相對路徑轉換為以所述對象ID為參 數的UPnP browse動作請求。S205,媒體服務器根據所述相對路徑中的對象ID及附加屬性,將所述相對路徑轉 換為以所述對象ID及附加屬性為參數的UPnP search動作請求,執(zhí)行S206。S206,媒體服務器執(zhí)行轉換得到的UPnP動作請求,得到執(zhí)行結果。本步驟中,當轉換得到的UPnP動作請求為以所述對象ID為參數的UPnPbrowse動 作請求時,通過預先存儲的索引表,查找到所述對象ID的媒體文件,生成以所述對象ID為 參數的媒體文件列表清單;當轉換得到的UPnP動作請求為所述對象ID及附加屬性為參數 的UPnP search動作請求時,通過預先存儲的索引表,查找到所述對象ID的媒體文件及對 應的媒體文件屬性,通過在媒體文件屬性中搜索相應的附加屬性,找到所述對象ID及附加 屬性的媒體文件,生成以所述對象ID及附加屬性為參數的媒體文件列表清單。上述索引表可以通過由媒體文件的描述信息組成的紅黑樹實現(xiàn),其中紅黑樹每個 節(jié)點的內容可以為對象ID及所述對象ID對應的媒體文件屬性,媒體文件屬性可以包括文 件路徑、后綴名、文件類型等。S207,媒體服務器對執(zhí)行結果進行封裝,生成HTML文件。具體地,媒體服務器對媒體文件列表清單進行封裝,生成HTML文件。S208,媒體服務器根據所述相對路徑中的對象ID和后綴名,將所述相對路徑轉換 為UPnP獲取上述對象ID及后綴名的媒體文件動作請求。S209,媒體服務器根據所述對象ID和后綴名,根據預先存儲的索引表,找到所述 媒體文件。本步驟中,所述索引表可以通過由媒體文件的描述信息組成的紅黑樹實現(xiàn),其中 紅黑樹每個節(jié)點的內容可以為對象ID及所述對象ID對應的媒體文件屬性,媒體文件屬性 包括文件路徑、后綴名、文件類型等。在查找文件時,通過在紅黑樹搜索所述對象ID,可以獲 取所述對象ID對應媒體文件的媒體文件屬性,然后在媒體文件屬性中搜索相應的后綴名, 從而找到需要的媒體文件。若媒體服務器沒有找到所述媒體文件,則可依據HTTP協(xié)議返回對應的出錯碼。
S210,返回對所述HTTP請求的處理結果,具體地,將生成的HTML文件或者獲取的 媒體文件發(fā)送給媒體播放設備。圖3示出了本發(fā)明實現(xiàn)的媒體服務器的結構示意,如圖3所示,所述媒體服務器包 括HTTP服務單元10、適配單元20以及UPnPAV服務單元30。其中,HTTP服務單元10用于 對接收到的HTTP請求中的URL路徑進行分解,得到相對路徑,并返回對所述HTTP請求的處 理結果;適配單元20用于對所述相對路徑進行解析,將所述相對路徑轉換為其對應的UPnP 動作請求;并對接收到的執(zhí)行結果進行處理后發(fā)送給所述HTTP服務單元10 ;UPnP AV服務 單元30用于執(zhí)行所述UPnP動作請求,并將得到的執(zhí)行結果發(fā)送給所述適配單元20或者所 述HTTP服務單元10。進一步地,適配單元20還包括URL轉換模塊21,URL轉換模塊21用于根據預先定 義的解析規(guī)則,將所述相對路徑轉換為其對應的UPnP動作請求,具體地,當相對路徑為媒 體對象ID和后綴名時,URL轉換模塊21將其轉換為UPnP獲取上述對象ID及后綴名的媒 體文件動作請求,其中,可以定義對象ID即數字之后若出現(xiàn)“.mp3” “. wma”等即認為相對 路徑包含對象ID和后綴名;當相對路徑為媒體對象ID時,URL轉換模塊21將其轉換為以 所述對象ID為參數的UPnP browse動作請求;當相對路徑為媒體對象ID和附加屬性時,則 將其轉換為以所述對象ID及附加屬性為參數的UPnP search動作請求,其中所述附加屬性 可以為媒體類型、標題、存儲路徑中的一種或多種。具體地,UPnP AV服務單元30還用于預先對用戶的動作操作定義對應的URL路徑, 得到展示列表,并發(fā)送給所述適配單元;以及當所述UPnP動作請求為UPnP獲取媒體文件動 作請求時,則根據相對路徑的內容,通過查詢預先存儲的索引表,找到所述媒體文件,將所 述媒體文件的內容發(fā)送給所述HTTP服務單元10 ;當所述UPnP動作請求為UPnP browse動 作請求或者UPnP search動作請求時,則將得到的執(zhí)行結果發(fā)送給所述適配單元20。進一步地,適配單元20還包括內容封裝模塊22,內容封裝模塊22用于將UPnP AV 服務單元30發(fā)送的展示列表以及執(zhí)行結果進行封裝,生成HTML文件,并發(fā)送給所述HTTP 服務單元10,由HTTP服務單元10將HTML文件發(fā)送給媒體播放設備以web頁面的形式顯示 給用戶,當媒體播放設備接收到用戶對web頁面的動作操作時,則將包含有所述動作操作 對應的URL路徑的HTTP請求發(fā)送給HTTP服務單元10。本發(fā)明所提供的媒體服務器及其提供服務的方法,媒體服務器通過適配單元將 HTTP請求轉換為相應的UPnP動作請求,并返回媒體文件內容或將執(zhí)行UPnP動作請求的結 果封裝成HTML文件進行返回,實現(xiàn)了 UPnP AV架構中媒體服務器為支持HTTP的媒體播放 設備提供服務的目的,擴大了媒體服務器的應用空間,更為方便地實現(xiàn)了媒體共享。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
8
權利要求
一種媒體服務器提供服務的方法,其特征在于,所述方法包括下述步驟對接收到的超文本傳輸協(xié)議HTTP請求中的統(tǒng)一資源定位符URL路徑進行分解,得到相對路徑;對所述相對路徑進行解析,將所述相對路徑轉換為其對應的通用即插即用UPnP動作請求;執(zhí)行所述UPnP動作請求,返回對所述HTTP請求的處理結果。
2.根據權利要求1所述的方法,其特征在于,所述對接收到的HTTP請求中的URL路徑 進行分解步驟之前還包括媒體服務器預先對用戶的動作操作定義對應的URL路徑,并通過web頁面將展示列表 顯示在媒體播放設備上;媒體播放設備接收到用戶對web頁面的動作操作時,將包含有所述動作操作對應的 URL路徑的HTTP請求發(fā)送給媒體服務器。
3.根據權利要求1所述的方法,其特征在于,所述得到相對路徑為取出所述URL路徑 中不含媒體服務器IP地址的剩余URL路徑。
4.根據權利要求1至3任一項所述的方法,其特征在于,所述對所述相對路徑進行解 析,將所述相對路徑轉換為其對應的UPnP動作請求具體為當相對路徑為媒體對象ID和后綴名時,則將其轉換為UPnP獲取媒體文件動作請求;當相對路徑為媒體對象ID時,則將其轉換為UPnP瀏覽動作請求;當相對路徑為媒體對象ID和附加屬性時,則將其轉換為UPnP搜索動作請求。
5.根據權利要求4所述的方法,其特征在于,所述執(zhí)行所述UPnP動作請求,返回對所述 HTTP請求的處理結果具體為當所述UPnP動作請求為UPnP獲取媒體文件動作請求時,則根據相對路徑的內容,通過 查詢預先存儲的索引表,找到所述媒體文件,返回所述媒體文件的內容;當所述UPnP動作請求為UPnP瀏覽動作請求或者UPnP搜索動作請求時,執(zhí)行所述UPnP 動作請求,將執(zhí)行得到的執(zhí)行結果進行封裝,生成HTML文件并發(fā)送。
6.根據權利要求4所述的方法,其特征在于,所述附加屬性為媒體類型、標題、存儲路 徑中的一種或多種。
7.一種媒體服務器,其特征在于,所述媒體服務器包括HTTP服務單元、適配單元以及 通用即插即用音視頻UPnPAV服務單元;其中,HTTP服務單元,用于對接收到的HTTP請求中的URL路徑進行分解,得到相對路徑,并返 回對所述HTTP請求的處理結果;適配單元,用于對所述相對路徑進行解析,將所述相對路徑轉換為其對應的UPnP動作 請求;并對接收到的執(zhí)行結果進行處理后發(fā)送給所述HTTP服務單元;UPnP AV服務單元,用于執(zhí)行所述UPnP動作請求,并將得到的執(zhí)行結果發(fā)送給所述適 配單元或者所述HTTP服務單元。
8.根據權利要求7所述的媒體服務器,其特征在于,所述適配單元還包括URL轉換模塊,用于當相對路徑為媒體對象ID和后綴名時,則將其轉換為UPnP獲取媒 體文件動作請求;當相對路徑為媒體對象ID時,則將其轉換為UPnP瀏覽動作請求;當相對 路徑為媒體對象ID和附加屬性時,則將其轉換為UPnP搜索動作請求。
9.根據權利要求8所述的媒體服務器,其特征在于,所述UPnPAV服務單元具體用于 當所述UPnP動作請求為UPnP獲取媒體文件動作請求時,則根據相對路徑的內容,通過查 詢預先存儲的索引表,找到所述媒體文件,將所述媒體文件的內容發(fā)送給所述HTTP服務單 元;當所述UPnP動作請求為UPnP瀏覽動作請求或者UPnP搜索動作請求時,則將得到的執(zhí) 行結果發(fā)送給所述適配單元。
10.根據權利要求7至9任一項所述的媒體服務器,其特征在于,所述適配單元還包括內容封裝模塊,用于將所述UPnP AV服務單元發(fā)送的執(zhí)行結果進行封裝,生成HTML文 件,并發(fā)送給所述HTTP服務單元。
全文摘要
本發(fā)明提供了一種媒體服務器及其提供服務的方法,所述方法包括對接收到的超文本傳輸協(xié)議HTTP請求中的統(tǒng)一資源定位符URL路徑進行分解,得到相對路徑;對所述相對路徑進行解析,將所述相對路徑轉換為其對應的通用即插即用UPnP動作請求;執(zhí)行所述UPnP動作請求,返回對所述HTTP請求的處理結果。本發(fā)明提供的媒體服務器通過適配單元將HTTP請求轉換為相應的UPnP動作請求,并返回媒體文件內容或將執(zhí)行UPnP動作請求的結果封裝成HTML文件進行返回,實現(xiàn)了UPnP AV架構中媒體服務器為支持HTTP的媒體播放設備提供服務的目的,擴大了媒體服務器的應用空間,更為方便地實現(xiàn)了媒體共享。
文檔編號H04L29/06GK101924758SQ201010242069
公開日2010年12月22日 申請日期2010年7月28日 優(yōu)先權日2010年7月28日
發(fā)明者程成林 申請人:中興通訊股份有限公司