本發(fā)明涉及電子技術領域,尤其涉及一種傳感器數據上報方法及裝置。
背景技術:
隨著電子技術的發(fā)展,智能手機、平板電腦等智能終端發(fā)展迅速。智能終端中安裝了多個傳感器,例如重力傳感器、陀螺儀、紅外接近感應傳感器、指南針、壓力感應器等等,而且隨著終端智能化的進一步發(fā)展,傳感器的數量會進一步增加。這些傳感器采集的數據會被不同的應用程序調用以實現特定的功能,例如計步器需要調用震動傳感器的數據。
若多個應用程序同時調用多個不同的傳感器,該多個不同的傳感器將同時被使能,繼而上報數據,這樣很容易導致數據上傳通道被搶占及造成堵塞,進而導致應用程序的功能異常。
技術實現要素:
本發(fā)明的主要目的在于提供一種傳感器數據上報方法及裝置,旨在解決現有技術中多個傳感器同時被調用時,會帶來數據上傳通道被搶占及堵塞,進而造成應用程序的功能異常的技術問題。
為實現上述目的,本發(fā)明第一方面提供一種傳感器數據上報方法,所述方法包括:
若檢測到多個傳感器的調用指令,則攔截所述多個傳感器的調用指令;
根據所述多個傳感器的優(yōu)先級確定所述多個傳感器數據上報的上報順序;
依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
為實現上述目的,本發(fā)明第二方面提供一種傳感器數據上報裝置,所述裝置包括:
攔截模塊,用于若檢測到多個傳感器的調用指令,則攔截所述多個傳感器的調用指令;
確定模塊,用于根據所述多個傳感器的優(yōu)先級確定所述多個傳感器數據上報的上報順序;
執(zhí)行模塊,用于依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
本發(fā)明提供一種傳感器數據上傳方法,該方法中,若檢測到多個傳感器的調用指令,則攔截該多個傳感器的調用指令,根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,并依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序依次上報數據。相對于現有技術,通過攔截多個傳感器的調用指令,并根據多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,使得該多個傳感器能夠依據該上報順序依次上報數據,避免多個傳感器的數據同時上報帶來的數據上傳通道被搶占及堵塞,使得應用程序能夠正常的實現其功能。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為一種移動終端的結構框圖;
圖2為本發(fā)明第一實施例中傳感器數據上報方法的流程示意圖;
圖3為本發(fā)明第二實施例中傳感器數據上報方法的流程示意圖;
圖4為本發(fā)明第三實施例中傳感器數據上報方法的流程示意圖;
圖5為本發(fā)明第四實施例中傳感器數據上報方法的流程示意圖;
圖6為本發(fā)明第五實施例中傳感器數據上報裝置的功能模塊的示意圖;
圖7為本發(fā)明第六實施例中傳感器數據上報裝置的功能模塊的示意圖;
圖8為本發(fā)明第七實施例中傳感器數據上報裝置的功能模塊的示意圖;
圖9為本發(fā)明第八實施例中傳感器數據上報裝置的功能模塊的示意圖。
具體實施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供的傳感器數據上傳方法可以由傳感器數據上傳裝置實現,且該裝置可以是移動終端或者移動終端內的部分結構,圖1示出了一種移動終端的結構框圖。本發(fā)明實施例提供的傳感器數據上傳方法可應用于如圖1所示的移動終端10中,移動終端10可以但不限于包括:需依靠電池維持正常運行且支持網絡及下載功能的智能手機、筆記本、平板電腦、穿戴智能設備等。
如圖1所示,移動終端10包括存儲器101、存儲控制器102,一個或多個(圖中僅示出一個)處理器103、外設接口104、射頻模塊105、按鍵模塊106、音頻模塊107以及觸控屏幕108,及多個傳感器110。這些組件通過一條或多條通訊總線/信號線109相互通訊。
其中,多個傳感器110包含多種不同類型的傳感器,例如重力傳感器、陀螺儀、紅外接近感應傳感器、指南針、壓力感應器等等。
可以理解,圖1所示的結構僅為示意,其并不對移動終端的結構造成限定。移動終端10還可包括比圖1所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1所示的各組件可以采用硬件、軟件或其組合實現。
存儲器101可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的傳感器數據上傳方法及裝置對應的程序指令/模塊,處理器103通過運行存儲在存儲器101內的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數據處理,即實現上述的傳感器數據上傳方法。
存儲器101可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器101可進一步包括相對于處理器103遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至移動終端10。上述網絡的實例包括但不限于互聯網、企業(yè)內部網、局域網、移動通信網及其組合。處理器103以及其他可能的組件對存儲器101的訪問可在存儲控制器102的控制下進行。
外設接口104將各種輸入/輸入裝置耦合至CPU以及存儲器101。處理器103運行存儲器101內的各種軟件、指令以執(zhí)行移動終端10的各種功能以及進行數據處理。
在一些實施例中,外設接口104,處理器103以及存儲控制器102可以在單個芯片中實現。在其他一些實例中,他們可以分別由獨立的芯片實現。
射頻模塊105用于接收以及發(fā)送電磁波,實現電磁波與電信號的相互轉換,從而與通訊網絡或者其他設備進行通訊。射頻模塊105可包括各種現有的用于執(zhí)行這些功能的電路元件,例如,天線、射頻收發(fā)器、數字信號處理器、加密/解密芯片、用戶身份模塊(SIM)卡、存儲器等等。射頻模塊105可與各種網絡如互聯網、企業(yè)內部網、預置類型的無線網絡進行通訊或者通過預置類型的無線網絡與其他設備進行通訊。上述的預置類型的無線網絡可包括蜂窩式電話網、無線局域網或者城域網。上述的預置類型的無線網絡可以使用各種通信標準、協(xié)議及技術,包括但并不限于全球移動通信系統(tǒng)(Global System for Mobile Communication,GSM),增強型移動通信技術(Enhanced Data GSM Environment,EDGE),寬帶碼分多址技術(Wideband Code Division Multiple Access,W-CDMA),碼分多址技術(Code Division Access,CDMA),時分多址技術(Time Division Multiple Access,TDMA),藍牙,無線保真技術(Wireless-Fidelity,WiFi)(如美國電氣和電子工程師協(xié)會標準IEEE 802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n),網絡電話(Voice over Internet Protocal,VoIP),全球微波互聯接入(Worldwide Interoperability for Microwave Access,Wi-Max),其他用于郵件、即時通訊及短消息的協(xié)議,以及任何其他合適的通訊協(xié)議。
按鍵模塊106提供用戶向移動終端進行輸入的接口,用戶可以通過按下不同的按鍵以使移動終端10執(zhí)行不同的功能。
音頻模塊107向用戶提供音頻接口,其可包括一個或多個麥克風、一個或者多個揚聲器以及音頻電路。音頻電路從外設接口104處接收聲音數據,將聲音數據轉換為電信息,將電信息傳輸至揚聲器。揚聲器將電信息轉換為人耳能聽到的聲波。音頻電路還從麥克風處接收電信息,將電信號轉換為聲音數據,并將聲音數據傳輸至外設接口104中以進行進一步的處理。音頻數據可以從存儲器101處或者通過射頻模塊105獲取。此外,音頻數據也可以存儲至存儲器101中或者通過射頻模塊105進行發(fā)送。在一些實例中,音頻模塊107還可包括一個耳機播孔,用于向耳機或者其他設備提供音頻接口。
觸控屏幕108在移動終端與用戶之間同時提供一個輸出及輸入界面。具體地,觸控屏幕108向用戶顯示視頻輸出,這些視頻輸出的內容可包括文字、圖形、視頻、及其任意組合。一些輸出結果是對應于一些用戶界面對象。觸控屏幕108還接收用戶的輸入,例如用戶的點擊、滑動等手勢操作,以便用戶界面對象對這些用戶的輸入做出響應。檢測用戶輸入的技術可以是基于電阻式、電容式或者其他任意可能的觸控檢測技術。觸控屏幕108顯示單元的具體實例包括但并不限于液晶顯示器或發(fā)光聚合物顯示器。
基于上述移動終端描述本發(fā)明實施例中傳感器數據上傳方法。
由于現有技術中,多個傳感器同時被調用時,會帶來數據上傳通道被搶占及堵塞,進而造成應用程序的功能異常的技術問題。
為了解決上述問題,本發(fā)明提出一種傳感器數據上報方法,通過攔截多個傳感器的調用指令,根據多個傳感器的優(yōu)先級確定該多個傳感器的數據上報的上報順序,使得該多個傳感器能夠依據該上報順序依次上報數據,避免多個傳感器的數據同時上報帶來的數據上傳通道被搶占及堵塞,使得應用程序能夠正常的實現其功能。
請參閱圖2,為本發(fā)明第一實施例中傳感器數據上報方法的流程示意圖,該方法包括:
步驟201、若檢測到多個傳感器的調用指令,則攔截所述多個傳感器的調用指令;
步驟202、根據所述多個傳感器的優(yōu)先級確定所述多個傳感器數據上報的上報順序;
步驟203、依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
在本發(fā)明實施例中,移動終端上可安裝多種不同功能的應用程序,且為了能夠實現應用程序的功能,移動終端包括多種不同類型的傳感器,應用程序在啟動之后,或者在執(zhí)行某種指定的功能時,需要調用傳感器的數據,以便實現相應的功能。
其中,上述傳感器數據上報方法具體是由傳感器數據上報裝置(以下簡稱:上報裝置)實現的,該上報裝置可以是移動終端,也可以是移動終端內的部分部件。
在本發(fā)明實施例中,應用程序在需要使用傳感器的數據時,將生成傳感器的調用指令,若上報裝置檢測到多個傳感器的調用指令,則攔截該多個傳感器的調用指令,避免該多個傳感器的調用指令同時執(zhí)行帶來的上傳通道搶占及堵塞的問題。進一步的,上報裝置將根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序??梢岳斫獾氖牵谏蠄箜樞蛑?,優(yōu)先級越高的傳感器,其上報序號越排在前面,即能夠優(yōu)先進行上報。
其中,傳感器的優(yōu)先級可以僅與傳感器的類型有關,也可以與調用該傳感器的數據的應用程序有關。在后續(xù)的實施例中將詳細描述,此處不做贅述。
在本發(fā)明實施例中,上報裝置將依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序依次上報數據。例如,若該上報順序中依次包含傳感器A,傳感器B,及傳感器C,則上報裝置將先執(zhí)行傳感器A的調用指令A,即將調用指令A發(fā)送給傳感器A,使能傳感器A,并在預置時間段之后,執(zhí)行傳感器B的調用指令B,即將調用指令B發(fā)送給傳感器B,使能傳感器B,且在預置時間段之后,執(zhí)行觸感器C的調用指令C,即將調用指令C發(fā)送給傳感器C,使能傳感器C,使得傳感器A、B及C將依次使能,并依次上報數據,能夠有效避免傳感器A、B、C同時使能帶來的上報通道被搶占及堵塞的情況發(fā)生。可以理解的是,上述預置時間段可以根據具體的需要進行設置,僅需要確保上報通道中一次只上報一個傳感器的數據即可。
可以理解的是,本發(fā)明實施例中的技術方案運行在移動終端處于亮屏狀態(tài)下的情況,尤其適用于移動終端的屏幕從暗屏狀態(tài)切換到亮屏狀態(tài)的場景,或者其他的多個傳感器同時被調用的場景。
可以理解的是,在本發(fā)明實施例中,傳感器在上報數據時,是需要使用到上報通道的,且傳感器上報的數據通過上報通道的傳輸之后,是到達調用該傳感器的應用程序的,使得該應用程序能夠使用上報的數據正常實現其功能。
在本發(fā)明實施例中,若檢測到多個傳感器的調用指令,則攔截該多個傳感器的調用指令,根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,并依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序依次上報數據。相對于現有技術,通過攔截多個傳感器的調用指令,并根據多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,使得該多個傳感器能夠依據該上報順序依次上報數據,避免多個傳感器的數據同時上報帶來的上傳通道被搶占及堵塞,使得應用程序能夠正常的實現其功能。
請參閱圖3,為本發(fā)明第二實施例中傳感器數據上報方法的流程示意圖,該方法包括:
步驟301、若檢測到多個傳感器的調用指令,則攔截所述多個傳感器的調用指令;
步驟302、查找預先設置的傳感器與優(yōu)先級之間的對應關系,確定所述多個傳感器的優(yōu)先級;
步驟303、將所述多個傳感器的優(yōu)先級按照從高到低的順序進行排序,將排序結果作為所述多個傳感器的數據上報的上報順序;
步驟304、依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
基于第一實施例,在本發(fā)明實施例中,上報裝置在檢測到多個傳感器的調用指令后,將攔截該多個傳感器的調用指令,以避免該多個傳感器的調用指令同時執(zhí)行帶來的上傳通道搶占及堵塞的問題。
其中,為了確定調用的傳感器上報數據的上報順序,移動終端內預先設置了傳感器與優(yōu)先級之間的對應關系,該傳感器與優(yōu)先級之間的對應關系是基于傳感器的類型預先設置的,例如,對于接近傳感器、環(huán)境光傳感器、壓力傳感器等傳感器,可以將其優(yōu)先級順序設置為接近傳感器的優(yōu)先級高于環(huán)境光傳感器的優(yōu)先級,且環(huán)境光傳感器的優(yōu)先級高于壓力傳感器的優(yōu)先級。
其中,上報裝置在攔截多個傳感器的調用指令之后,將查找預先設置的傳感器與優(yōu)先級之間的對應關系,確定該多個傳感器的優(yōu)先級,并將該多個傳感器的優(yōu)先級按照從高到低的順序進行排序,且將排序結果作為該多個傳感器數據上報的上報順序。
在本發(fā)明實施例中,上報裝置將依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序上報數據。
在本發(fā)明實施例中,預先設置傳感器與優(yōu)先級之間的對應關系,使得在檢測到多個傳感器的調用指令時,可通過攔截該多個傳感器的調用指令,并利用上述對應關系確定該多個傳感器上報數據的上報順序,以便依據該上報順序依次執(zhí)行相應傳感器的調用指令,實現該多個傳感器的數據上報,且由于該多個傳感器將依據上報順序依次上報數據,能夠避免多個傳感器同時上報數據帶來的上報通道搶占及堵塞的問題,使得調用該多個傳感器的應用程序均能夠正常實現其功能。
請參閱圖4,為本發(fā)明第三實施例中傳感器數據上報方法的流程示意圖,該方法包括:
步驟401、若檢測到多個傳感器的調用指令,則攔截所述多個傳感器的調用指令;
步驟402、確定所述多個傳感器分別對應的應用程序;
步驟403、查找預先設置的應用程序與優(yōu)先級之間的對應關系,確定所述多個傳感器分別對應的應用程序的優(yōu)先級;
步驟404、將所述多個傳感器分別對應的應用程序的優(yōu)先級從高到低的順序作為所述多個傳感器的數據上報的上報順序;
步驟405、依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
基于第一實施例,在本發(fā)明實施例中,應用程序在啟動,或者需要實現其某個功能時,若需要使用到傳感器的數據,則將生成該傳感器的調用指令。上報裝置在檢測到多個傳感器的調用指令時,將攔截該多個傳感器的調用指令,并確定該多個傳感器分別對應的應用程序,其中,該應用程序即為調用傳感器的應用程序,例如,若應用程序A調用傳感器A,則傳感器A對應的應用程序即為應用程序A。
在本發(fā)明實施例中,移動終端內預先設置了應用程序與優(yōu)先級的對應關系,并可利用該應用程序與優(yōu)先級的對應關系確定應用程序調用的傳感器的優(yōu)先級,使得具有高優(yōu)先級的應用程序調用的傳感器也有高優(yōu)先級。
其中,上報裝置在確定多個傳感器分別對應的應用程序之后,將查找預先設置的應用程序與優(yōu)先級之間的對應關系,確定該多個傳感器分別對應的應用程序的優(yōu)先級,并將該多個傳感器分別對應的應用程序的優(yōu)先級從高到低的順序作為該多個傳感器的數據上報的上報順序。
其中,基于調用傳感器的應用程序確定傳感器的優(yōu)先級主要是考慮到不同應用程序可能會調用同一個傳感器的情況,而不同傳感器之間優(yōu)先級是不同的。例如:可以按照界面相關、亮度相關、后續(xù)應用相關的順序預先設置各種應用程序的優(yōu)先級。其中,界面相關指的是防止誤觸發(fā)應用界面及指紋界面等,具有防止誤觸發(fā)功能的應用程序的優(yōu)先級可以設置為最高,因為該應用程序會依據接近傳感器的狀態(tài)來決定是否創(chuàng)建或者切換到另一個界面,需要及時獲取到接近傳感器上報的數據,若接近傳感器數據上報的較晚,那么將出現已經顯示正常的應用界面之后,又彈出誤觸發(fā)界面進行提示,給用戶帶來較大的困擾。其中,亮度相關指的是背光亮度界面,該背光亮度界面需要基于環(huán)境光傳感器上報的數據設置背光亮度,如果該環(huán)境光傳感器上報的比較慢,那么就可能造成背光應用程序使用的是上一次的環(huán)境光數據的情況,從而造成屏幕的閃爍。其中,后續(xù)應用指的是其他應用程序,比如自動轉屏應用程序,指南針應用程序等等??梢岳斫獾氖牵趯嶋H應用中,可根據具體的情況設置各應用程序的優(yōu)先級,此處不做限定。
可以理解的是,若兩個不同的應用程序調用同一個傳感器,則該傳感器的優(yōu)先級以該兩個應用程序中優(yōu)先級最高的為準。
在本發(fā)明實施例中,調用指令可以是使能指令。
在本發(fā)明實施例中,預先設置應用程序與優(yōu)先級之間的對應關系,使得在檢測到多個傳感器的調用指令時,可先確定該多個傳感器分別對應的應用程序,并利用上述對應關系確定該多個傳感器分別對應的應用程序的優(yōu)先級,并基于多個傳感器分別對應的應用程序的優(yōu)先級從到到底的順序確定傳感器的上報順序,并利用該上報順序依次執(zhí)行相應傳感器的調用指令,實現多個傳感器依次上報數據,能夠有效避免多個傳感器同時上報數據帶來的上報通道搶占及堵塞的問題。
請參閱圖5,為本發(fā)明第四實施例中傳感器數據上報方法的流程示意圖,該方法包括:
步驟501、若檢測到多個傳感器的調用指令,則判斷所述多個傳感器的總個數是否大于預先設置的數值;
步驟502、當所述總個數大于預先設置的數值時,攔截所述多個傳感器的調用指令;
步驟503、根據所述多個傳感器的優(yōu)先級確定所述多個傳感器數據上報的上報順序;
步驟504、依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
在本發(fā)明實施例中,上述步驟503及步驟504分別與第一實施例中步驟202及步驟203描述的內容相似,此處不做贅述。
在本發(fā)明實施例中,上報裝置在檢測到多個傳感器的調用指令時,將判斷該多個傳感器的總個數是否大于預先設置的數值。其中,該總個數是指當前被調用的傳感器的總個數,該預先設置的數值可以是基于實驗確定的傳感器同時上報數據且不會造成上報通道搶占及堵塞時傳感器個數的最大值。
在本發(fā)明實施例中,若檢測到被調用的傳感器的總個數小于或等于預先設置的數值時,表明同時上報數據并不會帶來上報通道搶占及堵塞,若檢測到被調用的傳感器的總個數大于該預先設置的數值時,上報裝置將攔截該多個傳感器的調用指令。
在本發(fā)明實施例中,在檢測到多個傳感器的調用指令時,通過確定該多個傳感器的總個數以確定是否會帶來上報通道的搶占及堵塞,且在該總個數大于預先設置的數值時,攔截該多個傳感器的調用指令,并根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,以便依據該上報順序執(zhí)行相應傳感應的調用指令,使得該多個傳感器將依據該上報順序依次上報數據,避免產生上報通道搶占及堵塞的情況,使得應用程序都能正常實現其功能。
可以理解的是,為了實現對傳感器上報數據的順序的控制,上述第一至第三實施例中還可以執(zhí)行以下步驟:
若檢測到第一傳感器的停止調用指令,則對所述第一傳感器去使能,并將所述第一傳感器從所述上報順序中刪除,以便所述第一傳感器不上傳數據;
在本發(fā)明實施例中,上報裝置在得到上述上報順序,且基于該上報順序執(zhí)行相應傳感器的調用指令之后,上述多個傳感器將依據該上報順序上報數據。在這種情況下,若上報裝置檢測到第一傳感器的停止調用指令,則將該第一傳感器去使能,并將該第一傳感器從上述上報順序中刪除,以便第一傳感器不上傳數據。通常應用程序在關閉時,都將去使能其正在調用的傳感器,并將生成停止調用指令。
進一步的,上報裝置還將執(zhí)行以下步驟:
若檢測到第二傳感器的調用指令,則確定所述第二傳感器的優(yōu)先級,并基于所述第二傳感器的優(yōu)先級將所述第二傳感器添加至所述上報順序中。
在本發(fā)明實施例中,上報裝置得到上報信息,并基于該上報順序執(zhí)行相應傳感器的調用指令之后,多個傳感器將依據該上報順序上報數據,在這種情況下,若該上報裝置檢測到第二傳感器的調用指令,將確定該第二傳感器的優(yōu)先級,具體可以利用預先設置的傳感器與優(yōu)先級之間的對應關系,或者利用預先設置的應用程序與優(yōu)先級之間的對應關系,且在確定第二傳感器的優(yōu)先級之后,將基于該第二傳感器的優(yōu)先級將該第二傳感器添加至上述上報順序中??梢岳斫獾氖牵趯⒌诙鞲衅魈砑又恋缴鲜錾蠄箜樞蛑兄?,在輪到第二傳感器上報數據時,執(zhí)行第二傳感器的調用指令,以便第二傳感器上報數據,同時,還將控制排在第二傳感器后的傳感器均增加一個延遲時間段,并在增加延遲時間段的基礎上上報數據。
在本發(fā)明實施例中,通過設置上報順序的方式,使得傳感器能夠依據該上報順序上報數據,而不會出現多個傳感器同時上報數據帶來的上報通道被搶占及堵塞的問題,能夠有效的確保應用程序的功能的正常實現。
請參閱圖6,為本發(fā)明第五實施例中傳感器數據上報裝置的功能模塊的示意圖,該上報裝置包括:
攔截模塊601,用于若檢測到多個傳感器的調用指令,則攔截所述多個傳感器的調用指令;
確定模塊602,用于根據所述多個傳感器的優(yōu)先級確定所述多個傳感器數據上報的上報順序;
執(zhí)行模塊603,用于依據所述上報順序依次執(zhí)行相應傳感器的調用指令,以便所述多個傳感器依據所述上報順序依次上報數據。
在本發(fā)明實施例中,移動終端上可安裝多種不同功能的應用程序,且為了能夠實現應用程序的功能,移動終端包括多種不同類型的傳感器,應用程序在啟動之后,或者在執(zhí)行某種指定的功能時,需要調用傳感器的數據,以便實現相應的功能。
在本發(fā)明實施例中,應用程序在需要使用傳感器的數據時,將生成傳感器的調用指令,若上報裝置檢測到多個傳感器的調用指令,則攔截模塊601攔截該多個傳感器的調用指令,避免該多個傳感器的調用指令同時執(zhí)行帶來的上傳通道搶占及堵塞的問題。進一步的,確定模塊602將根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序??梢岳斫獾氖?,在上報順序中,優(yōu)先級越高的傳感器,其上報序號越排在前面,即能夠優(yōu)先進行上報。
其中,傳感器的優(yōu)先級可以僅與傳感器的類型有關,也可以與調用該傳感器的數據的應用程序有關。在后續(xù)的實施例中將詳細描述,此處不做贅述。
在本發(fā)明實施例中,執(zhí)行模塊603將依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序依次上報數據。例如,若該上報順序中依次包含傳感器A,傳感器B,及傳感器C,則上報裝置將先執(zhí)行傳感器A的調用指令A,即將調用指令A發(fā)送給傳感器A,使能傳感器A,并在預置時間段之后,執(zhí)行傳感器B的調用指令B,即將調用指令B發(fā)送給傳感器B,使能傳感器B,且在預置時間段之后,執(zhí)行觸感器C的調用指令C,即將調用指令C發(fā)送給傳感器C,使能傳感器C,使得傳感器A、B及C將依次使能,并依次上報數據,能夠有效避免傳感器A、B、C同時使能帶來的上報通道被搶占及堵塞的情況發(fā)生??梢岳斫獾氖牵鲜鲱A置時間段可以根據具體的需要進行設置,僅需要確保上報通道中一次只上報一個傳感器的數據即可。
可以理解的是,本發(fā)明實施例中的技術方案運行在移動終端處于亮屏狀態(tài)下的情況,尤其適用于移動終端的屏幕從暗屏狀態(tài)切換到亮屏狀態(tài)的場景,或者其他的多個傳感器同時被調用的場景。
在本發(fā)明實施例中,若檢測到多個傳感器的調用指令,則攔截該多個傳感器的調用指令,根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,并依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序依次上報數據。相對于現有技術,通過攔截多個傳感器的調用指令,并根據多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,使得該多個傳感器能夠依據該上報順序依次上報數據,避免多個傳感器的數據同時上報帶來的上傳通道被搶占及堵塞,使得應用程序能夠正常的實現其功能。
請參閱圖7,為本發(fā)明第六實施例中傳感器數據上報裝置的功能模塊的示意圖,該上報裝置包括如第五實施例中的攔截模塊601、確定模塊602及執(zhí)行模塊603,且與第五實施例中描述的內容相似,此處不做贅述。
其中,確定模塊602包括:
第一查找模塊701,用于查找預先設置的傳感器與優(yōu)先級之間的對應關系,確定所述多個傳感器的優(yōu)先級;
第一確定模塊702,用于將所述多個傳感器的優(yōu)先級按照從高到低的順序進行排序,將排序結果作為所述多個傳感器數據上報的上報順序。
在本發(fā)明實施例中,在檢測到多個傳感器的調用指令后,攔截模塊601攔截該多個傳感器的調用指令,以避免該多個傳感器的調用指令同時執(zhí)行帶來的上傳通道搶占及堵塞的問題。
其中,為了確定調用的傳感器上報數據的上報順序,移動終端內預先設置了傳感器與優(yōu)先級之間的對應關系,該傳感器與優(yōu)先級之間的對應關系是基于傳感器的類型預先設置的,例如,對于接近傳感器、環(huán)境光傳感器、壓力傳感器等傳感器,可以將其優(yōu)先級順序設置為接近傳感器的優(yōu)先級高于環(huán)境光傳感器的優(yōu)先級,且環(huán)境光傳感器的優(yōu)先級高于壓力傳感器的優(yōu)先級。
其中,在攔截多個傳感器的調用指令之后,第一查找模塊701將查找預先設置的傳感器與優(yōu)先級之間的對應關系,確定該多個傳感器的優(yōu)先級,并由第一確定模塊702將該多個傳感器的優(yōu)先級按照從高到低的順序進行排序,且將排序結果作為該多個傳感器數據上報的上報順序。
在本發(fā)明實施例中,上報裝置將依據該上報順序依次執(zhí)行相應傳感器的調用指令,以便該多個傳感器依據該上報順序上報數據。
在本發(fā)明實施例中,預先設置傳感器與優(yōu)先級之間的對應關系,使得在檢測到多個傳感器的調用指令時,可通過攔截該多個傳感器的調用指令,并利用上述對應關系確定該多個傳感器上報數據的上報順序,以便依據該上報順序依次執(zhí)行相應傳感器的調用指令,實現該多個傳感器的數據上報,且由于該多個傳感器將依據上報順序依次上報數據,能夠避免多個傳感器同時上報數據帶來的上報通道搶占及堵塞的問題,使得調用該多個傳感器的應用程序均能夠正常實現其功能。
請參閱圖8,為本發(fā)明第七實施例中傳感器數據上報裝置的功能模塊的示意圖,該上報裝置包括如第五實施例中的攔截模塊601、確定模塊602及執(zhí)行模塊603,且與第五實施例中描述的內容相似,此處不做贅述。
其中,確定模塊602包括:
程序確定模塊801,用于確定所述多個傳感器分別對應的應用程序;
第二查找模塊802,用于查找預先設置的應用程序與優(yōu)先級之間的對應關系,確定所述多個傳感器分別對應的應用程序的優(yōu)先級;
第二確定模塊803,用于將所述多個傳感器分別對應的應用程序的優(yōu)先級從高到低的順序作為所述多個傳感器數據上報的上報順序。
在本發(fā)明實施例中,應用程序在啟動,或者需要實現其某個功能時,若需要使用到傳感器的數據,則將生成該傳感器的調用指令。上報裝置在檢測到多個傳感器的調用指令時,將由攔截模塊601攔截該多個傳感器的調用指令,并由程序確定模塊801確定該多個傳感器分別對應的應用程序,其中,該應用程序即為調用傳感器的應用程序,例如,若應用程序A調用傳感器A,則傳感器A對應的應用程序即為應用程序A。
在本發(fā)明實施例中,移動終端內預先設置了應用程序與優(yōu)先級的對應關系,并可利用該應用程序與優(yōu)先級的對應關系確定應用程序調用的傳感器的優(yōu)先級,使得具有高優(yōu)先級的應用程序調用的傳感器也有高優(yōu)先級。
其中,程序確定模塊801在確定多個傳感器分別對應的應用程序之后,第二查找模塊802將查找預先設置的應用程序與優(yōu)先級之間的對應關系,確定該多個傳感器分別對應的應用程序的優(yōu)先級,并由第二確定模塊803將該多個傳感器分別對應的應用程序的優(yōu)先級從高到低的順序作為該多個傳感器的數據上報的上報順序。
其中,基于調用傳感器的應用程序確定傳感器的優(yōu)先級主要是考慮到不同應用程序可能會調用同一個傳感器的情況,而不同傳感器之間優(yōu)先級是不同的。例如:可以按照界面相關、亮度相關、后續(xù)應用相關的順序預先設置各種應用程序的優(yōu)先級。其中,界面相關指的是防止誤觸發(fā)應用界面及指紋界面等,具有防止誤觸發(fā)功能的應用程序的優(yōu)先級可以設置為最高,因為該應用程序會依據接近傳感器的狀態(tài)來決定是否創(chuàng)建或者切換到另一個界面,需要及時獲取到接近傳感器上報的數據,若接近傳感器數據上報的較晚,那么將出現已經顯示正常的應用界面之后,又彈出誤觸發(fā)界面進行提示,給用戶帶來較大的困擾。其中,亮度相關指的是背光亮度界面,該背光亮度界面需要基于環(huán)境光傳感器上報的數據設置背光亮度,如果該環(huán)境光傳感器上報的比較慢,那么就可能造成背光應用程序使用的是上一次的環(huán)境光數據的情況,從而造成屏幕的閃爍。其中,后續(xù)應用指的是其他應用程序,比如自動轉屏應用程序,指南針應用程序等等。可以理解的是,在實際應用中,可根據具體的情況設置各應用程序的優(yōu)先級,此處不做限定。
可以理解的是,若兩個不同的應用程序調用同一個傳感器,則該傳感器的優(yōu)先級以該兩個應用程序中優(yōu)先級最高的為準。
在本發(fā)明實施例中,調用指令可以是使能指令。
在本發(fā)明實施例中,預先設置應用程序與優(yōu)先級之間的對應關系,使得在檢測到多個傳感器的調用指令時,可先確定該多個傳感器分別對應的應用程序,并利用上述對應關系確定該多個傳感器分別對應的應用程序的優(yōu)先級,并基于多個傳感器分別對應的應用程序的優(yōu)先級從到到底的順序確定傳感器的上報順序,并利用該上報順序依次執(zhí)行相應傳感器的調用指令,實現多個傳感器依次上報數據,能夠有效避免多個傳感器同時上報數據帶來的上報通道搶占及堵塞的問題。
請參閱圖9,為本發(fā)明第八實施例中傳感器數據上報裝置的功能模塊的示意圖,該上報裝置包括如第五實施例中的攔截模塊601、確定模塊602及執(zhí)行模塊603,且與第五實施例中描述的內容相似,此處不做贅述。
在本發(fā)明實施例中,該上報裝置還包括:
判斷模塊901,用于判斷所述多個傳感器的總個數是否大于預先設置的數值;
觸發(fā)模塊902,用于當所述總個數大于預先設置的數值時,觸發(fā)所述攔截模塊601。
在本發(fā)明實施例中,上報裝置在檢測到多個傳感器的調用指令時,將由判斷模塊901判斷該多個傳感器的總個數是否大于預先設置的數值。其中,該總個數是指當前被調用的傳感器的總個數,該預先設置的數值可以是基于實驗確定的傳感器同時上報數據且不會造成上報通道搶占及堵塞時傳感器個數的最大值。
在本發(fā)明實施例中,若檢測到被調用的傳感器的總個數小于或等于預先設置的數值時,表明同時上報數據并不會帶來上報通道搶占及堵塞,若檢測到被調用的傳感器的總個數大于該預先設置的數值時,觸發(fā)模塊902將觸發(fā)攔截模塊6021攔截該多個傳感器的調用指令。
在本發(fā)明實施例中,在檢測到多個傳感器的調用指令時,通過確定該多個傳感器的總個數以確定是否會帶來上報通道的搶占及堵塞,且在該總個數大于預先設置的數值時,攔截該多個傳感器的調用指令,并根據該多個傳感器的優(yōu)先級確定該多個傳感器數據上報的上報順序,以便依據該上報順序執(zhí)行相應傳感應的調用指令,使得該多個傳感器將依據該上報順序依次上報數據,避免產生上報通道搶占及堵塞的情況,使得應用程序都能正常實現其功能。
進一步的,在上述第五實施例至第八實施例中,上報裝置還可以包括以下模塊:
刪除模塊(未在圖中示出),用于若檢測到第一傳感器的停止調用指令,則對所述第一傳感器去使能,并將所述第一傳感器從所述上報順序中刪除,以便所述第一傳感器不上傳數據;
添加模塊(未在圖中示出),用于若檢測到第二傳感器的調用指令,則確定所述第二傳感器的優(yōu)先級,并基于所述第二傳感器的優(yōu)先級將所述第二傳感器添加至所述上報順序中。
在本發(fā)明實施例中,上報裝置在得到上述上報順序,且基于該上報順序執(zhí)行相應傳感器的調用指令之后,上述多個傳感器將依據該上報順序上報數據。在這種情況下,若上報裝置檢測到第一傳感器的停止調用指令,則刪除模塊將該第一傳感器去使能,并將該第一傳感器從上述上報順序中刪除,以便第一傳感器不上傳數據。通常應用程序在關閉時,都將去使能其正在調用的傳感器,并將生成停止調用指令。
在本發(fā)明實施例中,上報裝置得到上報信息,并基于該上報順序執(zhí)行相應傳感器的調用指令之后,多個傳感器將依據該上報順序上報數據,在這種情況下,若該上報裝置檢測到第二傳感器的調用指令,添加模塊將確定該第二傳感器的優(yōu)先級,具體可以利用預先設置的傳感器與優(yōu)先級之間的對應關系,或者利用預先設置的應用程序與優(yōu)先級之間的對應關系,且在確定第二傳感器的優(yōu)先級之后,添加模塊將基于該第二傳感器的優(yōu)先級將該第二傳感器添加至上述上報順序中??梢岳斫獾氖牵趯⒌诙鞲衅魈砑又恋缴鲜錾蠄箜樞蛑兄?,在輪到第二傳感器上報數據時,執(zhí)行第二傳感器的調用指令,以便第二傳感器上報數據,同時,還將控制排在第二傳感器后的傳感器均增加一個延遲時間段,并在增加延遲時間段的基礎上上報數據。
在本發(fā)明實施例中,通過設置上報順序的方式,使得傳感器能夠依據該上報順序上報數據,而不會出現多個傳感器同時上報數據帶來的上報通道被搶占及堵塞的問題,能夠有效的確保應用程序的功能的正常實現。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個模塊或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網絡模塊上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。
所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
需要說明的是,對于前述的各方法實施例,為了簡便描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據本發(fā)明,某些步驟可以采用其它順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定都是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關描述。
以上為對本發(fā)明所提供的一種傳感器數據上傳方法及裝置的描述,對于本領域的技術人員,依據本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上,本說明書內容不應理解為對本發(fā)明的限制。