CN105100901B - 一种虚拟存储卡配置方法及系统 - Google Patents
一种虚拟存储卡配置方法及系统 Download PDFInfo
- Publication number
- CN105100901B CN105100901B CN201410192038.3A CN201410192038A CN105100901B CN 105100901 B CN105100901 B CN 105100901B CN 201410192038 A CN201410192038 A CN 201410192038A CN 105100901 B CN105100901 B CN 105100901B
- Authority
- CN
- China
- Prior art keywords
- carry
- storage card
- state
- usb flash
- flash disk
- 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.)
- Active
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 (6)
1.一种虚拟存储卡配置方法,其特征在于,所述方法包括以下步骤:
A、系统内核检测到U盘插入事件后,读取预先建立的存储卡挂载状态模块所记录的存储卡当前挂载状态,当存储卡当前挂载状态为未挂载时,执行步骤B;
B、配置U盘挂载路径为存储卡路径,并按照此路径执行U盘挂载操作;
C、当依赖存储卡存储的应用程序写入数据时,应用程序利用所配置的存储卡路径构建目录将数据写入U盘中;
所述步骤A之前包括:
建立存储卡挂载状态模块,记录系统对存储卡的挂载状态;
存储卡的挂载状态的记录格式设定为设备节点、挂载位置、挂载状态,并且存储卡挂载状态模块记录上述格式的内容,如果检测到存储卡的挂载状态的参数有变化,则用所检测到的值更新记录的参数值。
2.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,当存储卡当前挂载状态为已挂载时,则获取系统中除存储卡路径以外的其它路径,并将其配置为U盘挂载路径。
3.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,所述步骤B还包括:
执行U盘挂载操作后修改存储卡的挂载状态为已挂载。
4.根据权利要求1所述的虚拟存储卡配置方法,其特征在于,所述步骤A具体为:
A1、系统内核检测到U盘插入事件后,向系统存储管控中心发送事件消息;
A2、系统存储管控中心接收事件消息后读取存储卡当前挂载状态,判断所读取的存储卡当前挂载状态是否已挂载,若否,则执行步骤B。
5.根据权利要求4所述的虚拟存储卡配置方法,其特征在于,所述步骤B具体为:
系统存储管控中心配置U盘挂载路径为存储卡路径,并调用类管理器按照所配置路径执行U盘挂载操作,将U盘与存储卡路径相关联。
6.一种虚拟存储卡配置系统,其特征在于,所述系统包括:
状态读取模块,用于系统内核检测到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 CN105100901A (zh) | 2015-11-25 |
CN105100901B true 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) |
Families Citing this family (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 | 青岛海信电器股份有限公司 | 智能电视外接存储设备类型的识别方法和装置 |
CN113642010B (zh) * | 2020-04-27 | 2024-04-26 | 青岛海信移动通信技术有限公司 | 一种获取扩展存储设备数据的方法及移动终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 乐视致新电子科技(天津)有限公司 | 一种为智能电视扩展存储空间的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012155502A (ja) * | 2011-01-26 | 2012-08-16 | Dts Kk | 外部記録媒体に常駐されたキャッシュメモリプログラム |
-
2014
- 2014-05-08 CN CN201410192038.3A patent/CN105100901B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|
关于小米盒子OTG外接存储设备挂载路径的一点建议;xingkong2100;《http://bbs.xiaomi.cn/t-7469713-1-o1》;20130516;第1页第1-4段 * |
Also Published As
Publication number | Publication date |
---|---|
CN105100901A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861691B (zh) | 一种多控存储系统的负载均衡方法和装置 | |
CN110941395B (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
CN103218173A (zh) | 存储控制方法及装置 | |
CN105100901B (zh) | 一种虚拟存储卡配置方法及系统 | |
CN104020960A (zh) | 一种硬盘分区格式化与挂载的方法及装置 | |
CN104104705B (zh) | 分布式存储系统的接入方法和设备 | |
CN110928935A (zh) | 数据的访问命令处理方法、装置和系统 | |
CN103136215A (zh) | 存储系统的数据读写方法和装置 | |
KR101551206B1 (ko) | 차량 데이터 제어 시스템 및 제어 방법 | |
CN102567081B (zh) | 基于多进程的全局设置方法及系统 | |
CN104657088B (zh) | 一种硬盘坏块信息的获取方法及装置 | |
CN111352899A (zh) | 路径聚合方法、访问方法及通信设备、存储介质 | |
CN103713860A (zh) | 一种基于备份架构的虚拟磁盘库构建方法及系统 | |
CN110362324A (zh) | 一种网卡升级方法及装置 | |
CN106610878B (zh) | 双控制器系统的故障调试方法 | |
US20190213045A1 (en) | Method and electronic device for executing data reading/writing in volume migration | |
US20170131946A1 (en) | Method and device for formatting storage of mobile terminal | |
CN114884836A (zh) | 一种虚拟机高可用方法、装置及介质 | |
CN110781133B (zh) | 一种row快照方法、系统、设备及计算机可读存储介质 | |
CN209560583U (zh) | 一种多状态多分区u盘 | |
CN102866864B (zh) | 实现一次性可编程存储的方法和存储设备 | |
CN102760061B (zh) | 屏蔽固态硬盘存储接口差异的方法及存储系统 | |
CN111143218A (zh) | 适用于5G嵌入式设备的log调试方法、装置和可读存储介质 | |
CN104050074A (zh) | 一种在系统中异步记录日志的方法和装置 | |
CN106570404B (zh) | 一种防止意外修改lcd设置的方法及系统 |
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 |