文件读写方法和电子设备与流程

文档序号:12041555阅读:208来源:国知局
文件读写方法和电子设备与流程
本发明涉及电子设备领域,并且具体涉及一种文件读写方法和使用该文件读写方法的电子设备。

背景技术:
近年来,诸如移动电话、平板电脑和个人数字助理的电子设备已经越来越普及,其具有轻便、采用简单触控操作的优点,其可以轻松实现上网、玩游戏、看视频、阅读杂志等等功能。随着电子设备的硬件功能的不断增强,同一电子设备已经能够支持两个操作系统(诸如等)在其上同时运行。此外,还出现了基于混合(Hybrid)架构的电子设备系统。例如,出现了由运行操作系统的X86系统和运行操作系统的ARM系统构成的Hybrid系统架构。目前,不管是在同一终端设备上同时运行两个操作系统还是将分别运行有各自操作系统的双终端设备的情况下,两个操作系统分别具有完全独立的硬盘系统和存储介质,这不仅带来尺寸、成本的上升,而且难以实现不同系统之间数据上的有效共享和访问。已经提出了一种具有多个数据读写端口的存储装置,从而实现Hybrid系统架构下的不同操作系统分别通过各个数据读写端口访问不同操作系统之间共享的同一存储介质。此外,现有技术中的存储装置一般采用SATA或SCSI接口,操作系统直接通过SATA或SCSI协议访问存储装置,对存储装置的访问是以存储装置的最小访问单元(扇区或页面)进行的。操作系统需要在上层实现文件系统,通过文件系统来管理存储在存储装置上的数据。目前,基于Flash的固态硬盘(SSD)日益流行,大有取代传统硬盘存储装置的趋势。SSD存储装置内部通常具有自己的处理器,因此希望提供一种文件读写方法和使用该文件读写方法的存储装置,其实现在存储装置内部执行文件系统管理功能,而对外直接提供文件操作的接口。此外,当该存储装置中的文件由不同的操作系统同时访问时,该存储装置内部的文件系统管理功能能够避免文件读写冲突的出现。

