本公開涉及計算機,更具體地說,涉及應用運行方法、裝置、電子設備和存儲介質。
背景技術:
1、終端在自適應刷新率(refresh?rate)模式下,系統的刷新率,即終端屏幕的刷新率是由應用(application,app)所包含的多個層(layer)中每個層的刷新速度(frame?persecond,fps)和面積占比(weight)來決定的。例如,當app所包含的多個層的面積占比均滿足預設要求,且該app所包含的多個層的刷新速度不一致時,系統的刷新率一般在多個刷新速度中取最高值。例如,大部分視頻源本身的刷新速度可能不到每秒30幀,而某些軟件彈幕滾動的刷新速度有可能高達每秒120幀,在視頻層和彈幕層的面積占比均滿足預設條件的情況下,會強制使得系統刷新率維持在每秒120幀,而實際上待播放視頻根本無需如此高的刷新速度。同時,由于系統刷新率被強制拉高,會使終端工作于較高電流下,這會導致終端功耗的大幅度上升,造成資源的過多浪費。
2、相關技術中,為了避免終端功耗上升所導致的資源浪費,主要是通過開發人員針對不同的app進行測試,進而手動在服務器側強制限制每個app的刷新率為一個較低的數值。但是,此種方式需要開發人員針對不同app逐個進行測試進而在服務器側一一為不同的app設置相應的刷新率,刷新率設置的工作量較大且比較繁瑣,不夠智能。
技術實現思路
1、本公開提供應用運行方法、裝置、電子設備和存儲介質,以至少解決上述相關技術中,刷新率設置的工作量較大且比較繁瑣,不夠智能的問題。
2、根據本公開實施例的第一方面,提供一種應用運行方法,包括:確定功耗待改善的目標應用以及所述目標應用的刷新率待改善的目標層;使用決策樹模型識別所述目標層的類型;在所述目標層的類型屬于功耗可調節層的情況下,對所述目標層的刷新率值進行調節;基于所述目標層的調節后的刷新率值,確定終端屏幕的刷新率值;基于所述終端屏幕的刷新率值,運行所述目標應用。
3、可選地,所述對所述目標層的刷新率值進行調節,包括:基于所述目標層與所述終端屏幕的中心位置關系、所述目標層與所述終端屏幕的面積關系以及所述目標層的類型中的至少一個,對所述目標層的刷新率值進行調節。
4、可選地,所述對所述目標層的刷新率值進行調節,包括:基于所述目標層與所述終端屏幕的中心位置關系、所述目標層與所述終端屏幕的面積關系以及所述目標層的類型中的至少一個,確定所述目標層對應的預設最小刷新率值;基于所述目標層對應的預設最小刷新率值以及所述目標層的實際采樣刷新率值,對所述目標層的刷新率值進行調節。
5、可選地,在基于所述終端屏幕的刷新率值,運行所述目標應用之后,還包括:獲取所述終端的功耗與性能狀態數據;基于所述終端的功耗與性能狀態數據,通過強化學習模型,對所述目標層的刷新率值進行優化;基于所述目標層優化后的刷新率值,確定所述終端屏幕的優化后的刷新率值;基于所述終端屏幕的優化后的刷新率值,運行所述目標應用。
6、可選地,所述基于所述終端的功耗與性能狀態數據,通過強化學習模型,對所述目標層的刷新率值進行優化,包括:基于所述終端的功耗與性能狀態數據以及所述強化學習模型的預設狀態動作表,對所述目標層的刷新率值進行優化,獲得所述目標層優化后的刷新率值,其中,所述預設狀態動作表包含多個狀態,每個所述狀態均對應有多個刷新率調節動作類型,每個所述刷新率調節動作類型對應有各自的狀態動作懲罰值。
7、可選地,所述基于所述目標層的調節后的刷新率值,確定終端屏幕的刷新率值,包括:基于所述目標層的調節后的刷新率值以及所述目標應用所包含的其它應用層的實際采樣刷新率值,確定所述終端屏幕的刷新率值。
8、可選地,所述確定功耗待改善的目標應用,包括:獲取所述終端內安裝的每個應用的前臺運行的歷史行為特征數據;將所述歷史行為特征數據超出預定范圍的應用確定為所述目標應用。
9、可選地,所述確定所述目標應用的刷新率待改善的目標層,包括:在所述目標應用正在運行的過程中,獲取所述目標應用的運行行為特征數據;在所述運行行為特征數據超出預設范圍的情況下,確定所述目標應用所包含的多個應用層中對應的實際采樣刷新率值最高的應用層為所述目標層。
10、可選地,所述使用決策樹模型識別所述目標層的類型,包括:獲取所述目標應用的所述目標層在預定時間段內的層顯示行為特征數據;將所述層顯示行為特征數據輸入所述決策樹模型以識別所述目標層的類型。
11、可選地,所述獲取所述目標應用的所述目標層在預定時間段內的層顯示行為特征數據,包括:在所述預定時間段內每隔預設時間間隔采集所述目標層的層顯示行為特征數據,獲得所述目標層對應的多組層顯示行為特征數據。
12、可選地,所述將所述層顯示行為特征數據輸入所述決策樹模型以識別所述目標層的類型,包括:將所述目標層對應的多組層顯示行為特征數據中的每組層顯示行為特征數據分別輸入所述決策樹模型,獲得所述每組層顯示行為特征數據對應的識別結果;在所述多組層顯示行為特征數據對應的多組識別結果均指示所述目標層為所述功耗可調節層的情況下,確定所述目標層為所述功耗可調節層。
13、可選地,所述層顯示行為特征數據包含以下項中的至少一項:所述目標層在z軸上的位置、所述目標層的面積占所述終端屏幕的面積的百分比、所述目標層的透明度、所述目標層是否對應有特定關鍵字、所述目標層是否屬于預設表面視圖層類型、所述目標層的內容集中度、所述目標層的水平滾動步距集中度、所述目標層的刷新率值、所述目標層的內容流量。
14、可選地,應用層根據功耗大小被預先劃分成多個類型,所述多個類型中的預定至少一個類型被設置為所述功耗可調節層。
15、可選地,所述多個類型包括第一類型、第二類型和第三類型,所述第一類型和所述第二類型被設置為所述功耗可調節層;其中,所述第一類型為用于顯示所述目標應用的實質內容的應用層;所述第二類型為用于顯示與所述實質內容相關的評論信息的應用層;所述第三類型為應用所包含的除所述第一類型和所述第二類型之外的應用層類型。
16、根據本公開實施例的第二方面,提供一種應用運行裝置,包括:目標層確定模塊,被配置為確定功耗待改善的目標應用以及所述目標應用的刷新率待改善的目標層;識別模塊,被配置為使用決策樹模型識別所述目標層的類型;調節模塊,被配置為在所述目標層的類型屬于功耗可調節層的情況下,對所述目標層的刷新率值進行調節;第一確定模塊,被配置為基于所述目標層的調節后的刷新率值,確定終端屏幕的刷新率值;第一運行模塊,被配置為基于所述終端屏幕的刷新率值,運行所述目標應用。
17、可選地,所述調節模塊被配置為:基于所述目標層與所述終端屏幕的中心位置關系、所述目標層與所述終端屏幕的面積關系以及所述目標層的類型中的至少一個,對所述目標層的刷新率值進行調節。
18、可選地,所述調節模塊被配置為:基于所述目標層與所述終端屏幕的中心位置關系、所述目標層與所述終端屏幕的面積關系以及所述目標層的類型中的至少一個,確定所述目標層對應的預設最小刷新率值;基于所述目標層對應的預設最小刷新率值以及所述目標層的實際采樣刷新率值,對所述目標層的刷新率值進行調節。
19、可選地,所述應用運行裝置還包括:狀態數據獲取模塊,被配置為獲取所述終端的功耗與性能狀態數據;優化模塊,被配置為基于所述終端的功耗與性能狀態數據,通過強化學習模型,對所述目標層的刷新率值進行優化;第二確定模塊,被配置為基于所述目標層優化后的刷新率值,確定所述終端屏幕的優化后的刷新率值;第二運行模塊,被配置為基于所述終端屏幕的優化后的刷新率值,運行所述目標應用。
20、可選地,所述優化模塊被配置為:基于所述終端的功耗與性能狀態數據以及所述強化學習模型的預設狀態動作表,對所述目標層的刷新率值進行優化,獲得所述目標層優化后的刷新率值,其中,所述預設狀態動作表包含多個狀態,每個所述狀態均對應有多個刷新率調節動作類型,每個所述刷新率調節動作類型對應有各自的狀態動作懲罰值。
21、可選地,所述第一確定模塊被配置為:基于所述目標層的調節后的刷新率值以及所述目標應用所包含的其它應用層的實際采樣刷新率值,確定所述終端屏幕的刷新率值。
22、可選地,所述目標層確定模塊被配置為:獲取所述終端內安裝的每個應用的前臺運行的歷史行為特征數據;將所述歷史行為特征數據超出預定范圍的應用確定為所述目標應用。
23、可選地,所述目標層確定模塊被配置為:在所述目標應用正在運行的過程中,獲取所述目標應用的運行行為特征數據;在所述運行行為特征數據超出預設范圍的情況下,確定所述目標應用所包含的多個應用層中對應的實際采樣刷新率值最高的應用層為所述目標層。
24、可選地,所述識別模塊被配置為:獲取所述目標應用的所述目標層在預定時間段內的層顯示行為特征數據;將所述層顯示行為特征數據輸入所述決策樹模型以識別所述目標層的類型。
25、可選地,所述識別模塊被配置為:在所述預定時間段內每隔預設時間間隔采集所述目標層的層顯示行為特征數據,獲得所述目標層對應的多組層顯示行為特征數據。
26、可選地,所述識別模塊被配置為:將所述目標層對應的多組層顯示行為特征數據中的每組層顯示行為特征數據分別輸入所述決策樹模型,獲得所述每組層顯示行為特征數據對應的識別結果;在所述多組層顯示行為特征數據對應的多組識別結果均指示所述目標層為所述功耗可調節層的情況下,確定所述目標層為所述功耗可調節層。
27、可選地,所述層顯示行為特征數據包含以下項中的至少一項:所述目標層在z軸上的位置、所述目標層的面積占所述終端屏幕的面積的百分比、所述目標層的透明度、所述目標層是否對應有特定關鍵字、所述目標層是否屬于預設表面視圖層類型、所述目標層的內容集中度、所述目標層的水平滾動步距集中度、所述目標層的刷新率值、所述目標層的內容流量。
28、可選地,應用層根據功耗大小被預先劃分成多個類型,所述多個類型中的預定至少一個類型被設置為所述功耗可調節層。
29、可選地,所述多個類型包括第一類型、第二類型和第三類型,所述第一類型和所述第二類型被設置為所述功耗可調節層;其中,所述第一類型為用于顯示所述目標應用的實質內容的應用層;所述第二類型為用于顯示與所述實質內容相關的評論信息的應用層;所述第三類型為應用所包含的除所述第一類型和所述第二類型之外的應用層類型。
30、根據本公開實施例的第三方面,提供一種電子設備,包括:處理器;用于存儲所述處理器可執行指令的存儲器;其中,所述處理器被配置為執行所述指令,以實現根據本公開的應用運行方法。
31、根據本公開實施例的第四方面,提供一種計算機可讀存儲介質,當所述計算機可讀存儲介質中的指令由電子設備的處理器執行時,使得電子設備能夠執行根據本公開的應用運行方法。
32、本公開的實施例提供的技術方案至少帶來以下有益效果:
33、本公開可以利用決策樹模型識別刷新率待改善的目標層的類型,并在目標層的類型屬于功耗可調節層的情況下,可以對目標層的刷新率值進行自動調節,進而可以影響終端屏幕的刷新率值的變化。這樣,可以實現避免系統刷新率被強制拉高,進而可以避免出現因系統刷新率被強制拉高導致終端的工作電流較高進而造成終端功耗過大的現象,可以節省較多的資源。并且,由于本公開無需通過手動的方式逐個為不同的app設置相應的刷新率,即整個過程無需人工干預,因此避免了重復繁瑣的設置過程,使刷新率的設置更加智能化和便捷化。
34、進一步的,可以通過應用的前臺運行的歷史行為特征數據對應用進行篩選,進而可以獲得值得去優化的應用。避免出現針對大量沒有優化價值的應用進行無效優化的現象,可以節省優化資源。
35、進一步的,由于使用了多組采集數據來進行識別,可以大大減少誤判的幾率,可以保證目標層類型的識別準確度。
36、進一步的,通過結合多個維度的特征對目標層的刷新率值進行調節,可以保證刷新率值調節的準確性。
37、進一步的,通過基于預設最小刷新率值以及實際采樣刷新率值對目標層的刷新率值進行調節,可以保證刷新率值調節的客觀性。并且,由于確定的刷新率值為一個范圍區間,可以避免出現直接將目標層的實際采樣幀率作為其最終的刷新率值而導致系統刷新率被強制拉高的現象,進而可以避免終端的功耗過大,可以節省資源。
38、進一步的,在確定終端屏幕的刷新率值時,綜合考慮了目標層的調節后的刷新率值以及其它應用層的實際采樣刷新率值,既可以保證降低終端的功耗,又可以保證終端的性能基本不變。
39、進一步的,由于收斂的q表是經過大量訓練獲得的,因此其對實際的刷新率值的優化過程具有指導意義,可以保證優化后獲得的刷新率值在終端功耗和終端性能之間達到較好的平衡。
40、進一步的,由于強化學習模型的預設狀態動作表中記載了多個狀態中每個狀態下的多個動作類型中每個動作類型對應的狀態動作懲罰值,因此,只需利用終端當前所處的狀態在訓練完成的q表中進行查詢,就可以查找到在當前狀態下應該執行的最佳動作。并且,通過有限次查詢即可以找到平衡了終端功耗以及終端性能的最佳刷新率值?;谠撟罴阉⑿侣手颠\行目標應用,可以大幅度降低終端的功耗,同時,還可以確保視頻的播放品質不受影響,即可以保證流暢的觀看體驗,避免終端屏幕出現閃爍、卡頓的現象。
41、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。