CN105100901A - 一种虚拟存储卡配置方法及系统 - Google Patents
一种虚拟存储卡配置方法及系统 Download PDFInfo
- Publication number
- CN105100901A CN105100901A CN201410192038.3A CN201410192038A CN105100901A CN 105100901 A CN105100901 A CN 105100901A CN 201410192038 A CN201410192038 A CN 201410192038A CN 105100901 A CN105100901 A CN 105100901A
- Authority
- CN
- China
- Prior art keywords
- storage card
- carry
- flash disk
- usb flash
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种虚拟存储卡配置方法及系统,该方法包括:A、系统内核检测到U盘插入事件后,读取存储卡当前挂载状态,当存储卡当前挂载状态为未挂载时,执行步骤B;B、配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载;C、当应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中。本发明通过关联U盘和存储卡路径,实现了依赖存储卡的第三方应用能够利用外部U盘进行数据写入,使得应用能够在智能电视之类的设备上正常运行,避免了应用运行出现异常停止的问题,同时通过本发明方法使得第三方应用的运行效率也会明显提高。另外,由于无需在电视开发板中配置存储卡卡槽,也相应降低了智能电视的开发成本。
Description
技术领域
本发明涉及存储设备技术领域,尤其涉及一种虚拟存储卡配置方法及系统。
背景技术
由于Android操作系统发布之初是专门为手机量身定制的,因此其很多功能及应用场景都是根据手机使用特性来开发的,而手机上的Android系统一般都默认配置有用于安装存储卡的存储卡槽,因此基于Android系统的很多第三方应用在开发时都会按照系统标准接口去获取外置存储路径(存储卡挂载路径),进而实现相应的存储功能。
如今Android系统也被广泛应用于智能电视中,由于智能电视本身拥有较大存储空间,出于成本、工艺上的考虑一般只会配置USB插槽,而不会配置存储卡槽,这样,当依赖存储卡存储的第三方应用在智能电视上运行时,便很可能出现例如图1所示的异常停止的严重问题,因此,智能电视安装第三方应用便会受到限制,进而也影响了智能电视用户的产品体验。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种虚拟存储卡配置方法及系统,旨在解决目前基于Android系统的智能电视由于存储路径问题造成第三方应用异常停止的问题。
本发明的技术方案如下:
一种虚拟存储卡配置方法,其中,所述方法包括以下步骤:
A、系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态,当存储卡当前挂载状态为未挂载时,执行步骤B;
B、配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作;
C、当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中。
所述的虚拟存储卡配置方法,其中,当存储卡当前挂载状态为已挂载时,则获取系统中除存储卡路径以外的其它路径,并将其配置为U盘挂载路径。
所述的虚拟存储卡配置方法,其中,所述步骤A之前包括:
建立存储卡挂载状态模块,记录系统对存储卡的挂载状态。
所述的虚拟存储卡配置方法,其中,所述存储卡挂载状态模块对存储卡的挂载状态的记录包括设备节点、挂载位置、挂载状态。
所述的虚拟存储卡配置方法,其中,所述步骤B还包括:
执行U盘挂载操作后修改存储卡的挂载状态为已挂载。
所述的虚拟存储卡配置方法,其中,所述步骤A具体为:
A1、系统内核检测到U盘插入事件后,向系统存储管控中心发送事件消息;
A2、系统存储管控中心接收事件消息后读取存储卡当前挂载状态,判断所读取的存储卡当前挂载状态是否已挂载,若否,则执行步骤B。
所述的虚拟存储卡配置方法,其中,所述步骤B具体为:
系统存储管控中心配置U盘挂载路径为存储卡路径,并调用类管理器按照所配置路径执行U盘挂载操作,将U盘与存储卡路径相关联。
一种虚拟存储卡配置系统,其中,所述系统包括:
状态读取模块,系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态;
配置模块,用于当所述状态读取模块所读取的存储卡当前挂载状态为未挂载时,配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作;
数据写入模块,用于当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中。
有益效果:本发明提供一种虚拟存储卡配置方法及系统,通过关联U盘和存储卡路径,实现了依赖存储卡的第三方应用能够利用外部U盘进行数据写入,使得第三方应用能够在缺少存储卡卡槽的智能电视之类的设备上正常运行,避免了应用运行出现异常停止的问题,使得依赖存储卡的第三方应用无需修改即能在智能电视中正常运行,同时,U盘的读写速度远高于存储卡,因而通过本发明方法实现在U盘中进行数据读写的第三方应用的运行效率也会明显提高。另外,由于无需在电视开发板中配置存储卡卡槽,也相应降低了智能电视的开发成本。
附图说明
图1为智能电视中依赖存储卡存储的应用异常停止的状态示意图。
图2为本发明具体实施例中虚拟存储卡配置方法流程图。
图3为图1中步骤S100的具体方法流程图。
图4为图1中步骤S100和步骤S200的具体实施流程图。
图5为本发明具体实施例中虚拟存储卡配置系统的原理框图。
具体实施方式
本发明提供一种虚拟存储卡配置方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2所示的一种虚拟存储卡配置方法,其中,所述方法包括以下步骤:
S100、系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态,当存储卡当前挂载状态为未挂载时,执行步骤S200。
存储卡挂载状态的变化是通过存储卡挂载状态模块进行记录,因此,在执行步骤S100之前需要首先建立存储卡挂载状态模块,通过该模块记录系统对存储卡的挂载状态。其中,所述存储卡挂载状态模块对存储卡的挂载状态的记录包括设备节点、挂载位置、挂载状态。存储卡挂载状态的记录格式即可按照上述参数设定为(设备节点、挂载位置、挂载状态),记录中的参数初始值可设置为(“unkonw”,”unkonw”,”unmount”),并且存储卡挂载状态模块仅记录一条上述格式的内容,如果检测到存储卡的挂载状态的参数有变化,则用所检测到的值更新原记录的参数值。
具体的,所述步骤S100具体如图3所示,其步骤为:
S110、系统内核检测到U盘插入事件后,向系统存储管控中心发送事件消息。
U盘插入后,系统的Linux内核(Kernel)会检测到该插入事件,产生一个Uevent消息,该Uevent消息具体是被系统存储管控中心(Vold模块)接收到。
S120、系统存储管控中心接收事件消息后读取存储卡当前挂载状态,判断所读取的存储卡当前挂载状态是否已挂载,若否,则执行步骤S200。
系统存储管控中心在收到Uevent消息后首先读取存储卡挂载状态模块所记录的存储卡当前挂载状态。根据所读取的状态判断存储卡的挂载情况,如果读取到的状态是“unmount”,即存储卡未挂载,则执行步骤S200。
S200、配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作;
系统存储管控中心配置U盘挂载路径为存储卡路径,并调用类管理器(VolumeManager)按照所配置路径执行U盘挂载操作,将U盘与存储卡路径相关联。
具体地,存储卡为Sdcard时,系统存储管控中心配置U盘挂载路径为“/mnt/sdcard”,并将该U盘挂载路径信息发送到挂载服务进程(MountService)进行分析处理,之后转交给类管理器并调用类管理器去执行挂载操作,同时修改存储卡挂载状态为已挂载,即(“/dev/block/cc”,”/mnt/sdcard”,”mounted”),其中/dev/block/cc为是linux内核识别到的设备节点的一个示例。Android系统识别到设备后,内核会在/dev/block/下建立一个挂载点,而本发明所讲的挂载的概念指的就是将设备附加到文件系统中,也就是将/dev/block/XX的分区挂载到指定路径下的文件系统中。
而当存储卡当前挂载状态为已挂载时,说明系统已经挂载到了存储卡上,则获取系统中除存储卡路径以外的其它路径(其它挂载点),选择适当的USB挂载点并将其配置为U盘挂载路径。,比如:当前挂载点有“/mnt/sdcard”、“/mnt/usb/usb1”、“/mnt/usb/usb2”等等,其中“/mnt/sdcard”、“/mnt/usb/usb1”当前挂载状态均为已挂载,而“/mnt/usb/usb2”当前挂载状态为未挂载,那么在这种情况下,该设备合理的挂载路径是“/mnt/usb/usb2”,以此类推。
S300、当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中。
当依赖存储卡存储的应用程序需要写入数据到存储卡中时,利用所配置的存储卡路径(/mnt/sdcard)构建目录,将数据写入U盘中。由于步骤S200中系统已经将外部U盘设备和/mnt/sdcard路径相关联,应用程序最后实际写入到了U盘中,这个操作对于应用程序来讲是透明的。
如图4所示为关于图1中步骤S100和步骤S200具体实施流程,其步骤为:
S1、接入USB外置存储设备。
S2、Kernel检测到设备插入后发送Uevent消息。
S3、Vold模块接收到Uevent消息后将消息上报。
S4、MountService接收到Vold模块上报的消息后准备挂载设备。
S5、判断Sdcard是否已挂载,若是,则执行步骤S6,若否,则执行步骤S7。
S6、将USB外置存储设备挂载成U盘,挂载点为/mnt/usb/usbX。
S7、将USB外置存储设备挂载成Sdcard,挂载点为/mnt/sdcard。
如图5所示的一种虚拟存储卡配置系统,其中,所述系统包括:
状态读取模块100,用于系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态,具体如步骤S100所述。
配置模块200,用于当所述状态读取模块所读取的存储卡当前挂载状态为未挂载时,配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作,具体如步骤S200所述。
数据写入模块300,用于当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中,具体如步骤S300所述。
本发明提供一种虚拟存储卡配置方法及系统,通过关联U盘和存储卡路径,实现了依赖存储卡的第三方应用能够利用外部U盘进行数据写入,使得第三方应用能够在缺少存储卡卡槽的智能电视之类的设备上正常运行,避免了应用运行出现异常停止的问题,使得依赖存储卡的第三方应用无需修改即能在智能电视中正常运行,同时,U盘的读写速度远高于存储卡,因而通过本发明方法实现在U盘中进行数据读写的第三方应用的运行效率也会明显提高。另外,由于无需在电视开发板中配置存储卡卡槽,也相应降低了智能电视的开发成本。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种虚拟存储卡配置方法,其特征在于,所述方法包括以下步骤:
A、系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态,当存储卡当前挂载状态为未挂载时,执行步骤B;
B、配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作;
C、当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中。
2.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,当存储卡当前挂载状态为已挂载时,则获取系统中除存储卡路径以外的其它路径,并将其配置为U盘挂载路径。
3.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,所述步骤A之前包括:
建立存储卡挂载状态模块,记录系统对存储卡的挂载状态。
4.根据权利要求3所述的虚拟存储卡配置方法,其特征在于,所述存储卡挂载状态模块对存储卡的挂载状态的记录包括设备节点、挂载位置、挂载状态。
5.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,所述步骤B还包括:
执行U盘挂载操作后修改存储卡的挂载状态为已挂载。
6.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,所述步骤A具体为:
A1、系统内核检测到U盘插入事件后,向系统存储管控中心发送事件消息;
A2、系统存储管控中心接收事件消息后读取存储卡当前挂载状态,判断所读取的存储卡当前挂载状态是否已挂载,若否,则执行步骤B。
7.根据权利要求6所述的虚拟存储卡配置方法,其特征在于,所述步骤B具体为:
系统存储管控中心配置U盘挂载路径为存储卡路径,并调用类管理器按照所配置路径执行U盘挂载操作,将U盘与存储卡路径相关联。
8.一种虚拟存储卡配置系统,其特征在于,所述系统包括:
状态读取模块,用于系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态;
配置模块,用于当所述状态读取模块所读取的存储卡当前挂载状态为未挂载时,配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作;
数据写入模块,用于当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410192038.3A CN105100901B (zh) | 2014-05-08 | 2014-05-08 | 一种虚拟存储卡配置方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410192038.3A CN105100901B (zh) | 2014-05-08 | 2014-05-08 | 一种虚拟存储卡配置方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105100901A true CN105100901A (zh) | 2015-11-25 |
CN105100901B CN105100901B (zh) | 2018-07-13 |
Family
ID=54580288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410192038.3A Active CN105100901B (zh) | 2014-05-08 | 2014-05-08 | 一种虚拟存储卡配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105100901B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391587B (zh) * | 2015-12-09 | 2018-06-19 | 上海斐讯数据通信技术有限公司 | 一种网络设备的Samba配置管理方法及系统 |
CN109254935A (zh) * | 2018-08-17 | 2019-01-22 | 青岛海信电器股份有限公司 | 智能电视外接存储设备类型的识别方法和装置 |
CN113642010A (zh) * | 2020-04-27 | 2021-11-12 | 青岛海信移动通信技术股份有限公司 | 一种获取扩展存储设备数据的方法及移动终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012155502A (ja) * | 2011-01-26 | 2012-08-16 | Dts Kk | 外部記録媒体に常駐されたキャッシュメモリプログラム |
CN102664929A (zh) * | 2012-04-05 | 2012-09-12 | 福兴达科技实业(深圳)有限公司 | 移动终端及其管理大容量存储设备的方法 |
CN102722342A (zh) * | 2012-05-23 | 2012-10-10 | 北京百纳威尔科技有限公司 | 扩展内部存储空间的方法、装置及终端 |
CN102831173A (zh) * | 2012-07-27 | 2012-12-19 | Tcl集团股份有限公司 | 基于Android系统的内存扩展方法、装置及终端设备 |
CN102902488A (zh) * | 2012-08-06 | 2013-01-30 | 广东欧珀移动通信有限公司 | 一种手持设备的存储卡及其动态挂载方法 |
CN102999359A (zh) * | 2012-11-22 | 2013-03-27 | Tcl集团股份有限公司 | 一种外部存储设备挂载响应方法及电子设备 |
CN103747275A (zh) * | 2013-12-23 | 2014-04-23 | 乐视致新电子科技(天津)有限公司 | 一种为智能电视扩展存储空间的方法及装置 |
-
2014
- 2014-05-08 CN CN201410192038.3A patent/CN105100901B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012155502A (ja) * | 2011-01-26 | 2012-08-16 | Dts Kk | 外部記録媒体に常駐されたキャッシュメモリプログラム |
CN102664929A (zh) * | 2012-04-05 | 2012-09-12 | 福兴达科技实业(深圳)有限公司 | 移动终端及其管理大容量存储设备的方法 |
CN102722342A (zh) * | 2012-05-23 | 2012-10-10 | 北京百纳威尔科技有限公司 | 扩展内部存储空间的方法、装置及终端 |
CN102831173A (zh) * | 2012-07-27 | 2012-12-19 | Tcl集团股份有限公司 | 基于Android系统的内存扩展方法、装置及终端设备 |
CN102902488A (zh) * | 2012-08-06 | 2013-01-30 | 广东欧珀移动通信有限公司 | 一种手持设备的存储卡及其动态挂载方法 |
CN102999359A (zh) * | 2012-11-22 | 2013-03-27 | Tcl集团股份有限公司 | 一种外部存储设备挂载响应方法及电子设备 |
CN103747275A (zh) * | 2013-12-23 | 2014-04-23 | 乐视致新电子科技(天津)有限公司 | 一种为智能电视扩展存储空间的方法及装置 |
Non-Patent Citations (1)
Title |
---|
XINGKONG2100: "关于小米盒子OTG外接存储设备挂载路径的一点建议", 《HTTP://BBS.XIAOMI.CN/T-7469713-1-O1》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391587B (zh) * | 2015-12-09 | 2018-06-19 | 上海斐讯数据通信技术有限公司 | 一种网络设备的Samba配置管理方法及系统 |
CN109254935A (zh) * | 2018-08-17 | 2019-01-22 | 青岛海信电器股份有限公司 | 智能电视外接存储设备类型的识别方法和装置 |
CN113642010A (zh) * | 2020-04-27 | 2021-11-12 | 青岛海信移动通信技术股份有限公司 | 一种获取扩展存储设备数据的方法及移动终端 |
CN113642010B (zh) * | 2020-04-27 | 2024-04-26 | 青岛海信移动通信技术有限公司 | 一种获取扩展存储设备数据的方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105100901B (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2704041B1 (en) | Method for storing application data and terminal device | |
CN107635078B (zh) | 游戏控制方法及设备 | |
CN103530186A (zh) | 实现相机应用支持多位置存储的方法及系统 | |
CN103399840A (zh) | 一种计算机配置文件的带外修改方法及计算机 | |
CN103838648A (zh) | 一种终端及数据备份方法 | |
CN103729210A (zh) | 一种实现一个刷机包支持多种制式智能终端的方法及装置 | |
CN111176701A (zh) | 一种基于外部存储卡的固件升级方法和装置 | |
CN102866947A (zh) | 一种Linux内核内存泄漏的检测方法 | |
CN107861691B (zh) | 一种多控存储系统的负载均衡方法和装置 | |
CN104020960A (zh) | 一种硬盘分区格式化与挂载的方法及装置 | |
US9003107B2 (en) | Method for adjusting storage space of partition of embedded multimedia card and terminal | |
CN106484719B (zh) | 一种扩展手机存储的方法及终端 | |
CN105100901A (zh) | 一种虚拟存储卡配置方法及系统 | |
CN110046497B (zh) | 一种函数挂钩实现方法、装置和存储介质 | |
CN104461526A (zh) | 一种终端应用程序的控件遍历方法及装置 | |
JP2016533588A (ja) | 記憶処理方法、装置及び端末 | |
CN106775485B (zh) | 一种基于移动终端的sd卡格式化的方法及系统 | |
CN103092663A (zh) | 一种在终端中安装应用程序的方法及装置 | |
CN111212227A (zh) | 摄像头录像分辨率的配置方法、装置、设备和存储介质 | |
US9674371B2 (en) | Online upgrade processing method, associated apparatus and system | |
CN103516863A (zh) | 设备能力管理方法及移动终端 | |
CN109144586A (zh) | 一种驱动适配方法、装置、计算机设备及存储介质 | |
CN104765631A (zh) | 一种移动终端的应用程序恢复方法及装置 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN103761096A (zh) | 基于IBinder机制实现的自动输入方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |