本發(fā)明涉及實時直播流技術,尤其涉及一種實時流管理技術。
背景技術:
目前,實時直播流技術中還沒有根據(jù)用戶需求自動更新系統(tǒng)的方法。因此,程序員僅僅依賴客戶一開始提出的需求進行開發(fā)。而在系統(tǒng)開發(fā)過程中,當用戶更改需求時,又要編寫大量文檔,花費大量人力物力。并且,在實踐中要想預先獲得完善的需求說明是非常困難的,反饋信息也慢,因而經(jīng)常造成系統(tǒng)的交付時間延遲,因此,不能很好地適應用戶需求的變化。
本領域迫切需要一款能克服上述缺陷的實時流管理技術。
技術實現(xiàn)要素:
本發(fā)明之目的是提供一種實時流連接生命周期管理方法,其能夠實現(xiàn)多層次偵聽和多粒度的控制,通過相應偵聽器對相應周期的響應自動調用更新代碼以更新相應的需求,以無需預先定義需求或凍結用戶的需求,無需編寫需求文檔或更新需求文檔,從而能夠很好地適應用戶需求的變化。
本發(fā)明提供一種實時流連接生命周期管理方法,用于實時提交用戶需求以自動修改直播流,包括:
步驟1:服務器啟動時,服務器偵聽器開始監(jiān)聽服務器的事件并響應,并且,每當服務器的周期改變時,服務器偵聽器均通知用戶變更需求對應的代碼并運行以修改直播流;
步驟2:虛擬主機啟動時,虛擬主機偵聽器監(jiān)聽虛擬主機的事件并響應,并且,每當虛擬主機的周期改變時,虛擬主機偵聽器均通知用戶變更需求對應的代碼并運行以修改直播流;
步驟3:直播流啟動時,直播流偵聽器監(jiān)聽直播流的事件并響應,并且,每當直播流的周期改變時,直播流偵聽器均通知用戶變更需求對應的代碼并運行以修改直播流。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,服務器偵聽器監(jiān)聽服務器的事件包括:
服務器偵聽器通過服務器端口監(jiān)聽服務器的動作事件,以及接收用戶對服務器配置的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,虛擬主機偵聽器監(jiān)聽虛擬主機的事件包括:
虛擬主機偵聽器通過服務器端口監(jiān)聽設置于服務器上的虛擬主機的動作,以及接收用戶對虛擬主機配置的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,直播流偵聽器監(jiān)聽直播流的事件包括:
直播流偵聽器通過服務器端口或虛擬主機端口監(jiān)聽設置于虛擬主機上的直播流,以及接收用戶對直播流的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,直播流偵聽器包括流媒體偵聽器和流媒體動作偵聽器,
流媒體偵聽器通過服務器端口監(jiān)聽設置于服務器上的虛擬主機建立的直播流的創(chuàng)建和銷毀的事件,以及接收用戶對直播流配置的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
流媒體動作偵聽器通過服務器端口監(jiān)聽設置于服務器上的虛擬主機建立的直播流的動作的事件,以及接收用戶對直播流的編碼、解碼、改變碼率、改變幀率、動態(tài)靜態(tài)添加圖片信息的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,步驟1包括:
服務器加載配置,以及服務器偵聽器監(jiān)聽服務器加載配置并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器創(chuàng)建和分配資源,以及服務器偵聽器監(jiān)聽服務器加載配置并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器對資源初始化,以及服務器偵聽器監(jiān)聽服務器的資源初始化并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器開始關閉,以及服務器偵聽器監(jiān)聽服務器開始關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器關閉完成,以及服務器偵聽器監(jiān)聽服務器關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,步驟2包括:
虛擬主機創(chuàng)建和分配資源,以及虛擬主機偵聽器監(jiān)聽虛擬主機加載配置并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
虛擬主機對資源初始化,以及虛擬主機偵聽器監(jiān)聽虛擬主機的資源初始化并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
虛擬主機開始關閉,以及虛擬主機偵聽器監(jiān)聽虛擬主機開始關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
虛擬主機關閉完成,以及虛擬主機偵聽器監(jiān)聽虛擬主機關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,步驟3包括:
直播流創(chuàng)建,以及流媒體偵聽器監(jiān)聽直播流創(chuàng)建并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流銷毀,以及流媒體偵聽器監(jiān)聽直播流銷毀并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,其中,步驟3包括:
直播流元數(shù)據(jù)加載,以及流媒體動作偵聽器監(jiān)聽直播流元數(shù)據(jù)加載并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流播放,以及流媒體動作偵聽器監(jiān)聽直播流播放并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流發(fā)布,以及偵聽器監(jiān)聽直播流發(fā)布并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流編解碼視頻,以及流媒體動作偵聽器監(jiān)聽直播流編解碼視頻并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流編解碼音頻,以及流媒體動作偵聽器監(jiān)聽直播流編解碼音頻并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流取消分布,以及流媒體動作偵聽器監(jiān)聽直播流取消分布并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流暫停,以及流媒體動作偵聽器監(jiān)聽直播流暫停并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流停止,以及流媒體動作偵聽器監(jiān)聽直播流停止并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
作為優(yōu)選方式,本發(fā)明提供一種實時流連接生命周期管理方法,還包括:
在步驟1之前在配置文件中配置服務器偵聽器、虛擬主機偵聽器和直播流偵聽器。
本發(fā)明提供的一種實時流連接生命周期管理方法能夠實現(xiàn)多層次偵聽(服務器級別偵聽、虛擬主機級別偵聽和直播流級別偵聽)和多粒度的控制(服務器級別響應調用、虛擬主機級別響應調用和直播流級別響應調用)。本發(fā)明通過相應偵聽器對相應周期的響應自動調用更新代碼以更新相應的需求,因而無需預先定義需求或凍結用戶的需求,無需編寫需求文檔或更新需求文檔,節(jié)省人力物力,大大降低了項目開發(fā)的時間。另外,同一生命周期事件可以被多個偵聽器監(jiān)聽,因而能夠實時反饋多個用戶需求,有效防止交付延遲,能很好地適應用戶需求的變化。
附圖說明
下面將簡要說明本申請所使用的附圖,顯而易見地,這些附圖僅用于解釋本發(fā)明的構思。
圖1為本發(fā)明的步驟流程圖;
圖2為本發(fā)明服務器的生命周期的示意框圖;
圖3為本發(fā)明虛擬主機的生命周期的示意框圖;
圖4為本發(fā)明直播流初始化的生命周期的示意框圖;
圖5為本發(fā)明直播流動作調用的生命周期的示意框圖;
圖6為本發(fā)明的結構示意框圖。
附圖標記匯總:
1、服務器2、虛擬主機3、直播流
4、服務器偵聽器5、虛擬主機偵聽器6、直播流偵聽器
具體實施方式
在下文中,將參照附圖描述本發(fā)明的實時流連接生命周期管理方法的實施例。
在此記載的實施例為本發(fā)明的特定的具體實施方式,用于說明本發(fā)明的構思,均是解釋性和示例性的,不應解釋為對本發(fā)明實施方式及本發(fā)明范圍的限制。除在此記載的實施例外,本領域技術人員還能夠基于本申請權利要求書和說明書所公開的內(nèi)容采用顯而易見的其它技術方案,這些技術方案包括對在此記載的實施例做出任何顯而易見的替換和修改的技術方案。
本說明書的附圖為示意圖,輔助說明本發(fā)明的構思,示意性地表示各部分的相互關系。相同或相似的參考標記用于表示相同或相似的部分。
參見圖1,本發(fā)明提出的一種實時流連接生命周期管理方法,用于實時提交用戶需求以自動修改直播流3,包括:
步驟1:s1服務器1啟動時,服務器偵聽器4開始監(jiān)聽服務器1的事件并響應,并且,每當服務器1的周期改變時,服務器偵聽器4均通知用戶變更需求對應的代碼并運行以修改直播流3;
步驟2:s2虛擬主機2啟動時,虛擬主機偵聽器5監(jiān)聽虛擬主機2的事件并響應,并且,每當虛擬主機2的周期改變時,虛擬主機偵聽器5均通知用戶變更需求對應的代碼并運行以修改直播流3;
步驟3:s3直播流3啟動時,直播流偵聽器6監(jiān)聽直播流3的事件并響應,并且,每當直播流3的周期改變時,直播流偵聽器6均通知用戶變更需求對應的代碼并運行以修改直播流3。
在本實施例中,實時流連接生命周期管理方法能夠為視頻流建立集成的數(shù)據(jù)環(huán)境,實現(xiàn)數(shù)據(jù)的一致性管理。事件偵聽器(服務器偵聽器4、虛擬主機偵聽器5和直播流偵聽器6)在整個視頻流連接的生命周期里扮演著非常重要的角色。事件偵聽器捕獲事件進而可以擴展服務器1的功能。服務器偵聽器4(iservernotify2)和虛擬主機偵聽器5(ivhostnotify)可以在配置文件中配置。服務器1或虛擬主機2觸發(fā)事件時,服務器偵聽器4、虛擬主機偵聽器5能夠自動分別監(jiān)聽相應事件。直播流偵聽器6用戶可以通過虛擬主機2的api接口調用。服務器偵聽器4由服務器1來通知,在服務器1運行時可以很方便的擴展一些新的功能,其中,新的功能包括:數(shù)據(jù)庫配置;直播視頻流開始或者結束時運行自定義的代碼;必須在服務器1啟動或關閉時運行的自定義代碼;第三方服務,如web服務或自定義的http接口。
虛擬主機2在服務器1內(nèi)運行,一個服務器1上可以同時運行一個或多個虛擬主機2;一個虛擬主機2可以設置和運行一個或多個直播流偵聽器6;一個直播流3(流媒體)可以對應一個或多個直播流偵聽器6。配置文件可以存儲在服務器1上,例如xml文件,其文件的格式根據(jù)用戶需求預先設置好。服務器1、虛擬主機2、直播流3或是偵聽器加載相對應的配置文件運行。因此,可以通過用戶實時變更配置文件或運行相應代碼設置新需求覆蓋舊需求以實現(xiàn)實時配置變更。
整體工作步驟如下:
首先,進行服務器1數(shù)據(jù)庫的配置管理。其次,在服務器1配置完畢后運行預先安裝好的虛擬主機2。然后,在虛擬主機2上運行直播視頻流創(chuàng)建或者銷毀時自定義的代碼。之后,運行必須在服務器1啟動或關閉時運行的自定義代碼,以及運行第三方服務(如web服務或自定義的http接口)最后,運行必須在視頻流播放、停止、發(fā)布、編解碼及元數(shù)據(jù)修改時的自定義代碼,其中,元數(shù)據(jù)就是流媒體的一些參數(shù),比如碼率、幀率、視頻音頻編碼格式(h264、aacld等)。
可以通過java實現(xiàn)本發(fā)明的實時流連接生命周期管理方法:
服務器1數(shù)據(jù)庫配置管理的步驟如下:首先,安裝mysqljdbcconnector。其次,將其中的mysql-connector-java-5.1.8-bin.jar放入服務器1目錄。然后,創(chuàng)建配置相關的數(shù)據(jù)庫表。最后,設置配置管理數(shù)據(jù)庫連接字符串,比如數(shù)據(jù)庫名、數(shù)據(jù)庫賬號等。
服務器偵聽器4、虛擬主機偵聽器5和直播流偵聽器6可以通過java偵聽器模式實現(xiàn),即java事件源經(jīng)過事件的封裝傳給偵聽器,當事件源觸發(fā)事件后,偵聽器接收到事件對象可以回調事件的方法。
事件被觸發(fā)時,為每個偵聽器的聽眾在配置文件中添加的順序調用偵聽器方法,例如根據(jù)服務器1及虛擬主機2xml配置文件定義的順序運行各個偵聽器。服務器偵聽器4、虛擬主機偵聽器5和直播服務器1的運行順序均預設在配置文件中。當一個新的偵聽器接口版本發(fā)布添加新功能時,新版本具有分配編號和原始版本保留向后兼容性(新版接口版本號例如版本1.0、版本2.0,其中,版本1.0和版本2.0都可以運行,并且同時存在,只是優(yōu)先運行新版本)。
服務器偵聽器4(iservernotify2)能夠在服務器1的生命周期發(fā)生改變時通知用戶調用相應代碼或是更新數(shù)據(jù)。服務器1的生命周期參見圖2。這樣在服務器1的生命周期改變時能夠根據(jù)用戶的需求直接在程序中加入修改需求對應的相應代碼,從而免除了程序員二次發(fā)布程序的麻煩。
虛擬主機偵聽器5(ivhostnotify)在虛擬主機2的生命周期發(fā)生改變時通知用戶調用相應代碼或是更新數(shù)據(jù)。虛擬主機2的生命周期參見圖3。這樣在虛擬主機2的生命周期改變時能夠根據(jù)用戶的需求直接在程序中加入修改需求對應的相應代碼,從而免除了程序員二次發(fā)布程序的麻煩。
直播流偵聽器6能夠在直播流3的生命周期發(fā)生改變時通知用戶調用相應代碼或是更新數(shù)據(jù)。直播流3初始化的生命周期參見圖4。直播流3動作調用的生命周期參見圖5。這樣在直播流3的生命周期改變時能夠根據(jù)用戶的需求直接在程序中加入修改需求對應的相應代碼,從而免除了程序員二次發(fā)布程序的麻煩。
當啟動服務器1后,在服務器1配置加載、創(chuàng)建服務器1資源、初始化服務器1、開始關閉服務器1和關閉服務器1完成時分別調用虛擬主機偵聽器5。服務器偵聽器4可以檢測服務器1是否配置加載完畢,是否創(chuàng)建服務器1資源完畢,是否初始化服務器1完畢,是否開始關閉服務器1,是否關閉服務器1完成。服務器偵聽器4還可以根據(jù)服務器1運行的狀態(tài)(周期)來調用程序更新包或是用戶自定義代碼。例如服務器1通過服務器1配置加載方法加載配置,通過服務器1創(chuàng)建方法創(chuàng)建服務器1資源,通過服務器1初始化方法初始化服務器1,通過關閉服務器1方法使得服務器1開始關閉和關閉完成,其中,創(chuàng)建服務器1和初始化服務器1的參數(shù)預先設置在配置文件中。在服務器1配置加載時,自動加載配置文件。當虛擬主機2調用創(chuàng)建主機和初始化主機的方法時,分別加載配置文件。服務器偵聽器4偵聽服務器1加載配置文件的過程,根據(jù)相應的數(shù)值判斷服務器1是否在相應的周期,并調用用戶的需求。每個用戶作為一個聽眾,通過一個或多個服務器偵聽器4偵聽服務器1周期的變化。可以設置一個服務器1總偵聽消息模塊,統(tǒng)一接收所有的服務器1偵聽信息,并且,將所有服務器1偵聽信息統(tǒng)一轉發(fā)給所有聽眾。服務器1總偵聽消息模塊連接所有服務器偵聽器4,并且,自動接收所有服務器偵聽器4接收的消息并按照預設的用戶目的地轉發(fā)相應的數(shù)據(jù)。這樣當服務器1的周期發(fā)生變化時,用戶能夠接收到服務器1變化的通知,并且提交自己的新需求對應的新代碼到系統(tǒng)中,讓新代碼覆蓋舊代碼實現(xiàn)需求變更。
當啟動服務器1上的虛擬主機2后,在虛擬主機2創(chuàng)建和配置資源時分別調用虛擬主機偵聽器5。虛擬主機偵聽器5可以檢測虛擬主機2是否創(chuàng)建,以及是否已經(jīng)配置資源完畢。虛擬主機偵聽器5還可以根據(jù)虛擬主機2運行的狀態(tài)(周期)來調用程序更新包或是用戶自定義代碼。例如虛擬主機2通過虛擬主機2創(chuàng)建方法(onvhostcreate)創(chuàng)建主機,通過虛擬主機2初始化方法(onvhostinit)初始化主機,其中,創(chuàng)建主機和初始化主機的參數(shù)預先設置在配置文件中。當虛擬主機2調用創(chuàng)建主機和初始化主機的方法時,分別加載配置文件。虛擬主機偵聽器5偵聽虛擬主機2加載配置文件的過程,根據(jù)相應的數(shù)值判斷虛擬主機2是否在相應的周期,并調用用戶的需求。當調用創(chuàng)建主機和初始化主機的方法時,虛擬主機2不能接受訪問連接請求。因此,虛擬主機2啟動后做的配置應該單獨設置一個初始化方法(onserverinit)來實現(xiàn)。每個用戶作為一個聽眾,通過一個或多個虛擬主機偵聽器5偵聽虛擬主機2周期的變化??梢栽O置一個虛擬主機2總偵聽消息模塊,統(tǒng)一接收所有的虛擬主機2偵聽信息,并且,將所有虛擬主機2偵聽信息統(tǒng)一轉發(fā)給所有聽眾。虛擬主機2總偵聽消息模塊連接所有虛擬主機偵聽器5,并且,自動接收所有虛擬主機偵聽器5接收的消息并按照預設的用戶目的地轉發(fā)相應的數(shù)據(jù)。這樣,當虛擬主機2的周期發(fā)生變化時,用戶能夠接收到虛擬主機2變化的通知,并且提交自己的新需求對應的新代碼到系統(tǒng)中,讓新代碼覆蓋舊代碼實現(xiàn)需求變更。
當開始運行虛擬主機2上的直播流3后,在直播流3創(chuàng)建、直播流3動作和直播流3銷毀時分別調用直播流偵聽器6。直播流偵聽器6可以檢測到是否創(chuàng)建了直播流3,直播流3是否調用了相應的動作(例如加載、播放、編解碼、暫停、停止、發(fā)布、取消發(fā)布等),是否銷毀了直播流3。直播流偵聽器6還可以根據(jù)直播流3運行的狀態(tài)(周期)來調用程序更新包或是用戶自定義代碼。例如直播流3通過通過直播流3創(chuàng)建方法創(chuàng)建直播流3,直播流3動作調用方法調用相應動作,通過直播流3銷毀方法銷毀直播流3,其中,創(chuàng)建直播流3時使用的參數(shù)預先設置在配置文件中。在直播流3創(chuàng)建時,自動加載配置文件。當直播流3調用創(chuàng)建直播流3、直播流3動作和直播流3銷毀的方法時,分別加載配置文件。直播流偵聽器6偵聽直播流3加載配置文件和運行動作的過程,根據(jù)相應的初始化數(shù)值和動作參數(shù)判斷直播流3是否在相應的周期,并調用用戶的需求。每個用戶作為一個聽眾,通過一個或多個直播流偵聽器6偵聽直播流3周期的變化??梢栽O置一個直播流3總偵聽消息模塊,統(tǒng)一接收所有的直播流3偵聽信息,并且,將所有直播流3偵聽信息統(tǒng)一轉發(fā)給所有聽眾。直播流3總偵聽消息模塊連接所有直播流偵聽器6,并且,自動接收所有直播流偵聽器6接收的消息并按照預設的用戶目的地轉發(fā)相應的數(shù)據(jù)。這樣,當直播流3的周期發(fā)生變化時,用戶能夠接收到直播流3變化的通知,并且提交自己的新需求對應的新代碼到系統(tǒng)中,讓新代碼覆蓋舊代碼實現(xiàn)需求變更。
可以設置一個總偵聽消息模塊,統(tǒng)一接收所有的偵聽信息,并且,將所有偵聽信息統(tǒng)一轉發(fā)給所有聽眾??倐陕犗⒛K連接所有偵聽器,并且,自動接收所有偵聽器接收的消息并按照預設的用戶目的地轉發(fā)相應的數(shù)據(jù)。這樣,當服務器1、虛擬主機2或是直播流3的周期發(fā)生變化時,用戶能夠接收到服務器1、虛擬主機2和直播流3變化的通知,并且提交自己的新需求對應的新代碼到系統(tǒng)中,讓新代碼覆蓋舊代碼實現(xiàn)需求變更。
在服務器1上配置好系統(tǒng),例如windows或是linux系統(tǒng)等。在配置好的系統(tǒng)上設置虛擬主機2。系統(tǒng)內(nèi)設置有服務器偵聽器4、虛擬主機偵聽器5和直播流偵聽器6。服務器偵聽器4可以設置在服務器1上,連接服務器1的底層接口,能夠接收服務器1輸出的數(shù)據(jù),并且,能夠在服務器1的周期的狀態(tài)變化時靈活的針對直播視頻流進行編輯,比如編碼、解碼、改變碼率、改變幀率、動態(tài)靜態(tài)添加圖片等。虛擬主機偵聽器5可以設置在服務器1上,連接虛擬主機2的底層接口,能夠接收虛擬主機2輸出的數(shù)據(jù),并且,能夠在虛擬主機2的周期的狀態(tài)變化時靈活的針對直播視頻流進行編輯,比如編碼、解碼、改變碼率、改變幀率、動態(tài)靜態(tài)添加圖片等。直播流偵聽器6可以設置在虛擬主機2上,通過虛擬主機2的底層接口來接收直播流3的相關數(shù)據(jù)。直播流偵聽器6能夠在虛擬主機2的周期的狀態(tài)變化時靈活的針對直播視頻流進行編輯,比如編碼、解碼、改變碼率、改變幀率、動態(tài)靜態(tài)添加圖片等。
這樣,通過服務器偵聽器4、虛擬主機偵聽器5和直播流偵聽器6可以實現(xiàn)多層次偵聽(服務器1級別偵聽、虛擬主機2級別偵聽和直播流3級別偵聽)和多粒度的控制(服務器1級別響應調用、虛擬主機2級別響應調用和直播流3級別響應調用)。本發(fā)明通過相應偵聽器對相應周期的響應自動調用更新代碼以更新相應的需求,因而無需預先定義需求或凍結用戶的需求,無需編寫需求文檔或更新需求文檔,節(jié)省人力物力,大大降低了項目開發(fā)的時間。另外,同一生命周期事件可以被多個偵聽器監(jiān)聽,因而能夠實時反饋多個用戶需求,有效防止交付延遲,能很好地適應用戶需求的變化。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,服務器偵聽器4監(jiān)聽服務器1的事件包括:
服務器偵聽器4通過服務器1端口監(jiān)聽服務器1的動作事件,以及接收用戶對服務器1配置的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
在本實施例中,直播流3的每種操作都對應一個模塊(例如播放模塊、暫停模塊、關閉模塊等),每一個模塊都觸發(fā)一個動作事件,直播流偵聽器6可以偵聽到相應的動作事件并相應,以及根據(jù)用戶提交的需求,自動變更需求。這樣監(jiān)聽并行模塊的偵聽器可以并行運行并且同時向用戶發(fā)布消息或通知,防止消息和通知延遲。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,虛擬主機偵聽器5監(jiān)聽虛擬主機2的事件包括:
虛擬主機偵聽器5通過服務器1端口監(jiān)聽設置于服務器1上的虛擬主機2的動作,以及接收用戶對虛擬主機2配置的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,直播流偵聽器6監(jiān)聽直播流3的事件包括:
直播流偵聽器6通過服務器1端口或虛擬主機2端口監(jiān)聽設置于虛擬主機2上的直播流3,以及接收用戶對直播流3的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,直播流偵聽器6包括流媒體偵聽器和流媒體動作偵聽器,
流媒體偵聽器(imediastreamnotify)通過服務器1端口監(jiān)聽設置于服務器1上的虛擬主機2建立的直播流3的創(chuàng)建和銷毀的事件,以及接收用戶對直播流3配置的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
流媒體動作偵聽器通過服務器1端口監(jiān)聽設置于服務器1上的虛擬主機2建立的直播流3的動作的事件,以及接收用戶對直播流3的編碼、解碼、改變碼率、改變幀率、動態(tài)靜態(tài)添加圖片信息的需求信息并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
這樣分別通過流媒體偵聽器和流媒體動作偵聽器監(jiān)聽直播流3周期的變化,監(jiān)聽效率高,延遲低。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,步驟1包括:
服務器1加載配置,以及服務器偵聽器4監(jiān)聽服務器1加載配置并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器1創(chuàng)建和分配資源,以及服務器偵聽器4監(jiān)聽服務器1加載配置并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器1對資源初始化,以及服務器偵聽器4監(jiān)聽服務器1的資源初始化并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器1開始關閉,以及服務器偵聽器4監(jiān)聽服務器1開始關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
服務器1關閉完成,以及服務器偵聽器4監(jiān)聽服務器1關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,步驟2包括:
虛擬主機2創(chuàng)建和分配資源,以及虛擬主機偵聽器5監(jiān)聽虛擬主機2加載配置并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
虛擬主機2對資源初始化,以及虛擬主機偵聽器5監(jiān)聽虛擬主機2的資源初始化并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
虛擬主機2開始關閉,以及虛擬主機偵聽器5監(jiān)聽虛擬主機2開始關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
虛擬主機2關閉完成,以及虛擬主機偵聽器5監(jiān)聽虛擬主機2關閉并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,步驟3包括:
直播流3創(chuàng)建,以及流媒體偵聽器監(jiān)聽直播流3創(chuàng)建并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3銷毀,以及流媒體偵聽器監(jiān)聽直播流3銷毀并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,其中,步驟3包括:
直播流3元數(shù)據(jù)加載,以及流媒體動作偵聽器監(jiān)聽直播流3元數(shù)據(jù)加載并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3播放,以及流媒體動作偵聽器監(jiān)聽直播流3播放并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3發(fā)布,以及偵聽器監(jiān)聽直播流3發(fā)布并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3編解碼視頻,以及流媒體動作偵聽器監(jiān)聽直播流3編解碼視頻并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3編解碼音頻,以及流媒體動作偵聽器監(jiān)聽直播流3編解碼音頻并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3取消分布,以及流媒體動作偵聽器監(jiān)聽直播流3取消分布并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3暫停,以及流媒體動作偵聽器監(jiān)聽直播流3暫停并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求;
直播流3停止,以及流媒體動作偵聽器監(jiān)聽直播流3停止并響應,通過實時加載用戶變更需求對應的代碼實時運行,以實現(xiàn)實時變更需求。
在本實施例中,直播流3的運行事件分別對應一個單獨的模塊,所有模塊均并行運行,并且,所有流媒體動作偵聽器也并行運行。不管直播流3運行事件的順序如何(直播流3元數(shù)據(jù)加載、直播流3播放、直播流3發(fā)布、直播流3編解碼視頻、直播流3編解碼音頻、直播流3取消分布、直播流3暫停、直播流3停止可以為任意運行順序,不分先后,不僅限于本實施例),流媒體動作偵聽器都能同時發(fā)布消息和通知給用戶。
本實施例進一步優(yōu)選地,提供了一種實時流連接生命周期管理方法,還包括:
在步驟1之前在配置文件中配置服務器偵聽器4、虛擬主機偵聽器5和直播流偵聽器6。
以上對本發(fā)明的實時流連接生命周期管理方法進行了說明。對于本發(fā)明的實時流連接生命周期管理方法涉及的裝置的具體特征可以根據(jù)本發(fā)明披露的特征的作用進行具體設計,這些設計均是本領域技術人員能夠實現(xiàn)的。而且,本發(fā)明披露的各技術特征并不限于已披露的與其它特征的組合,本領域技術人員還可根據(jù)本發(fā)明之目的進行各技術特征之間的其它組合,以實現(xiàn)本發(fā)明之目的為準。