新四季網

一種android系統掛載多存儲設備的方法及裝置的製作方法

2023-06-10 09:28:16

專利名稱:一種android系統掛載多存儲設備的方法及裝置的製作方法
技術領域:
本發明涉及通信領域,尤其涉及ー種android系統掛載多存儲設備的方法及裝置。
背景技術:
通常來說,一個存儲設備,比如說硬碟,可以分成多個分區(volume)。在android系統中對於USB存儲設備的管理,是利用存儲類的守護進程(volume daemon, void)來實現的,void負責完成系統的存儲設備的掛載任務自動完成的守護進程,它提供的主要功能是支持這些存儲設備的ー個分區熱插拔,假設一個存儲設備有4個分區,傳統的系統只能支持4個分區中ー個分區的插拔。並且當外設存儲設備插拔命令和用戶觸發的執行命令同時發起時,傳統的處理方法會搶奪系統資源,這樣會導致整個系統的崩潰,使整個系統安全性降低。

發明內容
本發明實施例在於提供ー種android系統掛載多存儲設備的方法和裝置,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性。—種android系統掛載多存儲設備的方法,包括
事件監聽模塊監聽存儲設備中每個分區是否有插入和拔出,一旦監聽到,發送監聽消息給分區管理模塊;
分區管理模塊獲取監聽消息,判斷所述監聽消息是插入執行命令還是拔出執行命令,將相應執行命令發送給命令監聽模塊;
命令監聽模塊接收所述分區管理模塊發出的所述相應執行命令,還接收用戶觸發的執行命令,將收到的所有執行命令分別向分區管理模塊發送;
所述分區管理模塊接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。—種android系統掛載多存儲設備的裝置,包括
事件監聽模塊,用於監聽存儲設備每個分區是否有插入和拔出,一旦監聽到,發送監聽消息;
分區管理模塊,用於獲取從所述事件監聽模塊發送的所述監聽消息,判斷所述監聽消息是插入執行命令還是拔出執行命令,發送相應執行命令;
命令監聽模塊,用於接收所述分區管理模塊發出的所述相應執行命令,還用於接收用戶觸發的執行命令,將收到的所有執行命令分別向所述分區管理模塊發送;
所述分區管理模塊,還用於接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。實施本發明實施例,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例的android系統掛載多存儲設備的方法流程示意 圖2是本發明android系統掛載多存儲設備的方法的另ー實施例的流程示意 圖3是本發明實施例的android系統掛載多存儲設備的裝置的結構示意圖;圖4是本發明實施例的android系統掛載多存儲設備的方法的線程圖。
具體實施例方式為了使本發明所要解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一歩詳細說明。請參閱圖1示出的本發明實施例的ー種android系統掛載多存儲設備的方法流程示意圖,包括
步驟SlOl :事件監聽模塊監聽是否有存儲設備中每個分區的插入和拔出,一旦監聽至IJ,發送監聽消息給分區管理模塊;
所述分區既可以為同一存儲設備的不同分區,也可以為掛載在系統中的多個存儲設備的不同分區。具體地,可以創建同作業系統的socket協議通信,用於監聽設備分區的拔插事件;
步驟S102 :獲取監聽消息,判斷該監聽消息是插入執行命令還是拔出執行命令,將相應執行命令發送給命令監聽模塊;
步驟S103 :命令監聽模塊接收分區管理模塊發出的相應執行命令,還接收用戶觸發的執行命令,將收到的所有執行命令分別向分區管理模塊發送;
具體的,用戶觸發的執行命令包括掛載分區命令、格式化分區命令、卸載分區命令、設置主存儲設備命令和查詢分區命令。步驟S104 :分區管理模塊接收命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。實施上述實施例,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性。下面結合圖2不出的本發明android系統掛載多存儲設備的方法的另ー實施例的流程示意圖,進一歩詳細說明本發明實施例的android系統掛載多存儲設備的方法,包括
步驟S201 :讀取配置文件,獲取當前系統物理USB總線同USB名稱的對應關係;具體的,根據配置文件獲取當前系統USB接ロ個數和USB接ロ信息,用戶可以預先配置主存儲設備端ロ。步驟S202 :事件監聽模塊監聽是否有存儲設備每個分區的插入和拔出,一旦監聽至IJ,發送監聽消息給分區管理模塊; 具體地,可以創建同作業系統的socket協議通信,用於監聽設備每個分區的拔插事件。步驟S203 :分區管理模塊獲取監聽消息,判斷該監聽消息是插入執行命令還是拔出執行命令,如果是插入執行命令執行步驟S204,如果是拔出執行命令則執行步驟S205,如果既不是拔出執行命令也不是插入執行命令,則返回步驟202繼續監聽;
步驟S204 :發送插入執行命令;
步驟S205 :發送拔出執行命令;
步驟S206 :接收分區管理模塊發出的相應執行命令,還接收用戶觸發的執行命令,將收到的所有執行命令分別向分區管理模塊發送;
具體的,用戶觸發的執行命令包括掛載分區命令、格式化分區命令、卸載分區命令、設置主存儲設備命令和查詢分區命令。當同時接收到分區管理模塊發出的插入或拔出執行命令和用戶觸發的執行命令時,命令監聽模塊將所有執行命令逐一的發給分區管理模塊,這樣分區管理模塊不會同時收到插入或拔出執行命令和用戶觸發的執行命令,避免分區管理模塊的資源搶奪。步驟S207 :分區管理模塊接收命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。具體地,當接收的是格式化分區(format volume)命令時,對相應的volume進行格式化處理,該volume先卸載,根據格式化要求格式化,然後再掛載該volume ;當接收的是掛載分區(mount volume)命令時,對相應的volume進行掛載處理,如果該volume未被掛載,根據USB總線差異生成掛載點,將該volume掛載到系統中;當接收的是卸載分區(unmount volume)命令時,對相應的volume進行卸載處理,如果該volume已掛載則將該volume卸載;當接收的是設置主存儲設備(set main storage)命令時,根據設置將現有主存儲設備卸載為非主存儲設備,並將新設置的總線上的設備掛載為主存儲設備;當接收的是查詢分區(list volume)命令時,查詢該存儲設備分區的信息;當接收的是存儲設備拔出執行(remove volume)命令時,則進行設備拔出處理,將設備從系統中移除,清理現場;當接收的是存儲設備插入執行(add volume)命令吋,獲取存儲設備文件系統類型,並根據USB總線差異生成掛載點,將設備掛載到系統中。其中,對主存儲設備掛載的策略是,掛載該USB總線上的第一個分區(無分區的話,掛載該硬碟本身)。主存儲設備總線切換策略是,只要系統中存在請求的總線,則無論該總線上是否有存儲設備,都切換成功。切換時原總線上設備狀態保持不變,只是將掛載點切換到非主存儲設備的掛載點,新的總線上如果有存儲設備的話,自動切換到主存儲設備掛載點。主存儲設備的label為sdXY,掛載點永遠為/mnt/sdcard。非主存儲設備的label為sdXY,掛載點為/mnt/disk/sdXY。在無分區情況下存儲器label為sdX ,掛載點為/mnt/disk/sdX。實施上述實施例,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性,而且增加動態配置某個USB ロ的設備為主存儲設備的功能。下面結合圖3示出的本發明實施例的android系統掛載多存儲設備的裝置的結構示意圖,進一歩詳細說明本發明實施例該裝置的結構。事件監聽模塊301,用於監聽存儲設備每個分區是否有插入和拔出,一旦監聽到,發送監聽消息給分區管理模塊。分區管理模塊302,用於獲取監聽消息,判斷該監聽消息是插入執行命令還是拔出執行命令,將相應執行命令發送給命令監聽模塊。命令監聽模塊303,用於接收分區管理模塊發出的相應執行命令,還接收用戶觸發的執行命令,將收到的所有執行命令分別向分區管理模塊發送。分區管理模塊302,還用於接收命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。實施上述實施例,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性。上述裝置還可以包括獲取模塊,與事件監聽模塊301相連,用於讀取配置文件,獲取當前系統物理USB總線同USB名稱的對應關係。其中,分區管理模塊302根據所述執行命令,對分區做相應的操作具體包括
當接收的是格式化分區命令吋,對相應的分區進行格式化處理,所述分區先卸載,根據格式化要求格式化,然後再掛載所述分區;
當接收的是掛載分區命令吋,對相應的分區進行掛載處理,如果所述分區未被掛載,根據USB總線差異生成掛載點,將所述分區掛載到系統中;
當接收的是卸載分區命令吋,對相應的分區進行卸載處理,如果所述分區已掛載則將所述分區卸載;
當接收的是設置主存儲設備命令時,根據設置將現有主存儲設備卸載為非主存儲設備,並將新設置的總線上的設備掛載為主存儲設備;
當接收的是查詢分區命令時,查詢該存儲設備分區的信息;
當接收的是存儲設備拔出執行命令吋,則進行設備拔出處理,將所述存儲設備的分區從系統中移除,清理現場;
當接收的是存儲設備插入執行命令吋,獲取存儲設備文件系統類型,並根據USB總線差異生成掛載點,將所述存儲設備的分區掛載到系統中。如圖4示出的本發明實施例的android系統掛載多存儲設備的方法的線程圖,進一歩詳細說明本發明實施例各個裝置模塊之間的信號流向。在本發明實施例中,圖4中實心箭頭代表調用步驟,線性箭頭代表發送步驟。事件監聽模塊可以包括Netlink Listener模塊和Netlink Handler模塊;分區管理模塊可以包括Volume Manager模塊和Direct Volume模塊;命令監聽模塊可以包括Mount Service 模塊和 Command Listener 模塊。步驟401 Netlink Listener模塊監聽到有存儲設備分區的插拔情況,從NetlinkHandler模塊調用onEvent函數,即通知Netlink Handler模塊是否能處理存儲設備的插入或拔出命令。步驟402 :Netlink Handler模塊如果不能處理,向Volume Manager模塊調用HandleBlockEvent函數,即通知VolumeManager模塊是否能處理存儲設備的插入或拔出命令。步驟403 Volume Manager模塊如果不能處理,繼續向Direct Volume模塊調用HandleBlockEvent函數,即通知Direct Volume模塊是否能處理存儲設備的插入或拔出命令。步驟404 : Direct Volume模塊可以處理該命令,判斷是存儲設備插入執行命令還是存儲設備拔出執行命令。如果是存儲設備插入執行命令,執行步驟406 ;如果是存儲設備拔出執行命令,則執行步驟405。步驟405 :向 Mount Service 模塊發送通知(send Broadcast),還向 CommandListener模塊發送存儲設備拔出執行命令(send remove command)。步驟406:向 Mount Service 模塊發送通知(send Broadcast),收到通知後,MountService 模塊向 Command Listener 模塊發送掛載命令(send command)。步驟407 Command Listener 模塊從 Volume Manager 模塊調用 mount volume(掛載分區)函數。步驟408:Volume Manager 模塊從 volume 調用 mount volume 函數,根據 USB 總線差異生成掛載點,將該volume掛載到系統中,實現對volume的掛載操作。在上述發明實施例中,還可以對每個volume增加是否可用狀態(例如volume的狀態是不可用時,代表該分區物理損壞),以便區分該volume是否可用。實施上述實施例,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性,而且通過可用狀態區分每個volume是否可用,這樣方便了用戶,提高了效率。需要說明的是,通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的硬體平臺的方式來實現,當然也可以全部通過硬體來實施。基於這樣的理解,本發明的技術方案對背景技術做出貢獻的全部或者部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。以上所揭露的僅為本發明實施例中的較佳實施例而已,當然不能以此來限定本發明之權利範圍,因此依本發明權利要求所作的等同變化,仍屬本發明所涵蓋的範圍。
權利要求
1.一種android系統掛載多存儲設備的方法,其特徵在於,包括 事件監聽模塊監聽存儲設備中每個分區是否有插入和拔出,一旦監聽到,發送監聽消息給分區管理模塊; 分區管理模塊獲取監聽消息,判斷所述監聽消息是插入執行命令還是拔出執行命令,將相應執行命令發送給命令監聽模塊; 所述命令監聽模塊接收所述分區管理模塊發出的所述相應執行命令,還接收用戶觸發的執行命令,將收到的所有執行命令分別向分區管理模塊發送; 所述分區管理模塊接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。
2.如權利要求1所述的方法,其特徵在於,所述事件監聽模塊監聽存儲設備中每個分區是否有插入和拔出,一旦監聽到,發送監聽消息給分區管理模塊的步驟之前,還包括 讀取配置文件,獲取當前系統物理USB總線同USB名稱的對應關係。
3.如權利要求1所述的方法,其特徵在於,所述事件監聽模塊監聽存儲設備中每個分區是否有插入和拔出,一旦監聽到,發送監聽消息給分區管理模塊的步驟包括 創建同作業系統的socket協議通信,用於監聽設備每個分區的拔插事件。
4.如權利要求1所述的方法,其特徵在於,所述用戶觸發的執行命令包括 掛載分區命令、格式化分區命令、卸載分區命令、設置主存儲設備命令和查詢分區命令。
5.如權利要求1所述的方法,其特徵在於,所述分區管理模塊接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作包括 當接收的是格式化分區命令時,對相應的分區進行格式化處理,所述分區先卸載,根據格式化要求格式化,然後再掛載所述分區; 當接收的是掛載分區命令時,對相應的分區進行掛載處理,如果所述未被掛載,根據USB總線差異生成掛載點,將所述掛載到系統中; 當接收的是卸載分區命令時,對相應的分區進行卸載處理,如果所述分區已掛載則將所述分區卸載; 當接收的是設置主存儲設備命令時,根據設置將現有主存儲設備卸載為非主存儲設備,並將新設置的總線上的設備掛載為主存儲設備; 當接收的是查詢分區命令時,查詢該存儲設備分區的信息; 當接收的是存儲設備拔出執行命令時,則進行設備拔出處理,將所述存儲設備的分區從系統中移除,清理現場; 當接收的是存儲設備插入執行命令時,獲取存儲設備文件系統類型,並根據USB總線差異生成掛載點,將所述存儲設備的分區掛載到系統中。
6.如權利要求5所述的方法,其特徵在於,還包括 對主存儲設備掛載的策略是,掛載該設備USB總線上的第一個分區,如果所述主存儲設備無分區,掛載硬碟本身。
7.如權利要求5所述的方法,其特徵在於,還包括 主存儲設備總線切換策略是,只要系統中存在請求的總線,無論該請求的總線上是否有存儲設備,都執行切換;切換時原總線上設備狀態保持不變,將掛載點切換到非主存儲設備的掛載點,新的總線上如果有存儲設備,自動切換到主存儲設備掛載點。
8.—種android系統掛載多存儲設備的裝置,其特徵在於,包括 事件監聽模塊,用於監聽存儲設備每個分區是否有插入和拔出,一旦監聽到,發送監聽消息; 分區管理模塊,用於獲取從所述事件監聽模塊發送的所述監聽消息,判斷所述監聽消息是插入執行命令還是拔出執行命令,發送相應執行命令; 命令監聽模塊,用於接收所述分區管理模塊發出的所述相應執行命令,還用於接收用戶觸發的執行命令,將收到的所有執行命令分別向所述分區管理模塊發送; 所述分區管理模塊,還用於接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。
9.如權利要求8所述的裝置,其特徵在於,還包括 獲取模塊,與所述事件監聽模塊相連,用於讀取配置文件,獲取當前系統物理USB總線同USB名稱的對應關係。
10.如權利要求8所述的方法,其特徵在於,所述分區管理模塊,還用於接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作包括 當接收的是格式化分區命令時,對相應的分區進行格式化處理,所述分區先卸載,根據格式化要求格式化,然後再掛載所述分區; 當接收的是掛載分區命令時,對相應的分區進行掛載處理,如果所述未被掛載,根據USB總線差異生成掛載點,將所述掛載到系統中; 當接收的是卸載分區命令時,對相應的分區進行卸載處理,如果所述分區已掛載則將所述分區卸載; 當接收的是設置主存儲設備命令時,根據設置將現有主存儲設備卸載為非主存儲設備,並將新設置的總線上的設備掛載為主存儲設備; 當接收的是查詢分區命令時,查詢該存儲設備分區的信息; 當接收的是存儲設備拔出執行命令時,則進行設備拔出處理,將所述存儲設備的分區從系統中移除,清理現場; 當接收的是存儲設備插入執行命令時,獲取存儲設備文件系統類型,並根據USB總線差異生成掛載點,將所述存儲設備的分區掛載到系統中。
全文摘要
本發明實施例公開了android系統掛載多存儲設備的方法,包括事件監聽模塊監聽存儲設備中每個分區是否有插入和拔出,一旦監聽到,發送監聽消息給分區管理模塊;分區管理模塊獲取監聽消息,判斷所述監聽消息是插入執行命令還是拔出執行命令,將相應執行命令發送給命令監聽模塊;接收所述分區管理模塊發出的所述相應執行命令,還接收用戶觸發的執行命令,將收到的所有執行命令分別向分區管理模塊發送;所述分區管理模塊接收所述命令監聽模塊發送的執行命令,並根據所述執行命令,對分區做相應的操作。本發明實施例還公開了android系統掛載多存儲設備的裝置,實施本發明實施例,可以使android系統掛載多個分區,並且解決了搶奪資源的問題,提高系統的安全性。
文檔編號G06F9/50GK103049327SQ201110310758
公開日2013年4月17日 申請日期2011年10月14日 優先權日2011年10月14日
發明者申少輝 申請人:深圳市同洲電子股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