技术实现要素:
有鉴于上述情况,本发明提供了一种文件读写方法和使用该文件读写方法的电子设备。根据本发明实施例,提供了一种文件读写方法,应用于一种具有存储装置的电子设备,所述存储装置包括文件系统管理单元、用于存储数据的存储介质区域以及数据接口,所述文件读写方法包括:所述存储装置经由所述数据接口接收来自电子设备的对存储介质区域中文件的读写命令;所述文件系统管理单元基于所述读写命令,得到所述文件在所述存储介质区域中的地址;以及经由所述数据接口将对位于所述地址的所述文件的读写结果发送给电子设备。此外,根据本发明实施例的文件读写方法,其中,所述电子具有第一硬件系统和第二硬件系统,所述第一硬件系统运行有第一操作系统,所述第二硬件系统具有第二操作系统,所述数据接口至少包括支持第一数据传输协议的第一数据子接口和支持第二数据传输协议的第二数据子接口,所述第一操作系统和所述第二操作系统分别经由所述第一数据子接口和/或所述第二数据子接口进行对所述存储介质区域的读写,其中所述文件读写方法还包括:所述存储装置经由所述数据接口的中第一数据子接口接收来自电子设备中的第一操作系统的对存储介质区域中文件的读写命令;以及所述文件系统管理单元基于所述读写命令,得到所述文件在所述存储介质区域中的地址,并且控制对所述文件在所述存储介质区域中的所述地址进行读/写的锁定,以避免所述第二操作系统对所述文件进行读/写操作时发生冲突。此外,根据本发明实施例的文件读写方法,其中所述文件系统管理单元控制对所述文件在所述存储介质区域中的所述地址进行读/写的锁定,以避免所述第二操作系统对所述文件进行读/写操作时发生冲突包括:当所述第一操作系统通过所述第一数据子接口读取所述存储介质区域中存储的文件时,所述文件系统管理单元执行判断所述文件是否被加锁的步骤,并且获得第一判断结果,如果所述第一判断结果显示所述文件未被加锁或已被加第一读锁,则所述文件系统管理单元为所述文件加第二读锁,执行对所述文件的读取,并且在完成读取之后解除所述第二读锁,如果所述第一判断结果显示所述文件已被加写锁,则所述文件系统管理单元返回所述判断所述文件是否被加锁步骤的步骤;当所述第一操作系统通过所述第一数据接口写入所述存储介质区域中存储的文件时,所述文件系统管理单元执行判断所述文件是否被加锁的步骤,并且获得第二判断结果,如果所述第二判断结果显示所述文件未被加锁,则所述文件系统管理单元为所述文件加写锁,执行对所述文件的写入,并且在完成写入之后解除所述写锁,如果所述第二判断结果显示所述文件已被加读锁或写锁,则所述文件系统管理单元返回所述判断所述文件是否被加锁步骤的步骤。此外,根据本发明实施例的文件读写方法,其中所述第一数据子接口是SATA接口,并且所述第二数据子接口是MMC/SD/SDIO接口中的一种。此外,根据本发明实施例的文件读写方法,其中第一数据传输协议和第二数据传输协议是相同协议,所述电子设备经由所述第一数据接口和所述第二数据接口同时进行对所述存储介质区域的读写。根据本发明的另一实施例,提供了一种电子设备,包括:第一硬件系统,其上运行有第一操作系统;第二硬件系统,其上运行有第二操作系统;以及存储装置;其中,所述存储装置包括文件系统管理单元,用于存储数据的存储介质区域,以及数据接口,其中,所述存储装置经由所述数据接口接收来自电子设备的对存储介质区域中文件的读写命令;所述文件系统管理单元基于所述读写命令,得到所述文件在所述存储介质区域中的地址;以及经由所述数据接口将对位于所述地址的所述文件的读写结果发送给电子设备。此外,根据本发明实施例的电子设备,其中所述数据接口至少包括支持第一数据传输协议的第一数据子接口和支持第二数据传输协议的第二数据子接口,所述第一操作系统和所述第二操作系统分别经由所述第一数据子接口和/或所述第二数据子接口进行对所述存储介质区域的读写,其中,所述存储装置经由所述数据接口的中第一数据子接口接收来自电子设备中的第一操作系统的对存储介质区域中文件的读写命令;以及所述文件系统管理单元基于所述读写命令,得到所述文件在所述存储介质区域中的地址,并且控制对所述文件在所述存储介质区域中的所述地址进行读/写的锁定,以避免所述第二操作系统对所述文件进行读/写操作时发生冲突。此外,根据本发明实施例的电子设备,其中所述文件系统管理单元控制对所述文件在所述存储介质区域中的所述地址进行读/写的锁定,以避免所述第二操作系统对所述文件进行读/写操作时发生冲突包括:当所述第一操作系统通过所述第一数据子接口读取所述存储介质区域中存储的文件时,所述文件系统管理单元执行判断所述文件是否被加锁的步骤,并且获得第一判断结果,如果所述第一判断结果显示所述文件未被加锁或已被加第一读锁,则所述文件系统管理单元为所述文件加第二读锁,执行对所述文件的读取,并且在完成读取之后解除所述第二读锁,如果所述第一判断结果显示所述文件已被加写锁,则所述文件系统管理单元返回所述判断所述文件是否被加锁步骤的步骤;当所述第一操作系统通过所述第一数据接口写入所述存储介质区域中存储的文件时,所述文件系统管理单元执行判断所述文件是否被加锁的步骤,并且获得第二判断结果,如果所述第二判断结果显示所述文件未被加锁,则所述文件系统管理单元为所述文件加写锁,执行对所述文件的写入,并且在完成写入之后解除所述写锁,如果所述第二判断结果显示所述文件已被加读锁或写锁,则所述文件系统管理单元返回所述判断所述文件是否被加锁步骤的步骤。此外,根据本发明实施例的电子设备,其中所述第一数据子接口是SATA接口,并且所述第二数据子接口是MMC/SD/SDIO接口中的一种。此外,根据本发明实施例的电子设备,其中第一数据传输协议和第二数据传输协议是相同协议,所述电子设备经由所述第一数据接口和所述第二数据接口同时进行对所述存储介质区域的读写。根据本发明实施例的一种文件读写方法和使用该数据读写方法的电子设备,实现在存储装置内部执行文件系统管理功能,并且当该存储装置中的文件由不同的操作系统同时访问时,该存储装置内部的文件系统管理功能能够避免文件读写冲突的出现。要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。附图说明图1是图示现有技术的Hybrid计算机系统和使用多端口存储装置的Hybrid计算机系统对比框图;图2是图示根据本发明实施例的电子设备的功能性框图;图3是图示根据本发明实施例的文件读写方法的流程图;图4是图示读取操作时的根据本发明实施例的文件读写方法的流程图;以及图5是图示写入操作时的根据本发明实施例的文件读写方法的流程图。具体实施方式以下,将参考附图详细描述本发明的优选实施例。首先,将参照图1描述现有技术的Hybrid计算机系统和使用多端口存储装置的Hybrid计算机系统。图1是图示现有技术的Hybrid计算机系统和使用多端口存储装置的Hybrid计算机系统对比框图。图1的左侧是现有技术的Hybrid计算机系统200。在该Hybrid计算机系统200中,包括X86系统的处理单元X86201以及ARM系统的处理单元ARM202。X86201经由SATA接口203访问作为其自身的存储区域的SSD205,而ARM202经由SDIO204访问作为其自身的存储区域的闪存206。如上所述,两个处理单元不能方便地共享和访问各自的存储区域,特别是ARM系统将无法访问X86系统的存储区域。图1的右侧是使用多端口存储装置的Hybrid计算机系统300。要注意的是,在各附图中,相同的部件用相同的附图标记所表示。对比图2的左侧和右侧可见,使用多端口存储装置的Hybrid计算机系统300同样X86系统的处理单元X86201以及ARM系统的处理单元ARM202。与现有技术的Hybrid计算机系统200不同在于,使用多端口存储装置的Hybrid计算机系统300中的X86系统的处理单元X86201以及ARM系统的处理单元ARM202没有各自独立的存储区域。相反,使用多端口存储装置的Hybrid计算机系统300以闪存206作为X86系统的处理单元X86201以及ARM系统的处理单元ARM202公共的存储区域。在闪存206中包括一虚拟存储层207,在该虚拟存储层207上分别封装SATA接口203和SDIO204。因此,X86系统的处理单元X86201以及ARM系统的处理单元ARM202分别通过虚拟存储层207上的SATA接口203和SDIO204访问作为公共的存储区域的闪存206。如此,实现了X86系统和ARM系统之间数据上的有效共享和访问。在上述参照图1描述的使用多端口存储装置的Hybrid计算机系统300中,如果X86系统的处理单元X86201以及ARM系统的处理单元ARM202分别通过虚拟存储层207上的SATA接口203和SDIO204同时访问作为公共的存储区域的闪存206上的同一对象时,可能出现数据访问冲突的问题。因此,需要进一步改进利用多端口存储装置的电子设备,并且提供相应的数据读写方法。下面,将参照图2具体描述根据本发明实施例的电子设备。图2是图示根据本发明实施例的电子设备10的功能性框图。如图2所示,根据本发明实施例的电子设备10包括第一硬件系统20和第二硬件系统30。所述第一硬件系统20和第二硬件系统30分别对应于图1所示的X86系统和ARM系统。在所述第一硬件系统20和第二硬件系统30上,分别运行第一操作系统和第二操作系统。所述第一操作系统和第二操作系统分别是Windows操作系统和Android操作系统。根据本发明实施例的电子设备10还包括存储装置40。所述存储装置40具有第一数据接口41、第二数据接口42、文件系统管理单元43以及存储介质区域44。所述第一数据接口41和第二数据接口42分别对应于图1所示的SATA接口203和SDIO204。所述存储介质区域44对应于图1所示的作为公共的存储区域的闪存206。文件系统管理单元43经由所述第一数据接口41或所述第二数据接口42接收来自电子设备的所述第一硬件系统20或第二硬件系统30对所述存储介质区域44中文件的读写命令。所述文件系统管理单元43基于所述读写命令,得到所述文件在所述存储介质区域44中的地址。在本发明的一个优选实施例中,所述文件系统管理单元43通过查询文件映射表,得到与所述读写命令对应的所述文件在所述存储介质区域44中的地址。此后,所述文件系统管理单元43经由所述第一数据接口41或所述第二数据接口42将对位于所述地址的所述文件的读写结果发送给电子设备的所述第一硬件系统20或第二硬件系统30。也就是说,在根据本发明实施例的存储装置40中,所述文件系统管理单元43在存储装置40内部实现了文件系统管理功能。以下,将参照图3描述由所述文件系统管理单元43执行的文件读写方法。图3是图示根据本发明实施例的文件读写方法的流程图。如图3所示,在步骤S301中,文件系统管理单元43经由所述第一数据接口41或所述第二数据接口42接收来自电子设备的所述第一硬件系统20或第二硬件系统30对所述存储介质区域44中文件的读写命令。此后,处理进到步骤S302。在步骤S302中,所述文件系统管理单元43基于所述读写命令,得到所述文件在所述存储介质区域44中的地址。此后,处理进到步骤S303。在步骤S302中,所述文件系统管理单元43经由所述第一数据接口41或所述第二数据接口42将对位于所述地址的所述文件的读写结果发送给电子设备的所述第一硬件系统20或第二硬件系统30。以上,参照图2和图3描述了根据本发明实施例的电子设备以及所使用的文件读写方法。要注意的是,根据本发明实施例的电子设备具有第一硬件系统20和第二硬件系统30,所述存储装置40可能由第一硬件系统20和第二硬件系统30分别经由所述第一数据接口41和/或所述第二数据接口42进行读写操作。因此,所述文件系统管理单元43需要在执行文件读写时避免两个硬件系统同时读写一个文件时可能出现的读写冲突。以下,将参照图4和图5进一步描述由所述文件系统管理单元43执行的避免读写冲突的方法。图4是图示读取操作时的根据本发明实施例的数据读写方法的流程图。如图4所示,在步骤S401中,所述文件系统管理单元43接收第一操作系统对存储介质区域的读取命令。此后,处理进到步骤S402。在步骤S402中,所述文件系统管理单元43判断读取命令所要读取的对象是否被加锁,并且获得判断结果。此后,处理进到步骤S403。在步骤S403中,判断所述判断结果显示所述读取对象是否已被加锁。如果在步骤S403中获得肯定结果,则处理进到步骤S404。相反,如果在步骤S403中获得否定结果,则处理进到步骤S405。在步骤S404中,进一步判断所述读取对象是否已被加读锁。如果在步骤S404中获得肯定结果,则处理进到步骤S305。相反,如果在步骤S404中获得否定结果(此时,另一操作系统可能正在写入该读取对象),则处理返回到步骤S402。在步骤S405中,也就是说,当所述判断结果显示所述读取对象未被加锁或已被加第一读锁时(此时,另一操作系统可能正在读取该读取对象),所述文件系统管理单元43为所述读取对象加第二读锁,执行所述读取对象的读取,并且在完成读取之后解除第二读锁。通过应用图4所示的数据读写方法,当一个操作系统对所述存储装置40中的对象执行读取操作时,将先判断该读取对象是否已经被加锁。如果该读取对象未被加锁(没有操作系统正在读写该读取对象)或已被加读锁(存在正在读取该读取对象的操作系统),则由于此时读取对象不会被改变,所述操作系统可以在对该读取对象加读锁之后执行读取,并且在读取完成之后解除该读锁。相反,如果该读取对象已被加写锁(存在正在写入该读取对象的操作系统),则由于此时读取对象可能会被改变,所述操作系统将不执行读取操作,而是返回判断该读取对象的加锁状态的步骤,从而避免了在读取对象正在被改写的过程中对其进行读取的错误出现。图5是图示写入操作时的根据本发明实施例的数据读写方法的流程图。如图5所示,在步骤S501中,所述文件系统管理单元43接收第一操作系统对存储介质区域的写入命令。此后,处理进到步骤S502。在步骤S502中,所述文件系统管理单元43判断写入命令所要写入的对象是否被加锁,并且获得判断结果。此后,处理进到步骤S503。在步骤S503中,判断所述判断结果显示所述写入对象是否已被加锁。如果在步骤S503中获得否定结果,则处理进到步骤S504。相反,如果在步骤S503中获得肯定结果(此时,另一操作系统可能正在读取或写入该写入对象),则处理返回到步骤S502。在步骤S502中,也就是说,当所述判断结果显示所述写入对象未被加锁时,所述文件系统管理单元43为所述写入对象加写锁,执行所述写入对象的写入,并且在完成写入之后解除写锁。通过应用图5所示的数据读写方法,当一个操作系统对所述存储装置40中的对象执行写入操作时,将先判断该读取对象是否已经被加锁。如果该读取对象未被加锁(没有操作系统正在读写该读取对象),则由于此时读取对象不会被改变,所述操作系统可以在对该写入对象加写锁之后执行写入,并且在写入完成之后解除该写锁。同时,由于所述操作系统在执行写入时对该写入对象加了写锁,另一操作系统将不能在此写入过程中访问该写入对象,直到该写锁被解除。相反,如果该读取对象已被加锁(存在正在读取或写入该读取对象的操作系统),则所述操作系统将不执行写入操作,而是返回判断该写入对象的加锁状态的步骤,从而避免了在写入对象正在被其它操作系统访问时对其进行写入的错误出现。以上参照图1到图5描述了根据本发明实施例的一种文件读写方法和使用该文件读写方法的电子设备,实现在存储装置内部执行文件系统管理功能,并且当该存储装置中的文件由不同的操作系统同时访问时,该存储装置内部的文件系统管理功能能够避免文件读写冲突的出现。需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1