本技術(shù)涉及電子,具體涉及一種服務(wù)熔斷方法和電子設(shè)備。
背景技術(shù):
1、當(dāng)前,為了提高電子設(shè)備的使用性能,當(dāng)電子設(shè)備處于某個(gè)狀態(tài)時(shí),可以在后臺(tái)啟動(dòng)一些服務(wù),使電子設(shè)備完成一些更新任務(wù)或者推薦任務(wù)。例如在電子設(shè)備處于充電熄屏狀態(tài)且持續(xù)空閑一段時(shí)間的情況下,電子設(shè)備可以后臺(tái)啟動(dòng)系統(tǒng)更新等服務(wù)。
2、然而,因用戶對(duì)電子設(shè)備的使用情況不可控,在電子設(shè)備處于上述狀態(tài)的過(guò)程中,用戶可能會(huì)對(duì)電子設(shè)備進(jìn)行操作而打破這種狀態(tài)(即電子設(shè)備不再處于上述狀態(tài)),但是此時(shí)電子設(shè)備仍在后臺(tái)執(zhí)行相應(yīng)的服務(wù),這就會(huì)導(dǎo)致電子設(shè)備的使用性能下降。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種服務(wù)熔斷方法和電子設(shè)備,可以提高電子設(shè)備的使用性能。
2、第一方面,本技術(shù)提供一種服務(wù)熔斷方法,該方法由電子設(shè)備執(zhí)行,包括:獲取第一硬件信息,第一硬件信息為硬件驅(qū)動(dòng)在第一時(shí)刻所采集的信息;在根據(jù)第一硬件信息確定預(yù)設(shè)條件滿足的情況下,啟動(dòng)預(yù)設(shè)服務(wù),預(yù)設(shè)條件表征預(yù)設(shè)服務(wù)的啟動(dòng)條件;在啟動(dòng)預(yù)設(shè)服務(wù)之后,獲取第二硬件信息,第二硬件信息為硬件驅(qū)動(dòng)在第二時(shí)刻所采集的信息,第二時(shí)刻大于第一時(shí)刻;在根據(jù)第二硬件信息確定預(yù)設(shè)條件不滿足的情況下,若預(yù)設(shè)服務(wù)仍在執(zhí)行,則確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量;若剩余任務(wù)需要消耗的資源量大于預(yù)設(shè)閾值,則熔斷預(yù)設(shè)服務(wù)。
3、其中,電子設(shè)備在運(yùn)行的過(guò)程中,硬件驅(qū)動(dòng)可以持續(xù)的采集硬件信息,電子設(shè)備獲取到在第一時(shí)刻采集的第一硬件信息時(shí),可以根據(jù)該第一硬件信息判斷預(yù)設(shè)條件是否滿足,如果滿足則啟動(dòng)預(yù)設(shè)服務(wù)。之后,硬件驅(qū)動(dòng)會(huì)繼續(xù)采集硬件信息,電子設(shè)備獲取到在第二時(shí)刻采集的第二硬件信息時(shí),可以根據(jù)該第二硬件信息判斷預(yù)設(shè)條件是否仍滿足,如果預(yù)設(shè)條件不再滿足但預(yù)設(shè)服務(wù)仍在執(zhí)行,就可能會(huì)影響電子設(shè)備的使用性能,則電子設(shè)備可以確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量。在預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量大于預(yù)設(shè)閾值的情況下,如果繼續(xù)后臺(tái)運(yùn)行預(yù)設(shè)服務(wù)就會(huì)導(dǎo)致電子設(shè)備的資源消耗較快,影響電子設(shè)備的使用性能,因此電子設(shè)備可以對(duì)預(yù)設(shè)服務(wù)進(jìn)行熔斷丟棄,即不再在后臺(tái)執(zhí)行預(yù)設(shè)服務(wù)。由此可以減少后臺(tái)運(yùn)行預(yù)設(shè)服務(wù)時(shí)對(duì)前臺(tái)運(yùn)行應(yīng)用的影響以及減少電池電量的消耗,以提高電子設(shè)備的使用性能。
4、在一些實(shí)現(xiàn)方式中,上述剩余任務(wù)需要消耗的資源量可以包括處理器(如cpu)運(yùn)行時(shí)間和/或電池電量。
5、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,在剩余任務(wù)需要消耗的資源量包括處理器運(yùn)行時(shí)間的情況下,上述確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量,包括:根據(jù)預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間與剩余執(zhí)行輪次,確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間。
6、其中,預(yù)設(shè)服務(wù)在后臺(tái)執(zhí)行時(shí),通常需要執(zhí)行多個(gè)輪次才能完成整個(gè)服務(wù)的任務(wù),單輪次執(zhí)行時(shí)間即一個(gè)輪次的執(zhí)行時(shí)間。因此,電子設(shè)備可以根據(jù)單輪次執(zhí)行時(shí)間與剩余執(zhí)行輪次確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間。
7、在一些實(shí)現(xiàn)方式中,根據(jù)預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間與剩余執(zhí)行輪次,確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,包括:
8、根據(jù)包含的關(guān)系式,計(jì)算剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,其中,用于計(jì)算預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間,(totalepoch-curepoch)用于計(jì)算剩余執(zhí)行輪次,curparams表示預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中單輪次執(zhí)行時(shí)的當(dāng)前特征參數(shù)大小,可以包括樣本數(shù)量和特征維度,樣本數(shù)量可以包括用戶使用電子設(shè)備過(guò)程的操作次數(shù)(如亮滅屏次數(shù)、點(diǎn)擊次數(shù)等),特征維度可以包括本次執(zhí)行的預(yù)設(shè)服務(wù)和之前執(zhí)行的服務(wù)的關(guān)系、電子設(shè)備的充電狀態(tài)、網(wǎng)絡(luò)狀態(tài)、地點(diǎn)狀態(tài)等維度,maxparams表示訓(xùn)練得到的預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中單輪次執(zhí)行時(shí)的最大特征參數(shù)大小,f函數(shù)為訓(xùn)練得到的根據(jù)curparams和maxparams計(jì)算單輪次執(zhí)行時(shí)間的函數(shù)(或模型),f函數(shù)可以為線性或非線性的函數(shù),totalepoch表示預(yù)設(shè)服務(wù)對(duì)應(yīng)的總執(zhí)行輪次,curepoch表示預(yù)設(shè)服務(wù)對(duì)應(yīng)的當(dāng)前已執(zhí)行輪次。
9、通過(guò)上述關(guān)系式,電子設(shè)備可以計(jì)算得到預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,再根據(jù)該處理器運(yùn)行時(shí)間與預(yù)設(shè)閾值(如時(shí)間閾值)的比較結(jié)果,確定是否熔斷預(yù)設(shè)服務(wù),以提高電子設(shè)備的使用性能。
10、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,上述根據(jù)預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間與剩余執(zhí)行輪次,確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,包括:根據(jù)預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間、電子設(shè)備的算力系數(shù)與剩余執(zhí)行輪次,確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間。
11、因?qū)嶋H場(chǎng)景中電子設(shè)備的芯片類(lèi)型不盡相同,那么電子設(shè)備的芯片算力也不同,在確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間時(shí),電子設(shè)備還可以將電子設(shè)備的芯片算力考慮進(jìn)內(nèi)。即電子設(shè)備根據(jù)預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間、電子設(shè)備的算力系數(shù)與剩余執(zhí)行輪次,確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間。
12、在一些實(shí)現(xiàn)方式中,根據(jù)預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間、電子設(shè)備的算力系數(shù)與剩余執(zhí)行輪次,確定剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,包括:
13、根據(jù)包含的關(guān)系式,計(jì)算剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,其中,用于計(jì)算預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中的單輪次執(zhí)行時(shí)間,用于計(jì)算電子設(shè)備的算力系數(shù),(totalepoch-curepoch)用于計(jì)算剩余執(zhí)行輪次,curparams表示預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中單輪次執(zhí)行時(shí)的當(dāng)前特征參數(shù)大小,maxparams表示訓(xùn)練得到的預(yù)設(shè)服務(wù)執(zhí)行過(guò)程中單輪次執(zhí)行時(shí)的最大特征參數(shù)大小,minpower表示不同芯片類(lèi)型的電子設(shè)備中的最低芯片算力,curpower表示電子設(shè)備的芯片算力,totalepoch表示預(yù)設(shè)服務(wù)對(duì)應(yīng)的總執(zhí)行輪次,curepoch表示預(yù)設(shè)服務(wù)對(duì)應(yīng)的當(dāng)前已執(zhí)行輪次。
14、通過(guò)上述關(guān)系式,電子設(shè)備可以計(jì)算得到預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,再根據(jù)該處理器運(yùn)行時(shí)間與預(yù)設(shè)閾值(如時(shí)間閾值)的比較結(jié)果,確定是否熔斷預(yù)設(shè)服務(wù),以提高電子設(shè)備的使用性能。
15、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,在剩余任務(wù)需要消耗的資源量還包括電池電量的情況下,上述確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量,包括:根據(jù)剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間與單位時(shí)間內(nèi)的電量消耗量,確定剩余任務(wù)需要消耗的電池電量。
16、其中,因如果電子設(shè)備在后臺(tái)運(yùn)行預(yù)設(shè)服務(wù)的話,將會(huì)消耗額外的電池電量,因此電子設(shè)備還可以確定剩余任務(wù)需要消耗的電池電量,后續(xù)可以根據(jù)該需要消耗的電池電量與預(yù)設(shè)閾值(如電量閾值)的比較結(jié)果,確定是否熔斷預(yù)設(shè)服務(wù),以提高電子設(shè)備的使用性能。
17、在一些實(shí)現(xiàn)方式中,上述根據(jù)剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間與單位時(shí)間內(nèi)的電量消耗量,確定剩余任務(wù)需要消耗的電池電量,包括:
18、根據(jù)包含estimatedremaintime×powerratio的關(guān)系式,計(jì)算剩余任務(wù)需要消耗的電池電量,其中,estimatedremaintime表示剩余任務(wù)需要消耗的處理器運(yùn)行時(shí)間,可以根據(jù)上述包含的關(guān)系式或包含的關(guān)系式來(lái)計(jì)算得到estimatedremaintime,powerratio表示單位時(shí)間內(nèi)的電量消耗量。
19、通過(guò)上述關(guān)系式,電子設(shè)備可以計(jì)算得到預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的電池電量,再根據(jù)該電池電量與預(yù)設(shè)閾值(如電量閾值)的比較結(jié)果,確定是否熔斷預(yù)設(shè)服務(wù),以提高電子設(shè)備的使用性能。
20、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,第一硬件信息包括電子設(shè)備的顯示屏的顯示狀態(tài)信息、處理器的工作狀態(tài)信息以及電池的充電狀態(tài)信息中的至少一種信息。
21、其中,上述硬件驅(qū)動(dòng)可以包括但不限于顯示驅(qū)動(dòng)、cpu驅(qū)動(dòng)以及電池驅(qū)動(dòng),所獲取的第一硬件信息可以包括但不限于顯示屏的顯示狀態(tài)信息、處理器的工作狀態(tài)信息以及電池的充電狀態(tài)信息。在硬件驅(qū)動(dòng)獲取到這些硬件信息之后,可以將這些硬件信息進(jìn)行廣播,以使注冊(cè)過(guò)接收廣播的模塊或應(yīng)用可以接收到硬件驅(qū)動(dòng)所廣播的硬件信息。相應(yīng)的,所獲取的第二硬件信息也可以包括但不限于顯示屏的顯示狀態(tài)信息、處理器的工作狀態(tài)信息以及電池的充電狀態(tài)信息。
22、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,上述根據(jù)第一硬件信息確定預(yù)設(shè)條件滿足,包括:若顯示屏為熄屏狀態(tài)、且電池為充電狀態(tài)、且處理器處于空閑狀態(tài)達(dá)到預(yù)設(shè)時(shí)長(zhǎng),則確定預(yù)設(shè)條件滿足。
23、也即是說(shuō),當(dāng)電子設(shè)備根據(jù)第一硬件信息確定當(dāng)前處于充電熄屏狀態(tài)且持續(xù)空閑了預(yù)設(shè)時(shí)長(zhǎng)時(shí),確定預(yù)設(shè)條件滿足。在一些實(shí)現(xiàn)方式中,預(yù)設(shè)時(shí)長(zhǎng)可以為30分鐘。相應(yīng)的,在預(yù)設(shè)服務(wù)啟動(dòng)之后,當(dāng)電子設(shè)備根據(jù)第二硬件信息確定當(dāng)前沒(méi)有處于充電熄屏狀態(tài)或不再處于空閑狀態(tài)時(shí),確定預(yù)設(shè)條件不再滿足,以后續(xù)確定是否需要熔斷預(yù)設(shè)服務(wù)。
24、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,電子設(shè)備啟動(dòng)的預(yù)設(shè)服務(wù)中包括一個(gè)或多個(gè)服務(wù)。
25、其中,預(yù)設(shè)服務(wù)可以包括一個(gè)或多個(gè)服務(wù),例如系統(tǒng)更新服務(wù)、應(yīng)用更新服務(wù)或智慧服務(wù)等。預(yù)設(shè)可以運(yùn)行在進(jìn)程中,如果進(jìn)程中當(dāng)前運(yùn)行有多種服務(wù)(包括預(yù)設(shè)服務(wù)和其他服務(wù)),則電子設(shè)備可以?xún)H將預(yù)設(shè)服務(wù)結(jié)束運(yùn)行,即預(yù)設(shè)服務(wù)停止運(yùn)行,其他服務(wù)還可以正常執(zhí)行。
26、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,電子設(shè)備包括硬件驅(qū)動(dòng)和任務(wù)調(diào)度器,上述在根據(jù)第一硬件信息確定預(yù)設(shè)條件滿足的情況下,啟動(dòng)預(yù)設(shè)服務(wù),包括:任務(wù)調(diào)度器接收到硬件驅(qū)動(dòng)廣播的第一硬件信息;任務(wù)調(diào)度器根據(jù)第一硬件信息確定預(yù)設(shè)條件滿足,啟動(dòng)預(yù)設(shè)服務(wù)。
27、在該實(shí)現(xiàn)方式中,硬件驅(qū)動(dòng)可以采集第一硬件信息,并廣播該第一硬件信息。任務(wù)調(diào)度器(jobscheduler)接收到第一硬件信息之后,可以根據(jù)第一硬件信息確定預(yù)設(shè)條件是否滿足,如果jobscheduler判斷得到上述預(yù)設(shè)條件滿足,則可以后臺(tái)異步啟動(dòng)預(yù)設(shè)服務(wù)。
28、結(jié)合第一方面,在第一方面的有些實(shí)現(xiàn)方式中,電子設(shè)備還包括監(jiān)聽(tīng)模塊和熔斷判斷模塊,上述在根據(jù)第二硬件信息確定預(yù)設(shè)條件不滿足的情況下,若預(yù)設(shè)服務(wù)仍在執(zhí)行,則確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量,包括:監(jiān)聽(tīng)模塊接收到硬件驅(qū)動(dòng)廣播的第二硬件信息;監(jiān)聽(tīng)模塊根據(jù)第二硬件信息確定預(yù)設(shè)條件不滿足的情況下,若預(yù)設(shè)服務(wù)仍在執(zhí)行,則監(jiān)聽(tīng)模塊調(diào)用熔斷判斷模塊,確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量。
29、其中,在預(yù)設(shè)服務(wù)啟動(dòng)之后,監(jiān)聽(tīng)模塊可以啟動(dòng)并持續(xù)接收上述硬件驅(qū)動(dòng)廣播的硬件信息,以及根據(jù)接收到的第二硬件信息判斷預(yù)設(shè)條件是否仍滿足。那么,可能存在一些場(chǎng)景,用戶進(jìn)行的一些操作導(dǎo)致預(yù)設(shè)條件被打破,即預(yù)設(shè)條件不再滿足,在預(yù)設(shè)條件不滿足且上述的預(yù)設(shè)服務(wù)還在執(zhí)行的情況下,監(jiān)聽(tīng)模塊可以調(diào)用熔斷判斷模塊,以確定預(yù)設(shè)服務(wù)對(duì)應(yīng)的剩余任務(wù)需要消耗的資源量,如果剩余任務(wù)需要消耗的資源量仍比較大,則可以熔斷預(yù)設(shè)服務(wù),使預(yù)設(shè)服務(wù)不再在后臺(tái)運(yùn)行,以提高電子設(shè)備的使用性能。
30、第二方面,本技術(shù)提供一種裝置,該裝置包含在電子設(shè)備中,該裝置具有實(shí)現(xiàn)上述第一方面及上述第一方面的可能實(shí)現(xiàn)方式中電子設(shè)備行為的功能。功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊或單元。例如,接收模塊或單元、處理模塊或單元等。
31、第三方面,本技術(shù)提供一種電子設(shè)備,電子設(shè)備包括:一個(gè)或多個(gè)處理器,以及存儲(chǔ)器;
32、所述存儲(chǔ)器與所述一個(gè)或多個(gè)處理器耦合,所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序代碼,所述計(jì)算機(jī)程序代碼包括計(jì)算機(jī)指令,所述一個(gè)或多個(gè)處理器調(diào)用所述計(jì)算機(jī)指令以使得電子設(shè)備執(zhí)行第一方面的技術(shù)方案中任意一種方法。
33、第四方面,本技術(shù)提供一種芯片系統(tǒng),所述芯片系統(tǒng)應(yīng)用于電子設(shè)備,所述芯片系統(tǒng)包括一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)處理器用于調(diào)用計(jì)算機(jī)指令以使得所述電子設(shè)備執(zhí)行第一方面及其任意可能的實(shí)現(xiàn)方式中的方法。
34、可選地,芯片系統(tǒng)還包括存儲(chǔ)器,存儲(chǔ)器與處理器通過(guò)電路或電線連接。
35、進(jìn)一步可選地,芯片系統(tǒng)還包括通信接口。
36、第五方面,本技術(shù)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中包括指令,當(dāng)所述指令在電子設(shè)備上運(yùn)行時(shí),使得所述電子設(shè)備執(zhí)行第一方面的技術(shù)方案中任意一種方法。
37、第六方面,本技術(shù)提供一種計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序產(chǎn)品包括:計(jì)算機(jī)程序代碼,當(dāng)計(jì)算機(jī)程序代碼在電子設(shè)備上運(yùn)行時(shí),使得該電子設(shè)備執(zhí)行第一方面的技術(shù)方案中任意一種方法。