本技術(shù)屬于通信,尤其涉及一種應用程序的控制方法、裝置、服務器及程序產(chǎn)品。
背景技術(shù):
1、虛幻引擎應用程序(即游戲應用程序)可以是指游戲公司開發(fā)的游戲引擎,也用于建筑模型信息化、數(shù)字孿生等系統(tǒng)開發(fā),像素流送可以是指可以在用戶不可見的電腦上運行虛幻引擎應用程序,比如這臺電腦可以是某企業(yè)機房里的一臺實體高渲染服務器,也可以是一些云端服務商提供的高渲染虛擬機。虛幻引擎應用程序?qū)⑹褂迷撾娔X可用的資源(cpu、gpu、內(nèi)存等)來運行游戲邏輯并渲染每一幀,不斷將每一幀的渲染結(jié)果輸出編碼到一個媒體流送中,再通過一個輕量級的網(wǎng)頁服務堆棧進行傳遞,用戶即可在其他電腦和移動設備上運行的標準網(wǎng)頁瀏覽器中查看直播流送。
2、然而,現(xiàn)有應用程序的控制方法中虛幻引擎應用程序的編碼進程需要提前運行來等待用戶的連接使用,且不可以關停虛幻引擎應用程序的編碼進程,無法對編碼進程的運行數(shù)量進行有效控制,造成了網(wǎng)絡資源的浪費,嚴重影響了客戶端的通信效率。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種應用程序的控制方法、裝置、服務器及程序產(chǎn)品,可以控制游戲應用程序運行準確數(shù)量的編碼進程,實現(xiàn)對應用程序編碼進程的自動啟動控制,節(jié)約了網(wǎng)絡資源,提高了客戶端的通信效率。
2、第一方面,本技術(shù)實施例提供了一種應用程序的控制方法,應用于云端服務器,云端服務器與多個渲染服務器建立有通信連接,每個渲染服務器本地部署有游戲應用程序,所述方法包括:
3、響應于客戶端的第一連接請求,確定多個渲染服務器中的目標渲染服務器;
4、發(fā)送啟動指令至目標渲染服務器,以使目標渲染服務器基于啟動指令啟動本地部署的游戲應用程序的目標編碼進程;
5、響應于客戶端的第二連接請求,將第二連接請求轉(zhuǎn)發(fā)至目標渲染服務器,以及將目標渲染服務器基于第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,以使客戶端基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接,目標編碼進程用于將編碼生成的媒體流發(fā)送至客戶端。
6、在第一方面的一種可能的實現(xiàn)方式中,在將目標渲染服務器基于第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端之后,所述方法還包括:
7、響應于客戶端的斷開連接信號,檢測在預設時長內(nèi)是否存在新的用戶端的第一連接請求;
8、若檢測到在預設時長內(nèi)未存在新的用戶端的第二連接請求,則發(fā)送關閉指令至目標渲染服務器,目標渲染服務器用于響應關閉指令關閉游戲應用程序的目標編碼進程;
9、若檢測到在預設時長內(nèi)存在新的用戶端的第二連接請求,則將新的用戶端的第二連接請求轉(zhuǎn)發(fā)至目標渲染服務器,以及將目標渲染服務器基于新的用戶端的第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至新的客戶端,以使新的客戶端基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接,目標編碼進程用于將編碼生成的媒體流發(fā)送至新的客戶端。
10、在第一方面的一種可能的實現(xiàn)方式中,云端服務器內(nèi)配置有配對服務器,確定多個渲染服務器中的目標渲染服務器,包括:
11、通過配對服務器確定多個渲染服務器的當前狀態(tài)信息;
12、通過配對服務器根據(jù)多個渲染服務器的當前狀態(tài)信息,從多個渲染服務器中選取目標渲染服務器。
13、在第一方面的一種可能的實現(xiàn)方式中,云端服務器內(nèi)還配置有多個信令服務器,在確定多個渲染服務器中的目標渲染服務器之后,方法還包括:
14、通過配對服務器確定多個信令服務器中與目標渲染服務器存在對應關系的目標信令服務器;
15、通過配對服務器將目標信令服務器的信令服務地址返回至客戶端,以使客戶端基于信令服務地址建立與目標信令服務器之間的網(wǎng)頁套接字連接。
16、在第一方面的一種可能的實現(xiàn)方式中,云端服務器內(nèi)還配置有連接管理服務器,發(fā)送啟動指令至目標渲染服務器,包括:
17、通過目標信令服務器發(fā)送啟動指令至連接管理服務器;
18、通過連接管理服務器將啟動指令轉(zhuǎn)發(fā)至目標渲染服務器的管理應用程序,管理應用程序用于響應啟動指令啟動游戲應用程序的目標編碼進程,并控制目標編碼進程建立與目標信令服務器之間的傳輸控制協(xié)議連接。
19、在第一方面的一種可能的實現(xiàn)方式中,連接配置數(shù)據(jù)將目標渲染服務器基于第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,包括:
20、通過目標信令服務器依據(jù)網(wǎng)頁套接字連接,將目標渲染服務器基于第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,以使客戶端基于連接配置數(shù)據(jù)建立與目標編碼進程之間的網(wǎng)頁實時通信連接。
21、在第一方面的一種可能的實現(xiàn)方式中,當前狀態(tài)信息包括每個渲染服務器本地部署的游戲應用程序當前是否處于運行狀態(tài),以及每個渲染服務器本地部署游戲應用程序中當前所運行編碼進程的進程數(shù)量。
22、第二方面,本技術(shù)實施例提供了一種應用程序的控制方法,應用于渲染服務器,所述方法包括:
23、響應于云端服務器的啟動指令,啟動渲染服務器本地部署游戲應用程序的目標編碼進程,其中,啟動指令是云端服務器響應于客戶端的第一連接請求,從多個渲染服務器中選取自身目標渲染服務器之后所發(fā)送的;
24、響應于云端服務器轉(zhuǎn)發(fā)的客戶端的第二連接請求,返回連接配置數(shù)據(jù)至云端服務器,以使云端服務器將連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,客戶端用于基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接;
25、通過目標編碼進程將編碼生成的媒體流發(fā)送至客戶端。
26、在第二方面的一種可能的實現(xiàn)方式中,在通過目標編碼進程將編碼生成的媒體流發(fā)送至客戶端之后,所述方法還包括下述其中之一:
27、響應于云端服務器的關閉指令,關閉游戲應用程序的目標編碼進程,其中,關閉指令是云端服務器響應于客戶端的斷開連接信號,檢測在預設時長內(nèi)是否存在新的用戶端的第二連接請求,并在檢測到預設時長內(nèi)未存在新的用戶端的第二連接請求的情況下所發(fā)送的;
28、響應于云端服務器轉(zhuǎn)發(fā)的新的客戶端的第二連接請求,返回連接配置數(shù)據(jù)至云端服務器,以使云端服務器將連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至新的客戶端,使得新的客戶端基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接,目標編碼進程用于將編碼生成的媒體流發(fā)送至新的客戶端。
29、在第二方面的一種可能的實現(xiàn)方式中,渲染服務器內(nèi)配置有管理應用程序,啟動渲染服務器本地部署游戲應用程序的目標編碼進程,包括:
30、通過管理應用程序采用系統(tǒng)調(diào)用的方式啟動游戲應用程序的目標編碼進程,并控制目標編碼進程建立與目標信令服務器之間的傳輸控制協(xié)議連接,其中,云端服務器內(nèi)配置有多個信令服務器,目標信令服務器為多個信令服務器中與自身渲染服務器存在對應關系的信令服務器。
31、在第二方面的一種可能的實現(xiàn)方式中,關閉游戲應用程序的目標編碼進程,包括:
32、通過管理應用程序采用系統(tǒng)調(diào)用的方式關閉游戲應用程序的目標編碼進程,并控制目標編碼進程斷開與目標信令服務器之間的傳輸控制協(xié)議連接。
33、在第二方面的一種可能的實現(xiàn)方式中,通過目標編碼進程將編碼生成的媒體流發(fā)送至客戶端,包括,
34、通過目標編碼進程對原始幀數(shù)據(jù)進行編碼,生成原始幀數(shù)據(jù)的媒體流;
35、通過目標編碼進程將媒體流發(fā)送至客戶端。
36、第三方面,本技術(shù)實施例提供了一種應用程序的控制裝置,配置于云端服務器,云端服務器與多個渲染服務器建立有通信連接,每個渲染服務器部署有游戲應用程序,所述裝置包括:
37、第一服務器確定模塊,用于響應于客戶端的第一連接請求,確定多個渲染服務器中的目標渲染服務器;
38、第一發(fā)送模塊,用于發(fā)送啟動指令至目標渲染服務器,以使目標渲染服務器基于啟動指令啟動本地部署的游戲應用程序的目標編碼進程;
39、轉(zhuǎn)發(fā)模塊,用于響應于客戶端的第二連接請求,將第二連接請求轉(zhuǎn)發(fā)至目標渲染服務器,以及將目標渲染服務器基于第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,以使客戶端基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接,其中,目標編碼進程用于將編碼生成的媒體流發(fā)送至客戶端。
40、第四方面,本技術(shù)實施例提供了一種應用程序的控制裝置,配置于渲染服務器,裝置包括:
41、進程啟動模塊,用于響應于云端服務器的啟動指令,啟動渲染服務器本地部署游戲應用程序的目標編碼進程,其中,啟動指令是云端服務器在響應于客戶端的第一連接請求,從多個渲染服務器中選取自身渲染服務器之后所發(fā)送的;
42、第一數(shù)據(jù)返回模塊,用于響應于云端服務器轉(zhuǎn)發(fā)的客戶端的第二連接請求,返回連接配置數(shù)據(jù)至云端服務器,以使云端服務器將連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,客戶端用于基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接;
43、第二發(fā)送模塊,用于通過目標編碼進程將編碼生成的媒體流發(fā)送至客戶端。
44、第五方面,本技術(shù)實施例提供了一種服務器,包括存儲器、處理器以及存儲在存儲器中并可在處理器上運行的計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)如第一方面或第二方面任一項的方法。
45、第六方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面或第二方面任一項的方法。
46、第七方面,本技術(shù)實施例提供了一種計算機程序產(chǎn)品,當計算機程序產(chǎn)品在服務器上運行時,使得服務器執(zhí)行上述第一方面或第二方面中任一項的方法。
47、本技術(shù)實施例提供了一種應用程序的控制方法、裝置、服務器及程序產(chǎn)品,所述方法應用于云端服務器,云端服務器與多個渲染服務器建立有通信連接,每個渲染服務器本地部署有游戲應用程序,所述方法包括:響應于客戶端的第一連接請求,確定多個渲染服務器中的目標渲染服務器;發(fā)送啟動指令至目標渲染服務器,以使目標渲染服務器基于啟動指令啟動本地部署的游戲應用程序的目標編碼進程;響應于客戶端的第二連接請求,將第二連接請求轉(zhuǎn)發(fā)至目標渲染服務器,以及將目標渲染服務器基于第二連接請求返回的連接配置數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,以使客戶端基于連接配置數(shù)據(jù)建立與目標編碼進程之間的通信連接,目標編碼進程用于將編碼生成的媒體流發(fā)送至客戶端。利用上述技術(shù)方案,通過云端服務器與多個渲染服務器建立有通信連接,每個渲染服務器本地部署有游戲應用程序,能夠使云端服務器通過與客戶端的通信交互,控制游戲應用程序運行準確數(shù)量的編碼進程,實現(xiàn)了對應用程序編碼進程的自動啟動控制,節(jié)約了網(wǎng)絡資源,同時提高了客戶端的通信效率。