untService)進(jìn)行分析處理,之后轉(zhuǎn)交給類管理器并調(diào)用類管理器去執(zhí)行掛載操作,同時(shí)修改存儲(chǔ)卡掛載狀態(tài)為已掛載,即(“/dev/block/cc”,”/mnt/sdcard”,”mounted”),其中 /dev/block/cc 為是 Iinux 內(nèi)核識(shí)別到的設(shè)備節(jié)點(diǎn)的一個(gè)示例。Android系統(tǒng)識(shí)別到設(shè)備后,內(nèi)核會(huì)在/dev/block/下建立一個(gè)掛載點(diǎn),而本發(fā)明所講的掛載的概念指的就是將設(shè)備附加到文件系統(tǒng)中,也就是將/dev/block/XX的分區(qū)掛載到指定路徑下的文件系統(tǒng)中。
[0029]而當(dāng)存儲(chǔ)卡當(dāng)前掛載狀態(tài)為已掛載時(shí),說明系統(tǒng)已經(jīng)掛載到了存儲(chǔ)卡上,則獲取系統(tǒng)中除存儲(chǔ)卡路徑以外的其它路徑(其它掛載點(diǎn)),選擇適當(dāng)?shù)腢SB掛載點(diǎn)并將其配置為U 盤掛載路徑。,比如:當(dāng)前掛載點(diǎn)有“/mnt/sdcard”、“/mnt/usb/usbl”、“/mnt/usb/usb2”等等,其中“/mnt/sdcard”、“/mnt/usb/usbl”當(dāng)前掛載狀態(tài)均為已掛載,而“/mnt/usb/usb2”當(dāng)前掛載狀態(tài)為未掛載,那么在這種情況下,該設(shè)備合理的掛載路徑是“/mnt/usb/usb2”,以此類推。
[0030]S300、當(dāng)依賴存儲(chǔ)卡存儲(chǔ)的應(yīng)用程序?qū)懭霐?shù)據(jù)時(shí),應(yīng)用程序利用所配置的存儲(chǔ)卡路徑構(gòu)建目錄將數(shù)據(jù)寫入U(xiǎn)盤中。
[0031]當(dāng)依賴存儲(chǔ)卡存儲(chǔ)的應(yīng)用程序需要寫入數(shù)據(jù)到存儲(chǔ)卡中時(shí),利用所配置的存儲(chǔ)卡路徑(/mnt/sdcard)構(gòu)建目錄,將數(shù)據(jù)寫入U(xiǎn)盤中。由于步驟S200中系統(tǒng)已經(jīng)將外部U盤設(shè)備和/mnt/sdcard路徑相關(guān)聯(lián),應(yīng)用程序最后實(shí)際寫入到了 U盤中,這個(gè)操作對于應(yīng)用程序來講是透明的。
[0032]如圖4所示為關(guān)于圖1中步驟S100和步驟S200具體實(shí)施流程,其步驟為:
S1、接入U(xiǎn)SB外置存儲(chǔ)設(shè)備。
[0033]S2、Kernel檢測到設(shè)備插入后發(fā)送Uevent消息。
[0034]S3、Vold模塊接收到Uevent消息后將消息上報(bào)。
[0035]S4、MountService接收到Vold模塊上報(bào)的消息后準(zhǔn)備掛載設(shè)備。
[0036]S5、判斷Sdcard是否已掛載,若是,則執(zhí)行步驟S6,若否,則執(zhí)行步驟S7。
[0037]S6、將USB外置存儲(chǔ)設(shè)備掛載成U盤,掛載點(diǎn)為/mnt/usb/usbX。
[0038]S7、將USB外置存儲(chǔ)設(shè)備掛載成Sdcard,掛載點(diǎn)為/mnt/sdcard。
[0039]如圖5所示的一種虛擬存儲(chǔ)卡配置系統(tǒng),其中,所述系統(tǒng)包括:
狀態(tài)讀取模塊100,用于系統(tǒng)內(nèi)核檢測到U盤插入事件后,讀取預(yù)先建立的存儲(chǔ)卡掛載狀態(tài)模塊所記錄的存儲(chǔ)卡當(dāng)前掛載狀態(tài),具體如步驟S10所述。
[0040]配置模塊200,用于當(dāng)所述狀態(tài)讀取模塊所讀取的存儲(chǔ)卡當(dāng)前掛載狀態(tài)為未掛載時(shí),配置U盤掛載路徑為存儲(chǔ)卡路徑,并按照此路徑執(zhí)行U盤掛載操作,具體如步驟S200所述。
[0041]數(shù)據(jù)寫入模塊300,用于當(dāng)依賴存儲(chǔ)卡存儲(chǔ)的應(yīng)用程序?qū)懭霐?shù)據(jù)時(shí),應(yīng)用程序利用所配置的存儲(chǔ)卡路徑構(gòu)建目錄將數(shù)據(jù)寫入U(xiǎn)盤中,具體如步驟S300所述。
[0042]本發(fā)明提供一種虛擬存儲(chǔ)卡配置方法及系統(tǒng),通過關(guān)聯(lián)U盤和存儲(chǔ)卡路徑,實(shí)現(xiàn)了依賴存儲(chǔ)卡的第三方應(yīng)用能夠利用外部U盤進(jìn)行數(shù)據(jù)寫入,使得第三方應(yīng)用能夠在缺少存儲(chǔ)卡卡槽的智能電視之類的設(shè)備上正常運(yùn)行,避免了應(yīng)用運(yùn)行出現(xiàn)異常停止的問題,使得依賴存儲(chǔ)卡的第三方應(yīng)用無需修改即能在智能電視中正常運(yùn)行,同時(shí),U盤的讀寫速度遠(yuǎn)高于存儲(chǔ)卡,因而通過本發(fā)明方法實(shí)現(xiàn)在U盤中進(jìn)行數(shù)據(jù)讀寫的第三方應(yīng)用的運(yùn)行效率也會(huì)明顯提高。另外,由于無需在電視開發(fā)板中配置存儲(chǔ)卡卡槽,也相應(yīng)降低了智能電視的開發(fā)成本。
[0043]應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種虛擬存儲(chǔ)卡配置方法,其特征在于,所述方法包括以下步驟: A、系統(tǒng)內(nèi)核檢測到U盤插入事件后,讀取預(yù)先建立的存儲(chǔ)卡掛載狀態(tài)模塊所記錄的存儲(chǔ)卡當(dāng)前掛載狀態(tài),當(dāng)存儲(chǔ)卡當(dāng)前掛載狀態(tài)為未掛載時(shí),執(zhí)行步驟B ; B、配置U盤掛載路徑為存儲(chǔ)卡路徑,并按照此路徑執(zhí)行U盤掛載操作; C、當(dāng)依賴存儲(chǔ)卡存儲(chǔ)的應(yīng)用程序?qū)懭霐?shù)據(jù)時(shí),應(yīng)用程序利用所配置的存儲(chǔ)卡路徑構(gòu)建目錄將數(shù)據(jù)寫入U(xiǎn)盤中。2.根據(jù)權(quán)利要求1所述的虛擬存儲(chǔ)卡配置方法,其特征在于,當(dāng)存儲(chǔ)卡當(dāng)前掛載狀態(tài)為已掛載時(shí),則獲取系統(tǒng)中除存儲(chǔ)卡路徑以外的其它路徑,并將其配置為U盤掛載路徑。3.根據(jù)權(quán)利要求1所述的虛擬存儲(chǔ)卡配置方法,其特征在于,所述步驟A之前包括: 建立存儲(chǔ)卡掛載狀態(tài)模塊,記錄系統(tǒng)對存儲(chǔ)卡的掛載狀態(tài)。4.根據(jù)權(quán)利要求3所述的虛擬存儲(chǔ)卡配置方法,其特征在于,所述存儲(chǔ)卡掛載狀態(tài)模塊對存儲(chǔ)卡的掛載狀態(tài)的記錄包括設(shè)備節(jié)點(diǎn)、掛載位置、掛載狀態(tài)。5.根據(jù)權(quán)利要求1所述的虛擬存儲(chǔ)卡配置方法,其特征在于,所述步驟B還包括: 執(zhí)行U盤掛載操作后修改存儲(chǔ)卡的掛載狀態(tài)為已掛載。6.根據(jù)權(quán)利要求1所述的虛擬存儲(chǔ)卡配置方法,其特征在于,所述步驟A具體為: Al、系統(tǒng)內(nèi)核檢測到U盤插入事件后,向系統(tǒng)存儲(chǔ)管控中心發(fā)送事件消息; A2、系統(tǒng)存儲(chǔ)管控中心接收事件消息后讀取存儲(chǔ)卡當(dāng)前掛載狀態(tài),判斷所讀取的存儲(chǔ)卡當(dāng)前掛載狀態(tài)是否已掛載,若否,則執(zhí)行步驟B。7.根據(jù)權(quán)利要求6所述的虛擬存儲(chǔ)卡配置方法,其特征在于,所述步驟B具體為: 系統(tǒng)存儲(chǔ)管控中心配置U盤掛載路徑為存儲(chǔ)卡路徑,并調(diào)用類管理器按照所配置路徑執(zhí)行U盤掛載操作,將U盤與存儲(chǔ)卡路徑相關(guān)聯(lián)。8.—種虛擬存儲(chǔ)卡配置系統(tǒng),其特征在于,所述系統(tǒng)包括: 狀態(tài)讀取模塊,用于系統(tǒng)內(nèi)核檢測到U盤插入事件后,讀取預(yù)先建立的存儲(chǔ)卡掛載狀態(tài)模塊所記錄的存儲(chǔ)卡當(dāng)前掛載狀態(tài); 配置模塊,用于當(dāng)所述狀態(tài)讀取模塊所讀取的存儲(chǔ)卡當(dāng)前掛載狀態(tài)為未掛載時(shí),配置U盤掛載路徑為存儲(chǔ)卡路徑,并按照此路徑執(zhí)行U盤掛載操作; 數(shù)據(jù)寫入模塊,用于當(dāng)依賴存儲(chǔ)卡存儲(chǔ)的應(yīng)用程序?qū)懭霐?shù)據(jù)時(shí),應(yīng)用程序利用所配置的存儲(chǔ)卡路徑構(gòu)建目錄將數(shù)據(jù)寫入U(xiǎn)盤中。
【專利摘要】本發(fā)明公開一種虛擬存儲(chǔ)卡配置方法及系統(tǒng),該方法包括:A、系統(tǒng)內(nèi)核檢測到U盤插入事件后,讀取存儲(chǔ)卡當(dāng)前掛載狀態(tài),當(dāng)存儲(chǔ)卡當(dāng)前掛載狀態(tài)為未掛載時(shí),執(zhí)行步驟B;B、配置U盤掛載路徑為存儲(chǔ)卡路徑,并按照此路徑執(zhí)行U盤掛載;C、當(dāng)應(yīng)用程序?qū)懭霐?shù)據(jù)時(shí),應(yīng)用程序利用所配置的存儲(chǔ)卡路徑構(gòu)建目錄將數(shù)據(jù)寫入U(xiǎn)盤中。本發(fā)明通過關(guān)聯(lián)U盤和存儲(chǔ)卡路徑,實(shí)現(xiàn)了依賴存儲(chǔ)卡的第三方應(yīng)用能夠利用外部U盤進(jìn)行數(shù)據(jù)寫入,使得應(yīng)用能夠在智能電視之類的設(shè)備上正常運(yùn)行,避免了應(yīng)用運(yùn)行出現(xiàn)異常停止的問題,同時(shí)通過本發(fā)明方法使得第三方應(yīng)用的運(yùn)行效率也會(huì)明顯提高。另外,由于無需在電視開發(fā)板中配置存儲(chǔ)卡卡槽,也相應(yīng)降低了智能電視的開發(fā)成本。
【IPC分類】G06F9/445, H04N21/432, H04N21/443
【公開號(hào)】CN105100901
【申請?zhí)枴緾N201410192038
【發(fā)明人】曹霄, 侯軍紅
【申請人】Tcl集團(tuán)股份有限公司
【公開日】2015年11月25日
【申請日】2014年5月8日