国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法及裝置的制作方法

      文檔序號(hào):6401849閱讀:191來源:國知局
      專利名稱:一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通訊設(shè)備應(yīng)用技術(shù)領(lǐng)域。尤其涉及一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法及裝置。
      背景技術(shù)
      安卓(Android)系統(tǒng)是新一代的智能平臺(tái),越來越多的電子終端使用Android系統(tǒng)作為其操作系統(tǒng)。文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu),即在磁盤上組織文件的方法。文件系統(tǒng)負(fù)責(zé)為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲(chǔ)文件,控制文件的存取,當(dāng)用戶不再使用時(shí)撤銷文件等。當(dāng)前Android 設(shè)備內(nèi)置硬盤只實(shí)現(xiàn)了對(duì) FAT (File Allocation Table FileSystem文檔分配表文件系統(tǒng))文件系統(tǒng)的支持,該系統(tǒng)由于其出色的兼容性,在各種手持設(shè)備上都得到了非常成功的應(yīng)用,但安卓設(shè)備上沒有實(shí)現(xiàn)對(duì)其它常見的文件系統(tǒng)的支持。當(dāng)將Android設(shè)備內(nèi)置硬盤格式化或者轉(zhuǎn)換為其它文件格式如:NTFS(New TechnologyFile System新技術(shù)文件系統(tǒng)),exFAT(Extended File Allocation Table File System擴(kuò)展的文檔分配表文件系統(tǒng))等,設(shè)備將無法掛載,也無法進(jìn)行數(shù)據(jù)的讀寫,從而導(dǎo)致設(shè)備不可用。此外,F(xiàn)AT文件系統(tǒng)都是定義在操作系統(tǒng)內(nèi)核層面上的,如果采用其他文件系統(tǒng)替代FAT文件系統(tǒng)或者與FAT文件系統(tǒng)共同存在時(shí),為了使操作系統(tǒng)能夠識(shí)別新的文件系統(tǒng),必需重寫內(nèi)核,操作復(fù)雜,而且內(nèi)核態(tài)代碼難以調(diào)試,生產(chǎn)率較低。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是提供一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法及裝置,以解決除FAT文件系統(tǒng)外其它常見文件系統(tǒng)在安卓平臺(tái)無法正常使用的問題。 一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法,所述方法包括:添加多種文件系統(tǒng)的驅(qū)動(dòng)可執(zhí)行文件;對(duì)所述可執(zhí)行文件進(jìn)行源碼修改并記錄所述文件系統(tǒng)的類型;編譯所述修改后的源碼生成系統(tǒng)鏡像并加載到安卓平臺(tái);根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。進(jìn)一步地,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核支持的文件系統(tǒng)時(shí),通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,通過void進(jìn)程添加相應(yīng)的mount操作源碼。進(jìn)一步地,所述通過void進(jìn)程添加相應(yīng)的mount操作源碼包括,讀取超級(jí)塊數(shù)據(jù),確定文件系統(tǒng)的類型,指定文件系統(tǒng)類型使用內(nèi)核通用的mount操作源碼。進(jìn)一步地,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核不支持的文件系統(tǒng)時(shí),基于fuse框架通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼。進(jìn)一步地,所述基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作包括,讀取超級(jí)塊數(shù)據(jù),確定文件系統(tǒng)的類型;指定文件系統(tǒng)類型使用自身在fuse框架實(shí)現(xiàn)的mount操作源碼。相應(yīng)地,本發(fā)明還公開一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的裝置,所述裝置包括,編譯模塊,用于編譯待添加的多種文件系統(tǒng)生成相應(yīng)的驅(qū)動(dòng)可執(zhí)行文件;修改模塊,用于對(duì)所述可執(zhí)行文件進(jìn)行源碼修改;記錄模塊,用于記錄所述文件系統(tǒng)的類型;所述編譯模塊還用于編譯所述修改后的源碼生成系統(tǒng)鏡像;其中,所述生成的系統(tǒng)鏡像由安卓平臺(tái)進(jìn)行加載,根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。進(jìn)一步地,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核支持的文件系統(tǒng)時(shí),修改模塊通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,通過void進(jìn)程添加相應(yīng)的mount操作源碼。進(jìn)一步地,當(dāng)需 要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核不支持的文件系統(tǒng)時(shí),修改模塊基于fuse框架通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼。本發(fā)明的技術(shù)方案針對(duì)多種常用的文件系統(tǒng)采用其對(duì)應(yīng)的驅(qū)動(dòng)進(jìn)行掛載,提高了設(shè)備的通用性,可用性。


      圖1為本發(fā)明第一實(shí)施例提供的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法流程圖;圖2為本發(fā)明實(shí)施例所述fuse工作過程示意圖;圖3為void進(jìn)程框圖;圖4為本發(fā)明第二實(shí)施例提供的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的裝置結(jié)構(gòu)框圖。
      具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。圖1為本發(fā)明第一實(shí)施例提供的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法流程圖。如圖1所示,具體流程如下:步驟101:配置android設(shè)備軟件編譯環(huán)境。步驟102:添加多種文件系統(tǒng)的驅(qū)動(dòng)可執(zhí)行文件。所述多種文件系統(tǒng)包括但不僅限于常見的文件系統(tǒng),例如NTFS (New TechnologyFile System,新技術(shù)文件系統(tǒng)),exFAT (Extended File Allocation Table File System,擴(kuò)展的文檔分配表文件系統(tǒng))等。android設(shè)備軟件編譯模塊對(duì)所述多種文件系統(tǒng)進(jìn)行編譯生成相應(yīng)文件系統(tǒng)的驅(qū)動(dòng)可執(zhí)行文件。優(yōu)選地,所述可執(zhí)行文件為二進(jìn)制形式的常見文件系統(tǒng)。步驟103:對(duì)所述可執(zhí)行文件進(jìn)行源碼修改并記錄所述文件系統(tǒng)的類型。本步驟中需要根據(jù)添加的文件系統(tǒng)在android系統(tǒng)的文件管理服務(wù)中做相應(yīng)的修改,主要涉及對(duì)可執(zhí)行文件mount及格式化操作源碼的修改。具體的,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核支持的文件系統(tǒng)時(shí),通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,通過void進(jìn)程添加相應(yīng)的mount操作源碼。所述通過void進(jìn)程添加相應(yīng)的mount操作源碼包括,讀取超級(jí)塊數(shù)據(jù),確定文件系統(tǒng)的類型,指定文件系統(tǒng)類型使用內(nèi)核通用的mount操作源碼。所述超級(jí)數(shù)據(jù)塊(SuperBlock)包括文件系統(tǒng)的總體信息,比如大小(其準(zhǔn)確信息依賴文件系統(tǒng))。當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核不支持的文件系統(tǒng)時(shí),基于fuse框架通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼。本實(shí)施步驟中,所述基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼包括,讀取超級(jí)塊數(shù) 據(jù),確定文件系統(tǒng)的類型;指定文件系統(tǒng)類型使用自身在fuse框架實(shí)現(xiàn)的mount操作源碼。所述超級(jí)數(shù)據(jù)塊(SuperBlock)包括文件系統(tǒng)的總體信息,比如大小(其準(zhǔn)確信息依賴文件系統(tǒng))。Iinux中超級(jí)數(shù)據(jù)塊在文件系統(tǒng)中的個(gè)數(shù)是不唯一的。一個(gè)文件系統(tǒng)(分區(qū))的詳細(xì)信息每個(gè)分區(qū)都有一個(gè)超級(jí)塊記錄了分區(qū)大小inode的使用信息(編號(hào)等)圖2為本發(fā)明實(shí)施例所述fuse工作過程示意圖。Fuse (Filesystem inUserspace,用戶空間文件系統(tǒng))提供一個(gè)完整的接口讓用戶可以輕松的創(chuàng)建一個(gè)屬于自己的用戶級(jí)文件系統(tǒng)。如圖2所示,F(xiàn)use由一個(gè)內(nèi)核模塊(fuse, ko),一個(gè)用戶級(jí)函數(shù)(Iibfuse.*)以及一套文件系統(tǒng)加載機(jī)制(mount工具)組成。內(nèi)核模塊僅僅提供內(nèi)核的接入口,給了文件系統(tǒng)一個(gè)框架,由文件系統(tǒng)本身的主要實(shí)現(xiàn)代碼位于用戶空間中。開發(fā)者通過實(shí)現(xiàn)fuse提供的兩組接口 fuse_lowlevel_ops, fuse_operations之一即可實(shí)現(xiàn)一個(gè)用戶空間文件系統(tǒng)。用戶級(jí)函數(shù)庫給用戶提供了編程的接口,具體實(shí)現(xiàn)操作有開發(fā)者在用戶空間實(shí)現(xiàn)。文件系統(tǒng)加載機(jī)制用于掛載用戶編寫的文件系統(tǒng)。Fuse工作過程如下:使用fuse框架實(shí)現(xiàn)的hello實(shí)例程序被調(diào)用,用戶級(jí)文件系統(tǒng)被掛載到當(dāng)前系統(tǒng)中,掛載點(diǎn)為/tmp/fuse。當(dāng)用戶執(zhí)行l(wèi)s-1/tmp/fuse命令時(shí),VFS相關(guān)接口函數(shù)被調(diào)用,并交給FUSE內(nèi)核模塊處理。內(nèi)核模塊通過一種映射機(jī)制,調(diào)用hello文件系統(tǒng)相關(guān)函數(shù)來處理相應(yīng)請(qǐng)求。Fuse是建議在VFS機(jī)制之上的,它與Ext2、Ext3等實(shí)際的文件系統(tǒng)處于同一個(gè)層面上,區(qū)別于這些實(shí)際的文件系統(tǒng),F(xiàn)use將來自于VFS的請(qǐng)求,轉(zhuǎn)換到用戶級(jí)函數(shù)來處理。使用fuse開發(fā)文件系統(tǒng),開發(fā)者不需要與VFS打交道,不需要了解Linux文件系統(tǒng)的架構(gòu)、文件系統(tǒng)內(nèi)核模塊開發(fā)的流程以及相關(guān)的背景知識(shí)。本實(shí)施例中,通過void進(jìn)程對(duì)生成的可執(zhí)行文件進(jìn)行源碼修改。void進(jìn)程用于管理和控制Android平臺(tái)外部存儲(chǔ)設(shè)備,包括SD插撥、掛載、卸載、格式化等;vold進(jìn)程接收來自內(nèi)核的外部設(shè)備消息。圖3為void進(jìn)程框圖。如圖3所示,Vold接收來自內(nèi)核的事件,通過netlink機(jī)制。Netlink是一種特殊的socket ;Netlink是一種在內(nèi)核與用戶應(yīng)用間進(jìn)行雙向數(shù)據(jù)傳輸?shù)姆浅:玫姆绞?,用戶態(tài)應(yīng)用使用標(biāo)準(zhǔn)的socket API就可以使用netlink提供的強(qiáng)大功能;Netlink是一種異步通信機(jī)制,在內(nèi)核與用戶態(tài)應(yīng)用之間傳遞的消息保存在socket緩存隊(duì)列中;內(nèi)核通過Netlink發(fā)送uEvent格式消息給用戶空間程序;外部設(shè)備發(fā)生變化,Linux內(nèi)核發(fā)送uevent消息。步驟104:編譯所述修改后的源碼生成系統(tǒng)鏡像。所述系統(tǒng)鏡像是一種文件,和裝載有操作系統(tǒng)的光盤一樣,只不過光盤是一個(gè)看得見的實(shí)物,系統(tǒng)鏡像是一個(gè)是看不見的文件。步驟105:將所述生成的系統(tǒng)鏡像加載到安卓設(shè)備中。通過安卓平臺(tái)的指定路徑即可加載所述系統(tǒng)鏡像,通過NTFS文件系統(tǒng)進(jìn)行內(nèi)置
      磁盤管理。步驟106:根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。 在Iinux操作系統(tǒng)中,掛載指將一個(gè)設(shè)備(通常是存儲(chǔ)設(shè)備)掛接到一個(gè)上已存在的目錄上,此目錄可以不為空,但掛載后這個(gè)目錄下以前的內(nèi)容將不可用。通過訪問這個(gè)目錄來訪問存儲(chǔ)設(shè)備。圖4為本發(fā)明第二實(shí)施例提供的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的裝置,所述裝置包括,編譯模塊401,用于編譯待添加的多種文件系統(tǒng)生成相應(yīng)的驅(qū)動(dòng)可執(zhí)行文件;修改模塊102,用于對(duì)所述可執(zhí)行文件進(jìn)行源碼修改;記錄模塊403,用于記錄所述文件系統(tǒng)的類型;所述編譯模塊401還用于編譯所述修改后的源碼生成系統(tǒng)鏡像;其中,所述生成的系統(tǒng)鏡像由安卓平臺(tái)進(jìn)行加載,根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核支持的文件系統(tǒng)時(shí),修改模塊402通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,通過void進(jìn)程添加相應(yīng)的mount操作源碼。當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核不支持的文件系統(tǒng)時(shí),修改模塊402基于fuse框架通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼。上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
      權(quán)利要求
      1.一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法,其特征在于,所述方法包括: 添加多種文件系統(tǒng)的驅(qū)動(dòng)可執(zhí)行文件; 對(duì)所述可執(zhí)行文件進(jìn)行源碼修改并記錄所述文件系統(tǒng)的類型; 編譯所述修改后的源碼生成系統(tǒng)鏡像并加載到安卓平臺(tái); 根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。
      2.根據(jù)權(quán)利要求1所述的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法,其特征在于,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核支持的文件系統(tǒng)時(shí),通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,通過void進(jìn)程添加相應(yīng)的mount操作源碼。
      3.根據(jù)權(quán)利要求2所述的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法,其特征在于,所述通過void進(jìn)程添加相應(yīng)的mount操作源碼包括, 讀取超級(jí)塊數(shù)據(jù),確定文件系統(tǒng)的 類型, 指定文件系統(tǒng)類型使用內(nèi)核通用的mount操作源碼。
      4.根據(jù)權(quán)利要求1所述的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法,其特征在于,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核不支持的文件系統(tǒng)時(shí),基于fuse框架通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼。
      5.根據(jù)權(quán)利要求4所述的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法,其特征在于,所述基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作包括, 讀取超級(jí)塊數(shù)據(jù),確定文件系統(tǒng)的類型; 指定文件系統(tǒng)類型使用自身在fuse框架實(shí)現(xiàn)的mount操作源碼。
      6.一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的裝置,其特征在于,所述裝置包括, 編譯模塊,用于編譯待添加的多種文件系統(tǒng)生成相應(yīng)的驅(qū)動(dòng)可執(zhí)行文件; 修改模塊,用于對(duì)所述可執(zhí)行文件進(jìn)行源碼修改; 記錄模塊,用于記錄所述文件系統(tǒng)的類型; 所述編譯模塊還用于編譯所述修改后的源碼生成系統(tǒng)鏡像; 其中,所述生成的系統(tǒng)鏡像由安卓平臺(tái)進(jìn)行加載,根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。
      7.根據(jù)權(quán)利要求6所述的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的裝置,其特征在于,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核支持的文件系統(tǒng)時(shí),修改模塊通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,通過void進(jìn)程添加相應(yīng)的mount操作源碼。
      8.根據(jù)權(quán)利要求6所述的安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的裝置,其特征在于,當(dāng)需要添加的文件系統(tǒng)為安卓平臺(tái)內(nèi)核不支持的文件系統(tǒng)時(shí),修改模塊基于fuse框架通過void進(jìn)程添加相應(yīng)的mount及格式化操作源碼;或者,基于fuse框架通過void進(jìn)程添加相應(yīng)的mount操作源碼。
      全文摘要
      本發(fā)明公開一種安卓設(shè)備內(nèi)置硬盤上兼容多種文件系統(tǒng)的方法及裝置,所述方法包括添加多種文件系統(tǒng)的驅(qū)動(dòng)可執(zhí)行文件;對(duì)所述可執(zhí)行文件進(jìn)行源碼修改并記錄所述文件系統(tǒng)的類型;編譯所述修改后的源碼生成系統(tǒng)鏡像并加載到安卓平臺(tái);根據(jù)文件系統(tǒng)類型使用其對(duì)應(yīng)的文件系統(tǒng)進(jìn)行掛載。本方法針對(duì)多種常用的文件系統(tǒng)采用其對(duì)應(yīng)的驅(qū)動(dòng)進(jìn)行掛載,提高了設(shè)備的通用性,可用性。
      文檔編號(hào)G06F9/44GK103218227SQ20131012328
      公開日2013年7月24日 申請(qǐng)日期2013年4月10日 優(yōu)先權(quán)日2013年4月10日
      發(fā)明者蔣世民 申請(qǐng)人:廣東歐珀移動(dòng)通信有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1