本公開涉及操作系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種文件系統(tǒng)卸載方法及裝置。
背景技術(shù):
目前在系統(tǒng)關(guān)機或者對分區(qū)進行操作之前,通常需要卸載對應磁盤分區(qū)上的文件系統(tǒng),以避免損壞該磁盤分區(qū)上的文件系統(tǒng)或者文件。相關(guān)技術(shù)中,如果磁盤分區(qū)上的文件正在被使用,則無法完成該磁盤分區(qū)上文件系統(tǒng)的卸載,導致卸載失敗。
技術(shù)實現(xiàn)要素:
為了解決上述問題,本公開提供一種文件系統(tǒng)卸載方法及裝置。
具體地,本公開是通過如下技術(shù)方案實現(xiàn)的:
根據(jù)本公開實施例的第一方面,提供一種文件系統(tǒng)卸載方法,所述方法包括:
檢測目標磁盤分區(qū)上的文件是否正在被訪問;
若有文件正在被訪問,則查找正在訪問所述文件的進程;
殺掉所述進程,并卸載所述目標磁盤分區(qū)上的文件系統(tǒng)。
在一實施例中,所述檢測目標磁盤分區(qū)上的文件是否正在被訪問,包括:
調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄;
若通過所述umount函數(shù)卸載所述目標磁盤分區(qū)上的文件系統(tǒng)失敗,則檢查卸載失敗的錯誤碼errno是否為EBUSY;
其中,若所述錯誤碼errno為EBUSY,則所述目標磁盤分區(qū)上有文件正在被訪問。
在一實施例中,所述查找正在訪問所述文件的進程,包括:
確定/proc目錄下以數(shù)字命名的子目錄;
遍歷所述子目錄下fd目錄中的文件描述符;
判斷所述文件描述符與所述目標磁盤分區(qū)的掛載點目錄的目錄名稱是否相同,若相同,則該文件描述符對應的進程為正在訪問所述文件的進程。
在一實施例中,所述殺掉所述進程,包括:
獲取所述進程的標識;
調(diào)用kill函數(shù),向所述kill函數(shù)傳遞所述進程的標識。
在一實施例中,所述卸載所述目標磁盤分區(qū)上的文件系統(tǒng),包括:
調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄。
根據(jù)本公開實施例的第二方面,提供一種文件系統(tǒng)卸載裝置,所述裝置包括:
檢測模塊,被配置為檢測目標磁盤分區(qū)上的文件是否正在被訪問;
查找模塊,被配置為在所述檢測模塊的檢測結(jié)果為是的情況下,查找正在訪問所述文件的進程;
終止模塊,被配置為殺掉所述查找模塊查找到的進程;
卸載模塊,被配置為在所述終止模塊殺掉所述進程后,卸載所述目標磁盤分區(qū)上的文件系統(tǒng)。
在一實施例中,所述檢測模塊,包括:
第一函數(shù)調(diào)用子模塊,被配置為調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄;
檢查子模塊,被配置為在通過所述umount函數(shù)卸載所述目標磁盤分區(qū)上的文件系統(tǒng)失敗的情況下,檢查卸載失敗的錯誤碼errno是否為EBUSY;
其中,若所述檢查子模塊的檢查結(jié)果為是,則所述目標磁盤分區(qū)上有文件正在被訪問。
在一實施例中,所述查找模塊,包括:
確定子模塊,被配置為確定/proc目錄下以數(shù)字命名的子目錄;
遍歷子模塊,被配置為遍歷所述確定子模塊確定的子目錄下fd目錄中的文件描述符;
判斷子模塊,被配置為判斷所述遍歷子模塊遍歷到的文件描述符與所述目標磁盤分區(qū)的掛載點目錄的目錄名稱是否相同,若相同,則該文件描述符對應的進程為正在訪問所述文件的進程。
在一實施例中,所述終止模塊,包括:
標識獲取子模塊,被配置為獲取所述進程的標識;
第二函數(shù)調(diào)用子模塊,被配置為調(diào)用kill函數(shù),向所述kill函數(shù)傳遞所述標識獲取子模塊獲取到的所述進程的標識。
在一實施例中,所述卸載模塊,包括:
第三函數(shù)調(diào)用子模塊,被配置為調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄。
根據(jù)本公開實施例的第三方面,提供一種文件系統(tǒng)卸載裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
檢測目標磁盤分區(qū)上的文件是否正在被訪問;
若有文件正在被訪問,則查找正在訪問所述文件的進程;
殺掉所述進程,并卸載所述目標磁盤分區(qū)上的文件系統(tǒng)。
本實施例可以在磁盤分區(qū)上的文件被進程訪問時,找出該進程并殺掉,之后再卸載該磁盤分區(qū)上的文件系統(tǒng),從而能夠避免因進程占用文件所導致的文件系統(tǒng)卸載失敗,一方面,提高了文件系統(tǒng)的卸載成功率,另一方面,提高了系統(tǒng)的穩(wěn)定性。
本實施例可以通過umount函數(shù)判斷磁盤分區(qū)上的文件是否正在被進程訪問,如果被進程訪問,則通過遍歷/proc目錄的方式找出該進程并殺掉,之后再次通過umount函數(shù)卸載該磁盤分區(qū)上的文件系統(tǒng),從而解決進程占用文件導致卸載文件系統(tǒng)失敗的問題,一方面,提高了文件系統(tǒng)的卸載成功率,另一方面,提高了系統(tǒng)的穩(wěn)定性。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是本公開根據(jù)一示例性實施例示出的一種文件系統(tǒng)卸載方法的流程圖;
圖2是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載方法的流程圖;
圖3是本公開根據(jù)一示例性實施例示出的一種文件系統(tǒng)卸載裝置的框圖;
圖4是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖;
圖5是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖;
圖6是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖;
圖7是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖;
圖8是本公開根據(jù)一示例性實施例示出的一種用于文件系統(tǒng)卸載裝置的一結(jié)構(gòu)示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
在本公開使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本公開。在本公開和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
應當理解,盡管在本公開可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本公開范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
目前在系統(tǒng)關(guān)機或者對分區(qū)進行操作之前,通常需要卸載對應磁盤分區(qū)上的文件系統(tǒng),以避免損壞該磁盤分區(qū)上的文件系統(tǒng)或者文件。相關(guān)技術(shù)中,如果磁盤分區(qū)上的文件正在被使用,則無法完成該磁盤分區(qū)上文件系統(tǒng)的卸載,導致卸載失敗。為了解決上述問題,本公開提供了一種文件系統(tǒng)卸載方法及裝置。
下面首先對本公開提供的一種文件系統(tǒng)卸載方法進行介紹。
需要說明的是,本公開提供的方法適用于終端設(shè)備,在實際應用中,該終端設(shè)備可以包括:智能手機、平板電腦及計算機設(shè)備等等,本公開對此不做限定。
如圖1所示,圖1是本公開根據(jù)一示例性實施例示出的一種文件系統(tǒng)卸載方法的流程圖,該方法可以包括以下步驟:
在步驟101中,檢測目標磁盤分區(qū)上的文件是否正在被訪問。
終端設(shè)備中用于存儲信息的存儲設(shè)備主要是硬盤,但是硬盤并不能被直接使用,必須對硬盤進行分割,分割成的一塊、一塊的硬盤區(qū)域(即磁盤分區(qū)),再對磁盤分區(qū)經(jīng)過格式化(即在磁盤分區(qū)上創(chuàng)建文件系統(tǒng))后,才能夠被使用。
文件系統(tǒng)是終端設(shè)備的操作系統(tǒng)用于組織磁盤分區(qū)上文件的方法,也用于明確磁盤分區(qū)上文件數(shù)據(jù)結(jié)構(gòu)。從系統(tǒng)角度來看,文件系統(tǒng)是對文件存儲設(shè)備的空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統(tǒng)。具體來說,它負責為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲文件,控制文件的存取,當用戶不再使用時撤銷文件等。
在步驟102中,當上述目標磁盤分區(qū)上有文件正在被訪問時,查找正在訪問上述文件的進程。
針對于一些類型的操作系統(tǒng),在本實施例中,可以通過運行l(wèi)sof(list open files)命令或者fuser(find user processes)命令,來識別出正在訪問目標磁盤分區(qū)上文件的進程的PID(Process Identification,進程標識符)。或者,也可以使用相關(guān)技術(shù)中的任意一種進程查找方法,來達到查找正在訪問上述文件的進程的目的,本實施例對此不做限定。
在步驟103中,殺掉正在訪問上述文件的進程。
在本實施例中,可以通過運行kill函數(shù)或者fuser命令的一些高級功能,來終止正在訪問上述文件的進程?;蛘?,也可以使用相關(guān)技術(shù)中的任意一種進程查找方法,來達到殺掉正在訪問上述文件的進程的目的,本實施例對此不做限定。
在步驟104中,卸載上述目標磁盤分區(qū)上的文件系統(tǒng)。
在本實施例中,可以通過運行umount函數(shù),來執(zhí)行常規(guī)的文件系統(tǒng)卸載?;蛘?,也可以使用相關(guān)技術(shù)中的任意一種進程查找方法,來達到卸載上述目標磁盤分區(qū)上的文件系統(tǒng)的目的,本實施例對此不做限定。
由上述實施例可見,該實施例可以在磁盤分區(qū)上的文件被進程訪問時,找出該進程并殺掉,之后再卸載該磁盤分區(qū)上的文件系統(tǒng),從而能夠避免因進程占用文件所導致的文件系統(tǒng)卸載失敗,一方面,提高了文件系統(tǒng)的卸載成功率,另一方面,提高了系統(tǒng)的穩(wěn)定性。
如圖2所示,圖2是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載方法的流程圖,針對于智能手機、平板電腦等類型的終端設(shè)備,該方法可以包括以下步驟:
在步驟201中,調(diào)用umount函數(shù),向該umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄,當通過該umount函數(shù)卸載上述目標磁盤分區(qū)上的文件系統(tǒng)失敗時,檢查卸載失敗的錯誤碼errno是否為EBUSY。
掛載點是磁盤分區(qū)文件系統(tǒng)的入口目錄,掛載是將磁盤分區(qū)關(guān)聯(lián)到某一指定目錄的過程,掛載磁盤分區(qū)使起始于該指定目錄(即掛載點)的磁盤分區(qū)能夠被使用,例如userdata分區(qū),其掛載點目錄為/data。
本實施例中,調(diào)用umount函數(shù)卸載磁盤分區(qū)上文件系統(tǒng)的方法是:向umount函數(shù)傳遞對應磁盤分區(qū)的掛載點,例如磁盤分區(qū):userdata分區(qū),其掛載點目錄為/data,此時僅需要向umount函數(shù)傳遞/data目錄即可,如果userdata分區(qū)上的文件系統(tǒng)卸載成功,則直接返回;如果userdata分區(qū)上的文件系統(tǒng)卸載失敗,則檢查文件系統(tǒng)卸載失敗的錯誤碼errno是否為EBUSY,如果錯誤碼是EBUSY,則說明userdata分區(qū)上有文件正在被進程訪問。
在步驟202中,當上述錯誤碼errno為EBUSY時,確定/proc目錄下以數(shù)字命名的子目錄,遍歷上述子目錄下fd目錄中的文件描述符,判斷上述文件描述符與上述目標磁盤分區(qū)的掛載點目錄的目錄名稱是否相同,若相同,則該文件描述符對應的進程為正在訪問所述文件的進程。
需要說明的是,/proc目錄中保存了當前操作系統(tǒng)所有的詳細信息,包括進程、文件系統(tǒng)、硬件參數(shù)等等;其中,/proc目錄中包含一些以數(shù)字為名稱的子目錄,前述每個子目錄代表了系統(tǒng)中的一個正在運行的進程,子目錄下是有關(guān)這個進程的詳細信息。子目錄的數(shù)字名就是對應進程的PID,每當一個新進程啟動,一個新的目錄就會被創(chuàng)建,同理,進程結(jié)束的時候,相應的目錄也會消失。
在本實施例中,當目標磁盤分區(qū)上的文件系統(tǒng)卸載失敗時,可以打開/proc目錄,查找該目錄下所有目錄名稱為數(shù)字命名的子目錄。之后,遍歷上述查找到的子目錄,每遍歷到一個上述子目錄,則組成“/proc/PID/fd”,之后,進一步遍歷上述每一個子目錄中fd目錄下所有的符號連接文件,比如進程1,其fd目錄下的文件如下:
如上這些文件即是進程1所打開的文件。
接步驟201中的實例,分別讀取這些文件名稱同傳遞進來的掛載點“/data”進行比較,由上述進程1所打開的文件可知,進程1此時所有打開的文件沒有包含userdata分區(qū)上的文件。
繼續(xù)遍歷,直到遍歷到進程2619的fd目錄,發(fā)現(xiàn)該進程2619正在打開如下文件:
由此可見,由于上述文件是以/data開頭的說明,因此2619號進程正在打開userdata分區(qū)上的文件。
在步驟203中,獲取正在訪問上述文件的進程的標識,調(diào)用kill函數(shù),向該kill函數(shù)傳遞上述進程的標識。
接步驟202中的實例,可以依照進程2619的查找過程,找到所有占用/data目錄下文件的所有進程,然后調(diào)用kill函數(shù)傳遞對應進程的PID,殺掉該進程并釋放文件句柄。
在步驟204中,調(diào)用umount函數(shù),向該umount函數(shù)傳遞上述目標磁盤分區(qū)的掛載點目錄。
在確定目標磁盤分區(qū)上沒有文件被占用時,可以再次調(diào)用umount函數(shù)卸載該磁盤分區(qū)上的文件系統(tǒng)。
由上述實施例可見,該實施例可以通過umount函數(shù)判斷磁盤分區(qū)上的文件是否被進程訪問,如果被進程訪問,則通過遍歷/proc目錄的方式找出該進程并殺掉,之后再次通過umount函數(shù)卸載該磁盤分區(qū)上的文件系統(tǒng),從而解決進程占用文件導致卸載文件系統(tǒng)失敗的問題,一方面,提高了文件系統(tǒng)的卸載成功率,另一方面,提高了系統(tǒng)的穩(wěn)定性。
應當注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
與前述文件系統(tǒng)卸載方法的實施例對應,本公開還提供了文件系統(tǒng)卸載裝置的實施例。
如圖3所示,圖3是本公開根據(jù)一示例性實施例示出的一種文件系統(tǒng)卸載裝置的框圖,該裝置可以包括:
檢測模塊310,被配置為檢測目標磁盤分區(qū)上的文件是否正在被訪問;
查找模塊320,被配置為在上述檢測模塊310的檢測結(jié)果為是的情況下,查找正在訪問上述文件的進程;
終止模塊330,被配置為殺掉上述查找模塊320查找到的進程;
卸載模塊340,被配置為在上述終止模塊330殺掉上述進程后,卸載上述目標磁盤分區(qū)上的文件系統(tǒng)。
由上述實施例可見,該實施例可以在磁盤分區(qū)上的文件被進程訪問時,找出該進程并殺掉,之后再卸載該磁盤分區(qū)上的文件系統(tǒng),從而能夠避免因進程占用文件所導致的文件系統(tǒng)卸載失敗,一方面,提高了文件系統(tǒng)的卸載成功率,另一方面,提高了系統(tǒng)的穩(wěn)定性。
如圖4所示,圖4是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖,該實施例可以在圖3所示實施例的基礎(chǔ)上,上述檢測模塊310,可以包括:
第一函數(shù)調(diào)用子模塊311,被配置為調(diào)用umount函數(shù),向上述umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄;
檢查子模塊312,被配置為在通過上述umount函數(shù)卸載上述目標磁盤分區(qū)上的文件系統(tǒng)失敗的情況下,檢查卸載失敗的錯誤碼errno是否為EBUSY;
其中,若上述檢查子模塊的檢查結(jié)果為是,則上述目標磁盤分區(qū)上有文件正在被訪問。
如圖5所示,圖5是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖,該實施例可以在圖3或圖4所示實施例的基礎(chǔ)上,上述查找模塊320,可以包括:
確定子模塊321,被配置為確定/proc目錄下以數(shù)字命名的子目錄;
遍歷子模塊322,被配置為遍歷上述確定子模塊321確定的子目錄下fd目錄中的文件描述符;
判斷子模塊323,被配置為判斷上述遍歷子模塊322遍歷到的文件描述符與上述目標磁盤分區(qū)的掛載點目錄的目錄名稱是否相同,若相同,則該文件描述符對應的進程為正在訪問上述文件的進程。
如圖6所示,圖6是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖,該實施例可以在圖3~圖5所示任一實施例的基礎(chǔ)上,上述終止模塊330,可以包括:
標識獲取子模塊331,被配置為獲取上述進程的標識;
第二函數(shù)調(diào)用子模塊332,被配置為調(diào)用kill函數(shù),向上述kill函數(shù)傳遞上述標識獲取子模塊331獲取到的上述進程的標識。
如圖7所示,圖7是本公開根據(jù)一示例性實施例示出的另一種文件系統(tǒng)卸載裝置的框圖,該實施例可以在圖3~圖6所示任一實施例的基礎(chǔ)上,上述卸載模塊340,可以包括:
第三函數(shù)調(diào)用子模塊341,被配置為調(diào)用umount函數(shù),向上述umount函數(shù)傳遞目標磁盤分區(qū)的掛載點目錄。
上述裝置中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本公開方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
相應的,本公開還提供了一種文件系統(tǒng)卸載裝置,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為:檢測目標磁盤分區(qū)上的文件是否正在被訪問;若有文件正在被訪問,則查找正在訪問所述文件的進程;殺掉所述進程,并卸載所述目標磁盤分區(qū)上的文件系統(tǒng)。
如圖8所示,圖8是本公開根據(jù)一示例性實施例示出的一種用于文件系統(tǒng)卸載裝置800的一結(jié)構(gòu)示意圖。例如,裝置800可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理,飛行器等。
參照圖8,裝置800可以包括以下一個或多個組件:處理組件802,存儲器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口812,傳感器組件814,以及通信組件816。
處理組件802通常控制裝置800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理元件802可以包括一個或多個處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理部件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在設(shè)備800的操作。這些數(shù)據(jù)的示例包括用于在裝置800上操作的任何應用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電力組件806為裝置800的各種組件提供電力。電力組件806可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置800生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件808包括在裝置800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當設(shè)備800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個麥克風(MIC),當裝置800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
I/O接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件814包括一個或多個傳感器,用于為裝置800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到設(shè)備800的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置800的顯示器和小鍵盤,傳感器組件814還可以檢測裝置800或裝置800一個組件的位置改變,用戶與裝置600接觸的存在或不存在,裝置800方位或加速/減速和裝置800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于裝置800和其他設(shè)備之間有線或無線方式的通信。裝置800可以接入基于通信標準的無線網(wǎng)絡,如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信部件816經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信部件816還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,裝置800可以被一個或多個應用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器804,上述指令可由裝置800的處理器820執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的公開后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。