一種資源管理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種資源管理方法及系統(tǒng),創(chuàng)建資源管理服務(wù),統(tǒng)計設(shè)備進行播放的所有硬件資源進行管理,在一個進程中同步對設(shè)備進行分配、釋放的管理,在硬件資源中被占用時首先釋放已經(jīng)被占用的硬件資源,再進行分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
【專利說明】一種資源管理方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種資源管理方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著音視頻設(shè)備的智能化發(fā)展,現(xiàn)在市場上面出現(xiàn)越來越多的智能系統(tǒng)的音視頻設(shè)備,例如安卓智能機頂盒、安卓智能電視等,這種智能音視頻設(shè)備不但支持原生安卓智能系統(tǒng)的本地播放(設(shè)備本身存儲的和網(wǎng)絡(luò)媒體的),還支持DVB(數(shù)字視頻廣播)實時流的播放。
[0003]由于DVB實時流的播放功能不是安卓智能系統(tǒng)原生支持,所以大部分安卓智能設(shè)備的系統(tǒng)是將DVB播放單獨作為一個服務(wù),運行在一個進程里面。而對于原生的本地播放功能則運行在另一個進程中。為了讓用戶得到好的觀看效果,目前DVB播放和本地播放的解碼都是采用硬解(硬件解碼)的方式,由設(shè)備的播放器申請所需的硬件資源進行DVB播放或者本地播放。
[0004]由于采用的是硬解方式,當(dāng)快速反復(fù)切換DVB播放與本地播放的時候,會出現(xiàn)本地或者DVB播放無法播放出來的情況,這是由于播放器等硬件資源的釋放需要時間,而兩個進程對資源的申請是異步的,這就會造成資源未釋放完成,又開始初始化,從而導(dǎo)致錯誤,無法播放。
【發(fā)明內(nèi)容】
[0005]有鑒于此,有必要針對上述快速反復(fù)切換DVB播放與本地播放,導(dǎo)致無法播放的問題,提供一種資源管理方法及系統(tǒng)。
[0006]本發(fā)明提供的一種資源管理方法,包括如下步驟:
[0007]SlO:構(gòu)建資源管理服務(wù),由資源管理服務(wù)統(tǒng)計當(dāng)前設(shè)備用于播放的所有硬件資源;
[0008]S20:在有DVB播放或者本地播放請求時,控制對應(yīng)的播放器向資源管理服務(wù)申請播放所需的硬件資源,由資源管理服務(wù)向播放器分配播放所需的硬件資源;
[0009]S30:在有新的播放器申請硬件資源時,判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則由資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源;
[0010]S40:判斷剩余的硬件資源中是否有足夠的硬件資源分配給新的播放器,如果沒有,則由資源管理服務(wù)釋放其他播放器已分配的硬件資源,再將釋放的硬件資源分配給新的播放器。
[0011]本發(fā)明提供的一種資源管理系統(tǒng),包括如下步驟:
[0012]服務(wù)構(gòu)建單元,構(gòu)建資源管理服務(wù),由資源管理服務(wù)統(tǒng)計當(dāng)前設(shè)備用于播放的所有硬件資源;
[0013]資源分配單元,在有DVB播放或者本地播放請求時,控制對應(yīng)的播放器向資源管理服務(wù)申請播放所需的硬件資源,由資源管理服務(wù)向播放器分配播放所需的硬件資源;
[0014]資源判斷單元,在有新的播放器申請硬件資源時,判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則由資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源;
[0015]資源釋放單元,判斷剩余的硬件資源中是否有足夠的硬件資源分配給新的播放器,如果沒有,則由資源管理服務(wù)釋放其他播放器已分配的硬件資源,再將釋放的硬件資源分配給新的播放器。
[0016]本發(fā)明資源管理方法及系統(tǒng),創(chuàng)建資源管理服務(wù),統(tǒng)計設(shè)備進行播放的所有硬件資源進行管理,在一個進程中同步對設(shè)備進行分配、釋放的管理,在硬件資源中被占用時首先釋放已經(jīng)被占用的硬件資源,再進行分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
【專利附圖】
【附圖說明】
[0017]圖1是一個實施例中的資源管理方法的流程圖;
[0018]圖2是一個實施例中的資源管理系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0019]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]圖1是一個實施例中的資源管理方法的流程圖。如圖1所示,該方法包括如下步驟:
[0021]SlO:構(gòu)建資源管理服務(wù),由資源管理服務(wù)統(tǒng)計當(dāng)前設(shè)備用于播放的所有硬件資源。
[0022]通常,一個設(shè)備會具備多種甚至多套用于DVB播放或者本地播放的硬件資源。該方法,在DVB播放或者本地播放啟動之前,首先構(gòu)建資源管理服務(wù)。資源管理服務(wù)用來統(tǒng)計當(dāng)前設(shè)備所具備的用于播放的所有硬件資源,例如有幾個播放器、幾個高頻頭、窗口資源以及解碼器等等,以便于對當(dāng)前設(shè)備用于播放的硬件資源進行了解,對硬件資源進行統(tǒng)一分配和管理。
[0023]在進一步的實施方式中,該步驟SlO在構(gòu)建資源管理服務(wù)之前還包括步驟:構(gòu)建DVB播放服務(wù)對象,用于初始化DVB播放所需的硬件資源。這樣在當(dāng)用戶進行DVB播放時就會很迅速,減少了資源初始化的時間,同時也不會影響本地播放的硬件資源初始化,而是同時初始化了本地播放資源,也提高了本地播放的速度。
[0024]更進一步的,資源管理服務(wù)將所有硬件資源狀態(tài)分別歸類存儲在一個資源管理對象之中。資源管理對象統(tǒng)計存儲所有硬件資源的使用狀態(tài)??臻e代表硬件資源可以使用,忙碌代表硬件資源已被分配占用。由于在最初始狀態(tài),所有硬件資源都未使用,故資源管理對象初始將所有硬件資源的使用狀態(tài)都設(shè)置為空閑。通過資源管理對象,后續(xù)就可以根據(jù)資源使用狀態(tài)對硬件資源進行分配或者釋放,實現(xiàn)硬件資源分配,DVB播放和本地播放兩者快速切換或者兩者混合播放。
[0025]S20:在有DVB播放或者本地播放請求時,控制對應(yīng)的播放器向資源管理服務(wù)申請播放所需的硬件資源,由資源管理服務(wù)向播放器分配播放所需的硬件資源。
[0026]當(dāng)用戶需要DVB播放或者本地播放時,會向設(shè)備發(fā)送DVB播放或者本地播放請求,在有請求時,DVB播放或者本地播放所對應(yīng)的播放器(DVB播放器或者本地媒體播放器)向資源管理服務(wù)申請播放所需要的高頻頭、解碼器以及窗口資源等硬件資源,資源管理服務(wù)在接收到申請后衛(wèi)播放器分配播放所需的硬件資源,從而使得播放器能夠進行DVB播放或者本地播放。
[0027]在進一步的實施方式中,資源管理服務(wù)將已向播放器分配的硬件資源使用狀況設(shè)置為忙碌。這樣就能夠?qū)σ约氨环峙涞馁Y源進行管理,對沒有被占用的資源進行更好的管理。
[0028]S30:在有新的播放器申請硬件資源時,判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則由資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源。
[0029]當(dāng)用戶開啟新的DVB播放或者本地播放,或者切換DVB播放和本地播放時,會有對應(yīng)的新的播放器申請硬件資源,新的播放器可能在之前已經(jīng)被分配過硬件資源,也可能沒有被分配過,需要判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則說明初始沒有分配過硬件資源,此時由資源管理服務(wù)根據(jù)硬件資源的使用狀態(tài),在剩余的沒有被分配的硬件資源中選擇硬件資源,分配給新的播放器。這樣就能夠首先充分利用沒有被分配的硬件資源,避免去釋放被占用的硬件資源,產(chǎn)生沖突。
[0030]S40:判斷剩余的硬件資源中是否有足夠的硬件資源分配給新的播放器,如果沒有,則由資源管理服務(wù)釋放其他播放器已分配的硬件資源,再將釋放的硬件資源分配給新的播放器。
[0031]資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源時,如果剩余的硬件資源中不能夠分配給新的播放器播放所需的全部硬件資源,這就需要去首先釋放已經(jīng)被分配的硬件資源,再將已經(jīng)被分配但是當(dāng)前不需要使用的硬件資源釋放出來,以分配給新的播放器。這樣通過資源管理服務(wù)對硬件資源統(tǒng)一管理,在同一進程中對硬件資源先進行釋放再分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
[0032]在進一步的實施方式中,該步驟S40中由資源管理服務(wù)釋放其他播放器已分配的硬件資源的步驟具體為:由資源管理服務(wù)釋放其他播放器的部分硬件資源,或者找尋與新播放器類型相同的播放器,將類型相同的播放器的全部硬件資源分配給新的播放器,這樣用同一類型的播放器的硬件資源直接進行分配,能夠快速的為新的播放器分配所有的資源。
[0033]該資源管理方法,創(chuàng)建資源管理服務(wù),統(tǒng)計設(shè)備進行播放的所有硬件資源進行管理,在一個進程中同步對設(shè)備進行分配、釋放的管理,在硬件資源中被占用時首先釋放已經(jīng)被占用的硬件資源,再進行分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
[0034]同時,本發(fā)明還提供一種資源管理系統(tǒng)。如圖2所示,包括:
[0035]服務(wù)構(gòu)建單元100,構(gòu)建資源管理服務(wù),由資源管理服務(wù)統(tǒng)計當(dāng)前設(shè)備用于播放的所有硬件資源。
[0036]通常,一個設(shè)備會具備多種甚至多套用于DVB播放或者本地播放的硬件資源。該系統(tǒng),在DVB播放或者本地播放啟動之前,服務(wù)構(gòu)建單元100首先構(gòu)建資源管理服務(wù)。資源管理服務(wù)用來統(tǒng)計當(dāng)前設(shè)備所具備的用于播放的所有硬件資源,例如有幾個播放器、幾個高頻頭、窗口資源以及解碼器等等,以便于對當(dāng)前設(shè)備用于播放的硬件資源進行了解,對硬件資源進行統(tǒng)一分配和管理。
[0037]在進一步的實施方式中,服務(wù)構(gòu)建單元100還構(gòu)建DVB播放服務(wù)對象,用于初始化DVB播放所需的硬件資源。這樣在當(dāng)用戶進行DVB播放時就會很迅速,減少了資源初始化的時間,同時也不會影響本地播放的硬件資源初始化,而是同時初始化了本地播放資源,也提高了本地播放的速度。
[0038]更進一步的,資源管理服務(wù)將所有硬件資源狀態(tài)分別歸類存儲在一個資源管理對象之中,資源管理對象統(tǒng)計存儲所有硬件資源的使用狀態(tài)??臻e代表硬件資源可以使用,忙碌代表硬件資源已被分配占用。由于在最初始狀態(tài),所有硬件資源都未使用,故資源管理對象初始將所有硬件資源的使用狀態(tài)都設(shè)置為空閑。通過資源管理對象,后續(xù)就可以根據(jù)資源使用狀態(tài)對硬件資源進行分配或者釋放,實現(xiàn)硬件資源分配,DVB播放和本地播放兩者快速切換或者兩者混合播放。
[0039]資源分配單元200,在有DVB播放或者本地播放請求時,控制對應(yīng)的播放器向資源管理服務(wù)申請播放所需的硬件資源,由資源管理服務(wù)向播放器分配播放所需的硬件資源。
[0040]當(dāng)用戶需要DVB播放或者本地播放時,會向設(shè)備發(fā)送DVB播放或者本地播放請求,在有請求時,資源分配單元200控制DVB播放或者本地播放所對應(yīng)的播放器(DVB播放器或者本地媒體播放器)向資源管理服務(wù)申請播放所需要的高頻頭、解碼器以及窗口資源等硬件資源,資源管理服務(wù)在接收到申請后衛(wèi)播放器分配播放所需的硬件資源,從而使得播放器能夠進行DVB播放或者本地播放。
[0041]在進一步的實施方式中,資源管理服務(wù)將已向播放器分配的硬件資源使用狀況設(shè)置為忙碌。這樣就能夠?qū)σ约氨环峙涞馁Y源進行管理,對沒有被占用的資源進行更好的管理。
[0042]資源判斷單元300,在有新的播放器申請硬件資源時,判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則由資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源。
[0043]當(dāng)用戶開啟新的DVB播放或者本地播放,或者切換DVB播放和本地播放時,會有對應(yīng)的新的播放器申請硬件資源,新的播放器可能在之前已經(jīng)被分配過硬件資源,也可能沒有被分配過,資源判斷單元300需要判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則說明初始沒有分配過硬件資源,此時由資源管理服務(wù)根據(jù)硬件資源的使用狀態(tài),在剩余的沒有被分配的硬件資源中選擇硬件資源,分配給新的播放器。這樣就能夠首先充分利用沒有被分配的硬件資源,避免去釋放被占用的硬件資源,產(chǎn)生沖突。
[0044]資源釋放單元400,判斷剩余的硬件資源中是否有足夠的硬件資源分配給新的播放器,如果沒有,則由資源管理服務(wù)釋放其他播放器已分配的硬件資源,再將釋放的硬件資源分配給新的播放器。
[0045]資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源時,如果剩余的硬件資源中不能夠分配給新的播放器播放所需的全部硬件資源,資源釋放單元400就需要去首先釋放已經(jīng)被分配的硬件資源,再將已經(jīng)被分配但是當(dāng)前不需要使用的硬件資源釋放出來,以分配給新的播放器。這樣通過資源管理服務(wù)對硬件資源統(tǒng)一管理,在同一進程中對硬件資源先進行釋放再分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
[0046]在進一步的實施方式中,由資源管理服務(wù)釋放其他播放器的部分硬件資源,或者找尋與新播放器類型相同的播放器,將類型相同的播放器的全部硬件資源分配給新的播放器,這樣用同一類型的播放器的硬件資源直接進行分配,能夠快速的為新的播放器分配所有的資源。
[0047]該資源管理系統(tǒng),創(chuàng)建資源管理服務(wù),統(tǒng)計設(shè)備進行播放的所有硬件資源進行管理,在一個進程中同步對設(shè)備進行分配、釋放的管理,在硬件資源中被占用時首先釋放已經(jīng)被占用的硬件資源,再進行分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
[0048]本發(fā)明資源管理方法及系統(tǒng),創(chuàng)建資源管理服務(wù),統(tǒng)計設(shè)備進行播放的所有硬件資源進行管理,在一個進程中同步對設(shè)備進行分配、釋放的管理,在硬件資源中被占用時首先釋放已經(jīng)被占用的硬件資源,再進行分配,不會產(chǎn)生沖突,從而避免兩個進程對硬件資源異步申請,造成資源未釋放完成又開始初始化導(dǎo)致錯誤,無法播放的問題,保障用戶正常使用。
[0049]以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種資源管理方法,其特征在于,包括如下步驟: SlO:構(gòu)建資源管理服務(wù),由資源管理服務(wù)統(tǒng)計當(dāng)前設(shè)備用于播放的所有硬件資源; S20:在有DVB播放或者本地播放請求時,控制對應(yīng)的播放器向資源管理服務(wù)申請播放所需的硬件資源,由資源管理服務(wù)向播放器分配播放所需的硬件資源; S30:在有新的播放器申請硬件資源時,判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則由資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源; S40:判斷剩余的硬件資源中是否有足夠的硬件資源分配給新的播放器,如果沒有,則由資源管理服務(wù)釋放其他播放器已分配的硬件資源,再將釋放的硬件資源分配給新的播放器。
2.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,所述步驟SlO還包括:構(gòu)建DVB播放服務(wù)對象,用于初始化DVB播放所需的硬件資源。
3.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,所述資源管理服務(wù)將所有硬件資源狀態(tài)分別歸類存儲在一個資源管理對象之中,所述資源管理對象統(tǒng)計存儲所有硬件資源的使用狀態(tài)。
4.根據(jù)權(quán)利要求3所述的資源管理方法,其特征在于,所述資源管理服務(wù)將已向播放器分配的硬件資源使用狀況設(shè)置為忙碌。
5.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,所述步驟S40具體為:由資源管理服務(wù)釋放其他播放器的部分硬件資源,或者找尋與新播放器類型相同的播放器,將類型相同的播放器的全部硬件資源分配給新的播放器。
6.一種資源管理系統(tǒng),其特征在于,包括如下步驟: 服務(wù)構(gòu)建單元,構(gòu)建資源管理服務(wù),由資源管理服務(wù)統(tǒng)計當(dāng)前設(shè)備用于播放的所有硬件資源; 資源分配單元,在有DVB播放或者本地播放請求時,控制對應(yīng)的播放器向資源管理服務(wù)申請播放所需的硬件資源,由資源管理服務(wù)向播放器分配播放所需的硬件資源; 資源判斷單元,在有新的播放器申請硬件資源時,判斷新的播放器是否具有播放所需的全部硬件資源,如果不具備則由資源管理服務(wù)在剩余沒有被分配的硬件資源中分配硬件資源; 資源釋放單元,判斷剩余的硬件資源中是否有足夠的硬件資源分配給新的播放器,如果沒有,則由資源管理服務(wù)釋放其他播放器已分配的硬件資源,再將釋放的硬件資源分配給新的播放器。
7.根據(jù)權(quán)利要求6所述的資源管理系統(tǒng),其特征在于,所述服務(wù)構(gòu)建單元構(gòu)建DVB播放服務(wù)對象,用于初始化DVB播放所需的硬件資源。
8.根據(jù)權(quán)利要求6所述的資源管理系統(tǒng),其特征在于,所述資源管理服務(wù)將所有硬件資源狀態(tài)分別歸類存儲在一個資源管理對象之中,所述資源管理對象統(tǒng)計存儲所有硬件資源的使用狀態(tài)。
9.根據(jù)權(quán)利要求8所述的資源管理系統(tǒng),其特征在于,所述資源管理服務(wù)將已向播放器分配的硬件資源使用狀況設(shè)置為忙碌。
10.根據(jù)權(quán)利要求6所述的資源管理系統(tǒng),其特征在于,由資源管理服務(wù)釋放其他播放器的部分硬件資源,或者找尋與新播放器類型相同的播放器,將類型相同的播放器的全部硬件資源分配給新的播放器。
【文檔編號】G06F9/50GK104239151SQ201410478765
【公開日】2014年12月24日 申請日期:2014年9月18日 優(yōu)先權(quán)日:2014年9月18日
【發(fā)明者】鄧鵬
申請人:深圳市九洲電器有限公司