CN112860187B - 外接存储设备的访问方法及装置、设备、存储介质 - Google Patents
外接存储设备的访问方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN112860187B CN112860187B CN202110176189.XA CN202110176189A CN112860187B CN 112860187 B CN112860187 B CN 112860187B CN 202110176189 A CN202110176189 A CN 202110176189A CN 112860187 B CN112860187 B CN 112860187B
- Authority
- CN
- China
- Prior art keywords
- external storage
- file system
- file
- application
- storage device
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种外接存储设备的访问方法及装置、设备和存储介质,其中,所述方法包括:如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
Description
技术领域
本申请实施例涉及电子技术,涉及但不限于一种外接存储设备的访问方法及装置、设备、存储介质。
背景技术
随着信息技术的发展,外接存储设备已经成为人们日常工作中不可或缺的信息传输工具。其中,U盘(即USB闪存盘)采用USB(Universal Serial Bus,通用串行总线)接口,支持热插拔,具有传输速度快、使用简单、体积小、容量大和便于携带等特点,成为应用最广泛的外接存储设备。
但是,目前安卓系统通常不提供挂载U盘的能力,因此在安卓系统中普通应用(即非系统应用)访问外接U盘受限于系统内核提供的能力。而厂商定制的安卓系统即使挂载了U盘,通常也不会开放设备访问权限给三方普通应用。
因此,如何提供一种方便扩展的普通安卓应用访问外接存储设备的方法,成为本领域技术人员研究的重点。
发明内容
有鉴于此,本申请实施例提供一种外接存储设备的访问方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种外接存储设备的访问方法,所述方法包括:
如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
第二方面,本申请实施例提供一种外接存储设备的访问装置,所述装置包括:
确定单元,用于如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
匹配单元,用于如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
提供单元,用于如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述外接存储设备的访问方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述外接存储设备的访问方法中的步骤。
本申请实施例提供一种外接存储设备的访问方法及装置、设备、存储介质,通过如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件,如此,能够不依赖操作系统底层内核,提供一种易于复用、扩展,且三方普通应用可访问的外接存储设备访问方法。
附图说明
图1为本申请实施例外接存储设备的访问方法的实现流程示意图一;
图2为本申请实施例外接存储设备的访问方法的实现流程示意图二;
图3为本申请实施例外接存储设备的访问方法的实现流程示意图三;
图4为本申请实施例外接U盘访问系统的结构示意图;
图5A为相关技术中Windows操作系统的U盘访问方式的结构示意图一;
图5B为相关技术中Windows操作系统的U盘访问方式的结构示意图二;
图5C为相关技术中U盘的访问方式对应的操作流程示意图一;
图6A为相关技术中安卓操作系统的U盘访问方式的结构示意图;
图6B为相关技术中U盘的访问方式对应的操作流程示意图二;
图7A为本申请实施例U盘服务应用的部署方式的结构示意图一;
图7B为本申请实施例U盘服务应用的部署方式的结构示意图二;
图7C为本申请实施例U盘的访问方式对应的操作流程示意图一;
图7D为本申请实施例U盘的访问方式对应的操作流程示意图二;
图7E为本申请实施例U盘的访问方式对应的操作流程示意图三;
图8A为本申请实施例U盘服务应用的部署方式的结构示意图三;
图8B为本申请实施例U盘服务应用的部署方式的结构示意图四;
图9为本申请实施例外接存储设备的访问装置的组成结构示意图;
图10为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
下面结合附图和实施例对本申请的技术方案进一步详细阐述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供一种外接存储设备的访问方法,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在所述电子设备的存储介质中。图1为本申请实施例外接存储设备的访问方法的实现流程示意图一,如图1所示,所述方法包括:
步骤S101、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
这里,所述外接存储设备,可以为移动硬盘、光盘、U盘等。也就是说,本申请实施例中对所述外接存储设备的具体类型并不做限制。
本申请实施例中,所述存在外接存储设备与电子设备的连接事件,可以是有线连接,也可以是无线连接。例如,将U盘插入电脑的USB接口中,就属于有线连接。又如,将所述外接存储设备与电脑的某个区域接触,或者将所述外接存储设备靠近电脑中的某个区域,就属于无线连接。其中,可以通过WIFI(一种无线通信技术)、数据网络、蓝牙、UWB(UltraWide Band,超宽带)和磁场等技术实现无线连接。本申请实施例中对所述外接存储设备与电子设备的连接方式并不做限制。
这里,所述电子设备可以为各种类型的具有信息处理能力的设备,例如手机、PDA(Personal Digital Assistant,个人数字助理)、导航仪、数字电话、视频电话、智能手表、智能手环、可穿戴设备、平板电脑、一体机等。并且,所述电子设备的操作系统可以为各种类型的操作系统,例如,Windows操作系统,安卓操作系统、IOS操作系统等。
本申请实施例中,所述电子设备的操作系统可以提供缺省的文件格式支持,也就是说,所述操作系统可以提供至少一种特定格式的外接存储设备的文件系统。如此,当存在外接存储设备与电子设备的连接事件时,可以先判断所述操作系统所支持的文件系统是否与所述外接存储设备的文件系统相匹配。
步骤S102、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
本申请实施例中,如果所述操作系统所支持的文件系统不包括所述外接存储设备的文件系统,则所述操作系统所支持的文件系统与所述外接存储设备匹配失败。如果匹配失败,则继续基于扩展文件系统与所述外接存储设备进行匹配。
这里,所述扩展文件系统,可以提供除所述操作系统所支持的文件系统以外的文件系统。
步骤S103、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
本申请实施例中,如果所述扩展文件系统包括所述外接存储设备的文件系统,则认为所述扩展文件系统与所述外接存储设备匹配成功。如果匹配成功,则基于所述扩展文件系统提供所述外接存储设备的数据结构,此时所述电子设备的应用程序就能够通过文件访问接口访问所述数据结构所对应的文件。
这里,如果所述扩展文件系统不包括所述外接存储设备的文件系统,则认为所述扩展文件系统与所述外接存储设备匹配失败。此时,可以提示用户所述电子设备不支持访问所述外接存储设备。也可以对所述扩展文件系统对应的扩展应用进行升级,以支持更多的文件系统。
本申请实施例中,通过如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件,如此,能够提供一种不依赖操作系统底层内核、且适用性广泛的外接存储设备访问方法。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,所述方法包括:
步骤S111、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
步骤S112、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,调用所述扩展文件系统;
这里,所述扩展文件系统区别于电子设备的操作系统,因此可以调用所述扩展文件系统,然后再基于扩展文件系统与所述外接存储设备进行匹配。
步骤S113、基于扩展文件系统与所述外接存储设备匹配;
步骤S114、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
这里,如果所述扩展文件系统与所述外接存储设备匹配成功,则电子设备上的任一应用程序都可以通过文件访问接口访问所述扩展文件系统提供的数据结构所对应的文件。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,所述方法包括:
步骤S121、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
步骤S122、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
步骤S123、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件;
步骤S124、所述电子设备上的任一应用程序通过所述文件访问接口访问所述数据结构所对应的文件。
本申请实施例中,提供了一文件访问接口,如果所述外接存储设备的文件系统在所述电子设备上成功实现挂载,则所述电子设备上的任一应用程序都可以通过所述文件访问接口访问所述数据结构所对应的文件。如此,能够不受限于操作系统内核提供的文件访问权限,实现任一应用包括第三方应用的文件访问。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,所述方法包括:
步骤S131、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
步骤S132、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
步骤S133、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件;
这里,如果所述扩展文件系统与所述外接存储设备匹配失败,则执行所述步骤S134,和/或,执行所述步骤S135。
步骤S134、如果所述扩展文件系统与所述外接存储设备匹配失败,发出提示信息;所述提示信息,用于提示用户无法访问所述外接存储设备;
步骤S135、如果所述扩展文件系统与所述外接存储设备匹配失败,对所述扩展文件系统对应的扩展文件系统应用进行升级。
这里,如果所述扩展文件系统与所述外接存储设备匹配失败,可以发出提示信息,提示用户无法访问所述外接存储设备。也可以在提示用户无法访问所述外接存储设备之后,提示用户需要升级电子设备上的访问应用。如果用户点击选择升级,则对所述扩展文件系统对应的扩展文件系统应用进行升级。当然,如果所述扩展文件系统与所述外接存储设备匹配失败,也可以直接对所述扩展文件系统对应的扩展文件系统应用进行升级。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,图2为本申请实施例外接存储设备的访问方法的实现流程示意图二,如图2所示,所述方法包括:
步骤S201、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
步骤S202、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,通过调用接口调用扩展文件系统应用;其中,所述扩展文件系统应用包括所述扩展文件系统,且所述扩展文件系统应用为基于所述操作系统安装的应用程序;
本申请实施例中,提供了一调用接口,可以通过调用所述调用接口,来调用所述扩展文件系统应用,以实现所述外接存储设备与所述电子设备的匹配。并且,由于所述扩展文件系统应用为基于所述操作系统安装的应用程序,因此可以对所述扩展文件系统应用进行升级,以支持更多的文件系统。
步骤S203、如果所述扩展文件系统应用安装于所述操作系统,生成调用接口;
本申请实施例中,如果所述扩展文件系统应用安装于所述操作系统,则生成调用接口。即所述调用接口属于所述扩展文件系统应用。也就是说,如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,则调用安装在电子设备中的所述扩展文件系统应用的调用接口,来调用扩展文件系统应用中的扩展文件系统,以实现所述外接存储设备的挂载。
这里,如果电子设备的操作系统为Linux操作系统,则所述调用接口可以为LibFUSE接口。其中,FUSE(Filesystem in Userspace,用户空间文件系统)是一个用户空间的文件系统框架,允许非特权用户建立功能完备的文件系统,而不需要重新编译内核。
FUSE分为三大模块:FUSE内核模块(内核态)、LibFUSE模块(用户态)和用户程序模块(用户态)。其中,所述用户程序模块,用于在用户空间实现LibFUSE库封装的文件系统操作。所述LibFUSE模块,用于实现文件系统的主要框架,实现对“用户实现的文件系统操作代码”的封装、挂载管理,通过字符设备等与内核模块通信。所述FUSE内核模块,用于实现VFS接口、设备驱动,将接收到的请求传递给LibFUSE模块。最后,LibFUSE模块再通过传递用户程序的接口以进行实现操作。
这里,如果电子设备的操作系统为安卓操作系统等不具备LibFUSE接口的操作系统,则本申请实施例对所述LibFUSE接口进行改造,提供一种类似LibFUSE接口,所述类似LibFUSE接口可以应用于安卓等不具备LibFUSE接口的操作系统中。当然,所述调用接口还可以为其他类型的调用接口,申请实施例对所述调用接口的具体类型并不做限制。只要能实现上述功能的调用接口,都在本申请实施例的保护范围内。
步骤S204、基于扩展文件系统与所述外接存储设备匹配;
步骤S205、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
本申请实施例中,通过如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,通过调用接口调用扩展文件系统应用;其中,所述扩展文件系统应用包括所述扩展文件系统,且所述扩展文件系统应用为基于所述操作系统安装的应用程序;如果所述扩展文件系统应用安装于所述操作系统,生成调用接口;基于扩展文件系统与所述外接存储设备匹配;如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件,如此,能够提供一种易于扩展多种外接存储设备文件系统、且不依赖操作系统底层内核,同时适用性广泛的外接存储设备访问方法。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,所述方法包括:
步骤S211、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
步骤S212、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,通过调用接口调用扩展文件系统应用;其中,所述扩展文件系统应用包括所述扩展文件系统,且所述扩展文件系统应用为基于所述操作系统安装的应用程序;
步骤S213、如果所述扩展文件系统应用安装于所述操作系统,生成调用接口;
这里,所述扩展文件系统应用可以为系统应用,也可以为第三方应用。即所述扩展文件系统应用,可以在安装电子设备的操作系统时,就默认进行安装。也可以在用户访问外接存储设备时,提醒用户进行安装。并且,在所述扩展文件系统应用安装的过程中,或者在所述扩展文件系统应用安装完成后,生成所述调用接口。
步骤S214、基于扩展文件系统与所述外接存储设备匹配;
步骤S215、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件;
步骤S216、所述电子设备上的任一应用程序通过所述文件访问接口访问所述数据结构所对应的文件。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,图3为本申请实施例外接存储设备的访问方法的实现流程示意图三,如图3所示,所述方法包括:
步骤S301、如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
步骤S302、如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
步骤S303、如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件;
步骤S304、接收所述任一应用程序对所述外接存储设备的操作请求;
本申请实施例中,在所述外接存储设备与电子设备连接成功,即所述外接存储设备的文件系统在所述电子设备上挂载成功后,如果所述电子设备上的任一应用程序需要访问所述外接存储设备,则所述应用程序发送对所述外接存储设备的操作请求。
步骤S305、响应所述操作请求,利用所述电子设备上的块读写接口对所述外接存储设备进行数据读取和数据写入操作;
这里,可以在电子设备中安装一服务应用,所述服务应用可以提供对所述外接存储设备的访问服务。进而,所述服务应用响应所述操作请求,利用所述电子设备上的块读写接口对所述外接存储设备进行数据读写和数据写入操作。当然,所述块读写接口可以设置在所述服务应用中,从而通过所述块读写接口访问所述服务应用中的块设备读写服务,以进行数据读取和数据写入操作。
步骤S306、如果接收到所述数据读取和数据写入操作的操作结果,利用所述文件访问接口将所述操作结果返回给所述任一应用程序;
其中,所述文件访问接口用于实现对所述外接存储设备的目录和文件的增加、删除、修改以及查看操作。
这里,可以在所述服务应用中设置一文件服务模块,如果所述文件服务模块接收到所述数据读取和数据写入操作的操作结果,就利用所述文件访问接口将所述操作结果返回给所述任一应用程序。当然,还可以在电子设备中安装一文件访问应用,将所述操作结果返回给所述文件访问应用,所述文件访问应用与所述任一应用程序之间进行交互。
本申请实施例中,通过如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件;接收所述任一应用程序对所述外接存储设备的操作请求;响应所述操作请求,利用所述电子设备上的块读写接口对所述外接存储设备进行数据读取和数据写入操作;如果接收到所述数据读取和数据写入操作的操作结果,利用所述文件访问接口将所述操作结果返回给所述任一应用程序,如此,能够提供一种不依赖操作系统底层内核、不受限于系统内核提供的文件访问权限、易于复用已有技术和文件系统库,且易于扩展多种外接存储设备文件系统的外接存储设备访问方法。
基于前述的实施例,本申请实施例再提供一种外接存储设备的访问方法,所述方法包括:
步骤S311、如果存在外接存储设备与电子设备的连接事件,确定所述外接存储设备是否成功利用所述电子设备的内置文件系统实现挂载;其中,所述内置文件系统用于提供至少一种外接存储设备对应文件系统的格式支持;
这里,所述电子设备中可以安装有服务应用,所述内置文件系统位于所述服务应用中。
步骤S312、如果所述外接存储设备挂载失败,调用所述电子设备上用户态的接口,对所述外接存储设备的文件系统进行挂载;其中,所述用户态的接口用于在用户空间实现文件系统,以扩展文件系统的类型。
这里,所述电子设备中可以安装有文件系统扩展应用,所述用户态的接口位于所述文件系统扩展应用中。
在一些实施例中,所述方法还包括:
步骤S31a、如果所述外接存储设备挂载成功,所述服务应用中的文件服务模块接收所述电子设备的文件访问应用对所述外接存储设备的操作请求;
步骤S32a、所述文件服务模块响应所述操作请求,利用所述服务应用中的块读写接口对所述外接存储设备进行数据读取和数据写入操作。
这里,所述块读写接口可以与所述服务应用中的块设备读写服务模块进行交互。
在一些实施例中,所述步骤S32a之后,所述方法还包括:如果所述文件服务模块接收到所述数据读取和数据写入操作的操作结果,利用电子设备上的文件访问接口,将所述操作结果返回给所述文件访问应用;其中,所述文件访问接口用于实现对所述外接存储设备的目录和文件的增加、删除、修改以及查看操作。
在一些实施例中,所述方法还包括:如果利用所述用户态的接口挂载所述外接存储设备失败,发出提示信息;所述提示信息,用于提示用户无法访问所述外接存储设备;
在一些实施例中,所述方法还包括:如果利用所述用户态的接口挂载所述外接存储设备失败,对所述用户态的接口对应的文件系统库进行升级。
在一些实施例中,所述步骤S311,包括:
步骤S3111、如果存在外接存储设备与电子设备的连接事件,确定所述外接存储设备的文件系统类型;
步骤S3112、如果所述外接存储设备的文件系统类型与所述内置文件系统中特定的文件系统类型相匹配,确定所述外接存储设备成功利用所述电子设备的内置文件系统实现挂载。
本申请实施例中,设计了一套完整的非内核态的访问方法,区别于现有技术在内核态中实现普通应用的访问。因为本申请实施例中的访问方法是通过服务和FUSE扩展来实现的,因此不需要使用驱动。
目前,电子设备对U盘的访问主要存在以下几个问题:
第一、安卓系统通常不提供挂载U盘的能力,因此在安卓系统中普通应用(即非系统应用)访问外接U盘受限于系统内核提供的能力。而厂商定制的安卓系统即使挂载了U盘,通常也不会开放设备访问权限给三方普通应用。
第二、非普通应用使用内核来进行U盘的访问,现有系统内核支持U盘读写的方式在不升级系统时,也无法扩展以支持更多的U盘文件系统。
第三、在安卓中普通应用如果不依赖系统底层提供的读写U盘方法,则需要及其复杂的实现,难以复用和扩展。
基于此,本申请实施例提供一种外接U盘的访问系统,所述访问系统能够:1)监控U盘插拔状态,当U盘插入时,根据支持的扩展判断U盘文件系统。2)直接读写块设备实现U盘数据读写。3)通过抽象文件访问API(Application Programming Interface,应用程序接口)访问U盘文件,实现U盘文件及目录增删改查。4)支持LibFUSE类似接口,可通过简单改造支持FUSE的文件系统库,通过升级应用或安装第三方应用扩展支持更多文件系统。如此,能够实现以下技术效果:1)不依赖安卓系统底层内核。2)不受限于系统内核提供的文件访问权限。3)易于复用已有技术和文件系统库。4)易于扩展多种U盘文件系统。
其中,图4为本申请实施例外接U盘访问系统的结构示意图,如图4所示,所述访问系统40包括U盘服务应用41、文件访问应用42和文件系统扩展应用43,其中,
所述U盘服务应用41是核心,主要包括文件服务411、内置文件系统412和块设备读写服务413等模块,以及文件访问接口414和块读写接口415。
所述文件访问应用42主要包括有文件访问421等模块。
所述文件系统扩展应用43主要包括扩展文件系统431等模块,以及类似LibFUSE接口432。
这里,LibFUSE接口是针对Linux操作系统的,安卓系统没有。因此,本申请实施例中复用Linux中的LibFUSE接口,并对所述LibFUSE接口进行改造,形成类似LibFUSE接口。所述文件系统扩展应用为可安装卸载的第三方应用或系统应用;并且,可以对所述文件系统扩展应用进行升级,以支持更多的文件系统,从而在扩展多种U盘文件系统的同时,避免了对操作系统或对内核的升级。
所述文件服务411,用于提供文件访问接口414,并转发文件操作请求给文件系统扩展应用43或内置文件系统412。
所述内置文件系统412,用于提供至少一种特定格式的U盘文件系统,通常是常用的文件格式支持。所述内置文件系统412接收来自文件服务411的文件请求,通过块读写接口415访问块设备读写服务413,获得从块读写接口415返回的数据,并将所述数据再返回给文件服务411。
所述块设备读写服务413,用于接收从文件系统(包括内置文件系统412和扩展文件系统431)来的请求,读写U盘。并将从U盘获取的数据返回给内置文件系统412,内置文件系统412再将数据返回给文件服务411,最终返回给文件访问应用43。
这里,U盘中的数据都是以块的方式进行读写。
所述文件服务411,还用于提供U盘的监控和发现机制。
即,所述文件服务411提供文件的抽象接口,所述内置文件系统412提供缺省的文件格式支持。当目标U盘插入电子设备后,首先通过内置文件系统来支持挂载所述目标U盘的文件系统。如果所述内置文件系统缺省支持的至少一种特定格式的U盘文件系统不支持所述目标U盘的文件系统,则通过文件系统扩展应用43中的扩展文件系统来支持所述目标U盘的文件系统。
在一些实施例中,提供了一种基于所述U盘访问系统的USB块设备访问协议,与U盘通信实现读写操作。
本申请实施例中,所述U盘服务应用、文件访问应用和文件系统扩展应用都是可以进行安装的。并且,在用户插入U盘后,可以提示用户是否进行上述应用的安装,当用户选择安装上述应用时,再安装。也可以当用户安装操作系统时,就默认安装上述应用或者在用户插入U盘后,默认安装上述应用。
当然,在实际应用中上述三个应用可以以一个应用的方式进行呈现。
基于此,本申请实施例再提供一种U盘的访问方法,所述方法包括:
步骤S401、U盘服务应用中的文件服务实时监控U盘的插拔,当U盘插上后,获取U盘的格式之类的信息;
步骤S402、如果所述U盘服务应用中的内置文件系统支持所述U盘的文件系统,则U盘挂载成功;
举例来说,如果U盘服务应用中的内置文件系统默认支持的格式为FAT32格式,需要访问的外接U盘的文件系统也是FAT32格式,则所述内置文件系统支持所述U盘的文件系统,需要访问的外接U盘可以直接利用所述内置文件系统在电子设备上实现成功挂载。
步骤S403、如果所述内置文件系统不支持所述U盘的文件系统,则请求文件系统扩展应用进行支持,如果支持,则U盘挂载成功;
举例来说,如果U盘服务应用中的内置文件系统默认支持的格式为FAT32格式,需要访问的外接U盘的文件系统是NTFS格式,则所述内置文件系统不支持所述U盘的文件系统,所述外接U盘无法通过内置文件系统进行挂载。此时可以安装上述的文件系统扩展应用。如果所述文件系统扩展应用中扩展文件系统包括NTFS格式,则所述文件系统扩展应用支持所述外接U盘的文件系统,所述外接U盘可以利用所述扩展文件系统在电子设备上实现成功挂载。
当然,一种文件系统可以用一种扩展应用对其进行支持。一个扩展对应一个文件系统,或者一个扩展对应多个文件系统。
这里,所述步骤S401至所述步骤S403实现了U盘文件系统的挂载。
步骤S404、如果电子设备上的任一应用程序需要访问所述U盘,则通过块读写接口去读写U盘;
步骤S405、如果文件访问应用在进行文件或目录的增加、删除、查看或修改操作,则通过文件访问接口去访问U盘服务应用中的文件服务。
本申请实施例中,针对文件进行了抽象,即提供文件或目录的增删查改等操作的抽象。所述文件访问接口就是针对这个抽象进行操作的。
这里,所述步骤S404至所述步骤S405实现了电子设备上任一应用程序对所述U盘的读写。其中,所述步骤S404中读写U盘是操作系统底层的操作,所述步骤S405中文件或目录的增加、删除、查看或修改操作是利用接口进行的抽象操作。
本申请实施例中,通过提供的所述外接U盘访问系统和访问方法,能够:1)为一普通应用提供U盘访问服务,以及对外提供可访问接口(即所述U盘服务应用包括的文件访问接口)。2)所述U盘服务应用中的文件服务提供USB监控发现机制,知晓USB设备插拔状态。3)实现了USB块设备访问协议,与U盘通信实现读写操作,并提供USB块读写接口供外部调用。4)提供了类似LibFUSE接口,供外部调用以实现文件系统扩展。5)提供了文件访问接口供外部访问U盘文件。
一般地,具有Windows操作系统的电子设备主要通过以下方式进行U盘的访问。图5A为相关技术中Windows操作系统的U盘访问方式的结构示意图一,如图5A所示,Windows设备在访问可识别文件格式的U盘时,是通过内核来实现的:U盘51的格式为FAT32格式,Windows设备52的内核521中包括文件系统5211,且所述文件系统5211支持FAT32格式,则文件访问应用522(为exe格式)通过调用文件API来访问内核521中的文件系统5211,来访问所述U盘51。图5B为相关技术中Windows操作系统的U盘访问方式的结构示意图二,如图5B所示,Windows设备在访问不可识别文件格式的U盘时,需要通过安装驱动到内核解决:U盘51的格式为不可识别的X格式,则需要在Windows设备52的内核521中安装所述X格式对应的文件系统驱动5211(所述文件系统驱动为sys格式)。如此,文件访问应用522(所述文件访问应用为exe格式)通过调用文件API来访问内核521中的文件系统5212和所述X格式对应的文件系统驱动5211,来访问所述U盘51。
这里,所述X格式对应的文件系统驱动5211需要用户手动安装在系统内核521中,因此对于用户来说体验较差。图5C为相关技术中U盘的访问方式对应的操作流程示意图一,如图5C所示,用户需要到驱动下载站,手动搜索下载并安装正确的驱动才能正确的访问特定格式的U盘,难度大、用户体验差。其中,具体的操作流程为:步骤S501、插入U盘;这里,用户将目标U盘插入Windows设备上。步骤S502、判断系统内核是否可以识别所述U盘;这里,所述Windows设备判断系统内核是否可以识别所述U盘,如果无法识别,则执行步骤S503。步骤S503、返回无法识别的结果;这里,如果无法识别,则返回无法识别的结果给用户,告知用户设备无法识别所述目标U盘的文件系统,提示用户需要去厂商下载站下载对应的驱动。步骤S504、搜索驱动、下载驱动;这里,用户接收到提示后,可以去厂商下载站手动搜索对应的驱动,并下载对应的驱动到本地。步骤S505、安装驱动;这里,用户需要在Windows设备上安装下载的驱动。并且,当下载的驱动安装完成后,所述文件系统为扩展文件系统,所述扩展文件系统支持所述目标U盘的文件系统。步骤S506、读写文件;这里,当驱动安装完成后,用户就可以通过文件访问应用来读写文件。步骤S507、返回正常数据;这里,U盘读写文件的过程中,要用到文件API、文件系统,以及X文件系统驱动等。进而,再一步一步地将正常数据返回给文件访问应用。步骤S508、发送正常数据。这里,所述文件访问应用再将正常数据发送给用户。
图6A为相关技术中安卓操作系统的U盘访问方式的结构示意图,如图6A所示,安卓设备在访问可识别文件格式的U盘时,是通过内核来实现的,访问方式与Windows设备访问可识别文件格式的方式一致,不同的是由于操作系统本身的差异,安卓设备的Linux内核存在于ROM中:U盘61的格式为FAT32格式,安卓设备62的Linux内核621存在于ROM 622中,并且,所述Linux内核621中包括文件系统6211,且所述文件系统6211支持FAT32格式,则文件访问应用623(所述文件访问应用为apk格式)通过调用文件API来访问所述文件系统6211,来访问所述U盘61。
但是,在安卓这种对用户权限管制严格的系统中,没有驱动可以被允许安装到安卓系统底层的Linux内核中。因此,如果用户想在设备上访问不可识别格式的U盘时,只有等待厂商升级ROM。图6B为相关技术中U盘的访问方式对应的操作流程示意图二,如图6B所示,当在安卓设备中需要访问不可识别格式的U盘时,用户的操作流程如下:步骤S601、读写文件;这里,用户可以通过文件访问应用访问U盘,进而所述文件访问应用通过文件API进行读写文件的操作。步骤S602、判断文件系统是否可以识别U盘;这里,安卓设备判断文件系统是否可以识别U盘,如果不能识别,则执行步骤S603。步骤S603、返回无法识别的结果;这里,如果文件系统不能识别U盘,则将识别结果返回给文件访问应用。进而,所述文件访问应用将无法识别U盘的结果告知用户。步骤S604、等待厂商升级支持所述Y格式的ROM;这里,用户在接收到无法识别U盘的提示后,只能等待安卓设备的厂商升级安卓系统,以支持所述Y格式的ROM。
基于此,本申请实施例提供了一种U盘服务应用,可以解决上述问题。并且在安卓系统中,本申请实施例中的U盘服务应用可以通过以下两种方式进行部署:
方式一、ROM厂商将U盘服务应用(可以为apk格式的文件)部署在安卓的ROM系统层。这样,对安卓底层内核稍加改造即可实现安卓文件系统自然扩展,如此,用户在普通应用层通过安装“文件系统扩展.apk”,就可以实现对不可识别的U盘文件格式的扩展。并且,安装“文件系统扩展.apk”的过程可自动完成(甚至静默安装),也可手动完成。
图7A为本申请实施例U盘服务应用的部署方式的结构示意图一,如图7A所示,ROM厂商将U盘服务应用71(所述U盘服务应用可以为apk格式)部署在ROM系统层,当所述U盘服务应用71中的内置文件系统711能识别U盘72的格式时,部署方式就如图7A所示。U盘72的格式为X格式,内置文件系统711缺省支持的文件系统格式包括所述X格式,则文件访问应用73通过调用文件API来访问Linux内核74中的文件系统741,所述文件系统741又通过文件访问接口,访问U盘服务应用71中的文件服务712,所述文件服务712将文件操作请求转发给内置文件系统711,内置文件系统711接收到请求后通过块设备读写服务713与U盘72进行数据读写操作。
图7B为本申请实施例U盘服务应用的部署方式的结构示意图二,如图7B所示,ROM厂商将U盘服务应用71(所述U盘服务应用可以为apk格式)部署在ROM系统层,当所述U盘服务应用71中的内置文件系统711不能识别U盘72的格式时,部署方式就如图7B所示。U盘72的格式为Y格式,内置文件系统711缺省支持的文件系统格式不包括所述Y格式,则在安卓设备中需要安装文件扩展应用73(所述文件扩展应用可以为apk格式),以帮助识别并读取U盘数据。文件访问应用74(所述文件访问应用可以为apk格式)通过调用文件API来访问Linux内核75中的文件系统751,所述文件系统751又通过文件访问接口,访问U盘服务应用71中的文件服务712,所述文件服务712通过FUSE接口将文件操作请求转发给文件扩展应用73,所述文件扩展应用73接收到请求后通过块设备读写服务713与U盘72进行数据读写操作。
图7C为本申请实施例U盘的访问方式对应的操作流程示意图一,如图7C所示,当插入的U盘能被U盘服务应用内置的文件系统识别时,用户的操作流程如下:步骤S701、插入U盘;步骤S702、通知U盘已插入;这里,当用户插入U盘后,安卓设备会通知文件服务应用U盘已经插入。步骤S703、检查是否支持所述U盘的格式;这里,U盘服务应用判断内核是否支持,如果内核不支持,则执行步骤S704。步骤S704、读写文件;这里,文件访问应用通过文件API、文件系统、U盘服务应用来访问所述U盘。步骤S705、返回读写数据;这里,文件访问应用将接收到的读写数据返回给用户。
图7D为本申请实施例U盘的访问方式对应的操作流程示意图二,如图7D所示,当插入的U盘不能被U盘服务应用内置的文件系统识别,但能自动找到文件扩展应用时,用户的操作流程如下:步骤S711、插入U盘;步骤S712、通知U盘已插入;这里,安卓设备通过U盘服务应用U盘已插入。步骤S713、检查是否支持所述格式的U盘;这里,所述U盘服务应用检查是否支持所述格式的U盘。如果内核不支持,且U盘服务应用内置文件系统也不支持,则执行步骤S714。步骤S714、上报Y格式特征;这里,U盘服务应用将所述Y格式特征上报给ROM厂商。步骤S715、查找所述Y格式文件扩展应用;步骤S716、找到匹配的文件扩展应用;这里,ROM厂商查找所述Y格式对应的扩展应用,并将找到匹配的文件扩展应用的消息告知U盘文件系统。步骤S717、下载所述Y格式文件扩展应用;步骤S718、安装所述Y格式文件扩展应用;这里,所述U盘文件系统下载所述Y格式对应的文件扩展应用,并安装所述扩展应用到安装设备上。步骤S719、文件访问;步骤S720、返回正常数据。这里,用户发起文件访问请求,对应地,文件API、文件系统、U盘服务应用和文件扩展应用等接收所述请求,并将所述请求对应的结果返回为用户。
图7E为本申请实施例U盘的访问方式对应的操作流程示意图三,如图7E所示,当插入的U盘不能被U盘服务应用内置的文件系统识别,也不能自动找到并安装文件扩展应用时,用户的操作流程如下:步骤S721、插入U盘;步骤S722、通知U盘已插入;这里,安卓设备通过U盘服务应用U盘已经插入设备中。步骤S723、检查是否支持所述U盘的文件格式;这里,U盘服务应用检查内核和内置文件系统是否支持所述U盘的文件格式。如果不支持,则执行步骤S724。步骤S724、上报Y格式特征;这里,U盘服务应用将所述Y格式特征上报给厂商APP商店。步骤S725、查找所述Y格式对应的文件扩展应用;这里,厂商APP商店查找所述Y格式文件扩展应用。步骤S726、未找到匹配格式的文件扩展应用;这里,如果没有找到匹配格式的文件扩展应用,将结果返回给U盘服务应用。步骤S727、返回无法识别的结果;这里,文件API将无法识别的结果返回给文件访问应用。文件访问应用再通知用户无法识别U盘。步骤S728、搜索、下载文件扩展应用;这里,用户接收到所述通知后,在APP商店中搜索并下载对应的文件扩展应用。步骤S729、安装所述文件扩展应用;这里,在文件扩展应用下载完成后,用户在安卓设备上安装所述应用。步骤S730、读写文件;步骤S731、返回正常数据。这里,文件访问应用通过已安装的扩展文件系统对所述U盘进行访问,并将返回的正常数据发送给用户。
方式二、U盘服务应用部署在普通应用层,用户可以通过应用界面,浏览、操作U盘中的文件。同时,通过暴露“文件访问接口”供第三方应用访问U盘中文件。如此,用户在普通应用层通过安装“文件系统扩展.apk”,就可实现对不可识别的U盘文件格式的扩展。安装“文件系统扩展.apk”的过程可自动完成(会弹窗提醒用户),也可手动完成。
图8A为本申请实施例U盘服务应用的部署方式的结构示意图三,如图8A所示,U盘服务应用81(所述U盘服务应用可以为apk格式)被部署在普通应用层,当所述U盘服务应用81中的内置文件系统811能识别U盘82的格式时,部署方式就如图8A所示。U盘82的格式为X格式,内置文件系统811缺省支持的文件系统格式包括所述X格式,则文件访问应用83(所述文件访问应用可以为apk格式)通过直接调用文件访问接口来访问U盘服务应用81中的文件服务812,所述文件服务812将文件操作请求转发给内置文件系统811,内置文件系统811接收到请求后通过块设备读写服务813与U盘82进行数据读写操作。这种部署方式,无需使用安卓系统的Linux内核。
图8B为本申请实施例U盘服务应用的部署方式的结构示意图四,如图8B所示,U盘服务应用81(所述U盘服务应用可以为apk格式)被部署在普通应用层,当所述U盘服务应用81需要文件扩展应用82(所述文件扩展应用可以为apk格式)帮助识别并读取数据时,部署方式就如图8B所示。U盘83的格式为Y格式,内置文件系统811缺省支持的文件系统格式不包括所述Y格式,则在安卓设备中需要安装文件扩展应用82,以帮助识别并读取U盘数据。文件访问应用84(所述文件访问应用可以为apk格式)通过调用文件访问接口来访问U盘服务应用81中的文件服务812,所述文件服务812通过FUSE接口将文件操作请求转发给文件扩展应用82,所述文件扩展应用82接收到请求后通过块设备读写服务813与U盘83进行数据读写操作。这种部署方式,也无需使用安卓系统的Linux内核。
这里,图8A和图8B所示的部署方式,对应的操作流程与方式一差别不大,进而也能带来良好的用户体验,使得用户能够在安卓系统中,轻松地访问任一格式的U盘文件,并且第三方应用也具有访问权限。
基于前述的实施例,本申请实施例提供一种外接存储设备的访问装置,该装置包括所包括的各单元、以及各单元所包括的各模块、以及各模块所包括的各部件,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或FPGA(Field ProgrammableGate Array,现场可编程门阵列)等。
图9为本申请实施例外接存储设备的访问装置的组成结构示意图,如图9所示,所述装置900包括:
确定单元901,用于如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
匹配单元902,用于如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
提供单元903,用于如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
在一些实施例中,所述匹配单元902,包括:
调用模块,用于调用所述扩展文件系统;
匹配模块,用于基于扩展文件系统与所述外接存储设备匹配。
在一些实施例中,所述调用模块,包括:
接口调用部件,用于通过调用接口调用扩展文件系统应用;其中,所述扩展文件系统应用包括所述扩展文件系统,且所述扩展文件系统应用为基于所述操作系统安装的应用程序;
接口生成部件,用于如果所述扩展文件系统应用安装于所述操作系统,生成调用接口。
在一些实施例中,所述装置还包括:
访问单元,用于使所述电子设备上的任一应用程序通过所述文件访问接口访问所述数据结构所对应的文件。
在一些实施例中,所述访问单元,包括:
请求接收模块,用于接收所述任一应用程序对所述外接存储设备的操作请求;
请求响应模块,用于响应所述操作请求,利用所述电子设备上的块读写接口对所述外接存储设备进行数据读取和数据写入操作。
在一些实施例中,所述访问单元,还包括:
结果返回模块,用于如果接收到所述数据读取和数据写入操作的操作结果,利用所述文件访问接口将所述操作结果返回给所述任一应用程序;
其中,所述文件访问接口用于实现对所述外接存储设备的目录和文件的增加、删除、修改以及查看操作。
在一些实施例中,所述装置还包括以下至少之一:
提示单元,用于如果所述扩展文件系统与所述外接存储设备匹配失败,发出提示信息;所述提示信息,用于提示用户无法访问所述外接存储设备;
升级单元,用于如果所述扩展文件系统与所述外接存储设备匹配失败,对所述扩展文件系统对应的扩展文件系统应用进行升级。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的外接存储设备的访问方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、ROM(Read Only Memory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的外接存储设备的访问方法中的步骤。
对应地,本申请实施例提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述外接存储设备的访问方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图10为本申请实施例电子设备的一种硬件实体示意图,如图10所示,该电子设备100的硬件实体包括:处理器101、通信接口102和存储器103,其中
处理器101通常控制电子设备100的总体操作。
通信接口102可以使电子设备100通过网络与其他电子设备或服务器通信。
存储器103配置为存储由处理器101可执行的指令和应用,还可以缓存待处理器101以及电子设备100中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过FLASH(闪存)或RAM(Random Access Memory,随机访问存储器)实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种外接存储设备的访问方法,所述方法包括:
如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
2.根据权利要求1所述的方法,所述基于扩展文件系统与所述外接存储设备匹配,包括:
调用所述扩展文件系统;
基于扩展文件系统与所述外接存储设备匹配。
3.根据权利要求2所述的方法,所述调用所述扩展文件系统,包括:
通过调用接口调用扩展文件系统应用;其中,所述扩展文件系统应用包括所述扩展文件系统,且所述扩展文件系统应用为基于所述操作系统安装的应用程序;
如果所述扩展文件系统应用安装于所述操作系统,生成调用接口。
4.根据权利要求1至3任一项所述的方法,所述方法还包括:
所述电子设备上的任一应用程序通过所述文件访问接口访问所述数据结构所对应的文件。
5.根据权利要求4所述的方法,所述电子设备上的任一应用程序通过所述文件访问接口访问所述数据结构所对应的文件,包括:
接收所述任一应用程序对所述外接存储设备的操作请求;
响应所述操作请求,利用所述电子设备上的块读写接口对所述外接存储设备进行数据读取和数据写入操作。
6.根据权利要求5所述的方法,所述电子设备上的任一应用程序通过所述文件访问接口访问所述数据结构所对应的文件,还包括:
如果接收到所述数据读取和数据写入操作的操作结果,利用所述文件访问接口将所述操作结果返回给所述任一应用程序;
其中,所述文件访问接口用于实现对所述外接存储设备的目录和文件的增加、删除、修改以及查看操作。
7.根据权利要求1至3任一项、5或6所述的方法,所述方法还包括以下至少之一:
如果所述扩展文件系统与所述外接存储设备匹配失败,发出提示信息;所述提示信息,用于提示用户无法访问所述外接存储设备;
如果所述扩展文件系统与所述外接存储设备匹配失败,对所述扩展文件系统对应的扩展文件系统应用进行升级。
8.一种外接存储设备的访问装置,所述装置包括:
确定单元,用于如果存在外接存储设备与电子设备的连接事件,确定操作系统所支持的文件系统是否与所述外接存储设备匹配;
匹配单元,用于如果所述操作系统所支持的文件系统与所述外接存储设备匹配失败,基于扩展文件系统与所述外接存储设备匹配;
提供单元,用于如果所述扩展文件系统与所述外接存储设备匹配成功,基于所述扩展文件系统提供所述外接存储设备的数据结构,以使所述电子设备的应用程序能够通过文件访问接口访问所述数据结构所对应的文件。
9.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任一项所述访问方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至7任一项所述访问方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110176189.XA CN112860187B (zh) | 2021-02-09 | 2021-02-09 | 外接存储设备的访问方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110176189.XA CN112860187B (zh) | 2021-02-09 | 2021-02-09 | 外接存储设备的访问方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860187A CN112860187A (zh) | 2021-05-28 |
CN112860187B true CN112860187B (zh) | 2023-03-21 |
Family
ID=75989360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110176189.XA Active CN112860187B (zh) | 2021-02-09 | 2021-02-09 | 外接存储设备的访问方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860187B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254383B (zh) * | 2021-06-18 | 2021-12-03 | 湖南博匠信息科技有限公司 | 基于飞腾和fpga的嵌入式板卡的数据存储方法及系统 |
CN113741983A (zh) * | 2021-07-21 | 2021-12-03 | 深圳市智微智能科技股份有限公司 | 安卓系统中usb设备访问方法、系统、终端及存储介质 |
CN114630164B (zh) * | 2022-03-14 | 2024-01-16 | 卡莱特云科技股份有限公司 | 一种基于空间拓展播放盒的节目播放方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506840A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | 利用虚拟设备文件系统扩充移动设备存储容量的方法 |
CN101331734A (zh) * | 2005-12-15 | 2008-12-24 | 国际商业机器公司 | 用于向无盘计算装置部署因特网小型计算机系统接口参数的设备、系统和方法 |
CN110325964A (zh) * | 2017-04-04 | 2019-10-11 | 甲骨文国际公司 | 虚拟配置系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218227B (zh) * | 2013-04-10 | 2016-01-06 | 广东欧珀移动通信有限公司 | 一种安卓设备内置硬盘上兼容多种文件系统的方法及装置 |
CN104639553B (zh) * | 2015-02-13 | 2018-03-27 | 福州瑞芯微电子股份有限公司 | 数据交互方法、装置及系统 |
US10083199B1 (en) * | 2016-05-23 | 2018-09-25 | Sprint Communications Company L.P. | Data migration in active data store |
CN107463652A (zh) * | 2017-07-27 | 2017-12-12 | 北京小米移动软件有限公司 | 外接存储设备的连接控制方法及装置 |
CN109388342A (zh) * | 2018-08-31 | 2019-02-26 | 深圳市众鸿科技股份有限公司 | 移动存储设备的多文件系统识别方法及系统、车载终端 |
-
2021
- 2021-02-09 CN CN202110176189.XA patent/CN112860187B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506840A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | 利用虚拟设备文件系统扩充移动设备存储容量的方法 |
CN101331734A (zh) * | 2005-12-15 | 2008-12-24 | 国际商业机器公司 | 用于向无盘计算装置部署因特网小型计算机系统接口参数的设备、系统和方法 |
CN110325964A (zh) * | 2017-04-04 | 2019-10-11 | 甲骨文国际公司 | 虚拟配置系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112860187A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860187B (zh) | 外接存储设备的访问方法及装置、设备、存储介质 | |
US11080143B2 (en) | Systems and processes for data backup and recovery | |
CN110955494B (zh) | 一种虚拟机磁盘镜像构建方法、装置、设备、介质 | |
KR20200140555A (ko) | 전자 장치 및 전자 장치의 듀얼 스탠바이 모드 및 싱글 스탠바이 모드의 전환 방법 | |
WO2014089734A1 (zh) | 终端和应用程序恢复方法 | |
CN110869902A (zh) | 一种浏览应用文件夹的方法及电子设备 | |
WO2022063037A1 (zh) | 一种补丁包安装方法和装置 | |
CN115080479A (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
CN106528226A (zh) | 操作系统的安装方法及装置 | |
US11604656B2 (en) | Method and apparatus for managing application | |
CN111176720B (zh) | 一种实现在多系统中运行应用程序的控制方法、控制装置 | |
JP2010500671A (ja) | ネットワーク環境におけるスペースのカスタマイズ | |
KR20200068275A (ko) | 저장 장치를 초기화하는 방법 및 전자 장치 | |
CN114880073A (zh) | 一种对用户屏蔽Web框架的云应用引擎部署方法、装置、设备和存储介质 | |
KR20040029089A (ko) | 네트워크 환경에서 사용하기 위한 디바이스 | |
US11341095B2 (en) | Electronic device for searching for file information stored in external device and operation method thereof | |
US9971532B2 (en) | GUID partition table based hidden data store system | |
JP2007122555A (ja) | 情報処理装置 | |
CN107968794A (zh) | 一种虚拟光驱挂载方法及系统、服务器、终端 | |
CN114443150B (zh) | 交换机出厂信息同步方法、系统、终端及存储介质 | |
US12013795B1 (en) | System and method for managing ports of data processing systems and attached devices | |
KR102462166B1 (ko) | 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템 | |
EP4216070A1 (en) | File processing apparatus, file processing method, storage medium, and computer program | |
CN116028433B (zh) | 数据迁移方法和电子设备 | |
CN112749085B (zh) | 一种跨集群的任务发布方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |